@mframework/layer-commerce 0.0.3

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 (355) hide show
  1. package/README.md +101 -0
  2. package/app/cart/useCart.ts +1 -0
  3. package/app/components/ChevronIcon/ChevronIcon.config.ts +17 -0
  4. package/app/components/DateSelect/DateSelect.config.ts +15 -0
  5. package/app/components/Field/Field.config.ts +14 -0
  6. package/app/components/FieldDate/FieldDate.config.ts +16 -0
  7. package/app/components/Form/Form.type.ts +8 -0
  8. package/app/components/Product/Product.config.ts +19 -0
  9. package/app/components/Product/Stock.config.ts +15 -0
  10. package/app/components/ProductCustomizableOption/ProductCustomizableOption.config.ts +5 -0
  11. package/app/components/ProductGallery/ProductGallery.config.ts +15 -0
  12. package/app/components/ProductReviews/ProductReviews.config.ts +8 -0
  13. package/app/composables/_types.ts +18 -0
  14. package/app/composables/adapters/abstract/cartAdapter.ts +0 -0
  15. package/app/composables/adapters/abstract/categoryAdapter.ts +0 -0
  16. package/app/composables/adapters/abstract/customerAdapter.ts +0 -0
  17. package/app/composables/adapters/abstract/inventoryAdapter.ts +0 -0
  18. package/app/composables/adapters/abstract/orderAdapter.ts +0 -0
  19. package/app/composables/adapters/abstract/productAdapter.ts +7 -0
  20. package/app/composables/cart/registry.ts +20 -0
  21. package/app/composables/cart/types.ts +18 -0
  22. package/app/composables/cart/useCart.ts +15 -0
  23. package/app/composables/config.ts +19 -0
  24. package/app/composables/defs/apiDefinitions.ts +55 -0
  25. package/app/composables/defs/extension.feature +40 -0
  26. package/app/composables/defs/extension.mocks.ts +39 -0
  27. package/app/composables/defs/extension.test.ts +280 -0
  28. package/app/composables/defs/extension.ts +236 -0
  29. package/app/composables/defs/index.ts +3 -0
  30. package/app/composables/defs/typeHelpers.ts +8 -0
  31. package/app/composables/defs/types.ts +136 -0
  32. package/app/composables/domain/product.ts +12 -0
  33. package/app/composables/featured-products.ts +20 -0
  34. package/app/composables/helpers/contextualizedNormalizers.feature +14 -0
  35. package/app/composables/helpers/contextualizedNormalizers.test.ts +85 -0
  36. package/app/composables/helpers/contextualizedNormalizers.ts +20 -0
  37. package/app/composables/helpers/index.ts +1 -0
  38. package/app/composables/index.ts +9 -0
  39. package/app/composables/methods/auth.ts +83 -0
  40. package/app/composables/methods/cart.ts +119 -0
  41. package/app/composables/methods/category.ts +27 -0
  42. package/app/composables/methods/checkout.ts +54 -0
  43. package/app/composables/methods/customer.ts +52 -0
  44. package/app/composables/methods/helpers.ts +5 -0
  45. package/app/composables/methods/index.ts +75 -0
  46. package/app/composables/methods/order.ts +39 -0
  47. package/app/composables/methods/product.ts +95 -0
  48. package/app/composables/methods/settings.ts +16 -0
  49. package/app/composables/models/cart.ts +95 -0
  50. package/app/composables/models/category.ts +13 -0
  51. package/app/composables/models/checkout.ts +17 -0
  52. package/app/composables/models/customer.ts +16 -0
  53. package/app/composables/models/facets.ts +25 -0
  54. package/app/composables/models/index.ts +94 -0
  55. package/app/composables/models/order.ts +43 -0
  56. package/app/composables/models/product.ts +73 -0
  57. package/app/composables/models/shared.ts +75 -0
  58. package/app/composables/orders.ts +69 -0
  59. package/app/composables/products/registry.ts +86 -0
  60. package/app/composables/products/types.ts +8 -0
  61. package/app/composables/products/useEvents.ts +26 -0
  62. package/app/composables/products/useGiftCards.ts +29 -0
  63. package/app/composables/products/useProducts.ts +12 -0
  64. package/app/composables/products/useSubscriptions.ts +29 -0
  65. package/app/composables/products.ts +30 -0
  66. package/app/composables/registry.ts +24 -0
  67. package/app/composables/useAuth.ts +43 -0
  68. package/app/composables/useBreakpoints/index.ts +1 -0
  69. package/app/composables/useBreakpoints/useBreakpoints.ts +28 -0
  70. package/app/composables/useCache.ts +38 -0
  71. package/app/composables/useCart/__tests__/useCart.spec.ts +11 -0
  72. package/app/composables/useCart/index.ts +1 -0
  73. package/app/composables/useCart/types.ts +17 -0
  74. package/app/composables/useCart/useCart.ts +46 -0
  75. package/app/composables/useCartShippingMethods/__tests__/useCartShippingMethods.spec.ts +11 -0
  76. package/app/composables/useCartShippingMethods/index.ts +1 -0
  77. package/app/composables/useCartShippingMethods/types.ts +17 -0
  78. package/app/composables/useCartShippingMethods/useCartShippingMethods.ts +47 -0
  79. package/app/composables/useCatalog.ts +26 -0
  80. package/app/composables/useContent.ts +26 -0
  81. package/app/composables/useCustomer/__tests__/useCustomer.spec.ts +25 -0
  82. package/app/composables/useCustomer/index.ts +2 -0
  83. package/app/composables/useCustomer/types.ts +17 -0
  84. package/app/composables/useCustomer/useCustomer.ts +40 -0
  85. package/app/composables/useCustomerAddress/__tests__/useCustomerAddress.spec.ts +11 -0
  86. package/app/composables/useCustomerAddress/index.ts +2 -0
  87. package/app/composables/useCustomerAddress/types.ts +17 -0
  88. package/app/composables/useCustomerAddress/useCustomerAddress.ts +55 -0
  89. package/app/composables/useCustomerOrder/__tests__/useCustomerOrder.spec.ts +11 -0
  90. package/app/composables/useCustomerOrder/adress.ts +10 -0
  91. package/app/composables/useCustomerOrder/index.ts +2 -0
  92. package/app/composables/useCustomerOrder/product.ts +37 -0
  93. package/app/composables/useCustomerOrder/types.ts +40 -0
  94. package/app/composables/useCustomerOrder/useCustomerOrder.ts +63 -0
  95. package/app/composables/useCustomerOrders/__tests__/useCustomerOrders.spec.ts +11 -0
  96. package/app/composables/useCustomerOrders/index.ts +2 -0
  97. package/app/composables/useCustomerOrders/types.ts +20 -0
  98. package/app/composables/useCustomerOrders/useCustomerOrders.ts +56 -0
  99. package/app/composables/useCustomerReturns/__tests__/useCustomerReturns.spec.ts +11 -0
  100. package/app/composables/useCustomerReturns/index.ts +2 -0
  101. package/app/composables/useCustomerReturns/types.ts +17 -0
  102. package/app/composables/useCustomerReturns/useCustomerReturns.ts +41 -0
  103. package/app/composables/useHandleError/index.ts +1 -0
  104. package/app/composables/useHandleError/types.ts +11 -0
  105. package/app/composables/useHandleError/useHandleError.ts +27 -0
  106. package/app/composables/useInventory.ts +29 -0
  107. package/app/composables/useLoading.ts +21 -0
  108. package/app/composables/useNotification.ts +21 -0
  109. package/app/composables/usePageTitle.ts +20 -0
  110. package/app/composables/useProduct/index.ts +2 -0
  111. package/app/composables/useProduct/types.ts +17 -0
  112. package/app/composables/useProduct/useProduct.ts +42 -0
  113. package/app/composables/useProductAttribute/__tests__/useProduct.mock.ts +31 -0
  114. package/app/composables/useProductAttribute/__tests__/useProductAttribute.spec.ts +14 -0
  115. package/app/composables/useProductAttribute/index.ts +1 -0
  116. package/app/composables/useProductAttribute/useProductAttribute.ts +37 -0
  117. package/app/composables/useProductRecommended/__tests__/useProductRecommended.spec.ts +12 -0
  118. package/app/composables/useProductRecommended/index.ts +1 -0
  119. package/app/composables/useProductRecommended/types.ts +17 -0
  120. package/app/composables/useProductRecommended/useProductRecommended.ts +43 -0
  121. package/app/composables/useProductReviews/__tests__/productReviews.mock.ts +20 -0
  122. package/app/composables/useProductReviews/__tests__/useProductReviews.spec.ts +22 -0
  123. package/app/composables/useProductReviews/index.ts +2 -0
  124. package/app/composables/useProductReviews/types.ts +17 -0
  125. package/app/composables/useProductReviews/useProductReviews.ts +46 -0
  126. package/app/composables/useProducts/__tests__/useProducts.spec.ts +11 -0
  127. package/app/composables/useProducts/types.ts +22 -0
  128. package/app/composables/useProducts/useProducts.ts +41 -0
  129. package/app/composables/useTax.ts +27 -0
  130. package/app/composables/validationRules/index.ts +1 -0
  131. package/app/composables/validationRules/password.feature +67 -0
  132. package/app/composables/validationRules/password.test.ts +89 -0
  133. package/app/composables/validationRules/password.ts +25 -0
  134. package/app/normalizers/Cart.query.ts +729 -0
  135. package/app/normalizers/Cart.type.ts +285 -0
  136. package/app/normalizers/Category.query.ts +146 -0
  137. package/app/normalizers/Category.type.ts +55 -0
  138. package/app/normalizers/CheckEmail.query.ts +28 -0
  139. package/app/normalizers/Checkout.query.ts +253 -0
  140. package/app/normalizers/Checkout.type.ts +77 -0
  141. package/app/normalizers/CmsBlock.query.ts +57 -0
  142. package/app/normalizers/CmsBlock.type.ts +25 -0
  143. package/app/normalizers/CmsPage.query.ts +59 -0
  144. package/app/normalizers/CmsPage.type.ts +26 -0
  145. package/app/normalizers/Config.query.ts +224 -0
  146. package/app/normalizers/Config.type.ts +196 -0
  147. package/app/normalizers/ContactForm.query.ts +49 -0
  148. package/app/normalizers/CreditMemo.type.ts +49 -0
  149. package/app/normalizers/GiftCard.type.ts +24 -0
  150. package/app/normalizers/Invoice.type.ts +58 -0
  151. package/app/normalizers/Menu.query.ts +54 -0
  152. package/app/normalizers/Menu.type.ts +22 -0
  153. package/app/normalizers/MyAccount.query.ts +268 -0
  154. package/app/normalizers/MyAccount.type.ts +129 -0
  155. package/app/normalizers/NewsletterSubscription.query.ts +38 -0
  156. package/app/normalizers/Order.query.ts +741 -0
  157. package/app/normalizers/Order.type.ts +268 -0
  158. package/app/normalizers/Payment.type.ts +28 -0
  159. package/app/normalizers/ProductAlerts.query.ts +23 -0
  160. package/app/normalizers/ProductCompare.query.ts +226 -0
  161. package/app/normalizers/ProductCompare.type.ts +90 -0
  162. package/app/normalizers/ProductList.query.ts +1620 -0
  163. package/app/normalizers/ProductList.type.ts +726 -0
  164. package/app/normalizers/Region.query.ts +58 -0
  165. package/app/normalizers/Region.type.ts +23 -0
  166. package/app/normalizers/Return.type.ts +50 -0
  167. package/app/normalizers/Review.query.ts +81 -0
  168. package/app/normalizers/Review.type.ts +42 -0
  169. package/app/normalizers/Slider.query.ts +72 -0
  170. package/app/normalizers/Slider.type.ts +26 -0
  171. package/app/normalizers/StoreInPickUp.query.ts +54 -0
  172. package/app/normalizers/StoreInPickUp.type.ts +59 -0
  173. package/app/normalizers/Subscription.type.ts +25 -0
  174. package/app/normalizers/Transaction.type.ts +20 -0
  175. package/app/normalizers/UrlRewrites.query.ts +55 -0
  176. package/app/normalizers/UrlRewrites.type.ts +25 -0
  177. package/app/normalizers/Wishlist.query.ts +202 -0
  178. package/app/normalizers/Wishlist.type.ts +42 -0
  179. package/app/pages/brand/[...slug].vue +76 -0
  180. package/app/pages/brands.vue +67 -0
  181. package/app/pages/cart.vue +142 -0
  182. package/app/pages/compare.vue +166 -0
  183. package/app/pages/departments/[...slug].vue +353 -0
  184. package/app/pages/departments/category/[...slug].vue +114 -0
  185. package/app/pages/incentive/[...id].vue +66 -0
  186. package/app/pages/invoice/[id].vue +309 -0
  187. package/app/pages/order/[id].vue +327 -0
  188. package/app/pages/product/[...id].vue +309 -0
  189. package/app/pages/product/showcases/index.vue +86 -0
  190. package/app/pages/shipment/[...id].vue +176 -0
  191. package/app/pages/shop/[...slug].vue +158 -0
  192. package/app/pages/shops.vue +76 -0
  193. package/app/pages/subscription/[...id].vue +147 -0
  194. package/app/pages/transaction/[...id].vue +74 -0
  195. package/app/routes/CategoryPage/CategoryPage.config.ts +28 -0
  196. package/app/routes/CategoryPage/CategoryPage.type.ts +8 -0
  197. package/app/routes/Checkout/Checkout.config.ts +3 -0
  198. package/app/routes/Checkout/Checkout.type.ts +14 -0
  199. package/app/routes/MyAccount/MyAccount.config.ts +1 -0
  200. package/app/routes/SearchPage/SearchPage.config.ts +1 -0
  201. package/app/routes/UrlRewrites/UrlRewrites.config.ts +5 -0
  202. package/app/stores/Cart/Cart.type.ts +26 -0
  203. package/app/stores/MyAccount/MyAccount.action.ts +7 -0
  204. package/app/stores/Notification/Notification.action.ts +40 -0
  205. package/app/stores/Notification/Notification.type.ts +16 -0
  206. package/app/stores/Popup/Popup.action.ts +30 -0
  207. package/app/stores/Product/Product.dispatcher.ts +53 -0
  208. package/app/stores/Product/Product.reducer.ts +12 -0
  209. package/app/stores/ProductList/ProductList.dispatcher.ts +35 -0
  210. package/app/stores/ProductList/ProductList.reducer.ts +13 -0
  211. package/app/stores/Store.type.ts +31 -0
  212. package/app/stores/Wishlist/Wishlist.type.ts +12 -0
  213. package/app/stores/cart.ts +218 -0
  214. package/app/stores/cartStore.ts +224 -0
  215. package/app/stores/checkout.ts +18 -0
  216. package/app/stores/compare.ts +65 -0
  217. package/app/stores/currency.js +29 -0
  218. package/app/stores/digital-products.js +11 -0
  219. package/app/stores/orders.ts +172 -0
  220. package/app/stores/product.ts +34 -0
  221. package/app/stores/productList.ts +35 -0
  222. package/app/stores/productListInfo.ts +0 -0
  223. package/app/stores/products.ts +118 -0
  224. package/app/stores/recentlyViewedProducts.ts +56 -0
  225. package/app/stores/review.ts +33 -0
  226. package/app/stores/storeInPickUp.ts +21 -0
  227. package/app/stores/user.ts +20 -0
  228. package/app/stores/wishlist.ts +46 -0
  229. package/app/types/Account.type.ts +141 -0
  230. package/app/types/Breadcrumbs.type.ts +23 -0
  231. package/app/types/CMS.type.ts +33 -0
  232. package/app/types/Category.type.ts +67 -0
  233. package/app/types/Checkout.type.ts +58 -0
  234. package/app/types/Common.type.ts +77 -0
  235. package/app/types/Config.type.ts +47 -0
  236. package/app/types/Device.type.ts +37 -0
  237. package/app/types/Direction.type.ts +23 -0
  238. package/app/types/Downloadable.type.ts +24 -0
  239. package/app/types/Error.type.ts +22 -0
  240. package/app/types/Field.type.ts +151 -0
  241. package/app/types/Global.type.ts +156 -0
  242. package/app/types/Graphql.type.ts +4497 -0
  243. package/app/types/Layout.type.ts +18 -0
  244. package/app/types/Menu.type.ts +39 -0
  245. package/app/types/MiniCart.type.ts +61 -0
  246. package/app/types/NotificationList.type.ts +34 -0
  247. package/app/types/Order.type.ts +174 -0
  248. package/app/types/Price.type.ts +72 -0
  249. package/app/types/ProductCompare.type.ts +24 -0
  250. package/app/types/ProductList.type.ts +351 -0
  251. package/app/types/Rating.type.ts +42 -0
  252. package/app/types/Router.type.ts +67 -0
  253. package/app/types/Slider.type.ts +25 -0
  254. package/app/types/StockStatus.type.ts +21 -0
  255. package/app/types/domain/index.ts +94 -0
  256. package/app/types/index.ts +33 -0
  257. package/app/types/shims.d.ts +52 -0
  258. package/app/types/tilework-opus.d.ts +48 -0
  259. package/app/utils/Address/Address.type.ts +28 -0
  260. package/app/utils/Address/index.ts +325 -0
  261. package/app/utils/Auth/IsSignedIn.ts +4 -0
  262. package/app/utils/Auth/Token.ts +9 -0
  263. package/app/utils/Base64/Base64.ts +16 -0
  264. package/app/utils/Base64/index.ts +12 -0
  265. package/app/utils/Browser/Browser.ts +29 -0
  266. package/app/utils/Browser/index.ts +12 -0
  267. package/app/utils/BrowserDatabase/BrowserDatabase.ts +70 -0
  268. package/app/utils/BrowserDatabase/index.ts +12 -0
  269. package/app/utils/CSS/CSS.ts +65 -0
  270. package/app/utils/CSS/index.ts +12 -0
  271. package/app/utils/Cache/Cache.ts +99 -0
  272. package/app/utils/Cart/Cart.ts +300 -0
  273. package/app/utils/Cart/Cart.type.ts +76 -0
  274. package/app/utils/Cart/Token.ts +59 -0
  275. package/app/utils/Cart/index.ts +13 -0
  276. package/app/utils/Category/Filters.ts +39 -0
  277. package/app/utils/Category/index.ts +12 -0
  278. package/app/utils/Common/index.ts +32 -0
  279. package/app/utils/Compare/Compare.ts +89 -0
  280. package/app/utils/Compare/index.ts +12 -0
  281. package/app/utils/Currency/Currency.ts +84 -0
  282. package/app/utils/Currency/index.ts +12 -0
  283. package/app/utils/DynamicReducer/DynamicReducer.type.ts +14 -0
  284. package/app/utils/DynamicReducer/Helper.ts +30 -0
  285. package/app/utils/DynamicReducer/index.tsx +35 -0
  286. package/app/utils/ElementTransition/ElementTransition.ts +100 -0
  287. package/app/utils/Form/Extract.ts +316 -0
  288. package/app/utils/Form/Form.ts +46 -0
  289. package/app/utils/Form/Form.type.ts +60 -0
  290. package/app/utils/Form/Transform.ts +33 -0
  291. package/app/utils/FormPortalCollector/index.ts +45 -0
  292. package/app/utils/History/History.type.ts +31 -0
  293. package/app/utils/History/index.ts +17 -0
  294. package/app/utils/Manipulations/Array.ts +18 -0
  295. package/app/utils/Manipulations/Date.ts +36 -0
  296. package/app/utils/Manipulations/index.ts +14 -0
  297. package/app/utils/Media/Media.ts +27 -0
  298. package/app/utils/Media/index.ts +13 -0
  299. package/app/utils/Menu/Menu.ts +116 -0
  300. package/app/utils/Menu/Menu.type.ts +37 -0
  301. package/app/utils/Menu/index.ts +12 -0
  302. package/app/utils/Mobile/index.ts +13 -0
  303. package/app/utils/Mobile/isMobile.ts +34 -0
  304. package/app/utils/Orders/Orders.ts +71 -0
  305. package/app/utils/Orders/Orders.type.ts +19 -0
  306. package/app/utils/Orders/index.ts +13 -0
  307. package/app/utils/Polyfill/index.ts +336 -0
  308. package/app/utils/Preload/CategoryPreload.ts +74 -0
  309. package/app/utils/Preload/ProductPreload.ts +28 -0
  310. package/app/utils/Preload/index.ts +75 -0
  311. package/app/utils/Price/Price.config.ts +189 -0
  312. package/app/utils/Price/Price.ts +63 -0
  313. package/app/utils/Price/index.ts +12 -0
  314. package/app/utils/Product/Extract.ts +652 -0
  315. package/app/utils/Product/Product.ts +575 -0
  316. package/app/utils/Product/Product.type.ts +260 -0
  317. package/app/utils/Product/Transform.ts +382 -0
  318. package/app/utils/Product/index.ts +12 -0
  319. package/app/utils/Promise/MakeCancelable.ts +44 -0
  320. package/app/utils/Promise/Promise.type.ts +15 -0
  321. package/app/utils/Promise/index.ts +13 -0
  322. package/app/utils/Query/Field.ts +71 -0
  323. package/app/utils/Query/Fragment.ts +22 -0
  324. package/app/utils/Query/PrepareDocument.ts +119 -0
  325. package/app/utils/Query/Query.type.ts +26 -0
  326. package/app/utils/Query/index.ts +15 -0
  327. package/app/utils/Request/Config.ts +21 -0
  328. package/app/utils/Request/DataContainer.ts +102 -0
  329. package/app/utils/Request/Debounce.ts +48 -0
  330. package/app/utils/Request/Error.ts +31 -0
  331. package/app/utils/Request/Hash.ts +88 -0
  332. package/app/utils/Request/LowPriorityLoad.ts +32 -0
  333. package/app/utils/Request/LowPriorityRender.ts +55 -0
  334. package/app/utils/Request/Mutation.ts +25 -0
  335. package/app/utils/Request/Query.ts +25 -0
  336. package/app/utils/Request/QueryDispatcher.ts +135 -0
  337. package/app/utils/Request/Request.ts +310 -0
  338. package/app/utils/Store/Store.type.ts +26 -0
  339. package/app/utils/Store/index.ts +71 -0
  340. package/app/utils/Url/Url.ts +297 -0
  341. package/app/utils/Url/index.ts +12 -0
  342. package/app/utils/Validator/Config.ts +96 -0
  343. package/app/utils/Validator/Validator.ts +268 -0
  344. package/app/utils/Validator/Validator.type.ts +47 -0
  345. package/app/utils/Validator/index.ts +12 -0
  346. package/app/utils/Wishlist/Wishlist.ts +65 -0
  347. package/app/utils/Wishlist/index.ts +12 -0
  348. package/app/utils/client.ts +280 -0
  349. package/app/utils/index.ts +53 -0
  350. package/app/utils/normalizer.ts +23 -0
  351. package/app/utils/normalizers/magento.ts +29 -0
  352. package/app/utils/normalizers/shopify.ts +29 -0
  353. package/nuxt.config.ts +11 -0
  354. package/package.json +43 -0
  355. package/tsconfig.json +45 -0
@@ -0,0 +1,46 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ import { FormFields } from 'Component/Form/Form.type';
13
+ import { ValidationDOMOutput } from '../../utils/Validator/Validator.type';
14
+
15
+ /**
16
+ * Returns name: value pair object for form output.
17
+ * @param fields (Array)
18
+ * @param validation ({})
19
+ * @namespace ../../utils/Form/scrollToError
20
+ */
21
+ export const scrollToError = (fields: FormFields | null, validation: ValidationDOMOutput | boolean = {}): void => {
22
+ if (typeof validation === 'boolean' || !Array.isArray(fields) || fields.length === 0) {
23
+ return;
24
+ }
25
+
26
+ const { errorFields = [] } = validation;
27
+
28
+ if (errorFields.length === 0) {
29
+ return;
30
+ }
31
+
32
+ const { name } = (errorFields as Array<Array<{ name: string }>>)[0][0];
33
+ const errorItem = fields.find(({ name: itemName }) => itemName === name);
34
+
35
+ if (!errorItem) {
36
+ return;
37
+ }
38
+
39
+ const { field } = errorItem as { field: HTMLElement };
40
+
41
+ if (field) {
42
+ field.scrollIntoView({ behavior: 'smooth', block: 'center' });
43
+ }
44
+ };
45
+
46
+ export default scrollToError;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework-theme
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ import { FieldDateType } from 'Component/FieldDate/FieldDate.config';
13
+
14
+ export interface YearRangeAttribute {
15
+ minYear: number;
16
+ maxYear: number;
17
+ }
18
+
19
+ export interface DateRangeAttribute {
20
+ minDate: Date;
21
+ maxDate: Date;
22
+ }
23
+
24
+ export interface DateMap {
25
+ d: string;
26
+ m: string;
27
+ y: string;
28
+ }
29
+
30
+ export interface DatesData {
31
+ type: FieldDateType;
32
+ year?: string;
33
+ month?: string;
34
+ day?: string;
35
+ hours?: string;
36
+ minutes?: string;
37
+ ampm?: string;
38
+ name: string;
39
+ }
40
+
41
+ export interface DateObject {
42
+ name: string;
43
+ type: FieldDateType;
44
+ value: string;
45
+ }
46
+
47
+ export interface FieldData<T = FieldValue> {
48
+ field?: HTMLInputElement;
49
+ name: string;
50
+ type: string;
51
+ value: T;
52
+ }
53
+
54
+ export type GetFieldsData<AsObject extends boolean = false> = AsObject extends true
55
+ ? Record<string, DateObject | FieldData>
56
+ : Array<DateObject | FieldData>;
57
+
58
+ export type FieldValue<
59
+ T = unknown, isUnknownValue = true,
60
+ > = isUnknownValue extends true ? string | number | boolean | undefined | Date : T;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ import { FieldData, FieldValue } from './Form.type';
13
+
14
+ /**
15
+ * Returns name: value pair object for form output.
16
+ * @param fields (Array|Object)
17
+ * @returns {{}}
18
+ * @namespace ../../utils/Form/Transform/transformToNameValuePair
19
+ */
20
+ export const transformToNameValuePair = <T>(
21
+ fields: Record<string, FieldData> | FieldData[],
22
+ ): T => {
23
+ const filteredFields: Record<string, FieldValue> = {};
24
+ const arrayFormat = !Array.isArray(fields) ? Object.values(fields) : fields;
25
+
26
+ arrayFormat.forEach(({ value, name }) => {
27
+ filteredFields[name] = value;
28
+ });
29
+
30
+ return filteredFields as unknown as T;
31
+ };
32
+
33
+ export default transformToNameValuePair;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ /** @namespace ../../utils/FormPortalCollector/Index */
13
+ export class FormPortalCollector <
14
+ T extends string,
15
+ U extends () => void,
16
+ S extends string,
17
+ > {
18
+ portalsObservers: Record<string, Record<string, U>> = {};
19
+
20
+ subscribe(id: T, f: U, name: S): void {
21
+ if (this.portalsObservers[id]) {
22
+ this.portalsObservers[id][name] = f;
23
+
24
+ return;
25
+ }
26
+
27
+ this.portalsObservers[id] = { [name]: f };
28
+ }
29
+
30
+ unsubscribe(id: T, name: S): void {
31
+ if (!this.portalsObservers[id]) {
32
+ return;
33
+ }
34
+ // eslint-disable-next-line fp/no-delete
35
+ delete this.portalsObservers[id][name];
36
+ }
37
+
38
+ collect(id: S): void[] {
39
+ const portals = this.portalsObservers[id] || {};
40
+
41
+ return Object.values(portals).map((portal) => portal());
42
+ }
43
+ }
44
+
45
+ export default FormPortalCollector;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework-theme
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ import { CategoryDisplayMode } from '../../routes/CategoryPage/CategoryPage.config';
13
+ import { IndexedProduct } from '../../utils/Product/Product.type';
14
+
15
+ export interface HistoryState {
16
+ popupOpen?: boolean;
17
+ page?: number | Partial<IndexedProduct> | undefined;
18
+ product?: Partial<IndexedProduct>;
19
+ isForgotPassword?: boolean;
20
+ isFromLocked?: boolean;
21
+ editPassword?: boolean;
22
+ category?: number | boolean;
23
+ isFromEmailChange?: boolean;
24
+ prevCategoryId?: number;
25
+ stack?: string[];
26
+ firstName?: string;
27
+ lastName?: string;
28
+ email?: string;
29
+ overlayOpen?: boolean;
30
+ displayMode?: CategoryDisplayMode;
31
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ import { createBrowserHistory } from 'history';
13
+
14
+ import { HistoryState } from './History.type';
15
+
16
+ export const history = createBrowserHistory();
17
+ export default history;
@@ -0,0 +1,18 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ /**
3
+ * M Framework - Flexible backend agnostic framework.
4
+ *
5
+ * Copyright © Meeovi, LTD. All rights reserved.
6
+ * See LICENSE for license details.
7
+ *
8
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
9
+ * @package mframework/mframework
10
+ * @link https://github.com/meeovi/mframework
11
+ */
12
+
13
+ /** @namespace ../../utils/Manipulations/Array/range */
14
+ export const range = (start: number, end: number): Array<number> => {
15
+ const length = end - start + 1;
16
+
17
+ return Array.from({ length }, (_, i) => start + i);
18
+ };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ import { getDateValue } from '../../utils/Form/Extract';
13
+
14
+ export const MILLISECONDS_PER_MINUTE = 60000;
15
+
16
+ /** @namespace ../../utils/Manipulations/Date/convertStringToDate */
17
+ export const convertStringToDate = (stringDate: string, options?: Intl.DateTimeFormatOptions): string => {
18
+ const defaultOptions: Intl.DateTimeFormatOptions = {
19
+ year: 'numeric',
20
+ month: 'long',
21
+ day: 'numeric',
22
+ };
23
+ const date = new Date(stringDate.replace(/\s/, 'T'));
24
+ const language = navigator.languages ? navigator.languages[0] : navigator.language;
25
+
26
+ return date.toLocaleDateString(language, options || defaultOptions);
27
+ };
28
+
29
+ /** @namespace ../../utils/Manipulations/Date/getTimeInCurrentTimezone */
30
+ export const getTimeInCurrentTimezone = (timestamp: string): number | string | Date => {
31
+ const currentDate = new Date();
32
+ const timezone = currentDate.getTimezoneOffset() * MILLISECONDS_PER_MINUTE;
33
+ const timeInCurrentTimezone = new Date(timestamp.replace(/-/g, '/')).getTime() - new Date(timezone).getTime();
34
+
35
+ return getDateValue(timeInCurrentTimezone);
36
+ };
@@ -0,0 +1,14 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ /**
3
+ * M Framework - Flexible backend agnostic framework.
4
+ *
5
+ * Copyright © Meeovi, LTD. All rights reserved.
6
+ * See LICENSE for license details.
7
+ *
8
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
9
+ * @package mframework/mframework
10
+ * @link https://github.com/meeovi/mframework
11
+ */
12
+
13
+ export { range } from './Array';
14
+ export * from './Date';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+ import { getStoreState } from '../../utils/Store';
12
+
13
+ export const WYSIWYG_MEDIA = 'wysiwyg/';
14
+ export const CATEGORY_MEDIA = 'catalog/category/';
15
+ export const PRODUCT_MEDIA = 'catalog/product';
16
+ export const LOGO_MEDIA = 'logo/';
17
+
18
+ export default (src: string, subPath = '', isMediaPath = true): string => {
19
+ // If isMediaPath is passed return local media path
20
+
21
+ const { ConfigReducer: { secure_base_media_url, base_url } = {} } = getStoreState();
22
+ const baseUrl = isMediaPath
23
+ ? secure_base_media_url || '/media/'
24
+ : base_url;
25
+
26
+ return `${ baseUrl }${ subPath }${ src }`;
27
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+ export {
12
+ default, WYSIWYG_MEDIA, PRODUCT_MEDIA, CATEGORY_MEDIA,
13
+ } from './Media';
@@ -0,0 +1,116 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ import { MenuItem } from '../../normalizers/Menu.type';
13
+ import { getUrlPathname } from '../../utils/Url';
14
+
15
+ import { FormattedMenuItem, MenuLocation } from './Menu.type';
16
+
17
+ /**
18
+ * Given an array of menu items, returns a copy of the array, sorted by their parent ID, then by their sort order (position)
19
+ *
20
+ * @param unsortedItems an array of items to be sorted
21
+ * @returns {array} the sorted array
22
+ * @namespace ../../utils/Menu/getSortedItems
23
+ */
24
+ export const getSortedItems = <T extends MenuItem | FormattedMenuItem>(
25
+ unsortedItems: T[],
26
+ ): T[] => Array.from(unsortedItems).sort((
27
+ { parent_id: PID, position: P },
28
+ { parent_id: prevPID, position: prevP },
29
+ ) => (PID - prevPID) || (P - prevP));
30
+
31
+ /** @namespace ../../utils/Menu */
32
+ export class Menu {
33
+ menu: Record<string, FormattedMenuItem> = {};
34
+
35
+ menuPositionReference: Record<string, number[]> = {};
36
+
37
+ getMenuUrl(
38
+ { url, category_id, display_mode }: Pick<
39
+ MenuItem,
40
+ 'url'
41
+ | 'category_id'
42
+ | 'display_mode'>,
43
+ ): MenuLocation | string {
44
+ return {
45
+ pathname: getUrlPathname(url),
46
+ search: '',
47
+ state: {
48
+ category: category_id,
49
+ displayMode: display_mode,
50
+ },
51
+ };
52
+ }
53
+
54
+ getMenuData({
55
+ url,
56
+ category_id,
57
+ display_mode,
58
+ ...item
59
+ }: MenuItem): FormattedMenuItem {
60
+ return {
61
+ ...item,
62
+ url: this.getMenuUrl({ url, category_id, display_mode }),
63
+ children: {},
64
+ };
65
+ }
66
+
67
+ setToValue(obj: Record<string, FormattedMenuItem>, path: string, value: FormattedMenuItem): void {
68
+ // eslint-disable-next-line fp/no-let
69
+ let i;
70
+
71
+ const pathArray = path.split('.');
72
+
73
+ // eslint-disable-next-line fp/no-let, @typescript-eslint/no-explicit-any
74
+ let tmpObj: Record<string, any> = obj;
75
+
76
+ // eslint-disable-next-line fp/no-loops
77
+ for (i = 0; i < pathArray.length - 1; i++) {
78
+ tmpObj = tmpObj[pathArray[i]];
79
+ }
80
+
81
+ tmpObj[pathArray[i]] = value;
82
+ }
83
+
84
+ createItem(data: MenuItem): void {
85
+ const { parent_id, item_id } = data;
86
+
87
+ if (parent_id === 0) {
88
+ this.menuPositionReference[item_id] = [];
89
+ this.menu[item_id] = this.getMenuData(data);
90
+ } else if (this.menuPositionReference[parent_id] !== undefined) {
91
+ this.menuPositionReference[item_id] = [
92
+ ...this.menuPositionReference[parent_id],
93
+ parent_id,
94
+ ];
95
+
96
+ this.setToValue(
97
+ this.menu,
98
+ `${this.menuPositionReference[item_id].join('.children.')}.children.${item_id}`,
99
+ this.getMenuData(data),
100
+ );
101
+ }
102
+ }
103
+
104
+ reduce(unsortedItems: MenuItem[]): Record<string, FormattedMenuItem> {
105
+ this.menu = {};
106
+ this.menuPositionReference = {};
107
+
108
+ getSortedItems(unsortedItems).forEach((realMenuItem) => {
109
+ this.createItem(realMenuItem);
110
+ });
111
+
112
+ return this.menu;
113
+ }
114
+ }
115
+
116
+ export default new Menu();
@@ -0,0 +1,37 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework-theme
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ import { MenuItem } from '../../normalizers/Menu.type';
13
+ import { CategoryDisplayMode } from '../../routes/CategoryPage/CategoryPage.config';
14
+ import { Merge } from '../../types/Common.type';
15
+
16
+ export interface MenuLocation {
17
+ pathname: string;
18
+ search: string;
19
+ state: {
20
+ category?: number;
21
+ page?: boolean;
22
+ displayMode?: CategoryDisplayMode;
23
+ };
24
+ }
25
+
26
+ export type FormattedMenuItem = Merge<
27
+ Omit<MenuItem, 'cms_page_identifier' | 'url_type' | 'category_id' | 'display_mode'>,
28
+ {
29
+ url: MenuLocation | string;
30
+ children: Record<string, FormattedMenuItem>;
31
+ }>;
32
+
33
+ export enum MenuItemType {
34
+ TYPE_CUSTOM_URL,
35
+ TYPE_CMS_PAGE,
36
+ TYPE_CATEGORY,
37
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ export { default, getSortedItems } from './Menu';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ export { default } from './isMobile';
13
+ export * from './isMobile';
@@ -0,0 +1,34 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+ export const isUsingClientHints = 'userAgentData' in navigator;
12
+
13
+ export const isMobile = {
14
+ android: (agent = navigator.userAgent): boolean => /android/i.test(agent),
15
+ blackBerry: (agent = navigator.userAgent): boolean => /blackberry/i.test(agent),
16
+ iOS: (agent = navigator.userAgent): boolean => /iphone|ipod|ipad/i.test(agent),
17
+ opera: (agent = navigator.userAgent): boolean => /opera mini/i.test(agent),
18
+ // see https://developer.chrome.com/docs/multidevice/user-agent/ for details
19
+ safari: (agent = navigator.userAgent): boolean => /safari/i.test(agent)
20
+ && !/chrome/i.test(agent)
21
+ && !/CriOS/i.test(agent)
22
+ && !/FxiOS/i.test(agent),
23
+ windows: (agent = navigator.userAgent): boolean => /iemobile/i.test(agent),
24
+ // iPad uses 810 so we need to handle that.
25
+ any: (): boolean => window.matchMedia('(max-width: 810px)').matches && window.matchMedia('screen').matches,
26
+ standaloneMode: (): boolean => window.matchMedia('(display-mode: standalone)').matches,
27
+ };
28
+
29
+ // https://medium.com/@galmeiri/get-ready-for-chrome-user-agent-string-phase-out-c6840da1c31e
30
+ export const isMobileClientHints = {
31
+ getDeviceData: (): Promise<UADataValues> => navigator.userAgentData.getHighEntropyValues(['platform', 'model']),
32
+ };
33
+
34
+ export default isMobile;
@@ -0,0 +1,71 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ /**
3
+ * M Framework - Flexible backend agnostic framework.
4
+ *
5
+ * Copyright © Meeovi, LTD. All rights reserved.
6
+ * See LICENSE for license details.
7
+ *
8
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
9
+ * @package mframework/mframework-theme
10
+ * @link https://github.com/meeovi/mframework
11
+ */
12
+
13
+ import {
14
+ InvoiceItem, OrderItem, OrderItemProduct, RefundItem, ShipmentItemInterface,
15
+ } from '../../normalizers/Order.type';
16
+ import { decodeBase64 } from '../../utils/Base64';
17
+
18
+ import { OrderItemQtyArray } from './Orders.type';
19
+
20
+ /** @namespace ../../utils/Orders/getFormattedDate */
21
+ export const getFormattedDate = (rawDate = ''): string => {
22
+ const date = new Date(rawDate.replace(/\s/, 'T'));
23
+ const RADIX = 10;
24
+
25
+ const addLeadingZero = (value: number) => (value < RADIX ? `0${value}` : value);
26
+
27
+ const day = addLeadingZero(date.getDate());
28
+ const month = addLeadingZero(date.getMonth() + 1);
29
+
30
+ return `${date.getFullYear()}-${month}-${day}`;
31
+ };
32
+
33
+ /** @namespace ../../utils/Orders/formatOrders */
34
+ export const formatOrders = (orders: OrderItem[]): OrderItem[] => orders.reduceRight((acc: OrderItem[], order) => {
35
+ const { order_date, id: uid } = order;
36
+ const formattedDate = getFormattedDate(order_date);
37
+
38
+ return [
39
+ ...acc,
40
+ {
41
+ ...order,
42
+ id: decodeBase64(uid),
43
+ created_at: formattedDate,
44
+ },
45
+ ];
46
+ }, []);
47
+
48
+ /** @namespace ../../utils/Orders/getOrderItemQtyToArray */
49
+ export const getOrderItemQtyToArray = (
50
+ product: OrderItemProduct
51
+ | ShipmentItemInterface
52
+ | InvoiceItem
53
+ | RefundItem,
54
+ ): OrderItemQtyArray => ({
55
+ quantity_ordered: 'quantity_ordered' in product ? product.quantity_ordered : 0,
56
+ quantity_canceled: 'quantity_canceled' in product ? product.quantity_canceled : 0,
57
+ quantity_invoiced: 'quantity_invoiced' in product ? product.quantity_invoiced : 0,
58
+ quantity_refunded: 'quantity_refunded' in product ? product.quantity_refunded : 0,
59
+ quantity_returned: 'quantity_returned' in product ? product.quantity_returned : 0,
60
+ quantity_shipped: 'quantity_shipped' in product ? product.quantity_shipped : 0,
61
+ });
62
+
63
+ /** @namespace ../../utils/Orders/getProductFromOrder */
64
+ export const getProductFromOrder = (
65
+ allProducts: OrderItemProduct[],
66
+ requiredProductSku: string,
67
+ ): OrderItemProduct | undefined => allProducts.find(({ product_sku }) => product_sku === requiredProductSku);
68
+
69
+ /** @namespace ../../utils/Orders/getOrderItemRowDiscount */
70
+ export const getOrderItemRowDiscount = (discounts: Array<{ amount: { value?: string | number } }>): number => discounts
71
+ .reduce((currentValue, { amount: { value } }) => (Number(value) || 0) + currentValue, 0);
@@ -0,0 +1,19 @@
1
+ /**
2
+ * M Framework - Flexible backend agnostic framework.
3
+ *
4
+ * Copyright © Meeovi, LTD. All rights reserved.
5
+ * See LICENSE for license details.
6
+ *
7
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
8
+ * @package mframework/mframework-theme
9
+ * @link https://github.com/meeovi/mframework
10
+ */
11
+
12
+ export interface OrderItemQtyArray {
13
+ quantity_ordered: number;
14
+ quantity_canceled: number;
15
+ quantity_invoiced: number;
16
+ quantity_refunded: number;
17
+ quantity_returned: number;
18
+ quantity_shipped: number;
19
+ }
@@ -0,0 +1,13 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ /**
3
+ * M Framework - Flexible backend agnostic framework.
4
+ *
5
+ * Copyright © Meeovi, LTD. All rights reserved.
6
+ * See LICENSE for license details.
7
+ *
8
+ * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
9
+ * @package mframework/mframework
10
+ * @link https://github.com/meeovi/mframework
11
+ */
12
+
13
+ export * from './Orders';