@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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.orderInitialState=exports.removeGiftCardOrCouponCode=exports.setGiftCardOrCouponCode=exports.saveAddressToCustomerAddressBook=exports.setOrderErrors=exports.unsetOrderState=exports.addToCart=exports.addResourceToInclude=exports.setOrder=exports.updateOrder=exports.getApiOrder=exports.createOrder=void 0;const tslib_1=require("tslib"),localStorage_1=require("../utils/localStorage"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk")),getErrors_1=tslib_1.__importStar(require("../utils/getErrors")),organization_1=tslib_1.__importDefault(require("../utils/organization")),actionType=["setLoading","setOrderId","setOrder","setSingleQuantity","setCurrentSkuCodes","setCurrentSkuPrices","setErrors","setCurrentItem","setSaveAddressToCustomerAddressBook","setIncludesResource"],createOrder=async params=>{if(params){const{persistKey,state,dispatch,config,orderMetadata:metadata,orderAttributes={},setLocalOrder}=params;if(state?.orderId)return state.orderId;const sdk=(0,getSdk_1.default)(config);try{const o=await sdk?.orders.create({metadata,...orderAttributes});return dispatch&&dispatch({type:"setOrderId",payload:{orderId:o?.id}}),persistKey&&setLocalOrder&&setLocalOrder(persistKey,o.id),o.id}catch(error){const errors=(0,getErrors_1.default)(error,"orders");console.error("Create order",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors,dispatch})}}return""};exports.createOrder=createOrder;const getApiOrder=async params=>{const{id,dispatch,config,clearWhenPlaced,persistKey,deleteLocalOrder,state}=params,sdk=(0,getSdk_1.default)(config);try{const options={};state?.include&&state.include.length>0&&(options.include=state.include),console.log("includes",options);const order=await sdk.orders.retrieve(id,options);return console.log("order",order),clearWhenPlaced&&order.editable===!1?(persistKey&&deleteLocalOrder&&deleteLocalOrder(persistKey),dispatch&&dispatch({type:"setOrder",payload:{order:void 0,orderId:""}})):dispatch&&dispatch({type:"setOrder",payload:{order,orderId:order.id}}),order}catch(error){const errors=(0,getErrors_1.default)(error,"orders");console.error("Retrieve order",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors,dispatch});return}};exports.getApiOrder=getApiOrder;async function updateOrder({id,attributes,dispatch,config,include,state}){const sdk=(0,getSdk_1.default)(config);try{const resource={...attributes,id};await sdk.orders.update(resource,{include});const order=await(0,exports.getApiOrder)({id,config,dispatch,state});return dispatch&&order&&dispatch({type:"setOrder",payload:{order}}),{success:!0}}catch(error){const errors=(0,getErrors_1.default)(error,"orders");return dispatch&&(setOrderErrors({errors,dispatch}),dispatch({type:"setErrors",payload:{errors}})),{success:!1,error}}}exports.updateOrder=updateOrder;const setOrder=(order,dispatch)=>{dispatch&&dispatch({type:"setOrder",payload:{order}})};exports.setOrder=setOrder;function addResourceToInclude({resourcesIncluded=[],dispatch,newResource,newResourceLoaded,resourceIncludedLoaded}){const payload={include:void 0,includeLoaded:void 0};if(newResource){const resources=typeof newResource=="string"?[newResource]:newResource;payload.include=[...new Set([...resourcesIncluded,...resources])],resources.forEach(resource=>{const includeLoaded={...payload.includeLoaded,[resource]:!0};payload.includeLoaded=includeLoaded})}else delete payload.include;const payloadIncludeLoaded={...resourceIncludedLoaded,...newResourceLoaded,...payload.includeLoaded&&payload.includeLoaded};payload.includeLoaded=payloadIncludeLoaded,console.log(payload);debugger;dispatch&&dispatch({type:"setIncludesResource",payload:{...payload,withoutIncludes:!1}})}exports.addResourceToInclude=addResourceToInclude;async function addToCart(params){const{skuCode,bundleCode,quantity,config,dispatch,lineItem,state,errors=[],buyNowMode,checkoutUrl,lineItemOption}=params;try{if(config){const sdk=(0,getSdk_1.default)(config),id=await(0,exports.createOrder)(params);if(id){const order=sdk.orders.relationship(id),name=lineItem?.name,imageUrl=lineItem?.imageUrl;if(buyNowMode)if(state?.order?.line_items)await Promise.all(state?.order?.line_items.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}));else{const{line_items:lineItems}=await sdk.orders.retrieve(id,{fields:["line_items"],include:["line_items"]});lineItems&&lineItems?.length>0&&await Promise.all(lineItems.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}))}const attrs={order,sku_code:skuCode,name,image_url:imageUrl,quantity:quantity??1,_update_quantity:!0,bundle_code:bundleCode},newLineItem=await sdk.line_items.create(attrs);if(lineItemOption!=null){const{skuOptionId,options,quantity:quantity2}=lineItemOption,skuOption=sdk.sku_options.relationship(skuOptionId),lineItemRel=sdk.line_items.relationship(newLineItem.id),lineItemOptionsAttributes={quantity:quantity2??1,options,sku_option:skuOption,line_item:lineItemRel};await sdk.line_item_options.create(lineItemOptionsAttributes),await(0,exports.getApiOrder)({id,...params})}else await(0,exports.getApiOrder)({id,...params,state});if(!(0,isEmpty_1.default)(errors)&&dispatch&&dispatch({type:"setErrors",payload:{errors:[]}}),buyNowMode){const{organization}=(0,organization_1.default)(config.endpoint??""),params2=`${id}?accessToken=${config.accessToken??""}`,redirectUrl=checkoutUrl?`${checkoutUrl}/${params2}`:`https://${organization}.checkout.commercelayer.app/${params2}`;location.href=redirectUrl}return{success:!0,orderId:id}}}return{success:!1}}catch(error){const errors2=(0,getErrors_1.default)(error,"orders");return console.error("Add to cart",errors2),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors2,dispatch}),{success:!1}}}exports.addToCart=addToCart;const unsetOrderState=dispatch=>{dispatch({type:"setOrderId",payload:{orderId:""}}),dispatch({type:"setOrder",payload:{order:void 0}})};exports.unsetOrderState=unsetOrderState;function setOrderErrors({dispatch,errors=[]}){return dispatch&&dispatch({type:"setErrors",payload:{errors}}),{success:!1}}exports.setOrderErrors=setOrderErrors;const saveAddressToCustomerAddressBook=({type,value,dispatch})=>{const k=`_save_${type}_to_customer_address_book`,v=`${value.toString()}`;(0,localStorage_1.setCustomerOrderParam)(k,v),dispatch&&dispatch({type:"setSaveAddressToCustomerAddressBook",payload:{[k]:v}})};exports.saveAddressToCustomerAddressBook=saveAddressToCustomerAddressBook;const setGiftCardOrCouponCode=async({code,codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&code&&dispatch){const attributes={[codeType]:code},{success,error}=await updateOrder({id:order.id,attributes,config,include,dispatch,state});if(!success)throw error;return dispatch({type:"setErrors",payload:{errors:[]}}),{success}}return{success:!1}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",codeType);return dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}};exports.setGiftCardOrCouponCode=setGiftCardOrCouponCode;const removeGiftCardOrCouponCode=async({codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&dispatch){const attributes={[codeType]:""};return await updateOrder({id:order.id,attributes,config,include,dispatch,state}),dispatch({type:"setErrors",payload:{errors:[]}}),{success:!0}}return{success:!1}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",codeType);return console.error("Remove gift card o coupon code",errors),dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}};exports.removeGiftCardOrCouponCode=removeGiftCardOrCouponCode,exports.orderInitialState={loading:!0,orderId:"",order:void 0,errors:[],include:void 0,withoutIncludes:!0};const orderReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,actionType);exports.default=orderReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.orderInitialState=exports.removeGiftCardOrCouponCode=exports.setGiftCardOrCouponCode=exports.saveAddressToCustomerAddressBook=exports.setOrderErrors=exports.unsetOrderState=exports.addToCart=exports.addResourceToInclude=exports.setOrder=exports.updateOrder=exports.getApiOrder=exports.createOrder=void 0;const tslib_1=require("tslib"),localStorage_1=require("../utils/localStorage"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk")),getErrors_1=tslib_1.__importStar(require("../utils/getErrors")),organization_1=tslib_1.__importDefault(require("../utils/organization")),actionType=["setLoading","setOrderId","setOrder","setSingleQuantity","setCurrentSkuCodes","setCurrentSkuPrices","setErrors","setCurrentItem","setSaveAddressToCustomerAddressBook","setIncludesResource"],createOrder=async params=>{if(params){const{persistKey,state,dispatch,config,orderMetadata:metadata,orderAttributes={},setLocalOrder}=params;if(state?.orderId)return state.orderId;const sdk=(0,getSdk_1.default)(config);try{const o=await sdk?.orders.create({metadata,...orderAttributes});return dispatch&&dispatch({type:"setOrderId",payload:{orderId:o?.id}}),persistKey&&setLocalOrder&&setLocalOrder(persistKey,o.id),o.id}catch(error){const errors=(0,getErrors_1.default)(error,"orders");console.error("Create order",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors,dispatch})}}return""};exports.createOrder=createOrder;const getApiOrder=async params=>{const{id,dispatch,config,clearWhenPlaced,persistKey,deleteLocalOrder,state}=params,sdk=(0,getSdk_1.default)(config);try{const options={};state?.include&&state.include.length>0&&(options.include=state.include);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=(0,getErrors_1.default)(error,"orders");console.error("Retrieve order",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors,dispatch});return}};exports.getApiOrder=getApiOrder;async function updateOrder({id,attributes,dispatch,config,include,state}){const sdk=(0,getSdk_1.default)(config);try{const resource={...attributes,id};await sdk.orders.update(resource,{include});const order=await(0,exports.getApiOrder)({id,config,dispatch,state});return dispatch&&order&&dispatch({type:"setOrder",payload:{order}}),{success:!0}}catch(error){const errors=(0,getErrors_1.default)(error,"orders");return dispatch&&(setOrderErrors({errors,dispatch}),dispatch({type:"setErrors",payload:{errors}})),{success:!1,error}}}exports.updateOrder=updateOrder;const setOrder=(order,dispatch)=>{dispatch&&dispatch({type:"setOrder",payload:{order}})};exports.setOrder=setOrder;function addResourceToInclude({resourcesIncluded=[],dispatch,newResource,newResourceLoaded,resourceIncludedLoaded}){const payload={include:void 0,includeLoaded:void 0};if(newResource){const resources=typeof newResource=="string"?[newResource]:newResource;payload.include=[...new Set([...resourcesIncluded,...resources])],resources.forEach(resource=>{const includeLoaded={...payload.includeLoaded,[resource]:!0};payload.includeLoaded=includeLoaded})}else delete payload.include;const payloadIncludeLoaded={...resourceIncludedLoaded,...newResourceLoaded,...payload.includeLoaded&&payload.includeLoaded};payload.includeLoaded=payloadIncludeLoaded,dispatch&&dispatch({type:"setIncludesResource",payload:{...payload,withoutIncludes:!1}})}exports.addResourceToInclude=addResourceToInclude;async function addToCart(params){const{skuCode,bundleCode,quantity,config,dispatch,lineItem,state,errors=[],buyNowMode,checkoutUrl,lineItemOption}=params;try{if(config){const sdk=(0,getSdk_1.default)(config),id=await(0,exports.createOrder)(params);if(id){const order=sdk.orders.relationship(id),name=lineItem?.name,imageUrl=lineItem?.imageUrl;if(buyNowMode)if(state?.order?.line_items)await Promise.all(state?.order?.line_items.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}));else{const{line_items:lineItems}=await sdk.orders.retrieve(id,{fields:["line_items"],include:["line_items"]});lineItems&&lineItems?.length>0&&await Promise.all(lineItems.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}))}const attrs={order,sku_code:skuCode,name,image_url:imageUrl,quantity:quantity??1,_update_quantity:!0,bundle_code:bundleCode},newLineItem=await sdk.line_items.create(attrs);if(lineItemOption!=null){const{skuOptionId,options,quantity:quantity2}=lineItemOption,skuOption=sdk.sku_options.relationship(skuOptionId),lineItemRel=sdk.line_items.relationship(newLineItem.id),lineItemOptionsAttributes={quantity:quantity2??1,options,sku_option:skuOption,line_item:lineItemRel};await sdk.line_item_options.create(lineItemOptionsAttributes),await(0,exports.getApiOrder)({id,...params})}else await(0,exports.getApiOrder)({id,...params,state});if(!(0,isEmpty_1.default)(errors)&&dispatch&&dispatch({type:"setErrors",payload:{errors:[]}}),buyNowMode){const{organization}=(0,organization_1.default)(config.endpoint??""),params2=`${id}?accessToken=${config.accessToken??""}`,redirectUrl=checkoutUrl?`${checkoutUrl}/${params2}`:`https://${organization}.checkout.commercelayer.app/${params2}`;location.href=redirectUrl}return{success:!0,orderId:id}}}return{success:!1}}catch(error){const errors2=(0,getErrors_1.default)(error,"orders");return console.error("Add to cart",errors2),dispatch&&(0,getErrors_1.setErrors)({currentErrors:state?.errors,newErrors:errors2,dispatch}),{success:!1}}}exports.addToCart=addToCart;const unsetOrderState=dispatch=>{dispatch({type:"setOrderId",payload:{orderId:""}}),dispatch({type:"setOrder",payload:{order:void 0}})};exports.unsetOrderState=unsetOrderState;function setOrderErrors({dispatch,errors=[]}){return dispatch&&dispatch({type:"setErrors",payload:{errors}}),{success:!1}}exports.setOrderErrors=setOrderErrors;const saveAddressToCustomerAddressBook=({type,value,dispatch})=>{const k=`_save_${type}_to_customer_address_book`,v=`${value.toString()}`;(0,localStorage_1.setCustomerOrderParam)(k,v),dispatch&&dispatch({type:"setSaveAddressToCustomerAddressBook",payload:{[k]:v}})};exports.saveAddressToCustomerAddressBook=saveAddressToCustomerAddressBook;const setGiftCardOrCouponCode=async({code,codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&code&&dispatch){const attributes={[codeType]:code},{success,error}=await updateOrder({id:order.id,attributes,config,include,dispatch,state});if(!success)throw error;return dispatch({type:"setErrors",payload:{errors:[]}}),{success}}return{success:!1}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",codeType);return dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}};exports.setGiftCardOrCouponCode=setGiftCardOrCouponCode;const removeGiftCardOrCouponCode=async({codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&dispatch){const attributes={[codeType]:""};return await updateOrder({id:order.id,attributes,config,include,dispatch,state}),dispatch({type:"setErrors",payload:{errors:[]}}),{success:!0}}return{success:!1}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",codeType);return console.error("Remove gift card o coupon code",errors),dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}};exports.removeGiftCardOrCouponCode=removeGiftCardOrCouponCode,exports.orderInitialState={loading:!0,orderId:"",order:void 0,errors:[],include:void 0,withoutIncludes:!0};const orderReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,actionType);exports.default=orderReducer;
@@ -9,6 +9,8 @@ import { BaseError } from '../typings/errors';
9
9
  import { Order, PaymentMethod, StripePayment, WireTransfer, AdyenPayment, BraintreePayment, CheckoutComPayment, ExternalPayment, PaypalPayment, KlarnaPayment } from '@commercelayer/sdk';
10
10
  import { Dispatch, MutableRefObject } from 'react';
11
11
  import { CheckoutComConfig } from '../components/payment_source/CheckoutComPayment';
12
+ import { ExternalPaymentConfig } from '../components/payment_source/ExternalPayment';
13
+ import { ResourceKeys } from '../utils/getPaymentAttributes';
12
14
  export type PaymentSourceType = AdyenPayment | BraintreePayment | CheckoutComPayment | ExternalPayment | PaypalPayment | StripePayment | WireTransfer;
13
15
  interface Card {
14
16
  type: string;
@@ -135,16 +137,17 @@ export type DestroyPaymentSource = (args: {
135
137
  }) => Promise<void>;
136
138
  export declare const destroyPaymentSource: DestroyPaymentSource;
137
139
  export interface PaymentMethodConfig {
138
- stripePayment?: StripeConfig;
139
- braintreePayment?: BraintreeConfig;
140
- wireTransfer?: Partial<WireTransferConfig>;
141
- paypalPayment?: PaypalConfig;
142
140
  adyenPayment?: AdyenPaymentConfig;
141
+ braintreePayment?: BraintreeConfig;
143
142
  checkoutComPayment?: CheckoutComConfig;
143
+ externalPayment?: ExternalPaymentConfig;
144
144
  klarnaPayment?: Pick<AdyenPaymentConfig, 'placeOrderCallback'> & Pick<StripeConfig, 'containerClassName'>;
145
+ paypalPayment?: PaypalConfig;
146
+ stripePayment?: StripeConfig;
147
+ wireTransfer?: Partial<WireTransferConfig>;
145
148
  }
146
149
  type SetPaymentMethodConfig = (config: PaymentMethodConfig, dispatch: Dispatch<PaymentMethodAction>) => void;
147
150
  export declare const setPaymentMethodConfig: SetPaymentMethodConfig;
148
- export declare function getPaymentConfig<K extends PaymentResourceKey>(paymentResource: PaymentResource, config: PaymentMethodConfig): PaymentMethodConfig[K];
151
+ export declare function getPaymentConfig<R extends PaymentResource = PaymentResource, K extends PaymentMethodConfig = PaymentMethodConfig>(paymentResource: R, config: K): Pick<K, ResourceKeys<R>>;
149
152
  declare const paymentMethodReducer: (state: PaymentMethodState, reducer: PaymentMethodAction) => PaymentMethodState;
150
153
  export default paymentMethodReducer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPaymentConfig=exports.setPaymentMethodConfig=exports.destroyPaymentSource=exports.updatePaymentSource=exports.setPaymentSource=exports.setPaymentMethod=exports.getPaymentMethods=exports.setPaymentMethodErrors=exports.paymentMethodInitialState=exports.setPaymentRef=exports.setLoading=void 0;const tslib_1=require("tslib"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),getErrors_1=tslib_1.__importStar(require("../utils/getErrors")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk")),camelCase_1=tslib_1.__importDefault(require("lodash/camelCase")),has_1=tslib_1.__importDefault(require("lodash/has")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty"));function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}exports.setLoading=setLoading;const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})};exports.setPaymentRef=setPaymentRef,exports.paymentMethodInitialState={errors:[],paymentMethods:void 0};const setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})};exports.setPaymentMethodErrors=setPaymentMethodErrors;const getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})};exports.getPaymentMethods=getPaymentMethods;const setPaymentMethod=async({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource})=>{try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:(0,getSdk_1.default)(config).payment_methods.relationship(paymentMethodId)};updateOrder&&await updateOrder({id:order.id,attributes}),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",paymentResource);console.error("Set payment method",errors)}};exports.setPaymentMethod=setPaymentMethod;const setPaymentSource=async({config,dispatch,getOrder,attributes,order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors})=>{try{if(config&&order){let paymentSource;const sdk=(0,getSdk_1.default)(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=attributes!=null?await sdk[paymentResource].update(attrs):sdk[paymentResource].retrieve(paymentSourceId)}else{const attrs={...attributes,order:sdk.orders.relationship(order.id)};paymentSource=await sdk[paymentResource].create(attrs)}return getOrder&&await getOrder(order.id),dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource,errors:[]}}),paymentSource}}}catch(error){const errors=(0,getErrors_1.default)(error,"payment_methods",paymentResource);console.error("Set payment source:",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors,newErrors:errors,dispatch})}};exports.setPaymentSource=setPaymentSource;const updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await(0,getSdk_1.default)(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}};exports.updatePaymentSource=updatePaymentSource;const destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})};exports.destroyPaymentSource=destroyPaymentSource;const setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};exports.setPaymentMethodConfig=setPaymentMethodConfig;function getPaymentConfig(paymentResource,config){const resource=(0,camelCase_1.default)(paymentResource).replace("Payments","Payment").replace("Transfers","Transfer");return!(0,isEmpty_1.default)(config)&&(0,has_1.default)(config,resource)?config[resource]:void 0}exports.getPaymentConfig=getPaymentConfig;const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,type);exports.default=paymentMethodReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPaymentConfig=exports.setPaymentMethodConfig=exports.destroyPaymentSource=exports.updatePaymentSource=exports.setPaymentSource=exports.setPaymentMethod=exports.getPaymentMethods=exports.setPaymentMethodErrors=exports.paymentMethodInitialState=exports.setPaymentRef=exports.setLoading=void 0;const tslib_1=require("tslib"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),getErrors_1=tslib_1.__importStar(require("../utils/getErrors")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk")),snakeToCamelCase_1=require("../utils/snakeToCamelCase"),replace_1=require("../utils/replace"),pick_1=require("../utils/pick");function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}exports.setLoading=setLoading;const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})};exports.setPaymentRef=setPaymentRef,exports.paymentMethodInitialState={errors:[],paymentMethods:void 0};const setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})};exports.setPaymentMethodErrors=setPaymentMethodErrors;const getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})};exports.getPaymentMethods=getPaymentMethods;const setPaymentMethod=async({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource})=>{try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:(0,getSdk_1.default)(config).payment_methods.relationship(paymentMethodId)};updateOrder&&await updateOrder({id:order.id,attributes}),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}}catch(error){const errors=(0,getErrors_1.default)(error,"orders",paymentResource);console.error("Set payment method",errors)}};exports.setPaymentMethod=setPaymentMethod;const setPaymentSource=async({config,dispatch,getOrder,attributes,order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors})=>{try{if(config&&order){let paymentSource;const sdk=(0,getSdk_1.default)(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=attributes!=null?await sdk[paymentResource].update(attrs):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=(0,getErrors_1.default)(error,"payment_methods",paymentResource);console.error("Set payment source:",errors),dispatch&&(0,getErrors_1.setErrors)({currentErrors,newErrors:errors,dispatch})}};exports.setPaymentSource=setPaymentSource;const updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await(0,getSdk_1.default)(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}};exports.updatePaymentSource=updatePaymentSource;const destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})};exports.destroyPaymentSource=destroyPaymentSource;const setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};exports.setPaymentMethodConfig=setPaymentMethodConfig;function getPaymentConfig(paymentResource,config){const resourceKeys=(0,replace_1.replace)((0,replace_1.replace)(paymentResource,"payments","payment"),"transfers","transfer"),resource=(0,snakeToCamelCase_1.snakeToCamelCase)(resourceKeys);return(0,pick_1.pick)(config,[resource])}exports.getPaymentConfig=getPaymentConfig;const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,type);exports.default=paymentMethodReducer;
@@ -1,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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ErrorPropTypes=exports.BaseErrorObject=exports.REType=void 0;const tslib_1=require("tslib"),prop_types_1=tslib_1.__importDefault(require("prop-types")),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"];exports.REType=["gift_cards","line_items","orders","prices","sku_options","variant"],exports.BaseErrorObject=prop_types_1.default.shape({code:prop_types_1.default.oneOf(CEType).isRequired,message:prop_types_1.default.string.isRequired,resource:prop_types_1.default.oneOf(exports.REType),field:prop_types_1.default.string,id:prop_types_1.default.string}),exports.ErrorPropTypes={resource:prop_types_1.default.oneOf(["billing_address","gift_cards","line_items","orders","payment_methods","prices","shipping_address","customer_address","sku_options","variant","shipments"]).isRequired,children:prop_types_1.default.func,field:prop_types_1.default.string};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1 @@
1
+ export type DefaultChildrenType = JSX.Element[] | JSX.Element | null;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.baseOrderComponentPricePropTypes=exports.baseOrderPricePropTypes=exports.BMObject=exports.BaseInputComponentPropTypes=exports.BaseSelectComponentPropTypes=exports.PTLoader=exports.BC=void 0;const tslib_1=require("tslib"),prop_types_1=tslib_1.__importDefault(require("prop-types"));exports.BC={id:prop_types_1.default.string,className:prop_types_1.default.string,style:prop_types_1.default.object,name:prop_types_1.default.string},exports.PTLoader=prop_types_1.default.oneOfType([prop_types_1.default.element,prop_types_1.default.string]),exports.BaseSelectComponentPropTypes={children:prop_types_1.default.func,options:prop_types_1.default.arrayOf(prop_types_1.default.shape({label:prop_types_1.default.string.isRequired,value:prop_types_1.default.oneOfType([prop_types_1.default.string,prop_types_1.default.number]).isRequired,selected:prop_types_1.default.bool}).isRequired).isRequired,placeholder:prop_types_1.default.shape({label:prop_types_1.default.string.isRequired,value:prop_types_1.default.oneOfType([prop_types_1.default.string,prop_types_1.default.number]).isRequired}),value:prop_types_1.default.string,name:prop_types_1.default.string.isRequired},exports.BaseInputComponentPropTypes={children:prop_types_1.default.func,name:prop_types_1.default.string.isRequired,type:prop_types_1.default.oneOf(["text","email","number","date","checkbox","textarea"]).isRequired,onChange:prop_types_1.default.func,placeholder:prop_types_1.default.string},exports.BMObject=prop_types_1.default.objectOf(prop_types_1.default.string),exports.baseOrderPricePropTypes={base:prop_types_1.default.string.isRequired,type:prop_types_1.default.string.isRequired,children:prop_types_1.default.func,format:prop_types_1.default.oneOf(["formatted","cents","float"]),...exports.BC},exports.baseOrderComponentPricePropTypes={children:exports.baseOrderPricePropTypes.children,format:exports.baseOrderPricePropTypes.format,...exports.BC};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.baseOrderComponentPricePropTypes=exports.baseOrderPricePropTypes=exports.BMObject=exports.BaseSelectComponentPropTypes=exports.PTLoader=exports.BC=void 0;const tslib_1=require("tslib"),prop_types_1=tslib_1.__importDefault(require("prop-types"));exports.BC={id:prop_types_1.default.string,className:prop_types_1.default.string,style:prop_types_1.default.object,name:prop_types_1.default.string},exports.PTLoader=prop_types_1.default.oneOfType([prop_types_1.default.element,prop_types_1.default.string]),exports.BaseSelectComponentPropTypes={children:prop_types_1.default.func,options:prop_types_1.default.arrayOf(prop_types_1.default.shape({label:prop_types_1.default.string.isRequired,value:prop_types_1.default.oneOfType([prop_types_1.default.string,prop_types_1.default.number]).isRequired,selected:prop_types_1.default.bool}).isRequired).isRequired,placeholder:prop_types_1.default.shape({label:prop_types_1.default.string.isRequired,value:prop_types_1.default.oneOfType([prop_types_1.default.string,prop_types_1.default.number]).isRequired}),value:prop_types_1.default.string,name:prop_types_1.default.string.isRequired},exports.BMObject=prop_types_1.default.objectOf(prop_types_1.default.string),exports.baseOrderPricePropTypes={base:prop_types_1.default.string.isRequired,type:prop_types_1.default.string.isRequired,children:prop_types_1.default.func,format:prop_types_1.default.oneOf(["formatted","cents","float"]),...exports.BC},exports.baseOrderComponentPricePropTypes={children:exports.baseOrderPricePropTypes.children,format:exports.baseOrderPricePropTypes.format,...exports.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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});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}exports.default=filterChildren;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});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}exports.default=filterChildren;
@@ -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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const jsx_runtime_1=require("react/jsx-runtime");function getLoaderComponent(Loader){return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:Loader})}exports.default=getLoaderComponent;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const jsx_runtime_1=require("react/jsx-runtime");function getLoaderComponent(loader){return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:loader})}exports.default=getLoaderComponent;
@@ -0,0 +1,15 @@
1
+ import type { PaypalConfig } from '../components/payment_source/PaypalPayment';
2
+ import { type PaymentMethodConfig, type PaymentResource } from '../reducers/PaymentMethodReducer';
3
+ import { ExternalPayment } from '@commercelayer/sdk';
4
+ import { StringReplace } from './replace';
5
+ import { SnakeToCamelCase } from './snakeToCamelCase';
6
+ interface Params<R extends PaymentResource, C extends PaymentMethodConfig> {
7
+ resource: R;
8
+ config: C;
9
+ keys: R[];
10
+ }
11
+ export type ResourceKeys<K extends PaymentResource> = SnakeToCamelCase<StringReplace<StringReplace<K, 'payments', 'payment'>, 'transfers', 'transfer'>>;
12
+ export declare function getPaymentAttributes<R extends PaymentResource = PaymentResource, C extends PaymentMethodConfig = PaymentMethodConfig>(params: Params<R, C>): Pick<C, ResourceKeys<R>> | undefined;
13
+ export declare function getPaypalAttributes(paymentResource: PaymentResource, config: PaymentMethodConfig): Pick<PaypalConfig, 'return_url' | 'cancel_url'> | undefined;
14
+ export declare function getExternalPaymentAttributes(paymentResource: PaymentResource, config: PaymentMethodConfig): Pick<ExternalPayment, 'payment_source_token'> | undefined;
15
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getExternalPaymentAttributes=exports.getPaypalAttributes=exports.getPaymentAttributes=void 0;const PaymentMethodReducer_1=require("../reducers/PaymentMethodReducer"),pick_1=require("./pick"),replace_1=require("./replace"),snakeToCamelCase_1=require("./snakeToCamelCase");function getPaymentAttributes(params){const{resource,config,keys}=params,attributes=(0,PaymentMethodReducer_1.getPaymentConfig)(resource,config),keysCamelCase=keys.map(key=>{const k=(0,replace_1.replace)((0,replace_1.replace)(key,"payments","payment"),"transfers","transfer");return(0,snakeToCamelCase_1.snakeToCamelCase)(k)}),currentResource=(0,snakeToCamelCase_1.snakeToCamelCase)((0,replace_1.replace)((0,replace_1.replace)(resource,"payments","payment"),"transfers","transfer"));return attributes!=null&&currentResource in attributes?(0,pick_1.pick)(attributes,keysCamelCase):void 0}exports.getPaymentAttributes=getPaymentAttributes;function getPaypalAttributes(paymentResource,config){const attributes=getPaymentAttributes({resource:paymentResource,config,keys:["paypal_payments"]});return attributes?.paypalPayment!=null&&"paypalPayment"in attributes?(0,pick_1.pick)(attributes?.paypalPayment,["return_url","cancel_url"]):void 0}exports.getPaypalAttributes=getPaypalAttributes;function getExternalPaymentAttributes(paymentResource,config){const attributes=getPaymentAttributes({resource:paymentResource,config,keys:["external_payments"]});return attributes?.externalPayment!=null&&"externalPayment"in attributes?(0,pick_1.pick)(attributes?.externalPayment,["payment_source_token"]):void 0}exports.getExternalPaymentAttributes=getExternalPaymentAttributes;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Price } from '@commercelayer/sdk';
3
2
  import { PTemplateProps } from '../components/utils/PriceTemplate';
4
3
  export declare function getPriceByCode(skuPrices: Price[], code?: string): Price | undefined;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  export declare const sortDescIcon: JSX.Element;
3
2
  export declare const sortAscIcon: JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function pick<T, K extends keyof T>(object: T, keys: K[]): Pick<T, K>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pick=void 0;function pick(object,keys){const result={};for(const key of keys)result[key]=object[key];return result}exports.pick=pick;
@@ -0,0 +1,2 @@
1
+ export type StringReplace<TString extends string, TToReplace extends string, TReplacement extends string> = TString extends `${infer TPrefix}${TToReplace}${infer TSuffix}` ? `${TPrefix}${TReplacement}${StringReplace<TSuffix, TToReplace, TReplacement>}` : TString;
2
+ export declare function replace<V extends string, R extends string, P extends string>(value: V, replace: R, replacement: P): StringReplace<V, R, P>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.replace=void 0;function replace(value,replace2,replacement){return value.replace(replace2,replacement)}exports.replace=replace;
@@ -0,0 +1,5 @@
1
+ export type SnakeToCamelCase<S extends string> = S extends `${infer T}_${infer U}` ? `${Lowercase<T>}${Capitalize<SnakeToCamelCase<U>>}` : S;
2
+ export type SnakeToCamelCaseNested<T> = T extends object ? {
3
+ [K in keyof T as SnakeToCamelCase<K & string>]: SnakeToCamelCaseNested<T[K]>;
4
+ } : T;
5
+ export declare function snakeToCamelCase<S extends string>(value: S): SnakeToCamelCase<S>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.snakeToCamelCase=void 0;function snakeToCamelCase(value){const words=value.toLowerCase().split("_"),first=words[0]??"",firstLetter=words[1]?.[0]?.toUpperCase()??"",second=words[1]?.substring(1)??"";return`${first}${firstLetter}${second}`}exports.snakeToCamelCase=snakeToCamelCase;
@@ -1,13 +1,14 @@
1
1
  import { BaseState } from '../typings/index';
2
- import { ResourceErrorType, BaseError } from '../typings/errors';
2
+ import { BaseError } from '../typings/errors';
3
3
  import { AddressField } from '../reducers/AddressReducer';
4
4
  import { AddressCreate } from '@commercelayer/sdk';
5
5
  import { AddressInputName } from '../typings/index';
6
- export type ValidateFormFields = <R extends string[]>(fields: HTMLFormControlsCollection, required: R, resourceType: ResourceErrorType) => {
6
+ import { TResourceError } from '../components/errors/Errors';
7
+ export type ValidateFormFields = <R extends string[]>(fields: HTMLFormControlsCollection, required: R, resourceType: TResourceError) => {
7
8
  errors: BaseError[];
8
9
  values: BaseState;
9
10
  };
10
- export type ValidateValue = <V extends string | boolean, N extends string, T extends string, B extends ResourceErrorType>(val: V, name: N, type: T, resourceType: B) => BaseError | Record<string, any>;
11
+ export type ValidateValue = <V extends string | boolean, N extends string, T extends string, B extends TResourceError>(val: V, name: N, type: T, resourceType: B) => BaseError | Record<string, any>;
11
12
  export declare const validateValue: ValidateValue;
12
13
  declare const validateFormFields: ValidateFormFields;
13
14
  export type FieldsExist = (address: AddressCreate, schema?: AddressField[]) => boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps } from '../typings/index';
3
2
  type Props = BaseInputComponentProps & JSX.IntrinsicElements['input'] & JSX.IntrinsicElements['textarea'];
4
3
  export declare function MetadataInput(props: Props): JSX.Element;
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
1
  import type { Address as AddressType } from '@commercelayer/sdk';
3
2
  import { AddressCardsTemplateChildren } from '../utils/AddressCardsTemplate';
3
+ import type { DefaultChildrenType } from '../../typings/globals';
4
4
  interface Props extends Omit<JSX.IntrinsicElements['div'], 'children' | 'onSelect'> {
5
- children: JSX.Element[] | JSX.Element | AddressCardsTemplateChildren;
5
+ children: DefaultChildrenType | AddressCardsTemplateChildren;
6
6
  selectedClassName?: string;
7
7
  disabledClassName?: string;
8
8
  onSelect?: (address: AddressType) => void;
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
2
- import { AddressCountrySelectName, BaseSelectComponentProps } from '../../typings/index';
1
+ import { BaseSelectComponentProps } from '../../typings/index';
3
2
  import { AddressValuesKeys } from '../../context/BillingAddressFormContext';
4
- type Props = Omit<BaseSelectComponentProps, 'options' | 'name'> & {
5
- name: Extract<AddressValuesKeys, AddressCountrySelectName>;
3
+ type TCountryFieldName = 'billing_address_country_code' | 'shipping_address_country_code' | 'customer_address_country_code';
4
+ interface Props extends Omit<BaseSelectComponentProps, 'options' | 'name'>, Pick<JSX.IntrinsicElements['select'], 'className' | 'id' | 'style'> {
5
+ name: Extract<AddressValuesKeys, TCountryFieldName>;
6
6
  required?: boolean;
7
7
  disabled?: boolean;
8
- } & Pick<JSX.IntrinsicElements['select'], 'className' | 'id' | 'style'>;
8
+ }
9
9
  export declare function AddressCountrySelector(props: Props): JSX.Element;
10
10
  export default AddressCountrySelector;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps, AddressInputName } from '../../typings/index';
3
2
  import { AddressValuesKeys } from '../../context/BillingAddressFormContext';
4
3
  type Props = {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { AddressStateSelectName, BaseSelectComponentProps } from '../../typings/index';
3
2
  type Props = Omit<BaseSelectComponentProps, 'options' | 'name'> & {
4
3
  name: AddressStateSelectName;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  interface Props extends Omit<JSX.IntrinsicElements['span'], 'children'> {
4
3
  /**
@@ -1,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 ShippingAddressContainer(props: Props): JSX.Element;
6
6
  export default ShippingAddressContainer;
@@ -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
  accessToken: string;
5
5
  endpoint: string;
6
6
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ConditionalElement } from '../../typings/index';
3
2
  import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
3
  type StockTransferFieldChildrenProps = TGenericChildrenProps<TResources['Customer']>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps } from '../../typings/index';
3
2
  type Props = {
4
3
  name?: 'customer_email' | string;
@@ -1,5 +1,30 @@
1
- /// <reference types="react" />
2
- import type { ErrorComponentProps } from '../../typings/errors';
3
- type Props = ErrorComponentProps & Omit<JSX.IntrinsicElements['span'], 'children'>;
1
+ import type { CodeErrorType } from '../../typings/errors';
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ export type TResourceError = 'addresses' | 'billing_address' | 'gift_cards' | 'gift_card_or_coupon_code' | 'line_items' | 'orders' | 'payment_methods' | 'prices' | 'shipments' | 'shipping_address' | 'customer_address' | 'sku_options' | 'variant';
4
+ type ErrorChildrenComponentProps = ChildrenFunction<Omit<TErrorComponent, 'children'> & {
5
+ errors: string[];
6
+ }>;
7
+ export interface TErrorComponent extends Omit<JSX.IntrinsicElements['span'], 'children'> {
8
+ /**
9
+ * Resource which get the error
10
+ */
11
+ resource: TResourceError;
12
+ children?: ErrorChildrenComponentProps;
13
+ /**
14
+ * Field which get the error
15
+ */
16
+ field?: string;
17
+ /**
18
+ * Error message which you can translate
19
+ */
20
+ messages?: Array<{
21
+ code: CodeErrorType;
22
+ message: string;
23
+ resource?: TResourceError;
24
+ field?: string;
25
+ id?: string;
26
+ }>;
27
+ }
28
+ type Props = TErrorComponent;
4
29
  export declare function Errors(props: Props): JSX.Element;
5
30
  export default Errors;
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { BaseState } from '../../typings/index';
2
+ import type { DefaultChildrenType } from '../../typings/globals';
3
3
  interface Props extends Omit<JSX.IntrinsicElements['form'], 'children'> {
4
- children: JSX.Element[] | JSX.Element;
4
+ children: DefaultChildrenType;
5
5
  onSubmit?: (values: BaseState) => void;
6
6
  }
7
7
  export declare function GiftCard(props: Props): JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseSelectComponentProps } from '../../typings/index';
3
2
  type Props = Omit<BaseSelectComponentProps, 'options' | 'name'> & {
4
3
  required?: boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps, GiftCardInputName } from '../../typings/index';
3
2
  type Props = {
4
3
  name: GiftCardInputName;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ChildrenFunction } from '../../typings/index';
3
2
  import type { CodeType } from '../../reducers/OrderReducer';
4
3
  interface ChildrenProps extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseInputComponentProps } from '../../typings/index';
3
2
  import { OrderCodeType } from '../../reducers/OrderReducer';
4
3
  type Props = {
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ChildrenFunction } from '../../typings/index';
3
3
  import { CodeType, OrderCodeType } from '../../reducers/OrderReducer';
4
- interface ChildrenProps extends Omit<Props, 'children'> {
4
+ interface ChildrenProps extends Omit<Props, 'children' | 'onClick'> {
5
5
  codeType?: OrderCodeType;
6
6
  hide?: boolean;
7
7
  handleClick?: () => void;
@@ -13,6 +13,6 @@ type Props = {
13
13
  onClick?: (response: {
14
14
  success: boolean;
15
15
  }) => void;
16
- } & Omit<JSX.IntrinsicElements['button'], 'type'>;
16
+ } & Omit<JSX.IntrinsicElements['button'], 'type' | 'onClick'>;
17
17
  export declare function GiftCardOrCouponRemoveButton(props: Props): JSX.Element | null;
18
18
  export default GiftCardOrCouponRemoveButton;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";import{has,isEmpty}from"lodash";export function GiftCardOrCouponRemoveButton(props){const{children,label="Remove",onClick,type,...p}=props,{order,removeGiftCardOrCouponCode}=useContext(OrderContext);let codeType=type?`${type}_code`:void 0;!type&&order&&has(order,"coupon_code")&&!isEmpty(order.coupon_code)?codeType="coupon_code":type||(codeType="gift_card_code");const code=order&&codeType?order[codeType]:"",hide=!(order&&code),handleClick=async()=>{const response=removeGiftCardOrCouponCode&&codeType&&await removeGiftCardOrCouponCode({codeType});onClick&&response&&onClick(response)},parentProps={...p,label,handleClick,codeType};return children?_jsx(Parent,{...parentProps,children}):hide?null:_jsx("button",{type:"button",onClick:()=>{handleClick()},...p,children:label})}export default GiftCardOrCouponRemoveButton;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";export function GiftCardOrCouponRemoveButton(props){const{children,label="Remove",onClick,type,...p}=props,{order,removeGiftCardOrCouponCode}=useContext(OrderContext);let codeType=type?`${type}_code`:void 0;!type&&order&&"coupon_code"in order&&order.coupon_code!=null?codeType="coupon_code":type||(codeType="gift_card_code");const code=order&&codeType?order[codeType]:"",hide=!(order&&code),handleClick=async()=>{const response=removeGiftCardOrCouponCode&&codeType&&await removeGiftCardOrCouponCode({codeType});onClick&&response&&onClick(response)},parentProps={...p,label,handleClick,codeType};return children?_jsx(Parent,{...parentProps,children}):hide?null:_jsx("button",{type:"button",onClick:()=>{handleClick()},...p,children:label})}export default GiftCardOrCouponRemoveButton;
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
- import { LineItemType } from '../../typings/index';
1
+ export type TLineItem = 'gift_cards' | 'payment_methods' | 'promotions' | 'shipments' | 'skus' | 'bundles' | 'adjustments';
3
2
  interface Props {
4
3
  children: JSX.Element | JSX.Element[];
5
- type?: LineItemType;
4
+ type?: TLineItem;
6
5
  }
7
6
  export declare function LineItem(props: Props): JSX.Element;
8
7
  export default LineItem;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { BaseAmountComponent, BasePriceType } from '../../typings/index';
3
2
  type Props = BaseAmountComponent & {
4
3
  type?: BasePriceType;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LineItem } from '@commercelayer/sdk';
3
2
  import { ChildrenFunction } from '../../typings/index';
4
3
  export interface TLineItemCode extends Omit<Props, 'children'> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ConditionalElement } from '../../typings/index';
3
2
  import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
3
  type LineItemFieldChildrenProps = TGenericChildrenProps<TResources['LineItem']>;
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { LineItem } from '@commercelayer/sdk';
3
- import { ChildrenFunction, LineItemType } from '../../typings/index';
2
+ import type { ChildrenFunction } from '../../typings/index';
3
+ import { TLineItem } from './LineItem';
4
4
  export interface TLineItemImage extends Omit<Props, 'children'> {
5
5
  src: string;
6
6
  lineItem: LineItem;
@@ -9,7 +9,7 @@ type Props = {
9
9
  children?: ChildrenFunction<TLineItemImage>;
10
10
  width?: number;
11
11
  placeholder?: {
12
- [K in LineItemType]?: string;
12
+ [K in TLineItem]?: string;
13
13
  };
14
14
  } & Omit<JSX.IntrinsicElements['img'], 'src' | 'srcSet' | 'placeholder'>;
15
15
  export declare function LineItemImage(props: Props): JSX.Element | null;