@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 +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{CardElement,Elements,useElements,useStripe}from"@stripe/react-stripe-js";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";import{setCustomerOrderParam}from"../../utils/localStorage";const defaultOptions={style:{base:{fontSize:"16px",color:"#424770","::placeholder":{color:"#aab7c4"}},invalid:{color:"#9e2146"}},hidePostalCode:!0};function StripePaymentForm({options=defaultOptions,templateCustomerSaveToWallet}){const ref=useRef(null),{setPaymentSource,currentPaymentMethodType,setPaymentMethodErrors,setPaymentRef,paymentSource}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),stripe=useStripe(),elements=useElements();useEffect(()=>(ref.current&&stripe&&elements&&paymentSource&&(ref.current.onsubmit=paymentSource2=>onSubmit({event:ref.current,stripe,elements,paymentSource:paymentSource2}),setPaymentRef({ref})),()=>{setPaymentRef({ref:{current:null}})}),[ref,stripe,elements,paymentSource]);const onSubmit=async({event,stripe:stripe2,elements:elements2,paymentSource:ps})=>{if(!stripe2)return!1;const savePaymentSourceToCustomerWallet=event?.elements?.save_payment_source_to_customer_wallet?.checked;savePaymentSourceToCustomerWallet&&setCustomerOrderParam("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet);const cardElement=elements2&&elements2.getElement(CardElement);if(cardElement){const billingInfo=order?.billing_address,email=order?.customer_email,billing_details={name:billingInfo?.full_name,email,phone:billingInfo?.phone,address:{city:billingInfo?.city,country:billingInfo?.country_code,line1:billingInfo?.line_1,postal_code:billingInfo?.zip_code,state:billingInfo?.state_code}},{paymentMethod}=await stripe2.createPaymentMethod({type:"card",card:cardElement,billing_details}),clientSecret=ps?.client_secret,paymentSourceId=ps?.id;if(clientSecret){const{error,paymentIntent}=await stripe2.confirmCardPayment(clientSecret,{payment_method:{card:cardElement,billing_details}});if(error)return console.error(error),setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1;if(paymentIntent&&paymentMethod&&paymentSourceId&&currentPaymentMethodType)try{return await setPaymentSource({paymentSourceId,paymentResource:currentPaymentMethodType,attributes:{options:{...paymentMethod,setup_future_usage:"off_session"}}}),!0}catch{return!1}}}return!1};return _jsxs("form",{ref,children:[_jsx(CardElement,{options:{...defaultOptions,...options}}),templateCustomerSaveToWallet&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet})]})}export function StripePayment({publishableKey,show,options,locale="auto",...p}){const[isLoaded,setIsLoaded]=useState(!1),[stripe,setStripe]=useState(null),{containerClassName,templateCustomerSaveToWallet,fonts=[],...divProps}=p;return useEffect(()=>{if(show&&publishableKey){const{loadStripe}=require("@stripe/stripe-js");(async()=>{const res=await loadStripe(publishableKey,{locale});setStripe(res),setIsLoaded(!0)})()}return()=>{setIsLoaded(!1)}},[show,publishableKey]),isLoaded&&stripe?_jsx("div",{className:containerClassName,...divProps,children:_jsx(Elements,{stripe,options:{fonts},children:_jsx(StripePaymentForm,{options,templateCustomerSaveToWallet})})}):null}export default StripePayment;
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{CardElement,Elements,useElements,useStripe}from"@stripe/react-stripe-js";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";import{setCustomerOrderParam}from"../../utils/localStorage";const defaultOptions={style:{base:{fontSize:"16px",color:"#424770","::placeholder":{color:"#aab7c4"}},invalid:{color:"#9e2146"}},hidePostalCode:!0};function StripePaymentForm({options=defaultOptions,templateCustomerSaveToWallet}){const ref=useRef(null),{setPaymentSource,currentPaymentMethodType,setPaymentMethodErrors,setPaymentRef,paymentSource}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),stripe=useStripe(),elements=useElements();useEffect(()=>(ref.current&&stripe&&elements&&paymentSource&&(ref.current.onsubmit=async paymentSource2=>await onSubmit({event:ref.current,stripe,elements,paymentSource:paymentSource2}),setPaymentRef({ref})),()=>{setPaymentRef({ref:{current:null}})}),[ref,stripe,elements,paymentSource]);const onSubmit=async({event,stripe:stripe2,elements:elements2,paymentSource:ps})=>{if(!stripe2)return!1;const savePaymentSourceToCustomerWallet=event?.elements?.save_payment_source_to_customer_wallet?.checked;savePaymentSourceToCustomerWallet&&setCustomerOrderParam("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet);const cardElement=elements2?.getElement(CardElement);if(cardElement){const billingInfo=order?.billing_address,email=order?.customer_email,billingDetails={name:billingInfo?.full_name,email,phone:billingInfo?.phone,address:{city:billingInfo?.city,country:billingInfo?.country_code,line1:billingInfo?.line_1,postal_code:billingInfo?.zip_code,state:billingInfo?.state_code}},{paymentMethod}=await stripe2.createPaymentMethod({type:"card",card:cardElement,billing_details:billingDetails}),clientSecret=ps?.client_secret,paymentSourceId=ps?.id;if(clientSecret){const{error,paymentIntent}=await stripe2.confirmCardPayment(clientSecret,{payment_method:{card:cardElement,billing_details:billingDetails}});if(error)return console.error(error),setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1;if(paymentIntent&&paymentMethod&&paymentSourceId&&currentPaymentMethodType)try{return await setPaymentSource({paymentSourceId,paymentResource:currentPaymentMethodType,attributes:{options:{...paymentMethod,setup_future_usage:"off_session"}}}),!0}catch{return!1}}}return!1};return _jsxs("form",{ref,children:[_jsx(CardElement,{options:{...defaultOptions,...options}}),templateCustomerSaveToWallet&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet})]})}export function StripePayment({publishableKey,show,options,locale="auto",...p}){const[isLoaded,setIsLoaded]=useState(!1),[stripe,setStripe]=useState(null),{containerClassName,templateCustomerSaveToWallet,fonts=[],...divProps}=p;return useEffect(()=>(show&&publishableKey&&import("@stripe/stripe-js").then(({loadStripe})=>{(async()=>{const res=await loadStripe(publishableKey,{locale});res!=null&&(setStripe(res),setIsLoaded(!0))})()}),()=>{setIsLoaded(!1)}),[show,publishableKey]),isLoaded&&stripe?_jsx("div",{className:containerClassName,...divProps,children:_jsx(Elements,{stripe,options:{fonts},children:_jsx(StripePaymentForm,{options,templateCustomerSaveToWallet})})}):null}export default StripePayment;
@@ -1,10 +1,9 @@
1
- import { ReactNode } from 'react';
2
- export type WireTransferConfig = {
1
+ export interface WireTransferConfig {
3
2
  infoMessage?: {
4
- text?: string | ReactNode;
3
+ text?: string | JSX.Element[];
5
4
  className?: string;
6
5
  };
7
- };
6
+ }
8
7
  type Props = WireTransferConfig & JSX.IntrinsicElements['div'] & {
9
8
  'data-test-id'?: string;
10
9
  };
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import PaymentMethodContext from"../../context/PaymentMethodContext";import isFunction from"lodash/isFunction";import{useContext,useEffect,useRef}from"react";const defaultMessage="after placing the order, you will need to manually complete the payment with your bank";export function WireTransferPayment({infoMessage,...p}){const{className,"data-test-id":dataTestId}=p,ref=useRef(null),{setPaymentSource,paymentSource,currentPaymentMethodType,setPaymentRef}=useContext(PaymentMethodContext);useEffect(()=>(ref.current&&paymentSource&&currentPaymentMethodType&&(ref.current.onsubmit=()=>handleClick(),setPaymentRef({ref})),()=>{setPaymentRef({ref:{current:null}})}),[ref,paymentSource,currentPaymentMethodType]);const handleClick=async()=>{if(paymentSource&&currentPaymentMethodType)try{return await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:currentPaymentMethodType,attributes:{metadata:{card:{id:paymentSource.id,brand:"wire-transfer",last4:""}}}}),!0}catch{return!1}return!1};return _jsx("form",{ref,children:_jsx("div",{className,"data-test-id":dataTestId,children:_jsx("span",{className:infoMessage?.className,children:isFunction(infoMessage?.text)?infoMessage?.text():infoMessage?.text||defaultMessage})})})}export default WireTransferPayment;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import PaymentMethodContext from"../../context/PaymentMethodContext";import{useContext,useEffect,useRef}from"react";const defaultMessage="after placing the order, you will need to manually complete the payment with your bank";export function WireTransferPayment({infoMessage,...p}){const{className,"data-test-id":dataTestId}=p,ref=useRef(null),{setPaymentSource,paymentSource,currentPaymentMethodType,setPaymentRef}=useContext(PaymentMethodContext);useEffect(()=>(ref.current&&paymentSource&&currentPaymentMethodType&&(ref.current.onsubmit=async()=>await handleClick(),setPaymentRef({ref})),()=>{setPaymentRef({ref:{current:null}})}),[ref,paymentSource,currentPaymentMethodType]);const handleClick=async()=>{if(paymentSource&&currentPaymentMethodType)try{return await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:currentPaymentMethodType,attributes:{metadata:{card:{id:paymentSource.id,brand:"wire-transfer",last4:""}}}}),!0}catch{return!1}return!1};return _jsx("form",{ref,children:_jsx("div",{className,"data-test-id":dataTestId,children:_jsx("span",{className:infoMessage?.className,children:infoMessage?.text||defaultMessage})})})}export default WireTransferPayment;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Price as PriceType } from '@commercelayer/sdk';
3
2
  import { ChildrenFunction, LoaderType } from '../../typings/index';
4
3
  interface PriceChildrenProps extends Omit<PriceProps, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LoaderType } from '../../typings/index';
3
2
  interface Props {
4
3
  children: JSX.Element | JSX.Element[];
@@ -1 +1 @@
1
- import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useContext,useState,useEffect}from"react";import ShipmentContext from"../../context/ShipmentContext";import ShipmentChildrenContext from"../../context/ShipmentChildrenContext";import getLoaderComponent from"../../utils/getLoaderComponent";export function Shipment({children,loader="Loading...",autoSelectSingleShippingMethod=!1}){const[loading,setLoading]=useState(!0),{shipments,deliveryLeadTimes,setShippingMethod}=useContext(ShipmentContext);useEffect(()=>{shipments&&(autoSelectSingleShippingMethod?(async()=>shipments.forEach(async shipment=>{const isSingle=shipment?.available_shipping_methods?.length===1;if(!shipment?.shipping_method&&isSingle){const[shippingMethod]=shipment?.available_shipping_methods||[];shippingMethod&&await setShippingMethod(shipment.id,shippingMethod.id),typeof autoSelectSingleShippingMethod=="function"&&autoSelectSingleShippingMethod()}else setTimeout(()=>{setLoading(!1)},200)}))():setLoading(!1))},[shipments]);const components=shipments?.map((shipment,k)=>{const lineItems=shipment.shipment_line_items?.map(shipmentLineItem=>{const l=shipmentLineItem.line_item;return l&&(l.quantity=shipmentLineItem.quantity),l}),shippingMethods=shipment.available_shipping_methods,currentShippingMethodId=autoSelectSingleShippingMethod&&shippingMethods&&shippingMethods.length===1?shippingMethods[0]?.id:shipment.shipping_method?.id,stockTransfers=shipment.stock_transfers,parcels=shipment.parcels,times=deliveryLeadTimes?.filter(time=>time.stock_location?.id===shipment.stock_location?.id),shipmentProps={parcels,lineItems,shippingMethods,currentShippingMethodId,stockTransfers,deliveryLeadTimes:times,shipment,keyNumber:k+1};return _jsx(ShipmentChildrenContext.Provider,{value:shipmentProps,children},k)});return loading?getLoaderComponent(loader):_jsx(_Fragment,{children:components})}export default Shipment;
1
+ import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useContext,useState,useEffect}from"react";import ShipmentContext from"../../context/ShipmentContext";import ShipmentChildrenContext from"../../context/ShipmentChildrenContext";import getLoaderComponent from"../../utils/getLoaderComponent";export function Shipment({children,loader="Loading...",autoSelectSingleShippingMethod=!1}){const[loading,setLoading]=useState(!0),{shipments,deliveryLeadTimes,setShippingMethod}=useContext(ShipmentContext);useEffect(()=>{shipments&&(autoSelectSingleShippingMethod?(async()=>shipments.forEach(shipment=>{const isSingle=shipment?.available_shipping_methods?.length===1;if(!shipment?.shipping_method&&isSingle){const[shippingMethod]=shipment?.available_shipping_methods||[];shippingMethod&&setShippingMethod(shipment.id,shippingMethod.id),typeof autoSelectSingleShippingMethod=="function"&&autoSelectSingleShippingMethod()}else setTimeout(()=>{setLoading(!1)},200)}))():setLoading(!1))},[shipments]);const components=shipments?.map((shipment,k)=>{const lineItems=shipment.shipment_line_items?.map(shipmentLineItem=>{const l=shipmentLineItem.line_item;return l&&(l.quantity=shipmentLineItem.quantity),l}),shippingMethods=shipment.available_shipping_methods,currentShippingMethodId=autoSelectSingleShippingMethod&&shippingMethods&&shippingMethods.length===1?shippingMethods[0]?.id:shipment.shipping_method?.id,stockTransfers=shipment.stock_transfers,parcels=shipment.parcels,times=deliveryLeadTimes?.filter(time=>time.stock_location?.id===shipment.stock_location?.id),shipmentProps={parcels,lineItems,shippingMethods,currentShippingMethodId,stockTransfers,deliveryLeadTimes:times,shipment,keyNumber:k+1};return _jsx(ShipmentChildrenContext.Provider,{value:shipmentProps,children},k)});return loading?getLoaderComponent(loader):_jsx(_Fragment,{children:components})}export default Shipment;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Shipment } from '@commercelayer/sdk';
3
2
  type ShipmentFieldChildrenProps = Omit<Props, 'children'> & {
4
3
  shipment: Shipment;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  import type { Shipment } from '@commercelayer/sdk';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ShippingMethod } from '@commercelayer/sdk';
3
2
  type ChildrenProps = Omit<Props, 'children'> & {
4
3
  label: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent } from '../../typings/index';
3
2
  type Props = BaseAmountComponent & {
4
3
  labelFreeOver?: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { ShippingMethod } from '@commercelayer/sdk';
3
2
  export type ShippingMethodRadioButtonType = Omit<Props, 'children'> & {
4
3
  shippingMethod: ShippingMethod;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TimeFormat, ChildrenFunction } from '../../typings/index';
3
2
  import { DeliveryLeadTime } from '../../reducers/AvailabilityReducer';
4
3
  interface AvailabilityTemplateChildrenProps extends Omit<Props, 'children'>, DeliveryLeadTime {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export type DeliveryLeadTimeField = 'min_hours' | 'max_hours' | 'min_days' | 'max_days';
3
2
  export type DeliveryLeadTimeComponentChildren = Omit<Props, 'children'>;
4
3
  type Props = Partial<JSX.IntrinsicElements['span']> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ConditionalElement } from '../../typings/index';
3
2
  import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
3
  type SkuFieldChildrenProps = TGenericChildrenProps<TResources['Sku']>;
@@ -1,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 StockTransfer(props: Props): JSX.Element;
6
6
  export default StockTransfer;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ConditionalElement } from '../../typings/index';
3
2
  import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
3
  type StockTransferFieldChildrenProps = TGenericChildrenProps<TResources['StockTransfer']>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { Address } from '@commercelayer/sdk';
3
2
  import AddressChildrenContext from '../../context/AddressChildrenContext';
4
3
  import { ChildrenFunction } from '../../typings/index';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { BaseInputComponentProps } from '../../typings/index';
3
3
  export type BaseInputProps = BaseInputComponentProps & Omit<JSX.IntrinsicElements['input'], 'children'> & Omit<JSX.IntrinsicElements['textarea'], 'children'>;
4
- declare const _default: React.ForwardRefExoticComponent<Pick<BaseInputProps, "children" | "form" | "slot" | "style" | "title" | "pattern" | "resource" | "id" | "value" | "placeholder" | "className" | "required" | "name" | "onChange" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "height" | "max" | "min" | "type" | "width" | "crossOrigin" | "alt" | "src" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "autoComplete" | "accept" | "capture" | "checked" | "enterKeyHint" | "list" | "maxLength" | "minLength" | "multiple" | "readOnly" | "size" | "step" | "cols" | "dirName" | "rows" | "wrap"> & React.RefAttributes<any>>;
4
+ declare const _default: React.ForwardRefExoticComponent<Pick<BaseInputProps, "children" | "form" | "slot" | "style" | "title" | "pattern" | "value" | "placeholder" | "className" | "required" | "name" | "onChange" | "id" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "height" | "max" | "min" | "type" | "width" | "crossOrigin" | "alt" | "src" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "autoComplete" | "accept" | "capture" | "checked" | "enterKeyHint" | "list" | "maxLength" | "minLength" | "multiple" | "readOnly" | "size" | "step" | "cols" | "dirName" | "rows" | "wrap"> & React.RefAttributes<any>>;
5
5
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PropsType } from '../../utils/PropsType';
3
2
  import { baseOrderPricePropTypes } from '../../typings/index';
4
3
  export type BaseOrderPriceProps = PropsType<typeof baseOrderPricePropTypes> & Omit<JSX.IntrinsicElements['span'], 'children'>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PaymentResource, PaymentSourceType } from '../../reducers/PaymentMethodReducer';
3
2
  import PaymentSourceContext, { IconBrand } from '../../context/PaymentSourceContext';
4
3
  import { ChildrenFunction } from '../../typings/index';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PriceProps } from '../prices/Price';
3
2
  export type PTemplateProps = {
4
3
  formattedAmount?: string;
@@ -1,13 +1,13 @@
1
- /// <reference types="react" />
2
1
  import { LineItem } from '@commercelayer/sdk';
3
- import { BaseError, ResourceErrorType } from '../../typings/errors';
2
+ import { BaseError } from '../../typings/errors';
3
+ import { TResourceError } from '../errors/Errors';
4
4
  export type AllErrorsParams = {
5
5
  allErrors: BaseError[];
6
6
  messages: BaseError[];
7
7
  field?: string;
8
8
  props: JSX.IntrinsicElements['span'];
9
9
  lineItem?: LineItem;
10
- resource?: ResourceErrorType;
10
+ resource?: TResourceError;
11
11
  returnHtml?: boolean;
12
12
  };
13
13
  export interface GetAllErrors {
@@ -100,5 +100,4 @@ export * from './components/stock_transfers/StockTransfer';
100
100
  export * from './components/stock_transfers/StockTransferField';
101
101
  export type { CustomerCardsType } from './components/utils/PaymentCardsTemplate';
102
102
  export type { ShippingMethodRadioButtonType, ShippingMethodRadioButtonOnChangeType } from './components/shipping_methods/ShippingMethodRadioButton';
103
- export type { ErrorComponentProps, ResourceErrorType } from './typings/errors';
104
- export type { AddressCountrySelectName, AddressInputName, AddressStateSelectName, BaseInputType, LineItemType } from './typings/index';
103
+ export * from './typings/errors';
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- export*from"./components/errors/Errors";export*from"./components/ExternalFunction";export*from"./components/MetadataInput";export*from"./components/SubmitButton";export*from"./components/addresses/Address";export*from"./components/addresses/AddressCountrySelector";export*from"./components/addresses/AddressField";export*from"./components/addresses/AddressInput";export*from"./components/addresses/AddressStateSelector";export*from"./components/addresses/AddressesContainer";export*from"./components/addresses/AddressesEmpty";export*from"./components/addresses/BillingAddressContainer";export*from"./components/addresses/BillingAddressForm";export*from"./components/addresses/SaveAddressesButton";export*from"./components/addresses/ShippingAddressContainer";export*from"./components/addresses/ShippingAddressForm";export*from"./components/auth/CommerceLayer";export*from"./components/customers/CustomerAddressForm";export*from"./components/customers/CustomerContainer";export*from"./components/customers/CustomerField";export*from"./components/customers/CustomerInput";export*from"./components/customers/SaveCustomerButton";export*from"./components/gift_cards/GiftCard";export*from"./components/gift_cards/GiftCardContainer";export*from"./components/gift_cards/GiftCardCurrencySelector";export*from"./components/gift_cards/GiftCardInput";export*from"./components/gift_cards/GiftCardOrCouponCode";export*from"./components/gift_cards/GiftCardOrCouponForm";export*from"./components/gift_cards/GiftCardOrCouponInput";export*from"./components/gift_cards/GiftCardOrCouponRemoveButton";export*from"./components/gift_cards/GiftCardOrCouponSubmit";export*from"./components/line_items/LineItemsContainer";export*from"./components/line_items/LineItem";export*from"./components/line_items/LineItemAmount";export*from"./components/line_items/LineItemCode";export*from"./components/line_items/LineItemField";export*from"./components/line_items/LineItemImage";export*from"./components/line_items/LineItemName";export*from"./components/line_items/LineItemOption";export*from"./components/line_items/LineItemOptions";export*from"./components/line_items/LineItemQuantity";export*from"./components/line_items/LineItemRemoveLink";export*from"./components/line_items/LineItemsCount";export*from"./components/line_items/LineItemsEmpty";export*from"./components/orders/AddToCartButton";export*from"./components/orders/AdjustmentAmount";export*from"./components/orders/CartLink";export*from"./components/orders/CheckoutLink";export*from"./components/orders/DiscountAmount";export*from"./components/orders/GiftCardAmount";export*from"./components/orders/OrderContainer";export*from"./components/orders/OrderList";export*from"./components/orders/OrderListEmpty";export*from"./components/orders/OrderListRow";export*from"./components/orders/OrderNumber";export*from"./components/orders/OrderStorage";export*from"./components/orders/PaymentMethodAmount";export*from"./components/orders/PlaceOrderButton";export*from"./components/orders/PlaceOrderContainer";export*from"./components/orders/PrivacyAndTermsCheckbox";export*from"./components/orders/ShippingAmount";export*from"./components/orders/SubTotalAmount";export*from"./components/orders/TaxesAmount";export*from"./components/orders/TotalAmount";export*from"./components/parcels/ParcelField";export*from"./components/parcels/ParcelLineItem";export*from"./components/parcels/ParcelLineItemField";export*from"./components/parcels/ParcelLineItemsCount";export*from"./components/parcels/Parcels";export*from"./components/parcels/ParcelsCount";export*from"./components/payment_methods/PaymentMethod";export*from"./components/payment_methods/PaymentMethodName";export*from"./components/payment_methods/PaymentMethodPrice";export*from"./components/payment_methods/PaymentMethodRadioButton";export*from"./components/payment_methods/PaymentMethodsContainer";export*from"./components/payment_source/PaymentSource";export*from"./components/payment_source/PaymentSourceBrandIcon";export*from"./components/payment_source/PaymentSourceBrandName";export*from"./components/payment_source/PaymentSourceDetail";export*from"./components/payment_source/PaymentSourceEditButton";export*from"./components/prices/Price";export*from"./components/prices/PricesContainer";export*from"./components/shipments/Shipment";export*from"./components/shipments/ShipmentField";export*from"./components/shipments/ShipmentsContainer";export*from"./components/shipments/ShipmentsCount";export*from"./components/shipping_methods/ShippingMethod";export*from"./components/shipping_methods/ShippingMethodName";export*from"./components/shipping_methods/ShippingMethodPrice";export*from"./components/shipping_methods/ShippingMethodRadioButton";export*from"./components/skus/AvailabilityContainer";export*from"./components/skus/AvailabilityTemplate";export*from"./components/skus/DeliveryLeadTime";export*from"./components/skus/SkuField";export*from"./components/skus/SkuList";export*from"./components/skus/SkuListsContainer";export*from"./components/skus/Skus";export*from"./components/skus/SkusContainer";export*from"./components/stock_transfers/StockTransfer";export*from"./components/stock_transfers/StockTransferField";
1
+ export*from"./components/errors/Errors";export*from"./components/ExternalFunction";export*from"./components/MetadataInput";export*from"./components/SubmitButton";export*from"./components/addresses/Address";export*from"./components/addresses/AddressCountrySelector";export*from"./components/addresses/AddressField";export*from"./components/addresses/AddressInput";export*from"./components/addresses/AddressStateSelector";export*from"./components/addresses/AddressesContainer";export*from"./components/addresses/AddressesEmpty";export*from"./components/addresses/BillingAddressContainer";export*from"./components/addresses/BillingAddressForm";export*from"./components/addresses/SaveAddressesButton";export*from"./components/addresses/ShippingAddressContainer";export*from"./components/addresses/ShippingAddressForm";export*from"./components/auth/CommerceLayer";export*from"./components/customers/CustomerAddressForm";export*from"./components/customers/CustomerContainer";export*from"./components/customers/CustomerField";export*from"./components/customers/CustomerInput";export*from"./components/customers/SaveCustomerButton";export*from"./components/gift_cards/GiftCard";export*from"./components/gift_cards/GiftCardContainer";export*from"./components/gift_cards/GiftCardCurrencySelector";export*from"./components/gift_cards/GiftCardInput";export*from"./components/gift_cards/GiftCardOrCouponCode";export*from"./components/gift_cards/GiftCardOrCouponForm";export*from"./components/gift_cards/GiftCardOrCouponInput";export*from"./components/gift_cards/GiftCardOrCouponRemoveButton";export*from"./components/gift_cards/GiftCardOrCouponSubmit";export*from"./components/line_items/LineItemsContainer";export*from"./components/line_items/LineItem";export*from"./components/line_items/LineItemAmount";export*from"./components/line_items/LineItemCode";export*from"./components/line_items/LineItemField";export*from"./components/line_items/LineItemImage";export*from"./components/line_items/LineItemName";export*from"./components/line_items/LineItemOption";export*from"./components/line_items/LineItemOptions";export*from"./components/line_items/LineItemQuantity";export*from"./components/line_items/LineItemRemoveLink";export*from"./components/line_items/LineItemsCount";export*from"./components/line_items/LineItemsEmpty";export*from"./components/orders/AddToCartButton";export*from"./components/orders/AdjustmentAmount";export*from"./components/orders/CartLink";export*from"./components/orders/CheckoutLink";export*from"./components/orders/DiscountAmount";export*from"./components/orders/GiftCardAmount";export*from"./components/orders/OrderContainer";export*from"./components/orders/OrderList";export*from"./components/orders/OrderListEmpty";export*from"./components/orders/OrderListRow";export*from"./components/orders/OrderNumber";export*from"./components/orders/OrderStorage";export*from"./components/orders/PaymentMethodAmount";export*from"./components/orders/PlaceOrderButton";export*from"./components/orders/PlaceOrderContainer";export*from"./components/orders/PrivacyAndTermsCheckbox";export*from"./components/orders/ShippingAmount";export*from"./components/orders/SubTotalAmount";export*from"./components/orders/TaxesAmount";export*from"./components/orders/TotalAmount";export*from"./components/parcels/ParcelField";export*from"./components/parcels/ParcelLineItem";export*from"./components/parcels/ParcelLineItemField";export*from"./components/parcels/ParcelLineItemsCount";export*from"./components/parcels/Parcels";export*from"./components/parcels/ParcelsCount";export*from"./components/payment_methods/PaymentMethod";export*from"./components/payment_methods/PaymentMethodName";export*from"./components/payment_methods/PaymentMethodPrice";export*from"./components/payment_methods/PaymentMethodRadioButton";export*from"./components/payment_methods/PaymentMethodsContainer";export*from"./components/payment_source/PaymentSource";export*from"./components/payment_source/PaymentSourceBrandIcon";export*from"./components/payment_source/PaymentSourceBrandName";export*from"./components/payment_source/PaymentSourceDetail";export*from"./components/payment_source/PaymentSourceEditButton";export*from"./components/prices/Price";export*from"./components/prices/PricesContainer";export*from"./components/shipments/Shipment";export*from"./components/shipments/ShipmentField";export*from"./components/shipments/ShipmentsContainer";export*from"./components/shipments/ShipmentsCount";export*from"./components/shipping_methods/ShippingMethod";export*from"./components/shipping_methods/ShippingMethodName";export*from"./components/shipping_methods/ShippingMethodPrice";export*from"./components/shipping_methods/ShippingMethodRadioButton";export*from"./components/skus/AvailabilityContainer";export*from"./components/skus/AvailabilityTemplate";export*from"./components/skus/DeliveryLeadTime";export*from"./components/skus/SkuField";export*from"./components/skus/SkuList";export*from"./components/skus/SkuListsContainer";export*from"./components/skus/Skus";export*from"./components/skus/SkusContainer";export*from"./components/stock_transfers/StockTransfer";export*from"./components/stock_transfers/StockTransferField";export*from"./typings/errors";
@@ -1,14 +1,15 @@
1
1
  import { Dispatch } from 'react';
2
- import { BaseError, ResourceErrorType } from '../typings/errors';
2
+ import { BaseError } from '../typings/errors';
3
3
  import { CommerceLayerConfig } from '../context/CommerceLayerContext';
4
4
  import type { Address, AddressCreate, Order } from '@commercelayer/sdk';
5
5
  import { updateOrder } from './OrderReducer';
6
6
  import { TCustomerAddress } from './CustomerReducer';
7
+ import { TResourceError } from '../components/errors/Errors';
7
8
  export type AddressActionType = 'setErrors' | 'setAddress' | 'setShipToDifferentAddress' | 'setCloneAddress' | 'cleanup';
8
9
  export type AddressField = 'city' | 'company' | 'country_code' | 'first_name' | 'last_name' | 'line_1' | 'line_2' | 'phone' | 'state_code' | 'zip_code' | 'billing_info';
9
10
  export type AddressFieldView = AddressField | 'full_address' | 'full_name';
10
11
  export declare const addressFields: AddressField[];
11
- export type AddressResource = Extract<ResourceErrorType, 'billing_address' | 'shipping_address'>;
12
+ export type AddressResource = Extract<TResourceError, 'billing_address' | 'shipping_address'>;
12
13
  export type AddressSchema = Omit<Address, 'created_at' | 'updated_at' | 'id' | 'type'>;
13
14
  export interface AddressActionPayload {
14
15
  errors: BaseError[];
@@ -27,7 +28,7 @@ export interface AddressAction {
27
28
  export declare const addressInitialState: AddressState;
28
29
  export type SetAddressErrors = <V extends BaseError[]>(args: {
29
30
  errors: V;
30
- resource: Extract<ResourceErrorType, 'billing_address' | 'shipping_address'>;
31
+ resource: Extract<TResourceError, 'billing_address' | 'shipping_address'>;
31
32
  dispatch?: Dispatch<AddressAction>;
32
33
  currentErrors?: V;
33
34
  }) => void;
@@ -1 +1 @@
1
- import{setCustomerOrderParam}from"../utils/localStorage";import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import getSdk from"../utils/getSdk";import getErrors,{setErrors}from"../utils/getErrors";import getOrganizationSlug from"../utils/organization";const actionType=["setLoading","setOrderId","setOrder","setSingleQuantity","setCurrentSkuCodes","setCurrentSkuPrices","setErrors","setCurrentItem","setSaveAddressToCustomerAddressBook","setIncludesResource"];export const createOrder=async params=>{if(params){const{persistKey,state,dispatch,config,orderMetadata:metadata,orderAttributes={},setLocalOrder}=params;if(state?.orderId)return state.orderId;const sdk=getSdk(config);try{const o=await sdk?.orders.create({metadata,...orderAttributes});return dispatch&&dispatch({type:"setOrderId",payload:{orderId:o?.id}}),persistKey&&setLocalOrder&&setLocalOrder(persistKey,o.id),o.id}catch(error){const errors=getErrors(error,"orders");console.error("Create order",errors),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors,dispatch})}}return""},getApiOrder=async params=>{const{id,dispatch,config,clearWhenPlaced,persistKey,deleteLocalOrder,state}=params,sdk=getSdk(config);try{const options={};state?.include&&state.include.length>0&&(options.include=state.include),console.log("includes",options);const order=await sdk.orders.retrieve(id,options);return console.log("order",order),clearWhenPlaced&&order.editable===!1?(persistKey&&deleteLocalOrder&&deleteLocalOrder(persistKey),dispatch&&dispatch({type:"setOrder",payload:{order:void 0,orderId:""}})):dispatch&&dispatch({type:"setOrder",payload:{order,orderId:order.id}}),order}catch(error){const errors=getErrors(error,"orders");console.error("Retrieve order",errors),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors,dispatch});return}};export async function updateOrder({id,attributes,dispatch,config,include,state}){const sdk=getSdk(config);try{const resource={...attributes,id};await sdk.orders.update(resource,{include});const order=await getApiOrder({id,config,dispatch,state});return dispatch&&order&&dispatch({type:"setOrder",payload:{order}}),{success:!0}}catch(error){const errors=getErrors(error,"orders");return dispatch&&(setOrderErrors({errors,dispatch}),dispatch({type:"setErrors",payload:{errors}})),{success:!1,error}}}export const setOrder=(order,dispatch)=>{dispatch&&dispatch({type:"setOrder",payload:{order}})};export function addResourceToInclude({resourcesIncluded=[],dispatch,newResource,newResourceLoaded,resourceIncludedLoaded}){const payload={include:void 0,includeLoaded:void 0};if(newResource){const resources=typeof newResource=="string"?[newResource]:newResource;payload.include=[...new Set([...resourcesIncluded,...resources])],resources.forEach(resource=>{const includeLoaded={...payload.includeLoaded,[resource]:!0};payload.includeLoaded=includeLoaded})}else delete payload.include;const payloadIncludeLoaded={...resourceIncludedLoaded,...newResourceLoaded,...payload.includeLoaded&&payload.includeLoaded};payload.includeLoaded=payloadIncludeLoaded,console.log(payload);debugger;dispatch&&dispatch({type:"setIncludesResource",payload:{...payload,withoutIncludes:!1}})}export async function addToCart(params){const{skuCode,bundleCode,quantity,config,dispatch,lineItem,state,errors=[],buyNowMode,checkoutUrl,lineItemOption}=params;try{if(config){const sdk=getSdk(config),id=await createOrder(params);if(id){const order=sdk.orders.relationship(id),name=lineItem?.name,imageUrl=lineItem?.imageUrl;if(buyNowMode)if(state?.order?.line_items)await Promise.all(state?.order?.line_items.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}));else{const{line_items:lineItems}=await sdk.orders.retrieve(id,{fields:["line_items"],include:["line_items"]});lineItems&&lineItems?.length>0&&await Promise.all(lineItems.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}))}const attrs={order,sku_code:skuCode,name,image_url:imageUrl,quantity:quantity??1,_update_quantity:!0,bundle_code:bundleCode},newLineItem=await sdk.line_items.create(attrs);if(lineItemOption!=null){const{skuOptionId,options,quantity:quantity2}=lineItemOption,skuOption=sdk.sku_options.relationship(skuOptionId),lineItemRel=sdk.line_items.relationship(newLineItem.id),lineItemOptionsAttributes={quantity:quantity2??1,options,sku_option:skuOption,line_item:lineItemRel};await sdk.line_item_options.create(lineItemOptionsAttributes),await getApiOrder({id,...params})}else await getApiOrder({id,...params,state});if(!isEmpty(errors)&&dispatch&&dispatch({type:"setErrors",payload:{errors:[]}}),buyNowMode){const{organization}=getOrganizationSlug(config.endpoint??""),params2=`${id}?accessToken=${config.accessToken??""}`,redirectUrl=checkoutUrl?`${checkoutUrl}/${params2}`:`https://${organization}.checkout.commercelayer.app/${params2}`;location.href=redirectUrl}return{success:!0,orderId:id}}}return{success:!1}}catch(error){const errors2=getErrors(error,"orders");return console.error("Add to cart",errors2),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors2,dispatch}),{success:!1}}}export const unsetOrderState=dispatch=>{dispatch({type:"setOrderId",payload:{orderId:""}}),dispatch({type:"setOrder",payload:{order:void 0}})};export function setOrderErrors({dispatch,errors=[]}){return dispatch&&dispatch({type:"setErrors",payload:{errors}}),{success:!1}}export const saveAddressToCustomerAddressBook=({type,value,dispatch})=>{const k=`_save_${type}_to_customer_address_book`,v=`${value.toString()}`;setCustomerOrderParam(k,v),dispatch&&dispatch({type:"setSaveAddressToCustomerAddressBook",payload:{[k]:v}})},setGiftCardOrCouponCode=async({code,codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&code&&dispatch){const attributes={[codeType]:code},{success,error}=await updateOrder({id:order.id,attributes,config,include,dispatch,state});if(!success)throw error;return dispatch({type:"setErrors",payload:{errors:[]}}),{success}}return{success:!1}}catch(error){const errors=getErrors(error,"orders",codeType);return dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}},removeGiftCardOrCouponCode=async({codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&dispatch){const attributes={[codeType]:""};return await updateOrder({id:order.id,attributes,config,include,dispatch,state}),dispatch({type:"setErrors",payload:{errors:[]}}),{success:!0}}return{success:!1}}catch(error){const errors=getErrors(error,"orders",codeType);return console.error("Remove gift card o coupon code",errors),dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}},orderInitialState={loading:!0,orderId:"",order:void 0,errors:[],include:void 0,withoutIncludes:!0};const orderReducer=(state,reducer)=>baseReducer(state,reducer,actionType);export default orderReducer;
1
+ import{setCustomerOrderParam}from"../utils/localStorage";import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import getSdk from"../utils/getSdk";import getErrors,{setErrors}from"../utils/getErrors";import getOrganizationSlug from"../utils/organization";const actionType=["setLoading","setOrderId","setOrder","setSingleQuantity","setCurrentSkuCodes","setCurrentSkuPrices","setErrors","setCurrentItem","setSaveAddressToCustomerAddressBook","setIncludesResource"];export const createOrder=async params=>{if(params){const{persistKey,state,dispatch,config,orderMetadata:metadata,orderAttributes={},setLocalOrder}=params;if(state?.orderId)return state.orderId;const sdk=getSdk(config);try{const o=await sdk?.orders.create({metadata,...orderAttributes});return dispatch&&dispatch({type:"setOrderId",payload:{orderId:o?.id}}),persistKey&&setLocalOrder&&setLocalOrder(persistKey,o.id),o.id}catch(error){const errors=getErrors(error,"orders");console.error("Create order",errors),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors,dispatch})}}return""},getApiOrder=async params=>{const{id,dispatch,config,clearWhenPlaced,persistKey,deleteLocalOrder,state}=params,sdk=getSdk(config);try{const options={};state?.include&&state.include.length>0&&(options.include=state.include);const order=await sdk.orders.retrieve(id,options);return clearWhenPlaced&&order.editable===!1?(persistKey&&deleteLocalOrder&&deleteLocalOrder(persistKey),dispatch&&dispatch({type:"setOrder",payload:{order:void 0,orderId:""}})):dispatch&&dispatch({type:"setOrder",payload:{order,orderId:order.id}}),order}catch(error){const errors=getErrors(error,"orders");console.error("Retrieve order",errors),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors,dispatch});return}};export async function updateOrder({id,attributes,dispatch,config,include,state}){const sdk=getSdk(config);try{const resource={...attributes,id};await sdk.orders.update(resource,{include});const order=await getApiOrder({id,config,dispatch,state});return dispatch&&order&&dispatch({type:"setOrder",payload:{order}}),{success:!0}}catch(error){const errors=getErrors(error,"orders");return dispatch&&(setOrderErrors({errors,dispatch}),dispatch({type:"setErrors",payload:{errors}})),{success:!1,error}}}export const setOrder=(order,dispatch)=>{dispatch&&dispatch({type:"setOrder",payload:{order}})};export function addResourceToInclude({resourcesIncluded=[],dispatch,newResource,newResourceLoaded,resourceIncludedLoaded}){const payload={include:void 0,includeLoaded:void 0};if(newResource){const resources=typeof newResource=="string"?[newResource]:newResource;payload.include=[...new Set([...resourcesIncluded,...resources])],resources.forEach(resource=>{const includeLoaded={...payload.includeLoaded,[resource]:!0};payload.includeLoaded=includeLoaded})}else delete payload.include;const payloadIncludeLoaded={...resourceIncludedLoaded,...newResourceLoaded,...payload.includeLoaded&&payload.includeLoaded};payload.includeLoaded=payloadIncludeLoaded,dispatch&&dispatch({type:"setIncludesResource",payload:{...payload,withoutIncludes:!1}})}export async function addToCart(params){const{skuCode,bundleCode,quantity,config,dispatch,lineItem,state,errors=[],buyNowMode,checkoutUrl,lineItemOption}=params;try{if(config){const sdk=getSdk(config),id=await createOrder(params);if(id){const order=sdk.orders.relationship(id),name=lineItem?.name,imageUrl=lineItem?.imageUrl;if(buyNowMode)if(state?.order?.line_items)await Promise.all(state?.order?.line_items.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}));else{const{line_items:lineItems}=await sdk.orders.retrieve(id,{fields:["line_items"],include:["line_items"]});lineItems&&lineItems?.length>0&&await Promise.all(lineItems.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}))}const attrs={order,sku_code:skuCode,name,image_url:imageUrl,quantity:quantity??1,_update_quantity:!0,bundle_code:bundleCode},newLineItem=await sdk.line_items.create(attrs);if(lineItemOption!=null){const{skuOptionId,options,quantity:quantity2}=lineItemOption,skuOption=sdk.sku_options.relationship(skuOptionId),lineItemRel=sdk.line_items.relationship(newLineItem.id),lineItemOptionsAttributes={quantity:quantity2??1,options,sku_option:skuOption,line_item:lineItemRel};await sdk.line_item_options.create(lineItemOptionsAttributes),await getApiOrder({id,...params})}else await getApiOrder({id,...params,state});if(!isEmpty(errors)&&dispatch&&dispatch({type:"setErrors",payload:{errors:[]}}),buyNowMode){const{organization}=getOrganizationSlug(config.endpoint??""),params2=`${id}?accessToken=${config.accessToken??""}`,redirectUrl=checkoutUrl?`${checkoutUrl}/${params2}`:`https://${organization}.checkout.commercelayer.app/${params2}`;location.href=redirectUrl}return{success:!0,orderId:id}}}return{success:!1}}catch(error){const errors2=getErrors(error,"orders");return console.error("Add to cart",errors2),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors2,dispatch}),{success:!1}}}export const unsetOrderState=dispatch=>{dispatch({type:"setOrderId",payload:{orderId:""}}),dispatch({type:"setOrder",payload:{order:void 0}})};export function setOrderErrors({dispatch,errors=[]}){return dispatch&&dispatch({type:"setErrors",payload:{errors}}),{success:!1}}export const saveAddressToCustomerAddressBook=({type,value,dispatch})=>{const k=`_save_${type}_to_customer_address_book`,v=`${value.toString()}`;setCustomerOrderParam(k,v),dispatch&&dispatch({type:"setSaveAddressToCustomerAddressBook",payload:{[k]:v}})},setGiftCardOrCouponCode=async({code,codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&code&&dispatch){const attributes={[codeType]:code},{success,error}=await updateOrder({id:order.id,attributes,config,include,dispatch,state});if(!success)throw error;return dispatch({type:"setErrors",payload:{errors:[]}}),{success}}return{success:!1}}catch(error){const errors=getErrors(error,"orders",codeType);return dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}},removeGiftCardOrCouponCode=async({codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&dispatch){const attributes={[codeType]:""};return await updateOrder({id:order.id,attributes,config,include,dispatch,state}),dispatch({type:"setErrors",payload:{errors:[]}}),{success:!0}}return{success:!1}}catch(error){const errors=getErrors(error,"orders",codeType);return console.error("Remove gift card o coupon code",errors),dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}},orderInitialState={loading:!0,orderId:"",order:void 0,errors:[],include:void 0,withoutIncludes:!0};const orderReducer=(state,reducer)=>baseReducer(state,reducer,actionType);export default orderReducer;
@@ -9,6 +9,8 @@ import { BaseError } from '../typings/errors';
9
9
  import { Order, PaymentMethod, StripePayment, WireTransfer, AdyenPayment, BraintreePayment, CheckoutComPayment, ExternalPayment, PaypalPayment, KlarnaPayment } from '@commercelayer/sdk';
10
10
  import { Dispatch, MutableRefObject } from 'react';
11
11
  import { CheckoutComConfig } from '../components/payment_source/CheckoutComPayment';
12
+ import { ExternalPaymentConfig } from '../components/payment_source/ExternalPayment';
13
+ import { ResourceKeys } from '../utils/getPaymentAttributes';
12
14
  export type PaymentSourceType = AdyenPayment | BraintreePayment | CheckoutComPayment | ExternalPayment | PaypalPayment | StripePayment | WireTransfer;
13
15
  interface Card {
14
16
  type: string;
@@ -135,16 +137,17 @@ export type DestroyPaymentSource = (args: {
135
137
  }) => Promise<void>;
136
138
  export declare const destroyPaymentSource: DestroyPaymentSource;
137
139
  export interface PaymentMethodConfig {
138
- stripePayment?: StripeConfig;
139
- braintreePayment?: BraintreeConfig;
140
- wireTransfer?: Partial<WireTransferConfig>;
141
- paypalPayment?: PaypalConfig;
142
140
  adyenPayment?: AdyenPaymentConfig;
141
+ braintreePayment?: BraintreeConfig;
143
142
  checkoutComPayment?: CheckoutComConfig;
143
+ externalPayment?: ExternalPaymentConfig;
144
144
  klarnaPayment?: Pick<AdyenPaymentConfig, 'placeOrderCallback'> & Pick<StripeConfig, 'containerClassName'>;
145
+ paypalPayment?: PaypalConfig;
146
+ stripePayment?: StripeConfig;
147
+ wireTransfer?: Partial<WireTransferConfig>;
145
148
  }
146
149
  type SetPaymentMethodConfig = (config: PaymentMethodConfig, dispatch: Dispatch<PaymentMethodAction>) => void;
147
150
  export declare const setPaymentMethodConfig: SetPaymentMethodConfig;
148
- export declare function getPaymentConfig<K extends PaymentResourceKey>(paymentResource: PaymentResource, config: PaymentMethodConfig): PaymentMethodConfig[K];
151
+ export declare function getPaymentConfig<R extends PaymentResource = PaymentResource, K extends PaymentMethodConfig = PaymentMethodConfig>(paymentResource: R, config: K): Pick<K, ResourceKeys<R>>;
149
152
  declare const paymentMethodReducer: (state: PaymentMethodState, reducer: PaymentMethodAction) => PaymentMethodState;
150
153
  export default paymentMethodReducer;
@@ -1 +1 @@
1
- import baseReducer from"../utils/baseReducer";import getErrors,{setErrors}from"../utils/getErrors";import getSdk from"../utils/getSdk";import camelCase from"lodash/camelCase";import has from"lodash/has";import isEmpty from"lodash/isEmpty";export function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}export const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})},paymentMethodInitialState={errors:[],paymentMethods:void 0},setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})},getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})},setPaymentMethod=async({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource})=>{try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:getSdk(config).payment_methods.relationship(paymentMethodId)};updateOrder&&await updateOrder({id:order.id,attributes}),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}}catch(error){const errors=getErrors(error,"orders",paymentResource);console.error("Set payment method",errors)}},setPaymentSource=async({config,dispatch,getOrder,attributes,order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors})=>{try{if(config&&order){let paymentSource;const sdk=getSdk(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=attributes!=null?await sdk[paymentResource].update(attrs):sdk[paymentResource].retrieve(paymentSourceId)}else{const attrs={...attributes,order:sdk.orders.relationship(order.id)};paymentSource=await sdk[paymentResource].create(attrs)}return getOrder&&await getOrder(order.id),dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource,errors:[]}}),paymentSource}}}catch(error){const errors=getErrors(error,"payment_methods",paymentResource);console.error("Set payment source:",errors),dispatch&&setErrors({currentErrors,newErrors:errors,dispatch})}},updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await getSdk(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}},destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};export function getPaymentConfig(paymentResource,config){const resource=camelCase(paymentResource).replace("Payments","Payment").replace("Transfers","Transfer");return!isEmpty(config)&&has(config,resource)?config[resource]:void 0}const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>baseReducer(state,reducer,type);export default paymentMethodReducer;
1
+ import baseReducer from"../utils/baseReducer";import getErrors,{setErrors}from"../utils/getErrors";import getSdk from"../utils/getSdk";import{snakeToCamelCase}from"../utils/snakeToCamelCase";import{replace}from"../utils/replace";import{pick}from"../utils/pick";export function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}export const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})},paymentMethodInitialState={errors:[],paymentMethods:void 0},setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})},getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})},setPaymentMethod=async({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource})=>{try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:getSdk(config).payment_methods.relationship(paymentMethodId)};updateOrder&&await updateOrder({id:order.id,attributes}),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}}catch(error){const errors=getErrors(error,"orders",paymentResource);console.error("Set payment method",errors)}},setPaymentSource=async({config,dispatch,getOrder,attributes,order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors})=>{try{if(config&&order){let paymentSource;const sdk=getSdk(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=attributes!=null?await sdk[paymentResource].update(attrs):await sdk[paymentResource].retrieve(paymentSourceId)}else{const attrs={...attributes,order:sdk.orders.relationship(order.id)};paymentSource=await sdk[paymentResource].create(attrs)}return getOrder&&await getOrder(order.id),dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource,errors:[]}}),paymentSource}}}catch(error){const errors=getErrors(error,"payment_methods",paymentResource);console.error("Set payment source:",errors),dispatch&&setErrors({currentErrors,newErrors:errors,dispatch})}},updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await getSdk(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}},destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};export function getPaymentConfig(paymentResource,config){const resourceKeys=replace(replace(paymentResource,"payments","payment"),"transfers","transfer"),resource=snakeToCamelCase(resourceKeys);return pick(config,[resource])}const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>baseReducer(state,reducer,type);export default paymentMethodReducer;
@@ -1,51 +1,11 @@
1
- import PropTypes from 'prop-types';
2
- import { ChildrenFunction } from './index';
1
+ import { TResourceError } from "../components/errors/Errors";
3
2
  export type CodeErrorType = 'EMPTY_ERROR' | 'FILTER_NOT_ALLOWED' | 'FORBIDDEN' | 'INTERNAL_SERVER_ERROR' | 'INVALID_DATA_FORMAT' | 'INVALID_FIELD' | 'INVALID_FIELD_FORMAT' | 'INVALID_FIELD_VALUE' | 'INVALID_FILTERS_SYNTAX' | 'INVALID_FILTER_VALUE' | 'INVALID_INCLUDE' | 'INVALID_LINKS_OBJECT' | 'INVALID_PAGE_OBJECT' | 'INVALID_PAGE_VALUE' | 'INVALID_RESOURCE' | 'INVALID_RESOURCE_ID' | 'INVALID_SORT_CRITERIA' | 'INVALID_TOKEN' | 'KEY_NOT_INCLUDED_IN_URL' | 'KEY_ORDER_MISMATCH' | 'LOCKED' | 'NOT_ACCEPTABLE' | 'OUT_OF_STOCK' | 'PARAM_MISSING' | 'PARAM_NOT_ALLOWED' | 'PAYMENT_NOT_APPROVED_FOR_EXECUTION' | 'PAYMENT_INTENT_AUTHENTICATION_FAILURE' | 'RECORD_NOT_FOUND' | 'RECORD_NOT_FOUND' | 'RELATION_EXISTS' | 'NO_SHIPPING_METHODS' | 'SAVE_FAILED' | 'TYPE_MISMATCH' | 'UNAUTHORIZED' | 'UNSUPPORTED_MEDIA_TYPE' | 'VALIDATION_ERROR';
4
- export type ResourceErrorType = 'addresses' | 'billing_address' | 'gift_cards' | 'gift_card_or_coupon_code' | 'line_items' | 'orders' | 'payment_methods' | 'prices' | 'shipments' | 'shipping_address' | 'customer_address' | 'sku_options' | 'variant';
5
3
  export interface BaseError {
6
4
  code: CodeErrorType;
7
5
  message: string;
8
- resource?: ResourceErrorType | null;
6
+ resource?: TResourceError | null;
9
7
  field?: string;
10
8
  id?: string;
11
9
  title?: string;
12
10
  detail?: string;
13
11
  }
14
- export declare const REType: ResourceErrorType[];
15
- export declare const BaseErrorObject: PropTypes.Requireable<PropTypes.InferProps<{
16
- code: PropTypes.Validator<NonNullable<CodeErrorType>>;
17
- message: PropTypes.Validator<string>;
18
- resource: PropTypes.Requireable<ResourceErrorType>;
19
- field: PropTypes.Requireable<string>;
20
- id: PropTypes.Requireable<string>;
21
- }>>;
22
- export declare const ErrorPropTypes: {
23
- resource: PropTypes.Validator<NonNullable<ResourceErrorType>>;
24
- children: PropTypes.Requireable<(...args: any[]) => any>;
25
- field: PropTypes.Requireable<string>;
26
- };
27
- type ErrorChildrenComponentProps = ChildrenFunction<Omit<ErrorComponentProps, 'children'> & {
28
- errors: string[];
29
- }>;
30
- export interface ErrorComponentProps {
31
- /**
32
- * Resource which get the error
33
- */
34
- resource: ResourceErrorType;
35
- children?: ErrorChildrenComponentProps;
36
- /**
37
- * Field which get the error
38
- */
39
- field?: string;
40
- /**
41
- * Error message which you can translate
42
- */
43
- messages?: Array<{
44
- code: CodeErrorType;
45
- message: string;
46
- resource?: ResourceErrorType;
47
- field?: string;
48
- id?: string;
49
- }>;
50
- }
51
- export {};
@@ -1 +1 @@
1
- import PropTypes from"prop-types";const CEType=["EMPTY_ERROR","FILTER_NOT_ALLOWED","FORBIDDEN","INTERNAL_SERVER_ERROR","INVALID_DATA_FORMAT","INVALID_FIELD","INVALID_FIELD_FORMAT","INVALID_FIELD_VALUE","INVALID_FILTERS_SYNTAX","INVALID_FILTER_VALUE","INVALID_INCLUDE","INVALID_LINKS_OBJECT","INVALID_PAGE_OBJECT","INVALID_PAGE_VALUE","INVALID_RESOURCE","INVALID_RESOURCE_ID","INVALID_SORT_CRITERIA","INVALID_TOKEN","KEY_NOT_INCLUDED_IN_URL","KEY_ORDER_MISMATCH","LOCKED","NOT_ACCEPTABLE","PARAM_MISSING","PARAM_NOT_ALLOWED","RECORD_NOT_FOUND","RECORD_NOT_FOUND","RELATION_EXISTS","SAVE_FAILED","TYPE_MISMATCH","UNAUTHORIZED","UNSUPPORTED_MEDIA_TYPE","VALIDATION_ERROR"];export const REType=["gift_cards","line_items","orders","prices","sku_options","variant"],BaseErrorObject=PropTypes.shape({code:PropTypes.oneOf(CEType).isRequired,message:PropTypes.string.isRequired,resource:PropTypes.oneOf(REType),field:PropTypes.string,id:PropTypes.string}),ErrorPropTypes={resource:PropTypes.oneOf(["billing_address","gift_cards","line_items","orders","payment_methods","prices","shipping_address","customer_address","sku_options","variant","shipments"]).isRequired,children:PropTypes.func,field:PropTypes.string};
1
+ export{};
@@ -0,0 +1 @@
1
+ export type DefaultChildrenType = JSX.Element[] | JSX.Element | null;
@@ -0,0 +1 @@
1
+ export{};
@@ -1,4 +1,4 @@
1
- import { Dispatch, ForwardedRef, ReactNode, Ref } from 'react';
1
+ import { Dispatch, ForwardedRef, Ref } from 'react';
2
2
  import PropTypes, { InferProps } from 'prop-types';
3
3
  import { BaseError } from './errors';
4
4
  export declare const BC: {
@@ -39,13 +39,6 @@ export interface BaseSelectComponentProps {
39
39
  name: string;
40
40
  onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
41
41
  }
42
- export declare const BaseInputComponentPropTypes: {
43
- children: PropTypes.Requireable<(...args: any[]) => any>;
44
- name: PropTypes.Validator<string>;
45
- type: PropTypes.Validator<NonNullable<BaseInputType>>;
46
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
47
- placeholder: PropTypes.Requireable<string>;
48
- };
49
42
  type BaseInputChildrenComponentProps = Omit<BaseInputComponentProps, 'children'> & {
50
43
  handleChange: (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
51
44
  parentRef: ForwardedRef<any>;
@@ -57,13 +50,11 @@ export interface BaseInputComponentProps {
57
50
  onChange?: (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
58
51
  placeholder?: string;
59
52
  }
60
- export type LineItemType = 'gift_cards' | 'payment_methods' | 'promotions' | 'shipments' | 'skus' | 'bundles' | 'adjustments';
61
53
  export type GiftCardInputName = 'balanceCents' | 'balanceMaxCents' | 'singleUse' | 'rechargeable' | 'imageUrl' | 'expiresAt' | 'referenceOrigin' | 'email' | 'firstName' | 'lastName' | 'reference';
62
- export type AddressInputName = 'billing_address_city' | 'billing_address_company' | 'billing_address_first_name' | 'billing_address_email' | 'billing_address_last_name' | 'billing_address_line_1' | 'billing_address_line_2' | 'billing_address_phone' | 'billing_address_state_code' | 'billing_address_zip_code' | 'billing_address_billing_info' | 'billing_address_save_to_customer_book' | 'customer_address_city' | 'customer_address_company' | 'customer_address_first_name' | 'customer_address_email' | 'customer_address_last_name' | 'customer_address_line_1' | 'customer_address_line_2' | 'customer_address_phone' | 'customer_address_state_code' | 'customer_address_zip_code' | 'customer_address_billing_info' | 'shipping_address_city' | 'shipping_address_company' | 'shipping_address_email' | 'shipping_address_first_name' | 'shipping_address_last_name' | 'shipping_address_line_1' | 'shipping_address_line_2' | 'shipping_address_phone' | 'shipping_address_state_code' | 'shipping_address_zip_code' | 'shipping_address_save_to_customer_book';
63
- export type AddressCountrySelectName = 'billing_address_country_code' | 'shipping_address_country_code' | 'customer_address_country_code';
64
- export type AddressStateSelectName = 'billing_address_state_code' | 'shipping_address_state_code' | 'customer_address_state_code';
65
- export type BaseInputType = 'checkbox' | 'date' | 'email' | 'number' | 'tel' | 'text' | 'textarea';
66
- export type LoaderType = string | ReactNode;
54
+ export type AddressInputName = 'billing_address_city' | 'billing_address_company' | 'billing_address_first_name' | 'billing_address_email' | 'billing_address_last_name' | 'billing_address_line_1' | 'billing_address_line_2' | 'billing_address_phone' | 'billing_address_state_code' | 'billing_address_zip_code' | 'billing_address_billing_info' | 'billing_address_save_to_customer_book' | 'shipping_address_city' | 'shipping_address_company' | 'shipping_address_email' | 'shipping_address_first_name' | 'shipping_address_last_name' | 'shipping_address_line_1' | 'shipping_address_line_2' | 'shipping_address_phone' | 'shipping_address_state_code' | 'shipping_address_zip_code' | 'shipping_address_save_to_customer_book';
55
+ export type AddressCountrySelectName = 'billing_address_country_code' | 'shipping_address_country_code';
56
+ export type AddressStateSelectName = 'billing_address_state_code' | 'shipping_address_state_code';
57
+ export type LoaderType = string | JSX.Element;
67
58
  export declare const BMObject: PropTypes.Requireable<{
68
59
  [x: string]: string | null | undefined;
69
60
  }>;
@@ -1 +1 @@
1
- import PropTypes from"prop-types";export const BC={id:PropTypes.string,className:PropTypes.string,style:PropTypes.object,name:PropTypes.string},PTLoader=PropTypes.oneOfType([PropTypes.element,PropTypes.string]),BaseSelectComponentPropTypes={children:PropTypes.func,options:PropTypes.arrayOf(PropTypes.shape({label:PropTypes.string.isRequired,value:PropTypes.oneOfType([PropTypes.string,PropTypes.number]).isRequired,selected:PropTypes.bool}).isRequired).isRequired,placeholder:PropTypes.shape({label:PropTypes.string.isRequired,value:PropTypes.oneOfType([PropTypes.string,PropTypes.number]).isRequired}),value:PropTypes.string,name:PropTypes.string.isRequired},BaseInputComponentPropTypes={children:PropTypes.func,name:PropTypes.string.isRequired,type:PropTypes.oneOf(["text","email","number","date","checkbox","textarea"]).isRequired,onChange:PropTypes.func,placeholder:PropTypes.string},BMObject=PropTypes.objectOf(PropTypes.string),baseOrderPricePropTypes={base:PropTypes.string.isRequired,type:PropTypes.string.isRequired,children:PropTypes.func,format:PropTypes.oneOf(["formatted","cents","float"]),...BC},baseOrderComponentPricePropTypes={children:baseOrderPricePropTypes.children,format:baseOrderPricePropTypes.format,...BC};
1
+ import PropTypes from"prop-types";export const BC={id:PropTypes.string,className:PropTypes.string,style:PropTypes.object,name:PropTypes.string},PTLoader=PropTypes.oneOfType([PropTypes.element,PropTypes.string]),BaseSelectComponentPropTypes={children:PropTypes.func,options:PropTypes.arrayOf(PropTypes.shape({label:PropTypes.string.isRequired,value:PropTypes.oneOfType([PropTypes.string,PropTypes.number]).isRequired,selected:PropTypes.bool}).isRequired).isRequired,placeholder:PropTypes.shape({label:PropTypes.string.isRequired,value:PropTypes.oneOfType([PropTypes.string,PropTypes.number]).isRequired}),value:PropTypes.string,name:PropTypes.string.isRequired},BMObject=PropTypes.objectOf(PropTypes.string),baseOrderPricePropTypes={base:PropTypes.string.isRequired,type:PropTypes.string.isRequired,children:PropTypes.func,format:PropTypes.oneOf(["formatted","cents","float"]),...BC},baseOrderComponentPricePropTypes={children:baseOrderPricePropTypes.children,format:baseOrderPricePropTypes.format,...BC};
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
1
+ import { DefaultChildrenType } from "../typings/globals";
2
2
  interface Props<T> {
3
- children: JSX.Element | JSX.Element[];
3
+ children: DefaultChildrenType;
4
4
  filterBy: T[];
5
5
  componentName: string;
6
6
  }
7
- export default function filterChildren<T = string>({ children, filterBy, componentName }: Props<T>): JSX.Element | JSX.Element[];
7
+ export default function filterChildren<T = string>({ children, filterBy, componentName }: Props<T>): JSX.Element | JSX.Element[] | null;
8
8
  export {};
@@ -1 +1 @@
1
- export default function filterChildren({children,filterBy,componentName}){if(Array.isArray(children)?children.filter(child=>typeof child.type=="string").length>0:typeof children.type=="string")throw new Error(`Only library components are allowed into <${componentName}/>`);return Array.isArray(children)?children.filter(child=>filterBy.includes(child.type.displayName)):children}
1
+ export default function filterChildren({children,filterBy,componentName}){if(Array.isArray(children)?children.filter(child=>typeof child.type=="string").length>0:typeof children?.type=="string")throw new Error(`Only library components are allowed into <${componentName}/>`);return Array.isArray(children)?children.filter(child=>filterBy.includes(child.type.displayName)):children}
@@ -1,6 +1,7 @@
1
- import { BaseError, ResourceErrorType } from '../typings/errors';
1
+ import { TResourceError } from '../components/errors/Errors';
2
+ import { BaseError } from '../typings/errors';
2
3
  import { Dispatch } from 'react';
3
- export default function getErrors(error: any, resource: ResourceErrorType, field?: string): BaseError[];
4
+ export default function getErrors(error: any, resource: TResourceError, field?: string): BaseError[];
4
5
  type SetErrorsArgs<D> = {
5
6
  currentErrors?: BaseError[];
6
7
  newErrors?: BaseError[];
@@ -1,6 +1,6 @@
1
+ import type { TLineItem } from '../components/line_items/LineItem';
1
2
  import type { LineItem } from '@commercelayer/sdk';
2
- import { LineItemType } from '../typings/index';
3
- export type TypeAccepted = Extract<LineItemType, 'skus' | 'gift_cards' | 'bundles' | 'adjustments'>;
3
+ export type TypeAccepted = Extract<TLineItem, 'skus' | 'gift_cards' | 'bundles' | 'adjustments'>;
4
4
  interface Args {
5
5
  lineItems: LineItem[];
6
6
  quantity?: number;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { LoaderType } from '../typings/index';
3
- export default function getLoaderComponent(Loader: LoaderType): JSX.Element;
2
+ export default function getLoaderComponent(loader: LoaderType): JSX.Element;
@@ -1 +1 @@
1
- import{Fragment as _Fragment,jsx as _jsx}from"react/jsx-runtime";export default function getLoaderComponent(Loader){return _jsx(_Fragment,{children:Loader})}
1
+ import{Fragment as _Fragment,jsx as _jsx}from"react/jsx-runtime";export default function getLoaderComponent(loader){return _jsx(_Fragment,{children:loader})}
@@ -0,0 +1,15 @@
1
+ import type { PaypalConfig } from '../components/payment_source/PaypalPayment';
2
+ import { type PaymentMethodConfig, type PaymentResource } from '../reducers/PaymentMethodReducer';
3
+ import { ExternalPayment } from '@commercelayer/sdk';
4
+ import { StringReplace } from './replace';
5
+ import { SnakeToCamelCase } from './snakeToCamelCase';
6
+ interface Params<R extends PaymentResource, C extends PaymentMethodConfig> {
7
+ resource: R;
8
+ config: C;
9
+ keys: R[];
10
+ }
11
+ export type ResourceKeys<K extends PaymentResource> = SnakeToCamelCase<StringReplace<StringReplace<K, 'payments', 'payment'>, 'transfers', 'transfer'>>;
12
+ export declare function getPaymentAttributes<R extends PaymentResource = PaymentResource, C extends PaymentMethodConfig = PaymentMethodConfig>(params: Params<R, C>): Pick<C, ResourceKeys<R>> | undefined;
13
+ export declare function getPaypalAttributes(paymentResource: PaymentResource, config: PaymentMethodConfig): Pick<PaypalConfig, 'return_url' | 'cancel_url'> | undefined;
14
+ export declare function getExternalPaymentAttributes(paymentResource: PaymentResource, config: PaymentMethodConfig): Pick<ExternalPayment, 'payment_source_token'> | undefined;
15
+ export {};
@@ -0,0 +1 @@
1
+ import{getPaymentConfig}from"../reducers/PaymentMethodReducer";import{pick}from"./pick";import{replace}from"./replace";import{snakeToCamelCase}from"./snakeToCamelCase";export function getPaymentAttributes(params){const{resource,config,keys}=params,attributes=getPaymentConfig(resource,config),keysCamelCase=keys.map(key=>{const k=replace(replace(key,"payments","payment"),"transfers","transfer");return snakeToCamelCase(k)}),currentResource=snakeToCamelCase(replace(replace(resource,"payments","payment"),"transfers","transfer"));return attributes!=null&&currentResource in attributes?pick(attributes,keysCamelCase):void 0}export function getPaypalAttributes(paymentResource,config){const attributes=getPaymentAttributes({resource:paymentResource,config,keys:["paypal_payments"]});return attributes?.paypalPayment!=null&&"paypalPayment"in attributes?pick(attributes?.paypalPayment,["return_url","cancel_url"]):void 0}export function getExternalPaymentAttributes(paymentResource,config){const attributes=getPaymentAttributes({resource:paymentResource,config,keys:["external_payments"]});return attributes?.externalPayment!=null&&"externalPayment"in attributes?pick(attributes?.externalPayment,["payment_source_token"]):void 0}