@ozdao/martyrs 0.2.540 → 0.2.542

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 (290) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +3 -6
  4. package/dist/_virtual/index2.cjs.map +1 -1
  5. package/dist/_virtual/index2.js +2 -5
  6. package/dist/_virtual/index2.js.map +1 -1
  7. package/dist/{globals.verifier-CJ1lr-NW.cjs → globals.verifier-Bi-XLEi9.cjs} +24 -23
  8. package/dist/{globals.verifier-BhqUrneb.js → globals.verifier-gPPX_jhf.js} +24 -23
  9. package/dist/inventory.server.cjs +1 -1
  10. package/dist/inventory.server.js +1 -1
  11. package/dist/{main-gOfhekZG.js → main-ByKkD9qa.js} +2857 -3276
  12. package/dist/main-Czyu-VcC.cjs +11 -0
  13. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
  14. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  15. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
  16. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  17. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  18. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  19. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.cjs +30 -21
  20. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.cjs.map +1 -1
  21. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js +32 -23
  22. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -1
  23. package/dist/martyrs/src/components/FieldTags/FieldTags.vue2.cjs +235 -0
  24. package/dist/martyrs/src/components/FieldTags/FieldTags.vue2.cjs.map +1 -0
  25. package/dist/martyrs/src/components/FieldTags/FieldTags.vue2.js +235 -0
  26. package/dist/martyrs/src/components/FieldTags/FieldTags.vue2.js.map +1 -0
  27. package/dist/martyrs/src/components/Marquee/Marquee.vue.cjs +17 -8
  28. package/dist/martyrs/src/components/Marquee/Marquee.vue.cjs.map +1 -1
  29. package/dist/martyrs/src/components/Marquee/Marquee.vue.js +17 -8
  30. package/dist/martyrs/src/components/Marquee/Marquee.vue.js.map +1 -1
  31. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs +161 -42
  32. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs.map +1 -1
  33. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +162 -43
  34. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  38. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  39. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
  40. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +4 -4
  45. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  53. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  55. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -4
  56. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -4
  58. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
  59. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
  60. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  61. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  62. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  63. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  64. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  65. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +21 -21
  66. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  68. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  69. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  70. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  71. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  72. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  73. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  74. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  75. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  76. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  77. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  78. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  79. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  80. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  81. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  82. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  83. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  84. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +2 -2
  85. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  86. package/dist/martyrs/src/modules/globals/views/store/globals.js +2 -2
  87. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  88. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  89. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  90. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +1 -1
  91. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  92. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +1 -1
  93. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  94. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  95. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  96. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +1 -1
  97. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  98. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  99. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  100. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  101. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  102. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  103. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  104. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  105. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  106. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  107. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +11 -11
  108. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  109. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +12 -12
  110. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  111. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +16 -16
  112. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  113. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  114. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
  115. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +16 -16
  116. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
  117. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
  118. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  119. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  120. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  121. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  122. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -1
  123. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +1 -1
  124. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  125. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  126. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
  127. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
  128. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  129. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  130. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  131. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  132. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
  133. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  134. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
  135. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
  136. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +1 -1
  137. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  138. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  139. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  140. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  141. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  142. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  143. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  144. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
  145. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  146. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
  147. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  148. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +3 -4
  149. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs.map +1 -1
  150. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +3 -4
  151. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js.map +1 -1
  152. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  153. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  154. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  155. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  156. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +1 -1
  157. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +20 -20
  158. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
  159. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  160. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +3 -4
  161. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  162. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +3 -4
  163. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  164. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +4 -5
  165. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs.map +1 -1
  166. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +4 -5
  167. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  168. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -3
  169. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  170. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -3
  171. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  172. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  173. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +6 -6
  174. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  175. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  176. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  177. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  178. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  179. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  180. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  181. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  182. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  183. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  184. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  185. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  186. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
  187. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +1 -1
  188. package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.cjs → THC.vue.cjs} +2 -2
  189. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +1 -0
  190. package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.js → THC.vue.js} +2 -2
  191. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +1 -0
  192. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  193. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  194. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +63 -39
  195. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  196. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +69 -45
  197. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  198. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  199. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  200. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  201. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  202. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  203. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  204. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  205. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  206. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  207. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  208. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  209. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  210. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  211. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  212. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +2 -2
  213. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +2 -2
  214. package/dist/martyrs/src/modules/products/store/categories.cjs +4 -0
  215. package/dist/martyrs/src/modules/products/store/categories.cjs.map +1 -1
  216. package/dist/martyrs/src/modules/products/store/categories.js +4 -0
  217. package/dist/martyrs/src/modules/products/store/categories.js.map +1 -1
  218. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  219. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  220. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  221. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  222. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  223. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  224. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  225. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +11 -11
  226. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  227. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  228. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  229. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
  230. package/dist/martyrs.cjs.js +1 -1
  231. package/dist/martyrs.css +1 -1
  232. package/dist/martyrs.es.js +1 -1
  233. package/dist/music.server.cjs +1 -1
  234. package/dist/music.server.js +1 -1
  235. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs +1 -1
  236. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js +1 -1
  237. package/dist/orders.server.cjs +1 -1
  238. package/dist/orders.server.js +1 -1
  239. package/dist/organizations.server.cjs +1 -1
  240. package/dist/organizations.server.js +1 -1
  241. package/dist/products.server.cjs +10 -2
  242. package/dist/products.server.js +10 -2
  243. package/dist/rents.server.cjs +1 -1
  244. package/dist/rents.server.js +1 -1
  245. package/dist/style.css +129 -129
  246. package/dist/{web-DxxU2bwy.js → web-BklgIiYr.js} +1 -1
  247. package/dist/{web-bMa0DMyG.cjs → web-CQBm7C6L.cjs} +1 -1
  248. package/package.json +1 -1
  249. package/src/components/FieldTags/BlockTags.vue +28 -16
  250. package/src/components/FieldTags/FieldTags.vue +327 -508
  251. package/src/components/Marquee/Marquee.vue +25 -14
  252. package/src/components/UploadImage/UploadImage.vue +192 -18
  253. package/src/modules/community/components/pages/CreateBlogPost.vue +0 -1
  254. package/src/modules/globals/controllers/classes/globals.validator.js +24 -23
  255. package/src/modules/globals/views/store/globals.js +2 -2
  256. package/src/modules/products/components/pages/CategoryEdit.vue +73 -39
  257. package/src/modules/products/middlewares/categories.verifier.js +9 -1
  258. package/src/modules/products/store/categories.js +5 -0
  259. package/dist/_virtual/index3.cjs +0 -5
  260. package/dist/_virtual/index3.cjs.map +0 -1
  261. package/dist/_virtual/index3.js +0 -5
  262. package/dist/_virtual/index3.js.map +0 -1
  263. package/dist/main-Zhs0EqRp.cjs +0 -11
  264. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  265. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +0 -480
  266. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs.map +0 -1
  267. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +0 -480
  268. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js.map +0 -1
  269. package/dist/martyrs/src/components/FieldTags/create-tags.cjs +0 -43
  270. package/dist/martyrs/src/components/FieldTags/create-tags.cjs.map +0 -1
  271. package/dist/martyrs/src/components/FieldTags/create-tags.js +0 -43
  272. package/dist/martyrs/src/components/FieldTags/create-tags.js.map +0 -1
  273. package/dist/martyrs/src/components/FieldTags/tag-input.vue2.cjs +0 -32
  274. package/dist/martyrs/src/components/FieldTags/tag-input.vue2.cjs.map +0 -1
  275. package/dist/martyrs/src/components/FieldTags/tag-input.vue2.js +0 -32
  276. package/dist/martyrs/src/components/FieldTags/tag-input.vue2.js.map +0 -1
  277. package/dist/martyrs/src/components/FieldTags/vue-tags-input.props.cjs +0 -329
  278. package/dist/martyrs/src/components/FieldTags/vue-tags-input.props.cjs.map +0 -1
  279. package/dist/martyrs/src/components/FieldTags/vue-tags-input.props.js +0 -329
  280. package/dist/martyrs/src/components/FieldTags/vue-tags-input.props.js.map +0 -1
  281. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +0 -1
  282. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +0 -1
  283. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs +0 -39
  284. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs.map +0 -1
  285. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +0 -39
  286. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +0 -1
  287. package/src/components/FieldTags/create-tags.js +0 -84
  288. package/src/components/FieldTags/tag-input.vue +0 -55
  289. package/src/components/FieldTags/vue-tags-input.props.js +0 -342
  290. package/src/components/FieldTags/vue-tags-input.scss +0 -149
@@ -3,11 +3,11 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const Select = require("../../../../components/Select/Select.vue.cjs");
8
8
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
9
9
  const Field = require("../../../../components/Field/Field.vue.cjs");
10
- const FieldTags = require("../../../../components/FieldTags/FieldTags.vue.cjs");
10
+ const FieldTags = require("../../../../components/FieldTags/FieldTags.vue2.cjs");
11
11
  ;/* empty css */
12
12
  ;/* empty css */
13
13
  ;/* empty css */
@@ -27,7 +27,7 @@ const _hoisted_1 = {
27
27
  class: "rows-auto pd-thin bg-white for-transition w-100"
28
28
  };
29
29
  const _hoisted_2 = { class: "mn-r-auto" };
30
- const _hoisted_3 = { class: "cols-auto-1fr mn-b-thin w-100" };
30
+ const _hoisted_3 = { class: "w-100 mn-b-thin bg-white radius-small pd-medium cols-1" };
31
31
  const _hoisted_4 = { class: "mn-b-thin w-100 flex-nowrap gap-thin flex" };
32
32
  const _hoisted_5 = ["onClick"];
33
33
  const _hoisted_6 = ["onClick"];
@@ -72,6 +72,14 @@ const _sfc_main = {
72
72
  type: categories.state.current.owner.type,
73
73
  target: typeof categories.state.current.owner.target === "object" ? categories.state.current.owner.target._id : categories.state.current.owner.target
74
74
  };
75
+ if (categories.state.current.filters) {
76
+ categories.state.current.filters = categories.state.current.filters.map((filter) => ({
77
+ ...filter,
78
+ options: filter.options ? filter.options.map(
79
+ (opt) => typeof opt === "string" ? opt : opt.text
80
+ ) : []
81
+ }));
82
+ }
75
83
  await categories.actions.update(categories.state.current);
76
84
  redirectTo();
77
85
  } else {
@@ -85,6 +93,14 @@ const _sfc_main = {
85
93
  hidden: false,
86
94
  target: route.params._id ? route.params._id : null
87
95
  };
96
+ if (categories.state.current.filters) {
97
+ categories.state.current.filters = categories.state.current.filters.map((filter) => ({
98
+ ...filter,
99
+ options: filter.options ? filter.options.map(
100
+ (opt) => typeof opt === "string" ? opt : opt.text
101
+ ) : []
102
+ }));
103
+ }
88
104
  await categories.actions.create(categories.state.current);
89
105
  redirectTo();
90
106
  }
@@ -122,59 +138,64 @@ const _sfc_main = {
122
138
  class: "mn-b-thin"
123
139
  }, {
124
140
  default: vue.withCtx(() => [
141
+ vue.createVNode(Select.default, {
142
+ select: categories.state.current.status,
143
+ "onUpdate:select": _cache[0] || (_cache[0] = ($event) => categories.state.current.status = $event),
144
+ label: "Status",
145
+ options: [
146
+ "draft",
147
+ "internal",
148
+ "published",
149
+ "removed"
150
+ ],
151
+ placeholder: "Select category",
152
+ class: "pos-relative mn-b-thin w-100 bg-white radius-small pd-medium"
153
+ }, null, 8, ["select"]),
154
+ vue.createVNode(Field.default, {
155
+ field: categories.state.current.name,
156
+ "onUpdate:field": _cache[1] || (_cache[1] = ($event) => categories.state.current.name = $event),
157
+ label: "Name",
158
+ placeholder: "Enter category name",
159
+ class: "w-100 mn-b-thin bg-white radius-small pd-medium"
160
+ }, null, 8, ["field"]),
125
161
  vue.createElementVNode("div", _hoisted_3, [
126
162
  vue.createVNode(UploadImage.default, {
127
163
  photo: categories.state.current.photo,
128
- "onUpdate:photo": _cache[0] || (_cache[0] = ($event) => categories.state.current.photo = $event),
164
+ "onUpdate:photo": _cache[2] || (_cache[2] = ($event) => categories.state.current.photo = $event),
129
165
  uploadPath: "categories",
130
- class: "aspect-1x1 h-100 o-hidden mn-r-small radius-extra"
131
- }, null, 8, ["photo"]),
132
- vue.createVNode(Field.default, {
133
- field: categories.state.current.name,
134
- "onUpdate:field": _cache[1] || (_cache[1] = ($event) => categories.state.current.name = $event),
135
- label: "Name",
136
- placeholder: "Enter category name",
137
- class: "w-100 bg-white radius-small pd-medium"
138
- }, null, 8, ["field"])
166
+ text: {
167
+ title: "Upload category image",
168
+ subtitle: "Supported: JPG, PNG, GIF. Max size: 5MB",
169
+ buttonText: "Select Image"
170
+ },
171
+ class: "pos-relative"
172
+ }, null, 8, ["photo"])
139
173
  ]),
174
+ vue.unref(route).params.category ? (vue.openBlock(), vue.createBlock(Field.default, {
175
+ key: 0,
176
+ field: categories.state.current.url,
177
+ "onUpdate:field": _cache[3] || (_cache[3] = ($event) => categories.state.current.url = $event),
178
+ label: "URL Path",
179
+ disabled: true,
180
+ class: "w-100 bg-white radius-small pd-medium mn-b-thin"
181
+ }, null, 8, ["field"])) : vue.createCommentVNode("", true),
140
182
  vue.createElementVNode("div", _hoisted_4, [
141
183
  vue.createVNode(Field.default, {
142
184
  field: categories.state.current.order,
143
- "onUpdate:field": _cache[2] || (_cache[2] = ($event) => categories.state.current.order = $event),
185
+ "onUpdate:field": _cache[4] || (_cache[4] = ($event) => categories.state.current.order = $event),
144
186
  label: "Order",
145
187
  disabled: true,
146
188
  class: "w-40 bg-white radius-small pd-medium"
147
189
  }, null, 8, ["field"]),
148
190
  vue.createVNode(Field.default, {
149
191
  field: categories.state.current.slug,
150
- "onUpdate:field": _cache[3] || (_cache[3] = ($event) => categories.state.current.slug = $event),
192
+ "onUpdate:field": _cache[5] || (_cache[5] = ($event) => categories.state.current.slug = $event),
151
193
  label: "Slug",
152
194
  placeholder: "Enter category slug",
153
195
  disabled: vue.unref(route).params.category ? true : false,
154
196
  class: "w-100 bg-white radius-small pd-medium"
155
197
  }, null, 8, ["field", "disabled"])
156
198
  ]),
157
- vue.unref(route).params.category ? (vue.openBlock(), vue.createBlock(Field.default, {
158
- key: 0,
159
- field: categories.state.current.url,
160
- "onUpdate:field": _cache[4] || (_cache[4] = ($event) => categories.state.current.url = $event),
161
- label: "URL Path",
162
- disabled: true,
163
- class: "w-100 bg-white radius-small pd-medium mn-b-thin"
164
- }, null, 8, ["field"])) : vue.createCommentVNode("", true),
165
- vue.createVNode(Select.default, {
166
- select: categories.state.current.status,
167
- "onUpdate:select": _cache[5] || (_cache[5] = ($event) => categories.state.current.status = $event),
168
- label: "Status",
169
- options: [
170
- "draft",
171
- "internal",
172
- "published",
173
- "removed"
174
- ],
175
- placeholder: "Select category",
176
- class: "pos-relative w-100 bg-white radius-small pd-medium"
177
- }, null, 8, ["select"]),
178
199
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categories.state.current.translations, (item, index) => {
179
200
  return vue.openBlock(), vue.createElementBlock("div", {
180
201
  class: "gap-thin mn-b-thin flex-nowrap flex",
@@ -224,11 +245,14 @@ const _sfc_main = {
224
245
  class: "w-100 bg-white radius-small pd-medium"
225
246
  }, null, 8, ["field", "onUpdate:field"]),
226
247
  vue.createVNode(FieldTags.default, {
227
- tags: item.options,
228
- "onUpdate:tags": ($event) => item.options = $event,
248
+ modelValue: item.options,
249
+ "onUpdate:modelValue": ($event) => item.options = $event,
229
250
  placeholder: "Add filter options",
251
+ separators: [",", ";"],
252
+ "add-on-key": [13, ",", ";"],
253
+ "max-tags": 20,
230
254
  class: "w-100 bg-white radius-small pd-medium"
231
- }, null, 8, ["tags", "onUpdate:tags"]),
255
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
232
256
  vue.createElementVNode("div", {
233
257
  onClick: () => categories.state.current.filters.splice(index, 1),
234
258
  class: "radius-small pd-small flex-center flex aspect-1x1 bg-red"
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryEdit.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div class=\"cols-auto-1fr mn-b-thin w-100 \">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n class=\"aspect-1x1 h-100 o-hidden mn-r-small radius-extra\" \n />\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative w-100 bg-white radius-small pd-medium\"\n />\n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model:tags=\"item.options\"\n placeholder=\"Add filter options\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n globals.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n router.push({\n name: 'Categories', \n params: { \n _id: route.params._id\n } \n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["useRoute","useRouter","ref","onMounted","categories.actions","computed","categories.state","globals.state","IconCheckmark","auth.state","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyKE,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAExB,UAAM,QAAQ;AAGd,UAAM,YAAYC,IAAAA,IAAI,IAAI;AAC1BC,QAAAA,UAAU,YAAY;AACpB,YAAM,cAAc;AACpB,UAAI,MAAM,OAAO,UAAU;AACzB,cAAMC,WAAAA,QAAmB,KAAK,EAAC,KAAK,MAAM,OAAO,SAAQ,CAAC;AAAA,MAC5D,OAAO;AACLA,mBAAAA,QAAmB,MAAK;AAAA,MAC1B;AAEA,YAAM,aAAa;AACnB,gBAAU,QAAQ;AAAA,IACpB,CAAC;AAGgBC,QAAAA,SAAS,MAAMC,WAAAA,MAAiB,OAAO;AACtCD,QAAAA,SAAS,MAAM,MAAM,IAAI;AAG3CE,kBAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC,cAAAA;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACZ;AAAA,MACI,WAAW,MAAMC,KAAAA,MAAW,QAAQA,KAAAA,MAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,SAAQ;AAAA,IAC1B,CAAG,GAEFC,IAAAA,YAAY,MAAM;AACfH,oBAAc,eAAe,UAAU,CAAA;AAAA,IACzC,CAAC;AAKD,mBAAe,WAAW;AACxB,UAAI,MAAM,OAAO,UAAU;AAEzBD,mBAAAA,MAAiB,QAAQ,UAAU;AAAA,UACjC,MAAMA,WAAAA,MAAiB,QAAQ,QAAQ;AAAA,UACvC,QAAQA,WAAAA,MAAiB,QAAQ,QAAQ;AAAA,UACzC,QAAQ,OAAOA,WAAAA,MAAiB,QAAQ,QAAQ,WAAW,WACvDA,WAAAA,MAAiB,QAAQ,QAAQ,OAAO,MACxCA,WAAAA,MAAiB,QAAQ,QAAQ;AAAA,QAC7C;AAEMA,mBAAAA,MAAiB,QAAQ,QAAQ;AAAA,UAC/B,MAAMA,WAAAA,MAAiB,QAAQ,MAAM;AAAA,UACrC,QAAQ,OAAOA,WAAAA,MAAiB,QAAQ,MAAM,WAAW,WACrDA,WAAAA,MAAiB,QAAQ,MAAM,OAAO,MACtCA,WAAAA,MAAiB,QAAQ,MAAM;AAAA,QAC3C;AAEM,cAAMF,WAAAA,QAAmB,OAAOE,WAAAA,MAAiB,OAAO;AAExD,mBAAU;AAAA,MACZ,OAAO;AAELA,mBAAAA,MAAiB,QAAQ,UAAU;AAAA,UACjC,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,QAAQG,KAAAA,MAAW,KAAK;AAAA,QAChC;AAEMH,mBAAAA,MAAiB,QAAQ,QAAQ;AAAA,UAC/B,MAAM,MAAM,OAAO,MAAM,iBAAiB;AAAA,UAC1C,QAAQ;AAAA,UACR,QAAQ,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM;AAAA,QACtD;AAEM,cAAMF,WAAAA,QAAmB,OAAOE,WAAAA,MAAiB,OAAO;AACxD,mBAAU;AAAA,MACZ;AAAA,IACF;AAEA,aAAS,aAAc;AACrB,aAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,KAAK,MAAM,OAAO;AAAA,QAC1B;AAAA,MACA,CAAK;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CategoryEdit.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative mn-b-thin w-100 bg-white radius-small pd-medium\"\n />\n\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 mn-b-thin bg-white radius-small pd-medium\"\n /> \n\n <div class=\"w-100 mn-b-thin bg-white radius-small pd-medium cols-1\">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n :text=\"{\n title: 'Upload category image',\n subtitle: 'Supported: JPG, PNG, GIF. Max size: 5MB',\n buttonText: 'Select Image'\n }\"\n class=\"pos-relative\" \n />\n </div>\n\n\n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n \n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n \n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model=\"item.options\"\n :placeholder=\"'Add filter options'\"\n :separators=\"[',', ';']\"\n :add-on-key=\"[13, ',', ';']\"\n :max-tags=\"20\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n globals.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n router.push({\n name: 'Categories', \n params: { \n _id: route.params._id\n } \n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["useRoute","useRouter","ref","onMounted","categories.actions","computed","categories.state","globals.state","IconCheckmark","auth.state","onUnmounted"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { ref, onMounted, computed, onUnmounted, createElementBlock, createCommentVNode, openBlock, createBlock, createVNode, withCtx, createElementVNode, toDisplayString, unref, createTextVNode, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$5 from "../../../icons/navigation/IconDelete.vue.js";
4
- import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
3
+ import _sfc_main$4 from "../../../icons/navigation/IconDelete.vue.js";
4
+ import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
5
5
  import Select from "../../../../components/Select/Select.vue.js";
6
- import _sfc_main$4 from "../../../../components/UploadImage/UploadImage.vue.js";
6
+ import UploadImage from "../../../../components/UploadImage/UploadImage.vue.js";
7
7
  import Field from "../../../../components/Field/Field.vue.js";
8
- import _sfc_main$6 from "../../../../components/FieldTags/FieldTags.vue.js";
8
+ import FieldTags from "../../../../components/FieldTags/FieldTags.vue2.js";
9
9
  /* empty css */
10
10
  /* empty css */
11
11
  /* empty css */
@@ -25,7 +25,7 @@ const _hoisted_1 = {
25
25
  class: "rows-auto pd-thin bg-white for-transition w-100"
26
26
  };
27
27
  const _hoisted_2 = { class: "mn-r-auto" };
28
- const _hoisted_3 = { class: "cols-auto-1fr mn-b-thin w-100" };
28
+ const _hoisted_3 = { class: "w-100 mn-b-thin bg-white radius-small pd-medium cols-1" };
29
29
  const _hoisted_4 = { class: "mn-b-thin w-100 flex-nowrap gap-thin flex" };
30
30
  const _hoisted_5 = ["onClick"];
31
31
  const _hoisted_6 = ["onClick"];
@@ -70,6 +70,14 @@ const _sfc_main = {
70
70
  type: state.current.owner.type,
71
71
  target: typeof state.current.owner.target === "object" ? state.current.owner.target._id : state.current.owner.target
72
72
  };
73
+ if (state.current.filters) {
74
+ state.current.filters = state.current.filters.map((filter) => ({
75
+ ...filter,
76
+ options: filter.options ? filter.options.map(
77
+ (opt) => typeof opt === "string" ? opt : opt.text
78
+ ) : []
79
+ }));
80
+ }
73
81
  await actions.update(state.current);
74
82
  redirectTo();
75
83
  } else {
@@ -83,6 +91,14 @@ const _sfc_main = {
83
91
  hidden: false,
84
92
  target: route.params._id ? route.params._id : null
85
93
  };
94
+ if (state.current.filters) {
95
+ state.current.filters = state.current.filters.map((filter) => ({
96
+ ...filter,
97
+ options: filter.options ? filter.options.map(
98
+ (opt) => typeof opt === "string" ? opt : opt.text
99
+ ) : []
100
+ }));
101
+ }
86
102
  await actions.create(state.current);
87
103
  redirectTo();
88
104
  }
@@ -120,59 +136,64 @@ const _sfc_main = {
120
136
  class: "mn-b-thin"
121
137
  }, {
122
138
  default: withCtx(() => [
139
+ createVNode(Select, {
140
+ select: state.current.status,
141
+ "onUpdate:select": _cache[0] || (_cache[0] = ($event) => state.current.status = $event),
142
+ label: "Status",
143
+ options: [
144
+ "draft",
145
+ "internal",
146
+ "published",
147
+ "removed"
148
+ ],
149
+ placeholder: "Select category",
150
+ class: "pos-relative mn-b-thin w-100 bg-white radius-small pd-medium"
151
+ }, null, 8, ["select"]),
152
+ createVNode(Field, {
153
+ field: state.current.name,
154
+ "onUpdate:field": _cache[1] || (_cache[1] = ($event) => state.current.name = $event),
155
+ label: "Name",
156
+ placeholder: "Enter category name",
157
+ class: "w-100 mn-b-thin bg-white radius-small pd-medium"
158
+ }, null, 8, ["field"]),
123
159
  createElementVNode("div", _hoisted_3, [
124
- createVNode(_sfc_main$4, {
160
+ createVNode(UploadImage, {
125
161
  photo: state.current.photo,
126
- "onUpdate:photo": _cache[0] || (_cache[0] = ($event) => state.current.photo = $event),
162
+ "onUpdate:photo": _cache[2] || (_cache[2] = ($event) => state.current.photo = $event),
127
163
  uploadPath: "categories",
128
- class: "aspect-1x1 h-100 o-hidden mn-r-small radius-extra"
129
- }, null, 8, ["photo"]),
130
- createVNode(Field, {
131
- field: state.current.name,
132
- "onUpdate:field": _cache[1] || (_cache[1] = ($event) => state.current.name = $event),
133
- label: "Name",
134
- placeholder: "Enter category name",
135
- class: "w-100 bg-white radius-small pd-medium"
136
- }, null, 8, ["field"])
164
+ text: {
165
+ title: "Upload category image",
166
+ subtitle: "Supported: JPG, PNG, GIF. Max size: 5MB",
167
+ buttonText: "Select Image"
168
+ },
169
+ class: "pos-relative"
170
+ }, null, 8, ["photo"])
137
171
  ]),
172
+ unref(route).params.category ? (openBlock(), createBlock(Field, {
173
+ key: 0,
174
+ field: state.current.url,
175
+ "onUpdate:field": _cache[3] || (_cache[3] = ($event) => state.current.url = $event),
176
+ label: "URL Path",
177
+ disabled: true,
178
+ class: "w-100 bg-white radius-small pd-medium mn-b-thin"
179
+ }, null, 8, ["field"])) : createCommentVNode("", true),
138
180
  createElementVNode("div", _hoisted_4, [
139
181
  createVNode(Field, {
140
182
  field: state.current.order,
141
- "onUpdate:field": _cache[2] || (_cache[2] = ($event) => state.current.order = $event),
183
+ "onUpdate:field": _cache[4] || (_cache[4] = ($event) => state.current.order = $event),
142
184
  label: "Order",
143
185
  disabled: true,
144
186
  class: "w-40 bg-white radius-small pd-medium"
145
187
  }, null, 8, ["field"]),
146
188
  createVNode(Field, {
147
189
  field: state.current.slug,
148
- "onUpdate:field": _cache[3] || (_cache[3] = ($event) => state.current.slug = $event),
190
+ "onUpdate:field": _cache[5] || (_cache[5] = ($event) => state.current.slug = $event),
149
191
  label: "Slug",
150
192
  placeholder: "Enter category slug",
151
193
  disabled: unref(route).params.category ? true : false,
152
194
  class: "w-100 bg-white radius-small pd-medium"
153
195
  }, null, 8, ["field", "disabled"])
154
196
  ]),
155
- unref(route).params.category ? (openBlock(), createBlock(Field, {
156
- key: 0,
157
- field: state.current.url,
158
- "onUpdate:field": _cache[4] || (_cache[4] = ($event) => state.current.url = $event),
159
- label: "URL Path",
160
- disabled: true,
161
- class: "w-100 bg-white radius-small pd-medium mn-b-thin"
162
- }, null, 8, ["field"])) : createCommentVNode("", true),
163
- createVNode(Select, {
164
- select: state.current.status,
165
- "onUpdate:select": _cache[5] || (_cache[5] = ($event) => state.current.status = $event),
166
- label: "Status",
167
- options: [
168
- "draft",
169
- "internal",
170
- "published",
171
- "removed"
172
- ],
173
- placeholder: "Select category",
174
- class: "pos-relative w-100 bg-white radius-small pd-medium"
175
- }, null, 8, ["select"]),
176
197
  (openBlock(true), createElementBlock(Fragment, null, renderList(state.current.translations, (item, index) => {
177
198
  return openBlock(), createElementBlock("div", {
178
199
  class: "gap-thin mn-b-thin flex-nowrap flex",
@@ -194,7 +215,7 @@ const _sfc_main = {
194
215
  onClick: () => state.current.translations.splice(index, 1),
195
216
  class: "radius-small pd-small flex-center flex aspect-1x1 bg-red"
196
217
  }, [
197
- createVNode(_sfc_main$5, { class: "i-medium" })
218
+ createVNode(_sfc_main$4, { class: "i-medium" })
198
219
  ], 8, _hoisted_5)
199
220
  ]);
200
221
  }), 128))
@@ -221,17 +242,20 @@ const _sfc_main = {
221
242
  placeholder: "Filter name",
222
243
  class: "w-100 bg-white radius-small pd-medium"
223
244
  }, null, 8, ["field", "onUpdate:field"]),
224
- createVNode(_sfc_main$6, {
225
- tags: item.options,
226
- "onUpdate:tags": ($event) => item.options = $event,
245
+ createVNode(FieldTags, {
246
+ modelValue: item.options,
247
+ "onUpdate:modelValue": ($event) => item.options = $event,
227
248
  placeholder: "Add filter options",
249
+ separators: [",", ";"],
250
+ "add-on-key": [13, ",", ";"],
251
+ "max-tags": 20,
228
252
  class: "w-100 bg-white radius-small pd-medium"
229
- }, null, 8, ["tags", "onUpdate:tags"]),
253
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
230
254
  createElementVNode("div", {
231
255
  onClick: () => state.current.filters.splice(index, 1),
232
256
  class: "radius-small pd-small flex-center flex aspect-1x1 bg-red"
233
257
  }, [
234
- createVNode(_sfc_main$5, { class: "i-medium" })
258
+ createVNode(_sfc_main$4, { class: "i-medium" })
235
259
  ], 8, _hoisted_6)
236
260
  ]);
237
261
  }), 128))
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryEdit.vue.js","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div class=\"cols-auto-1fr mn-b-thin w-100 \">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n class=\"aspect-1x1 h-100 o-hidden mn-r-small radius-extra\" \n />\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative w-100 bg-white radius-small pd-medium\"\n />\n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model:tags=\"item.options\"\n placeholder=\"Add filter options\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n globals.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n router.push({\n name: 'Categories', \n params: { \n _id: route.params._id\n } \n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["categories.actions","categories.state","globals.state","IconCheckmark","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyKE,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,QAAQ;AAGd,UAAM,YAAY,IAAI,IAAI;AAC1B,cAAU,YAAY;AACpB,YAAM,cAAc;AACpB,UAAI,MAAM,OAAO,UAAU;AACzB,cAAMA,QAAmB,KAAK,EAAC,KAAK,MAAM,OAAO,SAAQ,CAAC;AAAA,MAC5D,OAAO;AACLA,gBAAmB,MAAK;AAAA,MAC1B;AAEA,YAAM,aAAa;AACnB,gBAAU,QAAQ;AAAA,IACpB,CAAC;AAGgB,aAAS,MAAMC,MAAiB,OAAO;AACtC,aAAS,MAAM,MAAM,IAAI;AAG3CC,YAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACZ;AAAA,MACI,WAAW,MAAMC,QAAW,QAAQA,QAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,SAAQ;AAAA,IAC1B,CAAG,GAEF,YAAY,MAAM;AACfF,cAAc,eAAe,UAAU,CAAA;AAAA,IACzC,CAAC;AAKD,mBAAe,WAAW;AACxB,UAAI,MAAM,OAAO,UAAU;AAEzBD,cAAiB,QAAQ,UAAU;AAAA,UACjC,MAAMA,MAAiB,QAAQ,QAAQ;AAAA,UACvC,QAAQA,MAAiB,QAAQ,QAAQ;AAAA,UACzC,QAAQ,OAAOA,MAAiB,QAAQ,QAAQ,WAAW,WACvDA,MAAiB,QAAQ,QAAQ,OAAO,MACxCA,MAAiB,QAAQ,QAAQ;AAAA,QAC7C;AAEMA,cAAiB,QAAQ,QAAQ;AAAA,UAC/B,MAAMA,MAAiB,QAAQ,MAAM;AAAA,UACrC,QAAQ,OAAOA,MAAiB,QAAQ,MAAM,WAAW,WACrDA,MAAiB,QAAQ,MAAM,OAAO,MACtCA,MAAiB,QAAQ,MAAM;AAAA,QAC3C;AAEM,cAAMD,QAAmB,OAAOC,MAAiB,OAAO;AAExD,mBAAU;AAAA,MACZ,OAAO;AAELA,cAAiB,QAAQ,UAAU;AAAA,UACjC,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,QAAQG,QAAW,KAAK;AAAA,QAChC;AAEMH,cAAiB,QAAQ,QAAQ;AAAA,UAC/B,MAAM,MAAM,OAAO,MAAM,iBAAiB;AAAA,UAC1C,QAAQ;AAAA,UACR,QAAQ,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM;AAAA,QACtD;AAEM,cAAMD,QAAmB,OAAOC,MAAiB,OAAO;AACxD,mBAAU;AAAA,MACZ;AAAA,IACF;AAEA,aAAS,aAAc;AACrB,aAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,KAAK,MAAM,OAAO;AAAA,QAC1B;AAAA,MACA,CAAK;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CategoryEdit.vue.js","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative mn-b-thin w-100 bg-white radius-small pd-medium\"\n />\n\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 mn-b-thin bg-white radius-small pd-medium\"\n /> \n\n <div class=\"w-100 mn-b-thin bg-white radius-small pd-medium cols-1\">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n :text=\"{\n title: 'Upload category image',\n subtitle: 'Supported: JPG, PNG, GIF. Max size: 5MB',\n buttonText: 'Select Image'\n }\"\n class=\"pos-relative\" \n />\n </div>\n\n\n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n \n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n \n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model=\"item.options\"\n :placeholder=\"'Add filter options'\"\n :separators=\"[',', ';']\"\n :add-on-key=\"[13, ',', ';']\"\n :max-tags=\"20\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n globals.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n router.push({\n name: 'Categories', \n params: { \n _id: route.params._id\n } \n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["categories.actions","categories.state","globals.state","IconCheckmark","auth.state"],"mappings":"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"}
@@ -8,7 +8,7 @@ const auth = require("../../../auth/views/store/auth.cjs");
8
8
  const products = require("../../store/products.cjs");
9
9
  const shopcart = require("../../../orders/store/shopcart.cjs");
10
10
  ;/* empty css */
11
- ;/* empty css */
11
+ ;/* empty css */
12
12
  ;/* empty css */
13
13
  ;/* empty css */
14
14
  ;/* empty css */
@@ -6,7 +6,7 @@ import { state as state$1 } from "../../../auth/views/store/auth.js";
6
6
  import { state, actions } from "../../store/products.js";
7
7
  import { state as state$2, actions as actions$1 } from "../../../orders/store/shopcart.js";
8
8
  /* empty css */
9
- /* empty css */
9
+ /* empty css */
10
10
  /* empty css */
11
11
  /* empty css */
12
12
  /* empty css */
@@ -6,7 +6,7 @@ const Block = require("../../../../components/Block/Block.vue.cjs");
6
6
  const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
7
7
  const Field = require("../../../../components/Field/Field.vue.cjs");
8
8
  const Select = require("../../../../components/Select/Select.vue.cjs");
9
- const Button = require("../../../../components/Button/Button.vue2.cjs");
9
+ const Button = require("../../../../components/Button/Button.vue.cjs");
10
10
  const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
11
11
  const BlockMultiselect = require("../../../globals/views/components/blocks/BlockMultiselect.vue.cjs");
12
12
  const IconCross = require("../../../icons/navigation/IconCross.vue.cjs");
@@ -4,7 +4,7 @@ import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
4
4
  import _sfc_main$3 from "../../../../components/Tab/Tab.vue2.js";
5
5
  import Field from "../../../../components/Field/Field.vue.js";
6
6
  import Select from "../../../../components/Select/Select.vue.js";
7
- import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
7
+ import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
8
8
  import _sfc_main$4 from "../../../../components/EditImages/EditImages.vue2.js";
9
9
  import BlockMultiselect from "../../../globals/views/components/blocks/BlockMultiselect.vue.js";
10
10
  import _sfc_main$5 from "../../../icons/navigation/IconCross.vue.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const Block = require("../../../../components/Block/Block.vue.cjs");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
8
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
9
9
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { useModel, ref, reactive, createElementBlock, openBlock, Fragment, createVNode, withCtx, createCommentVNode, renderList, createElementVNode, toDisplayString, createTextVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
- import _sfc_main$5 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$5 from "../../../../components/Button/Button.vue.js";
5
5
  import _sfc_main$4 from "../../../../components/Popup/Popup.vue.js";
6
6
  import _sfc_main$2 from "../../../icons/navigation/IconEdit.vue.js";
7
7
  import _sfc_main$3 from "../../../icons/navigation/IconDelete.vue.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const Block = require("../../../../components/Block/Block.vue.cjs");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
8
  const Select = require("../../../../components/Select/Select.vue.cjs");
9
9
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { useModel, ref, reactive, createElementBlock, openBlock, Fragment, createVNode, withCtx, createCommentVNode, renderList, createElementVNode, toDisplayString, createTextVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
- import _sfc_main$5 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$5 from "../../../../components/Button/Button.vue.js";
5
5
  import _sfc_main$4 from "../../../../components/Popup/Popup.vue.js";
6
6
  import Select from "../../../../components/Select/Select.vue.js";
7
7
  import _sfc_main$2 from "../../../icons/navigation/IconEdit.vue.js";
@@ -7,7 +7,7 @@ const variants_store = require("../../store/variants.store.cjs");
7
7
  const products = require("../../store/products.cjs");
8
8
  const Block = require("../../../../components/Block/Block.vue.cjs");
9
9
  const Field = require("../../../../components/Field/Field.vue.cjs");
10
- const Button = require("../../../../components/Button/Button.vue2.cjs");
10
+ const Button = require("../../../../components/Button/Button.vue.cjs");
11
11
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
12
12
  const Select = require("../../../../components/Select/Select.vue.cjs");
13
13
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
@@ -5,7 +5,7 @@ import variantsStore from "../../store/variants.store.js";
5
5
  import { state } from "../../store/products.js";
6
6
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
7
7
  import Field from "../../../../components/Field/Field.vue.js";
8
- import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
8
+ import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
9
9
  import _sfc_main$7 from "../../../../components/Popup/Popup.vue.js";
10
10
  import Select from "../../../../components/Select/Select.vue.js";
11
11
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueI18n = require("vue-i18n");
5
5
  const IconShopcartAdd = require("../../../icons/actions/IconShopcartAdd.vue.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const ProductVariants = require("../blocks/ProductVariants.vue.cjs");
8
8
  const ProductDiscounts = require("../blocks/ProductDiscounts.vue.cjs");
9
9
  const QuantitySelector = require("../elements/QuantitySelector.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { ref, computed, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, toDisplayString, withCtx, unref, Fragment } from "vue";
2
2
  import { useI18n } from "vue-i18n";
3
3
  import _sfc_main$5 from "../../../icons/actions/IconShopcartAdd.vue.js";
4
- import _sfc_main$4 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$4 from "../../../../components/Button/Button.vue.js";
5
5
  import _sfc_main$1 from "../blocks/ProductVariants.vue.js";
6
6
  import ProductDiscounts from "../blocks/ProductDiscounts.vue.js";
7
7
  import _sfc_main$3 from "../elements/QuantitySelector.vue.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Button = require("../../../../components/Button/Button.vue2.cjs");
5
+ const Button = require("../../../../components/Button/Button.vue.cjs");
6
6
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
7
7
  const CardProduct = require("../blocks/CardProduct.vue.cjs");
8
8
  const IconProducts = require("../../../icons/entities/IconProducts.vue.cjs");