@ozdao/martyrs 0.2.485 → 0.2.487

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 (698) hide show
  1. package/dist/Media-B2jWzwLB.cjs +1 -0
  2. package/dist/{Media-DlUBwVWs.js → Media-DZ5_ItXQ.js} +3 -3
  3. package/dist/_virtual/index.cjs +4 -4
  4. package/dist/_virtual/index.js +4 -4
  5. package/dist/_virtual/index2.cjs +4 -4
  6. package/dist/_virtual/index2.js +4 -4
  7. package/dist/auth.server.cjs +3 -24
  8. package/dist/auth.server.js +2 -23
  9. package/dist/{authJwt-DBB51Iql.cjs → authJwt-D35KyJlE.cjs} +31 -2
  10. package/dist/{authJwt-DcYNNwcr.js → authJwt-DqxhUym0.js} +31 -2
  11. package/dist/chats.server.cjs +1 -1
  12. package/dist/chats.server.js +1 -1
  13. package/dist/community.server.cjs +1 -1
  14. package/dist/community.server.js +1 -1
  15. package/dist/crud-BDIArc5A.cjs +1096 -0
  16. package/dist/crud-DJvpe0aZ.js +1097 -0
  17. package/dist/events.server.cjs +1 -1
  18. package/dist/events.server.js +1 -1
  19. package/dist/files.server.cjs +1 -1
  20. package/dist/files.server.js +1 -1
  21. package/dist/gallery.server.cjs +1 -1
  22. package/dist/gallery.server.js +1 -1
  23. package/dist/globals.server.cjs +3 -322
  24. package/dist/globals.server.js +1 -303
  25. package/dist/globals.websocket-DzvdIBf6.js +306 -0
  26. package/dist/globals.websocket-k6_B1T7k.cjs +322 -0
  27. package/dist/{index-CsJwdsBW.js → index-CVuQC4k1.js} +1 -1
  28. package/dist/{index-YNOkL1mu.cjs → index-DiSKVCaA.cjs} +1 -1
  29. package/dist/main-C6_DPWGX.cjs +11 -0
  30. package/dist/{main-CK6rC5Sz.js → main-nQmkbWsW.js} +2291 -2224
  31. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
  32. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  33. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
  34. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  35. package/dist/martyrs/src/components/{DatePicker → Calendar}/Calendar.vue.cjs +1 -1
  36. package/dist/martyrs/src/components/Calendar/Calendar.vue.cjs.map +1 -0
  37. package/dist/martyrs/src/components/{DatePicker → Calendar}/Calendar.vue.js +1 -1
  38. package/dist/martyrs/src/components/Calendar/Calendar.vue.js.map +1 -0
  39. package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
  40. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
  41. package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
  42. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
  43. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  44. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  45. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  46. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  47. package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +5 -6
  48. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
  49. package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +5 -6
  50. package/dist/martyrs/src/components/Field/Field.vue2.js.map +1 -0
  51. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +10 -9
  52. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  53. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +13 -12
  54. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  55. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
  56. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.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/FieldTags.vue.cjs +1 -1
  60. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  61. package/dist/martyrs/src/components/Media/Media.vue.cjs +2 -2
  62. package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
  63. package/dist/martyrs/src/components/Media/Media.vue.js +2 -2
  64. package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
  65. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  66. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  67. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  68. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  69. package/dist/martyrs/src/components/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
  70. package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
  71. package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
  72. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
  73. package/dist/martyrs/src/components/Select/Select.vue.cjs +2 -2
  74. package/dist/martyrs/src/components/Select/Select.vue.cjs.map +1 -1
  75. package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
  76. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
  77. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -0
  78. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs.map +1 -1
  79. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -0
  80. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js.map +1 -1
  81. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
  82. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +5 -5
  83. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  84. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +5 -5
  85. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -2
  86. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  87. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -2
  88. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  89. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  93. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +2 -2
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +10 -10
  95. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
  96. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +4 -4
  97. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
  98. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +5 -5
  99. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +4 -4
  101. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
  102. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +23 -23
  103. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  105. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
  106. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
  107. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +4 -4
  108. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +13 -13
  109. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +3 -3
  111. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +2 -2
  113. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  115. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  117. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  119. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +3 -3
  120. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +25 -25
  122. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +3 -3
  124. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +16 -16
  125. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +9 -2
  126. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  127. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +9 -2
  128. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  129. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  131. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  133. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -3
  134. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -3
  136. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  138. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  139. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +24 -58
  140. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +24 -58
  142. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
  143. package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.js +1 -1
  145. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +2 -2
  147. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  149. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +2 -2
  150. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +2 -2
  151. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +3 -3
  152. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  153. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +3 -3
  154. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  156. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  157. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  159. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  161. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +2 -1
  162. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -1
  163. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +2 -1
  164. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -1
  165. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js +2 -2
  167. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js +3 -3
  169. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +6 -0
  170. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  171. package/dist/martyrs/src/modules/globals/views/store/globals.js +6 -0
  172. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  173. package/dist/martyrs/src/modules/globals/views/utils/axios-instance.cjs.map +1 -1
  174. package/dist/martyrs/src/modules/globals/views/utils/axios-instance.js.map +1 -1
  175. package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs +100 -0
  176. package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs.map +1 -0
  177. package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js +100 -0
  178. package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js.map +1 -0
  179. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +224 -0
  180. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs.map +1 -0
  181. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +224 -0
  182. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -0
  183. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs +40 -0
  184. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs.map +1 -0
  185. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js +40 -0
  186. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js.map +1 -0
  187. package/dist/martyrs/src/modules/icons/entities/IconDate.vue.cjs +6 -6
  188. package/dist/martyrs/src/modules/icons/entities/IconDate.vue.js +6 -6
  189. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs +32 -0
  190. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs.map +1 -0
  191. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js +32 -0
  192. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js.map +1 -0
  193. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs +10 -12
  194. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs.map +1 -1
  195. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +11 -13
  196. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js.map +1 -1
  197. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs +32 -0
  198. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs.map +1 -0
  199. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js +32 -0
  200. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js.map +1 -0
  201. package/dist/martyrs/src/modules/icons/icons.client.cjs +48 -4
  202. package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
  203. package/dist/martyrs/src/modules/icons/icons.client.js +172 -128
  204. package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
  205. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs +5 -7
  206. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs.map +1 -1
  207. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js +5 -7
  208. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +6 -11
  210. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
  211. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +6 -11
  212. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
  213. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +6 -11
  214. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
  215. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +6 -11
  216. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
  217. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +62 -6
  218. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
  219. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +189 -133
  220. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  221. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs +21 -12
  222. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs.map +1 -1
  223. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js +21 -12
  224. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js.map +1 -1
  225. package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs +21 -12
  226. package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs.map +1 -1
  227. package/dist/martyrs/src/modules/icons/socials/facebook.vue.js +21 -12
  228. package/dist/martyrs/src/modules/icons/socials/facebook.vue.js.map +1 -1
  229. package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs +25 -17
  230. package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs.map +1 -1
  231. package/dist/martyrs/src/modules/icons/socials/instagram.vue.js +25 -17
  232. package/dist/martyrs/src/modules/icons/socials/instagram.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/icons/socials/line.vue.cjs +23 -14
  234. package/dist/martyrs/src/modules/icons/socials/line.vue.cjs.map +1 -1
  235. package/dist/martyrs/src/modules/icons/socials/line.vue.js +23 -14
  236. package/dist/martyrs/src/modules/icons/socials/line.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs +26 -17
  238. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs.map +1 -1
  239. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js +26 -17
  240. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js.map +1 -1
  241. package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs +21 -12
  242. package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs.map +1 -1
  243. package/dist/martyrs/src/modules/icons/socials/reddit.vue.js +21 -12
  244. package/dist/martyrs/src/modules/icons/socials/reddit.vue.js.map +1 -1
  245. package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs +29 -20
  246. package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs.map +1 -1
  247. package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +29 -20
  248. package/dist/martyrs/src/modules/icons/socials/telegram.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs +21 -12
  250. package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs.map +1 -1
  251. package/dist/martyrs/src/modules/icons/socials/twitter.vue.js +21 -12
  252. package/dist/martyrs/src/modules/icons/socials/twitter.vue.js.map +1 -1
  253. package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs +21 -12
  254. package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs.map +1 -1
  255. package/dist/martyrs/src/modules/icons/socials/vk.vue.js +21 -12
  256. package/dist/martyrs/src/modules/icons/socials/vk.vue.js.map +1 -1
  257. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs +32 -0
  258. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs.map +1 -0
  259. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js +32 -0
  260. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js.map +1 -0
  261. package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs +21 -12
  262. package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs.map +1 -1
  263. package/dist/martyrs/src/modules/icons/socials/youtube.vue.js +21 -12
  264. package/dist/martyrs/src/modules/icons/socials/youtube.vue.js.map +1 -1
  265. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +87 -0
  266. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +1 -0
  267. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +87 -0
  268. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -0
  269. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +83 -0
  270. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +1 -0
  271. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +83 -0
  272. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -0
  273. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +83 -0
  274. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +1 -0
  275. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +83 -0
  276. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -0
  277. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs +68 -0
  278. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs.map +1 -0
  279. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js +68 -0
  280. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js.map +1 -0
  281. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +162 -0
  282. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +1 -0
  283. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +162 -0
  284. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -0
  285. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +437 -0
  286. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -0
  287. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +437 -0
  288. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -0
  289. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +416 -0
  290. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -0
  291. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +416 -0
  292. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -0
  293. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +174 -0
  294. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -0
  295. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +174 -0
  296. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -0
  297. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +80 -0
  298. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -0
  299. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +80 -0
  300. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -0
  301. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +554 -0
  302. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -0
  303. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +554 -0
  304. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -0
  305. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +104 -0
  306. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs.map +1 -0
  307. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +104 -0
  308. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js.map +1 -0
  309. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +314 -0
  310. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -0
  311. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +314 -0
  312. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -0
  313. package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs +14 -0
  314. package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs.map +1 -0
  315. package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js +14 -0
  316. package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js.map +1 -0
  317. package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs +23 -0
  318. package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs.map +1 -0
  319. package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js +23 -0
  320. package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js.map +1 -0
  321. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +467 -0
  322. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -0
  323. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +467 -0
  324. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -0
  325. package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs +14 -0
  326. package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs.map +1 -0
  327. package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js +14 -0
  328. package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js.map +1 -0
  329. package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs +23 -0
  330. package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs.map +1 -0
  331. package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js +23 -0
  332. package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js.map +1 -0
  333. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +256 -0
  334. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +1 -0
  335. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +256 -0
  336. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -0
  337. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +248 -0
  338. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -0
  339. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +248 -0
  340. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -0
  341. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +580 -0
  342. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -0
  343. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +580 -0
  344. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -0
  345. package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs +14 -0
  346. package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs.map +1 -0
  347. package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js +14 -0
  348. package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js.map +1 -0
  349. package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs +23 -0
  350. package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs.map +1 -0
  351. package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js +23 -0
  352. package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js.map +1 -0
  353. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +473 -0
  354. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -0
  355. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +473 -0
  356. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -0
  357. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +111 -0
  358. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -0
  359. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +111 -0
  360. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -0
  361. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +28 -0
  362. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs.map +1 -0
  363. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +28 -0
  364. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js.map +1 -0
  365. package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs +23 -0
  366. package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs.map +1 -0
  367. package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js +23 -0
  368. package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js.map +1 -0
  369. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +227 -0
  370. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -0
  371. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +227 -0
  372. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -0
  373. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +85 -0
  374. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +1 -0
  375. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +85 -0
  376. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -0
  377. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +71 -0
  378. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +1 -0
  379. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +71 -0
  380. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js.map +1 -0
  381. package/dist/martyrs/src/modules/music/music.client.cjs +137 -0
  382. package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -0
  383. package/dist/martyrs/src/modules/music/music.client.js +137 -0
  384. package/dist/martyrs/src/modules/music/music.client.js.map +1 -0
  385. package/dist/martyrs/src/modules/music/router/albums.cjs +34 -0
  386. package/dist/martyrs/src/modules/music/router/albums.cjs.map +1 -0
  387. package/dist/martyrs/src/modules/music/router/albums.js +34 -0
  388. package/dist/martyrs/src/modules/music/router/albums.js.map +1 -0
  389. package/dist/martyrs/src/modules/music/router/artists.cjs +34 -0
  390. package/dist/martyrs/src/modules/music/router/artists.cjs.map +1 -0
  391. package/dist/martyrs/src/modules/music/router/artists.js +34 -0
  392. package/dist/martyrs/src/modules/music/router/artists.js.map +1 -0
  393. package/dist/martyrs/src/modules/music/router/music.cjs +47 -0
  394. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -0
  395. package/dist/martyrs/src/modules/music/router/music.js +47 -0
  396. package/dist/martyrs/src/modules/music/router/music.js.map +1 -0
  397. package/dist/martyrs/src/modules/music/router/playlists.cjs +34 -0
  398. package/dist/martyrs/src/modules/music/router/playlists.cjs.map +1 -0
  399. package/dist/martyrs/src/modules/music/router/playlists.js +34 -0
  400. package/dist/martyrs/src/modules/music/router/playlists.js.map +1 -0
  401. package/dist/martyrs/src/modules/music/router/tracks.cjs +34 -0
  402. package/dist/martyrs/src/modules/music/router/tracks.cjs.map +1 -0
  403. package/dist/martyrs/src/modules/music/router/tracks.js +34 -0
  404. package/dist/martyrs/src/modules/music/router/tracks.js.map +1 -0
  405. package/dist/martyrs/src/modules/music/store/albums.cjs +167 -0
  406. package/dist/martyrs/src/modules/music/store/albums.cjs.map +1 -0
  407. package/dist/martyrs/src/modules/music/store/albums.js +167 -0
  408. package/dist/martyrs/src/modules/music/store/albums.js.map +1 -0
  409. package/dist/martyrs/src/modules/music/store/artists.cjs +160 -0
  410. package/dist/martyrs/src/modules/music/store/artists.cjs.map +1 -0
  411. package/dist/martyrs/src/modules/music/store/artists.js +160 -0
  412. package/dist/martyrs/src/modules/music/store/artists.js.map +1 -0
  413. package/dist/martyrs/src/modules/music/store/genres.cjs +123 -0
  414. package/dist/martyrs/src/modules/music/store/genres.cjs.map +1 -0
  415. package/dist/martyrs/src/modules/music/store/genres.js +123 -0
  416. package/dist/martyrs/src/modules/music/store/genres.js.map +1 -0
  417. package/dist/martyrs/src/modules/music/store/player.cjs +297 -0
  418. package/dist/martyrs/src/modules/music/store/player.cjs.map +1 -0
  419. package/dist/martyrs/src/modules/music/store/player.js +297 -0
  420. package/dist/martyrs/src/modules/music/store/player.js.map +1 -0
  421. package/dist/martyrs/src/modules/music/store/playlists.cjs +182 -0
  422. package/dist/martyrs/src/modules/music/store/playlists.cjs.map +1 -0
  423. package/dist/martyrs/src/modules/music/store/playlists.js +182 -0
  424. package/dist/martyrs/src/modules/music/store/playlists.js.map +1 -0
  425. package/dist/martyrs/src/modules/music/store/search.cjs +109 -0
  426. package/dist/martyrs/src/modules/music/store/search.cjs.map +1 -0
  427. package/dist/martyrs/src/modules/music/store/search.js +109 -0
  428. package/dist/martyrs/src/modules/music/store/search.js.map +1 -0
  429. package/dist/martyrs/src/modules/music/store/tracks.cjs +184 -0
  430. package/dist/martyrs/src/modules/music/store/tracks.cjs.map +1 -0
  431. package/dist/martyrs/src/modules/music/store/tracks.js +184 -0
  432. package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -0
  433. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +1 -1
  434. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
  435. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  436. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  437. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  438. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  439. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -2
  440. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  441. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -2
  442. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  443. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -1
  444. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs.map +1 -1
  445. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -1
  446. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js.map +1 -1
  447. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  448. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +5 -5
  449. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
  450. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
  451. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  452. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  453. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +16 -16
  454. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  455. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  456. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +3 -3
  457. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +16 -16
  458. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  459. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
  460. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  461. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  462. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  463. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  464. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
  465. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +17 -17
  466. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  467. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  468. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +3 -3
  469. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +4 -4
  470. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  471. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +8 -8
  472. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -1
  473. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
  474. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -1
  475. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
  476. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  477. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  478. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -1
  479. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs.map +1 -1
  480. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -1
  481. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
  482. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -1
  483. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs.map +1 -1
  484. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -1
  485. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
  486. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
  487. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
  488. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
  489. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  490. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +1 -1
  491. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +1 -1
  492. package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.cjs +1 -1
  493. package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js +8 -8
  494. package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs +1 -1
  495. package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js +12 -12
  496. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  497. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  498. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
  499. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +13 -13
  500. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +3 -3
  501. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +11 -11
  502. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +2 -2
  503. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  504. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  505. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  506. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  507. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  508. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  509. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +18 -18
  510. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +3 -3
  511. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +7 -7
  512. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +3 -3
  513. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +13 -13
  514. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
  515. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
  516. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
  517. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
  518. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +3 -3
  519. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +17 -17
  520. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  521. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  522. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  523. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  524. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  525. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  526. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
  527. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +5 -5
  528. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  529. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  530. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  531. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  532. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -0
  533. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs.map +1 -1
  534. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -0
  535. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
  536. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -0
  537. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs.map +1 -1
  538. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -0
  539. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
  540. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  541. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  542. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
  543. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +14 -14
  544. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +3 -3
  545. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +9 -9
  546. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  547. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +2 -2
  548. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  549. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  550. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
  551. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  552. package/dist/martyrs.cjs.js +1 -1
  553. package/dist/martyrs.css +1 -1
  554. package/dist/martyrs.es.js +38 -36
  555. package/dist/music.server.cjs +2021 -0
  556. package/dist/music.server.js +2021 -0
  557. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  558. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  559. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  560. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  561. package/dist/orders.server.cjs +1 -1
  562. package/dist/orders.server.js +1 -1
  563. package/dist/organizations.server.cjs +1 -1
  564. package/dist/organizations.server.js +1 -1
  565. package/dist/products.server.cjs +3 -1093
  566. package/dist/products.server.js +2 -1092
  567. package/dist/rents.server.cjs +1 -1
  568. package/dist/rents.server.js +1 -1
  569. package/dist/socials.schema-BOZV82Mp.js +25 -0
  570. package/dist/socials.schema-CtpSF9dE.cjs +24 -0
  571. package/dist/style.css +230 -46
  572. package/dist/wallet.server.cjs +1 -1
  573. package/dist/wallet.server.js +1 -1
  574. package/package.json +1 -1
  575. package/src/.martyrs/filemap.json +2 -2
  576. package/src/components/Feed/Feed.vue +1 -1
  577. package/src/components/Field/Field.vue +13 -8
  578. package/src/components/FieldBig/FieldBig.vue +3 -5
  579. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  580. package/src/components/Media/Media.vue +1 -1
  581. package/src/components/Select/Select.vue +1 -1
  582. package/src/components/Status/Snack.vue +83 -0
  583. package/src/components/index.js +2 -0
  584. package/src/main.js +6 -0
  585. package/src/modules/auth/controllers/middlewares/authJwt.js +59 -6
  586. package/src/modules/events/components/pages/EditEvent.vue +1 -1
  587. package/src/modules/globals/views/classes/globals.store.js +31 -66
  588. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
  589. package/src/modules/globals/views/components/partials/FooterAlt.vue +363 -0
  590. package/src/modules/globals/views/store/globals.js +42 -0
  591. package/src/modules/globals/views/utils/axios-instance.js +15 -1
  592. package/src/modules/globals/views/utils/query-serializer.js +182 -0
  593. package/src/modules/icons/components/IconSearchPopup.vue +254 -0
  594. package/src/modules/icons/entities/IconAddress.vue +17 -0
  595. package/src/modules/icons/entities/IconDate.vue +3 -3
  596. package/src/modules/icons/entities/IconEmail.vue +14 -0
  597. package/src/modules/icons/entities/IconMusic.vue +3 -3
  598. package/src/modules/icons/entities/IconPhone.vue +14 -0
  599. package/src/modules/icons/icons.client.js +85 -31
  600. package/src/modules/icons/icons.server.js +292 -0
  601. package/src/modules/icons/navigation/IconCross.vue +4 -16
  602. package/src/modules/icons/navigation/IconPause.vue +9 -24
  603. package/src/modules/icons/navigation/IconRefresh.vue +9 -24
  604. package/src/modules/icons/pages/IconsPage.vue +78 -2
  605. package/src/modules/icons/routes/icons.routes.js +81 -0
  606. package/src/modules/icons/socials/dribbble.vue +11 -2
  607. package/src/modules/icons/socials/facebook.vue +11 -2
  608. package/src/modules/icons/socials/instagram.vue +11 -4
  609. package/src/modules/icons/socials/line.vue +11 -2
  610. package/src/modules/icons/socials/linkedin.vue +11 -2
  611. package/src/modules/icons/socials/reddit.vue +10 -1
  612. package/src/modules/icons/socials/telegram.vue +11 -2
  613. package/src/modules/icons/socials/twitter.vue +11 -2
  614. package/src/modules/icons/socials/vk.vue +11 -2
  615. package/src/modules/icons/socials/whatsapp.vue +12 -0
  616. package/src/modules/icons/socials/youtube.vue +11 -2
  617. package/src/modules/music/.claude/settings.local.json +8 -0
  618. package/src/modules/music/CLAUDE.md +312 -0
  619. package/src/modules/music/components/SidebarMusic.vue +8 -8
  620. package/src/modules/music/components/cards/AlbumCard.vue +2 -2
  621. package/src/modules/music/components/cards/ArtistCard.vue +2 -2
  622. package/src/modules/music/components/cards/PlaylistCard.vue +2 -2
  623. package/src/modules/music/components/cards/TrackCard.vue +1 -1
  624. package/src/modules/music/components/cards/TrackListCard.vue +135 -0
  625. package/src/modules/music/components/forms/AlbumForm.vue +463 -0
  626. package/src/modules/music/components/{pages → forms}/ArtistForm.vue +127 -96
  627. package/src/modules/music/components/forms/PlaylistForm.vue +10 -10
  628. package/src/modules/music/components/forms/SearchForm.vue +1 -1
  629. package/src/modules/music/components/forms/TrackForm.vue +577 -0
  630. package/src/modules/music/components/layouts/MusicLayout.vue +35 -41
  631. package/src/modules/music/components/pages/{AlbumDetail.vue → Album.vue} +42 -20
  632. package/src/modules/music/components/pages/AlbumCreate.vue +7 -0
  633. package/src/modules/music/components/pages/AlbumEdit.vue +14 -0
  634. package/src/modules/music/components/pages/{ArtistDetail.vue → Artist.vue} +9 -9
  635. package/src/modules/music/components/pages/ArtistCreate.vue +7 -0
  636. package/src/modules/music/components/pages/ArtistEdit.vue +14 -0
  637. package/src/modules/music/components/pages/MusicHome.vue +86 -67
  638. package/src/modules/music/components/pages/MusicLibrary.vue +136 -105
  639. package/src/modules/music/components/pages/{PlaylistDetail.vue → Playlist.vue} +56 -34
  640. package/src/modules/music/components/pages/PlaylistCreate.vue +7 -0
  641. package/src/modules/music/components/pages/PlaylistEdit.vue +14 -0
  642. package/src/modules/music/components/pages/SearchResults.vue +49 -27
  643. package/src/modules/music/components/pages/{TrackDetail.vue → Track.vue} +36 -14
  644. package/src/modules/music/components/pages/TrackCreate.vue +23 -0
  645. package/src/modules/music/components/pages/TrackEdit.vue +14 -0
  646. package/src/modules/music/components/player/MusicPlayer.vue +2 -2
  647. package/src/modules/music/middlewares/albums.verifier.js +234 -0
  648. package/src/modules/music/middlewares/artists.verifier.js +213 -0
  649. package/src/modules/music/middlewares/genres.verifier.js +148 -0
  650. package/src/modules/music/middlewares/playlists.verifier.js +219 -0
  651. package/src/modules/music/middlewares/tracks.verifier.js +263 -0
  652. package/src/modules/music/music.client.js +31 -33
  653. package/src/modules/music/music.server.js +33 -26
  654. package/src/modules/music/router/albums.js +31 -0
  655. package/src/modules/music/router/artists.js +31 -0
  656. package/src/modules/music/router/music.js +14 -65
  657. package/src/modules/music/router/playlists.js +31 -0
  658. package/src/modules/music/router/tracks.js +31 -0
  659. package/src/modules/music/routes/albums.routes.js +126 -0
  660. package/src/modules/music/routes/artists.routes.js +171 -0
  661. package/src/modules/music/routes/genres.routes.js +118 -0
  662. package/src/modules/music/routes/playlists.routes.js +239 -0
  663. package/src/modules/music/routes/tracks.routes.js +149 -0
  664. package/src/modules/music/store/artists.js +17 -7
  665. package/src/modules/music/store/genres.js +150 -0
  666. package/src/modules/music/store/playlists.js +19 -6
  667. package/src/modules/music/store/tracks.js +9 -2
  668. package/src/modules/products/components/pages/Product.vue +1 -1
  669. package/dist/Media-ByPHBvAU.cjs +0 -1
  670. package/dist/main-137vO86w.cjs +0 -11
  671. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  672. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
  673. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
  674. package/dist/martyrs/src/components/DatePicker/Calendar.vue.cjs.map +0 -1
  675. package/dist/martyrs/src/components/DatePicker/Calendar.vue.js.map +0 -1
  676. package/dist/martyrs/src/components/Field/Field.vue.cjs.map +0 -1
  677. package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
  678. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  679. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  680. package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
  681. package/src/modules/music/components/forms/UploadForm.vue +0 -313
  682. package/src/modules/music/components/lists/AlbumList.vue +0 -25
  683. package/src/modules/music/components/lists/ArtistList.vue +0 -280
  684. package/src/modules/music/components/lists/PlaylistList.vue +0 -25
  685. package/src/modules/music/components/lists/TrackList.vue +0 -175
  686. package/src/modules/music/components/pages/ArtistManager.vue +0 -277
  687. package/src/modules/music/components/pages/MusicUpload.vue +0 -44
  688. package/src/modules/music/controllers/album.controller.js +0 -82
  689. package/src/modules/music/controllers/artist.controller.js +0 -99
  690. package/src/modules/music/controllers/genre.controller.js +0 -63
  691. package/src/modules/music/controllers/music.controller.js +0 -145
  692. package/src/modules/music/controllers/playlist.controller.js +0 -146
  693. package/src/modules/music/routes/album.routes.js +0 -28
  694. package/src/modules/music/routes/artist.routes.js +0 -30
  695. package/src/modules/music/routes/genre.routes.js +0 -28
  696. package/src/modules/music/routes/music.routes.js +0 -106
  697. package/src/modules/music/routes/playlist.routes.js +0 -47
  698. /package/src/components/{DatePicker → Calendar}/Calendar.vue +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Media.vue.cjs","sources":["../../../../../src/components/Media/Media.vue"],"sourcesContent":["<template>\n <div class=\"media-container\">\n <!-- Изображение с ленивой загрузкой и placeholder -->\n <img\n v-if=\"isImage\"\n :src=\"isIntersecting ? url : ''\"\n :data-src=\"url\"\n :alt=\"options?.alt || 'Image'\"\n class=\"media-item\"\n :class=\"{ 'loading': !isLoaded }\"\n loading=\"lazy\"\n @load=\"handleLoad\"\n v-bind=\"options\"\n ref=\"imageElement\"\n />\n \n <!-- Видео с предварительной загрузкой -->\n <video\n v-else-if=\"isVideo\"\n ref=\"videoElement\"\n :class=\"{ 'loading': !isLoaded }\"\n class=\"media-item\"\n :controls=\"!options?.hideControls\"\n :loop=\"options?.loop !== false\"\n :muted=\"options?.muted !== false\"\n :autoplay=\"options?.autoplay\"\n :playsinline=\"options?.playsinline !== false\"\n :preload=\"options?.preload || 'metadata'\"\n @loadeddata=\"handleLoad\"\n v-bind=\"options\"\n >\n <source :src=\"url\" :type=\"videoType\">\n </video>\n \n <!-- Плейсхолдер во время загрузки -->\n <div v-if=\"!isLoaded\" class=\"media-placeholder\">\n Loading...\n </div>\n \n <!-- Сообщение об ошибке -->\n <div v-if=\"error\" class=\"media-error\">\n {{ error }}\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed, onUnmounted } from 'vue'\n\nconst props = defineProps({\n url: {\n type: String,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n muted: true,\n loop: true,\n playsinline: true,\n preload: 'metadata' // 'none' | 'metadata' | 'auto'\n })\n }\n})\n\n// Refs\nconst videoElement = ref(null)\nconst imageElement = ref(null)\nconst isLoaded = ref(false)\nconst error = ref(null)\nconst isIntersecting = ref(false)\nlet observer = null\nlet isPlaying = false\n\n// Определяем тип медиа\nconst fileExtension = computed(() => {\n return props.url?.split('.')?.pop()?.toLowerCase()\n})\n\nconst isImage = computed(() => {\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'avif']\n return imageExtensions.includes(fileExtension.value)\n})\n\nconst isVideo = computed(() => {\n const videoExtensions = ['mp4', 'webm', 'ogg']\n return videoExtensions.includes(fileExtension.value)\n})\n\n// Определяем MIME-тип для видео\nconst videoType = computed(() => {\n const types = {\n 'mp4': 'video/mp4',\n 'webm': 'video/webm',\n 'ogg': 'video/ogg'\n }\n return types[fileExtension.value] || ''\n})\n\n// Обработчик загрузки медиа\nfunction handleLoad() {\n isLoaded.value = true\n}\n\n// Обработка ошибок\nfunction handleError(err) {\n error.value = `Ошибка загрузки медиа: ${err.message}`\n isLoaded.value = false\n}\n\n// Управление видео с обработкой ошибок\nasync function playVideo() {\n if (!videoElement.value) return\n \n try {\n if (videoElement.value.paused && !isPlaying) {\n await videoElement.value.play()\n isPlaying = true\n }\n } catch (err) {\n handleError(err)\n }\n}\n\nfunction checkAndPlayVideo() {\n if (!videoElement.value) return\n \n videoElement.value.onplaying = () => {\n isPlaying = true\n }\n \n videoElement.value.onpause = () => {\n isPlaying = false\n }\n \n videoElement.value.onerror = handleError\n}\n\n// Intersection Observer для ленивой загрузки\nfunction setupIntersectionObserver() {\n const options = {\n root: null,\n rootMargin: '50px',\n threshold: 0.1\n }\n \n observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n isIntersecting.value = entry.isIntersecting\n \n if (entry.isIntersecting) {\n if (isVideo.value && props.options?.autoplay) {\n playVideo()\n }\n // Отключаем observer после первой загрузки\n observer.disconnect()\n }\n })\n }, options)\n \n // Наблюдаем за элементом в зависимости от типа медиа\n const element = isImage.value ? imageElement.value : videoElement.value\n if (element) {\n observer.observe(element)\n }\n}\n\n// Lifecycle hooks\nonMounted(() => {\n setupIntersectionObserver()\n})\n\nonUnmounted(() => {\n if (observer) {\n observer.disconnect()\n }\n})\n</script>\n\n<style scoped>\n.media-container {\n}\n\n.media-item {\n all: inherit;\n opacity: 1;\n transition: opacity 0.3s ease;\n}\n\n.media-item.loading {\n opacity: 0;\n}\n\n.media-placeholder {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #f5f5f5;\n}\n\n.media-error {\n color: #ff4444;\n padding: 1rem;\n text-align: center;\n}\n</style>"],"names":["ref","computed","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,UAAM,QAAQ;AAiBd,UAAM,eAAeA,IAAG,IAAC,IAAI;AAC7B,UAAM,eAAeA,IAAG,IAAC,IAAI;AAC7B,UAAM,WAAWA,IAAG,IAAC,KAAK;AAC1B,UAAM,QAAQA,IAAG,IAAC,IAAI;AACtB,UAAM,iBAAiBA,IAAG,IAAC,KAAK;AAChC,QAAI,WAAW;AACf,QAAI,YAAY;AAGhB,UAAM,gBAAgBC,IAAQ,SAAC,MAAM;;AACnC,cAAO,uBAAM,QAAN,mBAAW,MAAM,SAAjB,mBAAuB,UAAvB,mBAA8B;AAAA,IACvC,CAAC;AAED,UAAM,UAAUA,IAAQ,SAAC,MAAM;AAC7B,YAAM,kBAAkB,CAAC,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,MAAM;AAC3E,aAAO,gBAAgB,SAAS,cAAc,KAAK;AAAA,IACrD,CAAC;AAED,UAAM,UAAUA,IAAQ,SAAC,MAAM;AAC7B,YAAM,kBAAkB,CAAC,OAAO,QAAQ,KAAK;AAC7C,aAAO,gBAAgB,SAAS,cAAc,KAAK;AAAA,IACrD,CAAC;AAGD,UAAM,YAAYA,IAAQ,SAAC,MAAM;AAC/B,YAAM,QAAQ;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,MACX;AACE,aAAO,MAAM,cAAc,KAAK,KAAK;AAAA,IACvC,CAAC;AAGD,aAAS,aAAa;AACpB,eAAS,QAAQ;AAAA,IACnB;AAGA,aAAS,YAAY,KAAK;AACxB,YAAM,QAAQ,0BAA0B,IAAI,OAAO;AACnD,eAAS,QAAQ;AAAA,IACnB;AAGA,mBAAe,YAAY;AACzB,UAAI,CAAC,aAAa,MAAO;AAEzB,UAAI;AACF,YAAI,aAAa,MAAM,UAAU,CAAC,WAAW;AAC3C,gBAAM,aAAa,MAAM,KAAI;AAC7B,sBAAY;AAAA,QAClB;AAAA,MACG,SAAQ,KAAK;AACZ,oBAAY,GAAG;AAAA,MACnB;AAAA,IACA;AAiBA,aAAS,4BAA4B;AACnC,YAAM,UAAU;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,WAAW;AAAA,MACf;AAEE,iBAAW,IAAI,qBAAqB,CAAC,YAAY;AAC/C,gBAAQ,QAAQ,WAAS;;AACvB,yBAAe,QAAQ,MAAM;AAE7B,cAAI,MAAM,gBAAgB;AACxB,gBAAI,QAAQ,WAAS,WAAM,YAAN,mBAAe,WAAU;AAC5C,wBAAS;AAAA,YACnB;AAEQ,qBAAS,WAAU;AAAA,UAC3B;AAAA,QACK,CAAA;AAAA,MACL,GAAK,OAAO;AAGV,YAAM,UAAU,QAAQ,QAAQ,aAAa,QAAQ,aAAa;AAClE,UAAI,SAAS;AACX,iBAAS,QAAQ,OAAO;AAAA,MAC5B;AAAA,IACA;AAGAC,QAAAA,UAAU,MAAM;AACd,gCAAyB;AAAA,IAC3B,CAAC;AAEDC,QAAAA,YAAY,MAAM;AAChB,UAAI,UAAU;AACZ,iBAAS,WAAU;AAAA,MACvB;AAAA,IACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Media.vue.cjs","sources":["../../../../../src/components/Media/Media.vue"],"sourcesContent":["<template>\n <div class=\"media-container pos-relative\">\n <!-- Изображение с ленивой загрузкой и placeholder -->\n <img\n v-if=\"isImage\"\n :src=\"isIntersecting ? url : ''\"\n :data-src=\"url\"\n :alt=\"options?.alt || 'Image'\"\n class=\"media-item\"\n :class=\"{ 'loading': !isLoaded }\"\n loading=\"lazy\"\n @load=\"handleLoad\"\n v-bind=\"options\"\n ref=\"imageElement\"\n />\n \n <!-- Видео с предварительной загрузкой -->\n <video\n v-else-if=\"isVideo\"\n ref=\"videoElement\"\n :class=\"{ 'loading': !isLoaded }\"\n class=\"media-item\"\n :controls=\"!options?.hideControls\"\n :loop=\"options?.loop !== false\"\n :muted=\"options?.muted !== false\"\n :autoplay=\"options?.autoplay\"\n :playsinline=\"options?.playsinline !== false\"\n :preload=\"options?.preload || 'metadata'\"\n @loadeddata=\"handleLoad\"\n v-bind=\"options\"\n >\n <source :src=\"url\" :type=\"videoType\">\n </video>\n \n <!-- Плейсхолдер во время загрузки -->\n <div v-if=\"!isLoaded\" class=\"media-placeholder\">\n Loading...\n </div>\n \n <!-- Сообщение об ошибке -->\n <div v-if=\"error\" class=\"media-error\">\n {{ error }}\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed, onUnmounted } from 'vue'\n\nconst props = defineProps({\n url: {\n type: String,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n muted: true,\n loop: true,\n playsinline: true,\n preload: 'metadata' // 'none' | 'metadata' | 'auto'\n })\n }\n})\n\n// Refs\nconst videoElement = ref(null)\nconst imageElement = ref(null)\nconst isLoaded = ref(false)\nconst error = ref(null)\nconst isIntersecting = ref(false)\nlet observer = null\nlet isPlaying = false\n\n// Определяем тип медиа\nconst fileExtension = computed(() => {\n return props.url?.split('.')?.pop()?.toLowerCase()\n})\n\nconst isImage = computed(() => {\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'avif']\n return imageExtensions.includes(fileExtension.value)\n})\n\nconst isVideo = computed(() => {\n const videoExtensions = ['mp4', 'webm', 'ogg']\n return videoExtensions.includes(fileExtension.value)\n})\n\n// Определяем MIME-тип для видео\nconst videoType = computed(() => {\n const types = {\n 'mp4': 'video/mp4',\n 'webm': 'video/webm',\n 'ogg': 'video/ogg'\n }\n return types[fileExtension.value] || ''\n})\n\n// Обработчик загрузки медиа\nfunction handleLoad() {\n isLoaded.value = true\n}\n\n// Обработка ошибок\nfunction handleError(err) {\n error.value = `Ошибка загрузки медиа: ${err.message}`\n isLoaded.value = false\n}\n\n// Управление видео с обработкой ошибок\nasync function playVideo() {\n if (!videoElement.value) return\n \n try {\n if (videoElement.value.paused && !isPlaying) {\n await videoElement.value.play()\n isPlaying = true\n }\n } catch (err) {\n handleError(err)\n }\n}\n\nfunction checkAndPlayVideo() {\n if (!videoElement.value) return\n \n videoElement.value.onplaying = () => {\n isPlaying = true\n }\n \n videoElement.value.onpause = () => {\n isPlaying = false\n }\n \n videoElement.value.onerror = handleError\n}\n\n// Intersection Observer для ленивой загрузки\nfunction setupIntersectionObserver() {\n const options = {\n root: null,\n rootMargin: '50px',\n threshold: 0.1\n }\n \n observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n isIntersecting.value = entry.isIntersecting\n \n if (entry.isIntersecting) {\n if (isVideo.value && props.options?.autoplay) {\n playVideo()\n }\n // Отключаем observer после первой загрузки\n observer.disconnect()\n }\n })\n }, options)\n \n // Наблюдаем за элементом в зависимости от типа медиа\n const element = isImage.value ? imageElement.value : videoElement.value\n if (element) {\n observer.observe(element)\n }\n}\n\n// Lifecycle hooks\nonMounted(() => {\n setupIntersectionObserver()\n})\n\nonUnmounted(() => {\n if (observer) {\n observer.disconnect()\n }\n})\n</script>\n\n<style scoped>\n.media-container {\n}\n\n.media-item {\n all: inherit;\n opacity: 1;\n transition: opacity 0.3s ease;\n}\n\n.media-item.loading {\n opacity: 0;\n}\n\n.media-placeholder {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #f5f5f5;\n}\n\n.media-error {\n color: #ff4444;\n padding: 1rem;\n text-align: center;\n}\n</style>"],"names":["ref","computed","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,UAAM,QAAQ;AAiBd,UAAM,eAAeA,IAAG,IAAC,IAAI;AAC7B,UAAM,eAAeA,IAAG,IAAC,IAAI;AAC7B,UAAM,WAAWA,IAAG,IAAC,KAAK;AAC1B,UAAM,QAAQA,IAAG,IAAC,IAAI;AACtB,UAAM,iBAAiBA,IAAG,IAAC,KAAK;AAChC,QAAI,WAAW;AACf,QAAI,YAAY;AAGhB,UAAM,gBAAgBC,IAAQ,SAAC,MAAM;;AACnC,cAAO,uBAAM,QAAN,mBAAW,MAAM,SAAjB,mBAAuB,UAAvB,mBAA8B;AAAA,IACvC,CAAC;AAED,UAAM,UAAUA,IAAQ,SAAC,MAAM;AAC7B,YAAM,kBAAkB,CAAC,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,MAAM;AAC3E,aAAO,gBAAgB,SAAS,cAAc,KAAK;AAAA,IACrD,CAAC;AAED,UAAM,UAAUA,IAAQ,SAAC,MAAM;AAC7B,YAAM,kBAAkB,CAAC,OAAO,QAAQ,KAAK;AAC7C,aAAO,gBAAgB,SAAS,cAAc,KAAK;AAAA,IACrD,CAAC;AAGD,UAAM,YAAYA,IAAQ,SAAC,MAAM;AAC/B,YAAM,QAAQ;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,MACX;AACE,aAAO,MAAM,cAAc,KAAK,KAAK;AAAA,IACvC,CAAC;AAGD,aAAS,aAAa;AACpB,eAAS,QAAQ;AAAA,IACnB;AAGA,aAAS,YAAY,KAAK;AACxB,YAAM,QAAQ,0BAA0B,IAAI,OAAO;AACnD,eAAS,QAAQ;AAAA,IACnB;AAGA,mBAAe,YAAY;AACzB,UAAI,CAAC,aAAa,MAAO;AAEzB,UAAI;AACF,YAAI,aAAa,MAAM,UAAU,CAAC,WAAW;AAC3C,gBAAM,aAAa,MAAM,KAAI;AAC7B,sBAAY;AAAA,QAClB;AAAA,MACG,SAAQ,KAAK;AACZ,oBAAY,GAAG;AAAA,MACnB;AAAA,IACA;AAiBA,aAAS,4BAA4B;AACnC,YAAM,UAAU;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,WAAW;AAAA,MACf;AAEE,iBAAW,IAAI,qBAAqB,CAAC,YAAY;AAC/C,gBAAQ,QAAQ,WAAS;;AACvB,yBAAe,QAAQ,MAAM;AAE7B,cAAI,MAAM,gBAAgB;AACxB,gBAAI,QAAQ,WAAS,WAAM,YAAN,mBAAe,WAAU;AAC5C,wBAAS;AAAA,YACnB;AAEQ,qBAAS,WAAU;AAAA,UAC3B;AAAA,QACK,CAAA;AAAA,MACL,GAAK,OAAO;AAGV,YAAM,UAAU,QAAQ,QAAQ,aAAa,QAAQ,aAAa;AAClE,UAAI,SAAS;AACX,iBAAS,QAAQ,OAAO;AAAA,MAC5B;AAAA,IACA;AAGAC,QAAAA,UAAU,MAAM;AACd,gCAAyB;AAAA,IAC3B,CAAC;AAEDC,QAAAA,YAAY,MAAM;AAChB,UAAI,UAAU;AACZ,iBAAS,WAAU;AAAA,MACvB;AAAA,IACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { ref, computed, onMounted, onUnmounted, createElementBlock, openBlock, createCommentVNode, mergeProps, createElementVNode, toDisplayString } from "vue";
2
2
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
3
- const _hoisted_1 = { class: "media-container" };
3
+ const _hoisted_1 = { class: "media-container pos-relative" };
4
4
  const _hoisted_2 = ["src", "data-src", "alt"];
5
5
  const _hoisted_3 = ["controls", "loop", "muted", "autoplay", "playsinline", "preload"];
6
6
  const _hoisted_4 = ["src", "type"];
@@ -146,7 +146,7 @@ const _sfc_main = {
146
146
  };
147
147
  }
148
148
  };
149
- const Media = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1f94a0e9"]]);
149
+ const Media = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b5d5974f"]]);
150
150
  export {
151
151
  Media as default
152
152
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Media.vue.js","sources":["../../../../../src/components/Media/Media.vue"],"sourcesContent":["<template>\n <div class=\"media-container\">\n <!-- Изображение с ленивой загрузкой и placeholder -->\n <img\n v-if=\"isImage\"\n :src=\"isIntersecting ? url : ''\"\n :data-src=\"url\"\n :alt=\"options?.alt || 'Image'\"\n class=\"media-item\"\n :class=\"{ 'loading': !isLoaded }\"\n loading=\"lazy\"\n @load=\"handleLoad\"\n v-bind=\"options\"\n ref=\"imageElement\"\n />\n \n <!-- Видео с предварительной загрузкой -->\n <video\n v-else-if=\"isVideo\"\n ref=\"videoElement\"\n :class=\"{ 'loading': !isLoaded }\"\n class=\"media-item\"\n :controls=\"!options?.hideControls\"\n :loop=\"options?.loop !== false\"\n :muted=\"options?.muted !== false\"\n :autoplay=\"options?.autoplay\"\n :playsinline=\"options?.playsinline !== false\"\n :preload=\"options?.preload || 'metadata'\"\n @loadeddata=\"handleLoad\"\n v-bind=\"options\"\n >\n <source :src=\"url\" :type=\"videoType\">\n </video>\n \n <!-- Плейсхолдер во время загрузки -->\n <div v-if=\"!isLoaded\" class=\"media-placeholder\">\n Loading...\n </div>\n \n <!-- Сообщение об ошибке -->\n <div v-if=\"error\" class=\"media-error\">\n {{ error }}\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed, onUnmounted } from 'vue'\n\nconst props = defineProps({\n url: {\n type: String,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n muted: true,\n loop: true,\n playsinline: true,\n preload: 'metadata' // 'none' | 'metadata' | 'auto'\n })\n }\n})\n\n// Refs\nconst videoElement = ref(null)\nconst imageElement = ref(null)\nconst isLoaded = ref(false)\nconst error = ref(null)\nconst isIntersecting = ref(false)\nlet observer = null\nlet isPlaying = false\n\n// Определяем тип медиа\nconst fileExtension = computed(() => {\n return props.url?.split('.')?.pop()?.toLowerCase()\n})\n\nconst isImage = computed(() => {\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'avif']\n return imageExtensions.includes(fileExtension.value)\n})\n\nconst isVideo = computed(() => {\n const videoExtensions = ['mp4', 'webm', 'ogg']\n return videoExtensions.includes(fileExtension.value)\n})\n\n// Определяем MIME-тип для видео\nconst videoType = computed(() => {\n const types = {\n 'mp4': 'video/mp4',\n 'webm': 'video/webm',\n 'ogg': 'video/ogg'\n }\n return types[fileExtension.value] || ''\n})\n\n// Обработчик загрузки медиа\nfunction handleLoad() {\n isLoaded.value = true\n}\n\n// Обработка ошибок\nfunction handleError(err) {\n error.value = `Ошибка загрузки медиа: ${err.message}`\n isLoaded.value = false\n}\n\n// Управление видео с обработкой ошибок\nasync function playVideo() {\n if (!videoElement.value) return\n \n try {\n if (videoElement.value.paused && !isPlaying) {\n await videoElement.value.play()\n isPlaying = true\n }\n } catch (err) {\n handleError(err)\n }\n}\n\nfunction checkAndPlayVideo() {\n if (!videoElement.value) return\n \n videoElement.value.onplaying = () => {\n isPlaying = true\n }\n \n videoElement.value.onpause = () => {\n isPlaying = false\n }\n \n videoElement.value.onerror = handleError\n}\n\n// Intersection Observer для ленивой загрузки\nfunction setupIntersectionObserver() {\n const options = {\n root: null,\n rootMargin: '50px',\n threshold: 0.1\n }\n \n observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n isIntersecting.value = entry.isIntersecting\n \n if (entry.isIntersecting) {\n if (isVideo.value && props.options?.autoplay) {\n playVideo()\n }\n // Отключаем observer после первой загрузки\n observer.disconnect()\n }\n })\n }, options)\n \n // Наблюдаем за элементом в зависимости от типа медиа\n const element = isImage.value ? imageElement.value : videoElement.value\n if (element) {\n observer.observe(element)\n }\n}\n\n// Lifecycle hooks\nonMounted(() => {\n setupIntersectionObserver()\n})\n\nonUnmounted(() => {\n if (observer) {\n observer.disconnect()\n }\n})\n</script>\n\n<style scoped>\n.media-container {\n}\n\n.media-item {\n all: inherit;\n opacity: 1;\n transition: opacity 0.3s ease;\n}\n\n.media-item.loading {\n opacity: 0;\n}\n\n.media-placeholder {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #f5f5f5;\n}\n\n.media-error {\n color: #ff4444;\n padding: 1rem;\n text-align: center;\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,UAAM,QAAQ;AAiBd,UAAM,eAAe,IAAI,IAAI;AAC7B,UAAM,eAAe,IAAI,IAAI;AAC7B,UAAM,WAAW,IAAI,KAAK;AAC1B,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,iBAAiB,IAAI,KAAK;AAChC,QAAI,WAAW;AACf,QAAI,YAAY;AAGhB,UAAM,gBAAgB,SAAS,MAAM;;AACnC,cAAO,uBAAM,QAAN,mBAAW,MAAM,SAAjB,mBAAuB,UAAvB,mBAA8B;AAAA,IACvC,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,kBAAkB,CAAC,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,MAAM;AAC3E,aAAO,gBAAgB,SAAS,cAAc,KAAK;AAAA,IACrD,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,kBAAkB,CAAC,OAAO,QAAQ,KAAK;AAC7C,aAAO,gBAAgB,SAAS,cAAc,KAAK;AAAA,IACrD,CAAC;AAGD,UAAM,YAAY,SAAS,MAAM;AAC/B,YAAM,QAAQ;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,MACX;AACE,aAAO,MAAM,cAAc,KAAK,KAAK;AAAA,IACvC,CAAC;AAGD,aAAS,aAAa;AACpB,eAAS,QAAQ;AAAA,IACnB;AAGA,aAAS,YAAY,KAAK;AACxB,YAAM,QAAQ,0BAA0B,IAAI,OAAO;AACnD,eAAS,QAAQ;AAAA,IACnB;AAGA,mBAAe,YAAY;AACzB,UAAI,CAAC,aAAa,MAAO;AAEzB,UAAI;AACF,YAAI,aAAa,MAAM,UAAU,CAAC,WAAW;AAC3C,gBAAM,aAAa,MAAM,KAAI;AAC7B,sBAAY;AAAA,QAClB;AAAA,MACG,SAAQ,KAAK;AACZ,oBAAY,GAAG;AAAA,MACnB;AAAA,IACA;AAiBA,aAAS,4BAA4B;AACnC,YAAM,UAAU;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,WAAW;AAAA,MACf;AAEE,iBAAW,IAAI,qBAAqB,CAAC,YAAY;AAC/C,gBAAQ,QAAQ,WAAS;;AACvB,yBAAe,QAAQ,MAAM;AAE7B,cAAI,MAAM,gBAAgB;AACxB,gBAAI,QAAQ,WAAS,WAAM,YAAN,mBAAe,WAAU;AAC5C,wBAAS;AAAA,YACnB;AAEQ,qBAAS,WAAU;AAAA,UAC3B;AAAA,QACK,CAAA;AAAA,MACL,GAAK,OAAO;AAGV,YAAM,UAAU,QAAQ,QAAQ,aAAa,QAAQ,aAAa;AAClE,UAAI,SAAS;AACX,iBAAS,QAAQ,OAAO;AAAA,MAC5B;AAAA,IACA;AAGA,cAAU,MAAM;AACd,gCAAyB;AAAA,IAC3B,CAAC;AAED,gBAAY,MAAM;AAChB,UAAI,UAAU;AACZ,iBAAS,WAAU;AAAA,MACvB;AAAA,IACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Media.vue.js","sources":["../../../../../src/components/Media/Media.vue"],"sourcesContent":["<template>\n <div class=\"media-container pos-relative\">\n <!-- Изображение с ленивой загрузкой и placeholder -->\n <img\n v-if=\"isImage\"\n :src=\"isIntersecting ? url : ''\"\n :data-src=\"url\"\n :alt=\"options?.alt || 'Image'\"\n class=\"media-item\"\n :class=\"{ 'loading': !isLoaded }\"\n loading=\"lazy\"\n @load=\"handleLoad\"\n v-bind=\"options\"\n ref=\"imageElement\"\n />\n \n <!-- Видео с предварительной загрузкой -->\n <video\n v-else-if=\"isVideo\"\n ref=\"videoElement\"\n :class=\"{ 'loading': !isLoaded }\"\n class=\"media-item\"\n :controls=\"!options?.hideControls\"\n :loop=\"options?.loop !== false\"\n :muted=\"options?.muted !== false\"\n :autoplay=\"options?.autoplay\"\n :playsinline=\"options?.playsinline !== false\"\n :preload=\"options?.preload || 'metadata'\"\n @loadeddata=\"handleLoad\"\n v-bind=\"options\"\n >\n <source :src=\"url\" :type=\"videoType\">\n </video>\n \n <!-- Плейсхолдер во время загрузки -->\n <div v-if=\"!isLoaded\" class=\"media-placeholder\">\n Loading...\n </div>\n \n <!-- Сообщение об ошибке -->\n <div v-if=\"error\" class=\"media-error\">\n {{ error }}\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed, onUnmounted } from 'vue'\n\nconst props = defineProps({\n url: {\n type: String,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n muted: true,\n loop: true,\n playsinline: true,\n preload: 'metadata' // 'none' | 'metadata' | 'auto'\n })\n }\n})\n\n// Refs\nconst videoElement = ref(null)\nconst imageElement = ref(null)\nconst isLoaded = ref(false)\nconst error = ref(null)\nconst isIntersecting = ref(false)\nlet observer = null\nlet isPlaying = false\n\n// Определяем тип медиа\nconst fileExtension = computed(() => {\n return props.url?.split('.')?.pop()?.toLowerCase()\n})\n\nconst isImage = computed(() => {\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'avif']\n return imageExtensions.includes(fileExtension.value)\n})\n\nconst isVideo = computed(() => {\n const videoExtensions = ['mp4', 'webm', 'ogg']\n return videoExtensions.includes(fileExtension.value)\n})\n\n// Определяем MIME-тип для видео\nconst videoType = computed(() => {\n const types = {\n 'mp4': 'video/mp4',\n 'webm': 'video/webm',\n 'ogg': 'video/ogg'\n }\n return types[fileExtension.value] || ''\n})\n\n// Обработчик загрузки медиа\nfunction handleLoad() {\n isLoaded.value = true\n}\n\n// Обработка ошибок\nfunction handleError(err) {\n error.value = `Ошибка загрузки медиа: ${err.message}`\n isLoaded.value = false\n}\n\n// Управление видео с обработкой ошибок\nasync function playVideo() {\n if (!videoElement.value) return\n \n try {\n if (videoElement.value.paused && !isPlaying) {\n await videoElement.value.play()\n isPlaying = true\n }\n } catch (err) {\n handleError(err)\n }\n}\n\nfunction checkAndPlayVideo() {\n if (!videoElement.value) return\n \n videoElement.value.onplaying = () => {\n isPlaying = true\n }\n \n videoElement.value.onpause = () => {\n isPlaying = false\n }\n \n videoElement.value.onerror = handleError\n}\n\n// Intersection Observer для ленивой загрузки\nfunction setupIntersectionObserver() {\n const options = {\n root: null,\n rootMargin: '50px',\n threshold: 0.1\n }\n \n observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n isIntersecting.value = entry.isIntersecting\n \n if (entry.isIntersecting) {\n if (isVideo.value && props.options?.autoplay) {\n playVideo()\n }\n // Отключаем observer после первой загрузки\n observer.disconnect()\n }\n })\n }, options)\n \n // Наблюдаем за элементом в зависимости от типа медиа\n const element = isImage.value ? imageElement.value : videoElement.value\n if (element) {\n observer.observe(element)\n }\n}\n\n// Lifecycle hooks\nonMounted(() => {\n setupIntersectionObserver()\n})\n\nonUnmounted(() => {\n if (observer) {\n observer.disconnect()\n }\n})\n</script>\n\n<style scoped>\n.media-container {\n}\n\n.media-item {\n all: inherit;\n opacity: 1;\n transition: opacity 0.3s ease;\n}\n\n.media-item.loading {\n opacity: 0;\n}\n\n.media-placeholder {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #f5f5f5;\n}\n\n.media-error {\n color: #ff4444;\n padding: 1rem;\n text-align: center;\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,UAAM,QAAQ;AAiBd,UAAM,eAAe,IAAI,IAAI;AAC7B,UAAM,eAAe,IAAI,IAAI;AAC7B,UAAM,WAAW,IAAI,KAAK;AAC1B,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,iBAAiB,IAAI,KAAK;AAChC,QAAI,WAAW;AACf,QAAI,YAAY;AAGhB,UAAM,gBAAgB,SAAS,MAAM;;AACnC,cAAO,uBAAM,QAAN,mBAAW,MAAM,SAAjB,mBAAuB,UAAvB,mBAA8B;AAAA,IACvC,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,kBAAkB,CAAC,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,MAAM;AAC3E,aAAO,gBAAgB,SAAS,cAAc,KAAK;AAAA,IACrD,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,kBAAkB,CAAC,OAAO,QAAQ,KAAK;AAC7C,aAAO,gBAAgB,SAAS,cAAc,KAAK;AAAA,IACrD,CAAC;AAGD,UAAM,YAAY,SAAS,MAAM;AAC/B,YAAM,QAAQ;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,MACX;AACE,aAAO,MAAM,cAAc,KAAK,KAAK;AAAA,IACvC,CAAC;AAGD,aAAS,aAAa;AACpB,eAAS,QAAQ;AAAA,IACnB;AAGA,aAAS,YAAY,KAAK;AACxB,YAAM,QAAQ,0BAA0B,IAAI,OAAO;AACnD,eAAS,QAAQ;AAAA,IACnB;AAGA,mBAAe,YAAY;AACzB,UAAI,CAAC,aAAa,MAAO;AAEzB,UAAI;AACF,YAAI,aAAa,MAAM,UAAU,CAAC,WAAW;AAC3C,gBAAM,aAAa,MAAM,KAAI;AAC7B,sBAAY;AAAA,QAClB;AAAA,MACG,SAAQ,KAAK;AACZ,oBAAY,GAAG;AAAA,MACnB;AAAA,IACA;AAiBA,aAAS,4BAA4B;AACnC,YAAM,UAAU;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,WAAW;AAAA,MACf;AAEE,iBAAW,IAAI,qBAAqB,CAAC,YAAY;AAC/C,gBAAQ,QAAQ,WAAS;;AACvB,yBAAe,QAAQ,MAAM;AAE7B,cAAI,MAAM,gBAAgB;AACxB,gBAAI,QAAQ,WAAS,WAAM,YAAN,mBAAe,WAAU;AAC5C,wBAAS;AAAA,YACnB;AAEQ,qBAAS,WAAU;AAAA,UAC3B;AAAA,QACK,CAAA;AAAA,MACL,GAAK,OAAO;AAGV,YAAM,UAAU,QAAQ,QAAQ,aAAa,QAAQ,aAAa;AAClE,UAAI,SAAS;AACX,iBAAS,QAAQ,OAAO;AAAA,MAC5B;AAAA,IACA;AAGA,cAAU,MAAM;AACd,gCAAyB;AAAA,IAC3B,CAAC;AAED,gBAAY,MAAM;AAChB,UAAI,UAAU;AACZ,iBAAS,WAAU;AAAA,MACvB;AAAA,IACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  const _hoisted_1 = { class: "mobile-menu-section pd-r-zero pd-t-thin pd-b-thin pd-medium radius-medium" };
6
6
  const _sfc_main = {
7
7
  __name: "Menu",
@@ -14,4 +14,4 @@ const _sfc_main = {
14
14
  }
15
15
  };
16
16
  exports.default = _sfc_main;
17
- //# sourceMappingURL=Menu.vue2.cjs.map
17
+ //# sourceMappingURL=Menu.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock, openBlock, renderSlot } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  const _hoisted_1 = { class: "mobile-menu-section pd-r-zero pd-t-thin pd-b-thin pd-medium radius-medium" };
4
4
  const _sfc_main = {
5
5
  __name: "Menu",
@@ -14,4 +14,4 @@ const _sfc_main = {
14
14
  export {
15
15
  _sfc_main as default
16
16
  };
17
- //# sourceMappingURL=Menu.vue2.js.map
17
+ //# sourceMappingURL=Menu.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const IconCross = require("../../modules/icons/navigation/IconCross.vue.cjs");
6
- ;/* empty css */
6
+ ;/* empty css */
7
7
  const _hoisted_1 = {
8
8
  key: 0,
9
9
  class: "mn-b-medium"
@@ -101,4 +101,4 @@ const _sfc_main = {
101
101
  }
102
102
  };
103
103
  exports.default = _sfc_main;
104
- //# sourceMappingURL=Popup.vue2.cjs.map
104
+ //# sourceMappingURL=Popup.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.vue2.js","sources":["../../../../../src/components/Popup/Popup.vue"],"sourcesContent":["<template>\n <transition name=\"moveFromTop\">\n <teleport to=\"body\" v-if=\"isPopupOpen\">\n <div v-if=\"isPopupOpen\" key=\"popup-content\" class=\"z-index-6 popup-wrapper\"\n :class=\"{\n 'pd-t-extra': MOBILE_APP === 'ios',\n [alignClass]: true\n }\"\n >\n <transition name=\"TransitionTranslateY\" mode=\"out-in\">\n <section class=\"h-max-100 o-y-scroll pos-relative z-index-4\" v-bind=\"$attrs\" :class=\"$attrs.class\">\n <h4 v-if=\"title\" class=\"mn-b-medium\">{{title}}</h4>\n <IconCross :fill=\"'rgb(var(--white))'\" @click=\"closePopup()\" class=\"cursor-pointer bg-second pd-micro radius-extra pos-absolute pos-t-0 pos-r-0 mn-t-medium mn-r-medium hover-scale-1 i-medium z-index-5\"/>\n <slot></slot>\n </section> \n </transition>\n\n <div \n @click=\"closePopup()\" \n :class=\"{'active':isPopupOpen === true}\" \n class=\"color-overlay z-index-3\">\n </div>\n </div>\n </teleport>\n </transition>\n</template>\n\n<script setup>\nimport { computed, watch, onMounted, ref, nextTick } from 'vue';\n// Import libs\nimport { useRoute, useRouter } from 'vue-router'\n// import { useI18n } from 'vue-i18n'\n// Icons\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n// Define props\nconst props = defineProps({\n isPopupOpen: {\n type: Boolean,\n default: false\n },\n style: String,\n title: String,\n align: {\n type: String,\n default: 'center center',\n validator: (value) => {\n const validAlignments = [\n 'top left', 'top center', 'top right',\n 'center left', 'center center', 'center right',\n 'bottom left', 'bottom center', 'bottom right'\n ];\n return validAlignments.includes(value);\n }\n }\n});\n\nconst emits = defineEmits(['close-popup'])\n\n// Compute the alignment class from the align prop\nconst alignClass = computed(() => {\n return `align-${props.align.replace(/\\s+/g, '-')}`;\n});\n\nfunction closePopup() {\n emits(\"close-popup\");\n} \n\nwatch(() => props.isPopupOpen, (newVal) => {\n if (newVal) {\n document.body.classList.add('no-scroll');\n } else {\n document.body.classList.remove('no-scroll');\n }\n});\n\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst text = {\n messages: {\n en: {},\n ru: {}\n }\n}\n// const { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n .no-scroll {\n overflow: hidden;\n\n #view {\n overflow: hidden;\n }\n }\n\n .popup-wrapper {\n display: flex;\n position: fixed;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 40;\n\n /* Default alignment - center center */\n &.align-center-center {\n align-items: center;\n justify-content: center;\n }\n\n /* Top alignments */\n &.align-top-left {\n align-items: flex-start;\n justify-content: flex-start;\n }\n \n &.align-top-center {\n align-items: flex-start;\n justify-content: center;\n }\n \n &.align-top-right {\n align-items: flex-start;\n justify-content: flex-end;\n }\n\n /* Center alignments */\n &.align-center-left {\n align-items: center;\n justify-content: flex-start;\n }\n \n &.align-center-right {\n align-items: center;\n justify-content: flex-end;\n }\n\n /* Bottom alignments */\n &.align-bottom-left {\n align-items: flex-end;\n justify-content: flex-start;\n }\n \n &.align-bottom-center {\n align-items: flex-end;\n justify-content: center;\n }\n \n &.align-bottom-right {\n align-items: flex-end;\n justify-content: flex-end;\n }\n\n .popup {\n position: absolute;\n height: auto;\n padding: 2rem;\n min-width: 24rem;\n border-radius: 2rem;\n overflow: hidden;\n color: white;\n background: black;\n z-index: 40;\n }\n }\n\n .color-overlay {\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: rgba(0,0,0,0.0);\n pointer-events: none;\n transform: scale(1.5);\n transition: all 0.5s cubic-bezier(.31,.79,.24,.92);\n \n &.active {\n background: rgba(#000,0.25);\n pointer-events: all;\n }\n }\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,QAAQ;AAqBd,UAAM,QAAQ;AAGd,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AAAA,IAClD,CAAC;AAED,aAAS,aAAa;AACpB,YAAM,aAAa;AAAA,IACrB;AAEA,UAAM,MAAM,MAAM,aAAa,CAAC,WAAW;AACzC,UAAI,QAAQ;AACV,iBAAS,KAAK,UAAU,IAAI,WAAW;AAAA,MAC3C,OAAS;AACL,iBAAS,KAAK,UAAU,OAAO,WAAW;AAAA,MAC9C;AAAA,IACA,CAAC;AAGa,aAAQ;AACP,cAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Popup.vue.cjs","sources":["../../../../../src/components/Popup/Popup.vue"],"sourcesContent":["<template>\n <transition name=\"moveFromTop\">\n <teleport to=\"body\" v-if=\"isPopupOpen\">\n <div v-if=\"isPopupOpen\" key=\"popup-content\" class=\"z-index-6 popup-wrapper\"\n :class=\"{\n 'pd-t-extra': MOBILE_APP === 'ios',\n [alignClass]: true\n }\"\n >\n <transition name=\"TransitionTranslateY\" mode=\"out-in\">\n <section class=\"h-max-100 o-y-scroll pos-relative z-index-4\" v-bind=\"$attrs\" :class=\"$attrs.class\">\n <h4 v-if=\"title\" class=\"mn-b-medium\">{{title}}</h4>\n <IconCross :fill=\"'rgb(var(--white))'\" @click=\"closePopup()\" class=\"cursor-pointer bg-second pd-micro radius-extra pos-absolute pos-t-0 pos-r-0 mn-t-medium mn-r-medium hover-scale-1 i-medium z-index-5\"/>\n <slot></slot>\n </section> \n </transition>\n\n <div \n @click=\"closePopup()\" \n :class=\"{'active':isPopupOpen === true}\" \n class=\"color-overlay z-index-3\">\n </div>\n </div>\n </teleport>\n </transition>\n</template>\n\n<script setup>\nimport { computed, watch, onMounted, ref, nextTick } from 'vue';\n// Import libs\nimport { useRoute, useRouter } from 'vue-router'\n// import { useI18n } from 'vue-i18n'\n// Icons\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n// Define props\nconst props = defineProps({\n isPopupOpen: {\n type: Boolean,\n default: false\n },\n style: String,\n title: String,\n align: {\n type: String,\n default: 'center center',\n validator: (value) => {\n const validAlignments = [\n 'top left', 'top center', 'top right',\n 'center left', 'center center', 'center right',\n 'bottom left', 'bottom center', 'bottom right'\n ];\n return validAlignments.includes(value);\n }\n }\n});\n\nconst emits = defineEmits(['close-popup'])\n\n// Compute the alignment class from the align prop\nconst alignClass = computed(() => {\n return `align-${props.align.replace(/\\s+/g, '-')}`;\n});\n\nfunction closePopup() {\n emits(\"close-popup\");\n} \n\nwatch(() => props.isPopupOpen, (newVal) => {\n if (newVal) {\n document.body.classList.add('no-scroll');\n } else {\n document.body.classList.remove('no-scroll');\n }\n});\n\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst text = {\n messages: {\n en: {},\n ru: {}\n }\n}\n// const { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n .no-scroll {\n overflow: hidden;\n\n #view {\n overflow: hidden;\n }\n }\n\n .popup-wrapper {\n display: flex;\n position: fixed;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 40;\n\n /* Default alignment - center center */\n &.align-center-center {\n align-items: center;\n justify-content: center;\n }\n\n /* Top alignments */\n &.align-top-left {\n align-items: flex-start;\n justify-content: flex-start;\n }\n \n &.align-top-center {\n align-items: flex-start;\n justify-content: center;\n }\n \n &.align-top-right {\n align-items: flex-start;\n justify-content: flex-end;\n }\n\n /* Center alignments */\n &.align-center-left {\n align-items: center;\n justify-content: flex-start;\n }\n \n &.align-center-right {\n align-items: center;\n justify-content: flex-end;\n }\n\n /* Bottom alignments */\n &.align-bottom-left {\n align-items: flex-end;\n justify-content: flex-start;\n }\n \n &.align-bottom-center {\n align-items: flex-end;\n justify-content: center;\n }\n \n &.align-bottom-right {\n align-items: flex-end;\n justify-content: flex-end;\n }\n\n .popup {\n position: absolute;\n height: auto;\n padding: 2rem;\n min-width: 24rem;\n border-radius: 2rem;\n overflow: hidden;\n color: white;\n background: black;\n z-index: 40;\n }\n }\n\n .color-overlay {\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: rgba(0,0,0,0.0);\n pointer-events: none;\n transform: scale(1.5);\n transition: all 0.5s cubic-bezier(.31,.79,.24,.92);\n \n &.active {\n background: rgba(#000,0.25);\n pointer-events: all;\n }\n }\n</style>"],"names":["computed","watch","useRoute","useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,QAAQ;AAqBd,UAAM,QAAQ;AAGd,UAAM,aAAaA,IAAQ,SAAC,MAAM;AAChC,aAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AAAA,IAClD,CAAC;AAED,aAAS,aAAa;AACpB,YAAM,aAAa;AAAA,IACrB;AAEAC,QAAK,MAAC,MAAM,MAAM,aAAa,CAAC,WAAW;AACzC,UAAI,QAAQ;AACV,iBAAS,KAAK,UAAU,IAAI,WAAW;AAAA,MAC3C,OAAS;AACL,iBAAS,KAAK,UAAU,OAAO,WAAW;AAAA,MAC9C;AAAA,IACA,CAAC;AAGaC,cAAQ,SAAA;AACPC,cAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { computed, watch, createBlock, openBlock, Transition, withCtx, createCommentVNode, Teleport, createElementBlock, normalizeClass, createVNode, createElementVNode, mergeProps, renderSlot, toDisplayString } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$1 from "../../modules/icons/navigation/IconCross.vue.js";
4
- /* empty css */
4
+ /* empty css */
5
5
  const _hoisted_1 = {
6
6
  key: 0,
7
7
  class: "mn-b-medium"
@@ -101,4 +101,4 @@ const _sfc_main = {
101
101
  export {
102
102
  _sfc_main as default
103
103
  };
104
- //# sourceMappingURL=Popup.vue2.js.map
104
+ //# sourceMappingURL=Popup.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popup.vue.js","sources":["../../../../../src/components/Popup/Popup.vue"],"sourcesContent":["<template>\n <transition name=\"moveFromTop\">\n <teleport to=\"body\" v-if=\"isPopupOpen\">\n <div v-if=\"isPopupOpen\" key=\"popup-content\" class=\"z-index-6 popup-wrapper\"\n :class=\"{\n 'pd-t-extra': MOBILE_APP === 'ios',\n [alignClass]: true\n }\"\n >\n <transition name=\"TransitionTranslateY\" mode=\"out-in\">\n <section class=\"h-max-100 o-y-scroll pos-relative z-index-4\" v-bind=\"$attrs\" :class=\"$attrs.class\">\n <h4 v-if=\"title\" class=\"mn-b-medium\">{{title}}</h4>\n <IconCross :fill=\"'rgb(var(--white))'\" @click=\"closePopup()\" class=\"cursor-pointer bg-second pd-micro radius-extra pos-absolute pos-t-0 pos-r-0 mn-t-medium mn-r-medium hover-scale-1 i-medium z-index-5\"/>\n <slot></slot>\n </section> \n </transition>\n\n <div \n @click=\"closePopup()\" \n :class=\"{'active':isPopupOpen === true}\" \n class=\"color-overlay z-index-3\">\n </div>\n </div>\n </teleport>\n </transition>\n</template>\n\n<script setup>\nimport { computed, watch, onMounted, ref, nextTick } from 'vue';\n// Import libs\nimport { useRoute, useRouter } from 'vue-router'\n// import { useI18n } from 'vue-i18n'\n// Icons\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n// Define props\nconst props = defineProps({\n isPopupOpen: {\n type: Boolean,\n default: false\n },\n style: String,\n title: String,\n align: {\n type: String,\n default: 'center center',\n validator: (value) => {\n const validAlignments = [\n 'top left', 'top center', 'top right',\n 'center left', 'center center', 'center right',\n 'bottom left', 'bottom center', 'bottom right'\n ];\n return validAlignments.includes(value);\n }\n }\n});\n\nconst emits = defineEmits(['close-popup'])\n\n// Compute the alignment class from the align prop\nconst alignClass = computed(() => {\n return `align-${props.align.replace(/\\s+/g, '-')}`;\n});\n\nfunction closePopup() {\n emits(\"close-popup\");\n} \n\nwatch(() => props.isPopupOpen, (newVal) => {\n if (newVal) {\n document.body.classList.add('no-scroll');\n } else {\n document.body.classList.remove('no-scroll');\n }\n});\n\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst text = {\n messages: {\n en: {},\n ru: {}\n }\n}\n// const { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n .no-scroll {\n overflow: hidden;\n\n #view {\n overflow: hidden;\n }\n }\n\n .popup-wrapper {\n display: flex;\n position: fixed;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 40;\n\n /* Default alignment - center center */\n &.align-center-center {\n align-items: center;\n justify-content: center;\n }\n\n /* Top alignments */\n &.align-top-left {\n align-items: flex-start;\n justify-content: flex-start;\n }\n \n &.align-top-center {\n align-items: flex-start;\n justify-content: center;\n }\n \n &.align-top-right {\n align-items: flex-start;\n justify-content: flex-end;\n }\n\n /* Center alignments */\n &.align-center-left {\n align-items: center;\n justify-content: flex-start;\n }\n \n &.align-center-right {\n align-items: center;\n justify-content: flex-end;\n }\n\n /* Bottom alignments */\n &.align-bottom-left {\n align-items: flex-end;\n justify-content: flex-start;\n }\n \n &.align-bottom-center {\n align-items: flex-end;\n justify-content: center;\n }\n \n &.align-bottom-right {\n align-items: flex-end;\n justify-content: flex-end;\n }\n\n .popup {\n position: absolute;\n height: auto;\n padding: 2rem;\n min-width: 24rem;\n border-radius: 2rem;\n overflow: hidden;\n color: white;\n background: black;\n z-index: 40;\n }\n }\n\n .color-overlay {\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: rgba(0,0,0,0.0);\n pointer-events: none;\n transform: scale(1.5);\n transition: all 0.5s cubic-bezier(.31,.79,.24,.92);\n \n &.active {\n background: rgba(#000,0.25);\n pointer-events: all;\n }\n }\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,QAAQ;AAqBd,UAAM,QAAQ;AAGd,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AAAA,IAClD,CAAC;AAED,aAAS,aAAa;AACpB,YAAM,aAAa;AAAA,IACrB;AAEA,UAAM,MAAM,MAAM,aAAa,CAAC,WAAW;AACzC,UAAI,QAAQ;AACV,iBAAS,KAAK,UAAU,IAAI,WAAW;AAAA,MAC3C,OAAS;AACL,iBAAS,KAAK,UAAU,OAAO,WAAW;AAAA,MAC9C;AAAA,IACA,CAAC;AAGa,aAAQ;AACP,cAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -74,7 +74,7 @@ const _sfc_main = {
74
74
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
75
75
  vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
76
76
  onClick: vue.withModifiers(toggleMenu, ["stop"]),
77
- class: vue.normalizeClass([_ctx.$attrs.class, "cursor-pointer flex-v-center flex-nowrap flex pos-relative"])
77
+ class: vue.normalizeClass([_ctx.$attrs.class, "cursor-pointer field-wrapper flex-v-center flex-nowrap flex pos-relative"])
78
78
  }, [
79
79
  __props.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1, vue.toDisplayString(__props.label), 1)) : vue.createCommentVNode("", true),
80
80
  vue.createElementVNode("span", null, vue.toDisplayString(optionsSelected.value ? optionsSelected.value.name || optionsSelected.value[props.value] || optionsSelected.value : __props.placeholder), 1),
@@ -117,6 +117,6 @@ const _sfc_main = {
117
117
  };
118
118
  }
119
119
  };
120
- const Select = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-89d423c5"]]);
120
+ const Select = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-d73e3595"]]);
121
121
  exports.default = Select;
122
122
  //# sourceMappingURL=Select.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.vue.cjs","sources":["../../../../../src/components/Select/Select.vue"],"sourcesContent":["<template>\n <!-- Input Wrapper -->\n <div \n @click.stop=\"toggleMenu\" \n v-click-outside=\"clickedOutside\" \n :class=\"$attrs.class\" \n class=\"cursor-pointer 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\n <!-- Dropdown menu -->\n <transition mode=\"out-in\" name=\"TransitionTranslateY\">\n <ul \n v-show=\"showMenu\" \n :class=\"$attrs.class\"\n class=\"bs-black pos-absolute pos-t-100 pos-l-0 z-index-5 w-100 mn-t-thin\"\n style=\"min-width: max-content;\"\n >\n <li @click.stop=\"selectOption(option)\" v-for=\"option in optionsListed\" class=\"text-box-trim\">\n <span v-if=\"option\" class=\"w-100\">\n\n {{ option.name || option[props.value] || option }}\n </span>\n </li>\n </ul>\n </transition>\n </div>\n\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\n<script setup>\nimport { ref, computed, watch } from 'vue'\n\nimport clickOutside from '../FieldPhone/click-outside.js';\n\nlet vClickOutside = clickOutside\n\nconst emit = defineEmits([\n 'update:select', \n 'focus', \n 'blur'\n])\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})\n\nconst showMenu = ref(false)\n\nconst optionsSelected = ref(\n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select\n)\n\nconst optionsListed = computed(() => {\n return props.select \n ? props.options.filter(option => option !== props.select) \n : props.options\n})\n\nwatch(() => props.select, (newSelect) => {\n optionsSelected.value = \n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select;\n});\n\nconst toggleMenu = () => {\n showMenu.value = !showMenu.value\n\n emit(showMenu.value ? 'focus' : 'blur')\n}\n\nfunction clickedOutside () {\n showMenu.value = false\n}\n\nconst selectOption = option => {\n optionsSelected.value = option\n \n toggleMenu()\n\n if (props.property) { \n emit('update:select', optionsSelected.value[props.property])\n } else {\n emit('update:select', optionsSelected.value)\n }\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\n<style lang=\"scss\" scoped>\n li {\n list-style-type: none;\n }\n\n ul li {\n line-height: 2;\n }\n</style>\n"],"names":["clickOutside","ref","computed","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,QAAI,gBAAgBA,aAAAA;AAEpB,UAAM,OAAO;AAMb,UAAM,QAAQ;AAUd,UAAM,WAAWC,IAAG,IAAC,KAAK;AAE1B,UAAM,kBAAkBA,IAAG;AAAA,MACzB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV;AAEA,UAAM,gBAAgBC,IAAQ,SAAC,MAAM;AACnC,aAAO,MAAM,SACX,MAAM,QAAQ,OAAO,YAAU,WAAW,MAAM,MAAM,IACtD,MAAM;AAAA,IACV,CAAC;AAEDC,QAAK,MAAC,MAAM,MAAM,QAAQ,CAAC,cAAc;AACvC,sBAAgB,QAChB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV,CAAC;AAED,UAAM,aAAa,MAAM;AACvB,eAAS,QAAQ,CAAC,SAAS;AAE3B,WAAK,SAAS,QAAQ,UAAU,MAAM;AAAA,IACxC;AAEA,aAAS,iBAAkB;AACzB,eAAS,QAAQ;AAAA,IACnB;AAEA,UAAM,eAAe,YAAU;AAC7B,sBAAgB,QAAQ;AAExB,iBAAU;AAEV,UAAI,MAAM,UAAU;AAClB,aAAK,iBAAiB,gBAAgB,MAAM,MAAM,QAAQ,CAAC;AAAA,MAC/D,OAAS;AACL,aAAK,iBAAiB,gBAAgB,KAAK;AAAA,MAC/C;AAAA,IACA;AAEA,aAAS,kBAAmB,OAAO,UAAU,SAAS;AACpD,iBAAW,UAAU,SAAS;AAC5B,YAAI,OAAO,QAAQ,MAAM,SAAS,WAAW,OAAO;AAClD,iBAAO;AAAA,QACb;AAAA,MACA;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Select.vue.cjs","sources":["../../../../../src/components/Select/Select.vue"],"sourcesContent":["<template>\n <!-- Input Wrapper -->\n <div \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\n <!-- Dropdown menu -->\n <transition mode=\"out-in\" name=\"TransitionTranslateY\">\n <ul \n v-show=\"showMenu\" \n :class=\"$attrs.class\"\n class=\"bs-black pos-absolute pos-t-100 pos-l-0 z-index-5 w-100 mn-t-thin\"\n style=\"min-width: max-content;\"\n >\n <li @click.stop=\"selectOption(option)\" v-for=\"option in optionsListed\" class=\"text-box-trim\">\n <span v-if=\"option\" class=\"w-100\">\n\n {{ option.name || option[props.value] || option }}\n </span>\n </li>\n </ul>\n </transition>\n </div>\n\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\n<script setup>\nimport { ref, computed, watch } from 'vue'\n\nimport clickOutside from '../FieldPhone/click-outside.js';\n\nlet vClickOutside = clickOutside\n\nconst emit = defineEmits([\n 'update:select', \n 'focus', \n 'blur'\n])\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})\n\nconst showMenu = ref(false)\n\nconst optionsSelected = ref(\n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select\n)\n\nconst optionsListed = computed(() => {\n return props.select \n ? props.options.filter(option => option !== props.select) \n : props.options\n})\n\nwatch(() => props.select, (newSelect) => {\n optionsSelected.value = \n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select;\n});\n\nconst toggleMenu = () => {\n showMenu.value = !showMenu.value\n\n emit(showMenu.value ? 'focus' : 'blur')\n}\n\nfunction clickedOutside () {\n showMenu.value = false\n}\n\nconst selectOption = option => {\n optionsSelected.value = option\n \n toggleMenu()\n\n if (props.property) { \n emit('update:select', optionsSelected.value[props.property])\n } else {\n emit('update:select', optionsSelected.value)\n }\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\n<style lang=\"scss\" scoped>\n li {\n list-style-type: none;\n }\n\n ul li {\n line-height: 2;\n }\n</style>\n"],"names":["clickOutside","ref","computed","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,QAAI,gBAAgBA,aAAAA;AAEpB,UAAM,OAAO;AAMb,UAAM,QAAQ;AAUd,UAAM,WAAWC,IAAG,IAAC,KAAK;AAE1B,UAAM,kBAAkBA,IAAG;AAAA,MACzB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV;AAEA,UAAM,gBAAgBC,IAAQ,SAAC,MAAM;AACnC,aAAO,MAAM,SACX,MAAM,QAAQ,OAAO,YAAU,WAAW,MAAM,MAAM,IACtD,MAAM;AAAA,IACV,CAAC;AAEDC,QAAK,MAAC,MAAM,MAAM,QAAQ,CAAC,cAAc;AACvC,sBAAgB,QAChB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV,CAAC;AAED,UAAM,aAAa,MAAM;AACvB,eAAS,QAAQ,CAAC,SAAS;AAE3B,WAAK,SAAS,QAAQ,UAAU,MAAM;AAAA,IACxC;AAEA,aAAS,iBAAkB;AACzB,eAAS,QAAQ;AAAA,IACnB;AAEA,UAAM,eAAe,YAAU;AAC7B,sBAAgB,QAAQ;AAExB,iBAAU;AAEV,UAAI,MAAM,UAAU;AAClB,aAAK,iBAAiB,gBAAgB,MAAM,MAAM,QAAQ,CAAC;AAAA,MAC/D,OAAS;AACL,aAAK,iBAAiB,gBAAgB,KAAK;AAAA,MAC/C;AAAA,IACA;AAEA,aAAS,kBAAmB,OAAO,UAAU,SAAS;AACpD,iBAAW,UAAU,SAAS;AAC5B,YAAI,OAAO,QAAQ,MAAM,SAAS,WAAW,OAAO;AAClD,iBAAO;AAAA,QACb;AAAA,MACA;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -72,7 +72,7 @@ const _sfc_main = {
72
72
  return openBlock(), createElementBlock(Fragment, null, [
73
73
  withDirectives((openBlock(), createElementBlock("div", {
74
74
  onClick: withModifiers(toggleMenu, ["stop"]),
75
- class: normalizeClass([_ctx.$attrs.class, "cursor-pointer flex-v-center flex-nowrap flex pos-relative"])
75
+ class: normalizeClass([_ctx.$attrs.class, "cursor-pointer field-wrapper flex-v-center flex-nowrap flex pos-relative"])
76
76
  }, [
77
77
  __props.label ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
78
78
  createElementVNode("span", null, toDisplayString(optionsSelected.value ? optionsSelected.value.name || optionsSelected.value[props.value] || optionsSelected.value : __props.placeholder), 1),
@@ -115,7 +115,7 @@ const _sfc_main = {
115
115
  };
116
116
  }
117
117
  };
118
- const Select = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-89d423c5"]]);
118
+ const Select = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d73e3595"]]);
119
119
  export {
120
120
  Select as default
121
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Select.vue.js","sources":["../../../../../src/components/Select/Select.vue"],"sourcesContent":["<template>\n <!-- Input Wrapper -->\n <div \n @click.stop=\"toggleMenu\" \n v-click-outside=\"clickedOutside\" \n :class=\"$attrs.class\" \n class=\"cursor-pointer 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\n <!-- Dropdown menu -->\n <transition mode=\"out-in\" name=\"TransitionTranslateY\">\n <ul \n v-show=\"showMenu\" \n :class=\"$attrs.class\"\n class=\"bs-black pos-absolute pos-t-100 pos-l-0 z-index-5 w-100 mn-t-thin\"\n style=\"min-width: max-content;\"\n >\n <li @click.stop=\"selectOption(option)\" v-for=\"option in optionsListed\" class=\"text-box-trim\">\n <span v-if=\"option\" class=\"w-100\">\n\n {{ option.name || option[props.value] || option }}\n </span>\n </li>\n </ul>\n </transition>\n </div>\n\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\n<script setup>\nimport { ref, computed, watch } from 'vue'\n\nimport clickOutside from '../FieldPhone/click-outside.js';\n\nlet vClickOutside = clickOutside\n\nconst emit = defineEmits([\n 'update:select', \n 'focus', \n 'blur'\n])\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})\n\nconst showMenu = ref(false)\n\nconst optionsSelected = ref(\n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select\n)\n\nconst optionsListed = computed(() => {\n return props.select \n ? props.options.filter(option => option !== props.select) \n : props.options\n})\n\nwatch(() => props.select, (newSelect) => {\n optionsSelected.value = \n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select;\n});\n\nconst toggleMenu = () => {\n showMenu.value = !showMenu.value\n\n emit(showMenu.value ? 'focus' : 'blur')\n}\n\nfunction clickedOutside () {\n showMenu.value = false\n}\n\nconst selectOption = option => {\n optionsSelected.value = option\n \n toggleMenu()\n\n if (props.property) { \n emit('update:select', optionsSelected.value[props.property])\n } else {\n emit('update:select', optionsSelected.value)\n }\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\n<style lang=\"scss\" scoped>\n li {\n list-style-type: none;\n }\n\n ul li {\n line-height: 2;\n }\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,QAAI,gBAAgB;AAEpB,UAAM,OAAO;AAMb,UAAM,QAAQ;AAUd,UAAM,WAAW,IAAI,KAAK;AAE1B,UAAM,kBAAkB;AAAA,MACtB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV;AAEA,UAAM,gBAAgB,SAAS,MAAM;AACnC,aAAO,MAAM,SACX,MAAM,QAAQ,OAAO,YAAU,WAAW,MAAM,MAAM,IACtD,MAAM;AAAA,IACV,CAAC;AAED,UAAM,MAAM,MAAM,QAAQ,CAAC,cAAc;AACvC,sBAAgB,QAChB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV,CAAC;AAED,UAAM,aAAa,MAAM;AACvB,eAAS,QAAQ,CAAC,SAAS;AAE3B,WAAK,SAAS,QAAQ,UAAU,MAAM;AAAA,IACxC;AAEA,aAAS,iBAAkB;AACzB,eAAS,QAAQ;AAAA,IACnB;AAEA,UAAM,eAAe,YAAU;AAC7B,sBAAgB,QAAQ;AAExB,iBAAU;AAEV,UAAI,MAAM,UAAU;AAClB,aAAK,iBAAiB,gBAAgB,MAAM,MAAM,QAAQ,CAAC;AAAA,MAC/D,OAAS;AACL,aAAK,iBAAiB,gBAAgB,KAAK;AAAA,MAC/C;AAAA,IACA;AAEA,aAAS,kBAAmB,OAAO,UAAU,SAAS;AACpD,iBAAW,UAAU,SAAS;AAC5B,YAAI,OAAO,QAAQ,MAAM,SAAS,WAAW,OAAO;AAClD,iBAAO;AAAA,QACb;AAAA,MACA;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Select.vue.js","sources":["../../../../../src/components/Select/Select.vue"],"sourcesContent":["<template>\n <!-- Input Wrapper -->\n <div \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\n <!-- Dropdown menu -->\n <transition mode=\"out-in\" name=\"TransitionTranslateY\">\n <ul \n v-show=\"showMenu\" \n :class=\"$attrs.class\"\n class=\"bs-black pos-absolute pos-t-100 pos-l-0 z-index-5 w-100 mn-t-thin\"\n style=\"min-width: max-content;\"\n >\n <li @click.stop=\"selectOption(option)\" v-for=\"option in optionsListed\" class=\"text-box-trim\">\n <span v-if=\"option\" class=\"w-100\">\n\n {{ option.name || option[props.value] || option }}\n </span>\n </li>\n </ul>\n </transition>\n </div>\n\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\n<script setup>\nimport { ref, computed, watch } from 'vue'\n\nimport clickOutside from '../FieldPhone/click-outside.js';\n\nlet vClickOutside = clickOutside\n\nconst emit = defineEmits([\n 'update:select', \n 'focus', \n 'blur'\n])\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})\n\nconst showMenu = ref(false)\n\nconst optionsSelected = ref(\n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select\n)\n\nconst optionsListed = computed(() => {\n return props.select \n ? props.options.filter(option => option !== props.select) \n : props.options\n})\n\nwatch(() => props.select, (newSelect) => {\n optionsSelected.value = \n props.property \n ? findObjectByValue(props.select, props.property, props.options) \n : props.select;\n});\n\nconst toggleMenu = () => {\n showMenu.value = !showMenu.value\n\n emit(showMenu.value ? 'focus' : 'blur')\n}\n\nfunction clickedOutside () {\n showMenu.value = false\n}\n\nconst selectOption = option => {\n optionsSelected.value = option\n \n toggleMenu()\n\n if (props.property) { \n emit('update:select', optionsSelected.value[props.property])\n } else {\n emit('update:select', optionsSelected.value)\n }\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\n<style lang=\"scss\" scoped>\n li {\n list-style-type: none;\n }\n\n ul li {\n line-height: 2;\n }\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,QAAI,gBAAgB;AAEpB,UAAM,OAAO;AAMb,UAAM,QAAQ;AAUd,UAAM,WAAW,IAAI,KAAK;AAE1B,UAAM,kBAAkB;AAAA,MACtB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV;AAEA,UAAM,gBAAgB,SAAS,MAAM;AACnC,aAAO,MAAM,SACX,MAAM,QAAQ,OAAO,YAAU,WAAW,MAAM,MAAM,IACtD,MAAM;AAAA,IACV,CAAC;AAED,UAAM,MAAM,MAAM,QAAQ,CAAC,cAAc;AACvC,sBAAgB,QAChB,MAAM,WACJ,kBAAkB,MAAM,QAAQ,MAAM,UAAU,MAAM,OAAO,IAC7D,MAAM;AAAA,IACV,CAAC;AAED,UAAM,aAAa,MAAM;AACvB,eAAS,QAAQ,CAAC,SAAS;AAE3B,WAAK,SAAS,QAAQ,UAAU,MAAM;AAAA,IACxC;AAEA,aAAS,iBAAkB;AACzB,eAAS,QAAQ;AAAA,IACnB;AAEA,UAAM,eAAe,YAAU;AAC7B,sBAAgB,QAAQ;AAExB,iBAAU;AAEV,UAAI,MAAM,UAAU;AAClB,aAAK,iBAAiB,gBAAgB,MAAM,MAAM,QAAQ,CAAC;AAAA,MAC/D,OAAS;AACL,aAAK,iBAAiB,gBAAgB,KAAK;AAAA,MAC/C;AAAA,IACA;AAEA,aAAS,kBAAmB,OAAO,UAAU,SAAS;AACpD,iBAAW,UAAU,SAAS;AAC5B,YAAI,OAAO,QAAQ,MAAM,SAAS,WAAW,OAAO;AAClD,iBAAO;AAAA,QACb;AAAA,MACA;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
+ ;/* empty css */
4
5
  const vueRouter = require("vue-router");
5
6
  const vueI18n = require("vue-i18n");
6
7
  const auth = require("../../store/auth.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"EnterCode.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/EnterCode.vue"],"sourcesContent":["<template>\n\t<section class=\"t-center pd-medium\">\n\t\t<!-- <img loading=\"lazy\" src=\"@/assets/icons/message1.png\" class=\"i-extra mn-b-small\"> -->\n\n\t\t<h3 class=\"mn-b-medium\">\n\t\t\t{{ t('auth.enterCode.verifyNumberTitle') }}\n\t\t</h3>\n\n\t\t<p class=\"mn-b-big t-transp\">{{ t('auth.enterCode.instructions') }}</p>\n\n\t\t<div class=\"w-100 mn-b-big flex-nowrap flex\">\n \t\t<input \n \t\t\ttype=\"number\" \n \t\t\tv-model=\"state.digits[0]\" \n \t\t\tref=\"firstInput\" \n \t\t\tmaxlength=\"1\" \n \t\t\t@input=\"onInput(0)\" \n \t\t\t@paste=\"($event) => onPaste($event, 0)\" \n \t\t\t@keydown=\"($event) => onKeyDown($event, 0)\" \n \t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n \t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[1]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(1)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 1)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 1)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n\t\t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[2]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(2)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 2)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 2)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n\t\t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[3]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(3)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 3)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 3)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small\"\n\t\t\t>\n \t</div>\n\n\t\t<a v-if=\"resendTimer < 1\" @click=\"sendAgain\" class=\"t-blue\">\n\t\t\t{{ t('auth.enterCode.resendCode') }}\n\t\t</a>\n\n\t\t<span v-else>\n\t\t\t{{resendTimer}} {{ t('auth.enterCode.secondsResend') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script setup>\n\t// Import components\n\timport Field from '@martyrs/src/components/Field/Field.vue'\n\t// Import libs\n\timport { computed,reactive,ref, onMounted, onBeforeMount, watch } from 'vue'\n\timport { useRoute,useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t// Import state\n\timport * as auth \tfrom '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as twofa \tfrom '@martyrs/src/modules/auth/views/store/twofa.js'\n\timport { setError } from '@martyrs/src/modules/globals/views/store/globals.js'\n\t\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\t// Localization\n\t// Localization\n\tconst { t } = useI18n({\n\t\tuseScope: 'global', \n\t})\n\t\n\tconst state = reactive({\n\t digits: ['', '', '', ''],\n\t error: null,\n\t});\n\n\twatch(\n\t () => state.digits[0],\n\t (newVal) => {\n\t if (newVal && String(newVal).length > 1) {\n\t let newValArray = String(newVal).split('');\n\t console.log(newValArray);\n\n\t let newDigits = [...state.digits];\n\t newValArray.forEach((digit, i) => {\n\t console.log(i);\n\t console.log(newDigits[i]);\n\t console.log(digit);\n\t newDigits[i] = digit;\n\t });\n\n\t state.digits = newDigits;\n\n\t onInput(3);\n\t }\n\t }\n\t);\n\n\tconst firstInput = ref(null);\n\n\tconst resendTimer = ref(0);\n\n\tasync function sendAgain () {\n\t\ttry {\n\t\t \tawait twofa.sendCode(\n\t\t \t\tauth.state.user, \n\t\t \t\troute.query.method, \n\t\t \t\troute.query.type, \n\t\t \t)\n\n\t\t \tresendTimer.value = 30;\n\n\t \t// Start the timer using `setInterval()`\n\t \tconst timer = setInterval(() => {\n\t\t if (resendTimer.value > 0) {\n\t\t // Decrement the timer by 1 second\n\t\t resendTimer.value -= 1;\n\t\t } else {\n\t\t // Stop the timer when it reaches 0 seconds\n\t\t clearInterval(timer);\n\t\t }\n\t\t }, 1000);\n\t } catch (error) {\n\t\t\tsetError({ response: {data: { errorCode: \"CODE_NOT_SENT\"}}})\n\t\t}\n\t}\n\n\n\tconst onKeyDown = (event, index) => {\n\t if (event.key === \"Backspace\" && (state.digits[index] === null || state.digits[index] === undefined || state.digits[index] === '')) {\n\t event.preventDefault();\n\n\t const inputs = document.querySelectorAll('input');\n\t const prevInput = index > 0 ? inputs[index - 1] : null;\n\n\t if (prevInput) {\n\t prevInput.focus();\n\t prevInput.setSelectionRange(prevInput.value.length, prevInput.value.length);\n\t }\n\t }\n\t};\n\n\t// const onPaste = (event, index) => {\n\t// event.preventDefault();\n\t// const pastedData = event.clipboardData.getData('text/plain');\n\t \n\t// // Проверим, что вставленный текст состоит только из 4 цифр\n\t// if (/^\\d{4}$/.test(pastedData)) {\n\t// for (let i = 0; i < 4; i++) {\n\t// state.digits[index + i] = pastedData[i];\n\t// }\n\t// onInput(index + 3); // Вызываем обработчик onInput для последнего инпута, чтобы обработать логику ввода\n\t// } else {\n\t// \tsetError({ response: {data: { errorCode: \"INPUT_ERROR\"}}})\n\t// }\n\t// };\n\n\tconst onInput = (index) => {\n\t const inputs = document.querySelectorAll('input');\n\t const nextInput = inputs[index + 1];\n\t const prevInput = index > 0 ? inputs[index - 1] : null;\n\n\t // Переход на следующий инпут\n\t if (state.digits[index] !== '' && state.digits[index] !== null && state.digits[index] !== undefined && index < 4) {\n\t if (index < 3) nextInput.focus();\n\t else firstInput.value.focus();\n\t }\n\n\t // Переход на предыдущий инпут при удалении\n\t if ((state.digits[index] === null || state.digits[index] === undefined || state.digits[index] === '') && index > 0) {\n\t prevInput.focus();\n\t }\n\n\t // Проверка введенного кода\n\t if (state.digits.every(digit => digit !== '')) {\n\t const enteredCode = state.digits.join('');\n\t const correctCode = twofa.state.code.code.toString();\n\n\t if (enteredCode === correctCode) {\n\t twofa.state.code.isValid = true;\n\n\t router.push({\n\t path: '/auth/enter-password',\n\t query: { type: twofa.state.code.type, method: route.query.method, returnUrl: route.query.returnUrl }\n\t });\n\n\t } else {\n\t setError({ response: {data: { errorCode: \"WRONG_CODE\"}}})\n\t firstInput.value.focus()\n\t state.digits = ['', '', '', ''];\n\t }\n\t }\n\t};\n</script>"],"names":["useRoute","useRouter","useI18n","reactive","watch","ref","twofa.sendCode","auth.state","setError","twofa.state"],"mappings":"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"}
1
+ {"version":3,"file":"EnterCode.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/EnterCode.vue"],"sourcesContent":["<template>\n\t<section class=\"t-center pd-medium\">\n\t\t<!-- <img loading=\"lazy\" src=\"@/assets/icons/message1.png\" class=\"i-extra mn-b-small\"> -->\n\n\t\t<h3 class=\"mn-b-medium\">\n\t\t\t{{ t('auth.enterCode.verifyNumberTitle') }}\n\t\t</h3>\n\n\t\t<p class=\"mn-b-big t-transp\">{{ t('auth.enterCode.instructions') }}</p>\n\n\t\t<div class=\"w-100 mn-b-big flex-nowrap flex\">\n \t\t<input \n \t\t\ttype=\"number\" \n \t\t\tv-model=\"state.digits[0]\" \n \t\t\tref=\"firstInput\" \n \t\t\tmaxlength=\"1\" \n \t\t\t@input=\"onInput(0)\" \n \t\t\t@paste=\"($event) => onPaste($event, 0)\" \n \t\t\t@keydown=\"($event) => onKeyDown($event, 0)\" \n \t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n \t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[1]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(1)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 1)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 1)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n\t\t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[2]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(2)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 2)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 2)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n\t\t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[3]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(3)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 3)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 3)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small\"\n\t\t\t>\n \t</div>\n\n\t\t<a v-if=\"resendTimer < 1\" @click=\"sendAgain\" class=\"t-blue\">\n\t\t\t{{ t('auth.enterCode.resendCode') }}\n\t\t</a>\n\n\t\t<span v-else>\n\t\t\t{{resendTimer}} {{ t('auth.enterCode.secondsResend') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script setup>\n\t// Import components\n\timport Field from '@martyrs/src/components/Field/Field.vue'\n\t// Import libs\n\timport { computed,reactive,ref, onMounted, onBeforeMount, watch } from 'vue'\n\timport { useRoute,useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t// Import state\n\timport * as auth \tfrom '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as twofa \tfrom '@martyrs/src/modules/auth/views/store/twofa.js'\n\timport { setError } from '@martyrs/src/modules/globals/views/store/globals.js'\n\t\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\t// Localization\n\t// Localization\n\tconst { t } = useI18n({\n\t\tuseScope: 'global', \n\t})\n\t\n\tconst state = reactive({\n\t digits: ['', '', '', ''],\n\t error: null,\n\t});\n\n\twatch(\n\t () => state.digits[0],\n\t (newVal) => {\n\t if (newVal && String(newVal).length > 1) {\n\t let newValArray = String(newVal).split('');\n\t console.log(newValArray);\n\n\t let newDigits = [...state.digits];\n\t newValArray.forEach((digit, i) => {\n\t console.log(i);\n\t console.log(newDigits[i]);\n\t console.log(digit);\n\t newDigits[i] = digit;\n\t });\n\n\t state.digits = newDigits;\n\n\t onInput(3);\n\t }\n\t }\n\t);\n\n\tconst firstInput = ref(null);\n\n\tconst resendTimer = ref(0);\n\n\tasync function sendAgain () {\n\t\ttry {\n\t\t \tawait twofa.sendCode(\n\t\t \t\tauth.state.user, \n\t\t \t\troute.query.method, \n\t\t \t\troute.query.type, \n\t\t \t)\n\n\t\t \tresendTimer.value = 30;\n\n\t \t// Start the timer using `setInterval()`\n\t \tconst timer = setInterval(() => {\n\t\t if (resendTimer.value > 0) {\n\t\t // Decrement the timer by 1 second\n\t\t resendTimer.value -= 1;\n\t\t } else {\n\t\t // Stop the timer when it reaches 0 seconds\n\t\t clearInterval(timer);\n\t\t }\n\t\t }, 1000);\n\t } catch (error) {\n\t\t\tsetError({ response: {data: { errorCode: \"CODE_NOT_SENT\"}}})\n\t\t}\n\t}\n\n\n\tconst onKeyDown = (event, index) => {\n\t if (event.key === \"Backspace\" && (state.digits[index] === null || state.digits[index] === undefined || state.digits[index] === '')) {\n\t event.preventDefault();\n\n\t const inputs = document.querySelectorAll('input');\n\t const prevInput = index > 0 ? inputs[index - 1] : null;\n\n\t if (prevInput) {\n\t prevInput.focus();\n\t prevInput.setSelectionRange(prevInput.value.length, prevInput.value.length);\n\t }\n\t }\n\t};\n\n\t// const onPaste = (event, index) => {\n\t// event.preventDefault();\n\t// const pastedData = event.clipboardData.getData('text/plain');\n\t \n\t// // Проверим, что вставленный текст состоит только из 4 цифр\n\t// if (/^\\d{4}$/.test(pastedData)) {\n\t// for (let i = 0; i < 4; i++) {\n\t// state.digits[index + i] = pastedData[i];\n\t// }\n\t// onInput(index + 3); // Вызываем обработчик onInput для последнего инпута, чтобы обработать логику ввода\n\t// } else {\n\t// \tsetError({ response: {data: { errorCode: \"INPUT_ERROR\"}}})\n\t// }\n\t// };\n\n\tconst onInput = (index) => {\n\t const inputs = document.querySelectorAll('input');\n\t const nextInput = inputs[index + 1];\n\t const prevInput = index > 0 ? inputs[index - 1] : null;\n\n\t // Переход на следующий инпут\n\t if (state.digits[index] !== '' && state.digits[index] !== null && state.digits[index] !== undefined && index < 4) {\n\t if (index < 3) nextInput.focus();\n\t else firstInput.value.focus();\n\t }\n\n\t // Переход на предыдущий инпут при удалении\n\t if ((state.digits[index] === null || state.digits[index] === undefined || state.digits[index] === '') && index > 0) {\n\t prevInput.focus();\n\t }\n\n\t // Проверка введенного кода\n\t if (state.digits.every(digit => digit !== '')) {\n\t const enteredCode = state.digits.join('');\n\t const correctCode = twofa.state.code.code.toString();\n\n\t if (enteredCode === correctCode) {\n\t twofa.state.code.isValid = true;\n\n\t router.push({\n\t path: '/auth/enter-password',\n\t query: { type: twofa.state.code.type, method: route.query.method, returnUrl: route.query.returnUrl }\n\t });\n\n\t } else {\n\t setError({ response: {data: { errorCode: \"WRONG_CODE\"}}})\n\t firstInput.value.focus()\n\t state.digits = ['', '', '', ''];\n\t }\n\t }\n\t};\n</script>"],"names":["useRoute","useRouter","useI18n","reactive","watch","ref","twofa.sendCode","auth.state","setError","twofa.state"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { reactive, watch, ref, createElementBlock, openBlock, createElementVNode, toDisplayString, unref, withDirectives, vModelText } from "vue";
2
+ /* empty css */
2
3
  import { useRoute, useRouter } from "vue-router";
3
4
  import { useI18n } from "vue-i18n";
4
5
  import { state as state$1 } from "../../store/auth.js";
@@ -1 +1 @@
1
- {"version":3,"file":"EnterCode.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/EnterCode.vue"],"sourcesContent":["<template>\n\t<section class=\"t-center pd-medium\">\n\t\t<!-- <img loading=\"lazy\" src=\"@/assets/icons/message1.png\" class=\"i-extra mn-b-small\"> -->\n\n\t\t<h3 class=\"mn-b-medium\">\n\t\t\t{{ t('auth.enterCode.verifyNumberTitle') }}\n\t\t</h3>\n\n\t\t<p class=\"mn-b-big t-transp\">{{ t('auth.enterCode.instructions') }}</p>\n\n\t\t<div class=\"w-100 mn-b-big flex-nowrap flex\">\n \t\t<input \n \t\t\ttype=\"number\" \n \t\t\tv-model=\"state.digits[0]\" \n \t\t\tref=\"firstInput\" \n \t\t\tmaxlength=\"1\" \n \t\t\t@input=\"onInput(0)\" \n \t\t\t@paste=\"($event) => onPaste($event, 0)\" \n \t\t\t@keydown=\"($event) => onKeyDown($event, 0)\" \n \t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n \t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[1]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(1)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 1)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 1)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n\t\t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[2]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(2)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 2)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 2)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n\t\t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[3]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(3)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 3)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 3)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small\"\n\t\t\t>\n \t</div>\n\n\t\t<a v-if=\"resendTimer < 1\" @click=\"sendAgain\" class=\"t-blue\">\n\t\t\t{{ t('auth.enterCode.resendCode') }}\n\t\t</a>\n\n\t\t<span v-else>\n\t\t\t{{resendTimer}} {{ t('auth.enterCode.secondsResend') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script setup>\n\t// Import components\n\timport Field from '@martyrs/src/components/Field/Field.vue'\n\t// Import libs\n\timport { computed,reactive,ref, onMounted, onBeforeMount, watch } from 'vue'\n\timport { useRoute,useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t// Import state\n\timport * as auth \tfrom '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as twofa \tfrom '@martyrs/src/modules/auth/views/store/twofa.js'\n\timport { setError } from '@martyrs/src/modules/globals/views/store/globals.js'\n\t\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\t// Localization\n\t// Localization\n\tconst { t } = useI18n({\n\t\tuseScope: 'global', \n\t})\n\t\n\tconst state = reactive({\n\t digits: ['', '', '', ''],\n\t error: null,\n\t});\n\n\twatch(\n\t () => state.digits[0],\n\t (newVal) => {\n\t if (newVal && String(newVal).length > 1) {\n\t let newValArray = String(newVal).split('');\n\t console.log(newValArray);\n\n\t let newDigits = [...state.digits];\n\t newValArray.forEach((digit, i) => {\n\t console.log(i);\n\t console.log(newDigits[i]);\n\t console.log(digit);\n\t newDigits[i] = digit;\n\t });\n\n\t state.digits = newDigits;\n\n\t onInput(3);\n\t }\n\t }\n\t);\n\n\tconst firstInput = ref(null);\n\n\tconst resendTimer = ref(0);\n\n\tasync function sendAgain () {\n\t\ttry {\n\t\t \tawait twofa.sendCode(\n\t\t \t\tauth.state.user, \n\t\t \t\troute.query.method, \n\t\t \t\troute.query.type, \n\t\t \t)\n\n\t\t \tresendTimer.value = 30;\n\n\t \t// Start the timer using `setInterval()`\n\t \tconst timer = setInterval(() => {\n\t\t if (resendTimer.value > 0) {\n\t\t // Decrement the timer by 1 second\n\t\t resendTimer.value -= 1;\n\t\t } else {\n\t\t // Stop the timer when it reaches 0 seconds\n\t\t clearInterval(timer);\n\t\t }\n\t\t }, 1000);\n\t } catch (error) {\n\t\t\tsetError({ response: {data: { errorCode: \"CODE_NOT_SENT\"}}})\n\t\t}\n\t}\n\n\n\tconst onKeyDown = (event, index) => {\n\t if (event.key === \"Backspace\" && (state.digits[index] === null || state.digits[index] === undefined || state.digits[index] === '')) {\n\t event.preventDefault();\n\n\t const inputs = document.querySelectorAll('input');\n\t const prevInput = index > 0 ? inputs[index - 1] : null;\n\n\t if (prevInput) {\n\t prevInput.focus();\n\t prevInput.setSelectionRange(prevInput.value.length, prevInput.value.length);\n\t }\n\t }\n\t};\n\n\t// const onPaste = (event, index) => {\n\t// event.preventDefault();\n\t// const pastedData = event.clipboardData.getData('text/plain');\n\t \n\t// // Проверим, что вставленный текст состоит только из 4 цифр\n\t// if (/^\\d{4}$/.test(pastedData)) {\n\t// for (let i = 0; i < 4; i++) {\n\t// state.digits[index + i] = pastedData[i];\n\t// }\n\t// onInput(index + 3); // Вызываем обработчик onInput для последнего инпута, чтобы обработать логику ввода\n\t// } else {\n\t// \tsetError({ response: {data: { errorCode: \"INPUT_ERROR\"}}})\n\t// }\n\t// };\n\n\tconst onInput = (index) => {\n\t const inputs = document.querySelectorAll('input');\n\t const nextInput = inputs[index + 1];\n\t const prevInput = index > 0 ? inputs[index - 1] : null;\n\n\t // Переход на следующий инпут\n\t if (state.digits[index] !== '' && state.digits[index] !== null && state.digits[index] !== undefined && index < 4) {\n\t if (index < 3) nextInput.focus();\n\t else firstInput.value.focus();\n\t }\n\n\t // Переход на предыдущий инпут при удалении\n\t if ((state.digits[index] === null || state.digits[index] === undefined || state.digits[index] === '') && index > 0) {\n\t prevInput.focus();\n\t }\n\n\t // Проверка введенного кода\n\t if (state.digits.every(digit => digit !== '')) {\n\t const enteredCode = state.digits.join('');\n\t const correctCode = twofa.state.code.code.toString();\n\n\t if (enteredCode === correctCode) {\n\t twofa.state.code.isValid = true;\n\n\t router.push({\n\t path: '/auth/enter-password',\n\t query: { type: twofa.state.code.type, method: route.query.method, returnUrl: route.query.returnUrl }\n\t });\n\n\t } else {\n\t setError({ response: {data: { errorCode: \"WRONG_CODE\"}}})\n\t firstInput.value.focus()\n\t state.digits = ['', '', '', ''];\n\t }\n\t }\n\t};\n</script>"],"names":["state","twofa.sendCode","auth.state","twofa.state"],"mappings":"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"}
1
+ {"version":3,"file":"EnterCode.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/EnterCode.vue"],"sourcesContent":["<template>\n\t<section class=\"t-center pd-medium\">\n\t\t<!-- <img loading=\"lazy\" src=\"@/assets/icons/message1.png\" class=\"i-extra mn-b-small\"> -->\n\n\t\t<h3 class=\"mn-b-medium\">\n\t\t\t{{ t('auth.enterCode.verifyNumberTitle') }}\n\t\t</h3>\n\n\t\t<p class=\"mn-b-big t-transp\">{{ t('auth.enterCode.instructions') }}</p>\n\n\t\t<div class=\"w-100 mn-b-big flex-nowrap flex\">\n \t\t<input \n \t\t\ttype=\"number\" \n \t\t\tv-model=\"state.digits[0]\" \n \t\t\tref=\"firstInput\" \n \t\t\tmaxlength=\"1\" \n \t\t\t@input=\"onInput(0)\" \n \t\t\t@paste=\"($event) => onPaste($event, 0)\" \n \t\t\t@keydown=\"($event) => onKeyDown($event, 0)\" \n \t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n \t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[1]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(1)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 1)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 1)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n\t\t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[2]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(2)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 2)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 2)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small mn-r-small\"\n\t\t\t>\n\t\t\t<input \n\t\t\t\ttype=\"number\" \n\t\t\t\tv-model=\"state.digits[3]\" \n\t\t\t\tmaxlength=\"1\" \n\t\t\t\t@input=\"onInput(3)\" \n\t\t\t\t@paste=\"($event) => onPaste($event, 3)\" \n\t\t\t\t@keydown=\"($event) => onKeyDown($event, 3)\" \n\t\t\t\tclass=\"w-100 h1 pd-small t-center bg-light radius-small\"\n\t\t\t>\n \t</div>\n\n\t\t<a v-if=\"resendTimer < 1\" @click=\"sendAgain\" class=\"t-blue\">\n\t\t\t{{ t('auth.enterCode.resendCode') }}\n\t\t</a>\n\n\t\t<span v-else>\n\t\t\t{{resendTimer}} {{ t('auth.enterCode.secondsResend') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script setup>\n\t// Import components\n\timport Field from '@martyrs/src/components/Field/Field.vue'\n\t// Import libs\n\timport { computed,reactive,ref, onMounted, onBeforeMount, watch } from 'vue'\n\timport { useRoute,useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t// Import state\n\timport * as auth \tfrom '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as twofa \tfrom '@martyrs/src/modules/auth/views/store/twofa.js'\n\timport { setError } from '@martyrs/src/modules/globals/views/store/globals.js'\n\t\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\t// Localization\n\t// Localization\n\tconst { t } = useI18n({\n\t\tuseScope: 'global', \n\t})\n\t\n\tconst state = reactive({\n\t digits: ['', '', '', ''],\n\t error: null,\n\t});\n\n\twatch(\n\t () => state.digits[0],\n\t (newVal) => {\n\t if (newVal && String(newVal).length > 1) {\n\t let newValArray = String(newVal).split('');\n\t console.log(newValArray);\n\n\t let newDigits = [...state.digits];\n\t newValArray.forEach((digit, i) => {\n\t console.log(i);\n\t console.log(newDigits[i]);\n\t console.log(digit);\n\t newDigits[i] = digit;\n\t });\n\n\t state.digits = newDigits;\n\n\t onInput(3);\n\t }\n\t }\n\t);\n\n\tconst firstInput = ref(null);\n\n\tconst resendTimer = ref(0);\n\n\tasync function sendAgain () {\n\t\ttry {\n\t\t \tawait twofa.sendCode(\n\t\t \t\tauth.state.user, \n\t\t \t\troute.query.method, \n\t\t \t\troute.query.type, \n\t\t \t)\n\n\t\t \tresendTimer.value = 30;\n\n\t \t// Start the timer using `setInterval()`\n\t \tconst timer = setInterval(() => {\n\t\t if (resendTimer.value > 0) {\n\t\t // Decrement the timer by 1 second\n\t\t resendTimer.value -= 1;\n\t\t } else {\n\t\t // Stop the timer when it reaches 0 seconds\n\t\t clearInterval(timer);\n\t\t }\n\t\t }, 1000);\n\t } catch (error) {\n\t\t\tsetError({ response: {data: { errorCode: \"CODE_NOT_SENT\"}}})\n\t\t}\n\t}\n\n\n\tconst onKeyDown = (event, index) => {\n\t if (event.key === \"Backspace\" && (state.digits[index] === null || state.digits[index] === undefined || state.digits[index] === '')) {\n\t event.preventDefault();\n\n\t const inputs = document.querySelectorAll('input');\n\t const prevInput = index > 0 ? inputs[index - 1] : null;\n\n\t if (prevInput) {\n\t prevInput.focus();\n\t prevInput.setSelectionRange(prevInput.value.length, prevInput.value.length);\n\t }\n\t }\n\t};\n\n\t// const onPaste = (event, index) => {\n\t// event.preventDefault();\n\t// const pastedData = event.clipboardData.getData('text/plain');\n\t \n\t// // Проверим, что вставленный текст состоит только из 4 цифр\n\t// if (/^\\d{4}$/.test(pastedData)) {\n\t// for (let i = 0; i < 4; i++) {\n\t// state.digits[index + i] = pastedData[i];\n\t// }\n\t// onInput(index + 3); // Вызываем обработчик onInput для последнего инпута, чтобы обработать логику ввода\n\t// } else {\n\t// \tsetError({ response: {data: { errorCode: \"INPUT_ERROR\"}}})\n\t// }\n\t// };\n\n\tconst onInput = (index) => {\n\t const inputs = document.querySelectorAll('input');\n\t const nextInput = inputs[index + 1];\n\t const prevInput = index > 0 ? inputs[index - 1] : null;\n\n\t // Переход на следующий инпут\n\t if (state.digits[index] !== '' && state.digits[index] !== null && state.digits[index] !== undefined && index < 4) {\n\t if (index < 3) nextInput.focus();\n\t else firstInput.value.focus();\n\t }\n\n\t // Переход на предыдущий инпут при удалении\n\t if ((state.digits[index] === null || state.digits[index] === undefined || state.digits[index] === '') && index > 0) {\n\t prevInput.focus();\n\t }\n\n\t // Проверка введенного кода\n\t if (state.digits.every(digit => digit !== '')) {\n\t const enteredCode = state.digits.join('');\n\t const correctCode = twofa.state.code.code.toString();\n\n\t if (enteredCode === correctCode) {\n\t twofa.state.code.isValid = true;\n\n\t router.push({\n\t path: '/auth/enter-password',\n\t query: { type: twofa.state.code.type, method: route.query.method, returnUrl: route.query.returnUrl }\n\t });\n\n\t } else {\n\t setError({ response: {data: { errorCode: \"WRONG_CODE\"}}})\n\t firstInput.value.focus()\n\t state.digits = ['', '', '', ''];\n\t }\n\t }\n\t};\n</script>"],"names":["state","twofa.sendCode","auth.state","twofa.state"],"mappings":";;;;;;;;;;;;;;;AAwEC,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAIxB,UAAM,EAAE,EAAG,IAAG,QAAQ;AAAA,MACrB,UAAU;AAAA,IACV,CAAA;AAED,UAAMA,UAAQ,SAAS;AAAA,MACrB,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE;AAAA,MACvB,OAAO;AAAA,IACV,CAAE;AAED;AAAA,MACI,MAAMA,QAAM,OAAO,CAAC;AAAA,MACpB,CAAC,WAAW;AACR,YAAI,UAAU,OAAO,MAAM,EAAE,SAAS,GAAG;AACrC,cAAI,cAAc,OAAO,MAAM,EAAE,MAAM,EAAE;AACzC,kBAAQ,IAAI,WAAW;AAEvB,cAAI,YAAY,CAAC,GAAGA,QAAM,MAAM;AAChC,sBAAY,QAAQ,CAAC,OAAO,MAAM;AAC9B,oBAAQ,IAAI,CAAC;AACb,oBAAQ,IAAI,UAAU,CAAC,CAAC;AACxB,oBAAQ,IAAI,KAAK;AACjB,sBAAU,CAAC,IAAI;AAAA,UAChC,CAAc;AAEDA,kBAAM,SAAS;AAEf,kBAAQ,CAAC;AAAA,QACtB;AAAA,MACA;AAAA,IACE;AAED,UAAM,aAAa,IAAI,IAAI;AAE3B,UAAM,cAAc,IAAI,CAAC;AAEzB,mBAAe,YAAa;AAC3B,UAAI;AACD,cAAMC;AAAAA,UACLC,QAAW;AAAA,UACX,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,QAClB;AAEK,oBAAY,QAAQ;AAGjB,cAAM,QAAQ,YAAY,MAAM;AAC9B,cAAI,YAAY,QAAQ,GAAG;AAEzB,wBAAY,SAAS;AAAA,UACjC,OAAiB;AAEL,0BAAc,KAAK;AAAA,UAC/B;AAAA,QACQ,GAAE,GAAI;AAAA,MACV,SAAQ,OAAO;AAChB,iBAAS,EAAE,UAAU,EAAC,MAAM,EAAE,WAAW,gBAAe,EAAC,EAAC,CAAC;AAAA,MAC9D;AAAA,IACA;AAGC,UAAM,YAAY,CAAC,OAAO,UAAU;AAChC,UAAI,MAAM,QAAQ,gBAAgBF,QAAM,OAAO,KAAK,MAAM,QAAQA,QAAM,OAAO,KAAK,MAAM,UAAaA,QAAM,OAAO,KAAK,MAAM,KAAK;AAChI,cAAM,eAAgB;AAEtB,cAAM,SAAS,SAAS,iBAAiB,OAAO;AAChD,cAAM,YAAY,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI;AAElD,YAAI,WAAW;AACX,oBAAU,MAAO;AACjB,oBAAU,kBAAkB,UAAU,MAAM,QAAQ,UAAU,MAAM,MAAM;AAAA,QACvF;AAAA,MACA;AAAA,IACE;AAiBD,UAAM,UAAU,CAAC,UAAU;AACvB,YAAM,SAAS,SAAS,iBAAiB,OAAO;AAChD,YAAM,YAAY,OAAO,QAAQ,CAAC;AAClC,YAAM,YAAY,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI;AAGlD,UAAIA,QAAM,OAAO,KAAK,MAAM,MAAMA,QAAM,OAAO,KAAK,MAAM,QAAQA,QAAM,OAAO,KAAK,MAAM,UAAa,QAAQ,GAAG;AAC9G,YAAI,QAAQ,EAAG,WAAU,MAAO;AAAA,YAC3B,YAAW,MAAM,MAAO;AAAA,MACtC;AAGK,WAAKA,QAAM,OAAO,KAAK,MAAM,QAAQA,QAAM,OAAO,KAAK,MAAM,UAAaA,QAAM,OAAO,KAAK,MAAM,OAAO,QAAQ,GAAG;AAChH,kBAAU,MAAO;AAAA,MAC1B;AAGK,UAAIA,QAAM,OAAO,MAAM,WAAS,UAAU,EAAE,GAAG;AAC3C,cAAM,cAAcA,QAAM,OAAO,KAAK,EAAE;AACxC,cAAM,cAAcG,MAAY,KAAK,KAAK,SAAU;AAEpD,YAAI,gBAAgB,aAAa;AAC7BA,gBAAY,KAAK,UAAU;AAE3B,iBAAO,KAAK;AAAA,YACR,MAAM;AAAA,YACN,OAAO,EAAE,MAAMA,MAAY,KAAK,MAAM,QAAQ,MAAM,MAAM,QAAQ,WAAW,MAAM,MAAM,UAAS;AAAA,UACnH,CAAc;AAAA,QAEd,OAAgB;AACH,mBAAS,EAAE,UAAU,EAAC,MAAM,EAAE,WAAW,aAAY,EAAC,EAAC,CAAC;AACxD,qBAAW,MAAM,MAAK;AACtBH,kBAAM,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE;AAAA,QAC3C;AAAA,MACA;AAAA,IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- const Field = require("../../../../../components/Field/Field.vue.cjs");
6
- const Button = require("../../../../../components/Button/Button.vue2.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
6
+ const Button = require("../../../../../components/Button/Button.vue.cjs");
7
7
  const vueRouter = require("vue-router");
8
8
  const vueI18n = require("vue-i18n");
9
9
  const auth = require("../../store/auth.cjs");
@@ -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.vue.js";
4
- import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
3
+ import _sfc_main$1 from "../../../../../components/Field/Field.vue2.js";
4
+ import _sfc_main$2 from "../../../../../components/Button/Button.vue.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";
@@ -73,7 +73,7 @@ const _sfc_main = {
73
73
  createElementVNode("h3", _hoisted_2, toDisplayString(unref(t)("auth.enterPassword.almostDone")), 1),
74
74
  unref(route).query.method === "reset-password" ? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(unref(t)("auth.enterPassword.newPasswordPrompt")), 1)) : (openBlock(), createElementBlock("p", _hoisted_4, toDisplayString(unref(t)("auth.enterPassword.registrationPasswordPrompt")), 1)),
75
75
  createElementVNode("div", _hoisted_5, [
76
- createVNode(Field, {
76
+ createVNode(_sfc_main$1, {
77
77
  field: state.user.password,
78
78
  "onUpdate:field": _cache[0] || (_cache[0] = ($event) => state.user.password = $event),
79
79
  type: "password",
@@ -81,7 +81,7 @@ const _sfc_main = {
81
81
  placeholder: unref(t)("auth.enterPassword.passwordPlaceholder"),
82
82
  class: "bg-light pd-small radius-small mn-b-thin"
83
83
  }, null, 8, ["field", "validation", "placeholder"]),
84
- createVNode(Field, {
84
+ createVNode(_sfc_main$1, {
85
85
  field: state.user.passwordRepeat,
86
86
  "onUpdate:field": _cache[1] || (_cache[1] = ($event) => state.user.passwordRepeat = $event),
87
87
  type: "password",
@@ -98,7 +98,7 @@ const _sfc_main = {
98
98
  rel: "noopener noreferrer"
99
99
  }, "End User License Agreement (EULA)", -1)
100
100
  ]))) : createCommentVNode("", true),
101
- createVNode(_sfc_main$1, {
101
+ createVNode(_sfc_main$2, {
102
102
  submit: onSubmit,
103
103
  callback: redirectTo,
104
104
  class: "w-100 bg-main mn-b-big"
@@ -2,8 +2,8 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- const Field = require("../../../../../components/Field/Field.vue.cjs");
6
- const Button = require("../../../../../components/Button/Button.vue2.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
6
+ const Button = require("../../../../../components/Button/Button.vue.cjs");
7
7
  const vueRouter = require("vue-router");
8
8
  const auth = require("../../store/auth.cjs");
9
9
  const invites = require("../../../../organizations/store/invites.cjs");
@@ -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.vue.js";
4
- import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
3
+ import _sfc_main$1 from "../../../../../components/Field/Field.vue2.js";
4
+ import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { state, actions as actions$1 } from "../../store/auth.js";
7
7
  import { actions } from "../../../../organizations/store/invites.js";
@@ -51,7 +51,7 @@ const _sfc_main = {
51
51
  _cache[3] || (_cache[3] = createElementVNode("h3", { class: "mn-b-small" }, "You have been invited to the organization", -1)),
52
52
  _cache[4] || (_cache[4] = createElementVNode("p", { class: "mn-b-semi t-transp" }, "Please provide a password to complete the registration.", -1)),
53
53
  createElementVNode("div", _hoisted_2, [
54
- createVNode(Field, {
54
+ createVNode(_sfc_main$1, {
55
55
  field: state.user.password,
56
56
  "onUpdate:field": _cache[0] || (_cache[0] = ($event) => state.user.password = $event),
57
57
  type: "password",
@@ -60,7 +60,7 @@ const _sfc_main = {
60
60
  placeholder: "******",
61
61
  class: "mn-b-thin bg-light pd-medium radius-small"
62
62
  }, null, 8, ["field", "validation"]),
63
- createVNode(Field, {
63
+ createVNode(_sfc_main$1, {
64
64
  field: state.user.passwordRepeat,
65
65
  "onUpdate:field": _cache[1] || (_cache[1] = ($event) => state.user.passwordRepeat = $event),
66
66
  type: "password",
@@ -69,7 +69,7 @@ const _sfc_main = {
69
69
  class: "bg-light pd-medium radius-small"
70
70
  }, null, 8, ["field"])
71
71
  ]),
72
- createVNode(_sfc_main$1, {
72
+ createVNode(_sfc_main$2, {
73
73
  submit: onSubmit,
74
74
  callback: redirectTo,
75
75
  class: "w-100 bg-main mn-b-big"
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
+ ;/* empty css */
4
5
  ;/* empty css */
5
- ;/* empty css */
6
+ ;/* empty css */
6
7
  const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue.cjs");
7
- const Menu = require("../../../../../components/Menu/Menu.vue2.cjs");
8
+ const Menu = require("../../../../../components/Menu/Menu.vue.cjs");
8
9
  const MenuItem = require("../../../../../components/Menu/MenuItem.vue.cjs");
9
10
  const ButtonToggleMembership = require("../../../../organizations/components/elements/ButtonToggleMembership.vue.cjs");
10
11
  const FormReport = require("../../../../reports/components/sections/FormReport.vue.cjs");