@commercelayer/react-components 4.18.0 → 4.20.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 (343) hide show
  1. package/lib/cjs/components/ExternalFunction.d.ts +1 -1
  2. package/lib/cjs/components/MetadataInput.d.ts +1 -1
  3. package/lib/cjs/components/SubmitButton.d.ts +2 -2
  4. package/lib/cjs/components/addresses/Address.d.ts +1 -1
  5. package/lib/cjs/components/addresses/AddressCountrySelector.d.ts +1 -1
  6. package/lib/cjs/components/addresses/AddressField.d.ts +2 -2
  7. package/lib/cjs/components/addresses/AddressInput.d.ts +1 -1
  8. package/lib/cjs/components/addresses/AddressInputSelect.d.ts +1 -1
  9. package/lib/cjs/components/addresses/AddressStateSelector.d.ts +1 -1
  10. package/lib/cjs/components/addresses/AddressesEmpty.d.ts +1 -1
  11. package/lib/cjs/components/addresses/BillingAddressForm.d.ts +1 -1
  12. package/lib/cjs/components/addresses/SaveAddressesButton.d.ts +1 -1
  13. package/lib/cjs/components/addresses/ShippingAddressForm.d.ts +1 -1
  14. package/lib/cjs/components/customers/CustomerContainer.d.ts +1 -1
  15. package/lib/cjs/components/customers/CustomerField.d.ts +1 -1
  16. package/lib/cjs/components/customers/CustomerInput.d.ts +1 -1
  17. package/lib/cjs/components/customers/CustomerPaymentSource.d.ts +1 -1
  18. package/lib/cjs/components/customers/CustomerPaymentSourceEmpty.d.ts +1 -1
  19. package/lib/cjs/components/customers/MyAccountLink.d.ts +1 -1
  20. package/lib/cjs/components/customers/MyIdentityLink.d.ts +1 -1
  21. package/lib/cjs/components/customers/SaveCustomerButton.d.ts +1 -1
  22. package/lib/cjs/components/errors/Errors.d.ts +1 -1
  23. package/lib/cjs/components/gift_cards/GiftCard.d.ts +1 -1
  24. package/lib/cjs/components/gift_cards/GiftCardCurrencySelector.d.ts +1 -1
  25. package/lib/cjs/components/gift_cards/GiftCardInput.d.ts +1 -1
  26. package/lib/cjs/components/gift_cards/GiftCardOrCouponCode.d.ts +1 -1
  27. package/lib/cjs/components/gift_cards/GiftCardOrCouponInput.d.ts +2 -2
  28. package/lib/cjs/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +2 -2
  29. package/lib/cjs/components/gift_cards/GiftCardOrCouponSubmit.d.ts +2 -2
  30. package/lib/cjs/components/in_stock_subscriptions/InStockSubscriptionButton.d.ts +1 -1
  31. package/lib/cjs/components/in_stock_subscriptions/InStockSubscriptionsContainer.d.ts +1 -1
  32. package/lib/cjs/components/line_items/LineItemAmount.d.ts +1 -1
  33. package/lib/cjs/components/line_items/LineItemCode.d.ts +2 -2
  34. package/lib/cjs/components/line_items/LineItemField.d.ts +1 -1
  35. package/lib/cjs/components/line_items/LineItemImage.d.ts +2 -2
  36. package/lib/cjs/components/line_items/LineItemName.d.ts +1 -1
  37. package/lib/cjs/components/line_items/LineItemOption.d.ts +2 -2
  38. package/lib/cjs/components/line_items/LineItemQuantity.d.ts +2 -2
  39. package/lib/cjs/components/line_items/LineItemRemoveLink.d.ts +2 -2
  40. package/lib/cjs/components/line_items/LineItemsCount.d.ts +1 -1
  41. package/lib/cjs/components/line_items/LineItemsEmpty.d.ts +1 -1
  42. package/lib/cjs/components/orders/AddToCartButton.d.ts +6 -6
  43. package/lib/cjs/components/orders/AddToCartButton.js +1 -1
  44. package/lib/cjs/components/orders/AdjustmentAmount.d.ts +1 -1
  45. package/lib/cjs/components/orders/CartLink.d.ts +1 -1
  46. package/lib/cjs/components/orders/CheckoutLink.d.ts +1 -1
  47. package/lib/cjs/components/orders/DiscountAmount.d.ts +1 -1
  48. package/lib/cjs/components/orders/GiftCardAmount.d.ts +1 -1
  49. package/lib/cjs/components/orders/OrderContainer.d.ts +1 -1
  50. package/lib/cjs/components/orders/OrderList.d.ts +1 -1
  51. package/lib/cjs/components/orders/OrderListEmpty.d.ts +1 -1
  52. package/lib/cjs/components/orders/OrderListPaginationButtons.d.ts +1 -1
  53. package/lib/cjs/components/orders/OrderListPaginationInfo.d.ts +1 -1
  54. package/lib/cjs/components/orders/OrderStorage.d.ts +1 -1
  55. package/lib/cjs/components/orders/PaymentMethodAmount.d.ts +1 -1
  56. package/lib/cjs/components/orders/PlaceOrderButton.d.ts +6 -6
  57. package/lib/cjs/components/orders/PlaceOrderButton.js +1 -1
  58. package/lib/cjs/components/orders/ShippingAmount.d.ts +1 -1
  59. package/lib/cjs/components/orders/SubTotalAmount.d.ts +1 -1
  60. package/lib/cjs/components/orders/TaxesAmount.d.ts +1 -1
  61. package/lib/cjs/components/orders/TotalAmount.d.ts +1 -1
  62. package/lib/cjs/components/parcels/ParcelField.d.ts +1 -1
  63. package/lib/cjs/components/parcels/ParcelLineItemField.d.ts +1 -1
  64. package/lib/cjs/components/parcels/ParcelLineItemsCount.d.ts +1 -1
  65. package/lib/cjs/components/parcels/ParcelsCount.d.ts +1 -1
  66. package/lib/cjs/components/payment_gateways/AdyenGateway.d.ts +1 -1
  67. package/lib/cjs/components/payment_gateways/BraintreeGateway.d.ts +1 -1
  68. package/lib/cjs/components/payment_gateways/CheckoutComGateway.d.ts +1 -1
  69. package/lib/cjs/components/payment_gateways/ExternalGateway.d.ts +1 -1
  70. package/lib/cjs/components/payment_gateways/KlarnaGateway.d.ts +1 -1
  71. package/lib/cjs/components/payment_gateways/PaymentGateway.d.ts +2 -2
  72. package/lib/cjs/components/payment_gateways/PaypalGateway.d.ts +1 -1
  73. package/lib/cjs/components/payment_gateways/StripeGateway.d.ts +1 -1
  74. package/lib/cjs/components/payment_gateways/WireTransferGateway.d.ts +1 -1
  75. package/lib/cjs/components/payment_methods/PaymentMethodName.d.ts +1 -1
  76. package/lib/cjs/components/payment_methods/PaymentMethodPrice.d.ts +1 -1
  77. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.d.ts +1 -1
  78. package/lib/cjs/components/payment_source/AdyenPayment.d.ts +10 -74
  79. package/lib/cjs/components/payment_source/AdyenPayment.js +1 -1
  80. package/lib/cjs/components/payment_source/BraintreePayment.d.ts +2 -2
  81. package/lib/cjs/components/payment_source/CheckoutComPayment.d.ts +2 -2
  82. package/lib/cjs/components/payment_source/ExternalPayment.d.ts +2 -2
  83. package/lib/cjs/components/payment_source/KlarnaPayment.d.ts +2 -2
  84. package/lib/cjs/components/payment_source/PaymentSource.d.ts +2 -2
  85. package/lib/cjs/components/payment_source/PaymentSourceBrandIcon.d.ts +1 -1
  86. package/lib/cjs/components/payment_source/PaymentSourceBrandName.d.ts +1 -1
  87. package/lib/cjs/components/payment_source/PaymentSourceEditButton.d.ts +1 -1
  88. package/lib/cjs/components/payment_source/StripePayment.d.ts +3 -3
  89. package/lib/cjs/components/prices/Price.d.ts +2 -2
  90. package/lib/cjs/components/prices/PricesContainer.d.ts +2 -2
  91. package/lib/cjs/components/shipments/ShipmentField.d.ts +1 -1
  92. package/lib/cjs/components/shipments/ShipmentsCount.d.ts +1 -1
  93. package/lib/cjs/components/shipping_methods/ShippingMethodName.d.ts +1 -1
  94. package/lib/cjs/components/shipping_methods/ShippingMethodPrice.d.ts +1 -1
  95. package/lib/cjs/components/skus/AvailabilityTemplate.d.ts +2 -2
  96. package/lib/cjs/components/skus/SkuField.d.ts +1 -1
  97. package/lib/cjs/components/stock_transfers/StockTransferField.d.ts +1 -1
  98. package/lib/cjs/components/utils/AddressCardsTemplate.d.ts +1 -1
  99. package/lib/cjs/components/utils/BaseInput.d.ts +1 -1
  100. package/lib/cjs/components/utils/BaseOrderPrice.d.ts +2 -2
  101. package/lib/cjs/components/utils/BaseSelect.d.ts +1 -1
  102. package/lib/cjs/components/utils/GenericFieldComponent.d.ts +6 -6
  103. package/lib/cjs/components/utils/Parent.d.ts +1 -1
  104. package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +3 -3
  105. package/lib/cjs/components/utils/PriceTemplate.d.ts +1 -1
  106. package/lib/cjs/components/utils/getAllErrors.d.ts +3 -3
  107. package/lib/cjs/context/AddressChildrenContext.d.ts +1 -1
  108. package/lib/cjs/context/AddressContext.d.ts +1 -1
  109. package/lib/cjs/context/BillingAddressContext.d.ts +1 -1
  110. package/lib/cjs/context/CouponAndGiftCardFormContext.d.ts +1 -1
  111. package/lib/cjs/context/CustomerAddressFormContext.d.ts +2 -2
  112. package/lib/cjs/context/CustomerContext.d.ts +1 -1
  113. package/lib/cjs/context/CustomerPaymentSourceContext.d.ts +1 -1
  114. package/lib/cjs/context/GiftCardContext.d.ts +1 -1
  115. package/lib/cjs/context/InStockSubscriptionContext.d.ts +1 -1
  116. package/lib/cjs/context/LineItemChildrenContext.d.ts +1 -1
  117. package/lib/cjs/context/LineItemContext.d.ts +2 -2
  118. package/lib/cjs/context/OrderContext.d.ts +2 -2
  119. package/lib/cjs/context/OrderListChildrenContext.d.ts +3 -3
  120. package/lib/cjs/context/PaymentMethodChildrenContext.d.ts +1 -1
  121. package/lib/cjs/context/ShippingAddressContext.d.ts +1 -1
  122. package/lib/cjs/context/ShippingAddressFormContext.d.ts +1 -1
  123. package/lib/cjs/context/ShippingMethodChildrenContext.d.ts +1 -1
  124. package/lib/cjs/context/SkuChildrenContext.d.ts +1 -1
  125. package/lib/cjs/context/SkuContext.d.ts +1 -1
  126. package/lib/cjs/context/StockTransferChildrenContext.d.ts +1 -1
  127. package/lib/cjs/hooks/useCommerceLayer.d.ts +1 -1
  128. package/lib/cjs/hooks/useCustomerContainer.d.ts +1 -1
  129. package/lib/cjs/hooks/useOrderContainer.d.ts +1 -1
  130. package/lib/cjs/reducers/AddressReducer.d.ts +9 -9
  131. package/lib/cjs/reducers/AvailabilityReducer.d.ts +5 -5
  132. package/lib/cjs/reducers/BillingAddressReducer.d.ts +4 -4
  133. package/lib/cjs/reducers/CustomerReducer.d.ts +4 -4
  134. package/lib/cjs/reducers/GiftCardReducer.d.ts +6 -6
  135. package/lib/cjs/reducers/InStockSubscriptionReducer.d.ts +3 -3
  136. package/lib/cjs/reducers/LineItemReducer.d.ts +6 -6
  137. package/lib/cjs/reducers/OrderReducer.d.ts +6 -6
  138. package/lib/cjs/reducers/PaymentMethodReducer.d.ts +26 -26
  139. package/lib/cjs/reducers/PlaceOrderReducer.d.ts +11 -11
  140. package/lib/cjs/reducers/PriceReducer.d.ts +5 -5
  141. package/lib/cjs/reducers/ShipmentReducer.d.ts +5 -5
  142. package/lib/cjs/reducers/ShippingAddressReducer.d.ts +4 -4
  143. package/lib/cjs/reducers/SkuListsReducer.d.ts +2 -2
  144. package/lib/cjs/reducers/SkuReducer.d.ts +4 -4
  145. package/lib/cjs/typings/errors.d.ts +1 -1
  146. package/lib/cjs/typings/index.d.ts +2 -2
  147. package/lib/cjs/utils/addressesManager.d.ts +3 -3
  148. package/lib/cjs/utils/baseReducer.d.ts +1 -1
  149. package/lib/cjs/utils/canPlaceOrder.d.ts +1 -1
  150. package/lib/cjs/utils/checkIncludeResource.d.ts +1 -1
  151. package/lib/cjs/utils/customMessages.d.ts +1 -1
  152. package/lib/cjs/utils/expressPaymentHelper.d.ts +8 -8
  153. package/lib/cjs/utils/expressPaymentHelper.js +1 -1
  154. package/lib/cjs/utils/filterChildren.d.ts +1 -1
  155. package/lib/cjs/utils/formCleaner.d.ts +1 -1
  156. package/lib/cjs/utils/getCardDetails.d.ts +3 -3
  157. package/lib/cjs/utils/getErrors.d.ts +2 -2
  158. package/lib/cjs/utils/getLoaderComponent.d.ts +1 -1
  159. package/lib/cjs/utils/getPaymentAttributes.d.ts +2 -2
  160. package/lib/cjs/utils/getPrices.d.ts +1 -1
  161. package/lib/cjs/utils/getSdk.d.ts +1 -1
  162. package/lib/cjs/utils/getSkus.d.ts +1 -1
  163. package/lib/cjs/utils/hasSubscriptions.d.ts +1 -1
  164. package/lib/cjs/utils/organization.d.ts +4 -4
  165. package/lib/cjs/utils/organization.js +1 -1
  166. package/lib/cjs/utils/payment-methods/sortPaymentMethods.d.ts +2 -2
  167. package/lib/cjs/utils/shipments.d.ts +1 -1
  168. package/lib/cjs/utils/triggerAttributeHelper.d.ts +2 -2
  169. package/lib/cjs/utils/updateOrderSubscriptionCustomerPaymentSource.d.ts +2 -2
  170. package/lib/cjs/utils/validateFormFields.d.ts +5 -5
  171. package/lib/esm/components/ExternalFunction.d.ts +1 -1
  172. package/lib/esm/components/MetadataInput.d.ts +1 -1
  173. package/lib/esm/components/SubmitButton.d.ts +2 -2
  174. package/lib/esm/components/addresses/Address.d.ts +1 -1
  175. package/lib/esm/components/addresses/AddressCountrySelector.d.ts +1 -1
  176. package/lib/esm/components/addresses/AddressField.d.ts +2 -2
  177. package/lib/esm/components/addresses/AddressInput.d.ts +1 -1
  178. package/lib/esm/components/addresses/AddressInputSelect.d.ts +1 -1
  179. package/lib/esm/components/addresses/AddressStateSelector.d.ts +1 -1
  180. package/lib/esm/components/addresses/AddressesEmpty.d.ts +1 -1
  181. package/lib/esm/components/addresses/BillingAddressForm.d.ts +1 -1
  182. package/lib/esm/components/addresses/SaveAddressesButton.d.ts +1 -1
  183. package/lib/esm/components/addresses/ShippingAddressForm.d.ts +1 -1
  184. package/lib/esm/components/customers/CustomerContainer.d.ts +1 -1
  185. package/lib/esm/components/customers/CustomerField.d.ts +1 -1
  186. package/lib/esm/components/customers/CustomerInput.d.ts +1 -1
  187. package/lib/esm/components/customers/CustomerPaymentSource.d.ts +1 -1
  188. package/lib/esm/components/customers/CustomerPaymentSourceEmpty.d.ts +1 -1
  189. package/lib/esm/components/customers/MyAccountLink.d.ts +1 -1
  190. package/lib/esm/components/customers/MyIdentityLink.d.ts +1 -1
  191. package/lib/esm/components/customers/SaveCustomerButton.d.ts +1 -1
  192. package/lib/esm/components/errors/Errors.d.ts +1 -1
  193. package/lib/esm/components/gift_cards/GiftCard.d.ts +1 -1
  194. package/lib/esm/components/gift_cards/GiftCardCurrencySelector.d.ts +1 -1
  195. package/lib/esm/components/gift_cards/GiftCardInput.d.ts +1 -1
  196. package/lib/esm/components/gift_cards/GiftCardOrCouponCode.d.ts +1 -1
  197. package/lib/esm/components/gift_cards/GiftCardOrCouponInput.d.ts +2 -2
  198. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +2 -2
  199. package/lib/esm/components/gift_cards/GiftCardOrCouponSubmit.d.ts +2 -2
  200. package/lib/esm/components/in_stock_subscriptions/InStockSubscriptionButton.d.ts +1 -1
  201. package/lib/esm/components/in_stock_subscriptions/InStockSubscriptionsContainer.d.ts +1 -1
  202. package/lib/esm/components/line_items/LineItemAmount.d.ts +1 -1
  203. package/lib/esm/components/line_items/LineItemCode.d.ts +2 -2
  204. package/lib/esm/components/line_items/LineItemField.d.ts +1 -1
  205. package/lib/esm/components/line_items/LineItemImage.d.ts +2 -2
  206. package/lib/esm/components/line_items/LineItemName.d.ts +1 -1
  207. package/lib/esm/components/line_items/LineItemOption.d.ts +2 -2
  208. package/lib/esm/components/line_items/LineItemQuantity.d.ts +2 -2
  209. package/lib/esm/components/line_items/LineItemRemoveLink.d.ts +2 -2
  210. package/lib/esm/components/line_items/LineItemsCount.d.ts +1 -1
  211. package/lib/esm/components/line_items/LineItemsEmpty.d.ts +1 -1
  212. package/lib/esm/components/orders/AddToCartButton.d.ts +6 -6
  213. package/lib/esm/components/orders/AddToCartButton.js +1 -1
  214. package/lib/esm/components/orders/AdjustmentAmount.d.ts +1 -1
  215. package/lib/esm/components/orders/CartLink.d.ts +1 -1
  216. package/lib/esm/components/orders/CheckoutLink.d.ts +1 -1
  217. package/lib/esm/components/orders/DiscountAmount.d.ts +1 -1
  218. package/lib/esm/components/orders/GiftCardAmount.d.ts +1 -1
  219. package/lib/esm/components/orders/OrderContainer.d.ts +1 -1
  220. package/lib/esm/components/orders/OrderList.d.ts +1 -1
  221. package/lib/esm/components/orders/OrderListEmpty.d.ts +1 -1
  222. package/lib/esm/components/orders/OrderListPaginationButtons.d.ts +1 -1
  223. package/lib/esm/components/orders/OrderListPaginationInfo.d.ts +1 -1
  224. package/lib/esm/components/orders/OrderStorage.d.ts +1 -1
  225. package/lib/esm/components/orders/PaymentMethodAmount.d.ts +1 -1
  226. package/lib/esm/components/orders/PlaceOrderButton.d.ts +6 -6
  227. package/lib/esm/components/orders/PlaceOrderButton.js +1 -1
  228. package/lib/esm/components/orders/ShippingAmount.d.ts +1 -1
  229. package/lib/esm/components/orders/SubTotalAmount.d.ts +1 -1
  230. package/lib/esm/components/orders/TaxesAmount.d.ts +1 -1
  231. package/lib/esm/components/orders/TotalAmount.d.ts +1 -1
  232. package/lib/esm/components/parcels/ParcelField.d.ts +1 -1
  233. package/lib/esm/components/parcels/ParcelLineItemField.d.ts +1 -1
  234. package/lib/esm/components/parcels/ParcelLineItemsCount.d.ts +1 -1
  235. package/lib/esm/components/parcels/ParcelsCount.d.ts +1 -1
  236. package/lib/esm/components/payment_gateways/AdyenGateway.d.ts +1 -1
  237. package/lib/esm/components/payment_gateways/BraintreeGateway.d.ts +1 -1
  238. package/lib/esm/components/payment_gateways/CheckoutComGateway.d.ts +1 -1
  239. package/lib/esm/components/payment_gateways/ExternalGateway.d.ts +1 -1
  240. package/lib/esm/components/payment_gateways/KlarnaGateway.d.ts +1 -1
  241. package/lib/esm/components/payment_gateways/PaymentGateway.d.ts +2 -2
  242. package/lib/esm/components/payment_gateways/PaypalGateway.d.ts +1 -1
  243. package/lib/esm/components/payment_gateways/StripeGateway.d.ts +1 -1
  244. package/lib/esm/components/payment_gateways/WireTransferGateway.d.ts +1 -1
  245. package/lib/esm/components/payment_methods/PaymentMethodName.d.ts +1 -1
  246. package/lib/esm/components/payment_methods/PaymentMethodPrice.d.ts +1 -1
  247. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.d.ts +1 -1
  248. package/lib/esm/components/payment_source/AdyenPayment.d.ts +10 -74
  249. package/lib/esm/components/payment_source/AdyenPayment.js +1 -1
  250. package/lib/esm/components/payment_source/BraintreePayment.d.ts +2 -2
  251. package/lib/esm/components/payment_source/CheckoutComPayment.d.ts +2 -2
  252. package/lib/esm/components/payment_source/ExternalPayment.d.ts +2 -2
  253. package/lib/esm/components/payment_source/KlarnaPayment.d.ts +2 -2
  254. package/lib/esm/components/payment_source/PaymentSource.d.ts +2 -2
  255. package/lib/esm/components/payment_source/PaymentSourceBrandIcon.d.ts +1 -1
  256. package/lib/esm/components/payment_source/PaymentSourceBrandName.d.ts +1 -1
  257. package/lib/esm/components/payment_source/PaymentSourceEditButton.d.ts +1 -1
  258. package/lib/esm/components/payment_source/StripePayment.d.ts +3 -3
  259. package/lib/esm/components/prices/Price.d.ts +2 -2
  260. package/lib/esm/components/prices/PricesContainer.d.ts +2 -2
  261. package/lib/esm/components/shipments/ShipmentField.d.ts +1 -1
  262. package/lib/esm/components/shipments/ShipmentsCount.d.ts +1 -1
  263. package/lib/esm/components/shipping_methods/ShippingMethodName.d.ts +1 -1
  264. package/lib/esm/components/shipping_methods/ShippingMethodPrice.d.ts +1 -1
  265. package/lib/esm/components/skus/AvailabilityTemplate.d.ts +2 -2
  266. package/lib/esm/components/skus/SkuField.d.ts +1 -1
  267. package/lib/esm/components/stock_transfers/StockTransferField.d.ts +1 -1
  268. package/lib/esm/components/utils/AddressCardsTemplate.d.ts +1 -1
  269. package/lib/esm/components/utils/BaseInput.d.ts +1 -1
  270. package/lib/esm/components/utils/BaseOrderPrice.d.ts +2 -2
  271. package/lib/esm/components/utils/BaseSelect.d.ts +1 -1
  272. package/lib/esm/components/utils/GenericFieldComponent.d.ts +6 -6
  273. package/lib/esm/components/utils/Parent.d.ts +1 -1
  274. package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +3 -3
  275. package/lib/esm/components/utils/PriceTemplate.d.ts +1 -1
  276. package/lib/esm/components/utils/getAllErrors.d.ts +3 -3
  277. package/lib/esm/context/AddressChildrenContext.d.ts +1 -1
  278. package/lib/esm/context/AddressContext.d.ts +1 -1
  279. package/lib/esm/context/BillingAddressContext.d.ts +1 -1
  280. package/lib/esm/context/CouponAndGiftCardFormContext.d.ts +1 -1
  281. package/lib/esm/context/CustomerAddressFormContext.d.ts +2 -2
  282. package/lib/esm/context/CustomerContext.d.ts +1 -1
  283. package/lib/esm/context/CustomerPaymentSourceContext.d.ts +1 -1
  284. package/lib/esm/context/GiftCardContext.d.ts +1 -1
  285. package/lib/esm/context/InStockSubscriptionContext.d.ts +1 -1
  286. package/lib/esm/context/LineItemChildrenContext.d.ts +1 -1
  287. package/lib/esm/context/LineItemContext.d.ts +2 -2
  288. package/lib/esm/context/OrderContext.d.ts +2 -2
  289. package/lib/esm/context/OrderListChildrenContext.d.ts +3 -3
  290. package/lib/esm/context/PaymentMethodChildrenContext.d.ts +1 -1
  291. package/lib/esm/context/ShippingAddressContext.d.ts +1 -1
  292. package/lib/esm/context/ShippingAddressFormContext.d.ts +1 -1
  293. package/lib/esm/context/ShippingMethodChildrenContext.d.ts +1 -1
  294. package/lib/esm/context/SkuChildrenContext.d.ts +1 -1
  295. package/lib/esm/context/SkuContext.d.ts +1 -1
  296. package/lib/esm/context/StockTransferChildrenContext.d.ts +1 -1
  297. package/lib/esm/hooks/useCommerceLayer.d.ts +1 -1
  298. package/lib/esm/hooks/useCustomerContainer.d.ts +1 -1
  299. package/lib/esm/hooks/useOrderContainer.d.ts +1 -1
  300. package/lib/esm/reducers/AddressReducer.d.ts +9 -9
  301. package/lib/esm/reducers/AvailabilityReducer.d.ts +5 -5
  302. package/lib/esm/reducers/BillingAddressReducer.d.ts +4 -4
  303. package/lib/esm/reducers/CustomerReducer.d.ts +4 -4
  304. package/lib/esm/reducers/GiftCardReducer.d.ts +6 -6
  305. package/lib/esm/reducers/InStockSubscriptionReducer.d.ts +3 -3
  306. package/lib/esm/reducers/LineItemReducer.d.ts +6 -6
  307. package/lib/esm/reducers/OrderReducer.d.ts +6 -6
  308. package/lib/esm/reducers/PaymentMethodReducer.d.ts +26 -26
  309. package/lib/esm/reducers/PlaceOrderReducer.d.ts +11 -11
  310. package/lib/esm/reducers/PriceReducer.d.ts +5 -5
  311. package/lib/esm/reducers/ShipmentReducer.d.ts +5 -5
  312. package/lib/esm/reducers/ShippingAddressReducer.d.ts +4 -4
  313. package/lib/esm/reducers/SkuListsReducer.d.ts +2 -2
  314. package/lib/esm/reducers/SkuReducer.d.ts +4 -4
  315. package/lib/esm/typings/errors.d.ts +1 -1
  316. package/lib/esm/typings/index.d.ts +2 -2
  317. package/lib/esm/utils/addressesManager.d.ts +3 -3
  318. package/lib/esm/utils/baseReducer.d.ts +1 -1
  319. package/lib/esm/utils/canPlaceOrder.d.ts +1 -1
  320. package/lib/esm/utils/checkIncludeResource.d.ts +1 -1
  321. package/lib/esm/utils/customMessages.d.ts +1 -1
  322. package/lib/esm/utils/expressPaymentHelper.d.ts +8 -8
  323. package/lib/esm/utils/expressPaymentHelper.js +1 -1
  324. package/lib/esm/utils/filterChildren.d.ts +1 -1
  325. package/lib/esm/utils/formCleaner.d.ts +1 -1
  326. package/lib/esm/utils/getCardDetails.d.ts +3 -3
  327. package/lib/esm/utils/getErrors.d.ts +2 -2
  328. package/lib/esm/utils/getLoaderComponent.d.ts +1 -1
  329. package/lib/esm/utils/getPaymentAttributes.d.ts +2 -2
  330. package/lib/esm/utils/getPrices.d.ts +1 -1
  331. package/lib/esm/utils/getSdk.d.ts +1 -1
  332. package/lib/esm/utils/getSkus.d.ts +1 -1
  333. package/lib/esm/utils/hasSubscriptions.d.ts +1 -1
  334. package/lib/esm/utils/organization.d.ts +4 -4
  335. package/lib/esm/utils/organization.js +1 -1
  336. package/lib/esm/utils/payment-methods/sortPaymentMethods.d.ts +2 -2
  337. package/lib/esm/utils/shipments.d.ts +1 -1
  338. package/lib/esm/utils/triggerAttributeHelper.d.ts +2 -2
  339. package/lib/esm/utils/updateOrderSubscriptionCustomerPaymentSource.d.ts +2 -2
  340. package/lib/esm/utils/validateFormFields.d.ts +5 -5
  341. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  342. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  343. package/package.json +41 -21
@@ -1,7 +1,7 @@
1
- import { type PropsWithoutRef, type JSX } from 'react';
2
- import { type ChildrenFunction } from '../../typings/index';
3
- import { type AddToCartReturn, type CustomLineItem, type LineItemOption } from '../../reducers/OrderReducer';
4
- interface TAddToCartButton extends Omit<Props, 'children'> {
1
+ import { type PropsWithoutRef, type JSX } from "react";
2
+ import type { ChildrenFunction } from "../../typings/index";
3
+ import type { AddToCartReturn, CustomLineItem, LineItemOption } from "../../reducers/OrderReducer";
4
+ interface TAddToCartButton extends Omit<Props, "children"> {
5
5
  handleClick: () => AddToCartReturn;
6
6
  }
7
7
  type BuyNowMode = {
@@ -29,13 +29,13 @@ type THostedCart = {
29
29
  /**
30
30
  * If you have a self-hosted cart, you can pass the protocol to redirect to it.
31
31
  */
32
- protocol?: 'http' | 'https';
32
+ protocol?: "http" | "https";
33
33
  } | {
34
34
  redirectToHostedCart?: false;
35
35
  hostedCartUrl?: never;
36
36
  protocol?: never;
37
37
  };
38
- type TButton = PropsWithoutRef<Omit<JSX.IntrinsicElements['button'], 'children'>>;
38
+ type TButton = PropsWithoutRef<Omit<JSX.IntrinsicElements["button"], "children">>;
39
39
  type Props = {
40
40
  /**
41
41
  * Code of a bundle
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";import SkuListsContext from"../../context/SkuListsContext";import ExternalFunctionContext from"../../context/ExternalFunctionContext";import SkuChildrenContext from"../../context/SkuChildrenContext";import{getApplicationLink}from"../../utils/getApplicationLink";import CommerceLayerContext from"../../context/CommerceLayerContext";import useCustomContext from"../../utils/hooks/useCustomContext";import{getDomain}from"../../utils/getDomain";import{publish}from"../../utils/events";import{getOrganizationConfig}from"../../utils/organization";export function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,quantity,lineItemOption,protocol="https",...p}=props,{accessToken,endpoint}=useCustomContext({context:CommerceLayerContext,contextComponentName:"CommerceLayer",currentComponentName:"AddToCartButton",key:"accessToken"}),{addToCart,orderId,getOrder,setOrderErrors}=useCustomContext({context:OrderContext,contextComponentName:"OrderContainer",currentComponentName:"AddToCartButton",key:"addToCart"}),{url,callExternalFunction}=useContext(ExternalFunctionContext),{skuLists}=useContext(SkuListsContext),{sku}=useContext(SkuChildrenContext),sCode=sku?.code??skuCode,handleClick=async()=>{const qty=quantity!=null?parseInt(quantity):1;if(skuLists!=null&&skuListId&&url&&skuListId in skuLists){const lineItems=skuLists?.[skuListId]?.map(skuCode2=>({skuCode:skuCode2,quantity:qty,_update_quantity:1}));return await callExternalFunction({url,data:{resourceType:"orders",inputs:[{id:orderId,lineItems}]}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),buyNowMode||publish("open-cart"),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}if(!url&&addToCart!=null){const res=await addToCart({bundleCode,skuCode:sCode,quantity:qty,lineItemOption,lineItem,buyNowMode,checkoutUrl});if(redirectToHostedCart&&accessToken!=null&&endpoint!=null){const{slug,domain}=getDomain(endpoint),orderId2=res?.orderId;if(hostedCartUrl&&orderId2)location.href=`${protocol}://${hostedCartUrl}/${orderId2}?accessToken=${accessToken}`;else if(orderId2&&slug){const config=await getOrganizationConfig({accessToken,endpoint,params:{orderId:orderId2,accessToken,slug}});location.href=config?.links?.cart??getApplicationLink({orderId:orderId2,slug,accessToken,domain,applicationType:"cart"})}}return res}else if(url)return await callExternalFunction({url,data:{bundleCode,skuCode:sCode,quantity:qty,lineItemOption,lineItem,buyNowMode,checkoutUrl}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),buyNowMode||publish("open-cart"),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))},parentProps={handleClick,label,...props};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{...p,onClick:()=>{handleClick()},children:label})}export default AddToCartButton;
2
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";import SkuListsContext from"../../context/SkuListsContext";import ExternalFunctionContext from"../../context/ExternalFunctionContext";import SkuChildrenContext from"../../context/SkuChildrenContext";import{getApplicationLink}from"../../utils/getApplicationLink";import CommerceLayerContext from"../../context/CommerceLayerContext";import useCustomContext from"../../utils/hooks/useCustomContext";import{getDomain}from"../../utils/getDomain";import{publish}from"../../utils/events";import{getOrganizationConfig}from"../../utils/organization";export function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,quantity,lineItemOption,protocol="https",...p}=props,{accessToken,endpoint}=useCustomContext({context:CommerceLayerContext,contextComponentName:"CommerceLayer",currentComponentName:"AddToCartButton",key:"accessToken"}),{addToCart,orderId,getOrder,setOrderErrors}=useCustomContext({context:OrderContext,contextComponentName:"OrderContainer",currentComponentName:"AddToCartButton",key:"addToCart"}),{url,callExternalFunction}=useContext(ExternalFunctionContext),{skuLists}=useContext(SkuListsContext),{sku}=useContext(SkuChildrenContext),sCode=sku?.code??skuCode,handleClick=async()=>{const qty=quantity!=null?Number.parseInt(quantity):1;if(skuLists!=null&&skuListId&&url&&skuListId in skuLists){const lineItems=skuLists?.[skuListId]?.map(skuCode2=>({skuCode:skuCode2,quantity:qty,_update_quantity:1}));return await callExternalFunction({url,data:{resourceType:"orders",inputs:[{id:orderId,lineItems}]}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),buyNowMode||publish("open-cart"),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}if(!url&&addToCart!=null){const res=await addToCart({bundleCode,skuCode:sCode,quantity:qty,lineItemOption,lineItem,buyNowMode,checkoutUrl});if(redirectToHostedCart&&accessToken!=null&&endpoint!=null){const{slug,domain}=getDomain(endpoint),orderId2=res?.orderId;if(hostedCartUrl&&orderId2)location.href=`${protocol}://${hostedCartUrl}/${orderId2}?accessToken=${accessToken}`;else if(orderId2&&slug){const config=await getOrganizationConfig({accessToken,endpoint,params:{orderId:orderId2,accessToken,slug}});location.href=config?.links?.cart??getApplicationLink({orderId:orderId2,slug,accessToken,domain,applicationType:"cart"})}}return res}else if(url)return await callExternalFunction({url,data:{bundleCode,skuCode:sCode,quantity:qty,lineItemOption,lineItem,buyNowMode,checkoutUrl}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),buyNowMode||publish("open-cart"),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))},parentProps={handleClick,label,...props};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{...p,onClick:()=>{handleClick()},children:label})}export default AddToCartButton;
@@ -1,4 +1,4 @@
1
- import { type BaseAmountComponent } from '../../typings/index';
1
+ import type { BaseAmountComponent } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  export declare function AdjustmentAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default AdjustmentAmount;
@@ -1,5 +1,5 @@
1
1
  import { type MouseEvent, type ReactNode, type JSX } from 'react';
2
- import { type ChildrenFunction } from '../../typings/index';
2
+ import type { ChildrenFunction } from '../../typings/index';
3
3
  interface ChildrenProps extends Omit<Props, 'children'> {
4
4
  /**
5
5
  * The url of the cart
@@ -1,5 +1,5 @@
1
1
  import { type JSX } from 'react';
2
- import { type ChildrenFunction } from '../../typings/index';
2
+ import type { ChildrenFunction } from '../../typings/index';
3
3
  interface ChildrenProps extends Omit<Props, 'children'> {
4
4
  checkoutUrl: string;
5
5
  href: string;
@@ -1,4 +1,4 @@
1
- import { type BaseAmountComponent } from '../../typings/index';
1
+ import type { BaseAmountComponent } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  export declare function DiscountAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default DiscountAmount;
@@ -1,4 +1,4 @@
1
- import { type BaseAmountComponent } from '../../typings/index';
1
+ import type { BaseAmountComponent } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  export declare function GiftCardAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default GiftCardAmount;
@@ -1,5 +1,5 @@
1
1
  import { type JSX } from 'react';
2
- import { type BaseMetadataObject } from '../../typings/index';
2
+ import type { BaseMetadataObject } from '../../typings/index';
3
3
  import type { OrderCreate, Order } from '@commercelayer/sdk';
4
4
  import type { DefaultChildrenType } from '../../typings/globals';
5
5
  interface Props {
@@ -45,7 +45,7 @@ type Props = {
45
45
  /**
46
46
  * Columns to show
47
47
  */
48
- columns: Array<OrderListColumn<TOrderList>>;
48
+ columns: OrderListColumn<TOrderList>[];
49
49
  /**
50
50
  * Custom loader component
51
51
  */
@@ -1,4 +1,4 @@
1
- import { type ChildrenFunction } from '../../typings/index';
1
+ import type { ChildrenFunction } from '../../typings/index';
2
2
  import { type JSX } from 'react';
3
3
  interface Props extends Omit<JSX.IntrinsicElements['span'], 'children'> {
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { type OrderListPaginationContext as TOrderListPaginationContext } from '../../context/OrderListPaginationContext';
2
- import { type ChildrenFunction } from '../../typings/index';
2
+ import type { ChildrenFunction } from '../../typings/index';
3
3
  import type { JSX } from "react";
4
4
  interface PaginationButton extends Omit<JSX.IntrinsicElements['button'], 'children' | 'disabled'> {
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { type ChildrenFunction } from '../../typings/index';
1
+ import type { ChildrenFunction } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  type TAsComponent = keyof Pick<JSX.IntrinsicElements, 'p' | 'span' | 'div'>;
4
4
  type ChildrenProps<A extends TAsComponent> = Omit<Props<A>, 'children'> & {
@@ -1,4 +1,4 @@
1
- import { type ReactNode, type JSX } from 'react';
1
+ import type { ReactNode, JSX } from 'react';
2
2
  interface Props {
3
3
  children: ReactNode;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { type BaseAmountComponent } from '../../typings/index';
1
+ import type { BaseAmountComponent } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  export declare function PaymentMethodAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default PaymentMethodAmount;
@@ -1,14 +1,14 @@
1
- import { type ReactNode, type JSX } from 'react';
2
- import { type ChildrenFunction } from '../../typings/index';
3
- import type { BaseError } from '../../typings/errors';
4
- import type { Order } from '@commercelayer/sdk';
5
- interface ChildrenProps extends Omit<Props, 'children'> {
1
+ import { type ReactNode, type JSX } from "react";
2
+ import type { ChildrenFunction } from "../../typings/index";
3
+ import type { BaseError } from "../../typings/errors";
4
+ import type { Order } from "@commercelayer/sdk";
5
+ interface ChildrenProps extends Omit<Props, "children"> {
6
6
  /**
7
7
  * Callback function to place the order
8
8
  */
9
9
  handleClick: () => Promise<void>;
10
10
  }
11
- interface Props extends Omit<JSX.IntrinsicElements['button'], 'children' | 'onClick'> {
11
+ interface Props extends Omit<JSX.IntrinsicElements["button"], "children" | "onClick"> {
12
12
  children?: ChildrenFunction<ChildrenProps>;
13
13
  /**
14
14
  * The label of the button
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 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";import{checkPaymentIntent}from"../../utils/stripe/retrievePaymentIntent";export function PlaceOrderButton(props){const ref=useRef(null),{children,label="Place order",loadingLabel="Placing...",autoPlaceOrder=!0,disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef,setPlaceOrderStatus,status}=useContext(PlaceOrderContext),[notPermitted,setNotPermitted]=useState(!0),[forceDisable,setForceDisable]=useState(disabled),[isLoading,setIsLoading]=useState(!1),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource,setPaymentMethodErrors,currentCustomerPaymentSourceId}=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});currentCustomerPaymentSourceId!=null&&paymentSource?.id===currentCustomerPaymentSourceId&&card.brand===""&&(card.brand="credit-card"),(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)&&autoPlaceOrder&&handleClick()},[options?.paypalPayerId,paymentType]),useEffect(()=>{if(paymentType==="stripe_payments"&&options?.stripe?.paymentIntentClientSecret&&order?.payment_source?.publishable_key&&order?.status&&["draft","pending"].includes(order?.status)&&autoPlaceOrder){const publicApiKey=order?.payment_source?.publishable_key,paymentIntentClientSecret=options?.stripe?.paymentIntentClientSecret,getPaymentIntent=async()=>{const paymentIntentResult=await checkPaymentIntent({publicApiKey,paymentIntentClientSecret});switch(paymentIntentResult.status){case"valid":handleClick();break;case"processing":setTimeout(()=>{getPaymentIntent()},1e3);break;case"invalid":setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:paymentIntentResult.message}]);break}};getPaymentIntent()}},[options?.stripe?.paymentIntentClientSecret!=null,paymentType!=null,order?.payment_source!=null]),useEffect(()=>{if(order?.status!=null&&["draft","pending"].includes(order?.status)){const resultCode=order?.payment_source?.payment_response?.resultCode==="Authorised",paymentDetails=order?.payment_source?.payment_request_details?.details!=null;if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&!paymentDetails){const attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult}},_details:1};setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}).then(res=>{const resultCode2=res?.payment_response?.resultCode,errorCode=res?.payment_response?.errorCode,message=res?.payment_response?.message;["Authorised","Pending","Received"].includes(resultCode2)&&autoPlaceOrder?handleClick():errorCode!=null&&setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])})}else(paymentType==="adyen_payments"&&options?.adyen?.MD&&options?.adyen?.PaRes&&autoPlaceOrder||paymentType==="adyen_payments"&&resultCode&&ref?.current?.disabled===!1&&currentCustomerPaymentSourceId==null&&autoPlaceOrder&&status==="standby"&&order?.payment_source?.payment_response?.merchantReference?.includes(order?.number))&&handleClick()}},[options?.adyen,paymentType,order?.payment_source?.payment_response?.resultCode]),useEffect(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&autoPlaceOrder&&handleClick()},[options?.checkoutCom,paymentType]),useEffect(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async e=>{e?.preventDefault(),e?.stopPropagation(),setIsLoading(!0);let isValid=!0;setForceDisable(!0);const checkPaymentSource=paymentType!=="stripe_payments"?await setPaymentSource({paymentResource:paymentType,paymentSourceId:paymentSource?.id}):paymentSource,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({paymentSource:checkPaymentSource,setPlaceOrder,onclickCallback:onClick}),!isValid&&checkPaymentSource?.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0),isValid&&setPlaceOrderStatus!=null&&setPlaceOrderStatus({status:"placing"});const placed=isValid&&setPlaceOrder&&(checkPaymentSource||isFree)&&await setPlaceOrder({paymentSource:checkPaymentSource,currentCustomerPaymentSourceId});placed&&setPlaceOrderStatus!=null?placed.placed?(setPlaceOrderStatus({status:"placing"}),onClick&&placed&&onClick(placed)):(setForceDisable(!1),onClick&&placed&&onClick(placed),setIsLoading(!1),setPlaceOrderStatus({status:"standby"})):(setForceDisable(!1),setIsLoading(!1))},disabledButton=disabled!==void 0?disabled:notPermitted,labelButton=isLoading?loadingLabel:isFunction(label)?label():label,parentProps={...p,label,disabled:disabledButton,handleClick,parentRef:ref,isLoading};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:e=>{handleClick(e)},...p,children:labelButton})}export default PlaceOrderButton;
2
+ 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";import{checkPaymentIntent}from"../../utils/stripe/retrievePaymentIntent";export function PlaceOrderButton(props){const ref=useRef(null),{children,label="Place order",loadingLabel="Placing...",autoPlaceOrder=!0,disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef,setPlaceOrderStatus,status}=useContext(PlaceOrderContext),[notPermitted,setNotPermitted]=useState(!0),[forceDisable,setForceDisable]=useState(disabled),[isLoading,setIsLoading]=useState(!1),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource,setPaymentMethodErrors,currentCustomerPaymentSourceId}=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});currentCustomerPaymentSourceId!=null&&paymentSource?.id===currentCustomerPaymentSourceId&&card.brand===""&&(card.brand="credit-card"),(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)&&autoPlaceOrder&&handleClick()},[options?.paypalPayerId,paymentType]),useEffect(()=>{if(paymentType==="stripe_payments"&&options?.stripe?.paymentIntentClientSecret&&order?.payment_source?.publishable_key&&order?.status&&["draft","pending"].includes(order?.status)&&autoPlaceOrder){const publicApiKey=order?.payment_source?.publishable_key,paymentIntentClientSecret=options?.stripe?.paymentIntentClientSecret,getPaymentIntent=async()=>{const paymentIntentResult=await checkPaymentIntent({publicApiKey,paymentIntentClientSecret});switch(paymentIntentResult.status){case"valid":handleClick();break;case"processing":setTimeout(()=>{getPaymentIntent()},1e3);break;case"invalid":setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:paymentIntentResult.message}]);break}};getPaymentIntent()}},[options?.stripe?.paymentIntentClientSecret!=null,paymentType!=null,order?.payment_source!=null]),useEffect(()=>{if(order?.status!=null&&["draft","pending"].includes(order?.status)){const resultCode=order?.payment_source?.payment_response?.resultCode==="Authorised",paymentDetails=order?.payment_source?.payment_request_details?.details!=null;if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&!paymentDetails){const attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult}},_details:1};setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}).then(res=>{const resultCode2=res?.payment_response?.resultCode,errorCode=res?.payment_response?.errorCode,message=res?.payment_response?.message;["Authorised","Pending","Received"].includes(resultCode2)&&autoPlaceOrder?handleClick():errorCode!=null&&setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])})}else(paymentType==="adyen_payments"&&options?.adyen?.MD&&options?.adyen?.PaRes&&autoPlaceOrder||paymentType==="adyen_payments"&&resultCode&&ref?.current?.disabled===!1&&currentCustomerPaymentSourceId==null&&autoPlaceOrder&&status==="standby"&&order?.payment_source?.payment_response?.merchantReference?.includes(order?.number))&&handleClick()}},[options?.adyen,paymentType,order?.payment_source?.payment_response?.resultCode]),useEffect(()=>{order?.status==="placed"&&order?.payment_status==="authorized"&&paymentType==="adyen_payments"&&onClick?.({placed:!0,order})},[order,order?.payment_status,order?.status,paymentType,onClick]),useEffect(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&autoPlaceOrder&&handleClick()},[options?.checkoutCom,paymentType]),useEffect(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async e=>{e?.preventDefault(),e?.stopPropagation(),setIsLoading(!0);let isValid=!0;setForceDisable(!0);const checkPaymentSource=paymentType!=="stripe_payments"?await setPaymentSource({paymentResource:paymentType,paymentSourceId:paymentSource?.id}):paymentSource,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({paymentSource:checkPaymentSource,setPlaceOrder,onclickCallback:onClick}),!isValid&&checkPaymentSource?.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0),isValid&&setPlaceOrderStatus!=null&&setPlaceOrderStatus({status:"placing"});const placed=isValid&&setPlaceOrder&&(checkPaymentSource||isFree)&&await setPlaceOrder({paymentSource:checkPaymentSource,currentCustomerPaymentSourceId});placed&&setPlaceOrderStatus!=null?placed.placed?(setPlaceOrderStatus({status:"placing"}),onClick?.(placed)):(setForceDisable(!1),onClick?.(placed),setIsLoading(!1),setPlaceOrderStatus({status:"standby"})):(setForceDisable(!1),setIsLoading(!1))},disabledButton=disabled!==void 0?disabled:notPermitted,labelButton=isLoading?loadingLabel:isFunction(label)?label():label,parentProps={...p,label,disabled:disabledButton,handleClick,parentRef:ref,isLoading};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:e=>{handleClick(e)},...p,children:labelButton})}export default PlaceOrderButton;
@@ -1,4 +1,4 @@
1
- import { type BaseAmountComponent } from '../../typings/index';
1
+ import type { BaseAmountComponent } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  export declare function ShippingAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default ShippingAmount;
@@ -1,4 +1,4 @@
1
- import { type BaseAmountComponent } from '../../typings/index';
1
+ import type { BaseAmountComponent } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  export declare function SubTotalAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default SubTotalAmount;
@@ -1,4 +1,4 @@
1
- import { type BaseAmountComponent } from '../../typings/index';
1
+ import type { BaseAmountComponent } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  export declare function TaxesAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default TaxesAmount;
@@ -1,4 +1,4 @@
1
- import { type BaseAmountComponent } from '../../typings/index';
1
+ import type { BaseAmountComponent } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  export declare function TotalAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default TotalAmount;
@@ -1,4 +1,4 @@
1
- import { type ConditionalElement } from '../../typings/index';
1
+ import type { ConditionalElement } from '../../typings/index';
2
2
  import { type TGenericChildrenProps, type TResources } from '../utils/GenericFieldComponent';
3
3
  import type { JSX } from "react";
4
4
  type ParcelFieldChildrenProps = TGenericChildrenProps<TResources['Parcel']>;
@@ -1,4 +1,4 @@
1
- import { type ConditionalElement } from '../../typings/index';
1
+ import type { ConditionalElement } from '../../typings/index';
2
2
  import { type TGenericChildrenProps, type TResources } from '../utils/GenericFieldComponent';
3
3
  import type { JSX } from "react";
4
4
  type ParcelLineItemFieldChildrenProps = TGenericChildrenProps<TResources['ParcelLineItem']>;
@@ -1,4 +1,4 @@
1
- import { type ChildrenFunction } from '../../typings/index';
1
+ import type { ChildrenFunction } from '../../typings/index';
2
2
  import type { Parcel } from '@commercelayer/sdk';
3
3
  import type { JSX } from "react";
4
4
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,4 @@
1
- import { type ChildrenFunction } from '../../typings/index';
1
+ import type { ChildrenFunction } from '../../typings/index';
2
2
  import type { Parcel } from '@commercelayer/sdk';
3
3
  import type { JSX } from "react";
4
4
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,4 @@
1
- import { type GatewayBaseType } from '../payment_gateways/PaymentGateway';
1
+ import type { GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
2
  import { type JSX } from 'react';
3
3
  type Props = GatewayBaseType;
4
4
  export declare function AdyenGateway(props: Props): JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { type GatewayBaseType } from '../payment_gateways/PaymentGateway';
1
+ import type { GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
2
  import { type JSX } from 'react';
3
3
  type Props = GatewayBaseType;
4
4
  export declare function BraintreeGateway(props: Props): JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { type GatewayBaseType } from '../payment_gateways/PaymentGateway';
1
+ import type { GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
2
  import { type JSX } from 'react';
3
3
  type Props = GatewayBaseType;
4
4
  export declare function CheckoutComGateway(props: Props): JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { type GatewayBaseType } from '../payment_gateways/PaymentGateway';
1
+ import type { GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
2
  import { type JSX } from 'react';
3
3
  type Props = GatewayBaseType;
4
4
  export declare function ExternalGateway(props: Props): JSX.Element | null;
@@ -1,5 +1,5 @@
1
1
  import { type JSX } from 'react';
2
- import { type GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
+ import type { GatewayBaseType } from '../payment_gateways/PaymentGateway';
3
3
  type Props = GatewayBaseType;
4
4
  export declare function KlarnaGateway(props: Props): JSX.Element | null;
5
5
  export default KlarnaGateway;
@@ -1,6 +1,6 @@
1
- import { type LoaderType } from '../../typings/index';
1
+ import type { LoaderType } from '../../typings/index';
2
2
  import { type JSX } from 'react';
3
- import { type PaymentSourceProps } from '../payment_source/PaymentSource';
3
+ import type { PaymentSourceProps } from '../payment_source/PaymentSource';
4
4
  export type GatewayBaseType = Props & {
5
5
  show: boolean;
6
6
  loading: boolean;
@@ -1,4 +1,4 @@
1
- import { type GatewayBaseType } from '../payment_gateways/PaymentGateway';
1
+ import type { GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
2
  import { type JSX } from 'react';
3
3
  type Props = Partial<GatewayBaseType>;
4
4
  export declare function PaypalGateway(props: Props): JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { type GatewayBaseType } from '../payment_gateways/PaymentGateway';
1
+ import type { GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
2
  import { type JSX } from 'react';
3
3
  type Props = GatewayBaseType;
4
4
  export declare function StripeGateway(props: Props): JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { type GatewayBaseType } from '../payment_gateways/PaymentGateway';
1
+ import type { GatewayBaseType } from '../payment_gateways/PaymentGateway';
2
2
  import { type JSX } from 'react';
3
3
  type Props = GatewayBaseType;
4
4
  export declare function WireTransferGateway(props: Props): JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { type ChildrenFunction } from '../../typings/index';
1
+ import type { ChildrenFunction } from '../../typings/index';
2
2
  import type { JSX } from "react";
3
3
  interface ChildrenProps extends Omit<Props, 'children'> {
4
4
  labelName: string;
@@ -1,5 +1,5 @@
1
1
  import { type JSX } from 'react';
2
- import { type BaseAmountComponent } from '../../typings/index';
2
+ import type { BaseAmountComponent } from '../../typings/index';
3
3
  interface Props extends BaseAmountComponent {
4
4
  type?: 'amount';
5
5
  labelFree?: string;
@@ -1,6 +1,6 @@
1
1
  import { type ChangeEvent, type JSX } from 'react';
2
2
  import type { Order, PaymentMethod } from '@commercelayer/sdk';
3
- import { type ChildrenFunction } from '../../typings/index';
3
+ import type { ChildrenFunction } from '../../typings/index';
4
4
  interface ChildrenProps extends Omit<Props, 'children'> {
5
5
  checked: boolean;
6
6
  handleOnChange: (event: ChangeEvent<HTMLInputElement>) => Promise<void>;
@@ -1,73 +1,9 @@
1
- import { type JSX } from 'react';
2
- import { type PaymentSourceProps } from './PaymentSource';
3
- import { type CoreConfiguration, type DropinConfiguration } from '@adyen/adyen-web/auto';
4
- interface StyleDefinitions {
5
- background?: string;
6
- caretColor?: string;
7
- color?: string;
8
- display?: string;
9
- font?: string;
10
- fontFamily?: string;
11
- fontSize?: string;
12
- fontSizeAdjust?: string;
13
- fontSmoothing?: string;
14
- fontStretch?: string;
15
- fontStyle?: string;
16
- fontVariant?: string;
17
- fontVariantAlternates?: string;
18
- fontVariantCaps?: string;
19
- fontVariantEastAsian?: string;
20
- fontVariantLigatures?: string;
21
- fontVariantNumeric?: string;
22
- fontWeight?: string;
23
- letterSpacing?: string;
24
- lineHeight?: string;
25
- mozOsxFontSmoothing?: string;
26
- mozTransition?: string;
27
- outline?: string;
28
- opacity?: string;
29
- padding?: string;
30
- textAlign?: string;
31
- textShadow?: string;
32
- transition?: string;
33
- webkitFontSmoothing?: string;
34
- webkitTransition?: string;
35
- wordSpacing?: string;
36
- }
37
- interface Styles {
38
- error?: StyleDefinitions;
39
- placeholder?: StyleDefinitions;
40
- validated?: StyleDefinitions;
41
- }
42
- type PaypalStyle = Partial<{
43
- /**
44
- * @see {@link https://developer.paypal.com/docs/checkout/integration-features/customize-button/#color}
45
- */
46
- color: 'gold' | 'blue' | 'silver' | 'white' | 'black';
47
- /**
48
- * @see {@link https://developer.paypal.com/docs/checkout/integration-features/customize-button/#shape}
49
- */
50
- shape: 'rect' | 'pill';
51
- /**
52
- * @see {@link https://developer.paypal.com/docs/checkout/integration-features/customize-button/#height}
53
- */
54
- height: string | number;
55
- /**
56
- * @see {@link https://developer.paypal.com/docs/checkout/integration-features/customize-button/#label}
57
- */
58
- label: 'paypal' | 'checkout' | 'buynow' | 'pay';
59
- /**
60
- * @see {@link https://developer.paypal.com/docs/checkout/integration-features/customize-button/#tagline}
61
- */
62
- tagline: boolean;
63
- /**
64
- * @see {@link https://developer.paypal.com/docs/checkout/integration-features/customize-button/#layout}
65
- */
66
- layout: 'vertical' | 'horizontal';
67
- }>;
1
+ import { type JSX } from "react";
2
+ import type { PaymentSourceProps } from "./PaymentSource";
3
+ import { type CardConfiguration, type CoreConfiguration, type DropinConfiguration, type PayPalConfiguration } from "@adyen/adyen-web/auto";
68
4
  interface PaymentMethodsStyle {
69
- card?: Styles;
70
- paypal?: PaypalStyle;
5
+ card?: CardConfiguration["styles"];
6
+ paypal?: PayPalConfiguration["style"];
71
7
  }
72
8
  /**
73
9
  * Configuration options for the Adyen payment component.
@@ -96,7 +32,7 @@ export interface AdyenPaymentConfig {
96
32
  /**
97
33
  * Configuration options for the payment methods.
98
34
  */
99
- paymentMethodsConfiguration?: DropinConfiguration['paymentMethodsConfiguration'];
35
+ paymentMethodsConfiguration?: DropinConfiguration["paymentMethodsConfiguration"];
100
36
  /**
101
37
  * Callback function to disable a stored payment method.
102
38
  * @param props - An object containing the recurring detail reference and shopper reference.
@@ -110,9 +46,9 @@ export interface AdyenPaymentConfig {
110
46
  interface Props {
111
47
  clientKey?: string;
112
48
  config?: AdyenPaymentConfig;
113
- templateCustomerSaveToWallet?: PaymentSourceProps['templateCustomerSaveToWallet'];
114
- locale?: CoreConfiguration['locale'];
115
- environment?: CoreConfiguration['environment'];
49
+ templateCustomerSaveToWallet?: PaymentSourceProps["templateCustomerSaveToWallet"];
50
+ locale?: CoreConfiguration["locale"];
51
+ environment?: CoreConfiguration["environment"];
116
52
  }
117
- export declare function AdyenPayment({ clientKey, config, templateCustomerSaveToWallet, environment, locale }: Props): JSX.Element | null;
53
+ export declare function AdyenPayment({ clientKey, config, templateCustomerSaveToWallet, environment, locale, }: Props): JSX.Element | null;
118
54
  export default AdyenPayment;
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import{setCustomerOrderParam}from"../../utils/localStorage";import{AdyenCheckout,Dropin}from"@adyen/adyen-web/auto";import Parent from"../utils/Parent";import browserInfo,{cleanUrlBy}from"../../utils/browserInfo";import PlaceOrderContext from"../../context/PlaceOrderContext";import OrderContext from"../../context/OrderContext";import{getPublicIP}from"../../utils/getPublicIp";import CustomerContext from"../../context/CustomerContext";const defaultConfig={};export function AdyenPayment({clientKey,config,templateCustomerSaveToWallet,environment="test",locale="en_US"}){const{cardContainerClassName,styles,onDisableStoredPaymentMethod}={...defaultConfig,...config},[loadAdyen,setLoadAdyen]=useState(!1),[checkout,setCheckout]=useState(),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef,currentCustomerPaymentSourceId}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),{placeOrderButtonRef,setPlaceOrder}=useContext(PlaceOrderContext),{customers}=useContext(CustomerContext),ref=useRef(null),dropinRef=useRef(null),handleSubmit=async e=>{const savePaymentSourceToCustomerWallet=e?.elements?.save_payment_source_to_customer_wallet?.checked;return savePaymentSourceToCustomerWallet&&setCustomerOrderParam("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),dropinRef.current&&dropinRef.current.submit(),!1},handleChange=async state=>{state.isValid&&ref.current&&(ref.current.onsubmit=async()=>await handleSubmit(ref.current),setPaymentRef({ref}))},handleOnAdditionalDetails=async(state,component)=>{const attributes={payment_request_details:state.data,_details:1};try{const pSource=paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes}),resultCode=pSource?.payment_response?.resultCode;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current.click()),{resultCode};if(["Cancelled","Refused"].includes(resultCode)){const message=pSource?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}]),component&&component.mount("#adyen-dropin")}return{resultCode}}catch(error){return console.error("Adyen additional details error:",error),{resultCode:"Error"}}},onSubmit=async(state,component)=>{const url=cleanUrlBy(),shopperIp=await getPublicIP(),controlCode=(await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments"}))?.payment_response?.resultCode;if(controlCode==="Authorised")return{resultCode:controlCode};const attributes={payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:url,origin:window.location.origin,redirect_from_issuer_method:"GET",shopper_ip:shopperIp,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",browser_info:{...browserInfo()}}};delete attributes.payment_request_data.paymentMethod;try{if(await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}),order?.id==null)return console.error("Order id is missing"),{resultCode:"Error"};const res=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes:{_authorize:1}}),action=res?.payment_response?.action,resultCode=res?.payment_response?.resultCode;if(action!=null)return{resultCode,action};const issuerType=res?.payment_instrument?.issuer_type;if(["Authorised","Pending","Received"].includes(resultCode))return["apple pay","google pay"].includes(issuerType)&&setPlaceOrder!=null?(await setPlaceOrder({paymentSource:res,currentCustomerPaymentSourceId}),{resultCode}):(placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current.click()),{resultCode});if(["Cancelled","Refused"].includes(resultCode)){const message=res?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}]),component&&component.mount("#adyen-dropin")}if(res?.payment_response?.errorType)if(res?.payment_response?.errorCode==="14_006")onSubmit(state,component);else{const message=res?.payment_response?.message;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return{resultCode}}catch(error){return setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),{resultCode:"Error"}}};return useEffect(()=>{const paymentMethodsResponse={paymentMethods:paymentSource?.payment_methods?.paymentMethods?paymentSource?.payment_methods.paymentMethods:[],storedPaymentMethods:paymentSource?.payment_methods?.storedPaymentMethods?paymentSource?.payment_methods.storedPaymentMethods:[]};paymentMethodsResponse.paymentMethods.length===0&&console.error("Payment methods are not available. Please, check your Adyen configuration.");const showStoredPaymentMethods=paymentSource?.payment_methods?.storedPaymentMethods!=null,options={locale:order?.language_code??locale,environment,clientKey,amount:{currency:order?.currency_code||"",value:order?.total_amount_with_taxes_cents||0},countryCode:order?.country_code||"",paymentMethodsResponse,showPayButton:!1,onAdditionalDetails:(state,element,actions)=>{(async()=>{const{resultCode}=await handleOnAdditionalDetails(state,element);["Cancelled","Refused"].includes(resultCode)?actions.reject():actions.resolve({resultCode})})()},onChange:state=>{handleChange(state)},onSubmit:(state,element,actions)=>{(async()=>{const{resultCode,action}=await onSubmit(state,element);["Cancelled","Refused"].includes(resultCode)?actions.reject():action!=null?dropinRef.current?.handleAction(action):actions.resolve({resultCode})})()}};if(!ref&&clientKey&&setCustomerOrderParam("_save_payment_source_to_customer_wallet","false"),clientKey&&!loadAdyen&&window&&!checkout){const initializeAdyen=async()=>{const checkout2=await AdyenCheckout(options),dropin=new Dropin(checkout2,{disableFinalAnimation:!0,showRemovePaymentMethodButton:showStoredPaymentMethods,instantPaymentTypes:["applepay","googlepay"],paymentMethodsConfiguration:{showStoredPaymentMethods,paypal:{showPayButton:!0,style:styles?.paypal,...config?.paymentMethodsConfiguration?.paypal},card:{enableStoreDetails:showStoredPaymentMethods,styles:styles?.card,holderNameRequired:!1,...config?.paymentMethodsConfiguration?.card},...config?.paymentMethodsConfiguration},onDisableStoredPaymentMethod:state=>{const recurringDetailReference=state,shopperReference=customers?.shopper_reference??void 0;onDisableStoredPaymentMethod?.({recurringDetailReference,shopperReference}).then(response=>{response?setPaymentSource({paymentResource:"adyen_payments",order,attributes:{}}):console.error("onDisableStoredPaymentMethod error")}).catch(error=>{console.error("onDisableStoredPaymentMethod error",error)})},onSelect:component=>{const id=component._id;id.search("scheme")===-1&&ref.current&&(id.search("paypal")===-1?ref.current.onsubmit=async()=>await handleSubmit(ref.current):ref.current.onsubmit=null,setPaymentRef({ref}))}}).mount("#adyen-dropin");dropin&&checkout2&&(dropinRef.current=dropin,setCheckout(dropin),setLoadAdyen(!0))};dropinRef.current||initializeAdyen()}return()=>{setPaymentRef({ref:{current:null}}),setLoadAdyen(!1)}},[clientKey,ref!=null]),!clientKey&&!loadAdyen&&!checkout?null:_jsxs("form",{ref,onSubmit:e=>{handleSubmit(e)},children:[_jsx("div",{className:cardContainerClassName,id:"adyen-dropin"}),templateCustomerSaveToWallet&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet})]})}export default AdyenPayment;
2
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import{setCustomerOrderParam}from"../../utils/localStorage";import{AdyenCheckout,Dropin}from"@adyen/adyen-web/auto";import Parent from"../utils/Parent";import browserInfo,{cleanUrlBy}from"../../utils/browserInfo";import PlaceOrderContext from"../../context/PlaceOrderContext";import OrderContext from"../../context/OrderContext";import{getPublicIP}from"../../utils/getPublicIp";import CustomerContext from"../../context/CustomerContext";const defaultConfig={};export function AdyenPayment({clientKey,config,templateCustomerSaveToWallet,environment="test",locale="en_US"}){const{cardContainerClassName,styles,onDisableStoredPaymentMethod}={...defaultConfig,...config},[loadAdyen,setLoadAdyen]=useState(!1),[checkout,setCheckout]=useState(),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef,currentCustomerPaymentSourceId}=useContext(PaymentMethodContext),{order,updateOrder}=useContext(OrderContext),{placeOrderButtonRef,setPlaceOrder}=useContext(PlaceOrderContext),{customers}=useContext(CustomerContext),ref=useRef(null),dropinRef=useRef(null),handleSubmit=async e=>{const savePaymentSourceToCustomerWallet=e?.elements?.save_payment_source_to_customer_wallet?.checked;return savePaymentSourceToCustomerWallet&&setCustomerOrderParam("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),dropinRef.current&&dropinRef.current.submit(),!1},handleChange=async state=>{state.isValid&&ref.current&&(ref.current.onsubmit=async()=>await handleSubmit(ref.current),setPaymentRef({ref}))},handleOnAdditionalDetails=async(state,component)=>{const attributes={payment_request_details:state.data,_details:1};try{const pSource=paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes}),resultCode=pSource?.payment_response?.resultCode;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current.click()),{resultCode};if(["Cancelled","Refused"].includes(resultCode)){const message=pSource?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}]),component&&component.mount("#adyen-dropin")}return{resultCode}}catch(error){return console.error("Adyen additional details error:",error),{resultCode:"Error"}}},onSubmit=async(state,component)=>{const url=cleanUrlBy(),{type:currentPaymentMethodType2}=state.data.paymentMethod,shopperIp=await getPublicIP(),control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments"}),controlCode=control?.payment_response?.resultCode,paymentMethodType=control?.payment_response?.paymentMethod?.type;if(controlCode==="Authorised"&&paymentMethodType!=="giftcard")return{resultCode:controlCode};const attributes={payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:url,origin:window.location.origin,redirect_from_issuer_method:"GET",shopper_ip:shopperIp,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",browser_info:{...browserInfo()}}};delete attributes.payment_request_data.paymentMethod;try{if(await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}),order?.id==null)return console.error("Order id is missing"),{resultCode:"Error"};if(controlCode==="Authorised"&&paymentMethodType==="giftcard")return await updateOrder({id:order.id,attributes:{_authorize:!0}}),{resultCode:"Authorised",paymentMethodType:currentPaymentMethodType2};if(currentPaymentMethodType2==="giftcard"){const firstAuthorization=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes:{_authorize:1}});if(["Cancelled","Refused"].includes(firstAuthorization?.payment_response?.resultCode)){const availableGiftCardAmount=firstAuthorization?.payment_response?.additionalData?.currentBalanceValue;return await updateOrder({id:order.id,attributes:{_authorization_amount_cents:Number.parseInt(availableGiftCardAmount),_place:!0}}),{resultCode:"Authorised",paymentMethodType:currentPaymentMethodType2}}return{resultCode:"Authorised",paymentMethodType:currentPaymentMethodType2}}const res=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes:{_authorize:1}}),action=res?.payment_response?.action,resultCode=res?.payment_response?.resultCode;if(action!=null)return{resultCode,action};const issuerType=res?.payment_instrument?.issuer_type;if(["Authorised","Pending","Received"].includes(resultCode))return["apple pay","google pay"].includes(issuerType)&&setPlaceOrder!=null?(await setPlaceOrder({paymentSource:res,currentCustomerPaymentSourceId}),{resultCode}):(placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current.click()),{resultCode});if(["Cancelled","Refused"].includes(resultCode)){const message=res?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType2,message}]),component&&component.mount("#adyen-dropin")}if(res?.payment_response?.errorType)if(res?.payment_response?.errorCode==="14_006")onSubmit(state,component);else{const message=res?.payment_response?.message;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType2,message}])}return{resultCode,paymentMethodType:currentPaymentMethodType2}}catch(error){const{message}=error;return setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType2,message:message??"An error occurred"}]),{resultCode:"Error"}}};return useEffect(()=>{const paymentMethodsResponse={paymentMethods:paymentSource?.payment_methods?.paymentMethods?paymentSource?.payment_methods.paymentMethods:[],storedPaymentMethods:paymentSource?.payment_methods?.storedPaymentMethods?paymentSource?.payment_methods.storedPaymentMethods:[]};paymentMethodsResponse.paymentMethods.length===0&&console.error("Payment methods are not available. Please, check your Adyen configuration.");const showStoredPaymentMethods=paymentSource?.payment_methods?.storedPaymentMethods!=null,options={locale:order?.language_code??locale,environment,clientKey,amount:{currency:order?.currency_code||"",value:order?.total_amount_with_taxes_cents||0},countryCode:order?.country_code||"",paymentMethodsResponse,showPayButton:!1,onAdditionalDetails:(state,element,actions)=>{(async()=>{const{resultCode}=await handleOnAdditionalDetails(state,element);["Cancelled","Refused"].includes(resultCode)?actions.reject():actions.resolve({resultCode})})()},onChange:state=>{handleChange(state)},onSubmit:(state,element,actions)=>{(async()=>{const{resultCode,action}=await onSubmit(state,element);["Cancelled","Refused"].includes(resultCode)?actions.reject():action!=null?dropinRef.current?.handleAction(action):(actions.resolve({resultCode}),dropinRef.current?.mount("#adyen-dropin"))})()}};if(!ref&&clientKey&&setCustomerOrderParam("_save_payment_source_to_customer_wallet","false"),clientKey&&!loadAdyen&&window&&!checkout){const initializeAdyen=async()=>{const checkout2=await AdyenCheckout(options),dropin=new Dropin(checkout2,{disableFinalAnimation:!0,showRemovePaymentMethodButton:showStoredPaymentMethods,instantPaymentTypes:["applepay","googlepay"],paymentMethodsConfiguration:{showStoredPaymentMethods,paypal:{showPayButton:!0,style:styles?.paypal,...config?.paymentMethodsConfiguration?.paypal},card:{enableStoreDetails:showStoredPaymentMethods,styles:styles?.card,holderNameRequired:!1,...config?.paymentMethodsConfiguration?.card},giftcard:{showPayButton:!0,...config?.paymentMethodsConfiguration?.giftcard},...config?.paymentMethodsConfiguration},onDisableStoredPaymentMethod:state=>{const recurringDetailReference=state,shopperReference=customers?.shopper_reference??void 0;onDisableStoredPaymentMethod?.({recurringDetailReference,shopperReference}).then(response=>{response?setPaymentSource({paymentResource:"adyen_payments",order,attributes:{}}):console.error("onDisableStoredPaymentMethod error")}).catch(error=>{console.error("onDisableStoredPaymentMethod error",error)})},onSelect:component=>{const id=component._id;id.search("scheme")===-1&&ref.current&&(id.search("paypal")===-1?ref.current.onsubmit=async()=>await handleSubmit(ref.current):ref.current.onsubmit=null,setPaymentRef({ref}))}}).mount("#adyen-dropin");dropin&&checkout2&&(dropinRef.current=dropin,setCheckout(dropin),setLoadAdyen(!0))};dropinRef.current||initializeAdyen()}return()=>{setPaymentRef({ref:{current:null}}),setLoadAdyen(!1)}},[clientKey,ref!=null]),!clientKey&&!loadAdyen&&!checkout?null:_jsxs("form",{ref,onSubmit:e=>{handleSubmit(e)},children:[_jsx("div",{className:cardContainerClassName,id:"adyen-dropin"}),templateCustomerSaveToWallet&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet})]})}export default AdyenPayment;
@@ -1,6 +1,6 @@
1
1
  import { type JSX } from 'react';
2
- import { type PaymentSourceProps } from './PaymentSource';
3
- import { type HostedFieldFieldOptions } from 'braintree-web';
2
+ import type { PaymentSourceProps } from './PaymentSource';
3
+ import type { HostedFieldFieldOptions } from 'braintree-web';
4
4
  type BraintreeHostedFields<Type> = {
5
5
  [Property in keyof Type]: {
6
6
  label?: string;
@@ -1,6 +1,6 @@
1
1
  import { type JSX } from 'react';
2
- import { type PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
3
- import { type PaymentSourceProps } from './PaymentSource';
2
+ import type { PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
3
+ import type { PaymentSourceProps } from './PaymentSource';
4
4
  import { type FramesStyle } from 'frames-react';
5
5
  export interface CheckoutComConfig {
6
6
  containerClassName?: string;
@@ -1,7 +1,7 @@
1
- import { type ChildrenFunction } from '../../typings/index';
1
+ import type { ChildrenFunction } from '../../typings/index';
2
2
  import type { StripeElementLocale } from '@stripe/stripe-js';
3
3
  import { type JSX } from 'react';
4
- import { type PaymentSourceProps } from './PaymentSource';
4
+ import type { PaymentSourceProps } from './PaymentSource';
5
5
  export interface ExternalPaymentConfig {
6
6
  /**
7
7
  * Show the component. Default is false
@@ -1,6 +1,6 @@
1
1
  import { type JSX } from 'react';
2
- import { type PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
3
- import { type PaymentSourceProps } from './PaymentSource';
2
+ import type { PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
3
+ import type { PaymentSourceProps } from './PaymentSource';
4
4
  type KlarnaPaymentProps = PaymentMethodConfig['klarnaPayment'] & JSX.IntrinsicElements['div'] & Partial<PaymentSourceProps['templateCustomerSaveToWallet']> & {
5
5
  show?: boolean;
6
6
  clientToken: string;
@@ -1,6 +1,6 @@
1
1
  import { type JSX } from 'react';
2
- import { type LoaderType } from '../../typings/index';
3
- import { type CustomerCardsTemplateChildren } from '../utils/PaymentCardsTemplate';
2
+ import type { LoaderType } from '../../typings/index';
3
+ import type { CustomerCardsTemplateChildren } from '../utils/PaymentCardsTemplate';
4
4
  export interface CustomerCardsProps {
5
5
  handleClick: () => void;
6
6
  }
@@ -1,6 +1,6 @@
1
1
  import { type IconBrand } from '../../context/PaymentSourceContext';
2
2
  import { type JSX } from 'react';
3
- import { type ChildrenFunction } from '../../typings/index';
3
+ import type { ChildrenFunction } from '../../typings/index';
4
4
  interface ChildrenProps extends Omit<Props, 'children'> {
5
5
  brand: IconBrand;
6
6
  defaultSrc: string;
@@ -1,6 +1,6 @@
1
1
  import { type IconBrand } from '../../context/PaymentSourceContext';
2
2
  import { type JSX } from 'react';
3
- import { type ChildrenFunction } from '../../typings/index';
3
+ import type { ChildrenFunction } from '../../typings/index';
4
4
  interface CustomComponent extends Omit<Props, 'children'> {
5
5
  brand: IconBrand;
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode, type JSX } from 'react';
2
- import { type ChildrenFunction } from '../../typings/index';
2
+ import type { ChildrenFunction } from '../../typings/index';
3
3
  interface CustomComponent extends Omit<Props, 'children'> {
4
4
  }
5
5
  type Props = {
@@ -1,7 +1,7 @@
1
1
  import { type JSX } from 'react';
2
- import { type StripeElementLocale, type StripeElementsOptions, type StripePaymentElementOptions } from '@stripe/stripe-js';
3
- import { type PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
4
- import { type PaymentSourceProps } from './PaymentSource';
2
+ import type { StripeElementLocale, StripeElementsOptions, StripePaymentElementOptions } from '@stripe/stripe-js';
3
+ import type { PaymentMethodConfig } from '../../reducers/PaymentMethodReducer';
4
+ import type { PaymentSourceProps } from './PaymentSource';
5
5
  export interface StripeConfig {
6
6
  containerClassName?: string;
7
7
  hintLabel?: string;