@ozdao/martyrs 0.2.570 → 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 (832) hide show
  1. package/dist/_virtual/dayjs.min.js +1 -1
  2. package/dist/_virtual/weekOfYear.js +1 -1
  3. package/dist/builder.js +1248 -106
  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 +1 -1
  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.vue.js → Button.vue2.js} +2 -2
  37. package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
  38. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +6 -6
  39. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  40. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +2 -2
  41. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  42. package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
  43. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +5 -5
  44. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  45. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +4 -4
  46. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  47. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  48. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.js.map +1 -0
  49. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
  50. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
  51. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  52. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  53. package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
  54. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
  55. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +4 -4
  56. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  57. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  58. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js +1 -1
  60. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -1
  61. package/dist/martyrs/src/components/Loader/Loader.vue2.js +1 -1
  62. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +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.vue2.js → Select.vue.js} +4 -4
  72. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  73. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue.js → SelectMulti.vue2.js} +2 -2
  74. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +1 -0
  75. package/dist/martyrs/src/components/Table/Table.vue.js +3 -3
  76. package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
  77. package/dist/martyrs/src/components/Text/Text.vue.js +1 -1
  78. package/dist/martyrs/src/components/Text/Text.vue.js.map +1 -1
  79. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +3 -3
  80. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
  81. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +3 -3
  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/EnterCode.vue.js +1 -1
  89. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +4 -4
  90. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  92. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +9 -9
  93. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  95. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js.map +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +2 -2
  97. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
  99. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +3 -3
  100. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +5 -5
  102. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  104. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  105. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +3 -3
  106. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  108. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +9 -9
  110. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +1 -1
  112. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  113. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -1
  114. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +4 -4
  115. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  116. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +6 -6
  117. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  118. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +1 -1
  119. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
  120. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +2 -2
  121. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  122. package/dist/martyrs/src/modules/community/components/blocks/Activity.vue.js +7 -7
  123. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  124. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  125. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +4 -4
  126. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
  127. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +11 -11
  128. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  129. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  130. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
  131. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
  132. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +2 -2
  133. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
  134. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +3 -3
  135. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  136. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
  137. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js +1 -1
  138. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
  140. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +2 -2
  141. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js.map +1 -1
  142. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js +1 -1
  143. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js.map +1 -1
  144. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js +1 -1
  145. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js.map +1 -1
  146. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  147. package/dist/martyrs/src/modules/core/views/classes/core.app.js +2 -1
  148. package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
  149. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js +1 -1
  150. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js +2 -2
  151. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js.map +1 -1
  152. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +9 -9
  153. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
  154. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +2 -2
  155. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
  156. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +2 -2
  157. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js.map +1 -1
  158. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +1 -1
  159. package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js +1 -1
  160. package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/core/views/components/elements/PhotoStack.vue.js +3 -3
  162. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js +25 -5
  163. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js.map +1 -1
  164. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +4 -4
  165. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
  166. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +11 -11
  167. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  168. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js +1 -1
  169. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js.map +1 -1
  170. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js +16 -16
  171. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js.map +1 -1
  172. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +9 -9
  173. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  174. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +1 -1
  175. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
  176. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +24 -24
  177. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  178. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +4 -4
  179. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js.map +1 -1
  180. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +7 -7
  181. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  182. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
  183. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  184. package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +1 -1
  185. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js +2 -2
  186. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js.map +1 -1
  187. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js +3 -3
  188. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js.map +1 -1
  189. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js +3 -3
  190. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js.map +1 -1
  191. package/dist/martyrs/src/modules/core/views/store/core.store.js +29 -47
  192. package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
  193. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +21 -2
  194. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
  195. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +5 -5
  196. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  197. package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js +3 -3
  198. package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js.map +1 -1
  199. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  200. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  201. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -4
  202. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  203. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +21 -21
  204. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  205. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +7 -7
  206. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
  208. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +2 -2
  210. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +7 -7
  212. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js.map +1 -1
  213. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +2 -2
  214. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  216. package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
  217. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +1 -1
  218. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  220. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js.map +1 -1
  221. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +5 -5
  222. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +4 -4
  224. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
  225. package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +4 -4
  226. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +7 -7
  227. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  228. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +6 -6
  229. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  230. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  231. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +3 -3
  232. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +4 -4
  234. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +11 -11
  236. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +9 -9
  238. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +5 -5
  240. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  241. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
  242. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  243. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  244. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  245. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +2 -2
  246. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
  247. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
  248. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js +2 -2
  250. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
  251. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +3 -3
  252. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
  253. package/dist/martyrs/src/modules/marketplace/marketplace.client.js +3 -3
  254. package/dist/martyrs/src/modules/marketplace/marketplace.client.js.map +1 -1
  255. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +6 -6
  256. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js.map +1 -1
  257. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +5 -3
  258. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +4 -4
  260. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js.map +1 -1
  261. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +6 -6
  262. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +4 -4
  264. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  265. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +4 -4
  266. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +6 -6
  268. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  269. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +6 -6
  270. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +11 -11
  272. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  273. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +7 -7
  274. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +9 -9
  276. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  277. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +3 -3
  278. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +16 -16
  280. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +24 -24
  282. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +8 -8
  284. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  285. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +10 -13
  286. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +10 -10
  288. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  289. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +27 -27
  290. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +17 -17
  292. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  293. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +27 -27
  294. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  296. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +8 -8
  297. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
  298. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  299. package/dist/martyrs/src/modules/music/components/player/PlayerControls.vue.js +1 -1
  300. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +1 -1
  301. package/dist/martyrs/src/modules/music/music.client.js +6 -6
  302. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  303. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
  304. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  305. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
  306. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  307. package/dist/martyrs/src/modules/notifications/notifications.client.js +2 -2
  308. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +1 -1
  309. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +2 -2
  310. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +2 -2
  311. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +9 -9
  312. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  313. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +5 -5
  314. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +9 -9
  316. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  317. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +4 -4
  318. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  319. package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js +2 -2
  320. package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js.map +1 -1
  321. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
  322. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  323. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +3 -3
  324. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  325. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +5 -5
  326. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
  327. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +6 -6
  328. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
  329. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  330. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +18 -18
  331. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  332. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +3 -3
  333. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  334. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +6 -6
  335. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  336. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +2 -2
  337. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  338. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +4 -4
  339. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
  340. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  341. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  342. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +4 -4
  343. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
  344. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  345. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  346. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +3 -3
  347. package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -1
  348. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
  349. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  350. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  351. package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js +8 -8
  352. package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js.map +1 -1
  353. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
  354. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  355. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +4 -4
  356. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  357. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +3 -3
  358. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  359. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +3 -3
  360. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  361. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +2 -2
  362. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  364. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  365. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +6 -6
  366. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  367. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
  368. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -4
  369. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
  370. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  371. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +5 -5
  372. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js.map +1 -1
  373. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +4 -4
  374. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  375. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  376. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +4 -4
  377. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
  378. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js +5 -5
  379. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js.map +1 -1
  380. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  381. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  382. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
  383. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  384. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +4 -4
  385. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  386. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +3 -3
  387. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  388. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +4 -4
  389. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  390. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +3 -3
  391. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  392. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +2 -2
  393. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  394. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +4 -4
  395. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js.map +1 -1
  396. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +2 -2
  397. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  398. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +3 -3
  399. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  400. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js +1 -1
  401. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
  402. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  403. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +5 -5
  404. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  405. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +7 -7
  406. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  407. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +10 -10
  408. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  409. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +12 -12
  410. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  411. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +6 -6
  412. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  413. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +9 -9
  414. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  415. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
  416. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
  417. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +11 -11
  418. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  419. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
  420. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +3 -3
  422. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  423. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +3 -3
  424. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  425. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +7 -7
  426. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  427. package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js +1 -1
  428. package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js.map +1 -1
  429. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/DateLabel.vue.js +1 -1
  430. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +2 -2
  431. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
  432. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +8 -8
  433. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
  434. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js +1 -1
  435. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +1 -1
  436. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  437. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  438. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
  439. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +8 -8
  440. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  441. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js +3 -3
  442. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js.map +1 -1
  443. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +3 -3
  444. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
  445. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +5 -5
  446. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  447. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +4 -4
  448. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
  449. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +4 -4
  450. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
  451. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  452. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +6 -6
  453. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  454. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +5 -5
  455. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  456. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +3 -3
  457. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  458. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +8 -8
  459. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
  460. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js +5 -5
  461. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js.map +1 -1
  462. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +6 -6
  463. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js.map +1 -1
  464. package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js +2 -2
  465. package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js.map +1 -1
  466. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +6 -6
  467. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
  468. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js +12 -12
  469. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js.map +1 -1
  470. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +4 -4
  471. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
  472. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +25 -25
  473. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  474. package/dist/martyrs.css +1 -1
  475. package/dist/martyrs.es.js +1 -1
  476. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  477. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  478. package/dist/style.css +194 -202
  479. package/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +1 -1
  480. package/package.json +6 -8
  481. package/src/builder/modes/ssr.prod.js +1 -0
  482. package/src/builder/modes/ssr.rspack.dev.js +82 -84
  483. package/src/builder/rspack/rspack.config.base.js +7 -0
  484. package/src/builder/rspack/rspack.config.ssr.client.js +19 -44
  485. package/src/builder/templates/page.js +21 -0
  486. package/src/components/Block/Block.vue +1 -1
  487. package/src/components/BottomSheet/BottomSheet.vue +1 -1
  488. package/src/components/Calendar/Calendar.vue +5 -5
  489. package/src/components/Checkbox/Checkbox.vue +2 -2
  490. package/src/components/Chips/Chips.vue +2 -2
  491. package/src/components/Completion/Completion.vue +2 -2
  492. package/src/components/Countdown/Countdown.vue +5 -5
  493. package/src/components/DatePicker/DatePicker.vue +4 -4
  494. package/src/components/EditImages/EditImages.vue +1 -1
  495. package/src/components/Feed/Feed.old.vue +1 -1
  496. package/src/components/Feed/Feed.vue +1 -1
  497. package/src/components/FieldBig/FieldBig.vue +2 -2
  498. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  499. package/src/components/FieldTags/BlockTags.vue +1 -1
  500. package/src/components/Loader/Loader.vue +1 -1
  501. package/src/components/Menu/MenuItem.vue +2 -2
  502. package/src/components/PhotoViewer/PhotoViewer.vue +1 -1
  503. package/src/components/Radio/Radio.vue +1 -1
  504. package/src/components/Select/Select.vue +1 -1
  505. package/src/components/Table/Table.vue +2 -2
  506. package/src/components/Text/Text.vue +1 -1
  507. package/src/components/UploadImage/UploadImage.vue +2 -2
  508. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +3 -3
  509. package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
  510. package/src/configurator/components/pages/Styles.vue +2 -2
  511. package/src/jit/.claude/settings.local.json +10 -0
  512. package/src/jit/CLAUDE.md +387 -0
  513. package/src/jit/core.js +274 -0
  514. package/src/jit/extractor.js +140 -0
  515. package/src/jit/index.js +19 -0
  516. package/src/jit/loader.js +46 -0
  517. package/src/jit/plugin.js +209 -0
  518. package/src/jit/rules.js +474 -0
  519. package/src/jit/variants.js +128 -0
  520. package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
  521. package/src/modules/auth/views/components/blocks/ProfileCard.vue +4 -4
  522. package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
  523. package/src/modules/auth/views/components/pages/EnterPassword.vue +2 -2
  524. package/src/modules/auth/views/components/pages/Profile.vue +5 -5
  525. package/src/modules/auth/views/components/pages/ProfileBlogposts.vue +1 -1
  526. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +2 -2
  527. package/src/modules/auth/views/components/pages/ResetPassword.vue +1 -1
  528. package/src/modules/auth/views/components/pages/SignIn.vue +3 -3
  529. package/src/modules/auth/views/components/pages/SignUp.vue +1 -1
  530. package/src/modules/auth/views/components/pages/UserDashboard.vue +3 -3
  531. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  532. package/src/modules/auth/views/components/sections/ProfileCompletion.vue +2 -2
  533. package/src/modules/auth/views/components/sections/ProfileEditCredentials.vue +7 -7
  534. package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
  535. package/src/modules/backoffice/components/admin/Backcalls.vue +1 -1
  536. package/src/modules/backoffice/components/admin/FastOrders.vue +1 -1
  537. package/src/modules/backoffice/components/admin/ProductEdit.vue +2 -2
  538. package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
  539. package/src/modules/backoffice/components/admin/Users.vue +2 -2
  540. package/src/modules/backoffice/components/pages/Dashboard.vue +4 -4
  541. package/src/modules/backoffice/components/partials/Sidebar.vue +5 -5
  542. package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
  543. package/src/modules/chats/components/sections/ChatWindow.vue +2 -2
  544. package/src/modules/community/components/blocks/Activity.vue +7 -7
  545. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  546. package/src/modules/community/components/blocks/FooterBlogpost.vue +4 -4
  547. package/src/modules/community/components/layouts/Community.vue +10 -10
  548. package/src/modules/community/components/pages/CreateBlogPost.vue +1 -1
  549. package/src/modules/community/components/pages/Posts.vue +2 -2
  550. package/src/modules/community/components/sections/Comment.vue +2 -2
  551. package/src/modules/constructor/components/elements/Audio.vue +1 -1
  552. package/src/modules/constructor/components/elements/Caption.vue +1 -1
  553. package/src/modules/constructor/components/elements/Embed.vue +1 -1
  554. package/src/modules/constructor/components/elements/Textarea.vue +1 -1
  555. package/src/modules/constructor/components/elements/Video.vue +1 -1
  556. package/src/modules/core/views/classes/core.app.js +2 -1
  557. package/src/modules/core/views/components/blocks/BlockSorting.vue +2 -2
  558. package/src/modules/core/views/components/blocks/CardFooter.vue +4 -4
  559. package/src/modules/core/views/components/blocks/CardHeader.vue +7 -7
  560. package/src/modules/core/views/components/blocks/HelpCard.vue +1 -1
  561. package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
  562. package/src/modules/core/views/components/elements/ButtonDate.vue +1 -1
  563. package/src/modules/core/views/components/elements/PhotoStack.vue +3 -3
  564. package/src/modules/core/views/components/layouts/App.vue +28 -4
  565. package/src/modules/core/views/components/layouts/Client.vue +4 -4
  566. package/src/modules/core/views/components/partials/BottomNavigationBar.vue +15 -15
  567. package/src/modules/core/views/components/partials/CitySelection.vue +1 -1
  568. package/src/modules/core/views/components/partials/Footer.centered.vue +17 -17
  569. package/src/modules/core/views/components/partials/Footer.vue +18 -18
  570. package/src/modules/core/views/components/partials/Header.vue +10 -11
  571. package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
  572. package/src/modules/core/views/components/partials/Navigation.vue +20 -19
  573. package/src/modules/core/views/components/partials/NavigationBar.vue +3 -3
  574. package/src/modules/core/views/components/partials/Sidebar.vue +6 -6
  575. package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
  576. package/src/modules/core/views/components/sections/filters/FilterCheckbox.vue +1 -1
  577. package/src/modules/core/views/components/sections/filters/FilterDateRange.vue +2 -2
  578. package/src/modules/core/views/components/sections/filters/FilterPrice.vue +2 -2
  579. package/src/modules/core/views/components/sections/filters/FilterRange.vue +2 -2
  580. package/src/modules/core/views/store/core.store.js +36 -60
  581. package/src/modules/core/views/utils/vue-app-renderer.js +31 -1
  582. package/src/modules/events/components/blocks/CardEvent.vue +6 -6
  583. package/src/modules/events/components/blocks/CardEventShort.vue +3 -3
  584. package/src/modules/events/components/pages/EditEvent.vue +1 -1
  585. package/src/modules/events/components/pages/EditEventTickets.vue +18 -18
  586. package/src/modules/events/components/pages/Event.vue +5 -5
  587. package/src/modules/events/components/pages/Events.vue +2 -2
  588. package/src/modules/events/components/pages/EventsBackoffice.vue +2 -2
  589. package/src/modules/events/components/sections/EditTickets.vue +5 -5
  590. package/src/modules/events/components/sections/EventsHot.vue +2 -2
  591. package/src/modules/events/components/sections/List.vue +1 -1
  592. package/src/modules/events/components/sections/SelectDate.vue +1 -1
  593. package/src/modules/gallery/components/pages/Gallery.vue +1 -1
  594. package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
  595. package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +14 -14
  596. package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +13 -13
  597. package/src/modules/governance/reactcode/src/components/EmptyState.tsx +2 -2
  598. package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +1 -1
  599. package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +1 -1
  600. package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +2 -2
  601. package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +6 -6
  602. package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +18 -18
  603. package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +7 -7
  604. package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +9 -9
  605. package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +4 -4
  606. package/src/modules/governance/reactcode/src/components/TaskCard.tsx +1 -1
  607. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
  608. package/src/modules/governance/reactcode/src/components/VoteForm.tsx +6 -6
  609. package/src/modules/governance/reactcode/src/components/VotingCard.tsx +2 -2
  610. package/src/modules/governance/reactcode/src/components/VotingResults.tsx +15 -15
  611. package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +41 -41
  612. package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +8 -8
  613. package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +6 -6
  614. package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +9 -9
  615. package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +14 -14
  616. package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +44 -44
  617. package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +8 -8
  618. package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +3 -3
  619. package/src/modules/governance/reactcode-2/App.tsx +28 -0
  620. package/src/modules/governance/reactcode-2/README.md +20 -0
  621. package/src/modules/governance/reactcode-2/components/Charts.tsx +58 -0
  622. package/src/modules/governance/reactcode-2/components/Layout.tsx +457 -0
  623. package/src/modules/governance/reactcode-2/components/TaskPage.tsx +325 -0
  624. package/src/modules/governance/reactcode-2/components/VoteBadge.tsx +27 -0
  625. package/src/modules/governance/reactcode-2/components/VotingsFeedPage.tsx +328 -0
  626. package/src/modules/governance/reactcode-2/constants.ts +154 -0
  627. package/src/modules/governance/reactcode-2/index.html +70 -0
  628. package/src/modules/governance/reactcode-2/index.tsx +15 -0
  629. package/src/modules/governance/reactcode-2/metadata.json +5 -0
  630. package/src/modules/governance/reactcode-2/package.json +23 -0
  631. package/src/modules/governance/reactcode-2/pnpm-lock.yaml +1410 -0
  632. package/src/modules/governance/reactcode-2/tsconfig.json +29 -0
  633. package/src/modules/governance/reactcode-2/types.ts +48 -0
  634. package/src/modules/governance/reactcode-2/vite.config.ts +23 -0
  635. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +10 -10
  636. package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +15 -15
  637. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +9 -9
  638. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +11 -11
  639. package/src/modules/governance/views/components/layouts/Governance.vue +1 -1
  640. package/src/modules/governance/views/components/pages/Governance.vue +3 -3
  641. package/src/modules/governance/views/components/pages/Initiative.vue +112 -112
  642. package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +31 -31
  643. package/src/modules/governance/views/components/pages/Initiatives.vue +20 -22
  644. package/src/modules/governance/views/components/pages/Milestone.vue +25 -25
  645. package/src/modules/governance/views/components/pages/Roadmap.vue +47 -47
  646. package/src/modules/governance/views/components/pages/Task.vue +106 -106
  647. package/src/modules/governance/views/components/pages/Tasks.vue +16 -16
  648. package/src/modules/governance/views/components/pages/Voting.vue +23 -23
  649. package/src/modules/governance/views/components/pages/Votings.vue +7 -7
  650. package/src/modules/governance/views/components/partials/EmptyState.vue +3 -3
  651. package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +11 -11
  652. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +4 -4
  653. package/src/modules/governance/views/components/partials/VoteForm.vue +14 -14
  654. package/src/modules/governance/views/components/partials/VotingResults.vue +22 -22
  655. package/src/modules/icons/components/IconSearchPopup.vue +3 -3
  656. package/src/modules/icons/entities/IconCash.vue +23 -0
  657. package/src/modules/icons/navigation/IconSort.vue +4 -4
  658. package/src/modules/icons/pages/IconsPage.vue +7 -7
  659. package/src/modules/inventory/components/forms/AdjustmentForm.vue +3 -3
  660. package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
  661. package/src/modules/inventory/components/forms/StockAlertsForm.vue +1 -1
  662. package/src/modules/inventory/components/pages/Inventory.vue +10 -10
  663. package/src/modules/inventory/components/pages/InventoryEdit.vue +6 -6
  664. package/src/modules/landing/components/blocks/MapBlock.vue +2 -2
  665. package/src/modules/landing/components/sections/Examples.vue +1 -1
  666. package/src/modules/landing/components/sections/InstagramSection.vue +1 -1
  667. package/src/modules/landing/components/sections/SectionEarn.vue +4 -4
  668. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  669. package/src/modules/landing/components/sections/SectionFocus.vue +2 -2
  670. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  671. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  672. package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
  673. package/src/modules/landing/components/sections/SectionJoinUs.vue +2 -2
  674. package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
  675. package/src/modules/landing/components/sections/SectionOverview.vue +2 -2
  676. package/src/modules/landing/components/sections/SectionRoadmap.vue +2 -2
  677. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +8 -8
  678. package/src/modules/marketplace/views/components/pages/Marketplace.vue +5 -5
  679. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +3 -3
  680. package/src/modules/music/components/SidebarMusic.vue +11 -11
  681. package/src/modules/music/components/blocks/ActionButtons.vue +2 -2
  682. package/src/modules/music/components/cards/AlbumCard.vue +4 -4
  683. package/src/modules/music/components/cards/ArtistCard.vue +3 -8
  684. package/src/modules/music/components/cards/ArtistCardSmall.vue +2 -2
  685. package/src/modules/music/components/cards/PlaylistCard.vue +4 -4
  686. package/src/modules/music/components/cards/TrackListCard.vue +5 -5
  687. package/src/modules/music/components/forms/AlbumForm.vue +8 -8
  688. package/src/modules/music/components/forms/ArtistForm.vue +4 -4
  689. package/src/modules/music/components/forms/PlaylistForm.vue +7 -7
  690. package/src/modules/music/components/forms/SearchForm.vue +1 -1
  691. package/src/modules/music/components/forms/TrackForm.vue +13 -13
  692. package/src/modules/music/components/pages/Album.vue +22 -22
  693. package/src/modules/music/components/pages/Artist.vue +7 -7
  694. package/src/modules/music/components/pages/MusicHome.vue +13 -18
  695. package/src/modules/music/components/pages/MusicLibrary.vue +9 -9
  696. package/src/modules/music/components/pages/Playlist.vue +25 -25
  697. package/src/modules/music/components/pages/SearchResults.vue +15 -15
  698. package/src/modules/music/components/pages/Track.vue +25 -25
  699. package/src/modules/music/components/player/FullscreenPlayer.vue +5 -5
  700. package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
  701. package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
  702. package/src/modules/orders/components/blocks/CardApplication.vue +1 -1
  703. package/src/modules/orders/components/blocks/CardCustomer.vue +1 -1
  704. package/src/modules/orders/components/blocks/CardOrder.vue +9 -9
  705. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +5 -5
  706. package/src/modules/orders/components/blocks/CardOrderItem.vue +9 -9
  707. package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
  708. package/src/modules/orders/components/blocks/CardOrderVar1.vue +4 -4
  709. package/src/modules/orders/components/blocks/StatusHistory.vue +3 -3
  710. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
  711. package/src/modules/orders/components/elements/PriceTotal.vue +3 -3
  712. package/src/modules/orders/components/forms/FormApplicationDetails.vue +2 -2
  713. package/src/modules/orders/components/forms/FormCustomerDetails.vue +3 -3
  714. package/src/modules/orders/components/pages/Favorites.vue +1 -1
  715. package/src/modules/orders/components/pages/OrderBackoffice.vue +15 -15
  716. package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
  717. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +4 -4
  718. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  719. package/src/modules/orders/components/partials/ShopCart.vue +2 -2
  720. package/src/modules/orders/components/sections/ApplicationDetails.vue +2 -2
  721. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  722. package/src/modules/orders/components/sections/CustomerDetails.vue +2 -2
  723. package/src/modules/orders/components/sections/Succes.vue +4 -4
  724. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  725. package/src/modules/organizations/components/blocks/CardOrganization.vue +4 -4
  726. package/src/modules/organizations/components/blocks/Contacts.vue +8 -8
  727. package/src/modules/organizations/components/blocks/Rating.vue +1 -1
  728. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +3 -3
  729. package/src/modules/organizations/components/forms/DepartmentForm.vue +1 -1
  730. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  731. package/src/modules/organizations/components/pages/Department.vue +2 -2
  732. package/src/modules/organizations/components/pages/DepartmentEdit.vue +1 -1
  733. package/src/modules/organizations/components/pages/Members.vue +1 -1
  734. package/src/modules/organizations/components/pages/Organization.new.vue +8 -8
  735. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  736. package/src/modules/organizations/components/pages/OrganizationDocuments.vue +2 -2
  737. package/src/modules/organizations/components/pages/Organizations.vue +3 -3
  738. package/src/modules/organizations/components/sections/Documents.vue +2 -2
  739. package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
  740. package/src/modules/organizations/components/sections/Unit.vue +1 -1
  741. package/src/modules/pages/views/components/blocks/CardPage.vue +2 -2
  742. package/src/modules/pages/views/components/pages/Page.vue +5 -5
  743. package/src/modules/products/components/blocks/CardCategory.vue +1 -1
  744. package/src/modules/products/components/blocks/CardPosition.vue +4 -4
  745. package/src/modules/products/components/blocks/CardProduct.vue +3 -3
  746. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -3
  747. package/src/modules/products/components/blocks/ProductImages.vue +2 -2
  748. package/src/modules/products/components/blocks/ProductVariants.vue +2 -2
  749. package/src/modules/products/components/elements/Image360.vue +2 -2
  750. package/src/modules/products/components/elements/Price.vue +2 -2
  751. package/src/modules/products/components/elements/QuantitySelector.vue +3 -3
  752. package/src/modules/products/components/elements/THC.vue +1 -1
  753. package/src/modules/products/components/forms/ReorderSettingsForm.vue +1 -1
  754. package/src/modules/products/components/forms/StockAuditForm.vue +2 -2
  755. package/src/modules/products/components/forms/StockHistoryView.vue +1 -1
  756. package/src/modules/products/components/pages/Categories.vue +1 -1
  757. package/src/modules/products/components/pages/CategoryEdit.vue +2 -2
  758. package/src/modules/products/components/pages/Product.vue +6 -6
  759. package/src/modules/products/components/pages/ProductEdit.vue +6 -6
  760. package/src/modules/products/components/pages/Products.vue +11 -11
  761. package/src/modules/products/components/sections/EditAttributes.vue +4 -4
  762. package/src/modules/products/components/sections/EditCategories.vue +1 -1
  763. package/src/modules/products/components/sections/EditDiscounts.vue +6 -6
  764. package/src/modules/products/components/sections/EditRecommended.vue +1 -1
  765. package/src/modules/products/components/sections/EditVariants.vue +8 -8
  766. package/src/modules/products/components/sections/FilterProducts.vue +3 -3
  767. package/src/modules/products/components/sections/ProductConfigurator.vue +2 -2
  768. package/src/modules/products/components/sections/ProductInformationSection.vue +10 -10
  769. package/src/modules/products/components/sections/ProductsRecommended.vue +2 -2
  770. package/src/modules/products/components/sections/SectionProduct.vue +7 -7
  771. package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +3 -3
  772. package/src/modules/rents/views/components/blocks/CardRent.vue +1 -1
  773. package/src/modules/rents/views/components/pages/Gant/DateLabel.vue +1 -1
  774. package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +2 -2
  775. package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +8 -8
  776. package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +1 -1
  777. package/src/modules/rents/views/components/pages/Rents.vue +1 -1
  778. package/src/modules/rents/views/components/pages/RentsEdit.vue +6 -6
  779. package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
  780. package/src/modules/reports/components/sections/FormReport.vue +1 -1
  781. package/src/modules/spots/components/blocks/CardSpot.vue +4 -4
  782. package/src/modules/spots/components/blocks/SpotMemberModify.vue +1 -1
  783. package/src/modules/spots/components/layouts/Spots.vue +2 -2
  784. package/src/modules/spots/components/pages/Spot.vue +5 -5
  785. package/src/modules/spots/components/pages/SpotEdit.vue +2 -2
  786. package/src/modules/spots/components/pages/Spots.vue +3 -3
  787. package/src/modules/spots/components/sections/MapSection.vue +1 -1
  788. package/src/modules/spots/components/sections/WorktimeEdit.vue +4 -4
  789. package/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue +5 -5
  790. package/src/modules/wallet/views/components/blocks/CardDeposit.vue +5 -5
  791. package/src/modules/wallet/views/components/blocks/CashDeposit.vue +2 -2
  792. package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +4 -4
  793. package/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue +11 -11
  794. package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +4 -4
  795. package/src/modules/wallet/views/components/pages/Wallet.vue +22 -22
  796. package/src/styles/config.scss +193 -507
  797. package/src/styles/layout.scss +81 -1
  798. package/src/styles/reset.scss +2 -0
  799. package/src/styles/theme.scss +1 -8
  800. package/dist/martyrs/dist/main-BFvlam0J.js.map +0 -1
  801. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.js.map +0 -1
  802. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  803. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  804. package/dist/martyrs/src/components/Field/Field.vue2.js.map +0 -1
  805. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  806. package/dist/martyrs/src/components/Select/Select.vue2.js.map +0 -1
  807. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +0 -1
  808. 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
  809. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  810. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +0 -1
  811. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.js.map +0 -1
  812. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
  813. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  814. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  815. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  816. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
  817. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  818. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -20
  819. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  820. package/src/modules/LAYOUT.MD +0 -767
  821. package/src/modules/STYLES.MD +0 -298
  822. package/src/modules/inventory/inventory.router.js +0 -72
  823. package/src/modules/products/products.router.js +0 -299
  824. package/src/styles/base/all.scss +0 -233
  825. package/src/styles/base/backgrounds.scss +0 -70
  826. package/src/styles/base/borders.scss +0 -407
  827. package/src/styles/base/scrolling.scss +0 -137
  828. package/src/styles/base/shadow_transitions_hover_refactor.scss +0 -158
  829. package/src/styles/base/transitions.scss +0 -109
  830. package/src/styles/responsive.scss +0 -152
  831. package/src/styles/typography.scss +0 -161
  832. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
@@ -2,7 +2,7 @@ import { createElementBlock, openBlock, createElementVNode, createCommentVNode,
2
2
  const _hoisted_1 = { class: "flex-v-center flex-nowrap flex" };
3
3
  const _hoisted_2 = {
4
4
  key: 0,
5
- class: "br-solid br-2px br-grey-transp-25 pos-absolute pos-t-0 pos-r-0 radius-extra w-100 h-100"
5
+ class: "br-2px br-grey-transp-25 pos-absolute pos-t-0 pos-r-0 radius-extra w-100 h-100"
6
6
  };
7
7
  const _hoisted_3 = {
8
8
  key: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.vue.js","sources":["../../../../../src/components/Radio/Radio.vue"],"sourcesContent":["<template>\n <label class=\"flex-v-center flex-nowrap flex\">\n <!-- ////////////////////////// -->\n <!-- Checkmark -->\n <!-- ////////////////////////// -->\n <div \n class=\"cursor-pointer radius-extra pd-micro h-100 aspect-1x1 pos-relative\"\n :class=\"{\n 'bg-main': radio === value,\n }\"\n >\n <div \n class=\"radius-extra pd-micro w-100 h-100\"\n :class=\"{\n 'bg-white': radio === value,\n }\"\n >\n\n </div> \n\n <div \n v-if=\"radio !== value\"\n class=\"br-solid br-2px br-grey-transp-25 pos-absolute pos-t-0 pos-r-0 radius-extra w-100 h-100\"\n >\n\n </div> \n </div> \n <!-- ////////////////////////// -->\n <!-- Label -->\n <!-- ////////////////////////// -->\n\n <div v-if=\"label\" class=\"mn-l-thin mn-r-auto t-transp mn-r-small\">\n <span>{{label}}</span>\n </div>\n\n <!-- ////////////////////////// -->\n <!-- Input -->\n <!-- ////////////////////////// -->\n <input \n @input=\"event => text = emit('update:radio', event.target.value)\"\n class=\"round radiobutton\" \n type=\"checkbox\" \n :name=\"name\" \n :value=\"value\"\n :checked=\"value === radio\"\n >\n </label>\n</template>\n\n<script setup>\n const props = defineProps({\n label: String,\n name: String,\n value: false,\n radio: [Object, String]\n })\n\n const emit = defineEmits(['update:radio'])\n\n const updateInputText = () => {\n emit('update:radio', value)\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyDE,UAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Radio.vue.js","sources":["../../../../../src/components/Radio/Radio.vue"],"sourcesContent":["<template>\n <label class=\"flex-v-center flex-nowrap flex\">\n <!-- ////////////////////////// -->\n <!-- Checkmark -->\n <!-- ////////////////////////// -->\n <div \n class=\"cursor-pointer radius-extra pd-micro h-100 aspect-1x1 pos-relative\"\n :class=\"{\n 'bg-main': radio === value,\n }\"\n >\n <div \n class=\"radius-extra pd-micro w-100 h-100\"\n :class=\"{\n 'bg-white': radio === value,\n }\"\n >\n\n </div> \n\n <div \n v-if=\"radio !== value\"\n class=\"br-2px br-grey-transp-25 pos-absolute pos-t-0 pos-r-0 radius-extra w-100 h-100\"\n >\n\n </div> \n </div> \n <!-- ////////////////////////// -->\n <!-- Label -->\n <!-- ////////////////////////// -->\n\n <div v-if=\"label\" class=\"mn-l-thin mn-r-auto t-transp mn-r-small\">\n <span>{{label}}</span>\n </div>\n\n <!-- ////////////////////////// -->\n <!-- Input -->\n <!-- ////////////////////////// -->\n <input \n @input=\"event => text = emit('update:radio', event.target.value)\"\n class=\"round radiobutton\" \n type=\"checkbox\" \n :name=\"name\" \n :value=\"value\"\n :checked=\"value === radio\"\n >\n </label>\n</template>\n\n<script setup>\n const props = defineProps({\n label: String,\n name: String,\n value: false,\n radio: [Object, String]\n })\n\n const emit = defineEmits(['update:radio'])\n\n const updateInputText = () => {\n emit('update:radio', value)\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyDE,UAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { ref, computed, watch, createElementBlock, openBlock, Fragment, withDirectives, createVNode, normalizeClass, withModifiers, createCommentVNode, createElementVNode, toDisplayString, Transition, withCtx, renderList, vShow, unref, nextTick } from "vue";
2
2
  import clickOutside from "../FieldPhone/click-outside.js";
3
- /* empty css */
3
+ /* empty css */
4
4
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
5
5
  const _hoisted_1 = {
6
6
  key: 0,
@@ -100,7 +100,7 @@ const _sfc_main = {
100
100
  (openBlock(true), createElementBlock(Fragment, null, renderList(optionsListed.value, (option) => {
101
101
  return openBlock(), createElementBlock("li", {
102
102
  onClick: withModifiers(($event) => selectOption(option), ["stop"]),
103
- class: "radius-thin hover-bg-light pd-thin text-box-trim"
103
+ class: "radius-thin hover:bg-light pd-thin text-box-trim"
104
104
  }, [
105
105
  option ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(option.name || option[props.value] || option), 1)) : createCommentVNode("", true)
106
106
  ], 8, _hoisted_3);
@@ -127,8 +127,8 @@ const _sfc_main = {
127
127
  };
128
128
  }
129
129
  };
130
- const Select = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-849e5dfe"]]);
130
+ const Select = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-af5048fc"]]);
131
131
  export {
132
132
  Select as default
133
133
  };
134
- //# sourceMappingURL=Select.vue2.js.map
134
+ //# sourceMappingURL=Select.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.vue.js","sources":["../../../../../src/components/Select/Select.vue"],"sourcesContent":["<template>\n <!-- Input Wrapper -->\n <div \n ref=\"fieldWrapper\"\n tabindex=\"0\"\n @click.stop=\"toggleMenu\" \n v-click-outside=\"clickedOutside\" \n :class=\"$attrs.class\" \n class=\"cursor-pointer field-wrapper flex-v-center flex-nowrap flex pos-relative\"\n >\n <!-- Label -->\n <span v-if=\"label\" class=\"t-transp mn-r-small\">{{label}}</span>\n \n <!-- Input -->\n <span>\n {{ optionsSelected ? (optionsSelected.name || optionsSelected[props.value] || optionsSelected) : placeholder }}\n </span>\n <!-- Dropdown menu -->\n <transition mode=\"out-in\" name=\"TransitionTranslateY\">\n <ul \n v-show=\"showMenu\" \n class=\"bs-black pos-absolute pos-t-100 pos-l-0 z-index-5 pd-small radius-small bg-white mn-t-thin w-100\"\n style=\"min-width: max-content;\"\n >\n <li @click.stop=\"selectOption(option)\" v-for=\"option in optionsListed\" class=\"radius-thin hover:bg-light pd-thin text-box-trim\">\n <span v-if=\"option\" class=\"w-100\">\n {{ option.name || option[props.value] || option }}\n </span>\n </li>\n </ul>\n </transition>\n </div>\n <!-- Validation -->\n <transition mode=\"out-in\" name=\"fade\">\n <div v-if=\"validation\" class=\"mn-t-thin invalid-feedback\">\n * {{validation.message}}\n </div>\n </transition>\n</template>\n<script setup>\nimport { ref, computed, watch, nextTick } from 'vue'\nimport clickOutside from '../FieldPhone/click-outside.js';\nlet vClickOutside = clickOutside\nconst emit = defineEmits([\n 'update:select', \n 'focus', \n 'blur'\n])\nconst props = defineProps({\n label: String,\n placeholder: { type: String, default: 'Please select an item' },\n select: [String, Object],\n property: String,\n value: String,\n options: { type: Array, default: () => [] },\n validation: Boolean,\n})\nconst showMenu = ref(false)\nconst fieldWrapper = ref(null)\nconst optionsSelected = ref(\n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select\n)\nconst optionsListed = computed(() => {\n return props.select \n ? props.options.filter(option => option !== props.select) \n : props.options\n})\nwatch(() => props.select, (newSelect) => {\n optionsSelected.value = \n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select;\n});\nconst toggleMenu = async () => {\n showMenu.value = !showMenu.value\n \n if (showMenu.value) {\n await nextTick()\n fieldWrapper.value?.focus()\n emit('focus')\n } else {\n emit('blur')\n }\n}\nfunction clickedOutside () {\n showMenu.value = false\n}\nconst selectOption = option => {\n optionsSelected.value = option\n \n toggleMenu()\n if (props.property) { \n emit('update:select', optionsSelected.value[props.property])\n } else {\n emit('update:select', optionsSelected.value)\n }\n}\nfunction findObjectByValue (value, property, objects) {\n for (const object of objects) {\n if (object[property] === value || object === value) {\n return object;\n }\n }\n return null;\n}\n</script>\n<style lang=\"scss\" scoped>\n li {\n list-style-type: none;\n }\n ul li {\n line-height: 2;\n }\n .field-wrapper:focus {\n outline: none;\n }\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,QAAI,gBAAgB;AACpB,UAAM,OAAO;AAKb,UAAM,QAAQ;AASd,UAAM,WAAW,IAAI,KAAK;AAC1B,UAAM,eAAe,IAAI,IAAI;AAC7B,UAAM,kBAAkB;AAAA,MACtB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV;AACA,UAAM,gBAAgB,SAAS,MAAM;AACnC,aAAO,MAAM,SACX,MAAM,QAAQ,OAAO,YAAU,WAAW,MAAM,MAAM,IACtD,MAAM;AAAA,IACV,CAAC;AACD,UAAM,MAAM,MAAM,QAAQ,CAAC,cAAc;AACvC,sBAAgB,QAChB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV,CAAC;AACD,UAAM,aAAa,YAAY;AAC7B,eAAS,QAAQ,CAAC,SAAS;AAE3B,UAAI,SAAS,OAAO;AAClB,cAAM,SAAQ;AACd,qBAAa,OAAO,MAAK;AACzB,aAAK,OAAO;AAAA,MACd,OAAO;AACL,aAAK,MAAM;AAAA,MACb;AAAA,IACF;AACA,aAAS,iBAAkB;AACzB,eAAS,QAAQ;AAAA,IACnB;AACA,UAAM,eAAe,YAAU;AAC7B,sBAAgB,QAAQ;AAExB,iBAAU;AACV,UAAI,MAAM,UAAU;AAClB,aAAK,iBAAiB,gBAAgB,MAAM,MAAM,QAAQ,CAAC;AAAA,MAC7D,OAAO;AACL,aAAK,iBAAiB,gBAAgB,KAAK;AAAA,MAC7C;AAAA,IACF;AACA,aAAS,kBAAmB,OAAO,UAAU,SAAS;AACpD,iBAAW,UAAU,SAAS;AAC5B,YAAI,OAAO,QAAQ,MAAM,SAAS,WAAW,OAAO;AAClD,iBAAO;AAAA,QACT;AAAA,MACF;AACA,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { ref, computed, watch, onMounted, createElementBlock, openBlock, withKeys, normalizeClass, withModifiers, renderSlot, createElementVNode, createVNode, createCommentVNode, withDirectives, Fragment, renderList, toDisplayString, vShow, Transition, withCtx, normalizeStyle, createTextVNode, nextTick } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  const _hoisted_1 = ["tabindex", "onKeydown", "onKeypress", "aria-owns"];
4
4
  const _hoisted_2 = { class: "multiselect__tags-wrap" };
5
5
  const _hoisted_3 = { class: "multiselect__tag" };
@@ -622,4 +622,4 @@ const _sfc_main = {
622
622
  export {
623
623
  _sfc_main as default
624
624
  };
625
- //# sourceMappingURL=SelectMulti.vue.js.map
625
+ //# sourceMappingURL=SelectMulti.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectMulti.vue2.js","sources":["../../../../../src/components/SelectMulti/SelectMulti.vue"],"sourcesContent":["<template>\n <div\n ref=\"multiselect\"\n :tabindex=\"searchable ? -1 : tabindex\"\n :class=\"{\n 'multiselect--active': isOpen,\n 'multiselect--disabled': disabled,\n 'multiselect--above': isAbove,\n 'multiselect--has-options-group': hasOptionGroup\n }\"\n @focus=\"activate\"\n @blur=\"searchable ? false : deactivate\"\n @keydown.self.down.prevent=\"pointerForward\"\n @keydown.self.up.prevent=\"pointerBackward\"\n @keypress.enter.tab.stop.self=\"addPointerElement\"\n @keyup.esc=\"deactivate\"\n class=\"multiselect flex flex-v-center\"\n role=\"combobox\"\n :aria-owns=\"`listbox-${id}`\">\n \n <slot name=\"caret\" :toggle>\n <div @mousedown.prevent.stop=\"toggle\" class=\"multiselect__select\"></div>\n </slot>\n \n <slot name=\"clear\" :search />\n \n <div ref=\"tags\" class=\"multiselect__tags\">\n <slot\n name=\"selection\"\n :search\n :remove=\"removeElement\"\n :values=\"visibleValues\"\n :is-open=\"isOpen\">\n <div class=\"multiselect__tags-wrap\" v-show=\"visibleValues.length > 0\">\n <template v-for=\"(option, index) of visibleValues\" :key=\"index\">\n <slot name=\"tag\" :option :search :remove=\"removeElement\">\n <span class=\"multiselect__tag\">\n <span v-text=\"getOptionLabel(option)\" />\n <i \n tabindex=\"1\" \n @keypress.enter.prevent=\"removeElement(option)\"\n @mousedown.prevent=\"removeElement(option)\" \n class=\"multiselect__tag-icon\" />\n </span>\n </slot>\n </template>\n </div>\n <template v-if=\"internalValue?.length > limit\">\n <slot name=\"limit\">\n <strong class=\"multiselect__strong\" v-text=\"limitText(internalValue.length - limit)\" />\n </slot>\n </template>\n </slot>\n <transition name=\"multiselect__loading\">\n <slot name=\"loading\">\n <div v-show=\"loading\" class=\"multiselect__spinner\" />\n </slot>\n </transition>\n <input\n ref=\"searchInput\"\n v-if=\"searchable\"\n :name\n :id\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n :placeholder\n :style=\"inputStyle\"\n :value=\"search\"\n :disabled\n :tabindex\n @input=\"updateSearch($event.target.value)\"\n @focus.prevent=\"activate\"\n @blur.prevent=\"deactivate\"\n @keyup.esc=\"deactivate\"\n @keydown.down.prevent=\"pointerForward\"\n @keydown.up.prevent=\"pointerBackward\"\n @keypress.enter.prevent.stop.self=\"addPointerElement\"\n @keydown.delete.stop=\"removeLastElement\"\n class=\"multiselect__input\"\n :aria-controls=\"`listbox-${id}`\" />\n <span\n v-if=\"isSingleLabelVisible\"\n class=\"multiselect__single\"\n @mousedown.prevent=\"toggle\">\n <slot name=\"singleLabel\" :option=\"singleValue\">\n {{ currentOptionLabel }}\n </slot>\n </span>\n <span\n v-if=\"isPlaceholderVisible\"\n class=\"multiselect__placeholder\"\n @mousedown.prevent=\"toggle\">\n <slot name=\"placeholder\">\n {{ placeholder }}\n </slot>\n </span>\n </div>\n \n <transition name=\"multiselect\">\n <div\n class=\"multiselect__content-wrapper\"\n v-show=\"isOpen\"\n @focus=\"activate\"\n tabindex=\"-1\"\n @mousedown.prevent\n :style=\"{ maxHeight: `${optimizedHeight}px` }\"\n ref=\"list\">\n <ul class=\"multiselect__content\" :style=\"contentStyle\" role=\"listbox\" :id=\"`listbox-${id}`\">\n <slot name=\"beforeList\" />\n <li v-if=\"multiple && max === internalValue.length\">\n <span class=\"multiselect__option\">\n <slot name=\"maxElements\">\n Maximum of {{ max }} options selected. First remove a selected option to select another.\n </slot>\n </span>\n </li>\n <template v-if=\"!max || internalValue.length < max\">\n <li \n class=\"multiselect__element\"\n v-for=\"(option, index) of filteredOptions\"\n :key=\"index\"\n :id=\"`${id}-${index}`\"\n :role=\"!(option?.$isLabel || option?.$isDisabled) ? 'option' : null\">\n <span\n v-if=\"!(option?.$isLabel || option?.$isDisabled)\"\n :class=\"optionHighlight(index, option)\"\n @click.stop=\"select(option)\"\n @mouseenter.self=\"pointerSet(index)\"\n :data-select=\"option?.isTag ? tagPlaceholder : selectLabelText\"\n :data-selected=\"selectedLabelText\"\n :data-deselect=\"deselectLabelText\"\n class=\"multiselect__option\">\n <slot name=\"option\" :option :search :index>\n <span>{{ getOptionLabel(option) }}</span>\n </slot>\n </span>\n <span\n v-if=\"option?.$isLabel || option?.$isDisabled\"\n :data-select=\"groupSelect && selectGroupLabelText\"\n :data-deselect=\"groupSelect && deselectGroupLabelText\"\n :class=\"groupHighlight(index, option)\"\n @mouseenter.self=\"groupSelect && pointerSet(index)\"\n @mousedown.prevent=\"selectGroup(option)\"\n class=\"multiselect__option\">\n <slot name=\"option\" :option :search :index>\n <span>{{ getOptionLabel(option) }}</span>\n </slot>\n </span>\n </li>\n </template>\n <li v-show=\"showNoResults && filteredOptions.length === 0 && search && !loading\">\n <span class=\"multiselect__option\">\n <slot name=\"noResult\" :search>\n No elements found. Consider changing the search query.\n </slot>\n </span>\n </li>\n <li v-show=\"showNoOptions && (options.length === 0 || (hasOptionGroup && filteredOptions.length === 0)) && !search && !loading\">\n <span class=\"multiselect__option\">\n <slot name=\"noOptions\">List is empty.</slot>\n </span>\n </li>\n <slot name=\"afterList\" />\n </ul>\n </div>\n </transition>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted, nextTick } from 'vue'\n\n// Props\nconst props = defineProps({\n modelValue: { type: null, default: () => [] },\n options: { type: Array, required: true },\n multiple: { type: Boolean, default: false },\n trackBy: String,\n label: String,\n searchable: { type: Boolean, default: true },\n clearOnSelect: { type: Boolean, default: true },\n hideSelected: { type: Boolean, default: false },\n placeholder: { type: String, default: 'Select option' },\n allowEmpty: { type: Boolean, default: true },\n resetAfter: { type: Boolean, default: false },\n closeOnSelect: { type: Boolean, default: true },\n customLabel: {\n type: Function,\n default: (option, label) => {\n if (!option && option !== 0) return ''\n return label ? option[label] : option\n }\n },\n taggable: { type: Boolean, default: false },\n tagPlaceholder: { type: String, default: 'Press enter to create a tag' },\n tagPosition: { type: String, default: 'top' },\n max: { type: [Number, Boolean], default: false },\n id: { default: null },\n optionsLimit: { type: Number, default: 1000 },\n groupValues: String,\n groupLabel: String,\n groupSelect: { type: Boolean, default: false },\n blockKeys: { type: Array, default: () => [] },\n preserveSearch: { type: Boolean, default: false },\n preselectFirst: { type: Boolean, default: false },\n preventAutofocus: { type: Boolean, default: false },\n internalSearch: { type: Boolean, default: true },\n name: { type: String, default: '' },\n selectLabel: { type: String, default: 'Press enter to select' },\n selectGroupLabel: { type: String, default: 'Press enter to select group' },\n selectedLabel: { type: String, default: 'Selected' },\n deselectLabel: { type: String, default: 'Press enter to remove' },\n deselectGroupLabel: { type: String, default: 'Press enter to deselect group' },\n showLabels: { type: Boolean, default: true },\n limit: { type: Number, default: 99999 },\n maxHeight: { type: Number, default: 300 },\n limitText: { type: Function, default: count => `and ${count} more` },\n loading: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n openDirection: { type: String, default: '' },\n showNoOptions: { type: Boolean, default: true },\n showNoResults: { type: Boolean, default: true },\n tabindex: { type: Number, default: 0 },\n showPointer: { type: Boolean, default: true },\n optionHeight: { type: Number, default: 40 }\n})\n\n// Emits\nconst emit = defineEmits(['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'])\n\n// Refs\nconst multiselect = ref(null)\nconst searchInput = ref(null)\nconst list = ref(null)\nconst tags = ref(null)\n\n// State\nconst search = ref('')\nconst isOpen = ref(false)\nconst preferredOpenDirection = ref('below')\nconst optimizedHeight = ref(props.maxHeight)\nconst pointer = ref(0)\nconst pointerDirty = ref(false)\n\n// Helper functions\nconst isEmpty = opt => {\n if (opt === 0) return false\n if (Array.isArray(opt) && opt.length === 0) return true\n return !opt\n}\n\nconst includes = (str, query) => {\n if (str === undefined) str = 'undefined'\n if (str === null) str = 'null'\n if (str === false) str = 'false'\n return str.toString().toLowerCase().indexOf(query.trim()) !== -1\n}\n\nconst filterOptions = (options, search, label, customLabel) => {\n return search \n ? options.filter(option => includes(customLabel(option, label), search))\n .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length)\n : options\n}\n\nconst flattenOptions = (values, label) => options =>\n options.reduce((prev, curr) => {\n if (curr[values]?.length) {\n prev.push({ $groupLabel: curr[label], $isLabel: true })\n return prev.concat(curr[values])\n }\n return prev\n }, [])\n\nconst stripGroups = options => options.filter(option => !option.$isLabel)\n\nconst filterGroups = (search, label, values, groupLabel, customLabel) => groups =>\n groups.map(group => {\n if (!group[values]) {\n console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`)\n return []\n }\n const groupOptions = filterOptions(group[values], search, label, customLabel)\n return groupOptions.length ? { [groupLabel]: group[groupLabel], [values]: groupOptions } : []\n })\n\nconst flow = (...fns) => x => fns.reduce((v, f) => f(v), x)\n\n// Computed\nconst internalValue = computed(() => {\n const val = props.modelValue\n return val || val === 0 ? (Array.isArray(val) ? val : [val]) : []\n})\n\nconst filteredOptions = computed(() => {\n const searchVal = search.value || ''\n const normalizedSearch = searchVal.toLowerCase().trim()\n let options = props.options.concat()\n\n if (props.internalSearch) {\n options = props.groupValues \n ? filterAndFlat(options, normalizedSearch, props.label)\n : filterOptions(options, normalizedSearch, props.label, props.customLabel)\n } else {\n options = props.groupValues \n ? flattenOptions(props.groupValues, props.groupLabel)(options) \n : options\n }\n\n options = props.hideSelected ? options.filter(o => !isSelected(o)) : options\n\n if (props.taggable && normalizedSearch.length && !isExistingOption(normalizedSearch)) {\n if (props.tagPosition === 'bottom') {\n options.push({ isTag: true, label: searchVal })\n } else {\n options.unshift({ isTag: true, label: searchVal })\n }\n }\n\n return options.slice(0, props.optionsLimit)\n})\n\nconst valueKeys = computed(() => \n props.trackBy ? internalValue.value.map(el => el[props.trackBy]) : internalValue.value\n)\n\nconst optionKeys = computed(() => {\n const options = props.groupValues ? flatAndStrip(props.options) : props.options\n return options.map(el => props.customLabel(el, props.label).toString().toLowerCase())\n})\n\nconst currentOptionLabel = computed(() =>\n props.multiple \n ? (props.searchable ? '' : props.placeholder)\n : internalValue.value.length \n ? getOptionLabel(internalValue.value[0])\n : props.searchable ? '' : props.placeholder\n)\n\nconst hasOptionGroup = computed(() => props.groupValues && props.groupLabel && props.groupSelect)\n\nconst isSingleLabelVisible = computed(() =>\n (singleValue.value || singleValue.value === 0) &&\n (!isOpen.value || !props.searchable) &&\n !visibleValues.value.length\n)\n\nconst isPlaceholderVisible = computed(() =>\n !internalValue.value.length && (!props.searchable || !isOpen.value)\n)\n\nconst visibleValues = computed(() =>\n props.multiple ? internalValue.value.slice(0, props.limit) : []\n)\n\nconst singleValue = computed(() => internalValue.value[0])\n\nconst deselectLabelText = computed(() => props.showLabels ? props.deselectLabel : '')\nconst deselectGroupLabelText = computed(() => props.showLabels ? props.deselectGroupLabel : '')\nconst selectLabelText = computed(() => props.showLabels ? props.selectLabel : '')\nconst selectGroupLabelText = computed(() => props.showLabels ? props.selectGroupLabel : '')\nconst selectedLabelText = computed(() => props.showLabels ? props.selectedLabel : '')\n\nconst inputStyle = computed(() => {\n if (props.searchable || (props.multiple && props.modelValue?.length)) {\n return isOpen.value\n ? { width: '100%' }\n : { width: '0', position: 'absolute', padding: '0' }\n }\n return ''\n})\n\nconst contentStyle = computed(() => \n props.options.length ? { display: 'inline-block' } : { display: 'block' }\n)\n\nconst isAbove = computed(() => {\n if (['above', 'top'].includes(props.openDirection)) return true\n if (['below', 'bottom'].includes(props.openDirection)) return false\n return preferredOpenDirection.value === 'above'\n})\n\nconst pointerPosition = computed(() => pointer.value * props.optionHeight)\nconst visibleElements = computed(() => optimizedHeight.value / props.optionHeight)\n\n// Methods\nconst filterAndFlat = (options, search, label) =>\n flow(\n filterGroups(search, label, props.groupValues, props.groupLabel, props.customLabel),\n flattenOptions(props.groupValues, props.groupLabel)\n )(options)\n\nconst flatAndStrip = options =>\n flow(\n flattenOptions(props.groupValues, props.groupLabel),\n stripGroups\n )(options)\n\nconst updateSearch = query => {\n search.value = query\n}\n\nconst isExistingOption = query => \n props.options ? optionKeys.value.indexOf(query) > -1 : false\n\nconst isSelected = option => {\n const opt = props.trackBy ? option[props.trackBy] : option\n return valueKeys.value.indexOf(opt) > -1\n}\n\nconst isOptionDisabled = option => !!option?.$isDisabled\n\nconst getOptionLabel = option => {\n if (isEmpty(option)) return ''\n if (option.isTag) return option.label\n if (option.$isLabel) return option.$groupLabel\n const label = props.customLabel(option, props.label)\n return isEmpty(label) ? '' : label\n}\n\nconst select = (option, key) => {\n if (option.$isLabel && props.groupSelect) {\n selectGroup(option)\n return\n }\n if (props.blockKeys.indexOf(key) !== -1 || props.disabled || option.$isDisabled || option.$isLabel) return\n if (props.max && props.multiple && internalValue.value.length === props.max) return\n if (key === 'Tab' && !pointerDirty.value) return\n \n if (option.isTag) {\n emit('tag', option.label, props.id)\n search.value = ''\n if (props.closeOnSelect && !props.multiple) deactivate()\n } else {\n if (isSelected(option)) {\n if (key !== 'Tab') removeElement(option)\n return\n }\n\n emit('update:modelValue', props.multiple ? internalValue.value.concat([option]) : option)\n emit('select', option, props.id)\n\n if (props.clearOnSelect) search.value = ''\n }\n \n if (props.closeOnSelect) deactivate()\n}\n\nconst selectGroup = selectedGroup => {\n const group = props.options.find(option => \n option[props.groupLabel] === selectedGroup.$groupLabel\n )\n if (!group) return\n\n if (wholeGroupSelected(group)) {\n emit('remove', group[props.groupValues], props.id)\n const newValue = internalValue.value.filter(option => \n group[props.groupValues].indexOf(option) === -1\n )\n emit('update:modelValue', newValue)\n } else {\n let optionsToAdd = group[props.groupValues].filter(option => \n !(isOptionDisabled(option) || isSelected(option))\n )\n if (props.max) optionsToAdd.splice(props.max - internalValue.value.length)\n \n emit('select', optionsToAdd, props.id)\n emit('update:modelValue', internalValue.value.concat(optionsToAdd))\n }\n\n if (props.closeOnSelect) deactivate()\n}\n\nconst wholeGroupSelected = group =>\n group[props.groupValues].every(option => isSelected(option) || isOptionDisabled(option))\n\nconst wholeGroupDisabled = group =>\n group[props.groupValues].every(isOptionDisabled)\n\nconst removeElement = (option, shouldClose = true) => {\n if (props.disabled || option?.$isDisabled) return\n if (!props.allowEmpty && internalValue.value.length <= 1) {\n deactivate()\n return\n }\n\n const index = typeof option === 'object' \n ? valueKeys.value.indexOf(option[props.trackBy])\n : valueKeys.value.indexOf(option)\n\n const newValue = props.multiple\n ? internalValue.value.slice(0, index).concat(internalValue.value.slice(index + 1))\n : null\n\n emit('update:modelValue', newValue)\n emit('remove', option, props.id)\n\n if (props.closeOnSelect && shouldClose) deactivate()\n}\n\nconst removeLastElement = () => {\n if (props.blockKeys.indexOf('Delete') !== -1) return\n if (search.value.length === 0 && Array.isArray(internalValue.value) && internalValue.value.length) {\n removeElement(internalValue.value[internalValue.value.length - 1], false)\n }\n}\n\nconst activate = () => {\n if (isOpen.value || props.disabled) return\n\n adjustPosition()\n if (props.groupValues && pointer.value === 0 && filteredOptions.value.length) {\n pointer.value = 1\n }\n\n isOpen.value = true\n if (props.searchable) {\n if (!props.preserveSearch) search.value = ''\n if (!props.preventAutofocus) nextTick(() => searchInput.value?.focus())\n } else if (!props.preventAutofocus) {\n multiselect.value?.focus()\n }\n emit('open', props.id)\n}\n\nconst deactivate = () => {\n if (!isOpen.value) return\n\n isOpen.value = false\n if (props.searchable) {\n searchInput.value?.blur()\n } else {\n multiselect.value?.blur()\n }\n if (!props.preserveSearch) search.value = ''\n emit('close', getValue(), props.id)\n}\n\nconst toggle = () => {\n isOpen.value ? deactivate() : activate()\n}\n\nconst adjustPosition = () => {\n if (typeof window === 'undefined') return\n\n const spaceAbove = multiselect.value.getBoundingClientRect().top\n const spaceBelow = window.innerHeight - multiselect.value.getBoundingClientRect().bottom\n const hasEnoughSpaceBelow = spaceBelow > props.maxHeight\n\n if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || ['below', 'bottom'].includes(props.openDirection)) {\n preferredOpenDirection.value = 'below'\n optimizedHeight.value = Math.min(spaceBelow - 40, props.maxHeight)\n } else {\n preferredOpenDirection.value = 'above'\n optimizedHeight.value = Math.min(spaceAbove - 40, props.maxHeight)\n }\n}\n\nconst getValue = () => \n props.multiple ? internalValue.value : internalValue.value.length === 0 ? null : internalValue.value[0]\n\n// Pointer methods\nconst optionHighlight = (index, option) => ({\n 'multiselect__option--highlight': index === pointer.value && props.showPointer,\n 'multiselect__option--selected': isSelected(option)\n})\n\nconst groupHighlight = (index, selectedGroup) => {\n if (!props.groupSelect) {\n return ['multiselect__option--disabled', { 'multiselect__option--group': selectedGroup.$isLabel }]\n }\n const group = props.options.find(option => \n option[props.groupLabel] === selectedGroup.$groupLabel\n )\n return group && !wholeGroupDisabled(group)\n ? ['multiselect__option--group', \n { 'multiselect__option--highlight': index === pointer.value && props.showPointer },\n { 'multiselect__option--group-selected': wholeGroupSelected(group) }]\n : 'multiselect__option--disabled'\n}\n\nconst addPointerElement = ({ key } = 'Enter') => {\n if (filteredOptions.value.length > 0) {\n select(filteredOptions.value[pointer.value], key)\n }\n pointerReset()\n}\n\nconst pointerForward = () => {\n if (pointer.value < filteredOptions.value.length - 1) {\n pointer.value++\n if (list.value.scrollTop <= pointerPosition.value - (visibleElements.value - 1) * props.optionHeight) {\n list.value.scrollTop = pointerPosition.value - (visibleElements.value - 1) * props.optionHeight\n }\n if (filteredOptions.value[pointer.value]?.$isLabel && !props.groupSelect) pointerForward()\n }\n pointerDirty.value = true\n}\n\nconst pointerBackward = () => {\n if (pointer.value > 0) {\n pointer.value--\n if (list.value.scrollTop >= pointerPosition.value) {\n list.value.scrollTop = pointerPosition.value\n }\n if (filteredOptions.value[pointer.value]?.$isLabel && !props.groupSelect) pointerBackward()\n } else {\n if (filteredOptions.value[pointer.value]?.$isLabel && !props.groupSelect) pointerForward()\n }\n pointerDirty.value = true\n}\n\nconst pointerReset = () => {\n if (!props.closeOnSelect) return\n pointer.value = 0\n if (list.value) list.value.scrollTop = 0\n}\n\nconst pointerAdjust = () => {\n if (pointer.value >= filteredOptions.value.length - 1) {\n pointer.value = filteredOptions.value.length ? filteredOptions.value.length - 1 : 0\n }\n if (filteredOptions.value.length > 0 && filteredOptions.value[pointer.value]?.$isLabel && !props.groupSelect) {\n pointerForward()\n }\n}\n\nconst pointerSet = index => {\n pointer.value = index\n pointerDirty.value = true\n}\n\n// Watchers\nwatch(() => internalValue.value, () => {\n if (props.resetAfter && internalValue.value.length) {\n search.value = ''\n emit('update:modelValue', props.multiple ? [] : null)\n }\n}, { deep: true })\n\nwatch(search, () => emit('search-change', search.value))\n\nwatch(filteredOptions, () => pointerAdjust())\n\nwatch(isOpen, () => pointerDirty.value = false)\n\nwatch(pointer, () => {\n searchInput.value?.setAttribute('aria-activedescendant', `${props.id}-${pointer.value}`)\n})\n\n// Lifecycle\nonMounted(() => {\n if (!props.multiple && props.max) {\n console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.')\n }\n if (props.preselectFirst && !internalValue.value.length && props.options.length) {\n select(filteredOptions.value[0])\n }\n})\n</script>\n\n<style>\nfieldset[disabled] .multiselect {\n pointer-events: none;\n}\n\n.multiselect__spinner {\n position: absolute;\n right: 1px;\n top: 1px;\n width: 40px;\n height: 38px;\n background: #fff;\n display: block;\n}\n\n.multiselect__spinner::before,\n.multiselect__spinner::after {\n position: absolute;\n content: \"\";\n top: 50%;\n left: 50%;\n margin: -8px 0 0 -8px;\n width: 16px;\n height: 16px;\n border-radius: 100%;\n border-color: #41b883 transparent transparent;\n border-style: solid;\n border-width: 2px;\n box-shadow: 0 0 0 1px transparent;\n}\n\n.multiselect__spinner::before {\n animation: spinning 2.4s cubic-bezier(0.41, 0.26, 0.2, 0.62);\n animation-iteration-count: infinite;\n}\n\n.multiselect__spinner::after {\n animation: spinning 2.4s cubic-bezier(0.51, 0.09, 0.21, 0.8);\n animation-iteration-count: infinite;\n}\n\n.multiselect__loading-enter-active,\n.multiselect__loading-leave-active {\n transition: opacity 0.4s ease-in-out;\n opacity: 1;\n}\n\n.multiselect__loading-enter,\n.multiselect__loading-leave-active {\n opacity: 0;\n}\n\n.multiselect,\n.multiselect__input,\n.multiselect__single {\n font-family: inherit;\n touch-action: manipulation;\n}\n\n.multiselect {\n display: block;\n position: relative;\n width: 100%;\n min-height: 40px;\n}\n\n.multiselect * {\n box-sizing: border-box;\n}\n\n.multiselect:focus {\n outline: none;\n}\n\n.multiselect--disabled {\n background: #ededed;\n pointer-events: none;\n opacity: 0.6;\n}\n\n.multiselect--active {\n z-index: 50;\n}\n\n.multiselect--active:not(.multiselect--above) .multiselect__current,\n.multiselect--active:not(.multiselect--above) .multiselect__input,\n.multiselect--active:not(.multiselect--above) .multiselect__tags {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.multiselect--active .multiselect__select {\n transform: rotateZ(180deg);\n}\n\n.multiselect--above.multiselect--active .multiselect__current,\n.multiselect--above.multiselect--active .multiselect__input,\n.multiselect--above.multiselect--active .multiselect__tags {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.multiselect__input,\n.multiselect__single,\n.multiselect__placeholder {\n position: relative;\n display: inline-block;\n min-height: 20px;\n line-height: 20px;\n border: none;\n width: calc(100%);\n height: inherit;\n box-sizing: border-box;\n vertical-align: top;\n display: flex;\n align-items: center;\n}\n\n.multiselect__input::placeholder {\n color: #35495e;\n}\n\n.multiselect__tag ~ .multiselect__input,\n.multiselect__tag ~ .multiselect__single {\n width: auto;\n}\n\n.multiselect__input:hover,\n.multiselect__single:hover {\n border-color: #cfcfcf;\n}\n\n.multiselect__input:focus,\n.multiselect__single:focus {\n border-color: #a8a8a8;\n outline: none;\n}\n\n.multiselect__tags-wrap {\n display: inline;\n}\n\n.multiselect__tags {\n display: block;\n height: inherit;\n}\n\n.multiselect__tag {\n position: relative;\n display: inline-block;\n padding: 4px 26px 4px 10px;\n border-radius: 5px;\n margin-right: 10px;\n color: #fff;\n line-height: 1;\n background: #41b883;\n margin-bottom: 5px;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n text-overflow: ellipsis;\n}\n\n.multiselect__tag-icon {\n cursor: pointer;\n margin-left: 7px;\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n font-weight: 700;\n font-style: initial;\n width: 22px;\n text-align: center;\n line-height: 22px;\n transition: all 0.2s ease;\n border-radius: 5px;\n}\n\n.multiselect__tag-icon::after {\n content: \"×\";\n color: #266d4d;\n font-size: 14px;\n}\n\n.multiselect__tag-icon:focus::after,\n.multiselect__tag-icon:hover::after {\n color: white;\n}\n\n.multiselect__current {\n line-height: 16px;\n min-height: 40px;\n box-sizing: border-box;\n display: block;\n overflow: hidden;\n padding: 8px 12px 0;\n padding-right: 30px;\n white-space: nowrap;\n margin: 0;\n text-decoration: none;\n border-radius: 5px;\n border: 1px solid #e8e8e8;\n cursor: pointer;\n}\n\n.multiselect__select {\n line-height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: center;\n position: absolute;\n box-sizing: border-box;\n width: 40px;\n height: 38px;\n right: 1px;\n top: calc(50% - 19px);\n padding: 4px 8px;\n margin: 0;\n text-decoration: none;\n text-align: center;\n cursor: pointer;\n transition: transform 0.2s ease;\n}\n\n.multiselect__select::before {\n position: relative;\n color: #999;\n margin-top: 4px;\n border-style: solid;\n border-width: 5px 5px 0 5px;\n border-color: #999 transparent transparent transparent;\n content: \"\";\n}\n\n.multiselect--active .multiselect__placeholder {\n display: none;\n}\n\n.multiselect__content-wrapper {\n position: absolute;\n display: block;\n background: #fff;\n width: 100%;\n max-height: 240px;\n height: min-content;\n overflow: auto;\n left: 0;\n border-top: none;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n z-index: 50;\n -webkit-overflow-scrolling: touch;\n}\n\n.multiselect__content {\n list-style: none;\n display: inline-block;\n padding: 0;\n margin: 0;\n min-width: 100%;\n vertical-align: top;\n}\n\n.multiselect--above .multiselect__content-wrapper {\n bottom: 100%;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n border-bottom: none;\n border-top: 1px solid #e8e8e8;\n}\n\n.multiselect__content::-webkit-scrollbar {\n display: none;\n}\n\n.multiselect__element {\n display: block;\n}\n\n.multiselect__option {\n display: block;\n padding: 12px;\n min-height: 40px;\n line-height: 16px;\n text-decoration: none;\n text-transform: none;\n vertical-align: middle;\n position: relative;\n cursor: pointer;\n white-space: nowrap;\n}\n\n.multiselect__option::after {\n top: 0;\n right: 0;\n position: absolute;\n line-height: 40px;\n padding-right: 12px;\n padding-left: 20px;\n font-size: 13px;\n}\n\n.multiselect__option--highlight {\n background: rgba(var(--main), 0.1);\n outline: none;\n}\n\n.multiselect__option--highlight::after {\n content: attr(data-select);\n}\n\n.multiselect__option--selected {\n background: #f3f3f3;\n color: #35495e;\n font-weight: bold;\n}\n\n.multiselect__option--selected::after {\n content: attr(data-selected);\n color: silver;\n background: inherit;\n}\n\n.multiselect__option--selected.multiselect__option--highlight {\n background: rgba(var(--red), 0.1);\n}\n\n.multiselect__option--selected.multiselect__option--highlight::after {\n content: attr(data-deselect);\n}\n\n.multiselect--disabled .multiselect__current,\n.multiselect--disabled .multiselect__select {\n background: #ededed;\n color: #a6a6a6;\n}\n\n.multiselect__option--disabled {\n background: #ededed !important;\n color: #a6a6a6 !important;\n cursor: text;\n pointer-events: none;\n}\n\n.multiselect__option--group {\n background: #ededed;\n color: #35495e;\n}\n\n.multiselect__option--group.multiselect__option--highlight {\n background: #35495e;\n color: #fff;\n}\n\n.multiselect__option--group.multiselect__option--highlight::after {\n background: #35495e;\n}\n\n.multiselect__option--disabled.multiselect__option--highlight {\n background: #dedede;\n}\n\n.multiselect__option--group-selected.multiselect__option--highlight {\n background: #ff6a6a;\n color: #fff;\n}\n\n.multiselect__option--group-selected.multiselect__option--highlight::after {\n background: #ff6a6a;\n content: attr(data-deselect);\n color: #fff;\n}\n\n.multiselect-enter-active,\n.multiselect-leave-active {\n transition: all 0.15s ease;\n}\n\n.multiselect-enter,\n.multiselect-leave-active {\n opacity: 0;\n}\n\n.multiselect__strong {\n margin-bottom: 8px;\n line-height: 20px;\n display: inline-block;\n vertical-align: top;\n}\n\n*[dir=\"rtl\"] .multiselect {\n text-align: right;\n}\n\n*[dir=\"rtl\"] .multiselect__select {\n right: auto;\n left: 1px;\n}\n\n*[dir=\"rtl\"] .multiselect__tags {\n padding: 8px 8px 0 40px;\n}\n\n*[dir=\"rtl\"] .multiselect__content {\n text-align: right;\n}\n\n*[dir=\"rtl\"] .multiselect__option::after {\n right: auto;\n left: 0;\n}\n\n*[dir=\"rtl\"] .multiselect__clear {\n right: auto;\n left: 12px;\n}\n\n*[dir=\"rtl\"] .multiselect__spinner {\n right: auto;\n left: 1px;\n}\n\n@keyframes spinning {\n from {\n transform: rotate(0);\n }\n to {\n transform: rotate(2turn);\n }\n}\n</style>"],"names":["search"],"mappings":"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"}
@@ -31,7 +31,7 @@ const _sfc_main = {
31
31
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (col) => {
32
32
  return openBlock(), createElementBlock("th", {
33
33
  key: col.key,
34
- class: "pd-small t-medium"
34
+ class: "pd-small fw-medium"
35
35
  }, toDisplayString(col.label), 1);
36
36
  }), 128))
37
37
  ])
@@ -42,7 +42,7 @@ const _sfc_main = {
42
42
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (col) => {
43
43
  return openBlock(), createElementBlock("td", {
44
44
  key: col.key,
45
- class: "pd-small br-t br-solid br-light t-left"
45
+ class: "pd-small br-t-1px br-light t-left"
46
46
  }, [
47
47
  renderSlot(_ctx.$slots, `cell-${col.key}`, {
48
48
  value: getNestedValue(row, col.key),
@@ -60,7 +60,7 @@ const _sfc_main = {
60
60
  };
61
61
  }
62
62
  };
63
- const Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b85cde7e"]]);
63
+ const Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-76864ff9"]]);
64
64
  export {
65
65
  Table as default
66
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Table.vue.js","sources":["../../../../../src/components/Table/Table.vue"],"sourcesContent":["<!-- src/components/Table/Table.vue -->\n<script setup>\nimport { defineProps, computed } from 'vue'\n\nconst props = defineProps({\n // принимаем уже отформатированный набор строк\n items: {\n type: Array,\n required: true,\n default: () => []\n },\n // массив колонок { key, label }\n columns: {\n type: Array,\n required: true,\n default: () => []\n }\n})\n\n// если вам нужен геттер для вложенных свойств\nconst getNestedValue = (obj, path) => path.split('.').reduce((o, k) => (o ? o[k] : undefined), obj) \n</script>\n\n<template>\n <div class=\"o-x-scroll\">\n <table class=\"w-100 custom-table\">\n <thead class=\"t-left bg-light t-black\">\n <tr>\n <th v-for=\"col in columns\" :key=\"col.key\" class=\"pd-small t-medium\">\n {{ col.label }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"(row, rowIndex) in props.items\" :key=\"rowIndex\">\n <td v-for=\"col in columns\" :key=\"col.key\" class=\"pd-small br-t br-solid br-light t-left\">\n <!-- Передаем полный объект row и текущее значение -->\n <slot :name=\"`cell-${col.key}`\" :value=\"getNestedValue(row, col.key)\" :row=\"row\">\n {{ getNestedValue(row, col.key) }}\n </slot>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.custom-table {\n border-collapse: collapse;\n td {\n vertical-align: middle;\n }\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAgBd,UAAM,iBAAiB,CAAC,KAAK,SAAS,KAAK,MAAM,GAAG,EAAE,OAAO,CAAC,GAAG,MAAO,IAAI,EAAE,CAAC,IAAI,QAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Table.vue.js","sources":["../../../../../src/components/Table/Table.vue"],"sourcesContent":["<!-- src/components/Table/Table.vue -->\n<script setup>\nimport { defineProps, computed } from 'vue'\n\nconst props = defineProps({\n // принимаем уже отформатированный набор строк\n items: {\n type: Array,\n required: true,\n default: () => []\n },\n // массив колонок { key, label }\n columns: {\n type: Array,\n required: true,\n default: () => []\n }\n})\n\n// если вам нужен геттер для вложенных свойств\nconst getNestedValue = (obj, path) => path.split('.').reduce((o, k) => (o ? o[k] : undefined), obj) \n</script>\n\n<template>\n <div class=\"o-x-scroll\">\n <table class=\"w-100 custom-table\">\n <thead class=\"t-left bg-light t-black\">\n <tr>\n <th v-for=\"col in columns\" :key=\"col.key\" class=\"pd-small fw-medium\">\n {{ col.label }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"(row, rowIndex) in props.items\" :key=\"rowIndex\">\n <td v-for=\"col in columns\" :key=\"col.key\" class=\"pd-small br-t-1px br-light t-left\">\n <!-- Передаем полный объект row и текущее значение -->\n <slot :name=\"`cell-${col.key}`\" :value=\"getNestedValue(row, col.key)\" :row=\"row\">\n {{ getNestedValue(row, col.key) }}\n </slot>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.custom-table {\n border-collapse: collapse;\n td {\n vertical-align: middle;\n }\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,QAAQ;AAgBd,UAAM,iBAAiB,CAAC,KAAK,SAAS,KAAK,MAAM,GAAG,EAAE,OAAO,CAAC,GAAG,MAAO,IAAI,EAAE,CAAC,IAAI,QAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { ref, computed, createElementBlock, openBlock, createTextVNode, createCommentVNode, toDisplayString } from "vue";
2
2
  const _hoisted_1 = {
3
3
  key: 0,
4
- class: "cursor-pointer t-second"
4
+ class: "cursor-pointer t-grey"
5
5
  };
6
6
  const _sfc_main = {
7
7
  __name: "Text",
@@ -1 +1 @@
1
- {"version":3,"file":"Text.vue.js","sources":["../../../../../src/components/Text/Text.vue"],"sourcesContent":["<template>\n <span @click=\"toggleShow\" class=\"\">\n {{ shownText }}\n <span v-if=\"isTruncated && showToggleText\" class=\"cursor-pointer t-second\">{{ showMoreText }}</span>\n </span>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\n\n// Максимальная длина, текст и опциональный параметр отображения текста переключателя, передаваемые как параметры\nconst props = defineProps({\n maxLen: { type: Number, required: true },\n text: { type: String, required: true },\n showToggleText: { type: Boolean, default: false }\n})\n\n// Управление показом полного текста\nconst showFull = ref(false);\n\n// Компонент вычисляет обрезанный текст\nconst truncatedText = computed(() => {\n return props.text.length > props.maxLen ? props.text.slice(0, props.maxLen) + '...' : props.text;\n});\nconst fullText = computed(() => props.text);\n\n// Переключение показа полного текста\nconst toggleShow = () => {\n showFull.value = !showFull.value;\n};\n\n// Текст, который нужно показать\nconst shownText = computed(() => showFull.value ? fullText.value : truncatedText.value);\n\n// Вычисляем, когда текст обрезан\nconst isTruncated = computed(() => props.text.length > props.maxLen);\n\n// Вычисляем текст для кнопки \"Показать больше/Скрыть\"\nconst showMoreText = computed(() => showFull.value ? 'Hide' : 'Show more');\n\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;AAWA,UAAM,QAAQ;AAOd,UAAM,WAAW,IAAI,KAAK;AAG1B,UAAM,gBAAgB,SAAS,MAAM;AACnC,aAAO,MAAM,KAAK,SAAS,MAAM,SAAS,MAAM,KAAK,MAAM,GAAG,MAAM,MAAM,IAAI,QAAQ,MAAM;AAAA,IAC9F,CAAC;AACD,UAAM,WAAW,SAAS,MAAM,MAAM,IAAI;AAG1C,UAAM,aAAa,MAAM;AACvB,eAAS,QAAQ,CAAC,SAAS;AAAA,IAC7B;AAGA,UAAM,YAAY,SAAS,MAAM,SAAS,QAAQ,SAAS,QAAQ,cAAc,KAAK;AAGtF,UAAM,cAAc,SAAS,MAAM,MAAM,KAAK,SAAS,MAAM,MAAM;AAGnE,UAAM,eAAe,SAAS,MAAM,SAAS,QAAQ,SAAS,WAAW;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Text.vue.js","sources":["../../../../../src/components/Text/Text.vue"],"sourcesContent":["<template>\n <span @click=\"toggleShow\" class=\"\">\n {{ shownText }}\n <span v-if=\"isTruncated && showToggleText\" class=\"cursor-pointer t-grey\">{{ showMoreText }}</span>\n </span>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\n\n// Максимальная длина, текст и опциональный параметр отображения текста переключателя, передаваемые как параметры\nconst props = defineProps({\n maxLen: { type: Number, required: true },\n text: { type: String, required: true },\n showToggleText: { type: Boolean, default: false }\n})\n\n// Управление показом полного текста\nconst showFull = ref(false);\n\n// Компонент вычисляет обрезанный текст\nconst truncatedText = computed(() => {\n return props.text.length > props.maxLen ? props.text.slice(0, props.maxLen) + '...' : props.text;\n});\nconst fullText = computed(() => props.text);\n\n// Переключение показа полного текста\nconst toggleShow = () => {\n showFull.value = !showFull.value;\n};\n\n// Текст, который нужно показать\nconst shownText = computed(() => showFull.value ? fullText.value : truncatedText.value);\n\n// Вычисляем, когда текст обрезан\nconst isTruncated = computed(() => props.text.length > props.maxLen);\n\n// Вычисляем текст для кнопки \"Показать больше/Скрыть\"\nconst showMoreText = computed(() => showFull.value ? 'Hide' : 'Show more');\n\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;AAWA,UAAM,QAAQ;AAOd,UAAM,WAAW,IAAI,KAAK;AAG1B,UAAM,gBAAgB,SAAS,MAAM;AACnC,aAAO,MAAM,KAAK,SAAS,MAAM,SAAS,MAAM,KAAK,MAAM,GAAG,MAAM,MAAM,IAAI,QAAQ,MAAM;AAAA,IAC9F,CAAC;AACD,UAAM,WAAW,SAAS,MAAM,MAAM,IAAI;AAG1C,UAAM,aAAa,MAAM;AACvB,eAAS,QAAQ,CAAC,SAAS;AAAA,IAC7B;AAGA,UAAM,YAAY,SAAS,MAAM,SAAS,QAAQ,SAAS,QAAQ,cAAc,KAAK;AAGtF,UAAM,cAAc,SAAS,MAAM,MAAM,KAAK,SAAS,MAAM,MAAM;AAGnE,UAAM,eAAe,SAAS,MAAM,SAAS,QAAQ,SAAS,WAAW;;;;;;;;;;;;"}
@@ -27,7 +27,7 @@ const _hoisted_7 = {
27
27
  key: 0,
28
28
  class: "upload-text-block flex flex-column"
29
29
  };
30
- const _hoisted_8 = { class: "mn-b-small t-medium" };
30
+ const _hoisted_8 = { class: "mn-b-small fw-medium" };
31
31
  const _hoisted_9 = { class: "mn-b-medium t-transp" };
32
32
  const _hoisted_10 = { key: 0 };
33
33
  const _hoisted_11 = {
@@ -136,7 +136,7 @@ const _sfc_main = {
136
136
  onDrop,
137
137
  onDragover: _cache[0] || (_cache[0] = withModifiers(() => {
138
138
  }, ["prevent"])),
139
- class: "pos-relative radius-small br-solid br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer"
139
+ class: "pos-relative radius-small br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer"
140
140
  }, [
141
141
  imageUrl.value || __props.photo || previewUrl.value ? (openBlock(), createElementBlock("img", {
142
142
  key: 0,
@@ -212,7 +212,7 @@ const _sfc_main = {
212
212
  };
213
213
  }
214
214
  };
215
- const UploadImage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-65075013"]]);
215
+ const UploadImage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-24b590ef"]]);
216
216
  export {
217
217
  UploadImage as default
218
218
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UploadImage.vue.js","sources":["../../../../../src/components/UploadImage/UploadImage.vue"],"sourcesContent":["<template>\n <div class=\"upload-image-wrapper flex-v-center flex-nowrap flex gap-small\" :class=\"{'with-text': text}\">\n <div \n @click=\"onComponentClick\"\n @drop=\"onDrop\"\n @dragover.prevent\n class=\"pos-relative radius-small br-solid br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer\"\n >\n <img loading=\"lazy\" \n v-if=\"imageUrl || photo || previewUrl\" \n :src=\"previewUrl || (FILE_SERVER_URL || '') + (imageUrl || photo)\"\n alt=\"Uploaded image\" \n class=\"pos-absolute radius-small o-hidden z-index-1 w-100 h-100 object-fit-cover\"\n />\n \n <div v-else class=\"flex-v-center pos-relative z-index-2 flex-h-center flex w-100 h-100 radius-small bg-second\" >\n <IconUpload class=\"i-medium upload-icon\" fill=\"rgb(var(--white))\" />\n </div>\n \n <!-- Hover controls -->\n <div class=\"z-index-2 pos-relative hover-controls pos-absolute w-100 h-100 flex-v-center flex-h-center flex\">\n <div v-if=\"!imageUrl && !photo && !previewUrl\" class=\"hover-upload-icon\">\n <IconUpload class=\"i-medium\" fill=\"rgb(var(--white))\" />\n </div>\n <div v-else class=\"hover-buttons flex gap-small\">\n <button @click.stop=\"onComponentClick\" class=\"hover-button radius-small pd-thin bg-main t-white br-none cursor-pointer\">\n <IconUpload class=\"i-medium\" fill=\"rgb(var(--white))\" />\n </button>\n <button @click.stop=\"deleteImage\" class=\"hover-button radius-small pd-thin bg-danger t-white br-none cursor-pointer\">\n <IconDelete class=\"i-medium\" fill=\"rgb(var(--white))\" />\n </button>\n </div>\n </div>\n \n <!-- Loading overlay -->\n <div v-if=\"loading\" class=\"z-index-2 loading-overlay pos-absolute w-100 h-100 flex-v-center flex-h-center flex\">\n <Loader :centered=\"false\" />\n </div>\n \n <input type=\"file\" name=\"file\" ref=\"fileInput\" @change=\"onFileChange\" style=\"display: none\"/>\n </div>\n \n <!-- Text block -->\n <div v-if=\"text\" class=\"upload-text-block flex flex-column\">\n <span class=\"mn-b-small t-medium\">{{ textConfig.title }}</span>\n <span class=\"mn-b-medium t-transp\">{{ textConfig.subtitle }}</span>\n <div v-if=\"!imageUrl && !photo && !previewUrl\">\n <button @click=\"onComponentClick\" class=\"button button-small w-max bg-main t-black cursor-pointer\">\n {{ textConfig.buttonText }}\n </button>\n </div>\n <div v-else class=\"flex gap-thin\">\n <button @click=\"onComponentClick\" class=\"button button-small w-max bg-second t-white cursor-pointer\">\n Upload \n </button>\n <button @click=\"deleteImage\" class=\"button button-small w-max bg-red t-white cursor-pointer\">\n Delete\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, watch, computed } from 'vue';\nimport axios from 'axios';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport IconUpload from '@martyrs/src/modules/icons/navigation/IconUpload.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nconst imageUrl = ref(null);\nconst fileInput = ref(null);\nconst previewUrl = ref(null);\nconst loading = ref(false);\n\nconst props = defineProps({\n uploadPath: {\n type: String,\n required: true\n },\n photo: {\n type: String,\n default: null\n },\n text: {\n type: [Object, Boolean],\n default: null\n }\n});\n\nconst emit = defineEmits(['update:photo', 'error']);\n\n// Text configuration with defaults\nconst textConfig = computed(() => {\n const defaults = {\n title: 'Upload Image',\n subtitle: 'Drag & drop your image here or click button. Supported: JPG, PNG, GIF. Max size: 2MB',\n buttonText: 'Choose Image'\n };\n \n if (props.text === true) {\n return defaults;\n } else if (typeof props.text === 'object' && props.text !== null) {\n return {\n title: props.text.title || defaults.title,\n subtitle: props.text.subtitle || defaults.subtitle,\n buttonText: props.text.buttonText || defaults.buttonText\n };\n }\n \n return defaults;\n});\n\nwatch(props, ({photo}) => {\n if(photo) imageUrl.value = photo;\n});\n\nfunction onComponentClick() {\n fileInput.value.click();\n}\n\nasync function onFileChange(e) {\n let file = e.target.files[0];\n if (!file) {\n console.error(\"No file selected\");\n return;\n }\n \n // Create preview from file\n const reader = new FileReader();\n reader.onload = (e) => {\n previewUrl.value = e.target.result;\n };\n reader.readAsDataURL(file);\n \n let formData = new FormData();\n formData.append(\"file\", file);\n\n console.log(\"Sending file:\", file.name); // Логируем имя файла перед отправкой\n \n loading.value = true;\n\n try {\n const $axios = axios.create({ baseURL: process.env.API_URL, withCredentials: true }); \n\n let response = await $axios.post(`/api/upload/multiple?folderName=${encodeURIComponent(props.uploadPath)}`, formData);\n console.log(\"Upload response:\", response); // Логируем ответ сервера\n imageUrl.value = response.data[0].filepath;\n previewUrl.value = null; // Clear preview after successful upload\n emit('update:photo', imageUrl.value);\n } catch (error) {\n emit('error', error);\n console.error(\"Upload error:\", error); // Логируем ошибку\n previewUrl.value = null; // Clear preview on error\n } finally {\n loading.value = false;\n }\n}\n\n\nfunction onDrop(e) {\n e.preventDefault();\n onFileChange({\n target: {\n files: e.dataTransfer.files\n }\n });\n}\n\nfunction deleteImage() {\n imageUrl.value = null;\n previewUrl.value = null;\n emit('update:photo', null);\n // Reset file input\n if (fileInput.value) {\n fileInput.value.value = '';\n }\n}\n</script>\n\n<style scoped>\n.image-upload-area {\n overflow: hidden;\n transition: all 0.3s ease;\n}\n\n.image-upload-area:hover {\n opacity: 0.95;\n}\n\n/* Hover controls */\n.hover-controls {\n top: 0;\n left: 0;\n background: rgba(0, 0, 0, 0.7);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n}\n\n.image-upload-area:hover .hover-controls {\n opacity: 1;\n pointer-events: all;\n}\n\n.hover-upload-icon {\n animation: pulse 1.5s infinite;\n}\n\n.hover-button {\n transition: transform 0.2s ease, background-color 0.2s ease;\n}\n\n.hover-button:hover {\n transform: scale(1.1);\n}\n\n.hover-button:active {\n transform: scale(0.95);\n}\n\n/* Loading overlay */\n.loading-overlay {\n top: 0;\n left: 0;\n background: rgba(255, 255, 255, 0.9);\n z-index: 10;\n}\n\n/* Animations */\n@keyframes pulse {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n/* Upload icon in empty state */\n.upload-icon {\n transition: transform 0.3s ease;\n}\n\n.image-upload-area:hover .upload-icon {\n transform: scale(1.1);\n}\n</style>\n"],"names":["e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,UAAM,WAAW,IAAI,IAAI;AACzB,UAAM,YAAY,IAAI,IAAI;AAC1B,UAAM,aAAa,IAAI,IAAI;AAC3B,UAAM,UAAU,IAAI,KAAK;AAEzB,UAAM,QAAQ;AAed,UAAM,OAAO;AAGb,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,WAAW;AAAA,QACf,OAAO;AAAA,QACP,UAAU;AAAA,QACV,YAAY;AAAA,MAChB;AAEE,UAAI,MAAM,SAAS,MAAM;AACvB,eAAO;AAAA,MACT,WAAW,OAAO,MAAM,SAAS,YAAY,MAAM,SAAS,MAAM;AAChE,eAAO;AAAA,UACL,OAAO,MAAM,KAAK,SAAS,SAAS;AAAA,UACpC,UAAU,MAAM,KAAK,YAAY,SAAS;AAAA,UAC1C,YAAY,MAAM,KAAK,cAAc,SAAS;AAAA,QACpD;AAAA,MACE;AAEA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,OAAO,CAAC,EAAC,MAAK,MAAM;AACxB,UAAG,MAAO,UAAS,QAAQ;AAAA,IAC7B,CAAC;AAED,aAAS,mBAAmB;AAC1B,gBAAU,MAAM,MAAK;AAAA,IACvB;AAEA,mBAAe,aAAa,GAAG;AAC7B,UAAI,OAAO,EAAE,OAAO,MAAM,CAAC;AAC3B,UAAI,CAAC,MAAM;AACT,gBAAQ,MAAM,kBAAkB;AAChC;AAAA,MACF;AAGA,YAAM,SAAS,IAAI,WAAU;AAC7B,aAAO,SAAS,CAACA,OAAM;AACrB,mBAAW,QAAQA,GAAE,OAAO;AAAA,MAC9B;AACA,aAAO,cAAc,IAAI;AAEzB,UAAI,WAAW,IAAI,SAAQ;AAC3B,eAAS,OAAO,QAAQ,IAAI;AAE5B,cAAQ,IAAI,iBAAiB,KAAK,IAAI;AAEtC,cAAQ,QAAQ;AAEhB,UAAI;AACF,cAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS,iBAAiB,KAAI,CAAE;AAEnF,YAAI,WAAW,MAAM,OAAO,KAAK,mCAAmC,mBAAmB,MAAM,UAAU,CAAC,IAAI,QAAQ;AACpH,gBAAQ,IAAI,oBAAoB,QAAQ;AACxC,iBAAS,QAAQ,SAAS,KAAK,CAAC,EAAE;AAClC,mBAAW,QAAQ;AACnB,aAAK,gBAAgB,SAAS,KAAK;AAAA,MACrC,SAAS,OAAO;AACd,aAAK,SAAS,KAAK;AACnB,gBAAQ,MAAM,iBAAiB,KAAK;AACpC,mBAAW,QAAQ;AAAA,MACrB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAGA,aAAS,OAAO,GAAG;AACjB,QAAE,eAAc;AAChB,mBAAa;AAAA,QACX,QAAQ;AAAA,UACN,OAAO,EAAE,aAAa;AAAA,QAC5B;AAAA,MACA,CAAG;AAAA,IACH;AAEA,aAAS,cAAc;AACrB,eAAS,QAAQ;AACjB,iBAAW,QAAQ;AACnB,WAAK,gBAAgB,IAAI;AAEzB,UAAI,UAAU,OAAO;AACnB,kBAAU,MAAM,QAAQ;AAAA,MAC1B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"UploadImage.vue.js","sources":["../../../../../src/components/UploadImage/UploadImage.vue"],"sourcesContent":["<template>\n <div class=\"upload-image-wrapper flex-v-center flex-nowrap flex gap-small\" :class=\"{'with-text': text}\">\n <div \n @click=\"onComponentClick\"\n @drop=\"onDrop\"\n @dragover.prevent\n class=\"pos-relative radius-small br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer\"\n >\n <img loading=\"lazy\" \n v-if=\"imageUrl || photo || previewUrl\" \n :src=\"previewUrl || (FILE_SERVER_URL || '') + (imageUrl || photo)\"\n alt=\"Uploaded image\" \n class=\"pos-absolute radius-small o-hidden z-index-1 w-100 h-100 object-fit-cover\"\n />\n \n <div v-else class=\"flex-v-center pos-relative z-index-2 flex-h-center flex w-100 h-100 radius-small bg-second\" >\n <IconUpload class=\"i-medium upload-icon\" fill=\"rgb(var(--white))\" />\n </div>\n \n <!-- Hover controls -->\n <div class=\"z-index-2 pos-relative hover-controls pos-absolute w-100 h-100 flex-v-center flex-h-center flex\">\n <div v-if=\"!imageUrl && !photo && !previewUrl\" class=\"hover-upload-icon\">\n <IconUpload class=\"i-medium\" fill=\"rgb(var(--white))\" />\n </div>\n <div v-else class=\"hover-buttons flex gap-small\">\n <button @click.stop=\"onComponentClick\" class=\"hover-button radius-small pd-thin bg-main t-white br-none cursor-pointer\">\n <IconUpload class=\"i-medium\" fill=\"rgb(var(--white))\" />\n </button>\n <button @click.stop=\"deleteImage\" class=\"hover-button radius-small pd-thin bg-danger t-white br-none cursor-pointer\">\n <IconDelete class=\"i-medium\" fill=\"rgb(var(--white))\" />\n </button>\n </div>\n </div>\n \n <!-- Loading overlay -->\n <div v-if=\"loading\" class=\"z-index-2 loading-overlay pos-absolute w-100 h-100 flex-v-center flex-h-center flex\">\n <Loader :centered=\"false\" />\n </div>\n \n <input type=\"file\" name=\"file\" ref=\"fileInput\" @change=\"onFileChange\" style=\"display: none\"/>\n </div>\n \n <!-- Text block -->\n <div v-if=\"text\" class=\"upload-text-block flex flex-column\">\n <span class=\"mn-b-small fw-medium\">{{ textConfig.title }}</span>\n <span class=\"mn-b-medium t-transp\">{{ textConfig.subtitle }}</span>\n <div v-if=\"!imageUrl && !photo && !previewUrl\">\n <button @click=\"onComponentClick\" class=\"button button-small w-max bg-main t-black cursor-pointer\">\n {{ textConfig.buttonText }}\n </button>\n </div>\n <div v-else class=\"flex gap-thin\">\n <button @click=\"onComponentClick\" class=\"button button-small w-max bg-second t-white cursor-pointer\">\n Upload \n </button>\n <button @click=\"deleteImage\" class=\"button button-small w-max bg-red t-white cursor-pointer\">\n Delete\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, watch, computed } from 'vue';\nimport axios from 'axios';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport IconUpload from '@martyrs/src/modules/icons/navigation/IconUpload.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nconst imageUrl = ref(null);\nconst fileInput = ref(null);\nconst previewUrl = ref(null);\nconst loading = ref(false);\n\nconst props = defineProps({\n uploadPath: {\n type: String,\n required: true\n },\n photo: {\n type: String,\n default: null\n },\n text: {\n type: [Object, Boolean],\n default: null\n }\n});\n\nconst emit = defineEmits(['update:photo', 'error']);\n\n// Text configuration with defaults\nconst textConfig = computed(() => {\n const defaults = {\n title: 'Upload Image',\n subtitle: 'Drag & drop your image here or click button. Supported: JPG, PNG, GIF. Max size: 2MB',\n buttonText: 'Choose Image'\n };\n \n if (props.text === true) {\n return defaults;\n } else if (typeof props.text === 'object' && props.text !== null) {\n return {\n title: props.text.title || defaults.title,\n subtitle: props.text.subtitle || defaults.subtitle,\n buttonText: props.text.buttonText || defaults.buttonText\n };\n }\n \n return defaults;\n});\n\nwatch(props, ({photo}) => {\n if(photo) imageUrl.value = photo;\n});\n\nfunction onComponentClick() {\n fileInput.value.click();\n}\n\nasync function onFileChange(e) {\n let file = e.target.files[0];\n if (!file) {\n console.error(\"No file selected\");\n return;\n }\n \n // Create preview from file\n const reader = new FileReader();\n reader.onload = (e) => {\n previewUrl.value = e.target.result;\n };\n reader.readAsDataURL(file);\n \n let formData = new FormData();\n formData.append(\"file\", file);\n\n console.log(\"Sending file:\", file.name); // Логируем имя файла перед отправкой\n \n loading.value = true;\n\n try {\n const $axios = axios.create({ baseURL: process.env.API_URL, withCredentials: true }); \n\n let response = await $axios.post(`/api/upload/multiple?folderName=${encodeURIComponent(props.uploadPath)}`, formData);\n console.log(\"Upload response:\", response); // Логируем ответ сервера\n imageUrl.value = response.data[0].filepath;\n previewUrl.value = null; // Clear preview after successful upload\n emit('update:photo', imageUrl.value);\n } catch (error) {\n emit('error', error);\n console.error(\"Upload error:\", error); // Логируем ошибку\n previewUrl.value = null; // Clear preview on error\n } finally {\n loading.value = false;\n }\n}\n\n\nfunction onDrop(e) {\n e.preventDefault();\n onFileChange({\n target: {\n files: e.dataTransfer.files\n }\n });\n}\n\nfunction deleteImage() {\n imageUrl.value = null;\n previewUrl.value = null;\n emit('update:photo', null);\n // Reset file input\n if (fileInput.value) {\n fileInput.value.value = '';\n }\n}\n</script>\n\n<style scoped>\n.image-upload-area {\n overflow: hidden;\n transition: all 0.3s ease;\n}\n\n.image-upload-area:hover {\n opacity: 0.95;\n}\n\n/* Hover controls */\n.hover-controls {\n top: 0;\n left: 0;\n background: rgba(0, 0, 0, 0.7);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n}\n\n.image-upload-area:hover .hover-controls {\n opacity: 1;\n pointer-events: all;\n}\n\n.hover-upload-icon {\n animation: pulse 1.5s infinite;\n}\n\n.hover-button {\n transition: transform 0.2s ease, background-color 0.2s ease;\n}\n\n.hover-button:hover {\n transform: scale(1.1);\n}\n\n.hover-button:active {\n transform: scale(0.95);\n}\n\n/* Loading overlay */\n.loading-overlay {\n top: 0;\n left: 0;\n background: rgba(255, 255, 255, 0.9);\n z-index: 10;\n}\n\n/* Animations */\n@keyframes pulse {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n/* Upload icon in empty state */\n.upload-icon {\n transition: transform 0.3s ease;\n}\n\n.image-upload-area:hover .upload-icon {\n transform: scale(1.1);\n}\n</style>\n"],"names":["e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,UAAM,WAAW,IAAI,IAAI;AACzB,UAAM,YAAY,IAAI,IAAI;AAC1B,UAAM,aAAa,IAAI,IAAI;AAC3B,UAAM,UAAU,IAAI,KAAK;AAEzB,UAAM,QAAQ;AAed,UAAM,OAAO;AAGb,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,WAAW;AAAA,QACf,OAAO;AAAA,QACP,UAAU;AAAA,QACV,YAAY;AAAA,MAChB;AAEE,UAAI,MAAM,SAAS,MAAM;AACvB,eAAO;AAAA,MACT,WAAW,OAAO,MAAM,SAAS,YAAY,MAAM,SAAS,MAAM;AAChE,eAAO;AAAA,UACL,OAAO,MAAM,KAAK,SAAS,SAAS;AAAA,UACpC,UAAU,MAAM,KAAK,YAAY,SAAS;AAAA,UAC1C,YAAY,MAAM,KAAK,cAAc,SAAS;AAAA,QACpD;AAAA,MACE;AAEA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,OAAO,CAAC,EAAC,MAAK,MAAM;AACxB,UAAG,MAAO,UAAS,QAAQ;AAAA,IAC7B,CAAC;AAED,aAAS,mBAAmB;AAC1B,gBAAU,MAAM,MAAK;AAAA,IACvB;AAEA,mBAAe,aAAa,GAAG;AAC7B,UAAI,OAAO,EAAE,OAAO,MAAM,CAAC;AAC3B,UAAI,CAAC,MAAM;AACT,gBAAQ,MAAM,kBAAkB;AAChC;AAAA,MACF;AAGA,YAAM,SAAS,IAAI,WAAU;AAC7B,aAAO,SAAS,CAACA,OAAM;AACrB,mBAAW,QAAQA,GAAE,OAAO;AAAA,MAC9B;AACA,aAAO,cAAc,IAAI;AAEzB,UAAI,WAAW,IAAI,SAAQ;AAC3B,eAAS,OAAO,QAAQ,IAAI;AAE5B,cAAQ,IAAI,iBAAiB,KAAK,IAAI;AAEtC,cAAQ,QAAQ;AAEhB,UAAI;AACF,cAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS,iBAAiB,KAAI,CAAE;AAEnF,YAAI,WAAW,MAAM,OAAO,KAAK,mCAAmC,mBAAmB,MAAM,UAAU,CAAC,IAAI,QAAQ;AACpH,gBAAQ,IAAI,oBAAoB,QAAQ;AACxC,iBAAS,QAAQ,SAAS,KAAK,CAAC,EAAE;AAClC,mBAAW,QAAQ;AACnB,aAAK,gBAAgB,SAAS,KAAK;AAAA,MACrC,SAAS,OAAO;AACd,aAAK,SAAS,KAAK;AACnB,gBAAQ,MAAM,iBAAiB,KAAK;AACpC,mBAAW,QAAQ;AAAA,MACrB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAGA,aAAS,OAAO,GAAG;AACjB,QAAE,eAAc;AAChB,mBAAa;AAAA,QACX,QAAQ;AAAA,UACN,OAAO,EAAE,aAAa;AAAA,QAC5B;AAAA,MACA,CAAG;AAAA,IACH;AAEA,aAAS,cAAc;AACrB,eAAS,QAAQ;AACjB,iBAAW,QAAQ;AACnB,WAAK,gBAAgB,IAAI;AAEzB,UAAI,UAAU,OAAO;AACnB,kBAAU,MAAM,QAAQ;AAAA,MAC1B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -17,15 +17,15 @@ const _hoisted_3 = {
17
17
  };
18
18
  const _hoisted_4 = {
19
19
  key: 2,
20
- class: "mn-b-small uppercase p-small t-medium d-block"
20
+ class: "mn-b-small uppercase p-small fw-medium d-block"
21
21
  };
22
22
  const _hoisted_5 = {
23
23
  key: 3,
24
- class: "cursor-pointer mn-b-small br-2px br-main br-solid radius-extra pd-l-thin pd-r-thin t-main"
24
+ class: "cursor-pointer mn-b-small br-2px br-main radius-extra pd-l-thin pd-r-thin t-main"
25
25
  };
26
26
  const _hoisted_6 = {
27
27
  key: 4,
28
- class: "uppercase p-small t-medium d-block"
28
+ class: "uppercase p-small fw-medium d-block"
29
29
  };
30
30
  const _sfc_main = {
31
31
  __name: "UploadImageMultiple",
@@ -1 +1 @@
1
- {"version":3,"file":"UploadImageMultiple.vue.js","sources":["../../../../../src/components/UploadImageMultiple/UploadImageMultiple.vue"],"sourcesContent":["<template>\n <div \n @click=\"onComponentClick\"\n @drop=\"onDrop\"\n @dragover.prevent\n class=\"cursor-pointer t-black w-100 flex-v-center flex-h-center flex pos-relative\"\n >\n <transition name=\"moveFromTop\" mode=\"out-in\">\n <div v-if=\"!loading\" class=\"t-center\">\n <IconUpload\n style=\"max-height: 4rem;\"\n class=\"w-100 mn-b-thin h-100\"\n fill=\"rgb(var(--main))\"\n />\n <span v-if=\"options.showText || options.showTitle\" class=\"mn-t-medium mn-b-medium d-block h3 t-black\">{{ text.title }}</span>\n <span v-if=\"options.showText\" class=\"mn-b-small t-transp d-block \">{{ text.subtitle }}</span>\n <span v-if=\"options.showText\"class=\"mn-b-small uppercase p-small t-medium d-block\">or</span>\n <button v-if=\"options.showText\" class=\"cursor-pointer mn-b-small br-2px br-main br-solid radius-extra pd-l-thin pd-r-thin t-main\">Browse Files</button>\n <span v-if=\"options.showText\" class=\"uppercase p-small t-medium d-block \">Maximum size: 2MB</span>\n </div>\n <Loader v-else class=\"pos-absolute\"/>\n </transition>\n <input type=\"file\" ref=\"fileInput\" @change=\"onFileChange\" multiple style=\"display: none\"/>\n </div>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue';\nimport axios from 'axios';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport IconUpload from '@martyrs/src/modules/icons/navigation/IconUpload.vue'\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\nconst core = useStore();\n\nconst images = ref([]);\nconst loading = ref(false);\nconst fileInput = ref(null);\n\nconst props = defineProps({\n uploadPath: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n mimeType: ['jpg', 'png', 'gif'],\n maxSize: 10 * 1024 * 1024,\n showText: true,\n showTitle: true\n })\n },\n text: {\n type: Object,\n default: () => ({\n title: 'Drag & Drop Your Images Here',\n subtitle: 'Files supported: JPG, PNG, GIF'\n })\n }\n});\n\nconst emit = defineEmits(['update:images']);\n\nfunction onComponentClick() {\n fileInput.value.click();\n}\n\nasync function onFileChange(e) {\n loading.value = true;\n let files = e.target.files;\n let formData = new FormData();\n \n for (const file of files) {\n formData.append(\"file\", file);\n }\n \n try {\n const $axios = axios.create({ baseURL: process.env.API_URL, withCredentials: true }); \n let response = await $axios.post(`/api/upload/multiple?folderName=${encodeURIComponent(props.uploadPath)}`, formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n \n response.data.forEach(file => {\n images.value.push(file.filepath);\n });\n \n emit('update:images', images.value);\n } catch (error) {\n core.setError(error);\n } finally {\n loading.value = false;\n }\n}\n\nfunction onDrop(e) {\n e.preventDefault();\n onFileChange({\n target: {\n files: e.dataTransfer.files\n }\n });\n}\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,UAAM,OAAO,SAAQ;AAErB,UAAM,SAAS,IAAI,EAAE;AACrB,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,YAAY,IAAI,IAAI;AAE1B,UAAM,QAAQ;AAuBd,UAAM,OAAO;AAEb,aAAS,mBAAmB;AAC1B,gBAAU,MAAM,MAAK;AAAA,IACvB;AAEA,mBAAe,aAAa,GAAG;AAC7B,cAAQ,QAAQ;AAChB,UAAI,QAAQ,EAAE,OAAO;AACrB,UAAI,WAAW,IAAI,SAAQ;AAE3B,iBAAW,QAAQ,OAAO;AACxB,iBAAS,OAAO,QAAQ,IAAI;AAAA,MAC9B;AAEA,UAAI;AACF,cAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS,iBAAiB,KAAI,CAAE;AACnF,YAAI,WAAW,MAAM,OAAO,KAAK,mCAAmC,mBAAmB,MAAM,UAAU,CAAC,IAAI,UAAU;AAAA,UACpH,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,QACA,CAAK;AAED,iBAAS,KAAK,QAAQ,UAAQ;AAC5B,iBAAO,MAAM,KAAK,KAAK,QAAQ;AAAA,QACjC,CAAC;AAED,aAAK,iBAAiB,OAAO,KAAK;AAAA,MACpC,SAAS,OAAO;AACd,aAAK,SAAS,KAAK;AAAA,MACrB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,OAAO,GAAG;AACjB,QAAE,eAAc;AAChB,mBAAa;AAAA,QACX,QAAQ;AAAA,UACN,OAAO,EAAE,aAAa;AAAA,QAC5B;AAAA,MACA,CAAG;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"UploadImageMultiple.vue.js","sources":["../../../../../src/components/UploadImageMultiple/UploadImageMultiple.vue"],"sourcesContent":["<template>\n <div \n @click=\"onComponentClick\"\n @drop=\"onDrop\"\n @dragover.prevent\n class=\"cursor-pointer t-black w-100 flex-v-center flex-h-center flex pos-relative\"\n >\n <transition name=\"moveFromTop\" mode=\"out-in\">\n <div v-if=\"!loading\" class=\"t-center\">\n <IconUpload\n style=\"max-height: 4rem;\"\n class=\"w-100 mn-b-thin h-100\"\n fill=\"rgb(var(--main))\"\n />\n <span v-if=\"options.showText || options.showTitle\" class=\"mn-t-medium mn-b-medium d-block h3 t-black\">{{ text.title }}</span>\n <span v-if=\"options.showText\" class=\"mn-b-small t-transp d-block \">{{ text.subtitle }}</span>\n <span v-if=\"options.showText\"class=\"mn-b-small uppercase p-small fw-medium d-block\">or</span>\n <button v-if=\"options.showText\" class=\"cursor-pointer mn-b-small br-2px br-main radius-extra pd-l-thin pd-r-thin t-main\">Browse Files</button>\n <span v-if=\"options.showText\" class=\"uppercase p-small fw-medium d-block \">Maximum size: 2MB</span>\n </div>\n <Loader v-else class=\"pos-absolute\"/>\n </transition>\n <input type=\"file\" ref=\"fileInput\" @change=\"onFileChange\" multiple style=\"display: none\"/>\n </div>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue';\nimport axios from 'axios';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport IconUpload from '@martyrs/src/modules/icons/navigation/IconUpload.vue'\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\nconst core = useStore();\n\nconst images = ref([]);\nconst loading = ref(false);\nconst fileInput = ref(null);\n\nconst props = defineProps({\n uploadPath: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n mimeType: ['jpg', 'png', 'gif'],\n maxSize: 10 * 1024 * 1024,\n showText: true,\n showTitle: true\n })\n },\n text: {\n type: Object,\n default: () => ({\n title: 'Drag & Drop Your Images Here',\n subtitle: 'Files supported: JPG, PNG, GIF'\n })\n }\n});\n\nconst emit = defineEmits(['update:images']);\n\nfunction onComponentClick() {\n fileInput.value.click();\n}\n\nasync function onFileChange(e) {\n loading.value = true;\n let files = e.target.files;\n let formData = new FormData();\n \n for (const file of files) {\n formData.append(\"file\", file);\n }\n \n try {\n const $axios = axios.create({ baseURL: process.env.API_URL, withCredentials: true }); \n let response = await $axios.post(`/api/upload/multiple?folderName=${encodeURIComponent(props.uploadPath)}`, formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n \n response.data.forEach(file => {\n images.value.push(file.filepath);\n });\n \n emit('update:images', images.value);\n } catch (error) {\n core.setError(error);\n } finally {\n loading.value = false;\n }\n}\n\nfunction onDrop(e) {\n e.preventDefault();\n onFileChange({\n target: {\n files: e.dataTransfer.files\n }\n });\n}\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,UAAM,OAAO,SAAQ;AAErB,UAAM,SAAS,IAAI,EAAE;AACrB,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,YAAY,IAAI,IAAI;AAE1B,UAAM,QAAQ;AAuBd,UAAM,OAAO;AAEb,aAAS,mBAAmB;AAC1B,gBAAU,MAAM,MAAK;AAAA,IACvB;AAEA,mBAAe,aAAa,GAAG;AAC7B,cAAQ,QAAQ;AAChB,UAAI,QAAQ,EAAE,OAAO;AACrB,UAAI,WAAW,IAAI,SAAQ;AAE3B,iBAAW,QAAQ,OAAO;AACxB,iBAAS,OAAO,QAAQ,IAAI;AAAA,MAC9B;AAEA,UAAI;AACF,cAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS,iBAAiB,KAAI,CAAE;AACnF,YAAI,WAAW,MAAM,OAAO,KAAK,mCAAmC,mBAAmB,MAAM,UAAU,CAAC,IAAI,UAAU;AAAA,UACpH,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,QACA,CAAK;AAED,iBAAS,KAAK,QAAQ,UAAQ;AAC5B,iBAAO,MAAM,KAAK,KAAK,QAAQ;AAAA,QACjC,CAAC;AAED,aAAK,iBAAiB,OAAO,KAAK;AAAA,MACpC,SAAS,OAAO;AACd,aAAK,SAAS,KAAK;AAAA,MACrB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,OAAO,GAAG;AACjB,QAAE,eAAc;AAChB,mBAAa;AAAA,QACX,QAAQ;AAAA,UACN,OAAO,EAAE,aAAa;AAAA,QAC5B;AAAA,MACA,CAAG;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -10,7 +10,7 @@ const _hoisted_5 = {
10
10
  };
11
11
  const _hoisted_6 = {
12
12
  key: 0,
13
- class: "flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-thin bg-main"
13
+ class: "flex-child flex-shrink-0 capitalize w-max fw-medium radius-big pd-thin bg-main"
14
14
  };
15
15
  const _sfc_main = {
16
16
  __name: "CardUser",
@@ -78,7 +78,7 @@ const _sfc_main = {
78
78
  __props.action ? (openBlock(), createElementBlock("button", {
79
79
  key: 1,
80
80
  onClick: _cache[2] || (_cache[2] = withModifiers((...args) => __props.action.method && __props.action.method(...args), ["stop"])),
81
- class: "h-2r w-2r t-white mn-l-thin capitalize t-medium radius-big bg-red"
81
+ class: "h-2r w-2r t-white mn-l-thin capitalize fw-medium radius-big bg-red"
82
82
  }, [
83
83
  __props.action.label.is ? (openBlock(), createBlock(resolveDynamicComponent(__props.action.label.is), normalizeProps(mergeProps({ key: 0 }, __props.action.label.props)), null, 16)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
84
84
  createTextVNode(toDisplayString(__props.action.label), 1)
@@ -4,7 +4,7 @@ const _hoisted_1 = { class: "profile-card bg-light radius-small pd-small mn-smal
4
4
  const _hoisted_2 = { class: "flex flex-v-center gap-small" };
5
5
  const _hoisted_3 = ["src"];
6
6
  const _hoisted_4 = { class: "profile-info flex-child-default" };
7
- const _hoisted_5 = { class: "profile-name mn-b-micro t-medium" };
7
+ const _hoisted_5 = { class: "profile-name mn-b-micro fw-medium" };
8
8
  const _hoisted_6 = { class: "lex-nowrap flex gap-micro" };
9
9
  const _sfc_main = {
10
10
  __name: "ProfileCard",
@@ -17,10 +17,10 @@ const _sfc_main = {
17
17
  key: 0,
18
18
  loading: "lazy",
19
19
  src: (_ctx.FILE_SERVER_URL || "") + unref(store).users.state.current.profile.photo,
20
- class: "avatar radius-100 bg-white object-fit-cover i-semi"
20
+ class: "avatar radius-extra bg-white object-fit-cover i-semi"
21
21
  }, null, 8, _hoisted_3)) : (openBlock(), createBlock(PlaceholderUserpic, {
22
22
  key: 1,
23
- class: "avatar radius-100 i-semi"
23
+ class: "avatar radius-extra i-semi"
24
24
  })),
25
25
  createElementVNode("div", _hoisted_4, [
26
26
  createElementVNode("div", _hoisted_5, toDisplayString(unref(store).users?.state?.current?.profile?.name || "Anonymous"), 1),
@@ -28,7 +28,7 @@ const _sfc_main = {
28
28
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(store).users?.state?.current?.roles, (role, index) => {
29
29
  return openBlock(), createElementBlock("div", {
30
30
  key: index,
31
- class: "pd-thin radius-small t-small t-semi bg-white"
31
+ class: "pd-thin radius-small t-small fw-semi bg-white"
32
32
  }, toDisplayString(role.icon) + " " + toDisplayString(role.name), 1);
33
33
  }), 128))
34
34
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileCard.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/blocks/ProfileCard.vue"],"sourcesContent":["<template>\n <div class=\"profile-card bg-light radius-small pd-small mn-small mn-b-zero\">\n <div class=\"flex flex-v-center gap-small\">\n <img\n loading=\"lazy\"\n v-if=\"store.users?.state?.current?.profile?.photo && store.users.state.current.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + store.users.state.current.profile.photo\"\n class=\"avatar radius-100 bg-white object-fit-cover i-semi\"\n />\n\n <PlaceholderUserpic\n v-else\n class=\"avatar radius-100 i-semi\"\n />\n\n <div class=\"profile-info flex-child-default\">\n <div class=\"profile-name mn-b-micro t-medium\">{{ store.users?.state?.current?.profile?.name || 'Anonymous' }}</div>\n <div class=\"lex-nowrap flex gap-micro\">\n <div\n v-for=\"(role, index) in store.users?.state?.current?.roles\"\n :key=\"index\"\n class=\"pd-thin radius-small t-small t-semi bg-white\"\n >\n {{ role.icon }}\n {{ role.name }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { inject } from 'vue';\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue';\n\nconst store = inject('store');\n</script>\n\n<style scoped>\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;AAoCA,UAAM,QAAQ,OAAO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ProfileCard.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/blocks/ProfileCard.vue"],"sourcesContent":["<template>\n <div class=\"profile-card bg-light radius-small pd-small mn-small mn-b-zero\">\n <div class=\"flex flex-v-center gap-small\">\n <img\n loading=\"lazy\"\n v-if=\"store.users?.state?.current?.profile?.photo && store.users.state.current.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + store.users.state.current.profile.photo\"\n class=\"avatar radius-extra bg-white object-fit-cover i-semi\"\n />\n\n <PlaceholderUserpic\n v-else\n class=\"avatar radius-extra i-semi\"\n />\n\n <div class=\"profile-info flex-child-default\">\n <div class=\"profile-name mn-b-micro fw-medium\">{{ store.users?.state?.current?.profile?.name || 'Anonymous' }}</div>\n <div class=\"lex-nowrap flex gap-micro\">\n <div\n v-for=\"(role, index) in store.users?.state?.current?.roles\"\n :key=\"index\"\n class=\"pd-thin radius-small t-small fw-semi bg-white\"\n >\n {{ role.icon }}\n {{ role.name }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { inject } from 'vue';\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue';\n\nconst store = inject('store');\n</script>\n\n<style scoped>\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;AAoCA,UAAM,QAAQ,OAAO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { resolveComponent, createElementBlock, openBlock, createVNode, createElementVNode, withCtx, Transition, createBlock, resolveDynamicComponent } from "vue";
2
2
  import _sfc_main$1 from "../sections/SliderFeatures.vue.js";
3
3
  import { useRoute } from "vue-router";
4
- const _hoisted_1 = { class: "cols-2-1_2 gap-small pd-small" };
4
+ const _hoisted_1 = { class: "cols-[1fr_2fr] mobile:cols-1 gap-small pd-small" };
5
5
  const _hoisted_2 = { class: "w-100 h-100 desktop-only o-hidden radius-big bg-black t-white" };
6
6
  const _sfc_main = {
7
7
  __name: "Auth",
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/layouts/Auth.vue"],"sourcesContent":["<template>\n <div \n \tclass=\"cols-2-1_2 gap-small pd-small\"\n >\n <router-view\n \tclass=\"pd-big mobile:pd-medium w-m-66r t-center\" \n \tv-slot=\"{ Component, route }\"\n >\n <transition \n \tname=\"scaleIn\" mode=\"out-in\"\n >\n <component \n \tref=\"page\" \n \t:key=\"route.path\" \n \t:localPosition=\"localPosition\" \n \t:is=\"Component\" \n />\n </transition>\n </router-view>\n\n <section class=\"w-100 h-100 desktop-only o-hidden radius-big bg-black t-white\">\n <SliderFeatures/> \n </section>\n </div>\n</template>\n\n<script setup>\nimport SliderFeatures from '@martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue'\n\nimport { useRoute } from 'vue-router'\n\nconst route = useRoute()\n</script>"],"names":[],"mappings":";;;;;;;;AA+Bc,aAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Auth.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/layouts/Auth.vue"],"sourcesContent":["<template>\n <div \n \tclass=\"cols-[1fr_2fr] mobile:cols-1 gap-small pd-small\"\n >\n <router-view\n \tclass=\"pd-big mobile:pd-medium w-m-66r t-center\" \n \tv-slot=\"{ Component, route }\"\n >\n <transition \n \tname=\"scaleIn\" mode=\"out-in\"\n >\n <component \n \tref=\"page\" \n \t:key=\"route.path\" \n \t:localPosition=\"localPosition\" \n \t:is=\"Component\" \n />\n </transition>\n </router-view>\n\n <section class=\"w-100 h-100 desktop-only o-hidden radius-big bg-black t-white\">\n <SliderFeatures/> \n </section>\n </div>\n</template>\n\n<script setup>\nimport SliderFeatures from '@martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue'\n\nimport { useRoute } from 'vue-router'\n\nconst route = useRoute()\n</script>"],"names":[],"mappings":";;;;;;;;AA+Bc,aAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { reactive, watch, ref, createElementBlock, openBlock, createElementVNode, toDisplayString, unref, withDirectives, vModelText } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import { useRoute, useRouter } from "vue-router";
4
4
  import { useI18n } from "vue-i18n";
5
5
  import { state as state$1 } from "../../store/auth.js";
@@ -1,7 +1,7 @@
1
1
  import { ref, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, createTextVNode, withCtx } from "vue";
2
2
  /* empty css */
3
- import Field from "../../../../../components/Field/Field.vue2.js";
4
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue.js";
4
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { useI18n } from "vue-i18n";
7
7
  import { state, actions } from "../../store/auth.js";
@@ -20,7 +20,7 @@ const _hoisted_4 = {
20
20
  const _hoisted_5 = { class: "mn-b-semi radius-small o-hidden" };
21
21
  const _hoisted_6 = {
22
22
  key: 2,
23
- class: "p-regular t-semi mn-b-semi"
23
+ class: "p-regular fw-semi mn-b-semi"
24
24
  };
25
25
  const _hoisted_7 = { key: 0 };
26
26
  const _hoisted_8 = { key: 1 };
@@ -92,7 +92,7 @@ const _sfc_main = {
92
92
  unref(route).query.method !== "reset-password" ? (openBlock(), createElementBlock("div", _hoisted_6, _cache[2] || (_cache[2] = [
93
93
  createTextVNode(" By registering, you agree to our "),
94
94
  createElementVNode("a", {
95
- class: "t-second",
95
+ class: "t-grey",
96
96
  href: "/legal/eula",
97
97
  target: "_blank",
98
98
  rel: "noopener noreferrer"
@@ -1 +1 @@
1
- {"version":3,"file":"EnterPassword.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/EnterPassword.vue"],"sourcesContent":["<template>\n\t<section class=\"t-left pd-medium\">\n\t\t<!-- Header -->\n\t\t<!-- <img loading=\"lazy\" src=\"@/assets/icons/password.png\" class=\"i-extra mn-b-small\"> -->\n\t\t<h3 class=\"mn-b-small\">{{ t('auth.enterPassword.almostDone') }}</h3>\n\t\t<p v-if=\"route.query.method === 'reset-password'\" class=\"mn-b-semi t-transp\">{{ t('auth.enterPassword.newPasswordPrompt') }}</p>\n\t\t<p v-else class=\"mn-b-semi t-transp\">{{ t('auth.enterPassword.registrationPasswordPrompt') }}</p>\n\t\n\t\t<!-- Form -->\n\t\t<div class=\"mn-b-semi radius-small o-hidden\">\n\t\t\t<Field \n\t\t\t\tv-model:field=\"auth.state.user.password\"\n\t\t\t\ttype=\"password\" \t\n\t\t\t\t:validation=\"passswordValidation\" \n\t\t\t\t:placeholder=\"t('auth.enterPassword.passwordPlaceholder')\"\t\t\n\t\t\t\tclass=\"bg-light pd-small radius-small mn-b-thin\"\n\t\t\t/>\n\t\t\t<Field \n\t\t\t\tv-model:field=\"auth.state.user.passwordRepeat\"\n\t\t\t\ttype=\"password\" \t\n\t\t\t\t:placeholder=\"t('auth.enterPassword.repeatPasswordPlaceholder')\"\n\t\t\t\tclass=\"bg-light pd-small radius-small mn-b-thin\"\n\t\t\t/>\n\t\t</div>\n\t\t<div\n\t\t\t v-if=\"route.query.method !== 'reset-password'\" \n\t\t\t class=\"p-regular t-semi mn-b-semi \"\n\t\t>\n\t\t\t By registering, you agree to our <a class=\"t-second\" href=\"/legal/eula\" target=\"_blank\" rel=\"noopener noreferrer\">End User License Agreement (EULA)</a>\n\t\t</div>\n\t\t<!-- Button -->\n\t\t<Button :submit=\"onSubmit\" :callback=\"redirectTo\" class=\"w-100 bg-main mn-b-big\">\n\t\t\t<span v-if=\"route.query.method === 'reset-password'\">{{ t('auth.enterPassword.changePasswordBtn') }}</span>\n\t\t\t<span v-else>{{ t('auth.enterPassword.registerBtn') }}</span>\n\t\t</Button>\n\t</section> \n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import libs\nimport { computed, onMounted, ref, onBeforeMount } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\nconst passswordValidation = ref(null)\n// Localization\nconst { t } = useI18n({\n\tuseScope: 'global', \n})\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Accessing state\nconst tabAuth = ref('phone')\n// Methods\nasync function onSubmit() {\n\ttry {\n\t\tawait inputsValidation.validateInputs(\n\t\t\tpassswordValidation, \n\t\t\tinputsValidation.validatePassword, \n\t\t\tauth.state.user.password, \n\t\t\t'Некорректный пароль'\n\t\t)\n\t} catch (error) {\n\t\tthrow new Error\n\t}\n\n\tif (route.query.method === 'reset-password') await auth.actions.updatePassword(auth.state.user, route.query.type)\n\tif (route.query.method !== 'reset-password') await auth.actions.signup(auth.state.user, route.query.type)\n}\n\nfunction redirectTo () {\n\tif (route.query.returnUrl) {\n\t\trouter.push({ \n\t\t\tpath: route.query.returnUrl,\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t} else { \n\t\trouter.push({ \n\t\t\tname: 'User Profile', \n\t\t\tparams: { \n\t\t\t\t_id: auth.state.user._id \n\t\t\t},\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n\t.slide-fade-enter-active {\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-leave-active {\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\n\t}\n\n\t.slide-fade-enter-from,\n\t.slide-fade-leave-to {\n\t\tposition: absolute;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n\t.slide-fade-leave-to {\n\n\t}\n</style>\n"],"names":["inputsValidation.validateInputs","inputsValidation.validatePassword","auth.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,UAAM,sBAAsB,IAAI,IAAI;AAEpC,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACrB,UAAU;AAAA,IACX,CAAC;AAED,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAER,QAAI,OAAO;AAE3B,mBAAe,WAAW;AACzB,UAAI;AACH,cAAMA;AAAAA,UACL;AAAA,UACAC;AAAAA,UACAC,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AAAA,MACC,SAAS,OAAO;AACf,cAAM,IAAI;AAAA,MACX;AAEA,UAAI,MAAM,MAAM,WAAW,iBAAkB,OAAMC,QAAa,eAAeD,MAAW,MAAM,MAAM,MAAM,IAAI;AAChH,UAAI,MAAM,MAAM,WAAW,iBAAkB,OAAMC,QAAa,OAAOD,MAAW,MAAM,MAAM,MAAM,IAAI;AAAA,IACzG;AAEA,aAAS,aAAc;AACtB,UAAI,MAAM,MAAM,WAAW;AAC1B,eAAO,KAAK;AAAA,UACX,MAAM,MAAM,MAAM;AAAA,UAClB,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF,OAAO;AACN,eAAO,KAAK;AAAA,UACX,MAAM;AAAA,UACN,QAAQ;AAAA,YACP,KAAKA,MAAW,KAAK;AAAA,UACzB;AAAA,UACG,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EnterPassword.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/EnterPassword.vue"],"sourcesContent":["<template>\n\t<section class=\"t-left pd-medium\">\n\t\t<!-- Header -->\n\t\t<!-- <img loading=\"lazy\" src=\"@/assets/icons/password.png\" class=\"i-extra mn-b-small\"> -->\n\t\t<h3 class=\"mn-b-small\">{{ t('auth.enterPassword.almostDone') }}</h3>\n\t\t<p v-if=\"route.query.method === 'reset-password'\" class=\"mn-b-semi t-transp\">{{ t('auth.enterPassword.newPasswordPrompt') }}</p>\n\t\t<p v-else class=\"mn-b-semi t-transp\">{{ t('auth.enterPassword.registrationPasswordPrompt') }}</p>\n\t\n\t\t<!-- Form -->\n\t\t<div class=\"mn-b-semi radius-small o-hidden\">\n\t\t\t<Field \n\t\t\t\tv-model:field=\"auth.state.user.password\"\n\t\t\t\ttype=\"password\" \t\n\t\t\t\t:validation=\"passswordValidation\" \n\t\t\t\t:placeholder=\"t('auth.enterPassword.passwordPlaceholder')\"\t\t\n\t\t\t\tclass=\"bg-light pd-small radius-small mn-b-thin\"\n\t\t\t/>\n\t\t\t<Field \n\t\t\t\tv-model:field=\"auth.state.user.passwordRepeat\"\n\t\t\t\ttype=\"password\" \t\n\t\t\t\t:placeholder=\"t('auth.enterPassword.repeatPasswordPlaceholder')\"\n\t\t\t\tclass=\"bg-light pd-small radius-small mn-b-thin\"\n\t\t\t/>\n\t\t</div>\n\t\t<div\n\t\t\t v-if=\"route.query.method !== 'reset-password'\" \n\t\t\t class=\"p-regular fw-semi mn-b-semi \"\n\t\t>\n\t\t\t By registering, you agree to our <a class=\"t-grey\" href=\"/legal/eula\" target=\"_blank\" rel=\"noopener noreferrer\">End User License Agreement (EULA)</a>\n\t\t</div>\n\t\t<!-- Button -->\n\t\t<Button :submit=\"onSubmit\" :callback=\"redirectTo\" class=\"w-100 bg-main mn-b-big\">\n\t\t\t<span v-if=\"route.query.method === 'reset-password'\">{{ t('auth.enterPassword.changePasswordBtn') }}</span>\n\t\t\t<span v-else>{{ t('auth.enterPassword.registerBtn') }}</span>\n\t\t</Button>\n\t</section> \n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import libs\nimport { computed, onMounted, ref, onBeforeMount } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\nconst passswordValidation = ref(null)\n// Localization\nconst { t } = useI18n({\n\tuseScope: 'global', \n})\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Accessing state\nconst tabAuth = ref('phone')\n// Methods\nasync function onSubmit() {\n\ttry {\n\t\tawait inputsValidation.validateInputs(\n\t\t\tpassswordValidation, \n\t\t\tinputsValidation.validatePassword, \n\t\t\tauth.state.user.password, \n\t\t\t'Некорректный пароль'\n\t\t)\n\t} catch (error) {\n\t\tthrow new Error\n\t}\n\n\tif (route.query.method === 'reset-password') await auth.actions.updatePassword(auth.state.user, route.query.type)\n\tif (route.query.method !== 'reset-password') await auth.actions.signup(auth.state.user, route.query.type)\n}\n\nfunction redirectTo () {\n\tif (route.query.returnUrl) {\n\t\trouter.push({ \n\t\t\tpath: route.query.returnUrl,\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t} else { \n\t\trouter.push({ \n\t\t\tname: 'User Profile', \n\t\t\tparams: { \n\t\t\t\t_id: auth.state.user._id \n\t\t\t},\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n\t.slide-fade-enter-active {\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-leave-active {\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\n\t}\n\n\t.slide-fade-enter-from,\n\t.slide-fade-leave-to {\n\t\tposition: absolute;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n\t.slide-fade-leave-to {\n\n\t}\n</style>\n"],"names":["inputsValidation.validateInputs","inputsValidation.validatePassword","auth.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,UAAM,sBAAsB,IAAI,IAAI;AAEpC,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACrB,UAAU;AAAA,IACX,CAAC;AAED,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAER,QAAI,OAAO;AAE3B,mBAAe,WAAW;AACzB,UAAI;AACH,cAAMA;AAAAA,UACL;AAAA,UACAC;AAAAA,UACAC,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AAAA,MACC,SAAS,OAAO;AACf,cAAM,IAAI;AAAA,MACX;AAEA,UAAI,MAAM,MAAM,WAAW,iBAAkB,OAAMC,QAAa,eAAeD,MAAW,MAAM,MAAM,MAAM,IAAI;AAChH,UAAI,MAAM,MAAM,WAAW,iBAAkB,OAAMC,QAAa,OAAOD,MAAW,MAAM,MAAM,MAAM,IAAI;AAAA,IACzG;AAEA,aAAS,aAAc;AACtB,UAAI,MAAM,MAAM,WAAW;AAC1B,eAAO,KAAK;AAAA,UACX,MAAM,MAAM,MAAM;AAAA,UAClB,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF,OAAO;AACN,eAAO,KAAK;AAAA,UACX,MAAM;AAAA,UACN,QAAQ;AAAA,YACP,KAAKA,MAAW,KAAK;AAAA,UACzB;AAAA,UACG,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, withCtx } from "vue";
2
2
  /* empty css */
3
- import Field from "../../../../../components/Field/Field.vue2.js";
4
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue.js";
4
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { state, actions } from "../../store/auth.js";
7
7
  import invitesStore from "../../../../organizations/store/invites.store.js";