@ozdao/martyrs 0.2.480 → 0.2.482

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 (458) hide show
  1. package/README.md +4 -13
  2. package/dist/{Media-CKk33U4A.js → Media-JBERcJWj.js} +1 -1
  3. package/dist/{Media-B1ZP3D7B.cjs → Media-p7Q8ZAQM.cjs} +1 -1
  4. package/dist/{abac-XF1JVCLI.cjs → abac-6LjoG9u-.cjs} +107 -26
  5. package/dist/{abac-BuL5pUZ4.js → abac-Cf_9lCSh.js} +107 -26
  6. package/dist/builder.cjs +8 -12
  7. package/dist/builder.js +8 -12
  8. package/dist/globals.server.cjs +1 -1
  9. package/dist/globals.server.js +1 -1
  10. package/dist/{main-BhAiwmnI.js → main-AtCVQKF9.js} +2855 -4162
  11. package/dist/main-B-we7C0w.cjs +11 -0
  12. package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
  13. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
  14. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
  15. package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
  16. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs +28 -7
  17. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs.map +1 -1
  18. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +29 -8
  19. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  20. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs +5 -8
  21. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -1
  22. package/dist/martyrs/src/components/Chips/Chips.vue2.js +6 -9
  23. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -1
  24. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +84 -0
  25. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -0
  26. package/dist/martyrs/src/components/Feed/Carousel.vue.js +84 -0
  27. package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -0
  28. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +4 -4
  29. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  30. package/dist/martyrs/src/components/Feed/Feed.vue.js +4 -4
  31. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  32. package/dist/martyrs/src/components/Field/Field.vue.cjs +2 -1
  33. package/dist/martyrs/src/components/Field/Field.vue.cjs.map +1 -1
  34. package/dist/martyrs/src/components/Field/Field.vue.js +2 -1
  35. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  36. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs +203 -151
  37. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs.map +1 -1
  38. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +204 -152
  39. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  40. package/dist/martyrs/src/components/Popup/{Popup.vue.cjs → Popup.vue2.cjs} +2 -2
  41. package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +1 -0
  42. package/dist/martyrs/src/components/Popup/{Popup.vue.js → Popup.vue2.js} +2 -2
  43. package/dist/martyrs/src/components/Popup/{Popup.vue.cjs.map → Popup.vue2.js.map} +1 -1
  44. package/dist/martyrs/src/components/Radio/Radio.vue.cjs +2 -2
  45. package/dist/martyrs/src/components/Radio/Radio.vue.cjs.map +1 -1
  46. package/dist/martyrs/src/components/Radio/Radio.vue.js +2 -2
  47. package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
  48. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs +4 -3
  49. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs.map +1 -1
  50. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js +4 -3
  51. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js.map +1 -1
  52. package/dist/martyrs/src/components/Slider/{Slider.native.vue.cjs → Slider.vue.cjs} +22 -80
  53. package/dist/martyrs/src/components/Slider/Slider.vue.cjs.map +1 -0
  54. package/dist/martyrs/src/components/Slider/{Slider.native.vue.js → Slider.vue.js} +23 -81
  55. package/dist/martyrs/src/components/Slider/Slider.vue.js.map +1 -0
  56. package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
  58. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs +4 -2
  59. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -1
  60. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js +4 -2
  61. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -1
  62. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  63. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  64. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  65. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  66. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  68. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -1
  69. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  70. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +4 -2
  71. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  72. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +22 -149
  73. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  74. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +24 -151
  75. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  76. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +77 -0
  77. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs.map +1 -0
  78. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +77 -0
  79. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -0
  80. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +121 -0
  81. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +1 -0
  82. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +121 -0
  83. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js.map +1 -0
  84. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs +38 -0
  85. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs.map +1 -0
  86. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +38 -0
  87. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -0
  88. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  89. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  90. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  93. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  95. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  96. package/dist/martyrs/src/modules/auth/views/router/users.cjs +23 -16
  97. package/dist/martyrs/src/modules/auth/views/router/users.cjs.map +1 -1
  98. package/dist/martyrs/src/modules/auth/views/router/users.js +23 -16
  99. package/dist/martyrs/src/modules/auth/views/router/users.js.map +1 -1
  100. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs +3 -3
  101. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs.map +1 -1
  102. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +3 -3
  103. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
  104. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +6 -6
  105. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +5 -4
  106. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
  107. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +5 -4
  108. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  110. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  111. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +92 -62
  112. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +1 -1
  113. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +93 -63
  114. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  115. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +82 -53
  116. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
  117. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +82 -53
  118. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
  119. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +2 -6
  120. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +2 -6
  122. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  125. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  127. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  128. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  129. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  130. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  131. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  133. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +3 -9
  134. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +3 -9
  136. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +5 -5
  139. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
  140. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +10 -10
  141. package/dist/martyrs/src/modules/globals/globals.client.cjs +2 -0
  142. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  143. package/dist/martyrs/src/modules/globals/globals.client.js +2 -0
  144. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  145. package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.js +1 -1
  147. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  148. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  150. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +84 -0
  152. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs.map +1 -0
  153. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +84 -0
  154. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js.map +1 -0
  155. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
  156. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
  157. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  158. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  159. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  161. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  162. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  163. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +17 -0
  164. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +17 -0
  166. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
  167. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs +70 -0
  168. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs.map +1 -0
  169. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js +70 -0
  170. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js.map +1 -0
  171. package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs +35 -0
  172. package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs.map +1 -0
  173. package/dist/martyrs/src/modules/icons/entities/IconList.vue.js +35 -0
  174. package/dist/martyrs/src/modules/icons/entities/IconList.vue.js.map +1 -0
  175. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs +1 -3
  176. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs.map +1 -1
  177. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js +1 -3
  178. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js.map +1 -1
  179. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs +1 -3
  180. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs.map +1 -1
  181. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js +1 -3
  182. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js.map +1 -1
  183. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs +1 -3
  184. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs.map +1 -1
  185. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js +1 -3
  186. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js.map +1 -1
  187. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs +1 -3
  188. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs.map +1 -1
  189. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js +1 -3
  190. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js.map +1 -1
  191. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +1 -3
  192. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
  193. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +1 -3
  194. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs +21 -20
  196. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs.map +1 -1
  197. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js +21 -20
  198. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js.map +1 -1
  199. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +1 -3
  200. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
  201. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +1 -3
  202. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
  203. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs +6 -13
  204. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js +6 -13
  206. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs +1 -3
  208. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs.map +1 -1
  209. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js +1 -3
  210. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs +1 -3
  212. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js +1 -3
  214. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -3
  216. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +41 -43
  218. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +8 -8
  220. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
  221. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +8 -8
  222. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +50 -51
  224. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
  225. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +51 -52
  226. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  228. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  229. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  230. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  231. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
  232. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  233. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  235. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  237. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  238. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  239. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  240. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  241. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  242. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  243. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  244. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  245. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  246. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  247. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  248. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  249. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +7 -4
  250. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  251. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +18 -15
  252. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  253. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  254. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  255. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  256. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  257. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
  258. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
  259. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +7 -2
  260. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  261. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +8 -3
  262. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +11 -12
  264. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  265. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +12 -13
  266. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +33 -24
  268. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs.map +1 -1
  269. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +36 -27
  270. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs +4 -4
  272. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs.map +1 -1
  273. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +4 -4
  274. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +7 -5
  276. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  277. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +7 -5
  278. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  280. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  281. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  282. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  283. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +2 -2
  284. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +2 -2
  285. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  286. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  287. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +58 -41
  288. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  289. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +60 -43
  290. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +105 -85
  292. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  293. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +107 -87
  294. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +2 -2
  296. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +2 -2
  297. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  298. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  299. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
  300. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
  301. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +145 -0
  302. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +1 -0
  303. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +145 -0
  304. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -0
  305. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
  306. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  307. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +46 -31
  308. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
  309. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +50 -35
  310. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +43 -0
  312. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -0
  313. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +43 -0
  314. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -0
  315. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +131 -0
  316. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -0
  317. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +131 -0
  318. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -0
  319. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  320. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  321. package/dist/martyrs/src/modules/products/products.client.cjs +3 -3
  322. package/dist/martyrs/src/modules/products/products.client.cjs.map +1 -1
  323. package/dist/martyrs/src/modules/products/products.client.js +3 -3
  324. package/dist/martyrs/src/modules/products/products.client.js.map +1 -1
  325. package/dist/martyrs/src/modules/products/store/products.cjs +4 -0
  326. package/dist/martyrs/src/modules/products/store/products.cjs.map +1 -1
  327. package/dist/martyrs/src/modules/products/store/products.js +4 -0
  328. package/dist/martyrs/src/modules/products/store/products.js.map +1 -1
  329. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
  330. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  331. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  332. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  333. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  334. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  335. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  336. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  337. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  338. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  339. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  340. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  341. package/dist/martyrs.cjs.js +1 -1
  342. package/dist/martyrs.css +1 -1
  343. package/dist/martyrs.es.js +1 -1
  344. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  345. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  346. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  347. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  348. package/dist/organizations.server.cjs +1 -1
  349. package/dist/organizations.server.js +1 -1
  350. package/dist/products.server.cjs +111 -34
  351. package/dist/products.server.js +111 -34
  352. package/dist/style.css +196 -170
  353. package/package.json +1 -1
  354. package/src/.martyrs/chunks.json +325 -0
  355. package/src/.martyrs/filemap.json +6802 -0
  356. package/src/.martyrs/semantic-analysis.json +307 -0
  357. package/src/.martyrs/toc.json +14 -0
  358. package/src/builder/rspack/rspack.config.api.js +8 -11
  359. package/src/components/Button/Button.vue +2 -2
  360. package/src/components/Checkbox/Checkbox.vue +28 -16
  361. package/src/components/Chips/Chips.vue +4 -4
  362. package/src/components/Feed/Carousel.vue +72 -0
  363. package/src/components/Feed/Feed.vue +2 -2
  364. package/src/components/Field/Field.vue +1 -0
  365. package/src/components/PhotoViewer/PhotoViewer.vue +307 -220
  366. package/src/components/Radio/Radio.vue +2 -10
  367. package/src/components/Skeleton/Skeleton.vue +9 -12
  368. package/src/components/Slider/Slider.vue +220 -100
  369. package/src/components/Status/Status.vue +0 -1
  370. package/src/components/Tooltip/Tooltip.vue +2 -2
  371. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  372. package/src/modules/auth/views/components/pages/ProfileEdit.old.vue +189 -0
  373. package/src/modules/auth/views/components/pages/ProfileEdit.vue +19 -182
  374. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +72 -0
  375. package/src/modules/auth/views/components/pages/ProfileEditProfile.vue +110 -0
  376. package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +28 -0
  377. package/src/modules/auth/views/router/users.js +23 -12
  378. package/src/modules/community/components/blocks/FooterBlogpost.vue +3 -3
  379. package/src/modules/community/components/pages/BlogPost.vue +2 -1
  380. package/src/modules/community/components/sections/Comment.vue +161 -57
  381. package/src/modules/community/components/sections/Comments.vue +120 -63
  382. package/src/modules/community/components/sections/HotPosts.vue +7 -7
  383. package/src/modules/events/components/sections/EventsHot.vue +26 -33
  384. package/src/modules/globals/controllers/classes/abac/abac.core.js +3 -1
  385. package/src/modules/globals/controllers/classes/abac/abac.fields.js +126 -42
  386. package/src/modules/globals/controllers/classes/abac/v2/abac-core-fixed.js +313 -0
  387. package/src/modules/globals/controllers/classes/abac/v2/abac-express-fixed.js +276 -0
  388. package/src/modules/globals/controllers/classes/abac/v2/abac-fields-fixed.js +422 -0
  389. package/src/modules/globals/controllers/classes/abac/v2/abac-main-fixed.js +295 -0
  390. package/src/modules/globals/controllers/classes/abac/v2/abac-policies-fixed.js +316 -0
  391. package/src/modules/globals/controllers/classes/abac/v2/abac-ws-fixed.js +237 -0
  392. package/src/modules/globals/globals.client.js +2 -0
  393. package/src/modules/globals/views/components/blocks/CardFooter.vue +3 -3
  394. package/src/modules/globals/views/components/blocks/CardHeader.vue +1 -1
  395. package/src/modules/globals/views/components/blocks/PopupAuth.vue +66 -0
  396. package/src/modules/globals/views/mixins/mixins.js +37 -17
  397. package/src/modules/globals/views/plugins/popup.auth.plugin.js +77 -0
  398. package/src/modules/icons/entities/IconList.vue +14 -0
  399. package/src/modules/icons/navigation/IconCheck.vue +1 -3
  400. package/src/modules/icons/navigation/IconDoubleCheck.vue +1 -3
  401. package/src/modules/icons/navigation/IconLike.vue +1 -3
  402. package/src/modules/icons/navigation/IconMute.vue +1 -3
  403. package/src/modules/icons/navigation/IconPause.vue +1 -3
  404. package/src/modules/icons/navigation/IconPlay.vue +12 -15
  405. package/src/modules/icons/navigation/IconRefresh.vue +1 -3
  406. package/src/modules/icons/navigation/IconShuffle.vue +11 -26
  407. package/src/modules/icons/navigation/IconUnMute.vue +1 -3
  408. package/src/modules/icons/navigation/IconVolume.vue +1 -3
  409. package/src/modules/icons/pages/IconsPage.vue +0 -2
  410. package/src/modules/music/components/pages/AlbumDetail.vue +2 -2
  411. package/src/modules/music/components/pages/PlaylistDetail.vue +2 -2
  412. package/src/modules/music/components/pages/TrackDetail.vue +1 -1
  413. package/src/modules/music/components/player/MusicPlayer.vue +2 -2
  414. package/src/modules/notifications/components/blocks/NotificationItem.vue +6 -51
  415. package/src/modules/notifications/components/elements/NotificationBadge.vue +53 -97
  416. package/src/modules/organizations/configs/navigation.organization.config.js +8 -4
  417. package/src/modules/products/components/blocks/CardProduct.vue +8 -2
  418. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -4
  419. package/src/modules/products/components/blocks/ProductImages.vue +32 -23
  420. package/src/modules/products/components/blocks/ProductVariants.vue +6 -4
  421. package/src/modules/products/components/elements/Price.vue +3 -3
  422. package/src/modules/products/components/pages/Product.vue +32 -26
  423. package/src/modules/products/components/pages/ProductEdit.vue +95 -72
  424. package/src/modules/products/components/sections/EditRecommended.vue +131 -0
  425. package/src/modules/products/components/sections/ProductConfigurator.vue +35 -21
  426. package/src/modules/products/components/sections/ProductsPopular.vue +44 -0
  427. package/src/modules/products/components/sections/ProductsRecommended.vue +134 -0
  428. package/src/modules/products/controllers/configs/products.lookup.config.js +20 -15
  429. package/src/modules/products/controllers/products.controller.js +7 -22
  430. package/src/modules/products/models/category.model.js +28 -1
  431. package/src/modules/products/models/leftover.model.js +32 -0
  432. package/src/modules/products/models/product.model.js +37 -1
  433. package/src/modules/products/models/variant.model.js +35 -0
  434. package/src/modules/products/products.client.js +3 -3
  435. package/src/modules/products/routes/products.routes.js +1 -0
  436. package/src/modules/products/store/products.js +4 -0
  437. package/src/styles/base/all.scss +0 -38
  438. package/src/styles/base/shadow_transitions_hover_refactor.scss +20 -51
  439. package/src/styles/config.scss +51 -1
  440. package/dist/main-C75EcBpE.cjs +0 -11
  441. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  442. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +0 -1
  443. package/dist/martyrs/src/components/Slider/Slider.native.vue.cjs.map +0 -1
  444. package/dist/martyrs/src/components/Slider/Slider.native.vue.js.map +0 -1
  445. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.cjs +0 -2
  446. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.cjs.map +0 -1
  447. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.js +0 -2
  448. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.js.map +0 -1
  449. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs +0 -34
  450. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs.map +0 -1
  451. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js +0 -34
  452. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js.map +0 -1
  453. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs +0 -124
  454. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs.map +0 -1
  455. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js +0 -124
  456. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js.map +0 -1
  457. package/src/components/Slider/Slider.native.vue +0 -313
  458. package/src/modules/products/components/sections/PopularProducts.vue +0 -156
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const vue = require("vue");
4
+ const vueRouter = require("vue-router");
5
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
7
+ const CardProduct = require("../blocks/CardProduct.vue.cjs");
8
+ const IconProducts = require("../../../icons/entities/IconProducts.vue.cjs");
9
+ const IconShopcartAdd = require("../../../icons/actions/IconShopcartAdd.vue.cjs");
10
+ const shopcart = require("../../../orders/store/shopcart.cjs");
11
+ const _hoisted_1 = { class: "recommended-products cols-4 mobile:cols-2 gap-thin" };
12
+ const _hoisted_2 = { class: "flex-center flex flex-column pd-small radius-small br-solid br-1px br-light" };
13
+ const _hoisted_3 = { class: "mn-b-thin i-extra pd-small bg-light radius-extra" };
14
+ const _hoisted_4 = { class: "mn-b-medium h3 t-medium" };
15
+ const _sfc_main = {
16
+ __name: "ProductsRecommended",
17
+ props: {
18
+ products: {
19
+ type: Array,
20
+ required: true,
21
+ default: () => []
22
+ }
23
+ },
24
+ setup(__props) {
25
+ const router = vueRouter.useRouter();
26
+ const props = __props;
27
+ const selectedProducts = vue.ref(props.products.filter((p) => {
28
+ var _a;
29
+ return ((_a = p.variants) == null ? void 0 : _a.length) > 0;
30
+ }).map((p) => p._id));
31
+ const totalPrice = vue.computed(() => {
32
+ return props.products.filter((p) => selectedProducts.value.includes(p._id)).reduce((sum, p) => {
33
+ var _a, _b;
34
+ const price = ((_b = (_a = p.variants) == null ? void 0 : _a[0]) == null ? void 0 : _b.price) || 0;
35
+ return sum + price;
36
+ }, 0).toFixed(2);
37
+ });
38
+ const canAddToCart = vue.computed(() => {
39
+ const selected = props.products.filter((p) => selectedProducts.value.includes(p._id));
40
+ return selected.length > 0 && selected.some((p) => {
41
+ var _a;
42
+ return ((_a = p.variants) == null ? void 0 : _a.length) > 0;
43
+ });
44
+ });
45
+ const handleProductClick = (product) => {
46
+ var _a;
47
+ if ((product == null ? void 0 : product._id) && ((_a = product == null ? void 0 : product.owner) == null ? void 0 : _a.target)) {
48
+ router.push({
49
+ name: "Organization_Product",
50
+ params: {
51
+ _id: product.owner.target,
52
+ product: product._id
53
+ }
54
+ });
55
+ }
56
+ };
57
+ const addSelectedToCart = async () => {
58
+ var _a, _b, _c;
59
+ const selected = props.products.filter((p) => selectedProducts.value.includes(p._id));
60
+ if (selected.length === 0) return;
61
+ try {
62
+ const firstProduct = selected[0];
63
+ const organizationId = ((_b = (_a = firstProduct.owner) == null ? void 0 : _a.target) == null ? void 0 : _b._id) || ((_c = firstProduct.owner) == null ? void 0 : _c.target);
64
+ if (shopcart.state.organization && shopcart.state.organization !== organizationId) {
65
+ shopcart.state.positions = [];
66
+ }
67
+ shopcart.state.organization = organizationId;
68
+ for (const product of selected) {
69
+ if (!product.variants || product.variants.length === 0) continue;
70
+ await shopcart.actions.addProductToCart(
71
+ product,
72
+ organizationId,
73
+ null
74
+ // selectedDates для rent листинга
75
+ );
76
+ }
77
+ } catch (error) {
78
+ console.error("Error adding to cart:", error);
79
+ }
80
+ };
81
+ return (_ctx, _cache) => {
82
+ return vue.openBlock(), vue.createElementBlock("div", null, [
83
+ _cache[4] || (_cache[4] = vue.createElementVNode("h3", { class: "mn-b-small" }, "Frequently Bought Together", -1)),
84
+ vue.createElementVNode("div", _hoisted_1, [
85
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.products, (product, index) => {
86
+ return vue.openBlock(), vue.createBlock(CardProduct.default, {
87
+ key: (product == null ? void 0 : product._id) || index,
88
+ product,
89
+ class: "h-100 bg-light",
90
+ onClick: ($event) => handleProductClick(product),
91
+ showAddToCart: false
92
+ }, {
93
+ default: vue.withCtx(() => [
94
+ vue.createVNode(Checkbox.default, {
95
+ radio: selectedProducts.value,
96
+ "onUpdate:radio": _cache[0] || (_cache[0] = ($event) => selectedProducts.value = $event),
97
+ value: product._id,
98
+ mode: "checkbox",
99
+ validation: !product.variants || product.variants.length === 0,
100
+ class: "pos-r-small pos-t-small pos-absolute",
101
+ onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
102
+ }, ["stop"]))
103
+ }, null, 8, ["radio", "value", "validation"])
104
+ ]),
105
+ _: 2
106
+ }, 1032, ["product", "onClick"]);
107
+ }), 128)),
108
+ vue.createElementVNode("div", _hoisted_2, [
109
+ vue.createElementVNode("div", _hoisted_3, [
110
+ vue.createVNode(IconProducts.default, { class: "i-big" })
111
+ ]),
112
+ _cache[3] || (_cache[3] = vue.createElementVNode("p", { class: "mn-b-small" }, "Total price:", -1)),
113
+ vue.createElementVNode("p", _hoisted_4, "$" + vue.toDisplayString(totalPrice.value), 1),
114
+ vue.createVNode(Button.default, {
115
+ class: "bg-main gap-micro",
116
+ submit: canAddToCart.value ? addSelectedToCart : void 0
117
+ }, {
118
+ default: vue.withCtx(() => [
119
+ vue.createVNode(IconShopcartAdd.default, { class: "i-semi" }),
120
+ _cache[2] || (_cache[2] = vue.createElementVNode("span", null, "Add to Cart", -1))
121
+ ]),
122
+ _: 1
123
+ }, 8, ["submit"])
124
+ ])
125
+ ])
126
+ ]);
127
+ };
128
+ }
129
+ };
130
+ exports.default = _sfc_main;
131
+ //# sourceMappingURL=ProductsRecommended.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductsRecommended.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/ProductsRecommended.vue"],"sourcesContent":["<script setup>\nimport { ref, computed } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n\nimport CardProduct from '@martyrs/src/modules/products/components/blocks/CardProduct.vue'\n\nimport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue';\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue';\nimport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue'\n\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart.js'\n\nconst router = useRouter()\n\n// Props\nconst props = defineProps({\n products: {\n type: Array,\n required: true,\n default: () => []\n }\n})\n\n// Состояние выбранных товаров - массив id товаров с вариантами\nconst selectedProducts = ref(props.products.filter(p => p.variants?.length > 0).map(p => p._id))\n\n// Вычисляемая общая цена\nconst totalPrice = computed(() => {\n return props.products\n .filter(p => selectedProducts.value.includes(p._id))\n .reduce((sum, p) => {\n const price = p.variants?.[0]?.price || 0\n return sum + price\n }, 0)\n .toFixed(2)\n})\n\n// Проверка возможности добавления в корзину\nconst canAddToCart = computed(() => {\n const selected = props.products.filter(p => selectedProducts.value.includes(p._id))\n return selected.length > 0 && selected.some(p => p.variants?.length > 0)\n})\n\nconst handleProductClick = (product) => {\n if (product?._id && product?.owner?.target) {\n router.push({\n name: 'Organization_Product', \n params: { \n _id: product.owner.target, \n product: product._id \n } \n })\n }\n}\n\n// Добавление выбранных товаров в корзину\nconst addSelectedToCart = async () => {\n const selected = props.products.filter(p => selectedProducts.value.includes(p._id))\n \n if (selected.length === 0) return\n \n try {\n // Берем организацию первого товара\n const firstProduct = selected[0]\n const organizationId = firstProduct.owner?.target?._id || firstProduct.owner?.target\n \n // Проверяем, что в корзине товары той же организации\n if (shopcart.state.organization && shopcart.state.organization !== organizationId) {\n // Можно добавить подтверждение замены корзины\n shopcart.state.positions = []\n }\n \n shopcart.state.organization = organizationId\n \n // Добавляем каждый выбранный товар\n for (const product of selected) {\n // Проверяем наличие варианта\n if (!product.variants || product.variants.length === 0) continue\n \n await shopcart.actions.addProductToCart(\n product, \n organizationId,\n null // selectedDates для rent листинга\n )\n }\n } catch (error) {\n console.error('Error adding to cart:', error)\n }\n}\n</script>\n\n<template>\n <div>\n <h3 class=\"mn-b-small\">Frequently Bought Together</h3>\n <div class=\"recommended-products cols-4 mobile:cols-2 gap-thin\">\n \n <CardProduct \n v-for=\"(product, index) in products\" \n :key=\"product?._id || index\"\n :product=\"product\"\n class=\"h-100 bg-light\"\n @click=\"handleProductClick(product)\"\n :showAddToCart=\"false\"\n >\n <Checkbox\n v-model:radio=\"selectedProducts\"\n :value=\"product._id\"\n mode=\"checkbox\"\n :validation=\"!product.variants || product.variants.length === 0\"\n class=\"pos-r-small pos-t-small pos-absolute\"\n @click.stop\n />\n </CardProduct>\n\n <div class=\"flex-center flex flex-column pd-small radius-small br-solid br-1px br-light\">\n <div class=\"mn-b-thin i-extra pd-small bg-light radius-extra\">\n <IconProducts class=\"i-big\"/>\n </div>\n <p class=\"mn-b-small\">Total price:</p>\n <p class=\"mn-b-medium h3 t-medium\">${{ totalPrice }}</p>\n <Button \n class=\"bg-main gap-micro\"\n :submit=\"canAddToCart ? addSelectedToCart : undefined\"\n >\n <IconShopcartAdd class=\"i-semi\"/>\n <span>Add to Cart</span>\n </Button>\n </div>\n </div>\n </div>\n</template>"],"names":["useRouter","ref","computed","shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAeA,UAAM,SAASA,UAAS,UAAA;AAGxB,UAAM,QAAQ;AASd,UAAM,mBAAmBC,IAAG,IAAC,MAAM,SAAS,OAAO,OAAC;;AAAI,sBAAE,aAAF,mBAAY,UAAS;AAAA,KAAC,EAAE,IAAI,OAAK,EAAE,GAAG,CAAC;AAG/F,UAAM,aAAaC,IAAQ,SAAC,MAAM;AAChC,aAAO,MAAM,SACV,OAAO,OAAK,iBAAiB,MAAM,SAAS,EAAE,GAAG,CAAC,EAClD,OAAO,CAAC,KAAK,MAAM;;AAClB,cAAM,UAAQ,aAAE,aAAF,mBAAa,OAAb,mBAAiB,UAAS;AACxC,eAAO,MAAM;AAAA,MACnB,GAAO,CAAC,EACH,QAAQ,CAAC;AAAA,IACd,CAAC;AAGD,UAAM,eAAeA,IAAQ,SAAC,MAAM;AAClC,YAAM,WAAW,MAAM,SAAS,OAAO,OAAK,iBAAiB,MAAM,SAAS,EAAE,GAAG,CAAC;AAClF,aAAO,SAAS,SAAS,KAAK,SAAS,KAAK;;AAAK,wBAAE,aAAF,mBAAY,UAAS;AAAA,OAAC;AAAA,IACzE,CAAC;AAED,UAAM,qBAAqB,CAAC,YAAY;;AACtC,WAAI,mCAAS,UAAO,wCAAS,UAAT,mBAAgB,SAAQ;AAC1C,eAAO,KAAK;AAAA,UACV,MAAM;AAAA,UACN,QAAQ;AAAA,YACN,KAAK,QAAQ,MAAM;AAAA,YACnB,SAAS,QAAQ;AAAA,UAClB;AAAA,QACF,CAAA;AAAA,MACL;AAAA,IACA;AAGA,UAAM,oBAAoB,YAAY;;AACpC,YAAM,WAAW,MAAM,SAAS,OAAO,OAAK,iBAAiB,MAAM,SAAS,EAAE,GAAG,CAAC;AAElF,UAAI,SAAS,WAAW,EAAG;AAE3B,UAAI;AAEF,cAAM,eAAe,SAAS,CAAC;AAC/B,cAAM,mBAAiB,wBAAa,UAAb,mBAAoB,WAApB,mBAA4B,UAAO,kBAAa,UAAb,mBAAoB;AAG9E,YAAIC,SAAc,MAAC,gBAAgBA,eAAe,iBAAiB,gBAAgB;AAEjFA,mBAAAA,MAAe,YAAY,CAAA;AAAA,QACjC;AAEIA,iBAAAA,MAAe,eAAe;AAG9B,mBAAW,WAAW,UAAU;AAE9B,cAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,WAAW,EAAG;AAExD,gBAAMC,SAAgB,QAAC;AAAA,YACrB;AAAA,YACA;AAAA,YACA;AAAA;AAAA,UACR;AAAA,QACA;AAAA,MACG,SAAQ,OAAO;AACd,gBAAQ,MAAM,yBAAyB,KAAK;AAAA,MAChD;AAAA,IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,131 @@
1
+ import { ref, computed, createElementBlock, openBlock, createElementVNode, Fragment, renderList, createBlock, withCtx, createVNode, withModifiers, toDisplayString } from "vue";
2
+ import { useRouter } from "vue-router";
3
+ import _sfc_main$4 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$2 from "../../../../components/Checkbox/Checkbox.vue.js";
5
+ import _sfc_main$1 from "../blocks/CardProduct.vue.js";
6
+ import _sfc_main$3 from "../../../icons/entities/IconProducts.vue.js";
7
+ import _sfc_main$5 from "../../../icons/actions/IconShopcartAdd.vue.js";
8
+ import { state, actions } from "../../../orders/store/shopcart.js";
9
+ const _hoisted_1 = { class: "recommended-products cols-4 mobile:cols-2 gap-thin" };
10
+ const _hoisted_2 = { class: "flex-center flex flex-column pd-small radius-small br-solid br-1px br-light" };
11
+ const _hoisted_3 = { class: "mn-b-thin i-extra pd-small bg-light radius-extra" };
12
+ const _hoisted_4 = { class: "mn-b-medium h3 t-medium" };
13
+ const _sfc_main = {
14
+ __name: "ProductsRecommended",
15
+ props: {
16
+ products: {
17
+ type: Array,
18
+ required: true,
19
+ default: () => []
20
+ }
21
+ },
22
+ setup(__props) {
23
+ const router = useRouter();
24
+ const props = __props;
25
+ const selectedProducts = ref(props.products.filter((p) => {
26
+ var _a;
27
+ return ((_a = p.variants) == null ? void 0 : _a.length) > 0;
28
+ }).map((p) => p._id));
29
+ const totalPrice = computed(() => {
30
+ return props.products.filter((p) => selectedProducts.value.includes(p._id)).reduce((sum, p) => {
31
+ var _a, _b;
32
+ const price = ((_b = (_a = p.variants) == null ? void 0 : _a[0]) == null ? void 0 : _b.price) || 0;
33
+ return sum + price;
34
+ }, 0).toFixed(2);
35
+ });
36
+ const canAddToCart = computed(() => {
37
+ const selected = props.products.filter((p) => selectedProducts.value.includes(p._id));
38
+ return selected.length > 0 && selected.some((p) => {
39
+ var _a;
40
+ return ((_a = p.variants) == null ? void 0 : _a.length) > 0;
41
+ });
42
+ });
43
+ const handleProductClick = (product) => {
44
+ var _a;
45
+ if ((product == null ? void 0 : product._id) && ((_a = product == null ? void 0 : product.owner) == null ? void 0 : _a.target)) {
46
+ router.push({
47
+ name: "Organization_Product",
48
+ params: {
49
+ _id: product.owner.target,
50
+ product: product._id
51
+ }
52
+ });
53
+ }
54
+ };
55
+ const addSelectedToCart = async () => {
56
+ var _a, _b, _c;
57
+ const selected = props.products.filter((p) => selectedProducts.value.includes(p._id));
58
+ if (selected.length === 0) return;
59
+ try {
60
+ const firstProduct = selected[0];
61
+ const organizationId = ((_b = (_a = firstProduct.owner) == null ? void 0 : _a.target) == null ? void 0 : _b._id) || ((_c = firstProduct.owner) == null ? void 0 : _c.target);
62
+ if (state.organization && state.organization !== organizationId) {
63
+ state.positions = [];
64
+ }
65
+ state.organization = organizationId;
66
+ for (const product of selected) {
67
+ if (!product.variants || product.variants.length === 0) continue;
68
+ await actions.addProductToCart(
69
+ product,
70
+ organizationId,
71
+ null
72
+ // selectedDates для rent листинга
73
+ );
74
+ }
75
+ } catch (error) {
76
+ console.error("Error adding to cart:", error);
77
+ }
78
+ };
79
+ return (_ctx, _cache) => {
80
+ return openBlock(), createElementBlock("div", null, [
81
+ _cache[4] || (_cache[4] = createElementVNode("h3", { class: "mn-b-small" }, "Frequently Bought Together", -1)),
82
+ createElementVNode("div", _hoisted_1, [
83
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.products, (product, index) => {
84
+ return openBlock(), createBlock(_sfc_main$1, {
85
+ key: (product == null ? void 0 : product._id) || index,
86
+ product,
87
+ class: "h-100 bg-light",
88
+ onClick: ($event) => handleProductClick(product),
89
+ showAddToCart: false
90
+ }, {
91
+ default: withCtx(() => [
92
+ createVNode(_sfc_main$2, {
93
+ radio: selectedProducts.value,
94
+ "onUpdate:radio": _cache[0] || (_cache[0] = ($event) => selectedProducts.value = $event),
95
+ value: product._id,
96
+ mode: "checkbox",
97
+ validation: !product.variants || product.variants.length === 0,
98
+ class: "pos-r-small pos-t-small pos-absolute",
99
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
100
+ }, ["stop"]))
101
+ }, null, 8, ["radio", "value", "validation"])
102
+ ]),
103
+ _: 2
104
+ }, 1032, ["product", "onClick"]);
105
+ }), 128)),
106
+ createElementVNode("div", _hoisted_2, [
107
+ createElementVNode("div", _hoisted_3, [
108
+ createVNode(_sfc_main$3, { class: "i-big" })
109
+ ]),
110
+ _cache[3] || (_cache[3] = createElementVNode("p", { class: "mn-b-small" }, "Total price:", -1)),
111
+ createElementVNode("p", _hoisted_4, "$" + toDisplayString(totalPrice.value), 1),
112
+ createVNode(_sfc_main$4, {
113
+ class: "bg-main gap-micro",
114
+ submit: canAddToCart.value ? addSelectedToCart : void 0
115
+ }, {
116
+ default: withCtx(() => [
117
+ createVNode(_sfc_main$5, { class: "i-semi" }),
118
+ _cache[2] || (_cache[2] = createElementVNode("span", null, "Add to Cart", -1))
119
+ ]),
120
+ _: 1
121
+ }, 8, ["submit"])
122
+ ])
123
+ ])
124
+ ]);
125
+ };
126
+ }
127
+ };
128
+ export {
129
+ _sfc_main as default
130
+ };
131
+ //# sourceMappingURL=ProductsRecommended.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductsRecommended.vue.js","sources":["../../../../../../../src/modules/products/components/sections/ProductsRecommended.vue"],"sourcesContent":["<script setup>\nimport { ref, computed } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n\nimport CardProduct from '@martyrs/src/modules/products/components/blocks/CardProduct.vue'\n\nimport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue';\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue';\nimport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue'\n\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart.js'\n\nconst router = useRouter()\n\n// Props\nconst props = defineProps({\n products: {\n type: Array,\n required: true,\n default: () => []\n }\n})\n\n// Состояние выбранных товаров - массив id товаров с вариантами\nconst selectedProducts = ref(props.products.filter(p => p.variants?.length > 0).map(p => p._id))\n\n// Вычисляемая общая цена\nconst totalPrice = computed(() => {\n return props.products\n .filter(p => selectedProducts.value.includes(p._id))\n .reduce((sum, p) => {\n const price = p.variants?.[0]?.price || 0\n return sum + price\n }, 0)\n .toFixed(2)\n})\n\n// Проверка возможности добавления в корзину\nconst canAddToCart = computed(() => {\n const selected = props.products.filter(p => selectedProducts.value.includes(p._id))\n return selected.length > 0 && selected.some(p => p.variants?.length > 0)\n})\n\nconst handleProductClick = (product) => {\n if (product?._id && product?.owner?.target) {\n router.push({\n name: 'Organization_Product', \n params: { \n _id: product.owner.target, \n product: product._id \n } \n })\n }\n}\n\n// Добавление выбранных товаров в корзину\nconst addSelectedToCart = async () => {\n const selected = props.products.filter(p => selectedProducts.value.includes(p._id))\n \n if (selected.length === 0) return\n \n try {\n // Берем организацию первого товара\n const firstProduct = selected[0]\n const organizationId = firstProduct.owner?.target?._id || firstProduct.owner?.target\n \n // Проверяем, что в корзине товары той же организации\n if (shopcart.state.organization && shopcart.state.organization !== organizationId) {\n // Можно добавить подтверждение замены корзины\n shopcart.state.positions = []\n }\n \n shopcart.state.organization = organizationId\n \n // Добавляем каждый выбранный товар\n for (const product of selected) {\n // Проверяем наличие варианта\n if (!product.variants || product.variants.length === 0) continue\n \n await shopcart.actions.addProductToCart(\n product, \n organizationId,\n null // selectedDates для rent листинга\n )\n }\n } catch (error) {\n console.error('Error adding to cart:', error)\n }\n}\n</script>\n\n<template>\n <div>\n <h3 class=\"mn-b-small\">Frequently Bought Together</h3>\n <div class=\"recommended-products cols-4 mobile:cols-2 gap-thin\">\n \n <CardProduct \n v-for=\"(product, index) in products\" \n :key=\"product?._id || index\"\n :product=\"product\"\n class=\"h-100 bg-light\"\n @click=\"handleProductClick(product)\"\n :showAddToCart=\"false\"\n >\n <Checkbox\n v-model:radio=\"selectedProducts\"\n :value=\"product._id\"\n mode=\"checkbox\"\n :validation=\"!product.variants || product.variants.length === 0\"\n class=\"pos-r-small pos-t-small pos-absolute\"\n @click.stop\n />\n </CardProduct>\n\n <div class=\"flex-center flex flex-column pd-small radius-small br-solid br-1px br-light\">\n <div class=\"mn-b-thin i-extra pd-small bg-light radius-extra\">\n <IconProducts class=\"i-big\"/>\n </div>\n <p class=\"mn-b-small\">Total price:</p>\n <p class=\"mn-b-medium h3 t-medium\">${{ totalPrice }}</p>\n <Button \n class=\"bg-main gap-micro\"\n :submit=\"canAddToCart ? addSelectedToCart : undefined\"\n >\n <IconShopcartAdd class=\"i-semi\"/>\n <span>Add to Cart</span>\n </Button>\n </div>\n </div>\n </div>\n</template>"],"names":["shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,UAAM,SAAS,UAAS;AAGxB,UAAM,QAAQ;AASd,UAAM,mBAAmB,IAAI,MAAM,SAAS,OAAO,OAAC;;AAAI,sBAAE,aAAF,mBAAY,UAAS;AAAA,KAAC,EAAE,IAAI,OAAK,EAAE,GAAG,CAAC;AAG/F,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,SACV,OAAO,OAAK,iBAAiB,MAAM,SAAS,EAAE,GAAG,CAAC,EAClD,OAAO,CAAC,KAAK,MAAM;;AAClB,cAAM,UAAQ,aAAE,aAAF,mBAAa,OAAb,mBAAiB,UAAS;AACxC,eAAO,MAAM;AAAA,MACnB,GAAO,CAAC,EACH,QAAQ,CAAC;AAAA,IACd,CAAC;AAGD,UAAM,eAAe,SAAS,MAAM;AAClC,YAAM,WAAW,MAAM,SAAS,OAAO,OAAK,iBAAiB,MAAM,SAAS,EAAE,GAAG,CAAC;AAClF,aAAO,SAAS,SAAS,KAAK,SAAS,KAAK;;AAAK,wBAAE,aAAF,mBAAY,UAAS;AAAA,OAAC;AAAA,IACzE,CAAC;AAED,UAAM,qBAAqB,CAAC,YAAY;;AACtC,WAAI,mCAAS,UAAO,wCAAS,UAAT,mBAAgB,SAAQ;AAC1C,eAAO,KAAK;AAAA,UACV,MAAM;AAAA,UACN,QAAQ;AAAA,YACN,KAAK,QAAQ,MAAM;AAAA,YACnB,SAAS,QAAQ;AAAA,UAClB;AAAA,QACF,CAAA;AAAA,MACL;AAAA,IACA;AAGA,UAAM,oBAAoB,YAAY;;AACpC,YAAM,WAAW,MAAM,SAAS,OAAO,OAAK,iBAAiB,MAAM,SAAS,EAAE,GAAG,CAAC;AAElF,UAAI,SAAS,WAAW,EAAG;AAE3B,UAAI;AAEF,cAAM,eAAe,SAAS,CAAC;AAC/B,cAAM,mBAAiB,wBAAa,UAAb,mBAAoB,WAApB,mBAA4B,UAAO,kBAAa,UAAb,mBAAoB;AAG9E,YAAIA,MAAe,gBAAgBA,MAAe,iBAAiB,gBAAgB;AAEjFA,gBAAe,YAAY,CAAA;AAAA,QACjC;AAEIA,cAAe,eAAe;AAG9B,mBAAW,WAAW,UAAU;AAE9B,cAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,WAAW,EAAG;AAExD,gBAAMC,QAAiB;AAAA,YACrB;AAAA,YACA;AAAA,YACA;AAAA;AAAA,UACR;AAAA,QACA;AAAA,MACG,SAAQ,OAAO;AACd,gBAAQ,MAAM,yBAAyB,KAAK;AAAA,MAChD;AAAA,IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Button = require("../../../../components/Button/Button.vue.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
5
5
  const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
6
6
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
7
7
  const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { computed, ref, createElementBlock, openBlock, createElementVNode, createBlock, createCommentVNode, createVNode, unref, toDisplayString, Transition, withCtx, Fragment, renderList, createTextVNode } from "vue";
2
- import _sfc_main$4 from "../../../../components/Button/Button.vue.js";
2
+ import _sfc_main$4 from "../../../../components/Button/Button.vue2.js";
3
3
  import _sfc_main$3 from "../../../../components/Tab/Tab.vue2.js";
4
4
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
5
5
  import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
@@ -13,7 +13,7 @@ const ProductImages = require("./components/blocks/ProductImages.vue.cjs");
13
13
  const EditVariants = require("./components/sections/EditVariants.vue.cjs");
14
14
  const FilterProducts = require("./components/sections/FilterProducts.vue.cjs");
15
15
  const HeroRecommendation = require("./components/sections/HeroRecommendation.vue.cjs");
16
- const PopularProducts = require("./components/sections/PopularProducts.vue.cjs");
16
+ const ProductsPopular = require("./components/sections/ProductsPopular.vue.cjs");
17
17
  const SectionProduct = require("./components/sections/SectionProduct.vue.cjs");
18
18
  const Price = require("./components/elements/Price.vue.cjs");
19
19
  const LeftoverEdit = require("./components/pages/LeftoverEdit.vue.cjs");
@@ -56,7 +56,7 @@ const ModuleProducts = {
56
56
  HeroRecommendation: HeroRecommendation.default,
57
57
  FilterProducts: FilterProducts.default,
58
58
  EditVariants: EditVariants.default,
59
- PopularProducts: PopularProducts.default,
59
+ ProductsPopular: ProductsPopular.default,
60
60
  // Pages
61
61
  Product: Product.default,
62
62
  ProductEdit: ProductEdit.default,
@@ -77,7 +77,7 @@ exports.ProductImages = ProductImages.default;
77
77
  exports.EditVariants = EditVariants.default;
78
78
  exports.FilterProducts = FilterProducts.default;
79
79
  exports.HeroRecommendation = HeroRecommendation.default;
80
- exports.PopularProducts = PopularProducts.default;
80
+ exports.ProductsPopular = ProductsPopular.default;
81
81
  exports.SectionProduct = SectionProduct.default;
82
82
  exports.Price = Price.default;
83
83
  exports.LeftoverEdit = LeftoverEdit.default;
@@ -1 +1 @@
1
- {"version":3,"file":"products.client.cjs","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router.js';\n\n//Store\nimport * as storeCategories from './store/categories.js';\nimport * as storeLeftovers from './store/leftovers.js';\nimport * as storeProducts from './store/products.js';\n\n// Layouts\n\n// Blocks\nimport CardCategory from './components/blocks/CardCategory.vue';\nimport CardLeftover from './components/blocks/CardLeftover.vue';\nimport CardPosition from './components/blocks/CardPosition.vue';\nimport CardProduct from './components/blocks/CardProduct.vue';\nimport Image360 from './components/elements/Image360.vue';\nimport ProductImages from './components/blocks/ProductImages.vue';\n\n// Sections\nimport EditVariants from './components/sections/EditVariants.vue';\nimport FilterProducts from './components/sections/FilterProducts.vue';\nimport HeroRecommendation from './components/sections/HeroRecommendation.vue';\nimport PopularProducts from './components/sections/PopularProducts.vue';\nimport SectionProduct from './components/sections/SectionProduct.vue';\n\n// Elements\nimport Price from './components/elements/Price.vue';\n// Pages\nimport LeftoverEdit from './components/pages/LeftoverEdit.vue';\nimport Leftovers from './components/pages/Leftovers.vue';\nimport Product from './components/pages/Product.vue';\nimport ProductEdit from './components/pages/ProductEdit.vue';\nimport ProductRecommendation from './components/pages/ProductRecommmendation.vue';\nimport Products from './components/pages/Products.vue';\n\n// Пример функции инициализации для модуля продуктов\nfunction initializeProducts(app, store, router, options = {}) {\n const route = options.route || 'Home';\n\n const routesProducts = createProductRoutes();\n\n router.addRoute(route, routesProducts);\n\n store.addStore('categories', storeCategories);\n store.addStore('leftovers', storeLeftovers);\n store.addStore('products', storeProducts);\n}\n\nconst ModuleProducts = {\n initialize: initializeProducts,\n views: {\n store: {\n storeCategories,\n storeLeftovers,\n storeProducts,\n },\n router: {\n createProductRoutes,\n },\n components: {\n // Elements\n Price,\n // Blocks\n ProductImages,\n CardCategory,\n CardProduct,\n CardLeftover,\n Image360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditVariants,\n PopularProducts,\n // Pages\n Product,\n ProductEdit,\n LeftoverEdit,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n },\n },\n};\n\nexport {\n CardCategory,\n CardLeftover,\n CardPosition,\n CardProduct,\n LeftoverEdit,\n EditVariants,\n FilterProducts,\n HeroRecommendation,\n Image360,\n // Blocks\n ProductImages,\n Leftovers,\n PopularProducts,\n // Elements\n Price,\n // Pages\n Product,\n ProductEdit,\n ProductRecommendation,\n Products,\n // Sections\n SectionProduct,\n};\n\nexport default ModuleProducts;\n"],"names":["createProductRoutes","storeCategories","storeLeftovers","storeProducts","Price","ProductImages","CardCategory","CardProduct","CardLeftover","Image360","CardPosition","SectionProduct","HeroRecommendation","FilterProducts","EditVariants","PopularProducts","Product","ProductEdit","LeftoverEdit","ProductRecommendation","Products","Leftovers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA,SAAS,mBAAmB,KAAK,OAAO,QAAQ,UAAU,CAAA,GAAI;AAC5D,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,iBAAiBA,gBAAAA,oBAAqB;AAE5C,SAAO,SAAS,OAAO,cAAc;AAErC,QAAM,SAAS,cAAcC,UAAe;AAC5C,QAAM,SAAS,aAAaC,SAAc;AAC1C,QAAM,SAAS,YAAYC,QAAa;AAC1C;AAEK,MAAC,iBAAiB;AAAA,EACrB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,iBAAMF;AAAAA,MACN,gBAAMC;AAAAA,MACN,eAAMC;AAAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACZ,qBAAMH,gBAAmB;AAAA,IACpB;AAAA,IACD,YAAY;AAAA;AAAA,MAEhB,OAAMI,MAAK;AAAA;AAAA,MAEX,eAAMC,cAAa;AAAA,MACnB,cAAMC,aAAY;AAAA,MAClB,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,UAAMC,SAAQ;AAAA,MACd,cAAMC,aAAY;AAAA;AAAA,MAElB,gBAAMC,eAAc;AAAA,MACpB,oBAAMC,mBAAkB;AAAA,MACxB,gBAAMC,eAAc;AAAA,MACpB,cAAMC,aAAY;AAAA,MAClB,iBAAMC,gBAAe;AAAA;AAAA,MAErB,SAAMC,QAAO;AAAA,MACb,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,uBAAMC,uBAAqB;AAAA,MAC3B,UAAMC,SAAQ;AAAA,MACd,WAAMC,UAAS;AAAA;AAAA,IAEV;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"products.client.cjs","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router.js';\n\n//Store\nimport * as storeCategories from './store/categories.js';\nimport * as storeLeftovers from './store/leftovers.js';\nimport * as storeProducts from './store/products.js';\n\n// Layouts\n\n// Blocks\nimport CardCategory from './components/blocks/CardCategory.vue';\nimport CardLeftover from './components/blocks/CardLeftover.vue';\nimport CardPosition from './components/blocks/CardPosition.vue';\nimport CardProduct from './components/blocks/CardProduct.vue';\nimport Image360 from './components/elements/Image360.vue';\nimport ProductImages from './components/blocks/ProductImages.vue';\n\n// Sections\nimport EditVariants from './components/sections/EditVariants.vue';\nimport FilterProducts from './components/sections/FilterProducts.vue';\nimport HeroRecommendation from './components/sections/HeroRecommendation.vue';\nimport ProductsPopular from './components/sections/ProductsPopular.vue';\nimport SectionProduct from './components/sections/SectionProduct.vue';\n\n// Elements\nimport Price from './components/elements/Price.vue';\n// Pages\nimport LeftoverEdit from './components/pages/LeftoverEdit.vue';\nimport Leftovers from './components/pages/Leftovers.vue';\nimport Product from './components/pages/Product.vue';\nimport ProductEdit from './components/pages/ProductEdit.vue';\nimport ProductRecommendation from './components/pages/ProductRecommmendation.vue';\nimport Products from './components/pages/Products.vue';\n\n// Пример функции инициализации для модуля продуктов\nfunction initializeProducts(app, store, router, options = {}) {\n const route = options.route || 'Home';\n\n const routesProducts = createProductRoutes();\n\n router.addRoute(route, routesProducts);\n\n store.addStore('categories', storeCategories);\n store.addStore('leftovers', storeLeftovers);\n store.addStore('products', storeProducts);\n}\n\nconst ModuleProducts = {\n initialize: initializeProducts,\n views: {\n store: {\n storeCategories,\n storeLeftovers,\n storeProducts,\n },\n router: {\n createProductRoutes,\n },\n components: {\n // Elements\n Price,\n // Blocks\n ProductImages,\n CardCategory,\n CardProduct,\n CardLeftover,\n Image360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditVariants,\n ProductsPopular,\n // Pages\n Product,\n ProductEdit,\n LeftoverEdit,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n },\n },\n};\n\nexport {\n CardCategory,\n CardLeftover,\n CardPosition,\n CardProduct,\n LeftoverEdit,\n EditVariants,\n FilterProducts,\n HeroRecommendation,\n Image360,\n // Blocks\n ProductImages,\n Leftovers,\n ProductsPopular,\n // Elements\n Price,\n // Pages\n Product,\n ProductEdit,\n ProductRecommendation,\n Products,\n // Sections\n SectionProduct,\n};\n\nexport default ModuleProducts;\n"],"names":["createProductRoutes","storeCategories","storeLeftovers","storeProducts","Price","ProductImages","CardCategory","CardProduct","CardLeftover","Image360","CardPosition","SectionProduct","HeroRecommendation","FilterProducts","EditVariants","ProductsPopular","Product","ProductEdit","LeftoverEdit","ProductRecommendation","Products","Leftovers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA,SAAS,mBAAmB,KAAK,OAAO,QAAQ,UAAU,CAAA,GAAI;AAC5D,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,iBAAiBA,gBAAAA,oBAAqB;AAE5C,SAAO,SAAS,OAAO,cAAc;AAErC,QAAM,SAAS,cAAcC,UAAe;AAC5C,QAAM,SAAS,aAAaC,SAAc;AAC1C,QAAM,SAAS,YAAYC,QAAa;AAC1C;AAEK,MAAC,iBAAiB;AAAA,EACrB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,iBAAMF;AAAAA,MACN,gBAAMC;AAAAA,MACN,eAAMC;AAAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACZ,qBAAMH,gBAAmB;AAAA,IACpB;AAAA,IACD,YAAY;AAAA;AAAA,MAEhB,OAAMI,MAAK;AAAA;AAAA,MAEX,eAAMC,cAAa;AAAA,MACnB,cAAMC,aAAY;AAAA,MAClB,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,UAAMC,SAAQ;AAAA,MACd,cAAMC,aAAY;AAAA;AAAA,MAElB,gBAAMC,eAAc;AAAA,MACpB,oBAAMC,mBAAkB;AAAA,MACxB,gBAAMC,eAAc;AAAA,MACpB,cAAMC,aAAY;AAAA,MAClB,iBAAMC,gBAAe;AAAA;AAAA,MAErB,SAAMC,QAAO;AAAA,MACb,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,uBAAMC,uBAAqB;AAAA,MAC3B,UAAMC,SAAQ;AAAA,MACd,WAAMC,UAAS;AAAA;AAAA,IAEV;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;"}
@@ -11,7 +11,7 @@ import ProductImages from "./components/blocks/ProductImages.vue.js";
11
11
  import _sfc_main$6 from "./components/sections/EditVariants.vue.js";
12
12
  import _sfc_main$7 from "./components/sections/FilterProducts.vue.js";
13
13
  import _sfc_main$8 from "./components/sections/HeroRecommendation.vue.js";
14
- import _sfc_main$5 from "./components/sections/PopularProducts.vue.js";
14
+ import _sfc_main$5 from "./components/sections/ProductsPopular.vue.js";
15
15
  import _sfc_main$9 from "./components/sections/SectionProduct.vue.js";
16
16
  import _sfc_main$d from "./components/elements/Price.vue.js";
17
17
  import _sfc_main$2 from "./components/pages/LeftoverEdit.vue.js";
@@ -54,7 +54,7 @@ const ModuleProducts = {
54
54
  HeroRecommendation: _sfc_main$8,
55
55
  FilterProducts: _sfc_main$7,
56
56
  EditVariants: _sfc_main$6,
57
- PopularProducts: _sfc_main$5,
57
+ ProductsPopular: _sfc_main$5,
58
58
  // Pages
59
59
  Product: _sfc_main$4,
60
60
  ProductEdit: _sfc_main$3,
@@ -77,13 +77,13 @@ export {
77
77
  Image360,
78
78
  _sfc_main$2 as LeftoverEdit,
79
79
  _sfc_main as Leftovers,
80
- _sfc_main$5 as PopularProducts,
81
80
  _sfc_main$d as Price,
82
81
  _sfc_main$4 as Product,
83
82
  _sfc_main$3 as ProductEdit,
84
83
  ProductImages,
85
84
  ProductRecommendation,
86
85
  _sfc_main$1 as Products,
86
+ _sfc_main$5 as ProductsPopular,
87
87
  _sfc_main$9 as SectionProduct,
88
88
  ModuleProducts as default
89
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"products.client.js","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router.js';\n\n//Store\nimport * as storeCategories from './store/categories.js';\nimport * as storeLeftovers from './store/leftovers.js';\nimport * as storeProducts from './store/products.js';\n\n// Layouts\n\n// Blocks\nimport CardCategory from './components/blocks/CardCategory.vue';\nimport CardLeftover from './components/blocks/CardLeftover.vue';\nimport CardPosition from './components/blocks/CardPosition.vue';\nimport CardProduct from './components/blocks/CardProduct.vue';\nimport Image360 from './components/elements/Image360.vue';\nimport ProductImages from './components/blocks/ProductImages.vue';\n\n// Sections\nimport EditVariants from './components/sections/EditVariants.vue';\nimport FilterProducts from './components/sections/FilterProducts.vue';\nimport HeroRecommendation from './components/sections/HeroRecommendation.vue';\nimport PopularProducts from './components/sections/PopularProducts.vue';\nimport SectionProduct from './components/sections/SectionProduct.vue';\n\n// Elements\nimport Price from './components/elements/Price.vue';\n// Pages\nimport LeftoverEdit from './components/pages/LeftoverEdit.vue';\nimport Leftovers from './components/pages/Leftovers.vue';\nimport Product from './components/pages/Product.vue';\nimport ProductEdit from './components/pages/ProductEdit.vue';\nimport ProductRecommendation from './components/pages/ProductRecommmendation.vue';\nimport Products from './components/pages/Products.vue';\n\n// Пример функции инициализации для модуля продуктов\nfunction initializeProducts(app, store, router, options = {}) {\n const route = options.route || 'Home';\n\n const routesProducts = createProductRoutes();\n\n router.addRoute(route, routesProducts);\n\n store.addStore('categories', storeCategories);\n store.addStore('leftovers', storeLeftovers);\n store.addStore('products', storeProducts);\n}\n\nconst ModuleProducts = {\n initialize: initializeProducts,\n views: {\n store: {\n storeCategories,\n storeLeftovers,\n storeProducts,\n },\n router: {\n createProductRoutes,\n },\n components: {\n // Elements\n Price,\n // Blocks\n ProductImages,\n CardCategory,\n CardProduct,\n CardLeftover,\n Image360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditVariants,\n PopularProducts,\n // Pages\n Product,\n ProductEdit,\n LeftoverEdit,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n },\n },\n};\n\nexport {\n CardCategory,\n CardLeftover,\n CardPosition,\n CardProduct,\n LeftoverEdit,\n EditVariants,\n FilterProducts,\n HeroRecommendation,\n Image360,\n // Blocks\n ProductImages,\n Leftovers,\n PopularProducts,\n // Elements\n Price,\n // Pages\n Product,\n ProductEdit,\n ProductRecommendation,\n Products,\n // Sections\n SectionProduct,\n};\n\nexport default ModuleProducts;\n"],"names":["storeCategories","storeLeftovers","storeProducts","Price","CardCategory","CardProduct","CardPosition","SectionProduct","HeroRecommendation","FilterProducts","EditVariants","PopularProducts","Product","ProductEdit","LeftoverEdit","Products","Leftovers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoCA,SAAS,mBAAmB,KAAK,OAAO,QAAQ,UAAU,CAAA,GAAI;AAC5D,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,iBAAiB,oBAAqB;AAE5C,SAAO,SAAS,OAAO,cAAc;AAErC,QAAM,SAAS,cAAcA,UAAe;AAC5C,QAAM,SAAS,aAAaC,SAAc;AAC1C,QAAM,SAAS,YAAYC,QAAa;AAC1C;AAEK,MAAC,iBAAiB;AAAA,EACrB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,iBAAMF;AAAAA,MACN,gBAAMC;AAAAA,MACN,eAAMC;AAAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,IACD;AAAA,IACD,YAAY;AAAA;AAAA,MAEhB,OAAMC;AAAAA;AAAAA,MAEA;AAAA,MACN,cAAMC;AAAAA,MACN,aAAMC;AAAAA,MACA;AAAA,MACA;AAAA,MACN,cAAMC;AAAAA;AAAAA,MAEN,gBAAMC;AAAAA,MACN,oBAAMC;AAAAA,MACN,gBAAMC;AAAAA,MACN,cAAMC;AAAAA,MACN,iBAAMC;AAAAA;AAAAA,MAEN,SAAMC;AAAAA,MACN,aAAMC;AAAAA,MACN,cAAMC;AAAAA,MACA;AAAA,MACN,UAAMC;AAAAA,MACN,WAAMC;AAAAA;AAAAA,IAED;AAAA,EACF;AACH;"}
1
+ {"version":3,"file":"products.client.js","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router.js';\n\n//Store\nimport * as storeCategories from './store/categories.js';\nimport * as storeLeftovers from './store/leftovers.js';\nimport * as storeProducts from './store/products.js';\n\n// Layouts\n\n// Blocks\nimport CardCategory from './components/blocks/CardCategory.vue';\nimport CardLeftover from './components/blocks/CardLeftover.vue';\nimport CardPosition from './components/blocks/CardPosition.vue';\nimport CardProduct from './components/blocks/CardProduct.vue';\nimport Image360 from './components/elements/Image360.vue';\nimport ProductImages from './components/blocks/ProductImages.vue';\n\n// Sections\nimport EditVariants from './components/sections/EditVariants.vue';\nimport FilterProducts from './components/sections/FilterProducts.vue';\nimport HeroRecommendation from './components/sections/HeroRecommendation.vue';\nimport ProductsPopular from './components/sections/ProductsPopular.vue';\nimport SectionProduct from './components/sections/SectionProduct.vue';\n\n// Elements\nimport Price from './components/elements/Price.vue';\n// Pages\nimport LeftoverEdit from './components/pages/LeftoverEdit.vue';\nimport Leftovers from './components/pages/Leftovers.vue';\nimport Product from './components/pages/Product.vue';\nimport ProductEdit from './components/pages/ProductEdit.vue';\nimport ProductRecommendation from './components/pages/ProductRecommmendation.vue';\nimport Products from './components/pages/Products.vue';\n\n// Пример функции инициализации для модуля продуктов\nfunction initializeProducts(app, store, router, options = {}) {\n const route = options.route || 'Home';\n\n const routesProducts = createProductRoutes();\n\n router.addRoute(route, routesProducts);\n\n store.addStore('categories', storeCategories);\n store.addStore('leftovers', storeLeftovers);\n store.addStore('products', storeProducts);\n}\n\nconst ModuleProducts = {\n initialize: initializeProducts,\n views: {\n store: {\n storeCategories,\n storeLeftovers,\n storeProducts,\n },\n router: {\n createProductRoutes,\n },\n components: {\n // Elements\n Price,\n // Blocks\n ProductImages,\n CardCategory,\n CardProduct,\n CardLeftover,\n Image360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditVariants,\n ProductsPopular,\n // Pages\n Product,\n ProductEdit,\n LeftoverEdit,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n },\n },\n};\n\nexport {\n CardCategory,\n CardLeftover,\n CardPosition,\n CardProduct,\n LeftoverEdit,\n EditVariants,\n FilterProducts,\n HeroRecommendation,\n Image360,\n // Blocks\n ProductImages,\n Leftovers,\n ProductsPopular,\n // Elements\n Price,\n // Pages\n Product,\n ProductEdit,\n ProductRecommendation,\n Products,\n // Sections\n SectionProduct,\n};\n\nexport default ModuleProducts;\n"],"names":["storeCategories","storeLeftovers","storeProducts","Price","CardCategory","CardProduct","CardPosition","SectionProduct","HeroRecommendation","FilterProducts","EditVariants","ProductsPopular","Product","ProductEdit","LeftoverEdit","Products","Leftovers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoCA,SAAS,mBAAmB,KAAK,OAAO,QAAQ,UAAU,CAAA,GAAI;AAC5D,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,iBAAiB,oBAAqB;AAE5C,SAAO,SAAS,OAAO,cAAc;AAErC,QAAM,SAAS,cAAcA,UAAe;AAC5C,QAAM,SAAS,aAAaC,SAAc;AAC1C,QAAM,SAAS,YAAYC,QAAa;AAC1C;AAEK,MAAC,iBAAiB;AAAA,EACrB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,iBAAMF;AAAAA,MACN,gBAAMC;AAAAA,MACN,eAAMC;AAAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,IACD;AAAA,IACD,YAAY;AAAA;AAAA,MAEhB,OAAMC;AAAAA;AAAAA,MAEA;AAAA,MACN,cAAMC;AAAAA,MACN,aAAMC;AAAAA,MACA;AAAA,MACA;AAAA,MACN,cAAMC;AAAAA;AAAAA,MAEN,gBAAMC;AAAAA,MACN,oBAAMC;AAAAA,MACN,gBAAMC;AAAAA,MACN,cAAMC;AAAAA,MACN,iBAAMC;AAAAA;AAAAA,MAEN,SAAMC;AAAAA,MACN,aAAMC;AAAAA,MACN,cAAMC;AAAAA,MACA;AAAA,MACN,UAAMC;AAAAA,MACN,WAAMC;AAAAA;AAAAA,IAED;AAAA,EACF;AACH;"}
@@ -19,8 +19,10 @@ const state = vue.reactive({
19
19
  price: 0,
20
20
  price_cost: 0,
21
21
  localization: [],
22
+ recommended: [],
22
23
  variants: [],
23
24
  discounts: [],
25
+ included: [],
24
26
  ingredients: [],
25
27
  description: ""
26
28
  },
@@ -182,6 +184,7 @@ const actions = {
182
184
  const mutations = {
183
185
  resetProduct(product) {
184
186
  state.current = {
187
+ included: [],
185
188
  recommendation: false,
186
189
  category: [],
187
190
  status: "unpublished",
@@ -196,6 +199,7 @@ const mutations = {
196
199
  price_currency: "$",
197
200
  localization: [],
198
201
  variants: [],
202
+ recommended: [],
199
203
  discounts: [],
200
204
  ingredients: [],
201
205
  description: ""
@@ -1 +1 @@
1
- {"version":3,"file":"products.cjs","sources":["../../../../../../src/modules/products/store/products.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { reactive, watch } from 'vue';\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n// Setup Axios\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n/////////////////////////////\n// STATE\n/////////////////////////////\nconst state = reactive({\n all: [],\n current: {\n recommendation: false,\n category: [],\n status: 'unpublished',\n listing: 'sale',\n attributes: [],\n images: [],\n files: [],\n image3d: false,\n name: '',\n sale: 0,\n price: 0,\n price_cost: 0,\n localization: [],\n variants: [],\n discounts: [],\n ingredients: [],\n description: '',\n },\n filter: {\n active: false,\n class: 'mobile-only',\n selected: {},\n options: [\n {\n title: 'Price',\n value: 'price',\n options: [\n { label: 'Pickup', value: 'pickup' },\n { label: 'Courier', value: 'courier' },\n { label: 'Post', value: 'post' },\n ],\n },\n ],\n },\n sort: {\n param: 'distance',\n order: 'asc',\n options: [\n {\n label: 'Distance',\n value: 'distance',\n },\n {\n label: 'Popularity',\n value: 'views',\n },\n {\n label: 'Products',\n value: 'numberOfProducts',\n },\n ],\n },\n});\n\n/////////////////////////////\n// ACTIONS\n/////////////////////////////\nconst actions = {\n async create(product) {\n return await $axios.post('/api/products/create', product).then(\n response => {\n set(response.data, 'current');\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async read(options = {}) {\n\n try {\n const response = await $axios.get('/api/products/read', { params: options });\n\n if (options._id) {\n state.current = { ...response.data[0] };\n return Promise.resolve(response.data[0]);\n } else {\n return Promise.resolve(response.data);\n }\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async update(_id, product) {\n return await $axios.post('/api/products/' + _id, product).then(\n response => {\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async deleteProduct(_id) {\n return await $axios.delete('/api/products/' + _id).then(\n response => {\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async submitMood(presetMood = null) {\n return $axios.post('/api/product/recommended', { mood: presetMood }).then(\n response => {\n state.current = response.data.product;\n state.current.recommendation = response.data.recommendationText;\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProducts() {\n return await $axios.get(`/api/products/read`).then(\n products => {\n state.all = products.data;\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductsPopular() {\n return await $axios.get(`/api/products/popular`).then(\n products => {\n state.popular = products.data;\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductsPublished() {\n return await $axios.get(`/api/products`).then(\n products => {\n let publishedProduct = products.data.filter(function (product, index) {\n return product.status !== 'unpublished';\n });\n\n state.all = publishedProduct;\n state.filtered = publishedProduct.slice();\n state.filteredPrice = state.filtered;\n\n state.filteredPrice.sort(function (l, r) {\n return l[state.sort.current] > r[state.sort.current] ? (state.sort.ascending ? 1 : -1) : l[state.sort.current] < r[state.sort.current] ? (state.sort.ascending ? -1 : 1) : 0;\n });\n\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductPopular() {\n return await $axios.get(`/api/products`).then(\n products => {\n state.all = products.data.slice(1, 5);\n return Promise.resolve(products.data.slice(1, 5));\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n};\n\nconst mutations = {\n resetProduct(product) {\n state.current = {\n recommendation: false,\n category: [],\n status: 'unpublished',\n attributes: [],\n images: [],\n files: [],\n image3d: false,\n name: '',\n sale: 0,\n price: 0,\n price_cost: 0,\n price_currency: '$',\n localization: [],\n variants: [],\n discounts: [],\n ingredients: [],\n description: '',\n };\n },\n};\n\nfunction set(product, property) {\n state[property] = product;\n}\n\n/////////////////////////////\n// GETTERS\n/////////////////////////////\nconst getters = {};\n\n/////////////////////////////\n// UTILS\n/////////////////////////////\n\n/////////////////////////////\n// HISTORY\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// WATCH\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, mutations, state };\n"],"names":["reactive","$axios","setError","watch"],"mappings":"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"}
1
+ {"version":3,"file":"products.cjs","sources":["../../../../../../src/modules/products/store/products.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { reactive, watch } from 'vue';\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n// Setup Axios\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n/////////////////////////////\n// STATE\n/////////////////////////////\nconst state = reactive({\n all: [],\n current: {\n recommendation: false,\n category: [],\n status: 'unpublished',\n listing: 'sale',\n attributes: [],\n images: [],\n files: [],\n image3d: false,\n name: '',\n sale: 0,\n price: 0,\n price_cost: 0,\n localization: [],\n recommended: [],\n variants: [],\n discounts: [],\n included: [],\n ingredients: [],\n description: '',\n },\n filter: {\n active: false,\n class: 'mobile-only',\n selected: {},\n options: [\n {\n title: 'Price',\n value: 'price',\n options: [\n { label: 'Pickup', value: 'pickup' },\n { label: 'Courier', value: 'courier' },\n { label: 'Post', value: 'post' },\n ],\n },\n ],\n },\n sort: {\n param: 'distance',\n order: 'asc',\n options: [\n {\n label: 'Distance',\n value: 'distance',\n },\n {\n label: 'Popularity',\n value: 'views',\n },\n {\n label: 'Products',\n value: 'numberOfProducts',\n },\n ],\n },\n});\n\n/////////////////////////////\n// ACTIONS\n/////////////////////////////\nconst actions = {\n async create(product) {\n return await $axios.post('/api/products/create', product).then(\n response => {\n set(response.data, 'current');\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async read(options = {}) {\n\n try {\n const response = await $axios.get('/api/products/read', { params: options });\n\n if (options._id) {\n state.current = { ...response.data[0] };\n return Promise.resolve(response.data[0]);\n } else {\n return Promise.resolve(response.data);\n }\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async update(_id, product) {\n return await $axios.post('/api/products/' + _id, product).then(\n response => {\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async deleteProduct(_id) {\n return await $axios.delete('/api/products/' + _id).then(\n response => {\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async submitMood(presetMood = null) {\n return $axios.post('/api/product/recommended', { mood: presetMood }).then(\n response => {\n state.current = response.data.product;\n state.current.recommendation = response.data.recommendationText;\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProducts() {\n return await $axios.get(`/api/products/read`).then(\n products => {\n state.all = products.data;\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductsPopular() {\n return await $axios.get(`/api/products/popular`).then(\n products => {\n state.popular = products.data;\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductsPublished() {\n return await $axios.get(`/api/products`).then(\n products => {\n let publishedProduct = products.data.filter(function (product, index) {\n return product.status !== 'unpublished';\n });\n\n state.all = publishedProduct;\n state.filtered = publishedProduct.slice();\n state.filteredPrice = state.filtered;\n\n state.filteredPrice.sort(function (l, r) {\n return l[state.sort.current] > r[state.sort.current] ? (state.sort.ascending ? 1 : -1) : l[state.sort.current] < r[state.sort.current] ? (state.sort.ascending ? -1 : 1) : 0;\n });\n\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductPopular() {\n return await $axios.get(`/api/products`).then(\n products => {\n state.all = products.data.slice(1, 5);\n return Promise.resolve(products.data.slice(1, 5));\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n};\n\nconst mutations = {\n resetProduct(product) {\n state.current = {\n included: [],\n recommendation: false,\n category: [],\n status: 'unpublished',\n attributes: [],\n images: [],\n files: [],\n image3d: false,\n name: '',\n sale: 0,\n price: 0,\n price_cost: 0,\n price_currency: '$',\n localization: [],\n variants: [],\n recommended: [],\n discounts: [],\n ingredients: [],\n description: '',\n };\n },\n};\n\nfunction set(product, property) {\n state[property] = product;\n}\n\n/////////////////////////////\n// GETTERS\n/////////////////////////////\nconst getters = {};\n\n/////////////////////////////\n// UTILS\n/////////////////////////////\n\n/////////////////////////////\n// HISTORY\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// WATCH\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, mutations, state };\n"],"names":["reactive","$axios","setError","watch"],"mappings":"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"}
@@ -17,8 +17,10 @@ const state = reactive({
17
17
  price: 0,
18
18
  price_cost: 0,
19
19
  localization: [],
20
+ recommended: [],
20
21
  variants: [],
21
22
  discounts: [],
23
+ included: [],
22
24
  ingredients: [],
23
25
  description: ""
24
26
  },
@@ -180,6 +182,7 @@ const actions = {
180
182
  const mutations = {
181
183
  resetProduct(product) {
182
184
  state.current = {
185
+ included: [],
183
186
  recommendation: false,
184
187
  category: [],
185
188
  status: "unpublished",
@@ -194,6 +197,7 @@ const mutations = {
194
197
  price_currency: "$",
195
198
  localization: [],
196
199
  variants: [],
200
+ recommended: [],
197
201
  discounts: [],
198
202
  ingredients: [],
199
203
  description: ""
@@ -1 +1 @@
1
- {"version":3,"file":"products.js","sources":["../../../../../../src/modules/products/store/products.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { reactive, watch } from 'vue';\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n// Setup Axios\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n/////////////////////////////\n// STATE\n/////////////////////////////\nconst state = reactive({\n all: [],\n current: {\n recommendation: false,\n category: [],\n status: 'unpublished',\n listing: 'sale',\n attributes: [],\n images: [],\n files: [],\n image3d: false,\n name: '',\n sale: 0,\n price: 0,\n price_cost: 0,\n localization: [],\n variants: [],\n discounts: [],\n ingredients: [],\n description: '',\n },\n filter: {\n active: false,\n class: 'mobile-only',\n selected: {},\n options: [\n {\n title: 'Price',\n value: 'price',\n options: [\n { label: 'Pickup', value: 'pickup' },\n { label: 'Courier', value: 'courier' },\n { label: 'Post', value: 'post' },\n ],\n },\n ],\n },\n sort: {\n param: 'distance',\n order: 'asc',\n options: [\n {\n label: 'Distance',\n value: 'distance',\n },\n {\n label: 'Popularity',\n value: 'views',\n },\n {\n label: 'Products',\n value: 'numberOfProducts',\n },\n ],\n },\n});\n\n/////////////////////////////\n// ACTIONS\n/////////////////////////////\nconst actions = {\n async create(product) {\n return await $axios.post('/api/products/create', product).then(\n response => {\n set(response.data, 'current');\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async read(options = {}) {\n\n try {\n const response = await $axios.get('/api/products/read', { params: options });\n\n if (options._id) {\n state.current = { ...response.data[0] };\n return Promise.resolve(response.data[0]);\n } else {\n return Promise.resolve(response.data);\n }\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async update(_id, product) {\n return await $axios.post('/api/products/' + _id, product).then(\n response => {\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async deleteProduct(_id) {\n return await $axios.delete('/api/products/' + _id).then(\n response => {\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async submitMood(presetMood = null) {\n return $axios.post('/api/product/recommended', { mood: presetMood }).then(\n response => {\n state.current = response.data.product;\n state.current.recommendation = response.data.recommendationText;\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProducts() {\n return await $axios.get(`/api/products/read`).then(\n products => {\n state.all = products.data;\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductsPopular() {\n return await $axios.get(`/api/products/popular`).then(\n products => {\n state.popular = products.data;\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductsPublished() {\n return await $axios.get(`/api/products`).then(\n products => {\n let publishedProduct = products.data.filter(function (product, index) {\n return product.status !== 'unpublished';\n });\n\n state.all = publishedProduct;\n state.filtered = publishedProduct.slice();\n state.filteredPrice = state.filtered;\n\n state.filteredPrice.sort(function (l, r) {\n return l[state.sort.current] > r[state.sort.current] ? (state.sort.ascending ? 1 : -1) : l[state.sort.current] < r[state.sort.current] ? (state.sort.ascending ? -1 : 1) : 0;\n });\n\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductPopular() {\n return await $axios.get(`/api/products`).then(\n products => {\n state.all = products.data.slice(1, 5);\n return Promise.resolve(products.data.slice(1, 5));\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n};\n\nconst mutations = {\n resetProduct(product) {\n state.current = {\n recommendation: false,\n category: [],\n status: 'unpublished',\n attributes: [],\n images: [],\n files: [],\n image3d: false,\n name: '',\n sale: 0,\n price: 0,\n price_cost: 0,\n price_currency: '$',\n localization: [],\n variants: [],\n discounts: [],\n ingredients: [],\n description: '',\n };\n },\n};\n\nfunction set(product, property) {\n state[property] = product;\n}\n\n/////////////////////////////\n// GETTERS\n/////////////////////////////\nconst getters = {};\n\n/////////////////////////////\n// UTILS\n/////////////////////////////\n\n/////////////////////////////\n// HISTORY\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// WATCH\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, mutations, state };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"products.js","sources":["../../../../../../src/modules/products/store/products.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { reactive, watch } from 'vue';\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n// Setup Axios\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n/////////////////////////////\n// STATE\n/////////////////////////////\nconst state = reactive({\n all: [],\n current: {\n recommendation: false,\n category: [],\n status: 'unpublished',\n listing: 'sale',\n attributes: [],\n images: [],\n files: [],\n image3d: false,\n name: '',\n sale: 0,\n price: 0,\n price_cost: 0,\n localization: [],\n recommended: [],\n variants: [],\n discounts: [],\n included: [],\n ingredients: [],\n description: '',\n },\n filter: {\n active: false,\n class: 'mobile-only',\n selected: {},\n options: [\n {\n title: 'Price',\n value: 'price',\n options: [\n { label: 'Pickup', value: 'pickup' },\n { label: 'Courier', value: 'courier' },\n { label: 'Post', value: 'post' },\n ],\n },\n ],\n },\n sort: {\n param: 'distance',\n order: 'asc',\n options: [\n {\n label: 'Distance',\n value: 'distance',\n },\n {\n label: 'Popularity',\n value: 'views',\n },\n {\n label: 'Products',\n value: 'numberOfProducts',\n },\n ],\n },\n});\n\n/////////////////////////////\n// ACTIONS\n/////////////////////////////\nconst actions = {\n async create(product) {\n return await $axios.post('/api/products/create', product).then(\n response => {\n set(response.data, 'current');\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async read(options = {}) {\n\n try {\n const response = await $axios.get('/api/products/read', { params: options });\n\n if (options._id) {\n state.current = { ...response.data[0] };\n return Promise.resolve(response.data[0]);\n } else {\n return Promise.resolve(response.data);\n }\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async update(_id, product) {\n return await $axios.post('/api/products/' + _id, product).then(\n response => {\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async deleteProduct(_id) {\n return await $axios.delete('/api/products/' + _id).then(\n response => {\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async submitMood(presetMood = null) {\n return $axios.post('/api/product/recommended', { mood: presetMood }).then(\n response => {\n state.current = response.data.product;\n state.current.recommendation = response.data.recommendationText;\n return Promise.resolve(response.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProducts() {\n return await $axios.get(`/api/products/read`).then(\n products => {\n state.all = products.data;\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductsPopular() {\n return await $axios.get(`/api/products/popular`).then(\n products => {\n state.popular = products.data;\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductsPublished() {\n return await $axios.get(`/api/products`).then(\n products => {\n let publishedProduct = products.data.filter(function (product, index) {\n return product.status !== 'unpublished';\n });\n\n state.all = publishedProduct;\n state.filtered = publishedProduct.slice();\n state.filteredPrice = state.filtered;\n\n state.filteredPrice.sort(function (l, r) {\n return l[state.sort.current] > r[state.sort.current] ? (state.sort.ascending ? 1 : -1) : l[state.sort.current] < r[state.sort.current] ? (state.sort.ascending ? -1 : 1) : 0;\n });\n\n return Promise.resolve(products.data);\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n\n async fetchProductPopular() {\n return await $axios.get(`/api/products`).then(\n products => {\n state.all = products.data.slice(1, 5);\n return Promise.resolve(products.data.slice(1, 5));\n },\n error => {\n setError(error);\n return Promise.reject(error);\n }\n );\n },\n};\n\nconst mutations = {\n resetProduct(product) {\n state.current = {\n included: [],\n recommendation: false,\n category: [],\n status: 'unpublished',\n attributes: [],\n images: [],\n files: [],\n image3d: false,\n name: '',\n sale: 0,\n price: 0,\n price_cost: 0,\n price_currency: '$',\n localization: [],\n variants: [],\n recommended: [],\n discounts: [],\n ingredients: [],\n description: '',\n };\n },\n};\n\nfunction set(product, property) {\n state[property] = product;\n}\n\n/////////////////////////////\n// GETTERS\n/////////////////////////////\nconst getters = {};\n\n/////////////////////////////\n// UTILS\n/////////////////////////////\n\n/////////////////////////////\n// HISTORY\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// WATCH\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, mutations, state };\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ 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
6
  const Feed = require("../../../../../components/Feed/Feed.vue.cjs");
7
- const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
7
+ const Popup = require("../../../../../components/Popup/Popup.vue2.cjs");
8
8
  require("../../../../globals/views/store/globals.cjs");
9
9
  const CardOrderItem = require("../../../../orders/components/blocks/CardOrderItem.vue.cjs");
10
10
  const vueRouter = require("vue-router");