@ozdao/martyrs 0.2.571 → 0.2.574

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 (819) hide show
  1. package/dist/_virtual/dayjs.min.js +1 -1
  2. package/dist/_virtual/weekOfYear.js +1 -1
  3. package/dist/builder.js +1194 -45
  4. package/dist/loader.js +30 -0
  5. package/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +1173 -1191
  6. package/dist/martyrs/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +94 -112
  7. package/dist/martyrs/dist/main-BfEQkhXS.js.map +1 -0
  8. package/dist/martyrs/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +3 -3
  9. package/dist/martyrs/dist/{web-CH5wzMHy.js.map → web-BqTV9va1.js.map} +1 -1
  10. package/dist/martyrs/node_modules/.pnpm/{@capacitor_core@7.0.1 → @capacitor_core@7.4.4}/node_modules/@capacitor/core/dist/index.js +2 -1
  11. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.4.4/node_modules/@capacitor/core/dist/index.js.map +1 -0
  12. package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/index.js +1 -1
  13. package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/index.js.map +1 -1
  14. package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/web.js +1 -1
  15. package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/web.js.map +1 -1
  16. package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
  17. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  18. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  19. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/dayjs.min.js +1 -1
  20. package/dist/martyrs/node_modules/dayjs/dayjs.min.js.map +1 -0
  21. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
  22. package/dist/martyrs/node_modules/dayjs/plugin/weekOfYear.js.map +1 -0
  23. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  24. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  25. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
  26. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
  27. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
  28. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
  29. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
  30. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
  31. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  32. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  33. package/dist/martyrs/src/components/Block/Block.vue.js +2 -2
  34. package/dist/martyrs/src/components/Block/Block.vue.js.map +1 -1
  35. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +1 -1
  36. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +1 -1
  37. package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
  38. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +6 -6
  39. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  40. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +2 -2
  41. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  42. package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
  43. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +5 -5
  44. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  45. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +4 -4
  46. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  47. package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +3 -3
  48. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
  49. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  50. package/dist/martyrs/src/components/Feed/Feed.vue.js +3 -3
  51. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  52. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  53. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  54. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  55. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  56. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js +1 -1
  57. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -1
  58. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +3 -3
  59. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -0
  60. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  61. package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
  62. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  63. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  64. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +2 -2
  65. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  66. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +2 -2
  67. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  68. package/dist/martyrs/src/components/Radio/Radio.vue.js +1 -1
  69. package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
  70. package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
  71. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
  72. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js → SelectMulti.vue.js} +2 -2
  73. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +1 -0
  74. package/dist/martyrs/src/components/Table/Table.vue.js +3 -3
  75. package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
  76. package/dist/martyrs/src/components/Text/Text.vue.js +1 -1
  77. package/dist/martyrs/src/components/Text/Text.vue.js.map +1 -1
  78. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
  79. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -0
  80. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +4 -4
  81. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
  82. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +4 -4
  83. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
  84. package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
  85. package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js +4 -4
  86. package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js.map +1 -1
  87. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  88. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
  89. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  90. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +7 -7
  92. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  93. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js.map +1 -1
  95. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  97. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  99. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  100. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
  101. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  102. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  103. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  104. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +3 -3
  105. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
  106. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  108. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +7 -7
  109. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js.map +1 -1
  110. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +1 -1
  111. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  112. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -1
  113. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +4 -4
  114. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  115. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +6 -6
  116. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  117. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +1 -1
  118. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
  119. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +2 -2
  120. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  121. package/dist/martyrs/src/modules/community/components/blocks/Activity.vue.js +7 -7
  122. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  123. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  124. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +4 -4
  125. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
  126. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +10 -10
  127. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  128. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  129. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  130. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
  131. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +2 -2
  132. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +3 -3
  134. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  135. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
  136. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js +1 -1
  137. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js.map +1 -1
  138. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  139. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js.map +1 -1
  140. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js +1 -1
  141. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js.map +1 -1
  142. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js +1 -1
  143. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js.map +1 -1
  144. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  145. package/dist/martyrs/src/modules/core/views/classes/core.app.js +2 -1
  146. package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
  147. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js +2 -2
  148. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +9 -9
  150. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +2 -2
  152. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
  153. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
  154. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +1 -1
  156. package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js +1 -1
  157. package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js.map +1 -1
  158. package/dist/martyrs/src/modules/core/views/components/elements/PhotoStack.vue.js +3 -3
  159. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js +25 -5
  160. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +4 -4
  162. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +11 -11
  164. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  165. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js +1 -1
  166. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js.map +1 -1
  167. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js +16 -16
  168. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js.map +1 -1
  169. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +7 -7
  170. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  171. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +1 -1
  172. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
  173. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +23 -23
  174. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  175. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +3 -3
  176. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +7 -7
  178. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  179. package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
  180. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
  181. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
  182. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  183. package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +1 -1
  184. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js +2 -2
  185. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js.map +1 -1
  186. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js +3 -3
  187. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js.map +1 -1
  188. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js +2 -2
  189. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js.map +1 -1
  190. package/dist/martyrs/src/modules/core/views/store/core.store.js +29 -47
  191. package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
  192. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +21 -2
  193. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
  194. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +5 -5
  195. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  196. package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js +3 -3
  197. package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js.map +1 -1
  198. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -4
  199. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  200. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +18 -18
  201. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  202. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +7 -7
  203. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  204. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
  205. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  206. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +2 -2
  207. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  208. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +5 -5
  209. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js.map +1 -1
  210. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +2 -2
  211. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  212. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  213. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +2 -2
  214. package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +1 -1
  216. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  217. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  218. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  220. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  221. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +4 -4
  222. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +4 -4
  224. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +7 -7
  225. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  226. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
  227. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  228. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +2 -2
  229. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
  230. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  231. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
  232. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +10 -10
  233. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  234. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +5 -5
  235. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  236. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +5 -5
  237. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  238. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
  239. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  240. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  241. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  242. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +2 -2
  243. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
  244. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
  245. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  246. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js +2 -2
  247. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
  248. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +3 -3
  249. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
  250. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +6 -6
  251. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js.map +1 -1
  252. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +4 -4
  253. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  254. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +2 -2
  255. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js.map +1 -1
  256. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +5 -5
  257. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  258. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +4 -4
  259. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  260. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +3 -3
  261. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -1
  262. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +5 -5
  263. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  264. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +5 -5
  265. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  266. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +8 -8
  267. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  268. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +5 -5
  269. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  270. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
  271. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  272. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +2 -2
  273. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
  274. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +13 -13
  275. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  276. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +23 -23
  277. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  278. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +8 -8
  279. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  280. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +10 -13
  281. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
  282. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +9 -9
  283. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  284. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +26 -26
  285. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  286. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +17 -17
  287. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  288. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +26 -26
  289. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  290. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  291. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +8 -8
  292. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
  293. package/dist/martyrs/src/modules/music/music.client.js +6 -6
  294. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  295. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
  296. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  297. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
  298. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  299. package/dist/martyrs/src/modules/notifications/notifications.client.js +2 -2
  300. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +1 -1
  301. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +2 -2
  302. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +2 -2
  303. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +9 -9
  304. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  305. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +5 -5
  306. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  307. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +9 -9
  308. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  309. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +5 -5
  310. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js +2 -2
  312. package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js.map +1 -1
  313. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
  314. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +3 -3
  316. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  317. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  318. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
  319. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +3 -3
  320. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
  321. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  322. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +17 -17
  323. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  324. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +2 -2
  325. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  326. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
  327. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  328. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +2 -2
  329. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  330. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +3 -3
  331. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
  332. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  333. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  334. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +3 -3
  335. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
  336. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  337. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +3 -3
  338. package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -1
  339. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
  340. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  341. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  342. package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js +8 -8
  343. package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js.map +1 -1
  344. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
  345. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +3 -3
  346. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  347. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  348. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  349. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  350. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  351. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +2 -2
  352. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  353. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  354. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  355. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +6 -6
  356. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  357. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
  358. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  359. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
  360. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  361. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +4 -4
  362. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js.map +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  364. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  365. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  366. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +3 -3
  367. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
  368. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js +5 -5
  369. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js.map +1 -1
  370. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  371. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
  372. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  373. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +4 -4
  374. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  375. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +3 -3
  376. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  377. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -5
  378. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  379. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +3 -3
  380. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  381. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +2 -2
  382. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  383. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +5 -5
  384. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js.map +1 -1
  385. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +2 -2
  386. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  387. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +3 -3
  388. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  389. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js +1 -1
  390. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
  391. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  392. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  393. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  394. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +7 -7
  395. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  396. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +8 -8
  397. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  398. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +12 -12
  399. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  400. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +4 -4
  401. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  402. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +6 -6
  403. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  404. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
  405. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
  406. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +9 -9
  407. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  408. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
  409. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  410. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +2 -2
  411. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  412. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +2 -2
  413. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  414. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +6 -6
  415. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  416. package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js +1 -1
  417. package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js.map +1 -1
  418. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/DateLabel.vue.js +1 -1
  419. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +2 -2
  420. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +8 -8
  422. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
  423. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js +1 -1
  424. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +1 -1
  425. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  426. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
  427. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +6 -6
  428. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  429. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js +3 -3
  430. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js.map +1 -1
  431. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  432. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
  433. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +5 -5
  434. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  435. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
  436. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
  437. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
  438. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
  439. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +6 -6
  440. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  441. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  442. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  443. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +3 -3
  444. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  445. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +5 -5
  446. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
  447. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js +5 -5
  448. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js.map +1 -1
  449. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +5 -5
  450. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js.map +1 -1
  451. package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js +2 -2
  452. package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js.map +1 -1
  453. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +4 -4
  454. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
  455. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js +12 -12
  456. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js.map +1 -1
  457. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +4 -4
  458. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
  459. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +23 -23
  460. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  461. package/dist/martyrs.css +1 -1
  462. package/dist/martyrs.es.js +1 -1
  463. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  464. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  465. package/dist/style.css +194 -202
  466. package/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +1 -1
  467. package/package.json +6 -8
  468. package/src/builder/modes/ssr.prod.js +1 -0
  469. package/src/builder/modes/ssr.rspack.dev.js +13 -6
  470. package/src/builder/rspack/rspack.config.base.js +7 -0
  471. package/src/builder/rspack/rspack.config.ssr.client.js +19 -44
  472. package/src/builder/templates/page.js +21 -0
  473. package/src/components/Block/Block.vue +1 -1
  474. package/src/components/BottomSheet/BottomSheet.vue +1 -1
  475. package/src/components/Calendar/Calendar.vue +5 -5
  476. package/src/components/Checkbox/Checkbox.vue +2 -2
  477. package/src/components/Chips/Chips.vue +2 -2
  478. package/src/components/Completion/Completion.vue +2 -2
  479. package/src/components/Countdown/Countdown.vue +5 -5
  480. package/src/components/DatePicker/DatePicker.vue +4 -4
  481. package/src/components/EditImages/EditImages.vue +1 -1
  482. package/src/components/Feed/Feed.old.vue +1 -1
  483. package/src/components/Feed/Feed.vue +1 -1
  484. package/src/components/FieldBig/FieldBig.vue +2 -2
  485. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  486. package/src/components/FieldTags/BlockTags.vue +1 -1
  487. package/src/components/Loader/Loader.vue +1 -1
  488. package/src/components/Menu/MenuItem.vue +2 -2
  489. package/src/components/PhotoViewer/PhotoViewer.vue +1 -1
  490. package/src/components/Radio/Radio.vue +1 -1
  491. package/src/components/Select/Select.vue +1 -1
  492. package/src/components/Table/Table.vue +2 -2
  493. package/src/components/Text/Text.vue +1 -1
  494. package/src/components/UploadImage/UploadImage.vue +2 -2
  495. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +3 -3
  496. package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
  497. package/src/configurator/components/pages/Styles.vue +2 -2
  498. package/src/jit/.claude/settings.local.json +10 -0
  499. package/src/jit/CLAUDE.md +387 -0
  500. package/src/jit/core.js +274 -0
  501. package/src/jit/extractor.js +140 -0
  502. package/src/jit/index.js +19 -0
  503. package/src/jit/loader.js +46 -0
  504. package/src/jit/plugin.js +209 -0
  505. package/src/jit/rules.js +474 -0
  506. package/src/jit/variants.js +128 -0
  507. package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
  508. package/src/modules/auth/views/components/blocks/ProfileCard.vue +4 -4
  509. package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
  510. package/src/modules/auth/views/components/pages/EnterPassword.vue +2 -2
  511. package/src/modules/auth/views/components/pages/Profile.vue +5 -5
  512. package/src/modules/auth/views/components/pages/ProfileBlogposts.vue +1 -1
  513. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +2 -2
  514. package/src/modules/auth/views/components/pages/ResetPassword.vue +1 -1
  515. package/src/modules/auth/views/components/pages/SignIn.vue +3 -3
  516. package/src/modules/auth/views/components/pages/SignUp.vue +1 -1
  517. package/src/modules/auth/views/components/pages/UserDashboard.vue +3 -3
  518. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  519. package/src/modules/auth/views/components/sections/ProfileCompletion.vue +2 -2
  520. package/src/modules/auth/views/components/sections/ProfileEditCredentials.vue +7 -7
  521. package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
  522. package/src/modules/backoffice/components/admin/Backcalls.vue +1 -1
  523. package/src/modules/backoffice/components/admin/FastOrders.vue +1 -1
  524. package/src/modules/backoffice/components/admin/ProductEdit.vue +2 -2
  525. package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
  526. package/src/modules/backoffice/components/admin/Users.vue +2 -2
  527. package/src/modules/backoffice/components/pages/Dashboard.vue +4 -4
  528. package/src/modules/backoffice/components/partials/Sidebar.vue +5 -5
  529. package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
  530. package/src/modules/chats/components/sections/ChatWindow.vue +2 -2
  531. package/src/modules/community/components/blocks/Activity.vue +7 -7
  532. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  533. package/src/modules/community/components/blocks/FooterBlogpost.vue +4 -4
  534. package/src/modules/community/components/layouts/Community.vue +10 -10
  535. package/src/modules/community/components/pages/CreateBlogPost.vue +1 -1
  536. package/src/modules/community/components/pages/Posts.vue +2 -2
  537. package/src/modules/community/components/sections/Comment.vue +2 -2
  538. package/src/modules/constructor/components/elements/Audio.vue +1 -1
  539. package/src/modules/constructor/components/elements/Caption.vue +1 -1
  540. package/src/modules/constructor/components/elements/Embed.vue +1 -1
  541. package/src/modules/constructor/components/elements/Textarea.vue +1 -1
  542. package/src/modules/constructor/components/elements/Video.vue +1 -1
  543. package/src/modules/core/views/classes/core.app.js +2 -1
  544. package/src/modules/core/views/components/blocks/BlockSorting.vue +2 -2
  545. package/src/modules/core/views/components/blocks/CardFooter.vue +4 -4
  546. package/src/modules/core/views/components/blocks/CardHeader.vue +7 -7
  547. package/src/modules/core/views/components/blocks/HelpCard.vue +1 -1
  548. package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
  549. package/src/modules/core/views/components/elements/ButtonDate.vue +1 -1
  550. package/src/modules/core/views/components/elements/PhotoStack.vue +3 -3
  551. package/src/modules/core/views/components/layouts/App.vue +28 -4
  552. package/src/modules/core/views/components/layouts/Client.vue +4 -4
  553. package/src/modules/core/views/components/partials/BottomNavigationBar.vue +15 -15
  554. package/src/modules/core/views/components/partials/CitySelection.vue +1 -1
  555. package/src/modules/core/views/components/partials/Footer.centered.vue +17 -17
  556. package/src/modules/core/views/components/partials/Footer.vue +18 -18
  557. package/src/modules/core/views/components/partials/Header.vue +10 -11
  558. package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
  559. package/src/modules/core/views/components/partials/Navigation.vue +20 -19
  560. package/src/modules/core/views/components/partials/NavigationBar.vue +3 -3
  561. package/src/modules/core/views/components/partials/Sidebar.vue +6 -6
  562. package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
  563. package/src/modules/core/views/components/sections/filters/FilterCheckbox.vue +1 -1
  564. package/src/modules/core/views/components/sections/filters/FilterDateRange.vue +2 -2
  565. package/src/modules/core/views/components/sections/filters/FilterPrice.vue +2 -2
  566. package/src/modules/core/views/components/sections/filters/FilterRange.vue +2 -2
  567. package/src/modules/core/views/store/core.store.js +36 -60
  568. package/src/modules/core/views/utils/vue-app-renderer.js +31 -1
  569. package/src/modules/events/components/blocks/CardEvent.vue +6 -6
  570. package/src/modules/events/components/blocks/CardEventShort.vue +3 -3
  571. package/src/modules/events/components/pages/EditEvent.vue +1 -1
  572. package/src/modules/events/components/pages/EditEventTickets.vue +18 -18
  573. package/src/modules/events/components/pages/Event.vue +5 -5
  574. package/src/modules/events/components/pages/Events.vue +2 -2
  575. package/src/modules/events/components/pages/EventsBackoffice.vue +2 -2
  576. package/src/modules/events/components/sections/EditTickets.vue +5 -5
  577. package/src/modules/events/components/sections/EventsHot.vue +2 -2
  578. package/src/modules/events/components/sections/List.vue +1 -1
  579. package/src/modules/events/components/sections/SelectDate.vue +1 -1
  580. package/src/modules/gallery/components/pages/Gallery.vue +1 -1
  581. package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
  582. package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +14 -14
  583. package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +13 -13
  584. package/src/modules/governance/reactcode/src/components/EmptyState.tsx +2 -2
  585. package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +1 -1
  586. package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +1 -1
  587. package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +2 -2
  588. package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +6 -6
  589. package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +18 -18
  590. package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +7 -7
  591. package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +9 -9
  592. package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +4 -4
  593. package/src/modules/governance/reactcode/src/components/TaskCard.tsx +1 -1
  594. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
  595. package/src/modules/governance/reactcode/src/components/VoteForm.tsx +6 -6
  596. package/src/modules/governance/reactcode/src/components/VotingCard.tsx +2 -2
  597. package/src/modules/governance/reactcode/src/components/VotingResults.tsx +15 -15
  598. package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +41 -41
  599. package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +8 -8
  600. package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +6 -6
  601. package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +9 -9
  602. package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +14 -14
  603. package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +44 -44
  604. package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +8 -8
  605. package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +3 -3
  606. package/src/modules/governance/reactcode-2/App.tsx +28 -0
  607. package/src/modules/governance/reactcode-2/README.md +20 -0
  608. package/src/modules/governance/reactcode-2/components/Charts.tsx +58 -0
  609. package/src/modules/governance/reactcode-2/components/Layout.tsx +457 -0
  610. package/src/modules/governance/reactcode-2/components/TaskPage.tsx +325 -0
  611. package/src/modules/governance/reactcode-2/components/VoteBadge.tsx +27 -0
  612. package/src/modules/governance/reactcode-2/components/VotingsFeedPage.tsx +328 -0
  613. package/src/modules/governance/reactcode-2/constants.ts +154 -0
  614. package/src/modules/governance/reactcode-2/index.html +70 -0
  615. package/src/modules/governance/reactcode-2/index.tsx +15 -0
  616. package/src/modules/governance/reactcode-2/metadata.json +5 -0
  617. package/src/modules/governance/reactcode-2/package.json +23 -0
  618. package/src/modules/governance/reactcode-2/pnpm-lock.yaml +1410 -0
  619. package/src/modules/governance/reactcode-2/tsconfig.json +29 -0
  620. package/src/modules/governance/reactcode-2/types.ts +48 -0
  621. package/src/modules/governance/reactcode-2/vite.config.ts +23 -0
  622. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +10 -10
  623. package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +15 -15
  624. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +9 -9
  625. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +11 -11
  626. package/src/modules/governance/views/components/layouts/Governance.vue +1 -1
  627. package/src/modules/governance/views/components/pages/Governance.vue +3 -3
  628. package/src/modules/governance/views/components/pages/Initiative.vue +112 -112
  629. package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +31 -31
  630. package/src/modules/governance/views/components/pages/Initiatives.vue +20 -22
  631. package/src/modules/governance/views/components/pages/Milestone.vue +25 -25
  632. package/src/modules/governance/views/components/pages/Roadmap.vue +47 -47
  633. package/src/modules/governance/views/components/pages/Task.vue +106 -106
  634. package/src/modules/governance/views/components/pages/Tasks.vue +16 -16
  635. package/src/modules/governance/views/components/pages/Voting.vue +23 -23
  636. package/src/modules/governance/views/components/pages/Votings.vue +7 -7
  637. package/src/modules/governance/views/components/partials/EmptyState.vue +3 -3
  638. package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +11 -11
  639. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +4 -4
  640. package/src/modules/governance/views/components/partials/VoteForm.vue +14 -14
  641. package/src/modules/governance/views/components/partials/VotingResults.vue +22 -22
  642. package/src/modules/icons/components/IconSearchPopup.vue +3 -3
  643. package/src/modules/icons/entities/IconCash.vue +23 -0
  644. package/src/modules/icons/navigation/IconSort.vue +4 -4
  645. package/src/modules/icons/pages/IconsPage.vue +7 -7
  646. package/src/modules/inventory/components/forms/AdjustmentForm.vue +3 -3
  647. package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
  648. package/src/modules/inventory/components/forms/StockAlertsForm.vue +1 -1
  649. package/src/modules/inventory/components/pages/Inventory.vue +10 -10
  650. package/src/modules/inventory/components/pages/InventoryEdit.vue +6 -6
  651. package/src/modules/landing/components/blocks/MapBlock.vue +2 -2
  652. package/src/modules/landing/components/sections/Examples.vue +1 -1
  653. package/src/modules/landing/components/sections/InstagramSection.vue +1 -1
  654. package/src/modules/landing/components/sections/SectionEarn.vue +4 -4
  655. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  656. package/src/modules/landing/components/sections/SectionFocus.vue +2 -2
  657. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  658. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  659. package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
  660. package/src/modules/landing/components/sections/SectionJoinUs.vue +2 -2
  661. package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
  662. package/src/modules/landing/components/sections/SectionOverview.vue +2 -2
  663. package/src/modules/landing/components/sections/SectionRoadmap.vue +2 -2
  664. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +8 -8
  665. package/src/modules/marketplace/views/components/pages/Marketplace.vue +5 -5
  666. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +2 -2
  667. package/src/modules/music/components/SidebarMusic.vue +11 -11
  668. package/src/modules/music/components/blocks/ActionButtons.vue +2 -2
  669. package/src/modules/music/components/cards/AlbumCard.vue +4 -4
  670. package/src/modules/music/components/cards/ArtistCard.vue +3 -8
  671. package/src/modules/music/components/cards/ArtistCardSmall.vue +2 -2
  672. package/src/modules/music/components/cards/PlaylistCard.vue +4 -4
  673. package/src/modules/music/components/cards/TrackListCard.vue +5 -5
  674. package/src/modules/music/components/forms/AlbumForm.vue +8 -8
  675. package/src/modules/music/components/forms/ArtistForm.vue +4 -4
  676. package/src/modules/music/components/forms/PlaylistForm.vue +7 -7
  677. package/src/modules/music/components/forms/SearchForm.vue +1 -1
  678. package/src/modules/music/components/forms/TrackForm.vue +13 -13
  679. package/src/modules/music/components/pages/Album.vue +22 -22
  680. package/src/modules/music/components/pages/Artist.vue +7 -7
  681. package/src/modules/music/components/pages/MusicHome.vue +13 -18
  682. package/src/modules/music/components/pages/MusicLibrary.vue +9 -9
  683. package/src/modules/music/components/pages/Playlist.vue +25 -25
  684. package/src/modules/music/components/pages/SearchResults.vue +15 -15
  685. package/src/modules/music/components/pages/Track.vue +25 -25
  686. package/src/modules/music/components/player/FullscreenPlayer.vue +5 -5
  687. package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
  688. package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
  689. package/src/modules/orders/components/blocks/CardApplication.vue +1 -1
  690. package/src/modules/orders/components/blocks/CardCustomer.vue +1 -1
  691. package/src/modules/orders/components/blocks/CardOrder.vue +9 -9
  692. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +5 -5
  693. package/src/modules/orders/components/blocks/CardOrderItem.vue +9 -9
  694. package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
  695. package/src/modules/orders/components/blocks/CardOrderVar1.vue +4 -4
  696. package/src/modules/orders/components/blocks/StatusHistory.vue +3 -3
  697. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
  698. package/src/modules/orders/components/elements/PriceTotal.vue +3 -3
  699. package/src/modules/orders/components/forms/FormApplicationDetails.vue +2 -2
  700. package/src/modules/orders/components/forms/FormCustomerDetails.vue +3 -3
  701. package/src/modules/orders/components/pages/Favorites.vue +1 -1
  702. package/src/modules/orders/components/pages/OrderBackoffice.vue +15 -15
  703. package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
  704. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +4 -4
  705. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  706. package/src/modules/orders/components/partials/ShopCart.vue +2 -2
  707. package/src/modules/orders/components/sections/ApplicationDetails.vue +2 -2
  708. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  709. package/src/modules/orders/components/sections/CustomerDetails.vue +2 -2
  710. package/src/modules/orders/components/sections/Succes.vue +4 -4
  711. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  712. package/src/modules/organizations/components/blocks/CardOrganization.vue +4 -4
  713. package/src/modules/organizations/components/blocks/Contacts.vue +8 -8
  714. package/src/modules/organizations/components/blocks/Rating.vue +1 -1
  715. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +3 -3
  716. package/src/modules/organizations/components/forms/DepartmentForm.vue +1 -1
  717. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  718. package/src/modules/organizations/components/pages/Department.vue +2 -2
  719. package/src/modules/organizations/components/pages/DepartmentEdit.vue +1 -1
  720. package/src/modules/organizations/components/pages/Members.vue +1 -1
  721. package/src/modules/organizations/components/pages/Organization.new.vue +8 -8
  722. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  723. package/src/modules/organizations/components/pages/OrganizationDocuments.vue +2 -2
  724. package/src/modules/organizations/components/pages/Organizations.vue +3 -3
  725. package/src/modules/organizations/components/sections/Documents.vue +2 -2
  726. package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
  727. package/src/modules/organizations/components/sections/Unit.vue +1 -1
  728. package/src/modules/pages/views/components/blocks/CardPage.vue +2 -2
  729. package/src/modules/pages/views/components/pages/Page.vue +5 -5
  730. package/src/modules/products/components/blocks/CardCategory.vue +1 -1
  731. package/src/modules/products/components/blocks/CardPosition.vue +4 -4
  732. package/src/modules/products/components/blocks/CardProduct.vue +3 -3
  733. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -3
  734. package/src/modules/products/components/blocks/ProductImages.vue +2 -2
  735. package/src/modules/products/components/blocks/ProductVariants.vue +2 -2
  736. package/src/modules/products/components/elements/Image360.vue +2 -2
  737. package/src/modules/products/components/elements/Price.vue +2 -2
  738. package/src/modules/products/components/elements/QuantitySelector.vue +3 -3
  739. package/src/modules/products/components/elements/THC.vue +1 -1
  740. package/src/modules/products/components/forms/ReorderSettingsForm.vue +1 -1
  741. package/src/modules/products/components/forms/StockAuditForm.vue +2 -2
  742. package/src/modules/products/components/forms/StockHistoryView.vue +1 -1
  743. package/src/modules/products/components/pages/Categories.vue +1 -1
  744. package/src/modules/products/components/pages/CategoryEdit.vue +2 -2
  745. package/src/modules/products/components/pages/Product.vue +6 -6
  746. package/src/modules/products/components/pages/ProductEdit.vue +6 -6
  747. package/src/modules/products/components/pages/Products.vue +11 -11
  748. package/src/modules/products/components/sections/EditAttributes.vue +4 -4
  749. package/src/modules/products/components/sections/EditCategories.vue +1 -1
  750. package/src/modules/products/components/sections/EditDiscounts.vue +6 -6
  751. package/src/modules/products/components/sections/EditRecommended.vue +1 -1
  752. package/src/modules/products/components/sections/EditVariants.vue +8 -8
  753. package/src/modules/products/components/sections/FilterProducts.vue +3 -3
  754. package/src/modules/products/components/sections/ProductConfigurator.vue +2 -2
  755. package/src/modules/products/components/sections/ProductInformationSection.vue +10 -10
  756. package/src/modules/products/components/sections/ProductsRecommended.vue +2 -2
  757. package/src/modules/products/components/sections/SectionProduct.vue +7 -7
  758. package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +3 -3
  759. package/src/modules/rents/views/components/blocks/CardRent.vue +1 -1
  760. package/src/modules/rents/views/components/pages/Gant/DateLabel.vue +1 -1
  761. package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +2 -2
  762. package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +8 -8
  763. package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +1 -1
  764. package/src/modules/rents/views/components/pages/Rents.vue +1 -1
  765. package/src/modules/rents/views/components/pages/RentsEdit.vue +6 -6
  766. package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
  767. package/src/modules/reports/components/sections/FormReport.vue +1 -1
  768. package/src/modules/spots/components/blocks/CardSpot.vue +4 -4
  769. package/src/modules/spots/components/blocks/SpotMemberModify.vue +1 -1
  770. package/src/modules/spots/components/layouts/Spots.vue +2 -2
  771. package/src/modules/spots/components/pages/Spot.vue +5 -5
  772. package/src/modules/spots/components/pages/SpotEdit.vue +2 -2
  773. package/src/modules/spots/components/pages/Spots.vue +3 -3
  774. package/src/modules/spots/components/sections/MapSection.vue +1 -1
  775. package/src/modules/spots/components/sections/WorktimeEdit.vue +4 -4
  776. package/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue +5 -5
  777. package/src/modules/wallet/views/components/blocks/CardDeposit.vue +5 -5
  778. package/src/modules/wallet/views/components/blocks/CashDeposit.vue +2 -2
  779. package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +4 -4
  780. package/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue +11 -11
  781. package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +4 -4
  782. package/src/modules/wallet/views/components/pages/Wallet.vue +22 -22
  783. package/src/styles/config.scss +193 -507
  784. package/src/styles/layout.scss +81 -1
  785. package/src/styles/reset.scss +2 -0
  786. package/src/styles/theme.scss +1 -8
  787. package/dist/martyrs/dist/main-BFvlam0J.js.map +0 -1
  788. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.js.map +0 -1
  789. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
  790. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  791. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  792. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +0 -1
  793. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +0 -1
  794. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
  795. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
  796. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  797. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +0 -1
  798. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.js.map +0 -1
  799. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
  800. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  801. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  802. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  803. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
  804. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  805. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -20
  806. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  807. package/src/modules/LAYOUT.MD +0 -767
  808. package/src/modules/STYLES.MD +0 -298
  809. package/src/modules/inventory/inventory.router.js +0 -72
  810. package/src/modules/products/products.router.js +0 -299
  811. package/src/styles/base/all.scss +0 -233
  812. package/src/styles/base/backgrounds.scss +0 -70
  813. package/src/styles/base/borders.scss +0 -407
  814. package/src/styles/base/scrolling.scss +0 -137
  815. package/src/styles/base/shadow_transitions_hover_refactor.scss +0 -158
  816. package/src/styles/base/transitions.scss +0 -109
  817. package/src/styles/responsive.scss +0 -152
  818. package/src/styles/typography.scss +0 -161
  819. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AdjustmentForm.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/AdjustmentForm.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium t-transp\">\n Effortlessly update your inventory and track adjustments for accurate stock management.\n </p>\n \n \n <div class=\"mn-b-medium\">\n <div class=\"mn-b-small flex-nowrap flex gap-thin\">\n <Field\n v-model:field=\"quantity\"\n label=\"Quantity Adjustment\"\n type=\"number\"\n placeholder=\"Enter +/- quantity\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n \n <Field\n :field=\"product.available\"\n label=\"Current Available\"\n type=\"text\"\n :disabled=\"true\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n </div>\n\n <!-- Variant Selection -->\n <div class=\"mn-b-medium\" v-if=\"productVariants.length > 0\">\n <p class=\"mn-b-small t-medium\">Select Variant</p>\n <Select\n v-model:select=\"selectedVariant\"\n :options=\"productVariants\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"Choose variant\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n\n <!-- Storage Selection -->\n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small t-medium\">Select Storage</p>\n <Select\n v-model:select=\"selectedStorage\"\n :options=\"storageOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"Choose storage\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small t-medium\">Adjustment Reason</p>\n \n <div class=\"cols-3 gap-small mn-b-small\">\n <div \n v-for=\"reason in adjustmentReasons\"\n :key=\"reason.value\"\n @click=\"selectedReason = reason.value\"\n :class=\"{ 'bg-main t-black': selectedReason === reason.value, 'bg-light': selectedReason !== reason.value }\"\n class=\"pd-small radius-small flex-column flex-center flex cursor-pointer\"\n >\n <component :is=\"reason.icon\" class=\"i-medium mn-b-nano\" />\n <span>{{ reason.label }}</span>\n </div>\n </div>\n </div>\n \n <Field\n v-model:field=\"note\"\n label=\"Note\"\n type=\"textarea\"\n placeholder=\"Add additional details about this adjustment...\"\n class=\"w-100 bg-light radius-small pd-medium mn-b-medium\"\n />\n \n <div class=\"flex-nowrap flex gap-small\">\n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer t-transp\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"saveAdjustment\"\n :showLoader=\"true\"\n :showSucces=\"true\"\n class=\"pd-small radius-small flex-center flex w-100 cursor-pointer bg-main t-black\"\n >\n Save Adjustment\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as spots from '@martyrs/src/modules/spots/store/spots.js'\nimport variants from '@martyrs/src/modules/products/store/variants.store.js'\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\n\nconst route = useRoute()\n\n// Icons for adjustment reasons\nimport IconDamage from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconExpire from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconMisplacement from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconThief from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconStocktake from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconCustom from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close', 'adjustment-created'])\n\n// Form state\nconst quantity = ref(0)\nconst selectedReason = ref('restock')\nconst note = ref('')\nconst selectedStorage = ref(null)\nconst selectedVariant = ref(null)\nconst productVariants = ref([])\nconst storageOptions = ref([])\n\n// Adjustment reason options\nconst adjustmentReasons = [\n { label: 'Restock', value: 'restock', icon: IconDamage },\n { label: 'Sale', value: 'sale', icon: IconExpire },\n { label: 'Return', value: 'return', icon: IconMisplacement },\n { label: 'Damage', value: 'damage', icon: IconThief },\n { label: 'Transfer', value: 'transfer', icon: IconStocktake },\n { label: 'Other', value: 'custom', icon: IconCustom },\n]\n\nfunction formatPrice(price) {\n return '$' + (parseFloat(price) || 0).toFixed(2)\n}\n\n// Fetch variants and storages on mount\nonMounted(async () => {\n console.log('AdjustmentForm mounted with product:', props.product)\n \n // Fetch variants for the product\n try {\n const variantsData = await variants.read({\n product: props.product._id,\n limit: 50\n })\n productVariants.value = variantsData\n // Select first variant by default if available\n if (variantsData.length > 0) {\n selectedVariant.value = variantsData[0]._id\n }\n } catch (err) {\n console.error('Error fetching variants:', err)\n }\n\n // Fetch storage options\n try {\n const spotsData = await spots.actions.read({\n user: auth.state.user._id,\n organization: route.params._id,\n limit: 50\n })\n storageOptions.value = spotsData.map(spot => ({\n _id: spot._id,\n name: spot.profile?.name || 'Storage'\n }))\n // Select first storage by default if available\n if (storageOptions.value.length > 0) {\n selectedStorage.value = storageOptions.value[0]._id\n }\n } catch (err) {\n console.error('Error fetching spots:', err)\n }\n})\n\nasync function saveAdjustment() {\n if (!selectedVariant.value) {\n alert('Please select a variant')\n throw new Error('Please select a variant')\n }\n if (!selectedStorage.value) {\n alert('Please select a storage')\n throw new Error('Please select a storage')\n }\n\n try {\n const adjustmentData = {\n product: props.product._id,\n variant: selectedVariant.value,\n storage: selectedStorage.value,\n source: {\n type: 'User',\n target: auth.state.user._id\n },\n quantity: parseInt(quantity.value || 0),\n reason: selectedReason.value,\n comment: note.value || '',\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n }\n \n const createdAdjustment = await inventory.actions.createAdjustment(adjustmentData)\n \n // Emit the adjustment data for parent component to update the product\n emit('adjustment-created', {\n product: props.product._id,\n storage: selectedStorage.value,\n quantity: parseInt(quantity.value || 0),\n storageName: storageOptions.value.find(s => s._id === selectedStorage.value)?.name\n })\n \n emit('close')\n } catch (err) {\n console.error(err)\n throw err\n }\n}\n</script>"],"names":["IconDamage","IconExpire","IconMisplacement","IconThief","IconStocktake","IconCustom","variants","spots.actions","auth.state","inventory.actions"],"mappings":"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"}
1
+ {"version":3,"file":"AdjustmentForm.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/AdjustmentForm.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium t-transp\">\n Effortlessly update your inventory and track adjustments for accurate stock management.\n </p>\n \n \n <div class=\"mn-b-medium\">\n <div class=\"mn-b-small flex-nowrap flex gap-thin\">\n <Field\n v-model:field=\"quantity\"\n label=\"Quantity Adjustment\"\n type=\"number\"\n placeholder=\"Enter +/- quantity\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n \n <Field\n :field=\"product.available\"\n label=\"Current Available\"\n type=\"text\"\n :disabled=\"true\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n </div>\n\n <!-- Variant Selection -->\n <div class=\"mn-b-medium\" v-if=\"productVariants.length > 0\">\n <p class=\"mn-b-small fw-medium\">Select Variant</p>\n <Select\n v-model:select=\"selectedVariant\"\n :options=\"productVariants\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"Choose variant\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n\n <!-- Storage Selection -->\n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small fw-medium\">Select Storage</p>\n <Select\n v-model:select=\"selectedStorage\"\n :options=\"storageOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"Choose storage\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small fw-medium\">Adjustment Reason</p>\n \n <div class=\"cols-3 gap-small mn-b-small\">\n <div \n v-for=\"reason in adjustmentReasons\"\n :key=\"reason.value\"\n @click=\"selectedReason = reason.value\"\n :class=\"{ 'bg-main t-black': selectedReason === reason.value, 'bg-light': selectedReason !== reason.value }\"\n class=\"pd-small radius-small flex-column flex-center flex cursor-pointer\"\n >\n <component :is=\"reason.icon\" class=\"i-medium mn-b-nano\" />\n <span>{{ reason.label }}</span>\n </div>\n </div>\n </div>\n \n <Field\n v-model:field=\"note\"\n label=\"Note\"\n type=\"textarea\"\n placeholder=\"Add additional details about this adjustment...\"\n class=\"w-100 bg-light radius-small pd-medium mn-b-medium\"\n />\n \n <div class=\"flex-nowrap flex gap-small\">\n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer t-transp\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"saveAdjustment\"\n :showLoader=\"true\"\n :showSucces=\"true\"\n class=\"pd-small radius-small flex-center flex w-100 cursor-pointer bg-main t-black\"\n >\n Save Adjustment\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as spots from '@martyrs/src/modules/spots/store/spots.js'\nimport variants from '@martyrs/src/modules/products/store/variants.store.js'\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\n\nconst route = useRoute()\n\n// Icons for adjustment reasons\nimport IconDamage from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconExpire from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconMisplacement from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconThief from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconStocktake from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconCustom from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close', 'adjustment-created'])\n\n// Form state\nconst quantity = ref(0)\nconst selectedReason = ref('restock')\nconst note = ref('')\nconst selectedStorage = ref(null)\nconst selectedVariant = ref(null)\nconst productVariants = ref([])\nconst storageOptions = ref([])\n\n// Adjustment reason options\nconst adjustmentReasons = [\n { label: 'Restock', value: 'restock', icon: IconDamage },\n { label: 'Sale', value: 'sale', icon: IconExpire },\n { label: 'Return', value: 'return', icon: IconMisplacement },\n { label: 'Damage', value: 'damage', icon: IconThief },\n { label: 'Transfer', value: 'transfer', icon: IconStocktake },\n { label: 'Other', value: 'custom', icon: IconCustom },\n]\n\nfunction formatPrice(price) {\n return '$' + (parseFloat(price) || 0).toFixed(2)\n}\n\n// Fetch variants and storages on mount\nonMounted(async () => {\n console.log('AdjustmentForm mounted with product:', props.product)\n \n // Fetch variants for the product\n try {\n const variantsData = await variants.read({\n product: props.product._id,\n limit: 50\n })\n productVariants.value = variantsData\n // Select first variant by default if available\n if (variantsData.length > 0) {\n selectedVariant.value = variantsData[0]._id\n }\n } catch (err) {\n console.error('Error fetching variants:', err)\n }\n\n // Fetch storage options\n try {\n const spotsData = await spots.actions.read({\n user: auth.state.user._id,\n organization: route.params._id,\n limit: 50\n })\n storageOptions.value = spotsData.map(spot => ({\n _id: spot._id,\n name: spot.profile?.name || 'Storage'\n }))\n // Select first storage by default if available\n if (storageOptions.value.length > 0) {\n selectedStorage.value = storageOptions.value[0]._id\n }\n } catch (err) {\n console.error('Error fetching spots:', err)\n }\n})\n\nasync function saveAdjustment() {\n if (!selectedVariant.value) {\n alert('Please select a variant')\n throw new Error('Please select a variant')\n }\n if (!selectedStorage.value) {\n alert('Please select a storage')\n throw new Error('Please select a storage')\n }\n\n try {\n const adjustmentData = {\n product: props.product._id,\n variant: selectedVariant.value,\n storage: selectedStorage.value,\n source: {\n type: 'User',\n target: auth.state.user._id\n },\n quantity: parseInt(quantity.value || 0),\n reason: selectedReason.value,\n comment: note.value || '',\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n }\n \n const createdAdjustment = await inventory.actions.createAdjustment(adjustmentData)\n \n // Emit the adjustment data for parent component to update the product\n emit('adjustment-created', {\n product: props.product._id,\n storage: selectedStorage.value,\n quantity: parseInt(quantity.value || 0),\n storageName: storageOptions.value.find(s => s._id === selectedStorage.value)?.name\n })\n \n emit('close')\n } catch (err) {\n console.error(err)\n throw err\n }\n}\n</script>"],"names":["IconDamage","IconExpire","IconMisplacement","IconThief","IconStocktake","IconCustom","variants","spots.actions","auth.state","inventory.actions"],"mappings":"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"}
@@ -19,7 +19,7 @@ const _hoisted_12 = { class: "pd-small" };
19
19
  const _hoisted_13 = { class: "pd-small" };
20
20
  const _hoisted_14 = { class: "pd-small" };
21
21
  const _hoisted_15 = { class: "flex-nowrap flex flex-v-center" };
22
- const _hoisted_16 = { class: "w-2r h-2r radius-100 bg-light o-hidden mn-r-nano" };
22
+ const _hoisted_16 = { class: "w-2r h-2r radius-extra bg-light o-hidden mn-r-nano" };
23
23
  const _hoisted_17 = ["src"];
24
24
  const _sfc_main = {
25
25
  __name: "HistoryView",
@@ -155,7 +155,7 @@ const _sfc_main = {
155
155
  };
156
156
  }
157
157
  };
158
- const HistoryView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4201929e"]]);
158
+ const HistoryView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3734130e"]]);
159
159
  export {
160
160
  HistoryView as default
161
161
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryView.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/HistoryView.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <div class=\"flex-nowrap flex flex-v-center mn-b-medium\">\n <div class=\"flex-nowrap flex flex-v-center\">\n <img \n v-if=\"product.images && product.images.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + product.images[0]\" \n alt=\"Product\" \n class=\"w-3r h-3r radius-small object-fit-cover mn-r-small\"\n />\n <PlaceholderImage \n v-else \n class=\"w-3r h-3r radius-small mn-r-small\"\n />\n \n <div>\n <h3 class=\"mn-b-nano\">{{ product.name }}</h3>\n <!-- <p class=\"t-small t-transp\">SKU: {{ product.sku }}</p> -->\n </div>\n </div>\n </div>\n \n <div class=\"mn-b-medium w-100 h-max-30r o-scroll\">\n <table class=\"w-100\">\n <thead>\n <tr class=\"bg-light\">\n <th class=\"pd-small t-left\">Date</th>\n <th class=\"pd-small t-left\">Type</th>\n <th class=\"pd-small t-left\">Quantity</th>\n <th class=\"pd-small t-left\">Reason</th>\n <th class=\"pd-small t-left\">User</th>\n </tr>\n </thead>\n <tbody>\n <tr v-if=\"loading\">\n <td colspan=\"5\" class=\"pd-medium t-center\">Loading history...</td>\n </tr>\n <tr v-else-if=\"history.length === 0\">\n <td colspan=\"5\" class=\"pd-medium t-center\">No history available</td>\n </tr>\n <tr v-for=\"(entry, index) in history\" :key=\"index\" class=\"border-b\">\n <td class=\"pd-small\">{{ formatDate(entry.createdAt) }}</td>\n <td class=\"pd-small\">\n <span \n :class=\"entry.quantity > 0 ? 'bg-green t-white' : 'bg-red t-white'\"\n class=\"pd-nano pd-r-small pd-l-small radius-small t-small\"\n >\n {{ entry.quantity > 0 ? 'Stock In' : 'Stock Out' }}\n </span>\n </td>\n <td class=\"pd-small\">\n {{ entry.quantity > 0 ? '+' : '' }}{{ entry.quantity }}\n </td>\n <td class=\"pd-small\">{{ entry.reason || entry.comment || 'Not specified' }}</td>\n <td class=\"pd-small\">\n <div class=\"flex-nowrap flex flex-v-center\">\n <div class=\"w-2r h-2r radius-100 bg-light o-hidden mn-r-nano\">\n <img \n v-if=\"entry.creator?.target?.profile?.photo\" \n :src=\"(FILE_SERVER_URL || '') + entry.creator.target.profile.photo\" \n alt=\"User\" \n class=\"w-100 h-100 object-fit-cover\" \n />\n <PlaceholderImage v-else class=\"w-100 h-100\" />\n </div>\n {{ entry.creator?.target?.profile?.name || 'System' }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n \n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer bg-main t-black\"\n >\n Close\n </Button>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close'])\n\n// State\nconst loading = ref(true)\nconst history = ref([])\n\nonMounted(async () => {\n await loadHistory()\n})\n\nasync function loadHistory() {\n loading.value = true\n try {\n // Fetch adjustments for this product\n const data = await inventory.actions.fetchAdjustments({\n product: props.product._id,\n limit: 50,\n sortParam: 'createdAt',\n sortOrder: 'desc',\n lookup: ['creator', 'source', 'storage']\n })\n \n history.value = data || []\n } catch (error) {\n console.error('Error loading history:', error)\n history.value = []\n } finally {\n loading.value = false\n }\n}\n\nfunction formatDate(dateString) {\n const date = new Date(dateString)\n return date.toLocaleDateString('en-US', { \n day: 'numeric', \n month: 'short', \n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n })\n}\n</script>\n\n<style scoped>\n.border-b {\n border-bottom: 1px solid rgba(var(--black), 0.1);\n}\n</style>"],"names":["inventory.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FA,UAAM,QAAQ;AAUd,UAAM,UAAU,IAAI,IAAI;AACxB,UAAM,UAAU,IAAI,CAAA,CAAE;AAEtB,cAAU,YAAY;AACpB,YAAM,YAAW;AAAA,IACnB,CAAC;AAED,mBAAe,cAAc;AAC3B,cAAQ,QAAQ;AAChB,UAAI;AAEF,cAAM,OAAO,MAAMA,QAAkB,iBAAiB;AAAA,UACpD,SAAS,MAAM,QAAQ;AAAA,UACvB,OAAO;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,UACX,QAAQ,CAAC,WAAW,UAAU,SAAS;AAAA,QAC7C,CAAK;AAED,gBAAQ,QAAQ,QAAQ,CAAA;AAAA,MAC1B,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAC7C,gBAAQ,QAAQ,CAAA;AAAA,MAClB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,WAAW,YAAY;AAC9B,YAAM,OAAO,IAAI,KAAK,UAAU;AAChC,aAAO,KAAK,mBAAmB,SAAS;AAAA,QACtC,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,MACZ,CAAG;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"HistoryView.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/HistoryView.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <div class=\"flex-nowrap flex flex-v-center mn-b-medium\">\n <div class=\"flex-nowrap flex flex-v-center\">\n <img \n v-if=\"product.images && product.images.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + product.images[0]\" \n alt=\"Product\" \n class=\"w-3r h-3r radius-small object-fit-cover mn-r-small\"\n />\n <PlaceholderImage \n v-else \n class=\"w-3r h-3r radius-small mn-r-small\"\n />\n \n <div>\n <h3 class=\"mn-b-nano\">{{ product.name }}</h3>\n <!-- <p class=\"t-small t-transp\">SKU: {{ product.sku }}</p> -->\n </div>\n </div>\n </div>\n \n <div class=\"mn-b-medium w-100 h-max-30r o-scroll\">\n <table class=\"w-100\">\n <thead>\n <tr class=\"bg-light\">\n <th class=\"pd-small t-left\">Date</th>\n <th class=\"pd-small t-left\">Type</th>\n <th class=\"pd-small t-left\">Quantity</th>\n <th class=\"pd-small t-left\">Reason</th>\n <th class=\"pd-small t-left\">User</th>\n </tr>\n </thead>\n <tbody>\n <tr v-if=\"loading\">\n <td colspan=\"5\" class=\"pd-medium t-center\">Loading history...</td>\n </tr>\n <tr v-else-if=\"history.length === 0\">\n <td colspan=\"5\" class=\"pd-medium t-center\">No history available</td>\n </tr>\n <tr v-for=\"(entry, index) in history\" :key=\"index\" class=\"border-b\">\n <td class=\"pd-small\">{{ formatDate(entry.createdAt) }}</td>\n <td class=\"pd-small\">\n <span \n :class=\"entry.quantity > 0 ? 'bg-green t-white' : 'bg-red t-white'\"\n class=\"pd-nano pd-r-small pd-l-small radius-small t-small\"\n >\n {{ entry.quantity > 0 ? 'Stock In' : 'Stock Out' }}\n </span>\n </td>\n <td class=\"pd-small\">\n {{ entry.quantity > 0 ? '+' : '' }}{{ entry.quantity }}\n </td>\n <td class=\"pd-small\">{{ entry.reason || entry.comment || 'Not specified' }}</td>\n <td class=\"pd-small\">\n <div class=\"flex-nowrap flex flex-v-center\">\n <div class=\"w-2r h-2r radius-extra bg-light o-hidden mn-r-nano\">\n <img \n v-if=\"entry.creator?.target?.profile?.photo\" \n :src=\"(FILE_SERVER_URL || '') + entry.creator.target.profile.photo\" \n alt=\"User\" \n class=\"w-100 h-100 object-fit-cover\" \n />\n <PlaceholderImage v-else class=\"w-100 h-100\" />\n </div>\n {{ entry.creator?.target?.profile?.name || 'System' }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n \n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer bg-main t-black\"\n >\n Close\n </Button>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close'])\n\n// State\nconst loading = ref(true)\nconst history = ref([])\n\nonMounted(async () => {\n await loadHistory()\n})\n\nasync function loadHistory() {\n loading.value = true\n try {\n // Fetch adjustments for this product\n const data = await inventory.actions.fetchAdjustments({\n product: props.product._id,\n limit: 50,\n sortParam: 'createdAt',\n sortOrder: 'desc',\n lookup: ['creator', 'source', 'storage']\n })\n \n history.value = data || []\n } catch (error) {\n console.error('Error loading history:', error)\n history.value = []\n } finally {\n loading.value = false\n }\n}\n\nfunction formatDate(dateString) {\n const date = new Date(dateString)\n return date.toLocaleDateString('en-US', { \n day: 'numeric', \n month: 'short', \n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n })\n}\n</script>\n\n<style scoped>\n.border-b {\n border-bottom: 1px solid rgba(var(--black), 0.1);\n}\n</style>"],"names":["inventory.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FA,UAAM,QAAQ;AAUd,UAAM,UAAU,IAAI,IAAI;AACxB,UAAM,UAAU,IAAI,CAAA,CAAE;AAEtB,cAAU,YAAY;AACpB,YAAM,YAAW;AAAA,IACnB,CAAC;AAED,mBAAe,cAAc;AAC3B,cAAQ,QAAQ;AAChB,UAAI;AAEF,cAAM,OAAO,MAAMA,QAAkB,iBAAiB;AAAA,UACpD,SAAS,MAAM,QAAQ;AAAA,UACvB,OAAO;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,UACX,QAAQ,CAAC,WAAW,UAAU,SAAS;AAAA,QAC7C,CAAK;AAED,gBAAQ,QAAQ,QAAQ,CAAA;AAAA,MAC1B,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAC7C,gBAAQ,QAAQ,CAAA;AAAA,MAClB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,WAAW,YAAY;AAC9B,YAAM,OAAO,IAAI,KAAK,UAAU;AAChC,aAAO,KAAK,mBAAmB,SAAS;AAAA,QACtC,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,MACZ,CAAG;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -119,7 +119,7 @@ const _sfc_main = {
119
119
  return openBlock(), createElementBlock("div", _hoisted_1, [
120
120
  _cache[6] || (_cache[6] = createElementVNode("p", { class: "mn-b-medium t-transp" }, " Set up stock level alerts to get notified when inventory runs low. ", -1)),
121
121
  createElementVNode("div", _hoisted_2, [
122
- _cache[3] || (_cache[3] = createElementVNode("p", { class: "mn-b-small t-medium" }, "Alert Scope", -1)),
122
+ _cache[3] || (_cache[3] = createElementVNode("p", { class: "mn-b-small fw-medium" }, "Alert Scope", -1)),
123
123
  createVNode(Select, {
124
124
  select: selectedVariant.value,
125
125
  "onUpdate:select": _cache[0] || (_cache[0] = ($event) => selectedVariant.value = $event),
@@ -1 +1 @@
1
- {"version":3,"file":"StockAlertsForm.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/StockAlertsForm.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium t-transp\">\n Set up stock level alerts to get notified when inventory runs low.\n </p>\n \n <!-- Variant Selection -->\n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small t-medium\">Alert Scope</p>\n <Select\n v-model:select=\"selectedVariant\"\n :options=\"variantOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"All variants\"\n class=\"w-100 bg-light radius-small pd-medium mn-b-small\"\n />\n \n <Select\n v-model:select=\"selectedStorage\"\n :options=\"storageOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"All storages\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n \n <p class=\"mn-t-small t-small t-transp\">\n {{ alertDescription }}\n </p>\n </div>\n \n <!-- Threshold -->\n <div class=\"mn-b-medium\">\n <Field\n v-model:field=\"threshold\"\n label=\"Alert when stock falls below\"\n type=\"number\"\n placeholder=\"Enter minimum quantity\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n <!-- Actions -->\n <div class=\"flex-nowrap flex gap-small\">\n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer t-transp\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"saveAlert\"\n :showLoader=\"true\"\n :showSucces=\"true\"\n class=\"pd-small radius-small flex-center flex w-100 cursor-pointer bg-main t-black\"\n >\n Save Alert\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as spots from '@martyrs/src/modules/spots/store/spots.js'\nimport variants from '@martyrs/src/modules/products/store/variants.store.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\nconst route = useRoute()\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close'])\n\n// Form state\nconst selectedVariant = ref(null)\nconst selectedStorage = ref(null)\nconst threshold = ref(10)\nconst variantOptions = ref([])\nconst storageOptions = ref([])\n\n// Alert description based on selections\nconst alertDescription = computed(() => {\n if (!selectedVariant.value && !selectedStorage.value) {\n return `Track total stock for ${props.product.name} across all variants and storages`\n } else if (selectedVariant.value && !selectedStorage.value) {\n const variant = variantOptions.value.find(v => v._id === selectedVariant.value)\n return `Track ${variant?.name || 'variant'} stock across all storages`\n } else if (!selectedVariant.value && selectedStorage.value) {\n const storage = storageOptions.value.find(s => s._id === selectedStorage.value)\n return `Track all variants at ${storage?.name || 'storage'}`\n } else {\n const variant = variantOptions.value.find(v => v._id === selectedVariant.value)\n const storage = storageOptions.value.find(s => s._id === selectedStorage.value)\n return `Track ${variant?.name || 'variant'} at ${storage?.name || 'storage'}`\n }\n})\n\n// Fetch data on mount\nonMounted(async () => {\n // Fetch variants for the product\n try {\n const variantsData = await variants.read({\n product: props.product._id,\n limit: 50\n })\n variantOptions.value = [\n { _id: null, name: 'All variants' },\n ...variantsData.map(v => ({\n _id: v._id,\n name: v.name || 'Default Variant'\n }))\n ]\n } catch (err) {\n console.error('Error fetching variants:', err)\n }\n\n // Fetch storage options\n try {\n const spotsData = await spots.actions.read({\n organization: route.params._id,\n limit: 50\n })\n storageOptions.value = [\n { _id: null, name: 'All storages' },\n ...spotsData.map(spot => ({\n _id: spot._id,\n name: spot.profile?.name || 'Storage'\n }))\n ]\n } catch (err) {\n console.error('Error fetching spots:', err)\n }\n \n // Check if alert already exists\n try {\n const existingAlerts = await stockAlerts.read({\n product: props.product._id,\n owner: route.params._id\n })\n if (existingAlerts.length > 0) {\n // Load first alert settings\n const alert = existingAlerts[0]\n selectedVariant.value = alert.variant\n selectedStorage.value = alert.storage\n threshold.value = alert.threshold\n }\n } catch (err) {\n console.error('Error fetching existing alerts:', err)\n }\n})\n\nasync function saveAlert() {\n try {\n const alertData = {\n product: props.product._id,\n variant: selectedVariant.value,\n storage: selectedStorage.value,\n threshold: parseInt(threshold.value || 0),\n enabled: true,\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n }\n \n await stockAlerts.create(alertData)\n emit('close')\n } catch (err) {\n console.error(err)\n throw err\n }\n}\n</script>"],"names":["variants","spots.actions","stockAlerts","auth.state"],"mappings":"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"}
1
+ {"version":3,"file":"StockAlertsForm.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/StockAlertsForm.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium t-transp\">\n Set up stock level alerts to get notified when inventory runs low.\n </p>\n \n <!-- Variant Selection -->\n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small fw-medium\">Alert Scope</p>\n <Select\n v-model:select=\"selectedVariant\"\n :options=\"variantOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"All variants\"\n class=\"w-100 bg-light radius-small pd-medium mn-b-small\"\n />\n \n <Select\n v-model:select=\"selectedStorage\"\n :options=\"storageOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"All storages\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n \n <p class=\"mn-t-small t-small t-transp\">\n {{ alertDescription }}\n </p>\n </div>\n \n <!-- Threshold -->\n <div class=\"mn-b-medium\">\n <Field\n v-model:field=\"threshold\"\n label=\"Alert when stock falls below\"\n type=\"number\"\n placeholder=\"Enter minimum quantity\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n <!-- Actions -->\n <div class=\"flex-nowrap flex gap-small\">\n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer t-transp\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"saveAlert\"\n :showLoader=\"true\"\n :showSucces=\"true\"\n class=\"pd-small radius-small flex-center flex w-100 cursor-pointer bg-main t-black\"\n >\n Save Alert\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as spots from '@martyrs/src/modules/spots/store/spots.js'\nimport variants from '@martyrs/src/modules/products/store/variants.store.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\nconst route = useRoute()\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close'])\n\n// Form state\nconst selectedVariant = ref(null)\nconst selectedStorage = ref(null)\nconst threshold = ref(10)\nconst variantOptions = ref([])\nconst storageOptions = ref([])\n\n// Alert description based on selections\nconst alertDescription = computed(() => {\n if (!selectedVariant.value && !selectedStorage.value) {\n return `Track total stock for ${props.product.name} across all variants and storages`\n } else if (selectedVariant.value && !selectedStorage.value) {\n const variant = variantOptions.value.find(v => v._id === selectedVariant.value)\n return `Track ${variant?.name || 'variant'} stock across all storages`\n } else if (!selectedVariant.value && selectedStorage.value) {\n const storage = storageOptions.value.find(s => s._id === selectedStorage.value)\n return `Track all variants at ${storage?.name || 'storage'}`\n } else {\n const variant = variantOptions.value.find(v => v._id === selectedVariant.value)\n const storage = storageOptions.value.find(s => s._id === selectedStorage.value)\n return `Track ${variant?.name || 'variant'} at ${storage?.name || 'storage'}`\n }\n})\n\n// Fetch data on mount\nonMounted(async () => {\n // Fetch variants for the product\n try {\n const variantsData = await variants.read({\n product: props.product._id,\n limit: 50\n })\n variantOptions.value = [\n { _id: null, name: 'All variants' },\n ...variantsData.map(v => ({\n _id: v._id,\n name: v.name || 'Default Variant'\n }))\n ]\n } catch (err) {\n console.error('Error fetching variants:', err)\n }\n\n // Fetch storage options\n try {\n const spotsData = await spots.actions.read({\n organization: route.params._id,\n limit: 50\n })\n storageOptions.value = [\n { _id: null, name: 'All storages' },\n ...spotsData.map(spot => ({\n _id: spot._id,\n name: spot.profile?.name || 'Storage'\n }))\n ]\n } catch (err) {\n console.error('Error fetching spots:', err)\n }\n \n // Check if alert already exists\n try {\n const existingAlerts = await stockAlerts.read({\n product: props.product._id,\n owner: route.params._id\n })\n if (existingAlerts.length > 0) {\n // Load first alert settings\n const alert = existingAlerts[0]\n selectedVariant.value = alert.variant\n selectedStorage.value = alert.storage\n threshold.value = alert.threshold\n }\n } catch (err) {\n console.error('Error fetching existing alerts:', err)\n }\n})\n\nasync function saveAlert() {\n try {\n const alertData = {\n product: props.product._id,\n variant: selectedVariant.value,\n storage: selectedStorage.value,\n threshold: parseInt(threshold.value || 0),\n enabled: true,\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n }\n \n await stockAlerts.create(alertData)\n emit('close')\n } catch (err) {\n console.error(err)\n throw err\n }\n}\n</script>"],"names":["variants","spots.actions","stockAlerts","auth.state"],"mappings":"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"}
@@ -19,13 +19,13 @@ import "../../store/stock.alerts.store.js";
19
19
  const _hoisted_1 = { class: "pd-thin" };
20
20
  const _hoisted_2 = { class: "mn-b-medium flex-v-center flex-nowrap flex" };
21
21
  const _hoisted_3 = { class: "rows-1" };
22
- const _hoisted_4 = { class: "w-max-20r t-trim flex gap-small flex-nowrap flex-v-center" };
22
+ const _hoisted_4 = { class: "w-max-20r truncate flex gap-small flex-nowrap flex-v-center" };
23
23
  const _hoisted_5 = ["src"];
24
- const _hoisted_6 = { class: "t-trim t-nowrap" };
25
- const _hoisted_7 = { class: "w-max-10r flex-nowrap flex t-trim" };
24
+ const _hoisted_6 = { class: "truncate t-nowrap" };
25
+ const _hoisted_7 = { class: "w-max-10r flex-nowrap flex truncate" };
26
26
  const _hoisted_8 = { key: 1 };
27
- const _hoisted_9 = { class: "w-max-10r flex-nowrap flex t-trim" };
28
- const _hoisted_10 = { class: "t-medium" };
27
+ const _hoisted_9 = { class: "w-max-10r flex-nowrap flex truncate" };
28
+ const _hoisted_10 = { class: "fw-medium" };
29
29
  const _hoisted_11 = { class: "t-small" };
30
30
  const _hoisted_12 = { key: 1 };
31
31
  const _hoisted_13 = { class: "flex-column flex" };
@@ -149,7 +149,7 @@ const _sfc_main = {
149
149
  key: "settings",
150
150
  component: _sfc_main$2,
151
151
  props: {
152
- class: "h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer"
152
+ class: "h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover:scale-[1.05] cursor-pointer"
153
153
  },
154
154
  handler: openViewSettings
155
155
  }],
@@ -165,7 +165,7 @@ const _sfc_main = {
165
165
  createVNode(Table, {
166
166
  columns: columns.filter((col) => col.visible),
167
167
  items: items.value,
168
- class: "bg-white z-index-1 br-solid br-1px br-light radius-medium"
168
+ class: "bg-white z-index-1 br-1px br-light radius-medium"
169
169
  }, {
170
170
  "cell-name": withCtx(({ row }) => [
171
171
  createElementVNode("div", _hoisted_4, [
@@ -186,7 +186,7 @@ const _sfc_main = {
186
186
  row.category?.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(row.category, (cat) => {
187
187
  return openBlock(), createElementBlock("p", {
188
188
  key: cat._id,
189
- class: "w-max t-trim pd-small mn-r-micro radius-small bg-light t-small"
189
+ class: "w-max truncate pd-small mn-r-micro radius-small bg-light t-small"
190
190
  }, toDisplayString(cat.name), 1);
191
191
  }), 128)) : (openBlock(), createElementBlock("p", _hoisted_8, "-"))
192
192
  ])
@@ -196,7 +196,7 @@ const _sfc_main = {
196
196
  row.availabilityDetails?.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(row.availabilityDetails, (avail) => {
197
197
  return openBlock(), createElementBlock("p", {
198
198
  key: avail._id,
199
- class: "w-max t-trim pd-small mn-r-micro radius-small bg-light t-small"
199
+ class: "w-max truncate pd-small mn-r-micro radius-small bg-light t-small"
200
200
  }, [
201
201
  createElementVNode("span", _hoisted_10, toDisplayString(avail.available || 0), 1),
202
202
  _cache[12] || (_cache[12] = createTextVNode(" · ")),
@@ -228,7 +228,7 @@ const _sfc_main = {
228
228
  "cell-actions": withCtx(({ row }) => [
229
229
  createVNode(_sfc_main$3, {
230
230
  label: { component: _sfc_main$4, class: "t-transp i-medium" },
231
- class: "cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light",
231
+ class: "cursor-pointer aspect-1x1 pd-nano radius-small hover:bg-light",
232
232
  align: "right"
233
233
  }, {
234
234
  default: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"Inventory.vue.js","sources":["../../../../../../../src/modules/inventory/components/pages/Inventory.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n <!-- Header -->\n <header class=\"mn-b-medium flex-v-center flex-nowrap flex\">\n <h2>Inventory</h2>\n <button\n @click=\"route.meta.context === 'backoffice' ? router.push({ name: 'BackofficeInventoryAudit' }) : router.push({ name: 'OrganizationInventoryAudit', params: { _id: route.params._id } })\"\n class=\"mn-l-auto radius-small button t-white bg-second\"\n v-html=\"'+ New Audit'\"\n />\n </header>\n\n <!-- Products Feed -->\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n v-model:sort=\"sort\"\n v-model:items=\"items\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :actions=\"[{\n key: 'settings',\n component: IconSettings,\n props: {\n class: 'h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer'\n },\n handler: openViewSettings\n }]\"\n :options=\"{\n limit: 15,\n lookup: ['inventory','categories'],\n owner: route.params._id,\n sortParam: sort.param,\n sortOrder: sort.order\n }\"\n >\n <Table\n :columns=\"columns.filter(col => col.visible)\"\n :items=\"items\"\n class=\"bg-white z-index-1 br-solid br-1px br-light radius-medium\"\n >\n <!-- Name column (was \"product\") -->\n <template #cell-name=\"{ row }\">\n <div class=\"w-max-20r t-trim flex gap-small flex-nowrap flex-v-center\">\n <img\n v-if=\"row.images?.length\"\n :src=\"(FILE_SERVER_URL || '') + row.images[0]\"\n alt=\"Product\"\n class=\"w-3r h-3r radius-small bg-light object-fit-cover\"\n />\n <PlaceholderImage v-else class=\"w-3r h-3r radius-small\" />\n <p class=\"t-trim t-nowrap\">{{ row.name || 'Unknown Product' }}</p>\n </div>\n </template>\n\n <!-- Categories -->\n <template #cell-category=\"{ row }\">\n <div class=\"w-max-10r flex-nowrap flex t-trim\">\n <p\n v-if=\"row.category?.length\"\n v-for=\"cat in row.category\"\n :key=\"cat._id\"\n class=\"w-max t-trim pd-small mn-r-micro radius-small bg-light t-small\"\n >\n {{ cat.name }}\n </p>\n <p v-else>-</p>\n </div>\n </template>\n\n <!-- Storages -->\n <template #cell-storages=\"{ row }\">\n <div class=\"w-max-10r flex-nowrap flex t-trim\">\n <p\n v-if=\"row.availabilityDetails?.length\"\n v-for=\"avail in row.availabilityDetails\" \n :key=\"avail._id\"\n class=\"w-max t-trim pd-small mn-r-micro radius-small bg-light t-small\"\n >\n\n <span class=\"t-medium\">{{ avail.available || 0 }}</span> · \n <span class=\"t-small\">{{ avail.storageName || avail.storage }}:</span>\n </p>\n <p v-else>No stock</p>\n </div>\n </template>\n\n <!-- Available (replaces stock) -->\n <template #cell-available=\"{ row }\">\n <div class=\"flex-column flex\">\n <span class=\"d-block mn-b-thin\">\n {{ row.available }} ·\n {{ row.available <= 5 ? 'Low' : row.available <= 10 ? 'Medium' : 'High' }}\n </span>\n <div class=\"w-100 h-micro radius-thin bg-light\">\n <div\n class=\"h-100 radius-thin\"\n :class=\"\n row.available <= 1\n ? 'bg-red t-white'\n : row.available <= 2\n ? 'bg-orange t-white'\n : 'bg-green t-white'\n \"\n :style=\"`width: ${\n Math.min(\n (row.available / (row.alert !== undefined ? row.alert : 50)) * 100,\n 100\n )\n }%`\"\n />\n </div>\n </div>\n </template>\n <!-- Price -->\n <template #cell-price=\"{ row }\">\n {{ formatPrice(row.price || 0) }}\n </template>\n\n <!-- Actions -->\n <template #cell-actions=\"{ row }\">\n <Dropdown\n :label=\"{ component: IconEllipsis, class: 't-transp i-medium' }\"\n class=\"cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light\"\n align=\"right\"\n >\n <div class=\"bg-white radius-small\">\n <button @click=\"openStockAudit(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Audit Stock\n </button>\n <button @click=\"openStockHistory(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Stock History\n </button>\n <button @click=\"openReorderSettings(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Set Alerts\n </button>\n </div>\n </Dropdown>\n </template>\n </Table>\n </Feed>\n </div>\n <!-- Modals -->\n <Popup\n :isPopupOpen=\"showAuditModal\"\n @close-popup=\"showAuditModal = false\"\n title=\"Audit Stock\"\n class=\"bg-white radius-medium pd-medium w-min-40r\"\n >\n <AdjustmentForm\n :product=\"selectedProduct\"\n @close=\"showAuditModal = false\"\n @adjustment-created=\"handleAdjustmentCreated\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showReorderModal\"\n @close-popup=\"showReorderModal = false\"\n title=\"Stock Level Alerts\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <StockAlertsForm\n :product=\"selectedProduct\"\n @close=\"showReorderModal = false\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showHistoryModal\"\n @close-popup=\"showHistoryModal = false\"\n title=\"Stock History\"\n class=\"bg-white radius-medium pd-medium w-min-50r\"\n >\n <HistoryView\n :product=\"selectedProduct\"\n @close=\"showHistoryModal = false\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showSettingsModal\"\n @close-popup=\"showSettingsModal = false\"\n title=\"View Settings\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <ColumnSettingsMenu\n :columns=\"columns\"\n @save=\"handleColumnsUpdate\"\n @close=\"showSettingsModal = false\"\n />\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js'\n\n// Components\nimport Table from '@martyrs/src/components/Table/Table.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\n// Icons\nimport IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue'\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n// Forms\nimport AdjustmentForm from '../forms/AdjustmentForm.vue'\nimport StockAlertsForm from '../forms/StockAlertsForm.vue'\nimport HistoryView from '../forms/HistoryView.vue'\nimport ColumnSettingsMenu from '../forms/ColumnSettingsMenu.vue'\n\n// Stores\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\nimport * as products from '@martyrs/src/modules/products/store/products.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\n// Router\nconst route = useRoute()\nconst router = useRouter()\nconst { formatPrice } = useGlobalMixins()\n\n// Products items state\nconst items = ref([])\n\n// Feed controls\nconst sort = ref({\n param: 'available',\n order: 'asc',\n options: [\n { label: 'Available', value: 'available' },\n { label: 'Name', value: 'name' },\n { label: 'Price', value: 'price' },\n { label: 'Created', value: 'createdAt' }\n ]\n})\n\nconst filter = reactive({\n active: false,\n class: '',\n selected: { category: [], stockLevel: [] },\n options: [\n { title: 'Categories', value: 'category', options: [] },\n {\n title: 'Stock Level',\n value: 'stockLevel',\n options: [\n { label: 'Low', value: 'low' },\n { label: 'Medium', value: 'medium' },\n { label: 'High', value: 'high' }\n ]\n }\n ]\n})\n\n// Column definitions + visibility, combined into one\nconst columns = reactive([\n { key: 'name', label: 'Product Name', component: true, visible: true },\n { key: 'category', label: 'Categories', component: true, visible: true },\n { key: 'storages', label: 'Storages', component: true, visible: true },\n { key: 'available',label: 'Total Available', component: true, visible: true },\n { key: 'price', label: 'Unit Price', component: true, visible: true },\n { key: 'actions', label: '', component: true, visible: true }\n])\n\n// Modal & selection state\nconst showAuditModal = ref(false)\nconst showReorderModal = ref(false)\nconst showHistoryModal = ref(false)\nconst showSettingsModal = ref(false)\nconst selectedProduct = ref(null)\n\n// Handlers\nfunction openStockAudit(row) {\n selectedProduct.value = row\n showAuditModal.value = true\n}\n\n// Update product after adjustment\nfunction handleAdjustmentCreated(adjustment) {\n // Find the product in items array\n const productIndex = items.value.findIndex(item => item._id === adjustment.product)\n \n if (productIndex !== -1) {\n // Update the available quantity\n items.value[productIndex].available += adjustment.quantity\n \n // Update availabilityDetails if present\n if (items.value[productIndex].availabilityDetails) {\n const storageDetail = items.value[productIndex].availabilityDetails.find(\n detail => detail.storage === adjustment.storage\n )\n \n if (storageDetail) {\n storageDetail.available += adjustment.quantity\n } else {\n // Add new storage detail if not found\n items.value[productIndex].availabilityDetails.push({\n storage: adjustment.storage,\n available: adjustment.quantity,\n storageName: adjustment.storageName || adjustment.storage\n })\n }\n }\n }\n \n showAuditModal.value = false\n}\nfunction openReorderSettings(row = null) {\n selectedProduct.value = row\n showReorderModal.value = true\n}\nfunction openStockHistory(row) {\n selectedProduct.value = row\n showHistoryModal.value = true\n}\nfunction openViewSettings() {\n showSettingsModal.value = true\n}\nfunction handleColumnsUpdate(updated) {\n // Update column visibility\n columns.forEach(col => {\n col.visible = updated.includes(col.key)\n })\n showSettingsModal.value = false\n}\n</script>\n\n<style>\n.bg-orange {\n background-color: rgb(var(--orange));\n}\n</style>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Inventory.vue.js","sources":["../../../../../../../src/modules/inventory/components/pages/Inventory.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n <!-- Header -->\n <header class=\"mn-b-medium flex-v-center flex-nowrap flex\">\n <h2>Inventory</h2>\n <button\n @click=\"route.meta.context === 'backoffice' ? router.push({ name: 'BackofficeInventoryAudit' }) : router.push({ name: 'OrganizationInventoryAudit', params: { _id: route.params._id } })\"\n class=\"mn-l-auto radius-small button t-white bg-second\"\n v-html=\"'+ New Audit'\"\n />\n </header>\n\n <!-- Products Feed -->\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n v-model:sort=\"sort\"\n v-model:items=\"items\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :actions=\"[{\n key: 'settings',\n component: IconSettings,\n props: {\n class: 'h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover:scale-[1.05] cursor-pointer'\n },\n handler: openViewSettings\n }]\"\n :options=\"{\n limit: 15,\n lookup: ['inventory','categories'],\n owner: route.params._id,\n sortParam: sort.param,\n sortOrder: sort.order\n }\"\n >\n <Table\n :columns=\"columns.filter(col => col.visible)\"\n :items=\"items\"\n class=\"bg-white z-index-1 br-1px br-light radius-medium\"\n >\n <!-- Name column (was \"product\") -->\n <template #cell-name=\"{ row }\">\n <div class=\"w-max-20r truncate flex gap-small flex-nowrap flex-v-center\">\n <img\n v-if=\"row.images?.length\"\n :src=\"(FILE_SERVER_URL || '') + row.images[0]\"\n alt=\"Product\"\n class=\"w-3r h-3r radius-small bg-light object-fit-cover\"\n />\n <PlaceholderImage v-else class=\"w-3r h-3r radius-small\" />\n <p class=\"truncate t-nowrap\">{{ row.name || 'Unknown Product' }}</p>\n </div>\n </template>\n\n <!-- Categories -->\n <template #cell-category=\"{ row }\">\n <div class=\"w-max-10r flex-nowrap flex truncate\">\n <p\n v-if=\"row.category?.length\"\n v-for=\"cat in row.category\"\n :key=\"cat._id\"\n class=\"w-max truncate pd-small mn-r-micro radius-small bg-light t-small\"\n >\n {{ cat.name }}\n </p>\n <p v-else>-</p>\n </div>\n </template>\n\n <!-- Storages -->\n <template #cell-storages=\"{ row }\">\n <div class=\"w-max-10r flex-nowrap flex truncate\">\n <p\n v-if=\"row.availabilityDetails?.length\"\n v-for=\"avail in row.availabilityDetails\" \n :key=\"avail._id\"\n class=\"w-max truncate pd-small mn-r-micro radius-small bg-light t-small\"\n >\n\n <span class=\"fw-medium\">{{ avail.available || 0 }}</span> · \n <span class=\"t-small\">{{ avail.storageName || avail.storage }}:</span>\n </p>\n <p v-else>No stock</p>\n </div>\n </template>\n\n <!-- Available (replaces stock) -->\n <template #cell-available=\"{ row }\">\n <div class=\"flex-column flex\">\n <span class=\"d-block mn-b-thin\">\n {{ row.available }} ·\n {{ row.available <= 5 ? 'Low' : row.available <= 10 ? 'Medium' : 'High' }}\n </span>\n <div class=\"w-100 h-micro radius-thin bg-light\">\n <div\n class=\"h-100 radius-thin\"\n :class=\"\n row.available <= 1\n ? 'bg-red t-white'\n : row.available <= 2\n ? 'bg-orange t-white'\n : 'bg-green t-white'\n \"\n :style=\"`width: ${\n Math.min(\n (row.available / (row.alert !== undefined ? row.alert : 50)) * 100,\n 100\n )\n }%`\"\n />\n </div>\n </div>\n </template>\n <!-- Price -->\n <template #cell-price=\"{ row }\">\n {{ formatPrice(row.price || 0) }}\n </template>\n\n <!-- Actions -->\n <template #cell-actions=\"{ row }\">\n <Dropdown\n :label=\"{ component: IconEllipsis, class: 't-transp i-medium' }\"\n class=\"cursor-pointer aspect-1x1 pd-nano radius-small hover:bg-light\"\n align=\"right\"\n >\n <div class=\"bg-white radius-small\">\n <button @click=\"openStockAudit(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Audit Stock\n </button>\n <button @click=\"openStockHistory(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Stock History\n </button>\n <button @click=\"openReorderSettings(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Set Alerts\n </button>\n </div>\n </Dropdown>\n </template>\n </Table>\n </Feed>\n </div>\n <!-- Modals -->\n <Popup\n :isPopupOpen=\"showAuditModal\"\n @close-popup=\"showAuditModal = false\"\n title=\"Audit Stock\"\n class=\"bg-white radius-medium pd-medium w-min-40r\"\n >\n <AdjustmentForm\n :product=\"selectedProduct\"\n @close=\"showAuditModal = false\"\n @adjustment-created=\"handleAdjustmentCreated\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showReorderModal\"\n @close-popup=\"showReorderModal = false\"\n title=\"Stock Level Alerts\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <StockAlertsForm\n :product=\"selectedProduct\"\n @close=\"showReorderModal = false\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showHistoryModal\"\n @close-popup=\"showHistoryModal = false\"\n title=\"Stock History\"\n class=\"bg-white radius-medium pd-medium w-min-50r\"\n >\n <HistoryView\n :product=\"selectedProduct\"\n @close=\"showHistoryModal = false\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showSettingsModal\"\n @close-popup=\"showSettingsModal = false\"\n title=\"View Settings\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <ColumnSettingsMenu\n :columns=\"columns\"\n @save=\"handleColumnsUpdate\"\n @close=\"showSettingsModal = false\"\n />\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js'\n\n// Components\nimport Table from '@martyrs/src/components/Table/Table.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\n// Icons\nimport IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue'\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n// Forms\nimport AdjustmentForm from '../forms/AdjustmentForm.vue'\nimport StockAlertsForm from '../forms/StockAlertsForm.vue'\nimport HistoryView from '../forms/HistoryView.vue'\nimport ColumnSettingsMenu from '../forms/ColumnSettingsMenu.vue'\n\n// Stores\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\nimport * as products from '@martyrs/src/modules/products/store/products.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\n// Router\nconst route = useRoute()\nconst router = useRouter()\nconst { formatPrice } = useGlobalMixins()\n\n// Products items state\nconst items = ref([])\n\n// Feed controls\nconst sort = ref({\n param: 'available',\n order: 'asc',\n options: [\n { label: 'Available', value: 'available' },\n { label: 'Name', value: 'name' },\n { label: 'Price', value: 'price' },\n { label: 'Created', value: 'createdAt' }\n ]\n})\n\nconst filter = reactive({\n active: false,\n class: '',\n selected: { category: [], stockLevel: [] },\n options: [\n { title: 'Categories', value: 'category', options: [] },\n {\n title: 'Stock Level',\n value: 'stockLevel',\n options: [\n { label: 'Low', value: 'low' },\n { label: 'Medium', value: 'medium' },\n { label: 'High', value: 'high' }\n ]\n }\n ]\n})\n\n// Column definitions + visibility, combined into one\nconst columns = reactive([\n { key: 'name', label: 'Product Name', component: true, visible: true },\n { key: 'category', label: 'Categories', component: true, visible: true },\n { key: 'storages', label: 'Storages', component: true, visible: true },\n { key: 'available',label: 'Total Available', component: true, visible: true },\n { key: 'price', label: 'Unit Price', component: true, visible: true },\n { key: 'actions', label: '', component: true, visible: true }\n])\n\n// Modal & selection state\nconst showAuditModal = ref(false)\nconst showReorderModal = ref(false)\nconst showHistoryModal = ref(false)\nconst showSettingsModal = ref(false)\nconst selectedProduct = ref(null)\n\n// Handlers\nfunction openStockAudit(row) {\n selectedProduct.value = row\n showAuditModal.value = true\n}\n\n// Update product after adjustment\nfunction handleAdjustmentCreated(adjustment) {\n // Find the product in items array\n const productIndex = items.value.findIndex(item => item._id === adjustment.product)\n \n if (productIndex !== -1) {\n // Update the available quantity\n items.value[productIndex].available += adjustment.quantity\n \n // Update availabilityDetails if present\n if (items.value[productIndex].availabilityDetails) {\n const storageDetail = items.value[productIndex].availabilityDetails.find(\n detail => detail.storage === adjustment.storage\n )\n \n if (storageDetail) {\n storageDetail.available += adjustment.quantity\n } else {\n // Add new storage detail if not found\n items.value[productIndex].availabilityDetails.push({\n storage: adjustment.storage,\n available: adjustment.quantity,\n storageName: adjustment.storageName || adjustment.storage\n })\n }\n }\n }\n \n showAuditModal.value = false\n}\nfunction openReorderSettings(row = null) {\n selectedProduct.value = row\n showReorderModal.value = true\n}\nfunction openStockHistory(row) {\n selectedProduct.value = row\n showHistoryModal.value = true\n}\nfunction openViewSettings() {\n showSettingsModal.value = true\n}\nfunction handleColumnsUpdate(updated) {\n // Update column visibility\n columns.forEach(col => {\n col.visible = updated.includes(col.key)\n })\n showSettingsModal.value = false\n}\n</script>\n\n<style>\n.bg-orange {\n background-color: rgb(var(--orange));\n}\n</style>\n"],"names":[],"mappings":"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"}
@@ -26,13 +26,13 @@ const _hoisted_4 = {
26
26
  class: "aspect-1x1 h-3r radius-small o-hidden"
27
27
  };
28
28
  const _hoisted_5 = ["src"];
29
- const _hoisted_6 = { class: "t-medium" };
29
+ const _hoisted_6 = { class: "fw-medium" };
30
30
  const _hoisted_7 = {
31
31
  key: 0,
32
32
  class: "t-small t-transp"
33
33
  };
34
34
  const _hoisted_8 = { class: "mn-l-auto" };
35
- const _hoisted_9 = { class: "gap-thin flex-v-center flex-nojustify flex" };
35
+ const _hoisted_9 = { class: "gap-thin flex-v-center flex-justify-start flex" };
36
36
  const _hoisted_10 = { class: "h3 mn-r-auto" };
37
37
  const _sfc_main = {
38
38
  __name: "InventoryEdit",
@@ -238,7 +238,7 @@ const _sfc_main = {
238
238
  return openBlock(), createElementBlock("div", {
239
239
  key: index,
240
240
  onClick: ($event) => addVariantToInventory(variant),
241
- class: "w-100 cursor-pointer hover-scale-1 bg-light pd-small radius-small flex-v-center flex-nowrap flex gap-thin"
241
+ class: "w-100 cursor-pointer hover:scale-[1.05] bg-light pd-small radius-small flex-v-center flex-nowrap flex gap-thin"
242
242
  }, [
243
243
  variant.images && variant.images.length ? (openBlock(), createElementBlock("div", _hoisted_4, [
244
244
  createElementVNode("img", {
@@ -269,7 +269,7 @@ const _sfc_main = {
269
269
  type: "textarea",
270
270
  class: "w-100 bg-white radius-small pd-medium"
271
271
  }, null, 8, ["field"]),
272
- _cache[1] || (_cache[1] = createElementVNode("div", { class: "t-medium mn-t-small mn-b-thin" }, "Select Storage:", -1)),
272
+ _cache[1] || (_cache[1] = createElementVNode("div", { class: "fw-medium mn-t-small mn-b-thin" }, "Select Storage:", -1)),
273
273
  createVNode(_sfc_main$2, {
274
274
  states: {
275
275
  empty: {
@@ -323,7 +323,7 @@ const _sfc_main = {
323
323
  image: position.image,
324
324
  name: position.name,
325
325
  title: unref(formatPrice)(position.cost * position.quantity),
326
- title_class: [position.cost * position.quantity < 0 ? "t-red" : "t-second"],
326
+ title_class: [position.cost * position.quantity < 0 ? "t-red" : "t-grey"],
327
327
  subtitle: `${unref(formatPrice)(position.cost)} × ${Math.abs(position.quantity)}${position.unit} `
328
328
  }, {
329
329
  actions: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"InventoryEdit.vue.js","sources":["../../../../../../../src/modules/inventory/components/pages/InventoryEdit.vue"],"sourcesContent":["<template>\n <div class=\"pd-medium mobile:pd-thin\">\n <header class=\"mn-b-medium gap-small flex-v-center flex-nowrap flex\">\n <h2 class=\"\">Create Inventory Audit</h2>\n </header>\n \n <Popup \n title=\"Add position\" \n @close-popup=\"closeProductsPopup\" \n :isPopupOpen=\"isOpenProductsPopup\"\n class=\"bg-white w-100 w-max-30r radius-medium pd-medium\"\n >\n <Feed\n :search=\"{\n class: 'bg-light radius-small'\n }\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no such products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: null\n }\"\n :options=\"{\n owner: route.params._id,\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"flex-column flex gap-thin h-max-20r o-scroll\"\n >\n <CardOrderItem\n v-for=\"(product, index) in items\" \n :key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n :editable=\"false\" \n :productId=\"product._id\"\n :variantId=\"product.variant\"\n :images=\"product.images\"\n :name=\"product.name\"\n :quantity=\"product.quantity || 1\"\n :unit=\"product.unit\"\n :dates=\"product.date\"\n :listing=\"product.listing\"\n :price=\"product.price\"\n @click=\"() => selectProduct(product)\"\n class=\"bg-light pd-small radius-small w-100\"\n />\n </Feed>\n </Popup>\n \n <!-- Popup for selecting variant of the product -->\n <Popup \n title=\"Select variant\" \n @close-popup=\"closeVariantsPopup\" \n :isPopupOpen=\"isVariantsPopupOpen\"\n class=\"bg-white w-100 w-max-30r radius-medium pd-medium\"\n >\n <Feed\n :store=\"variants\"\n :options=\"{\n product: selectedProduct._id,\n }\"\n :skeleton=\"{\n structure: [\n { block: 'text', size: 'small' },\n { block: 'text', size: 'medium' },\n { block: 'text', size: 'small' }\n ]\n }\"\n :states=\"{\n empty: {\n title: 'No variants',\n description: 'Create your first variant'\n }\n }\"\n v-slot=\"{ items }\"\n >\n <div class=\"gap-thin flex flex-column\">\n <div \n v-for=\"(variant, index) in items\" \n :key=\"index\"\n @click=\"addVariantToInventory(variant)\"\n class=\"w-100 cursor-pointer hover-scale-1 bg-light pd-small radius-small flex-v-center flex-nowrap flex gap-thin\"\n >\n <div v-if=\"variant.images && variant.images.length\" class=\"aspect-1x1 h-3r radius-small o-hidden\">\n <img \n :src=\"(FILE_SERVER_URL || '') + variant.images[0]\" \n class=\"w-100 h-100 object-fit-cover\"\n />\n </div>\n <div>\n <p class=\"t-medium\">{{ variant.name || 'Default variant' }}</p>\n <p v-if=\"variant.attributes && variant.attributes.length\" class=\"t-small t-transp\">\n {{ variant.attributes.map(attr => `${attr.name}: ${attr.value}`).join(', ') }}\n </p>\n </div>\n <p class=\"mn-l-auto\">{{ formatPrice(variant.cost) }}</p>\n </div>\n </div>\n </Feed>\n </Popup>\n\n <Block\n class=\"mn-b-thin\"\n >\n <Field\n v-model:field=\"inventory.state.current.comment\"\n placeholder=\"Describe details of the inventory audit\"\n type=\"textarea\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <div class=\"t-medium mn-t-small mn-b-thin\">Select Storage:</div>\n <Feed\n :states=\"{\n empty: {\n title: 'No Spots Found',\n description: 'Currently, there are no spots available.'\n }\n }\"\n :store=\"{\n read: (options) => spots.actions.read(options),\n state: null\n }\"\n :options=\"{\n user: auth.state.user._id,\n organization: route.params._id,\n limit: 3\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"flex-nowrap flex-column gap-thin flex\"\n >\n <CardSpot\n v-for=\"(spot, index) in items\"\n :key=\"index\"\n :spot=\"spot\"\n :organization=\"route.params._id\"\n :selected=\"inventory.state.current.storage === spot._id\"\n @click=\"() => inventory.state.current.storage = inventory.state.current.storage === spot._id ? null : spot._id\"\n class=\"radius-small h-min-big clickable bg-white\"\n />\n </Feed>\n\n\n </Block>\n\n <Block\n title=\"Positions\"\n :actions=\"[{\n label: '+',\n function: () => openProductsPopup()\n }]\"\n placeholder=\"No positions added yet\"\n class=\"h-100 flex-column flex gap-thin mn-b-thin\"\n >\n <CardPosition\n v-for=\"(position, index) in inventory.state.current.positions\" \n :key=\"position._id || index\" \n :image=\"position.image\"\n :name=\"position.name\"\n :title=\"formatPrice(position.cost * position.quantity)\"\n :title_class=\"[position.cost * position.quantity < 0 ? 't-red' : 't-second']\"\n :subtitle=\"`${formatPrice(position.cost)} × ${Math.abs(position.quantity)}${position.unit} `\"\n >\n <template v-slot:actions>\n <QuantitySelector v-model=\"position.quantity\"/>\n \n <!-- <Dropdown\n :label=\"{ component: IconEllipsis, class: 't-transp i-medium' }\"\n class=\"cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light\"\n align=\"right\"\n >\n <div class=\"bg-white radius-small\">\n <button @click=\"leftovers.state.current.positions.splice(index, 1)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Delete\n </button>\n </div>\n </Dropdown> -->\n\n </template>\n </CardPosition>\n \n </Block>\n\n <!-- :actions=\"[{\n component: IconEdit,\n handler: () => store.core.actions.add(leftovers.state.current.positions, position),\n class: 'bg-light'\n },{\n component: IconDelete,\n handler: () => leftovers.state.current.positions.splice(index, 1),\n class: 'bg-red'\n }]\" -->\n\n <Block class=\"\">\n <section class=\"gap-thin flex-v-center flex-nojustify flex\">\n <span class=\"h3 mn-r-auto\">\n In total: {{formatPrice(totalPrice)}}\n </span>\n\n <!-- Save Draft -->\n <Button\n :submit=\"onSaveDraft\"\n class=\"bg-second w-min-5r button\"\n >\n <span>Save Draft</span>\n </Button>\n\n <!-- Publish -->\n <Button\n :submit=\"onPublish\"\n class=\"bg-main w-min-5r button\"\n >\n <span>Publish</span>\n </Button>\n\n <!-- Reset -->\n <Button\n :submit=\"onReset\"\n class=\"t-white w-min-5r bg-second button\"\n >\n <span>Reset</span>\n </Button>\n\n <!-- Delete button removed - only create mode supported -->\n </section>\n </Block>\n </div>\n</template>\n\n\n<script setup>\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Field from '@martyrs/src/components/Field/Field.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue';\n import Select from '@martyrs/src/components/Select/Select.vue';\n import Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\n import Popup from '@martyrs/src/components/Popup/Popup.vue';\n\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n import CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue'; \n\n import CardPosition from '@martyrs/src/modules/products/components/blocks/CardPosition.vue';\n import QuantitySelector from '@martyrs/src/modules/products/components/elements/QuantitySelector.vue';\n\n import { computed, onMounted, ref, reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n import { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\n import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n const store = useStore();\n import * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js';\n import * as products from '@martyrs/src/modules/products/store/products.js';\n import * as spots from '@martyrs/src/modules/spots/store/spots.js';\n import variants from '@martyrs/src/modules/products/store/variants.store.js';\n\n import IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue';\n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n import IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n const route = useRoute();\n const router = useRouter();\n const { formatPrice } = useGlobalMixins();\n \n const isOpenProductsPopup = ref(false);\n const isVariantsPopupOpen = ref(false);\n const selectedProduct = ref(null);\n\n const totalPrice = computed(() => {\n return inventory.state.current.positions.reduce((sum, position) => {\n return Number(sum) + Number(position.cost || 0) * Number(position.quantity || 1);\n }, 0);\n });\n\n function openProductsPopup() {\n isOpenProductsPopup.value = true;\n }\n\n function closeProductsPopup() {\n isOpenProductsPopup.value = false;\n }\n \n function closeVariantsPopup() {\n isVariantsPopupOpen.value = false;\n selectedProduct.value = null;\n }\n \n function selectProduct(product) {\n selectedProduct.value = product;\n closeProductsPopup();\n \n // If product has only one variant, add it directly without showing popup\n if (product.variants && product.variants.length === 1) {\n addVariantToInventory(product.variants[0]);\n return;\n }\n \n // If product has multiple variants or no variants defined, show popup\n isVariantsPopupOpen.value = true;\n }\n\n function formatProductName(product, variant) {\n if (!variant || product.variants?.length === 1 && !(variant.attributes?.length))\n return product.name;\n\n const attrs = variant.attributes?.map(a => a.value).filter(Boolean);\n return attrs?.length\n ? `${product.name} / ${attrs.join(' / ')}`\n : `${product.name} / ${variant.name}`;\n }\n\n \n function addVariantToInventory(variant) {\n // Create a position object that includes variant information\n console.log('variant',variant)\n const position = {\n _id: variant._id,\n product: selectedProduct.value._id, \n name: formatProductName(selectedProduct.value, variant),\n image: variant.images?.[0] || selectedProduct.value?.images?.[0] || null,\n cost: variant.cost || variant.price || 0,\n unit: variant.unit || 'pcs',\n quantity: 1,\n variant: {\n _id: variant._id,\n name: variant.name,\n attributes: variant.attributes || []\n }\n };\n // Add position to inventory state\n store.core.actions.add(inventory.state.current.positions, position);\n closeVariantsPopup();\n }\n\n onMounted(async () => {\n // Reset inventory state for new audit\n inventory.mutations.resetCurrent();\n });\n\n async function onReset() {\n inventory.mutations.resetCurrent();\n return true;\n }\n\n\n function prepareInventoryData(status = 'draft') {\n return {\n storage: inventory.state.current.storage,\n comment: inventory.state.current.comment,\n status: status,\n positions: inventory.state.current.positions.map(pos => ({\n product: pos.product,\n variant: pos.variant?._id,\n storage: inventory.state.current.storage,\n quantity: pos.quantity,\n reason: 'custom',\n comment: `Inventory audit: ${pos.name}`,\n cost: pos.cost\n })),\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n };\n }\n\n function navigateBack() {\n if (route.meta.context === 'backoffice') {\n router.push({ name: 'BackofficeInventoryList' });\n } else if (route.meta.context === 'organization') {\n router.push({ name: 'OrganizationInventoryList', params: { _id: route.params._id } });\n }\n }\n\n async function onSaveDraft() {\n try {\n const inventoryData = prepareInventoryData('draft');\n await inventory.actions.createInventory(inventoryData);\n navigateBack();\n } catch (error) {\n console.error('Error creating draft inventory:', error);\n }\n }\n\n async function onPublish() {\n try {\n const inventoryData = prepareInventoryData('published');\n await inventory.actions.createInventory(inventoryData);\n navigateBack();\n } catch (error) {\n console.error('Error publishing inventory:', error);\n }\n }\n\n // Remove delete function as we only support creation mode\n</script>"],"names":["inventory.state","inventory.mutations","auth.state","inventory.actions"],"mappings":"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"}
1
+ {"version":3,"file":"InventoryEdit.vue.js","sources":["../../../../../../../src/modules/inventory/components/pages/InventoryEdit.vue"],"sourcesContent":["<template>\n <div class=\"pd-medium mobile:pd-thin\">\n <header class=\"mn-b-medium gap-small flex-v-center flex-nowrap flex\">\n <h2 class=\"\">Create Inventory Audit</h2>\n </header>\n \n <Popup \n title=\"Add position\" \n @close-popup=\"closeProductsPopup\" \n :isPopupOpen=\"isOpenProductsPopup\"\n class=\"bg-white w-100 w-max-30r radius-medium pd-medium\"\n >\n <Feed\n :search=\"{\n class: 'bg-light radius-small'\n }\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no such products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: null\n }\"\n :options=\"{\n owner: route.params._id,\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"flex-column flex gap-thin h-max-20r o-scroll\"\n >\n <CardOrderItem\n v-for=\"(product, index) in items\" \n :key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n :editable=\"false\" \n :productId=\"product._id\"\n :variantId=\"product.variant\"\n :images=\"product.images\"\n :name=\"product.name\"\n :quantity=\"product.quantity || 1\"\n :unit=\"product.unit\"\n :dates=\"product.date\"\n :listing=\"product.listing\"\n :price=\"product.price\"\n @click=\"() => selectProduct(product)\"\n class=\"bg-light pd-small radius-small w-100\"\n />\n </Feed>\n </Popup>\n \n <!-- Popup for selecting variant of the product -->\n <Popup \n title=\"Select variant\" \n @close-popup=\"closeVariantsPopup\" \n :isPopupOpen=\"isVariantsPopupOpen\"\n class=\"bg-white w-100 w-max-30r radius-medium pd-medium\"\n >\n <Feed\n :store=\"variants\"\n :options=\"{\n product: selectedProduct._id,\n }\"\n :skeleton=\"{\n structure: [\n { block: 'text', size: 'small' },\n { block: 'text', size: 'medium' },\n { block: 'text', size: 'small' }\n ]\n }\"\n :states=\"{\n empty: {\n title: 'No variants',\n description: 'Create your first variant'\n }\n }\"\n v-slot=\"{ items }\"\n >\n <div class=\"gap-thin flex flex-column\">\n <div \n v-for=\"(variant, index) in items\" \n :key=\"index\"\n @click=\"addVariantToInventory(variant)\"\n class=\"w-100 cursor-pointer hover:scale-[1.05] bg-light pd-small radius-small flex-v-center flex-nowrap flex gap-thin\"\n >\n <div v-if=\"variant.images && variant.images.length\" class=\"aspect-1x1 h-3r radius-small o-hidden\">\n <img \n :src=\"(FILE_SERVER_URL || '') + variant.images[0]\" \n class=\"w-100 h-100 object-fit-cover\"\n />\n </div>\n <div>\n <p class=\"fw-medium\">{{ variant.name || 'Default variant' }}</p>\n <p v-if=\"variant.attributes && variant.attributes.length\" class=\"t-small t-transp\">\n {{ variant.attributes.map(attr => `${attr.name}: ${attr.value}`).join(', ') }}\n </p>\n </div>\n <p class=\"mn-l-auto\">{{ formatPrice(variant.cost) }}</p>\n </div>\n </div>\n </Feed>\n </Popup>\n\n <Block\n class=\"mn-b-thin\"\n >\n <Field\n v-model:field=\"inventory.state.current.comment\"\n placeholder=\"Describe details of the inventory audit\"\n type=\"textarea\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <div class=\"fw-medium mn-t-small mn-b-thin\">Select Storage:</div>\n <Feed\n :states=\"{\n empty: {\n title: 'No Spots Found',\n description: 'Currently, there are no spots available.'\n }\n }\"\n :store=\"{\n read: (options) => spots.actions.read(options),\n state: null\n }\"\n :options=\"{\n user: auth.state.user._id,\n organization: route.params._id,\n limit: 3\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"flex-nowrap flex-column gap-thin flex\"\n >\n <CardSpot\n v-for=\"(spot, index) in items\"\n :key=\"index\"\n :spot=\"spot\"\n :organization=\"route.params._id\"\n :selected=\"inventory.state.current.storage === spot._id\"\n @click=\"() => inventory.state.current.storage = inventory.state.current.storage === spot._id ? null : spot._id\"\n class=\"radius-small h-min-big clickable bg-white\"\n />\n </Feed>\n\n\n </Block>\n\n <Block\n title=\"Positions\"\n :actions=\"[{\n label: '+',\n function: () => openProductsPopup()\n }]\"\n placeholder=\"No positions added yet\"\n class=\"h-100 flex-column flex gap-thin mn-b-thin\"\n >\n <CardPosition\n v-for=\"(position, index) in inventory.state.current.positions\" \n :key=\"position._id || index\" \n :image=\"position.image\"\n :name=\"position.name\"\n :title=\"formatPrice(position.cost * position.quantity)\"\n :title_class=\"[position.cost * position.quantity < 0 ? 't-red' : 't-grey']\"\n :subtitle=\"`${formatPrice(position.cost)} × ${Math.abs(position.quantity)}${position.unit} `\"\n >\n <template v-slot:actions>\n <QuantitySelector v-model=\"position.quantity\"/>\n \n <!-- <Dropdown\n :label=\"{ component: IconEllipsis, class: 't-transp i-medium' }\"\n class=\"cursor-pointer aspect-1x1 pd-nano radius-small hover:bg-light\"\n align=\"right\"\n >\n <div class=\"bg-white radius-small\">\n <button @click=\"leftovers.state.current.positions.splice(index, 1)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Delete\n </button>\n </div>\n </Dropdown> -->\n\n </template>\n </CardPosition>\n \n </Block>\n\n <!-- :actions=\"[{\n component: IconEdit,\n handler: () => store.core.actions.add(leftovers.state.current.positions, position),\n class: 'bg-light'\n },{\n component: IconDelete,\n handler: () => leftovers.state.current.positions.splice(index, 1),\n class: 'bg-red'\n }]\" -->\n\n <Block class=\"\">\n <section class=\"gap-thin flex-v-center flex-justify-start flex\">\n <span class=\"h3 mn-r-auto\">\n In total: {{formatPrice(totalPrice)}}\n </span>\n\n <!-- Save Draft -->\n <Button\n :submit=\"onSaveDraft\"\n class=\"bg-second w-min-5r button\"\n >\n <span>Save Draft</span>\n </Button>\n\n <!-- Publish -->\n <Button\n :submit=\"onPublish\"\n class=\"bg-main w-min-5r button\"\n >\n <span>Publish</span>\n </Button>\n\n <!-- Reset -->\n <Button\n :submit=\"onReset\"\n class=\"t-white w-min-5r bg-second button\"\n >\n <span>Reset</span>\n </Button>\n\n <!-- Delete button removed - only create mode supported -->\n </section>\n </Block>\n </div>\n</template>\n\n\n<script setup>\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Field from '@martyrs/src/components/Field/Field.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue';\n import Select from '@martyrs/src/components/Select/Select.vue';\n import Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\n import Popup from '@martyrs/src/components/Popup/Popup.vue';\n\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n import CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue'; \n\n import CardPosition from '@martyrs/src/modules/products/components/blocks/CardPosition.vue';\n import QuantitySelector from '@martyrs/src/modules/products/components/elements/QuantitySelector.vue';\n\n import { computed, onMounted, ref, reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n import { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\n import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n const store = useStore();\n import * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js';\n import * as products from '@martyrs/src/modules/products/store/products.js';\n import * as spots from '@martyrs/src/modules/spots/store/spots.js';\n import variants from '@martyrs/src/modules/products/store/variants.store.js';\n\n import IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue';\n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n import IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n const route = useRoute();\n const router = useRouter();\n const { formatPrice } = useGlobalMixins();\n \n const isOpenProductsPopup = ref(false);\n const isVariantsPopupOpen = ref(false);\n const selectedProduct = ref(null);\n\n const totalPrice = computed(() => {\n return inventory.state.current.positions.reduce((sum, position) => {\n return Number(sum) + Number(position.cost || 0) * Number(position.quantity || 1);\n }, 0);\n });\n\n function openProductsPopup() {\n isOpenProductsPopup.value = true;\n }\n\n function closeProductsPopup() {\n isOpenProductsPopup.value = false;\n }\n \n function closeVariantsPopup() {\n isVariantsPopupOpen.value = false;\n selectedProduct.value = null;\n }\n \n function selectProduct(product) {\n selectedProduct.value = product;\n closeProductsPopup();\n \n // If product has only one variant, add it directly without showing popup\n if (product.variants && product.variants.length === 1) {\n addVariantToInventory(product.variants[0]);\n return;\n }\n \n // If product has multiple variants or no variants defined, show popup\n isVariantsPopupOpen.value = true;\n }\n\n function formatProductName(product, variant) {\n if (!variant || product.variants?.length === 1 && !(variant.attributes?.length))\n return product.name;\n\n const attrs = variant.attributes?.map(a => a.value).filter(Boolean);\n return attrs?.length\n ? `${product.name} / ${attrs.join(' / ')}`\n : `${product.name} / ${variant.name}`;\n }\n\n \n function addVariantToInventory(variant) {\n // Create a position object that includes variant information\n console.log('variant',variant)\n const position = {\n _id: variant._id,\n product: selectedProduct.value._id, \n name: formatProductName(selectedProduct.value, variant),\n image: variant.images?.[0] || selectedProduct.value?.images?.[0] || null,\n cost: variant.cost || variant.price || 0,\n unit: variant.unit || 'pcs',\n quantity: 1,\n variant: {\n _id: variant._id,\n name: variant.name,\n attributes: variant.attributes || []\n }\n };\n // Add position to inventory state\n store.core.actions.add(inventory.state.current.positions, position);\n closeVariantsPopup();\n }\n\n onMounted(async () => {\n // Reset inventory state for new audit\n inventory.mutations.resetCurrent();\n });\n\n async function onReset() {\n inventory.mutations.resetCurrent();\n return true;\n }\n\n\n function prepareInventoryData(status = 'draft') {\n return {\n storage: inventory.state.current.storage,\n comment: inventory.state.current.comment,\n status: status,\n positions: inventory.state.current.positions.map(pos => ({\n product: pos.product,\n variant: pos.variant?._id,\n storage: inventory.state.current.storage,\n quantity: pos.quantity,\n reason: 'custom',\n comment: `Inventory audit: ${pos.name}`,\n cost: pos.cost\n })),\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n };\n }\n\n function navigateBack() {\n if (route.meta.context === 'backoffice') {\n router.push({ name: 'BackofficeInventoryList' });\n } else if (route.meta.context === 'organization') {\n router.push({ name: 'OrganizationInventoryList', params: { _id: route.params._id } });\n }\n }\n\n async function onSaveDraft() {\n try {\n const inventoryData = prepareInventoryData('draft');\n await inventory.actions.createInventory(inventoryData);\n navigateBack();\n } catch (error) {\n console.error('Error creating draft inventory:', error);\n }\n }\n\n async function onPublish() {\n try {\n const inventoryData = prepareInventoryData('published');\n await inventory.actions.createInventory(inventoryData);\n navigateBack();\n } catch (error) {\n console.error('Error publishing inventory:', error);\n }\n }\n\n // Remove delete function as we only support creation mode\n</script>"],"names":["inventory.state","inventory.mutations","auth.state","inventory.actions"],"mappings":"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"}
@@ -5,7 +5,7 @@ import _sfc_main$2 from "../../../icons/entities/IconEarn.vue.js";
5
5
  import _sfc_main$3 from "../../../wallet/views/components/elements/ConnectMetamask.vue.js";
6
6
  /* empty css */
7
7
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
8
- const _hoisted_1 = { class: "cols-2 gap-thin" };
8
+ const _hoisted_1 = { class: "cols-2 mobile:cols-1 gap-thin" };
9
9
  const _hoisted_2 = { class: "pos-relative flex flex-column flex-center h-100" };
10
10
  const _hoisted_3 = { class: "mn-b-thin pd-big radius-medium" };
11
11
  const _hoisted_4 = ["src"];
@@ -18,9 +18,9 @@ const _hoisted_7 = {
18
18
  key: 3,
19
19
  class: "mn-b-semi p-regular t-transp"
20
20
  };
21
- const _hoisted_8 = { class: "gap-thin cols-2" };
22
- const _hoisted_9 = { class: "uppercase t-semi" };
23
- const _hoisted_10 = { class: "uppercase t-semi" };
21
+ const _hoisted_8 = { class: "gap-thin cols-2 mobile:cols-1" };
22
+ const _hoisted_9 = { class: "uppercase fw-semi" };
23
+ const _hoisted_10 = { class: "uppercase fw-semi" };
24
24
  const _hoisted_11 = { class: "pos-relative pd-medium flex-column flex-center flex h-100 bg-main radius-medium o-hidden" };
25
25
  const _hoisted_12 = ["src"];
26
26
  const _sfc_main = {
@@ -129,7 +129,7 @@ const _sfc_main = {
129
129
  };
130
130
  }
131
131
  };
132
- const SectionEarn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3edb503f"]]);
132
+ const SectionEarn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f6208d2e"]]);
133
133
  export {
134
134
  SectionEarn as default
135
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SectionEarn.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SectionEarn.vue"],"sourcesContent":["<template>\n <section class=\"cols-2 gap-thin\">\n <div class=\"pos-relative flex flex-column flex-center h-100\">\n <div class=\"mn-b-thin pd-big radius-medium\">\n <img v-if=\"te('logo')\" loading=\"lazy\" class=\"mn-b-semi h-4r\" :src=\"t('logo')\">\n\n <h2 v-if=\"te('title')\" class=\"mn-b-medium\" v-html=\"t('title')\"/>\n <p v-if=\"te('description')\" class=\"mn-b-medium p-medium t-transp\">{{ t('description') }}</p> \n <p v-if=\"te('subdescription')\" class=\"mn-b-semi p-regular t-transp\">{{ t('subdescription')}}</p>\n\n <div class=\"gap-thin cols-2\">\n <router-link :to=\"t('action_link')\" class=\"flex t-center bg-white flex-center flex-column t-black pd-big radius-medium\">\n <IconInfo class=\"mn-b-small i-extra\" fill=\"rgb(var(--black)\"/>\n <p class=\"uppercase t-semi\">{{t('action')}}</p>\n </router-link>\n\n <router-link :to=\"t('action_sublink') \" class=\"flex t-center flex-center flex-column bg-main t-black pd-big radius-medium\">\n <IconEarn class=\"mn-b-small i-extra\" fill=\"rgb(var(--black)\"/>\n <p class=\"uppercase t-semi\">{{t('subaction')}}</p>\n </router-link>\n \n </div>\n </div>\n\n </div>\n\n <div class=\"pos-relative pd-medium flex-column flex-center flex h-100 bg-main radius-medium o-hidden\">\n <img v-if=\"te('image')\" loading=\"lazy\" :src=\"t('image')\" class=\"mn-t-auto z-index-2 pos-relative w-75 mn-b-auto\">\n <ConnectMetamask\n :tokenAddress=\"options.tokenAddress\"\n :tokenSymbol=\"options.tokenSymbol\"\n :tokenDecimals=\"options.tokenDecimals\"\n :tokenImage=\"options.tokenImage\"\n :targetChainId=\"options.targetChainId\"\n :metamaskIcon=\"options.metamaskIcon\"\n :content=\"{\n en: {\n 'connectMetaMask': t('connectMetaMask'),\n 'switchToPolygon': t('switchToPolygon'),\n 'addToken': t('addToken')\n }\n }\"\n class=\"z-index-3 pos-relative w-100\"\n />\n <img :src=\"'/spiral.webp'\" loading=\"lazy\" alt=\"\" class=\"mn-b-extra z-index-1 spiral\"/>\n </div>\n </section>\n</template>\n\n<script setup>\nimport { computed,ref,onMounted, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n';\n\nimport IconInfo from '@martyrs/src/modules/icons/entities/IconInfo.vue'\nimport IconEarn from '@martyrs/src/modules/icons/entities/IconEarn.vue'\n\nimport ConnectMetamask from '@martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue'\n\nconst props = defineProps({\n content: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n tokenAddress: '0x64b4b0ade1f015d6a0c536e8cf041e181d872220',\n tokenSymbol: 'OZDT',\n tokenDecimals: 8,\n tokenImage: 'https://ozdao.dev/logo-token.png',\n targetChainId: '0x89',\n metamaskIcon: \"/icons/metamask.svg\"\n })\n }\n})\nconst { t, te } = useI18n({\n messages: props.content\n})\n</script>\n\n<style lang=\"scss\" scoped>\n .spiral {\n object-fit: cover;\n width: 100rem;\n height: 100rem;\n position: absolute;\n opacity: 0.066;\n transform: translate(-50%, -50%) rotate(0deg);\n transform-origin: center center;\n animation: spin 5s linear infinite;\n }\n\n @keyframes spin {\n 0% {\n transform: translate(-50%, -50%) rotate(0deg);\n }\n 100% {\n transform: translate(-50%, -50%) rotate(360deg);\n }\n }\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,UAAM,QAAQ;AAiBd,UAAM,EAAE,GAAG,GAAE,IAAK,QAAQ;AAAA,MACxB,UAAU,MAAM;AAAA,IAClB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SectionEarn.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SectionEarn.vue"],"sourcesContent":["<template>\n <section class=\"cols-2 mobile:cols-1 gap-thin\">\n <div class=\"pos-relative flex flex-column flex-center h-100\">\n <div class=\"mn-b-thin pd-big radius-medium\">\n <img v-if=\"te('logo')\" loading=\"lazy\" class=\"mn-b-semi h-4r\" :src=\"t('logo')\">\n\n <h2 v-if=\"te('title')\" class=\"mn-b-medium\" v-html=\"t('title')\"/>\n <p v-if=\"te('description')\" class=\"mn-b-medium p-medium t-transp\">{{ t('description') }}</p> \n <p v-if=\"te('subdescription')\" class=\"mn-b-semi p-regular t-transp\">{{ t('subdescription')}}</p>\n\n <div class=\"gap-thin cols-2 mobile:cols-1\">\n <router-link :to=\"t('action_link')\" class=\"flex t-center bg-white flex-center flex-column t-black pd-big radius-medium\">\n <IconInfo class=\"mn-b-small i-extra\" fill=\"rgb(var(--black)\"/>\n <p class=\"uppercase fw-semi\">{{t('action')}}</p>\n </router-link>\n\n <router-link :to=\"t('action_sublink') \" class=\"flex t-center flex-center flex-column bg-main t-black pd-big radius-medium\">\n <IconEarn class=\"mn-b-small i-extra\" fill=\"rgb(var(--black)\"/>\n <p class=\"uppercase fw-semi\">{{t('subaction')}}</p>\n </router-link>\n \n </div>\n </div>\n\n </div>\n\n <div class=\"pos-relative pd-medium flex-column flex-center flex h-100 bg-main radius-medium o-hidden\">\n <img v-if=\"te('image')\" loading=\"lazy\" :src=\"t('image')\" class=\"mn-t-auto z-index-2 pos-relative w-75 mn-b-auto\">\n <ConnectMetamask\n :tokenAddress=\"options.tokenAddress\"\n :tokenSymbol=\"options.tokenSymbol\"\n :tokenDecimals=\"options.tokenDecimals\"\n :tokenImage=\"options.tokenImage\"\n :targetChainId=\"options.targetChainId\"\n :metamaskIcon=\"options.metamaskIcon\"\n :content=\"{\n en: {\n 'connectMetaMask': t('connectMetaMask'),\n 'switchToPolygon': t('switchToPolygon'),\n 'addToken': t('addToken')\n }\n }\"\n class=\"z-index-3 pos-relative w-100\"\n />\n <img :src=\"'/spiral.webp'\" loading=\"lazy\" alt=\"\" class=\"mn-b-extra z-index-1 spiral\"/>\n </div>\n </section>\n</template>\n\n<script setup>\nimport { computed,ref,onMounted, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n';\n\nimport IconInfo from '@martyrs/src/modules/icons/entities/IconInfo.vue'\nimport IconEarn from '@martyrs/src/modules/icons/entities/IconEarn.vue'\n\nimport ConnectMetamask from '@martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue'\n\nconst props = defineProps({\n content: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n tokenAddress: '0x64b4b0ade1f015d6a0c536e8cf041e181d872220',\n tokenSymbol: 'OZDT',\n tokenDecimals: 8,\n tokenImage: 'https://ozdao.dev/logo-token.png',\n targetChainId: '0x89',\n metamaskIcon: \"/icons/metamask.svg\"\n })\n }\n})\nconst { t, te } = useI18n({\n messages: props.content\n})\n</script>\n\n<style lang=\"scss\" scoped>\n .spiral {\n object-fit: cover;\n width: 100rem;\n height: 100rem;\n position: absolute;\n opacity: 0.066;\n transform: translate(-50%, -50%) rotate(0deg);\n transform-origin: center center;\n animation: spin 5s linear infinite;\n }\n\n @keyframes spin {\n 0% {\n transform: translate(-50%, -50%) rotate(0deg);\n }\n 100% {\n transform: translate(-50%, -50%) rotate(360deg);\n }\n }\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,UAAM,QAAQ;AAiBd,UAAM,EAAE,GAAG,GAAE,IAAK,QAAQ;AAAA,MACxB,UAAU,MAAM;AAAA,IAClB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -37,13 +37,13 @@ const _sfc_main = {
37
37
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(tm)("FAQ"), (item) => {
38
38
  return openBlock(), createBlock(_sfc_main$1, {
39
39
  key: item.title,
40
- class: "br-grey-transp-10 br-solid br-1px radius-small o-hidden pd-big mn-b-thin"
40
+ class: "br-grey-transp-10 br-1px radius-small o-hidden pd-big mn-b-thin"
41
41
  }, {
42
42
  header: withCtx(({ isOpen }) => [
43
43
  createElementVNode("div", _hoisted_6, [
44
44
  createElementVNode("h3", _hoisted_7, toDisplayString(item.title), 1),
45
45
  createVNode(IconChevronBottom, {
46
- class: normalizeClass([{ "rotate-180": isOpen }, "i-medium"]),
46
+ class: normalizeClass([{ "rotate-180deg": isOpen }, "i-medium"]),
47
47
  fill: "rgba(var(--grey),0.5)"
48
48
  }, null, 8, ["class"])
49
49
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"SectionGuide.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SectionGuide.vue"],"sourcesContent":["<template>\n <div class=\"\">\n <div class=\"mn-b-big d-inline-block\">\n <h2 class=\"mn-b-semi\">{{t('title')}}</h2>\n <p v-if=\"te('subtitle')\" class=\"t-transp p-medium w-m-60r\">{{t('subtitle')}}</p>\n </div>\n <div class=\"cols-1\">\n <Spoiler v-for=\"item in tm('FAQ')\" :key=\"item.title\" class=\"br-grey-transp-10 br-solid br-1px radius-small o-hidden pd-big mn-b-thin\">\n <template #header=\"{ isOpen }\">\n <div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n <h3 class=\"w-100\">{{item.title}}</h3>\n <IconChevronBottom :class=\"{ 'rotate-180': isOpen }\" fill=\"rgba(var(--grey),0.5)\" class=\"i-medium\"/>\n </div>\n </template>\n <template #content>\n <div class=\"mn-t-semi\">\n <p class=\"t-transp\" v-html=\"item.description\"></p>\n </div>\n </template>\n </Spoiler>\n </div>\n </div>\n</template>\n<script setup>\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\nimport { useI18n } from 'vue-i18n'\nimport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\nconst props = defineProps({\n content: {\n type: Object,\n required: true\n }\n});\n\nconst { t, tm, te } = useI18n({\n messages: props.content\n});\n</script>\n<style lang=\"scss\">\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,UAAM,QAAQ;AAOd,UAAM,EAAE,GAAG,IAAI,GAAE,IAAK,QAAQ;AAAA,MAC5B,UAAU,MAAM;AAAA,IAClB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SectionGuide.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SectionGuide.vue"],"sourcesContent":["<template>\n <div class=\"\">\n <div class=\"mn-b-big d-inline-block\">\n <h2 class=\"mn-b-semi\">{{t('title')}}</h2>\n <p v-if=\"te('subtitle')\" class=\"t-transp p-medium w-m-60r\">{{t('subtitle')}}</p>\n </div>\n <div class=\"cols-1\">\n <Spoiler v-for=\"item in tm('FAQ')\" :key=\"item.title\" class=\"br-grey-transp-10 br-1px radius-small o-hidden pd-big mn-b-thin\">\n <template #header=\"{ isOpen }\">\n <div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n <h3 class=\"w-100\">{{item.title}}</h3>\n <IconChevronBottom :class=\"{ 'rotate-180deg': isOpen }\" fill=\"rgba(var(--grey),0.5)\" class=\"i-medium\"/>\n </div>\n </template>\n <template #content>\n <div class=\"mn-t-semi\">\n <p class=\"t-transp\" v-html=\"item.description\"></p>\n </div>\n </template>\n </Spoiler>\n </div>\n </div>\n</template>\n<script setup>\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\nimport { useI18n } from 'vue-i18n'\nimport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\nconst props = defineProps({\n content: {\n type: Object,\n required: true\n }\n});\n\nconst { t, tm, te } = useI18n({\n messages: props.content\n});\n</script>\n<style lang=\"scss\">\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,UAAM,QAAQ;AAOd,UAAM,EAAE,GAAG,IAAI,GAAE,IAAK,QAAQ;AAAA,MAC5B,UAAU,MAAM;AAAA,IAClB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,7 +11,7 @@ const _hoisted_2 = { class: "sheen h-5r mn-b-small radius-extra o-hidden pos-rel
11
11
  const _hoisted_3 = ["src"];
12
12
  const _hoisted_4 = ["innerHTML"];
13
13
  const _hoisted_5 = ["innerHTML"];
14
- const _hoisted_6 = { class: "t-white gap-thin z-index-1 cols-2" };
14
+ const _hoisted_6 = { class: "t-white gap-thin z-index-1 cols-2 mobile:cols-1" };
15
15
  const _sfc_main = {
16
16
  __name: "SectionHeroToken",
17
17
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"SectionHeroToken.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SectionHeroToken.vue"],"sourcesContent":["<script setup>\n\timport { useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport AnimatedGrid from '@martyrs/src/modules/landing/components/elements/AnimatedGrid.vue'\n\n\tconst props = defineProps({\n\t textData: {\n\t type: Object,\n\t default: () => ({\n\t messages: {\n\t \ten: {\n\t\t\t\t TITLE: \"Smoke Weed Every Day &<b> Get A Slice Of The Pie</b>\",\n\t\t\t\t DESCRIPTION: \"Earn Weeder Token and Get part of the profits of Weeder Delivery. The more tokens you have, the bigger your cut of the profits will be. So what are you waiting for?\",\n\t\t\t\t ACTION: \"Open Marketplace →\",\n\t\t\t\t SUBACTION: \"Sign Up To Start\"\n\t\t\t }\n\t\t\t }\n\t\t\t})\n\t\t}\n\t})\n\n\tconst { t } = useI18n(props.textData)\n</script>\n\n\n<template>\n\t<div\n\t\tid=\"heroGovernance\" \n\t\tclass=\"pos-relative bg-black o-hidden t-white t-center pd-extra flex-column flex-center flex\"\n\t>\n\t\t<div class=\"sheen h-5r mn-b-small radius-extra o-hidden pos-relative \">\n\t \t<img loading=\"lazy\" :src=\"(FILE_SERVER_URL || '') + '/logo/token.svg'\" class=\"w-100 h-100\">\n\t </div>\n\n\t\t<h1 \n\t\t\tclass=\"w-max-50r mn-b-medium\" \n\t\t\tv-html=\"t('TITLE')\"\n\t\t/>\n\n\t\t<p \n\t\t\tclass=\"w-max-50r mn-b-big t-transp p-medium\" \n\t\t\tv-html=\"t('DESCRIPTION')\"\n\t\t/>\n\n\t\t<div \n\t\t\tclass=\"t-white gap-thin z-index-1 cols-2\"\n\t\t>\n\t\t\t<router-link \n\t\t\t\t:to=\"{\n\t\t\t\t\tname: 'Sign In'\n\t\t\t\t}\"\n\t\t\t\tclass=\"w-100 bg-light t-dark br-light button\"\n\t\t\t>\n\t\t\t\t{{t('SUBACTION')}}\n\t\t\t</router-link>\n\n\t\t\t<router-link \n\t\t\t\t:to=\"{\n\t\t\t\t\tname: 'Marketplace'\n\t\t\t\t}\"\n\t\t\t\tclass=\"w-100 bg-dark t-white button\"\n\t\t\t>\n\t\t\t\t{{t('ACTION')}}\n\t\t\t</router-link>\n\t\t</div>\n\n\t\t<AnimatedGrid class=\"w-100 h-100 pos-absolute pos-t-0 pos-r-0 z-index-0\" />\n\n\t</div>\n</template>\n\n<style lang=\"scss\">\n\t.sheen:after {\n\t\tcontent:'';\n\t top:0;\n\t left: -25%;\n\t\ttransform:translateX(100%);\n\t\twidth:100%;\n\t\theight:220px;\n\t\tposition: absolute;\n\t\tz-index:1;\n\t\tanimation: slide 3s infinite;\n\t\t \n\t /* \n\t CSS Gradient - complete browser support from http://www.colorzilla.com/gradient-editor/ \n\t */\n\t background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(128,186,232,0) 99%, rgba(125,185,232,0) 100%); /* FF3.6+ */\n\t\tbackground: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(50%,rgba(255,255,255,0.8)), color-stop(99%,rgba(128,186,232,0)), color-stop(100%,rgba(125,185,232,0))); /* Chrome,Safari4+ */\n\t\tbackground: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(128,186,232,0) 99%,rgba(125,185,232,0) 100%); /* Chrome10+,Safari5.1+ */\n\t\tbackground: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(128,186,232,0) 99%,rgba(125,185,232,0) 100%); /* Opera 11.10+ */\n\t\tbackground: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(128,186,232,0) 99%,rgba(125,185,232,0) 100%); /* IE10+ */\n\t\tbackground: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(128,186,232,0) 99%,rgba(125,185,232,0) 100%); /* W3C */\n\t\tfilter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#007db9e8',GradientType=1 ); /* IE6-9 */\n\t}\n\n\t@keyframes slide {\n\t\t0% {\t\n\t\t\ttransform:translateX(-00%); \n\t\t\topacity: 0;\n\t\t}\n\t\t20% {\n\t\t\topacity: 1\n\t\t}\n\t\t80% {\n\t\t\topacity: 1\n\t\t}\n\t\t100% {\n\t\t\ttransform:translateX(100%); \n\t\t\t\topacity: 0\n\t\t}\n\t}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMC,UAAM,QAAQ;AAgBd,UAAM,EAAE,EAAC,IAAK,QAAQ,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SectionHeroToken.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SectionHeroToken.vue"],"sourcesContent":["<script setup>\n\timport { useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport AnimatedGrid from '@martyrs/src/modules/landing/components/elements/AnimatedGrid.vue'\n\n\tconst props = defineProps({\n\t textData: {\n\t type: Object,\n\t default: () => ({\n\t messages: {\n\t \ten: {\n\t\t\t\t TITLE: \"Smoke Weed Every Day &<b> Get A Slice Of The Pie</b>\",\n\t\t\t\t DESCRIPTION: \"Earn Weeder Token and Get part of the profits of Weeder Delivery. The more tokens you have, the bigger your cut of the profits will be. So what are you waiting for?\",\n\t\t\t\t ACTION: \"Open Marketplace →\",\n\t\t\t\t SUBACTION: \"Sign Up To Start\"\n\t\t\t }\n\t\t\t }\n\t\t\t})\n\t\t}\n\t})\n\n\tconst { t } = useI18n(props.textData)\n</script>\n\n\n<template>\n\t<div\n\t\tid=\"heroGovernance\" \n\t\tclass=\"pos-relative bg-black o-hidden t-white t-center pd-extra flex-column flex-center flex\"\n\t>\n\t\t<div class=\"sheen h-5r mn-b-small radius-extra o-hidden pos-relative \">\n\t \t<img loading=\"lazy\" :src=\"(FILE_SERVER_URL || '') + '/logo/token.svg'\" class=\"w-100 h-100\">\n\t </div>\n\n\t\t<h1 \n\t\t\tclass=\"w-max-50r mn-b-medium\" \n\t\t\tv-html=\"t('TITLE')\"\n\t\t/>\n\n\t\t<p \n\t\t\tclass=\"w-max-50r mn-b-big t-transp p-medium\" \n\t\t\tv-html=\"t('DESCRIPTION')\"\n\t\t/>\n\n\t\t<div \n\t\t\tclass=\"t-white gap-thin z-index-1 cols-2 mobile:cols-1\"\n\t\t>\n\t\t\t<router-link \n\t\t\t\t:to=\"{\n\t\t\t\t\tname: 'Sign In'\n\t\t\t\t}\"\n\t\t\t\tclass=\"w-100 bg-light t-dark br-light button\"\n\t\t\t>\n\t\t\t\t{{t('SUBACTION')}}\n\t\t\t</router-link>\n\n\t\t\t<router-link \n\t\t\t\t:to=\"{\n\t\t\t\t\tname: 'Marketplace'\n\t\t\t\t}\"\n\t\t\t\tclass=\"w-100 bg-dark t-white button\"\n\t\t\t>\n\t\t\t\t{{t('ACTION')}}\n\t\t\t</router-link>\n\t\t</div>\n\n\t\t<AnimatedGrid class=\"w-100 h-100 pos-absolute pos-t-0 pos-r-0 z-index-0\" />\n\n\t</div>\n</template>\n\n<style lang=\"scss\">\n\t.sheen:after {\n\t\tcontent:'';\n\t top:0;\n\t left: -25%;\n\t\ttransform:translateX(100%);\n\t\twidth:100%;\n\t\theight:220px;\n\t\tposition: absolute;\n\t\tz-index:1;\n\t\tanimation: slide 3s infinite;\n\t\t \n\t /* \n\t CSS Gradient - complete browser support from http://www.colorzilla.com/gradient-editor/ \n\t */\n\t background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(128,186,232,0) 99%, rgba(125,185,232,0) 100%); /* FF3.6+ */\n\t\tbackground: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(50%,rgba(255,255,255,0.8)), color-stop(99%,rgba(128,186,232,0)), color-stop(100%,rgba(125,185,232,0))); /* Chrome,Safari4+ */\n\t\tbackground: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(128,186,232,0) 99%,rgba(125,185,232,0) 100%); /* Chrome10+,Safari5.1+ */\n\t\tbackground: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(128,186,232,0) 99%,rgba(125,185,232,0) 100%); /* Opera 11.10+ */\n\t\tbackground: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(128,186,232,0) 99%,rgba(125,185,232,0) 100%); /* IE10+ */\n\t\tbackground: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 50%,rgba(128,186,232,0) 99%,rgba(125,185,232,0) 100%); /* W3C */\n\t\tfilter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#007db9e8',GradientType=1 ); /* IE6-9 */\n\t}\n\n\t@keyframes slide {\n\t\t0% {\t\n\t\t\ttransform:translateX(-00%); \n\t\t\topacity: 0;\n\t\t}\n\t\t20% {\n\t\t\topacity: 1\n\t\t}\n\t\t80% {\n\t\t\topacity: 1\n\t\t}\n\t\t100% {\n\t\t\ttransform:translateX(100%); \n\t\t\t\topacity: 0\n\t\t}\n\t}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMC,UAAM,QAAQ;AAgBd,UAAM,EAAE,EAAC,IAAK,QAAQ,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,7 +6,7 @@ const _hoisted_1 = { class: "o-hidden container-joinus" };
6
6
  const _hoisted_2 = { class: "content" };
7
7
  const _hoisted_3 = {
8
8
  style: { "font-size": "8rem" },
9
- class: "t-main font-main t-semi"
9
+ class: "t-main font-main fw-semi"
10
10
  };
11
11
  const _hoisted_4 = { class: "w-m-33r t-center mn-b-small p-medium" };
12
12
  const _sfc_main = {
@@ -53,7 +53,7 @@ const _sfc_main = {
53
53
  createElementVNode("p", _hoisted_4, toDisplayString(unref(t)("description")), 1),
54
54
  createVNode(_component_router_link, {
55
55
  to: { name: "Sign In" },
56
- class: "bg-black t-medium t-white button"
56
+ class: "bg-black fw-medium t-white button"
57
57
  }, {
58
58
  default: withCtx(() => [
59
59
  createTextVNode(toDisplayString(unref(t)("action")), 1)