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

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 +4 -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 +4 -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,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- declare type Props = {
2
+ interface Props {
3
3
  children: JSX.Element[] | JSX.Element;
4
4
  accessToken: string;
5
5
  endpoint: string;
6
- };
6
+ }
7
7
  export declare function CommerceLayer(props: Props): JSX.Element;
8
8
  export default CommerceLayer;
@@ -1,15 +1,8 @@
1
- import { ReactNode } from 'react';
1
+ /// <reference types="react" />
2
2
  import { LineItemType } from '../../typings/index';
3
- declare type Props = {
4
- children: ReactNode;
3
+ interface Props {
4
+ children: JSX.Element | JSX.Element[];
5
5
  type?: LineItemType;
6
- };
7
- export declare function LineItem(props: Props): JSX.Element;
8
- export declare namespace LineItem {
9
- var propTypes: {
10
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
11
- type: import("prop-types").Requireable<LineItemType>;
12
- };
13
- var displayName: string;
14
6
  }
7
+ export declare function LineItem(props: Props): JSX.Element;
15
8
  export default LineItem;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItem=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext")),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),components_1=tslib_1.__importDefault(require("../../config/components")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),propTypes=components_1.default.LineItem.propTypes,displayName=components_1.default.LineItem.displayName;function LineItem(props){const{type="skus",children}=props,{lineItems}=(0,react_1.useContext)(LineItemContext_1.default),{lineItems:shipmentLineItems}=(0,react_1.useContext)(ShipmentChildrenContext_1.default),items=shipmentLineItems&&shipmentLineItems?.length>0?shipmentLineItems:lineItems,components=items&&items.filter(l=>l.item_type===type).map((lineItem,k,check)=>{if(lineItem.item_type==="bundles"&&k>0&&check[k-1]?.bundle_code===lineItem.bundle_code||lineItem.item_type==="gift_cards"&&lineItem?.total_amount_cents&&lineItem?.total_amount_cents<=0)return null;const lineProps={lineItem};return(0,jsx_runtime_1.jsx)(LineItemChildrenContext_1.default.Provider,{value:lineProps,children},k)});return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:components})}exports.LineItem=LineItem,LineItem.propTypes=propTypes,LineItem.displayName=displayName,exports.default=LineItem;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItem=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext")),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext"));function LineItem(props){const{type="skus",children}=props,{lineItems}=(0,react_1.useContext)(LineItemContext_1.default),{lineItems:shipmentLineItems}=(0,react_1.useContext)(ShipmentChildrenContext_1.default),components=(shipmentLineItems&&shipmentLineItems?.length>0?shipmentLineItems:lineItems)?.filter(l=>l.item_type===type).map((lineItem,k,check)=>{if(lineItem.item_type==="bundles"&&k>0&&check[k-1]?.bundle_code===lineItem.bundle_code||lineItem.item_type==="gift_cards"&&lineItem?.total_amount_cents&&lineItem?.total_amount_cents<=0)return null;const lineProps={lineItem};return(0,jsx_runtime_1.jsx)(LineItemChildrenContext_1.default.Provider,{value:lineProps,children},k)});return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:components})}exports.LineItem=LineItem,exports.default=LineItem;
@@ -4,17 +4,4 @@ declare type Props = BaseAmountComponent & {
4
4
  type?: BasePriceType;
5
5
  };
6
6
  export declare function LineItemAmount(props: Props): JSX.Element;
7
- export declare namespace LineItemAmount {
8
- var propTypes: {
9
- type: import("prop-types").Requireable<BasePriceType>;
10
- id: import("prop-types").Requireable<string>;
11
- className: import("prop-types").Requireable<string>;
12
- style: import("prop-types").Requireable<object>;
13
- name: import("prop-types").Requireable<string>;
14
- children: import("prop-types").Requireable<(...args: any[]) => any>;
15
- format: import("prop-types").Requireable<import("../../typings/index").BaseFormatPrice>;
16
- };
17
- var defaultProps: Props;
18
- var displayName: string;
19
- }
20
7
  export default LineItemAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),getAmount_1=tslib_1.__importDefault(require("../../utils/getAmount")),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.LineItemAmount.propTypes,defaultProps=components_1.default.LineItemAmount.defaultProps,displayName=components_1.default.LineItemAmount.displayName;function LineItemAmount(props){const{format="formatted",type="total",...p}=props,{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),[price,setPrice]=(0,react_1.useState)("");(0,react_1.useEffect)(()=>{if(lineItem){const p2=(0,getAmount_1.default)({base:"amount",type,format,obj:lineItem});setPrice(p2)}return()=>{setPrice("")}},[lineItem]);const parentProps={price,...p};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("span",{...p,children:price})}exports.LineItemAmount=LineItemAmount,LineItemAmount.propTypes=propTypes,LineItemAmount.defaultProps=defaultProps,LineItemAmount.displayName=displayName,exports.default=LineItemAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),getAmount_1=tslib_1.__importDefault(require("../../utils/getAmount")),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function LineItemAmount(props){const{format="formatted",type="total",...p}=props,{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),[price,setPrice]=(0,react_1.useState)("");(0,react_1.useEffect)(()=>{if(lineItem){const p2=(0,getAmount_1.default)({base:"amount",type,format,obj:lineItem});setPrice(p2)}return()=>{setPrice("")}},[lineItem]);const parentProps={price,...p};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("span",{...p,children:price})}exports.LineItemAmount=LineItemAmount,exports.default=LineItemAmount;
@@ -1,18 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import { LineItem } from '@commercelayer/sdk';
3
- export declare type LineItemCodeType = Omit<Props, 'children'> & {
3
+ import { ChildrenFunction } from '../../typings/index';
4
+ export interface TLineItemCode extends Omit<Props, 'children'> {
4
5
  lineItem: LineItem;
5
6
  skuCode: string;
6
- };
7
- declare type Props = {
8
- children?: (props: LineItemCodeType) => JSX.Element;
7
+ }
8
+ interface Props extends Omit<JSX.IntrinsicElements['p'], 'children'> {
9
+ children?: ChildrenFunction<TLineItemCode>;
9
10
  type?: 'sku_code' | 'bundle_code';
10
- } & JSX.IntrinsicElements['p'];
11
- export declare function LineItemCode({ type, children, ...p }: Props): JSX.Element;
12
- export declare namespace LineItemCode {
13
- var propTypes: {
14
- children: import("prop-types").Requireable<(...args: any[]) => any>;
15
- };
16
- var displayName: string;
17
11
  }
12
+ export declare function LineItemCode({ type, children, ...p }: Props): JSX.Element;
18
13
  export default LineItemCode;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemCode=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.LineItemCode.propTypes,displayName=components_1.default.LineItemCode.displayName;function LineItemCode({type="sku_code",children,...p}){const{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),labelName=lineItem?.[type],parentProps={lineItem,skuCode:labelName,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("p",{...p,children:labelName})}exports.LineItemCode=LineItemCode,LineItemCode.propTypes=propTypes,LineItemCode.displayName=displayName,exports.default=LineItemCode;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemCode=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function LineItemCode({type="sku_code",children,...p}){const{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),labelName=lineItem?.[type],parentProps={lineItem,skuCode:labelName,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("p",{...p,children:labelName})}exports.LineItemCode=LineItemCode,exports.default=LineItemCode;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { ConditionalElement } from '../../typings/index';
3
+ import { TGenericChildrenProps, TResources } from '../utils/GenericFieldComponent';
4
+ declare type LineItemFieldChildrenProps = TGenericChildrenProps<TResources['LineItem']>;
5
+ declare type TCondition = ConditionalElement<Exclude<TResources['LineItem'], 'resource'>>;
6
+ declare type Props = {
7
+ children?: (props: LineItemFieldChildrenProps) => JSX.Element;
8
+ } & TCondition;
9
+ /**
10
+ * @param props {@link Props}
11
+ * @returns
12
+ */
13
+ export declare function LineItemField<P extends Props>(props: P): JSX.Element;
14
+ export default LineItemField;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemField=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),GenericFieldComponent_1=tslib_1.__importDefault(require("../utils/GenericFieldComponent"));function LineItemField(props){const{attribute,tagElement,children,...p}=props;return(0,jsx_runtime_1.jsx)(GenericFieldComponent_1.default,{resource:"lineItem",attribute,tagElement,context:LineItemChildrenContext_1.default,...p,children})}exports.LineItemField=LineItemField,exports.default=LineItemField;
@@ -1,23 +1,16 @@
1
1
  /// <reference types="react" />
2
2
  import { LineItem } from '@commercelayer/sdk';
3
- import { LineItemType } from '../../typings/index';
4
- export declare type LineItemImageType = Omit<Props, 'children'> & {
3
+ import { ChildrenFunction, LineItemType } from '../../typings/index';
4
+ export interface TLineItemImage extends Omit<Props, 'children'> {
5
5
  src: string;
6
6
  lineItem: LineItem;
7
- };
7
+ }
8
8
  declare type Props = {
9
- children?: (props: LineItemImageType) => JSX.Element;
9
+ children?: ChildrenFunction<TLineItemImage>;
10
10
  width?: number;
11
11
  placeholder?: {
12
12
  [K in LineItemType]?: string;
13
13
  };
14
14
  } & Omit<JSX.IntrinsicElements['img'], 'src' | 'srcSet' | 'placeholder'>;
15
15
  export declare function LineItemImage(props: Props): JSX.Element | null;
16
- export declare namespace LineItemImage {
17
- var propTypes: {
18
- width: import("prop-types").Requireable<number>;
19
- children: import("prop-types").Requireable<(...args: any[]) => any>;
20
- };
21
- var displayName: string;
22
- }
23
16
  export default LineItemImage;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemImage=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),components_1=tslib_1.__importDefault(require("../../config/components")),placeholderImages_1=require("../../utils/placeholderImages"),propTypes=components_1.default.LineItemImage.propTypes,displayName=components_1.default.LineItemImage.displayName;function LineItemImage(props){const{placeholder,children,...p}=props,{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),itemType=lineItem?.item_type;let src=lineItem?.image_url;src||(placeholder?.[itemType]?src=placeholder?.[itemType]:src=itemType==="gift_cards"?placeholderImages_1.defaultGiftCardImgUrl:placeholderImages_1.defaultImgUrl);const parenProps={lineItem,src,placeholder,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parenProps,children}):src?(0,jsx_runtime_1.jsx)("img",{alt:"",src,...p}):null}exports.LineItemImage=LineItemImage,LineItemImage.propTypes=propTypes,LineItemImage.displayName=displayName,exports.default=LineItemImage;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemImage=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),placeholderImages_1=require("../../utils/placeholderImages"),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function LineItemImage(props){const{placeholder,children,...p}=props,{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),itemType=lineItem?.item_type;let src=lineItem?.image_url;src||(placeholder?.[itemType]?src=placeholder?.[itemType]:src=itemType==="gift_cards"?placeholderImages_1.defaultGiftCardImgUrl:placeholderImages_1.defaultImgUrl);const parenProps={lineItem,src,placeholder,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parenProps,children}):src?(0,jsx_runtime_1.jsx)("img",{"data-testid":`line-item-image-${lineItem?.sku_code??""}`,alt:lineItem?.name,src,...p}):null}exports.LineItemImage=LineItemImage,exports.default=LineItemImage;
@@ -1,17 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import type { LineItem } from '@commercelayer/sdk';
3
- export declare type LineItemNameType = Omit<Props, 'children'> & {
3
+ import { ChildrenFunction } from '../../typings/index';
4
+ export interface TLineItemName extends Omit<Props, 'children'> {
4
5
  label: string;
5
6
  lineItem: LineItem;
6
- };
7
- declare type Props = {
8
- children?: (props: LineItemNameType) => JSX.Element;
9
- } & JSX.IntrinsicElements['p'];
10
- export declare function LineItemName(props: Props): JSX.Element;
11
- export declare namespace LineItemName {
12
- var propTypes: {
13
- children: import("prop-types").Requireable<(...args: any[]) => any>;
14
- };
15
- var displayName: string;
16
7
  }
8
+ interface Props extends Omit<JSX.IntrinsicElements['p'], 'children'> {
9
+ children?: ChildrenFunction<TLineItemName>;
10
+ }
11
+ export declare function LineItemName(props: Props): JSX.Element;
17
12
  export default LineItemName;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemName=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.LineItemName.propTypes,displayName=components_1.default.LineItemName.displayName;function LineItemName(props){const{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),label=lineItem?.name,parentProps={label,lineItem,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("p",{...props,children:label})}exports.LineItemName=LineItemName,LineItemName.propTypes=propTypes,LineItemName.displayName=displayName,exports.default=LineItemName;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemName=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function LineItemName(props){const{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),label=lineItem?.name,parentProps={label,lineItem,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("p",{"data-testid":`line-item-name-${lineItem?.sku_code??""}`,...props,children:label})}exports.LineItemName=LineItemName,exports.default=LineItemName;
@@ -1,30 +1,19 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { LineItemOption as LineItemOptionType } from '@commercelayer/sdk';
3
3
  import { ChildrenFunction } from '../../typings/index';
4
- declare type LineItemOptionChildrenProps = ChildrenFunction<Omit<Props, 'children'> & {
4
+ export interface TLineItemOption extends Omit<Props, 'children'> {
5
5
  lineItemOption: LineItemOptionType;
6
- }>;
7
- declare type Props = {
6
+ }
7
+ interface Props {
8
8
  id?: string;
9
9
  className?: string;
10
10
  key?: string;
11
11
  style?: CSSProperties;
12
- children?: LineItemOptionChildrenProps;
12
+ children?: ChildrenFunction<TLineItemOption>;
13
13
  name?: string;
14
14
  valueClassName?: string;
15
15
  tagElement?: keyof JSX.IntrinsicElements;
16
16
  tagContainer?: keyof JSX.IntrinsicElements;
17
- };
18
- export declare function LineItemOption(props: Props): JSX.Element;
19
- export declare namespace LineItemOption {
20
- var propTypes: {
21
- name: import("prop-types").Requireable<string>;
22
- children: import("prop-types").Requireable<(...args: any[]) => any>;
23
- valueClassName: import("prop-types").Requireable<string>;
24
- className: import("prop-types").Requireable<string>;
25
- id: import("prop-types").Requireable<string>;
26
- style: import("prop-types").Requireable<object>;
27
- };
28
- var displayName: string;
29
17
  }
18
+ export declare function LineItemOption(props: Props): JSX.Element;
30
19
  export default LineItemOption;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemOption=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemOptionChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemOptionChildrenContext")),get_1=tslib_1.__importDefault(require("lodash/get")),has_1=tslib_1.__importDefault(require("lodash/has")),map_1=tslib_1.__importDefault(require("lodash/map")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),isJSON_1=tslib_1.__importDefault(require("../../utils/isJSON")),propTypes=components_1.default.LineItemOption.propTypes,displayName=components_1.default.LineItemOption.displayName;function LineItemOption(props){const{name,children,valueClassName,key,tagElement="li",tagContainer="ul",...p}=props,{lineItemOption,showAll}=(0,react_1.useContext)(LineItemOptionChildrenContext_1.default),parentProps={...props,lineItemOption},TagElement=tagElement,TagContainer=tagContainer,components=showAll&&(0,isJSON_1.default)(JSON.stringify(lineItemOption?.options))?(0,map_1.default)(lineItemOption?.options,(value,key2)=>(0,jsx_runtime_1.jsxs)(TagElement,{...p,children:[`${key2}:`,(0,jsx_runtime_1.jsx)("span",{className:valueClassName,children:`${value}`})]},key2)):(0,has_1.default)(lineItemOption,`options.${name}`)?(0,jsx_runtime_1.jsxs)(TagElement,{...p,children:[`${name}:`,(0,jsx_runtime_1.jsx)("span",{className:valueClassName,...p,children:`${(0,get_1.default)(lineItemOption,`options.${name}`)}`})]},key):null;return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)(TagContainer,{children:components})}exports.LineItemOption=LineItemOption,LineItemOption.propTypes=propTypes,LineItemOption.displayName=displayName,exports.default=LineItemOption;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemOption=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemOptionChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemOptionChildrenContext")),get_1=tslib_1.__importDefault(require("lodash/get")),has_1=tslib_1.__importDefault(require("lodash/has")),map_1=tslib_1.__importDefault(require("lodash/map")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),isJSON_1=tslib_1.__importDefault(require("../../utils/isJSON"));function LineItemOption(props){const{name,children,valueClassName,key,tagElement="li",tagContainer="ul",...p}=props,{lineItemOption,showAll}=(0,react_1.useContext)(LineItemOptionChildrenContext_1.default),parentProps={...props,lineItemOption},TagElement=tagElement,TagContainer=tagContainer,components=showAll&&(0,isJSON_1.default)(JSON.stringify(lineItemOption?.options))?(0,map_1.default)(lineItemOption?.options,(value,key2)=>(0,jsx_runtime_1.jsxs)(TagElement,{...p,children:[`${key2}:`,(0,jsx_runtime_1.jsx)("span",{className:valueClassName,children:`${value}`})]},key2)):(0,has_1.default)(lineItemOption,`options.${name}`)?(0,jsx_runtime_1.jsxs)(TagElement,{...p,children:[`${name}:`,(0,jsx_runtime_1.jsx)("span",{className:valueClassName,...p,children:`${(0,get_1.default)(lineItemOption,`options.${name}`)}`})]},key):null;return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)(TagContainer,{children:components})}exports.LineItemOption=LineItemOption,exports.default=LineItemOption;
@@ -1,11 +1,11 @@
1
1
  import { ReactNode } from 'react';
2
- declare type Props = JSX.IntrinsicElements['div'] & {
2
+ declare type Props = {
3
3
  children: ReactNode;
4
4
  title?: string;
5
5
  showName?: boolean;
6
6
  titleTagElement?: keyof JSX.IntrinsicElements;
7
7
  titleClassName?: string;
8
- } & ({
8
+ } & Omit<JSX.IntrinsicElements['div'], 'children'> & ({
9
9
  skuOptionId: string;
10
10
  showAll?: never;
11
11
  } | {
@@ -13,7 +13,4 @@ declare type Props = JSX.IntrinsicElements['div'] & {
13
13
  showAll: true;
14
14
  });
15
15
  export declare function LineItemOptions(props: Props): JSX.Element;
16
- export declare namespace LineItemOptions {
17
- var displayName: string;
18
- }
19
16
  export default LineItemOptions;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemOptions=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),LineItemOptionChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemOptionChildrenContext")),lodash_1=require("lodash"),components_1=tslib_1.__importDefault(require("../../config/components")),displayName=components_1.default.LineItemOptions.displayName;function LineItemOptions(props){const{skuOptionId,title,children,showName=!0,showAll,className,titleTagElement="h6",titleClassName,...p}=props,{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),lineItemOptions=(0,lodash_1.isEmpty)(lineItem)?[]:lineItem?.line_item_options||[],TitleTagElement=titleTagElement,options=lineItemOptions.filter(o=>showAll?!0:o.skuOption().id===skuOptionId).map((o,k)=>{const showTitle=showName?(0,jsx_runtime_1.jsx)(TitleTagElement,{className:titleClassName,children:title||o.name}):null,valueProps={lineItemOption:o,showAll};return(0,jsx_runtime_1.jsxs)("div",{className,...p,children:[showTitle,(0,jsx_runtime_1.jsx)(LineItemOptionChildrenContext_1.default.Provider,{value:valueProps,children})]},k)});return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:options})}exports.LineItemOptions=LineItemOptions,LineItemOptions.displayName=displayName,exports.default=LineItemOptions;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemOptions=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),LineItemOptionChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemOptionChildrenContext"));function LineItemOptions(props){const{skuOptionId,title,children,showName=!0,showAll,className,titleTagElement="h6",titleClassName,...p}=props,{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),lineItemOptions=lineItem!=null?lineItem?.line_item_options||[]:[],TitleTagElement=titleTagElement,options=lineItemOptions.filter(o=>showAll?!0:o.skuOption().id===skuOptionId).map((o,k)=>{const showTitle=showName?(0,jsx_runtime_1.jsx)(TitleTagElement,{className:titleClassName,children:title||o.name}):null,valueProps={lineItemOption:o,showAll};return(0,jsx_runtime_1.jsxs)("div",{className,...p,children:[showTitle,(0,jsx_runtime_1.jsx)(LineItemOptionChildrenContext_1.default.Provider,{value:valueProps,children})]},k)});return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:options})}exports.LineItemOptions=LineItemOptions,exports.default=LineItemOptions;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemRemoveLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function LineItemRemoveLink(props){const{label="Remove"}=props,{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),{deleteLineItem}=(0,react_1.useContext)(LineItemContext_1.default),handleRemove=e=>{e.preventDefault(),deleteLineItem&&lineItem&&deleteLineItem(lineItem.id)},parentProps={handleRemove,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("a",{...props,href:"#",onClick:handleRemove,children:label})}exports.LineItemRemoveLink=LineItemRemoveLink,exports.default=LineItemRemoveLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemRemoveLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function LineItemRemoveLink(props){const{label="Remove",onClick}=props,{lineItem}=(0,useCustomContext_1.default)({context:LineItemChildrenContext_1.default,contextComponentName:"LineItem",currentComponentName:"LineItemRemoveLink",key:"lineItem"}),{deleteLineItem}=(0,react_1.useContext)(LineItemContext_1.default),handleRemove=e=>{e.preventDefault(),deleteLineItem!=null&&lineItem!=null&&deleteLineItem(lineItem.id),onClick?.(e)},parentProps={handleRemove,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("a",{"data-testid":`line-item-remove-link-${lineItem?.sku_code??""}`,...props,href:"#",onClick:handleRemove,children:label})}exports.LineItemRemoveLink=LineItemRemoveLink,exports.default=LineItemRemoveLink;
@@ -1,20 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
- declare type Props = {
2
+ interface Props {
3
3
  children: ReactNode;
4
4
  filters?: Record<string, any>;
5
5
  loader?: ReactNode;
6
- };
7
- export declare function LineItemsContainer(props: Props): JSX.Element;
8
- export declare namespace LineItemsContainer {
9
- var propTypes: {
10
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
11
- filters: import("prop-types").Requireable<object>;
12
- loader: import("prop-types").Requireable<NonNullable<string | import("prop-types").ReactElementLike | null | undefined>>;
13
- };
14
- var defaultProps: {
15
- filters: {};
16
- loader: string;
17
- };
18
- var displayName: string;
19
6
  }
7
+ export declare function LineItemsContainer(props: Props): JSX.Element;
20
8
  export default LineItemsContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemsContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemReducer_1=tslib_1.__importStar(require("../../reducers/LineItemReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.LineItemsContainer.propTypes,defaultProps=components_1.default.LineItemsContainer.defaultProps,displayName=components_1.default.LineItemsContainer.displayName;function LineItemsContainer(props){const{children,loader="Loading..."}=props,{order,addResourceToInclude,include,orderId,getOrder,includeLoaded}=(0,react_1.useContext)(OrderContext_1.default),config=(0,react_1.useContext)(CommerceLayerContext_1.default),[state,dispatch]=(0,react_1.useReducer)(LineItemReducer_1.default,LineItemReducer_1.lineItemInitialState);(0,react_1.useEffect)(()=>{include?.includes("line_items.line_item_options.sku_option")?includeLoaded?.["line_items.line_item_options.sku_option"]||addResourceToInclude({newResourceLoaded:{"line_items.line_item_options.sku_option":!0}}):addResourceToInclude({newResource:["line_items.line_item_options.sku_option"]}),include?.includes("line_items.item")?includeLoaded?.["line_items.item"]||addResourceToInclude({newResourceLoaded:{"line_items.item":!0}}):addResourceToInclude({newResource:["line_items.item"]})},[include,includeLoaded]),(0,react_1.useEffect)(()=>{order?.line_items&&dispatch({type:"setLineItems",payload:{lineItems:order.line_items}})},[order?.line_items]);const lineItemValue={...state,loader,updateLineItem:(lineItemId,quantity=1)=>(0,LineItemReducer_1.updateLineItem)({lineItemId,quantity,dispatch,config,getOrder,orderId,errors:state.errors}),deleteLineItem:lineItemId=>(0,LineItemReducer_1.deleteLineItem)({lineItemId,dispatch,config,getOrder,orderId,errors:state.errors})};return(0,jsx_runtime_1.jsx)(LineItemContext_1.default.Provider,{value:lineItemValue,children:state.loading?loader:children})}exports.LineItemsContainer=LineItemsContainer,LineItemsContainer.propTypes=propTypes,LineItemsContainer.defaultProps=defaultProps,LineItemsContainer.displayName=displayName,exports.default=LineItemsContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemsContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemReducer_1=tslib_1.__importStar(require("../../reducers/LineItemReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function LineItemsContainer(props){const{children,loader="Loading..."}=props,{order,addResourceToInclude,include,orderId,getOrder,includeLoaded}=(0,react_1.useContext)(OrderContext_1.default),config=(0,react_1.useContext)(CommerceLayerContext_1.default),[state,dispatch]=(0,react_1.useReducer)(LineItemReducer_1.default,LineItemReducer_1.lineItemInitialState);(0,react_1.useEffect)(()=>{include?.includes("line_items.line_item_options.sku_option")?includeLoaded?.["line_items.line_item_options.sku_option"]||addResourceToInclude({newResourceLoaded:{"line_items.line_item_options.sku_option":!0}}):addResourceToInclude({newResource:["line_items.line_item_options.sku_option"]}),include?.includes("line_items.item")?includeLoaded?.["line_items.item"]||addResourceToInclude({newResourceLoaded:{"line_items.item":!0}}):addResourceToInclude({newResource:["line_items.item"]})},[include,includeLoaded]),(0,react_1.useEffect)(()=>{order?.line_items&&dispatch({type:"setLineItems",payload:{lineItems:order.line_items}})},[order?.line_items]);const lineItemValue={...state,loader,updateLineItem:(lineItemId,quantity=1)=>(0,LineItemReducer_1.updateLineItem)({lineItemId,quantity,dispatch,config,getOrder,orderId,errors:state.errors}),deleteLineItem:lineItemId=>(0,LineItemReducer_1.deleteLineItem)({lineItemId,dispatch,config,getOrder,orderId,errors:state.errors})};return(0,jsx_runtime_1.jsx)(LineItemContext_1.default.Provider,{value:lineItemValue,children:state.loading?loader:children})}exports.LineItemsContainer=LineItemsContainer,exports.default=LineItemsContainer;
@@ -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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AddToCartButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),has_1=tslib_1.__importDefault(require("lodash/has")),ItemContext_1=tslib_1.__importDefault(require("../../context/ItemContext")),getCurrentItemKey_1=tslib_1.__importDefault(require("../../utils/getCurrentItemKey")),SkuListsContext_1=tslib_1.__importDefault(require("../../context/SkuListsContext")),ExternalFunctionContext_1=tslib_1.__importDefault(require("../../context/ExternalFunctionContext")),SkuChildrenContext_1=tslib_1.__importDefault(require("../../context/SkuChildrenContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,disabled,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,...p}=props,{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),{addToCart,orderId,getOrder,setOrderErrors}=(0,react_1.useContext)(OrderContext_1.default),{url,callExternalFunction}=(0,react_1.useContext)(ExternalFunctionContext_1.default),{item,items,quantity,option,prices,lineItems,lineItem:lineItemContext,skuCode:itemSkuCode}=(0,react_1.useContext)(ItemContext_1.default),{skuLists}=(0,react_1.useContext)(SkuListsContext_1.default),{sku}=(0,react_1.useContext)(SkuChildrenContext_1.default),[slug]=endpoint?endpoint.split(".commercelayer"):[""],sCode=!(0,isEmpty_1.default)(items)&&skuCode?items[skuCode]?.code:sku?.code||skuCode||(0,getCurrentItemKey_1.default)(item)||itemSkuCode,availabilityQuantity=item[sCode]?.inventory?.quantity,handleClick=async()=>{const qty=quantity[sCode],opt=option[sCode],customLineItem=(0,isEmpty_1.default)(lineItem||lineItemContext)?lineItems[sCode]:lineItem||lineItemContext;if(!(0,isEmpty_1.default)(skuLists)&&skuListId&&url){const slQty=quantity[skuListId]||1;if((0,has_1.default)(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=(0,getCartLink_1.default)({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=!(0,isEmpty_1.default)(skuLists)||skuListId?!1:disabled||!prices[sCode]||!sCode||availabilityQuantity===0,parentProps={handleClick,disabled:disabled||autoDisabled,label,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{...p,disabled:autoDisabled,onClick:()=>{handleClick()},children:label})}exports.AddToCartButton=AddToCartButton,exports.default=AddToCartButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AddToCartButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),SkuListsContext_1=tslib_1.__importDefault(require("../../context/SkuListsContext")),ExternalFunctionContext_1=tslib_1.__importDefault(require("../../context/ExternalFunctionContext")),SkuChildrenContext_1=tslib_1.__importDefault(require("../../context/SkuChildrenContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,quantity,lineItemOption,...p}=props,{accessToken,endpoint}=(0,useCustomContext_1.default)({context:CommerceLayerContext_1.default,contextComponentName:"CommerceLayer",currentComponentName:"AddToCartButton",key:"accessToken"}),{addToCart,orderId,getOrder,setOrderErrors}=(0,useCustomContext_1.default)({context:OrderContext_1.default,contextComponentName:"OrderContainer",currentComponentName:"AddToCartButton",key:"addToCart"}),{url,callExternalFunction}=(0,react_1.useContext)(ExternalFunctionContext_1.default),{skuLists}=(0,react_1.useContext)(SkuListsContext_1.default),{sku}=(0,react_1.useContext)(SkuChildrenContext_1.default),[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=(0,getCartLink_1.default)({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?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{...p,onClick:()=>{handleClick()},children:label})}exports.AddToCartButton=AddToCartButton,exports.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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),AdjustmentAmount=props=>(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"adjustment",...props});exports.default=AdjustmentAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AdjustmentAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function AdjustmentAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"adjustment",...props})}exports.AdjustmentAmount=AdjustmentAmount,exports.default=AdjustmentAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CartLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink"));function CartLink(props){const{label,children,...p}=props,{order,createOrder}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint.split(".commercelayer"),href=slug&&order?.id?(0,getCartLink_1.default)({slug,orderId:order?.id,accessToken}):"",handleClick=async event=>{if(event.preventDefault(),order?.id)location.href=href;else{const orderId=await createOrder();slug&&(location.href=(0,getCartLink_1.default)({slug,orderId,accessToken}))}},parentProps={handleClick,label,href,...p};return accessToken?children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,onClick:e=>{handleClick(e)},children:label}):null}exports.CartLink=CartLink,exports.default=CartLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CartLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink"));function CartLink(props){const{label,children,...p}=props,{order,createOrder}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint?.split(".commercelayer")??"";if(accessToken==null)throw new Error("Cannot use `CartLink` outside of `CommerceLayer`");const href=slug&&order?.id?(0,getCartLink_1.default)({slug,orderId:order?.id,accessToken}):"",handleClick=async event=>{if(event.preventDefault(),order?.id)location.href=href;else{const orderId=await createOrder();slug&&(location.href=(0,getCartLink_1.default)({slug,orderId,accessToken}))}},parentProps={handleClick,label,href,...p};return accessToken?children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,onClick:e=>{handleClick(e)},children:label}):null}exports.CartLink=CartLink,exports.default=CartLink;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CheckoutLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function CheckoutLink(props){const{label,hostedCheckout=!0,children,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[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?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,children:label})}exports.CheckoutLink=CheckoutLink,exports.default=CheckoutLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CheckoutLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function CheckoutLink(props){const{label,hostedCheckout=!0,children,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default);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?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,children:label})}exports.CheckoutLink=CheckoutLink,exports.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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DiscountAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.DiscountAmount.propTypes,defaultProps=components_1.default.DiscountAmount.defaultProps,displayName=components_1.default.DiscountAmount.displayName;function DiscountAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"discount",...props})}exports.DiscountAmount=DiscountAmount,DiscountAmount.propTypes=propTypes,DiscountAmount.defaultProps=defaultProps,DiscountAmount.displayName=displayName,exports.default=DiscountAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DiscountAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function DiscountAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"discount",...props})}exports.DiscountAmount=DiscountAmount,exports.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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.GiftCardAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.GiftCardAmount.propTypes,displayName=components_1.default.GiftCardAmount.displayName;function GiftCardAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"gift_card",...props})}exports.GiftCardAmount=GiftCardAmount,GiftCardAmount.propTypes=propTypes,GiftCardAmount.displayName=displayName,exports.default=GiftCardAmount;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.GiftCardAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function GiftCardAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"gift_card",...props})}exports.GiftCardAmount=GiftCardAmount,exports.default=GiftCardAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderReducer_1=tslib_1.__importStar(require("../../reducers/OrderReducer")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),OrderContext_1=tslib_1.__importStar(require("../../context/OrderContext")),OrderStorageContext_1=tslib_1.__importDefault(require("../../context/OrderStorageContext")),compareObjAttribute_1=tslib_1.__importDefault(require("../../utils/compareObjAttribute"));function OrderContainer(props){const{orderId,children,metadata,attributes,fetchOrder}=props,[state,dispatch]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState),[lock,setLock]=(0,react_1.useState)(!1),[lockOrder,setLockOrder]=(0,react_1.useState)(!0),config=(0,react_1.useContext)(CommerceLayerContext_1.default),{persistKey,clearWhenPlaced,getLocalOrder,setLocalOrder,deleteLocalOrder}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)(()=>{state.withoutIncludes||dispatch({type:"setLoading",payload:{loading:!0}})},[state.withoutIncludes]),(0,react_1.useEffect)(()=>{if(attributes&&state?.order&&!lock){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});Object.keys(updateAttributes).length>0&&((0,OrderReducer_1.updateOrder)({id:state.order.id,attributes:updateAttributes,dispatch,config,include:state.include,state}),setLock(!0))}return()=>{if(attributes&&state?.order){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});state.order&&Object.keys(updateAttributes).length===0&&setLock(!1)}}},[attributes,state?.order,lock]),(0,react_1.useEffect)(()=>{const localOrder=persistKey?getLocalOrder(persistKey):orderId,startRequest=Object.keys(state?.includeLoaded||{}).filter(key=>state?.includeLoaded?.[key]===!0),getOrder=async()=>{const removeOrderPlaced=!!(persistKey&&clearWhenPlaced);localOrder&&await(0,OrderReducer_1.getApiOrder)({id:localOrder,dispatch,config,persistKey,clearWhenPlaced:removeOrderPlaced,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=(0,react_1.useMemo)(()=>({...state,setOrder:order=>(0,OrderReducer_1.setOrder)(order,dispatch),getOrder:async id=>await(0,OrderReducer_1.getApiOrder)({id,dispatch,config,state}),setOrderErrors:errors=>(0,OrderReducer_1.setOrderErrors)({dispatch,errors}),createOrder:async()=>await(0,OrderReducer_1.createOrder)({persistKey,dispatch,config,state,orderMetadata:metadata,orderAttributes:attributes,setLocalOrder}),addToCart:async values=>await OrderContext_1.defaultOrderContext.addToCart({...values,persistKey,dispatch,state,config,errors:state.errors,orderMetadata:metadata||{},orderAttributes:attributes,setLocalOrder}),saveAddressToCustomerAddressBook:args=>OrderContext_1.defaultOrderContext.saveAddressToCustomerAddressBook({...args,dispatch}),setGiftCardOrCouponCode:async({code,codeType})=>await OrderContext_1.defaultOrderContext.setGiftCardOrCouponCode({code,codeType,dispatch,order:state.order,config,include:state.include,state}),removeGiftCardOrCouponCode:async({codeType})=>await OrderContext_1.defaultOrderContext.removeGiftCardOrCouponCode({codeType,dispatch,order:state.order,config,include:state.include,state}),addResourceToInclude:args=>OrderContext_1.defaultOrderContext.addResourceToInclude({...args,dispatch,resourcesIncluded:state.include,resourceIncludedLoaded:state.includeLoaded}),updateOrder:async args=>await OrderContext_1.defaultOrderContext.updateOrder({...args,dispatch,config,include:state.include,state})}),[state,config.accessToken]);return(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,{value:orderValue,children})}exports.OrderContainer=OrderContainer,exports.default=OrderContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderReducer_1=tslib_1.__importStar(require("../../reducers/OrderReducer")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),OrderContext_1=tslib_1.__importStar(require("../../context/OrderContext")),OrderStorageContext_1=tslib_1.__importDefault(require("../../context/OrderStorageContext")),compareObjAttribute_1=tslib_1.__importDefault(require("../../utils/compareObjAttribute")),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function OrderContainer(props){const{orderId,children,metadata,attributes,fetchOrder}=props,[state,dispatch]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState),[lock,setLock]=(0,react_1.useState)(!1),[lockOrder,setLockOrder]=(0,react_1.useState)(!0),config=(0,useCustomContext_1.default)({context:CommerceLayerContext_1.default,contextComponentName:"CommerceLayer",currentComponentName:"OrderContainer"});if(config.accessToken==null)throw new Error("Cannot use `OrderContainer` outside of `CommerceLayer`");const{persistKey,clearWhenPlaced,getLocalOrder,setLocalOrder,deleteLocalOrder}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)(()=>{state.withoutIncludes||dispatch({type:"setLoading",payload:{loading:!0}})},[state.withoutIncludes]),(0,react_1.useEffect)(()=>{if(attributes&&state?.order&&!lock){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});Object.keys(updateAttributes).length>0&&((0,OrderReducer_1.updateOrder)({id:state.order.id,attributes:updateAttributes,dispatch,config,include:state.include,state}),setLock(!0))}return()=>{if(attributes&&state?.order){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});state.order&&Object.keys(updateAttributes).length===0&&setLock(!1)}}},[attributes,state?.order,lock]),(0,react_1.useEffect)(()=>{const localOrder=persistKey?getLocalOrder(persistKey):orderId,startRequest=Object.keys(state?.includeLoaded||{}).filter(key=>state?.includeLoaded?.[key]===!0),getOrder=async()=>{const removeOrderPlaced=!!(persistKey&&clearWhenPlaced);localOrder&&await(0,OrderReducer_1.getApiOrder)({id:localOrder,dispatch,config,persistKey,clearWhenPlaced:removeOrderPlaced,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=(0,react_1.useMemo)(()=>({...state,setOrder:order=>(0,OrderReducer_1.setOrder)(order,dispatch),getOrder:async id=>await(0,OrderReducer_1.getApiOrder)({id,dispatch,config,state}),setOrderErrors:errors=>(0,OrderReducer_1.setOrderErrors)({dispatch,errors}),createOrder:async()=>await(0,OrderReducer_1.createOrder)({persistKey,dispatch,config,state,orderMetadata:metadata,orderAttributes:attributes,setLocalOrder}),addToCart:async params=>await(0,OrderReducer_1.addToCart)({...params,persistKey,dispatch,state,config,errors:state.errors,orderMetadata:metadata||{},orderAttributes:attributes,setLocalOrder}),saveAddressToCustomerAddressBook:args=>OrderContext_1.defaultOrderContext.saveAddressToCustomerAddressBook({...args,dispatch}),setGiftCardOrCouponCode:async({code,codeType})=>await OrderContext_1.defaultOrderContext.setGiftCardOrCouponCode({code,codeType,dispatch,order:state.order,config,include:state.include,state}),removeGiftCardOrCouponCode:async({codeType})=>await OrderContext_1.defaultOrderContext.removeGiftCardOrCouponCode({codeType,dispatch,order:state.order,config,include:state.include,state}),addResourceToInclude:args=>OrderContext_1.defaultOrderContext.addResourceToInclude({...args,dispatch,resourcesIncluded:state.include,resourceIncludedLoaded:state.includeLoaded}),updateOrder:async args=>await OrderContext_1.defaultOrderContext.updateOrder({...args,dispatch,config,include:state.include,state})}),[state,config.accessToken]);return(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,{value:orderValue,children})}exports.OrderContainer=OrderContainer,exports.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
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentMethodAmount=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),BaseOrderPrice_1=tslib_1.__importDefault(require("../utils/BaseOrderPrice"));function PaymentMethodAmount(props){return(0,jsx_runtime_1.jsx)(BaseOrderPrice_1.default,{base:"amount",type:"payment_method",...props})}exports.PaymentMethodAmount=PaymentMethodAmount,exports.default=PaymentMethodAmount;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),isFunction_1=tslib_1.__importDefault(require("lodash/isFunction")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails"));function PlaceOrderButton(props){const ref=(0,react_1.useRef)(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),[notPermitted,setNotPermitted]=(0,react_1.useState)(!0),[forceDisable,setForceDisable]=(0,react_1.useState)(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),isFree=order?.total_amount_with_taxes_cents===0;(0,react_1.useEffect)(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=(0,getCardDetails_1.default)({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]),(0,react_1.useEffect)(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),(0,react_1.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]),(0,react_1.useEffect)(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),(0,react_1.useEffect)(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&(0,getCardDetails_1.default)({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?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:(0,isFunction_1.default)(label)?label():label})}exports.PlaceOrderButton=PlaceOrderButton,exports.default=PlaceOrderButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),isFunction_1=tslib_1.__importDefault(require("lodash/isFunction")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails"));function PlaceOrderButton(props){const ref=(0,react_1.useRef)(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),[notPermitted,setNotPermitted]=(0,react_1.useState)(!0),[forceDisable,setForceDisable]=(0,react_1.useState)(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource,setPaymentMethodErrors}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),isFree=order?.total_amount_with_taxes_cents===0;(0,react_1.useEffect)(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=(0,getCardDetails_1.default)({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]),(0,react_1.useEffect)(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),(0,react_1.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]),(0,react_1.useEffect)(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),(0,react_1.useEffect)(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&(0,getCardDetails_1.default)({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?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:(0,isFunction_1.default)(label)?label():label})}exports.PlaceOrderButton=PlaceOrderButton,exports.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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),react_1=require("react"),PlaceOrderReducer_1=tslib_1.__importStar(require("../../reducers/PlaceOrderReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),components_1=tslib_1.__importDefault(require("../../config/components")),PlaceOrderReducer_2=require("../../reducers/PlaceOrderReducer"),propTypes=components_1.default.PlaceOrderContainer.propTypes,displayName=components_1.default.PlaceOrderContainer.displayName;function PlaceOrderContainer(props){const{children,options}=props,[state,dispatch]=(0,react_1.useReducer)(PlaceOrderReducer_1.default,PlaceOrderReducer_1.placeOrderInitialState),{order,setOrder,setOrderErrors,include,addResourceToInclude,includeLoaded}=(0,react_1.useContext)(OrderContext_1.default),config=(0,react_1.useContext)(CommerceLayerContext_1.default);(0,react_1.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&&(0,PlaceOrderReducer_1.placeOrderPermitted)({config,dispatch,order,options:{...options}})},[order,include,includeLoaded]);const contextValue={...state,setPlaceOrder:({paymentSource})=>(0,PlaceOrderReducer_2.setPlaceOrder)({config,order,state,setOrderErrors,paymentSource,include,setOrder}),placeOrderPermitted:()=>(0,PlaceOrderReducer_1.placeOrderPermitted)({config,dispatch,order,options:{...options}}),setButtonRef:ref=>(0,PlaceOrderReducer_1.setButtonRef)(ref,dispatch)};return(0,jsx_runtime_1.jsx)(PlaceOrderContext_1.default.Provider,{value:contextValue,children})}exports.PlaceOrderContainer=PlaceOrderContainer,PlaceOrderContainer.propTypes=propTypes,PlaceOrderContainer.displayName=displayName,exports.default=PlaceOrderContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),react_1=require("react"),PlaceOrderReducer_1=tslib_1.__importStar(require("../../reducers/PlaceOrderReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),PlaceOrderReducer_2=require("../../reducers/PlaceOrderReducer"),useCustomContext_1=tslib_1.__importDefault(require("../../utils/hooks/useCustomContext"));function PlaceOrderContainer(props){const{children,options}=props,[state,dispatch]=(0,react_1.useReducer)(PlaceOrderReducer_1.default,PlaceOrderReducer_1.placeOrderInitialState),{order,setOrder,setOrderErrors,include,addResourceToInclude,includeLoaded}=(0,useCustomContext_1.default)({context:OrderContext_1.default,contextComponentName:"OrderContainer",currentComponentName:"PlaceOrderContainer",key:"order"}),config=(0,react_1.useContext)(CommerceLayerContext_1.default);(0,react_1.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&&(0,PlaceOrderReducer_1.placeOrderPermitted)({config,dispatch,order,options:{...options}})},[order,include,includeLoaded]);const contextValue={...state,setPlaceOrder:async({paymentSource})=>await(0,PlaceOrderReducer_2.setPlaceOrder)({config,order,state,setOrderErrors,paymentSource,include,setOrder}),placeOrderPermitted:()=>(0,PlaceOrderReducer_1.placeOrderPermitted)({config,dispatch,order,options:{...options}}),setButtonRef:ref=>(0,PlaceOrderReducer_1.setButtonRef)(ref,dispatch)};return(0,jsx_runtime_1.jsx)(PlaceOrderContext_1.default.Provider,{value:contextValue,children})}exports.PlaceOrderContainer=PlaceOrderContainer,exports.default=PlaceOrderContainer;