@commercelayer/react-components 4.0.0-alpha.9 → 4.0.0-beta.2

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 (279) hide show
  1. package/lib/cjs/components/auth/CommerceLayer.d.ts +2 -2
  2. package/lib/cjs/components/line_items/LineItem.d.ts +4 -11
  3. package/lib/cjs/components/line_items/LineItem.js +1 -1
  4. package/lib/cjs/components/line_items/LineItemAmount.d.ts +0 -13
  5. package/lib/cjs/components/line_items/LineItemAmount.js +1 -1
  6. package/lib/cjs/components/line_items/LineItemCode.d.ts +6 -11
  7. package/lib/cjs/components/line_items/LineItemCode.js +1 -1
  8. package/lib/cjs/components/line_items/LineItemField.d.ts +14 -0
  9. package/lib/cjs/components/line_items/LineItemField.js +1 -0
  10. package/lib/cjs/components/line_items/LineItemImage.d.ts +4 -11
  11. package/lib/cjs/components/line_items/LineItemImage.js +1 -1
  12. package/lib/cjs/components/line_items/LineItemName.d.ts +6 -11
  13. package/lib/cjs/components/line_items/LineItemName.js +1 -1
  14. package/lib/cjs/components/line_items/LineItemOption.d.ts +5 -16
  15. package/lib/cjs/components/line_items/LineItemOption.js +1 -1
  16. package/lib/cjs/components/line_items/LineItemOptions.d.ts +2 -5
  17. package/lib/cjs/components/line_items/LineItemOptions.js +1 -1
  18. package/lib/cjs/components/line_items/LineItemRemoveLink.js +1 -1
  19. package/lib/cjs/components/line_items/LineItemsContainer.d.ts +2 -14
  20. package/lib/cjs/components/line_items/LineItemsContainer.js +1 -1
  21. package/lib/cjs/components/orders/AddToCartButton.d.ts +34 -9
  22. package/lib/cjs/components/orders/AddToCartButton.js +1 -1
  23. package/lib/cjs/components/orders/AdjustmentAmount.d.ts +2 -2
  24. package/lib/cjs/components/orders/AdjustmentAmount.js +1 -1
  25. package/lib/cjs/components/orders/CartLink.js +1 -1
  26. package/lib/cjs/components/orders/CheckoutLink.js +1 -1
  27. package/lib/cjs/components/orders/DiscountAmount.d.ts +0 -14
  28. package/lib/cjs/components/orders/DiscountAmount.js +1 -1
  29. package/lib/cjs/components/orders/GiftCardAmount.d.ts +0 -11
  30. package/lib/cjs/components/orders/GiftCardAmount.js +1 -1
  31. package/lib/cjs/components/orders/OrderContainer.js +1 -1
  32. package/lib/cjs/components/orders/PaymentMethodAmount.d.ts +4 -0
  33. package/lib/cjs/components/orders/PaymentMethodAmount.js +1 -0
  34. package/lib/cjs/components/orders/PlaceOrderButton.js +1 -1
  35. package/lib/cjs/components/orders/PlaceOrderContainer.d.ts +2 -8
  36. package/lib/cjs/components/orders/PlaceOrderContainer.js +1 -1
  37. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -6
  38. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.js +1 -1
  39. package/lib/cjs/components/orders/ShippingAmount.d.ts +0 -11
  40. package/lib/cjs/components/orders/ShippingAmount.js +1 -1
  41. package/lib/cjs/components/orders/SubTotalAmount.d.ts +0 -14
  42. package/lib/cjs/components/orders/SubTotalAmount.js +1 -1
  43. package/lib/cjs/components/orders/TaxesAmount.d.ts +0 -14
  44. package/lib/cjs/components/orders/TaxesAmount.js +1 -1
  45. package/lib/cjs/components/orders/TotalAmount.d.ts +0 -14
  46. package/lib/cjs/components/orders/TotalAmount.js +1 -1
  47. package/lib/cjs/components/parcels/ParcelLineItemsCount.d.ts +18 -0
  48. package/lib/cjs/components/parcels/ParcelLineItemsCount.js +1 -0
  49. package/lib/cjs/components/parcels/ParcelsCount.js +1 -1
  50. package/lib/cjs/components/payment_gateways/AdyenGateway.js +1 -1
  51. package/lib/cjs/components/payment_methods/PaymentMethod.d.ts +1 -7
  52. package/lib/cjs/components/payment_methods/PaymentMethod.js +1 -1
  53. package/lib/cjs/components/payment_methods/PaymentMethodName.d.ts +6 -11
  54. package/lib/cjs/components/payment_methods/PaymentMethodName.js +1 -1
  55. package/lib/cjs/components/payment_methods/PaymentMethodPrice.d.ts +2 -14
  56. package/lib/cjs/components/payment_methods/PaymentMethodPrice.js +1 -1
  57. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.d.ts +4 -9
  58. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.js +1 -1
  59. package/lib/cjs/components/payment_methods/PaymentMethodsContainer.js +1 -1
  60. package/lib/cjs/components/payment_source/AdyenPayment.d.ts +5 -5
  61. package/lib/cjs/components/payment_source/AdyenPayment.js +1 -1
  62. package/lib/cjs/components/prices/Price.js +1 -1
  63. package/lib/cjs/components/prices/PricesContainer.js +1 -1
  64. package/lib/cjs/components/shipments/ShipmentsCount.js +1 -1
  65. package/lib/cjs/components/skus/AvailabilityContainer.d.ts +3 -9
  66. package/lib/cjs/components/skus/AvailabilityContainer.js +1 -1
  67. package/lib/cjs/components/skus/AvailabilityTemplate.d.ts +23 -4
  68. package/lib/cjs/components/skus/AvailabilityTemplate.js +1 -1
  69. package/lib/cjs/components/skus/SkuField.js +1 -1
  70. package/lib/cjs/components/skus/SkusContainer.d.ts +2 -2
  71. package/lib/cjs/components/utils/AddressCardsTemplate.d.ts +3 -4
  72. package/lib/cjs/components/utils/BaseInput.d.ts +1 -1
  73. package/lib/cjs/components/utils/BaseOrderPrice.d.ts +3 -3
  74. package/lib/cjs/components/utils/BaseOrderPrice.js +1 -1
  75. package/lib/cjs/components/utils/GenericFieldComponent.d.ts +4 -4
  76. package/lib/cjs/components/utils/GenericFieldComponent.js +1 -1
  77. package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +3 -3
  78. package/lib/cjs/context/CommerceLayerContext.d.ts +2 -2
  79. package/lib/cjs/context/CommerceLayerContext.js +1 -1
  80. package/lib/cjs/context/ExternalFunctionContext.d.ts +2 -2
  81. package/lib/cjs/context/ExternalFunctionContext.js +1 -1
  82. package/lib/cjs/context/LineItemContext.d.ts +1 -1
  83. package/lib/cjs/context/OrderContext.d.ts +2 -3
  84. package/lib/cjs/context/OrderContext.js +1 -1
  85. package/lib/cjs/context/PaymentMethodContext.d.ts +2 -11
  86. package/lib/cjs/context/PaymentMethodContext.js +1 -1
  87. package/lib/cjs/index.d.ts +5 -16
  88. package/lib/cjs/index.js +1 -1
  89. package/lib/cjs/reducers/AvailabilityReducer.d.ts +13 -23
  90. package/lib/cjs/reducers/AvailabilityReducer.js +1 -1
  91. package/lib/cjs/reducers/OrderReducer.d.ts +36 -22
  92. package/lib/cjs/reducers/OrderReducer.js +1 -1
  93. package/lib/cjs/reducers/PaymentMethodReducer.d.ts +9 -11
  94. package/lib/cjs/reducers/PaymentMethodReducer.js +1 -1
  95. package/lib/cjs/reducers/PriceReducer.d.ts +12 -19
  96. package/lib/cjs/reducers/PriceReducer.js +1 -1
  97. package/lib/cjs/reducers/SkuReducer.d.ts +3 -3
  98. package/lib/cjs/typings/errors.d.ts +4 -4
  99. package/lib/cjs/typings/index.d.ts +3 -3
  100. package/lib/cjs/utils/browserInfo.d.ts +5 -2
  101. package/lib/cjs/utils/browserInfo.js +1 -1
  102. package/lib/cjs/utils/getSdk.js +1 -1
  103. package/lib/cjs/utils/hooks/useCustomContext.d.ts +21 -0
  104. package/lib/cjs/utils/hooks/useCustomContext.js +1 -0
  105. package/lib/esm/components/auth/CommerceLayer.d.ts +2 -2
  106. package/lib/esm/components/line_items/LineItem.d.ts +4 -11
  107. package/lib/esm/components/line_items/LineItem.js +1 -1
  108. package/lib/esm/components/line_items/LineItemAmount.d.ts +0 -13
  109. package/lib/esm/components/line_items/LineItemAmount.js +1 -1
  110. package/lib/esm/components/line_items/LineItemCode.d.ts +6 -11
  111. package/lib/esm/components/line_items/LineItemCode.js +1 -1
  112. package/lib/esm/components/line_items/LineItemField.d.ts +14 -0
  113. package/lib/esm/components/line_items/LineItemField.js +1 -0
  114. package/lib/esm/components/line_items/LineItemImage.d.ts +4 -11
  115. package/lib/esm/components/line_items/LineItemImage.js +1 -1
  116. package/lib/esm/components/line_items/LineItemName.d.ts +6 -11
  117. package/lib/esm/components/line_items/LineItemName.js +1 -1
  118. package/lib/esm/components/line_items/LineItemOption.d.ts +5 -16
  119. package/lib/esm/components/line_items/LineItemOption.js +1 -1
  120. package/lib/esm/components/line_items/LineItemOptions.d.ts +2 -5
  121. package/lib/esm/components/line_items/LineItemOptions.js +1 -1
  122. package/lib/esm/components/line_items/LineItemRemoveLink.js +1 -1
  123. package/lib/esm/components/line_items/LineItemsContainer.d.ts +2 -14
  124. package/lib/esm/components/line_items/LineItemsContainer.js +1 -1
  125. package/lib/esm/components/orders/AddToCartButton.d.ts +34 -9
  126. package/lib/esm/components/orders/AddToCartButton.js +1 -1
  127. package/lib/esm/components/orders/AdjustmentAmount.d.ts +2 -2
  128. package/lib/esm/components/orders/AdjustmentAmount.js +1 -1
  129. package/lib/esm/components/orders/CartLink.js +1 -1
  130. package/lib/esm/components/orders/CheckoutLink.js +1 -1
  131. package/lib/esm/components/orders/DiscountAmount.d.ts +0 -14
  132. package/lib/esm/components/orders/DiscountAmount.js +1 -1
  133. package/lib/esm/components/orders/GiftCardAmount.d.ts +0 -11
  134. package/lib/esm/components/orders/GiftCardAmount.js +1 -1
  135. package/lib/esm/components/orders/OrderContainer.js +1 -1
  136. package/lib/esm/components/orders/PaymentMethodAmount.d.ts +4 -0
  137. package/lib/esm/components/orders/PaymentMethodAmount.js +1 -0
  138. package/lib/esm/components/orders/PlaceOrderButton.js +1 -1
  139. package/lib/esm/components/orders/PlaceOrderContainer.d.ts +2 -8
  140. package/lib/esm/components/orders/PlaceOrderContainer.js +1 -1
  141. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -6
  142. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.js +1 -1
  143. package/lib/esm/components/orders/ShippingAmount.d.ts +0 -11
  144. package/lib/esm/components/orders/ShippingAmount.js +1 -1
  145. package/lib/esm/components/orders/SubTotalAmount.d.ts +0 -14
  146. package/lib/esm/components/orders/SubTotalAmount.js +1 -1
  147. package/lib/esm/components/orders/TaxesAmount.d.ts +0 -14
  148. package/lib/esm/components/orders/TaxesAmount.js +1 -1
  149. package/lib/esm/components/orders/TotalAmount.d.ts +0 -14
  150. package/lib/esm/components/orders/TotalAmount.js +1 -1
  151. package/lib/esm/components/parcels/ParcelLineItemsCount.d.ts +18 -0
  152. package/lib/esm/components/parcels/ParcelLineItemsCount.js +1 -0
  153. package/lib/esm/components/parcels/ParcelsCount.js +1 -1
  154. package/lib/esm/components/payment_gateways/AdyenGateway.js +1 -1
  155. package/lib/esm/components/payment_methods/PaymentMethod.d.ts +1 -7
  156. package/lib/esm/components/payment_methods/PaymentMethod.js +1 -1
  157. package/lib/esm/components/payment_methods/PaymentMethodName.d.ts +6 -11
  158. package/lib/esm/components/payment_methods/PaymentMethodName.js +1 -1
  159. package/lib/esm/components/payment_methods/PaymentMethodPrice.d.ts +2 -14
  160. package/lib/esm/components/payment_methods/PaymentMethodPrice.js +1 -1
  161. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.d.ts +4 -9
  162. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.js +1 -1
  163. package/lib/esm/components/payment_methods/PaymentMethodsContainer.js +1 -1
  164. package/lib/esm/components/payment_source/AdyenPayment.d.ts +5 -5
  165. package/lib/esm/components/payment_source/AdyenPayment.js +1 -1
  166. package/lib/esm/components/prices/Price.js +1 -1
  167. package/lib/esm/components/prices/PricesContainer.js +1 -1
  168. package/lib/esm/components/shipments/ShipmentsCount.js +1 -1
  169. package/lib/esm/components/skus/AvailabilityContainer.d.ts +3 -9
  170. package/lib/esm/components/skus/AvailabilityContainer.js +1 -1
  171. package/lib/esm/components/skus/AvailabilityTemplate.d.ts +23 -4
  172. package/lib/esm/components/skus/AvailabilityTemplate.js +1 -1
  173. package/lib/esm/components/skus/SkuField.js +1 -1
  174. package/lib/esm/components/skus/SkusContainer.d.ts +2 -2
  175. package/lib/esm/components/utils/AddressCardsTemplate.d.ts +3 -4
  176. package/lib/esm/components/utils/BaseInput.d.ts +1 -1
  177. package/lib/esm/components/utils/BaseOrderPrice.d.ts +3 -3
  178. package/lib/esm/components/utils/BaseOrderPrice.js +1 -1
  179. package/lib/esm/components/utils/GenericFieldComponent.d.ts +4 -4
  180. package/lib/esm/components/utils/GenericFieldComponent.js +1 -1
  181. package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +3 -3
  182. package/lib/esm/context/CommerceLayerContext.d.ts +2 -2
  183. package/lib/esm/context/CommerceLayerContext.js +1 -1
  184. package/lib/esm/context/ExternalFunctionContext.d.ts +2 -2
  185. package/lib/esm/context/ExternalFunctionContext.js +1 -1
  186. package/lib/esm/context/LineItemContext.d.ts +1 -1
  187. package/lib/esm/context/OrderContext.d.ts +2 -3
  188. package/lib/esm/context/OrderContext.js +1 -1
  189. package/lib/esm/context/PaymentMethodContext.d.ts +2 -11
  190. package/lib/esm/context/PaymentMethodContext.js +1 -1
  191. package/lib/esm/index.d.ts +5 -16
  192. package/lib/esm/index.js +1 -1
  193. package/lib/esm/reducers/AvailabilityReducer.d.ts +13 -23
  194. package/lib/esm/reducers/AvailabilityReducer.js +1 -1
  195. package/lib/esm/reducers/OrderReducer.d.ts +36 -22
  196. package/lib/esm/reducers/OrderReducer.js +1 -1
  197. package/lib/esm/reducers/PaymentMethodReducer.d.ts +9 -11
  198. package/lib/esm/reducers/PaymentMethodReducer.js +1 -1
  199. package/lib/esm/reducers/PriceReducer.d.ts +12 -19
  200. package/lib/esm/reducers/PriceReducer.js +1 -1
  201. package/lib/esm/reducers/SkuReducer.d.ts +3 -3
  202. package/lib/esm/typings/errors.d.ts +4 -4
  203. package/lib/esm/typings/index.d.ts +3 -3
  204. package/lib/esm/utils/browserInfo.d.ts +5 -2
  205. package/lib/esm/utils/browserInfo.js +1 -1
  206. package/lib/esm/utils/getSdk.js +1 -1
  207. package/lib/esm/utils/hooks/useCustomContext.d.ts +21 -0
  208. package/lib/esm/utils/hooks/useCustomContext.js +1 -0
  209. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  210. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  211. package/package.json +9 -8
  212. package/lib/cjs/components/orders/ItemContainer.d.ts +0 -11
  213. package/lib/cjs/components/orders/ItemContainer.js +0 -1
  214. package/lib/cjs/components/payment_methods/PaymentMethodAmount.d.ts +0 -18
  215. package/lib/cjs/components/payment_methods/PaymentMethodAmount.js +0 -1
  216. package/lib/cjs/components/skus/QuantitySelector.d.ts +0 -17
  217. package/lib/cjs/components/skus/QuantitySelector.js +0 -1
  218. package/lib/cjs/components/skus/SkuOption.d.ts +0 -14
  219. package/lib/cjs/components/skus/SkuOption.js +0 -1
  220. package/lib/cjs/components/skus/SkuOptionInput.d.ts +0 -15
  221. package/lib/cjs/components/skus/SkuOptionInput.js +0 -1
  222. package/lib/cjs/components/skus/SkuOptionsContainer.d.ts +0 -14
  223. package/lib/cjs/components/skus/SkuOptionsContainer.js +0 -1
  224. package/lib/cjs/components/skus/VariantSelector.d.ts +0 -29
  225. package/lib/cjs/components/skus/VariantSelector.js +0 -1
  226. package/lib/cjs/components/skus/VariantsContainer.d.ts +0 -20
  227. package/lib/cjs/components/skus/VariantsContainer.js +0 -1
  228. package/lib/cjs/components/utils/VariantTemplate.d.ts +0 -36
  229. package/lib/cjs/components/utils/VariantTemplate.js +0 -1
  230. package/lib/cjs/context/ItemContext.d.ts +0 -13
  231. package/lib/cjs/context/ItemContext.js +0 -1
  232. package/lib/cjs/context/SkuOptionChildrenContext.d.ts +0 -8
  233. package/lib/cjs/context/SkuOptionChildrenContext.js +0 -1
  234. package/lib/cjs/context/SkuOptionsContext.d.ts +0 -3
  235. package/lib/cjs/context/SkuOptionsContext.js +0 -1
  236. package/lib/cjs/context/VariantsContext.d.ts +0 -3
  237. package/lib/cjs/context/VariantsContext.js +0 -1
  238. package/lib/cjs/reducers/ItemReducer.d.ts +0 -69
  239. package/lib/cjs/reducers/ItemReducer.js +0 -1
  240. package/lib/cjs/reducers/SkuOptionsReducer.d.ts +0 -26
  241. package/lib/cjs/reducers/SkuOptionsReducer.js +0 -1
  242. package/lib/cjs/reducers/VariantReducer.d.ts +0 -72
  243. package/lib/cjs/reducers/VariantReducer.js +0 -1
  244. package/lib/cjs/utils/getCurrentItemKey.d.ts +0 -6
  245. package/lib/cjs/utils/getCurrentItemKey.js +0 -1
  246. package/lib/esm/components/orders/ItemContainer.d.ts +0 -11
  247. package/lib/esm/components/orders/ItemContainer.js +0 -1
  248. package/lib/esm/components/payment_methods/PaymentMethodAmount.d.ts +0 -18
  249. package/lib/esm/components/payment_methods/PaymentMethodAmount.js +0 -1
  250. package/lib/esm/components/skus/QuantitySelector.d.ts +0 -17
  251. package/lib/esm/components/skus/QuantitySelector.js +0 -1
  252. package/lib/esm/components/skus/SkuOption.d.ts +0 -14
  253. package/lib/esm/components/skus/SkuOption.js +0 -1
  254. package/lib/esm/components/skus/SkuOptionInput.d.ts +0 -15
  255. package/lib/esm/components/skus/SkuOptionInput.js +0 -1
  256. package/lib/esm/components/skus/SkuOptionsContainer.d.ts +0 -14
  257. package/lib/esm/components/skus/SkuOptionsContainer.js +0 -1
  258. package/lib/esm/components/skus/VariantSelector.d.ts +0 -29
  259. package/lib/esm/components/skus/VariantSelector.js +0 -1
  260. package/lib/esm/components/skus/VariantsContainer.d.ts +0 -20
  261. package/lib/esm/components/skus/VariantsContainer.js +0 -1
  262. package/lib/esm/components/utils/VariantTemplate.d.ts +0 -36
  263. package/lib/esm/components/utils/VariantTemplate.js +0 -1
  264. package/lib/esm/context/ItemContext.d.ts +0 -13
  265. package/lib/esm/context/ItemContext.js +0 -1
  266. package/lib/esm/context/SkuOptionChildrenContext.d.ts +0 -8
  267. package/lib/esm/context/SkuOptionChildrenContext.js +0 -1
  268. package/lib/esm/context/SkuOptionsContext.d.ts +0 -3
  269. package/lib/esm/context/SkuOptionsContext.js +0 -1
  270. package/lib/esm/context/VariantsContext.d.ts +0 -3
  271. package/lib/esm/context/VariantsContext.js +0 -1
  272. package/lib/esm/reducers/ItemReducer.d.ts +0 -69
  273. package/lib/esm/reducers/ItemReducer.js +0 -1
  274. package/lib/esm/reducers/SkuOptionsReducer.d.ts +0 -26
  275. package/lib/esm/reducers/SkuOptionsReducer.js +0 -1
  276. package/lib/esm/reducers/VariantReducer.d.ts +0 -72
  277. package/lib/esm/reducers/VariantReducer.js +0 -1
  278. package/lib/esm/utils/getCurrentItemKey.d.ts +0 -6
  279. package/lib/esm/utils/getCurrentItemKey.js +0 -1
@@ -1,11 +1,9 @@
1
1
  import { PropsWithoutRef } from 'react';
2
2
  import { ChildrenFunction } from '../../typings/index';
3
- import { AddToCartReturn } from '../../reducers/OrderReducer';
4
- import { VariantOption } from '../skus/VariantSelector';
5
- interface ChildrenProps extends Omit<Props, 'children'> {
3
+ import { AddToCartReturn, CustomLineItem, LineItemOption } from '../../reducers/OrderReducer';
4
+ interface TAddToCartButton extends Omit<Props, 'children'> {
6
5
  handleClick: () => AddToCartReturn;
7
6
  }
8
- export declare type AddToCartButtonType = ChildrenProps;
9
7
  declare type BuyNowMode = {
10
8
  buyNowMode: true;
11
9
  checkoutUrl?: string;
@@ -20,14 +18,41 @@ declare type THostedCart = {
20
18
  redirectToHostedCart?: false;
21
19
  hostedCartUrl?: never;
22
20
  };
21
+ declare type TButton = PropsWithoutRef<Omit<JSX.IntrinsicElements['button'], 'children'>>;
23
22
  declare type Props = {
24
- children?: ChildrenFunction<ChildrenProps>;
25
- label?: string | JSX.Element;
26
- skuCode?: string;
23
+ /**
24
+ * Code of a bundle
25
+ */
27
26
  bundleCode?: string;
27
+ children?: ChildrenFunction<TAddToCartButton>;
28
+ /**
29
+ * Disable the cart button
30
+ */
28
31
  disabled?: boolean;
32
+ /**
33
+ * Label to display
34
+ */
35
+ label?: string | JSX.Element;
36
+ /**
37
+ * Line item which allow you customize the cart item
38
+ */
39
+ lineItem?: CustomLineItem;
40
+ /**
41
+ * Line item option to add to cart
42
+ */
43
+ lineItemOption?: LineItemOption;
44
+ /**
45
+ * Quantity of the item
46
+ */
47
+ quantity?: string;
48
+ /**
49
+ * SKU code to add to cart
50
+ */
51
+ skuCode?: string;
52
+ /**
53
+ * SKU list to add to cart
54
+ */
29
55
  skuListId?: string;
30
- lineItem?: VariantOption['lineItem'];
31
- } & BuyNowMode & THostedCart & PropsWithoutRef<JSX.IntrinsicElements['button']>;
56
+ } & TButton & BuyNowMode & THostedCart;
32
57
  export declare function AddToCartButton(props: Props): JSX.Element;
33
58
  export default AddToCartButton;
@@ -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 isEmpty from"lodash/isEmpty";import has from"lodash/has";import ItemContext from"../../context/ItemContext";import getCurrentItemKey from"../../utils/getCurrentItemKey";import SkuListsContext from"../../context/SkuListsContext";import ExternalFunctionContext from"../../context/ExternalFunctionContext";import SkuChildrenContext from"../../context/SkuChildrenContext";import getCartLink from"../../utils/getCartLink";import CommerceLayerContext from"../../context/CommerceLayerContext";export function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,disabled,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,...p}=props,{accessToken,endpoint}=useContext(CommerceLayerContext),{addToCart,orderId,getOrder,setOrderErrors}=useContext(OrderContext),{url,callExternalFunction}=useContext(ExternalFunctionContext),{item,items,quantity,option,prices,lineItems,lineItem:lineItemContext,skuCode:itemSkuCode}=useContext(ItemContext),{skuLists}=useContext(SkuListsContext),{sku}=useContext(SkuChildrenContext),[slug]=endpoint?endpoint.split(".commercelayer"):[""],sCode=!isEmpty(items)&&skuCode?items[skuCode]?.code:sku?.code||skuCode||getCurrentItemKey(item)||itemSkuCode,availabilityQuantity=item[sCode]?.inventory?.quantity,handleClick=async()=>{const qty=quantity[sCode],opt=option[sCode],customLineItem=isEmpty(lineItem||lineItemContext)?lineItems[sCode]:lineItem||lineItemContext;if(!isEmpty(skuLists)&&skuListId&&url){const slQty=quantity[skuListId]||1;if(has(skuLists,skuListId)){const lineItems2=skuLists?.[skuListId]?.map(skuCode2=>({skuCode:skuCode2,quantity:slQty,_update_quantity:1}));return await callExternalFunction({url,data:{resourceType:"orders",inputs:[{id:orderId,lineItems:lineItems2}]}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}}if(!url&&addToCart){const res=await addToCart({bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl});if(redirectToHostedCart){const orderId2=res.orderId;hostedCartUrl&&orderId2?location.href=`https://${hostedCartUrl}/${orderId2}?accessToken=${accessToken}`:orderId2&&slug&&(location.href=getCartLink({orderId:orderId2,slug,accessToken}))}return res}else if(url)return await callExternalFunction({url,data:{bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))},autoDisabled=!isEmpty(skuLists)||skuListId?!1:disabled||!prices[sCode]||!sCode||availabilityQuantity===0,parentProps={handleClick,disabled:disabled||autoDisabled,label,...props};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{...p,disabled:autoDisabled,onClick:()=>{handleClick()},children:label})}export default AddToCartButton;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";import SkuListsContext from"../../context/SkuListsContext";import ExternalFunctionContext from"../../context/ExternalFunctionContext";import SkuChildrenContext from"../../context/SkuChildrenContext";import getCartLink from"../../utils/getCartLink";import CommerceLayerContext from"../../context/CommerceLayerContext";import useCustomContext from"../../utils/hooks/useCustomContext";export function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,quantity,lineItemOption,...p}=props,{accessToken,endpoint}=useCustomContext({context:CommerceLayerContext,contextComponentName:"CommerceLayer",currentComponentName:"AddToCartButton",key:"accessToken"}),{addToCart,orderId,getOrder,setOrderErrors}=useCustomContext({context:OrderContext,contextComponentName:"OrderContainer",currentComponentName:"AddToCartButton",key:"addToCart"}),{url,callExternalFunction}=useContext(ExternalFunctionContext),{skuLists}=useContext(SkuListsContext),{sku}=useContext(SkuChildrenContext),[slug]=endpoint?endpoint.split(".commercelayer"):[""],sCode=sku?.code??skuCode,handleClick=async()=>{const qty=quantity!=null?parseInt(quantity):1;if(skuLists!=null&&skuListId&&url&&skuListId in skuLists){const lineItems=skuLists?.[skuListId]?.map(skuCode2=>({skuCode:skuCode2,quantity:qty,_update_quantity:1}));return await callExternalFunction({url,data:{resourceType:"orders",inputs:[{id:orderId,lineItems}]}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}if(!url&&addToCart!=null){const res=await addToCart({bundleCode,skuCode:sCode,quantity:qty,lineItemOption,lineItem,buyNowMode,checkoutUrl});if(redirectToHostedCart&&accessToken!=null){const orderId2=res?.orderId;hostedCartUrl&&orderId2?location.href=`https://${hostedCartUrl}/${orderId2}?accessToken=${accessToken}`:orderId2&&slug&&(location.href=getCartLink({orderId:orderId2,slug,accessToken}))}return res}else if(url)return await callExternalFunction({url,data:{bundleCode,skuCode:sCode,quantity:qty,lineItemOption,lineItem,buyNowMode,checkoutUrl}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))},parentProps={handleClick,label,...props};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{...p,onClick:()=>{handleClick()},children:label})}export default AddToCartButton;
@@ -1,4 +1,4 @@
1
- import { FunctionComponent } from 'react';
1
+ /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
- declare const AdjustmentAmount: FunctionComponent<BaseAmountComponent>;
3
+ export declare function AdjustmentAmount(props: BaseAmountComponent): JSX.Element;
4
4
  export default AdjustmentAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";const AdjustmentAmount=props=>_jsx(BaseOrderPrice,{base:"amount",type:"adjustment",...props});export default AdjustmentAmount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";export function AdjustmentAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"adjustment",...props})}export default AdjustmentAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import OrderContext from"../../context/OrderContext";import Parent from"../utils/Parent";import CommerceLayerContext from"../../context/CommerceLayerContext";import getCartLink from"../../utils/getCartLink";export function CartLink(props){const{label,children,...p}=props,{order,createOrder}=useContext(OrderContext),{accessToken,endpoint}=useContext(CommerceLayerContext),[slug]=endpoint.split(".commercelayer"),href=slug&&order?.id?getCartLink({slug,orderId:order?.id,accessToken}):"",handleClick=async event=>{if(event.preventDefault(),order?.id)location.href=href;else{const orderId=await createOrder();slug&&(location.href=getCartLink({slug,orderId,accessToken}))}},parentProps={handleClick,label,href,...p};return accessToken?children?_jsx(Parent,{...parentProps,children}):_jsx("a",{href,...p,onClick:e=>{handleClick(e)},children:label}):null}export default CartLink;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import OrderContext from"../../context/OrderContext";import Parent from"../utils/Parent";import CommerceLayerContext from"../../context/CommerceLayerContext";import getCartLink from"../../utils/getCartLink";export function CartLink(props){const{label,children,...p}=props,{order,createOrder}=useContext(OrderContext),{accessToken,endpoint}=useContext(CommerceLayerContext),[slug]=endpoint?.split(".commercelayer")??"";if(accessToken==null)throw new Error("Cannot use `CartLink` outside of `CommerceLayer`");const href=slug&&order?.id?getCartLink({slug,orderId:order?.id,accessToken}):"",handleClick=async event=>{if(event.preventDefault(),order?.id)location.href=href;else{const orderId=await createOrder();slug&&(location.href=getCartLink({slug,orderId,accessToken}))}},parentProps={handleClick,label,href,...p};return accessToken?children?_jsx(Parent,{...parentProps,children}):_jsx("a",{href,...p,onClick:e=>{handleClick(e)},children:label}):null}export default CartLink;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import OrderContext from"../../context/OrderContext";import Parent from"../utils/Parent";import CommerceLayerContext from"../../context/CommerceLayerContext";export function CheckoutLink(props){const{label,hostedCheckout=!0,children,...p}=props,{order}=useContext(OrderContext),{accessToken,endpoint}=useContext(CommerceLayerContext),[slug]=endpoint.split(".commercelayer"),href=hostedCheckout&&slug&&order?.id?`${slug}.checkout.commercelayer.app/${order.id}?accessToken=${accessToken}`:order?.checkout_url,parentProps={checkoutUrl:order?.checkout_url,hostedCheckout,label,href,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx("a",{href,...p,children:label})}export default CheckoutLink;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import OrderContext from"../../context/OrderContext";import Parent from"../utils/Parent";import CommerceLayerContext from"../../context/CommerceLayerContext";export function CheckoutLink(props){const{label,hostedCheckout=!0,children,...p}=props,{order}=useContext(OrderContext),{accessToken,endpoint}=useContext(CommerceLayerContext);if(accessToken==null||endpoint==null)throw new Error("Cannot use `CheckoutLink` outside of `CommerceLayer`");const[slug]=endpoint.split(".commercelayer"),href=hostedCheckout&&slug&&order?.id?`${slug}.checkout.commercelayer.app/${order.id}?accessToken=${accessToken}`:order?.checkout_url,parentProps={checkoutUrl:order?.checkout_url,hostedCheckout,label,href,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx("a",{href,...p,children:label})}export default CheckoutLink;
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function DiscountAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace DiscountAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var defaultProps: {
14
- format: import("../../typings/index").BaseFormatPrice;
15
- };
16
- var displayName: string;
17
- }
18
4
  export default DiscountAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";import components from"../../config/components";const propTypes=components.DiscountAmount.propTypes,defaultProps=components.DiscountAmount.defaultProps,displayName=components.DiscountAmount.displayName;export function DiscountAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"discount",...props})}DiscountAmount.propTypes=propTypes,DiscountAmount.defaultProps=defaultProps,DiscountAmount.displayName=displayName;export default DiscountAmount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";export function DiscountAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"discount",...props})}export default DiscountAmount;
@@ -1,15 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function GiftCardAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace GiftCardAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var displayName: string;
14
- }
15
4
  export default GiftCardAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";import components from"../../config/components";const propTypes=components.GiftCardAmount.propTypes,displayName=components.GiftCardAmount.displayName;export function GiftCardAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"gift_card",...props})}GiftCardAmount.propTypes=propTypes,GiftCardAmount.displayName=displayName;export default GiftCardAmount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";export function GiftCardAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"gift_card",...props})}export default GiftCardAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext,useMemo,useState}from"react";import orderReducer,{createOrder,getApiOrder,setOrderErrors,setOrder,orderInitialState,updateOrder}from"../../reducers/OrderReducer";import CommerceLayerContext from"../../context/CommerceLayerContext";import OrderContext,{defaultOrderContext}from"../../context/OrderContext";import OrderStorageContext from"../../context/OrderStorageContext";import compareObjAttribute from"../../utils/compareObjAttribute";export function OrderContainer(props){const{orderId,children,metadata,attributes,fetchOrder}=props,[state,dispatch]=useReducer(orderReducer,orderInitialState),[lock,setLock]=useState(!1),[lockOrder,setLockOrder]=useState(!0),config=useContext(CommerceLayerContext),{persistKey,clearWhenPlaced,getLocalOrder,setLocalOrder,deleteLocalOrder}=useContext(OrderStorageContext);useEffect(()=>{state.withoutIncludes||dispatch({type:"setLoading",payload:{loading:!0}})},[state.withoutIncludes]),useEffect(()=>{if(attributes&&state?.order&&!lock){const updateAttributes=compareObjAttribute({attributes,object:state.order});Object.keys(updateAttributes).length>0&&(updateOrder({id:state.order.id,attributes:updateAttributes,dispatch,config,include:state.include,state}),setLock(!0))}return()=>{if(attributes&&state?.order){const updateAttributes=compareObjAttribute({attributes,object:state.order});state.order&&Object.keys(updateAttributes).length===0&&setLock(!1)}}},[attributes,state?.order,lock]),useEffect(()=>{const localOrder=persistKey?getLocalOrder(persistKey):orderId,startRequest=Object.keys(state?.includeLoaded||{}).filter(key=>state?.includeLoaded?.[key]===!0),getOrder=async()=>{localOrder&&await getApiOrder({id:localOrder,dispatch,config,persistKey,clearWhenPlaced:!!(persistKey&&clearWhenPlaced),deleteLocalOrder,state})};return config.accessToken&&!state.loading?localOrder&&!state.order&&state.include?.length===startRequest.length&&!state.withoutIncludes&&!lockOrder?getOrder():state?.order&&fetchOrder?fetchOrder(state.order):state.withoutIncludes&&!state.include?.length&&startRequest.length===0&&getOrder():[config.accessToken,!state.order,state.loading,state.withoutIncludes].every(Boolean)?dispatch({type:"setLoading",payload:{loading:!1}}):[config.accessToken,!state.order,state.loading,!state.withoutIncludes].every(Boolean)&&dispatch({type:"setLoading",payload:{loading:!1}}),()=>{!state.order&&state.loading&&!state.withoutIncludes&&(state.include?.length===0&&startRequest.length>0?dispatch({type:"setLoading",payload:{loading:!1}}):state.include&&state.include?.length>0&&(dispatch({type:"setIncludesResource",payload:{include:[]}}),setLockOrder(!1)))}},[config.accessToken,state.includeLoaded,state.include,orderId,state.order,state.loading,state.withoutIncludes,lockOrder]);const orderValue=useMemo(()=>({...state,setOrder:order=>setOrder(order,dispatch),getOrder:async id=>await getApiOrder({id,dispatch,config,state}),setOrderErrors:errors=>setOrderErrors({dispatch,errors}),createOrder:async()=>await createOrder({persistKey,dispatch,config,state,orderMetadata:metadata,orderAttributes:attributes,setLocalOrder}),addToCart:async values=>await defaultOrderContext.addToCart({...values,persistKey,dispatch,state,config,errors:state.errors,orderMetadata:metadata||{},orderAttributes:attributes,setLocalOrder}),saveAddressToCustomerAddressBook:args=>defaultOrderContext.saveAddressToCustomerAddressBook({...args,dispatch}),setGiftCardOrCouponCode:async({code,codeType})=>await defaultOrderContext.setGiftCardOrCouponCode({code,codeType,dispatch,order:state.order,config,include:state.include,state}),removeGiftCardOrCouponCode:async({codeType})=>await defaultOrderContext.removeGiftCardOrCouponCode({codeType,dispatch,order:state.order,config,include:state.include,state}),addResourceToInclude:args=>defaultOrderContext.addResourceToInclude({...args,dispatch,resourcesIncluded:state.include,resourceIncludedLoaded:state.includeLoaded}),updateOrder:async args=>await defaultOrderContext.updateOrder({...args,dispatch,config,include:state.include,state})}),[state,config.accessToken]);return _jsx(OrderContext.Provider,{value:orderValue,children})}export default OrderContainer;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext,useMemo,useState}from"react";import orderReducer,{createOrder,getApiOrder,setOrderErrors,setOrder,orderInitialState,updateOrder,addToCart}from"../../reducers/OrderReducer";import CommerceLayerContext from"../../context/CommerceLayerContext";import OrderContext,{defaultOrderContext}from"../../context/OrderContext";import OrderStorageContext from"../../context/OrderStorageContext";import compareObjAttribute from"../../utils/compareObjAttribute";import useCustomContext from"../../utils/hooks/useCustomContext";export function OrderContainer(props){const{orderId,children,metadata,attributes,fetchOrder}=props,[state,dispatch]=useReducer(orderReducer,orderInitialState),[lock,setLock]=useState(!1),[lockOrder,setLockOrder]=useState(!0),config=useCustomContext({context:CommerceLayerContext,contextComponentName:"CommerceLayer",currentComponentName:"OrderContainer"});if(config.accessToken==null)throw new Error("Cannot use `OrderContainer` outside of `CommerceLayer`");const{persistKey,clearWhenPlaced,getLocalOrder,setLocalOrder,deleteLocalOrder}=useContext(OrderStorageContext);useEffect(()=>{state.withoutIncludes||dispatch({type:"setLoading",payload:{loading:!0}})},[state.withoutIncludes]),useEffect(()=>{if(attributes&&state?.order&&!lock){const updateAttributes=compareObjAttribute({attributes,object:state.order});Object.keys(updateAttributes).length>0&&(updateOrder({id:state.order.id,attributes:updateAttributes,dispatch,config,include:state.include,state}),setLock(!0))}return()=>{if(attributes&&state?.order){const updateAttributes=compareObjAttribute({attributes,object:state.order});state.order&&Object.keys(updateAttributes).length===0&&setLock(!1)}}},[attributes,state?.order,lock]),useEffect(()=>{const localOrder=persistKey?getLocalOrder(persistKey):orderId,startRequest=Object.keys(state?.includeLoaded||{}).filter(key=>state?.includeLoaded?.[key]===!0),getOrder=async()=>{localOrder&&await getApiOrder({id:localOrder,dispatch,config,persistKey,clearWhenPlaced:!!(persistKey&&clearWhenPlaced),deleteLocalOrder,state})};return config.accessToken&&!state.loading?localOrder&&!state.order&&state.include?.length===startRequest.length&&!state.withoutIncludes&&!lockOrder?getOrder():state?.order&&fetchOrder?fetchOrder(state.order):state.withoutIncludes&&!state.include?.length&&startRequest.length===0&&getOrder():[config.accessToken,!state.order,state.loading,state.withoutIncludes].every(Boolean)?dispatch({type:"setLoading",payload:{loading:!1}}):[config.accessToken,!state.order,state.loading,!state.withoutIncludes].every(Boolean)&&dispatch({type:"setLoading",payload:{loading:!1}}),()=>{!state.order&&state.loading&&!state.withoutIncludes&&(state.include?.length===0&&startRequest.length>0?dispatch({type:"setLoading",payload:{loading:!1}}):state.include&&state.include?.length>0&&(dispatch({type:"setIncludesResource",payload:{include:[]}}),setLockOrder(!1)))}},[config.accessToken,state.includeLoaded,state.include,orderId,state.order,state.loading,state.withoutIncludes,lockOrder]);const orderValue=useMemo(()=>({...state,setOrder:order=>setOrder(order,dispatch),getOrder:async id=>await getApiOrder({id,dispatch,config,state}),setOrderErrors:errors=>setOrderErrors({dispatch,errors}),createOrder:async()=>await createOrder({persistKey,dispatch,config,state,orderMetadata:metadata,orderAttributes:attributes,setLocalOrder}),addToCart:async params=>await addToCart({...params,persistKey,dispatch,state,config,errors:state.errors,orderMetadata:metadata||{},orderAttributes:attributes,setLocalOrder}),saveAddressToCustomerAddressBook:args=>defaultOrderContext.saveAddressToCustomerAddressBook({...args,dispatch}),setGiftCardOrCouponCode:async({code,codeType})=>await defaultOrderContext.setGiftCardOrCouponCode({code,codeType,dispatch,order:state.order,config,include:state.include,state}),removeGiftCardOrCouponCode:async({codeType})=>await defaultOrderContext.removeGiftCardOrCouponCode({codeType,dispatch,order:state.order,config,include:state.include,state}),addResourceToInclude:args=>defaultOrderContext.addResourceToInclude({...args,dispatch,resourcesIncluded:state.include,resourceIncludedLoaded:state.includeLoaded}),updateOrder:async args=>await defaultOrderContext.updateOrder({...args,dispatch,config,include:state.include,state})}),[state,config.accessToken]);return _jsx(OrderContext.Provider,{value:orderValue,children})}export default OrderContainer;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { BaseAmountComponent } from '../../typings/index';
3
+ export declare function PaymentMethodAmount(props: BaseAmountComponent): JSX.Element;
4
+ export default PaymentMethodAmount;
@@ -0,0 +1 @@
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";export function PaymentMethodAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"payment_method",...props})}export default PaymentMethodAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import Parent from"../utils/Parent";import PlaceOrderContext from"../../context/PlaceOrderContext";import isFunction from"lodash/isFunction";import PaymentMethodContext from"../../context/PaymentMethodContext";import OrderContext from"../../context/OrderContext";import getCardDetails from"../../utils/getCardDetails";export function PlaceOrderButton(props){const ref=useRef(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=useContext(PlaceOrderContext),[notPermitted,setNotPermitted]=useState(!0),[forceDisable,setForceDisable]=useState(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),isFree=order?.total_amount_with_taxes_cents===0;useEffect(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType});(isFree&&isPermitted||currentPaymentMethodRef?.current?.onsubmit||card.brand)&&isPermitted&&setNotPermitted(!1)}else setNotPermitted(!(isFree&&isPermitted));return()=>{setNotPermitted(!0)}},[isPermitted,paymentType,currentPaymentMethodRef?.current?.onsubmit,loading,currentPaymentMethodType,order,paymentSource]),useEffect(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),useEffect(()=>{if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&order?.status&&["draft","pending"].includes(order?.status)){const attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult},paymentData:paymentSource.payment_response.paymentData},_details:1};setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}).then(res=>{const resultCode=res?.payment_response?.resultCode;["Authorised","Pending","Received"].includes(resultCode)&&handleClick()})}paymentType==="adyen_payments"&&options?.adyen?.MD&&options?.adyen?.PaRes&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.adyen,paymentType]),useEffect(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),useEffect(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&getCardDetails({paymentType,customerPayment:{payment_source:paymentSource}});currentPaymentMethodRef?.current?.onsubmit&&[!options?.paypalPayerId,!options?.adyen?.MD,!options?.checkoutCom?.session_id].every(Boolean)?(isValid=await currentPaymentMethodRef.current?.onsubmit(paymentSource),!isValid&&paymentSource.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0);const placed=isValid&&setPlaceOrder&&(paymentSource||isFree)&&await setPlaceOrder({paymentSource});setForceDisable(!1),onClick&&placed&&onClick(placed)},disabledButton=disabled!==void 0?disabled:notPermitted,parentProps={...p,label,disabled:disabledButton,handleClick,ref};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:isFunction(label)?label():label})}export default PlaceOrderButton;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import Parent from"../utils/Parent";import PlaceOrderContext from"../../context/PlaceOrderContext";import isFunction from"lodash/isFunction";import PaymentMethodContext from"../../context/PaymentMethodContext";import OrderContext from"../../context/OrderContext";import getCardDetails from"../../utils/getCardDetails";export function PlaceOrderButton(props){const ref=useRef(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=useContext(PlaceOrderContext),[notPermitted,setNotPermitted]=useState(!0),[forceDisable,setForceDisable]=useState(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource,setPaymentMethodErrors}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),isFree=order?.total_amount_with_taxes_cents===0;useEffect(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType});(isFree&&isPermitted||currentPaymentMethodRef?.current?.onsubmit||card.brand)&&isPermitted&&setNotPermitted(!1)}else setNotPermitted(!(isFree&&isPermitted));return()=>{setNotPermitted(!0)}},[isPermitted,paymentType,currentPaymentMethodRef?.current?.onsubmit,loading,currentPaymentMethodType,order,paymentSource]),useEffect(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),useEffect(()=>{if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&order?.status&&["draft","pending"].includes(order?.status)&&paymentSource!=null){const paymentData=paymentSource?.payment_response?.paymentData,attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult},paymentData},_details:1};paymentData!=null&&setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}).then(res=>{const resultCode=res?.payment_response?.resultCode,errorCode=res?.payment_response?.errorCode,message=res?.payment_response?.message;["Authorised","Pending","Received"].includes(resultCode)?handleClick():errorCode!=null&&setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])})}paymentType==="adyen_payments"&&options?.adyen?.MD&&options?.adyen?.PaRes&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.adyen,paymentType]),useEffect(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),useEffect(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&getCardDetails({paymentType,customerPayment:{payment_source:paymentSource}});currentPaymentMethodRef?.current?.onsubmit&&[!options?.paypalPayerId,!options?.adyen?.MD,!options?.checkoutCom?.session_id].every(Boolean)?(isValid=await currentPaymentMethodRef.current?.onsubmit(paymentSource),!isValid&&paymentSource.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0);const placed=isValid&&setPlaceOrder&&(paymentSource||isFree)&&await setPlaceOrder({paymentSource});setForceDisable(!1),onClick&&placed&&onClick(placed)},disabledButton=disabled!==void 0?disabled:notPermitted,parentProps={...p,label,disabled:disabledButton,handleClick,ref};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:isFunction(label)?label():label})}export default PlaceOrderButton;
@@ -1,14 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { PlaceOrderOptions } from '../../reducers/PlaceOrderReducer';
3
- declare type Props = {
3
+ interface Props {
4
4
  children: ReactNode;
5
5
  options?: PlaceOrderOptions;
6
- };
7
- export declare function PlaceOrderContainer(props: Props): JSX.Element;
8
- export declare namespace PlaceOrderContainer {
9
- var propTypes: {
10
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
11
- };
12
- var displayName: string;
13
6
  }
7
+ export declare function PlaceOrderContainer(props: Props): JSX.Element;
14
8
  export default PlaceOrderContainer;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import PlaceOrderContext from"../../context/PlaceOrderContext";import{useContext,useEffect,useReducer}from"react";import placeOrderReducer,{placeOrderInitialState,placeOrderPermitted,setButtonRef}from"../../reducers/PlaceOrderReducer";import OrderContext from"../../context/OrderContext";import CommerceLayerContext from"../../context/CommerceLayerContext";import components from"../../config/components";import{setPlaceOrder}from"../../reducers/PlaceOrderReducer";const propTypes=components.PlaceOrderContainer.propTypes,displayName=components.PlaceOrderContainer.displayName;export function PlaceOrderContainer(props){const{children,options}=props,[state,dispatch]=useReducer(placeOrderReducer,placeOrderInitialState),{order,setOrder,setOrderErrors,include,addResourceToInclude,includeLoaded}=useContext(OrderContext),config=useContext(CommerceLayerContext);useEffect(()=>{include?.includes("shipments.available_shipping_methods")?includeLoaded?.["shipments.available_shipping_methods"]||addResourceToInclude({newResourceLoaded:{"shipments.available_shipping_methods":!0,"shipments.shipment_line_items.line_item":!0,"shipments.shipping_method":!0,"shipments.stock_transfers.line_item":!0,"shipments.stock_location":!0}}):addResourceToInclude({newResource:["shipments.available_shipping_methods","shipments.shipment_line_items.line_item","shipments.shipping_method","shipments.stock_transfers.line_item","shipments.stock_location"]}),include?.includes("billing_address")?includeLoaded?.billing_address||addResourceToInclude({newResourceLoaded:{billing_address:!0}}):addResourceToInclude({newResource:"billing_address"}),include?.includes("shipping_address")?includeLoaded?.shipping_address||addResourceToInclude({newResourceLoaded:{shipping_address:!0}}):addResourceToInclude({newResource:"shipping_address",resourcesIncluded:include}),order&&placeOrderPermitted({config,dispatch,order,options:{...options}})},[order,include,includeLoaded]);const contextValue={...state,setPlaceOrder:({paymentSource})=>setPlaceOrder({config,order,state,setOrderErrors,paymentSource,include,setOrder}),placeOrderPermitted:()=>placeOrderPermitted({config,dispatch,order,options:{...options}}),setButtonRef:ref=>setButtonRef(ref,dispatch)};return _jsx(PlaceOrderContext.Provider,{value:contextValue,children})}PlaceOrderContainer.propTypes=propTypes,PlaceOrderContainer.displayName=displayName;export default PlaceOrderContainer;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import PlaceOrderContext from"../../context/PlaceOrderContext";import{useContext,useEffect,useReducer}from"react";import placeOrderReducer,{placeOrderInitialState,placeOrderPermitted,setButtonRef}from"../../reducers/PlaceOrderReducer";import OrderContext from"../../context/OrderContext";import CommerceLayerContext from"../../context/CommerceLayerContext";import{setPlaceOrder}from"../../reducers/PlaceOrderReducer";import useCustomContext from"../../utils/hooks/useCustomContext";export function PlaceOrderContainer(props){const{children,options}=props,[state,dispatch]=useReducer(placeOrderReducer,placeOrderInitialState),{order,setOrder,setOrderErrors,include,addResourceToInclude,includeLoaded}=useCustomContext({context:OrderContext,contextComponentName:"OrderContainer",currentComponentName:"PlaceOrderContainer",key:"order"}),config=useContext(CommerceLayerContext);useEffect(()=>{include?.includes("shipments.available_shipping_methods")?includeLoaded?.["shipments.available_shipping_methods"]||addResourceToInclude({newResourceLoaded:{"shipments.available_shipping_methods":!0,"shipments.shipment_line_items.line_item":!0,"shipments.shipping_method":!0,"shipments.stock_transfers.line_item":!0,"shipments.stock_location":!0}}):addResourceToInclude({newResource:["shipments.available_shipping_methods","shipments.shipment_line_items.line_item","shipments.shipping_method","shipments.stock_transfers.line_item","shipments.stock_location"]}),include?.includes("billing_address")?includeLoaded?.billing_address||addResourceToInclude({newResourceLoaded:{billing_address:!0}}):addResourceToInclude({newResource:"billing_address"}),include?.includes("shipping_address")?includeLoaded?.shipping_address||addResourceToInclude({newResourceLoaded:{shipping_address:!0}}):addResourceToInclude({newResource:"shipping_address",resourcesIncluded:include}),order&&placeOrderPermitted({config,dispatch,order,options:{...options}})},[order,include,includeLoaded]);const contextValue={...state,setPlaceOrder:async({paymentSource})=>await setPlaceOrder({config,order,state,setOrderErrors,paymentSource,include,setOrder}),placeOrderPermitted:()=>placeOrderPermitted({config,dispatch,order,options:{...options}}),setButtonRef:ref=>setButtonRef(ref,dispatch)};return _jsx(PlaceOrderContext.Provider,{value:contextValue,children})}export default PlaceOrderContainer;
@@ -1,10 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseInputProps } from '../utils/BaseInput';
3
3
  export declare function PrivacyAndTermsCheckbox(props: Partial<BaseInputProps>): JSX.Element;
4
- export declare namespace PrivacyAndTermsCheckbox {
5
- var propTypes: {
6
- children: import("prop-types").Requireable<(...args: any[]) => any>;
7
- };
8
- var displayName: string;
9
- }
10
4
  export default PrivacyAndTermsCheckbox;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import components from"../../config/components";import OrderContext from"../../context/OrderContext";import PlaceOrderContext from"../../context/PlaceOrderContext";import{useContext,useEffect,useState}from"react";import BaseInput from"../utils/BaseInput";const propTypes=components.PrivacyAndTermsCheckbox.propTypes,displayName=components.PrivacyAndTermsCheckbox.displayName;export function PrivacyAndTermsCheckbox(props){const{order}=useContext(OrderContext),{placeOrderPermitted}=useContext(PlaceOrderContext),[forceDisabled,setForceDisabled]=useState(!0),[checked,setChecked]=useState(!1),fieldName="privacy-terms",handleChange=e=>{const v=e.target?.checked;setChecked(v),localStorage.setItem(fieldName,`${v}`),placeOrderPermitted&&placeOrderPermitted()};return useEffect(()=>(order?.privacy_url&&order?.terms_url&&setForceDisabled(!1),checked||localStorage.setItem(fieldName,`${checked}`),()=>{setForceDisabled(!0),localStorage.removeItem(fieldName)}),[order?.privacy_url,order?.terms_url]),_jsx(BaseInput,{type:"checkbox",name:fieldName,disabled:forceDisabled,onChange:handleChange,checked,...props})}PrivacyAndTermsCheckbox.propTypes=propTypes,PrivacyAndTermsCheckbox.displayName=displayName;export default PrivacyAndTermsCheckbox;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import OrderContext from"../../context/OrderContext";import PlaceOrderContext from"../../context/PlaceOrderContext";import{useContext,useEffect,useState}from"react";import BaseInput from"../utils/BaseInput";export function PrivacyAndTermsCheckbox(props){const{order}=useContext(OrderContext),{placeOrderPermitted}=useContext(PlaceOrderContext),[forceDisabled,setForceDisabled]=useState(!0),[checked,setChecked]=useState(!1),fieldName="privacy-terms",handleChange=e=>{const v=e.target?.checked;setChecked(v),localStorage.setItem(fieldName,v.toString()),placeOrderPermitted&&placeOrderPermitted()};return useEffect(()=>(order?.privacy_url&&order?.terms_url&&setForceDisabled(!1),checked||localStorage.setItem(fieldName,checked.toString()),()=>{setForceDisabled(!0),localStorage.removeItem(fieldName)}),[order?.privacy_url,order?.terms_url]),_jsx(BaseInput,{type:"checkbox",name:fieldName,disabled:forceDisabled,onChange:handleChange,checked,...props})}export default PrivacyAndTermsCheckbox;
@@ -1,15 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function ShippingAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace ShippingAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var displayName: string;
14
- }
15
4
  export default ShippingAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";import components from"../../config/components";const propTypes=components.ShippingAmount.propTypes,displayName=components.ShippingAmount.displayName;export function ShippingAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"shipping",...props})}ShippingAmount.propTypes=propTypes,ShippingAmount.displayName=displayName;export default ShippingAmount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";export function ShippingAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"shipping",...props})}export default ShippingAmount;
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function SubTotalAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace SubTotalAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var defaultProps: {
14
- format: import("../../typings/index").BaseFormatPrice;
15
- };
16
- var displayName: string;
17
- }
18
4
  export default SubTotalAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";import components from"../../config/components";const propTypes=components.SubTotalAmount.propTypes,defaultProps=components.SubTotalAmount.defaultProps,displayName=components.SubTotalAmount.displayName;export function SubTotalAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"subtotal",...props})}SubTotalAmount.propTypes=propTypes,SubTotalAmount.defaultProps=defaultProps,SubTotalAmount.displayName=displayName;export default SubTotalAmount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";export function SubTotalAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"subtotal",...props})}export default SubTotalAmount;
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function TaxesAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace TaxesAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var defaultProps: {
14
- format: import("../../typings/index").BaseFormatPrice;
15
- };
16
- var displayName: string;
17
- }
18
4
  export default TaxesAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";import components from"../../config/components";const propTypes=components.TaxesAmount.propTypes,defaultProps=components.TaxesAmount.defaultProps,displayName=components.TaxesAmount.displayName;export function TaxesAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"total_tax",...props})}TaxesAmount.propTypes=propTypes,TaxesAmount.defaultProps=defaultProps,TaxesAmount.displayName=displayName;export default TaxesAmount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";export function TaxesAmount(props){return _jsx(BaseOrderPrice,{base:"amount",type:"total_tax",...props})}export default TaxesAmount;
@@ -1,18 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
3
  export declare function TotalAmount(props: BaseAmountComponent): JSX.Element;
4
- export declare namespace TotalAmount {
5
- var propTypes: {
6
- id: import("prop-types").Requireable<string>;
7
- className: import("prop-types").Requireable<string>;
8
- style: import("prop-types").Requireable<object>;
9
- name: import("prop-types").Requireable<string>;
10
- children: import("prop-types").Requireable<(...args: any[]) => any>;
11
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
12
- };
13
- var defaultProps: {
14
- format: import("../../typings/index").BaseFormatPrice;
15
- };
16
- var displayName: string;
17
- }
18
4
  export default TotalAmount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";import components from"../../config/components";const propTypes=components.TotalAmount.propTypes,defaultProps=components.TotalAmount.defaultProps,displayName=components.TotalAmount.displayName;export function TotalAmount(props){return _jsx(BaseOrderPrice,{base:"total_amount",type:"with_taxes",...props})}TotalAmount.propTypes=propTypes,TotalAmount.defaultProps=defaultProps,TotalAmount.displayName=displayName;export default TotalAmount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import BaseOrderPrice from"../utils/BaseOrderPrice";export function TotalAmount(props){return _jsx(BaseOrderPrice,{base:"total_amount",type:"with_taxes",...props})}export default TotalAmount;
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ import type { Parcel } from '@commercelayer/sdk';
4
+ interface ChildrenProps extends Omit<Props, 'children'> {
5
+ /**
6
+ * Parcel of the current shipment
7
+ */
8
+ parcel?: Parcel;
9
+ /**
10
+ * Quantity of the parcel line items
11
+ */
12
+ quantity: number;
13
+ }
14
+ interface Props extends Omit<JSX.IntrinsicElements['span'], 'children'> {
15
+ children?: ChildrenFunction<ChildrenProps>;
16
+ }
17
+ export declare function ParcelLineItemsCount({ children, ...p }: Props): JSX.Element;
18
+ export default ParcelLineItemsCount;
@@ -0,0 +1 @@
1
+ import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";import ParcelChildrenContext from"../../context/ParcelChildrenContext";import useCustomContext from"../../utils/hooks/useCustomContext";export function ParcelLineItemsCount({children,...p}){const{parcel}=useCustomContext({context:ParcelChildrenContext,contextComponentName:"Parcels",currentComponentName:"ParcelLineItemsCount",key:"parcel"}),quantity=parcel?.parcel_line_items?.length??0,childrenProps={...p,quantity,parcel};return children?_jsx(Parent,{...childrenProps,children}):_jsx("span",{...p,children:quantity})}export default ParcelLineItemsCount;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";import ShipmentChildrenContext from"../../context/ShipmentChildrenContext";import{useContext}from"react";export function ParcelsCount({children,...p}){const{parcels}=useContext(ShipmentChildrenContext);if(parcels===void 0)throw new Error("Cannot use `ParcelsCount` outside of `ShipmentsContainer`");const quantity=parcels.length,childrenProps={...p,quantity,parcels};return children?_jsx(Parent,{...childrenProps,children}):_jsx("span",{...p,children:quantity})}export default ParcelsCount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";import ShipmentChildrenContext from"../../context/ShipmentChildrenContext";import useCustomContext from"../../utils/hooks/useCustomContext";export function ParcelsCount({children,...p}){const{parcels}=useCustomContext({context:ShipmentChildrenContext,contextComponentName:"ShipmentsContainer",currentComponentName:"ParcelsCount",key:"parcels"}),quantity=parcels?.length??0,childrenProps={...p,quantity,parcels};return children?_jsx(Parent,{...childrenProps,children}):_jsx("span",{...p,children:quantity})}export default ParcelsCount;
@@ -1 +1 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import CommerceLayerContext from"../../context/CommerceLayerContext";import CustomerContext from"../../context/CustomerContext";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import{getPaymentConfig}from"../../reducers/PaymentMethodReducer";import isEmpty from"lodash/isEmpty";import{useContext}from"react";import AdyenPayment from"../payment_source/AdyenPayment";import PaymentCardsTemplate from"../utils/PaymentCardsTemplate";import jwt from"../../utils/jwt";import getCardDetails from"../../utils/getCardDetails";export function AdyenGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=useContext(OrderContext),{accessToken}=useContext(CommerceLayerContext),{payment}=useContext(PaymentMethodChildrenContext),{payments,isGuest}=useContext(CustomerContext),{currentPaymentMethodId,config,paymentSource}=useContext(PaymentMethodContext),paymentResource="adyen_payments",locale=order?.language_code,paymentMethods=paymentSource?.payment_methods;if(!readonly&&payment?.id!==currentPaymentMethodId)return null;const clientKey=paymentSource?.public_key,environment=jwt(accessToken).test?"test":"live",adyenConfig=config?getPaymentConfig(paymentResource,config):{},customerPayments=!isEmpty(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type==="adyen_payments"):[];if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}return!isGuest&&templateCustomerCards?clientKey&&!loading&&paymentMethods?_jsxs(_Fragment,{children:[isEmpty(customerPayments)?null:_jsx("div",{className:p.className,children:_jsx(PaymentCardsTemplate,{paymentResource,customerPayments,children:templateCustomerCards})}),_jsx(AdyenPayment,{templateCustomerSaveToWallet,clientKey,locale,environment,config:adyenConfig})]}):loaderComponent:clientKey&&!loading&&paymentMethods?_jsx(AdyenPayment,{clientKey,locale,config:adyenConfig,environment}):loaderComponent}export default AdyenGateway;
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import CommerceLayerContext from"../../context/CommerceLayerContext";import CustomerContext from"../../context/CustomerContext";import OrderContext from"../../context/OrderContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentSourceContext from"../../context/PaymentSourceContext";import{getPaymentConfig}from"../../reducers/PaymentMethodReducer";import isEmpty from"lodash/isEmpty";import{useContext}from"react";import AdyenPayment from"../payment_source/AdyenPayment";import PaymentCardsTemplate from"../utils/PaymentCardsTemplate";import jwt from"../../utils/jwt";import getCardDetails from"../../utils/getCardDetails";export function AdyenGateway(props){const{readonly,showCard,handleEditClick,children,templateCustomerCards,loading,loaderComponent,templateCustomerSaveToWallet,...p}=props,{order}=useContext(OrderContext),{accessToken}=useContext(CommerceLayerContext),{payment}=useContext(PaymentMethodChildrenContext),{payments,isGuest}=useContext(CustomerContext),{currentPaymentMethodId,config,paymentSource}=useContext(PaymentMethodContext),paymentResource="adyen_payments",locale=order?.language_code,paymentMethods=paymentSource?.payment_methods;if(!readonly&&payment?.id!==currentPaymentMethodId)return null;const clientKey=paymentSource?.public_key,environment=accessToken&&jwt(accessToken).test?"test":"live",adyenConfig=config?getPaymentConfig(paymentResource,config):{},customerPayments=!isEmpty(payments)&&payments?payments.filter(customerPayment=>customerPayment.payment_source?.type==="adyen_payments"):[];if(readonly||showCard){const card=getCardDetails({customerPayment:{payment_source:paymentSource},paymentType:paymentResource}),value={...card,showCard,handleEditClick,readonly};return isEmpty(card)?null:_jsx(PaymentSourceContext.Provider,{value,children})}return!isGuest&&templateCustomerCards?clientKey&&!loading&&paymentMethods?_jsxs(_Fragment,{children:[isEmpty(customerPayments)?null:_jsx("div",{className:p.className,children:_jsx(PaymentCardsTemplate,{paymentResource,customerPayments,children:templateCustomerCards})}),_jsx(AdyenPayment,{templateCustomerSaveToWallet,clientKey,locale,environment,config:adyenConfig})]}):loaderComponent:clientKey&&!loading&&paymentMethods?_jsx(AdyenPayment,{clientKey,locale,config:adyenConfig,environment}):loaderComponent}export default AdyenGateway;
@@ -6,7 +6,7 @@ declare type Props = {
6
6
  /**
7
7
  * Hide payment methods by an array of strings
8
8
  */
9
- hide?: Array<PaymentResource>;
9
+ hide?: PaymentResource[];
10
10
  children: ReactNode;
11
11
  activeClass?: string;
12
12
  loader?: LoaderType;
@@ -18,10 +18,4 @@ declare type Props = {
18
18
  onClick?: never;
19
19
  });
20
20
  export declare function PaymentMethod({ children, className, activeClass, loader, clickableContainer, hide, onClick, ...p }: Props): JSX.Element;
21
- export declare namespace PaymentMethod {
22
- var propTypes: {
23
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
24
- };
25
- var displayName: string;
26
- }
27
21
  export default PaymentMethod;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{Fragment,useContext,useState,useEffect}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import components from"../../config/components";import getLoaderComponent from"../../utils/getLoaderComponent";const propTypes=components.PaymentMethod.propTypes,displayName=components.PaymentMethod.displayName;export function PaymentMethod({children,className,activeClass,loader="Loading...",clickableContainer,hide,onClick,...p}){const[loading,setLoading]=useState(!0),[paymentSelected,setPaymentSelected]=useState(""),{paymentMethods,currentPaymentMethodId,setPaymentMethod,setLoading:setLoadingPlaceOrder}=useContext(PaymentMethodContext);useEffect(()=>(paymentMethods&&setLoading(!1),currentPaymentMethodId&&setPaymentSelected(currentPaymentMethodId),()=>{setLoading(!0)}),[paymentMethods,currentPaymentMethodId]);const components2=paymentMethods&&paymentMethods.filter(payment=>{if(hide){const source=payment?.payment_source_type;return hide?.includes(source)===!1}return!0}).map((payment,k)=>{const isActive=currentPaymentMethodId===payment?.id,paymentMethodProps={payment,clickableContainer,paymentSelected,setPaymentSelected},paymentResource=payment?.payment_source_type,onClickable=clickableContainer?async e=>{e.stopPropagation(),setLoadingPlaceOrder({loading:!0}),setPaymentSelected(payment.id);const paymentMethodId=payment?.id;await setPaymentMethod({paymentResource,paymentMethodId}),onClick&&onClick(payment),setLoadingPlaceOrder({loading:!1})}:void 0;return _jsx("div",{"data-test-id":paymentResource,className:`${className} ${isActive?activeClass:""}`,onClick:onClickable,...p,children:_jsx(PaymentMethodChildrenContext.Provider,{value:paymentMethodProps,children})},k)});return loading?getLoaderComponent(loader):_jsx(Fragment,{children:components2})}PaymentMethod.propTypes=propTypes,PaymentMethod.displayName=displayName;export default PaymentMethod;
1
+ import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useState,useEffect}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import getLoaderComponent from"../../utils/getLoaderComponent";import useCustomContext from"../../utils/hooks/useCustomContext";export function PaymentMethod({children,className,activeClass,loader="Loading...",clickableContainer,hide,onClick,...p}){const[loading,setLoading]=useState(!0),[paymentSelected,setPaymentSelected]=useState(""),{paymentMethods,currentPaymentMethodId,setPaymentMethod,setLoading:setLoadingPlaceOrder}=useCustomContext({context:PaymentMethodContext,contextComponentName:"PaymentMethodsContainer",currentComponentName:"PaymentMethod",key:"paymentMethods"});useEffect(()=>(paymentMethods&&setLoading(!1),currentPaymentMethodId&&setPaymentSelected(currentPaymentMethodId),()=>{setLoading(!0)}),[paymentMethods,currentPaymentMethodId]);const components=paymentMethods?.filter(payment=>{if(hide){const source=payment?.payment_source_type;return!hide?.includes(source)}return!0}).map((payment,k)=>{const isActive=currentPaymentMethodId===payment?.id,paymentMethodProps={payment,clickableContainer,paymentSelected,setPaymentSelected},paymentResource=payment?.payment_source_type,onClickable=clickableContainer?async e=>{e.stopPropagation(),setLoadingPlaceOrder({loading:!0}),setPaymentSelected(payment.id);const paymentMethodId=payment?.id;await setPaymentMethod({paymentResource,paymentMethodId}),onClick&&onClick(payment),setLoadingPlaceOrder({loading:!1})}:void 0;return _jsx("div",{"data-test-id":paymentResource,className:`${className??""} ${isActive&&activeClass!=null?activeClass:""}`,onClick:onClickable,...p,children:_jsx(PaymentMethodChildrenContext.Provider,{value:paymentMethodProps,children})},k)});return loading?getLoaderComponent(loader):_jsx(_Fragment,{children:components})}export default PaymentMethod;
@@ -1,15 +1,10 @@
1
1
  /// <reference types="react" />
2
- declare type PaymentMethodNameChildrenProps = Omit<Props, 'children'> & {
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ interface ChildrenProps extends Omit<Props, 'children'> {
3
4
  labelName: string;
4
- };
5
- declare type Props = {
6
- children?: (props: PaymentMethodNameChildrenProps) => JSX.Element;
7
- } & JSX.IntrinsicElements['label'];
8
- export declare function PaymentMethodName(props: Props): JSX.Element;
9
- export declare namespace PaymentMethodName {
10
- var propTypes: {
11
- children: import("prop-types").Requireable<(...args: any[]) => any>;
12
- };
13
- var displayName: string;
14
5
  }
6
+ interface Props extends Omit<JSX.IntrinsicElements['label'], 'children'> {
7
+ children?: ChildrenFunction<ChildrenProps>;
8
+ }
9
+ export declare function PaymentMethodName(props: Props): JSX.Element;
15
10
  export default PaymentMethodName;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import Parent from"../utils/Parent";import components from"../../config/components";const propTypes=components.PaymentMethodName.propTypes,displayName=components.PaymentMethodName.displayName;export function PaymentMethodName(props){const{payment}=useContext(PaymentMethodChildrenContext),labelName=payment?.name,htmlFor=payment?.payment_source_type,parentProps={htmlFor,labelName,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("label",{htmlFor,...props,children:labelName})}PaymentMethodName.propTypes=propTypes,PaymentMethodName.displayName=displayName;export default PaymentMethodName;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import Parent from"../utils/Parent";import useCustomContext from"../../utils/hooks/useCustomContext";export function PaymentMethodName(props){const{payment}=useCustomContext({context:PaymentMethodChildrenContext,contextComponentName:"PaymentMethod",currentComponentName:"PaymentMethodName",key:"payment"}),labelName=payment?.name,htmlFor=payment?.payment_source_type,parentProps={htmlFor,labelName,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("label",{htmlFor,...props,children:labelName})}export default PaymentMethodName;
@@ -1,20 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseAmountComponent } from '../../typings/index';
3
- declare type Props = {
3
+ interface Props extends BaseAmountComponent {
4
4
  type?: 'amount';
5
5
  labelFree?: string;
6
- } & BaseAmountComponent;
7
- export declare function PaymentMethodPrice(props: Props): JSX.Element;
8
- export declare namespace PaymentMethodPrice {
9
- var propTypes: {
10
- type: import("prop-types").Requireable<"amount">;
11
- id: import("prop-types").Requireable<string>;
12
- className: import("prop-types").Requireable<string>;
13
- style: import("prop-types").Requireable<object>;
14
- name: import("prop-types").Requireable<string>;
15
- children: import("prop-types").Requireable<(...args: any[]) => any>;
16
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
17
- };
18
- var displayName: string;
19
6
  }
7
+ export declare function PaymentMethodPrice(props: Props): JSX.Element;
20
8
  export default PaymentMethodPrice;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect,useContext}from"react";import getAmount from"../../utils/getAmount";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import Parent from"../utils/Parent";import components from"../../config/components";const propTypes=components.PaymentMethodPrice.propTypes,displayName=components.PaymentMethodPrice.displayName;export function PaymentMethodPrice(props){const{format="formatted",type="amount",labelFree="Free",...p}=props,{payment}=useContext(PaymentMethodChildrenContext),[price,setPrice]=useState(""),[priceCents,setPriceCents]=useState(0);useEffect(()=>{if(payment){const p2=getAmount({base:"price",type,format,obj:payment});setPrice(p2);const c=getAmount({base:"price",type,format:"cents",obj:payment});setPriceCents(c)}return()=>{setPrice(""),setPriceCents(0)}},[payment]);const parentProps={labelFree,price,priceCents,...p};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("span",{...p,children:priceCents===0?labelFree:price})}PaymentMethodPrice.propTypes=propTypes,PaymentMethodPrice.displayName=displayName;export default PaymentMethodPrice;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect}from"react";import getAmount from"../../utils/getAmount";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import Parent from"../utils/Parent";import useCustomContext from"../../utils/hooks/useCustomContext";export function PaymentMethodPrice(props){const{format="formatted",type="amount",labelFree="Free",...p}=props,{payment}=useCustomContext({context:PaymentMethodChildrenContext,contextComponentName:"PaymentMethod",currentComponentName:"PaymentMethodPrice",key:"payment"}),[price,setPrice]=useState(""),[priceCents,setPriceCents]=useState(0);useEffect(()=>{if(payment){const p2=getAmount({base:"price",type,format,obj:payment});setPrice(p2);const c=getAmount({base:"price",type,format:"cents",obj:payment});setPriceCents(c)}return()=>{setPrice(""),setPriceCents(0)}},[payment]);const parentProps={labelFree,price,priceCents,...p};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("span",{...p,children:priceCents===0?labelFree:price})}export default PaymentMethodPrice;
@@ -1,18 +1,13 @@
1
1
  import { ChangeEvent } from 'react';
2
2
  import { PaymentMethod } from '@commercelayer/sdk';
3
- declare type ShippingMethodRadioButtonChildrenProps = Omit<Props, 'children'> & {
3
+ import { ChildrenFunction } from '../../typings/index';
4
+ interface ChildrenProps extends Omit<Props, 'children'> {
4
5
  checked: boolean;
5
6
  handleOnChange: (event: ChangeEvent<HTMLInputElement>) => Promise<void>;
6
- };
7
+ }
7
8
  declare type Props = {
8
- children?: (props: ShippingMethodRadioButtonChildrenProps) => JSX.Element;
9
+ children?: ChildrenFunction<ChildrenProps>;
9
10
  onChange?: (payment?: PaymentMethod | Record<string, any>) => void;
10
11
  } & JSX.IntrinsicElements['input'];
11
12
  export declare function PaymentMethodRadioButton(props: Props): JSX.Element;
12
- export declare namespace PaymentMethodRadioButton {
13
- var propTypes: {
14
- children: import("prop-types").Requireable<(...args: any[]) => any>;
15
- };
16
- var displayName: string;
17
- }
18
13
  export default PaymentMethodRadioButton;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import Parent from"../utils/Parent";import components from"../../config/components";import PaymentMethodContext from"../../context/PaymentMethodContext";import OrderContext from"../../context/OrderContext";const propTypes=components.PaymentMethodRadioButton.propTypes,displayName=components.PaymentMethodRadioButton.displayName;export function PaymentMethodRadioButton(props){const{onChange,...p}=props,{payment,paymentSelected,setPaymentSelected,clickableContainer}=useContext(PaymentMethodChildrenContext),{order}=useContext(OrderContext),{setPaymentMethod,setLoading}=useContext(PaymentMethodContext),orderId=order?.id||"",paymentResource=payment?.payment_source_type,paymentMethodId=payment?.id,name=`payment-${orderId}`,checked=paymentSelected===payment?.id,handleOnChange=async e=>{e.stopPropagation(),setPaymentSelected&&setPaymentSelected(paymentMethodId),setLoading({loading:!0}),!clickableContainer&&await setPaymentMethod({paymentResource,paymentMethodId}),onChange&&onChange(payment),setLoading({loading:!1})},id=payment?.payment_source_type,parentProps={handleOnChange,checked,id,name,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("input",{title:name,type:"radio",id,onChange:handleOnChange,checked,...p})}PaymentMethodRadioButton.propTypes=propTypes,PaymentMethodRadioButton.displayName=displayName;export default PaymentMethodRadioButton;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import Parent from"../utils/Parent";import PaymentMethodContext from"../../context/PaymentMethodContext";import OrderContext from"../../context/OrderContext";import useCustomContext from"../../utils/hooks/useCustomContext";export function PaymentMethodRadioButton(props){const{onChange,...p}=props,{payment,paymentSelected,setPaymentSelected,clickableContainer}=useCustomContext({context:PaymentMethodChildrenContext,contextComponentName:"PaymentMethod",currentComponentName:"PaymentMethodRadioButton",key:"payment"}),{order}=useContext(OrderContext),{setPaymentMethod,setLoading}=useContext(PaymentMethodContext),orderId=order?.id||"",paymentResource=payment?.payment_source_type,paymentMethodId=payment?.id,name=`payment-${orderId}`,checked=paymentSelected===payment?.id,handleOnChange=async e=>{e.stopPropagation(),setPaymentSelected&&setPaymentSelected(paymentMethodId),setLoading({loading:!0}),!clickableContainer&&await setPaymentMethod({paymentResource,paymentMethodId}),onChange&&onChange(payment),setLoading({loading:!1})},id=payment?.payment_source_type,parentProps={handleOnChange,checked,id,name,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("input",{title:name,type:"radio",id,onChange:e=>{handleOnChange(e)},checked,...p})}export default PaymentMethodRadioButton;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import PaymentMethodContext,{defaultPaymentMethodContext}from"../../context/PaymentMethodContext";import{useContext,useEffect,useReducer,useMemo}from"react";import paymentMethodReducer,{paymentMethodInitialState,getPaymentMethods,setPaymentMethodConfig,setPaymentRef}from"../../reducers/PaymentMethodReducer";import OrderContext from"../../context/OrderContext";import CommerceLayerContext from"../../context/CommerceLayerContext";import{isEmpty}from"lodash";export function PaymentMethodsContainer(props){const{children,config}=props,[state,dispatch]=useReducer(paymentMethodReducer,paymentMethodInitialState),{order,getOrder,setOrderErrors,include,addResourceToInclude,updateOrder,includeLoaded}=useContext(OrderContext),credentials=useContext(CommerceLayerContext);async function getPayMethods(){order&&await getPaymentMethods({order,dispatch})}useEffect(()=>{include?.includes("available_payment_methods")?includeLoaded?.available_payment_methods||addResourceToInclude({newResourceLoaded:{available_payment_methods:!0,payment_source:!0,payment_method:!0,"line_items.line_item_options.sku_option":!0,"line_items.item":!0}}):addResourceToInclude({newResource:["available_payment_methods","payment_source","payment_method","line_items.line_item_options.sku_option","line_items.item"]}),config&&isEmpty(state.config)&&setPaymentMethodConfig(config,dispatch),credentials&&order&&!state.paymentMethods&&getPayMethods(),order?.payment_source&&dispatch({type:"setPaymentSource",payload:{paymentSource:order?.payment_source}}),order?.payment_source===null&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},[order,credentials,include,includeLoaded]);const contextValue=useMemo(()=>({...state,setLoading:({loading})=>defaultPaymentMethodContext.setLoading({loading,dispatch}),setPaymentRef:({ref})=>setPaymentRef({ref,dispatch}),setPaymentMethodErrors:errors=>defaultPaymentMethodContext.setPaymentMethodErrors(errors,dispatch),setPaymentMethod:async args=>await defaultPaymentMethodContext.setPaymentMethod({...args,config:credentials,updateOrder,order,dispatch,setOrderErrors}),setPaymentSource:async args=>await defaultPaymentMethodContext.setPaymentSource({...state,...args,config:credentials,dispatch,getOrder,updateOrder,order}),updatePaymentSource:async args=>await defaultPaymentMethodContext.updatePaymentSource({...args,config:credentials,dispatch}),destroyPaymentSource:async args=>await defaultPaymentMethodContext.destroyPaymentSource({...args,dispatch,config:credentials,updateOrder,orderId:order?.id})}),[state]);return _jsx(PaymentMethodContext.Provider,{value:contextValue,children})}export default PaymentMethodsContainer;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import PaymentMethodContext,{defaultPaymentMethodContext}from"../../context/PaymentMethodContext";import{useContext,useEffect,useReducer,useMemo}from"react";import paymentMethodReducer,{paymentMethodInitialState,getPaymentMethods,setPaymentMethodConfig,setPaymentRef}from"../../reducers/PaymentMethodReducer";import OrderContext from"../../context/OrderContext";import CommerceLayerContext from"../../context/CommerceLayerContext";import{isEmpty}from"lodash";import useCustomContext from"../../utils/hooks/useCustomContext";export function PaymentMethodsContainer(props){const{children,config}=props,[state,dispatch]=useReducer(paymentMethodReducer,paymentMethodInitialState),{order,getOrder,setOrderErrors,include,addResourceToInclude,updateOrder,includeLoaded}=useCustomContext({context:OrderContext,contextComponentName:"OrderContainer",currentComponentName:"PaymentMethodsContainer",key:"order"}),credentials=useContext(CommerceLayerContext);async function getPayMethods(){order&&await getPaymentMethods({order,dispatch})}useEffect(()=>{include?.includes("available_payment_methods")?includeLoaded?.available_payment_methods||addResourceToInclude({newResourceLoaded:{available_payment_methods:!0,payment_source:!0,payment_method:!0,"line_items.line_item_options.sku_option":!0,"line_items.item":!0}}):addResourceToInclude({newResource:["available_payment_methods","payment_source","payment_method","line_items.line_item_options.sku_option","line_items.item"]}),config&&isEmpty(state.config)&&setPaymentMethodConfig(config,dispatch),credentials&&order&&!state.paymentMethods&&getPayMethods(),order?.payment_source&&dispatch({type:"setPaymentSource",payload:{paymentSource:order?.payment_source}}),order?.payment_source===null&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},[order,credentials,include,includeLoaded]);const contextValue=useMemo(()=>({...state,setLoading:({loading})=>defaultPaymentMethodContext.setLoading({loading,dispatch}),setPaymentRef:({ref})=>setPaymentRef({ref,dispatch}),setPaymentMethodErrors:errors=>defaultPaymentMethodContext.setPaymentMethodErrors(errors,dispatch),setPaymentMethod:async args=>await defaultPaymentMethodContext.setPaymentMethod({...args,config:credentials,updateOrder,order,dispatch,setOrderErrors}),setPaymentSource:async args=>await defaultPaymentMethodContext.setPaymentSource({...state,...args,config:credentials,dispatch,getOrder,updateOrder,order}),updatePaymentSource:async args=>await defaultPaymentMethodContext.updatePaymentSource({...args,config:credentials,dispatch}),destroyPaymentSource:async args=>await defaultPaymentMethodContext.destroyPaymentSource({...args,dispatch,config:credentials,updateOrder,orderId:order?.id})}),[state]);return _jsx(PaymentMethodContext.Provider,{value:contextValue,children})}export default PaymentMethodsContainer;
@@ -36,20 +36,20 @@ interface PaymentMethodsStyle {
36
36
  card?: Styles;
37
37
  paypal?: PaypalStyle;
38
38
  }
39
- export declare type AdyenPaymentConfig = {
39
+ export interface AdyenPaymentConfig {
40
40
  cardContainerClassName?: string;
41
41
  threeDSecureContainerClassName?: string;
42
42
  placeOrderCallback?: (response: {
43
43
  placed: boolean;
44
44
  }) => void;
45
45
  styles?: PaymentMethodsStyle;
46
- };
47
- declare type Props = {
46
+ }
47
+ interface Props {
48
48
  clientKey?: string;
49
49
  config?: AdyenPaymentConfig;
50
50
  templateCustomerSaveToWallet?: PaymentSourceProps['templateCustomerSaveToWallet'];
51
51
  locale?: string;
52
52
  environment?: string;
53
- };
54
- export declare function AdyenPayment({ clientKey, config, templateCustomerSaveToWallet, environment, locale, }: Props): JSX.Element | null;
53
+ }
54
+ export declare function AdyenPayment({ clientKey, config, templateCustomerSaveToWallet, environment, locale }: Props): JSX.Element | null;
55
55
  export default AdyenPayment;