@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 +0,0 @@
1
- {"version":3,"file":"Button.vue2.cjs","sources":["../../../../../src/components/Button/Button.vue"],"sourcesContent":["<script setup>\n\timport { ref } from 'vue'\n\n\timport Loader from '@martyrs/src/components/Loader/Loader.vue'\n\n\tconst props = defineProps({\n\t\tsubmit: {\n\t\t\ttype: Function,\n\t\t\tdefault: async () => { console.log('Button click.') }\n\t\t},\n\t\ttext: {\n\t\t\ttype: Object,\n\t\t\tdefault: (textComponent) => {\n\t\t\t\treturn textComponent = {\n\t\t\t\t\t...textComponent.text,\n\t\t\t\t\tsuccess: '✔',\n\t\t\t\t\terror: '✖'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcounter: {\n\t type: Object\n\t },\n\t\tcallback: {\n\t\t\ttype: Function,\n\t\t\tdefault: async () => { console.log('Button callback.') }\n\t\t},\n\t\tcallbackDelay: {\n\t\t\ttype: Number,\n\t\t\tdefault: 750\n\t\t},\n\t\tshowSucces: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tshowLoader: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tvalidation: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t})\t\n\n\tconst emits = defineEmits(['error'])\n\n\tconst button = ref(null);\n\tconst error = ref(null);\n\tconst loading = ref(false);\n\tconst finished = ref(false);\n\n\tasync function Submit() {\n\t\t\tconsole.log('click')\n\t\t\t\n\t button.value.style['pointer-events'] = 'none';\n\t error.value = null;\n\t loading.value = true;\n\n\t // Функция для сброса состояния кнопки.\n\t const resetButton = () => {\n if (button.value) {\n // button.value.classList.replace('bg-second', 'bg-main');\n button.value.style.pointerEvents = 'auto';\n loading.value = false;\n finished.value = false;\n error.value = null;\n }\n\t };\n\n\t try {\n await props.submit();\n\n button.value.classList.replace('bg-main', 'bg-second');\n\n loading.value = false;\n\n // Используем функцию сброса состояния кнопки здесь.\n if (props.showSucces) { \n\t\t\t\t\tfinished.value = true;\n setTimeout(resetButton, 500);\n } else {\n resetButton();\n }\n\n // Если есть callback, мы также установим таймер для его вызова.\n if (props.callback) setTimeout(() => props.callback(), props.callbackDelay);\n\n\t } catch (err) {\n \t\temits('error',err)\n // Если возникла ошибка, мы изменяем стили и устанавливаем сообщение об ошибке.\n button.value.classList.replace('bg-main', 'bg-fourth-nano');\n error.value = props.error;\n \n // После задержки снова сбрасываем состояние кнопки.\n setTimeout(() => {\n resetButton();\n // Так как класс кнопки был изменен, вернем его в исходное состояние.\n button.value.classList.replace('bg-fourth-nano', 'bg-main');\n }, 1330);\n\t }\n\t}\n\n</script>\n\n<template>\n\t<button @click.stop=\"Submit\" :disabled=\"validation\" ref=\"button\" class=\"button\">\n\t\t<transition name=\"FromTop\" >\n\t\t\t<!-- Slot -->\n\t\t\t<template v-if=\"!loading && !error && !finished || !showLoader\"><slot></slot></template>\n\t\t\t<!-- Loading Circle Animation -->\n\t\t\t<template v-else-if=\"loading && !error && showLoader\"><Loader class=\"pos-relative pos-t-0 pos-l-0 loading\"/></template>\n\t\t\t<!-- <Loader v-else-if=\"loading && !error && showLoader\"/> -->\n\t\t\t<!-- Success -->\n\t\t\t<span v-else-if=\"finished && showSucces\" class=\"t-semi t-center w-100 loading t-black\">{{text.success}}</span>\n\t\t\t<!-- Error if not finished -->\n\t\t\t<span v-else-if=\"error\" class=\"t-center w-100 error\">{{ error }}</span>\n\t\t</transition>\n\t\t<!-- Counter -->\n\t\t<div v-if=\"counter\" class=\"button-counter flex-center\"><span>{{counter}}</span></div> \n\n\t</button> \n</template>\n\n\n<style lang=\"scss\">\n\t.FromTop-enter-active,\n\t.FromTop-leave-active {\n\t\ttransform: translateY(0);\n\t\topacity: 1;\n\t\ttransition: all 0.5s ease; \n\t\t\n\t}\n\t.FromTop-enter-from,\n\t.FromTop-leave-to {\n\t\tposition: absolute;\n\t\ttransform: translateY(-1rem);\n\t\topacity: 0;\n\t\ttransition: all 0.5s ease;\n\t}\n\n\tbutton[disabled] {\n\t\topacity: 0.75 !important;\n\t \tpointer-events: none !important;\n\t \tcursor: default !important;\n\t \tcolor: rgba(var(--dark), 0.33) !important;\n\t\tbackground: rgba(var(--light), 1) !important; \n\t}\n\n\ta.button {\n\t\t\ttext-box: trim-both cap alphabetic;\n\t}\n\n\t.button {\n\t\tdisplay: flex;\n\n\t\tpadding: 0.5rem;\n\t\tborder-radius: 3rem;\n\t\ttext-box: trim-both cap alphabetic;\n\n\t\ttransform: scale(1);\n\t\topacity: 1;\n\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\t\n\t\tcolor: black;\n\t\ttext-align: center;\n\t\ttext-transform: uppercase;\n\t\tfont-size: 1rem;\n\t\tletter-spacing: 5%;\n\n\t\ttransition: all 0.33s ease;\n\t \n\t\t&:hover {\n\t\t\tcursor: pointer;\n\t\t\topacity: 0.9;\n\t\t}\n\n\t\t&:active {\n\t\t\ttransform: scale(0.95);\n\t\t}\n\n\t\t&-small {\n\t\t\tpadding: 0.75rem;\n\t\t\tborder-radius: 0.5rem;\n\t\t\theight: fit-content;\n\t\t}\n\n\t\t.button-counter {\n\t\t\tposition: absolute;\n\t\t\tright: -8px;\n\t bottom: -8px;\n\t background: yellow;\n\t height: 16px;\n\t border-radius: 16px;\n\t width: 16px;\n\t font-weight: 500;\n\t text-align: center;\n\t line-height: 16px;\n\t font-size: 10px;\n\t\t}\n\t}\n</style>"],"names":["ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKC,UAAM,QAAQ;AAwCd,UAAM,QAAQ;AAEd,UAAM,SAASA,IAAG,IAAC,IAAI;AACvB,UAAM,QAAQA,IAAG,IAAC,IAAI;AACtB,UAAM,UAAUA,IAAG,IAAC,KAAK;AACzB,UAAM,WAAWA,IAAG,IAAC,KAAK;AAE1B,mBAAe,SAAS;AACtB,cAAQ,IAAI,OAAO;AAEjB,aAAO,MAAM,MAAM,gBAAgB,IAAI;AACvC,YAAM,QAAQ;AACd,cAAQ,QAAQ;AAGhB,YAAM,cAAc,MAAM;AACvB,YAAI,OAAO,OAAO;AAEhB,iBAAO,MAAM,MAAM,gBAAgB;AACnC,kBAAQ,QAAQ;AAChB,mBAAS,QAAQ;AACjB,gBAAM,QAAQ;AAAA,QACxB;AAAA,MACM;AAED,UAAI;AACD,cAAM,MAAM,OAAQ;AAEpB,eAAO,MAAM,UAAU,QAAQ,WAAW,WAAW;AAErD,gBAAQ,QAAQ;AAGhB,YAAI,MAAM,YAAY;AACzB,mBAAS,QAAQ;AACZ,qBAAW,aAAa,GAAG;AAAA,QACrC,OAAe;AACL,sBAAa;AAAA,QACvB;AAGQ,YAAI,MAAM,SAAU,YAAW,MAAM,MAAM,SAAU,GAAE,MAAM,aAAa;AAAA,MAE5E,SAAQ,KAAK;AACb,cAAM,SAAQ,GAAG;AAEf,eAAO,MAAM,UAAU,QAAQ,WAAW,gBAAgB;AAC1D,cAAM,QAAQ,MAAM;AAGpB,mBAAW,MAAM;AACf,sBAAa;AAEb,iBAAO,MAAM,UAAU,QAAQ,kBAAkB,SAAS;AAAA,QAC3D,GAAE,IAAI;AAAA,MACf;AAAA,IACA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chips.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chips.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Calendar.vue.cjs","sources":["../../../../../src/components/DatePicker/Calendar.vue"],"sourcesContent":["<template>\n <div class=\"calendar\" :aria-disabled=\"disabled\"> \n <div v-if=\"allowRange && !disablePastDates\" class=\"br-b br-solid br-grey-transp-25 gap-thin flex flex-nowrap pd-thin\">\n <button @click=\"selectToday\" class=\"font-second t-nowrap pd-thin bg-white radius-small\">Today</button>\n <button @click=\"selectLastWeek\" class=\"font-second t-nowrap pd-thin bg-white radius-small\">Last Week</button>\n <button @click=\"selectLastMonth\" class=\"font-second t-nowrap pd-thin bg-white radius-small\">Last Month</button>\n <button @click=\"selectLastYear\" class=\"font-second t-nowrap pd-thin bg-white radius-small\">All time</button>\n </div>\n <div class=\"pd-thin flex flex-nowrap flex-v-center flex-justify-between\">\n <button @click.stop=\"prevMonth\" class=\"aspect-1x1 pd-thin bg-white radius-extra\" :disabled=\"isPrevMonthDisabled\">\n <svg class=\"i-regular\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"20\" viewBox=\"0 0 12 20\" fill=\"none\">\n <path d=\"M0.610352 10.0068C0.615885 9.81315 0.654622 9.63607 0.726562 9.47559C0.798503 9.3151 0.90918 9.16016 1.05859 9.01074L9.37598 0.958984C9.61393 0.721029 9.90723 0.602051 10.2559 0.602051C10.4883 0.602051 10.6986 0.657389 10.8867 0.768066C11.0804 0.878743 11.2326 1.02816 11.3433 1.21631C11.4595 1.40446 11.5176 1.61475 11.5176 1.84717C11.5176 2.19027 11.3875 2.49186 11.1274 2.75195L3.60693 9.99854L11.1274 17.2534C11.3875 17.519 11.5176 17.8206 11.5176 18.1582C11.5176 18.3962 11.4595 18.6092 11.3433 18.7974C11.2326 18.9855 11.0804 19.1349 10.8867 19.2456C10.6986 19.3618 10.4883 19.4199 10.2559 19.4199C9.90723 19.4199 9.61393 19.2982 9.37598 19.0547L1.05859 11.0029C0.903646 10.8535 0.790202 10.6986 0.718262 10.5381C0.646322 10.3721 0.610352 10.195 0.610352 10.0068Z\" :fill=\"isPrevMonthDisabled ? '#303030' : '#007AFF'\"/>\n </svg>\n </button>\n <span class=\"t-semi\">{{ monthYear }}</span>\n <button @click.stop=\"nextMonth\" class=\"aspect-1x1 pd-thin bg-white radius-extra\">\n <svg class=\"i-regular \" xmlns=\"http://www.w3.org/2000/svg\" width=\"11\" height=\"20\" viewBox=\"0 0 11 20\" fill=\"none\">\n <path d=\"M10.9072 10.0151C10.9017 10.2088 10.863 10.3859 10.791 10.5464C10.7191 10.7069 10.6084 10.8618 10.459 11.0112L2.1416 19.063C1.90365 19.3009 1.61035 19.4199 1.26172 19.4199C1.0293 19.4199 0.81901 19.3646 0.630859 19.2539C0.437175 19.1432 0.284994 18.9938 0.174316 18.8057C0.0581055 18.6175 8.85326e-08 18.4072 1.08852e-07 18.1748C1.38846e-07 17.8317 0.130046 17.5301 0.390137 17.27L7.91065 10.0234L0.390138 2.76855C0.130047 2.50293 1.5053e-06 2.20133 1.53481e-06 1.86377C1.55561e-06 1.62581 0.058107 1.41276 0.174318 1.22461C0.284995 1.03646 0.437176 0.887043 0.630861 0.776366C0.819012 0.660155 1.0293 0.60205 1.26172 0.60205C1.61035 0.60205 1.90365 0.723795 2.1416 0.967284L10.459 9.01904C10.6139 9.16846 10.7274 9.3234 10.7993 9.48389C10.8713 9.6499 10.9072 9.82699 10.9072 10.0151Z\" :fill=\"isPrevMonthDisabled ? '#303030' : '#007AFF'\"/>\n </svg>\n </button>\n </div>\n\n <div class=\"pd-thin calendar__body\">\n <div class=\"calendar__week\">\n <div v-for=\"(day, index) in daysOfWeek\" :key=\"index\" class=\"calendar__weekday\">\n {{ day }}\n </div>\n </div>\n <div class=\"gap-micro calendar__dates\">\n <div\n v-for=\"day in daysInMonth\"\n :key=\"day.date\"\n :class=\"[\n 'flex flex-center cursor-pointer aspect-1x1 radius-small',\n { 'calendar__date--today': day.isToday },\n { 'calendar__date--selected': isSelected(day.date) },\n { 'calendar__date--range': isInRange(day.date) },\n { 'calendar__date--in-other-month': !isSameMonth(day.date) },\n { 'calendar__date--disabled': isPastDate(day.date) },\n { 'calendar__date--low-availability': isLowAvailability(day.date) },\n { 'calendar__date--unavailable': !isAvailable(day.date) && !isPastDate(day.date) },\n ]\"\n @click.stop=\"selectDate(day.date)\"\n >\n {{ day.day }}\n <span v-if=\"showAvailability && getAvailability(day.date)\" class=\"availability-indicator\">\n {{ getAvailability(day.date) }}\n </span>\n </div>\n </div>\n </div>\n \n </div>\n</template>\n\n<script setup>\nimport { computed, ref, watch } from 'vue'\n\nconst props = defineProps({\n modelValue: [Date, Object],\n allowRange: Boolean,\n disabled: Boolean,\n disablePastDates: {\n type: Boolean,\n default: false\n },\n availabilityData: {\n type: Array,\n default: () => []\n },\n showAvailability: {\n type: Boolean,\n default: false\n },\n lowAvailabilityThreshold: {\n type: Number,\n default: 3\n }\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst dateCalendar = defineModel('date')\n\nconst today = new Date()\nconst currentDate = ref(today)\nconst selectedDate = ref(null)\nconst startDate = ref(null)\nconst endDate = ref(null)\n\nconst daysOfWeek = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n\n// Watch for availability data updates\nwatch(() => props.availabilityData, (newData) => {\n // You could perform additional processing when availability data changes\n}, { deep: true })\n\nconst toUTC = (date) => {\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n}\n\nconst toEndOfDayUTC = (date) => {\n const endOfDay = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59));\n return endOfDay;\n}\n\nconst dateToString = (date) => {\n return date.toISOString().split('T')[0];\n}\n\nconst monthYear = computed(() => {\n const month = currentDate.value.toLocaleString('default', { month: 'long', timeZone: 'UTC' })\n const year = currentDate.value.getUTCFullYear()\n return `${month} ${year}`\n})\n\nconst isPrevMonthDisabled = computed(() => {\n if (!props.disablePastDates) return false;\n \n // Check if current view month is the current month\n return currentDate.value.getUTCMonth() === today.getUTCMonth() && \n currentDate.value.getUTCFullYear() === today.getUTCFullYear();\n})\n\nconst daysInMonth = computed(() => {\n const days = []\n const firstDay = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth(),\n 1\n ))\n const lastDay = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() + 1,\n 0\n ))\n\n const firstDayOfWeek = firstDay.getUTCDay()\n\n let date = new Date(firstDay)\n\n date.setUTCDate(date.getUTCDate() - firstDayOfWeek)\n\n for (let i = 0; i < firstDayOfWeek; i++) {\n days.push({\n date: new Date(date),\n day: date.getUTCDate(),\n isToday: isToday(date),\n })\n date.setUTCDate(date.getUTCDate() + 1)\n }\n\n let day = 1\n\n for (date = firstDay; date <= lastDay; date.setUTCDate(date.getUTCDate() + 1)) {\n days.push({\n date: new Date(date),\n day,\n isToday: isToday(date),\n })\n day++\n }\n\n const lastDayOfWeek = days[days.length - 1].date.getUTCDay()\n\n for (let i = lastDayOfWeek + 1; i <= 6; i++) {\n days.push({\n date: new Date(date),\n day: date.getUTCDate(),\n isToday: isToday(date),\n })\n date.setUTCDate(date.getUTCDate() + 1)\n }\n\n return days\n})\n\nconst isToday = (date) => {\n const today = new Date()\n return (\n date.getUTCDate() === today.getUTCDate() &&\n date.getUTCMonth() === today.getUTCMonth() &&\n date.getUTCFullYear() === today.getUTCFullYear()\n )\n}\n\nconst isSameMonth = (date) => {\n return (\n date.getUTCMonth() === currentDate.value.getUTCMonth() &&\n date.getUTCFullYear() === currentDate.value.getUTCFullYear()\n )\n}\n\nconst isPastDate = (date) => {\n if (!props.disablePastDates) return false;\n \n const now = new Date();\n // Compare only dates without time\n const todayDate = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()));\n const compareDate = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));\n \n return compareDate < todayDate;\n}\n\nconst getAvailabilityInfo = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return null;\n \n const dateStr = dateToString(date);\n return props.availabilityData.find(item => item.date === dateStr);\n}\n\nconst isAvailable = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return true;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return !availabilityInfo || availabilityInfo.availableQuantity > 0;\n}\n\nconst isLowAvailability = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return false;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return availabilityInfo && \n availabilityInfo.availableQuantity > 0 && \n availabilityInfo.availableQuantity <= props.lowAvailabilityThreshold;\n}\n\nconst getAvailability = (date) => {\n if (!props.showAvailability) return null;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return availabilityInfo ? availabilityInfo.availableQuantity : null;\n}\n\nconst isSelected = (date) => {\n if (props.allowRange) {\n if (startDate.value && endDate.value) {\n return date >= new Date(startDate.value) && toEndOfDayUTC(date) <= new Date(endDate.value);\n } else if (startDate.value) {\n return date.getTime() === new Date(startDate.value).getTime();\n }\n } else {\n return selectedDate.value && date.getTime() === new Date(selectedDate.value).getTime();\n }\n}\n\nconst isInRange = (date) => {\n if (startDate.value && endDate.value) {\n return date > startDate.value && toEndOfDayUTC(date) < endDate.value\n }\n return false\n}\n\nconst selectDate = (date) => {\n // Don't allow selection of past dates or unavailable dates\n if (props.disablePastDates && isPastDate(date)) return;\n if (!isAvailable(date)) return;\n \n // If selecting a date from another month, switch to that month\n if (!isSameMonth(date)) {\n // currentDate.value = new Date(Date.UTC(\n // date.getUTCFullYear(),\n // date.getUTCMonth(),\n // 1\n // ));\n }\n \n const formattedDate = toUTC(date)\n \n if (!props.allowRange) {\n selectedDate.value = formattedDate\n dateCalendar.value = formattedDate\n } else if (!startDate.value && !endDate.value) {\n startDate.value = formattedDate\n dateCalendar.value = { start: formattedDate, end: null }\n } else if (!endDate.value) {\n endDate.value = toEndOfDayUTC(date)\n if (formattedDate < startDate.value) {\n const temp = toEndOfDayUTC(startDate.value)\n startDate.value = formattedDate\n endDate.value = temp\n }\n // Verify all dates in the range are available\n if (props.availabilityData && props.availabilityData.length > 0) {\n let allDatesAvailable = true;\n let currentDate = new Date(startDate.value);\n \n while (currentDate <= endDate.value) {\n if (!isAvailable(currentDate)) {\n allDatesAvailable = false;\n break;\n }\n currentDate.setUTCDate(currentDate.getUTCDate() + 1);\n }\n if (!allDatesAvailable) {\n // Instead of resetting the end date, start a new range\n startDate.value = formattedDate\n endDate.value = null\n dateCalendar.value = { start: formattedDate, end: null }\n return;\n }\n }\n dateCalendar.value = { start: startDate.value, end: endDate.value }\n } else {\n startDate.value = formattedDate\n endDate.value = null\n dateCalendar.value = { start: formattedDate, end: null }\n }\n}\n\nconst prevMonth = () => {\n // Prevent navigating to past months if disablePastDates is true\n if (props.disablePastDates) {\n const newDate = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() - 1,\n 1\n ));\n \n if (newDate.getUTCFullYear() < today.getUTCFullYear() || \n (newDate.getUTCFullYear() === today.getUTCFullYear() && \n newDate.getUTCMonth() < today.getUTCMonth())) {\n return;\n }\n }\n \n currentDate.value = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() - 1,\n 1\n ));\n}\n\nconst nextMonth = () => {\n currentDate.value = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() + 1,\n 1\n ))\n}\n\nconst selectToday = () => {\n const today = new Date(); \n const todayStart = new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), 0, 0, 0, 0)); \n const todayEnd = new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), 23, 59, 59, 999)); \n\n // Check if today is available\n if (props.disablePastDates || isAvailable(todayStart)) {\n startDate.value = todayStart.toISOString();\n endDate.value = todayEnd.toISOString();\n dateCalendar.value = { start: startDate.value, end: endDate.value };\n }\n}\n\nconst selectLastWeek = () => {\n const today = new Date();\n const lastWeek = new Date(today);\n lastWeek.setUTCDate(today.getUTCDate() - 7);\n lastWeek.setUTCHours(0, 0, 0, 0);\n\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n startDate.value = lastWeek;\n endDate.value = toEndOfDayUTC(today);\n \n today.setUTCHours(23, 59, 59, 999);\n\n const start = lastWeek.toISOString();\n const end = today.toISOString();\n \n dateCalendar.value = { start: start, end: end };\n}\n\nconst selectLastMonth = () => {\n const today = new Date();\n \n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n \n // Create date for last month\n const lastMonth = new Date(today);\n lastMonth.setUTCMonth(today.getUTCMonth() - 1);\n lastMonth.setUTCHours(0, 0, 0, 0);\n \n startDate.value = lastMonth;\n endDate.value = toEndOfDayUTC(today);\n\n today.setUTCHours(23, 59, 59, 999);\n \n const start = lastMonth.toISOString();\n const end = today.toISOString();\n \n dateCalendar.value = { start: start, end: end };\n}\n\nconst selectLastYear = () => {\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n startDate.value = null;\n endDate.value = null;\n dateCalendar.value = { start: null, end: null };\n}\n</script>\n\n<style lang='scss' scoped>\n.calendar[aria-disabled=\"true\"] {\n cursor: not-allowed;\n\n * {\n pointer-events: none;\n }\n}\n.calendar__week {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 5px;\n margin-bottom: 10px;\n}\n\n.calendar__weekday {\n text-align: center;\n}\n\n.calendar__dates {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n grid-auto-rows: 1fr;\n}\n\n.calendar__dates::before {\n content: '';\n width: 0;\n padding-bottom: 100%;\n grid-row: 1 / 1;\n grid-column: 1 / 1;\n}\n\n.calendar__dates > *:first-child {\n grid-row: 1 / 1;\n grid-column: 1 / 1;\n}\n\n.calendar__date--today {\n background-color: rgb(var(--main)) !important;\n font-weight: bold;\n}\n\n.calendar__date--in-other-month {\n color: #aaaaaa; /* Grey text color for dates from adjacent months */\n}\n\n.calendar__date--selected {\n background-color: #007bff !important;\n color: #fff;\n}\n\n.calendar__date--range {\n background-color: #1c6ab8 !important;\n}\n\n.calendar__date--disabled, .calendar__date--unavailable {\n color: #ccc;\n cursor: not-allowed;\n text-decoration: line-through;\n opacity: 0.5;\n}\n\n.calendar__date--low-availability {\n position: relative;\n background-color: #f0f0f0;\n/* border: 1px solid #fff3cd;*/\n/* background-color: #fff3cd;*/\n}\n\n.availability-indicator {\n position: absolute;\n bottom: 2px;\n right: 2px;\n font-size: 8px;\n color: #6c757d;\n}\n\nbutton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n</style>"],"names":["_useModel","ref","watch","computed","today","currentDate"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Calendar.vue.js","sources":["../../../../../src/components/DatePicker/Calendar.vue"],"sourcesContent":["<template>\n <div class=\"calendar\" :aria-disabled=\"disabled\"> \n <div v-if=\"allowRange && !disablePastDates\" class=\"br-b br-solid br-grey-transp-25 gap-thin flex flex-nowrap pd-thin\">\n <button @click=\"selectToday\" class=\"font-second t-nowrap pd-thin bg-white radius-small\">Today</button>\n <button @click=\"selectLastWeek\" class=\"font-second t-nowrap pd-thin bg-white radius-small\">Last Week</button>\n <button @click=\"selectLastMonth\" class=\"font-second t-nowrap pd-thin bg-white radius-small\">Last Month</button>\n <button @click=\"selectLastYear\" class=\"font-second t-nowrap pd-thin bg-white radius-small\">All time</button>\n </div>\n <div class=\"pd-thin flex flex-nowrap flex-v-center flex-justify-between\">\n <button @click.stop=\"prevMonth\" class=\"aspect-1x1 pd-thin bg-white radius-extra\" :disabled=\"isPrevMonthDisabled\">\n <svg class=\"i-regular\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"20\" viewBox=\"0 0 12 20\" fill=\"none\">\n <path d=\"M0.610352 10.0068C0.615885 9.81315 0.654622 9.63607 0.726562 9.47559C0.798503 9.3151 0.90918 9.16016 1.05859 9.01074L9.37598 0.958984C9.61393 0.721029 9.90723 0.602051 10.2559 0.602051C10.4883 0.602051 10.6986 0.657389 10.8867 0.768066C11.0804 0.878743 11.2326 1.02816 11.3433 1.21631C11.4595 1.40446 11.5176 1.61475 11.5176 1.84717C11.5176 2.19027 11.3875 2.49186 11.1274 2.75195L3.60693 9.99854L11.1274 17.2534C11.3875 17.519 11.5176 17.8206 11.5176 18.1582C11.5176 18.3962 11.4595 18.6092 11.3433 18.7974C11.2326 18.9855 11.0804 19.1349 10.8867 19.2456C10.6986 19.3618 10.4883 19.4199 10.2559 19.4199C9.90723 19.4199 9.61393 19.2982 9.37598 19.0547L1.05859 11.0029C0.903646 10.8535 0.790202 10.6986 0.718262 10.5381C0.646322 10.3721 0.610352 10.195 0.610352 10.0068Z\" :fill=\"isPrevMonthDisabled ? '#303030' : '#007AFF'\"/>\n </svg>\n </button>\n <span class=\"t-semi\">{{ monthYear }}</span>\n <button @click.stop=\"nextMonth\" class=\"aspect-1x1 pd-thin bg-white radius-extra\">\n <svg class=\"i-regular \" xmlns=\"http://www.w3.org/2000/svg\" width=\"11\" height=\"20\" viewBox=\"0 0 11 20\" fill=\"none\">\n <path d=\"M10.9072 10.0151C10.9017 10.2088 10.863 10.3859 10.791 10.5464C10.7191 10.7069 10.6084 10.8618 10.459 11.0112L2.1416 19.063C1.90365 19.3009 1.61035 19.4199 1.26172 19.4199C1.0293 19.4199 0.81901 19.3646 0.630859 19.2539C0.437175 19.1432 0.284994 18.9938 0.174316 18.8057C0.0581055 18.6175 8.85326e-08 18.4072 1.08852e-07 18.1748C1.38846e-07 17.8317 0.130046 17.5301 0.390137 17.27L7.91065 10.0234L0.390138 2.76855C0.130047 2.50293 1.5053e-06 2.20133 1.53481e-06 1.86377C1.55561e-06 1.62581 0.058107 1.41276 0.174318 1.22461C0.284995 1.03646 0.437176 0.887043 0.630861 0.776366C0.819012 0.660155 1.0293 0.60205 1.26172 0.60205C1.61035 0.60205 1.90365 0.723795 2.1416 0.967284L10.459 9.01904C10.6139 9.16846 10.7274 9.3234 10.7993 9.48389C10.8713 9.6499 10.9072 9.82699 10.9072 10.0151Z\" :fill=\"isPrevMonthDisabled ? '#303030' : '#007AFF'\"/>\n </svg>\n </button>\n </div>\n\n <div class=\"pd-thin calendar__body\">\n <div class=\"calendar__week\">\n <div v-for=\"(day, index) in daysOfWeek\" :key=\"index\" class=\"calendar__weekday\">\n {{ day }}\n </div>\n </div>\n <div class=\"gap-micro calendar__dates\">\n <div\n v-for=\"day in daysInMonth\"\n :key=\"day.date\"\n :class=\"[\n 'flex flex-center cursor-pointer aspect-1x1 radius-small',\n { 'calendar__date--today': day.isToday },\n { 'calendar__date--selected': isSelected(day.date) },\n { 'calendar__date--range': isInRange(day.date) },\n { 'calendar__date--in-other-month': !isSameMonth(day.date) },\n { 'calendar__date--disabled': isPastDate(day.date) },\n { 'calendar__date--low-availability': isLowAvailability(day.date) },\n { 'calendar__date--unavailable': !isAvailable(day.date) && !isPastDate(day.date) },\n ]\"\n @click.stop=\"selectDate(day.date)\"\n >\n {{ day.day }}\n <span v-if=\"showAvailability && getAvailability(day.date)\" class=\"availability-indicator\">\n {{ getAvailability(day.date) }}\n </span>\n </div>\n </div>\n </div>\n \n </div>\n</template>\n\n<script setup>\nimport { computed, ref, watch } from 'vue'\n\nconst props = defineProps({\n modelValue: [Date, Object],\n allowRange: Boolean,\n disabled: Boolean,\n disablePastDates: {\n type: Boolean,\n default: false\n },\n availabilityData: {\n type: Array,\n default: () => []\n },\n showAvailability: {\n type: Boolean,\n default: false\n },\n lowAvailabilityThreshold: {\n type: Number,\n default: 3\n }\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst dateCalendar = defineModel('date')\n\nconst today = new Date()\nconst currentDate = ref(today)\nconst selectedDate = ref(null)\nconst startDate = ref(null)\nconst endDate = ref(null)\n\nconst daysOfWeek = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n\n// Watch for availability data updates\nwatch(() => props.availabilityData, (newData) => {\n // You could perform additional processing when availability data changes\n}, { deep: true })\n\nconst toUTC = (date) => {\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n}\n\nconst toEndOfDayUTC = (date) => {\n const endOfDay = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59));\n return endOfDay;\n}\n\nconst dateToString = (date) => {\n return date.toISOString().split('T')[0];\n}\n\nconst monthYear = computed(() => {\n const month = currentDate.value.toLocaleString('default', { month: 'long', timeZone: 'UTC' })\n const year = currentDate.value.getUTCFullYear()\n return `${month} ${year}`\n})\n\nconst isPrevMonthDisabled = computed(() => {\n if (!props.disablePastDates) return false;\n \n // Check if current view month is the current month\n return currentDate.value.getUTCMonth() === today.getUTCMonth() && \n currentDate.value.getUTCFullYear() === today.getUTCFullYear();\n})\n\nconst daysInMonth = computed(() => {\n const days = []\n const firstDay = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth(),\n 1\n ))\n const lastDay = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() + 1,\n 0\n ))\n\n const firstDayOfWeek = firstDay.getUTCDay()\n\n let date = new Date(firstDay)\n\n date.setUTCDate(date.getUTCDate() - firstDayOfWeek)\n\n for (let i = 0; i < firstDayOfWeek; i++) {\n days.push({\n date: new Date(date),\n day: date.getUTCDate(),\n isToday: isToday(date),\n })\n date.setUTCDate(date.getUTCDate() + 1)\n }\n\n let day = 1\n\n for (date = firstDay; date <= lastDay; date.setUTCDate(date.getUTCDate() + 1)) {\n days.push({\n date: new Date(date),\n day,\n isToday: isToday(date),\n })\n day++\n }\n\n const lastDayOfWeek = days[days.length - 1].date.getUTCDay()\n\n for (let i = lastDayOfWeek + 1; i <= 6; i++) {\n days.push({\n date: new Date(date),\n day: date.getUTCDate(),\n isToday: isToday(date),\n })\n date.setUTCDate(date.getUTCDate() + 1)\n }\n\n return days\n})\n\nconst isToday = (date) => {\n const today = new Date()\n return (\n date.getUTCDate() === today.getUTCDate() &&\n date.getUTCMonth() === today.getUTCMonth() &&\n date.getUTCFullYear() === today.getUTCFullYear()\n )\n}\n\nconst isSameMonth = (date) => {\n return (\n date.getUTCMonth() === currentDate.value.getUTCMonth() &&\n date.getUTCFullYear() === currentDate.value.getUTCFullYear()\n )\n}\n\nconst isPastDate = (date) => {\n if (!props.disablePastDates) return false;\n \n const now = new Date();\n // Compare only dates without time\n const todayDate = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()));\n const compareDate = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));\n \n return compareDate < todayDate;\n}\n\nconst getAvailabilityInfo = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return null;\n \n const dateStr = dateToString(date);\n return props.availabilityData.find(item => item.date === dateStr);\n}\n\nconst isAvailable = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return true;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return !availabilityInfo || availabilityInfo.availableQuantity > 0;\n}\n\nconst isLowAvailability = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return false;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return availabilityInfo && \n availabilityInfo.availableQuantity > 0 && \n availabilityInfo.availableQuantity <= props.lowAvailabilityThreshold;\n}\n\nconst getAvailability = (date) => {\n if (!props.showAvailability) return null;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return availabilityInfo ? availabilityInfo.availableQuantity : null;\n}\n\nconst isSelected = (date) => {\n if (props.allowRange) {\n if (startDate.value && endDate.value) {\n return date >= new Date(startDate.value) && toEndOfDayUTC(date) <= new Date(endDate.value);\n } else if (startDate.value) {\n return date.getTime() === new Date(startDate.value).getTime();\n }\n } else {\n return selectedDate.value && date.getTime() === new Date(selectedDate.value).getTime();\n }\n}\n\nconst isInRange = (date) => {\n if (startDate.value && endDate.value) {\n return date > startDate.value && toEndOfDayUTC(date) < endDate.value\n }\n return false\n}\n\nconst selectDate = (date) => {\n // Don't allow selection of past dates or unavailable dates\n if (props.disablePastDates && isPastDate(date)) return;\n if (!isAvailable(date)) return;\n \n // If selecting a date from another month, switch to that month\n if (!isSameMonth(date)) {\n // currentDate.value = new Date(Date.UTC(\n // date.getUTCFullYear(),\n // date.getUTCMonth(),\n // 1\n // ));\n }\n \n const formattedDate = toUTC(date)\n \n if (!props.allowRange) {\n selectedDate.value = formattedDate\n dateCalendar.value = formattedDate\n } else if (!startDate.value && !endDate.value) {\n startDate.value = formattedDate\n dateCalendar.value = { start: formattedDate, end: null }\n } else if (!endDate.value) {\n endDate.value = toEndOfDayUTC(date)\n if (formattedDate < startDate.value) {\n const temp = toEndOfDayUTC(startDate.value)\n startDate.value = formattedDate\n endDate.value = temp\n }\n // Verify all dates in the range are available\n if (props.availabilityData && props.availabilityData.length > 0) {\n let allDatesAvailable = true;\n let currentDate = new Date(startDate.value);\n \n while (currentDate <= endDate.value) {\n if (!isAvailable(currentDate)) {\n allDatesAvailable = false;\n break;\n }\n currentDate.setUTCDate(currentDate.getUTCDate() + 1);\n }\n if (!allDatesAvailable) {\n // Instead of resetting the end date, start a new range\n startDate.value = formattedDate\n endDate.value = null\n dateCalendar.value = { start: formattedDate, end: null }\n return;\n }\n }\n dateCalendar.value = { start: startDate.value, end: endDate.value }\n } else {\n startDate.value = formattedDate\n endDate.value = null\n dateCalendar.value = { start: formattedDate, end: null }\n }\n}\n\nconst prevMonth = () => {\n // Prevent navigating to past months if disablePastDates is true\n if (props.disablePastDates) {\n const newDate = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() - 1,\n 1\n ));\n \n if (newDate.getUTCFullYear() < today.getUTCFullYear() || \n (newDate.getUTCFullYear() === today.getUTCFullYear() && \n newDate.getUTCMonth() < today.getUTCMonth())) {\n return;\n }\n }\n \n currentDate.value = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() - 1,\n 1\n ));\n}\n\nconst nextMonth = () => {\n currentDate.value = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() + 1,\n 1\n ))\n}\n\nconst selectToday = () => {\n const today = new Date(); \n const todayStart = new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), 0, 0, 0, 0)); \n const todayEnd = new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), 23, 59, 59, 999)); \n\n // Check if today is available\n if (props.disablePastDates || isAvailable(todayStart)) {\n startDate.value = todayStart.toISOString();\n endDate.value = todayEnd.toISOString();\n dateCalendar.value = { start: startDate.value, end: endDate.value };\n }\n}\n\nconst selectLastWeek = () => {\n const today = new Date();\n const lastWeek = new Date(today);\n lastWeek.setUTCDate(today.getUTCDate() - 7);\n lastWeek.setUTCHours(0, 0, 0, 0);\n\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n startDate.value = lastWeek;\n endDate.value = toEndOfDayUTC(today);\n \n today.setUTCHours(23, 59, 59, 999);\n\n const start = lastWeek.toISOString();\n const end = today.toISOString();\n \n dateCalendar.value = { start: start, end: end };\n}\n\nconst selectLastMonth = () => {\n const today = new Date();\n \n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n \n // Create date for last month\n const lastMonth = new Date(today);\n lastMonth.setUTCMonth(today.getUTCMonth() - 1);\n lastMonth.setUTCHours(0, 0, 0, 0);\n \n startDate.value = lastMonth;\n endDate.value = toEndOfDayUTC(today);\n\n today.setUTCHours(23, 59, 59, 999);\n \n const start = lastMonth.toISOString();\n const end = today.toISOString();\n \n dateCalendar.value = { start: start, end: end };\n}\n\nconst selectLastYear = () => {\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n startDate.value = null;\n endDate.value = null;\n dateCalendar.value = { start: null, end: null };\n}\n</script>\n\n<style lang='scss' scoped>\n.calendar[aria-disabled=\"true\"] {\n cursor: not-allowed;\n\n * {\n pointer-events: none;\n }\n}\n.calendar__week {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 5px;\n margin-bottom: 10px;\n}\n\n.calendar__weekday {\n text-align: center;\n}\n\n.calendar__dates {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n grid-auto-rows: 1fr;\n}\n\n.calendar__dates::before {\n content: '';\n width: 0;\n padding-bottom: 100%;\n grid-row: 1 / 1;\n grid-column: 1 / 1;\n}\n\n.calendar__dates > *:first-child {\n grid-row: 1 / 1;\n grid-column: 1 / 1;\n}\n\n.calendar__date--today {\n background-color: rgb(var(--main)) !important;\n font-weight: bold;\n}\n\n.calendar__date--in-other-month {\n color: #aaaaaa; /* Grey text color for dates from adjacent months */\n}\n\n.calendar__date--selected {\n background-color: #007bff !important;\n color: #fff;\n}\n\n.calendar__date--range {\n background-color: #1c6ab8 !important;\n}\n\n.calendar__date--disabled, .calendar__date--unavailable {\n color: #ccc;\n cursor: not-allowed;\n text-decoration: line-through;\n opacity: 0.5;\n}\n\n.calendar__date--low-availability {\n position: relative;\n background-color: #f0f0f0;\n/* border: 1px solid #fff3cd;*/\n/* background-color: #fff3cd;*/\n}\n\n.availability-indicator {\n position: absolute;\n bottom: 2px;\n right: 2px;\n font-size: 8px;\n color: #6c757d;\n}\n\nbutton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n</style>"],"names":["_useModel","today","currentDate"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.vue.cjs","sources":["../../../../../src/components/Field/Field.vue"],"sourcesContent":["<script setup>\nimport { ref, onMounted, nextTick, watch } from 'vue'\nimport IconShow from '@martyrs/src/modules/icons/actions/IconShow.vue';\n\nconst emit = defineEmits(['update:field', 'focus', 'blur']);\n\nconst props = defineProps({\n label: null,\n symbol: null,\n type: 'text',\n placeholder: 'Enter something here',\n field: null,\n value: null,\n validation: false,\n disabled: null,\n tabindex: -1,\n autofocus: false\n});\n\nif (props.value) {\n emit('update:field', props.value)\n}\n\nconst textarea = ref(null);\nconst input = ref(null);\nconst showPassword = ref(false);\n\nfunction resize() {\n if (!textarea.value) {\n textarea.value.style.height = '';\n return;\n }\n const el = textarea.value;\n el.style.height = '';\n const scrollHeight = el.scrollHeight;\n if (scrollHeight > 33) {\n el.style.height = scrollHeight + 'px';\n } else {\n el.style.height = '';\n }\n}\n\nfunction focus() {\n if (props.autofocus) {\n if (props.type === 'textarea' && textarea.value) {\n textarea.value.focus();\n } else if (input.value) {\n input.value.focus();\n }\n }\n}\n\nwatch(() => props.field, () => {\n if (props.type === 'textarea') {\n nextTick(resize);\n }\n});\n\nwatch(() => props.autofocus, (newVal) => {\n if (newVal) {\n nextTick(focus);\n }\n});\n\nonMounted(() => {\n nextTick(focus);\n nextTick(resize);\n});\n\nconst text = ref(props.field);\n</script>\n\n<template>\n <div\n :class=\"[\n $attrs.class,\n { 'bg-fourth-nano': validation }\n ]\"\n class=\"flex-center flex-nowrap flex\"\n >\n <div\n v-if=\"label\"\n class=\"t-transp mn-r-small\"\n >\n <span class=\"t-nowrap\">\n {{label}}\n </span>\n </div>\n <div class=\"w-100 pos-relative\">\n <input\n v-if=\"type !== 'textarea'\"\n ref=\"input\"\n @input=\"event => text = emit('update:field', event.target.value)\"\n @focus=\"event => emit('focus', event)\"\n @blur=\"event => emit('blur', event)\"\n :type=\"type === 'password' && !showPassword ? 'password' : type === 'password' ? 'text' : type\"\n class=\"w-100\"\n :value=\"field\"\n :placeholder=\"placeholder\"\n :tabindex=\"tabindex\"\n :disabled=\"disabled\"\n :autofocus=\"autofocus\"\n />\n <textarea\n v-else\n ref=\"textarea\"\n @input=\"event => text = emit('update:field', event.target.value)\"\n @focus=\"event => emit('focus', event)\"\n @blur=\"event => emit('blur', event)\"\n class=\"w-100\"\n :value=\"field\"\n :placeholder=\"placeholder\"\n :tabindex=\"tabindex\"\n :disabled=\"disabled\"\n />\n </div>\n <IconShow\n v-if=\"type === 'password'\"\n :show=\"!showPassword\"\n @click=\"showPassword = !showPassword\"\n class=\"i-medium cursor-pointer\"\n />\n <slot></slot>\n <div\n v-if=\"symbol\"\n class=\"t-transp mn-l-small\"\n >\n <span>\n {{symbol}}\n </span>\n </div>\n </div>\n <!-- Validation -->\n <transition name=\"fade\">\n <div v-if=\"validation\" class=\"mn-t-thin mn-b-thin mn-b-thin invalid-feedback\">\n * {{validation.message}}\n </div>\n </transition>\n</template>\n\n<style scoped>\ninput,\ntextarea,\nspan {\n line-height: 1;\n color: inherit;\n}\n\ntextarea {\n resize: none;\n overflow: hidden;\n height: 1rem;\n line-height: 1rem;\n}\n\ninput[type=\"date\"]::-webkit-calendar-picker-indicator,\ninput[type=\"time\"]::-webkit-calendar-picker-indicator {\n filter: invert(1);\n opacity: 1;\n color: inherit;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.pos-relative {\n position: relative;\n}\n</style>"],"names":["ref","watch","nextTick","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,OAAO;AAEb,UAAM,QAAQ;AAad,QAAI,MAAM,OAAO;AACf,WAAK,gBAAgB,MAAM,KAAK;AAAA,IAClC;AAEA,UAAM,WAAWA,IAAG,IAAC,IAAI;AACzB,UAAM,QAAQA,IAAG,IAAC,IAAI;AACtB,UAAM,eAAeA,IAAG,IAAC,KAAK;AAE9B,aAAS,SAAS;AAChB,UAAI,CAAC,SAAS,OAAO;AACnB,iBAAS,MAAM,MAAM,SAAS;AAC9B;AAAA,MACJ;AACE,YAAM,KAAK,SAAS;AACpB,SAAG,MAAM,SAAS;AAClB,YAAM,eAAe,GAAG;AACxB,UAAI,eAAe,IAAI;AACrB,WAAG,MAAM,SAAS,eAAe;AAAA,MACrC,OAAS;AACL,WAAG,MAAM,SAAS;AAAA,MACtB;AAAA,IACA;AAEA,aAAS,QAAQ;AACf,UAAI,MAAM,WAAW;AACnB,YAAI,MAAM,SAAS,cAAc,SAAS,OAAO;AAC/C,mBAAS,MAAM,MAAO;AAAA,QAC5B,WAAe,MAAM,OAAO;AACtB,gBAAM,MAAM,MAAO;AAAA,QACzB;AAAA,MACA;AAAA,IACA;AAEAC,QAAAA,MAAM,MAAM,MAAM,OAAO,MAAM;AAC7B,UAAI,MAAM,SAAS,YAAY;AAC7BC,YAAAA,SAAS,MAAM;AAAA,MACnB;AAAA,IACA,CAAC;AAEDD,QAAK,MAAC,MAAM,MAAM,WAAW,CAAC,WAAW;AACvC,UAAI,QAAQ;AACVC,YAAAA,SAAS,KAAK;AAAA,MAClB;AAAA,IACA,CAAC;AAEDC,QAAAA,UAAU,MAAM;AACdD,UAAAA,SAAS,KAAK;AACdA,UAAAA,SAAS,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,OAAOF,IAAAA,IAAI,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.vue.js","sources":["../../../../../src/components/Field/Field.vue"],"sourcesContent":["<script setup>\nimport { ref, onMounted, nextTick, watch } from 'vue'\nimport IconShow from '@martyrs/src/modules/icons/actions/IconShow.vue';\n\nconst emit = defineEmits(['update:field', 'focus', 'blur']);\n\nconst props = defineProps({\n label: null,\n symbol: null,\n type: 'text',\n placeholder: 'Enter something here',\n field: null,\n value: null,\n validation: false,\n disabled: null,\n tabindex: -1,\n autofocus: false\n});\n\nif (props.value) {\n emit('update:field', props.value)\n}\n\nconst textarea = ref(null);\nconst input = ref(null);\nconst showPassword = ref(false);\n\nfunction resize() {\n if (!textarea.value) {\n textarea.value.style.height = '';\n return;\n }\n const el = textarea.value;\n el.style.height = '';\n const scrollHeight = el.scrollHeight;\n if (scrollHeight > 33) {\n el.style.height = scrollHeight + 'px';\n } else {\n el.style.height = '';\n }\n}\n\nfunction focus() {\n if (props.autofocus) {\n if (props.type === 'textarea' && textarea.value) {\n textarea.value.focus();\n } else if (input.value) {\n input.value.focus();\n }\n }\n}\n\nwatch(() => props.field, () => {\n if (props.type === 'textarea') {\n nextTick(resize);\n }\n});\n\nwatch(() => props.autofocus, (newVal) => {\n if (newVal) {\n nextTick(focus);\n }\n});\n\nonMounted(() => {\n nextTick(focus);\n nextTick(resize);\n});\n\nconst text = ref(props.field);\n</script>\n\n<template>\n <div\n :class=\"[\n $attrs.class,\n { 'bg-fourth-nano': validation }\n ]\"\n class=\"flex-center flex-nowrap flex\"\n >\n <div\n v-if=\"label\"\n class=\"t-transp mn-r-small\"\n >\n <span class=\"t-nowrap\">\n {{label}}\n </span>\n </div>\n <div class=\"w-100 pos-relative\">\n <input\n v-if=\"type !== 'textarea'\"\n ref=\"input\"\n @input=\"event => text = emit('update:field', event.target.value)\"\n @focus=\"event => emit('focus', event)\"\n @blur=\"event => emit('blur', event)\"\n :type=\"type === 'password' && !showPassword ? 'password' : type === 'password' ? 'text' : type\"\n class=\"w-100\"\n :value=\"field\"\n :placeholder=\"placeholder\"\n :tabindex=\"tabindex\"\n :disabled=\"disabled\"\n :autofocus=\"autofocus\"\n />\n <textarea\n v-else\n ref=\"textarea\"\n @input=\"event => text = emit('update:field', event.target.value)\"\n @focus=\"event => emit('focus', event)\"\n @blur=\"event => emit('blur', event)\"\n class=\"w-100\"\n :value=\"field\"\n :placeholder=\"placeholder\"\n :tabindex=\"tabindex\"\n :disabled=\"disabled\"\n />\n </div>\n <IconShow\n v-if=\"type === 'password'\"\n :show=\"!showPassword\"\n @click=\"showPassword = !showPassword\"\n class=\"i-medium cursor-pointer\"\n />\n <slot></slot>\n <div\n v-if=\"symbol\"\n class=\"t-transp mn-l-small\"\n >\n <span>\n {{symbol}}\n </span>\n </div>\n </div>\n <!-- Validation -->\n <transition name=\"fade\">\n <div v-if=\"validation\" class=\"mn-t-thin mn-b-thin mn-b-thin invalid-feedback\">\n * {{validation.message}}\n </div>\n </transition>\n</template>\n\n<style scoped>\ninput,\ntextarea,\nspan {\n line-height: 1;\n color: inherit;\n}\n\ntextarea {\n resize: none;\n overflow: hidden;\n height: 1rem;\n line-height: 1rem;\n}\n\ninput[type=\"date\"]::-webkit-calendar-picker-indicator,\ninput[type=\"time\"]::-webkit-calendar-picker-indicator {\n filter: invert(1);\n opacity: 1;\n color: inherit;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.pos-relative {\n position: relative;\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAM,OAAO;AAEb,UAAM,QAAQ;AAad,QAAI,MAAM,OAAO;AACf,WAAK,gBAAgB,MAAM,KAAK;AAAA,IAClC;AAEA,UAAM,WAAW,IAAI,IAAI;AACzB,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,eAAe,IAAI,KAAK;AAE9B,aAAS,SAAS;AAChB,UAAI,CAAC,SAAS,OAAO;AACnB,iBAAS,MAAM,MAAM,SAAS;AAC9B;AAAA,MACJ;AACE,YAAM,KAAK,SAAS;AACpB,SAAG,MAAM,SAAS;AAClB,YAAM,eAAe,GAAG;AACxB,UAAI,eAAe,IAAI;AACrB,WAAG,MAAM,SAAS,eAAe;AAAA,MACrC,OAAS;AACL,WAAG,MAAM,SAAS;AAAA,MACtB;AAAA,IACA;AAEA,aAAS,QAAQ;AACf,UAAI,MAAM,WAAW;AACnB,YAAI,MAAM,SAAS,cAAc,SAAS,OAAO;AAC/C,mBAAS,MAAM,MAAO;AAAA,QAC5B,WAAe,MAAM,OAAO;AACtB,gBAAM,MAAM,MAAO;AAAA,QACzB;AAAA,MACA;AAAA,IACA;AAEA,UAAM,MAAM,MAAM,OAAO,MAAM;AAC7B,UAAI,MAAM,SAAS,YAAY;AAC7B,iBAAS,MAAM;AAAA,MACnB;AAAA,IACA,CAAC;AAED,UAAM,MAAM,MAAM,WAAW,CAAC,WAAW;AACvC,UAAI,QAAQ;AACV,iBAAS,KAAK;AAAA,MAClB;AAAA,IACA,CAAC;AAED,cAAU,MAAM;AACd,eAAS,KAAK;AACd,eAAS,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,OAAO,IAAI,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Menu.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Menu.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Popup.vue2.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,313 +0,0 @@
1
- <!-- components/forms/UploadForm.vue -->
2
- <template>
3
- <div class="upload-form">
4
- <!-- <form @submit.prevent="submitForm"> -->
5
- <div class="form-group mn-b-medium">
6
- <label for="title" class="t-white t-medium mn-b-thin d-block">Track Title</label>
7
- <Field
8
- v-model:field="form.title"
9
- id="title"
10
- type="text"
11
- placeholder="Track Title"
12
- :validation="validationErrors.title"
13
- class="w-100 pd-small bg-dark-transp-25 radius-small t-white"
14
- />
15
- </div>
16
-
17
- <div class="form-group mn-b-medium">
18
- <label for="artist" class="t-white t-medium mn-b-thin d-block">Artist</label>
19
- <Select
20
- v-model:select="form.artist"
21
- id="artist"
22
- :options="artistOptions"
23
- placeholder="Select an artist"
24
- :validation="validationErrors.artist"
25
- class="w-100 pd-small bg-dark-transp-25 radius-small t-white"
26
- />
27
- </div>
28
-
29
- <div class="form-group mn-b-medium">
30
- <label for="album" class="t-white t-medium mn-b-thin d-block">Album (Optional)</label>
31
- <Select
32
- v-model:select="form.album"
33
- id="album"
34
- :options="albumOptions"
35
- placeholder="Select an album"
36
- class="w-100 pd-small bg-dark-transp-25 radius-small t-white"
37
- />
38
- </div>
39
-
40
- <div class="form-group mn-b-medium">
41
- <label for="genre" class="t-white t-medium mn-b-thin d-block">Genre</label>
42
- <Select
43
- v-model:select="form.genre"
44
- id="genre"
45
- :options="genreOptions"
46
- placeholder="Select a genre"
47
- :validation="validationErrors.genre"
48
- class="w-100 pd-small bg-dark-transp-25 radius-small t-white"
49
- />
50
- </div>
51
-
52
- <div class="form-group mn-b-medium">
53
- <label for="releaseDate" class="t-white t-medium mn-b-thin d-block">Release Date</label>
54
- <Field
55
- v-model:field="form.releaseDate"
56
- id="releaseDate"
57
- type="date"
58
- :validation="validationErrors.releaseDate"
59
- class="w-100 pd-small bg-dark-transp-25 radius-small t-white"
60
- />
61
- </div>
62
-
63
- <div class="form-group mn-b-medium">
64
- <label for="isExplicit" class="t-white t-medium mn-b-thin d-block">Explicit Content</label>
65
- <Checkbox
66
- v-model:checkbox="form.isExplicit"
67
- id="isExplicit"
68
- label="This track contains explicit content"
69
- class="t-white"
70
- />
71
- </div>
72
-
73
- <div class="form-group mn-b-medium">
74
- <label for="isPublic" class="t-white t-medium mn-b-thin d-block">Privacy</label>
75
- <div class="flex gap-small">
76
- <Radio
77
- v-model:radio="form.isPublic"
78
- :value="true"
79
- name="privacy"
80
- label="Public"
81
- class="t-white"
82
- />
83
- <Radio
84
- v-model:radio="form.isPublic"
85
- :value="false"
86
- name="privacy"
87
- label="Private"
88
- class="t-white"
89
- />
90
- </div>
91
- </div>
92
-
93
- <div class="form-group mn-b-medium">
94
- <label class="t-white t-medium mn-b-thin d-block">Cover Image</label>
95
- <div class="track-cover-upload flex gap-medium">
96
- <div class="track-cover-preview bg-dark-transp-25 radius-small o-hidden">
97
- <Media
98
- v-if="form.coverUrl"
99
- :url="form.coverUrl"
100
- class="w-10r h-10r object-fit-cover"
101
- />
102
- <div v-else class="w-10r h-10r flex-center flex">
103
- <IconMusic class="i-big" fill="rgb(var(--grey))"/>
104
- </div>
105
- </div>
106
-
107
- <UploadImage
108
- v-model:photo="form.coverUrl"
109
- uploadPath="tracks"
110
- class="flex-1 h-10r bg-dark-transp-25 radius-small"
111
- />
112
- </div>
113
- </div>
114
-
115
- <div class="form-group mn-b-medium">
116
- <label class="t-white t-medium mn-b-thin d-block">Track Audio File</label>
117
- <Upload
118
- v-model:field="form.fileUrl"
119
- @file-change="(url) => form.fileUrl = url"
120
- type="file"
121
- uploadPath="tracks"
122
- class="bg-dark-transp-25 radius-small pd-small t-white"
123
- />
124
- </div>
125
-
126
- <div class="form-group mn-b-medium">
127
- <label for="lyrics" class="t-white t-medium mn-b-thin d-block">Lyrics (Optional)</label>
128
- <Field
129
- v-model:field="form.lyrics"
130
- id="lyrics"
131
- type="textarea"
132
- placeholder="Add lyrics"
133
- class="w-100 pd-small bg-dark-transp-25 radius-small t-white"
134
- />
135
- </div>
136
-
137
- <div class="form-actions t-right">
138
- <Button
139
- @click="resetForm"
140
- type="button"
141
- class="bg-dark-transp-25 t-white pd-small radius-small mn-r-small hover-bg-dark"
142
- :showLoader="false"
143
- :showSucces="false"
144
- >
145
- Reset
146
- </Button>
147
-
148
- <Button
149
- type="submit"
150
- class="bg-main t-white pd-small radius-small hover-scale-1"
151
- :submit="() => submitForm()"
152
- :showLoader="true"
153
- :showSucces="true"
154
- >
155
- Upload Track
156
- </Button>
157
- </div>
158
- <!-- </form> -->
159
- </div>
160
- </template>
161
-
162
- <script setup>
163
- import { ref, reactive, onMounted } from 'vue';
164
- import Field from '@martyrs/src/components/Field/Field.vue';
165
- import Select from '@martyrs/src/components/Select/Select.vue';
166
- import Radio from '@martyrs/src/components/Radio/Radio.vue';
167
- import Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';
168
- import Button from '@martyrs/src/components/Button/Button.vue';
169
- import Upload from '@martyrs/src/components/Upload/Upload.vue';
170
- import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';
171
- import Media from '@martyrs/src/components/Media/Media.vue';
172
- import IconMusic from '@martyrs/src/modules/icons/entities/IconMusic.vue';
173
-
174
- // Import stores
175
- import { state as authState } from '@martyrs/src/modules/auth/views/store/auth.js';
176
- import { actions as tracksActions } from '../../store/tracks.js';
177
- import { state as artistsState, actions as artistsActions } from '../../store/artists.js';
178
- import { state as albumsState, actions as albumsActions } from '../../store/albums.js';
179
-
180
- const emit = defineEmits(['uploaded']);
181
-
182
- // Form data
183
- const form = reactive({
184
- title: '',
185
- artist: null,
186
- album: null,
187
- genre: [],
188
- releaseDate: new Date().toISOString().split('T')[0],
189
- isExplicit: false,
190
- isPublic: true,
191
- coverUrl: '',
192
- fileUrl: '',
193
- lyrics: ''
194
- });
195
-
196
- // Options for dropdowns
197
- const artistOptions = ref([]);
198
- const albumOptions = ref([]);
199
- const genreOptions = ref([
200
- 'Pop', 'Rock', 'Hip Hop', 'R&B', 'Jazz', 'Electronic', 'Classical', 'Country', 'Folk', 'Blues'
201
- ]);
202
-
203
- // Validation
204
- const validationErrors = reactive({});
205
-
206
- /// Form submission with improved error handling
207
- const submitForm = async () => {
208
- // Validate form (I'm keeping this commented out as in your original code)
209
- // validationErrors.title = !form.title ? { message: 'Track title is required' } : null;
210
- // validationErrors.artist = !form.artist ? { message: 'Artist is required' } : null;
211
- // validationErrors.genre = !form.genre || form.genre.length === 0 ? { message: 'Genre is required' } : null;
212
- // validationErrors.fileUrl = !form.fileUrl ? { message: 'Audio file is required' } : null;
213
-
214
- // // If there are validation errors, don't submit
215
- // if (Object.values(validationErrors).some(error => error !== null)) {
216
- // console.log(error)
217
- // return;
218
- // }
219
-
220
- console.log('Submitting form data:', form);
221
-
222
- // Check if the API URL is correct
223
- console.log('API URL:', process.env.API_URL);
224
-
225
- // Prepare track data
226
- const trackData = {
227
- ...form,
228
- creator: {
229
- type: 'user', // Make sure type matches what's expected on the server (lowercase)
230
- target: authState.user._id
231
- },
232
- owner: {
233
- type: 'user', // Make sure type matches what's expected on the server (lowercase)
234
- target: authState.user._id
235
- },
236
- status: 'draft' // Add a default status if needed
237
- };
238
-
239
- try {
240
- console.log('Sending track data to API:', trackData);
241
-
242
- // Directly use the Store instance to debug the issue
243
- // This bypasses the action layer to see if the issue is there
244
- // const directApiResult = await trackStore.create(trackData);
245
- // console.log('Direct API result:', directApiResult);
246
-
247
- // If the direct approach works, try the normal action
248
- const track = await tracksActions.createTrack(trackData);
249
- console.log('Track created successfully:', track);
250
-
251
- emit('uploaded', track);
252
- resetForm();
253
- } catch (error) {
254
- console.error('Error uploading track:', error);
255
-
256
- // Add more detailed error logging
257
- if (error.status) {
258
- console.error(`HTTP Status: ${error.status}`);
259
- }
260
- if (error.message) {
261
- console.error(`Error message: ${error.message}`);
262
- }
263
- if (error.stack) {
264
- console.error(`Stack trace: ${error.stack}`);
265
- }
266
-
267
- // Show error to user
268
- // setError({
269
- // message: 'Failed to upload track: ' + (error.message || 'Unknown error'),
270
- // errorCode: error.errorCode || 'TRACK_UPLOAD_FAILED'
271
- // });
272
- }
273
- };
274
- const resetForm = () => {
275
- Object.keys(form).forEach(key => {
276
- if (key === 'releaseDate') {
277
- form[key] = new Date().toISOString().split('T')[0];
278
- } else if (key === 'isPublic') {
279
- form[key] = true;
280
- } else if (key === 'isExplicit') {
281
- form[key] = false;
282
- } else {
283
- form[key] = '';
284
- }
285
- });
286
-
287
- // Clear validation errors
288
- Object.keys(validationErrors).forEach(key => {
289
- validationErrors[key] = null;
290
- });
291
- };
292
-
293
- // Fetch artists and albums for dropdowns
294
- onMounted(async () => {
295
- try {
296
- // Fetch user's artists
297
- const userArtists = await artistsActions.fetchUserArtists(authState.user._id);
298
- artistOptions.value = userArtists.map(artist => ({
299
- name: artist.name,
300
- value: artist._id
301
- }));
302
-
303
- // Fetch user's albums
304
- const userAlbums = await albumsActions.fetchUserAlbums(authState.user._id);
305
- albumOptions.value = userAlbums.map(album => ({
306
- name: album.title,
307
- value: album._id
308
- }));
309
- } catch (error) {
310
- console.error('Error fetching artists and albums:', error);
311
- }
312
- });
313
- </script>
@@ -1,25 +0,0 @@
1
- <!-- components/lists/AlbumList.vue -->
2
- <template>
3
- <div class="album-list">
4
- <div v-if="albums.length === 0" class="empty-list t-center pd-medium">
5
- <p class="t-grey">No albums found</p>
6
- </div>
7
-
8
- <div v-else class="album-grid cols-5 mobile:cols-2 gap-small">
9
- <div v-for="album in albums" :key="album._id">
10
- <AlbumCard :album="album" class="hover-scale-1 transition-cubic-in-out" />
11
- </div>
12
- </div>
13
- </div>
14
- </template>
15
-
16
- <script setup>
17
- import AlbumCard from '../cards/AlbumCard.vue';
18
-
19
- const props = defineProps({
20
- albums: {
21
- type: Array,
22
- required: true
23
- }
24
- });
25
- </script>