@evershop/evershop 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/bin/build/client/index.js +1 -1
  2. package/bin/build/complie.js +1 -1
  3. package/bin/build/index.js +25 -1
  4. package/bin/build/server/index.js +1 -1
  5. package/bin/build/server/useDDL.js +1 -1
  6. package/bin/dev/index.js +2 -1
  7. package/bin/evershop +8 -7
  8. package/bin/extension/index.js +3 -3
  9. package/bin/install/index.js +1 -1
  10. package/bin/lib/addDefaultMiddlewareFuncs.js +9 -4
  11. package/bin/lib/app.js +1 -1
  12. package/bin/lib/bootstrap/migrate.js +1 -1
  13. package/bin/lib/buildEntry.js +16 -1
  14. package/bin/lib/onError.js +1 -1
  15. package/bin/lib/onListening.js +7 -4
  16. package/bin/lib/startUp.js +16 -9
  17. package/bin/lib/watch/watchComponents.js +16 -26
  18. package/bin/lib/watch/watchMF.js +1 -1
  19. package/bin/lib/watch/watchMR.js +1 -1
  20. package/bin/lib/watch/watchSchema.js +1 -1
  21. package/bin/user/changePassword.js +1 -1
  22. package/bin/user/create.js +1 -1
  23. package/package.json +10 -2
  24. package/src/components/admin/catalog/productEdit/category/CategoryItem.jsx +3 -8
  25. package/src/components/admin/catalog/productEdit/category/CategoryTree.jsx +15 -8
  26. package/src/components/admin/catalog/productEdit/category/CategoryTree.scss +10 -0
  27. package/src/components/admin/catalog/productEdit/variants/CreateVariant.jsx +2 -2
  28. package/src/components/admin/catalog/productEdit/variants/CreateVariantGroup.jsx +4 -9
  29. package/src/components/admin/catalog/productEdit/variants/EditVariant.jsx +1 -1
  30. package/src/components/admin/catalog/productEdit/variants/New.jsx +2 -2
  31. package/src/components/admin/catalog/productEdit/variants/Search.jsx +1 -1
  32. package/src/components/admin/catalog/productEdit/variants/SearchModal.jsx +1 -1
  33. package/src/components/admin/catalog/productEdit/variants/Variant.jsx +1 -1
  34. package/src/components/admin/catalog/productEdit/variants/VariantModal.jsx +68 -12
  35. package/src/components/admin/catalog/productEdit/variants/Variants.jsx +1 -1
  36. package/src/components/admin/catalog/productGrid/rows/ThumbnailRow.jsx +1 -1
  37. package/src/components/admin/checkout/shippingSetting/Method.jsx +130 -0
  38. package/src/components/admin/{oms → checkout}/shippingSetting/MethodForm.jsx +127 -16
  39. package/src/components/admin/{oms → checkout}/shippingSetting/Methods.jsx +5 -5
  40. package/src/components/admin/checkout/shippingSetting/PriceBasedPrice.jsx +101 -0
  41. package/src/components/admin/checkout/shippingSetting/WeightBasedPrice.jsx +101 -0
  42. package/src/components/admin/{oms → checkout}/shippingSetting/Zone.jsx +40 -10
  43. package/src/components/admin/{oms → checkout}/shippingSetting/ZoneForm.jsx +1 -1
  44. package/src/components/admin/{oms → checkout}/shippingSetting/Zones.jsx +6 -3
  45. package/src/components/admin/cms/Card.jsx +3 -3
  46. package/src/components/admin/cms/PageHeading.jsx +3 -3
  47. package/src/components/admin/cms/widget/WidgetTypes.jsx +28 -0
  48. package/src/components/admin/cms/widget/grid/WidgetTypeRow.jsx +29 -0
  49. package/src/components/admin/oms/orderEdit/items/ItemVariantOptions.jsx +1 -1
  50. package/src/components/admin/oms/orderEdit/items/Name.jsx +1 -1
  51. package/src/components/admin/oms/orderGrid/headers/OrderDateColumnHeader.jsx +1 -1
  52. package/src/components/admin/promotion/couponEdit/AttributeGroupSelector.jsx +8 -8
  53. package/src/components/admin/promotion/couponEdit/BuyXGetY.jsx +2 -2
  54. package/src/components/admin/promotion/couponEdit/CategorySelector.jsx +10 -10
  55. package/src/components/admin/promotion/couponEdit/CollectionSelector.jsx +8 -8
  56. package/src/components/admin/promotion/couponEdit/ProductSkuSelector.jsx +30 -9
  57. package/src/components/admin/promotion/couponEdit/RequireProducts.jsx +2 -2
  58. package/src/components/admin/promotion/couponEdit/Setting.jsx +1 -1
  59. package/src/components/admin/promotion/couponEdit/TargetProducts.jsx +4 -4
  60. package/src/components/admin/tax/taxSetting/Rate.jsx +6 -6
  61. package/src/components/admin/tax/taxSetting/RateForm.jsx +5 -5
  62. package/src/components/admin/tax/taxSetting/Rates.jsx +6 -6
  63. package/src/components/admin/tax/taxSetting/TaxClass.jsx +3 -3
  64. package/src/components/admin/tax/taxSetting/TaxClassForm.jsx +1 -1
  65. package/src/components/admin/widgets/BasicMenuSetting.jsx +614 -0
  66. package/src/components/admin/widgets/BasicMenuSetting.scss +19 -0
  67. package/src/components/admin/widgets/CollectionProductsSetting.jsx +203 -0
  68. package/src/components/admin/widgets/TextBlockSetting.jsx +70 -0
  69. package/src/components/common/Area.jsx +31 -8
  70. package/src/components/common/Badge.jsx +1 -1
  71. package/src/components/common/Editor.jsx +191 -0
  72. package/src/components/common/Notification.scss +1 -0
  73. package/src/components/common/SimplePagination.jsx +2 -2
  74. package/src/components/common/context/checkout.jsx +8 -14
  75. package/src/components/common/form/Field.jsx +1 -1
  76. package/src/components/common/form/Form.jsx +1 -1
  77. package/src/components/common/form/fields/Checkbox.jsx +1 -1
  78. package/src/components/common/form/fields/Ckeditor.jsx +11 -11
  79. package/src/components/common/form/fields/Editor.jsx +326 -0
  80. package/src/components/common/form/fields/Editor.scss +29 -0
  81. package/src/components/common/form/fields/Input.jsx +2 -1
  82. package/src/components/common/form/fields/Radio.jsx +1 -1
  83. package/src/components/common/form/fields/editor/FileBrowser.jsx +419 -0
  84. package/src/components/common/form/fields/editor/FileBrowser.scss +37 -0
  85. package/src/components/common/form/fields/editor/GetColumnClasses.jsx +14 -0
  86. package/src/components/common/form/fields/editor/GetRowClasses.jsx +18 -0
  87. package/src/components/common/form/fields/editor/RowTemplates.jsx +154 -0
  88. package/src/components/common/form/validator.js +6 -2
  89. package/src/components/common/grid/Pagination.jsx +4 -4
  90. package/src/components/common/grid/headers/Dummy.jsx +1 -1
  91. package/src/components/common/grid/headers/FromTo.jsx +1 -1
  92. package/src/components/common/grid/headers/Sortable.jsx +148 -0
  93. package/src/components/common/grid/rows/StatusRow.jsx +1 -1
  94. package/src/components/common/grid/rows/ThumbnailRow.jsx +1 -1
  95. package/src/components/common/list/Filter.jsx +83 -0
  96. package/src/components/common/list/Filter.scss +39 -0
  97. package/src/components/common/modal/Alert.jsx +1 -1
  98. package/src/components/common/modal/Modal.jsx +1 -1
  99. package/src/components/frontStore/catalog/categoryView/filter/AttributeFilter.jsx +21 -7
  100. package/src/components/frontStore/catalog/categoryView/filter/CategoryFilter.jsx +61 -53
  101. package/src/components/frontStore/catalog/categoryView/filter/CategoryFilter.scss +5 -0
  102. package/src/components/frontStore/catalog/categoryView/filter/PriceFilter.jsx +20 -11
  103. package/src/components/frontStore/catalog/product/list/List.jsx +4 -4
  104. package/src/components/frontStore/catalog/product/list/Pagination.jsx +1 -1
  105. package/src/components/frontStore/catalog/product/list/SortOptions.jsx +4 -2
  106. package/src/components/frontStore/catalog/product/list/Sorting.jsx +7 -7
  107. package/src/components/frontStore/catalog/product/list/item/Name.jsx +1 -1
  108. package/src/components/frontStore/checkout/cart/Empty.jsx +3 -3
  109. package/src/components/frontStore/checkout/cart/items/ItemOptions.jsx +1 -1
  110. package/src/components/frontStore/checkout/cart/items/ItemVariantOptions.jsx +1 -1
  111. package/src/components/frontStore/checkout/cart/items/Items.jsx +20 -21
  112. package/src/components/frontStore/checkout/cart/items/Items.scss +47 -0
  113. package/src/components/frontStore/checkout/cart/items/Quantity.jsx +154 -0
  114. package/src/components/frontStore/checkout/checkout/StepTitle.jsx +1 -1
  115. package/src/components/frontStore/checkout/checkout/payment/paymentStep/StepContent.jsx +13 -10
  116. package/src/components/frontStore/checkout/checkout/shipment/StepContent.jsx +1 -1
  117. package/src/components/frontStore/checkout/checkout/summary/Cart.jsx +10 -12
  118. package/src/components/frontStore/checkout/checkout/summary/Items.jsx +9 -9
  119. package/src/components/frontStore/checkout/checkout/summary/cart/Total.jsx +6 -6
  120. package/src/components/frontStore/checkout/success/summary/items/ItemOptions.jsx +1 -1
  121. package/src/components/frontStore/checkout/success/summary/items/Items.jsx +9 -6
  122. package/src/components/frontStore/checkout/success/summary/order/OrderSummary.jsx +9 -13
  123. package/src/components/frontStore/checkout/success/summary/order/Total.jsx +5 -5
  124. package/src/components/frontStore/customer/address/addressForm/AddressFormLoadingSkeleton.jsx +2 -2
  125. package/src/components/frontStore/customer/address/addressForm/NameAndTelephone.jsx +1 -1
  126. package/src/components/frontStore/customer/address/addressForm/ProvinceAndPostcode.jsx +1 -1
  127. package/src/components/frontStore/customer/checkout/Edit.jsx +2 -2
  128. package/src/components/frontStore/customer/detail/Order.jsx +4 -4
  129. package/src/components/frontStore/stripe/checkout/CheckoutForm.jsx +9 -5
  130. package/src/components/frontStore/stripe/checkout/TestCards.jsx +1 -1
  131. package/src/components/frontStore/widgets/BasicMenu.jsx +129 -0
  132. package/src/{modules/catalog/pages/frontStore/homepage/FeaturedProducts.jsx → components/frontStore/widgets/CollectionProducts.jsx} +40 -32
  133. package/src/components/frontStore/widgets/TextBlock.jsx +46 -0
  134. package/src/lib/componee/getComponentsByRoute.js +15 -2
  135. package/src/lib/event/callSubscibers.js +14 -11
  136. package/src/lib/event/event-manager.js +2 -2
  137. package/src/lib/event/loadSubscribers.js +2 -2
  138. package/src/lib/helpers.js +3 -1
  139. package/src/lib/log/CustomColorize.js +22 -0
  140. package/src/lib/log/logger.js +153 -19
  141. package/src/lib/middleware/Handler.js +2 -3
  142. package/src/lib/middleware/async.js +5 -9
  143. package/src/lib/middleware/sync.js +5 -10
  144. package/src/lib/middleware/tests/app/app.js +1 -1
  145. package/src/lib/middleware/tests/app/modules/404page/pages/frontStore/product/route.json +2 -1
  146. package/src/lib/middlewares/static.js +3 -1
  147. package/src/lib/response/render.js +5 -6
  148. package/src/lib/router/Router.js +1 -1
  149. package/src/lib/router/buildAbsoluteUrl.js +1 -1
  150. package/src/lib/router/loadModuleRoutes.js +3 -0
  151. package/src/lib/router/registerAdminRoute.js +9 -1
  152. package/src/lib/router/registerFrontStoreRoute.js +2 -0
  153. package/src/lib/router/scanForRoutes.js +1 -0
  154. package/src/lib/router/tests/unit/unit.validateRoute.test.js +7 -1
  155. package/src/lib/util/buildFilterFromUrl.js +31 -64
  156. package/src/lib/util/defaultPaginationFilters.js +104 -0
  157. package/src/lib/util/filterOperationMapp.js +16 -0
  158. package/src/lib/util/getEnabledWidgets.js +28 -0
  159. package/src/lib/util/merge.js +67 -14
  160. package/src/lib/util/registry.js +44 -6
  161. package/src/lib/util/tests/unit/util.merge.test.js +21 -4
  162. package/src/lib/util/validateConfiguration.js +83 -0
  163. package/src/lib/webpack/createBaseConfig.js +4 -1
  164. package/src/lib/webpack/dev/createConfigClient.js +12 -2
  165. package/src/lib/webpack/loaders/AreaLoader.js +15 -4
  166. package/src/lib/webpack/loaders/loadTranslationFromCsv.js +1 -1
  167. package/src/lib/webpack/plugins/Tailwindcss.js +1 -1
  168. package/src/lib/webpack/util/parseGraphql.js +29 -16
  169. package/src/lib/webpack/util/parseGraphqlByFile.js +16 -2
  170. package/src/modules/auth/graphql/types/AdminUser/AdminUser.admin.resolvers.js +6 -6
  171. package/src/modules/auth/pages/admin/adminLogin/LoginForm.jsx +55 -36
  172. package/src/modules/auth/pages/admin/all/AdminUser.jsx +3 -3
  173. package/src/modules/base/api/global/[apiResponse]apiErrorHandler.js +2 -2
  174. package/src/modules/base/bootstrap.js +79 -0
  175. package/src/modules/base/graphql/types/Route/Route.admin.graphql +15 -0
  176. package/src/modules/base/graphql/types/Route/Route.admin.resolvers.js +10 -0
  177. package/src/modules/base/pages/global/[response]errorHandler.js +2 -2
  178. package/src/modules/base/pages/global/response[errorHandler].js +23 -0
  179. package/src/modules/catalog/api/addProductToCategory/addProducts.js +1 -1
  180. package/src/modules/catalog/api/addProductToCollection/addProducts.js +35 -22
  181. package/src/modules/catalog/api/removeProductFromCollection/removeProducts.js +20 -5
  182. package/src/modules/catalog/bootstrap.js +188 -5
  183. package/src/modules/catalog/graphql/types/Attribute/Attribute.admin.graphql +2 -2
  184. package/src/modules/catalog/graphql/types/Attribute/Attribute.admin.resolvers.js +48 -276
  185. package/src/modules/catalog/graphql/types/Category/Category.graphql +19 -5
  186. package/src/modules/catalog/graphql/types/Category/Category.resolvers.js +36 -2
  187. package/src/modules/catalog/graphql/types/Collection/Collection.graphql +2 -2
  188. package/src/modules/catalog/graphql/types/Collection/Collection.resolvers.js +36 -2
  189. package/src/modules/catalog/graphql/types/Product/Attribute/ProductAttribute.resolvers.js +1 -0
  190. package/src/modules/catalog/graphql/types/Product/Product.graphql +1 -1
  191. package/src/modules/catalog/graphql/types/Product/Product.resolvers.js +35 -1
  192. package/src/modules/catalog/graphql/types/Product/Variant/Variant.graphql +2 -2
  193. package/src/modules/catalog/graphql/types/Product/Variant/Variant.resolvers.js +68 -92
  194. package/src/modules/catalog/graphql/types/Widget/CollectionProductsWidget/CollectionProductsWidget.graphql +11 -0
  195. package/src/modules/catalog/graphql/types/Widget/CollectionProductsWidget/CollectionProductsWidget.resolvers.js +8 -0
  196. package/src/modules/catalog/migration/Version-1.0.0.js +1 -0
  197. package/src/modules/catalog/migration/Version-1.0.7.js +10 -0
  198. package/src/modules/catalog/pages/admin/attributeEdit+attributeNew/FormContent.jsx +4 -4
  199. package/src/modules/catalog/pages/admin/attributeEdit+attributeNew/General.jsx +18 -14
  200. package/src/modules/catalog/pages/admin/attributeGrid/Grid.jsx +84 -41
  201. package/src/modules/catalog/pages/admin/attributeGrid/index.js +1 -1
  202. package/src/modules/catalog/pages/admin/categoryEdit/Products.jsx +9 -9
  203. package/src/modules/catalog/pages/admin/categoryEdit+categoryNew/FormContent.jsx +4 -4
  204. package/src/modules/catalog/pages/admin/categoryEdit+categoryNew/General.jsx +16 -18
  205. package/src/modules/catalog/pages/admin/categoryEdit+categoryNew/Image.jsx +1 -2
  206. package/src/modules/catalog/pages/admin/categoryEdit+categoryNew/Status.jsx +16 -1
  207. package/src/modules/catalog/pages/admin/categoryGrid/Grid.jsx +50 -18
  208. package/src/modules/catalog/pages/admin/categoryGrid/index.js +1 -1
  209. package/src/modules/catalog/pages/admin/collectionEdit/Products.jsx +9 -9
  210. package/src/modules/catalog/pages/admin/collectionEdit+collectionNew/FormContent.jsx +2 -2
  211. package/src/modules/catalog/pages/admin/collectionEdit+collectionNew/General.jsx +2 -2
  212. package/src/modules/catalog/pages/admin/collectionGrid/Grid.jsx +48 -7
  213. package/src/modules/catalog/pages/admin/collectionGrid/index.js +1 -1
  214. package/src/modules/catalog/pages/admin/productEdit/Collection.jsx +7 -7
  215. package/src/modules/catalog/pages/admin/productEdit+productNew/Attributes.jsx +29 -25
  216. package/src/modules/catalog/pages/admin/productEdit+productNew/CustomOptions.jsss +4 -4
  217. package/src/modules/catalog/pages/admin/productEdit+productNew/FormContent.jsx +4 -4
  218. package/src/modules/catalog/pages/admin/productEdit+productNew/General.jsx +15 -17
  219. package/src/modules/catalog/pages/admin/productGrid/Grid.jsx +160 -28
  220. package/src/modules/catalog/pages/admin/productGrid/index.js +1 -2
  221. package/src/modules/catalog/pages/frontStore/all/SearchBox.jsx +2 -1
  222. package/src/modules/catalog/pages/frontStore/catalogSearch/General.jsx +2 -2
  223. package/src/modules/catalog/pages/frontStore/catalogSearch/Products.jsx +1 -1
  224. package/src/modules/catalog/pages/frontStore/catalogSearch/[index]filters.js +4 -59
  225. package/src/modules/catalog/pages/frontStore/catalogSearch/index.js +11 -0
  226. package/src/modules/catalog/pages/frontStore/catalogSearch/route.json +2 -1
  227. package/src/modules/catalog/pages/frontStore/categoryView/CategoryView.jsx +19 -2
  228. package/src/modules/catalog/pages/frontStore/categoryView/Filter.jsx +22 -6
  229. package/src/modules/catalog/pages/frontStore/categoryView/Filter.scss +3 -0
  230. package/src/modules/catalog/pages/frontStore/categoryView/General.jsx +6 -8
  231. package/src/modules/catalog/pages/frontStore/categoryView/General.scss +0 -2
  232. package/src/modules/catalog/pages/frontStore/categoryView/Pagination.jsx +6 -0
  233. package/src/modules/catalog/pages/frontStore/categoryView/Products.jsx +8 -1
  234. package/src/modules/catalog/pages/frontStore/categoryView/[index]filters.js +5 -105
  235. package/src/modules/catalog/pages/frontStore/categoryView/route.json +2 -1
  236. package/src/modules/catalog/pages/frontStore/productView/Description.jsx +3 -3
  237. package/src/modules/catalog/pages/frontStore/productView/Form.jsx +12 -7
  238. package/src/modules/catalog/pages/frontStore/productView/Form.scss +1 -0
  239. package/src/modules/catalog/pages/frontStore/productView/GeneralInfo.jsx +1 -1
  240. package/src/modules/catalog/pages/frontStore/productView/Images.jsx +1 -1
  241. package/src/modules/catalog/pages/frontStore/productView/Layout.jsx +1 -1
  242. package/src/modules/catalog/pages/frontStore/productView/Options.jsx +2 -2
  243. package/src/modules/catalog/pages/frontStore/productView/Variants.jsx +106 -44
  244. package/src/modules/catalog/pages/frontStore/productView/route.json +2 -1
  245. package/src/modules/catalog/services/AttributeCollection.js +59 -0
  246. package/src/modules/catalog/services/AttributeGroupCollection.js +100 -0
  247. package/src/modules/catalog/services/CategoryCollection.js +26 -83
  248. package/src/modules/catalog/services/CollectionCollection.js +23 -71
  249. package/src/modules/catalog/services/ProductCollection.js +50 -216
  250. package/src/modules/catalog/services/attribute/deleteProductAttribute.js +15 -0
  251. package/src/modules/catalog/services/getAttributeGroupsBaseQuery.js +3 -0
  252. package/src/modules/catalog/services/getAttributesBaseQuery.js +3 -0
  253. package/src/modules/catalog/services/getCollectionsBaseQuery.js +0 -1
  254. package/src/modules/catalog/services/product/updateProduct.js +8 -2
  255. package/src/modules/catalog/services/registerCartItemProductUrlField.js +35 -0
  256. package/src/modules/catalog/services/registerCartItemVariantOptionsField.js +51 -0
  257. package/src/modules/catalog/services/registerDefaultAttributeCollectionFilters.js +149 -0
  258. package/src/modules/catalog/services/registerDefaultCategoryCollectionFilters.js +101 -0
  259. package/src/modules/catalog/services/registerDefaultCollectionCollectionFilters.js +65 -0
  260. package/src/modules/catalog/services/registerDefaultProductCollectionFilters.js +219 -0
  261. package/src/modules/catalog/subscribers/category_created/buildUrlRewrite.js +1 -1
  262. package/src/modules/catalog/subscribers/category_deleted/deleteUrlRewrite.js +1 -1
  263. package/src/modules/catalog/subscribers/category_updated/builUrlRewrite.js +1 -1
  264. package/src/modules/catalog/subscribers/product_created/builUrlRewrite.js +1 -1
  265. package/src/modules/catalog/subscribers/product_deleted/deleteUrlRewrite.js +1 -1
  266. package/src/modules/catalog/subscribers/product_image_added/localGenerateProductImageVariant.js +3 -3
  267. package/src/modules/checkout/api/addCartShippingMethod/saveShippingMethod.js +6 -1
  268. package/src/modules/checkout/api/addShippingNote/[context]bodyParser[auth].js +5 -0
  269. package/src/modules/checkout/api/addShippingNote/payloadSchema.json +15 -0
  270. package/src/modules/checkout/api/addShippingNote/route.json +5 -0
  271. package/src/modules/checkout/api/addShippingNote/saveShippingNote.js +50 -0
  272. package/src/modules/checkout/api/createCart/[context]bodyParser[auth].js +5 -0
  273. package/src/modules/checkout/api/createCart/createNewCart.js +119 -0
  274. package/src/modules/checkout/api/createCart/payloadSchema.json +44 -0
  275. package/src/modules/checkout/api/createCart/route.json +5 -0
  276. package/src/modules/checkout/api/deleteShippingZone/deleteShippingZone.js +58 -0
  277. package/src/modules/checkout/api/deleteShippingZone/route.json +5 -0
  278. package/src/modules/checkout/api/deleteShippingZoneMethod/deleteShippingZoneMethod.js +85 -0
  279. package/src/modules/checkout/api/deleteShippingZoneMethod/route.json +5 -0
  280. package/src/modules/checkout/api/getShippingMethods/sendMethods.js +37 -0
  281. package/src/modules/checkout/api/updateCartItemQty/[bodyParser]updateQty.js +49 -0
  282. package/src/modules/checkout/api/updateCartItemQty/[context]bodyParser[auth].js +5 -0
  283. package/src/modules/checkout/api/updateCartItemQty/payloadSchema.json +21 -0
  284. package/src/modules/checkout/api/updateCartItemQty/route.json +5 -0
  285. package/src/modules/checkout/api/updateMineCartItemQty/[context]bodyParser[auth].js +5 -0
  286. package/src/modules/checkout/api/updateMineCartItemQty/[detectCurrentCart]updateQty.js +51 -0
  287. package/src/modules/checkout/api/updateMineCartItemQty/[getCurrentCustomer]detectCurrentCart.js +32 -0
  288. package/src/modules/checkout/api/updateMineCartItemQty/payloadSchema.json +21 -0
  289. package/src/modules/checkout/api/updateMineCartItemQty/route.json +5 -0
  290. package/src/modules/checkout/api/updateShippingMethod/[context]borderParser[auth].js +5 -0
  291. package/src/modules/checkout/api/updateShippingMethod/payloadSchema.json +12 -0
  292. package/src/modules/checkout/api/updateShippingMethod/route.json +5 -0
  293. package/src/modules/checkout/api/updateShippingMethod/updateShippingMethod.js +64 -0
  294. package/src/modules/checkout/api/updateShippingZoneMethod/payloadSchema.json +43 -1
  295. package/src/modules/checkout/api/updateShippingZoneMethod/updateShippingZoneMethod.js +17 -3
  296. package/src/modules/checkout/bootstrap.js +28 -1
  297. package/src/modules/checkout/graphql/types/Cart/Cart.graphql +22 -3
  298. package/src/modules/checkout/graphql/types/Cart/Cart.resolvers.js +18 -2
  299. package/src/modules/checkout/graphql/types/CheckoutSetting/CheckoutSetting.graphql +3 -0
  300. package/src/modules/checkout/graphql/types/CheckoutSetting/CheckoutSetting.resolvers.js +7 -0
  301. package/src/modules/checkout/graphql/types/ShippingMethod/ShippingMethod.graphql +1 -0
  302. package/src/modules/checkout/graphql/types/ShippingMethod/ShippingMethod.resolvers.js +4 -0
  303. package/src/modules/checkout/graphql/types/ShippingZone/ShippingZone.graphql +21 -1
  304. package/src/modules/checkout/graphql/types/ShippingZone/ShippingZone.resolvers.js +34 -4
  305. package/src/modules/checkout/graphql/types/Weight/Weight.resolvers.js +8 -11
  306. package/src/modules/checkout/migration/Version-1.0.0.js +14 -0
  307. package/src/modules/checkout/migration/Version-1.0.5.js +28 -0
  308. package/src/modules/checkout/migration/Version-1.0.6.js +201 -0
  309. package/src/modules/{oms → checkout}/pages/admin/shippingSetting/ShippingSetting.jsx +67 -44
  310. package/src/modules/checkout/pages/frontStore/all/[auth]addCustomerToCart.js +3 -3
  311. package/src/modules/checkout/pages/frontStore/all/[context]detectCurrentCart[auth].js +5 -0
  312. package/src/modules/checkout/pages/frontStore/cart/ShoppingCart.jsx +17 -8
  313. package/src/modules/checkout/pages/frontStore/cart/Summary.jsx +18 -19
  314. package/src/modules/checkout/pages/frontStore/cart/route.json +2 -1
  315. package/src/modules/checkout/pages/frontStore/checkout/Checkout.jsx +5 -5
  316. package/src/modules/checkout/pages/frontStore/checkout/Checkout.scss +4 -0
  317. package/src/modules/checkout/pages/frontStore/checkout/PaymentStep.jsx +3 -2
  318. package/src/modules/checkout/pages/frontStore/checkout/ShippingMethods.jsx +25 -12
  319. package/src/modules/checkout/pages/frontStore/checkout/ShippingNote.jsx +105 -0
  320. package/src/modules/checkout/pages/frontStore/checkout/Summary.jsx +14 -14
  321. package/src/modules/checkout/pages/frontStore/checkout/SummaryMobile.jsx +129 -0
  322. package/src/modules/checkout/pages/frontStore/checkout/SummaryMobile.scss +7 -0
  323. package/src/modules/checkout/pages/frontStore/checkout/route.json +2 -1
  324. package/src/modules/checkout/pages/frontStore/checkoutSuccess/CheckoutSuccess.jsx +1 -1
  325. package/src/modules/checkout/pages/frontStore/checkoutSuccess/CheckoutSuccess.scss +4 -0
  326. package/src/modules/checkout/pages/frontStore/checkoutSuccess/CustomerInfo.jsx +30 -32
  327. package/src/modules/checkout/pages/frontStore/checkoutSuccess/ShippingNote.jsx +47 -0
  328. package/src/modules/checkout/pages/frontStore/checkoutSuccess/Summary.jsx +12 -15
  329. package/src/modules/checkout/pages/frontStore/checkoutSuccess/route.json +2 -1
  330. package/src/modules/checkout/services/cart/Cart.js +41 -21
  331. package/src/modules/checkout/services/cart/DataObject.js +3 -3
  332. package/src/modules/checkout/services/cart/registerCartBaseFields.js +165 -41
  333. package/src/modules/checkout/services/cart/registerCartItemBaseFields.js +300 -373
  334. package/src/modules/checkout/services/toPrice.js +1 -1
  335. package/src/modules/checkout/tests/basicSetup.js +85 -0
  336. package/src/modules/checkout/tests/coupons.js +82 -0
  337. package/src/modules/checkout/tests/products.js +67 -0
  338. package/src/modules/checkout/tests/taxRates.js +3 -0
  339. package/src/modules/checkout/tests/unit/discountAmount.test.js +60 -0
  340. package/src/modules/checkout/tests/unit/grandTotal.test.js +83 -0
  341. package/src/modules/checkout/tests/unit/lineTotal.test.js +90 -0
  342. package/src/modules/checkout/tests/unit/lineTotalWithDiscount.test.js +103 -0
  343. package/src/modules/checkout/tests/unit/productPrice.test.js +67 -0
  344. package/src/modules/checkout/tests/unit/subTotal.test.js +85 -0
  345. package/src/modules/checkout/tests/unit/subTotalWithDiscount.test.js +117 -0
  346. package/src/modules/checkout/tests/unit/taxAmount.test.js +67 -0
  347. package/src/modules/checkout/tests/unit/taxAmountRounding.test.js +277 -0
  348. package/src/modules/cms/api/createWidget/[context]bodyParser[auth].js +5 -0
  349. package/src/modules/cms/api/createWidget/createWidget[finish].js +17 -0
  350. package/src/modules/cms/api/createWidget/finish[apiResponse].js +27 -0
  351. package/src/modules/cms/api/createWidget/payloadSchema.json +18 -0
  352. package/src/modules/cms/api/createWidget/route.json +5 -0
  353. package/src/modules/cms/api/deleteWidget/deleteWidget.js +27 -0
  354. package/src/modules/cms/api/deleteWidget/route.json +5 -0
  355. package/src/modules/cms/api/updateWidget/[context]bodyParser[auth].js +5 -0
  356. package/src/modules/cms/api/updateWidget/finish[apiResponse].js +27 -0
  357. package/src/modules/cms/api/updateWidget/payloadSchema.json +18 -0
  358. package/src/modules/cms/api/updateWidget/route.json +5 -0
  359. package/src/modules/cms/api/updateWidget/updateWidget[finish].js +17 -0
  360. package/src/modules/cms/bootstrap.js +239 -2
  361. package/src/modules/cms/graphql/types/CmsPage/CmsPage.graphql +1 -2
  362. package/src/modules/cms/graphql/types/CmsPage/CmsPage.resolvers.js +37 -12
  363. package/src/modules/cms/graphql/types/Widget/Widget.graphql +91 -0
  364. package/src/modules/cms/graphql/types/Widget/Widget.resolvers.js +142 -0
  365. package/src/modules/cms/migration/Version-1.1.0.js +22 -0
  366. package/src/modules/cms/migration/Version-1.1.1.js +103 -0
  367. package/src/modules/cms/pages/admin/adminNotFound/NotFound.jsx +4 -4
  368. package/src/modules/cms/pages/admin/all/CmsMenuGroup.jsx +12 -4
  369. package/src/modules/cms/pages/admin/all/Layout.scss +3 -2
  370. package/src/modules/cms/pages/admin/all/Notification.scss +1 -1
  371. package/src/modules/cms/pages/admin/all/SearchBox.jsx +1 -1
  372. package/src/modules/cms/pages/admin/all/search/NoResult.jsx +2 -2
  373. package/src/modules/cms/pages/admin/all/search/Results.jsx +3 -3
  374. package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/FormContent.jsx +7 -9
  375. package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/General.jsx +3 -3
  376. package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/Seo.jsx +1 -1
  377. package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/Status.jsx +40 -0
  378. package/src/modules/cms/pages/admin/cmsPageGrid/Grid.jsx +64 -12
  379. package/src/modules/cms/pages/admin/cmsPageGrid/index.js +1 -2
  380. package/src/modules/cms/pages/admin/dashboard/Layout.jsx +3 -3
  381. package/src/modules/cms/pages/admin/widgetEdit/WidgetForm.jsx +52 -0
  382. package/src/modules/cms/pages/admin/widgetEdit/index.js +36 -0
  383. package/src/modules/cms/pages/admin/widgetEdit/route.json +4 -0
  384. package/src/modules/cms/pages/admin/widgetEdit+widgetNew/FormContent.jsx +69 -0
  385. package/src/modules/cms/pages/admin/widgetEdit+widgetNew/FormContent.scss +7 -0
  386. package/src/modules/cms/pages/admin/widgetEdit+widgetNew/General.jsx +185 -0
  387. package/src/modules/cms/pages/admin/widgetEdit+widgetNew/PageHeading.jsx +37 -0
  388. package/src/modules/cms/pages/admin/widgetEdit+widgetNew/Setting.jsx +55 -0
  389. package/src/modules/cms/pages/admin/widgetGrid/Grid.jsx +415 -0
  390. package/src/modules/cms/pages/admin/widgetGrid/Heading.jsx +11 -0
  391. package/src/modules/cms/pages/admin/widgetGrid/NewWidgetButton.jsx +52 -0
  392. package/src/modules/cms/pages/admin/widgetGrid/index.js +15 -0
  393. package/src/modules/cms/pages/admin/widgetGrid/route.json +4 -0
  394. package/src/modules/cms/pages/admin/widgetNew/WidgetNewForm.jsx +60 -0
  395. package/src/modules/cms/pages/admin/widgetNew/index.js +11 -0
  396. package/src/modules/cms/pages/admin/widgetNew/route.json +4 -0
  397. package/src/modules/cms/pages/admin/widgetNew/typeValidate.js +21 -0
  398. package/src/modules/cms/pages/frontStore/all/Breadcrumb.jsx +1 -1
  399. package/src/modules/cms/pages/frontStore/all/Footer.jsx +2 -2
  400. package/src/modules/cms/pages/frontStore/all/Layout.jsx +3 -3
  401. package/src/modules/cms/pages/frontStore/all/Layout.scss +13 -0
  402. package/src/modules/cms/pages/frontStore/all/Logo.jsx +2 -2
  403. package/src/modules/cms/pages/frontStore/all/Logo.scss +2 -4
  404. package/src/modules/cms/pages/frontStore/all/Notification.scss +1 -1
  405. package/src/modules/cms/pages/frontStore/cmsPageView/Layout.jsx +2 -2
  406. package/src/modules/cms/pages/frontStore/cmsPageView/View.jsx +5 -3
  407. package/src/modules/cms/pages/frontStore/cmsPageView/index.js +6 -12
  408. package/src/modules/cms/pages/frontStore/cmsPageView/route.json +2 -1
  409. package/src/modules/cms/pages/frontStore/homepage/route.json +2 -1
  410. package/src/modules/cms/pages/frontStore/notFound/NotFound.jsx +4 -4
  411. package/src/modules/cms/pages/frontStore/notFound/route.json +2 -1
  412. package/src/modules/cms/pages/frontStore/staticAsset/[context]staticAssets[auth].js +1 -1
  413. package/src/modules/cms/services/CMSPageCollection.js +23 -70
  414. package/src/modules/cms/services/WidgetCollection.js +62 -0
  415. package/src/modules/cms/services/getWidgetsBaseQuery.js +7 -0
  416. package/src/modules/cms/services/page/createPage.js +1 -2
  417. package/src/modules/cms/services/page/pageDataSchema.json +0 -4
  418. package/src/modules/cms/services/registerDefaultPageCollectionFilters.js +62 -0
  419. package/src/modules/cms/services/registerDefaultWidgetCollectionFilters.js +62 -0
  420. package/src/modules/cms/services/tailwind.admin.config.js +22 -102
  421. package/src/modules/cms/services/tailwind.frontStore.config.js +23 -108
  422. package/src/modules/cms/services/widget/createWidget.js +73 -0
  423. package/src/modules/cms/services/widget/deleteWidget.js +49 -0
  424. package/src/modules/cms/services/widget/loadWidgetInstances.js +54 -0
  425. package/src/modules/cms/services/widget/updateWidget.js +86 -0
  426. package/src/modules/cms/services/widget/widgetDataSchema.json +29 -0
  427. package/src/modules/cod/pages/admin/paymentSetting/CODSetting.jsx +2 -2
  428. package/src/modules/cod/pages/frontStore/checkout/CashOnDelivery.jsx +1 -1
  429. package/src/modules/customer/api/createCustomer/[bodyParser]createCustomer.js +2 -2
  430. package/src/modules/customer/api/resetPassword/[bodyParser]resetPassword.js +2 -2
  431. package/src/modules/customer/api/updatePassword/[bodyParser]updatePassword.js +2 -2
  432. package/src/modules/customer/bootstrap.js +50 -4
  433. package/src/modules/customer/graphql/types/Customer/Customer.admin.resolvers.js +2 -4
  434. package/src/modules/customer/pages/admin/customerEdit/CustomerEditForm.jsx +3 -3
  435. package/src/modules/customer/pages/admin/customerEdit+customerNew/OrderHistory.jsx +1 -1
  436. package/src/modules/customer/pages/admin/customerGrid/Grid.jsx +110 -16
  437. package/src/modules/customer/pages/admin/customerGrid/index.js +1 -2
  438. package/src/modules/customer/pages/frontStore/account/AccountDetails.jsx +3 -3
  439. package/src/modules/customer/pages/frontStore/account/Layout.jsx +3 -3
  440. package/src/modules/customer/pages/frontStore/account/OrderHistory.jsx +1 -1
  441. package/src/modules/customer/pages/frontStore/account/route.json +2 -1
  442. package/src/modules/customer/pages/frontStore/login/LoginForm.jsx +2 -3
  443. package/src/modules/customer/pages/frontStore/login/route.json +2 -1
  444. package/src/modules/customer/pages/frontStore/register/RegisterForm.jsx +2 -2
  445. package/src/modules/customer/pages/frontStore/register/route.json +2 -1
  446. package/src/modules/customer/pages/frontStore/resetPasswordPage/ResetPasswordForm.jsx +2 -2
  447. package/src/modules/customer/pages/frontStore/resetPasswordPage/route.json +2 -1
  448. package/src/modules/customer/pages/frontStore/updatePasswordPage/UpdatePasswordForm.jsx +3 -3
  449. package/src/modules/customer/pages/frontStore/updatePasswordPage/route.json +2 -1
  450. package/src/modules/customer/services/CustomerCollection.js +22 -103
  451. package/src/modules/customer/services/CustomerGroupCollection.js +20 -69
  452. package/src/modules/customer/services/registerDefaultCustomerCollectionFilters.js +90 -0
  453. package/src/modules/customer/services/registerDefaultCustomerGroupCollectionFilters.js +50 -0
  454. package/src/modules/graphql/pages/global/[bodyParser]buildQuery[graphql].js +239 -7
  455. package/src/modules/graphql/pages/global/[buildQuery]graphql[notification].js +13 -9
  456. package/src/modules/graphql/services/graphqlMiddleware.js +1 -1
  457. package/src/modules/oms/bootstrap.js +104 -3
  458. package/src/modules/oms/graphql/types/Order/Order.admin.resolvers.js +1 -1
  459. package/src/modules/oms/graphql/types/Order/Order.graphql +11 -2
  460. package/src/modules/oms/graphql/types/Order/Order.resolvers.js +9 -2
  461. package/src/modules/oms/pages/admin/dashboard/Bestsellers.jsx +2 -2
  462. package/src/modules/oms/pages/admin/dashboard/Lifetimesales.jsx +5 -5
  463. package/src/modules/oms/pages/admin/orderEdit/AddTrackingButton.jsx +1 -1
  464. package/src/modules/oms/pages/admin/orderEdit/Items.jsx +7 -7
  465. package/src/modules/oms/pages/admin/orderEdit/Layout.jsx +3 -3
  466. package/src/modules/oms/pages/admin/orderEdit/Payment.jsx +6 -6
  467. package/src/modules/oms/pages/admin/orderEdit/ShipButton.jsx +1 -1
  468. package/src/modules/oms/pages/admin/orderGrid/Grid.jsx +154 -53
  469. package/src/modules/oms/pages/admin/orderGrid/index.js +1 -2
  470. package/src/modules/oms/services/OrderCollection.js +18 -138
  471. package/src/modules/oms/services/registerDefaultOrderCollectionFilters.js +121 -0
  472. package/src/modules/paypal/api/paypalCreateOrder/[bodyParser]createOrder.js +55 -24
  473. package/src/modules/paypal/pages/admin/paymentSetting/PaypalSetting.jsx +6 -6
  474. package/src/modules/paypal/pages/frontStore/checkout/Paypal.jsx +3 -4
  475. package/src/modules/promotion/bootstrap.js +35 -101
  476. package/src/modules/promotion/graphql/types/Coupon/Coupon.admin.resolvers.js +2 -7
  477. package/src/modules/promotion/pages/admin/couponEdit+couponNew/DiscountType.jsx +1 -1
  478. package/src/modules/promotion/pages/admin/couponEdit+couponNew/FormContent.jsx +5 -5
  479. package/src/modules/promotion/pages/admin/couponGrid/Grid.jsx +159 -35
  480. package/src/modules/promotion/pages/admin/couponGrid/index.js +1 -2
  481. package/src/modules/promotion/pages/frontStore/cart/Coupon.jsx +2 -2
  482. package/src/modules/promotion/services/CouponCollection.js +21 -130
  483. package/src/modules/promotion/services/couponValidator.js +4 -7
  484. package/src/modules/promotion/services/discountCalculator.js +2 -7
  485. package/src/modules/promotion/services/registerCartItemPromotionFields.js +80 -0
  486. package/src/modules/promotion/services/registerCartPromotionFields.js +128 -0
  487. package/src/modules/promotion/services/registerDefaultCalculators.js +48 -20
  488. package/src/modules/promotion/services/registerDefaultCouponCollectionFilters.js +72 -0
  489. package/src/modules/promotion/services/registerDefaultValidators.js +16 -4
  490. package/src/modules/setting/pages/admin/paymentSetting/PaymentSetting.jsx +2 -2
  491. package/src/modules/setting/pages/admin/storeSetting/StoreSetting.jsx +98 -35
  492. package/src/modules/stripe/api/stripeWebHook/[bodyJson]webhook.js +4 -2
  493. package/src/modules/stripe/pages/admin/paymentSetting/StripePayment.jsx +5 -5
  494. package/src/modules/stripe/pages/frontStore/checkout/Stripe.jsx +1 -1
  495. package/src/modules/tax/bootstrap.js +57 -5
  496. package/src/modules/tax/graphql/types/Product/Price/ProductPrice.resolvers.js +6 -39
  497. package/src/modules/tax/graphql/types/TaxSetting/TaxSetting.graphql +1 -2
  498. package/src/modules/tax/graphql/types/TaxSetting/TaxSetting.resolvers.js +1 -8
  499. package/src/modules/tax/pages/admin/taxSetting/TaxSetting.jsx +4 -4
  500. package/src/modules/tax/services/TaxClassCollection.js +22 -56
  501. package/src/modules/tax/services/calculateTaxAmount.js +12 -9
  502. package/src/modules/tax/services/registerCartItemTaxPercentField.js +76 -0
  503. package/src/modules/tax/services/registerDefaultTaxClassCollectionFilters.js +49 -0
  504. package/src/components/admin/oms/shippingSetting/Method.jsx +0 -73
  505. package/src/components/common/grid/headers/Basic.jsx +0 -55
  506. package/src/lib/log/debuger.js +0 -89
  507. package/src/modules/auth/services/adminSessionMiddleware.js +0 -0
  508. package/src/modules/catalog/pages/frontStore/homepage/FeaturedCategories.jsx +0 -58
  509. package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/StatusAndLayout.jsx +0 -61
  510. package/src/modules/cms/pages/frontStore/all/Menu.jsx +0 -46
  511. package/src/modules/cms/pages/frontStore/all/Menu.scss +0 -7
  512. package/src/modules/cms/pages/frontStore/all/MobileMenu.jsx +0 -73
  513. package/src/modules/cms/pages/frontStore/all/MobileMenu.scss +0 -35
  514. package/src/modules/cms/pages/frontStore/homepage/MainBanner.jsx +0 -31
  515. package/src/modules/cms/pages/frontStore/homepage/MainBanner.scss +0 -48
  516. package/src/modules/customer/pages/frontStore/login/LoginButton.jsx +0 -27
  517. /package/src/modules/{oms → checkout}/pages/admin/all/ShippingSettingMenu.jsx +0 -0
  518. /package/src/modules/{oms → checkout}/pages/admin/shippingSetting/index.js +0 -0
  519. /package/src/modules/{oms → checkout}/pages/admin/shippingSetting/route.json +0 -0
@@ -1,58 +0,0 @@
1
- import React from 'react';
2
- import Button from '@components/frontStore/cms/Button';
3
-
4
- export default function FeaturedCategories() {
5
- return (
6
- <div className="mt-15">
7
- <div className="grid grid-cols-1 md:grid-cols-3 gap-2 page-width">
8
- <div>
9
- <div className="text-center">
10
- <img src="/assets/homepage/banner/men-shoes.jpeg" alt="" />
11
- </div>
12
- <h3 className="h4 uppercase mt-1 mb-1">Men shoes collection</h3>
13
- <div className="mb-1">
14
- <p>
15
- Constructed from luxury nylons, leathers, and custom hardware,
16
- featuring sport details such as hidden breathing vents, waterproof
17
- + antimicrobial linings, and more.
18
- </p>
19
- </div>
20
- <Button url="/kids" title="Shop kids" variant="primary" />
21
- </div>
22
- <div>
23
- <div>
24
- <img src="/assets/homepage/banner/women-shoes.jpeg" alt="" />
25
- </div>
26
- <h3 className="h4 uppercase mt-1 mb-1">Women shoes collection</h3>
27
- <div className="mb-1">
28
- <p>
29
- Constructed from luxury nylons, leathers, and custom hardware,
30
- featuring sport details such as hidden breathing vents, waterproof
31
- + antimicrobial linings, and more.
32
- </p>
33
- </div>
34
- <Button url="/women" title="Shop women" variant="primary" />
35
- </div>
36
- <div>
37
- <div>
38
- <img src="/assets/homepage/banner/kid-shoes.jpeg" alt="" />
39
- </div>
40
- <h3 className="h4 uppercase mt-1 mb-1">Men shoes collection</h3>
41
- <div className="mb-1">
42
- <p>
43
- Constructed from luxury nylons, leathers, and custom hardware,
44
- featuring sport details such as hidden breathing vents, waterproof
45
- + antimicrobial linings, and more.
46
- </p>
47
- </div>
48
- <Button url="/men" title="Shop men" variant="primary" />
49
- </div>
50
- </div>
51
- </div>
52
- );
53
- }
54
-
55
- export const layout = {
56
- areaId: 'content',
57
- sortOrder: 10
58
- };
@@ -1,61 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import React from 'react';
3
- import { Field } from '@components/common/form/Field';
4
- import { Card } from '@components/admin/cms/Card';
5
-
6
- export default function StatusAndLayout({ cmsPage }) {
7
- return (
8
- <Card>
9
- <Card.Session title="Status">
10
- <Field
11
- type="radio"
12
- name="status"
13
- options={[
14
- { value: 0, text: 'Disabled' },
15
- { value: 1, text: 'Enabled' }
16
- ]}
17
- value={cmsPage?.status}
18
- />
19
- </Card.Session>
20
- <Card.Session title="Layout">
21
- <Field
22
- type="radio"
23
- name="layout"
24
- options={[
25
- { value: 'oneColumn', text: 'One column' },
26
- { value: 'twoColumnsLeft', text: 'Two columns left' },
27
- { value: 'twoColumnsRight', text: 'Two columns right' },
28
- { value: 'threeColumns', text: 'Three columns' }
29
- ]}
30
- value={cmsPage?.layout}
31
- />
32
- </Card.Session>
33
- </Card>
34
- );
35
- }
36
-
37
- StatusAndLayout.propTypes = {
38
- cmsPage: PropTypes.shape({
39
- status: PropTypes.number,
40
- includeInNave: PropTypes.number,
41
- layout: PropTypes.string.isRequired
42
- })
43
- };
44
-
45
- StatusAndLayout.defaultProps = {
46
- cmsPage: null
47
- };
48
-
49
- export const layout = {
50
- areaId: 'rightSide',
51
- sortOrder: 15
52
- };
53
-
54
- export const query = `
55
- query Query {
56
- cmsPage(id: getContextValue("cmsPageId", null)) {
57
- status
58
- layout
59
- }
60
- }
61
- `;
@@ -1,46 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import React from 'react';
3
- import './Menu.scss';
4
-
5
- export default function Menu({ menu: { items } }) {
6
- return (
7
- <div className="main-menu self-center hidden md:block">
8
- <ul className="nav flex space-x-275 justify-content-center">
9
- {items.map((i, index) => (
10
- // eslint-disable-next-line react/no-array-index-key
11
- <li className="nav-item" key={index}>
12
- <a className="nav-link hover:underline" href={i.url}>
13
- {i.name}
14
- </a>
15
- </li>
16
- ))}
17
- </ul>
18
- </div>
19
- );
20
- }
21
-
22
- Menu.propTypes = {
23
- menu: PropTypes.shape({
24
- items: PropTypes.arrayOf(
25
- PropTypes.shape({
26
- name: PropTypes.string.isRequired,
27
- url: PropTypes.string.isRequired
28
- })
29
- ).isRequired
30
- }).isRequired
31
- };
32
-
33
- export const layout = {
34
- areaId: 'header',
35
- sortOrder: 5
36
- };
37
-
38
- export const query = `
39
- query {
40
- menu {
41
- items {
42
- name
43
- url
44
- }
45
- }
46
- }`;
@@ -1,7 +0,0 @@
1
- .main-menu {
2
- .nav-link {
3
- font-size: 1.6rem;
4
- font-weight: 300;
5
- line-height: 2rem;
6
- }
7
- }
@@ -1,73 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import React from 'react';
3
- import './MobileMenu.scss';
4
-
5
- export default function MobileMenu({ menu: { items } }) {
6
- const [show, setShow] = React.useState(false);
7
-
8
- return (
9
- <div className="main-menu-mobile self-center">
10
- <a
11
- className="menu-icon"
12
- href="#"
13
- onClick={(e) => {
14
- e.preventDefault();
15
- setShow(!show);
16
- }}
17
- >
18
- <svg
19
- xmlns="http://www.w3.org/2000/svg"
20
- className="h-6 w-6"
21
- fill="none"
22
- viewBox="0 0 24 24"
23
- stroke="currentColor"
24
- >
25
- <path
26
- strokeLinecap="round"
27
- strokeLinejoin="round"
28
- strokeWidth={2}
29
- d="M4 6h16M4 12h16M4 18h16"
30
- />
31
- </svg>
32
- </a>
33
- {show && (
34
- <ul className="nav justify-content-center">
35
- {items.map((i, index) => (
36
- // eslint-disable-next-line react/no-array-index-key
37
- <li className="nav-item" key={index}>
38
- <a className="nav-link" href={i.url}>
39
- {i.name}
40
- </a>
41
- </li>
42
- ))}
43
- </ul>
44
- )}
45
- </div>
46
- );
47
- }
48
-
49
- MobileMenu.propTypes = {
50
- menu: PropTypes.shape({
51
- items: PropTypes.arrayOf(
52
- PropTypes.shape({
53
- name: PropTypes.string.isRequired,
54
- url: PropTypes.string.isRequired
55
- })
56
- ).isRequired
57
- }).isRequired
58
- };
59
-
60
- export const layout = {
61
- areaId: 'icon-wrapper',
62
- sortOrder: 50
63
- };
64
-
65
- export const query = `
66
- query {
67
- menu {
68
- items {
69
- name
70
- url
71
- }
72
- }
73
- }`;
@@ -1,35 +0,0 @@
1
- .main-menu-mobile {
2
- @media screen and (min-width: 768px) {
3
- display: none;
4
- }
5
- position: relative;
6
- .menu-icon {
7
- svg {
8
- width: 2.5rem;
9
- height: 2.5rem;
10
- }
11
- }
12
- .nav {
13
- position: absolute;
14
- top: 100%;
15
- right: -2.5rem;
16
- padding: 2.5rem;
17
- width: 100vw;
18
- background-color: #fff;
19
- z-index: 1000;
20
- .nav-item {
21
- padding: 1.5rem 0;
22
- border-bottom: 1px solid var(--border);
23
- &:first {
24
- padding-top: 0;
25
- }
26
- &.last {
27
- padding-bottom: 0;
28
- border-bottom: none;
29
- }
30
- a {
31
- font-size: 1.6rem;
32
- }
33
- }
34
- }
35
- }
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
- import { _ } from '@evershop/evershop/src/lib/locale/translate';
3
- import './MainBanner.scss';
4
-
5
- export default function MainBanner() {
6
- const text = _('Discount ${discount} For All Orders Over ${price}', {
7
- discount: '20%',
8
- price: '$2000'
9
- });
10
- return (
11
- <div className="main-banner-home flex items-center">
12
- <div className="container grid grid-cols-1 md:grid-cols-2 gap-2">
13
- <div />
14
- <div className="text-center md:text-left px-2 ">
15
- <h2 className="h1 ">{text}</h2>
16
- <p>
17
- Use coupon code
18
- <span className="font-bold">DISCOUNT20</span>
19
- </p>
20
- <p>{_('Use coupon ${coupon}', { coupon: 'DISCOUNT20' })}</p>
21
- <p />
22
- </div>
23
- </div>
24
- </div>
25
- );
26
- }
27
-
28
- export const layout = {
29
- areaId: 'content',
30
- sortOrder: 1
31
- };
@@ -1,48 +0,0 @@
1
- .main-banner-home {
2
- background-image: url('data:image/webp;base64,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');
3
- background-size: cover;
4
- background-repeat: no-repeat;
5
- background-position: left center;
6
- height: 490px;
7
- position: relative;
8
- &::after {
9
- content: '';
10
- position: absolute;
11
- top: 0;
12
- left: 0;
13
- bottom: 0;
14
- right: 0;
15
- display: block;
16
- background-color: #685f58;
17
- opacity: 0.35;
18
- z-index: 1;
19
- }
20
- .container {
21
- z-index: 10;
22
- }
23
- .button {
24
- margin-top: 27px;
25
- }
26
- h2.h1 {
27
- color: var(--primary);
28
- letter-spacing: 0;
29
- font-size: 3.2rem;
30
- line-height: 4.2rem;
31
- @media screen and (min-width: 768px) {
32
- font-size: 5.5rem;
33
- line-height: 6.5rem;
34
- }
35
- }
36
- }
37
-
38
- #app {
39
- .header {
40
- margin-bottom: 0;
41
- }
42
- .button {
43
- text-transform: uppercase;
44
- font-size: 1.2rem;
45
- font-weight: bold;
46
- letter-spacing: 0.1rem;
47
- }
48
- }
@@ -1,27 +0,0 @@
1
- import React from 'react';
2
- import { _ } from '@evershop/evershop/src/lib/locale/translate';
3
- import Button from '@components/common/form/Button';
4
-
5
- export default function LoginButton() {
6
- return (
7
- <div className="form-submit-button flex border-t border-divider mt-1 pt-1">
8
- <Button
9
- title={_('SIGN IN')}
10
- type="submit"
11
- onAction={() => {
12
- document.getElementById('loginForm').dispatchEvent(
13
- new Event('submit', {
14
- cancelable: true,
15
- bubbles: true
16
- })
17
- );
18
- }}
19
- />
20
- </div>
21
- );
22
- }
23
-
24
- export const layout = {
25
- areaId: 'loginFormInner',
26
- sortOrder: 50
27
- };