@ozdao/martyrs 0.2.523 → 0.2.525

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 (311) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/community.server.cjs +1 -1
  6. package/dist/community.server.js +1 -1
  7. package/dist/{crud-CC6k6yY5.cjs → crud-DGM6Xa1R.cjs} +1 -1
  8. package/dist/{crud-BIFl1W1i.js → crud-Ed3dcRsC.js} +1 -1
  9. package/dist/events.server.cjs +1 -1
  10. package/dist/events.server.js +1 -1
  11. package/dist/gallery.server.cjs +1 -1
  12. package/dist/gallery.server.js +1 -1
  13. package/dist/{globals.verifier-DFqKQ7hK.js → globals.verifier-BhqUrneb.js} +31 -1
  14. package/dist/{globals.verifier-C0zj_LLo.cjs → globals.verifier-CJ1lr-NW.cjs} +31 -1
  15. package/dist/inventory.server.cjs +3 -3
  16. package/dist/inventory.server.js +3 -3
  17. package/dist/{main-BM3GslOO.cjs → main-4KvvKtzH.cjs} +6 -6
  18. package/dist/{main-Qcn7YlTx.js → main-Bk4xq-K0.js} +45 -37
  19. package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
  20. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
  21. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
  22. package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
  23. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  24. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  25. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  26. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  27. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  28. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  29. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  30. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  31. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  32. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  33. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  34. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  35. package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
  36. package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
  37. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  38. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  39. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue2.cjs → Spoiler.vue.cjs} +2 -2
  40. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue2.js.map → Spoiler.vue.cjs.map} +1 -1
  41. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue2.js → Spoiler.vue.js} +2 -2
  42. package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +1 -0
  43. package/dist/martyrs/src/components/Tree/Tree.vue.cjs +19 -33
  44. package/dist/martyrs/src/components/Tree/Tree.vue.cjs.map +1 -1
  45. package/dist/martyrs/src/components/Tree/Tree.vue.js +19 -33
  46. package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  52. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  53. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  59. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  61. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  63. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  64. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  65. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  67. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  69. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  70. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  71. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  73. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  75. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  77. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  79. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
  80. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  81. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  82. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  83. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  85. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  87. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
  88. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
  90. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  93. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  94. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  95. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  97. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  98. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  99. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +14 -2
  100. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/globals/views/store/globals.js +14 -2
  102. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  103. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +2 -2
  104. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  105. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  107. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  109. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +2 -2
  110. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  111. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +2 -2
  113. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
  114. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +1 -1
  115. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +1 -1
  116. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +1 -1
  117. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +1 -1
  118. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  119. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  120. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  121. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  122. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  123. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  124. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  125. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  126. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  127. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  128. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  129. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
  130. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  131. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  132. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  133. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  134. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  135. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  136. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
  137. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
  138. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  139. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  140. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  141. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  142. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -1
  143. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +1 -1
  144. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  145. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  146. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
  147. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
  148. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  149. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  150. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  151. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  152. package/dist/martyrs/src/modules/music/router/music.cjs +1 -1
  153. package/dist/martyrs/src/modules/music/router/music.js +1 -1
  154. package/dist/martyrs/src/modules/notifications/notifications.client.cjs +0 -4
  155. package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
  156. package/dist/martyrs/src/modules/notifications/notifications.client.js +0 -4
  157. package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
  158. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
  159. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  160. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
  161. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  162. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +1 -1
  163. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  164. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  165. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  166. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  167. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  168. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  169. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  170. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
  171. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  172. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
  173. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  174. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  175. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  176. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
  177. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +1 -1
  178. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  179. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  180. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  181. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  182. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +2 -2
  183. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +2 -2
  184. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
  185. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  186. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
  187. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +1 -1
  188. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  189. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  190. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  191. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  192. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  193. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  194. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  195. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  196. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  197. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  198. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  199. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  200. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  201. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  202. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  203. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  204. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  205. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  206. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  207. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  208. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +48 -19
  209. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
  210. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +48 -19
  211. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  212. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  213. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  214. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  215. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  216. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +78 -46
  217. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  218. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +78 -46
  219. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  220. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -2
  221. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  222. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -2
  223. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  224. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  225. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  226. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  227. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  228. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
  229. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  230. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  231. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  232. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  233. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  234. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  235. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  236. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  237. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  238. package/dist/martyrs/src/modules/products/store/categories.cjs +2 -4
  239. package/dist/martyrs/src/modules/products/store/categories.cjs.map +1 -1
  240. package/dist/martyrs/src/modules/products/store/categories.js +2 -4
  241. package/dist/martyrs/src/modules/products/store/categories.js.map +1 -1
  242. package/dist/martyrs/src/modules/products/store/products.cjs +12 -2
  243. package/dist/martyrs/src/modules/products/store/products.cjs.map +1 -1
  244. package/dist/martyrs/src/modules/products/store/products.js +12 -2
  245. package/dist/martyrs/src/modules/products/store/products.js.map +1 -1
  246. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  247. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  248. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  249. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  250. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  251. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  252. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  253. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  254. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  255. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  256. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +1 -1
  257. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +1 -1
  258. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  259. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  260. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +1 -1
  261. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs.map +1 -1
  262. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
  263. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  264. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  265. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  266. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  267. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  268. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  269. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  270. package/dist/martyrs.cjs.js +1 -1
  271. package/dist/martyrs.es.js +1 -1
  272. package/dist/music.server.cjs +2 -2
  273. package/dist/music.server.js +2 -2
  274. package/dist/orders.server.cjs +3 -3
  275. package/dist/orders.server.js +3 -3
  276. package/dist/organizations.server.cjs +2 -2
  277. package/dist/organizations.server.js +2 -2
  278. package/dist/products.server.cjs +121 -45
  279. package/dist/products.server.js +121 -45
  280. package/dist/{queryProcessor-B_X680wC.cjs → queryProcessor-DMSc5-r6.cjs} +17 -20
  281. package/dist/{queryProcessor-CVcLPEnv.js → queryProcessor-rukV_SBd.js} +17 -20
  282. package/dist/rents.server.cjs +2 -2
  283. package/dist/rents.server.js +2 -2
  284. package/dist/spots.server.cjs +1 -1
  285. package/dist/spots.server.js +1 -1
  286. package/dist/{web-DVR8m2fm.js → web-BS-4Xl3x.js} +1 -1
  287. package/dist/{web-B0cfxzgu.cjs → web-CjndIDjT.cjs} +1 -1
  288. package/package.json +1 -1
  289. package/src/components/Feed/Feed.vue +1 -1
  290. package/src/components/Tree/Tree.vue +27 -15
  291. package/src/modules/globals/controllers/classes/globals.validator.js +32 -1
  292. package/src/modules/globals/controllers/utils/queryProcessor.js +27 -20
  293. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
  294. package/src/modules/globals/views/store/globals.js +19 -2
  295. package/src/modules/notifications/notifications.client.js +0 -5
  296. package/src/modules/products/components/pages/Categories.vue +60 -22
  297. package/src/modules/products/components/pages/ProductEdit.vue +45 -21
  298. package/src/modules/products/components/pages/Products.vue +0 -1
  299. package/src/modules/products/controllers/categories.controller.js +107 -44
  300. package/src/modules/products/controllers/products.controller.js +34 -1
  301. package/src/modules/products/middlewares/categories.verifier.js +9 -2
  302. package/src/modules/products/middlewares/variants.verifier.js +2 -2
  303. package/src/modules/products/store/categories.js +2 -4
  304. package/src/modules/products/store/products.js +10 -0
  305. package/src/modules/spots/components/pages/Spots.vue +1 -1
  306. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  307. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  308. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  309. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
  310. package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.cjs.map +0 -1
  311. package/src/modules/products/TASKS.MD +0 -1
@@ -13,7 +13,7 @@ const gallery_backoffice_router = require("../../gallery/router/gallery.backoffi
13
13
  const payments_router = require("../../wallet/views/router/payments.router.cjs");
14
14
  const auth_validation = require("../../auth/views/middlewares/auth.validation.cjs");
15
15
  require("vue");
16
- ;/* empty css */
16
+ ;/* empty css */
17
17
  require("../../../components/Menu/MenuItem.vue.cjs");
18
18
  ;/* empty css */
19
19
  require("vue-router");
@@ -11,7 +11,7 @@ import gallery from "../../gallery/router/gallery.backoffice.router.js";
11
11
  import payments from "../../wallet/views/router/payments.router.js";
12
12
  import { requiresAuth } from "../../auth/views/middlewares/auth.validation.js";
13
13
  import "vue";
14
- /* empty css */
14
+ /* empty css */
15
15
  import "../../../components/Menu/MenuItem.vue.js";
16
16
  /* empty css */
17
17
  import "vue-router";
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const IconEdit = require("../../../../icons/navigation/IconEdit.vue.cjs");
5
5
  const IconAdd = require("../../../../icons/navigation/IconAdd.vue.cjs");
6
6
  ;/* empty css */
7
- ;/* empty css */
7
+ ;/* empty css */
8
8
  ;/* empty css */
9
9
  const vueRouter = require("vue-router");
10
10
  ;/* empty css */
@@ -2,7 +2,7 @@ import { ref, resolveComponent, createElementBlock, openBlock, createElementVNod
2
2
  import _sfc_main$1 from "../../../../icons/navigation/IconEdit.vue.js";
3
3
  import _sfc_main$2 from "../../../../icons/navigation/IconAdd.vue.js";
4
4
  /* empty css */
5
- /* empty css */
5
+ /* empty css */
6
6
  /* empty css */
7
7
  import { useRouter } from "vue-router";
8
8
  /* empty css */
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const mixins = require("../../../../globals/views/mixins/mixins.cjs");
6
6
  const pages = require("../../store/pages.cjs");
7
- const Button = require("../../../../../components/Button/Button.vue.cjs");
7
+ const Button = require("../../../../../components/Button/Button.vue2.cjs");
8
8
  ;/* empty css */
9
9
  ;/* empty css */
10
10
  ;/* empty css */
@@ -2,7 +2,7 @@ import { ref, onMounted, createElementBlock, createCommentVNode, openBlock, crea
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import { useGlobalMixins } from "../../../../globals/views/mixins/mixins.js";
4
4
  import { actions, state } from "../../store/pages.js";
5
- import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
5
+ import _sfc_main$2 from "../../../../../components/Button/Button.vue2.js";
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  /* empty css */
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Block = require("../../../../../components/Block/Block.vue.cjs");
6
6
  const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
7
- const Button = require("../../../../../components/Button/Button.vue.cjs");
7
+ const Button = require("../../../../../components/Button/Button.vue2.cjs");
8
8
  const Constructor = require("../../../../constructor/components/sections/Constructor.vue.cjs");
9
9
  const CardPage = require("../blocks/CardPage.vue.cjs");
10
10
  const pages = require("../../store/pages.cjs");
@@ -2,7 +2,7 @@ import { computed, ref, onMounted, createBlock, createCommentVNode, openBlock, w
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../../components/Block/Block.vue.js";
4
4
  import _sfc_main$3 from "../../../../../components/Popup/Popup.vue.js";
5
- import _sfc_main$5 from "../../../../../components/Button/Button.vue.js";
5
+ import _sfc_main$5 from "../../../../../components/Button/Button.vue2.js";
6
6
  import _sfc_main$4 from "../../../../constructor/components/sections/Constructor.vue.js";
7
7
  import _sfc_main$2 from "../blocks/CardPage.vue.js";
8
8
  import { actions } from "../../store/pages.js";
@@ -6,7 +6,7 @@ const globals = require("../../../globals/views/store/globals.cjs");
6
6
  const auth = require("../../../auth/views/store/auth.cjs");
7
7
  const categories = require("../../store/categories.cjs");
8
8
  ;/* empty css */
9
- ;/* empty css */
9
+ ;/* empty css */
10
10
  const Block = require("../../../../components/Block/Block.vue.cjs");
11
11
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
12
12
  const Tree = require("../../../../components/Tree/Tree.vue.cjs");
@@ -46,31 +46,59 @@ const _sfc_main = {
46
46
  });
47
47
  vue.onMounted(async () => {
48
48
  });
49
- function flattenTreeForAPI(treeData, parentUrl = "") {
50
- let flatCategories = [];
51
- function processNode(node, index, parentUrl2) {
52
- const { children, ...nodeData } = node;
53
- flatCategories.push({
54
- _id: nodeData._id,
55
- order: index,
56
- ...nodeData.parent && { parent: nodeData.parent }
49
+ function collectAffectedCategories(eventData) {
50
+ const result = {
51
+ movedCategory: null,
52
+ affectedCategories: []
53
+ };
54
+ console.log("collectAffectedCategories - eventData:", eventData);
55
+ if (eventData && eventData.movedItem) {
56
+ if (eventData.movedItem._id) {
57
+ result.movedCategory = {
58
+ _id: eventData.movedItem._id,
59
+ newParent: eventData.parentId
60
+ // Используем parentId из события (null для корня)
61
+ };
62
+ }
63
+ const items = eventData.items || [];
64
+ console.log("Level items:", items);
65
+ items.forEach((item, index) => {
66
+ result.affectedCategories.push({
67
+ _id: item._id,
68
+ order: index
69
+ });
57
70
  });
58
- if (children && children.length > 0) {
59
- children.forEach((child, childIndex) => {
60
- processNode(child, childIndex, nodeData.url);
71
+ } else if (eventData && eventData._id) {
72
+ result.movedCategory = {
73
+ _id: eventData._id,
74
+ newParent: eventData.parent || null
75
+ };
76
+ const parentId = eventData.parent;
77
+ const sameLevel = parentId ? categories.state.all.find((c) => c._id === parentId)?.children || [] : categories.state.all;
78
+ sameLevel.forEach((item, index) => {
79
+ result.affectedCategories.push({
80
+ _id: item._id,
81
+ order: index
61
82
  });
62
- }
83
+ });
84
+ } else {
85
+ console.log("No event data, collecting root level categories");
86
+ categories.state.all.forEach((item, index) => {
87
+ result.affectedCategories.push({
88
+ _id: item._id,
89
+ order: index
90
+ });
91
+ });
63
92
  }
64
- treeData.forEach((node, index) => {
65
- processNode(node, index);
66
- });
67
- return flatCategories;
93
+ console.log("collectAffectedCategories - result:", result);
94
+ return result;
68
95
  }
69
96
  async function updateCategoriesOrder(event) {
70
97
  console.log("updateCategoriesOrder called with event:", event);
71
98
  try {
72
- const flatCategories = flattenTreeForAPI(categories.state.all);
73
- await categories.actions.updateOrder(flatCategories);
99
+ const data = collectAffectedCategories(event);
100
+ console.log("📤 FRONTEND SENDING:", JSON.stringify(data, null, 2));
101
+ await categories.actions.updateOrder(data);
74
102
  console.log("Categories order updated successfully");
75
103
  } catch (error) {
76
104
  console.error("Error updating categories order:", error);
@@ -140,6 +168,7 @@ const _sfc_main = {
140
168
  key: 0,
141
169
  items: categories.state.all,
142
170
  state: categories.state.all,
171
+ "parent-id": null,
143
172
  onUpdate: updateCategoriesOrder
144
173
  }, {
145
174
  default: vue.withCtx(({ item }) => [
@@ -1 +1 @@
1
- {"version":3,"file":"Categories.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Categories.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin bg-white\">\n <Block v-if=\"!MOBILE_APP\" \n class=\"radius-medium mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex\"\n >\n <h2 class=\"mn-r-auto\">\n Categories\n </h2>\n\n <router-link \n :to=\"{\n name: 'Category Add', \n params: { \n _id: $route.params._id\n } \n }\"\n class=\"uppercase t-medium pd-small radius-medium bg-white nav-link\"\n >\n Add New\n </router-link>\n </Block>\n\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => categories.actions.read(options),\n state: categories.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n tree: true\n }\"\n v-model:sort=\"sort\"\n v-model:items=\"categories.state.all\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <Tree \n v-if=\"items\" \n :items=\"categories.state.all\" \n :state=\"categories.state.all\" \n @update=\"updateCategoriesOrder\" \n v-slot=\"{ item }\"\n >\n <CardCategory \n :category=\"item\" \n @delete=\"deleteCategory\" \n />\n </Tree>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\n import { onMounted, onUnmounted, computed, ref,reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\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 import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Tree from \"@martyrs/src/components/Tree/Tree.vue\";\n \n import CardCategory from '@martyrs/src/modules/products/components/blocks/CardCategory.vue';\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n let search = ref(null)\n\n let sort = reactive({\n param: 'order',\n order: 'asc',\n options: [{\n label: 'Order',\n value: 'order'\n },{\n label: 'Name',\n value: 'name'\n },{\n label: 'Date',\n value: 'createdAt'\n }]\n })\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Category Add', params: { _id: route.params._id} }) : router.push({ name: 'Category Add' })\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n onMounted(async () => {\n \n });\n\n // Функция для преобразования дерева в плоский массив для API (materialised path)\n function flattenTreeForAPI(treeData, parentUrl = '') {\n let flatCategories = [];\n \n function processNode(node, index, parentUrl) {\n const { children, ...nodeData } = node;\n \n // Для materialised path отправляем order и parent (если есть)\n flatCategories.push({\n _id: nodeData._id,\n order: index,\n ...(nodeData.parent && { parent: nodeData.parent })\n });\n \n if (children && children.length > 0) {\n children.forEach((child, childIndex) => {\n processNode(child, childIndex, nodeData.url);\n });\n }\n }\n \n treeData.forEach((node, index) => {\n processNode(node, index, parentUrl);\n });\n \n return flatCategories;\n }\n\n // Функция для обновления порядка категорий\n async function updateCategoriesOrder(event) {\n console.log('updateCategoriesOrder called with event:', event);\n \n try {\n // Игнорируем события drag-and-drop, используем актуальное состояние\n const flatCategories = flattenTreeForAPI(categories.state.all);\n \n await categories.actions.updateOrder(flatCategories);\n console.log('Categories order updated successfully');\n } catch (error) {\n console.error('Error updating categories order:', error);\n throw error;\n }\n }\n\n async function deleteCategory(category) {\n // Запрашиваем подтверждение у пользователя\n const isConfirmed = confirm(`Are you sure you want to delete the category \"${category.name}\"?`);\n \n // Если пользователь подтвердил удаление, продолжаем процесс\n if (isConfirmed) {\n await categories.actions.delete(category._id);\n }\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useRoute","useRouter","ref","reactive","globals.state","IconPlus","auth.state","onUnmounted","onMounted","parentUrl","categories.state","categories.actions"],"mappings":";;;;;;;;;;;;;;;;;;;AAwEE,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAWXC,QAAAA,IAAI,IAAI;AAErB,QAAI,OAAOC,IAAAA,SAAS;AAAA,MAClB,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,CAAK;AAAA,IACL,CAAG;AAEDC,kBAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC,SAAAA;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACZ;AAAA,MACI,WAAW,MAAMC,KAAAA,MAAW,QAAQA,KAAAA,MAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,MAAM,OAAO,MAAM,OAAO,KAAK,EAAE,MAAM,gBAAgB,QAAQ,EAAE,KAAK,MAAM,OAAO,IAAG,EAAC,CAAE,IAAI,OAAO,KAAK,EAAE,MAAM,eAAc,CAAE;AAAA,IACnJ,CAAG,GAEDC,IAAAA,YAAY,MAAM;AAChBH,oBAAc,eAAe,UAAU,CAAA;AAAA,IACzC,CAAC;AAEDI,QAAAA,UAAU,YAAY;AAAA,IAEtB,CAAC;AAGD,aAAS,kBAAkB,UAAU,YAAY,IAAI;AACnD,UAAI,iBAAiB,CAAA;AAErB,eAAS,YAAY,MAAM,OAAOC,YAAW;AAC3C,cAAM,EAAE,UAAU,GAAG,SAAQ,IAAK;AAGlC,uBAAe,KAAK;AAAA,UAClB,KAAK,SAAS;AAAA,UACd,OAAO;AAAA,UACP,GAAI,SAAS,UAAU,EAAE,QAAQ,SAAS,OAAM;AAAA,QACxD,CAAO;AAED,YAAI,YAAY,SAAS,SAAS,GAAG;AACnC,mBAAS,QAAQ,CAAC,OAAO,eAAe;AACtC,wBAAY,OAAO,YAAY,SAAS,GAAG;AAAA,UAC7C,CAAC;AAAA,QACH;AAAA,MACF;AAEA,eAAS,QAAQ,CAAC,MAAM,UAAU;AAChC,oBAAY,MAAM,KAAgB;AAAA,MACpC,CAAC;AAED,aAAO;AAAA,IACT;AAGA,mBAAe,sBAAsB,OAAO;AAC1C,cAAQ,IAAI,4CAA4C,KAAK;AAE7D,UAAI;AAEF,cAAM,iBAAiB,kBAAkBC,WAAAA,MAAiB,GAAG;AAE7D,cAAMC,WAAAA,QAAmB,YAAY,cAAc;AACnD,gBAAQ,IAAI,uCAAuC;AAAA,MACrD,SAAS,OAAO;AACd,gBAAQ,MAAM,oCAAoC,KAAK;AACvD,cAAM;AAAA,MACR;AAAA,IACF;AAEA,mBAAe,eAAe,UAAU;AAEtC,YAAM,cAAc,QAAQ,iDAAiD,SAAS,IAAI,IAAI;AAG9F,UAAI,aAAa;AACf,cAAMA,mBAAmB,OAAO,SAAS,GAAG;AAAA,MAC9C;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Categories.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Categories.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin bg-white\">\n <Block v-if=\"!MOBILE_APP\" \n class=\"radius-medium mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex\"\n >\n <h2 class=\"mn-r-auto\">\n Categories\n </h2>\n\n <router-link \n :to=\"{\n name: 'Category Add', \n params: { \n _id: $route.params._id\n } \n }\"\n class=\"uppercase t-medium pd-small radius-medium bg-white nav-link\"\n >\n Add New\n </router-link>\n </Block>\n\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => categories.actions.read(options),\n state: categories.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n tree: true\n }\"\n v-model:sort=\"sort\"\n v-model:items=\"categories.state.all\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <Tree \n v-if=\"items\" \n :items=\"categories.state.all\" \n :state=\"categories.state.all\"\n :parent-id=\"null\"\n @update=\"updateCategoriesOrder\" \n v-slot=\"{ item }\"\n >\n <CardCategory \n :category=\"item\" \n @delete=\"deleteCategory\" \n />\n </Tree>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\n import { onMounted, onUnmounted, computed, ref,reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\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 import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Tree from \"@martyrs/src/components/Tree/Tree.vue\";\n \n import CardCategory from '@martyrs/src/modules/products/components/blocks/CardCategory.vue';\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n let search = ref(null)\n\n let sort = reactive({\n param: 'order',\n order: 'asc',\n options: [{\n label: 'Order',\n value: 'order'\n },{\n label: 'Name',\n value: 'name'\n },{\n label: 'Date',\n value: 'createdAt'\n }]\n })\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Category Add', params: { _id: route.params._id} }) : router.push({ name: 'Category Add' })\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n onMounted(async () => {\n \n });\n\n // Функция для сбора затронутых категорий при drag-n-drop\n function collectAffectedCategories(eventData) {\n const result = {\n movedCategory: null,\n affectedCategories: []\n };\n \n console.log('collectAffectedCategories - eventData:', eventData);\n \n // Проверяем, что это объект от Tree компонента с полной информацией\n if (eventData && eventData.movedItem) {\n // Если категория переместилась между уровнями\n if (eventData.movedItem._id) {\n result.movedCategory = {\n _id: eventData.movedItem._id,\n newParent: eventData.parentId // Используем parentId из события (null для корня)\n };\n }\n \n // Собираем все категории текущего уровня с их новым порядком\n const items = eventData.items || [];\n console.log('Level items:', items);\n \n items.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else if (eventData && eventData._id) {\n // Fallback для старого формата (простой объект категории)\n result.movedCategory = {\n _id: eventData._id,\n newParent: eventData.parent || null\n };\n \n // Пытаемся найти категории того же уровня\n const parentId = eventData.parent;\n const sameLevel = parentId \n ? categories.state.all.find(c => c._id === parentId)?.children || []\n : categories.state.all;\n \n sameLevel.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else {\n // Если нет данных о перемещении, собираем корневые категории\n console.log('No event data, collecting root level categories');\n categories.state.all.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n }\n \n console.log('collectAffectedCategories - result:', result);\n \n return result;\n }\n\n // Функция для обновления порядка категорий\n async function updateCategoriesOrder(event) {\n console.log('updateCategoriesOrder called with event:', event);\n \n try {\n const data = collectAffectedCategories(event);\n \n // ОДИН КОНСОЛЬ ЛОГ НА ФРОНТЕНДЕ - ЧТО ОТПРАВЛЯЕМ\n console.log('📤 FRONTEND SENDING:', JSON.stringify(data, null, 2));\n await categories.actions.updateOrder(data);\n console.log('Categories order updated successfully');\n } catch (error) {\n console.error('Error updating categories order:', error);\n throw error;\n }\n }\n\n async function deleteCategory(category) {\n // Запрашиваем подтверждение у пользователя\n const isConfirmed = confirm(`Are you sure you want to delete the category \"${category.name}\"?`);\n \n // Если пользователь подтвердил удаление, продолжаем процесс\n if (isConfirmed) {\n await categories.actions.delete(category._id);\n }\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useRoute","useRouter","ref","reactive","globals.state","IconPlus","auth.state","onUnmounted","onMounted","categories.state","categories.actions"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { state as state$1 } from "../../../globals/views/store/globals.js";
4
4
  import { state } from "../../../auth/views/store/auth.js";
5
5
  import { state as state$2, actions } from "../../store/categories.js";
6
6
  /* empty css */
7
- /* empty css */
7
+ /* empty css */
8
8
  import _sfc_main$2 from "../../../../components/Block/Block.vue.js";
9
9
  import _sfc_main$3 from "../../../../components/Feed/Feed.vue.js";
10
10
  import _sfc_main$4 from "../../../../components/Tree/Tree.vue.js";
@@ -44,31 +44,59 @@ const _sfc_main = {
44
44
  });
45
45
  onMounted(async () => {
46
46
  });
47
- function flattenTreeForAPI(treeData, parentUrl = "") {
48
- let flatCategories = [];
49
- function processNode(node, index, parentUrl2) {
50
- const { children, ...nodeData } = node;
51
- flatCategories.push({
52
- _id: nodeData._id,
53
- order: index,
54
- ...nodeData.parent && { parent: nodeData.parent }
47
+ function collectAffectedCategories(eventData) {
48
+ const result = {
49
+ movedCategory: null,
50
+ affectedCategories: []
51
+ };
52
+ console.log("collectAffectedCategories - eventData:", eventData);
53
+ if (eventData && eventData.movedItem) {
54
+ if (eventData.movedItem._id) {
55
+ result.movedCategory = {
56
+ _id: eventData.movedItem._id,
57
+ newParent: eventData.parentId
58
+ // Используем parentId из события (null для корня)
59
+ };
60
+ }
61
+ const items = eventData.items || [];
62
+ console.log("Level items:", items);
63
+ items.forEach((item, index) => {
64
+ result.affectedCategories.push({
65
+ _id: item._id,
66
+ order: index
67
+ });
55
68
  });
56
- if (children && children.length > 0) {
57
- children.forEach((child, childIndex) => {
58
- processNode(child, childIndex, nodeData.url);
69
+ } else if (eventData && eventData._id) {
70
+ result.movedCategory = {
71
+ _id: eventData._id,
72
+ newParent: eventData.parent || null
73
+ };
74
+ const parentId = eventData.parent;
75
+ const sameLevel = parentId ? state$2.all.find((c) => c._id === parentId)?.children || [] : state$2.all;
76
+ sameLevel.forEach((item, index) => {
77
+ result.affectedCategories.push({
78
+ _id: item._id,
79
+ order: index
59
80
  });
60
- }
81
+ });
82
+ } else {
83
+ console.log("No event data, collecting root level categories");
84
+ state$2.all.forEach((item, index) => {
85
+ result.affectedCategories.push({
86
+ _id: item._id,
87
+ order: index
88
+ });
89
+ });
61
90
  }
62
- treeData.forEach((node, index) => {
63
- processNode(node, index);
64
- });
65
- return flatCategories;
91
+ console.log("collectAffectedCategories - result:", result);
92
+ return result;
66
93
  }
67
94
  async function updateCategoriesOrder(event) {
68
95
  console.log("updateCategoriesOrder called with event:", event);
69
96
  try {
70
- const flatCategories = flattenTreeForAPI(state$2.all);
71
- await actions.updateOrder(flatCategories);
97
+ const data = collectAffectedCategories(event);
98
+ console.log("📤 FRONTEND SENDING:", JSON.stringify(data, null, 2));
99
+ await actions.updateOrder(data);
72
100
  console.log("Categories order updated successfully");
73
101
  } catch (error) {
74
102
  console.error("Error updating categories order:", error);
@@ -138,6 +166,7 @@ const _sfc_main = {
138
166
  key: 0,
139
167
  items: state$2.all,
140
168
  state: state$2.all,
169
+ "parent-id": null,
141
170
  onUpdate: updateCategoriesOrder
142
171
  }, {
143
172
  default: withCtx(({ item }) => [
@@ -1 +1 @@
1
- {"version":3,"file":"Categories.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Categories.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin bg-white\">\n <Block v-if=\"!MOBILE_APP\" \n class=\"radius-medium mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex\"\n >\n <h2 class=\"mn-r-auto\">\n Categories\n </h2>\n\n <router-link \n :to=\"{\n name: 'Category Add', \n params: { \n _id: $route.params._id\n } \n }\"\n class=\"uppercase t-medium pd-small radius-medium bg-white nav-link\"\n >\n Add New\n </router-link>\n </Block>\n\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => categories.actions.read(options),\n state: categories.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n tree: true\n }\"\n v-model:sort=\"sort\"\n v-model:items=\"categories.state.all\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <Tree \n v-if=\"items\" \n :items=\"categories.state.all\" \n :state=\"categories.state.all\" \n @update=\"updateCategoriesOrder\" \n v-slot=\"{ item }\"\n >\n <CardCategory \n :category=\"item\" \n @delete=\"deleteCategory\" \n />\n </Tree>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\n import { onMounted, onUnmounted, computed, ref,reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\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 import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Tree from \"@martyrs/src/components/Tree/Tree.vue\";\n \n import CardCategory from '@martyrs/src/modules/products/components/blocks/CardCategory.vue';\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n let search = ref(null)\n\n let sort = reactive({\n param: 'order',\n order: 'asc',\n options: [{\n label: 'Order',\n value: 'order'\n },{\n label: 'Name',\n value: 'name'\n },{\n label: 'Date',\n value: 'createdAt'\n }]\n })\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Category Add', params: { _id: route.params._id} }) : router.push({ name: 'Category Add' })\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n onMounted(async () => {\n \n });\n\n // Функция для преобразования дерева в плоский массив для API (materialised path)\n function flattenTreeForAPI(treeData, parentUrl = '') {\n let flatCategories = [];\n \n function processNode(node, index, parentUrl) {\n const { children, ...nodeData } = node;\n \n // Для materialised path отправляем order и parent (если есть)\n flatCategories.push({\n _id: nodeData._id,\n order: index,\n ...(nodeData.parent && { parent: nodeData.parent })\n });\n \n if (children && children.length > 0) {\n children.forEach((child, childIndex) => {\n processNode(child, childIndex, nodeData.url);\n });\n }\n }\n \n treeData.forEach((node, index) => {\n processNode(node, index, parentUrl);\n });\n \n return flatCategories;\n }\n\n // Функция для обновления порядка категорий\n async function updateCategoriesOrder(event) {\n console.log('updateCategoriesOrder called with event:', event);\n \n try {\n // Игнорируем события drag-and-drop, используем актуальное состояние\n const flatCategories = flattenTreeForAPI(categories.state.all);\n \n await categories.actions.updateOrder(flatCategories);\n console.log('Categories order updated successfully');\n } catch (error) {\n console.error('Error updating categories order:', error);\n throw error;\n }\n }\n\n async function deleteCategory(category) {\n // Запрашиваем подтверждение у пользователя\n const isConfirmed = confirm(`Are you sure you want to delete the category \"${category.name}\"?`);\n \n // Если пользователь подтвердил удаление, продолжаем процесс\n if (isConfirmed) {\n await categories.actions.delete(category._id);\n }\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["globals.state","IconPlus","auth.state","parentUrl","categories.state","categories.actions"],"mappings":";;;;;;;;;;;;;;;;;AAwEE,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAWX,QAAI,IAAI;AAErB,QAAI,OAAO,SAAS;AAAA,MAClB,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,CAAK;AAAA,IACL,CAAG;AAEDA,YAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACZ;AAAA,MACI,WAAW,MAAMC,MAAW,QAAQA,MAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,MAAM,OAAO,MAAM,OAAO,KAAK,EAAE,MAAM,gBAAgB,QAAQ,EAAE,KAAK,MAAM,OAAO,IAAG,EAAC,CAAE,IAAI,OAAO,KAAK,EAAE,MAAM,eAAc,CAAE;AAAA,IACnJ,CAAG,GAED,YAAY,MAAM;AAChBF,cAAc,eAAe,UAAU,CAAA;AAAA,IACzC,CAAC;AAED,cAAU,YAAY;AAAA,IAEtB,CAAC;AAGD,aAAS,kBAAkB,UAAU,YAAY,IAAI;AACnD,UAAI,iBAAiB,CAAA;AAErB,eAAS,YAAY,MAAM,OAAOG,YAAW;AAC3C,cAAM,EAAE,UAAU,GAAG,SAAQ,IAAK;AAGlC,uBAAe,KAAK;AAAA,UAClB,KAAK,SAAS;AAAA,UACd,OAAO;AAAA,UACP,GAAI,SAAS,UAAU,EAAE,QAAQ,SAAS,OAAM;AAAA,QACxD,CAAO;AAED,YAAI,YAAY,SAAS,SAAS,GAAG;AACnC,mBAAS,QAAQ,CAAC,OAAO,eAAe;AACtC,wBAAY,OAAO,YAAY,SAAS,GAAG;AAAA,UAC7C,CAAC;AAAA,QACH;AAAA,MACF;AAEA,eAAS,QAAQ,CAAC,MAAM,UAAU;AAChC,oBAAY,MAAM,KAAgB;AAAA,MACpC,CAAC;AAED,aAAO;AAAA,IACT;AAGA,mBAAe,sBAAsB,OAAO;AAC1C,cAAQ,IAAI,4CAA4C,KAAK;AAE7D,UAAI;AAEF,cAAM,iBAAiB,kBAAkBC,QAAiB,GAAG;AAE7D,cAAMC,QAAmB,YAAY,cAAc;AACnD,gBAAQ,IAAI,uCAAuC;AAAA,MACrD,SAAS,OAAO;AACd,gBAAQ,MAAM,oCAAoC,KAAK;AACvD,cAAM;AAAA,MACR;AAAA,IACF;AAEA,mBAAe,eAAe,UAAU;AAEtC,YAAM,cAAc,QAAQ,iDAAiD,SAAS,IAAI,IAAI;AAG9F,UAAI,aAAa;AACf,cAAMA,QAAmB,OAAO,SAAS,GAAG;AAAA,MAC9C;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Categories.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Categories.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin bg-white\">\n <Block v-if=\"!MOBILE_APP\" \n class=\"radius-medium mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex\"\n >\n <h2 class=\"mn-r-auto\">\n Categories\n </h2>\n\n <router-link \n :to=\"{\n name: 'Category Add', \n params: { \n _id: $route.params._id\n } \n }\"\n class=\"uppercase t-medium pd-small radius-medium bg-white nav-link\"\n >\n Add New\n </router-link>\n </Block>\n\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => categories.actions.read(options),\n state: categories.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n tree: true\n }\"\n v-model:sort=\"sort\"\n v-model:items=\"categories.state.all\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <Tree \n v-if=\"items\" \n :items=\"categories.state.all\" \n :state=\"categories.state.all\"\n :parent-id=\"null\"\n @update=\"updateCategoriesOrder\" \n v-slot=\"{ item }\"\n >\n <CardCategory \n :category=\"item\" \n @delete=\"deleteCategory\" \n />\n </Tree>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\n import { onMounted, onUnmounted, computed, ref,reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\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 import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Tree from \"@martyrs/src/components/Tree/Tree.vue\";\n \n import CardCategory from '@martyrs/src/modules/products/components/blocks/CardCategory.vue';\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n let search = ref(null)\n\n let sort = reactive({\n param: 'order',\n order: 'asc',\n options: [{\n label: 'Order',\n value: 'order'\n },{\n label: 'Name',\n value: 'name'\n },{\n label: 'Date',\n value: 'createdAt'\n }]\n })\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Category Add', params: { _id: route.params._id} }) : router.push({ name: 'Category Add' })\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n onMounted(async () => {\n \n });\n\n // Функция для сбора затронутых категорий при drag-n-drop\n function collectAffectedCategories(eventData) {\n const result = {\n movedCategory: null,\n affectedCategories: []\n };\n \n console.log('collectAffectedCategories - eventData:', eventData);\n \n // Проверяем, что это объект от Tree компонента с полной информацией\n if (eventData && eventData.movedItem) {\n // Если категория переместилась между уровнями\n if (eventData.movedItem._id) {\n result.movedCategory = {\n _id: eventData.movedItem._id,\n newParent: eventData.parentId // Используем parentId из события (null для корня)\n };\n }\n \n // Собираем все категории текущего уровня с их новым порядком\n const items = eventData.items || [];\n console.log('Level items:', items);\n \n items.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else if (eventData && eventData._id) {\n // Fallback для старого формата (простой объект категории)\n result.movedCategory = {\n _id: eventData._id,\n newParent: eventData.parent || null\n };\n \n // Пытаемся найти категории того же уровня\n const parentId = eventData.parent;\n const sameLevel = parentId \n ? categories.state.all.find(c => c._id === parentId)?.children || []\n : categories.state.all;\n \n sameLevel.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else {\n // Если нет данных о перемещении, собираем корневые категории\n console.log('No event data, collecting root level categories');\n categories.state.all.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n }\n \n console.log('collectAffectedCategories - result:', result);\n \n return result;\n }\n\n // Функция для обновления порядка категорий\n async function updateCategoriesOrder(event) {\n console.log('updateCategoriesOrder called with event:', event);\n \n try {\n const data = collectAffectedCategories(event);\n \n // ОДИН КОНСОЛЬ ЛОГ НА ФРОНТЕНДЕ - ЧТО ОТПРАВЛЯЕМ\n console.log('📤 FRONTEND SENDING:', JSON.stringify(data, null, 2));\n await categories.actions.updateOrder(data);\n console.log('Categories order updated successfully');\n } catch (error) {\n console.error('Error updating categories order:', error);\n throw error;\n }\n }\n\n async function deleteCategory(category) {\n // Запрашиваем подтверждение у пользователя\n const isConfirmed = confirm(`Are you sure you want to delete the category \"${category.name}\"?`);\n \n // Если пользователь подтвердил удаление, продолжаем процесс\n if (isConfirmed) {\n await categories.actions.delete(category._id);\n }\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["globals.state","IconPlus","auth.state","categories.state","categories.actions"],"mappings":"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"}
@@ -3,8 +3,8 @@ 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.vue.cjs");
7
- const Select = require("../../../../components/Select/Select.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
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
10
  const FieldTags = require("../../../../components/FieldTags/FieldTags.vue.cjs");
@@ -1,8 +1,8 @@
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
3
  import _sfc_main$5 from "../../../icons/navigation/IconDelete.vue.js";
4
- import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
5
- import Select from "../../../../components/Select/Select.vue2.js";
4
+ import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
5
+ import Select from "../../../../components/Select/Select.vue.js";
6
6
  import _sfc_main$4 from "../../../../components/UploadImage/UploadImage.vue.js";
7
7
  import Field from "../../../../components/Field/Field.vue.js";
8
8
  import _sfc_main$6 from "../../../../components/FieldTags/FieldTags.vue.js";
@@ -10,7 +10,7 @@ const products = require("../../store/products.cjs");
10
10
  require("../../store/categories.cjs");
11
11
  const shopcart = require("../../../orders/store/shopcart.cjs");
12
12
  ;/* empty css */
13
- ;/* empty css */
13
+ ;/* empty css */
14
14
  ;/* empty css */
15
15
  ;/* empty css */
16
16
  ;/* empty css */
@@ -8,7 +8,7 @@ import { state, actions } from "../../store/products.js";
8
8
  import "../../store/categories.js";
9
9
  import { state as state$2, actions as actions$1 } from "../../../orders/store/shopcart.js";
10
10
  /* empty css */
11
- /* empty css */
11
+ /* empty css */
12
12
  /* empty css */
13
13
  /* empty css */
14
14
  /* empty css */