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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/lib/cjs/components/auth/CommerceLayer.d.ts +2 -2
  2. package/lib/cjs/components/line_items/LineItem.d.ts +4 -11
  3. package/lib/cjs/components/line_items/LineItem.js +1 -1
  4. package/lib/cjs/components/line_items/LineItemAmount.d.ts +0 -13
  5. package/lib/cjs/components/line_items/LineItemAmount.js +1 -1
  6. package/lib/cjs/components/line_items/LineItemCode.d.ts +6 -11
  7. package/lib/cjs/components/line_items/LineItemCode.js +1 -1
  8. package/lib/cjs/components/line_items/LineItemField.d.ts +14 -0
  9. package/lib/cjs/components/line_items/LineItemField.js +1 -0
  10. package/lib/cjs/components/line_items/LineItemImage.d.ts +4 -11
  11. package/lib/cjs/components/line_items/LineItemImage.js +1 -1
  12. package/lib/cjs/components/line_items/LineItemName.d.ts +6 -11
  13. package/lib/cjs/components/line_items/LineItemName.js +1 -1
  14. package/lib/cjs/components/line_items/LineItemOption.d.ts +5 -16
  15. package/lib/cjs/components/line_items/LineItemOption.js +1 -1
  16. package/lib/cjs/components/line_items/LineItemOptions.d.ts +2 -5
  17. package/lib/cjs/components/line_items/LineItemOptions.js +1 -1
  18. package/lib/cjs/components/line_items/LineItemRemoveLink.js +1 -1
  19. package/lib/cjs/components/line_items/LineItemsContainer.d.ts +2 -14
  20. package/lib/cjs/components/line_items/LineItemsContainer.js +1 -1
  21. package/lib/cjs/components/orders/AddToCartButton.d.ts +34 -9
  22. package/lib/cjs/components/orders/AddToCartButton.js +1 -1
  23. package/lib/cjs/components/orders/AdjustmentAmount.d.ts +2 -2
  24. package/lib/cjs/components/orders/AdjustmentAmount.js +1 -1
  25. package/lib/cjs/components/orders/CartLink.js +1 -1
  26. package/lib/cjs/components/orders/CheckoutLink.js +1 -1
  27. package/lib/cjs/components/orders/DiscountAmount.d.ts +0 -14
  28. package/lib/cjs/components/orders/DiscountAmount.js +1 -1
  29. package/lib/cjs/components/orders/GiftCardAmount.d.ts +0 -11
  30. package/lib/cjs/components/orders/GiftCardAmount.js +1 -1
  31. package/lib/cjs/components/orders/OrderContainer.js +1 -1
  32. package/lib/cjs/components/orders/PaymentMethodAmount.d.ts +4 -0
  33. package/lib/cjs/components/orders/PaymentMethodAmount.js +1 -0
  34. package/lib/cjs/components/orders/PlaceOrderButton.js +1 -1
  35. package/lib/cjs/components/orders/PlaceOrderContainer.d.ts +2 -8
  36. package/lib/cjs/components/orders/PlaceOrderContainer.js +1 -1
  37. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -6
  38. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.js +1 -1
  39. package/lib/cjs/components/orders/ShippingAmount.d.ts +0 -11
  40. package/lib/cjs/components/orders/ShippingAmount.js +1 -1
  41. package/lib/cjs/components/orders/SubTotalAmount.d.ts +0 -14
  42. package/lib/cjs/components/orders/SubTotalAmount.js +1 -1
  43. package/lib/cjs/components/orders/TaxesAmount.d.ts +0 -14
  44. package/lib/cjs/components/orders/TaxesAmount.js +1 -1
  45. package/lib/cjs/components/orders/TotalAmount.d.ts +0 -14
  46. package/lib/cjs/components/orders/TotalAmount.js +1 -1
  47. package/lib/cjs/components/parcels/ParcelLineItemsCount.d.ts +18 -0
  48. package/lib/cjs/components/parcels/ParcelLineItemsCount.js +1 -0
  49. package/lib/cjs/components/parcels/ParcelsCount.js +1 -1
  50. package/lib/cjs/components/payment_gateways/AdyenGateway.js +1 -1
  51. package/lib/cjs/components/payment_methods/PaymentMethod.d.ts +1 -7
  52. package/lib/cjs/components/payment_methods/PaymentMethod.js +1 -1
  53. package/lib/cjs/components/payment_methods/PaymentMethodName.d.ts +6 -11
  54. package/lib/cjs/components/payment_methods/PaymentMethodName.js +1 -1
  55. package/lib/cjs/components/payment_methods/PaymentMethodPrice.d.ts +2 -14
  56. package/lib/cjs/components/payment_methods/PaymentMethodPrice.js +1 -1
  57. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.d.ts +4 -9
  58. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.js +1 -1
  59. package/lib/cjs/components/payment_methods/PaymentMethodsContainer.js +1 -1
  60. package/lib/cjs/components/payment_source/AdyenPayment.d.ts +5 -5
  61. package/lib/cjs/components/payment_source/AdyenPayment.js +1 -1
  62. package/lib/cjs/components/prices/Price.js +1 -1
  63. package/lib/cjs/components/prices/PricesContainer.js +1 -1
  64. package/lib/cjs/components/shipments/ShipmentsCount.js +1 -1
  65. package/lib/cjs/components/skus/AvailabilityContainer.d.ts +3 -9
  66. package/lib/cjs/components/skus/AvailabilityContainer.js +1 -1
  67. package/lib/cjs/components/skus/AvailabilityTemplate.d.ts +23 -4
  68. package/lib/cjs/components/skus/AvailabilityTemplate.js +1 -1
  69. package/lib/cjs/components/skus/SkuField.js +1 -1
  70. package/lib/cjs/components/skus/SkusContainer.d.ts +2 -2
  71. package/lib/cjs/components/utils/AddressCardsTemplate.d.ts +3 -4
  72. package/lib/cjs/components/utils/BaseInput.d.ts +1 -1
  73. package/lib/cjs/components/utils/BaseOrderPrice.d.ts +3 -3
  74. package/lib/cjs/components/utils/BaseOrderPrice.js +1 -1
  75. package/lib/cjs/components/utils/GenericFieldComponent.d.ts +4 -4
  76. package/lib/cjs/components/utils/GenericFieldComponent.js +1 -1
  77. package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +3 -3
  78. package/lib/cjs/context/CommerceLayerContext.d.ts +2 -2
  79. package/lib/cjs/context/CommerceLayerContext.js +1 -1
  80. package/lib/cjs/context/ExternalFunctionContext.d.ts +2 -2
  81. package/lib/cjs/context/ExternalFunctionContext.js +1 -1
  82. package/lib/cjs/context/LineItemContext.d.ts +1 -1
  83. package/lib/cjs/context/OrderContext.d.ts +2 -3
  84. package/lib/cjs/context/OrderContext.js +1 -1
  85. package/lib/cjs/context/PaymentMethodContext.d.ts +2 -11
  86. package/lib/cjs/context/PaymentMethodContext.js +1 -1
  87. package/lib/cjs/index.d.ts +5 -16
  88. package/lib/cjs/index.js +1 -1
  89. package/lib/cjs/reducers/AvailabilityReducer.d.ts +13 -23
  90. package/lib/cjs/reducers/AvailabilityReducer.js +1 -1
  91. package/lib/cjs/reducers/OrderReducer.d.ts +36 -22
  92. package/lib/cjs/reducers/OrderReducer.js +1 -1
  93. package/lib/cjs/reducers/PaymentMethodReducer.d.ts +9 -11
  94. package/lib/cjs/reducers/PaymentMethodReducer.js +1 -1
  95. package/lib/cjs/reducers/PriceReducer.d.ts +12 -19
  96. package/lib/cjs/reducers/PriceReducer.js +1 -1
  97. package/lib/cjs/reducers/SkuReducer.d.ts +3 -3
  98. package/lib/cjs/typings/errors.d.ts +4 -4
  99. package/lib/cjs/typings/index.d.ts +3 -3
  100. package/lib/cjs/utils/browserInfo.d.ts +5 -2
  101. package/lib/cjs/utils/browserInfo.js +1 -1
  102. package/lib/cjs/utils/getSdk.js +1 -1
  103. package/lib/cjs/utils/hooks/useCustomContext.d.ts +21 -0
  104. package/lib/cjs/utils/hooks/useCustomContext.js +1 -0
  105. package/lib/esm/components/auth/CommerceLayer.d.ts +2 -2
  106. package/lib/esm/components/line_items/LineItem.d.ts +4 -11
  107. package/lib/esm/components/line_items/LineItem.js +1 -1
  108. package/lib/esm/components/line_items/LineItemAmount.d.ts +0 -13
  109. package/lib/esm/components/line_items/LineItemAmount.js +1 -1
  110. package/lib/esm/components/line_items/LineItemCode.d.ts +6 -11
  111. package/lib/esm/components/line_items/LineItemCode.js +1 -1
  112. package/lib/esm/components/line_items/LineItemField.d.ts +14 -0
  113. package/lib/esm/components/line_items/LineItemField.js +1 -0
  114. package/lib/esm/components/line_items/LineItemImage.d.ts +4 -11
  115. package/lib/esm/components/line_items/LineItemImage.js +1 -1
  116. package/lib/esm/components/line_items/LineItemName.d.ts +6 -11
  117. package/lib/esm/components/line_items/LineItemName.js +1 -1
  118. package/lib/esm/components/line_items/LineItemOption.d.ts +5 -16
  119. package/lib/esm/components/line_items/LineItemOption.js +1 -1
  120. package/lib/esm/components/line_items/LineItemOptions.d.ts +2 -5
  121. package/lib/esm/components/line_items/LineItemOptions.js +1 -1
  122. package/lib/esm/components/line_items/LineItemRemoveLink.js +1 -1
  123. package/lib/esm/components/line_items/LineItemsContainer.d.ts +2 -14
  124. package/lib/esm/components/line_items/LineItemsContainer.js +1 -1
  125. package/lib/esm/components/orders/AddToCartButton.d.ts +34 -9
  126. package/lib/esm/components/orders/AddToCartButton.js +1 -1
  127. package/lib/esm/components/orders/AdjustmentAmount.d.ts +2 -2
  128. package/lib/esm/components/orders/AdjustmentAmount.js +1 -1
  129. package/lib/esm/components/orders/CartLink.js +1 -1
  130. package/lib/esm/components/orders/CheckoutLink.js +1 -1
  131. package/lib/esm/components/orders/DiscountAmount.d.ts +0 -14
  132. package/lib/esm/components/orders/DiscountAmount.js +1 -1
  133. package/lib/esm/components/orders/GiftCardAmount.d.ts +0 -11
  134. package/lib/esm/components/orders/GiftCardAmount.js +1 -1
  135. package/lib/esm/components/orders/OrderContainer.js +1 -1
  136. package/lib/esm/components/orders/PaymentMethodAmount.d.ts +4 -0
  137. package/lib/esm/components/orders/PaymentMethodAmount.js +1 -0
  138. package/lib/esm/components/orders/PlaceOrderButton.js +1 -1
  139. package/lib/esm/components/orders/PlaceOrderContainer.d.ts +2 -8
  140. package/lib/esm/components/orders/PlaceOrderContainer.js +1 -1
  141. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.d.ts +0 -6
  142. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.js +1 -1
  143. package/lib/esm/components/orders/ShippingAmount.d.ts +0 -11
  144. package/lib/esm/components/orders/ShippingAmount.js +1 -1
  145. package/lib/esm/components/orders/SubTotalAmount.d.ts +0 -14
  146. package/lib/esm/components/orders/SubTotalAmount.js +1 -1
  147. package/lib/esm/components/orders/TaxesAmount.d.ts +0 -14
  148. package/lib/esm/components/orders/TaxesAmount.js +1 -1
  149. package/lib/esm/components/orders/TotalAmount.d.ts +0 -14
  150. package/lib/esm/components/orders/TotalAmount.js +1 -1
  151. package/lib/esm/components/parcels/ParcelLineItemsCount.d.ts +18 -0
  152. package/lib/esm/components/parcels/ParcelLineItemsCount.js +1 -0
  153. package/lib/esm/components/parcels/ParcelsCount.js +1 -1
  154. package/lib/esm/components/payment_gateways/AdyenGateway.js +1 -1
  155. package/lib/esm/components/payment_methods/PaymentMethod.d.ts +1 -7
  156. package/lib/esm/components/payment_methods/PaymentMethod.js +1 -1
  157. package/lib/esm/components/payment_methods/PaymentMethodName.d.ts +6 -11
  158. package/lib/esm/components/payment_methods/PaymentMethodName.js +1 -1
  159. package/lib/esm/components/payment_methods/PaymentMethodPrice.d.ts +2 -14
  160. package/lib/esm/components/payment_methods/PaymentMethodPrice.js +1 -1
  161. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.d.ts +4 -9
  162. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.js +1 -1
  163. package/lib/esm/components/payment_methods/PaymentMethodsContainer.js +1 -1
  164. package/lib/esm/components/payment_source/AdyenPayment.d.ts +5 -5
  165. package/lib/esm/components/payment_source/AdyenPayment.js +1 -1
  166. package/lib/esm/components/prices/Price.js +1 -1
  167. package/lib/esm/components/prices/PricesContainer.js +1 -1
  168. package/lib/esm/components/shipments/ShipmentsCount.js +1 -1
  169. package/lib/esm/components/skus/AvailabilityContainer.d.ts +3 -9
  170. package/lib/esm/components/skus/AvailabilityContainer.js +1 -1
  171. package/lib/esm/components/skus/AvailabilityTemplate.d.ts +23 -4
  172. package/lib/esm/components/skus/AvailabilityTemplate.js +1 -1
  173. package/lib/esm/components/skus/SkuField.js +1 -1
  174. package/lib/esm/components/skus/SkusContainer.d.ts +2 -2
  175. package/lib/esm/components/utils/AddressCardsTemplate.d.ts +3 -4
  176. package/lib/esm/components/utils/BaseInput.d.ts +1 -1
  177. package/lib/esm/components/utils/BaseOrderPrice.d.ts +3 -3
  178. package/lib/esm/components/utils/BaseOrderPrice.js +1 -1
  179. package/lib/esm/components/utils/GenericFieldComponent.d.ts +4 -4
  180. package/lib/esm/components/utils/GenericFieldComponent.js +1 -1
  181. package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +3 -3
  182. package/lib/esm/context/CommerceLayerContext.d.ts +2 -2
  183. package/lib/esm/context/CommerceLayerContext.js +1 -1
  184. package/lib/esm/context/ExternalFunctionContext.d.ts +2 -2
  185. package/lib/esm/context/ExternalFunctionContext.js +1 -1
  186. package/lib/esm/context/LineItemContext.d.ts +1 -1
  187. package/lib/esm/context/OrderContext.d.ts +2 -3
  188. package/lib/esm/context/OrderContext.js +1 -1
  189. package/lib/esm/context/PaymentMethodContext.d.ts +2 -11
  190. package/lib/esm/context/PaymentMethodContext.js +1 -1
  191. package/lib/esm/index.d.ts +5 -16
  192. package/lib/esm/index.js +1 -1
  193. package/lib/esm/reducers/AvailabilityReducer.d.ts +13 -23
  194. package/lib/esm/reducers/AvailabilityReducer.js +1 -1
  195. package/lib/esm/reducers/OrderReducer.d.ts +36 -22
  196. package/lib/esm/reducers/OrderReducer.js +1 -1
  197. package/lib/esm/reducers/PaymentMethodReducer.d.ts +9 -11
  198. package/lib/esm/reducers/PaymentMethodReducer.js +1 -1
  199. package/lib/esm/reducers/PriceReducer.d.ts +12 -19
  200. package/lib/esm/reducers/PriceReducer.js +1 -1
  201. package/lib/esm/reducers/SkuReducer.d.ts +3 -3
  202. package/lib/esm/typings/errors.d.ts +4 -4
  203. package/lib/esm/typings/index.d.ts +3 -3
  204. package/lib/esm/utils/browserInfo.d.ts +5 -2
  205. package/lib/esm/utils/browserInfo.js +1 -1
  206. package/lib/esm/utils/getSdk.js +1 -1
  207. package/lib/esm/utils/hooks/useCustomContext.d.ts +21 -0
  208. package/lib/esm/utils/hooks/useCustomContext.js +1 -0
  209. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  210. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  211. package/package.json +9 -8
  212. package/lib/cjs/components/orders/ItemContainer.d.ts +0 -11
  213. package/lib/cjs/components/orders/ItemContainer.js +0 -1
  214. package/lib/cjs/components/payment_methods/PaymentMethodAmount.d.ts +0 -18
  215. package/lib/cjs/components/payment_methods/PaymentMethodAmount.js +0 -1
  216. package/lib/cjs/components/skus/QuantitySelector.d.ts +0 -17
  217. package/lib/cjs/components/skus/QuantitySelector.js +0 -1
  218. package/lib/cjs/components/skus/SkuOption.d.ts +0 -14
  219. package/lib/cjs/components/skus/SkuOption.js +0 -1
  220. package/lib/cjs/components/skus/SkuOptionInput.d.ts +0 -15
  221. package/lib/cjs/components/skus/SkuOptionInput.js +0 -1
  222. package/lib/cjs/components/skus/SkuOptionsContainer.d.ts +0 -14
  223. package/lib/cjs/components/skus/SkuOptionsContainer.js +0 -1
  224. package/lib/cjs/components/skus/VariantSelector.d.ts +0 -29
  225. package/lib/cjs/components/skus/VariantSelector.js +0 -1
  226. package/lib/cjs/components/skus/VariantsContainer.d.ts +0 -20
  227. package/lib/cjs/components/skus/VariantsContainer.js +0 -1
  228. package/lib/cjs/components/utils/VariantTemplate.d.ts +0 -36
  229. package/lib/cjs/components/utils/VariantTemplate.js +0 -1
  230. package/lib/cjs/context/ItemContext.d.ts +0 -13
  231. package/lib/cjs/context/ItemContext.js +0 -1
  232. package/lib/cjs/context/SkuOptionChildrenContext.d.ts +0 -8
  233. package/lib/cjs/context/SkuOptionChildrenContext.js +0 -1
  234. package/lib/cjs/context/SkuOptionsContext.d.ts +0 -3
  235. package/lib/cjs/context/SkuOptionsContext.js +0 -1
  236. package/lib/cjs/context/VariantsContext.d.ts +0 -3
  237. package/lib/cjs/context/VariantsContext.js +0 -1
  238. package/lib/cjs/reducers/ItemReducer.d.ts +0 -69
  239. package/lib/cjs/reducers/ItemReducer.js +0 -1
  240. package/lib/cjs/reducers/SkuOptionsReducer.d.ts +0 -26
  241. package/lib/cjs/reducers/SkuOptionsReducer.js +0 -1
  242. package/lib/cjs/reducers/VariantReducer.d.ts +0 -72
  243. package/lib/cjs/reducers/VariantReducer.js +0 -1
  244. package/lib/cjs/utils/getCurrentItemKey.d.ts +0 -6
  245. package/lib/cjs/utils/getCurrentItemKey.js +0 -1
  246. package/lib/esm/components/orders/ItemContainer.d.ts +0 -11
  247. package/lib/esm/components/orders/ItemContainer.js +0 -1
  248. package/lib/esm/components/payment_methods/PaymentMethodAmount.d.ts +0 -18
  249. package/lib/esm/components/payment_methods/PaymentMethodAmount.js +0 -1
  250. package/lib/esm/components/skus/QuantitySelector.d.ts +0 -17
  251. package/lib/esm/components/skus/QuantitySelector.js +0 -1
  252. package/lib/esm/components/skus/SkuOption.d.ts +0 -14
  253. package/lib/esm/components/skus/SkuOption.js +0 -1
  254. package/lib/esm/components/skus/SkuOptionInput.d.ts +0 -15
  255. package/lib/esm/components/skus/SkuOptionInput.js +0 -1
  256. package/lib/esm/components/skus/SkuOptionsContainer.d.ts +0 -14
  257. package/lib/esm/components/skus/SkuOptionsContainer.js +0 -1
  258. package/lib/esm/components/skus/VariantSelector.d.ts +0 -29
  259. package/lib/esm/components/skus/VariantSelector.js +0 -1
  260. package/lib/esm/components/skus/VariantsContainer.d.ts +0 -20
  261. package/lib/esm/components/skus/VariantsContainer.js +0 -1
  262. package/lib/esm/components/utils/VariantTemplate.d.ts +0 -36
  263. package/lib/esm/components/utils/VariantTemplate.js +0 -1
  264. package/lib/esm/context/ItemContext.d.ts +0 -13
  265. package/lib/esm/context/ItemContext.js +0 -1
  266. package/lib/esm/context/SkuOptionChildrenContext.d.ts +0 -8
  267. package/lib/esm/context/SkuOptionChildrenContext.js +0 -1
  268. package/lib/esm/context/SkuOptionsContext.d.ts +0 -3
  269. package/lib/esm/context/SkuOptionsContext.js +0 -1
  270. package/lib/esm/context/VariantsContext.d.ts +0 -3
  271. package/lib/esm/context/VariantsContext.js +0 -1
  272. package/lib/esm/reducers/ItemReducer.d.ts +0 -69
  273. package/lib/esm/reducers/ItemReducer.js +0 -1
  274. package/lib/esm/reducers/SkuOptionsReducer.d.ts +0 -26
  275. package/lib/esm/reducers/SkuOptionsReducer.js +0 -1
  276. package/lib/esm/reducers/VariantReducer.d.ts +0 -72
  277. package/lib/esm/reducers/VariantReducer.js +0 -1
  278. package/lib/esm/utils/getCurrentItemKey.d.ts +0 -6
  279. package/lib/esm/utils/getCurrentItemKey.js +0 -1
@@ -1 +1 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import{setCustomerOrderParam}from"../../utils/localStorage";import Parent from"../utils/Parent";import getBrowserInfo from"../../utils/browserInfo";import PlaceOrderContext from"../../context/PlaceOrderContext";import OrderContext from"../../context/OrderContext";const threeDSConfiguration={challengeWindowSize:"05"},defaultConfig={};export function AdyenPayment({clientKey,config,templateCustomerSaveToWallet,environment="test",locale="en_US"}){const{cardContainerClassName,threeDSecureContainerClassName,styles}={...defaultConfig,...config},[loadAdyen,setLoadAdyen]=useState(!1),[checkout,setCheckout]=useState(null),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),{placeOrderButtonRef}=useContext(PlaceOrderContext),ref=useRef(null),handleSubmit=async(e,component)=>{const savePaymentSourceToCustomerWallet=e?.elements?.save_payment_source_to_customer_wallet?.checked;return savePaymentSourceToCustomerWallet&&setCustomerOrderParam("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),component&&component.submit&&component.submit(),!1},handleChange=async(state,checkout2)=>{if(state.isValid){ref.current&&(ref.current.onsubmit=()=>handleSubmit(ref.current,checkout2),setPaymentRef({ref}));const browserInfo=getBrowserInfo(),attributes={payment_request_data:{payment_method:state.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}};paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes})}},handleOnAdditionalDetails=async(state,component)=>{const attributes={payment_request_details:state.data,_details:1};try{const pSource=paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes}),adyenAction=pSource?.payment_response?.action,resultCode=pSource?.payment_response?.resultCode;if(adyenAction&&component)return component.handleAction(adyenAction),!1;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef!==null&&placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled===!0&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=pSource?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return console.error("Adyen additional details error:",error),!1}},onSubmit=async(state,component)=>{const browserInfo=getBrowserInfo();let control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments"});if(control?.payment_response?.resultCode==="Authorised")return!0;Object.keys(control?.payment_request_data).length>0===!1&&(control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes:{payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:window.location.href,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}}}));const attributes={payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:window.location.href,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}},_authorize:1};delete attributes.payment_request_data.paymentMethod;try{const res=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}),action=res?.payment_response?.action;if(component&&action)return component.handleAction(action),!1;const resultCode=res?.payment_response?.resultCode;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef!==null&&placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled===!0&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=res?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}if(res?.payment_response?.errorType)if(res?.payment_response?.errorCode==="14_006")onSubmit(state,component);else{const message=res?.payment_response?.message;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1}};return useEffect(()=>{const paymentMethodsResponse=paymentSource?.payment_methods?.paymentMethods?paymentSource?.payment_methods.paymentMethods:[],[firstPaymentMethod]=paymentMethodsResponse,isOnlyCard=paymentMethodsResponse?.length===1&&firstPaymentMethod.type==="scheme";paymentMethodsResponse.length===0&&console.error("Payment methods are not available. Please, check your Adyen configuration.");const options={locale,environment,clientKey,amount:{currency:order?.currency_code||"",value:order?.total_amount_with_taxes_cents||0},countryCode:order?.country_code||"",paymentMethodsResponse:{paymentMethods:paymentMethodsResponse},showPayButton:!1,paymentMethodsConfiguration:{threeDS2:threeDSConfiguration,paypal:{showPayButton:!0,style:styles?.paypal},card:{styles:styles?.card,holderNameRequired:!1}},onAdditionalDetails:handleOnAdditionalDetails,onChange:handleChange,onSubmit};return!ref&&clientKey&&setCustomerOrderParam("_save_payment_source_to_customer_wallet","false"),clientKey&&!loadAdyen&&window&&!checkout&&import("@adyen/adyen-web").then(({default:AdyenCheckout})=>{const type=isOnlyCard?"card":"dropin";AdyenCheckout(options).then(adyenCheckout=>{const component=adyenCheckout.create(type,{onSelect:component2=>{const id=component2._id;id.search("scheme")===-1&&ref.current&&(id.search("paypal")===-1?ref.current.onsubmit=()=>handleSubmit(ref.current,component2):ref.current.onsubmit=null,setPaymentRef({ref}))}}).mount("#adyen-dropin");component&&(setCheckout(component),setLoadAdyen(!0))})}),()=>{setPaymentRef({ref:{current:null}}),setLoadAdyen(!1)}},[clientKey,ref]),!clientKey&&!loadAdyen&&!checkout?null:_jsxs("form",{ref,onSubmit:e=>handleSubmit(e,checkout),children:[_jsx("div",{className:cardContainerClassName,id:"adyen-dropin"}),templateCustomerSaveToWallet&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet}),_jsx("div",{className:threeDSecureContainerClassName,id:"adyen-action"})]})}export default AdyenPayment;
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../../context/PaymentMethodContext";import{setCustomerOrderParam}from"../../utils/localStorage";import Parent from"../utils/Parent";import getBrowserInfo,{cleanUrlBy}from"../../utils/browserInfo";import PlaceOrderContext from"../../context/PlaceOrderContext";import OrderContext from"../../context/OrderContext";const threeDSConfiguration={challengeWindowSize:"05"},defaultConfig={};export function AdyenPayment({clientKey,config,templateCustomerSaveToWallet,environment="test",locale="en_US"}){const{cardContainerClassName,threeDSecureContainerClassName,styles}={...defaultConfig,...config},[loadAdyen,setLoadAdyen]=useState(!1),[checkout,setCheckout]=useState(null),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef}=useContext(PaymentMethodContext),{order}=useContext(OrderContext),{placeOrderButtonRef}=useContext(PlaceOrderContext),ref=useRef(null),handleSubmit=async(e,component)=>{const savePaymentSourceToCustomerWallet=e?.elements?.save_payment_source_to_customer_wallet?.checked;return savePaymentSourceToCustomerWallet&&setCustomerOrderParam("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),component?.submit&&component.submit(),!1},handleChange=async(state,checkout2)=>{if(state.isValid){ref.current&&(ref.current.onsubmit=async()=>await handleSubmit(ref.current,checkout2),setPaymentRef({ref}));const browserInfo=getBrowserInfo(),attributes={payment_request_data:{payment_method:state.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}};paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes})}},handleOnAdditionalDetails=async(state,component)=>{const attributes={payment_request_details:state.data,_details:1};try{const pSource=paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes}),adyenAction=pSource?.payment_response?.action,resultCode=pSource?.payment_response?.resultCode;if(adyenAction&&component)return component.handleAction(adyenAction),!1;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled","Refused"].includes(resultCode)){const message=pSource?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}]),component&&component.mount("#adyen-dropin")}return!1}catch(error){return console.error("Adyen additional details error:",error),!1}},onSubmit=async(state,component)=>{const browserInfo=getBrowserInfo(),url=cleanUrlBy();let control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments"});if(control?.payment_response?.resultCode==="Authorised")return!0;const paymentDataAvailable=Object.keys(control?.payment_request_data).length>0,paymentMethodSelected=control?.payment_request_data?.payment_method?.type;(!paymentDataAvailable||paymentMethodSelected!==state.data.paymentMethod.type)&&(control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes:{payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:url,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}}}));const attributes={payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:url,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}},_authorize:1};delete attributes.payment_request_data.paymentMethod;try{const res=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}),action=res?.payment_response?.action;if(component&&action)return component.handleAction(action),!1;const resultCode=res?.payment_response?.resultCode;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=res?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}if(res?.payment_response?.errorType)if(res?.payment_response?.errorCode==="14_006")onSubmit(state,component);else{const message=res?.payment_response?.message;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1}};return useEffect(()=>{const paymentMethodsResponse=paymentSource?.payment_methods?.paymentMethods?paymentSource?.payment_methods.paymentMethods:[],[firstPaymentMethod]=paymentMethodsResponse,isOnlyCard=paymentMethodsResponse?.length===1&&firstPaymentMethod.type==="scheme";paymentMethodsResponse.length===0&&console.error("Payment methods are not available. Please, check your Adyen configuration.");const options={locale,environment,clientKey,amount:{currency:order?.currency_code||"",value:order?.total_amount_with_taxes_cents||0},countryCode:order?.country_code||"",paymentMethodsResponse:{paymentMethods:paymentMethodsResponse},showPayButton:!1,paymentMethodsConfiguration:{threeDS2:threeDSConfiguration,paypal:{showPayButton:!0,style:styles?.paypal},card:{styles:styles?.card,holderNameRequired:!1}},onAdditionalDetails:handleOnAdditionalDetails,onChange:handleChange,onSubmit};return!ref&&clientKey&&setCustomerOrderParam("_save_payment_source_to_customer_wallet","false"),clientKey&&!loadAdyen&&window&&!checkout&&import("@adyen/adyen-web").then(({default:AdyenCheckout})=>{const type=isOnlyCard?"card":"dropin";AdyenCheckout(options).then(adyenCheckout=>{const component=adyenCheckout.create(type,{onSelect:component2=>{const id=component2._id;id.search("scheme")===-1&&ref.current&&(id.search("paypal")===-1?ref.current.onsubmit=async()=>await handleSubmit(ref.current,component2):ref.current.onsubmit=null,setPaymentRef({ref}))}}).mount("#adyen-dropin");component&&(setCheckout(component),setLoadAdyen(!0))})}),()=>{setPaymentRef({ref:{current:null}}),setLoadAdyen(!1)}},[clientKey,ref]),!clientKey&&!loadAdyen&&!checkout?null:_jsxs("form",{ref,onSubmit:e=>{handleSubmit(e,checkout)},children:[_jsx("div",{className:cardContainerClassName,id:"adyen-dropin"}),templateCustomerSaveToWallet&&_jsx(Parent,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet}),_jsx("div",{className:threeDSecureContainerClassName,id:"adyen-action"})]})}export default AdyenPayment;
@@ -1 +1 @@
1
- import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import Parent from"../utils/Parent";import PricesContext from"../../context/PricesContext";import{useState,useEffect,useContext}from"react";import{isEmpty,has,indexOf}from"lodash";import{getPricesComponent}from"../../utils/getPrices";import SkuChildrenContext from"../../context/SkuChildrenContext";export function Price(props){const{children,skuCode=""}=props,{prices,skuCode:pricesSkuCode,loading,skuCodes,setSkuCodes,loader}=useContext(PricesContext),{sku}=useContext(SkuChildrenContext),[skuPrices,setSkuPrices]=useState([]),sCode=pricesSkuCode||skuCode||sku?.code;useEffect(()=>(!isEmpty(prices)&&has(prices,`${sCode}`)?setSkuPrices(prices[sCode]):sCode&&indexOf(skuCodes,sCode)===-1&&(skuCodes.push(sCode),setSkuCodes&&setSkuCodes(skuCodes)),()=>{setSkuPrices([])}),[prices,sCode]);const parentProps={loading,loader,prices:skuPrices,...props},pricesComponent=isEmpty(prices)||isEmpty(skuPrices)?null:getPricesComponent(skuPrices,props);return children?_jsx(Parent,{...parentProps,children}):_jsx(_Fragment,{children:loading||isEmpty(pricesComponent)?loader:pricesComponent})}export default Price;
1
+ import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import Parent from"../utils/Parent";import PricesContext from"../../context/PricesContext";import{useState,useEffect,useContext}from"react";import{getPricesComponent}from"../../utils/getPrices";import SkuChildrenContext from"../../context/SkuChildrenContext";export function Price(props){const{children,skuCode=""}=props,{prices,skuCode:pricesSkuCode,loading,skuCodes,setSkuCodes,loader}=useContext(PricesContext),{sku}=useContext(SkuChildrenContext),[skuPrices,setSkuPrices]=useState([]),sCode=pricesSkuCode||skuCode||sku?.code;useEffect(()=>(prices!=null&&`${sCode}`in prices?setSkuPrices(prices[sCode]):sCode&&!skuCodes.includes(sCode)&&(skuCodes.push(sCode),setSkuCodes&&setSkuCodes({skuCodes})),()=>{setSkuPrices([])}),[prices,sCode]);const parentProps={loading,loader,prices:skuPrices,...props},pricesComponent=prices==null||skuPrices==null?null:getPricesComponent(skuPrices,props);return children?_jsx(Parent,{...parentProps,children}):_jsx(_Fragment,{children:loading||pricesComponent==null?loader:pricesComponent})}export default Price;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useContext,useReducer}from"react";import getPrices from"../../utils/getPrices";import isEmpty from"lodash/isEmpty";import has from"lodash/has";import indexOf from"lodash/indexOf";import CommerceLayerContext from"../../context/CommerceLayerContext";import priceReducer,{unsetPriceState,priceInitialState,getSkusPrice}from"../../reducers/PriceReducer";import PricesContext from"../../context/PricesContext";import getCurrentItemKey from"../../utils/getCurrentItemKey";import ItemContext from"../../context/ItemContext";import SkuContext from"../../context/SkuContext";export function PricesContainer(props){const{children,skuCode="",loader="Loading...",perPage=10,filters={}}=props,[state,dispatch]=useReducer(priceReducer,priceInitialState),config=useContext(CommerceLayerContext),{skuCodes}=useContext(SkuContext),{setPrices,prices,items,item:currentItem,skuCode:itemSkuCode}=useContext(ItemContext);indexOf(state.skuCodes,skuCode)===-1&&skuCode&&state.skuCodes.push(skuCode);const sCode=skuCodes&&skuCodes?.length>0?"":skuCode||getCurrentItemKey(currentItem)||itemSkuCode||"",setSkuCodes=skuCodes2=>{dispatch({type:"setSkuCodes",payload:{skuCodes:skuCodes2}})};useEffect(()=>{if(state.skuCodes.length===0&&skuCodes&&skuCodes.length>0&&setSkuCodes(skuCodes),currentItem&&has(prices,sCode)&&dispatch({type:"setPrices",payload:{prices}}),!isEmpty(items)&&isEmpty(currentItem)){const p=getPrices(items);dispatch({type:"setPrices",payload:{prices:p}})}return config.accessToken&&!has(prices,itemSkuCode||sCode)&&(state.skuCodes.length>0||itemSkuCode||sCode)&&getSkusPrice(sCode&&[itemSkuCode||sCode]||state.skuCodes,{config,dispatch,setPrices,prices,perPage,filters}),config.accessToken&&isEmpty(currentItem)&&(state.skuCodes.length>0||skuCode)&&getSkusPrice(sCode&&[sCode]||state.skuCodes,{config,dispatch,setPrices,prices,perPage,filters}),()=>{isEmpty(currentItem)&&unsetPriceState(dispatch)}},[config.accessToken,currentItem,sCode,state.skuCodes.length,itemSkuCode]);const priceValue={...state,skuCode:sCode,loader,setSkuCodes};return _jsx(PricesContext.Provider,{value:priceValue,children})}export default PricesContainer;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useContext,useReducer}from"react";import CommerceLayerContext from"../../context/CommerceLayerContext";import priceReducer,{priceInitialState,getSkusPrice,setSkuCodes}from"../../reducers/PriceReducer";import PricesContext from"../../context/PricesContext";import SkuContext from"../../context/SkuContext";export function PricesContainer(props){const{children,skuCode="",loader="Loading...",perPage=10,filters={}}=props,[state,dispatch]=useReducer(priceReducer,priceInitialState),config=useContext(CommerceLayerContext),{skuCodes}=useContext(SkuContext);!state.skuCodes.includes(skuCode)&&skuCode&&state.skuCodes.push(skuCode);const sCode=skuCodes&&skuCodes?.length>0?"":skuCode??"";useEffect(()=>{state.skuCodes.length===0&&skuCodes!=null&&skuCodes.length>0&&state.setSkuCodes!=null&&state.setSkuCodes({skuCodes,dispatch}),config.accessToken&&(state.skuCodes.length>0||sCode)&&getSkusPrice(sCode&&[sCode]||state.skuCodes,{config,dispatch,perPage,filters})},[config.accessToken,sCode,state.skuCodes.length]);const priceValue={...state,skuCode:sCode,loader,setSkuCodes:params=>setSkuCodes({...params,dispatch})};return _jsx(PricesContext.Provider,{value:priceValue,children})}export default PricesContainer;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";import ShipmentContext from"../../context/ShipmentContext";import{useContext}from"react";export function ShipmentsCount({children,...p}){const{shipments}=useContext(ShipmentContext);if(shipments===void 0)throw new Error("Cannot use `ShipmentsCount` outside of `ShipmentsContainer`");const quantity=shipments.length,childrenProps={...p,quantity,shipments};return children?_jsx(Parent,{...childrenProps,children}):_jsx("span",{...p,children:quantity})}export default ShipmentsCount;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";import ShipmentContext from"../../context/ShipmentContext";import useCustomContext from"../../utils/hooks/useCustomContext";export function ShipmentsCount({children,...p}){const{shipments}=useCustomContext({context:ShipmentContext,contextComponentName:"ShipmentsContainer",currentComponentName:"ShipmentsCount",key:"shipments"}),quantity=shipments?.length??0,childrenProps={...p,quantity,shipments};return children?_jsx(Parent,{...childrenProps,children}):_jsx("span",{...p,children:quantity})}export default ShipmentsCount;
@@ -1,14 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
- declare type Props = {
2
+ interface Props {
3
3
  children: ReactNode;
4
4
  skuCode?: string;
5
- };
6
- export declare function AvailabilityContainer(props: Props): JSX.Element;
7
- export declare namespace AvailabilityContainer {
8
- var propTypes: {
9
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
10
- skuCode: import("prop-types").Requireable<string>;
11
- };
12
- var displayName: string;
5
+ getQuantity?: (quantity: number) => void;
13
6
  }
7
+ export declare function AvailabilityContainer({ children, skuCode, getQuantity }: Props): JSX.Element;
14
8
  export default AvailabilityContainer;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useReducer,useEffect}from"react";import availabilityReducer,{availabilityInitialState,getAvailability,getAvailabilityByIds}from"../../reducers/AvailabilityReducer";import AvailabilityContext from"../../context/AvailabilityContext";import ItemContext from"../../context/ItemContext";import getCurrentItemKey from"../../utils/getCurrentItemKey";import components from"../../config/components";import CommerceLayerContext from"../../context/CommerceLayerContext";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import SkuChildrenContext from"../../context/SkuChildrenContext";import SkuContext from"../../context/SkuContext";import isEqual from"lodash/isEqual";const propTypes=components.AvailabilityContainer.propTypes,displayName=components.AvailabilityContainer.displayName;export function AvailabilityContainer(props){const{children,skuCode}=props,{item,skuCode:itemSkuCode,setItem}=useContext(ItemContext),{lineItem}=useContext(LineItemChildrenContext),{sku}=useContext(SkuChildrenContext),{skus}=useContext(SkuContext),config=useContext(CommerceLayerContext),[state,dispatch]=useReducer(availabilityReducer,availabilityInitialState),sCode=skuCode||getCurrentItemKey(item)||itemSkuCode||lineItem?.sku_code||sku?.code;return useEffect(()=>{if(sCode&&!skus){const available=item[sCode]?.inventory?.available,quantity=item[sCode]?.inventory?.quantity,[level]=item[sCode]?.inventory?.levels||[{quantity:null,delivery_lead_times:[]}];if(level!==void 0&&level?.delivery_lead_times?.length>0){const[delivery]=level.delivery_lead_times;dispatch({type:"setAvailability",payload:{...delivery,quantity:level?.quantity}})}else config.accessToken&&!item?.[sCode]?getAvailability({skuCode:sCode,config,dispatch,setItem,item}):available||dispatch({type:"setAvailability",payload:{quantity}})}else if(skus&&config.accessToken){const itemKeys=Object.keys(item).sort(),skuCodes=skus.map(s=>s?.code).sort();if(!isEqual(skuCodes,itemKeys)){const skusIds=skus.map(s=>s.id);getAvailabilityByIds({skusIds,config,dispatch,setItem})}}return()=>{dispatch({type:"setAvailability",payload:{}})}},[config.accessToken,item,sCode,skus]),_jsx(AvailabilityContext.Provider,{value:{...state},children})}AvailabilityContainer.propTypes=propTypes,AvailabilityContainer.displayName=displayName;export default AvailabilityContainer;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useReducer,useEffect}from"react";import availabilityReducer,{availabilityInitialState,getAvailability}from"../../reducers/AvailabilityReducer";import AvailabilityContext from"../../context/AvailabilityContext";import CommerceLayerContext from"../../context/CommerceLayerContext";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import SkuChildrenContext from"../../context/SkuChildrenContext";import useCustomContext from"../../utils/hooks/useCustomContext";export function AvailabilityContainer({children,skuCode,getQuantity}){const{lineItem}=useContext(LineItemChildrenContext),{sku}=useContext(SkuChildrenContext),{accessToken,endpoint}=useCustomContext({context:CommerceLayerContext,contextComponentName:"CommerceLayer",currentComponentName:"AvailabilityContainer",key:"accessToken"}),[state,dispatch]=useReducer(availabilityReducer,availabilityInitialState),sCode=skuCode||lineItem?.sku_code||sku?.code;return useEffect(()=>(accessToken!=null&&accessToken!==""&&sCode&&getAvailability({skuCode:sCode,config:{accessToken,endpoint},dispatch}),()=>{dispatch({type:"setAvailability",payload:{}})}),[accessToken,sCode]),useEffect(()=>{getQuantity!=null&&state?.quantity!=null&&getQuantity(state?.quantity)},[state.quantity]),_jsx(AvailabilityContext.Provider,{value:{...state,parent:!0},children})}export default AvailabilityContainer;
@@ -5,11 +5,30 @@ interface AvailabilityTemplateChildrenProps extends Omit<Props, 'children'>, Del
5
5
  text: string;
6
6
  quantity: number;
7
7
  }
8
- declare type Props = {
9
- children?: ChildrenFunction<AvailabilityTemplateChildrenProps>;
8
+ declare type FormatRules = {
9
+ /**
10
+ * Set time format for shipping method
11
+ */
10
12
  timeFormat?: TimeFormat;
11
- showShippingMethodName?: boolean;
13
+ /**
14
+ * Show shipping method name
15
+ */
16
+ showShippingMethodName?: false;
17
+ /**
18
+ * Show shipping method price
19
+ */
20
+ showShippingMethodPrice?: false;
21
+ } | {
22
+ timeFormat: TimeFormat;
23
+ showShippingMethodName: true;
12
24
  showShippingMethodPrice?: boolean;
13
- } & JSX.IntrinsicElements['p'];
25
+ } | {
26
+ timeFormat: TimeFormat;
27
+ showShippingMethodName?: boolean;
28
+ showShippingMethodPrice: true;
29
+ };
30
+ declare type Props = {
31
+ children?: ChildrenFunction<AvailabilityTemplateChildrenProps>;
32
+ } & Omit<JSX.IntrinsicElements['span'], 'children'> & FormatRules;
14
33
  export declare function AvailabilityTemplate(props: Props): JSX.Element;
15
34
  export default AvailabilityTemplate;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import AvailabilityContext from"../../context/AvailabilityContext";import Parent from"../utils/Parent";import{isEmpty}from"lodash";import ItemContext from"../../context/ItemContext";import SkuChildrenContext from"../../context/SkuChildrenContext";export function AvailabilityTemplate(props){const{timeFormat,showShippingMethodName,showShippingMethodPrice,children,...p}=props;let{min,max,shipping_method:shippingMethod,quantity}=useContext(AvailabilityContext);const{item}=useContext(ItemContext),{sku}=useContext(SkuChildrenContext),text=[];if(item&&sku){const code=sku.code,currentItem=item[code];if(currentItem){const[level]=currentItem.inventory?.levels||[],[delivery]=level?.delivery_lead_times||[];delivery&&(min=delivery?.min,max=delivery?.max,shippingMethod=delivery?.shipping_method),quantity=currentItem.inventory.quantity}}const mn=!isEmpty(min)&&timeFormat?min?.[timeFormat]:"",mx=!isEmpty(max)&&timeFormat?max?.[timeFormat]:"",shippingMethodPrice=showShippingMethodPrice&&shippingMethod?.formatted_price_amount?`(${shippingMethod?.formatted_price_amount})`:"",name=showShippingMethodName&&shippingMethod?`with ${shippingMethod.name}`:"";quantity&&quantity>0?(text.push("Available"),mn&&mx&&text.push(`in ${mn} - ${mx} ${timeFormat??""} ${name} ${shippingMethodPrice}`)):quantity===0&&text.push("Out of stock");const parentProps={min,max,shipping_method:shippingMethod,quantity,text:text.join(" "),...props};return children?_jsx(Parent,{...parentProps,children}):_jsx("p",{...p,children:text.join(" ")})}export default AvailabilityTemplate;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import AvailabilityContext from"../../context/AvailabilityContext";import Parent from"../utils/Parent";import useCustomContext from"../../utils/hooks/useCustomContext";export function AvailabilityTemplate(props){const{timeFormat,showShippingMethodName,showShippingMethodPrice,children,...p}=props,{min,max,shipping_method:shippingMethod,quantity}=useCustomContext({context:AvailabilityContext,contextComponentName:"AvailabilityContainer",currentComponentName:"AvailabilityTemplate",key:"parent"}),text=[],mn=min!=null&&timeFormat!=null?min?.[timeFormat]:"",mx=max!=null&&timeFormat!=null?max?.[timeFormat]:"",shippingMethodPrice=showShippingMethodPrice&&shippingMethod?.formatted_price_amount?`(${shippingMethod?.formatted_price_amount})`:"",name=showShippingMethodName&&shippingMethod?`with ${shippingMethod.name}`:"";quantity&&quantity>0?(text.push("Available"),mn&&mx&&timeFormat&&text.push(`in ${mn} - ${mx} ${timeFormat} ${name} ${shippingMethodPrice}`)):quantity===0&&text.push("Out of stock");const parentProps={min,max,shipping_method:shippingMethod,quantity,text:text.join(" "),...props};return children?_jsx(Parent,{...parentProps,children}):_jsx("span",{...p,children:text.join(" ")})}export default AvailabilityTemplate;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import SkuChildrenContext from"../../context/SkuChildrenContext";import GenericFieldComponent from"../utils/GenericFieldComponent";export function SkuField(props){const{attribute,tagElement,children,...p}=props;return _jsx(GenericFieldComponent,{resource:"skus",attribute,tagElement,context:SkuChildrenContext,...p,children})}export default SkuField;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import SkuChildrenContext from"../../context/SkuChildrenContext";import GenericFieldComponent from"../utils/GenericFieldComponent";export function SkuField(props){const{attribute,tagElement,children,...p}=props;return _jsx(GenericFieldComponent,{resource:"sku",attribute,tagElement,context:SkuChildrenContext,...p,children})}export default SkuField;
@@ -1,6 +1,6 @@
1
1
  import type { QueryParamsList } from '@commercelayer/sdk';
2
2
  import { ReactNode } from 'react';
3
- declare type Props = {
3
+ interface Props {
4
4
  /**
5
5
  * An array of skus to display.
6
6
  */
@@ -13,6 +13,6 @@ declare type Props = {
13
13
  * An object params to query the skus resource
14
14
  */
15
15
  queryParams?: QueryParamsList;
16
- };
16
+ }
17
17
  export declare function SkusContainer<P extends Props>(props: P): JSX.Element;
18
18
  export default SkusContainer;
@@ -2,15 +2,14 @@
2
2
  import type { Address } from '@commercelayer/sdk';
3
3
  import AddressChildrenContext from '../../context/AddressChildrenContext';
4
4
  import { ChildrenFunction } from '../../typings/index';
5
- declare type ChildrenProps = Pick<Props, 'customerAddresses' | 'className'> & {
5
+ export interface TAddressCards extends Pick<Props, 'customerAddresses' | 'className'> {
6
6
  AddressProvider: typeof AddressChildrenContext.Provider;
7
- };
7
+ }
8
8
  export interface CustomerAddress extends Address {
9
9
  onClick: () => void;
10
10
  handleSelect?: () => void;
11
11
  }
12
- export declare type AddressCardsTemplateChildren = ChildrenFunction<ChildrenProps>;
13
- export declare type AddressCardsType = ChildrenProps;
12
+ export declare type AddressCardsTemplateChildren = ChildrenFunction<TAddressCards>;
14
13
  export declare type HandleSelect = (k: number, addressId: string, customerAddressId: string, disabled: boolean, address: Address) => Promise<void>;
15
14
  interface Props {
16
15
  customerAddresses: CustomerAddress[];
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { BaseInputComponentProps } from '../../typings/index';
3
3
  export declare type BaseInputProps = BaseInputComponentProps & JSX.IntrinsicElements['input'] & JSX.IntrinsicElements['textarea'];
4
- declare const _default: React.ForwardRefExoticComponent<Pick<BaseInputProps, "children" | "form" | "slot" | "style" | "title" | "pattern" | "resource" | "id" | "value" | "placeholder" | "className" | "required" | "name" | "onChange" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "min" | "max" | "type" | "list" | "step" | "disabled" | "height" | "width" | "src" | "accept" | "alt" | "autoComplete" | "autoFocus" | "capture" | "checked" | "crossOrigin" | "enterKeyHint" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "maxLength" | "minLength" | "multiple" | "readOnly" | "size" | "cols" | "dirName" | "rows" | "wrap"> & React.RefAttributes<any>>;
4
+ declare const _default: React.ForwardRefExoticComponent<Pick<BaseInputProps, "children" | "form" | "slot" | "style" | "title" | "pattern" | "resource" | "id" | "value" | "placeholder" | "className" | "required" | "name" | "onChange" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "type" | "list" | "step" | "disabled" | "height" | "width" | "max" | "src" | "min" | "accept" | "alt" | "autoComplete" | "autoFocus" | "capture" | "checked" | "crossOrigin" | "enterKeyHint" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "maxLength" | "minLength" | "multiple" | "readOnly" | "size" | "cols" | "dirName" | "rows" | "wrap"> & React.RefAttributes<any>>;
5
5
  export default _default;
@@ -1,6 +1,6 @@
1
- import { FunctionComponent } from 'react';
1
+ /// <reference types="react" />
2
2
  import { PropsType } from '../../utils/PropsType';
3
3
  import { baseOrderPricePropTypes } from '../../typings/index';
4
- export declare type BaseOrderPriceProps = PropsType<typeof baseOrderPricePropTypes> & JSX.IntrinsicElements['span'];
5
- declare const BaseOrderPrice: FunctionComponent<BaseOrderPriceProps>;
4
+ export declare type BaseOrderPriceProps = PropsType<typeof baseOrderPricePropTypes> & Omit<JSX.IntrinsicElements['span'], 'children'>;
5
+ export declare function BaseOrderPrice(props: BaseOrderPriceProps): JSX.Element;
6
6
  export default BaseOrderPrice;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import OrderContext from"../../context/OrderContext";import getAmount from"../../utils/getAmount";import Parent from"./Parent";import{useState,useEffect,useContext}from"react";import isEmpty from"lodash/isEmpty";const BaseOrderPrice=props=>{const{format="formatted",base,type,children,...p}=props,{order}=useContext(OrderContext),[price,setPrice]=useState(""),[cents,setCents]=useState(0);useEffect(()=>{const p2=getAmount({base,type,format,obj:order||{}}),c=getAmount({base,type,format:"cents",obj:order||{}});return setPrice(p2),setCents(c),()=>{isEmpty(order)&&setPrice("")}},[order]);const parentProps={priceCents:cents,price,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx("span",{...p,children:price})};export default BaseOrderPrice;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import OrderContext from"../../context/OrderContext";import getAmount from"../../utils/getAmount";import Parent from"./Parent";import{useState,useEffect,useContext}from"react";import isEmpty from"lodash/isEmpty";export function BaseOrderPrice(props){const{format="formatted",base,type,children,...p}=props,{order}=useContext(OrderContext),[price,setPrice]=useState(""),[cents,setCents]=useState(0);useEffect(()=>{const p2=getAmount({base,type,format,obj:order||{}}),c=getAmount({base,type,format:"cents",obj:order||{}});return setPrice(p2),setCents(c),()=>{isEmpty(order)&&setPrice("")}},[order]);const parentProps={priceCents:cents,price,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx("span",{...p,children:price})}export default BaseOrderPrice;
@@ -11,10 +11,10 @@ export interface TResources {
11
11
  resource: 'stock_transfers';
12
12
  };
13
13
  Sku: Sku & {
14
- resource: 'skus';
14
+ resource: 'sku';
15
15
  };
16
16
  LineItem: LineItem & {
17
- resource: 'line_items';
17
+ resource: 'lineItem';
18
18
  };
19
19
  Customer: Customer & {
20
20
  resource: 'customers';
@@ -34,8 +34,8 @@ export declare type TGenericChildrenProps<E extends TResources[keyof TResources]
34
34
  };
35
35
  interface ResourceContext {
36
36
  stock_transfers: InitialStockTransferContext;
37
- skus: InitialSkuContext;
38
- line_items: InitialLineItemContext;
37
+ sku: InitialSkuContext;
38
+ lineItem: InitialLineItemContext;
39
39
  customers: InitialCustomerContext;
40
40
  parcel: InitialParcelContext;
41
41
  parcelLineItem: InitialParcelLineItemContext;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import Parent from"./Parent";import{useContext}from"react";import{defaultImgUrl}from"../../utils/placeholderImages";export default function GenericFieldComponent(props){const{children,tagElement,attribute,context,...p}=props,resourceContext=useContext(context);let attributeValue="";const keysContext=Object.keys(resourceContext).filter(key=>key===p.resource);if(keysContext.length===1){const[keyResource]=keysContext;keyResource&&attribute&&(attributeValue=resourceContext[keyResource][attribute])}const Tag=tagElement||"span";if(Tag==="img"&&!children)return _jsx("img",{alt:"",src:attributeValue||defaultImgUrl,...p});const parentProps={attributeValue,tagElement,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx(Tag,{...p,children:attributeValue})}
1
+ import{jsx as _jsx}from"react/jsx-runtime";import Parent from"./Parent";import{useContext}from"react";import{defaultImgUrl}from"../../utils/placeholderImages";export default function GenericFieldComponent(props){const{children,tagElement,attribute,context,...p}=props,resourceContext=useContext(context);let attributeValue="";const keysContext=Object.keys(resourceContext).filter(key=>key===p.resource);if(console.log("keys",Object.keys(resourceContext)),console.log("p.resource",p.resource),console.log("keyContext",keysContext),keysContext.length===1){const[keyResource]=keysContext;keyResource&&attribute&&(attributeValue=resourceContext[keyResource][attribute])}const Tag=tagElement||"span";if(Tag==="img"&&!children)return _jsx("img",{alt:"",src:attributeValue||defaultImgUrl,...p});const parentProps={attributeValue,tagElement,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx(Tag,{...p,children:attributeValue})}
@@ -14,10 +14,10 @@ declare type CustomerPayment = PaymentSourceType & {
14
14
  };
15
15
  export declare type CustomerCardsTemplateChildren = ChildrenFunction<ChildrenProps>;
16
16
  export declare type CustomerCardsType = ChildrenProps;
17
- declare type Props = {
17
+ interface Props {
18
18
  customerPayments: CustomerPayment[];
19
19
  children: CustomerCardsTemplateChildren;
20
20
  paymentResource: PaymentResource;
21
- };
22
- export default function PaymentCardsTemplate({ customerPayments, children, paymentResource, }: Props): JSX.Element;
21
+ }
22
+ export default function PaymentCardsTemplate({ customerPayments, children, paymentResource }: Props): JSX.Element;
23
23
  export {};
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export interface CommerceLayerConfig {
3
- accessToken: string;
4
- endpoint: string;
3
+ accessToken?: string;
4
+ endpoint?: string;
5
5
  }
6
6
  declare const CommerceLayerContext: import("react").Context<CommerceLayerConfig>;
7
7
  export default CommerceLayerContext;
@@ -1 +1 @@
1
- import{createContext}from"react";const initial={accessToken:"",endpoint:""},CommerceLayerContext=createContext(initial);export default CommerceLayerContext;
1
+ import{createContext}from"react";const initial={},CommerceLayerContext=createContext(initial);export default CommerceLayerContext;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- declare type Context = {
2
+ interface Context {
3
3
  url: string | null;
4
4
  callExternalFunction: CallExternalFunction;
5
- };
5
+ }
6
6
  declare type CallExternalFunction = (params: {
7
7
  url: string;
8
8
  data: Record<string, any>;
@@ -1 +1 @@
1
- import{createContext}from"react";import axios from"axios";export const callExternalFunction=async({url,data})=>axios.post(url,data);const ExternalFunctionContext=createContext({url:null,callExternalFunction});export default ExternalFunctionContext;
1
+ import{createContext}from"react";import axios from"axios";export const callExternalFunction=async({url,data})=>await axios.post(url,data);const ExternalFunctionContext=createContext({url:null,callExternalFunction});export default ExternalFunctionContext;
@@ -2,7 +2,7 @@
2
2
  import { LineItemState } from '../reducers/LineItemReducer';
3
3
  import { LineItem } from '@commercelayer/sdk';
4
4
  export interface LineItemContextValue extends LineItemState {
5
- lineItems: LineItem[] | undefined;
5
+ lineItems?: LineItem[] | undefined;
6
6
  }
7
7
  declare const LineItemContext: import("react").Context<LineItemContextValue>;
8
8
  export default LineItemContext;
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { Order } from '@commercelayer/sdk';
3
- import { AddToCart, OrderState, CreateOrder, SetGiftCardOrCouponCode, RemoveGiftCardOrCouponCode, SaveAddressToCustomerAddressBook, addResourceToInclude, updateOrder, getOrderContext } from '../reducers/OrderReducer';
3
+ import { OrderState, CreateOrder, SetGiftCardOrCouponCode, RemoveGiftCardOrCouponCode, SaveAddressToCustomerAddressBook, addResourceToInclude, updateOrder, getOrderContext, addToCart } from '../reducers/OrderReducer';
4
4
  import { BaseError } from '../typings/errors';
5
5
  interface DefaultContext extends OrderState {
6
6
  createOrder: CreateOrder;
7
- addToCart: AddToCart;
7
+ addToCart?: typeof addToCart;
8
8
  setOrderErrors: (errors: BaseError[]) => void;
9
9
  setGiftCardOrCouponCode: SetGiftCardOrCouponCode;
10
10
  removeGiftCardOrCouponCode: RemoveGiftCardOrCouponCode;
@@ -15,7 +15,6 @@ interface DefaultContext extends OrderState {
15
15
  setOrder: (order: Order) => void;
16
16
  }
17
17
  export declare const defaultOrderContext: {
18
- addToCart: AddToCart;
19
18
  createOrder: CreateOrder;
20
19
  setOrderErrors: () => void;
21
20
  setOrder: () => void;
@@ -1 +1 @@
1
- import{createContext}from"react";import{addToCart,createOrder,setGiftCardOrCouponCode,removeGiftCardOrCouponCode,saveAddressToCustomerAddressBook,addResourceToInclude,updateOrder}from"../reducers/OrderReducer";export const defaultOrderContext={addToCart,createOrder,setOrderErrors:()=>{},setOrder:()=>{},setGiftCardOrCouponCode,removeGiftCardOrCouponCode,saveAddressToCustomerAddressBook,addResourceToInclude,getOrder:async()=>{},updateOrder};const OrderContext=createContext(defaultOrderContext);export default OrderContext;
1
+ import{createContext}from"react";import{createOrder,setGiftCardOrCouponCode,removeGiftCardOrCouponCode,saveAddressToCustomerAddressBook,addResourceToInclude,updateOrder}from"../reducers/OrderReducer";export const defaultOrderContext={createOrder,setOrderErrors:()=>{},setOrder:()=>{},setGiftCardOrCouponCode,removeGiftCardOrCouponCode,saveAddressToCustomerAddressBook,addResourceToInclude,getOrder:async()=>{},updateOrder};const OrderContext=createContext(defaultOrderContext);export default OrderContext;
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { UpdatePaymentSource } from '../reducers/PaymentMethodReducer';
3
- import { PaymentMethodState, SetPaymentMethodErrors, SetPaymentSource, SetPaymentMethod, DestroyPaymentSource, SetPaymentRef, setLoading } from '../reducers/PaymentMethodReducer';
2
+ import { UpdatePaymentSource, PaymentMethodState, SetPaymentMethodErrors, SetPaymentSource, SetPaymentMethod, DestroyPaymentSource, SetPaymentRef, setLoading } from '../reducers/PaymentMethodReducer';
4
3
  declare type DefaultContext = {
5
4
  setPaymentMethodErrors: SetPaymentMethodErrors;
6
5
  setPaymentMethod: SetPaymentMethod;
@@ -10,14 +9,6 @@ declare type DefaultContext = {
10
9
  updatePaymentSource: UpdatePaymentSource;
11
10
  setLoading: typeof setLoading;
12
11
  } & PaymentMethodState;
13
- export declare const defaultPaymentMethodContext: {
14
- setPaymentMethodErrors: SetPaymentMethodErrors;
15
- setPaymentMethod: SetPaymentMethod;
16
- setPaymentSource: SetPaymentSource;
17
- setPaymentRef: SetPaymentRef;
18
- destroyPaymentSource: DestroyPaymentSource;
19
- updatePaymentSource: UpdatePaymentSource;
20
- setLoading: typeof setLoading;
21
- };
12
+ export declare const defaultPaymentMethodContext: DefaultContext;
22
13
  declare const PaymentMethodContext: import("react").Context<DefaultContext>;
23
14
  export default PaymentMethodContext;
@@ -1 +1 @@
1
- import{createContext}from"react";import{updatePaymentSource}from"../reducers/PaymentMethodReducer";import{setPaymentMethodErrors,setPaymentSource,setPaymentMethod,destroyPaymentSource,setPaymentRef,setLoading}from"../reducers/PaymentMethodReducer";export const defaultPaymentMethodContext={setPaymentMethodErrors,setPaymentMethod,setPaymentSource,setPaymentRef,destroyPaymentSource,updatePaymentSource,setLoading};const PaymentMethodContext=createContext(defaultPaymentMethodContext);export default PaymentMethodContext;
1
+ import{createContext}from"react";import{updatePaymentSource,setPaymentMethodErrors,setPaymentSource,setPaymentMethod,destroyPaymentSource,setPaymentRef,setLoading}from"../reducers/PaymentMethodReducer";export const defaultPaymentMethodContext={setPaymentMethodErrors,setPaymentMethod,setPaymentSource,setPaymentRef,destroyPaymentSource,updatePaymentSource,setLoading};const PaymentMethodContext=createContext(defaultPaymentMethodContext);export default PaymentMethodContext;
@@ -29,16 +29,17 @@ export * from './components/gift_cards/GiftCardOrCouponForm';
29
29
  export * from './components/gift_cards/GiftCardOrCouponInput';
30
30
  export * from './components/gift_cards/GiftCardOrCouponRemoveButton';
31
31
  export * from './components/gift_cards/GiftCardOrCouponSubmit';
32
+ export * from './components/line_items/LineItemsContainer';
32
33
  export * from './components/line_items/LineItem';
33
34
  export * from './components/line_items/LineItemAmount';
34
35
  export * from './components/line_items/LineItemCode';
36
+ export * from './components/line_items/LineItemField';
35
37
  export * from './components/line_items/LineItemImage';
36
38
  export * from './components/line_items/LineItemName';
37
39
  export * from './components/line_items/LineItemOption';
38
40
  export * from './components/line_items/LineItemOptions';
39
41
  export * from './components/line_items/LineItemQuantity';
40
42
  export * from './components/line_items/LineItemRemoveLink';
41
- export * from './components/line_items/LineItemsContainer';
42
43
  export * from './components/line_items/LineItemsCount';
43
44
  export * from './components/line_items/LineItemsEmpty';
44
45
  export * from './components/orders/AddToCartButton';
@@ -47,13 +48,13 @@ export * from './components/orders/CartLink';
47
48
  export * from './components/orders/CheckoutLink';
48
49
  export * from './components/orders/DiscountAmount';
49
50
  export * from './components/orders/GiftCardAmount';
50
- export * from './components/orders/ItemContainer';
51
51
  export * from './components/orders/OrderContainer';
52
52
  export * from './components/orders/OrderList';
53
53
  export * from './components/orders/OrderListEmpty';
54
54
  export * from './components/orders/OrderListRow';
55
55
  export * from './components/orders/OrderNumber';
56
56
  export * from './components/orders/OrderStorage';
57
+ export * from './components/orders/PaymentMethodAmount';
57
58
  export * from './components/orders/PlaceOrderButton';
58
59
  export * from './components/orders/PlaceOrderContainer';
59
60
  export * from './components/orders/PrivacyAndTermsCheckbox';
@@ -64,10 +65,10 @@ export * from './components/orders/TotalAmount';
64
65
  export * from './components/parcels/ParcelField';
65
66
  export * from './components/parcels/ParcelLineItem';
66
67
  export * from './components/parcels/ParcelLineItemField';
68
+ export * from './components/parcels/ParcelLineItemsCount';
67
69
  export * from './components/parcels/Parcels';
68
70
  export * from './components/parcels/ParcelsCount';
69
71
  export * from './components/payment_methods/PaymentMethod';
70
- export * from './components/payment_methods/PaymentMethodAmount';
71
72
  export * from './components/payment_methods/PaymentMethodName';
72
73
  export * from './components/payment_methods/PaymentMethodPrice';
73
74
  export * from './components/payment_methods/PaymentMethodRadioButton';
@@ -90,26 +91,14 @@ export * from './components/shipping_methods/ShippingMethodRadioButton';
90
91
  export * from './components/skus/AvailabilityContainer';
91
92
  export * from './components/skus/AvailabilityTemplate';
92
93
  export * from './components/skus/DeliveryLeadTime';
93
- export * from './components/skus/QuantitySelector';
94
94
  export * from './components/skus/SkuField';
95
95
  export * from './components/skus/SkuList';
96
96
  export * from './components/skus/SkuListsContainer';
97
- export * from './components/skus/SkuOption';
98
- export * from './components/skus/SkuOptionInput';
99
- export * from './components/skus/SkuOptionsContainer';
100
97
  export * from './components/skus/Skus';
101
98
  export * from './components/skus/SkusContainer';
102
- export * from './components/skus/VariantSelector';
103
- export * from './components/skus/VariantsContainer';
104
99
  export * from './components/stock_transfers/StockTransfer';
105
100
  export * from './components/stock_transfers/StockTransferField';
106
101
  export type { CustomerCardsType } from './components/utils/PaymentCardsTemplate';
107
- export type { AddressCardsType } from './components/utils/AddressCardsTemplate';
108
- export type { AddToCartButtonType } from './components/orders/AddToCartButton';
109
102
  export type { ShippingMethodRadioButtonType, ShippingMethodRadioButtonOnChangeType } from './components/shipping_methods/ShippingMethodRadioButton';
110
- export type { LineItemCodeType } from './components/line_items/LineItemCode';
111
- export type { LineItemNameType } from './components/line_items/LineItemName';
112
- export type { LineItemImageType } from './components/line_items/LineItemImage';
113
- export type { LineItemType } from './typings/index';
114
103
  export type { ErrorComponentProps, ResourceErrorType } from './typings/errors';
115
- export type { AddressCountrySelectName, AddressInputName, AddressStateSelectName, BaseInputType } from './typings/index';
104
+ export type { AddressCountrySelectName, AddressInputName, AddressStateSelectName, BaseInputType, LineItemType } from './typings/index';
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- export*from"./components/Errors";export*from"./components/ExternalFunction";export*from"./components/MetadataInput";export*from"./components/SubmitButton";export*from"./components/addresses/Address";export*from"./components/addresses/AddressCountrySelector";export*from"./components/addresses/AddressField";export*from"./components/addresses/AddressInput";export*from"./components/addresses/AddressStateSelector";export*from"./components/addresses/AddressesContainer";export*from"./components/addresses/AddressesEmpty";export*from"./components/addresses/BillingAddressContainer";export*from"./components/addresses/BillingAddressForm";export*from"./components/addresses/SaveAddressesButton";export*from"./components/addresses/ShippingAddressContainer";export*from"./components/addresses/ShippingAddressForm";export*from"./components/auth/CommerceLayer";export*from"./components/customers/CustomerAddressForm";export*from"./components/customers/CustomerContainer";export*from"./components/customers/CustomerField";export*from"./components/customers/CustomerInput";export*from"./components/customers/SaveCustomerButton";export*from"./components/gift_cards/GiftCard";export*from"./components/gift_cards/GiftCardContainer";export*from"./components/gift_cards/GiftCardCurrencySelector";export*from"./components/gift_cards/GiftCardInput";export*from"./components/gift_cards/GiftCardOrCouponCode";export*from"./components/gift_cards/GiftCardOrCouponForm";export*from"./components/gift_cards/GiftCardOrCouponInput";export*from"./components/gift_cards/GiftCardOrCouponRemoveButton";export*from"./components/gift_cards/GiftCardOrCouponSubmit";export*from"./components/line_items/LineItem";export*from"./components/line_items/LineItemAmount";export*from"./components/line_items/LineItemCode";export*from"./components/line_items/LineItemImage";export*from"./components/line_items/LineItemName";export*from"./components/line_items/LineItemOption";export*from"./components/line_items/LineItemOptions";export*from"./components/line_items/LineItemQuantity";export*from"./components/line_items/LineItemRemoveLink";export*from"./components/line_items/LineItemsContainer";export*from"./components/line_items/LineItemsCount";export*from"./components/line_items/LineItemsEmpty";export*from"./components/orders/AddToCartButton";export*from"./components/orders/AdjustmentAmount";export*from"./components/orders/CartLink";export*from"./components/orders/CheckoutLink";export*from"./components/orders/DiscountAmount";export*from"./components/orders/GiftCardAmount";export*from"./components/orders/ItemContainer";export*from"./components/orders/OrderContainer";export*from"./components/orders/OrderList";export*from"./components/orders/OrderListEmpty";export*from"./components/orders/OrderListRow";export*from"./components/orders/OrderNumber";export*from"./components/orders/OrderStorage";export*from"./components/orders/PlaceOrderButton";export*from"./components/orders/PlaceOrderContainer";export*from"./components/orders/PrivacyAndTermsCheckbox";export*from"./components/orders/ShippingAmount";export*from"./components/orders/SubTotalAmount";export*from"./components/orders/TaxesAmount";export*from"./components/orders/TotalAmount";export*from"./components/parcels/ParcelField";export*from"./components/parcels/ParcelLineItem";export*from"./components/parcels/ParcelLineItemField";export*from"./components/parcels/Parcels";export*from"./components/parcels/ParcelsCount";export*from"./components/payment_methods/PaymentMethod";export*from"./components/payment_methods/PaymentMethodAmount";export*from"./components/payment_methods/PaymentMethodName";export*from"./components/payment_methods/PaymentMethodPrice";export*from"./components/payment_methods/PaymentMethodRadioButton";export*from"./components/payment_methods/PaymentMethodsContainer";export*from"./components/payment_source/PaymentSource";export*from"./components/payment_source/PaymentSourceBrandIcon";export*from"./components/payment_source/PaymentSourceBrandName";export*from"./components/payment_source/PaymentSourceDetail";export*from"./components/payment_source/PaymentSourceEditButton";export*from"./components/prices/Price";export*from"./components/prices/PricesContainer";export*from"./components/shipments/Shipment";export*from"./components/shipments/ShipmentField";export*from"./components/shipments/ShipmentsContainer";export*from"./components/shipments/ShipmentsCount";export*from"./components/shipping_methods/ShippingMethod";export*from"./components/shipping_methods/ShippingMethodName";export*from"./components/shipping_methods/ShippingMethodPrice";export*from"./components/shipping_methods/ShippingMethodRadioButton";export*from"./components/skus/AvailabilityContainer";export*from"./components/skus/AvailabilityTemplate";export*from"./components/skus/DeliveryLeadTime";export*from"./components/skus/QuantitySelector";export*from"./components/skus/SkuField";export*from"./components/skus/SkuList";export*from"./components/skus/SkuListsContainer";export*from"./components/skus/SkuOption";export*from"./components/skus/SkuOptionInput";export*from"./components/skus/SkuOptionsContainer";export*from"./components/skus/Skus";export*from"./components/skus/SkusContainer";export*from"./components/skus/VariantSelector";export*from"./components/skus/VariantsContainer";export*from"./components/stock_transfers/StockTransfer";export*from"./components/stock_transfers/StockTransferField";
1
+ export*from"./components/Errors";export*from"./components/ExternalFunction";export*from"./components/MetadataInput";export*from"./components/SubmitButton";export*from"./components/addresses/Address";export*from"./components/addresses/AddressCountrySelector";export*from"./components/addresses/AddressField";export*from"./components/addresses/AddressInput";export*from"./components/addresses/AddressStateSelector";export*from"./components/addresses/AddressesContainer";export*from"./components/addresses/AddressesEmpty";export*from"./components/addresses/BillingAddressContainer";export*from"./components/addresses/BillingAddressForm";export*from"./components/addresses/SaveAddressesButton";export*from"./components/addresses/ShippingAddressContainer";export*from"./components/addresses/ShippingAddressForm";export*from"./components/auth/CommerceLayer";export*from"./components/customers/CustomerAddressForm";export*from"./components/customers/CustomerContainer";export*from"./components/customers/CustomerField";export*from"./components/customers/CustomerInput";export*from"./components/customers/SaveCustomerButton";export*from"./components/gift_cards/GiftCard";export*from"./components/gift_cards/GiftCardContainer";export*from"./components/gift_cards/GiftCardCurrencySelector";export*from"./components/gift_cards/GiftCardInput";export*from"./components/gift_cards/GiftCardOrCouponCode";export*from"./components/gift_cards/GiftCardOrCouponForm";export*from"./components/gift_cards/GiftCardOrCouponInput";export*from"./components/gift_cards/GiftCardOrCouponRemoveButton";export*from"./components/gift_cards/GiftCardOrCouponSubmit";export*from"./components/line_items/LineItemsContainer";export*from"./components/line_items/LineItem";export*from"./components/line_items/LineItemAmount";export*from"./components/line_items/LineItemCode";export*from"./components/line_items/LineItemField";export*from"./components/line_items/LineItemImage";export*from"./components/line_items/LineItemName";export*from"./components/line_items/LineItemOption";export*from"./components/line_items/LineItemOptions";export*from"./components/line_items/LineItemQuantity";export*from"./components/line_items/LineItemRemoveLink";export*from"./components/line_items/LineItemsCount";export*from"./components/line_items/LineItemsEmpty";export*from"./components/orders/AddToCartButton";export*from"./components/orders/AdjustmentAmount";export*from"./components/orders/CartLink";export*from"./components/orders/CheckoutLink";export*from"./components/orders/DiscountAmount";export*from"./components/orders/GiftCardAmount";export*from"./components/orders/OrderContainer";export*from"./components/orders/OrderList";export*from"./components/orders/OrderListEmpty";export*from"./components/orders/OrderListRow";export*from"./components/orders/OrderNumber";export*from"./components/orders/OrderStorage";export*from"./components/orders/PaymentMethodAmount";export*from"./components/orders/PlaceOrderButton";export*from"./components/orders/PlaceOrderContainer";export*from"./components/orders/PrivacyAndTermsCheckbox";export*from"./components/orders/ShippingAmount";export*from"./components/orders/SubTotalAmount";export*from"./components/orders/TaxesAmount";export*from"./components/orders/TotalAmount";export*from"./components/parcels/ParcelField";export*from"./components/parcels/ParcelLineItem";export*from"./components/parcels/ParcelLineItemField";export*from"./components/parcels/ParcelLineItemsCount";export*from"./components/parcels/Parcels";export*from"./components/parcels/ParcelsCount";export*from"./components/payment_methods/PaymentMethod";export*from"./components/payment_methods/PaymentMethodName";export*from"./components/payment_methods/PaymentMethodPrice";export*from"./components/payment_methods/PaymentMethodRadioButton";export*from"./components/payment_methods/PaymentMethodsContainer";export*from"./components/payment_source/PaymentSource";export*from"./components/payment_source/PaymentSourceBrandIcon";export*from"./components/payment_source/PaymentSourceBrandName";export*from"./components/payment_source/PaymentSourceDetail";export*from"./components/payment_source/PaymentSourceEditButton";export*from"./components/prices/Price";export*from"./components/prices/PricesContainer";export*from"./components/shipments/Shipment";export*from"./components/shipments/ShipmentField";export*from"./components/shipments/ShipmentsContainer";export*from"./components/shipments/ShipmentsCount";export*from"./components/shipping_methods/ShippingMethod";export*from"./components/shipping_methods/ShippingMethodName";export*from"./components/shipping_methods/ShippingMethodPrice";export*from"./components/shipping_methods/ShippingMethodRadioButton";export*from"./components/skus/AvailabilityContainer";export*from"./components/skus/AvailabilityTemplate";export*from"./components/skus/DeliveryLeadTime";export*from"./components/skus/SkuField";export*from"./components/skus/SkuList";export*from"./components/skus/SkuListsContainer";export*from"./components/skus/Skus";export*from"./components/skus/SkusContainer";export*from"./components/stock_transfers/StockTransfer";export*from"./components/stock_transfers/StockTransferField";
@@ -2,8 +2,7 @@ import { BaseError } from '../typings/errors';
2
2
  import { Sku } from '@commercelayer/sdk';
3
3
  import { CommerceLayerConfig } from '../context/CommerceLayerContext';
4
4
  import { Dispatch } from 'react';
5
- import { Items } from './ItemReducer';
6
- export declare type DeliveryLeadTime = {
5
+ export interface DeliveryLeadTime {
7
6
  shipping_method: {
8
7
  name: string;
9
8
  reference: string;
@@ -14,26 +13,27 @@ export declare type DeliveryLeadTime = {
14
13
  };
15
14
  min: LeadTimes;
16
15
  max: LeadTimes;
17
- };
18
- declare type Level = {
19
- delivery_lead_times: Partial<DeliveryLeadTime>[];
16
+ }
17
+ interface Level {
18
+ delivery_lead_times: Array<Partial<DeliveryLeadTime>>;
20
19
  quantity: number;
21
- };
22
- declare type Inventory = {
20
+ }
21
+ interface Inventory {
23
22
  inventory: {
24
23
  available: boolean;
25
24
  quantity: number;
26
25
  levels: Level[];
27
26
  };
28
- };
27
+ }
29
28
  export declare type SkuInventory = Sku & Inventory;
30
- export declare type LeadTimes = {
29
+ export interface LeadTimes {
31
30
  hours: number;
32
31
  days: number;
33
- };
32
+ }
34
33
  export declare type AvailabilityPayload = {
35
- quantity?: number | null;
34
+ quantity?: number;
36
35
  errors?: BaseError[];
36
+ parent?: boolean;
37
37
  } & Partial<DeliveryLeadTime>;
38
38
  export declare type AvailabilityState = AvailabilityPayload;
39
39
  export interface AvailabilityAction {
@@ -41,21 +41,11 @@ export interface AvailabilityAction {
41
41
  payload: AvailabilityPayload;
42
42
  }
43
43
  export declare const availabilityInitialState: AvailabilityState;
44
- declare type GetAvailability = (args: {
44
+ export declare function getAvailability({ skuCode, dispatch, config }: {
45
45
  skuCode: string;
46
46
  dispatch: Dispatch<AvailabilityAction>;
47
47
  config: CommerceLayerConfig;
48
- setItem?: (item: Items) => void;
49
- item?: Items;
50
- }) => void;
51
- export declare const getAvailability: GetAvailability;
52
- declare type GetAvailabilityArgs = {
53
- skusIds: string[];
54
- dispatch: Dispatch<AvailabilityAction>;
55
- config: CommerceLayerConfig;
56
- setItem?: (item: Items) => void;
57
- };
58
- export declare function getAvailabilityByIds({ skusIds, config, setItem, }: GetAvailabilityArgs): Promise<void>;
48
+ }): Promise<void>;
59
49
  export declare type AvailabilityActionType = 'setAvailability' | 'setErrors';
60
50
  declare const availabilityReducer: (state: AvailabilityState, reducer: AvailabilityAction) => AvailabilityState;
61
51
  export default availabilityReducer;
@@ -1 +1 @@
1
- import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";export const availabilityInitialState={quantity:null,min:{days:0,hours:0},max:{days:0,hours:0},errors:[]},getAvailability=async({skuCode,dispatch,config,setItem,item})=>{const sdk=getSdk(config);try{const[sku]=await sdk.skus.list({fields:{skus:["id"]},filters:{code_in:skuCode}});if(sku){const skuInventory=await sdk.skus.retrieve(sku.id,{fields:{skus:["inventory"]}}),[level]=skuInventory.inventory?.levels||[],[delivery]=level?.delivery_lead_times||[];dispatch({type:"setAvailability",payload:{...delivery,quantity:skuInventory.inventory.quantity}}),setItem&&setItem({...item,[skuCode]:skuInventory})}}catch(error){console.error("Get SKU availability",error)}};export async function getAvailabilityByIds({skusIds,config,setItem}){const sdk=getSdk(config);try{const inventories=await Promise.all(skusIds.map(async id=>await sdk.skus.retrieve(id,{fields:{skus:["inventory","code"]}}))),item={};inventories.forEach(v=>{v?.code&&(item[v.code]=v)}),setItem&&setItem(item)}catch(error){console.error("Get SKU availability",error)}}const typeAction=["setAvailability","setErrors"],availabilityReducer=(state,reducer)=>baseReducer(state,reducer,typeAction);export default availabilityReducer;
1
+ import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";export const availabilityInitialState={};export async function getAvailability({skuCode,dispatch,config}){const sdk=getSdk(config);try{const[sku]=await sdk.skus.list({fields:{skus:["id"]},filters:{code_in:skuCode}});if(sku){const skuInventory=await sdk.skus.retrieve(sku.id,{fields:{skus:["inventory"]}}),[level]=skuInventory.inventory?.levels||[],[delivery]=level?.delivery_lead_times||[];dispatch({type:"setAvailability",payload:{...delivery,quantity:skuInventory.inventory.quantity}})}}catch(error){console.error("Get SKU availability",error)}}const typeAction=["setAvailability","setErrors"],availabilityReducer=(state,reducer)=>baseReducer(state,reducer,typeAction);export default availabilityReducer;