@meeovi/layer-commerce 1.0.3 → 1.0.5

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 (358) hide show
  1. package/app/components/catalog/product/ProductAccordion/types.ts +3 -3
  2. package/app/components/catalog/product/ProductProperties/types.ts +3 -3
  3. package/app/components/catalog/product/ProductSlider/types.ts +5 -5
  4. package/app/components/catalog/product/RecommendedProducts/types.ts +3 -3
  5. package/app/components/catalog/product/bestsellers.vue +8 -20
  6. package/app/components/catalog/product/deals.vue +7 -22
  7. package/app/components/catalog/product/exclusives.vue +8 -10
  8. package/app/components/catalog/product/featuredproducts.vue +8 -20
  9. package/app/components/catalog/product/latestproducts.vue +8 -20
  10. package/app/components/catalog/product/productCard.vue +55 -21
  11. package/app/components/catalog/product/productDetails.vue +20 -14
  12. package/app/components/catalog/product/relatedproducts.vue +5 -20
  13. package/app/components/catalog/product/sizeOptions.vue +3 -8
  14. package/app/components/catalog/shops/relatedstores.vue +6 -21
  15. package/app/components/categories/chart/[id].vue +200 -0
  16. package/app/components/categories/chart/add-chart.vue +142 -0
  17. package/app/components/categories/chart/chart.vue +82 -0
  18. package/app/components/categories/chart/monthlyChart.vue +46 -0
  19. package/app/components/categories/chart/weeklyChart.vue +46 -0
  20. package/app/components/categories/chart/yearlyChart.vue +46 -0
  21. package/app/components/categories/charts.vue +118 -0
  22. package/app/components/categories/deals.vue +101 -0
  23. package/app/components/categories/eats.vue +49 -0
  24. package/app/components/categories/restaurants.vue +26 -0
  25. package/app/components/categories/station/[id].vue +72 -0
  26. package/app/components/categories/stations.vue +124 -0
  27. package/app/components/categories/time/time.vue +63 -0
  28. package/app/components/categories/travel.vue +75 -0
  29. package/app/components/categories/weather/weather.vue +44 -0
  30. package/app/components/content/pages/showcases.vue +1 -1
  31. package/app/components/marketing/promotions/giftcards.vue +20 -45
  32. package/app/components/marketing/promotions/subscriptions.vue +8 -21
  33. package/app/components/placeholders/Comments.vue +15 -0
  34. package/app/components/placeholders/CreateListBtn.vue +7 -0
  35. package/app/components/placeholders/Event.vue +9 -0
  36. package/app/components/placeholders/ListShowcases.vue +9 -0
  37. package/app/components/placeholders/Short.vue +9 -0
  38. package/app/components/placeholders/Space.vue +9 -0
  39. package/app/components/placeholders/Tag.vue +7 -0
  40. package/app/components/sales/CheckoutAddress/types.ts +12 -11
  41. package/app/components/sales/OrderSummary/types.ts +3 -3
  42. package/app/components/sales/incentives.vue +13 -37
  43. package/app/composables/_types.ts +6 -5
  44. package/app/composables/cart/registry.ts +7 -0
  45. package/app/composables/index.ts +1 -0
  46. package/app/composables/products/registry.ts +7 -0
  47. package/app/composables/registry.ts +21 -0
  48. package/app/composables/stores/cart.ts +2 -2
  49. package/app/composables/useCatalog.ts +64 -0
  50. package/app/composables/useContent.ts +57 -0
  51. package/app/composables/useProductReviews/useProductReviews.ts +1 -1
  52. package/app/composables/useProducts/types.ts +15 -10
  53. package/app/modules/vue-head/composables/useHead.ts +3 -0
  54. package/app/pages/brand/[...slug].vue +1 -1
  55. package/app/pages/departments/[...slug].vue +385 -0
  56. package/app/pages/departments/category/[...slug].vue +135 -0
  57. package/app/pages/product/[...id].vue +3 -3
  58. package/app/pages/shop/[...slug].vue +12 -18
  59. package/app/pages/shops.vue +18 -25
  60. package/dist/components/catalog/product/ProductAccordion/types.d.ts +4 -0
  61. package/dist/components/catalog/product/ProductAccordion/types.js +1 -0
  62. package/dist/components/catalog/product/ProductProperties/types.d.ts +4 -0
  63. package/dist/components/catalog/product/ProductProperties/types.js +1 -0
  64. package/dist/components/catalog/product/ProductSlider/types.d.ts +6 -0
  65. package/dist/components/catalog/product/ProductSlider/types.js +1 -0
  66. package/dist/components/catalog/product/RecommendedProducts/types.d.ts +4 -0
  67. package/dist/components/catalog/product/RecommendedProducts/types.js +1 -0
  68. package/dist/components/sales/CheckoutAddress/types.d.ts +14 -0
  69. package/dist/components/sales/CheckoutAddress/types.js +1 -0
  70. package/dist/components/sales/CheckoutPayment/types.d.ts +10 -0
  71. package/dist/components/sales/CheckoutPayment/types.js +7 -0
  72. package/dist/components/sales/OrderSummary/types.d.ts +4 -0
  73. package/dist/components/sales/OrderSummary/types.js +1 -0
  74. package/dist/composables/_types.d.ts +11 -0
  75. package/dist/composables/_types.js +1 -0
  76. package/dist/composables/adapters/abstract/cartAdapter.d.ts +0 -0
  77. package/dist/composables/adapters/abstract/cartAdapter.js +0 -0
  78. package/dist/composables/adapters/abstract/categoryAdapter.d.ts +0 -0
  79. package/dist/composables/adapters/abstract/categoryAdapter.js +0 -0
  80. package/dist/composables/adapters/abstract/customerAdapter.d.ts +0 -0
  81. package/dist/composables/adapters/abstract/customerAdapter.js +0 -0
  82. package/dist/composables/adapters/abstract/inventoryAdapter.d.ts +0 -0
  83. package/dist/composables/adapters/abstract/inventoryAdapter.js +0 -0
  84. package/dist/composables/adapters/abstract/orderAdapter.d.ts +0 -0
  85. package/dist/composables/adapters/abstract/orderAdapter.js +0 -0
  86. package/dist/composables/adapters/abstract/productAdapter.d.ts +6 -0
  87. package/dist/composables/adapters/abstract/productAdapter.js +1 -0
  88. package/dist/composables/cart/registry.d.ts +4 -0
  89. package/dist/composables/cart/registry.js +16 -0
  90. package/dist/composables/cart/types.d.ts +16 -0
  91. package/dist/composables/cart/types.js +1 -0
  92. package/dist/composables/cart/useCart.d.ts +6 -0
  93. package/dist/composables/cart/useCart.js +13 -0
  94. package/dist/composables/config.d.ts +7 -0
  95. package/dist/composables/config.js +11 -0
  96. package/dist/composables/defs/apiDefinitions.d.ts +7 -0
  97. package/dist/composables/defs/apiDefinitions.js +39 -0
  98. package/dist/composables/defs/extension.d.ts +91 -0
  99. package/dist/composables/defs/extension.js +154 -0
  100. package/dist/composables/defs/extension.mocks.d.ts +30 -0
  101. package/dist/composables/defs/extension.mocks.js +23 -0
  102. package/dist/composables/defs/extension.test.d.ts +1 -0
  103. package/dist/composables/defs/extension.test.js +233 -0
  104. package/dist/composables/defs/index.d.ts +3 -0
  105. package/dist/composables/defs/index.js +3 -0
  106. package/dist/composables/defs/types.d.ts +81 -0
  107. package/dist/composables/defs/types.js +1 -0
  108. package/dist/composables/domain/cart.d.ts +0 -0
  109. package/dist/composables/domain/cart.js +0 -0
  110. package/dist/composables/domain/category.d.ts +0 -0
  111. package/dist/composables/domain/category.js +0 -0
  112. package/dist/composables/domain/order.d.ts +0 -0
  113. package/dist/composables/domain/order.js +0 -0
  114. package/dist/composables/domain/price.d.ts +0 -0
  115. package/dist/composables/domain/price.js +0 -0
  116. package/dist/composables/domain/product.d.ts +8 -0
  117. package/dist/composables/domain/product.js +1 -0
  118. package/dist/composables/domain/reward.d.ts +0 -0
  119. package/dist/composables/domain/reward.js +0 -0
  120. package/dist/composables/domain/transactions.d.ts +0 -0
  121. package/dist/composables/domain/transactions.js +0 -0
  122. package/dist/composables/helpers/contextualizedNormalizers.d.ts +5 -0
  123. package/dist/composables/helpers/contextualizedNormalizers.js +6 -0
  124. package/dist/composables/helpers/contextualizedNormalizers.test.d.ts +1 -0
  125. package/dist/composables/helpers/contextualizedNormalizers.test.js +62 -0
  126. package/dist/composables/helpers/index.d.ts +1 -0
  127. package/dist/composables/helpers/index.js +1 -0
  128. package/dist/composables/index.d.ts +6 -0
  129. package/dist/composables/index.js +6 -0
  130. package/dist/composables/methods/auth.d.ts +62 -0
  131. package/dist/composables/methods/auth.js +1 -0
  132. package/dist/composables/methods/cart.d.ts +101 -0
  133. package/dist/composables/methods/cart.js +1 -0
  134. package/dist/composables/methods/category.d.ts +22 -0
  135. package/dist/composables/methods/category.js +1 -0
  136. package/dist/composables/methods/checkout.d.ts +42 -0
  137. package/dist/composables/methods/checkout.js +1 -0
  138. package/dist/composables/methods/customer.d.ts +39 -0
  139. package/dist/composables/methods/customer.js +1 -0
  140. package/dist/composables/methods/helpers.d.ts +2 -0
  141. package/dist/composables/methods/helpers.js +3 -0
  142. package/dist/composables/methods/index.d.ts +49 -0
  143. package/dist/composables/methods/index.js +9 -0
  144. package/dist/composables/methods/order.d.ts +29 -0
  145. package/dist/composables/methods/order.js +1 -0
  146. package/dist/composables/methods/product.d.ts +71 -0
  147. package/dist/composables/methods/product.js +1 -0
  148. package/dist/composables/methods/settings.d.ts +12 -0
  149. package/dist/composables/methods/settings.js +1 -0
  150. package/dist/composables/models/cart.d.ts +84 -0
  151. package/dist/composables/models/cart.js +1 -0
  152. package/dist/composables/models/category.d.ts +12 -0
  153. package/dist/composables/models/category.js +1 -0
  154. package/dist/composables/models/checkout.d.ts +15 -0
  155. package/dist/composables/models/checkout.js +1 -0
  156. package/dist/composables/models/customer.d.ts +14 -0
  157. package/dist/composables/models/customer.js +1 -0
  158. package/dist/composables/models/facets.d.ts +21 -0
  159. package/dist/composables/models/facets.js +5 -0
  160. package/dist/composables/models/index.d.ts +62 -0
  161. package/dist/composables/models/index.js +8 -0
  162. package/dist/composables/models/order.d.ts +39 -0
  163. package/dist/composables/models/order.js +1 -0
  164. package/dist/composables/models/product.d.ts +55 -0
  165. package/dist/composables/models/product.js +1 -0
  166. package/dist/composables/models/shared.d.ts +66 -0
  167. package/dist/composables/models/shared.js +1 -0
  168. package/dist/composables/products/registry.d.ts +4 -0
  169. package/dist/composables/products/registry.js +16 -0
  170. package/dist/composables/products/types.d.ts +12 -0
  171. package/dist/composables/products/types.js +1 -0
  172. package/dist/composables/products/useEvents.d.ts +0 -0
  173. package/dist/composables/products/useEvents.js +0 -0
  174. package/dist/composables/products/useGiftCards.d.ts +0 -0
  175. package/dist/composables/products/useGiftCards.js +0 -0
  176. package/dist/composables/products/useProducts.d.ts +4 -0
  177. package/dist/composables/products/useProducts.js +10 -0
  178. package/dist/composables/products/useSubscriptions.d.ts +0 -0
  179. package/dist/composables/products/useSubscriptions.js +0 -0
  180. package/dist/composables/registry.d.ts +9 -0
  181. package/dist/composables/registry.js +13 -0
  182. package/dist/composables/stores/cart.d.ts +1 -0
  183. package/dist/composables/stores/cart.js +203 -0
  184. package/dist/composables/stores/cartStore.d.ts +1 -0
  185. package/dist/composables/stores/cartStore.js +246 -0
  186. package/dist/composables/stores/checkout.d.ts +1 -0
  187. package/dist/composables/stores/checkout.js +17 -0
  188. package/dist/composables/stores/compare.d.ts +1 -0
  189. package/dist/composables/stores/compare.js +50 -0
  190. package/dist/composables/stores/orders.d.ts +1 -0
  191. package/dist/composables/stores/orders.js +156 -0
  192. package/dist/composables/stores/product.d.ts +1 -0
  193. package/dist/composables/stores/product.js +26 -0
  194. package/dist/composables/stores/productList.d.ts +0 -0
  195. package/dist/composables/stores/productList.js +0 -0
  196. package/dist/composables/stores/productListInfo.d.ts +0 -0
  197. package/dist/composables/stores/productListInfo.js +0 -0
  198. package/dist/composables/stores/products.d.ts +1 -0
  199. package/dist/composables/stores/products.js +106 -0
  200. package/dist/composables/stores/recentlyViewedProducts.d.ts +0 -0
  201. package/dist/composables/stores/recentlyViewedProducts.js +0 -0
  202. package/dist/composables/stores/review.d.ts +1 -0
  203. package/dist/composables/stores/review.js +25 -0
  204. package/dist/composables/stores/storeInPickUp.d.ts +1 -0
  205. package/dist/composables/stores/storeInPickUp.js +21 -0
  206. package/dist/composables/stores/user.d.ts +1 -0
  207. package/dist/composables/stores/user.js +16 -0
  208. package/dist/composables/stores/wishlist.d.ts +1 -0
  209. package/dist/composables/stores/wishlist.js +17 -0
  210. package/dist/composables/types/Order.type.d.ts +141 -0
  211. package/dist/composables/types/Order.type.js +1 -0
  212. package/dist/composables/types/index.d.ts +265 -0
  213. package/dist/composables/types/index.js +3 -0
  214. package/dist/composables/types/product.d.ts +13 -0
  215. package/dist/composables/types/product.js +1 -0
  216. package/dist/composables/useBreakpoints/index.d.ts +1 -0
  217. package/dist/composables/useBreakpoints/index.js +1 -0
  218. package/dist/composables/useBreakpoints/useBreakpoints.d.ts +10 -0
  219. package/dist/composables/useBreakpoints/useBreakpoints.js +24 -0
  220. package/dist/composables/useCart/index.d.ts +1 -0
  221. package/dist/composables/useCart/index.js +1 -0
  222. package/dist/composables/useCart/types.d.ts +13 -0
  223. package/dist/composables/useCart/types.js +1 -0
  224. package/dist/composables/useCart/useCart.d.ts +8 -0
  225. package/dist/composables/useCart/useCart.js +43 -0
  226. package/dist/composables/useCartShippingMethods/index.d.ts +1 -0
  227. package/dist/composables/useCartShippingMethods/index.js +1 -0
  228. package/dist/composables/useCartShippingMethods/types.d.ts +13 -0
  229. package/dist/composables/useCartShippingMethods/types.js +1 -0
  230. package/dist/composables/useCartShippingMethods/useCartShippingMethods.d.ts +7 -0
  231. package/dist/composables/useCartShippingMethods/useCartShippingMethods.js +35 -0
  232. package/dist/composables/useCatalog.d.ts +13 -0
  233. package/dist/composables/useCatalog.js +61 -0
  234. package/dist/composables/useContent/index.d.ts +1 -0
  235. package/dist/composables/useContent/index.js +1 -0
  236. package/dist/composables/useContent/types.d.ts +32 -0
  237. package/dist/composables/useContent/types.js +1 -0
  238. package/dist/composables/useContent/useContent.d.ts +9 -0
  239. package/dist/composables/useContent/useContent.js +43 -0
  240. package/dist/composables/useContent.d.ts +14 -0
  241. package/dist/composables/useContent.js +55 -0
  242. package/dist/composables/useCustomer/index.d.ts +2 -0
  243. package/dist/composables/useCustomer/index.js +2 -0
  244. package/dist/composables/useCustomer/types.d.ts +13 -0
  245. package/dist/composables/useCustomer/types.js +1 -0
  246. package/dist/composables/useCustomer/useCustomer.d.ts +8 -0
  247. package/dist/composables/useCustomer/useCustomer.js +34 -0
  248. package/dist/composables/useCustomerAddress/index.d.ts +2 -0
  249. package/dist/composables/useCustomerAddress/index.js +2 -0
  250. package/dist/composables/useCustomerAddress/types.d.ts +13 -0
  251. package/dist/composables/useCustomerAddress/types.js +1 -0
  252. package/dist/composables/useCustomerAddress/useCustomerAddress.d.ts +8 -0
  253. package/dist/composables/useCustomerAddress/useCustomerAddress.js +43 -0
  254. package/dist/composables/useCustomerOrder/adress.d.ts +11 -0
  255. package/dist/composables/useCustomerOrder/adress.js +10 -0
  256. package/dist/composables/useCustomerOrder/index.d.ts +2 -0
  257. package/dist/composables/useCustomerOrder/index.js +2 -0
  258. package/dist/composables/useCustomerOrder/product.d.ts +28 -0
  259. package/dist/composables/useCustomerOrder/product.js +37 -0
  260. package/dist/composables/useCustomerOrder/types.d.ts +32 -0
  261. package/dist/composables/useCustomerOrder/types.js +1 -0
  262. package/dist/composables/useCustomerOrder/useCustomerOrder.d.ts +8 -0
  263. package/dist/composables/useCustomerOrder/useCustomerOrder.js +52 -0
  264. package/dist/composables/useCustomerOrders/index.d.ts +2 -0
  265. package/dist/composables/useCustomerOrders/index.js +2 -0
  266. package/dist/composables/useCustomerOrders/types.d.ts +15 -0
  267. package/dist/composables/useCustomerOrders/types.js +1 -0
  268. package/dist/composables/useCustomerOrders/useCustomerOrders.d.ts +8 -0
  269. package/dist/composables/useCustomerOrders/useCustomerOrders.js +42 -0
  270. package/dist/composables/useCustomerReturns/index.d.ts +2 -0
  271. package/dist/composables/useCustomerReturns/index.js +2 -0
  272. package/dist/composables/useCustomerReturns/types.d.ts +13 -0
  273. package/dist/composables/useCustomerReturns/types.js +1 -0
  274. package/dist/composables/useCustomerReturns/useCustomerReturns.d.ts +8 -0
  275. package/dist/composables/useCustomerReturns/useCustomerReturns.js +32 -0
  276. package/dist/composables/useHandleError/index.d.ts +1 -0
  277. package/dist/composables/useHandleError/index.js +1 -0
  278. package/dist/composables/useHandleError/types.d.ts +7 -0
  279. package/dist/composables/useHandleError/types.js +1 -0
  280. package/dist/composables/useHandleError/useHandleError.d.ts +10 -0
  281. package/dist/composables/useHandleError/useHandleError.js +24 -0
  282. package/dist/composables/usePageTitle.d.ts +5 -0
  283. package/dist/composables/usePageTitle.js +14 -0
  284. package/dist/composables/useProduct/index.d.ts +2 -0
  285. package/dist/composables/useProduct/index.js +2 -0
  286. package/dist/composables/useProduct/types.d.ts +13 -0
  287. package/dist/composables/useProduct/types.js +1 -0
  288. package/dist/composables/useProduct/useProduct.d.ts +9 -0
  289. package/dist/composables/useProduct/useProduct.js +36 -0
  290. package/dist/composables/useProductAttribute/index.d.ts +1 -0
  291. package/dist/composables/useProductAttribute/index.js +1 -0
  292. package/dist/composables/useProductAttribute/useProductAttribute.d.ts +11 -0
  293. package/dist/composables/useProductAttribute/useProductAttribute.js +25 -0
  294. package/dist/composables/useProductRecommended/index.d.ts +1 -0
  295. package/dist/composables/useProductRecommended/index.js +1 -0
  296. package/dist/composables/useProductRecommended/types.d.ts +13 -0
  297. package/dist/composables/useProductRecommended/types.js +1 -0
  298. package/dist/composables/useProductRecommended/useProductRecommended.d.ts +6 -0
  299. package/dist/composables/useProductRecommended/useProductRecommended.js +33 -0
  300. package/dist/composables/useProductReviews/index.d.ts +2 -0
  301. package/dist/composables/useProductReviews/index.js +2 -0
  302. package/dist/composables/useProductReviews/types.d.ts +13 -0
  303. package/dist/composables/useProductReviews/types.js +1 -0
  304. package/dist/composables/useProductReviews/useProductReviews.d.ts +9 -0
  305. package/dist/composables/useProductReviews/useProductReviews.js +36 -0
  306. package/dist/composables/useProducts/types.d.ts +18 -0
  307. package/dist/composables/useProducts/types.js +1 -0
  308. package/dist/composables/useProducts/useProducts.d.ts +8 -0
  309. package/dist/composables/useProducts/useProducts.js +35 -0
  310. package/dist/composables/utils/countryList.d.ts +5 -0
  311. package/dist/composables/utils/countryList.js +14 -0
  312. package/dist/composables/utils/glossary.d.ts +0 -0
  313. package/dist/composables/utils/glossary.js +0 -0
  314. package/dist/composables/utils/importExport.d.ts +0 -0
  315. package/dist/composables/utils/importExport.js +0 -0
  316. package/dist/composables/utils/print.d.ts +0 -0
  317. package/dist/composables/utils/print.js +0 -0
  318. package/dist/composables/utils/shopThemes.d.ts +0 -0
  319. package/dist/composables/utils/shopThemes.js +0 -0
  320. package/dist/composables/utils/statistics.d.ts +0 -0
  321. package/dist/composables/utils/statistics.js +0 -0
  322. package/dist/composables/utils/stock.d.ts +0 -0
  323. package/dist/composables/utils/stock.js +0 -0
  324. package/dist/composables/utils/stripe.d.ts +7 -0
  325. package/dist/composables/utils/stripe.js +14 -0
  326. package/dist/composables/utils/taxation.d.ts +0 -0
  327. package/dist/composables/utils/taxation.js +0 -0
  328. package/dist/composables/utils/tellFriends.d.ts +0 -0
  329. package/dist/composables/utils/tellFriends.js +0 -0
  330. package/dist/composables/validationRules/index.d.ts +1 -0
  331. package/dist/composables/validationRules/index.js +1 -0
  332. package/dist/composables/validationRules/password.d.ts +1 -0
  333. package/dist/composables/validationRules/password.js +20 -0
  334. package/dist/composables/validationRules/password.test.d.ts +1 -0
  335. package/dist/composables/validationRules/password.test.js +68 -0
  336. package/dist/composables/vendors/index.d.ts +0 -0
  337. package/dist/composables/vendors/index.js +0 -0
  338. package/dist/composables/vendors/registry.d.ts +0 -0
  339. package/dist/composables/vendors/registry.js +0 -0
  340. package/dist/composables/vendors/useAffiliates.d.ts +0 -0
  341. package/dist/composables/vendors/useAffiliates.js +0 -0
  342. package/dist/composables/vendors/useCommission.d.ts +0 -0
  343. package/dist/composables/vendors/useCommission.js +0 -0
  344. package/dist/modules/vue-head/composables/useHead.d.ts +1 -0
  345. package/dist/modules/vue-head/composables/useHead.js +3 -0
  346. package/dist/utils/client.d.ts +6 -0
  347. package/dist/utils/client.js +23 -0
  348. package/dist/utils/index.d.ts +15 -0
  349. package/dist/utils/index.js +38 -0
  350. package/dist/utils/normalizer.d.ts +12 -0
  351. package/dist/utils/normalizer.js +13 -0
  352. package/dist/utils/normalizers/magento.d.ts +3 -0
  353. package/dist/utils/normalizers/magento.js +23 -0
  354. package/dist/utils/normalizers/shopify.d.ts +3 -0
  355. package/dist/utils/normalizers/shopify.js +24 -0
  356. package/global.d.ts +149 -0
  357. package/package.json +2 -1
  358. package/tsconfig.json +19 -3
@@ -0,0 +1,55 @@
1
+ import { useAlternateContext } from '@meeovi/core';
2
+ export function useContentFallback() {
3
+ try {
4
+ const ctx = useAlternateContext();
5
+ const adapter = ctx.getAdapter('catalog');
6
+ // If a content-capable adapter is available and exposes methods, use it
7
+ if (adapter && typeof adapter.listShops === 'function') {
8
+ return {
9
+ adapter,
10
+ listShops: (opts) => adapter.listShops(opts),
11
+ getBrandBySlug: (slug) => adapter.getBrandBySlug?.(slug),
12
+ getPage: (id) => adapter.getPage?.(id)
13
+ };
14
+ }
15
+ }
16
+ catch (e) {
17
+ // ignore
18
+ }
19
+ // Fallback to Directus via Nuxt runtime
20
+ return {
21
+ adapter: null,
22
+ async listShops(params) {
23
+ const nuxtApp = useNuxtApp();
24
+ if (nuxtApp?.$directus && nuxtApp.$readItems) {
25
+ const res = await nuxtApp.$directus.request(nuxtApp.$readItems('shops', params || {}));
26
+ return res || [];
27
+ }
28
+ return [];
29
+ },
30
+ async listBrands(params) {
31
+ const nuxtApp = useNuxtApp();
32
+ if (nuxtApp?.$directus && nuxtApp.$readItems) {
33
+ const res = await nuxtApp.$directus.request(nuxtApp.$readItems('brands', params || {}));
34
+ return res || [];
35
+ }
36
+ return [];
37
+ },
38
+ async getBrandBySlug(slug) {
39
+ const nuxtApp = useNuxtApp();
40
+ if (nuxtApp?.$directus && nuxtApp.$readItems) {
41
+ const res = await nuxtApp.$directus.request(nuxtApp.$readItems('brands', { filter: { slug: { _eq: slug } }, limit: 1 }));
42
+ return res?.[0] || null;
43
+ }
44
+ return null;
45
+ },
46
+ async getPage(id) {
47
+ const nuxtApp = useNuxtApp();
48
+ if (nuxtApp?.$directus && nuxtApp.$readItem) {
49
+ return await nuxtApp.$directus.request(nuxtApp.$readItem('pages', id));
50
+ }
51
+ return null;
52
+ }
53
+ };
54
+ }
55
+ export default useContentFallback;
@@ -0,0 +1,2 @@
1
+ export * from './useCustomer';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './useCustomer';
2
+ export * from './types';
@@ -0,0 +1,13 @@
1
+ import type { Ref } from 'vue';
2
+ import type { Maybe, SfCustomer } from '../_types';
3
+ export interface UseCustomerState {
4
+ data: Maybe<SfCustomer>;
5
+ loading: boolean;
6
+ }
7
+ export type FetchCustomer = () => Promise<Ref<Maybe<SfCustomer>>>;
8
+ export interface UseCustomer {
9
+ data: Readonly<Ref<UseCustomerState['data']>>;
10
+ loading: Readonly<Ref<boolean>>;
11
+ fetchCustomer: FetchCustomer;
12
+ }
13
+ export type UseCustomerReturn = () => UseCustomer;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { UseCustomerReturn } from './types';
2
+ /**
3
+ * @description Composable managing customer data
4
+ * @returns {@link UseCustomerReturn}
5
+ * @example
6
+ * const { data, loading, fetchCustomer } = useCustomer();
7
+ */
8
+ export declare const useCustomer: UseCustomerReturn;
@@ -0,0 +1,34 @@
1
+ import { toRefs } from '@vueuse/shared';
2
+ import { computed } from 'vue';
3
+ import { getCommerceClient } from '../../utils/client';
4
+ import { useAsyncData, useState } from 'nuxt/app';
5
+ import { useHandleError } from '../useHandleError';
6
+ /**
7
+ * @description Composable managing customer data
8
+ * @returns {@link UseCustomerReturn}
9
+ * @example
10
+ * const { data, loading, fetchCustomer } = useCustomer();
11
+ */
12
+ export const useCustomer = () => {
13
+ const state = useState('useCustomer', () => ({
14
+ data: null,
15
+ loading: false,
16
+ }));
17
+ /** Function for fetching customer data
18
+ * @example
19
+ * fetchCustomer();
20
+ */
21
+ const fetchCustomer = async () => {
22
+ state.value.loading = true;
23
+ const client = getCommerceClient();
24
+ const { data, error } = await useAsyncData(() => client.getCustomer?.());
25
+ useHandleError(error.value);
26
+ state.value.data = data.value;
27
+ state.value.loading = false;
28
+ return computed(() => state.value.data);
29
+ };
30
+ return {
31
+ fetchCustomer,
32
+ ...toRefs(state.value),
33
+ };
34
+ };
@@ -0,0 +1,2 @@
1
+ export * from './useCustomerAddress';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './useCustomerAddress';
2
+ export * from './types';
@@ -0,0 +1,13 @@
1
+ import type { Ref } from 'vue';
2
+ import type { Maybe, SfAddress } from '../_types';
3
+ export interface UseCustomerAddressState {
4
+ data: Maybe<SfAddress>;
5
+ loading: boolean;
6
+ }
7
+ export type FetchCustomerAddress = () => Promise<Ref<Maybe<SfAddress>>>;
8
+ export interface UseCustomerAddress {
9
+ data: Readonly<Ref<UseCustomerAddressState['data']>>;
10
+ loading: Readonly<Ref<boolean>>;
11
+ fetchCustomerAddress: FetchCustomerAddress;
12
+ }
13
+ export type UseCustomerAddressReturn = () => UseCustomerAddress;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { UseCustomerAddressReturn } from './types';
2
+ /**
3
+ * @description Composable managing address data
4
+ * @returns {@link UseCustomerAddressReturn}
5
+ * @example
6
+ * const { data, loading, fetchCustomerAddress } = useCustomerAddress();
7
+ */
8
+ export declare const useCustomerAddress: UseCustomerAddressReturn;
@@ -0,0 +1,43 @@
1
+ import { toRefs } from '@vueuse/shared';
2
+ import { computed } from 'vue';
3
+ import { useAsyncData, useState } from 'nuxt/app';
4
+ import { useHandleError } from '../useHandleError';
5
+ /**
6
+ * @description Composable managing address data
7
+ * @returns {@link UseCustomerAddressReturn}
8
+ * @example
9
+ * const { data, loading, fetchCustomerAddress } = useCustomerAddress();
10
+ */
11
+ export const useCustomerAddress = () => {
12
+ const state = useState(`useCustomerAddress`, () => ({
13
+ data: null,
14
+ loading: false,
15
+ }));
16
+ /** Function for fetching address data
17
+ * @example
18
+ * fetchCustomerAddress();
19
+ */
20
+ const fetchCustomerAddress = async () => {
21
+ state.value.loading = true;
22
+ const { data, error } = await useAsyncData(() => Promise.resolve({
23
+ firstName: 'Hieronim',
24
+ lastName: 'Anonim',
25
+ address1: 'Oak Drive',
26
+ address2: '3633',
27
+ city: 'Colonie',
28
+ country: 'US',
29
+ phoneNumber: '+1 321 765 0987',
30
+ postalCode: '12205',
31
+ state: 'NY',
32
+ titleCode: '',
33
+ }));
34
+ useHandleError(error.value);
35
+ state.value.data = data.value;
36
+ state.value.loading = false;
37
+ return computed(() => state.value.data);
38
+ };
39
+ return {
40
+ fetchCustomerAddress,
41
+ ...toRefs(state.value),
42
+ };
43
+ };
@@ -0,0 +1,11 @@
1
+ declare const _default: {
2
+ firstName: string;
3
+ lastName: string;
4
+ phoneNumber: string;
5
+ address1: string;
6
+ address2: string;
7
+ city: string;
8
+ state: string;
9
+ postalCode: string;
10
+ };
11
+ export default _default;
@@ -0,0 +1,10 @@
1
+ export default {
2
+ firstName: 'Hieronim',
3
+ lastName: 'Anonim',
4
+ phoneNumber: '+1 321 765 0987',
5
+ address1: '3633',
6
+ address2: 'Oak Drive',
7
+ city: 'Colonie',
8
+ state: 'NY',
9
+ postalCode: '12205',
10
+ };
@@ -0,0 +1,2 @@
1
+ export * from './useCustomerOrder';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './useCustomerOrder';
2
+ export * from './types';
@@ -0,0 +1,28 @@
1
+ declare const _default: {
2
+ name: string;
3
+ quantity: number;
4
+ price: {
5
+ value: {
6
+ currency: string;
7
+ amount: number;
8
+ precisionAmount: string;
9
+ };
10
+ isDiscounted: boolean;
11
+ regularPrice: {
12
+ currency: string;
13
+ amount: number;
14
+ precisionAmount: string;
15
+ };
16
+ };
17
+ gallery: {
18
+ alt: string;
19
+ url: string;
20
+ }[];
21
+ attributes: {
22
+ label: string;
23
+ name: string;
24
+ value: string;
25
+ valueLabel: string;
26
+ }[];
27
+ };
28
+ export default _default;
@@ -0,0 +1,37 @@
1
+ export default {
2
+ name: 'Smartwatch Fitness Tracker',
3
+ quantity: 1,
4
+ price: {
5
+ value: {
6
+ currency: 'Dollar',
7
+ amount: 295.87,
8
+ precisionAmount: '295.87',
9
+ },
10
+ isDiscounted: false,
11
+ regularPrice: {
12
+ currency: 'Dollar',
13
+ amount: 295.87,
14
+ precisionAmount: '295.87',
15
+ },
16
+ },
17
+ gallery: [
18
+ {
19
+ alt: 'Smartwatch Fitness Tracker',
20
+ url: '/images/watch.png',
21
+ },
22
+ ],
23
+ attributes: [
24
+ {
25
+ label: 'Size',
26
+ name: 'Size',
27
+ value: '1.9″',
28
+ valueLabel: 'value',
29
+ },
30
+ {
31
+ name: 'Color',
32
+ label: 'color',
33
+ value: 'Black',
34
+ valueLabel: 'value',
35
+ },
36
+ ],
37
+ };
@@ -0,0 +1,32 @@
1
+ import type { Ref } from 'vue';
2
+ import type { Maybe, SfAddress, SfProduct } from '../_types';
3
+ export type OrderData = {
4
+ id: string;
5
+ date: string;
6
+ paymentAmount: number;
7
+ status: 'Completed' | 'Shipped' | 'Open' | 'Cancelled';
8
+ products: Array<Omit<SfProduct, 'id' | 'sku' | 'slug' | 'description' | 'primaryImage' | 'rating' | 'variants' | 'quantityLimit'> & {
9
+ quantity: number;
10
+ }>;
11
+ summary: {
12
+ subtotal: number;
13
+ delivery: number;
14
+ estimatedTax: number;
15
+ total: number;
16
+ };
17
+ billingAddress: Partial<SfAddress>;
18
+ shippingAddress: Partial<SfAddress>;
19
+ paymentMethod: string;
20
+ shipping: string;
21
+ };
22
+ export interface UseCustomerOrderState {
23
+ data: Maybe<OrderData>;
24
+ loading: boolean;
25
+ }
26
+ export type FetchCustomerOrder = (id: string) => Promise<Ref<Maybe<OrderData>>>;
27
+ export interface UseCustomerOrder {
28
+ data: Readonly<Ref<UseCustomerOrderState['data']>>;
29
+ loading: Readonly<Ref<boolean>>;
30
+ fetchCustomerOrder: FetchCustomerOrder;
31
+ }
32
+ export type UseCustomerOrderReturn = (id: string) => UseCustomerOrder;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { UseCustomerOrderReturn } from './types';
2
+ /**
3
+ * @description Composable managing customer order data
4
+ * @returns {@link UseCustomerOrderReturn}
5
+ * @example
6
+ * const { data, loading, fetchCustomerOrder } = useCustomerOrder();
7
+ */
8
+ export declare const useCustomerOrder: UseCustomerOrderReturn;
@@ -0,0 +1,52 @@
1
+ import { toRefs } from '@vueuse/shared';
2
+ import addressData from './adress';
3
+ import productData from './product';
4
+ import { useAsyncData, useState } from 'nuxt/app';
5
+ import { useHandleError } from '../useHandleError';
6
+ const order = {
7
+ id: '0e4fec5a-61e6-48b8-94cc-d5f77687e2b0',
8
+ date: '2022-08-11',
9
+ paymentAmount: 295.87,
10
+ paymentMethod: 'Credit Card',
11
+ shipping: 'Standard (FREE)',
12
+ summary: {
13
+ subtotal: 7037.99,
14
+ delivery: 0,
15
+ estimatedTax: 457.47,
16
+ total: 295.87,
17
+ },
18
+ billingAddress: addressData,
19
+ shippingAddress: addressData,
20
+ status: 'Completed',
21
+ products: [productData, productData],
22
+ };
23
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, unused-imports/no-unused-vars
24
+ const getCustomerOrder = (id) => order;
25
+ /**
26
+ * @description Composable managing customer order data
27
+ * @returns {@link UseCustomerOrderReturn}
28
+ * @example
29
+ * const { data, loading, fetchCustomerOrder } = useCustomerOrder();
30
+ */
31
+ export const useCustomerOrder = (id) => {
32
+ const state = useState(`useCustomerOrder-${id}`, () => ({
33
+ data: null,
34
+ loading: false,
35
+ }));
36
+ /** Function for fetching customer order data
37
+ * @example
38
+ * fetchCustomerOrder();
39
+ */
40
+ const fetchCustomerOrder = async (id) => {
41
+ state.value.loading = true;
42
+ const { data, error } = await useAsyncData(() => Promise.resolve(getCustomerOrder(id)));
43
+ useHandleError(error.value);
44
+ state.value.data = data.value;
45
+ state.value.loading = false;
46
+ return data;
47
+ };
48
+ return {
49
+ fetchCustomerOrder,
50
+ ...toRefs(state.value),
51
+ };
52
+ };
@@ -0,0 +1,2 @@
1
+ export * from './useCustomerOrders';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './useCustomerOrders';
2
+ export * from './types';
@@ -0,0 +1,15 @@
1
+ import type { Ref } from 'vue';
2
+ import type { Maybe } from '../_types';
3
+ import type { OrderData } from '../useCustomerOrder/types';
4
+ export type OrdersData = Pick<OrderData, 'id' | 'date' | 'paymentAmount' | 'status'>[];
5
+ export interface UseCustomerOrdersState {
6
+ data: Maybe<OrdersData>;
7
+ loading: boolean;
8
+ }
9
+ export type FetchCustomerOrders = () => Promise<Ref<Maybe<OrdersData>>>;
10
+ export interface UseCustomerOrders {
11
+ data: Readonly<Ref<UseCustomerOrdersState['data']>>;
12
+ loading: Readonly<Ref<boolean>>;
13
+ fetchCustomerOrders: FetchCustomerOrders;
14
+ }
15
+ export type UseCustomerOrdersReturn = () => UseCustomerOrders;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { UseCustomerOrdersReturn } from './types';
2
+ /**
3
+ * @description Composable managing customer orders data
4
+ * @returns {@link UseCustomerOrdersReturn}
5
+ * @example
6
+ * const { data, loading, fetchCustomerOrders } = useCustomerOrders();
7
+ */
8
+ export declare const useCustomerOrders: UseCustomerOrdersReturn;
@@ -0,0 +1,42 @@
1
+ import { toRefs } from '@vueuse/shared';
2
+ import { computed } from 'vue';
3
+ import { useAsyncData, useState } from 'nuxt/app';
4
+ import { useHandleError } from '../useHandleError';
5
+ const order = {
6
+ id: '0e4fec5a-61e6-48b8-94cc-d5f77687e2b0',
7
+ date: '2022-08-11',
8
+ paymentAmount: 295.87,
9
+ };
10
+ /**
11
+ * @description Composable managing customer orders data
12
+ * @returns {@link UseCustomerOrdersReturn}
13
+ * @example
14
+ * const { data, loading, fetchCustomerOrders } = useCustomerOrders();
15
+ */
16
+ export const useCustomerOrders = () => {
17
+ const state = useState('useCustomerOrders', () => ({
18
+ data: null,
19
+ loading: false,
20
+ }));
21
+ /** Function for fetching customer orders data
22
+ * @example
23
+ * fetchCustomerOrders();
24
+ */
25
+ const fetchCustomerOrders = async () => {
26
+ state.value.loading = true;
27
+ const { data, error } = await useAsyncData(() => Promise.resolve([
28
+ { ...order, status: 'Completed' },
29
+ { ...order, status: 'Shipped' },
30
+ { ...order, status: 'Open' },
31
+ { ...order, status: 'Cancelled' },
32
+ ]));
33
+ useHandleError(error.value);
34
+ state.value.data = data.value;
35
+ state.value.loading = false;
36
+ return computed(() => state.value.data);
37
+ };
38
+ return {
39
+ fetchCustomerOrders,
40
+ ...toRefs(state.value),
41
+ };
42
+ };
@@ -0,0 +1,2 @@
1
+ export * from './useCustomerReturns';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './useCustomerReturns';
2
+ export * from './types';
@@ -0,0 +1,13 @@
1
+ import type { Ref } from 'vue';
2
+ import { Maybe } from '../_types';
3
+ export interface UseCustomerReturnsState {
4
+ data: Maybe<unknown[]>;
5
+ loading: boolean;
6
+ }
7
+ export type FetchCustomerReturns = () => Promise<Ref<unknown[] | null>>;
8
+ export interface UseCustomerReturns {
9
+ data: Readonly<Ref<UseCustomerReturnsState['data']>>;
10
+ loading: Readonly<Ref<boolean>>;
11
+ fetchCustomerReturns: FetchCustomerReturns;
12
+ }
13
+ export type UseCustomerReturnsReturn = () => UseCustomerReturns;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { UseCustomerReturnsReturn } from './types';
2
+ /**
3
+ * @description Composable managing returns data
4
+ * @returns {@link UseCustomerReturnsReturn}
5
+ * @example
6
+ * const { data, loading, fetchCustomerReturns } = useCustomerReturns();
7
+ */
8
+ export declare const useCustomerReturns: UseCustomerReturnsReturn;
@@ -0,0 +1,32 @@
1
+ import { toRefs } from '@vueuse/shared';
2
+ import { computed } from 'vue';
3
+ import { useAsyncData, useState } from 'nuxt/app';
4
+ import { useHandleError } from '../useHandleError';
5
+ /**
6
+ * @description Composable managing returns data
7
+ * @returns {@link UseCustomerReturnsReturn}
8
+ * @example
9
+ * const { data, loading, fetchCustomerReturns } = useCustomerReturns();
10
+ */
11
+ export const useCustomerReturns = () => {
12
+ const state = useState(`useCustomerReturns`, () => ({
13
+ data: [],
14
+ loading: false,
15
+ }));
16
+ /** Function for fetching returns data
17
+ * @example
18
+ * fetchCustomerReturns();
19
+ */
20
+ const fetchCustomerReturns = async () => {
21
+ state.value.loading = true;
22
+ const { data, error } = await useAsyncData(() => Promise.resolve([]));
23
+ useHandleError(error.value);
24
+ state.value.data = data.value;
25
+ state.value.loading = false;
26
+ return computed(() => state.value.data);
27
+ };
28
+ return {
29
+ fetchCustomerReturns,
30
+ ...toRefs(state.value),
31
+ };
32
+ };
@@ -0,0 +1 @@
1
+ export * from './useHandleError';
@@ -0,0 +1 @@
1
+ export * from './useHandleError';
@@ -0,0 +1,7 @@
1
+ import type { Maybe } from '../_types';
2
+ import { H3Error } from 'h3';
3
+ export type ErrorParams = Maybe<Partial<H3Error> & {
4
+ status?: number;
5
+ statusText?: string;
6
+ }>;
7
+ export type UseHandleError = (error: ErrorParams) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { UseHandleError } from './types';
2
+ /**
3
+ * @description Composable for handling errors.
4
+ * @param error {@link ErrorParams}
5
+ * @returns Throws an error if there is one.
6
+ * @example
7
+ * const { data, error } = await fetch(data);
8
+ * useHandleError(error.value);
9
+ */
10
+ export declare const useHandleError: UseHandleError;
@@ -0,0 +1,24 @@
1
+ import { createError } from 'h3';
2
+ const defaultError = {
3
+ status: 500,
4
+ message: 'An error occurred',
5
+ statusMessage: 'An error occurred',
6
+ };
7
+ /**
8
+ * @description Composable for handling errors.
9
+ * @param error {@link ErrorParams}
10
+ * @returns Throws an error if there is one.
11
+ * @example
12
+ * const { data, error } = await fetch(data);
13
+ * useHandleError(error.value);
14
+ */
15
+ export const useHandleError = (error) => {
16
+ if (error) {
17
+ throw createError({
18
+ statusCode: error.status || defaultError.status,
19
+ message: error.message ?? defaultError.message,
20
+ statusMessage: error.message ?? defaultError.statusMessage,
21
+ fatal: true,
22
+ });
23
+ }
24
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Composable for setting the page title.
3
+ * Used in layouts. Title can be changed in pages through the `useHead` composable.
4
+ */
5
+ export declare const usePageTitle: () => void;
@@ -0,0 +1,14 @@
1
+ import useHead from "../modules/vue-head/composables/useHead";
2
+ import { useAppConfig } from "nuxt/app";
3
+ /**
4
+ * Composable for setting the page title.
5
+ * Used in layouts. Title can be changed in pages through the `useHead` composable.
6
+ */
7
+ export const usePageTitle = () => {
8
+ const { titleSuffix } = useAppConfig();
9
+ useHead({
10
+ titleTemplate: (titleChunk) => {
11
+ return titleChunk ? `${titleChunk} | ${titleSuffix}` : titleSuffix;
12
+ },
13
+ });
14
+ };
@@ -0,0 +1,2 @@
1
+ export * from './useProduct';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './useProduct';
2
+ export * from './types';
@@ -0,0 +1,13 @@
1
+ import type { Ref } from 'vue';
2
+ import type { SfProduct, Maybe } from '../_types';
3
+ export interface UseProductState {
4
+ data: Maybe<SfProduct>;
5
+ loading: boolean;
6
+ }
7
+ export type FetchProduct = (slug: string) => Promise<Ref<Maybe<SfProduct>>>;
8
+ export interface UseProduct {
9
+ data: Readonly<Ref<UseProductState['data']>>;
10
+ loading: Readonly<Ref<boolean>>;
11
+ fetchProduct: FetchProduct;
12
+ }
13
+ export type UseProductReturn = (slug: string) => UseProduct;