@meeovi/layer-commerce 1.0.10 → 1.0.13

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 (324) hide show
  1. package/app/components/catalog/product/ProductAccordion/ProductAccordion.vue +39 -0
  2. package/app/components/catalog/product/ProductAccordion/__tests__/ProductAccordion.spec.ts +15 -0
  3. package/app/components/catalog/product/ProductAccordion/types.ts +5 -0
  4. package/app/components/catalog/product/ProductProperties/ProductProperties.vue +50 -0
  5. package/app/components/catalog/product/ProductProperties/__tests__/ProductProperties.spec.ts +15 -0
  6. package/app/components/catalog/product/ProductProperties/types.ts +5 -0
  7. package/app/components/catalog/product/ProductSlider/ProductSlider.vue +28 -0
  8. package/app/components/catalog/product/ProductSlider/__tests__/ProductSlider.spec.ts +14 -0
  9. package/app/components/catalog/product/ProductSlider/types.ts +7 -0
  10. package/app/components/catalog/product/RecommendedProducts/RecommendedProducts.vue +12 -0
  11. package/app/components/catalog/product/RecommendedProducts/types.ts +5 -0
  12. package/app/components/catalog/product/RenderContentProductSlider/RenderContentProductSlider.vue +11 -0
  13. package/app/components/catalog/product/add-attribute.vue +54 -0
  14. package/app/components/catalog/product/add-product-type.vue +54 -0
  15. package/app/components/catalog/product/add-product.vue +53 -0
  16. package/app/components/catalog/product/add-showcase.vue +52 -0
  17. package/app/components/catalog/product/add-station.vue +54 -0
  18. package/app/components/catalog/product/bestsellers.vue +57 -0
  19. package/app/components/catalog/product/bidding.vue +93 -0
  20. package/app/components/catalog/product/colorOptions.vue +58 -0
  21. package/app/components/catalog/product/deals.vue +46 -0
  22. package/app/components/catalog/product/exclusives.vue +56 -0
  23. package/app/components/catalog/product/featuredproducts.vue +57 -0
  24. package/app/components/catalog/product/giftCard.vue +63 -0
  25. package/app/components/catalog/product/latestproducts.vue +46 -0
  26. package/app/components/catalog/product/productCard.vue +105 -0
  27. package/app/components/catalog/product/productCompare.vue +60 -0
  28. package/app/components/catalog/product/productCompareTable.vue +441 -0
  29. package/app/components/catalog/product/productDetails.vue +126 -0
  30. package/app/components/catalog/product/productFaqs.vue +17 -0
  31. package/app/components/catalog/product/productGallery.vue +16 -0
  32. package/app/components/catalog/product/productQty.vue +54 -0
  33. package/app/components/catalog/product/productReviews.vue +56 -0
  34. package/app/components/catalog/product/productSpecs.vue +116 -0
  35. package/app/components/catalog/product/radiostation.vue +36 -0
  36. package/app/components/catalog/product/recentlyviewed.vue +43 -0
  37. package/app/components/catalog/product/relatedbrands.vue +54 -0
  38. package/app/components/catalog/product/relatedproducts.vue +43 -0
  39. package/app/components/catalog/product/relatedstations.vue +40 -0
  40. package/app/components/catalog/product/shippingOptions.vue +41 -0
  41. package/app/components/catalog/product/sizeOptions.vue +42 -0
  42. package/app/components/catalog/product/update-attribute-set.vue +209 -0
  43. package/app/components/catalog/product/update-attribute.vue +118 -0
  44. package/app/components/catalog/product/update-product.vue +372 -0
  45. package/app/components/catalog/product/update-showcase.vue +153 -0
  46. package/app/components/catalog/shops/relatedstores.vue +37 -0
  47. package/app/components/catalog/shops/restaurant.vue +66 -0
  48. package/app/components/catalog/shops/stores.vue +44 -0
  49. package/app/components/catalog/vendor/README.md +3 -0
  50. package/app/components/catalog/vendor/blocks/biggestcustomers.vue +33 -0
  51. package/app/components/catalog/vendor/blocks/lowestselling.vue +33 -0
  52. package/app/components/catalog/vendor/blocks/topcategories.vue +33 -0
  53. package/app/components/catalog/vendor/blocks/topproducts.vue +27 -0
  54. package/app/components/catalog/vendor/pages/attributes.vue +43 -0
  55. package/app/components/catalog/vendor/pages/commissions.vue +43 -0
  56. package/app/components/catalog/vendor/pages/crm.vue +67 -0
  57. package/app/components/catalog/vendor/pages/dashboard.vue +46 -0
  58. package/app/components/catalog/vendor/pages/emails.vue +43 -0
  59. package/app/components/catalog/vendor/pages/enquiries.vue +43 -0
  60. package/app/components/catalog/vendor/pages/invoices.vue +43 -0
  61. package/app/components/catalog/vendor/pages/orders.vue +68 -0
  62. package/app/components/catalog/vendor/pages/products.vue +55 -0
  63. package/app/components/catalog/vendor/pages/reviews.vue +48 -0
  64. package/app/components/catalog/vendor/pages/shipments.vue +43 -0
  65. package/app/components/catalog/vendor/pages/stores.vue +43 -0
  66. package/app/components/categories/chart/[id].vue +200 -0
  67. package/app/components/categories/chart/add-chart.vue +142 -0
  68. package/app/components/categories/chart/chart.vue +82 -0
  69. package/app/components/categories/chart/monthlyChart.vue +46 -0
  70. package/app/components/categories/chart/weeklyChart.vue +46 -0
  71. package/app/components/categories/chart/yearlyChart.vue +46 -0
  72. package/app/components/categories/charts.vue +118 -0
  73. package/app/components/categories/deals.vue +101 -0
  74. package/app/components/categories/eats.vue +49 -0
  75. package/app/components/categories/restaurants.vue +26 -0
  76. package/app/components/categories/station/[id].vue +72 -0
  77. package/app/components/categories/stations.vue +124 -0
  78. package/app/components/categories/time/time.vue +63 -0
  79. package/app/components/categories/travel.vue +75 -0
  80. package/app/components/categories/weather/weather.vue +44 -0
  81. package/app/components/content/blocks/breadcrumbs.vue +0 -0
  82. package/app/components/content/blocks/currencySwitcher.vue +0 -0
  83. package/app/components/content/blocks/languageSwitcher.vue +0 -0
  84. package/app/components/content/blocks/videoproduct.vue +9 -0
  85. package/app/components/content/pages/checkout.vue +118 -0
  86. package/app/components/content/pages/meeoviGlobal.vue +68 -0
  87. package/app/components/content/pages/pickup-locations.vue +238 -0
  88. package/app/components/content/pages/showcases.vue +90 -0
  89. package/app/components/content/pages/success.vue +60 -0
  90. package/app/components/marketing/add-brand.vue +54 -0
  91. package/app/components/marketing/add-incentive.vue +54 -0
  92. package/app/components/marketing/promotions/giftcards.vue +102 -0
  93. package/app/components/marketing/promotions/subscriptions.vue +121 -0
  94. package/app/components/marketing/update-incentive.vue +326 -0
  95. package/app/components/menus/lowernav.vue +78 -0
  96. package/app/components/partials/LocaleSelector.vue +24 -0
  97. package/app/components/partials/ShoppingCart.vue +128 -0
  98. package/app/components/partials/StripePayment.vue +149 -0
  99. package/app/components/partials/addToCartBtn.vue +40 -0
  100. package/app/components/partials/cartItem.vue +124 -0
  101. package/app/components/partials/checkoutButton.vue +44 -0
  102. package/app/components/partials/compareBtn.vue +68 -0
  103. package/app/components/partials/ratings.vue +13 -0
  104. package/app/components/partials/store/CurrencySelector.vue +133 -0
  105. package/app/components/partials/store/StoreSwitcher.vue +13 -0
  106. package/app/components/placeholders/Comments.vue +15 -0
  107. package/app/components/placeholders/CreateListBtn.vue +7 -0
  108. package/app/components/placeholders/Event.vue +9 -0
  109. package/app/components/placeholders/ListShowcases.vue +9 -0
  110. package/app/components/placeholders/Short.vue +9 -0
  111. package/app/components/placeholders/Space.vue +9 -0
  112. package/app/components/placeholders/Tag.vue +7 -0
  113. package/app/components/related/brandCard.vue +41 -0
  114. package/app/components/related/incentiveCard.vue +44 -0
  115. package/app/components/related/invoiceCard.vue +43 -0
  116. package/app/components/related/orderCard.vue +43 -0
  117. package/app/components/related/relatedproducts.vue +17 -0
  118. package/app/components/sales/CartPageContent/CartPageContent.vue +37 -0
  119. package/app/components/sales/CheckoutAddress/CheckoutAddress.vue +50 -0
  120. package/app/components/sales/CheckoutAddress/__tests__/CheckoutAddress.spec.ts +16 -0
  121. package/app/components/sales/CheckoutAddress/types.ts +16 -0
  122. package/app/components/sales/CheckoutPayment/CheckoutPayment.vue +68 -0
  123. package/app/components/sales/CheckoutPayment/__tests__/CheckoutPayment.spec.ts +14 -0
  124. package/app/components/sales/CheckoutPayment/types.ts +12 -0
  125. package/app/components/sales/OrderSummary/OrderSummary.vue +57 -0
  126. package/app/components/sales/OrderSummary/__tests__/ContactInformation.spec.ts +52 -0
  127. package/app/components/sales/OrderSummary/types.ts +5 -0
  128. package/app/components/sales/incentives.vue +223 -0
  129. package/app/components/sales/invoices.vue +107 -0
  130. package/app/components/sales/orders.vue +378 -0
  131. package/app/components/sales/shipments.vue +65 -0
  132. package/app/components/sales/transactions.vue +109 -0
  133. package/app/components/shop/add-shop.vue +54 -0
  134. package/app/components/shop/cart/cartItem.vue +182 -0
  135. package/app/components/shop/cart/checkout.vue +415 -0
  136. package/app/components/shop/checkout/StripeCardElement.vue +206 -0
  137. package/app/components/shop/checkout/StripeCheckout.vue +49 -0
  138. package/app/components/shop/checkout/addressBilling.vue +263 -0
  139. package/app/components/shop/checkout/addressShipping.vue +175 -0
  140. package/app/components/shop/checkout/cart/ProductItem.vue +56 -0
  141. package/app/components/shop/checkout/cart/PromotionItem.vue +53 -0
  142. package/app/composables/_types.ts +18 -0
  143. package/app/composables/adapters/abstract/cartAdapter.ts +0 -0
  144. package/app/composables/adapters/abstract/categoryAdapter.ts +0 -0
  145. package/app/composables/adapters/abstract/customerAdapter.ts +0 -0
  146. package/app/composables/adapters/abstract/inventoryAdapter.ts +0 -0
  147. package/app/composables/adapters/abstract/orderAdapter.ts +0 -0
  148. package/app/composables/adapters/abstract/productAdapter.ts +7 -0
  149. package/app/composables/cart/registry.ts +20 -0
  150. package/app/composables/cart/types.ts +18 -0
  151. package/app/composables/cart/useCart.ts +15 -0
  152. package/app/composables/config.ts +19 -0
  153. package/app/composables/defs/apiDefinitions.ts +55 -0
  154. package/app/composables/defs/extension.feature +40 -0
  155. package/app/composables/defs/extension.mocks.ts +39 -0
  156. package/app/composables/defs/extension.test.ts +280 -0
  157. package/app/composables/defs/extension.ts +236 -0
  158. package/app/composables/defs/index.ts +3 -0
  159. package/app/composables/defs/types.ts +136 -0
  160. package/app/composables/domain/cart.ts +0 -0
  161. package/app/composables/domain/category.ts +0 -0
  162. package/app/composables/domain/order.ts +0 -0
  163. package/app/composables/domain/price.ts +0 -0
  164. package/app/composables/domain/product.ts +8 -0
  165. package/app/composables/domain/reward.ts +0 -0
  166. package/app/composables/domain/transactions.ts +0 -0
  167. package/app/composables/helpers/contextualizedNormalizers.feature +14 -0
  168. package/app/composables/helpers/contextualizedNormalizers.test.ts +85 -0
  169. package/app/composables/helpers/contextualizedNormalizers.ts +20 -0
  170. package/app/composables/helpers/index.ts +1 -0
  171. package/app/composables/index.ts +6 -0
  172. package/app/composables/methods/auth.ts +83 -0
  173. package/app/composables/methods/cart.ts +119 -0
  174. package/app/composables/methods/category.ts +27 -0
  175. package/app/composables/methods/checkout.ts +54 -0
  176. package/app/composables/methods/customer.ts +52 -0
  177. package/app/composables/methods/helpers.ts +5 -0
  178. package/app/composables/methods/index.ts +75 -0
  179. package/app/composables/methods/order.ts +39 -0
  180. package/app/composables/methods/product.ts +95 -0
  181. package/app/composables/methods/settings.ts +16 -0
  182. package/app/composables/models/cart.ts +95 -0
  183. package/app/composables/models/category.ts +13 -0
  184. package/app/composables/models/checkout.ts +17 -0
  185. package/app/composables/models/customer.ts +16 -0
  186. package/app/composables/models/facets.ts +25 -0
  187. package/app/composables/models/index.ts +94 -0
  188. package/app/composables/models/order.ts +43 -0
  189. package/app/composables/models/product.ts +73 -0
  190. package/app/composables/models/shared.ts +75 -0
  191. package/app/composables/products/registry.ts +20 -0
  192. package/app/composables/products/types.ts +13 -0
  193. package/app/composables/products/useEvents.ts +0 -0
  194. package/app/composables/products/useGiftCards.ts +0 -0
  195. package/app/composables/products/useProducts.ts +12 -0
  196. package/app/composables/products/useSubscriptions.ts +0 -0
  197. package/app/composables/registry.ts +21 -0
  198. package/app/composables/stores/cart.ts +218 -0
  199. package/app/composables/stores/cartStore.ts +300 -0
  200. package/app/composables/stores/checkout.ts +19 -0
  201. package/app/composables/stores/compare.ts +65 -0
  202. package/app/composables/stores/currency.js +29 -0
  203. package/app/composables/stores/digital-products.js +11 -0
  204. package/app/composables/stores/index.js +0 -0
  205. package/app/composables/stores/orders.ts +161 -0
  206. package/app/composables/stores/product.ts +26 -0
  207. package/app/composables/stores/productList.ts +0 -0
  208. package/app/composables/stores/productListInfo.ts +0 -0
  209. package/app/composables/stores/products.ts +112 -0
  210. package/app/composables/stores/recentlyViewedProducts.ts +0 -0
  211. package/app/composables/stores/review.ts +25 -0
  212. package/app/composables/stores/storeInPickUp.ts +22 -0
  213. package/app/composables/stores/user.ts +20 -0
  214. package/app/composables/stores/wishlist.ts +19 -0
  215. package/app/composables/types/Order.type.ts +181 -0
  216. package/app/composables/types/index.ts +285 -0
  217. package/app/composables/types/product.ts +14 -0
  218. package/app/composables/useBreakpoints/index.ts +1 -0
  219. package/app/composables/useBreakpoints/useBreakpoints.ts +28 -0
  220. package/app/composables/useCart/__tests__/useCart.spec.ts +11 -0
  221. package/app/composables/useCart/index.ts +1 -0
  222. package/app/composables/useCart/types.ts +17 -0
  223. package/app/composables/useCart/useCart.ts +46 -0
  224. package/app/composables/useCartShippingMethods/__tests__/useCartShippingMethods.spec.ts +11 -0
  225. package/app/composables/useCartShippingMethods/index.ts +1 -0
  226. package/app/composables/useCartShippingMethods/types.ts +17 -0
  227. package/app/composables/useCartShippingMethods/useCartShippingMethods.ts +47 -0
  228. package/app/composables/useCatalog.ts +64 -0
  229. package/app/composables/useContent/index.ts +1 -0
  230. package/app/composables/useContent/types.ts +44 -0
  231. package/app/composables/useContent/useContent.ts +45 -0
  232. package/app/composables/useContent.ts +57 -0
  233. package/app/composables/useCustomer/__tests__/useCustomer.spec.ts +25 -0
  234. package/app/composables/useCustomer/index.ts +2 -0
  235. package/app/composables/useCustomer/types.ts +17 -0
  236. package/app/composables/useCustomer/useCustomer.ts +40 -0
  237. package/app/composables/useCustomerAddress/__tests__/useCustomerAddress.spec.ts +11 -0
  238. package/app/composables/useCustomerAddress/index.ts +2 -0
  239. package/app/composables/useCustomerAddress/types.ts +17 -0
  240. package/app/composables/useCustomerAddress/useCustomerAddress.ts +55 -0
  241. package/app/composables/useCustomerOrder/__tests__/useCustomerOrder.spec.ts +11 -0
  242. package/app/composables/useCustomerOrder/adress.ts +10 -0
  243. package/app/composables/useCustomerOrder/index.ts +2 -0
  244. package/app/composables/useCustomerOrder/product.ts +37 -0
  245. package/app/composables/useCustomerOrder/types.ts +40 -0
  246. package/app/composables/useCustomerOrder/useCustomerOrder.ts +63 -0
  247. package/app/composables/useCustomerOrders/__tests__/useCustomerOrders.spec.ts +11 -0
  248. package/app/composables/useCustomerOrders/index.ts +2 -0
  249. package/app/composables/useCustomerOrders/types.ts +20 -0
  250. package/app/composables/useCustomerOrders/useCustomerOrders.ts +56 -0
  251. package/app/composables/useCustomerReturns/__tests__/useCustomerReturns.spec.ts +11 -0
  252. package/app/composables/useCustomerReturns/index.ts +2 -0
  253. package/app/composables/useCustomerReturns/types.ts +17 -0
  254. package/app/composables/useCustomerReturns/useCustomerReturns.ts +41 -0
  255. package/app/composables/useHandleError/index.ts +1 -0
  256. package/app/composables/useHandleError/types.ts +11 -0
  257. package/app/composables/useHandleError/useHandleError.ts +27 -0
  258. package/app/composables/usePageTitle.ts +16 -0
  259. package/app/composables/useProduct/index.ts +2 -0
  260. package/app/composables/useProduct/types.ts +17 -0
  261. package/app/composables/useProduct/useProduct.ts +42 -0
  262. package/app/composables/useProductAttribute/__tests__/useProduct.mock.ts +31 -0
  263. package/app/composables/useProductAttribute/__tests__/useProductAttribute.spec.ts +14 -0
  264. package/app/composables/useProductAttribute/index.ts +1 -0
  265. package/app/composables/useProductAttribute/useProductAttribute.ts +37 -0
  266. package/app/composables/useProductRecommended/__tests__/useProductRecommended.spec.ts +12 -0
  267. package/app/composables/useProductRecommended/index.ts +1 -0
  268. package/app/composables/useProductRecommended/types.ts +17 -0
  269. package/app/composables/useProductRecommended/useProductRecommended.ts +43 -0
  270. package/app/composables/useProductReviews/__tests__/productReviews.mock.ts +20 -0
  271. package/app/composables/useProductReviews/__tests__/useProductReviews.spec.ts +22 -0
  272. package/app/composables/useProductReviews/index.ts +2 -0
  273. package/app/composables/useProductReviews/types.ts +17 -0
  274. package/app/composables/useProductReviews/useProductReviews.ts +46 -0
  275. package/app/composables/useProducts/__tests__/useProducts.spec.ts +11 -0
  276. package/app/composables/useProducts/types.ts +22 -0
  277. package/app/composables/useProducts/useProducts.ts +41 -0
  278. package/app/composables/utils/countryList.ts +14 -0
  279. package/app/composables/utils/currency.js +56 -0
  280. package/app/composables/utils/glossary.ts +0 -0
  281. package/app/composables/utils/importExport.ts +0 -0
  282. package/app/composables/utils/index.js +0 -0
  283. package/app/composables/utils/print.ts +0 -0
  284. package/app/composables/utils/shopThemes.ts +0 -0
  285. package/app/composables/utils/statistics.ts +0 -0
  286. package/app/composables/utils/stock.ts +0 -0
  287. package/app/composables/utils/stripe.ts +16 -0
  288. package/app/composables/utils/taxation.ts +0 -0
  289. package/app/composables/utils/tellFriends.ts +0 -0
  290. package/app/composables/validationRules/index.ts +1 -0
  291. package/app/composables/validationRules/password.feature +67 -0
  292. package/app/composables/validationRules/password.test.ts +89 -0
  293. package/app/composables/validationRules/password.ts +25 -0
  294. package/app/composables/vendors/index.ts +0 -0
  295. package/app/composables/vendors/registry.ts +0 -0
  296. package/app/composables/vendors/useAffiliates.ts +0 -0
  297. package/app/composables/vendors/useCommission.ts +0 -0
  298. package/app/modules/vue-head/composables/useHead.ts +3 -0
  299. package/app/pages/brand/[...slug].vue +92 -0
  300. package/app/pages/brands.vue +90 -0
  301. package/app/pages/cart.vue +142 -0
  302. package/app/pages/compare.vue +166 -0
  303. package/app/pages/departments/[...slug].vue +385 -0
  304. package/app/pages/departments/category/[...slug].vue +135 -0
  305. package/app/pages/incentive/[...id].vue +66 -0
  306. package/app/pages/invoice/[id].vue +309 -0
  307. package/app/pages/order/[id].vue +327 -0
  308. package/app/pages/product/[...id].vue +309 -0
  309. package/app/pages/product/showcases/index.vue +86 -0
  310. package/app/pages/shipment/[...id].vue +176 -0
  311. package/app/pages/shop/[...slug].vue +158 -0
  312. package/app/pages/shops.vue +76 -0
  313. package/app/pages/subscription/[...id].vue +147 -0
  314. package/app/pages/transaction/[...id].vue +74 -0
  315. package/app/types/shims-imports.d.ts +13 -0
  316. package/app/utils/client.ts +26 -0
  317. package/app/utils/index.ts +53 -0
  318. package/app/utils/normalizer.ts +23 -0
  319. package/app/utils/normalizers/magento.ts +29 -0
  320. package/app/utils/normalizers/shopify.ts +29 -0
  321. package/global.d.ts +149 -0
  322. package/index.js +3 -0
  323. package/package.json +3 -9
  324. package/tsconfig.json +31 -0
@@ -0,0 +1,119 @@
1
+ import type { Simplify } from "type-fest";
2
+ import type { Maybe, SfCart } from "../models";
3
+
4
+ export interface GetCartExtendedArgs {}
5
+ export interface GetCartCustomArgs {}
6
+
7
+ export type GetCartArgs = {
8
+ /**
9
+ * Unique identifier of cart
10
+ */
11
+ cartId?: string;
12
+ //$extended?: GetCartExtendedArgs;
13
+ //$custom?: GetCartCustomArgs;
14
+ };
15
+
16
+ export interface AddCartLineItemExtendedArgs {}
17
+ export interface AddCartLineItemCustomArgs {}
18
+
19
+ export type AddCartLineItemArgs = {
20
+ /**
21
+ * Product unique identifier - for commercetools it's a SKU, for sap it's a product code
22
+ */
23
+ productId: string;
24
+ sku: Maybe<string>;
25
+ /**
26
+ * Quantity of product to add to cart
27
+ * @default 1
28
+ */
29
+ quantity?: number;
30
+ /**
31
+ * Unique identifier of cart
32
+ */
33
+ cartId?: string;
34
+ //$extended?: AddCartLineItemExtendedArgs;
35
+ //$custom?: AddCartLineItemCustomArgs;
36
+ };
37
+
38
+ export interface UpdateCartLineItemExtendedArgs {}
39
+ export interface UpdateCartLineItemCustomArgs {}
40
+
41
+ export type UpdateCartLineItemArgs = {
42
+ lineItemId: string;
43
+ quantity: number;
44
+ /**
45
+ * Unique identifier of cart
46
+ */
47
+ cartId?: string;
48
+ //$extended?: UpdateCartLineItemExtendedArgs;
49
+ //$custom?: UpdateCartLineItemCustomArgs;
50
+ };
51
+
52
+ export interface RemoveCartLineItemExtendedArgs {}
53
+ export interface RemoveCartLineItemCustomArgs {}
54
+
55
+ export type RemoveCartLineItemArgs = {
56
+ lineItemId: string;
57
+ /**
58
+ * Unique identifier of cart
59
+ */
60
+ cartId?: string;
61
+ //$extended?: RemoveCartLineItemExtendedArgs;
62
+ //$custom?: RemoveCartLineItemCustomArgs;
63
+ };
64
+
65
+ export interface ApplyCouponToCartExtendedArgs {}
66
+ export interface ApplyCouponToCartCustomArgs {}
67
+
68
+ export type ApplyCouponToCartArgs = {
69
+ couponCode: string;
70
+ /**
71
+ * Unique identifier of cart
72
+ */
73
+ cartId?: string;
74
+ //$extended?: ApplyCouponToCartExtendedArgs;
75
+ //$custom?: ApplyCouponToCartCustomArgs;
76
+ };
77
+
78
+ export interface RemoveCouponFromCartExtendedArgs {}
79
+ export interface RemoveCouponFromCartCustomArgs {}
80
+
81
+ export type RemoveCouponFromCartArgs = {
82
+ /**
83
+ * Don't confuse it with coupon code. It can be retrieved from cart.appliedCoupons
84
+ */
85
+ couponId: string;
86
+ /**
87
+ * Unique identifier of cart
88
+ */
89
+ cartId?: string;
90
+ //$extended?: RemoveCouponFromCartExtendedArgs;
91
+ //$custom?: RemoveCouponFromCartCustomArgs;
92
+ };
93
+
94
+ /**
95
+ * Get all information about customer's cart
96
+ */
97
+ export type GetCart = (args?: Simplify<GetCartArgs>) => Promise<SfCart>;
98
+
99
+ /**
100
+ * Add product to cart
101
+ */
102
+ export type AddCartLineItem = (args: Simplify<AddCartLineItemArgs>) => Promise<SfCart>;
103
+
104
+ /**
105
+ * Update product quantity in cart
106
+ */
107
+ export type UpdateCartLineItem = (args: Simplify<UpdateCartLineItemArgs>) => Promise<SfCart>;
108
+
109
+ /**
110
+ * Remove product from cart
111
+ */
112
+ export type RemoveCartLineItem = (args: Simplify<RemoveCartLineItemArgs>) => Promise<SfCart>;
113
+
114
+ /**
115
+ * Apply a coupon to cart to get a discount
116
+ */
117
+ export type ApplyCouponToCart = (args: Simplify<ApplyCouponToCartArgs>) => Promise<SfCart>;
118
+
119
+ export type RemoveCouponFromCart = (args: Simplify<RemoveCouponFromCartArgs>) => Promise<SfCart>;
@@ -0,0 +1,27 @@
1
+ import type { Simplify } from "type-fest";
2
+ import type { SfCategory } from "../models";
3
+
4
+ export interface GetCategoriesExtendedArgs {}
5
+ export interface GetCategoriesCustomArgs {}
6
+
7
+ export type GetCategoriesArgs = {
8
+ ids?: string[];
9
+ slugs?: string[];
10
+ //$extended?: GetCategoriesExtendedArgs;
11
+ //$custom?: GetCategoriesCustomArgs;
12
+ };
13
+
14
+ export type GetCategories = (args?: Simplify<GetCategoriesArgs>) => Promise<SfCategory[]>;
15
+
16
+ export interface GetCategoryExtendedArgs {}
17
+ export interface GetCategoryCustomArgs {}
18
+ export type GetCategoryArgs = {
19
+ id: string;
20
+ //$extended?: GetCategoryExtendedArgs;
21
+ //$custom?: GetCategoryCustomArgs;
22
+ };
23
+
24
+ export type GetCategory = (args: Simplify<GetCategoryArgs>) => Promise<{
25
+ ancestors: SfCategory[];
26
+ category: SfCategory;
27
+ }>;
@@ -0,0 +1,54 @@
1
+ import type { Simplify } from "type-fest";
2
+ import type { SfCart, SfCreateAddressBody, SfCustomerAddress, SfShippingMethods } from "../models";
3
+
4
+ export interface SetCustomerEmailExtendedArgs {}
5
+ export interface SetCustomerEmailCustomArgs {}
6
+
7
+ export type SetCustomerEmailArgs = {
8
+ email: string;
9
+ //$extended?: SetCustomerEmailExtendedArgs;
10
+ //$custom?: SetCustomerEmailCustomArgs;
11
+ };
12
+
13
+ export type SetShippingAddress = {
14
+ shippingAddress: SfCreateAddressBody | SfCustomerAddress;
15
+ };
16
+
17
+ export interface SetCartAddressExtendedArgs {}
18
+ export interface SetCartAddressCustomArgs {}
19
+
20
+ export type SetCartAddressArgs = SetShippingAddress & {
21
+ //$extended?: SetCartAddressExtendedArgs;
22
+ //$custom?: SetCartAddressCustomArgs;
23
+ };
24
+
25
+ export interface SetShippingMethodExtendedArgs {}
26
+ export interface SetShippingMethodCustomArgs {}
27
+
28
+ export type SetShippingMethodArgs = {
29
+ shippingMethodId: string;
30
+ //$extended?: SetShippingMethodExtendedArgs;
31
+ //$custom?: SetShippingMethodCustomArgs;
32
+ };
33
+
34
+ /**
35
+ * Set an email of active customer
36
+ */
37
+ export type SetCustomerEmail = (args: Simplify<SetCustomerEmailArgs>) => Promise<SfCart>;
38
+
39
+ /**
40
+ * Set customers adddress
41
+ * @example Set shipping address first
42
+ * setCartAddress({ shippingAddress: { ... } })
43
+ */
44
+ export type SetCartAddress = (args: Simplify<SetCartAddressArgs>) => Promise<SfCart>;
45
+
46
+ /**
47
+ * Get available shipping methods based on customer's shipping address
48
+ */
49
+ export type GetAvailableShippingMethods = () => Promise<SfShippingMethods>;
50
+
51
+ /**
52
+ * Choose a one shipping method from available shipping methods
53
+ */
54
+ export type SetShippingMethod = (args: Simplify<SetShippingMethodArgs>) => Promise<SfCart>;
@@ -0,0 +1,52 @@
1
+ import type { Simplify } from "type-fest";
2
+ import type { SfCreateAddressBody, SfCustomerAddress, SfId } from "../models";
3
+
4
+ export interface CreateCustomerAddressExtendedArgs {}
5
+ export interface CreateCustomerAddressCustomArgs {}
6
+
7
+ export type CreateCustomerAddressArgs = {
8
+ address: SfCreateAddressBody;
9
+ //$extended?: CreateCustomerAddressExtendedArgs;
10
+ //$custom?: CreateCustomerAddressCustomArgs;
11
+ };
12
+
13
+ export type CreateCustomerAddress = (args: Simplify<CreateCustomerAddressArgs>) => Promise<{
14
+ address: SfCustomerAddress;
15
+ }>;
16
+
17
+ export interface UpdateCustomerAddressExtendedArgs {}
18
+ export interface UpdateCustomerAddressCustomArgs {}
19
+
20
+ export type UpdateCustomerAddressArgs = {
21
+ id: SfId;
22
+ address: SfCreateAddressBody;
23
+ //$extended?: UpdateCustomerAddressExtendedArgs;
24
+ //$custom?: UpdateCustomerAddressCustomArgs;
25
+ };
26
+
27
+ export type UpdateCustomerAddress = (args: Simplify<UpdateCustomerAddressArgs>) => Promise<{
28
+ address: SfCustomerAddress;
29
+ }>;
30
+
31
+ export interface DeleteCustomerAddressExtendedArgs {}
32
+ export interface DeleteCustomerAddressCustomArgs {}
33
+
34
+ export type DeleteCustomerAddressArgs = {
35
+ id: SfId;
36
+ //$extended?: DeleteCustomerAddressExtendedArgs;
37
+ //$custom?: DeleteCustomerAddressCustomArgs;
38
+ };
39
+
40
+ export type DeleteCustomerAddress = (args: Simplify<DeleteCustomerAddressArgs>) => Promise<void>;
41
+
42
+ export interface GetCustomerAddressesExtendedArgs {}
43
+ export interface GetCustomerAddressesCustomArgs {}
44
+
45
+ export type GetCustomerAddressesArgs = {
46
+ //$extended?: GetCustomerAddressesExtendedArgs;
47
+ //$custom?: GetCustomerAddressesCustomArgs;
48
+ };
49
+
50
+ export type GetCustomerAddresses = (args?: Simplify<GetCustomerAddressesArgs>) => Promise<{
51
+ addresses: SfCustomerAddress[];
52
+ }>;
@@ -0,0 +1,5 @@
1
+ import type { SetCartAddressArgs, SetShippingAddress } from "./checkout";
2
+
3
+ export function isShippingAddress(args: SetCartAddressArgs): args is SetShippingAddress {
4
+ return (args as SetShippingAddress).shippingAddress !== undefined;
5
+ }
@@ -0,0 +1,75 @@
1
+ import type {
2
+ GetCustomer,
3
+ LoginCustomer,
4
+ LogoutCustomer,
5
+ RegisterCustomer,
6
+ UpdateCustomer,
7
+ ChangeCustomerPassword,
8
+ } from "./auth";
9
+ import type {
10
+ GetCart,
11
+ AddCartLineItem,
12
+ UpdateCartLineItem,
13
+ RemoveCartLineItem,
14
+ ApplyCouponToCart,
15
+ RemoveCouponFromCart,
16
+ } from "./cart";
17
+ import type { GetCategories, GetCategory } from "./category";
18
+ import type {
19
+ GetAvailableShippingMethods,
20
+ SetCartAddress,
21
+ SetCustomerEmail,
22
+ SetShippingMethod,
23
+ } from "./checkout";
24
+ import type {
25
+ CreateCustomerAddress,
26
+ DeleteCustomerAddress,
27
+ UpdateCustomerAddress,
28
+ GetCustomerAddresses,
29
+ } from "./customer";
30
+ import type { GetOrders, GetOrderDetails, PlaceOrder } from "./order";
31
+ import type { GetProducts, GetProductDetails, GetProductReviews, SearchProducts } from "./product";
32
+ import type { GetCurrencies } from "./settings";
33
+
34
+ export * from "./auth";
35
+ export * from "./cart";
36
+ export * from "./category";
37
+ export * from "./checkout";
38
+ export * from "./customer";
39
+ export * from "./helpers";
40
+ export * from "./product";
41
+ export * from "./settings";
42
+ export * from "./order";
43
+
44
+ export type UnifiedMethods = {
45
+ getCart: GetCart;
46
+ addCartLineItem: AddCartLineItem;
47
+ updateCartLineItem: UpdateCartLineItem;
48
+ removeCartLineItem: RemoveCartLineItem;
49
+ applyCouponToCart: ApplyCouponToCart;
50
+ removeCouponFromCart: RemoveCouponFromCart;
51
+ getCategories: GetCategories;
52
+ getCategory: GetCategory;
53
+ getCustomer: GetCustomer;
54
+ loginCustomer: LoginCustomer;
55
+ logoutCustomer: LogoutCustomer;
56
+ registerCustomer: RegisterCustomer;
57
+ updateCustomer: UpdateCustomer;
58
+ changeCustomerPassword: ChangeCustomerPassword;
59
+ getProducts: GetProducts;
60
+ getProductDetails: GetProductDetails;
61
+ getProductReviews: GetProductReviews;
62
+ searchProducts: SearchProducts;
63
+ getAvailableShippingMethods: GetAvailableShippingMethods;
64
+ setCartAddress: SetCartAddress;
65
+ setCustomerEmail: SetCustomerEmail;
66
+ setShippingMethod: SetShippingMethod;
67
+ createCustomerAddress: CreateCustomerAddress;
68
+ deleteCustomerAddress: DeleteCustomerAddress;
69
+ updateCustomerAddress: UpdateCustomerAddress;
70
+ getCustomerAddresses: GetCustomerAddresses;
71
+ getCurrencies: GetCurrencies;
72
+ getOrders: GetOrders;
73
+ getOrderDetails: GetOrderDetails;
74
+ placeOrder: PlaceOrder;
75
+ };
@@ -0,0 +1,39 @@
1
+ import type { Simplify } from "type-fest";
2
+ import type { SfPagination } from "../models";
3
+ import type { SfOrder, SfOrderListItem } from "../models/order";
4
+
5
+ export interface GetOrdersExtendedArgs {}
6
+ export interface GetOrdersCustomArgs {}
7
+
8
+ export type GetOrdersArgs = {
9
+ pageSize?: number;
10
+ currentPage?: number;
11
+ //$extended?: GetOrdersExtendedArgs;
12
+ //$custom?: GetOrdersCustomArgs;
13
+ };
14
+
15
+ export type GetOrders = (args?: Simplify<GetOrdersArgs>) => Promise<{
16
+ orders: SfOrderListItem[];
17
+ pagination: SfPagination;
18
+ }>;
19
+
20
+ export interface GetOrderExtendedArgs {}
21
+ export interface GetOrderCustomArgs {}
22
+
23
+ export type GetOrderArgs = {
24
+ id: string;
25
+ //$extended?: GetOrderExtendedArgs;
26
+ //$custom?: GetOrderCustomArgs;
27
+ };
28
+
29
+ export type GetOrderDetails = (args: Simplify<GetOrderArgs>) => Promise<SfOrder>;
30
+
31
+ export interface PlaceOrderExtendedArgs {}
32
+ export interface PlaceOrderCustomArgs {}
33
+
34
+ export type PlaceOrderArgs = {
35
+ //$extended?: PlaceOrderExtendedArgs;
36
+ //$custom?: PlaceOrderCustomArgs;
37
+ };
38
+
39
+ export type PlaceOrder = (args?: Simplify<PlaceOrderArgs>) => Promise<SfOrder>;
@@ -0,0 +1,95 @@
1
+ import type { Simplify } from "type-fest";
2
+ import type {
3
+ SfCategory,
4
+ SfFacet,
5
+ SfId,
6
+ SfPagination,
7
+ SfProduct,
8
+ SfProductCatalogItem,
9
+ SfProductReview,
10
+ } from "../models";
11
+
12
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
13
+ export interface SfSortBy {}
14
+
15
+ export interface SearchProductsExtendedArgs {}
16
+ export interface SearchProductsCustomArgs {}
17
+
18
+ export type SearchProductsArgs = {
19
+ pageSize?: number;
20
+ currentPage?: number;
21
+ sortBy?: "relevant" | "price-low-to-high" | "price-high-to-low" | (string & {});
22
+ search?: string;
23
+ category?: SfCategory["id"];
24
+ facets?: {
25
+ [name: string]: string[];
26
+ };
27
+ //$extended?: SearchProductsExtendedArgs;
28
+ //$custom?: SearchProductsCustomArgs;
29
+ } & SfSortBy;
30
+
31
+ export type SearchProducts = (args: Simplify<SearchProductsArgs>) => Promise<{
32
+ products: SfProductCatalogItem[];
33
+ pagination: SfPagination;
34
+ facets: SfFacet[];
35
+ }>;
36
+
37
+ export interface GetProductsExtendedArgs {}
38
+ export interface GetProductsCustomArgs {}
39
+
40
+ export type GetProductsArgs = {
41
+ ids?: string[];
42
+ skus?: string[];
43
+ //$extended?: GetProductsExtendedArgs;
44
+ //$custom?: GetProductsCustomArgs;
45
+ };
46
+
47
+ export type GetProducts = (args: Simplify<GetProductsArgs>) => Promise<{
48
+ products: SfProductCatalogItem[];
49
+ }>;
50
+
51
+ export interface GetProductDetailsExtendedArgs {}
52
+ export interface GetProductDetailsCustomArgs {}
53
+
54
+ export type GetProductDetailsArgs = {
55
+ id: SfId;
56
+ sku?: string;
57
+ //$extended?: GetProductDetailsExtendedArgs;
58
+ //$custom?: GetProductDetailsCustomArgs;
59
+ };
60
+
61
+ export type GetProductDetails = (args: Simplify<GetProductDetailsArgs>) => Promise<{
62
+ product: SfProduct;
63
+ categoryHierarchy: SfCategory[];
64
+ }>;
65
+
66
+ export interface GetProductReviewsExtendedArgs {}
67
+ export interface GetProductReviewsCustomArgs {}
68
+
69
+ export type GetProductReviewsArgs = {
70
+ productId: SfId;
71
+ pageSize?: number;
72
+ currentPage?: number;
73
+ //$extended?: GetProductReviewsExtendedArgs;
74
+ //$custom?: GetProductReviewsCustomArgs;
75
+ };
76
+
77
+ export type GetProductReviews = (args: Simplify<GetProductReviewsArgs>) => Promise<{
78
+ reviews: SfProductReview[];
79
+ pagination: SfPagination;
80
+ }>;
81
+
82
+ export interface AddProductReviewExtendedArgs {}
83
+ export interface AddProductReviewCustomArgs {}
84
+
85
+ export type AddProductReviewArgs = {
86
+ productId: SfId;
87
+ productSku?: string;
88
+ review: Pick<SfProductReview, "title" | "text" | "rating" | "reviewer">;
89
+ //$extended?: AddProductReviewExtendedArgs;
90
+ //$custom?: AddProductReviewCustomArgs;
91
+ };
92
+
93
+ export type AddProductReview = (args: Simplify<AddProductReviewArgs>) => Promise<{
94
+ review: SfProductReview;
95
+ }>;
@@ -0,0 +1,16 @@
1
+ import type { Simplify } from "type-fest";
2
+ import type { SfCurrency } from "../models";
3
+
4
+ export interface GetCurrenciesExtendedArgs {}
5
+ export interface GetCurrenciesCustomArgs {}
6
+
7
+ export type GetCurrenciesArgs = {
8
+ //$extended?: GetCurrenciesExtendedArgs;
9
+ //$custom?: GetCurrenciesCustomArgs;
10
+ };
11
+
12
+ export type GetCurrencies = (args?: Simplify<GetCurrenciesArgs>) => Promise<{
13
+ currencies: SfCurrency[];
14
+ defaultCurrency: SfCurrency;
15
+ currentCurrency: SfCurrency;
16
+ }>;
@@ -0,0 +1,95 @@
1
+ import type { InferCustom } from "../defs";
2
+ import type { SfShippingMethod } from "./checkout";
3
+ import type {
4
+ Maybe,
5
+ SfAddress,
6
+ SfAttribute,
7
+ SfDiscountablePrice,
8
+ SfId,
9
+ SfImage,
10
+ SfMoney,
11
+ } from "./shared";
12
+
13
+ export interface SfCartLineItemCustom extends InferCustom<"normalizeCartLineItem"> {}
14
+
15
+ export interface SfCartLineItem {
16
+ attributes: SfAttribute[];
17
+ productId: SfId;
18
+ /**
19
+ * ID of the cart's line item
20
+ */
21
+ id: SfId;
22
+ image: Maybe<SfImage>;
23
+ name: Maybe<string>;
24
+ quantity: number;
25
+ sku: Maybe<string>;
26
+ slug: string;
27
+ /**
28
+ * Product of quantity and unitPrice
29
+ */
30
+ totalPrice: Maybe<SfMoney>;
31
+ unitPrice: Maybe<SfDiscountablePrice>;
32
+ quantityLimit: Maybe<number>;
33
+ $custom?: SfCartLineItemCustom;
34
+ }
35
+
36
+ export interface SfCartCouponCustom extends InferCustom<"normalizeCartCoupon"> {}
37
+
38
+ export interface SfCartCoupon {
39
+ code: string;
40
+ id: string;
41
+ name: Maybe<string>;
42
+ $custom?: SfCartCouponCustom;
43
+ }
44
+
45
+ export interface SfCartCustom extends InferCustom<"normalizeCart"> {}
46
+
47
+ export interface SfCart {
48
+ appliedCoupons: SfCartCoupon[];
49
+ /**
50
+ * @default null
51
+ */
52
+ billingAddress: Maybe<SfAddress>;
53
+ /**
54
+ * Active customer's email. Required to complete the checkout
55
+ * @default null
56
+ */
57
+ customerEmail: Maybe<string>;
58
+ id: SfId;
59
+ /**
60
+ * Shipping address is required to get available shipping methods
61
+ * @default null
62
+ */
63
+ lineItems: SfCartLineItem[];
64
+ shippingAddress: Maybe<SfAddress>;
65
+ /**
66
+ * Required to complete the checkout. To get available methods use `getAvailableShippingMethods`
67
+ * @default null
68
+ */
69
+ shippingMethod: Maybe<SfShippingMethod>;
70
+ /**
71
+ * Difference of `subtotalRegularPrice` and discounts applied to line items before providing coupons.
72
+ * If none of the products are discounted, price will be equal to `subtotalRegularPrice`
73
+ */
74
+ subtotalDiscountedPrice: SfMoney;
75
+ /**
76
+ * Total regular price of all line items (coupons, taxes, shipping excluded)
77
+ */
78
+ subtotalRegularPrice: SfMoney;
79
+ totalCouponDiscounts: SfMoney;
80
+ /**
81
+ * Total count of all line items and their's quantities in cart
82
+ */
83
+ totalItems: number;
84
+ /**
85
+ * Total cart price (discounts, taxes, shipping included)
86
+ */
87
+ totalPrice: SfMoney;
88
+ /**
89
+ * Calculated after applying shipping method
90
+ * @default null
91
+ */
92
+ totalShippingPrice: Maybe<SfMoney>;
93
+ totalTax: SfMoney;
94
+ $custom?: SfCartCustom;
95
+ }
@@ -0,0 +1,13 @@
1
+ import type { InferCustom } from "../defs";
2
+ import type { Maybe, SfId } from "./shared";
3
+
4
+ export interface SfCategoryCustom extends InferCustom<"normalizeCartCoupon"> {}
5
+
6
+ export interface SfCategory {
7
+ id: SfId;
8
+ name: string;
9
+ slug: string;
10
+ subcategories: Maybe<SfCategory[]>;
11
+ parentCategoryId: Maybe<SfId>;
12
+ $custom?: SfCategoryCustom;
13
+ }
@@ -0,0 +1,17 @@
1
+ import type { InferCustom } from "../defs";
2
+ import type { Maybe, SfMoney } from "./shared";
3
+
4
+ export interface SfShippingMethodCustom extends InferCustom<"normalizeCartCoupon"> {}
5
+
6
+ export interface SfShippingMethod {
7
+ description: Maybe<string>;
8
+ estimatedDelivery: Maybe<string>;
9
+ id: string;
10
+ name: string;
11
+ price: SfMoney;
12
+ $custom?: SfShippingMethodCustom;
13
+ }
14
+
15
+ export interface SfShippingMethods {
16
+ methods: SfShippingMethod[];
17
+ }
@@ -0,0 +1,16 @@
1
+ import type { InferCustom } from "../defs";
2
+ import type { SfAddress, SfId } from "./shared";
3
+
4
+ export interface SfCustomerCustom extends InferCustom<"normalizeCustomer"> {}
5
+
6
+ export interface SfCustomer {
7
+ id: SfId;
8
+ email: string;
9
+ firstName: string;
10
+ lastName: string;
11
+ $custom?: SfCustomerCustom;
12
+ }
13
+
14
+ export interface SfCustomerAddress extends SfAddress {
15
+ id: SfId;
16
+ }
@@ -0,0 +1,25 @@
1
+ import type { InferCustom } from "../defs";
2
+ import type { Maybe } from "./shared";
3
+
4
+ export enum SfFacetTypes {
5
+ MULTI_SELECT = "MULTI_SELECT",
6
+ SINGLE_SELECT = "SINGLE_SELECT",
7
+ }
8
+
9
+ export type SfFacetType = `${SfFacetTypes}`;
10
+
11
+ export interface SfFacetItem {
12
+ label: string;
13
+ value: string;
14
+ productCount: Maybe<number>;
15
+ }
16
+
17
+ export interface SfFacetCustom extends InferCustom<"normalizeFacet"> {}
18
+
19
+ export interface SfFacet {
20
+ label: string;
21
+ name: string;
22
+ values: SfFacetItem[];
23
+ type: Maybe<SfFacetType | (string & Record<never, never>)>;
24
+ $custom?: SfFacetCustom;
25
+ }