@ozdao/martyrs 0.2.571 → 0.2.572

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 (818) 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/{main-BFvlam0J.js → main-BfEQkhXS.js} +1173 -1191
  5. package/dist/martyrs/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +94 -112
  6. package/dist/martyrs/dist/main-BfEQkhXS.js.map +1 -0
  7. package/dist/martyrs/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +3 -3
  8. package/dist/martyrs/dist/{web-CH5wzMHy.js.map → web-BqTV9va1.js.map} +1 -1
  9. 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
  10. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.4.4/node_modules/@capacitor/core/dist/index.js.map +1 -0
  11. 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
  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.map +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/web.js +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.map +1 -1
  15. 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
  16. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  17. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  18. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/dayjs.min.js +1 -1
  19. package/dist/martyrs/node_modules/dayjs/dayjs.min.js.map +1 -0
  20. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
  21. package/dist/martyrs/node_modules/dayjs/plugin/weekOfYear.js.map +1 -0
  22. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  23. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  24. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
  25. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
  26. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
  27. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
  28. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
  29. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
  30. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  31. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  32. package/dist/martyrs/src/components/Block/Block.vue.js +2 -2
  33. package/dist/martyrs/src/components/Block/Block.vue.js.map +1 -1
  34. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +1 -1
  35. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +1 -1
  36. package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
  37. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +6 -6
  38. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  39. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +2 -2
  40. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  41. package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
  42. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +5 -5
  43. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  44. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +4 -4
  45. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  46. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  47. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.js.map +1 -0
  48. package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +3 -3
  49. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
  50. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  51. package/dist/martyrs/src/components/Feed/Feed.vue.js +4 -4
  52. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  53. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  54. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  55. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  56. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  57. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js +1 -1
  58. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +3 -3
  60. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -0
  61. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  62. package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
  63. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  64. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  65. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +2 -2
  66. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  67. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +2 -2
  68. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  69. package/dist/martyrs/src/components/Radio/Radio.vue.js +1 -1
  70. package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
  71. package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
  72. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
  73. package/dist/martyrs/src/components/Table/Table.vue.js +3 -3
  74. package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
  75. package/dist/martyrs/src/components/Text/Text.vue.js +1 -1
  76. package/dist/martyrs/src/components/Text/Text.vue.js.map +1 -1
  77. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
  78. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -0
  79. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +4 -4
  80. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
  81. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +4 -4
  82. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
  84. package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js +4 -4
  85. package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js.map +1 -1
  86. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  87. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
  88. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  89. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
  90. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +8 -8
  91. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  93. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js.map +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  95. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
  97. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
  100. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  102. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +3 -3
  104. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
  105. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  106. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +7 -7
  108. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +1 -1
  110. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -1
  112. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +4 -4
  113. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  114. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +5 -5
  115. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  116. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +1 -1
  117. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
  118. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +2 -2
  119. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  120. package/dist/martyrs/src/modules/community/components/blocks/Activity.vue.js +7 -7
  121. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  122. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +4 -4
  124. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
  125. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +10 -10
  126. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  127. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  128. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  129. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
  130. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +2 -2
  131. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
  132. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +3 -3
  133. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  134. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
  135. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js +1 -1
  136. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  138. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js +1 -1
  140. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js.map +1 -1
  141. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js +1 -1
  142. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  144. package/dist/martyrs/src/modules/core/views/classes/core.app.js +2 -1
  145. package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
  146. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js +2 -2
  147. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js.map +1 -1
  148. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +10 -10
  149. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
  150. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +2 -2
  151. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
  152. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
  153. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js.map +1 -1
  154. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +1 -1
  155. package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js +1 -1
  156. package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js.map +1 -1
  157. package/dist/martyrs/src/modules/core/views/components/elements/PhotoStack.vue.js +3 -3
  158. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js +25 -5
  159. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js.map +1 -1
  160. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +4 -4
  161. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
  162. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +11 -11
  163. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  164. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js +1 -1
  165. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js.map +1 -1
  166. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js +16 -16
  167. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js.map +1 -1
  168. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +7 -7
  169. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  170. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +1 -1
  171. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
  172. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +24 -24
  173. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  174. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +3 -3
  175. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js.map +1 -1
  176. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +7 -7
  177. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  178. package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
  179. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
  180. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
  181. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  182. package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +1 -1
  183. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js +2 -2
  184. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js.map +1 -1
  185. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js +3 -3
  186. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js.map +1 -1
  187. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js +2 -2
  188. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js.map +1 -1
  189. package/dist/martyrs/src/modules/core/views/store/core.store.js +29 -47
  190. package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
  191. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +21 -2
  192. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
  193. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +5 -5
  194. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js +3 -3
  196. package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js.map +1 -1
  197. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  198. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  199. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +19 -19
  200. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  201. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +8 -8
  202. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  203. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
  204. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  205. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +2 -2
  206. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +5 -5
  208. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +2 -2
  210. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  212. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +2 -2
  213. package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
  214. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +1 -1
  215. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  216. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  217. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js.map +1 -1
  218. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  219. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  220. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +4 -4
  221. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
  222. package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +4 -4
  223. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +7 -7
  224. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  225. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
  226. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +2 -2
  228. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
  229. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  230. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +11 -11
  232. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +6 -6
  234. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +5 -5
  236. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
  238. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  240. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  241. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +2 -2
  242. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
  243. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
  244. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  245. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js +2 -2
  246. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
  247. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +3 -3
  248. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +6 -6
  250. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js.map +1 -1
  251. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +4 -4
  252. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  253. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +3 -3
  254. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js.map +1 -1
  255. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +5 -5
  256. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  257. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +4 -4
  258. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +3 -3
  260. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -1
  261. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +5 -5
  262. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +5 -5
  264. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  265. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +8 -8
  266. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +5 -5
  268. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  269. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
  270. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +2 -2
  272. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
  273. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +13 -13
  274. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +24 -24
  276. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  277. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +8 -8
  278. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +10 -13
  280. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +9 -9
  282. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +27 -27
  284. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  285. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +17 -17
  286. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +27 -27
  288. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  289. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  290. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +8 -8
  291. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
  292. package/dist/martyrs/src/modules/music/music.client.js +6 -6
  293. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  294. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
  295. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  296. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
  297. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  298. package/dist/martyrs/src/modules/notifications/notifications.client.js +2 -2
  299. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +1 -1
  300. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +2 -2
  301. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +2 -2
  302. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +9 -9
  303. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  304. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +5 -5
  305. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  306. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +9 -9
  307. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  308. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +5 -5
  309. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  310. package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js +2 -2
  311. package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js.map +1 -1
  312. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
  313. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  314. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +3 -3
  315. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  316. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  317. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
  318. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +3 -3
  319. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
  320. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  321. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +17 -17
  322. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  323. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +2 -2
  324. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  325. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
  326. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  327. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +2 -2
  328. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  329. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +3 -3
  330. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
  331. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  332. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  333. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +3 -3
  334. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
  335. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
  336. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +3 -3
  337. package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -1
  338. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
  339. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  340. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  341. package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js +8 -8
  342. package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js.map +1 -1
  343. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
  344. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +3 -3
  345. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  346. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  347. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  348. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  349. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  350. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +2 -2
  351. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  352. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  353. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  354. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +7 -7
  355. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  356. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  357. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
  358. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  359. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +4 -4
  360. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js.map +1 -1
  361. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  362. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  364. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +3 -3
  365. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
  366. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js +5 -5
  367. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js.map +1 -1
  368. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  369. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
  370. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  371. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +4 -4
  372. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  373. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +3 -3
  374. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  375. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -5
  376. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  377. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +3 -3
  378. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  379. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +2 -2
  380. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  381. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +5 -5
  382. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js.map +1 -1
  383. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +2 -2
  384. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  385. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +3 -3
  386. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  387. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js +1 -1
  388. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
  389. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  390. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
  391. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  392. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +7 -7
  393. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  394. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +7 -7
  395. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  396. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +12 -12
  397. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  398. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +4 -4
  399. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  400. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +6 -6
  401. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  402. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
  403. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
  404. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +9 -9
  405. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  406. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
  407. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  408. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +2 -2
  409. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  410. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +2 -2
  411. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  412. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +6 -6
  413. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  414. package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js +1 -1
  415. package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js.map +1 -1
  416. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/DateLabel.vue.js +1 -1
  417. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +2 -2
  418. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
  419. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +8 -8
  420. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js +1 -1
  422. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +1 -1
  423. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  424. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  425. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
  426. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +6 -6
  427. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  428. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js +3 -3
  429. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js.map +1 -1
  430. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  431. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
  432. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +5 -5
  433. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  434. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
  435. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
  436. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +3 -3
  437. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
  438. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +6 -6
  439. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  440. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  441. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  442. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +3 -3
  443. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  444. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +5 -5
  445. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
  446. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js +5 -5
  447. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js.map +1 -1
  448. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +5 -5
  449. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js.map +1 -1
  450. package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js +2 -2
  451. package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js.map +1 -1
  452. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +4 -4
  453. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
  454. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js +12 -12
  455. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js.map +1 -1
  456. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +4 -4
  457. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
  458. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +24 -24
  459. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  460. package/dist/martyrs.css +1 -1
  461. package/dist/martyrs.es.js +1 -1
  462. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  463. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  464. package/dist/style.css +194 -202
  465. package/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +1 -1
  466. package/package.json +6 -8
  467. package/src/builder/modes/ssr.prod.js +1 -0
  468. package/src/builder/modes/ssr.rspack.dev.js +13 -6
  469. package/src/builder/rspack/rspack.config.base.js +7 -0
  470. package/src/builder/rspack/rspack.config.ssr.client.js +19 -44
  471. package/src/builder/templates/page.js +21 -0
  472. package/src/components/Block/Block.vue +1 -1
  473. package/src/components/BottomSheet/BottomSheet.vue +1 -1
  474. package/src/components/Calendar/Calendar.vue +5 -5
  475. package/src/components/Checkbox/Checkbox.vue +2 -2
  476. package/src/components/Chips/Chips.vue +2 -2
  477. package/src/components/Completion/Completion.vue +2 -2
  478. package/src/components/Countdown/Countdown.vue +5 -5
  479. package/src/components/DatePicker/DatePicker.vue +4 -4
  480. package/src/components/EditImages/EditImages.vue +1 -1
  481. package/src/components/Feed/Feed.old.vue +1 -1
  482. package/src/components/Feed/Feed.vue +1 -1
  483. package/src/components/FieldBig/FieldBig.vue +2 -2
  484. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  485. package/src/components/FieldTags/BlockTags.vue +1 -1
  486. package/src/components/Loader/Loader.vue +1 -1
  487. package/src/components/Menu/MenuItem.vue +2 -2
  488. package/src/components/PhotoViewer/PhotoViewer.vue +1 -1
  489. package/src/components/Radio/Radio.vue +1 -1
  490. package/src/components/Select/Select.vue +1 -1
  491. package/src/components/Table/Table.vue +2 -2
  492. package/src/components/Text/Text.vue +1 -1
  493. package/src/components/UploadImage/UploadImage.vue +2 -2
  494. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +3 -3
  495. package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
  496. package/src/configurator/components/pages/Styles.vue +2 -2
  497. package/src/jit/.claude/settings.local.json +10 -0
  498. package/src/jit/CLAUDE.md +387 -0
  499. package/src/jit/core.js +274 -0
  500. package/src/jit/extractor.js +140 -0
  501. package/src/jit/index.js +19 -0
  502. package/src/jit/loader.js +46 -0
  503. package/src/jit/plugin.js +209 -0
  504. package/src/jit/rules.js +474 -0
  505. package/src/jit/variants.js +128 -0
  506. package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
  507. package/src/modules/auth/views/components/blocks/ProfileCard.vue +4 -4
  508. package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
  509. package/src/modules/auth/views/components/pages/EnterPassword.vue +2 -2
  510. package/src/modules/auth/views/components/pages/Profile.vue +5 -5
  511. package/src/modules/auth/views/components/pages/ProfileBlogposts.vue +1 -1
  512. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +2 -2
  513. package/src/modules/auth/views/components/pages/ResetPassword.vue +1 -1
  514. package/src/modules/auth/views/components/pages/SignIn.vue +3 -3
  515. package/src/modules/auth/views/components/pages/SignUp.vue +1 -1
  516. package/src/modules/auth/views/components/pages/UserDashboard.vue +3 -3
  517. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  518. package/src/modules/auth/views/components/sections/ProfileCompletion.vue +2 -2
  519. package/src/modules/auth/views/components/sections/ProfileEditCredentials.vue +7 -7
  520. package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
  521. package/src/modules/backoffice/components/admin/Backcalls.vue +1 -1
  522. package/src/modules/backoffice/components/admin/FastOrders.vue +1 -1
  523. package/src/modules/backoffice/components/admin/ProductEdit.vue +2 -2
  524. package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
  525. package/src/modules/backoffice/components/admin/Users.vue +2 -2
  526. package/src/modules/backoffice/components/pages/Dashboard.vue +4 -4
  527. package/src/modules/backoffice/components/partials/Sidebar.vue +5 -5
  528. package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
  529. package/src/modules/chats/components/sections/ChatWindow.vue +2 -2
  530. package/src/modules/community/components/blocks/Activity.vue +7 -7
  531. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  532. package/src/modules/community/components/blocks/FooterBlogpost.vue +4 -4
  533. package/src/modules/community/components/layouts/Community.vue +10 -10
  534. package/src/modules/community/components/pages/CreateBlogPost.vue +1 -1
  535. package/src/modules/community/components/pages/Posts.vue +2 -2
  536. package/src/modules/community/components/sections/Comment.vue +2 -2
  537. package/src/modules/constructor/components/elements/Audio.vue +1 -1
  538. package/src/modules/constructor/components/elements/Caption.vue +1 -1
  539. package/src/modules/constructor/components/elements/Embed.vue +1 -1
  540. package/src/modules/constructor/components/elements/Textarea.vue +1 -1
  541. package/src/modules/constructor/components/elements/Video.vue +1 -1
  542. package/src/modules/core/views/classes/core.app.js +2 -1
  543. package/src/modules/core/views/components/blocks/BlockSorting.vue +2 -2
  544. package/src/modules/core/views/components/blocks/CardFooter.vue +4 -4
  545. package/src/modules/core/views/components/blocks/CardHeader.vue +7 -7
  546. package/src/modules/core/views/components/blocks/HelpCard.vue +1 -1
  547. package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
  548. package/src/modules/core/views/components/elements/ButtonDate.vue +1 -1
  549. package/src/modules/core/views/components/elements/PhotoStack.vue +3 -3
  550. package/src/modules/core/views/components/layouts/App.vue +28 -4
  551. package/src/modules/core/views/components/layouts/Client.vue +4 -4
  552. package/src/modules/core/views/components/partials/BottomNavigationBar.vue +15 -15
  553. package/src/modules/core/views/components/partials/CitySelection.vue +1 -1
  554. package/src/modules/core/views/components/partials/Footer.centered.vue +17 -17
  555. package/src/modules/core/views/components/partials/Footer.vue +18 -18
  556. package/src/modules/core/views/components/partials/Header.vue +10 -11
  557. package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
  558. package/src/modules/core/views/components/partials/Navigation.vue +20 -19
  559. package/src/modules/core/views/components/partials/NavigationBar.vue +3 -3
  560. package/src/modules/core/views/components/partials/Sidebar.vue +6 -6
  561. package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
  562. package/src/modules/core/views/components/sections/filters/FilterCheckbox.vue +1 -1
  563. package/src/modules/core/views/components/sections/filters/FilterDateRange.vue +2 -2
  564. package/src/modules/core/views/components/sections/filters/FilterPrice.vue +2 -2
  565. package/src/modules/core/views/components/sections/filters/FilterRange.vue +2 -2
  566. package/src/modules/core/views/store/core.store.js +36 -60
  567. package/src/modules/core/views/utils/vue-app-renderer.js +31 -1
  568. package/src/modules/events/components/blocks/CardEvent.vue +6 -6
  569. package/src/modules/events/components/blocks/CardEventShort.vue +3 -3
  570. package/src/modules/events/components/pages/EditEvent.vue +1 -1
  571. package/src/modules/events/components/pages/EditEventTickets.vue +18 -18
  572. package/src/modules/events/components/pages/Event.vue +5 -5
  573. package/src/modules/events/components/pages/Events.vue +2 -2
  574. package/src/modules/events/components/pages/EventsBackoffice.vue +2 -2
  575. package/src/modules/events/components/sections/EditTickets.vue +5 -5
  576. package/src/modules/events/components/sections/EventsHot.vue +2 -2
  577. package/src/modules/events/components/sections/List.vue +1 -1
  578. package/src/modules/events/components/sections/SelectDate.vue +1 -1
  579. package/src/modules/gallery/components/pages/Gallery.vue +1 -1
  580. package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
  581. package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +14 -14
  582. package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +13 -13
  583. package/src/modules/governance/reactcode/src/components/EmptyState.tsx +2 -2
  584. package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +1 -1
  585. package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +1 -1
  586. package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +2 -2
  587. package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +6 -6
  588. package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +18 -18
  589. package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +7 -7
  590. package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +9 -9
  591. package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +4 -4
  592. package/src/modules/governance/reactcode/src/components/TaskCard.tsx +1 -1
  593. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
  594. package/src/modules/governance/reactcode/src/components/VoteForm.tsx +6 -6
  595. package/src/modules/governance/reactcode/src/components/VotingCard.tsx +2 -2
  596. package/src/modules/governance/reactcode/src/components/VotingResults.tsx +15 -15
  597. package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +41 -41
  598. package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +8 -8
  599. package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +6 -6
  600. package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +9 -9
  601. package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +14 -14
  602. package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +44 -44
  603. package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +8 -8
  604. package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +3 -3
  605. package/src/modules/governance/reactcode-2/App.tsx +28 -0
  606. package/src/modules/governance/reactcode-2/README.md +20 -0
  607. package/src/modules/governance/reactcode-2/components/Charts.tsx +58 -0
  608. package/src/modules/governance/reactcode-2/components/Layout.tsx +457 -0
  609. package/src/modules/governance/reactcode-2/components/TaskPage.tsx +325 -0
  610. package/src/modules/governance/reactcode-2/components/VoteBadge.tsx +27 -0
  611. package/src/modules/governance/reactcode-2/components/VotingsFeedPage.tsx +328 -0
  612. package/src/modules/governance/reactcode-2/constants.ts +154 -0
  613. package/src/modules/governance/reactcode-2/index.html +70 -0
  614. package/src/modules/governance/reactcode-2/index.tsx +15 -0
  615. package/src/modules/governance/reactcode-2/metadata.json +5 -0
  616. package/src/modules/governance/reactcode-2/package.json +23 -0
  617. package/src/modules/governance/reactcode-2/pnpm-lock.yaml +1410 -0
  618. package/src/modules/governance/reactcode-2/tsconfig.json +29 -0
  619. package/src/modules/governance/reactcode-2/types.ts +48 -0
  620. package/src/modules/governance/reactcode-2/vite.config.ts +23 -0
  621. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +10 -10
  622. package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +15 -15
  623. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +9 -9
  624. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +11 -11
  625. package/src/modules/governance/views/components/layouts/Governance.vue +1 -1
  626. package/src/modules/governance/views/components/pages/Governance.vue +3 -3
  627. package/src/modules/governance/views/components/pages/Initiative.vue +112 -112
  628. package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +31 -31
  629. package/src/modules/governance/views/components/pages/Initiatives.vue +20 -22
  630. package/src/modules/governance/views/components/pages/Milestone.vue +25 -25
  631. package/src/modules/governance/views/components/pages/Roadmap.vue +47 -47
  632. package/src/modules/governance/views/components/pages/Task.vue +106 -106
  633. package/src/modules/governance/views/components/pages/Tasks.vue +16 -16
  634. package/src/modules/governance/views/components/pages/Voting.vue +23 -23
  635. package/src/modules/governance/views/components/pages/Votings.vue +7 -7
  636. package/src/modules/governance/views/components/partials/EmptyState.vue +3 -3
  637. package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +11 -11
  638. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +4 -4
  639. package/src/modules/governance/views/components/partials/VoteForm.vue +14 -14
  640. package/src/modules/governance/views/components/partials/VotingResults.vue +22 -22
  641. package/src/modules/icons/components/IconSearchPopup.vue +3 -3
  642. package/src/modules/icons/entities/IconCash.vue +23 -0
  643. package/src/modules/icons/navigation/IconSort.vue +4 -4
  644. package/src/modules/icons/pages/IconsPage.vue +7 -7
  645. package/src/modules/inventory/components/forms/AdjustmentForm.vue +3 -3
  646. package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
  647. package/src/modules/inventory/components/forms/StockAlertsForm.vue +1 -1
  648. package/src/modules/inventory/components/pages/Inventory.vue +10 -10
  649. package/src/modules/inventory/components/pages/InventoryEdit.vue +6 -6
  650. package/src/modules/landing/components/blocks/MapBlock.vue +2 -2
  651. package/src/modules/landing/components/sections/Examples.vue +1 -1
  652. package/src/modules/landing/components/sections/InstagramSection.vue +1 -1
  653. package/src/modules/landing/components/sections/SectionEarn.vue +4 -4
  654. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  655. package/src/modules/landing/components/sections/SectionFocus.vue +2 -2
  656. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  657. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  658. package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
  659. package/src/modules/landing/components/sections/SectionJoinUs.vue +2 -2
  660. package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
  661. package/src/modules/landing/components/sections/SectionOverview.vue +2 -2
  662. package/src/modules/landing/components/sections/SectionRoadmap.vue +2 -2
  663. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +8 -8
  664. package/src/modules/marketplace/views/components/pages/Marketplace.vue +5 -5
  665. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +2 -2
  666. package/src/modules/music/components/SidebarMusic.vue +11 -11
  667. package/src/modules/music/components/blocks/ActionButtons.vue +2 -2
  668. package/src/modules/music/components/cards/AlbumCard.vue +4 -4
  669. package/src/modules/music/components/cards/ArtistCard.vue +3 -8
  670. package/src/modules/music/components/cards/ArtistCardSmall.vue +2 -2
  671. package/src/modules/music/components/cards/PlaylistCard.vue +4 -4
  672. package/src/modules/music/components/cards/TrackListCard.vue +5 -5
  673. package/src/modules/music/components/forms/AlbumForm.vue +8 -8
  674. package/src/modules/music/components/forms/ArtistForm.vue +4 -4
  675. package/src/modules/music/components/forms/PlaylistForm.vue +7 -7
  676. package/src/modules/music/components/forms/SearchForm.vue +1 -1
  677. package/src/modules/music/components/forms/TrackForm.vue +13 -13
  678. package/src/modules/music/components/pages/Album.vue +22 -22
  679. package/src/modules/music/components/pages/Artist.vue +7 -7
  680. package/src/modules/music/components/pages/MusicHome.vue +13 -18
  681. package/src/modules/music/components/pages/MusicLibrary.vue +9 -9
  682. package/src/modules/music/components/pages/Playlist.vue +25 -25
  683. package/src/modules/music/components/pages/SearchResults.vue +15 -15
  684. package/src/modules/music/components/pages/Track.vue +25 -25
  685. package/src/modules/music/components/player/FullscreenPlayer.vue +5 -5
  686. package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
  687. package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
  688. package/src/modules/orders/components/blocks/CardApplication.vue +1 -1
  689. package/src/modules/orders/components/blocks/CardCustomer.vue +1 -1
  690. package/src/modules/orders/components/blocks/CardOrder.vue +9 -9
  691. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +5 -5
  692. package/src/modules/orders/components/blocks/CardOrderItem.vue +9 -9
  693. package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
  694. package/src/modules/orders/components/blocks/CardOrderVar1.vue +4 -4
  695. package/src/modules/orders/components/blocks/StatusHistory.vue +3 -3
  696. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
  697. package/src/modules/orders/components/elements/PriceTotal.vue +3 -3
  698. package/src/modules/orders/components/forms/FormApplicationDetails.vue +2 -2
  699. package/src/modules/orders/components/forms/FormCustomerDetails.vue +3 -3
  700. package/src/modules/orders/components/pages/Favorites.vue +1 -1
  701. package/src/modules/orders/components/pages/OrderBackoffice.vue +15 -15
  702. package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
  703. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +4 -4
  704. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  705. package/src/modules/orders/components/partials/ShopCart.vue +2 -2
  706. package/src/modules/orders/components/sections/ApplicationDetails.vue +2 -2
  707. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  708. package/src/modules/orders/components/sections/CustomerDetails.vue +2 -2
  709. package/src/modules/orders/components/sections/Succes.vue +4 -4
  710. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  711. package/src/modules/organizations/components/blocks/CardOrganization.vue +4 -4
  712. package/src/modules/organizations/components/blocks/Contacts.vue +8 -8
  713. package/src/modules/organizations/components/blocks/Rating.vue +1 -1
  714. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +3 -3
  715. package/src/modules/organizations/components/forms/DepartmentForm.vue +1 -1
  716. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  717. package/src/modules/organizations/components/pages/Department.vue +2 -2
  718. package/src/modules/organizations/components/pages/DepartmentEdit.vue +1 -1
  719. package/src/modules/organizations/components/pages/Members.vue +1 -1
  720. package/src/modules/organizations/components/pages/Organization.new.vue +8 -8
  721. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  722. package/src/modules/organizations/components/pages/OrganizationDocuments.vue +2 -2
  723. package/src/modules/organizations/components/pages/Organizations.vue +3 -3
  724. package/src/modules/organizations/components/sections/Documents.vue +2 -2
  725. package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
  726. package/src/modules/organizations/components/sections/Unit.vue +1 -1
  727. package/src/modules/pages/views/components/blocks/CardPage.vue +2 -2
  728. package/src/modules/pages/views/components/pages/Page.vue +5 -5
  729. package/src/modules/products/components/blocks/CardCategory.vue +1 -1
  730. package/src/modules/products/components/blocks/CardPosition.vue +4 -4
  731. package/src/modules/products/components/blocks/CardProduct.vue +3 -3
  732. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -3
  733. package/src/modules/products/components/blocks/ProductImages.vue +2 -2
  734. package/src/modules/products/components/blocks/ProductVariants.vue +2 -2
  735. package/src/modules/products/components/elements/Image360.vue +2 -2
  736. package/src/modules/products/components/elements/Price.vue +2 -2
  737. package/src/modules/products/components/elements/QuantitySelector.vue +3 -3
  738. package/src/modules/products/components/elements/THC.vue +1 -1
  739. package/src/modules/products/components/forms/ReorderSettingsForm.vue +1 -1
  740. package/src/modules/products/components/forms/StockAuditForm.vue +2 -2
  741. package/src/modules/products/components/forms/StockHistoryView.vue +1 -1
  742. package/src/modules/products/components/pages/Categories.vue +1 -1
  743. package/src/modules/products/components/pages/CategoryEdit.vue +2 -2
  744. package/src/modules/products/components/pages/Product.vue +6 -6
  745. package/src/modules/products/components/pages/ProductEdit.vue +6 -6
  746. package/src/modules/products/components/pages/Products.vue +11 -11
  747. package/src/modules/products/components/sections/EditAttributes.vue +4 -4
  748. package/src/modules/products/components/sections/EditCategories.vue +1 -1
  749. package/src/modules/products/components/sections/EditDiscounts.vue +6 -6
  750. package/src/modules/products/components/sections/EditRecommended.vue +1 -1
  751. package/src/modules/products/components/sections/EditVariants.vue +8 -8
  752. package/src/modules/products/components/sections/FilterProducts.vue +3 -3
  753. package/src/modules/products/components/sections/ProductConfigurator.vue +2 -2
  754. package/src/modules/products/components/sections/ProductInformationSection.vue +10 -10
  755. package/src/modules/products/components/sections/ProductsRecommended.vue +2 -2
  756. package/src/modules/products/components/sections/SectionProduct.vue +7 -7
  757. package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +3 -3
  758. package/src/modules/rents/views/components/blocks/CardRent.vue +1 -1
  759. package/src/modules/rents/views/components/pages/Gant/DateLabel.vue +1 -1
  760. package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +2 -2
  761. package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +8 -8
  762. package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +1 -1
  763. package/src/modules/rents/views/components/pages/Rents.vue +1 -1
  764. package/src/modules/rents/views/components/pages/RentsEdit.vue +6 -6
  765. package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
  766. package/src/modules/reports/components/sections/FormReport.vue +1 -1
  767. package/src/modules/spots/components/blocks/CardSpot.vue +4 -4
  768. package/src/modules/spots/components/blocks/SpotMemberModify.vue +1 -1
  769. package/src/modules/spots/components/layouts/Spots.vue +2 -2
  770. package/src/modules/spots/components/pages/Spot.vue +5 -5
  771. package/src/modules/spots/components/pages/SpotEdit.vue +2 -2
  772. package/src/modules/spots/components/pages/Spots.vue +3 -3
  773. package/src/modules/spots/components/sections/MapSection.vue +1 -1
  774. package/src/modules/spots/components/sections/WorktimeEdit.vue +4 -4
  775. package/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue +5 -5
  776. package/src/modules/wallet/views/components/blocks/CardDeposit.vue +5 -5
  777. package/src/modules/wallet/views/components/blocks/CashDeposit.vue +2 -2
  778. package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +4 -4
  779. package/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue +11 -11
  780. package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +4 -4
  781. package/src/modules/wallet/views/components/pages/Wallet.vue +22 -22
  782. package/src/styles/config.scss +193 -507
  783. package/src/styles/layout.scss +81 -1
  784. package/src/styles/reset.scss +2 -0
  785. package/src/styles/theme.scss +1 -8
  786. package/dist/martyrs/dist/main-BFvlam0J.js.map +0 -1
  787. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.js.map +0 -1
  788. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.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/Tooltip/Tooltip.vue.js.map +0 -1
  793. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
  794. 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
  795. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  796. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +0 -1
  797. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.js.map +0 -1
  798. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
  799. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  800. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  801. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  802. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
  803. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  804. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -20
  805. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  806. package/src/modules/LAYOUT.MD +0 -767
  807. package/src/modules/STYLES.MD +0 -298
  808. package/src/modules/inventory/inventory.router.js +0 -72
  809. package/src/modules/products/products.router.js +0 -299
  810. package/src/styles/base/all.scss +0 -233
  811. package/src/styles/base/backgrounds.scss +0 -70
  812. package/src/styles/base/borders.scss +0 -407
  813. package/src/styles/base/scrolling.scss +0 -137
  814. package/src/styles/base/shadow_transitions_hover_refactor.scss +0 -158
  815. package/src/styles/base/transitions.scss +0 -109
  816. package/src/styles/responsive.scss +0 -152
  817. package/src/styles/typography.scss +0 -161
  818. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
@@ -31,7 +31,7 @@ const _sfc_main = {
31
31
  height: "5",
32
32
  rx: "2.5",
33
33
  fill: __props.fill,
34
- class: "transition-linear"
34
+ class: "ease-linear"
35
35
  }, null, 8, _hoisted_2),
36
36
  createElementVNode("rect", {
37
37
  y: "9",
@@ -39,7 +39,7 @@ const _sfc_main = {
39
39
  height: "5",
40
40
  rx: "2.5",
41
41
  fill: __props.fill,
42
- class: "transition-linear"
42
+ class: "ease-linear"
43
43
  }, null, 8, _hoisted_3),
44
44
  createElementVNode("rect", {
45
45
  y: "18",
@@ -47,7 +47,7 @@ const _sfc_main = {
47
47
  height: "5",
48
48
  rx: "2.5",
49
49
  fill: __props.fill,
50
- class: "transition-linear"
50
+ class: "ease-linear"
51
51
  }, null, 8, _hoisted_4),
52
52
  createElementVNode("rect", {
53
53
  y: "27",
@@ -55,7 +55,7 @@ const _sfc_main = {
55
55
  height: "5",
56
56
  rx: "2.5",
57
57
  fill: __props.fill,
58
- class: "transition-linear"
58
+ class: "ease-linear"
59
59
  }, null, 8, _hoisted_5)
60
60
  ]);
61
61
  };
@@ -90,11 +90,11 @@ import SkeletonEvent from "../skeletons/SkeletonEvent.vue.js";
90
90
  /* empty css */
91
91
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
92
92
  const _hoisted_1 = { class: "pd-medium" };
93
- const _hoisted_2 = { class: "mn-b-medium t-medium" };
93
+ const _hoisted_2 = { class: "mn-b-medium fw-medium" };
94
94
  const _hoisted_3 = { class: "cols-6 gap-thin" };
95
95
  const _hoisted_4 = ["onClick"];
96
96
  const _hoisted_5 = { class: "flex-center flex h-60" };
97
- const _hoisted_6 = { class: "pd-t-thin pd-b-thin t-center t-small t-truncate" };
97
+ const _hoisted_6 = { class: "pd-t-thin pd-b-thin t-center t-small truncate" };
98
98
  const _hoisted_7 = {
99
99
  key: 0,
100
100
  class: "pd-thin bg-black radius-small t-small t-white pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin"
@@ -271,11 +271,11 @@ const _sfc_main = {
271
271
  }
272
272
  return (_ctx, _cache) => {
273
273
  return openBlock(), createElementBlock("div", _hoisted_1, [
274
- createElementVNode("div", { class: "flex-between mn-b-medium" }, [
274
+ createElementVNode("div", { class: "flex-justify-between mn-b-medium" }, [
275
275
  _cache[1] || (_cache[1] = createElementVNode("h2", null, "Martyrs Icons Gallery", -1)),
276
276
  createElementVNode("button", {
277
277
  onClick: openAddIconPopup,
278
- class: "pd-small pd-medium bg-second t-white radius-medium hover-scale-1 cursor-pointer border-none"
278
+ class: "pd-small pd-medium bg-second t-white radius-medium hover:scale-[1.05] cursor-pointer border-none"
279
279
  }, " Add New Icon ")
280
280
  ]),
281
281
  (openBlock(true), createElementBlock(Fragment, null, renderList(categories.value, (category, index) => {
@@ -288,7 +288,7 @@ const _sfc_main = {
288
288
  (openBlock(true), createElementBlock(Fragment, null, renderList(category.icons, (icon, iconIndex) => {
289
289
  return openBlock(), createElementBlock("div", {
290
290
  key: iconIndex,
291
- class: "icon-card aspect-1x1 bg-light radius-medium flex-center flex-v-center flex-column flex hover-scale-1 cursor-pointer pos-relative",
291
+ class: "icon-card aspect-1x1 bg-light radius-medium flex-center flex-v-center flex-column flex hover:scale-[1.05] cursor-pointer pos-relative",
292
292
  onClick: ($event) => copyIconName(icon.name, category.name)
293
293
  }, [
294
294
  createElementVNode("div", _hoisted_5, [
@@ -298,7 +298,7 @@ const _sfc_main = {
298
298
  copiedIcon.value === icon.name ? (openBlock(), createElementBlock("div", _hoisted_7, " Copied! ")) : createCommentVNode("", true),
299
299
  createElementVNode("button", {
300
300
  onClick: withModifiers(($event) => openReplaceIconPopup(icon, category.name), ["stop"]),
301
- class: "replace-btn pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin pd-micro bg-second radius-small hover-scale-1 cursor-pointer border-none",
301
+ class: "replace-btn pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin pd-micro bg-second radius-small hover:scale-[1.05] cursor-pointer border-none",
302
302
  title: "Replace icon"
303
303
  }, [
304
304
  createVNode(_sfc_main$R, {
@@ -323,7 +323,7 @@ const _sfc_main = {
323
323
  };
324
324
  }
325
325
  };
326
- const IconsPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c38b132b"]]);
326
+ const IconsPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ac4d495b"]]);
327
327
  export {
328
328
  IconsPage as default
329
329
  };
@@ -1 +1 @@
1
- {"version":3,"file":"IconsPage.vue.js","sources":["../../../../../../src/modules/icons/pages/IconsPage.vue"],"sourcesContent":["<template>\n <div class=\"pd-medium\">\n <div class=\"flex-between mn-b-medium\">\n <h2>Martyrs Icons Gallery</h2>\n <button @click=\"openAddIconPopup\" class=\"pd-small pd-medium bg-second t-white radius-medium hover-scale-1 cursor-pointer border-none\">\n Add New Icon\n </button>\n </div>\n \n <div v-for=\"(category, index) in categories\" :key=\"index\" class=\"mn-b-large\">\n <h3 class=\"mn-b-medium t-medium\">{{ formatCategoryName(category.name) }} ({{ category.icons.length }})</h3>\n <div class=\"cols-6 gap-thin\">\n <div \n v-for=\"(icon, iconIndex) in category.icons\" \n :key=\"iconIndex\" \n class=\"icon-card aspect-1x1 bg-light radius-medium flex-center flex-v-center flex-column flex hover-scale-1 cursor-pointer pos-relative\"\n @click=\"copyIconName(icon.name, category.name)\"\n >\n <div class=\"flex-center flex h-60\">\n <component :is=\"icon.component\" class=\"w-2r h-2r\" />\n </div>\n <div class=\"pd-t-thin pd-b-thin t-center t-small t-truncate\">\n {{ icon.name }}\n </div>\n <div v-if=\"copiedIcon === icon.name\" class=\"pd-thin bg-black radius-small t-small t-white pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin\">\n Copied!\n </div>\n <button \n @click.stop=\"openReplaceIconPopup(icon, category.name)\"\n class=\"replace-btn pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin pd-micro bg-second radius-small hover-scale-1 cursor-pointer border-none\"\n title=\"Replace icon\"\n >\n <IconRefresh class=\"w-1r h-1r\" :fill=\"'rgb(var(--white))'\" />\n </button>\n </div>\n </div>\n </div>\n\n <div v-if=\"displayNotification\" class=\"notification bg-third pd-small radius-medium pos-fixed pos-b-0 pos-r-0 mn-b-large mn-r-large\">\n {{ notificationMessage }}\n </div>\n\n <IconSearchPopup \n :isOpen=\"showSearchPopup\" \n :mode=\"popupMode\"\n :currentIcon=\"currentIconForReplace\"\n @close=\"showSearchPopup = false\"\n @icon-selected=\"handleIconSelected\"\n />\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue';\nimport IconSearchPopup from '../components/IconSearchPopup.vue';\n\n// Import navigation icons\nimport IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue';\nimport IconMinus from '@martyrs/src/modules/icons/navigation/IconMinus.vue';\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue';\nimport IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue';\nimport IconHeart from '@martyrs/src/modules/icons/navigation/IconHeart.vue';\nimport IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue';\nimport IconPause from '@martyrs/src/modules/icons/navigation/IconPause.vue';\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue';\nimport IconVolume from '@martyrs/src/modules/icons/navigation/IconVolume.vue';\nimport IconUnMute from '@martyrs/src/modules/icons/navigation/IconUnMute.vue';\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\nimport IconDoubleCheck from '@martyrs/src/modules/icons/navigation/IconDoubleCheck.vue';\nimport IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';\nimport IconChevronRight from '@martyrs/src/modules/icons/navigation/IconChevronRight.vue';\nimport IconLike from '@martyrs/src/modules/icons/navigation/IconLike.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\nimport IconCheck from '@martyrs/src/modules/icons/navigation/IconCheck.vue';\nimport IconFilter from '@martyrs/src/modules/icons/navigation/IconFilter.vue';\nimport IconAttach from '@martyrs/src/modules/icons/navigation/IconAttach.vue';\nimport IconRefresh from '@martyrs/src/modules/icons/navigation/IconRefresh.vue';\nimport IconUpload from '@martyrs/src/modules/icons/navigation/IconUpload.vue';\nimport IconSort from '@martyrs/src/modules/icons/navigation/IconSort.vue';\nimport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue';\nimport IconChevronLeft from '@martyrs/src/modules/icons/navigation/IconChevronLeft.vue';\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue';\nimport IconMute from '@martyrs/src/modules/icons/navigation/IconMute.vue';\nimport IconSend from '@martyrs/src/modules/icons/navigation/IconSend.vue';\nimport IconArrow from '@martyrs/src/modules/icons/navigation/IconArrow.vue';\nimport IconPlay from '@martyrs/src/modules/icons/navigation/IconPlay.vue';\nimport IconShuffle from '@martyrs/src/modules/icons/navigation/IconShuffle.vue';\n\n// Import entities icons\nimport IconInfoEntities from '@martyrs/src/modules/icons/entities/IconInfo.vue';\nimport IconPrice from '@martyrs/src/modules/icons/entities/IconPrice.vue';\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue';\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue';\nimport IconBell from '@martyrs/src/modules/icons/entities/IconBell.vue';\nimport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue';\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue';\nimport IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue';\nimport IconFile from '@martyrs/src/modules/icons/entities/IconFile.vue';\nimport IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue';\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue';\nimport IconHome from '@martyrs/src/modules/icons/entities/IconHome.vue';\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue';\nimport IconCatalog from '@martyrs/src/modules/icons/entities/IconCatalog.vue';\nimport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue';\nimport IconRecent from '@martyrs/src/modules/icons/entities/IconRecent.vue';\nimport IconList from '@martyrs/src/modules/icons/entities/IconList.vue';\nimport IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue';\nimport IconEarn from '@martyrs/src/modules/icons/entities/IconEarn.vue';\nimport IconPopular from '@martyrs/src/modules/icons/entities/IconPopular.vue';\nimport IconDiscount from '@martyrs/src/modules/icons/entities/IconDiscount.vue';\nimport IconDate from '@martyrs/src/modules/icons/entities/IconDate.vue';\nimport IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue';\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue';\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue';\nimport IconMusic from '@martyrs/src/modules/icons/entities/IconMusic.vue';\nimport IconPhone from '@martyrs/src/modules/icons/entities/IconPhone.vue';\nimport IconEmail from '@martyrs/src/modules/icons/entities/IconEmail.vue';\nimport IconAddress from '@martyrs/src/modules/icons/entities/IconAddress.vue';\nimport IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue';\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue';\nimport IconLock from '@martyrs/src/modules/icons/entities/IconLock.vue';\n\n// Import placeholders icons\nimport PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue';\nimport PlaceholderChat from '@martyrs/src/modules/icons/placeholders/PlaceholderChat.vue';\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue';\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue';\n\n// Import socials icons\nimport Vk from '@martyrs/src/modules/icons/socials/vk.vue';\nimport Instagram from '@martyrs/src/modules/icons/socials/instagram.vue';\nimport Telegram from '@martyrs/src/modules/icons/socials/telegram.vue';\nimport Twitter from '@martyrs/src/modules/icons/socials/twitter.vue';\nimport Linkedin from '@martyrs/src/modules/icons/socials/linkedin.vue';\nimport Reddit from '@martyrs/src/modules/icons/socials/reddit.vue';\nimport Dribbble from '@martyrs/src/modules/icons/socials/dribbble.vue';\nimport Facebook from '@martyrs/src/modules/icons/socials/facebook.vue';\nimport Youtube from '@martyrs/src/modules/icons/socials/youtube.vue';\nimport Line from '@martyrs/src/modules/icons/socials/line.vue';\n\n// Import actions icons\nimport IconDuplicate from '@martyrs/src/modules/icons/actions/IconDuplicate.vue';\nimport IconOpenLink from '@martyrs/src/modules/icons/actions/IconOpenLink.vue';\nimport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue';\nimport IconShow from '@martyrs/src/modules/icons/actions/IconShow.vue';\n\n// Import labels icons\nimport LabelGooglePlay from '@martyrs/src/modules/icons/labels/LabelGooglePlay.vue';\nimport LabelAppStore from '@martyrs/src/modules/icons/labels/LabelAppStore.vue';\n\n// Import logos icons\nimport Logotype from '@martyrs/src/modules/icons/logos/Logotype.vue';\n\n// Import skeletons icons\nimport SkeletonEventShort from '@martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue';\nimport SkeletonBlogpost from '@martyrs/src/modules/icons/skeletons/SkeletonBlogpost.vue';\nimport SkeletonOrganization from '@martyrs/src/modules/icons/skeletons/SkeletonOrganization.vue';\nimport SkeletonEvent from '@martyrs/src/modules/icons/skeletons/SkeletonEvent.vue';\n\n// Icons map to avoid duplication\nconst iconsMap = {\n navigation: {\n IconInfo,\n IconMinus,\n IconEllipsis,\n IconPlus,\n IconHeart,\n IconCheckmark,\n IconPause,\n IconAdd,\n IconVolume,\n IconUnMute,\n IconCross,\n IconDoubleCheck,\n IconSearch,\n IconChevronRight,\n IconLike,\n IconDelete,\n IconCheck,\n IconFilter,\n IconAttach,\n IconRefresh,\n IconUpload,\n IconSort,\n IconChevronBottom,\n IconChevronLeft,\n IconEdit,\n IconMute,\n IconSend,\n IconArrow,\n IconPlay,\n IconShuffle\n },\n entities: {\n IconInfo: IconInfoEntities,\n IconPrice,\n IconCalendar,\n IconPayments,\n IconBell,\n IconTime,\n IconCommunity,\n IconGallery,\n IconFile,\n IconFollowing,\n IconEvents,\n IconHome,\n IconProducts,\n IconCatalog,\n IconShopcart,\n IconRecent,\n IconList,\n IconSettings,\n IconPhone,\n IconEmail,\n IconAddress,\n IconEarn,\n IconPopular,\n IconDiscount,\n IconDate,\n IconFeatured,\n IconLeftovers,\n IconOrders,\n IconMusic,\n IconProfile,\n IconGroups,\n IconLock\n },\n placeholders: {\n PlaceholderOrganizationPic,\n PlaceholderChat,\n PlaceholderImage,\n PlaceholderUserpic\n },\n socials: {\n vk: Vk,\n instagram: Instagram,\n telegram: Telegram,\n twitter: Twitter,\n linkedin: Linkedin,\n reddit: Reddit,\n dribbble: Dribbble,\n facebook: Facebook,\n youtube: Youtube,\n line: Line\n },\n actions: {\n IconDuplicate,\n IconOpenLink,\n IconShopcartAdd,\n IconShow\n },\n labels: {\n LabelGooglePlay,\n LabelAppStore\n },\n logos: {\n Logotype\n },\n skeletons: {\n SkeletonEventShort,\n SkeletonBlogpost,\n SkeletonOrganization,\n SkeletonEvent\n }\n};\n\nconst categories = ref([]);\nconst copiedIcon = ref('');\nconst displayNotification = ref(false);\nconst notificationMessage = ref('');\nconst showSearchPopup = ref(false);\nconst popupMode = ref('add');\nconst currentIconForReplace = ref(null);\n\nonMounted(() => {\n loadIcons();\n});\n\nfunction loadIcons() {\n categories.value = Object.entries(iconsMap).map(([categoryName, icons]) => ({\n name: categoryName,\n icons: Object.entries(icons).map(([name, component]) => ({\n name,\n component\n }))\n }));\n}\n\nfunction formatCategoryName(name) {\n return name.charAt(0).toUpperCase() + name.slice(1);\n}\n\nfunction copyIconName(iconName, categoryName) {\n const importStatement = `import ${iconName} from '@martyrs/src/modules/icons/${categoryName}/${iconName}.vue';`;\n navigator.clipboard.writeText(importStatement);\n \n copiedIcon.value = iconName;\n notificationMessage.value = `Copied: ${importStatement}`;\n displayNotification.value = true;\n \n setTimeout(() => {\n copiedIcon.value = '';\n setTimeout(() => {\n displayNotification.value = false;\n }, 2000);\n }, 1000);\n}\n\nfunction openAddIconPopup() {\n popupMode.value = 'add';\n currentIconForReplace.value = null;\n showSearchPopup.value = true;\n}\n\nfunction openReplaceIconPopup(icon, categoryName) {\n popupMode.value = 'replace';\n currentIconForReplace.value = {\n name: icon.name,\n category: categoryName,\n component: icon.component\n };\n showSearchPopup.value = true;\n}\n\nfunction handleIconSelected(data) {\n // Reload icons after successful save\n loadIcons();\n \n // Show success notification\n notificationMessage.value = data.mode === 'add' \n ? `Added new icon: ${data.icon.name}` \n : `Replaced icon: ${data.icon.name}`;\n displayNotification.value = true;\n \n setTimeout(() => {\n displayNotification.value = false;\n }, 3000);\n}\n</script>\n\n<style scoped>\n.h-60 {\n height: 60%;\n}\n\n.notification {\n z-index: 100;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n transition: all 0.3s ease;\n animation: fadeIn 0.3s;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.icon-card .replace-btn {\n opacity: 0;\n transition: opacity 0.2s ease;\n}\n\n.icon-card:hover .replace-btn {\n opacity: 1;\n}\n\n.flex-between {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n</style>"],"names":["IconInfo","IconMinus","IconEllipsis","IconPlus","IconHeart","IconCheckmark","IconPause","IconAdd","IconVolume","IconUnMute","IconCross","IconDoubleCheck","IconSearch","IconChevronRight","IconLike","IconDelete","IconCheck","IconFilter","IconAttach","IconRefresh","IconUpload","IconSort","IconChevronLeft","IconEdit","IconMute","IconArrow","IconPlay","IconShuffle","IconInfoEntities","IconPrice","IconCalendar","IconPayments","IconBell","IconCommunity","IconGallery","IconFile","IconFollowing","IconEvents","IconHome","IconProducts","IconCatalog","IconShopcart","IconRecent","IconList","IconSettings","IconPhone","IconEmail","IconAddress","IconEarn","IconPopular","IconDiscount","IconDate","IconFeatured","IconLeftovers","IconOrders","IconMusic","IconProfile","IconGroups","IconLock","Vk","Instagram","Telegram","Twitter","Linkedin","Reddit","Dribbble","Facebook","Youtube","Line","IconDuplicate","IconOpenLink","IconShopcartAdd","IconShow"],"mappings":"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"}
1
+ {"version":3,"file":"IconsPage.vue.js","sources":["../../../../../../src/modules/icons/pages/IconsPage.vue"],"sourcesContent":["<template>\n <div class=\"pd-medium\">\n <div class=\"flex-justify-between mn-b-medium\">\n <h2>Martyrs Icons Gallery</h2>\n <button @click=\"openAddIconPopup\" class=\"pd-small pd-medium bg-second t-white radius-medium hover:scale-[1.05] cursor-pointer border-none\">\n Add New Icon\n </button>\n </div>\n \n <div v-for=\"(category, index) in categories\" :key=\"index\" class=\"mn-b-large\">\n <h3 class=\"mn-b-medium fw-medium\">{{ formatCategoryName(category.name) }} ({{ category.icons.length }})</h3>\n <div class=\"cols-6 gap-thin\">\n <div \n v-for=\"(icon, iconIndex) in category.icons\" \n :key=\"iconIndex\" \n class=\"icon-card aspect-1x1 bg-light radius-medium flex-center flex-v-center flex-column flex hover:scale-[1.05] cursor-pointer pos-relative\"\n @click=\"copyIconName(icon.name, category.name)\"\n >\n <div class=\"flex-center flex h-60\">\n <component :is=\"icon.component\" class=\"w-2r h-2r\" />\n </div>\n <div class=\"pd-t-thin pd-b-thin t-center t-small truncate\">\n {{ icon.name }}\n </div>\n <div v-if=\"copiedIcon === icon.name\" class=\"pd-thin bg-black radius-small t-small t-white pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin\">\n Copied!\n </div>\n <button \n @click.stop=\"openReplaceIconPopup(icon, category.name)\"\n class=\"replace-btn pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin pd-micro bg-second radius-small hover:scale-[1.05] cursor-pointer border-none\"\n title=\"Replace icon\"\n >\n <IconRefresh class=\"w-1r h-1r\" :fill=\"'rgb(var(--white))'\" />\n </button>\n </div>\n </div>\n </div>\n\n <div v-if=\"displayNotification\" class=\"notification bg-third pd-small radius-medium pos-fixed pos-b-0 pos-r-0 mn-b-large mn-r-large\">\n {{ notificationMessage }}\n </div>\n\n <IconSearchPopup \n :isOpen=\"showSearchPopup\" \n :mode=\"popupMode\"\n :currentIcon=\"currentIconForReplace\"\n @close=\"showSearchPopup = false\"\n @icon-selected=\"handleIconSelected\"\n />\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue';\nimport IconSearchPopup from '../components/IconSearchPopup.vue';\n\n// Import navigation icons\nimport IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue';\nimport IconMinus from '@martyrs/src/modules/icons/navigation/IconMinus.vue';\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue';\nimport IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue';\nimport IconHeart from '@martyrs/src/modules/icons/navigation/IconHeart.vue';\nimport IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue';\nimport IconPause from '@martyrs/src/modules/icons/navigation/IconPause.vue';\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue';\nimport IconVolume from '@martyrs/src/modules/icons/navigation/IconVolume.vue';\nimport IconUnMute from '@martyrs/src/modules/icons/navigation/IconUnMute.vue';\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\nimport IconDoubleCheck from '@martyrs/src/modules/icons/navigation/IconDoubleCheck.vue';\nimport IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';\nimport IconChevronRight from '@martyrs/src/modules/icons/navigation/IconChevronRight.vue';\nimport IconLike from '@martyrs/src/modules/icons/navigation/IconLike.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\nimport IconCheck from '@martyrs/src/modules/icons/navigation/IconCheck.vue';\nimport IconFilter from '@martyrs/src/modules/icons/navigation/IconFilter.vue';\nimport IconAttach from '@martyrs/src/modules/icons/navigation/IconAttach.vue';\nimport IconRefresh from '@martyrs/src/modules/icons/navigation/IconRefresh.vue';\nimport IconUpload from '@martyrs/src/modules/icons/navigation/IconUpload.vue';\nimport IconSort from '@martyrs/src/modules/icons/navigation/IconSort.vue';\nimport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue';\nimport IconChevronLeft from '@martyrs/src/modules/icons/navigation/IconChevronLeft.vue';\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue';\nimport IconMute from '@martyrs/src/modules/icons/navigation/IconMute.vue';\nimport IconSend from '@martyrs/src/modules/icons/navigation/IconSend.vue';\nimport IconArrow from '@martyrs/src/modules/icons/navigation/IconArrow.vue';\nimport IconPlay from '@martyrs/src/modules/icons/navigation/IconPlay.vue';\nimport IconShuffle from '@martyrs/src/modules/icons/navigation/IconShuffle.vue';\n\n// Import entities icons\nimport IconInfoEntities from '@martyrs/src/modules/icons/entities/IconInfo.vue';\nimport IconPrice from '@martyrs/src/modules/icons/entities/IconPrice.vue';\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue';\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue';\nimport IconBell from '@martyrs/src/modules/icons/entities/IconBell.vue';\nimport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue';\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue';\nimport IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue';\nimport IconFile from '@martyrs/src/modules/icons/entities/IconFile.vue';\nimport IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue';\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue';\nimport IconHome from '@martyrs/src/modules/icons/entities/IconHome.vue';\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue';\nimport IconCatalog from '@martyrs/src/modules/icons/entities/IconCatalog.vue';\nimport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue';\nimport IconRecent from '@martyrs/src/modules/icons/entities/IconRecent.vue';\nimport IconList from '@martyrs/src/modules/icons/entities/IconList.vue';\nimport IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue';\nimport IconEarn from '@martyrs/src/modules/icons/entities/IconEarn.vue';\nimport IconPopular from '@martyrs/src/modules/icons/entities/IconPopular.vue';\nimport IconDiscount from '@martyrs/src/modules/icons/entities/IconDiscount.vue';\nimport IconDate from '@martyrs/src/modules/icons/entities/IconDate.vue';\nimport IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue';\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue';\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue';\nimport IconMusic from '@martyrs/src/modules/icons/entities/IconMusic.vue';\nimport IconPhone from '@martyrs/src/modules/icons/entities/IconPhone.vue';\nimport IconEmail from '@martyrs/src/modules/icons/entities/IconEmail.vue';\nimport IconAddress from '@martyrs/src/modules/icons/entities/IconAddress.vue';\nimport IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue';\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue';\nimport IconLock from '@martyrs/src/modules/icons/entities/IconLock.vue';\n\n// Import placeholders icons\nimport PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue';\nimport PlaceholderChat from '@martyrs/src/modules/icons/placeholders/PlaceholderChat.vue';\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue';\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue';\n\n// Import socials icons\nimport Vk from '@martyrs/src/modules/icons/socials/vk.vue';\nimport Instagram from '@martyrs/src/modules/icons/socials/instagram.vue';\nimport Telegram from '@martyrs/src/modules/icons/socials/telegram.vue';\nimport Twitter from '@martyrs/src/modules/icons/socials/twitter.vue';\nimport Linkedin from '@martyrs/src/modules/icons/socials/linkedin.vue';\nimport Reddit from '@martyrs/src/modules/icons/socials/reddit.vue';\nimport Dribbble from '@martyrs/src/modules/icons/socials/dribbble.vue';\nimport Facebook from '@martyrs/src/modules/icons/socials/facebook.vue';\nimport Youtube from '@martyrs/src/modules/icons/socials/youtube.vue';\nimport Line from '@martyrs/src/modules/icons/socials/line.vue';\n\n// Import actions icons\nimport IconDuplicate from '@martyrs/src/modules/icons/actions/IconDuplicate.vue';\nimport IconOpenLink from '@martyrs/src/modules/icons/actions/IconOpenLink.vue';\nimport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue';\nimport IconShow from '@martyrs/src/modules/icons/actions/IconShow.vue';\n\n// Import labels icons\nimport LabelGooglePlay from '@martyrs/src/modules/icons/labels/LabelGooglePlay.vue';\nimport LabelAppStore from '@martyrs/src/modules/icons/labels/LabelAppStore.vue';\n\n// Import logos icons\nimport Logotype from '@martyrs/src/modules/icons/logos/Logotype.vue';\n\n// Import skeletons icons\nimport SkeletonEventShort from '@martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue';\nimport SkeletonBlogpost from '@martyrs/src/modules/icons/skeletons/SkeletonBlogpost.vue';\nimport SkeletonOrganization from '@martyrs/src/modules/icons/skeletons/SkeletonOrganization.vue';\nimport SkeletonEvent from '@martyrs/src/modules/icons/skeletons/SkeletonEvent.vue';\n\n// Icons map to avoid duplication\nconst iconsMap = {\n navigation: {\n IconInfo,\n IconMinus,\n IconEllipsis,\n IconPlus,\n IconHeart,\n IconCheckmark,\n IconPause,\n IconAdd,\n IconVolume,\n IconUnMute,\n IconCross,\n IconDoubleCheck,\n IconSearch,\n IconChevronRight,\n IconLike,\n IconDelete,\n IconCheck,\n IconFilter,\n IconAttach,\n IconRefresh,\n IconUpload,\n IconSort,\n IconChevronBottom,\n IconChevronLeft,\n IconEdit,\n IconMute,\n IconSend,\n IconArrow,\n IconPlay,\n IconShuffle\n },\n entities: {\n IconInfo: IconInfoEntities,\n IconPrice,\n IconCalendar,\n IconPayments,\n IconBell,\n IconTime,\n IconCommunity,\n IconGallery,\n IconFile,\n IconFollowing,\n IconEvents,\n IconHome,\n IconProducts,\n IconCatalog,\n IconShopcart,\n IconRecent,\n IconList,\n IconSettings,\n IconPhone,\n IconEmail,\n IconAddress,\n IconEarn,\n IconPopular,\n IconDiscount,\n IconDate,\n IconFeatured,\n IconLeftovers,\n IconOrders,\n IconMusic,\n IconProfile,\n IconGroups,\n IconLock\n },\n placeholders: {\n PlaceholderOrganizationPic,\n PlaceholderChat,\n PlaceholderImage,\n PlaceholderUserpic\n },\n socials: {\n vk: Vk,\n instagram: Instagram,\n telegram: Telegram,\n twitter: Twitter,\n linkedin: Linkedin,\n reddit: Reddit,\n dribbble: Dribbble,\n facebook: Facebook,\n youtube: Youtube,\n line: Line\n },\n actions: {\n IconDuplicate,\n IconOpenLink,\n IconShopcartAdd,\n IconShow\n },\n labels: {\n LabelGooglePlay,\n LabelAppStore\n },\n logos: {\n Logotype\n },\n skeletons: {\n SkeletonEventShort,\n SkeletonBlogpost,\n SkeletonOrganization,\n SkeletonEvent\n }\n};\n\nconst categories = ref([]);\nconst copiedIcon = ref('');\nconst displayNotification = ref(false);\nconst notificationMessage = ref('');\nconst showSearchPopup = ref(false);\nconst popupMode = ref('add');\nconst currentIconForReplace = ref(null);\n\nonMounted(() => {\n loadIcons();\n});\n\nfunction loadIcons() {\n categories.value = Object.entries(iconsMap).map(([categoryName, icons]) => ({\n name: categoryName,\n icons: Object.entries(icons).map(([name, component]) => ({\n name,\n component\n }))\n }));\n}\n\nfunction formatCategoryName(name) {\n return name.charAt(0).toUpperCase() + name.slice(1);\n}\n\nfunction copyIconName(iconName, categoryName) {\n const importStatement = `import ${iconName} from '@martyrs/src/modules/icons/${categoryName}/${iconName}.vue';`;\n navigator.clipboard.writeText(importStatement);\n \n copiedIcon.value = iconName;\n notificationMessage.value = `Copied: ${importStatement}`;\n displayNotification.value = true;\n \n setTimeout(() => {\n copiedIcon.value = '';\n setTimeout(() => {\n displayNotification.value = false;\n }, 2000);\n }, 1000);\n}\n\nfunction openAddIconPopup() {\n popupMode.value = 'add';\n currentIconForReplace.value = null;\n showSearchPopup.value = true;\n}\n\nfunction openReplaceIconPopup(icon, categoryName) {\n popupMode.value = 'replace';\n currentIconForReplace.value = {\n name: icon.name,\n category: categoryName,\n component: icon.component\n };\n showSearchPopup.value = true;\n}\n\nfunction handleIconSelected(data) {\n // Reload icons after successful save\n loadIcons();\n \n // Show success notification\n notificationMessage.value = data.mode === 'add' \n ? `Added new icon: ${data.icon.name}` \n : `Replaced icon: ${data.icon.name}`;\n displayNotification.value = true;\n \n setTimeout(() => {\n displayNotification.value = false;\n }, 3000);\n}\n</script>\n\n<style scoped>\n.h-60 {\n height: 60%;\n}\n\n.notification {\n z-index: 100;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n transition: all 0.3s ease;\n animation: fadeIn 0.3s;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.icon-card .replace-btn {\n opacity: 0;\n transition: opacity 0.2s ease;\n}\n\n.icon-card:hover .replace-btn {\n opacity: 1;\n}\n\n.flex-justify-between {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n</style>"],"names":["IconInfo","IconMinus","IconEllipsis","IconPlus","IconHeart","IconCheckmark","IconPause","IconAdd","IconVolume","IconUnMute","IconCross","IconDoubleCheck","IconSearch","IconChevronRight","IconLike","IconDelete","IconCheck","IconFilter","IconAttach","IconRefresh","IconUpload","IconSort","IconChevronLeft","IconEdit","IconMute","IconArrow","IconPlay","IconShuffle","IconInfoEntities","IconPrice","IconCalendar","IconPayments","IconBell","IconCommunity","IconGallery","IconFile","IconFollowing","IconEvents","IconHome","IconProducts","IconCatalog","IconShopcart","IconRecent","IconList","IconSettings","IconPhone","IconEmail","IconAddress","IconEarn","IconPopular","IconDiscount","IconDate","IconFeatured","IconLeftovers","IconOrders","IconMusic","IconProfile","IconGroups","IconLock","Vk","Instagram","Telegram","Twitter","Linkedin","Reddit","Dribbble","Facebook","Youtube","Line","IconDuplicate","IconOpenLink","IconShopcartAdd","IconShow"],"mappings":"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"}
@@ -145,7 +145,7 @@ const _sfc_main = {
145
145
  ])
146
146
  ]),
147
147
  productVariants.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_4, [
148
- _cache[4] || (_cache[4] = createElementVNode("p", { class: "mn-b-small t-medium" }, "Select Variant", -1)),
148
+ _cache[4] || (_cache[4] = createElementVNode("p", { class: "mn-b-small fw-medium" }, "Select Variant", -1)),
149
149
  createVNode(Select, {
150
150
  select: selectedVariant.value,
151
151
  "onUpdate:select": _cache[1] || (_cache[1] = ($event) => selectedVariant.value = $event),
@@ -157,7 +157,7 @@ const _sfc_main = {
157
157
  }, null, 8, ["select", "options"])
158
158
  ])) : createCommentVNode("", true),
159
159
  createElementVNode("div", _hoisted_5, [
160
- _cache[5] || (_cache[5] = createElementVNode("p", { class: "mn-b-small t-medium" }, "Select Storage", -1)),
160
+ _cache[5] || (_cache[5] = createElementVNode("p", { class: "mn-b-small fw-medium" }, "Select Storage", -1)),
161
161
  createVNode(Select, {
162
162
  select: selectedStorage.value,
163
163
  "onUpdate:select": _cache[2] || (_cache[2] = ($event) => selectedStorage.value = $event),
@@ -169,7 +169,7 @@ const _sfc_main = {
169
169
  }, null, 8, ["select", "options"])
170
170
  ]),
171
171
  createElementVNode("div", _hoisted_6, [
172
- _cache[6] || (_cache[6] = createElementVNode("p", { class: "mn-b-small t-medium" }, "Adjustment Reason", -1)),
172
+ _cache[6] || (_cache[6] = createElementVNode("p", { class: "mn-b-small fw-medium" }, "Adjustment Reason", -1)),
173
173
  createElementVNode("div", _hoisted_7, [
174
174
  (openBlock(), createElementBlock(Fragment, null, renderList(adjustmentReasons, (reason) => {
175
175
  return createElementVNode("div", {
@@ -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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"}
@@ -4,7 +4,7 @@ import { useGlobalMixins } from "../../../core/views/mixins/mixins.js";
4
4
  import Table from "../../../../components/Table/Table.vue.js";
5
5
  import _sfc_main$1 from "../../../../components/Feed/Feed.vue.js";
6
6
  import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
7
- import _sfc_main$3 from "../../../../components/Dropdown/Dropdown.vue.js";
7
+ import _sfc_main$3 from "../../../../components/Dropdown/Dropdown.vue2.js";
8
8
  import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
9
9
  import _sfc_main$2 from "../../../icons/entities/IconSettings.vue.js";
10
10
  import _sfc_main$4 from "../../../icons/navigation/IconEllipsis.vue.js";
@@ -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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"}
@@ -4,7 +4,7 @@ import _sfc_main$7 from "../../../../components/Button/Button.vue2.js";
4
4
  import Field from "../../../../components/Field/Field.vue.js";
5
5
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
6
6
  /* empty css */
7
- /* empty css */
7
+ /* empty css */
8
8
  import _sfc_main$1 from "../../../../components/Popup/Popup.vue.js";
9
9
  import _sfc_main$3 from "../../../orders/components/blocks/CardOrderItem.vue.js";
10
10
  import CardSpot from "../../../spots/components/blocks/CardSpot.vue.js";
@@ -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(() => [