@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,7 +1,6 @@
1
1
  import { Dispatch } from 'react';
2
2
  import { SetLocalOrder, DeleteLocalOrder } from '../utils/localStorage';
3
3
  import { CommerceLayerConfig } from '../context/CommerceLayerContext';
4
- import { ItemOption, CustomLineItem } from './ItemReducer';
5
4
  import { BaseMetadataObject } from '../typings/index';
6
5
  import { BaseError } from '../typings/errors';
7
6
  import { AddressResource } from './AddressReducer';
@@ -18,24 +17,6 @@ export declare type GetOrderParams = Partial<{
18
17
  export declare type GetOrder = (params: GetOrderParams) => Promise<undefined | Order>;
19
18
  declare type CreateOrderParams = Pick<AddToCartParams, 'config' | 'dispatch' | 'persistKey' | 'state' | 'orderMetadata' | 'orderAttributes' | 'setLocalOrder'>;
20
19
  export declare type CreateOrder = (params?: CreateOrderParams) => Promise<string>;
21
- export declare type AddToCartParams = Partial<{
22
- bundleCode: string;
23
- skuCode: string;
24
- persistKey: string;
25
- config: CommerceLayerConfig;
26
- dispatch: Dispatch<OrderActions>;
27
- state: Partial<OrderState>;
28
- skuId: string;
29
- quantity: number;
30
- option: ItemOption;
31
- lineItem: CustomLineItem;
32
- orderMetadata: BaseMetadataObject;
33
- orderAttributes: Record<string, any>;
34
- errors: BaseError[];
35
- setLocalOrder: SetLocalOrder;
36
- buyNowMode: boolean;
37
- checkoutUrl: string;
38
- }>;
39
20
  export interface AddToCartImportParams extends Omit<AddToCartParams, 'skuCode' | 'skuId' | 'quantity' | 'option' | 'lineItem'> {
40
21
  lineItems: CustomLineItem[];
41
22
  }
@@ -43,7 +24,6 @@ export declare type AddToCartReturn = Promise<{
43
24
  success: boolean;
44
25
  orderId: string | undefined;
45
26
  }>;
46
- export declare type AddToCart = (params: AddToCartParams) => AddToCartReturn;
47
27
  export declare type AddToCartImport = (params: AddToCartImportParams) => AddToCartReturn;
48
28
  export declare type UnsetOrderState = (dispatch: Dispatch<OrderActions>) => void;
49
29
  export declare type ResourceIncluded = 'billing_address' | 'shipping_address' | 'line_items.line_item_options.sku_option' | 'line_items.item' | 'available_customer_payment_sources.payment_source' | 'shipments.available_shipping_methods' | 'shipments.stock_transfers' | 'shipments.stock_transfers.line_item' | 'shipments.shipment_line_items.line_item' | 'shipments.shipping_method' | 'shipments.stock_location' | 'shipments.parcels' | 'shipments.parcels.parcel_line_items' | 'payment_source' | 'available_payment_methods' | 'payment_method';
@@ -57,7 +37,6 @@ export interface OrderPayload {
57
37
  includeLoaded?: ResourceIncludedLoaded;
58
38
  withoutIncludes?: boolean;
59
39
  }
60
- export declare type AddToCartValues = Pick<AddToCartParams, 'bundleCode' | 'lineItem' | 'quantity' | 'skuCode' | 'skuId' | 'option' | 'buyNowMode' | 'checkoutUrl'>;
61
40
  export declare type AddToCartImportValues = Pick<AddToCartImportParams, 'lineItems'>;
62
41
  export declare type getOrderContext = (id: string) => Promise<undefined | Order>;
63
42
  export declare type OrderState = Partial<OrderPayload>;
@@ -89,7 +68,42 @@ export interface AddResourceToInclude {
89
68
  newResourceLoaded?: ResourceIncludedLoaded;
90
69
  }
91
70
  export declare function addResourceToInclude({ resourcesIncluded, dispatch, newResource, newResourceLoaded, resourceIncludedLoaded }: AddResourceToInclude): void;
92
- export declare const addToCart: AddToCart;
71
+ export interface LineItemOption {
72
+ /**
73
+ * SKU Option ID. Ex: mNJEgsJwBn
74
+ */
75
+ skuOptionId: string;
76
+ /**
77
+ * Set of key-value pairs that represent the selected options. Ex: { message: 'This is a option message' }
78
+ */
79
+ options: Record<string, string>;
80
+ quantity?: number;
81
+ }
82
+ export interface CustomLineItem {
83
+ name?: string;
84
+ imageUrl?: string | null;
85
+ }
86
+ export declare type AddToCartParams = Partial<{
87
+ bundleCode: string;
88
+ skuCode: string;
89
+ persistKey: string;
90
+ config: CommerceLayerConfig;
91
+ dispatch: Dispatch<OrderActions>;
92
+ state: Partial<OrderState>;
93
+ quantity: number;
94
+ lineItemOption: LineItemOption;
95
+ lineItem: CustomLineItem;
96
+ orderMetadata: BaseMetadataObject;
97
+ orderAttributes: Record<string, any>;
98
+ errors: BaseError[];
99
+ setLocalOrder: SetLocalOrder;
100
+ buyNowMode: boolean;
101
+ checkoutUrl: string;
102
+ }>;
103
+ export declare function addToCart(params: AddToCartParams): Promise<{
104
+ success: boolean;
105
+ orderId?: string;
106
+ }>;
93
107
  export declare const unsetOrderState: UnsetOrderState;
94
108
  interface OrderErrors {
95
109
  dispatch?: Dispatch<OrderActions>;
@@ -1 +1 @@
1
- import{setCustomerOrderParam}from"../utils/localStorage";import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import size from"lodash/size";import map from"lodash/map";import getSdk from"../utils/getSdk";import getErrors,{setErrors}from"../utils/getErrors";import getOrganizationSlug from"../utils/organization";const actionType=["setLoading","setOrderId","setOrder","setSingleQuantity","setCurrentSkuCodes","setCurrentSkuPrices","setErrors","setCurrentItem","setSaveAddressToCustomerAddressBook","setIncludesResource"];export const createOrder=async params=>{if(params){const{persistKey,state,dispatch,config,orderMetadata:metadata,orderAttributes={},setLocalOrder}=params;if(state?.orderId)return state.orderId;const sdk=getSdk(config);try{const o=await sdk?.orders.create({metadata,...orderAttributes});return dispatch&&dispatch({type:"setOrderId",payload:{orderId:o?.id}}),persistKey&&setLocalOrder&&setLocalOrder(persistKey,o.id),o.id}catch(error){const errors=getErrors(error,"orders");console.error("Create order",errors),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors,dispatch})}}return""},getApiOrder=async params=>{const{id,dispatch,config,clearWhenPlaced,persistKey,deleteLocalOrder,state}=params,sdk=getSdk(config);try{const options={};state?.include&&state.include.length>0&&(options.include=state.include);const order=await sdk.orders.retrieve(id,options);return clearWhenPlaced&&order.status==="placed"||clearWhenPlaced&&order.status==="approved"||order.status==="cancelled"?(persistKey&&deleteLocalOrder&&deleteLocalOrder(persistKey),dispatch&&dispatch({type:"setOrder",payload:{order:void 0,orderId:""}})):dispatch&&dispatch({type:"setOrder",payload:{order,orderId:order.id}}),order}catch(error){const errors=getErrors(error,"orders");console.error("Retrieve order",errors),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors,dispatch});return}};export async function updateOrder({id,attributes,dispatch,config,include,state}){const sdk=getSdk(config);try{const resource={...attributes,id};await sdk.orders.update(resource,{include});const order=await getApiOrder({id,config,dispatch,state});return dispatch&&order&&dispatch({type:"setOrder",payload:{order}}),{success:!0}}catch(error){const errors=getErrors(error,"orders");return dispatch&&(setOrderErrors({errors,dispatch}),dispatch({type:"setErrors",payload:{errors}})),{success:!1,error}}}export const setOrder=(order,dispatch)=>{dispatch&&dispatch({type:"setOrder",payload:{order}})};export function addResourceToInclude({resourcesIncluded=[],dispatch,newResource,newResourceLoaded,resourceIncludedLoaded}){const payload={include:void 0,includeLoaded:void 0};if(newResource){const resources=typeof newResource=="string"?[newResource]:newResource;payload.include=[...resourcesIncluded,...resources],resources.forEach(resource=>{const includeLoaded={...payload.includeLoaded,[resource]:!0};payload.includeLoaded=includeLoaded})}else delete payload.include;const payloadIncludeLoaded={...resourceIncludedLoaded,...newResourceLoaded,...payload.includeLoaded&&payload.includeLoaded};payload.includeLoaded=payloadIncludeLoaded,dispatch&&dispatch({type:"setIncludesResource",payload:{...payload,withoutIncludes:!1}})}export const addToCart=async params=>{const{skuCode,bundleCode,skuId,quantity,option,config,dispatch,lineItem,state,errors=[],buyNowMode,checkoutUrl}=params;try{if(!config)throw{errors:[{code:"INVALID_RESOURCE",resource:"orders",title:"Markup error",message:"You are trying to place an order outside the OrderContainer component"}]};const sdk=getSdk(config),id=await createOrder(params);if(id){const order=sdk.orders.relationship(id),name=lineItem?.name,imageUrl=lineItem?.imageUrl;if(buyNowMode)if(state?.order?.line_items)await Promise.all(state?.order?.line_items.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}));else{const{line_items:lineItems}=await sdk.orders.retrieve(id,{fields:["line_items"],include:["line_items"]});lineItems&&lineItems?.length>0&&await Promise.all(lineItems.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}))}const attrs={order,sku_code:skuCode,name,image_url:imageUrl,quantity:quantity||1,_update_quantity:!0,bundle_code:bundleCode};skuId&&(attrs.item=sdk.skus.relationship(skuId));const newLineItem=await sdk.line_items.create(attrs);if(isEmpty(option))await getApiOrder({id,...params,state});else{let c=0;map(option,async opt=>{const{options,skuOptionId}=opt,skuOption=sdk.sku_options.relationship(skuOptionId),lineItemRel=sdk.line_items.relationship(newLineItem.id),lineItemOptionsAttributes={quantity:1,options,sku_option:skuOption,line_item:lineItemRel};await sdk.line_item_options.create(lineItemOptionsAttributes),c+=1,c===size(option)&&await getApiOrder({id,...params})})}if(!isEmpty(errors)&&dispatch&&dispatch({type:"setErrors",payload:{errors:[]}}),buyNowMode){const{organization}=getOrganizationSlug(config.endpoint),params2=`${id}?accessToken=${config.accessToken}`,redirectUrl=checkoutUrl?`${checkoutUrl}/${params2}`:`https://${organization}.checkout.commercelayer.app/${params2}`;location.href=redirectUrl}return{success:!0,orderId:id}}return{success:!1,orderId:void 0}}catch(error){const errors2=getErrors(error,"orders");return console.error("Add to cart",errors2),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors2,dispatch}),{success:!1,orderId:void 0}}},unsetOrderState=dispatch=>{dispatch({type:"setOrderId",payload:{orderId:""}}),dispatch({type:"setOrder",payload:{order:void 0}})};export function setOrderErrors({dispatch,errors=[]}){return dispatch&&dispatch({type:"setErrors",payload:{errors}}),{success:!1}}export const saveAddressToCustomerAddressBook=({type,value,dispatch})=>{const k=`_save_${type}_to_customer_address_book`,v=`${value.toString()}`;setCustomerOrderParam(k,v),dispatch&&dispatch({type:"setSaveAddressToCustomerAddressBook",payload:{[k]:v}})},setGiftCardOrCouponCode=async({code,codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&code&&dispatch){const attributes={[codeType]:code},{success,error}=await updateOrder({id:order.id,attributes,config,include,dispatch,state});if(!success)throw error;return dispatch({type:"setErrors",payload:{errors:[]}}),{success}}return{success:!1}}catch(error){const errors=getErrors(error,"orders",codeType);return dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}},removeGiftCardOrCouponCode=async({codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&dispatch){const attributes={[codeType]:""};return await updateOrder({id:order.id,attributes,config,include,dispatch,state}),dispatch({type:"setErrors",payload:{errors:[]}}),{success:!0}}return{success:!1}}catch(error){const errors=getErrors(error,"orders",codeType);return console.error("Remove gift card o coupon code",errors),dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}},orderInitialState={loading:!0,orderId:"",order:void 0,errors:[],include:void 0,withoutIncludes:!0};const orderReducer=(state,reducer)=>baseReducer(state,reducer,actionType);export default orderReducer;
1
+ import{setCustomerOrderParam}from"../utils/localStorage";import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import getSdk from"../utils/getSdk";import getErrors,{setErrors}from"../utils/getErrors";import getOrganizationSlug from"../utils/organization";const actionType=["setLoading","setOrderId","setOrder","setSingleQuantity","setCurrentSkuCodes","setCurrentSkuPrices","setErrors","setCurrentItem","setSaveAddressToCustomerAddressBook","setIncludesResource"];export const createOrder=async params=>{if(params){const{persistKey,state,dispatch,config,orderMetadata:metadata,orderAttributes={},setLocalOrder}=params;if(state?.orderId)return state.orderId;const sdk=getSdk(config);try{const o=await sdk?.orders.create({metadata,...orderAttributes});return dispatch&&dispatch({type:"setOrderId",payload:{orderId:o?.id}}),persistKey&&setLocalOrder&&setLocalOrder(persistKey,o.id),o.id}catch(error){const errors=getErrors(error,"orders");console.error("Create order",errors),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors,dispatch})}}return""},getApiOrder=async params=>{const{id,dispatch,config,clearWhenPlaced,persistKey,deleteLocalOrder,state}=params,sdk=getSdk(config);try{const options={};state?.include&&state.include.length>0&&(options.include=state.include);const order=await sdk.orders.retrieve(id,options);return clearWhenPlaced&&order.status==="placed"||clearWhenPlaced&&order.status==="approved"||clearWhenPlaced&&order.status==="cancelled"?(persistKey&&deleteLocalOrder&&deleteLocalOrder(persistKey),dispatch&&dispatch({type:"setOrder",payload:{order:void 0,orderId:""}})):dispatch&&dispatch({type:"setOrder",payload:{order,orderId:order.id}}),order}catch(error){const errors=getErrors(error,"orders");console.error("Retrieve order",errors),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors,dispatch});return}};export async function updateOrder({id,attributes,dispatch,config,include,state}){const sdk=getSdk(config);try{const resource={...attributes,id};await sdk.orders.update(resource,{include});const order=await getApiOrder({id,config,dispatch,state});return dispatch&&order&&dispatch({type:"setOrder",payload:{order}}),{success:!0}}catch(error){const errors=getErrors(error,"orders");return dispatch&&(setOrderErrors({errors,dispatch}),dispatch({type:"setErrors",payload:{errors}})),{success:!1,error}}}export const setOrder=(order,dispatch)=>{dispatch&&dispatch({type:"setOrder",payload:{order}})};export function addResourceToInclude({resourcesIncluded=[],dispatch,newResource,newResourceLoaded,resourceIncludedLoaded}){const payload={include:void 0,includeLoaded:void 0};if(newResource){const resources=typeof newResource=="string"?[newResource]:newResource;payload.include=[...resourcesIncluded,...resources],resources.forEach(resource=>{const includeLoaded={...payload.includeLoaded,[resource]:!0};payload.includeLoaded=includeLoaded})}else delete payload.include;const payloadIncludeLoaded={...resourceIncludedLoaded,...newResourceLoaded,...payload.includeLoaded&&payload.includeLoaded};payload.includeLoaded=payloadIncludeLoaded,dispatch&&dispatch({type:"setIncludesResource",payload:{...payload,withoutIncludes:!1}})}export async function addToCart(params){const{skuCode,bundleCode,quantity,config,dispatch,lineItem,state,errors=[],buyNowMode,checkoutUrl,lineItemOption}=params;try{if(config){const sdk=getSdk(config),id=await createOrder(params);if(id){const order=sdk.orders.relationship(id),name=lineItem?.name,imageUrl=lineItem?.imageUrl;if(buyNowMode)if(state?.order?.line_items)await Promise.all(state?.order?.line_items.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}));else{const{line_items:lineItems}=await sdk.orders.retrieve(id,{fields:["line_items"],include:["line_items"]});lineItems&&lineItems?.length>0&&await Promise.all(lineItems.map(async lineItem2=>{await sdk.line_items.delete(lineItem2.id)}))}const attrs={order,sku_code:skuCode,name,image_url:imageUrl,quantity:quantity??1,_update_quantity:!0,bundle_code:bundleCode},newLineItem=await sdk.line_items.create(attrs);if(lineItemOption!=null){const{skuOptionId,options,quantity:quantity2}=lineItemOption,skuOption=sdk.sku_options.relationship(skuOptionId),lineItemRel=sdk.line_items.relationship(newLineItem.id),lineItemOptionsAttributes={quantity:quantity2??1,options,sku_option:skuOption,line_item:lineItemRel};await sdk.line_item_options.create(lineItemOptionsAttributes),await getApiOrder({id,...params})}else await getApiOrder({id,...params,state});if(!isEmpty(errors)&&dispatch&&dispatch({type:"setErrors",payload:{errors:[]}}),buyNowMode){const{organization}=getOrganizationSlug(config.endpoint??""),params2=`${id}?accessToken=${config.accessToken??""}`,redirectUrl=checkoutUrl?`${checkoutUrl}/${params2}`:`https://${organization}.checkout.commercelayer.app/${params2}`;location.href=redirectUrl}return{success:!0,orderId:id}}}return{success:!1}}catch(error){const errors2=getErrors(error,"orders");return console.error("Add to cart",errors2),dispatch&&setErrors({currentErrors:state?.errors,newErrors:errors2,dispatch}),{success:!1}}}export const unsetOrderState=dispatch=>{dispatch({type:"setOrderId",payload:{orderId:""}}),dispatch({type:"setOrder",payload:{order:void 0}})};export function setOrderErrors({dispatch,errors=[]}){return dispatch&&dispatch({type:"setErrors",payload:{errors}}),{success:!1}}export const saveAddressToCustomerAddressBook=({type,value,dispatch})=>{const k=`_save_${type}_to_customer_address_book`,v=`${value.toString()}`;setCustomerOrderParam(k,v),dispatch&&dispatch({type:"setSaveAddressToCustomerAddressBook",payload:{[k]:v}})},setGiftCardOrCouponCode=async({code,codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&code&&dispatch){const attributes={[codeType]:code},{success,error}=await updateOrder({id:order.id,attributes,config,include,dispatch,state});if(!success)throw error;return dispatch({type:"setErrors",payload:{errors:[]}}),{success}}return{success:!1}}catch(error){const errors=getErrors(error,"orders",codeType);return dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}},removeGiftCardOrCouponCode=async({codeType,dispatch,config,order,include,state})=>{try{if(config&&order&&dispatch){const attributes={[codeType]:""};return await updateOrder({id:order.id,attributes,config,include,dispatch,state}),dispatch({type:"setErrors",payload:{errors:[]}}),{success:!0}}return{success:!1}}catch(error){const errors=getErrors(error,"orders",codeType);return console.error("Remove gift card o coupon code",errors),dispatch&&setOrderErrors({errors,dispatch}),{success:!1}}},orderInitialState={loading:!0,orderId:"",order:void 0,errors:[],include:void 0,withoutIncludes:!0};const orderReducer=(state,reducer)=>baseReducer(state,reducer,actionType);export default orderReducer;
@@ -10,14 +10,14 @@ import { Order, PaymentMethod, StripePayment, WireTransfer, AdyenPayment, Braint
10
10
  import { Dispatch, MutableRefObject } from 'react';
11
11
  import { CheckoutComConfig } from '../components/payment_source/CheckoutComPayment';
12
12
  export declare type PaymentSourceType = AdyenPayment | BraintreePayment | CheckoutComPayment | ExternalPayment | PaypalPayment | StripePayment | WireTransfer;
13
- declare type Card = {
13
+ interface Card {
14
14
  type: string;
15
15
  brand: string;
16
16
  last4: string;
17
17
  exp_year: number;
18
18
  exp_month: number;
19
- };
20
- export declare type PaymentSourceObject = {
19
+ }
20
+ export interface PaymentSourceObject {
21
21
  adyen_payments: AdyenPayment & {
22
22
  payment_request_data?: {
23
23
  payment_method?: Card;
@@ -51,7 +51,7 @@ export declare type PaymentSourceObject = {
51
51
  };
52
52
  };
53
53
  klarna_payments: KlarnaPayment;
54
- };
54
+ }
55
55
  export declare type PaymentMethodActionType = 'setErrors' | 'setPaymentMethods' | 'setPaymentMethodConfig' | 'setPaymentSource' | 'setPaymentRef' | 'setLoading';
56
56
  export declare type PaymentRef = MutableRefObject<null | HTMLFormElement>;
57
57
  export interface PaymentMethodActionPayload {
@@ -64,7 +64,7 @@ export interface PaymentMethodActionPayload {
64
64
  paymentSource: PaymentSourceTypes;
65
65
  loading: boolean;
66
66
  }
67
- export declare function setLoading({ loading, dispatch, }: {
67
+ export declare function setLoading({ loading, dispatch }: {
68
68
  loading: boolean;
69
69
  dispatch?: Dispatch<PaymentMethodAction>;
70
70
  }): void;
@@ -79,9 +79,7 @@ export interface PaymentMethodAction {
79
79
  payload: Partial<PaymentMethodActionPayload>;
80
80
  }
81
81
  export declare const paymentMethodInitialState: PaymentMethodState;
82
- export interface SetPaymentMethodErrors {
83
- <V extends BaseError[]>(errors: V, dispatch?: Dispatch<PaymentMethodAction>): void;
84
- }
82
+ export declare type SetPaymentMethodErrors = <V extends BaseError[]>(errors: V, dispatch?: Dispatch<PaymentMethodAction>) => void;
85
83
  export declare const setPaymentMethodErrors: SetPaymentMethodErrors;
86
84
  declare type GetPaymentMethods = (args: {
87
85
  order: Order;
@@ -118,7 +116,7 @@ export declare type SetPaymentSource = (args: {
118
116
  paymentSourceId?: string;
119
117
  customerPaymentSourceId?: string;
120
118
  updateOrder?: typeof updateOrder;
121
- } & PaymentMethodState) => Promise<PaymentSourceType | void>;
119
+ } & PaymentMethodState) => Promise<PaymentSourceType | undefined>;
122
120
  export declare const setPaymentSource: SetPaymentSource;
123
121
  export declare type UpdatePaymentSource = (args: {
124
122
  id: string;
@@ -136,7 +134,7 @@ export declare type DestroyPaymentSource = (args: {
136
134
  orderId?: string;
137
135
  }) => Promise<void>;
138
136
  export declare const destroyPaymentSource: DestroyPaymentSource;
139
- export declare type PaymentMethodConfig = {
137
+ export interface PaymentMethodConfig {
140
138
  stripePayment?: StripeConfig;
141
139
  braintreePayment?: BraintreeConfig;
142
140
  wireTransfer?: Partial<WireTransferConfig>;
@@ -144,7 +142,7 @@ export declare type PaymentMethodConfig = {
144
142
  adyenPayment?: AdyenPaymentConfig;
145
143
  checkoutComPayment?: CheckoutComConfig;
146
144
  klarnaPayment?: Pick<AdyenPaymentConfig, 'placeOrderCallback'> & Pick<StripeConfig, 'containerClassName'>;
147
- };
145
+ }
148
146
  declare type SetPaymentMethodConfig = (config: PaymentMethodConfig, dispatch: Dispatch<PaymentMethodAction>) => void;
149
147
  export declare const setPaymentMethodConfig: SetPaymentMethodConfig;
150
148
  export declare function getPaymentConfig<K extends PaymentResourceKey>(paymentResource: PaymentResource, config: PaymentMethodConfig): PaymentMethodConfig[K];
@@ -1 +1 @@
1
- import baseReducer from"../utils/baseReducer";import getErrors,{setErrors}from"../utils/getErrors";import getSdk from"../utils/getSdk";import camelCase from"lodash/camelCase";import has from"lodash/has";import isEmpty from"lodash/isEmpty";export function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}export const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})},paymentMethodInitialState={errors:[]},setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})},getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})},setPaymentMethod=async({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource})=>{try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:getSdk(config).payment_methods.relationship(paymentMethodId)};updateOrder&&await updateOrder({id:order.id,attributes}),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}}catch(error){const errors=getErrors(error,"orders",paymentResource);console.error("Set payment method",errors)}},setPaymentSource=async({config,dispatch,getOrder,attributes={},order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors})=>{try{if(config&&order){let paymentSource;const sdk=getSdk(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=await sdk[paymentResource].update(attrs)}else{const attrs={...attributes,order:sdk.orders.relationship(order.id)};paymentSource=await sdk[paymentResource].create(attrs)}return getOrder&&await getOrder(order.id),dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource,errors:[]}}),paymentSource}}}catch(error){const errors=getErrors(error,"payment_methods",paymentResource);console.error("Set payment source:",errors),dispatch&&setErrors({currentErrors,newErrors:errors,dispatch})}},updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await getSdk(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}},destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};export function getPaymentConfig(paymentResource,config){const resource=camelCase(paymentResource).replace("Payments","Payment").replace("Transfers","Transfer");return!isEmpty(config)&&has(config,resource)?config[resource]:void 0}const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>baseReducer(state,reducer,type);export default paymentMethodReducer;
1
+ import baseReducer from"../utils/baseReducer";import getErrors,{setErrors}from"../utils/getErrors";import getSdk from"../utils/getSdk";import camelCase from"lodash/camelCase";import has from"lodash/has";import isEmpty from"lodash/isEmpty";export function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}export const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})},paymentMethodInitialState={errors:[],paymentMethods:void 0},setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})},getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})},setPaymentMethod=async({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource})=>{try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:getSdk(config).payment_methods.relationship(paymentMethodId)};updateOrder&&await updateOrder({id:order.id,attributes}),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}}catch(error){const errors=getErrors(error,"orders",paymentResource);console.error("Set payment method",errors)}},setPaymentSource=async({config,dispatch,getOrder,attributes,order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors})=>{try{if(config&&order){let paymentSource;const sdk=getSdk(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=attributes!=null?await sdk[paymentResource].update(attrs):sdk[paymentResource].retrieve(paymentSourceId)}else{const attrs={...attributes,order:sdk.orders.relationship(order.id)};paymentSource=await sdk[paymentResource].create(attrs)}return getOrder&&await getOrder(order.id),dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource,errors:[]}}),paymentSource}}}catch(error){const errors=getErrors(error,"payment_methods",paymentResource);console.error("Set payment source:",errors),dispatch&&setErrors({currentErrors,newErrors:errors,dispatch})}},updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await getSdk(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}},destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};export function getPaymentConfig(paymentResource,config){const resource=camelCase(paymentResource).replace("Payments","Payment").replace("Transfers","Transfer");return!isEmpty(config)&&has(config,resource)?config[resource]:void 0}const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>baseReducer(state,reducer,type);export default paymentMethodReducer;
@@ -2,42 +2,35 @@ import { BaseAction, LoaderType } from '../typings/index';
2
2
  import { Price } from '@commercelayer/sdk';
3
3
  import { CommerceLayerConfig } from '../context/CommerceLayerContext';
4
4
  import { Dispatch } from 'react';
5
- import { ItemPrices } from './ItemReducer';
6
5
  import { BaseError } from '../typings/errors';
7
6
  export interface Prices {
8
7
  [key: string]: Price | Price[];
9
8
  }
10
9
  declare type SkuCodesPrice = string[];
11
- export interface SetSkuCodesPrice {
12
- (skuCodes: SkuCodesPrice): void;
13
- }
14
10
  export interface PriceState {
15
11
  loading: boolean;
16
12
  prices: Prices;
17
13
  skuCodes: SkuCodesPrice;
18
14
  errors?: BaseError[];
19
15
  skuCode?: string;
20
- setSkuCodes?: SetSkuCodesPrice;
16
+ setSkuCodes?: typeof setSkuCodes;
21
17
  loader?: LoaderType;
22
18
  }
23
19
  export interface PriceAction extends BaseAction {
24
20
  type: PriceActionType;
25
21
  }
26
22
  export declare const priceInitialState: PriceState;
27
- export interface GetSkusPrice {
28
- (skuCodes: SkuCodesPrice, options: {
29
- config: CommerceLayerConfig;
30
- dispatch: Dispatch<PriceAction>;
31
- setPrices: ((item: ItemPrices) => void) | undefined;
32
- prices: ItemPrices;
33
- perPage: number;
34
- filters: Record<string, any>;
35
- }): void;
36
- }
37
- export declare const getSkusPrice: GetSkusPrice;
38
- export interface UnsetPriceState {
39
- (dispatch: Dispatch<PriceAction>): void;
40
- }
23
+ export declare function setSkuCodes({ skuCodes, dispatch }: {
24
+ skuCodes: SkuCodesPrice;
25
+ dispatch?: Dispatch<PriceAction>;
26
+ }): void;
27
+ export declare function getSkusPrice(skuCodes: SkuCodesPrice, { config, dispatch, perPage, filters }: {
28
+ config: CommerceLayerConfig;
29
+ dispatch: Dispatch<PriceAction>;
30
+ perPage: number;
31
+ filters: Record<string, any>;
32
+ }): void;
33
+ export declare type UnsetPriceState = (dispatch: Dispatch<PriceAction>) => void;
41
34
  export declare const unsetPriceState: UnsetPriceState;
42
35
  export declare type PriceActionType = 'setLoading' | 'setPrices' | 'setSkuCodes' | 'setErrors';
43
36
  declare const priceReducer: (state: PriceState, reducer: PriceAction) => PriceState;
@@ -1 +1 @@
1
- import getPrices from"../utils/getPrices";import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";export const priceInitialState={loading:!0,prices:{},skuCodes:[],errors:[]},getSkusPrice=(skuCodes,{config,dispatch,setPrices,prices,perPage,filters})=>{let allPrices={};const sdk=getSdk(config);sdk.prices.list({filters:{sku_code_in:skuCodes.join(","),...filters},pageSize:perPage}).then(async response=>{const pricesObj=getPrices(response);allPrices={...allPrices,...prices,...pricesObj},setPrices&&setPrices(allPrices),dispatch({type:"setPrices",payload:{prices:allPrices}}),dispatch({type:"setLoading",payload:{loading:!1}});const meta=response.meta;if(meta.pageCount>1)for(let pageNumber=meta.currentPage+1;pageNumber<=meta.pageCount;pageNumber++){const pageResponse=await sdk.prices.list({filters:{sku_code_in:skuCodes.join(","),...filters},pageSize:perPage,pageNumber}),pricesObj2=getPrices(pageResponse);allPrices={...allPrices,...pricesObj2},setPrices&&setPrices(allPrices),dispatch({type:"setPrices",payload:{prices:allPrices}})}}).catch(error=>{const errors=getErrors(error,"prices");dispatch({type:"setErrors",payload:{errors}})})},unsetPriceState=dispatch=>{dispatch({type:"setPrices",payload:{prices:{}}}),dispatch({type:"setLoading",payload:{loading:!1}})};const typeAction=["setLoading","setPrices","setSkuCodes","setErrors"],priceReducer=(state,reducer)=>baseReducer(state,reducer,typeAction);export default priceReducer;
1
+ import getPrices from"../utils/getPrices";import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";export const priceInitialState={loading:!0,prices:{},skuCodes:[],errors:[]};export function setSkuCodes({skuCodes,dispatch}){dispatch&&dispatch({type:"setSkuCodes",payload:{skuCodes}})}export function getSkusPrice(skuCodes,{config,dispatch,perPage,filters}){let allPrices={};const sdk=getSdk(config);sdk.prices.list({filters:{sku_code_in:skuCodes.join(","),...filters},pageSize:perPage}).then(async response=>{const pricesObj=getPrices(response);allPrices={...allPrices,...pricesObj},dispatch({type:"setPrices",payload:{prices:allPrices}}),dispatch({type:"setLoading",payload:{loading:!1}});const meta=response.meta;if(meta.pageCount>1)for(let pageNumber=meta.currentPage+1;pageNumber<=meta.pageCount;pageNumber++){const pageResponse=await sdk.prices.list({filters:{sku_code_in:skuCodes.join(","),...filters},pageSize:perPage,pageNumber}),pricesObj2=getPrices(pageResponse);allPrices={...allPrices,...pricesObj2},dispatch({type:"setPrices",payload:{prices:allPrices}})}}).catch(error=>{const errors=getErrors(error,"prices");dispatch({type:"setErrors",payload:{errors}})})}export const unsetPriceState=dispatch=>{dispatch({type:"setPrices",payload:{prices:{}}}),dispatch({type:"setLoading",payload:{loading:!1}})};const typeAction=["setLoading","setPrices","setSkuCodes","setErrors"],priceReducer=(state,reducer)=>baseReducer(state,reducer,typeAction);export default priceReducer;
@@ -10,12 +10,12 @@ export declare type SkuState = Partial<{
10
10
  skuCodes: string[];
11
11
  }>;
12
12
  export declare const skuInitialState: SkuState;
13
- declare type GetSku = {
13
+ interface GetSku {
14
14
  config: CommerceLayerConfig;
15
15
  skus: string[];
16
16
  dispatch: Dispatch<SkuAction>;
17
17
  queryParams?: QueryParamsList;
18
- };
19
- export declare function getSku<T extends GetSku>({ config, skus, dispatch, queryParams, }: T): Promise<void>;
18
+ }
19
+ export declare function getSku<T extends GetSku>({ config, skus, dispatch, queryParams }: T): Promise<void>;
20
20
  export default function skuReducer(state: SkuState, reducer: SkuAction): SkuState;
21
21
  export {};
@@ -27,7 +27,7 @@ export declare const ErrorPropTypes: {
27
27
  declare type ErrorChildrenComponentProps = ChildrenFunction<Omit<ErrorComponentProps, 'children'> & {
28
28
  errors: string[];
29
29
  }>;
30
- export declare type ErrorComponentProps = {
30
+ export interface ErrorComponentProps {
31
31
  /**
32
32
  * Resource which caused the error
33
33
  */
@@ -40,12 +40,12 @@ export declare type ErrorComponentProps = {
40
40
  /**
41
41
  * Error message which you can translate
42
42
  */
43
- messages?: {
43
+ messages?: Array<{
44
44
  code: CodeErrorType;
45
45
  message: string;
46
46
  resource?: ResourceErrorType;
47
47
  field?: string;
48
48
  id?: string;
49
- }[];
50
- };
49
+ }>;
50
+ }
51
51
  export {};
@@ -109,13 +109,13 @@ export declare const baseOrderComponentPricePropTypes: {
109
109
  export declare type BasePriceType = 'total' | 'option' | 'unit';
110
110
  export declare type BaseSelectorType = 'select' | 'radio';
111
111
  export declare type BaseAmountComponentChildren = Omit<BaseAmountComponent, 'children'>;
112
- export declare type BaseAmountComponent = {
113
- children?: (props: BaseAmountComponentChildren) => JSX.Element;
112
+ export interface BaseAmountComponent extends Omit<JSX.IntrinsicElements['span'], 'children'> {
113
+ children?: ChildrenFunction<BaseAmountComponentChildren>;
114
114
  format?: BaseFormatPrice;
115
115
  price?: string;
116
116
  priceCents?: number;
117
117
  labelFree?: string;
118
- } & JSX.IntrinsicElements['span'];
118
+ }
119
119
  export declare type ChildrenFunction<P = Record<string, any>> = (props: P) => JSX.Element;
120
120
  export declare type ExcludeTag<T extends keyof JSX.IntrinsicElements> = Exclude<keyof JSX.IntrinsicElements, T>;
121
121
  export declare type ExtractTag<T extends keyof JSX.IntrinsicElements> = Extract<keyof JSX.IntrinsicElements, T>;
@@ -1,4 +1,4 @@
1
- export default function getBrowserInfo(): {
1
+ interface TReturn {
2
2
  screenWidth: string | number;
3
3
  screenHeight: string | number;
4
4
  colorDepth: string | number;
@@ -6,4 +6,7 @@ export default function getBrowserInfo(): {
6
6
  timeZoneOffset: number;
7
7
  language: string;
8
8
  javaEnabled: boolean;
9
- };
9
+ }
10
+ export default function getBrowserInfo(): TReturn;
11
+ export declare function cleanUrlBy(symbol?: string): string;
12
+ export {};
@@ -1 +1 @@
1
- export default function getBrowserInfo(){const screenWidth=window&&window.screen?window.screen.width:"",screenHeight=window&&window.screen?window.screen.height:"",colorDepth=window&&window.screen?window.screen.colorDepth:"",userAgent=window&&window.navigator?window.navigator.userAgent:"",javaEnabled=window&&window.navigator?navigator.javaEnabled():!1;let language="";window&&window.navigator&&(language=window.navigator.language);const timeZoneOffset=new Date().getTimezoneOffset();return{screenWidth,screenHeight,colorDepth,userAgent,timeZoneOffset,language,javaEnabled}}
1
+ export default function getBrowserInfo(){const screenWidth=window?.screen?window.screen.width:"",screenHeight=window?.screen?window.screen.height:"",colorDepth=window?.screen?window.screen.colorDepth:"",userAgent=window?.navigator?window.navigator.userAgent:"",javaEnabled=window?.navigator?navigator.javaEnabled():!1;let language="";window?.navigator&&(language=window.navigator.language);const timeZoneOffset=new Date().getTimezoneOffset();return{screenWidth,screenHeight,colorDepth,userAgent,timeZoneOffset,language,javaEnabled}}export function cleanUrlBy(symbol="&"){const currentLocation=window?.location.href,[splitLocation]=currentLocation.split(symbol);return splitLocation??currentLocation}
@@ -1 +1 @@
1
- import getOrganizationSlug from"./organization";import Sdk from"@commercelayer/sdk";export default function getSdk({endpoint,accessToken}){const org=getOrganizationSlug(endpoint);return Sdk({accessToken,...org})}
1
+ import getOrganizationSlug from"./organization";import Sdk from"@commercelayer/sdk";export default function getSdk({endpoint,accessToken}){if(accessToken==null||endpoint==null)throw new Error("accessToken and endpoint are required parameters");const org=getOrganizationSlug(endpoint);return Sdk({accessToken,...org})}
@@ -0,0 +1,21 @@
1
+ import { Context } from 'react';
2
+ interface TParams<C> {
3
+ /**
4
+ * Context to check
5
+ */
6
+ context: Context<C>;
7
+ /**
8
+ * Name of the component has the context
9
+ */
10
+ contextComponentName: string;
11
+ /**
12
+ * Name of the current component
13
+ */
14
+ currentComponentName: string;
15
+ /**
16
+ * Key of the context to check
17
+ */
18
+ key?: string;
19
+ }
20
+ export default function useCustomContext<T>({ context, key, currentComponentName, contextComponentName }: TParams<T>): T;
21
+ export {};
@@ -0,0 +1 @@
1
+ import{useContext}from"react";export default function useCustomContext({context,key,currentComponentName,contextComponentName}){const currentContext=useContext(context),isProduction=process.env.NODE_ENV==="production",msg=`Cannot use <${currentComponentName}/> outside of <${contextComponentName}/>`;if(key!=null&&key in currentContext||key==null&&currentContext!=null)return currentContext;if(isProduction)console.error(msg);else throw new Error(msg);return currentContext}