@commercelayer/react-components 4.5.0-beta.1 → 4.5.0-beta.11

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 (519) hide show
  1. package/lib/cjs/components/ExternalFunction.js +1 -0
  2. package/lib/cjs/components/MetadataInput.js +1 -0
  3. package/lib/cjs/components/SubmitButton.js +1 -0
  4. package/lib/cjs/components/addresses/Address.js +1 -0
  5. package/lib/cjs/components/addresses/AddressCountrySelector.js +1 -0
  6. package/lib/cjs/components/addresses/AddressField.js +1 -0
  7. package/lib/cjs/components/addresses/AddressInput.js +1 -0
  8. package/lib/cjs/components/addresses/AddressStateSelector.js +1 -0
  9. package/lib/cjs/components/addresses/AddressesContainer.js +1 -0
  10. package/lib/cjs/components/addresses/AddressesEmpty.js +1 -0
  11. package/lib/cjs/components/addresses/BillingAddressContainer.js +1 -0
  12. package/lib/cjs/components/addresses/BillingAddressForm.js +1 -0
  13. package/lib/cjs/components/addresses/SaveAddressesButton.js +1 -0
  14. package/lib/cjs/components/addresses/ShippingAddressContainer.js +1 -0
  15. package/lib/cjs/components/addresses/ShippingAddressForm.js +1 -0
  16. package/lib/cjs/components/auth/CommerceLayer.js +1 -0
  17. package/lib/cjs/components/customers/CustomerAddressForm.js +1 -0
  18. package/lib/cjs/components/customers/CustomerContainer.js +2 -1
  19. package/lib/cjs/components/customers/CustomerField.js +1 -0
  20. package/lib/cjs/components/customers/CustomerInput.js +1 -0
  21. package/lib/cjs/components/customers/CustomerPaymentSource.js +1 -0
  22. package/lib/cjs/components/customers/CustomerPaymentSourceEmpty.js +1 -0
  23. package/lib/cjs/components/customers/MyAccountLink.d.ts +23 -0
  24. package/lib/cjs/components/customers/MyAccountLink.js +2 -0
  25. package/lib/cjs/components/customers/MyIdentityLink.d.ts +35 -0
  26. package/lib/cjs/components/customers/MyIdentityLink.js +2 -0
  27. package/lib/cjs/components/customers/SaveCustomerButton.js +1 -0
  28. package/lib/cjs/components/errors/Errors.js +1 -0
  29. package/lib/cjs/components/gift_cards/GiftCard.js +1 -0
  30. package/lib/cjs/components/gift_cards/GiftCardContainer.js +1 -0
  31. package/lib/cjs/components/gift_cards/GiftCardCurrencySelector.js +1 -0
  32. package/lib/cjs/components/gift_cards/GiftCardInput.js +1 -0
  33. package/lib/cjs/components/gift_cards/GiftCardOrCouponCode.js +1 -0
  34. package/lib/cjs/components/gift_cards/GiftCardOrCouponForm.js +1 -0
  35. package/lib/cjs/components/gift_cards/GiftCardOrCouponInput.js +1 -0
  36. package/lib/cjs/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -0
  37. package/lib/cjs/components/gift_cards/GiftCardOrCouponSubmit.js +1 -0
  38. package/lib/cjs/components/gift_cards/GiftCardRecipientInput.js +1 -0
  39. package/lib/cjs/components/in_stock_subscriptions/InStockSubscriptionButton.js +1 -0
  40. package/lib/cjs/components/in_stock_subscriptions/InStockSubscriptionsContainer.js +1 -0
  41. package/lib/cjs/components/line_items/LineItem.js +1 -0
  42. package/lib/cjs/components/line_items/LineItemAmount.js +1 -0
  43. package/lib/cjs/components/line_items/LineItemCode.js +1 -0
  44. package/lib/cjs/components/line_items/LineItemField.js +1 -0
  45. package/lib/cjs/components/line_items/LineItemImage.js +1 -0
  46. package/lib/cjs/components/line_items/LineItemName.js +1 -0
  47. package/lib/cjs/components/line_items/LineItemOption.js +1 -0
  48. package/lib/cjs/components/line_items/LineItemOptions.js +1 -0
  49. package/lib/cjs/components/line_items/LineItemQuantity.js +1 -0
  50. package/lib/cjs/components/line_items/LineItemRemoveLink.js +1 -0
  51. package/lib/cjs/components/line_items/LineItemsContainer.js +1 -0
  52. package/lib/cjs/components/line_items/LineItemsCount.js +1 -0
  53. package/lib/cjs/components/line_items/LineItemsEmpty.js +1 -0
  54. package/lib/cjs/components/orders/AddToCartButton.js +2 -1
  55. package/lib/cjs/components/orders/AdjustmentAmount.js +1 -0
  56. package/lib/cjs/components/orders/CartLink.d.ts +23 -0
  57. package/lib/cjs/components/orders/CartLink.js +2 -1
  58. package/lib/cjs/components/orders/CheckoutLink.js +2 -1
  59. package/lib/cjs/components/orders/DiscountAmount.js +1 -0
  60. package/lib/cjs/components/orders/GiftCardAmount.js +1 -0
  61. package/lib/cjs/components/orders/HostedCart.d.ts +30 -0
  62. package/lib/cjs/components/orders/HostedCart.js +2 -0
  63. package/lib/cjs/components/orders/OrderContainer.js +1 -0
  64. package/lib/cjs/components/orders/OrderList.js +1 -0
  65. package/lib/cjs/components/orders/OrderListEmpty.js +1 -0
  66. package/lib/cjs/components/orders/OrderListPaginationButtons.js +1 -0
  67. package/lib/cjs/components/orders/OrderListPaginationInfo.js +1 -0
  68. package/lib/cjs/components/orders/OrderListRow.js +1 -0
  69. package/lib/cjs/components/orders/OrderNumber.js +1 -0
  70. package/lib/cjs/components/orders/OrderStorage.js +1 -0
  71. package/lib/cjs/components/orders/PaymentMethodAmount.js +1 -0
  72. package/lib/cjs/components/orders/PlaceOrderButton.d.ts +13 -0
  73. package/lib/cjs/components/orders/PlaceOrderButton.js +2 -1
  74. package/lib/cjs/components/orders/PlaceOrderContainer.js +1 -0
  75. package/lib/cjs/components/orders/PrivacyAndTermsCheckbox.js +1 -0
  76. package/lib/cjs/components/orders/ShippingAmount.js +1 -0
  77. package/lib/cjs/components/orders/SubTotalAmount.js +1 -0
  78. package/lib/cjs/components/orders/TaxesAmount.js +1 -0
  79. package/lib/cjs/components/orders/TotalAmount.js +1 -0
  80. package/lib/cjs/components/parcels/ParcelField.js +1 -0
  81. package/lib/cjs/components/parcels/ParcelLineItem.js +1 -0
  82. package/lib/cjs/components/parcels/ParcelLineItemField.js +1 -0
  83. package/lib/cjs/components/parcels/ParcelLineItemsCount.js +1 -0
  84. package/lib/cjs/components/parcels/Parcels.js +1 -0
  85. package/lib/cjs/components/parcels/ParcelsCount.js +1 -0
  86. package/lib/cjs/components/payment_gateways/AdyenGateway.js +1 -0
  87. package/lib/cjs/components/payment_gateways/BraintreeGateway.js +1 -0
  88. package/lib/cjs/components/payment_gateways/CheckoutComGateway.js +1 -0
  89. package/lib/cjs/components/payment_gateways/ExternalGateway.js +1 -0
  90. package/lib/cjs/components/payment_gateways/KlarnaGateway.js +1 -0
  91. package/lib/cjs/components/payment_gateways/PaymentGateway.js +2 -1
  92. package/lib/cjs/components/payment_gateways/PaypalGateway.js +1 -0
  93. package/lib/cjs/components/payment_gateways/StripeGateway.js +2 -1
  94. package/lib/cjs/components/payment_gateways/WireTransferGateway.js +1 -0
  95. package/lib/cjs/components/payment_methods/PaymentMethod.js +1 -0
  96. package/lib/cjs/components/payment_methods/PaymentMethodName.js +1 -0
  97. package/lib/cjs/components/payment_methods/PaymentMethodPrice.js +1 -0
  98. package/lib/cjs/components/payment_methods/PaymentMethodRadioButton.js +1 -0
  99. package/lib/cjs/components/payment_methods/PaymentMethodsContainer.js +1 -0
  100. package/lib/cjs/components/payment_source/AdyenPayment.js +2 -1
  101. package/lib/cjs/components/payment_source/BraintreePayment.js +1 -0
  102. package/lib/cjs/components/payment_source/CheckoutComPayment.js +1 -0
  103. package/lib/cjs/components/payment_source/ExternalPayment.js +1 -0
  104. package/lib/cjs/components/payment_source/KlarnaPayment.js +1 -0
  105. package/lib/cjs/components/payment_source/PaymentSource.js +1 -0
  106. package/lib/cjs/components/payment_source/PaymentSourceBrandIcon.js +2 -1
  107. package/lib/cjs/components/payment_source/PaymentSourceBrandName.js +1 -0
  108. package/lib/cjs/components/payment_source/PaymentSourceDetail.js +2 -1
  109. package/lib/cjs/components/payment_source/PaymentSourceEditButton.js +1 -0
  110. package/lib/cjs/components/payment_source/PaypalPayment.js +1 -0
  111. package/lib/cjs/components/payment_source/StripeExpressPayment.js +2 -1
  112. package/lib/cjs/components/payment_source/StripePayment.js +1 -0
  113. package/lib/cjs/components/payment_source/WireTransferPayment.js +1 -0
  114. package/lib/cjs/components/prices/Price.js +1 -0
  115. package/lib/cjs/components/prices/PricesContainer.js +1 -0
  116. package/lib/cjs/components/shipments/Shipment.js +1 -0
  117. package/lib/cjs/components/shipments/ShipmentField.js +1 -0
  118. package/lib/cjs/components/shipments/ShipmentsContainer.js +1 -0
  119. package/lib/cjs/components/shipments/ShipmentsCount.js +1 -0
  120. package/lib/cjs/components/shipping_methods/ShippingMethod.js +1 -0
  121. package/lib/cjs/components/shipping_methods/ShippingMethodName.js +1 -0
  122. package/lib/cjs/components/shipping_methods/ShippingMethodPrice.d.ts +7 -0
  123. package/lib/cjs/components/shipping_methods/ShippingMethodPrice.js +2 -1
  124. package/lib/cjs/components/shipping_methods/ShippingMethodRadioButton.js +1 -0
  125. package/lib/cjs/components/skus/AvailabilityContainer.js +1 -0
  126. package/lib/cjs/components/skus/AvailabilityTemplate.js +1 -0
  127. package/lib/cjs/components/skus/DeliveryLeadTime.js +1 -0
  128. package/lib/cjs/components/skus/SkuField.js +1 -0
  129. package/lib/cjs/components/skus/SkuList.js +1 -0
  130. package/lib/cjs/components/skus/SkuListsContainer.js +1 -0
  131. package/lib/cjs/components/skus/Skus.js +1 -0
  132. package/lib/cjs/components/skus/SkusContainer.js +1 -0
  133. package/lib/cjs/components/stock_transfers/StockTransfer.js +1 -0
  134. package/lib/cjs/components/stock_transfers/StockTransferField.js +1 -0
  135. package/lib/cjs/components/utils/AddressCardsTemplate.js +1 -0
  136. package/lib/cjs/components/utils/BaseField.js +1 -0
  137. package/lib/cjs/components/utils/BaseInput.js +1 -0
  138. package/lib/cjs/components/utils/BaseOrderPrice.js +1 -0
  139. package/lib/cjs/components/utils/BaseSelect.js +1 -0
  140. package/lib/cjs/components/utils/ErrorBoundary.js +1 -0
  141. package/lib/cjs/components/utils/GenericFieldComponent.js +1 -0
  142. package/lib/cjs/components/utils/Parent.js +1 -0
  143. package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +27 -2
  144. package/lib/cjs/components/utils/PaymentCardsTemplate.js +1 -0
  145. package/lib/cjs/components/utils/PriceTemplate.js +1 -0
  146. package/lib/cjs/components/utils/getAllErrors.js +1 -0
  147. package/lib/cjs/config/currency.js +1 -0
  148. package/lib/cjs/context/AddressChildrenContext.js +1 -0
  149. package/lib/cjs/context/AddressContext.js +1 -0
  150. package/lib/cjs/context/AvailabilityContext.js +1 -0
  151. package/lib/cjs/context/BillingAddressContext.js +1 -0
  152. package/lib/cjs/context/BillingAddressFormContext.js +1 -0
  153. package/lib/cjs/context/CommerceLayerContext.js +1 -0
  154. package/lib/cjs/context/CouponAndGiftCardFormContext.js +1 -0
  155. package/lib/cjs/context/CustomerAddressFormContext.js +1 -0
  156. package/lib/cjs/context/CustomerContext.js +1 -0
  157. package/lib/cjs/context/CustomerPaymentSourceContext.d.ts +1 -0
  158. package/lib/cjs/context/CustomerPaymentSourceContext.js +1 -0
  159. package/lib/cjs/context/ExternalFunctionContext.js +1 -0
  160. package/lib/cjs/context/GiftCardContext.js +1 -0
  161. package/lib/cjs/context/InStockSubscriptionContext.js +1 -0
  162. package/lib/cjs/context/LineItemChildrenContext.js +1 -0
  163. package/lib/cjs/context/LineItemContext.js +1 -0
  164. package/lib/cjs/context/LineItemOptionChildrenContext.js +1 -0
  165. package/lib/cjs/context/OrderContext.js +1 -0
  166. package/lib/cjs/context/OrderListChildrenContext.js +1 -0
  167. package/lib/cjs/context/OrderListPaginationContext.js +1 -0
  168. package/lib/cjs/context/OrderStorageContext.js +1 -0
  169. package/lib/cjs/context/ParcelChildrenContext.js +1 -0
  170. package/lib/cjs/context/ParcelLineItemChildrenContext.js +1 -0
  171. package/lib/cjs/context/PaymentMethodChildrenContext.js +1 -0
  172. package/lib/cjs/context/PaymentMethodContext.js +1 -0
  173. package/lib/cjs/context/PaymentSourceContext.d.ts +1 -0
  174. package/lib/cjs/context/PaymentSourceContext.js +1 -0
  175. package/lib/cjs/context/PlaceOrderContext.js +1 -0
  176. package/lib/cjs/context/PricesContext.js +1 -0
  177. package/lib/cjs/context/ShipmentChildrenContext.js +1 -0
  178. package/lib/cjs/context/ShipmentContext.js +1 -0
  179. package/lib/cjs/context/ShippingAddressContext.js +1 -0
  180. package/lib/cjs/context/ShippingAddressFormContext.js +1 -0
  181. package/lib/cjs/context/ShippingMethodChildrenContext.js +1 -0
  182. package/lib/cjs/context/SkuChildrenContext.js +1 -0
  183. package/lib/cjs/context/SkuContext.js +1 -0
  184. package/lib/cjs/context/SkuListsContext.js +1 -0
  185. package/lib/cjs/context/StockTransferChildrenContext.js +1 -0
  186. package/lib/cjs/hooks/useCommerceLayer.js +1 -0
  187. package/lib/cjs/hooks/useOrderContainer.js +1 -0
  188. package/lib/cjs/index.d.ts +1 -0
  189. package/lib/cjs/index.js +2 -1
  190. package/lib/cjs/reducers/AddressReducer.js +1 -0
  191. package/lib/cjs/reducers/AvailabilityReducer.js +1 -0
  192. package/lib/cjs/reducers/BillingAddressReducer.js +1 -0
  193. package/lib/cjs/reducers/CustomerReducer.js +1 -0
  194. package/lib/cjs/reducers/GiftCardReducer.js +1 -0
  195. package/lib/cjs/reducers/InStockSubscriptionReducer.js +1 -0
  196. package/lib/cjs/reducers/LineItemReducer.js +1 -0
  197. package/lib/cjs/reducers/OrderReducer.d.ts +4 -1
  198. package/lib/cjs/reducers/OrderReducer.js +2 -1
  199. package/lib/cjs/reducers/PaymentMethodReducer.js +2 -1
  200. package/lib/cjs/reducers/PlaceOrderReducer.js +2 -1
  201. package/lib/cjs/reducers/PriceReducer.js +1 -0
  202. package/lib/cjs/reducers/ShipmentReducer.js +1 -0
  203. package/lib/cjs/reducers/ShippingAddressReducer.js +1 -0
  204. package/lib/cjs/reducers/SkuListsReducer.js +1 -0
  205. package/lib/cjs/reducers/SkuReducer.js +1 -0
  206. package/lib/cjs/typings/errors.js +1 -0
  207. package/lib/cjs/typings/globals.d.ts +1 -0
  208. package/lib/cjs/typings/globals.js +1 -0
  209. package/lib/cjs/typings/index.d.ts +1 -0
  210. package/lib/cjs/typings/index.js +1 -0
  211. package/lib/cjs/utils/PropsType.js +1 -0
  212. package/lib/cjs/utils/addressesManager.js +1 -0
  213. package/lib/cjs/utils/baseReducer.js +1 -0
  214. package/lib/cjs/utils/browserInfo.js +1 -0
  215. package/lib/cjs/utils/checkIncludeResource.js +1 -0
  216. package/lib/cjs/utils/compareObjAttribute.js +1 -0
  217. package/lib/cjs/utils/countryStateCity.js +1 -0
  218. package/lib/cjs/utils/customMessages.js +1 -0
  219. package/lib/cjs/utils/customerOrderOptions.js +1 -0
  220. package/lib/cjs/utils/events.d.ts +5 -0
  221. package/lib/cjs/utils/events.js +2 -0
  222. package/lib/cjs/utils/expressPaymentHelper.js +1 -0
  223. package/lib/cjs/utils/filterChildren.js +1 -0
  224. package/lib/cjs/utils/getAmount.js +1 -0
  225. package/lib/cjs/utils/getApplicationLink.d.ts +31 -0
  226. package/lib/cjs/utils/getApplicationLink.js +2 -0
  227. package/lib/cjs/utils/getCardDetails.d.ts +1 -0
  228. package/lib/cjs/utils/getCardDetails.js +2 -1
  229. package/lib/cjs/utils/getDomain.d.ts +1 -1
  230. package/lib/cjs/utils/getDomain.js +1 -0
  231. package/lib/cjs/utils/getErrors.js +1 -0
  232. package/lib/cjs/utils/getLineItemsCount.js +1 -0
  233. package/lib/cjs/utils/getLoaderComponent.js +1 -0
  234. package/lib/cjs/utils/getPaymentAttributes.js +1 -0
  235. package/lib/cjs/utils/getPrices.js +1 -0
  236. package/lib/cjs/utils/getSdk.js +1 -0
  237. package/lib/cjs/utils/getSkus.js +1 -0
  238. package/lib/cjs/utils/hasSubscriptions.js +1 -0
  239. package/lib/cjs/utils/hooks/useCustomContext.js +1 -0
  240. package/lib/cjs/utils/hooks/useExternalScript.js +1 -0
  241. package/lib/cjs/utils/icons.js +1 -0
  242. package/lib/cjs/utils/isDate.js +1 -0
  243. package/lib/cjs/utils/isEmpty.js +1 -0
  244. package/lib/cjs/utils/isEmptyStates.js +1 -0
  245. package/lib/cjs/utils/isJSON.js +1 -0
  246. package/lib/cjs/utils/jwt.js +1 -0
  247. package/lib/cjs/utils/localStorage.js +1 -0
  248. package/lib/cjs/utils/omit.js +1 -0
  249. package/lib/cjs/utils/organization.js +2 -1
  250. package/lib/cjs/utils/pick.js +1 -0
  251. package/lib/cjs/utils/placeholderImages.js +1 -0
  252. package/lib/cjs/utils/promisify.js +1 -0
  253. package/lib/cjs/utils/replace.js +1 -0
  254. package/lib/cjs/utils/scrollbarWidth.js +1 -0
  255. package/lib/cjs/utils/shipments.js +1 -0
  256. package/lib/cjs/utils/snakeToCamelCase.js +1 -0
  257. package/lib/cjs/utils/validateFormFields.js +1 -0
  258. package/lib/esm/components/ExternalFunction.js +1 -0
  259. package/lib/esm/components/MetadataInput.js +1 -0
  260. package/lib/esm/components/SubmitButton.js +1 -0
  261. package/lib/esm/components/addresses/Address.js +1 -0
  262. package/lib/esm/components/addresses/AddressCountrySelector.js +1 -0
  263. package/lib/esm/components/addresses/AddressField.js +1 -0
  264. package/lib/esm/components/addresses/AddressInput.js +1 -0
  265. package/lib/esm/components/addresses/AddressStateSelector.js +1 -0
  266. package/lib/esm/components/addresses/AddressesContainer.js +1 -0
  267. package/lib/esm/components/addresses/AddressesEmpty.js +1 -0
  268. package/lib/esm/components/addresses/BillingAddressContainer.js +1 -0
  269. package/lib/esm/components/addresses/BillingAddressForm.js +1 -0
  270. package/lib/esm/components/addresses/SaveAddressesButton.js +1 -0
  271. package/lib/esm/components/addresses/ShippingAddressContainer.js +1 -0
  272. package/lib/esm/components/addresses/ShippingAddressForm.js +1 -0
  273. package/lib/esm/components/auth/CommerceLayer.js +1 -0
  274. package/lib/esm/components/customers/CustomerAddressForm.js +1 -0
  275. package/lib/esm/components/customers/CustomerContainer.js +2 -1
  276. package/lib/esm/components/customers/CustomerField.js +1 -0
  277. package/lib/esm/components/customers/CustomerInput.js +1 -0
  278. package/lib/esm/components/customers/CustomerPaymentSource.js +1 -0
  279. package/lib/esm/components/customers/CustomerPaymentSourceEmpty.js +1 -0
  280. package/lib/esm/components/customers/MyAccountLink.d.ts +23 -0
  281. package/lib/esm/components/customers/MyAccountLink.js +2 -0
  282. package/lib/esm/components/customers/MyIdentityLink.d.ts +35 -0
  283. package/lib/esm/components/customers/MyIdentityLink.js +2 -0
  284. package/lib/esm/components/customers/SaveCustomerButton.js +1 -0
  285. package/lib/esm/components/errors/Errors.js +1 -0
  286. package/lib/esm/components/gift_cards/GiftCard.js +1 -0
  287. package/lib/esm/components/gift_cards/GiftCardContainer.js +1 -0
  288. package/lib/esm/components/gift_cards/GiftCardCurrencySelector.js +1 -0
  289. package/lib/esm/components/gift_cards/GiftCardInput.js +1 -0
  290. package/lib/esm/components/gift_cards/GiftCardOrCouponCode.js +1 -0
  291. package/lib/esm/components/gift_cards/GiftCardOrCouponForm.js +1 -0
  292. package/lib/esm/components/gift_cards/GiftCardOrCouponInput.js +1 -0
  293. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -0
  294. package/lib/esm/components/gift_cards/GiftCardOrCouponSubmit.js +1 -0
  295. package/lib/esm/components/gift_cards/GiftCardRecipientInput.js +1 -0
  296. package/lib/esm/components/in_stock_subscriptions/InStockSubscriptionButton.js +1 -0
  297. package/lib/esm/components/in_stock_subscriptions/InStockSubscriptionsContainer.js +1 -0
  298. package/lib/esm/components/line_items/LineItem.js +1 -0
  299. package/lib/esm/components/line_items/LineItemAmount.js +1 -0
  300. package/lib/esm/components/line_items/LineItemCode.js +1 -0
  301. package/lib/esm/components/line_items/LineItemField.js +1 -0
  302. package/lib/esm/components/line_items/LineItemImage.js +1 -0
  303. package/lib/esm/components/line_items/LineItemName.js +1 -0
  304. package/lib/esm/components/line_items/LineItemOption.js +1 -0
  305. package/lib/esm/components/line_items/LineItemOptions.js +1 -0
  306. package/lib/esm/components/line_items/LineItemQuantity.js +1 -0
  307. package/lib/esm/components/line_items/LineItemRemoveLink.js +1 -0
  308. package/lib/esm/components/line_items/LineItemsContainer.js +1 -0
  309. package/lib/esm/components/line_items/LineItemsCount.js +1 -0
  310. package/lib/esm/components/line_items/LineItemsEmpty.js +1 -0
  311. package/lib/esm/components/orders/AddToCartButton.js +2 -1
  312. package/lib/esm/components/orders/AdjustmentAmount.js +1 -0
  313. package/lib/esm/components/orders/CartLink.d.ts +23 -0
  314. package/lib/esm/components/orders/CartLink.js +2 -1
  315. package/lib/esm/components/orders/CheckoutLink.js +2 -1
  316. package/lib/esm/components/orders/DiscountAmount.js +1 -0
  317. package/lib/esm/components/orders/GiftCardAmount.js +1 -0
  318. package/lib/esm/components/orders/HostedCart.d.ts +30 -0
  319. package/lib/esm/components/orders/HostedCart.js +2 -0
  320. package/lib/esm/components/orders/OrderContainer.js +1 -0
  321. package/lib/esm/components/orders/OrderList.js +1 -0
  322. package/lib/esm/components/orders/OrderListEmpty.js +1 -0
  323. package/lib/esm/components/orders/OrderListPaginationButtons.js +1 -0
  324. package/lib/esm/components/orders/OrderListPaginationInfo.js +1 -0
  325. package/lib/esm/components/orders/OrderListRow.js +1 -0
  326. package/lib/esm/components/orders/OrderNumber.js +1 -0
  327. package/lib/esm/components/orders/OrderStorage.js +1 -0
  328. package/lib/esm/components/orders/PaymentMethodAmount.js +1 -0
  329. package/lib/esm/components/orders/PlaceOrderButton.d.ts +13 -0
  330. package/lib/esm/components/orders/PlaceOrderButton.js +2 -1
  331. package/lib/esm/components/orders/PlaceOrderContainer.js +1 -0
  332. package/lib/esm/components/orders/PrivacyAndTermsCheckbox.js +1 -0
  333. package/lib/esm/components/orders/ShippingAmount.js +1 -0
  334. package/lib/esm/components/orders/SubTotalAmount.js +1 -0
  335. package/lib/esm/components/orders/TaxesAmount.js +1 -0
  336. package/lib/esm/components/orders/TotalAmount.js +1 -0
  337. package/lib/esm/components/parcels/ParcelField.js +1 -0
  338. package/lib/esm/components/parcels/ParcelLineItem.js +1 -0
  339. package/lib/esm/components/parcels/ParcelLineItemField.js +1 -0
  340. package/lib/esm/components/parcels/ParcelLineItemsCount.js +1 -0
  341. package/lib/esm/components/parcels/Parcels.js +1 -0
  342. package/lib/esm/components/parcels/ParcelsCount.js +1 -0
  343. package/lib/esm/components/payment_gateways/AdyenGateway.js +1 -0
  344. package/lib/esm/components/payment_gateways/BraintreeGateway.js +1 -0
  345. package/lib/esm/components/payment_gateways/CheckoutComGateway.js +1 -0
  346. package/lib/esm/components/payment_gateways/ExternalGateway.js +1 -0
  347. package/lib/esm/components/payment_gateways/KlarnaGateway.js +1 -0
  348. package/lib/esm/components/payment_gateways/PaymentGateway.js +2 -1
  349. package/lib/esm/components/payment_gateways/PaypalGateway.js +1 -0
  350. package/lib/esm/components/payment_gateways/StripeGateway.js +2 -1
  351. package/lib/esm/components/payment_gateways/WireTransferGateway.js +1 -0
  352. package/lib/esm/components/payment_methods/PaymentMethod.js +1 -0
  353. package/lib/esm/components/payment_methods/PaymentMethodName.js +1 -0
  354. package/lib/esm/components/payment_methods/PaymentMethodPrice.js +1 -0
  355. package/lib/esm/components/payment_methods/PaymentMethodRadioButton.js +1 -0
  356. package/lib/esm/components/payment_methods/PaymentMethodsContainer.js +1 -0
  357. package/lib/esm/components/payment_source/AdyenPayment.js +2 -1
  358. package/lib/esm/components/payment_source/BraintreePayment.js +1 -0
  359. package/lib/esm/components/payment_source/CheckoutComPayment.js +1 -0
  360. package/lib/esm/components/payment_source/ExternalPayment.js +1 -0
  361. package/lib/esm/components/payment_source/KlarnaPayment.js +1 -0
  362. package/lib/esm/components/payment_source/PaymentSource.js +1 -0
  363. package/lib/esm/components/payment_source/PaymentSourceBrandIcon.js +2 -1
  364. package/lib/esm/components/payment_source/PaymentSourceBrandName.js +1 -0
  365. package/lib/esm/components/payment_source/PaymentSourceDetail.js +2 -1
  366. package/lib/esm/components/payment_source/PaymentSourceEditButton.js +1 -0
  367. package/lib/esm/components/payment_source/PaypalPayment.js +1 -0
  368. package/lib/esm/components/payment_source/StripeExpressPayment.js +2 -1
  369. package/lib/esm/components/payment_source/StripePayment.js +1 -0
  370. package/lib/esm/components/payment_source/WireTransferPayment.js +1 -0
  371. package/lib/esm/components/prices/Price.js +1 -0
  372. package/lib/esm/components/prices/PricesContainer.js +1 -0
  373. package/lib/esm/components/shipments/Shipment.js +1 -0
  374. package/lib/esm/components/shipments/ShipmentField.js +1 -0
  375. package/lib/esm/components/shipments/ShipmentsContainer.js +1 -0
  376. package/lib/esm/components/shipments/ShipmentsCount.js +1 -0
  377. package/lib/esm/components/shipping_methods/ShippingMethod.js +1 -0
  378. package/lib/esm/components/shipping_methods/ShippingMethodName.js +1 -0
  379. package/lib/esm/components/shipping_methods/ShippingMethodPrice.d.ts +7 -0
  380. package/lib/esm/components/shipping_methods/ShippingMethodPrice.js +2 -1
  381. package/lib/esm/components/shipping_methods/ShippingMethodRadioButton.js +1 -0
  382. package/lib/esm/components/skus/AvailabilityContainer.js +1 -0
  383. package/lib/esm/components/skus/AvailabilityTemplate.js +1 -0
  384. package/lib/esm/components/skus/DeliveryLeadTime.js +1 -0
  385. package/lib/esm/components/skus/SkuField.js +1 -0
  386. package/lib/esm/components/skus/SkuList.js +1 -0
  387. package/lib/esm/components/skus/SkuListsContainer.js +1 -0
  388. package/lib/esm/components/skus/Skus.js +1 -0
  389. package/lib/esm/components/skus/SkusContainer.js +1 -0
  390. package/lib/esm/components/stock_transfers/StockTransfer.js +1 -0
  391. package/lib/esm/components/stock_transfers/StockTransferField.js +1 -0
  392. package/lib/esm/components/utils/AddressCardsTemplate.js +1 -0
  393. package/lib/esm/components/utils/BaseField.js +1 -0
  394. package/lib/esm/components/utils/BaseInput.js +1 -0
  395. package/lib/esm/components/utils/BaseOrderPrice.js +1 -0
  396. package/lib/esm/components/utils/BaseSelect.js +1 -0
  397. package/lib/esm/components/utils/ErrorBoundary.js +1 -0
  398. package/lib/esm/components/utils/GenericFieldComponent.js +1 -0
  399. package/lib/esm/components/utils/Parent.js +1 -0
  400. package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +27 -2
  401. package/lib/esm/components/utils/PaymentCardsTemplate.js +1 -0
  402. package/lib/esm/components/utils/PriceTemplate.js +1 -0
  403. package/lib/esm/components/utils/getAllErrors.js +1 -0
  404. package/lib/esm/config/currency.js +1 -0
  405. package/lib/esm/context/AddressChildrenContext.js +1 -0
  406. package/lib/esm/context/AddressContext.js +1 -0
  407. package/lib/esm/context/AvailabilityContext.js +1 -0
  408. package/lib/esm/context/BillingAddressContext.js +1 -0
  409. package/lib/esm/context/BillingAddressFormContext.js +1 -0
  410. package/lib/esm/context/CommerceLayerContext.js +1 -0
  411. package/lib/esm/context/CouponAndGiftCardFormContext.js +1 -0
  412. package/lib/esm/context/CustomerAddressFormContext.js +1 -0
  413. package/lib/esm/context/CustomerContext.js +1 -0
  414. package/lib/esm/context/CustomerPaymentSourceContext.d.ts +1 -0
  415. package/lib/esm/context/CustomerPaymentSourceContext.js +1 -0
  416. package/lib/esm/context/ExternalFunctionContext.js +1 -0
  417. package/lib/esm/context/GiftCardContext.js +1 -0
  418. package/lib/esm/context/InStockSubscriptionContext.js +1 -0
  419. package/lib/esm/context/LineItemChildrenContext.js +1 -0
  420. package/lib/esm/context/LineItemContext.js +1 -0
  421. package/lib/esm/context/LineItemOptionChildrenContext.js +1 -0
  422. package/lib/esm/context/OrderContext.js +1 -0
  423. package/lib/esm/context/OrderListChildrenContext.js +1 -0
  424. package/lib/esm/context/OrderListPaginationContext.js +1 -0
  425. package/lib/esm/context/OrderStorageContext.js +1 -0
  426. package/lib/esm/context/ParcelChildrenContext.js +1 -0
  427. package/lib/esm/context/ParcelLineItemChildrenContext.js +1 -0
  428. package/lib/esm/context/PaymentMethodChildrenContext.js +1 -0
  429. package/lib/esm/context/PaymentMethodContext.js +1 -0
  430. package/lib/esm/context/PaymentSourceContext.d.ts +1 -0
  431. package/lib/esm/context/PaymentSourceContext.js +1 -0
  432. package/lib/esm/context/PlaceOrderContext.js +1 -0
  433. package/lib/esm/context/PricesContext.js +1 -0
  434. package/lib/esm/context/ShipmentChildrenContext.js +1 -0
  435. package/lib/esm/context/ShipmentContext.js +1 -0
  436. package/lib/esm/context/ShippingAddressContext.js +1 -0
  437. package/lib/esm/context/ShippingAddressFormContext.js +1 -0
  438. package/lib/esm/context/ShippingMethodChildrenContext.js +1 -0
  439. package/lib/esm/context/SkuChildrenContext.js +1 -0
  440. package/lib/esm/context/SkuContext.js +1 -0
  441. package/lib/esm/context/SkuListsContext.js +1 -0
  442. package/lib/esm/context/StockTransferChildrenContext.js +1 -0
  443. package/lib/esm/hooks/useCommerceLayer.js +1 -0
  444. package/lib/esm/hooks/useOrderContainer.js +1 -0
  445. package/lib/esm/index.d.ts +1 -0
  446. package/lib/esm/index.js +2 -1
  447. package/lib/esm/reducers/AddressReducer.js +1 -0
  448. package/lib/esm/reducers/AvailabilityReducer.js +1 -0
  449. package/lib/esm/reducers/BillingAddressReducer.js +1 -0
  450. package/lib/esm/reducers/CustomerReducer.js +1 -0
  451. package/lib/esm/reducers/GiftCardReducer.js +1 -0
  452. package/lib/esm/reducers/InStockSubscriptionReducer.js +1 -0
  453. package/lib/esm/reducers/LineItemReducer.js +1 -0
  454. package/lib/esm/reducers/OrderReducer.d.ts +4 -1
  455. package/lib/esm/reducers/OrderReducer.js +2 -1
  456. package/lib/esm/reducers/PaymentMethodReducer.js +2 -1
  457. package/lib/esm/reducers/PlaceOrderReducer.js +2 -1
  458. package/lib/esm/reducers/PriceReducer.js +1 -0
  459. package/lib/esm/reducers/ShipmentReducer.js +1 -0
  460. package/lib/esm/reducers/ShippingAddressReducer.js +1 -0
  461. package/lib/esm/reducers/SkuListsReducer.js +1 -0
  462. package/lib/esm/reducers/SkuReducer.js +1 -0
  463. package/lib/esm/typings/errors.js +1 -0
  464. package/lib/esm/typings/globals.d.ts +1 -0
  465. package/lib/esm/typings/globals.js +1 -0
  466. package/lib/esm/typings/index.d.ts +1 -0
  467. package/lib/esm/typings/index.js +1 -0
  468. package/lib/esm/utils/PropsType.js +1 -0
  469. package/lib/esm/utils/addressesManager.js +1 -0
  470. package/lib/esm/utils/baseReducer.js +1 -0
  471. package/lib/esm/utils/browserInfo.js +1 -0
  472. package/lib/esm/utils/checkIncludeResource.js +1 -0
  473. package/lib/esm/utils/compareObjAttribute.js +1 -0
  474. package/lib/esm/utils/countryStateCity.js +1 -0
  475. package/lib/esm/utils/customMessages.js +1 -0
  476. package/lib/esm/utils/customerOrderOptions.js +1 -0
  477. package/lib/esm/utils/events.d.ts +5 -0
  478. package/lib/esm/utils/events.js +2 -0
  479. package/lib/esm/utils/expressPaymentHelper.js +1 -0
  480. package/lib/esm/utils/filterChildren.js +1 -0
  481. package/lib/esm/utils/getAmount.js +1 -0
  482. package/lib/esm/utils/getApplicationLink.d.ts +31 -0
  483. package/lib/esm/utils/getApplicationLink.js +2 -0
  484. package/lib/esm/utils/getCardDetails.d.ts +1 -0
  485. package/lib/esm/utils/getCardDetails.js +2 -1
  486. package/lib/esm/utils/getDomain.d.ts +1 -1
  487. package/lib/esm/utils/getDomain.js +1 -0
  488. package/lib/esm/utils/getErrors.js +1 -0
  489. package/lib/esm/utils/getLineItemsCount.js +1 -0
  490. package/lib/esm/utils/getLoaderComponent.js +1 -0
  491. package/lib/esm/utils/getPaymentAttributes.js +1 -0
  492. package/lib/esm/utils/getPrices.js +1 -0
  493. package/lib/esm/utils/getSdk.js +1 -0
  494. package/lib/esm/utils/getSkus.js +1 -0
  495. package/lib/esm/utils/hasSubscriptions.js +1 -0
  496. package/lib/esm/utils/hooks/useCustomContext.js +1 -0
  497. package/lib/esm/utils/hooks/useExternalScript.js +1 -0
  498. package/lib/esm/utils/icons.js +1 -0
  499. package/lib/esm/utils/isDate.js +1 -0
  500. package/lib/esm/utils/isEmpty.js +1 -0
  501. package/lib/esm/utils/isEmptyStates.js +1 -0
  502. package/lib/esm/utils/isJSON.js +1 -0
  503. package/lib/esm/utils/jwt.js +1 -0
  504. package/lib/esm/utils/localStorage.js +1 -0
  505. package/lib/esm/utils/omit.js +1 -0
  506. package/lib/esm/utils/organization.js +2 -1
  507. package/lib/esm/utils/pick.js +1 -0
  508. package/lib/esm/utils/placeholderImages.js +1 -0
  509. package/lib/esm/utils/promisify.js +1 -0
  510. package/lib/esm/utils/replace.js +1 -0
  511. package/lib/esm/utils/scrollbarWidth.js +1 -0
  512. package/lib/esm/utils/shipments.js +1 -0
  513. package/lib/esm/utils/snakeToCamelCase.js +1 -0
  514. package/lib/esm/utils/validateFormFields.js +1 -0
  515. package/package.json +25 -23
  516. package/lib/cjs/utils/getCartLink.d.ts +0 -8
  517. package/lib/cjs/utils/getCartLink.js +0 -1
  518. package/lib/esm/utils/getCartLink.d.ts +0 -8
  519. package/lib/esm/utils/getCartLink.js +0 -1
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const jsx_runtime_1=require("react/jsx-runtime");function getLoaderComponent(loader){return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:loader})}exports.default=getLoaderComponent;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getExternalPaymentAttributes=exports.getPaypalAttributes=exports.getPaymentAttributes=void 0;const PaymentMethodReducer_1=require("../reducers/PaymentMethodReducer"),pick_1=require("./pick"),replace_1=require("./replace"),snakeToCamelCase_1=require("./snakeToCamelCase");function getPaymentAttributes(params){const{resource,config,keys}=params,attributes=(0,PaymentMethodReducer_1.getPaymentConfig)(resource,config),keysCamelCase=keys.map(key=>{const k=(0,replace_1.replace)((0,replace_1.replace)(key,"payments","payment"),"transfers","transfer");return(0,snakeToCamelCase_1.snakeToCamelCase)(k)}),currentResource=(0,snakeToCamelCase_1.snakeToCamelCase)((0,replace_1.replace)((0,replace_1.replace)(resource,"payments","payment"),"transfers","transfer"));return attributes!=null&&currentResource in attributes?(0,pick_1.pick)(attributes,keysCamelCase):void 0}exports.getPaymentAttributes=getPaymentAttributes;function getPaypalAttributes(paymentResource,config){const attributes=getPaymentAttributes({resource:paymentResource,config,keys:["paypal_payments"]});return attributes?.paypalPayment!=null&&"paypalPayment"in attributes?(0,pick_1.pick)(attributes?.paypalPayment,["return_url","cancel_url"]):void 0}exports.getPaypalAttributes=getPaypalAttributes;function getExternalPaymentAttributes(paymentResource,config){const attributes=getPaymentAttributes({resource:paymentResource,config,keys:["external_payments"]});return attributes?.externalPayment!=null&&"externalPayment"in attributes?(0,pick_1.pick)(attributes?.externalPayment,["payment_source_token"]):void 0}exports.getExternalPaymentAttributes=getExternalPaymentAttributes;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPricesComponent=exports.getPriceByCode=void 0;const tslib_1=require("tslib"),react_1=require("react"),jsx_runtime_1=require("react/jsx-runtime"),lodash_1=require("lodash"),PriceTemplate_1=tslib_1.__importDefault(require("../components/utils/PriceTemplate"));function getPriceByCode(skuPrices,code=""){return code?(0,lodash_1.first)(skuPrices.filter(p=>p.currency_code===code)):(0,lodash_1.first)(skuPrices)}exports.getPriceByCode=getPriceByCode;function getPricesComponent(skuPrices,props){return(0,lodash_1.isEmpty)(skuPrices)?(0,jsx_runtime_1.jsx)(PriceTemplate_1.default,Object.assign({},props)):skuPrices.map((p,k)=>{const showCompare=typeof props.showCompare>"u"&&p?.compare_at_amount_cents>p?.amount_cents||props.showCompare;return(0,react_1.createElement)(PriceTemplate_1.default,Object.assign({},props,{key:k,showCompare,formattedAmount:p.formatted_amount,formattedCompare:p.formatted_compare_at_amount,skuCode:p.sku_code}))})}exports.getPricesComponent=getPricesComponent;function getPrices(prices){const obj={};return(0,lodash_1.isArray)(prices)&&prices.forEach(p=>{const sku=p.sku_code;(0,lodash_1.has)(obj,sku)?obj[sku].push(p):obj[sku]=[p]}),obj}exports.default=getPrices;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const tslib_1=require("tslib"),organization_1=tslib_1.__importDefault(require("./organization")),sdk_1=tslib_1.__importDefault(require("@commercelayer/sdk"));function getSdk({endpoint,accessToken}){if(accessToken==null||endpoint==null)throw new Error("accessToken and endpoint are required parameters");const org=(0,organization_1.default)(endpoint);return(0,sdk_1.default)(Object.assign({accessToken},org))}exports.default=getSdk;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const getSkus=(skus,sortBy)=>{const obj={};return sortBy.forEach(sku=>{skus.forEach(o=>{o?.code===sku&&(obj[o.code]=o)})}),obj};exports.default=getSkus;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasSubscriptions=void 0;function hasSubscriptions(order){var _a;return((_a=order?.line_items)===null||_a===void 0?void 0:_a.some(li=>li.frequency!=null))!=null}exports.hasSubscriptions=hasSubscriptions;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const react_1=require("react");function useCustomContext({context,key,currentComponentName,contextComponentName}){const currentContext=(0,react_1.useContext)(context),isProduction=process.env.NODE_ENV==="production",msg=`Cannot use <${currentComponentName}/> outside of <${contextComponentName}/>`;if(key!=null&&key in currentContext||key==null&&currentContext!=null)return currentContext;if(isProduction)console.error(msg);else throw new Error(msg);return currentContext}exports.default=useCustomContext;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const react_1=require("react");function useExternalScript(url){const[loaded,setLoaded]=(0,react_1.useState)(!1);return(0,react_1.useEffect)(()=>{const script=document.createElement("script");return script.src=url,script.async=!0,document.body.appendChild(script),script.onload=()=>{setLoaded(!0)},()=>{document.body.removeChild(script),setLoaded(!1)}},[url]),loaded}exports.default=useExternalScript;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.sortAscIcon=exports.sortDescIcon=void 0;const jsx_runtime_1=require("react/jsx-runtime");exports.sortDescIcon=(0,jsx_runtime_1.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,jsx_runtime_1.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4"})}),exports.sortAscIcon=(0,jsx_runtime_1.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,jsx_runtime_1.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"})});
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});function isDate(value){return!isNaN(Date.parse(value))}exports.default=isDate;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isEmpty=void 0;function isEmpty(value){if(value==null)return!0;if(Array.isArray(value)||typeof value=="string")return value.length===0;if(typeof value=="object")return Object.keys(value).length===0;throw new Error("Invalid value for isEmpty function")}exports.isEmpty=isEmpty;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const countryLock=["IT","US"];function isEmptyStates(countryCode){return!countryLock.includes(countryCode)}exports.default=isEmptyStates;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});function isJSON(str){try{return JSON.parse(str),!0}catch{return!1}}exports.default=isJSON;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const tslib_1=require("tslib"),jwt_decode_1=tslib_1.__importDefault(require("jwt-decode"));function jwt(accessToken){return(0,jwt_decode_1.default)(accessToken)}exports.default=jwt;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setCustomerOrderParam=exports.getSaveShippingAddressToAddressBook=exports.getSaveBillingAddressToAddressBook=exports.getSavePaymentSourceToCustomerWallet=exports.deleteLocalOrder=exports.setLocalOrder=exports.getLocalOrder=void 0;const getLocalOrder=key=>localStorage.getItem(key);exports.getLocalOrder=getLocalOrder;const setLocalOrder=(key,value)=>{localStorage.setItem(key,value)};exports.setLocalOrder=setLocalOrder;const deleteLocalOrder=key=>{localStorage.removeItem(key)};exports.deleteLocalOrder=deleteLocalOrder;const getSavePaymentSourceToCustomerWallet=()=>localStorage.getItem("_save_payment_source_to_customer_wallet")==="true";exports.getSavePaymentSourceToCustomerWallet=getSavePaymentSourceToCustomerWallet;const getSaveBillingAddressToAddressBook=()=>localStorage.getItem("_save_billing_address_to_customer_address_book")==="true";exports.getSaveBillingAddressToAddressBook=getSaveBillingAddressToAddressBook;const getSaveShippingAddressToAddressBook=()=>localStorage.getItem("_save_shipping_address_to_customer_address_book")==="true";exports.getSaveShippingAddressToAddressBook=getSaveShippingAddressToAddressBook;function setCustomerOrderParam(key,value){(0,exports.setLocalOrder)(key,value)}exports.setCustomerOrderParam=setCustomerOrderParam;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});function omit(obj,keys){return Object.fromEntries(Object.entries(obj).filter(([k,_])=>!keys.includes(k)))}exports.default=omit;
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});function getOrganizationSlug(endpoint){const org={organization:"",domain:"commercelayer.io"};return endpoint.search("commercelayer.io")===-1&&(org.domain="commercelayer.co"),org.organization=endpoint.replace("https://","").replace(`.${org.domain}`,""),org}exports.default=getOrganizationSlug;
1
+ "use client";
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const getDomain_1=require("./getDomain");function getOrganizationSlug(endpoint){const org={organization:"",domain:"commercelayer.io"},{domain,slug}=(0,getDomain_1.getDomain)(endpoint);return{organization:slug,domain:domain||org.domain}}exports.default=getOrganizationSlug;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pick=void 0;function pick(object,keys){const result={};for(const key of keys)result[key]=object[key];return result}exports.pick=pick;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.defaultGiftCardImgUrl=exports.defaultImgUrl=void 0,exports.defaultImgUrl="https://data.commercelayer.app/assets/images/placeholders/img_placeholder.svg",exports.defaultGiftCardImgUrl="https://data.commercelayer.app/assets/images/placeholders/gift_placeholder.svg";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const tslib_1=require("tslib"),isFunction_1=tslib_1.__importDefault(require("lodash/isFunction"));function promisify(cb,params){return tslib_1.__awaiter(this,void 0,void 0,function*(){return yield new Promise((resolve,reject)=>{params?cb(params,(err,res)=>{err&&reject(err),resolve(res)}):(0,isFunction_1.default)(cb?.tokenize)?cb?.tokenize((err,payload)=>{err&&reject(err),resolve(payload)}):cb((err,res)=>{err&&reject(err),resolve(res)})})})}exports.default=promisify;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.replace=void 0;function replace(value,replace2,replacement){return value.replace(replace2,replacement)}exports.replace=replace;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});function scrollbarWidth(){if(typeof document>"u")return 0;const scrollDiv=document.createElement("div");scrollDiv.setAttribute("style","width: 100px; height: 100px; overflow: scroll; position:absolute; top:-9999px;"),document.body.appendChild(scrollDiv);const scrollbarWidth2=scrollDiv.offsetWidth-scrollDiv.clientWidth;return document.body.removeChild(scrollDiv),scrollbarWidth2}exports.default=scrollbarWidth;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isDoNotShip=exports.shipmentsFilled=void 0;const tslib_1=require("tslib"),compact_1=tslib_1.__importDefault(require("lodash/compact")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty"));function shipmentsFilled(shipments){const filled=(0,compact_1.default)(shipments.filter(shipment=>!(0,isEmpty_1.default)(shipment.shipping_method)));return!(0,isEmpty_1.default)(filled)}exports.shipmentsFilled=shipmentsFilled;function isDoNotShip(lineItems){const itemDoNotShip=[],items=lineItems?lineItems.filter(({item_type})=>item_type==="skus").map(lineItem=>{var _a;return lineItem.item&&(!((_a=lineItem?.item)===null||_a===void 0)&&_a.do_not_ship)&&itemDoNotShip.push(!0),lineItem}):[];return itemDoNotShip.length>0&&itemDoNotShip.length===items.length}exports.isDoNotShip=isDoNotShip;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.snakeToCamelCase=void 0;function snakeToCamelCase(value){var _a,_b,_c,_d,_e,_f;const words=value.toLowerCase().split("_"),first=(_a=words[0])!==null&&_a!==void 0?_a:"",firstLetter=(_d=(_c=(_b=words[1])===null||_b===void 0?void 0:_b[0])===null||_c===void 0?void 0:_c.toUpperCase())!==null&&_d!==void 0?_d:"",second=(_f=(_e=words[1])===null||_e===void 0?void 0:_e.substring(1))!==null&&_f!==void 0?_f:"";return`${first}${firstLetter}${second}`}exports.snakeToCamelCase=snakeToCamelCase;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.businessMandatoryField=exports.fieldsExist=exports.validateValue=void 0;const tslib_1=require("tslib"),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),isString_1=tslib_1.__importDefault(require("lodash/isString")),without_1=tslib_1.__importDefault(require("lodash/without")),keys_1=tslib_1.__importDefault(require("lodash/keys")),map_1=tslib_1.__importDefault(require("lodash/map")),AddressReducer_1=require("../reducers/AddressReducer"),EMAIL_PATTERN=/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$/,validateValue=(val,name,type,resourceType)=>val?type==="email"&&(0,isString_1.default)(val)&&!val.match(EMAIL_PATTERN)?{field:name,code:"VALIDATION_ERROR",message:`${name} - is not valid`,resourceType}:{}:{field:name,code:"VALIDATION_ERROR",message:`${name} - is required`,resourceType};exports.validateValue=validateValue;const validateFormFields=(fields,required,resourceType)=>{const errors=[];let values={metadata:{}};return(0,map_1.default)(fields,v=>{const val="checked"in v||(v.value==="on"?!1:v.value),attrName=v.getAttribute("name");if(attrName&&required.includes(attrName)||v.required){const error=(0,exports.validateValue)(val,v.name,v.type,resourceType);(0,isEmpty_1.default)(error)||errors.push(error),values=Object.assign(Object.assign({},values),{[`${v.name}`]:val})}v.getAttribute("name")&&(values=!!v.getAttribute("data-metadata")?Object.assign(Object.assign({},values),{metadata:Object.assign(Object.assign({},values.metadata),{[`${v.name}`]:val})}):Object.assign(Object.assign({},values),{[`${v.name}`]:val}))}),{errors,values}},fieldsExist=(address,schema=AddressReducer_1.addressFields)=>{if(address.business){const required=(0,without_1.default)(schema,"first_name","last_name"),validAddress=(0,keys_1.default)(address).filter(k=>required.includes(k));return required.length>validAddress.length}else{const required=(0,without_1.default)(schema,"line_2","company"),validAddress=(0,keys_1.default)(address).filter(k=>required.includes(k));return required.length>validAddress.length}};exports.fieldsExist=fieldsExist;const businessOptionalFields=["billing_address_first_name","billing_address_last_name","shipping_address_first_name","shipping_address_last_name","first_name","last_name"],customerOptionalFields=["billing_address_company","shipping_address_company","company"];function businessMandatoryField(fieldName,isBusiness){return!(isBusiness&&businessOptionalFields.includes(fieldName)||!isBusiness&&customerOptionalFields.includes(fieldName))}exports.businessMandatoryField=businessMandatoryField,exports.default=validateFormFields;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import ExternalFunctionContext,{callExternalFunction}from"../context/ExternalFunctionContext";export function ExternalFunction({children,url}){return _jsx(ExternalFunctionContext.Provider,{value:{url,callExternalFunction},children})}export default ExternalFunction;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import BaseInput from"./utils/BaseInput";export function MetadataInput(props){return _jsx(BaseInput,{"data-metadata":!0,...props})}export default MetadataInput;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import Parent from"./utils/Parent";import isFunction from"lodash/isFunction";export function SubmitButton(props){const{children,label="Submit",...p}=props,parentProps={...p,label};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{type:"submit",...p,children:isFunction(label)?label():label})}export default SubmitButton;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useContext,useState,useEffect}from"react";import AddressChildrenContext from"../../context/AddressChildrenContext";import CustomerContext from"../../context/CustomerContext";import BillingAddressContext from"../../context/BillingAddressContext";import ShippingAddressContext from"../../context/ShippingAddressContext";import isEmpty from"lodash/isEmpty";import AddressContext from"../../context/AddressContext";import OrderContext from"../../context/OrderContext";import AddressCardsTemplate from"../utils/AddressCardsTemplate";export function Address(props){const{children,className,selectedClassName="",disabledClassName="",onSelect,addresses=[],deselect=!1,...p}=props,{addresses:addressesContext}=useContext(CustomerContext),{setBillingAddress,billingCustomerAddressId}=useContext(BillingAddressContext),{setShippingAddress,shippingCustomerAddressId}=useContext(ShippingAddressContext),{shipToDifferentAddress,billingAddressId,shippingAddressId}=useContext(AddressContext),{order}=useContext(OrderContext),[selected,setSelected]=useState(null),items=isEmpty(addresses)?addressesContext&&addressesContext||[]:addresses;useEffect(()=>{items&&!deselect&&items.forEach((address,k)=>{billingCustomerAddressId&&address.reference===billingCustomerAddressId&&selected===null&&setSelected(k),!billingAddressId&&k===selected&&setBillingAddress&&setBillingAddress(address.id,{customerAddressId:address.reference}),shippingCustomerAddressId&&address.reference===shippingCustomerAddressId&&selected===null&&setSelected(k),!shippingAddressId&&k===selected&&setShippingAddress&&setShippingAddress(address.id,{customerAddressId:address.reference})}),deselect&&(async()=>(setBillingAddress&&await setBillingAddress(""),setShippingAddress&&await setShippingAddress("")))()},[deselect,billingCustomerAddressId,shippingCustomerAddressId,addressesContext,shipToDifferentAddress]);const handleSelect=async(k,addressId,customerAddressId,disabled,address)=>{!disabled&&setSelected(k),setBillingAddress&&await setBillingAddress(addressId,{customerAddressId}),!disabled&&setShippingAddress&&await setShippingAddress(addressId,{customerAddressId}),onSelect&&onSelect(address)},countryLock=order?.shipping_country_code_lock,components=typeof children=="function"?[]:items.filter(address=>!(setShippingAddress&&countryLock&&countryLock!==address.country_code)).map((address,k)=>{const addressProps={address},disabled=setShippingAddress&&countryLock&&countryLock!==address.country_code||!1,addressSelectedClass=selected===k?`${className||""} ${deselect?"":selectedClassName}`:className,customerAddressId=address?.reference||"",finalClassName=disabled?`${className||""} ${disabledClassName}`:addressSelectedClass;return _jsx(AddressChildrenContext.Provider,{value:addressProps,children:_jsx("div",{className:finalClassName,onClick:()=>{handleSelect(k,address.id,customerAddressId,disabled,address)},"data-disabled":disabled,...p,children})},k)}),parentProps={customerAddresses:items,selected,handleSelect,countryLock,...props};return typeof children=="function"?_jsx(AddressCardsTemplate,{...parentProps,children}):_jsx(_Fragment,{children:components})}export default Address;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useState}from"react";import BaseSelect from"../utils/BaseSelect";import BillingAddressFormContext from"../../context/BillingAddressFormContext";import ShippingAddressFormContext from"../../context/ShippingAddressFormContext";import{getCountries}from"../../utils/countryStateCity";import CustomerAddressFormContext from"../../context/CustomerAddressFormContext";export function AddressCountrySelector(props){const{required=!0,value,name,className,...p}=props,billingAddress=useContext(BillingAddressFormContext),shippingAddress=useContext(ShippingAddressFormContext),customerAddress=useContext(CustomerAddressFormContext),[hasError,setHasError]=useState(!1);useEffect(()=>(value&&billingAddress?.setValue&&billingAddress.setValue(name,value),value&&shippingAddress?.setValue&&shippingAddress.setValue(name,value),value&&customerAddress?.setValue&&customerAddress.setValue(name,value),billingAddress.errors&&billingAddress?.errors?.[name]?.error&&setHasError(!0),billingAddress?.errors?.[name]&&hasError&&setHasError(!1),customerAddress.errors&&customerAddress?.errors?.[name]?.error&&setHasError(!0),customerAddress?.errors?.[name]&&hasError&&setHasError(!1),shippingAddress.errors&&shippingAddress?.errors?.[name]?.error&&setHasError(!0),shippingAddress?.errors?.[name]&&hasError&&setHasError(!1),()=>{setHasError(!1)}),[value,billingAddress?.errors,shippingAddress?.errors,customerAddress?.errors]);const errorClassName=billingAddress?.errorClassName||shippingAddress?.errorClassName||customerAddress?.errorClassName,classNameComputed=`${className??""} ${hasError&&errorClassName?errorClassName:""}`;return _jsx(BaseSelect,{className:classNameComputed,ref:billingAddress?.validation||shippingAddress?.validation||customerAddress?.validation,required,options:getCountries(),name,value,...p})}export default AddressCountrySelector;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import AddressChildrenContext from"../../context/AddressChildrenContext";import Parent from"../utils/Parent";import CustomerContext from"../../context/CustomerContext";export function AddressField(props){const{name,type="field",label,onClick,...p}=props,{address}=useContext(AddressChildrenContext),text=name&&address?address?.[name]:"",{deleteCustomerAddress}=useContext(CustomerContext),handleClick=e=>{e.stopPropagation(),e.preventDefault(),type==="delete"&&deleteCustomerAddress&&address?.reference&&deleteCustomerAddress({customerAddressId:address?.reference}),address&&onClick&&onClick(address)},parentProps={address,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):type==="field"?_jsx("p",{"data-testid":`address-field-${name??""}`,...p,name,children:text}):_jsx("a",{"data-testid":`address-field-${name??""}`,...p,onClick:handleClick,children:label})}export default AddressField;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useState}from"react";import BaseInput from"../utils/BaseInput";import BillingAddressFormContext from"../../context/BillingAddressFormContext";import ShippingAddressFormContext from"../../context/ShippingAddressFormContext";import isEmpty from"lodash/isEmpty";import{businessMandatoryField}from"../../utils/validateFormFields";import CustomerAddressFormContext from"../../context/CustomerAddressFormContext";export function AddressInput(props){const{placeholder="",required,value,className,...p}=props,billingAddress=useContext(BillingAddressFormContext),shippingAddress=useContext(ShippingAddressFormContext),customerAddress=useContext(CustomerAddressFormContext),[hasError,setHasError]=useState(!1);useEffect(()=>(value&&billingAddress?.setValue&&billingAddress.setValue(p.name,value),value&&shippingAddress?.setValue&&shippingAddress.setValue(p.name,value),value&&customerAddress?.setValue&&customerAddress.setValue(p.name,value),billingAddress.errors&&billingAddress?.errors?.[p.name]?.error&&setHasError(!0),billingAddress&&isEmpty(billingAddress?.errors?.[p.name])&&hasError&&setHasError(!1),customerAddress.errors&&customerAddress?.errors?.[p.name]?.error&&setHasError(!0),isEmpty(customerAddress?.errors?.[p.name])&&hasError&&setHasError(!1),shippingAddress.errors&&shippingAddress?.errors?.[p.name]?.error&&setHasError(!0),shippingAddress&&isEmpty(shippingAddress?.errors?.[p.name])&&hasError&&setHasError(!1),()=>{setHasError(!1)}),[value,billingAddress?.errors,shippingAddress?.errors]);const mandatoryField=billingAddress?.isBusiness?businessMandatoryField(p.name,billingAddress.isBusiness):businessMandatoryField(p.name,shippingAddress.isBusiness),reqField=required!==void 0?required:mandatoryField,errorClassName=billingAddress?.errorClassName||shippingAddress?.errorClassName,classNameComputed=`${className||""} ${hasError&&errorClassName?errorClassName:""}`;return p.name==="billing_address_billing_info"&&billingAddress.requiresBillingInfo===!1&&required===void 0?null:_jsx(BaseInput,{ref:billingAddress?.validation||shippingAddress?.validation||customerAddress?.validation,className:classNameComputed,required:reqField,placeholder,defaultValue:value,...p})}export default AddressInput;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useState}from"react";import BaseSelect from"../utils/BaseSelect";import BillingAddressFormContext from"../../context/BillingAddressFormContext";import ShippingAddressFormContext from"../../context/ShippingAddressFormContext";import isEmpty from"lodash/isEmpty";import{getStateOfCountry,isValidState}from"../../utils/countryStateCity";import isEmptyStates from"../../utils/isEmptyStates";import AddressesContext from"../../context/AddressContext";import BaseInput from"../utils/BaseInput";import CustomerAddressFormContext from"../../context/CustomerAddressFormContext";export function AddressStateSelector(props){const{required=!0,value,name,className="",inputClassName="",selectClassName="",...p}=props,billingAddress=useContext(BillingAddressFormContext),shippingAddress=useContext(ShippingAddressFormContext),customerAddress=useContext(CustomerAddressFormContext),{errors:addressErrors}=useContext(AddressesContext),[hasError,setHasError]=useState(!1),[countryCode,setCountryCode]=useState(""),[val,setVal]=useState(value||"");useEffect(()=>{const billingCountryCode=typeof billingAddress?.values?.billing_address_country_code=="string"?billingAddress?.values?.billing_address_country_code:billingAddress?.values?.billing_address_country_code?.value;billingCountryCode&&billingCountryCode!==countryCode&&setCountryCode(billingCountryCode);const shippingCountryCode=typeof shippingAddress?.values?.shipping_address_country_code=="string"?shippingAddress?.values?.shipping_address_country_code:shippingAddress?.values?.shipping_address_country_code?.value;if(shippingCountryCode&&shippingCountryCode!==countryCode&&setCountryCode(shippingCountryCode),[Object.keys(billingAddress).length>0,billingCountryCode,countryCode!==billingCountryCode].every(Boolean)&&billingCountryCode&&!isValidState(val,billingCountryCode)&&!isEmptyStates(billingCountryCode)&&(billingAddress.resetField&&billingAddress?.resetField(name),setVal("")),[!isEmpty(shippingAddress),shippingCountryCode,countryCode!==shippingCountryCode].every(Boolean)&&shippingCountryCode&&!isValidState(val,shippingCountryCode)&&!isEmptyStates(shippingCountryCode)&&(shippingAddress.resetField&&shippingAddress?.resetField(name),setVal("")),!isEmpty(billingAddress)){const fieldError=billingAddress?.errors?.[name]?.error;setHasError(!!fieldError)}if(!isEmpty(customerAddress)){const fieldError=customerAddress?.errors?.[name]?.error;setHasError(!!fieldError)}if(!isEmpty(shippingAddress)){const fieldError=shippingAddress?.errors?.[name]?.error;setHasError(!!fieldError)}return()=>{setHasError(!1)}},[value,billingAddress,shippingAddress,addressErrors,customerAddress]);const errorClassName=billingAddress?.errorClassName||shippingAddress?.errorClassName||customerAddress?.errorClassName||"",classNameComputed=isEmptyStates(countryCode)?`${className} ${inputClassName} ${hasError?errorClassName:""}`:`${className} ${selectClassName} ${hasError?errorClassName:""}`;return isEmptyStates(countryCode)?_jsx(BaseInput,{...p,name,ref:billingAddress?.validation||shippingAddress?.validation||customerAddress?.validation,className:classNameComputed,required,placeholder:p.placeholder?.label||"",defaultValue:val,type:"text"}):_jsx(BaseSelect,{...p,className:classNameComputed,ref:billingAddress?.validation||shippingAddress?.validation||customerAddress?.validation,required,options:getStateOfCountry(countryCode),name,value:val})}export default AddressStateSelector;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import AddressesContext,{defaultAddressContext}from"../../context/AddressContext";import{useContext,useEffect,useReducer}from"react";import addressReducer,{addressInitialState,setAddressErrors,setCloneAddress,saveAddresses}from"../../reducers/AddressReducer";import OrderContext from"../../context/OrderContext";import CommerceLayerContext from"../../context/CommerceLayerContext";export function AddressesContainer(props){const{children,shipToDifferentAddress=!1,isBusiness}=props,[state,dispatch]=useReducer(addressReducer,addressInitialState),{order,orderId,updateOrder}=useContext(OrderContext),config=useContext(CommerceLayerContext);useEffect(()=>(dispatch({type:"setShipToDifferentAddress",payload:{shipToDifferentAddress,isBusiness}}),()=>{dispatch({type:"cleanup",payload:{}})}),[shipToDifferentAddress,isBusiness]);const contextValue={...state,setAddressErrors:(errors,resource)=>{setAddressErrors({errors,resource,dispatch,currentErrors:state.errors})},setAddress:params=>{defaultAddressContext.setAddress({...params,dispatch})},saveAddresses:async customerEmail=>await saveAddresses({config,dispatch,updateOrder,order,orderId,state,customerEmail}),setCloneAddress:(id,resource)=>{setCloneAddress(id,resource,dispatch)}};return _jsx(AddressesContext.Provider,{value:contextValue,children})}export default AddressesContainer;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";import CustomerContext from"../../context/CustomerContext";import{useContext}from"react";export function AddressesEmpty(props){const{children,emptyText="No addresses available.",...p}=props,{addresses}=useContext(CustomerContext),parentProps={emptyText,...p};return addresses==null||addresses.length>0?null:children!==void 0?_jsx(Parent,{...parentProps,children}):_jsx("span",{"data-testid":"addresses-empty",...p,children:emptyText})}export default AddressesEmpty;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import BillingAddressContext from"../../context/BillingAddressContext";import{useContext,useEffect,useReducer}from"react";import billingAddressReducer,{billingAddressInitialState,setBillingAddress,setBillingCustomerAddressId}from"../../reducers/BillingAddressReducer";import CommerceLayerContext from"../../context/CommerceLayerContext";import OrderContext from"../../context/OrderContext";import AddressContext from"../../context/AddressContext";export function BillingAddressContainer(props){const{children}=props,[state,dispatch]=useReducer(billingAddressReducer,billingAddressInitialState),config=useContext(CommerceLayerContext),{order,include,addResourceToInclude}=useContext(OrderContext),{shipToDifferentAddress,setCloneAddress}=useContext(AddressContext);useEffect(()=>(include?.includes("billing_address")||addResourceToInclude({newResource:"billing_address",resourcesIncluded:include}),order&&config&&setBillingCustomerAddressId({dispatch,order,setCloneAddress}),()=>{dispatch({type:"cleanup",payload:{}})}),[order,include]);const contextValue={...state,setBillingAddress:async(id,options)=>{await setBillingAddress(id,{config,dispatch,order,shipToDifferentAddress,customerAddressId:options?.customerAddressId}),setCloneAddress(id,"billing_address")}};return _jsx(BillingAddressContext.Provider,{value:contextValue,children})}export default BillingAddressContainer;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import AddressesContext from"../../context/AddressContext";import{useRapidForm}from"rapid-form";import{useContext,useEffect,useRef}from"react";import BillingAddressFormContext from"../../context/BillingAddressFormContext";import isEmpty from"lodash/isEmpty";import OrderContext from"../../context/OrderContext";import{getSaveBillingAddressToAddressBook}from"../../utils/localStorage";import{businessMandatoryField}from"../../utils/validateFormFields";export function BillingAddressForm(props){const{children,errorClassName,autoComplete="on",reset=!1,...p}=props,{validation,values,errors,reset:resetForm}=useRapidForm(),{setAddressErrors,setAddress,isBusiness}=useContext(AddressesContext),{saveAddressToCustomerAddressBook,order,include,addResourceToInclude,includeLoaded}=useContext(OrderContext),ref=useRef(null);useEffect(()=>{if(include?.includes("billing_address")?includeLoaded?.billing_address||addResourceToInclude({newResourceLoaded:{billing_address:!0}}):addResourceToInclude({newResource:"billing_address"}),isEmpty(errors)){if(values&&Object.keys(values).length>0){setAddressErrors([],"billing_address");for(const name in values){const field=values[name];businessMandatoryField(name,isBusiness)||delete values[name],(field?.value||field?.required===!1&&field?.type!=="checkbox")&&(values[name.replace("billing_address_","")]=field.value,delete values[name]),field?.type==="checkbox"&&(delete values[name],saveAddressToCustomerAddressBook({type:"billing_address",value:field.checked}))}setAddress({values:{...values,...isBusiness&&{business:isBusiness}},resource:"billing_address"})}}else{const formErrors=[];for(const fieldName in errors){const code=errors[fieldName]?.code,message=errors[fieldName]?.message;["billing_address_state_code"].includes(fieldName)?values?.state_code?formErrors.push({code,message:message||"",resource:"billing_address",field:fieldName}):delete errors[fieldName]:formErrors.push({code,message:message||"",resource:"billing_address",field:fieldName})}setAddressErrors(formErrors,"billing_address")}const checkboxChecked=ref.current?.querySelector('[name="billing_address_save_to_customer_book"]')?.checked||getSaveBillingAddressToAddressBook();reset&&(!isEmpty(values)||!isEmpty(errors)||checkboxChecked)&&(saveAddressToCustomerAddressBook&&saveAddressToCustomerAddressBook({type:"billing_address",value:!1}),ref&&(ref.current?.reset(),resetForm({target:ref.current}),setAddressErrors([],"billing_address"),setAddress({values:{},resource:"billing_address"})))},[errors,values,reset,include,includeLoaded,isBusiness]);const providerValues={isBusiness,values,validation,setValue:(name,value)=>{const field={[name.replace("billing_address_","")]:value};setAddress({values:{...values,...field,...isBusiness&&{business:isBusiness}},resource:"billing_address"})},errorClassName,requiresBillingInfo:order?.requires_billing_info||!1,errors,resetField:name=>{resetForm({currentTarget:ref.current},name)}};return _jsx(BillingAddressFormContext.Provider,{value:providerValues,children:_jsx("form",{ref,autoComplete,...p,children})})}export default BillingAddressForm;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useState}from"react";import Parent from"../utils/Parent";import AddressContext from"../../context/AddressContext";import{shippingAddressController,countryLockController,billingAddressController}from"../../utils/addressesManager";import OrderContext from"../../context/OrderContext";import CustomerContext from"../../context/CustomerContext";import isFunction from"lodash/isFunction";export function SaveAddressesButton(props){const{children,label="Continue to delivery",resource,disabled=!1,addressId,onClick,...p}=props,{errors,billing_address:billingAddress,shipToDifferentAddress,shipping_address:shippingAddress,saveAddresses,billingAddressId,shippingAddressId}=useContext(AddressContext),{order}=useContext(OrderContext),{customerEmail:email,addresses,isGuest,createCustomerAddress}=useContext(CustomerContext),[forceDisable,setForceDisable]=useState(disabled);let customerEmail=(isGuest===!0||typeof isGuest>"u")&&!order?.customer_email;email!=null&&email!==""&&(customerEmail=!1);const billingDisable=billingAddressController({billing_address:billingAddress,errors,billingAddressId,requiresBillingInfo:order?.requires_billing_info}),shippingDisable=shippingAddressController({billingDisable,errors,shipToDifferentAddress,shipping_address:shippingAddress,shippingAddressId}),countryLockDisable=countryLockController({countryCodeLock:order?.shipping_country_code_lock,addresses,shipToDifferentAddress,billingAddressId,billing_address:billingAddress,shipping_address:shippingAddress,shippingAddressId}),disable=disabled||customerEmail||billingDisable||shippingDisable||countryLockDisable,handleClick=async()=>{if(errors&&Object.keys(errors).length===0&&!disable){let response={success:!1};if(setForceDisable(!0),order&&saveAddresses!=null)response=await saveAddresses(email);else if(createCustomerAddress&&billingAddress){const address={...billingAddress};addressId&&(address.id=addressId),createCustomerAddress(address),response={success:!0}}setForceDisable(!1),onClick&&response.success&&onClick(response)}},parentProps={...p,label,resource,handleClick,disabled:disable};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{type:"button",disabled:disable||forceDisable,onClick:()=>{handleClick()},...p,children:isFunction(label)?label():label})}export default SaveAddressesButton;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import ShippingAddressContext from"../../context/ShippingAddressContext";import{useContext,useEffect,useReducer}from"react";import shippingAddressReducer,{setShippingAddress,shippingAddressInitialState,setShippingCustomerAddressId}from"../../reducers/ShippingAddressReducer";import CommerceLayerContext from"../../context/CommerceLayerContext";import OrderContext from"../../context/OrderContext";import AddressContext from"../../context/AddressContext";export function ShippingAddressContainer(props){const{children}=props,[state,dispatch]=useReducer(shippingAddressReducer,shippingAddressInitialState),config=useContext(CommerceLayerContext),{order}=useContext(OrderContext),{setCloneAddress}=useContext(AddressContext);useEffect(()=>(order&&config&&setShippingCustomerAddressId({dispatch,order,setCloneAddress}),()=>{dispatch({type:"cleanup",payload:{}})}),[config,order]);const contextValue={...state,setShippingAddress:async(id,options)=>{await setShippingAddress(id,{config,dispatch,order,customerAddressId:options?.customerAddressId}),setCloneAddress(id,"shipping_address")}};return _jsx(ShippingAddressContext.Provider,{value:contextValue,children})}export default ShippingAddressContainer;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import AddressesContext from"../../context/AddressContext";import{useRapidForm}from"rapid-form";import{useContext,useEffect,useRef}from"react";import ShippingAddressFormContext from"../../context/ShippingAddressFormContext";import isEmpty from"lodash/isEmpty";import OrderContext from"../../context/OrderContext";import{getSaveShippingAddressToAddressBook}from"../../utils/localStorage";import{businessMandatoryField}from"../../utils/validateFormFields";export function ShippingAddressForm(props){const{children,errorClassName,autoComplete="on",reset=!1,...p}=props,{validation,values,errors,reset:resetForm}=useRapidForm(),{setAddressErrors,setAddress,shipToDifferentAddress,isBusiness}=useContext(AddressesContext),{saveAddressToCustomerAddressBook,include,addResourceToInclude,includeLoaded}=useContext(OrderContext),ref=useRef(null);useEffect(()=>{if(include?.includes("shipping_address")?includeLoaded?.shipping_address||addResourceToInclude({newResourceLoaded:{shipping_address:!0}}):addResourceToInclude({newResource:"shipping_address"}),isEmpty(errors)){if(!isEmpty(values)&&shipToDifferentAddress){setAddressErrors([],"shipping_address");for(const name in values){const field=values[name];businessMandatoryField(name,isBusiness)||delete values[name],(field?.value||field?.required===!1&&field?.type!=="checkbox")&&(values[name.replace("shipping_address_","")]=field.value,delete values[name]),field?.type==="checkbox"&&(delete values[name],saveAddressToCustomerAddressBook({type:"shipping_address",value:field.checked}))}setAddress({values:{...values,...isBusiness&&{business:isBusiness}},resource:"shipping_address"})}}else{const formErrors=[];for(const fieldName in errors){const code=errors[fieldName]?.code,message=errors[fieldName]?.message;["shipping_address_state_code"].includes(fieldName)?isEmpty(values.state_code)?delete errors[fieldName]:formErrors.push({code,message:message||"",resource:"shipping_address",field:fieldName}):formErrors.push({code,message:message||"",resource:"shipping_address",field:fieldName})}shipToDifferentAddress&&setAddressErrors(formErrors,"shipping_address")}const checkboxChecked=ref.current?.querySelector('[name="shipping_address_save_to_customer_book"]')?.checked||getSaveShippingAddressToAddressBook();reset&&(!isEmpty(values)||!isEmpty(errors)||checkboxChecked)&&(saveAddressToCustomerAddressBook&&saveAddressToCustomerAddressBook({type:"shipping_address",value:!1}),ref&&(ref.current?.reset(),resetForm({target:ref.current}),setAddressErrors([],"shipping_address"),setAddress({values:{},resource:"shipping_address"})))},[values,errors,shipToDifferentAddress,reset,include,includeLoaded,isBusiness]);const providerValues={values,validation,setValue:(name,value)=>{const field={[name.replace("shipping_address_","")]:value};setAddress({values:{...values,...field,...isBusiness&&{business:isBusiness}},resource:"shipping_address"})},errorClassName,errors,resetField:name=>{resetForm({currentTarget:ref.current},name)}};return _jsx(ShippingAddressFormContext.Provider,{value:providerValues,children:_jsx("form",{ref,autoComplete,...p,children})})}export default ShippingAddressForm;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import CommerceLayerContext from"../../context/CommerceLayerContext";import ErrorBoundary from"../utils/ErrorBoundary";export function CommerceLayer(props){const{children,...p}=props;return _jsx(ErrorBoundary,{children:_jsx(CommerceLayerContext.Provider,{value:{...p},children})})}export default CommerceLayer;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import AddressesContext from"../../context/AddressContext";import{useRapidForm}from"rapid-form";import{useContext,useEffect,useRef}from"react";import CustomerAddressFormContext from"../../context/CustomerAddressFormContext";import OrderContext from"../../context/OrderContext";import isEmptyStates from"../../utils/isEmptyStates";export function CustomerAddressForm(props){const{children,errorClassName,autoComplete="on",reset=!1,...p}=props,{validation,values,errors,reset:resetForm}=useRapidForm(),{setAddressErrors,setAddress}=useContext(AddressesContext),{order}=useContext(OrderContext),ref=useRef(null);useEffect(()=>{if(Object.keys(errors).length>0){const formErrors=[];for(const fieldName in errors){const code=errors[fieldName]?.code,message=errors[fieldName]?.message||"";fieldName==="billing_address_state_code"?values.state_code?delete errors[fieldName]:formErrors.push({code,message,resource:"billing_address",field:fieldName}):formErrors.push({code,message,resource:"billing_address",field:fieldName})}setAddressErrors(formErrors,"billing_address")}else if(Object.keys(values).length>0){setAddressErrors([],"billing_address");for(const name in values){const field=values[name];if(field?.value&&(values[name.replace("billing_address_","")]=field.value,delete values[name]),["billing_address_state_code"].includes(name)){const countryCode=values.billing_address_country_code?.value||values.country_code;!isEmptyStates(countryCode)&&!field.value&&delete values.billing_address_state_code}}setAddress({values,resource:"billing_address"})}reset&&(Object.keys(values).length>0||Object.keys(errors).length>0)&&ref&&(ref.current?.reset(),resetForm({target:ref.current}),setAddressErrors([],"billing_address"),setAddress({values:{},resource:"billing_address"}))},[errors,values,reset]);const providerValues={values,validation,setValue:(name,value)=>{const field={[name.replace("billing_address_","")]:value};setAddress({values:{...values,...field},resource:"billing_address"})},errorClassName,requiresBillingInfo:order?.requires_billing_info||!1,errors,resetField:name=>{resetForm({currentTarget:ref.current},name)}};return _jsx(CustomerAddressFormContext.Provider,{value:providerValues,children:_jsx("form",{ref,autoComplete,...p,children})})}export default CustomerAddressForm;
@@ -1 +1,2 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useReducer,useMemo}from"react";import customerReducer,{customerInitialState,getCustomerAddresses,getCustomerOrders,getCustomerPaymentSources,setCustomerEmail,setCustomerErrors,deleteCustomerAddress,createCustomerAddress,saveCustomerUser,getCustomerPayments,getCustomerSubscriptions}from"../../reducers/CustomerReducer";import OrderContext from"../../context/OrderContext";import CommerceLayerContext from"../../context/CommerceLayerContext";import CustomerContext from"../../context/CustomerContext";export function CustomerContainer(props){const{children,isGuest=!1}=props,[state,dispatch]=useReducer(customerReducer,customerInitialState),{order,addResourceToInclude,include,updateOrder,includeLoaded,withoutIncludes}=useContext(OrderContext),config=useContext(CommerceLayerContext);useEffect(()=>{!include?.includes("available_customer_payment_sources.payment_source")&&!isGuest?addResourceToInclude({newResource:"available_customer_payment_sources.payment_source"}):!includeLoaded?.["available_customer_payment_sources.payment_source"]&&!isGuest&&addResourceToInclude({newResourceLoaded:{"available_customer_payment_sources.payment_source":!0}})},[include?.length,Object.keys(includeLoaded??{}).length]),useEffect(()=>{if(config.accessToken&&state.addresses==null&&!isGuest&&getCustomerAddresses({config,dispatch,isOrderAvailable:withoutIncludes!=null}),order?.available_customer_payment_sources&&!isGuest&&getCustomerPaymentSources({dispatch,order}),config.accessToken&&order==null&&include==null&&includeLoaded==null&&!isGuest){async function getCustomerData(){await getCustomerOrders({config,dispatch}),await getCustomerSubscriptions({config,dispatch}),await getCustomerPayments({config,dispatch})}getCustomerData()}},[config.accessToken,order,isGuest]);const contextValue=useMemo(()=>({isGuest,...state,saveCustomerUser:async customerEmail=>{await saveCustomerUser({config,customerEmail,dispatch,updateOrder,order})},setCustomerErrors:errors=>{setCustomerErrors(errors,dispatch)},setCustomerEmail:customerEmail=>{setCustomerEmail(customerEmail,dispatch)},getCustomerPaymentSources:()=>{getCustomerPaymentSources({dispatch,order})},deleteCustomerAddress:async({customerAddressId})=>{await deleteCustomerAddress({customerAddressId,dispatch,config,addresses:state.addresses})},createCustomerAddress:async address=>{await createCustomerAddress({address,config,dispatch,state})},getCustomerOrders:async({pageNumber,pageSize})=>{await getCustomerOrders({config,dispatch,pageNumber,pageSize})}}),[state,isGuest]);return _jsx(CustomerContext.Provider,{value:contextValue,children})}export default CustomerContainer;
1
+ "use client";
2
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useReducer,useMemo}from"react";import customerReducer,{customerInitialState,getCustomerAddresses,getCustomerOrders,getCustomerPaymentSources,setCustomerEmail,setCustomerErrors,deleteCustomerAddress,createCustomerAddress,saveCustomerUser,getCustomerPayments,getCustomerSubscriptions}from"../../reducers/CustomerReducer";import OrderContext from"../../context/OrderContext";import CommerceLayerContext from"../../context/CommerceLayerContext";import CustomerContext from"../../context/CustomerContext";export function CustomerContainer(props){const{children,isGuest=!1}=props,[state,dispatch]=useReducer(customerReducer,customerInitialState),{order,addResourceToInclude,include,updateOrder,includeLoaded,withoutIncludes}=useContext(OrderContext),config=useContext(CommerceLayerContext);useEffect(()=>{!include?.includes("available_customer_payment_sources.payment_source")&&!isGuest?addResourceToInclude({newResource:"available_customer_payment_sources.payment_source"}):!includeLoaded?.["available_customer_payment_sources.payment_source"]&&!isGuest&&addResourceToInclude({newResourceLoaded:{"available_customer_payment_sources.payment_source":!0}})},[include?.length,Object.keys(includeLoaded??{}).length]),useEffect(()=>{if(config.accessToken&&state.addresses==null&&!isGuest&&getCustomerAddresses({config,dispatch,isOrderAvailable:withoutIncludes!=null}),order?.available_customer_payment_sources&&!isGuest&&getCustomerPaymentSources({dispatch,order}),config.accessToken&&order==null&&include==null&&includeLoaded==null&&withoutIncludes===void 0&&!isGuest){async function getCustomerData(){await getCustomerOrders({config,dispatch}),await getCustomerSubscriptions({config,dispatch}),await getCustomerPayments({config,dispatch})}getCustomerData()}},[config.accessToken,order?.payment_source!=null,isGuest]);const contextValue=useMemo(()=>({isGuest,...state,saveCustomerUser:async customerEmail=>{await saveCustomerUser({config,customerEmail,dispatch,updateOrder,order})},setCustomerErrors:errors=>{setCustomerErrors(errors,dispatch)},setCustomerEmail:customerEmail=>{setCustomerEmail(customerEmail,dispatch)},getCustomerPaymentSources:()=>{getCustomerPaymentSources({dispatch,order})},deleteCustomerAddress:async({customerAddressId})=>{await deleteCustomerAddress({customerAddressId,dispatch,config,addresses:state.addresses})},createCustomerAddress:async address=>{await createCustomerAddress({address,config,dispatch,state})},getCustomerOrders:async({pageNumber,pageSize})=>{await getCustomerOrders({config,dispatch,pageNumber,pageSize})}}),[state,isGuest]);return _jsx(CustomerContext.Provider,{value:contextValue,children})}export default CustomerContainer;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import GenericFieldComponent from"../utils/GenericFieldComponent";import CustomerContext from"../../context/CustomerContext";export function CustomerField(props){const{attribute,tagElement="span",children,...p}=props;return _jsx(GenericFieldComponent,{resource:"customers",attribute,tagElement,context:CustomerContext,...p,children})}export default CustomerField;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useEffect,useState}from"react";import BaseInput from"../utils/BaseInput";import{useRapidForm}from"rapid-form";import CustomerContext from"../../context/CustomerContext";export function CustomerInput(props){const{name="customer_email",placeholder="",required=!0,saveOnBlur=!1,type="email",value,onBlur,className,errorClassName,...p}=props,{validation,values,errors}=useRapidForm({fieldEvent:"blur"}),{saveCustomerUser,setCustomerErrors,setCustomerEmail}=useContext(CustomerContext),[hasError,setHasError]=useState(!1),handleOnBlur=async()=>{saveOnBlur&&Object.keys(errors).length===0&&Object.keys(values).length>0&&saveCustomerUser!=null&&(await saveCustomerUser(values[name].value),onBlur&&onBlur(values[name].value))};useEffect(()=>{if(Object.keys(errors).length>0){const formErrors=[];for(const fieldName in errors){const code=errors[fieldName]?.code,message=errors[fieldName]?.message;formErrors.push({code,message:message||"",resource:"orders",field:fieldName})}formErrors.length>0&&(setHasError(!0),setCustomerErrors&&setCustomerErrors(formErrors))}else Object.keys(values).length>0&&(setCustomerErrors&&setCustomerErrors([]),setCustomerEmail&&setCustomerEmail(values[name].value),setHasError(!1));return()=>{setHasError(!1)}},[errors]);const classNameComputed=`${className??""} ${hasError&&errorClassName?errorClassName:""}`;return _jsx(BaseInput,{name,type,ref:validation,required,placeholder,defaultValue:value,onBlur:()=>{handleOnBlur()},className:classNameComputed,...p})}export default CustomerInput;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import CustomerContext from"../../context/CustomerContext";import CustomerPaymentSourceContext from"../../context/CustomerPaymentSourceContext";import getCardDetails from"../../utils/getCardDetails";import useCustomContext from"../../utils/hooks/useCustomContext";import{useEffect,useState}from"react";export function CustomerPaymentSource({children,loader="Loading..."}){const[loading,setLoading]=useState(!0),{payments}=useCustomContext({context:CustomerContext,contextComponentName:"CustomerContainer",currentComponentName:"CustomerPaymentSource",key:"payments"});useEffect(()=>(payments!=null&&setLoading(!1),()=>{setLoading(!0)}),[payments!=null]);const provider=payments?.filter(p=>p?.payment_source!=null).map(p=>{const paymentType=p.payment_source?.type,value={...getCardDetails({paymentType,customerPayment:p})};return _jsx(CustomerPaymentSourceContext.Provider,{value,children},p.id)});return loading?_jsx(_Fragment,{children:loader}):_jsx(_Fragment,{children:provider})}export default CustomerPaymentSource;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";import CustomerContext from"../../context/CustomerContext";import useCustomContext from"../../utils/hooks/useCustomContext";export function CustomerPaymentSourceEmpty({children,emptyText="No payments available",...p}){const{payments}=useCustomContext({context:CustomerContext,contextComponentName:"CustomerContainer",currentComponentName:"CustomerPaymentSourceEmpty",key:"payments"}),parentProps={emptyText,...p};return payments!=null&&payments.length>0||payments===null?null:children!==void 0?_jsx(Parent,{...parentProps,children}):_jsx("span",{...p,children:emptyText})}export default CustomerPaymentSourceEmpty;
@@ -0,0 +1,23 @@
1
+ import { type ChildrenFunction } from '../../typings/index';
2
+ interface ChildrenProps extends Omit<Props, 'children'> {
3
+ /**
4
+ * The link href
5
+ */
6
+ href: string;
7
+ /**
8
+ * The link status
9
+ */
10
+ disabled: boolean;
11
+ }
12
+ interface Props extends Omit<JSX.IntrinsicElements['a'], 'children'> {
13
+ /**
14
+ * A render function to render your own custom component
15
+ */
16
+ children?: ChildrenFunction<ChildrenProps>;
17
+ /**
18
+ * The label of the link
19
+ */
20
+ label?: string;
21
+ }
22
+ export declare function MyAccountLink(props: Props): JSX.Element;
23
+ export default MyAccountLink;
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import CommerceLayerContext from"../../context/CommerceLayerContext";import{getApplicationLink}from"../../utils/getApplicationLink";import{getDomain}from"../../utils/getDomain";import jwt from"../../utils/jwt";export function MyAccountLink(props){const{label="Go to my account",children,...p}=props,{accessToken,endpoint}=useContext(CommerceLayerContext);if(accessToken==null||endpoint==null)throw new Error("Cannot use `MyAccountLink` outside of `CommerceLayer`");const{domain,slug}=getDomain(endpoint),disabled=!("owner"in jwt(accessToken)),href=getApplicationLink({slug,accessToken,applicationType:"my-account",domain}),parentProps={disabled,label,href,...p};function handleClick(e){disabled&&e.preventDefault()}return children?_jsx(Parent,{...parentProps,children}):_jsx("a",{"aria-disabled":disabled,onClick:handleClick,href,...p,children:label})}export default MyAccountLink;
@@ -0,0 +1,35 @@
1
+ import { type ChildrenFunction } from '../../typings/index';
2
+ interface ChildrenProps extends Omit<Props, 'children'> {
3
+ /**
4
+ * The link href
5
+ */
6
+ href: string;
7
+ }
8
+ interface Props extends Omit<JSX.IntrinsicElements['a'], 'children'> {
9
+ /**
10
+ * A render function to render your own custom component
11
+ */
12
+ children?: ChildrenFunction<ChildrenProps>;
13
+ /**
14
+ * The label of the link
15
+ */
16
+ label: string;
17
+ /**
18
+ * The type of the link
19
+ */
20
+ type: 'login' | 'signup';
21
+ /**
22
+ * The client id of the Commerce Layer application
23
+ */
24
+ clientId: string;
25
+ /**
26
+ * The scope of the Commerce Layer application
27
+ */
28
+ scope: string;
29
+ /**
30
+ * The return url to redirect the user after the login/signup
31
+ */
32
+ returnUrl?: string;
33
+ }
34
+ export declare function MyIdentityLink(props: Props): JSX.Element;
35
+ export default MyIdentityLink;
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import CommerceLayerContext from"../../context/CommerceLayerContext";import{getApplicationLink}from"../../utils/getApplicationLink";import{getDomain}from"../../utils/getDomain";export function MyIdentityLink(props){const{label,children,type,clientId,scope,returnUrl,...p}=props,{accessToken,endpoint}=useContext(CommerceLayerContext);if(accessToken==null||endpoint==null)throw new Error("Cannot use `MyIdentityLink` outside of `CommerceLayer`");const{domain,slug}=getDomain(endpoint),href=getApplicationLink({slug,accessToken,applicationType:"identity",domain,modeType:type,clientId,scope,returnUrl:returnUrl??window.location.href}),parentProps={label,href,clientId,scope,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx("a",{href,...p,children:label})}export default MyIdentityLink;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import isEmpty from"lodash/isEmpty";import CustomerContext from"../../context/CustomerContext";export function SaveCustomerButton(props){const{children,label="Save",resource,disabled,onClick,...p}=props,{errors,saveCustomerUser,customerEmail}=useContext(CustomerContext),disable=disabled||!isEmpty(errors)||isEmpty(customerEmail),handleClick=async()=>{isEmpty(errors)&&!disable&&(saveCustomerUser&&await saveCustomerUser(customerEmail),onClick&&onClick())},parentProps={...p,label,resource,handleClick,disabled:disable};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{type:"button",disabled:disable,onClick:()=>{handleClick()},...p,children:label})}export default SaveCustomerButton;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useContext,useMemo}from"react";import Parent from"../utils/Parent";import GiftCardContext from"../../context/GiftCardContext";import OrderContext from"../../context/OrderContext";import AddressContext from"../../context/AddressContext";import getAllErrors from"../utils/getAllErrors";import LineItemContext from"../../context/LineItemContext";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import CustomerContext from"../../context/CustomerContext";import PaymentMethodContext from"../../context/PaymentMethodContext";import PaymentMethodChildrenContext from"../../context/PaymentMethodChildrenContext";import ShipmentContext from"../../context/ShipmentContext";import InStockSubscriptionContext from"../../context/InStockSubscriptionContext";export function Errors(props){const{children,messages=[],resource,field,...p}=props,{payment}=useContext(PaymentMethodChildrenContext),{errors:orderErrors}=useContext(OrderContext),{errors:giftCardErrors}=useContext(GiftCardContext),{errors:lineItemErrors}=useContext(LineItemContext),{errors:addressErrors}=useContext(AddressContext),{errors:customerErrors}=useContext(CustomerContext),{errors:shipmentErrors}=useContext(ShipmentContext),{errors:inStockSubscriptionErrors}=useContext(InStockSubscriptionContext),{errors:paymentMethodErrors,currentPaymentMethodType,currentPaymentMethodId}=useContext(PaymentMethodContext),{lineItem}=useContext(LineItemChildrenContext),allErrors=useMemo(()=>[...giftCardErrors||[],...orderErrors||[],...lineItemErrors||[],...addressErrors||[],...customerErrors||[],...shipmentErrors||[],...inStockSubscriptionErrors||[],...paymentMethodErrors?.filter(v=>v.field===currentPaymentMethodType&&payment?.id===currentPaymentMethodId)||[]],[giftCardErrors,orderErrors,lineItemErrors,addressErrors,customerErrors,shipmentErrors,inStockSubscriptionErrors,paymentMethodErrors]).filter((v,k,a)=>v?.code!==a[k-1]?.code),msgErrors=getAllErrors({allErrors,field,messages,props:p,lineItem,resource,returnHtml:!children}),parentProps={messages,resource,field,errors:msgErrors,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx(_Fragment,{children:msgErrors})}export default Errors;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useRef,useContext}from"react";import validateFormFields from"../../utils/validateFormFields";import isEmpty from"lodash/isEmpty";import GiftCardContext from"../../context/GiftCardContext";export function GiftCard(props){const{children,onSubmit}=props,name="giftCardForm",ref=useRef(null),{addGiftCard,addGiftCardError}=useContext(GiftCardContext);return _jsx(_Fragment,{children:_jsx("form",{name,ref,onSubmit:e=>{e.preventDefault();const currentForm=ref.current,elements=currentForm?.elements,{errors,values}=validateFormFields(elements,["currencyCode","balanceCents"],"gift_cards");isEmpty(errors)?(addGiftCard(values),currentForm?.reset(),onSubmit&&onSubmit(values)):addGiftCardError(errors)},children},name)})}export default GiftCard;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useReducer,useContext}from"react";import GiftCardContext from"../../context/GiftCardContext";import CommerceLayerContext from"../../context/CommerceLayerContext";import giftCardReducer,{giftCardInitialState,addGiftCardRecipient,addGiftCard,addGiftCardError,addGiftCardLoading}from"../../reducers/GiftCardReducer";import OrderContext from"../../context/OrderContext";export function GiftCardContainer(props){const{children}=props,[state,dispatch]=useReducer(giftCardReducer,giftCardInitialState),config=useContext(CommerceLayerContext),{getOrder,createOrder,order}=useContext(OrderContext),giftCardValue={...state,addGiftCardRecipient:async values=>{await addGiftCardRecipient(values,config,dispatch)},addGiftCard:async values=>{await addGiftCard({...values},{config,dispatch,getOrder,createOrder,order})},addGiftCardError:errors=>{addGiftCardError(errors,dispatch)},addGiftCardLoading:loading=>{addGiftCardLoading(loading,dispatch)}};return _jsx(GiftCardContext.Provider,{value:giftCardValue,children})}export default GiftCardContainer;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import BaseSelect from"../utils/BaseSelect";import currencyOptions from"../../config/currency";export function GiftCardCurrencySelector(props){return _jsx(BaseSelect,{options:currencyOptions,name:"currencyCode",...props})}export default GiftCardCurrencySelector;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import BaseInput from"../utils/BaseInput";export function GiftCardInput(props){const{placeholder="",...p}=props;return _jsx(BaseInput,{placeholder,...p})}export default GiftCardInput;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";import has from"lodash/has";import isEmpty from"lodash/isEmpty";export function GiftCardOrCouponCode({children,type,...props}){const{order}=useContext(OrderContext);let codeType=type&&`${type}_code`;!type&&order&&has(order,"coupon_code")&&!isEmpty(order.coupon_code)?codeType="coupon_code":type||(codeType="gift_card_code");const code=order&&codeType?order[codeType]:"",hide=!(order&&code),parentProps={...props,code,hide,discountAmountCents:order?.discount_amount_cents,discountAmountFloat:order?.discount_amount_float,formattedDiscountAmount:order?.formatted_discount_amount};return children?_jsx(Parent,{...parentProps,children}):hide?null:_jsx("span",{...props,children:code})}export default GiftCardOrCouponCode;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useRapidForm}from"rapid-form";import{useContext,useEffect,useRef,useState}from"react";import CouponAndGiftCardFormContext from"../../context/CouponAndGiftCardFormContext";import OrderContext from"../../context/OrderContext";import isEmpty from"lodash/isEmpty";import camelCase from"lodash/camelCase";import dropWhile from"lodash/dropWhile";import has from"lodash/has";import findIndex from"lodash/findIndex";export function GiftCardOrCouponForm(props){const{children,autoComplete="on",onSubmit,...p}=props,{validation,values,reset}=useRapidForm(),[codeType,setCodeType]=useState("gift_card_or_coupon_code"),{setGiftCardOrCouponCode,order,errors,setOrderErrors}=useContext(OrderContext),ref=useRef(null),inputName="gift_card_or_coupon_code";useEffect(()=>{if(values[inputName]?.value===""&&findIndex(errors,{field:camelCase(inputName)})!==-1){const err=dropWhile(errors,i=>i.field===camelCase(inputName));setOrderErrors(err),onSubmit&&onSubmit({value:values[inputName]?.value,success:!1})}values[inputName]?.value===""&&(setOrderErrors([]),onSubmit&&onSubmit({value:values[inputName]?.value,success:!1}))},[values]),useEffect(()=>{order?.gift_card_code&&!order?.coupon_code&&setCodeType("coupon_code"),!order?.gift_card_code&&order?.coupon_code&&setCodeType("gift_card_code"),!order?.gift_card_code&&!order?.coupon_code&&setCodeType("gift_card_or_coupon_code")},[order]);const handleSubmit=async e=>{e.preventDefault();const code=has(values,inputName)?values[inputName].value:void 0;if(code!=null&&setGiftCardOrCouponCode!=null){const{success,order:order2}=await setGiftCardOrCouponCode({code,codeType}),value=values[inputName]?.value;onSubmit&&onSubmit({success,value,order:order2}),success&&reset(e)}};return order?.gift_card_code&&order?.coupon_code||isEmpty(order)?null:_jsx(CouponAndGiftCardFormContext.Provider,{value:{validation,codeType},children:_jsx("form",{ref,autoComplete,onSubmit:e=>{handleSubmit(e)},...p,children})})}export default GiftCardOrCouponForm;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import BaseInput from"../utils/BaseInput";import CouponAndGiftCardFormContext from"../../context/CouponAndGiftCardFormContext";export function GiftCardOrCouponInput(props){const{placeholder="",required,value,placeholderTranslation,...p}=props,{validation,codeType}=useContext(CouponAndGiftCardFormContext);let placeholderLabel=placeholder;return placeholderTranslation&&codeType&&(placeholderLabel=placeholderTranslation(codeType)),_jsx(BaseInput,{type:"text",name:"gift_card_or_coupon_code",ref:validation,required:required!==void 0?required:!0,placeholder:placeholderLabel,defaultValue:value,...p})}export default GiftCardOrCouponInput;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import Parent from"../utils/Parent";import OrderContext from"../../context/OrderContext";export function GiftCardOrCouponRemoveButton(props){const{children,label="Remove",onClick,type,...p}=props,{order,removeGiftCardOrCouponCode}=useContext(OrderContext);let codeType=type?`${type}_code`:void 0;!type&&order&&"coupon_code"in order&&order.coupon_code!=null?codeType="coupon_code":type||(codeType="gift_card_code");const code=order&&codeType?order[codeType]:"",hide=!(order&&code),handleClick=async()=>{if(codeType!=null&&removeGiftCardOrCouponCode!=null){const response=await removeGiftCardOrCouponCode({codeType});onClick!=null&&response!=null&&onClick(response)}},parentProps={...p,label,handleClick,codeType};return children?_jsx(Parent,{...parentProps,children}):hide?null:_jsx("button",{type:"button",onClick:()=>{handleClick()},...p,children:label})}export default GiftCardOrCouponRemoveButton;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";export function GiftCardOrCouponSubmit(props){const{children,label="Submit",...p}=props,parentProps={...p,label};return children?_jsx(Parent,{...parentProps,children}):_jsx("button",{type:"submit",...p,children:label})}export default GiftCardOrCouponSubmit;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import Parent from"../utils/Parent";import CommerceLayerContext from"../../context/CommerceLayerContext";import InStockSubscriptionContext from"../../context/InStockSubscriptionContext";import useCustomContext from"../../utils/hooks/useCustomContext";import jwt from"../../utils/jwt";import{useContext,useState}from"react";export function InStockSubscriptionButton({skuCode,customerEmail,children,onClick,show=!1,label="Subscribe",loadingLabel="Loading...",...props}){const{setInStockSubscription}=useCustomContext({context:InStockSubscriptionContext,contextComponentName:"InStockSubscriptionsContainer",currentComponentName:"InStockSubscriptionButton",key:"setInStockSubscription"}),{accessToken}=useContext(CommerceLayerContext),[loading,setLoading]=useState(!1),handleClick=async()=>{if(accessToken!=null&&customerEmail==null&&jwt(accessToken)?.owner==null){console.error("Missing customerEmail");return}if(setInStockSubscription==null){console.error("Missing <InStockSubscriptionsContainer>");return}setLoading(!0);const res=await setInStockSubscription({customerEmail,skuCode});onClick?.(res),setLoading(!1)};if(children!=null){const parentProps={skuCode,customerEmail,onClick,show,label,loadingLabel,...props};return _jsx(Parent,{...parentProps,children})}return show?_jsx("button",{onClick:()=>{handleClick()},disabled:loading,...props,children:loading?loadingLabel:label}):null}export default InStockSubscriptionButton;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import CommerceLayerContext from"../../context/CommerceLayerContext";import InStockSubscriptionContext from"../../context/InStockSubscriptionContext";import inStockSubscriptionReducer,{inStockSubscriptionInitialState,setInStockSubscription}from"../../reducers/InStockSubscriptionReducer";import useCustomContext from"../../utils/hooks/useCustomContext";import{useReducer}from"react";export function InStockSubscriptionsContainer({children}){const config=useCustomContext({context:CommerceLayerContext,contextComponentName:"CommerceLayer",currentComponentName:"InStockSubscriptionsContainer",key:"accessToken"}),[state,dispatch]=useReducer(inStockSubscriptionReducer,inStockSubscriptionInitialState),value={...state,setInStockSubscription:async({customerEmail,skuCode})=>await setInStockSubscription({customerEmail,skuCode,config,dispatch})};return _jsx(InStockSubscriptionContext.Provider,{value,children})}export default InStockSubscriptionsContainer;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useContext}from"react";import LineItemContext from"../../context/LineItemContext";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import ShipmentChildrenContext from"../../context/ShipmentChildrenContext";export function LineItem(props){const{type="skus",children}=props,{lineItems}=useContext(LineItemContext),{lineItems:shipmentLineItems}=useContext(ShipmentChildrenContext),components=(shipmentLineItems&&shipmentLineItems?.length>0?shipmentLineItems:lineItems)?.filter(l=>l?.item_type===type).map((lineItem,k,check)=>{if(lineItem?.item_type==="bundles"&&k>0&&check[k-1]?.bundle_code===lineItem.bundle_code||lineItem?.item_type==="gift_cards"&&lineItem?.total_amount_cents&&lineItem?.total_amount_cents<=0)return null;const lineProps={lineItem};return _jsx(LineItemChildrenContext.Provider,{value:lineProps,children},lineItem?.id)});return _jsx(_Fragment,{children:components})}export default LineItem;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect,useContext}from"react";import getAmount from"../../utils/getAmount";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import Parent from"../utils/Parent";export function LineItemAmount(props){const{format="formatted",type="total",...p}=props,{lineItem}=useContext(LineItemChildrenContext),[price,setPrice]=useState("");useEffect(()=>{if(lineItem){const p2=getAmount({base:"amount",type,format,obj:lineItem});setPrice(p2)}return()=>{setPrice("")}},[lineItem]);const parentProps={price,...p};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("span",{...p,children:price})}export default LineItemAmount;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import Parent from"../utils/Parent";export function LineItemCode({type="sku_code",children,...p}){const{lineItem}=useContext(LineItemChildrenContext),labelName=lineItem?.[type],parentProps={lineItem,skuCode:labelName,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx("p",{...p,children:labelName})}export default LineItemCode;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import GenericFieldComponent from"../utils/GenericFieldComponent";export function LineItemField(props){const{attribute,tagElement="span",children,...p}=props;return _jsx(GenericFieldComponent,{resource:"lineItem",attribute,tagElement,context:LineItemChildrenContext,...p,children})}export default LineItemField;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import{defaultGiftCardImgUrl,defaultImgUrl}from"../../utils/placeholderImages";import Parent from"../utils/Parent";export function LineItemImage(props){const{placeholder,children,...p}=props,{lineItem}=useContext(LineItemChildrenContext),itemType=lineItem?.item_type;let src=lineItem?.image_url;src||(placeholder?.[itemType]?src=placeholder?.[itemType]:src=itemType==="gift_cards"?defaultGiftCardImgUrl:defaultImgUrl);const parenProps={lineItem,src,placeholder,...p};return children?_jsx(Parent,{...parenProps,children}):src?_jsx("img",{"data-testid":`line-item-image-${lineItem?.sku_code??""}`,alt:lineItem?.name??"",src,...p}):null}export default LineItemImage;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import Parent from"../utils/Parent";export function LineItemName(props){const{lineItem}=useContext(LineItemChildrenContext),label=lineItem?.name,parentProps={label,lineItem,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("p",{"data-testid":`line-item-name-${lineItem?.sku_code??""}`,...props,children:label})}export default LineItemName;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext}from"react";import LineItemOptionChildrenContext from"../../context/LineItemOptionChildrenContext";import map from"lodash/map";import Parent from"../utils/Parent";import isJSON from"../../utils/isJSON";export function LineItemOption(props){const{name,children,valueClassName,key,tagElement="li",tagContainer="ul",...p}=props,{lineItemOption,showAll}=useContext(LineItemOptionChildrenContext),parentProps={...props,lineItemOption},TagElement=tagElement,TagContainer=tagContainer,label=name!=null?lineItemOption?.options?.[name]:"",components=showAll&&isJSON(JSON.stringify(lineItemOption?.options))?map(lineItemOption?.options,(value,key2)=>_jsxs(TagElement,{...p,children:[`${key2}:`,_jsx("span",{className:valueClassName,children:`${value}`})]},key2)):name!=null&&lineItemOption?.options!=null&&name in lineItemOption.options?_jsxs(TagElement,{...p,children:[`${name}:`,_jsx("span",{className:valueClassName,...p,children:label??""})]},key):null;return children?_jsx(Parent,{...parentProps,children:props.children}):_jsx(TagContainer,{children:components})}export default LineItemOption;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useContext}from"react";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import LineItemOptionChildrenContext from"../../context/LineItemOptionChildrenContext";export function LineItemOptions(props){const{skuOptionId,title,children,showName=!0,showAll,className,titleTagElement="h6",titleClassName,...p}=props,{lineItem}=useContext(LineItemChildrenContext),lineItemOptions=lineItem!=null?lineItem?.line_item_options||[]:[],TitleTagElement=titleTagElement,options=lineItemOptions.filter(o=>showAll?!0:o.skuOption().id===skuOptionId).map((o,k)=>{const showTitle=showName?_jsx(TitleTagElement,{className:titleClassName,children:title||o.name}):null,valueProps={lineItemOption:o,showAll};return _jsxs("div",{className,...p,children:[showTitle,_jsx(LineItemOptionChildrenContext.Provider,{value:valueProps,children})]},k)});return _jsx(_Fragment,{children:options})}export default LineItemOptions;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import LineItemContext from"../../context/LineItemContext";import Parent from"../utils/Parent";export function LineItemQuantity(props){const{max=50,readonly=!1,...p}=props,{lineItem}=useContext(LineItemChildrenContext),{updateLineItem}=useContext(LineItemContext),options=[];for(let i=1;i<=max;i++)options.push(_jsx("option",{value:`${i}`,children:i},i));const handleChange=e=>{const quantity2=Number(e.target.value);updateLineItem&&lineItem&&updateLineItem(lineItem.id,quantity2)},quantity=lineItem?.quantity,parentProps={handleChange,quantity,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):readonly?_jsx("span",{...p,children:quantity}):_jsx("select",{"data-testid":lineItem?.sku_code,title:lineItem?.name??"",value:quantity,onChange:handleChange,...p,children:options})}export default LineItemQuantity;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext}from"react";import LineItemChildrenContext from"../../context/LineItemChildrenContext";import LineItemContext from"../../context/LineItemContext";import Parent from"../utils/Parent";import useCustomContext from"../../utils/hooks/useCustomContext";export function LineItemRemoveLink(props){const{label="Remove",onClick}=props,{lineItem}=useCustomContext({context:LineItemChildrenContext,contextComponentName:"LineItem",currentComponentName:"LineItemRemoveLink",key:"lineItem"}),{deleteLineItem}=useContext(LineItemContext),handleRemove=e=>{e.preventDefault(),deleteLineItem!=null&&lineItem!=null&&deleteLineItem(lineItem.id),onClick?.(e)},parentProps={handleRemove,...props};return props.children?_jsx(Parent,{...parentProps,children:props.children}):_jsx("a",{"data-testid":`line-item-remove-link-${lineItem?.sku_code??""}`,...props,href:"#",onClick:handleRemove,children:label})}export default LineItemRemoveLink;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext}from"react";import lineItemReducer,{lineItemInitialState,updateLineItem,deleteLineItem}from"../../reducers/LineItemReducer";import OrderContext from"../../context/OrderContext";import LineItemContext from"../../context/LineItemContext";import CommerceLayerContext from"../../context/CommerceLayerContext";export function LineItemsContainer(props){const{children,loader="Loading..."}=props,{order,addResourceToInclude,include,orderId,getOrder,includeLoaded}=useContext(OrderContext),config=useContext(CommerceLayerContext),[state,dispatch]=useReducer(lineItemReducer,lineItemInitialState);useEffect(()=>{include?.includes("line_items.line_item_options.sku_option")?includeLoaded?.["line_items.line_item_options.sku_option"]||addResourceToInclude({newResourceLoaded:{"line_items.line_item_options.sku_option":!0}}):addResourceToInclude({newResource:["line_items.line_item_options.sku_option"]}),include?.includes("line_items.item")?includeLoaded?.["line_items.item"]||addResourceToInclude({newResourceLoaded:{"line_items.item":!0}}):addResourceToInclude({newResource:["line_items.item"]})},[include,includeLoaded]),useEffect(()=>{order?.line_items&&dispatch({type:"setLineItems",payload:{lineItems:order.line_items}})},[order?.line_items]);const lineItemValue={...state,loader,updateLineItem:async(lineItemId,quantity=1)=>{await updateLineItem({lineItemId,quantity,dispatch,config,getOrder,orderId,errors:state.errors})},deleteLineItem:async lineItemId=>{await deleteLineItem({lineItemId,dispatch,config,getOrder,orderId,errors:state.errors})}};return _jsx(LineItemContext.Provider,{value:lineItemValue,children:state.loading?loader:children})}export default LineItemsContainer;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useState,useEffect}from"react";import Parent from"../utils/Parent";import getLineItemsCount from"../../utils/getLineItemsCount";import LineItemContext from"../../context/LineItemContext";export function LineItemsCount(props){const{children,typeAccepted,...p}=props,{lineItems}=useContext(LineItemContext),[quantity,setQuantity]=useState(0);useEffect(()=>{if(lineItems&&lineItems.length>0){const qty=getLineItemsCount({lineItems:lineItems||[],typeAccepted});setQuantity(qty)}return()=>{setQuantity(0)}},[lineItems,typeAccepted]);const parentProps={quantity,typeAccepted,...p};return children?_jsx(Parent,{...parentProps,children}):_jsx("span",{...p,children:quantity})}export default LineItemsCount;
@@ -1 +1,2 @@
1
+ "use client";
1
2
  import{jsx as _jsx}from"react/jsx-runtime";import{useContext,useState,useEffect}from"react";import Parent from"../utils/Parent";import getLineItemsCount from"../../utils/getLineItemsCount";import LineItemContext from"../../context/LineItemContext";export function LineItemsEmpty(props){const{children,text="Your shopping bag is empty",...p}=props,{lineItems}=useContext(LineItemContext),[quantity,setQuantity]=useState(),emptyText=quantity===0?_jsx("span",{...p,children:text}):null;useEffect(()=>{if(lineItems)if(lineItems.length>0){const qty=getLineItemsCount({lineItems:lineItems||[]});setQuantity(qty)}else setQuantity(0);return()=>{setQuantity(void 0)}},[lineItems]);const parentProps={quantity,text,...p};return children?_jsx(Parent,{...parentProps,children}):emptyText}export default LineItemsEmpty;