@ozdao/martyrs 0.2.543 → 0.2.544

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 (396) hide show
  1. package/dist/builder.cjs +10 -2
  2. package/dist/builder.js +10 -2
  3. package/dist/{main-BNdv8Ji-.cjs → main-8f945Ngn.cjs} +6 -6
  4. package/dist/{main-DUwlesGq.js → main-d9n_ibdE.js} +1065 -1065
  5. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
  6. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  7. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
  8. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  9. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
  10. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
  11. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  12. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  13. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -93
  14. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  15. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +1 -94
  16. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -1
  17. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +93 -0
  18. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  19. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +94 -1
  20. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
  21. package/dist/martyrs/src/components/Feed/{Feed.vue.cjs → Feed.vue2.cjs} +4 -4
  22. package/dist/martyrs/src/components/Feed/Feed.vue2.cjs.map +1 -0
  23. package/dist/martyrs/src/components/Feed/{Feed.vue.js → Feed.vue2.js} +4 -4
  24. package/dist/martyrs/src/components/Feed/{Feed.vue.cjs.map → Feed.vue2.js.map} +1 -1
  25. package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +2 -2
  26. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
  27. package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +2 -2
  28. package/dist/martyrs/src/components/Field/{Field.vue.cjs.map → Field.vue2.js.map} +1 -1
  29. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +2 -2
  30. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  31. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs → BlockTags.vue2.cjs} +2 -2
  32. package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +1 -0
  33. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.js → BlockTags.vue2.js} +2 -2
  34. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs.map → BlockTags.vue2.js.map} +1 -1
  35. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  36. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  37. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  38. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  39. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs → Spoiler.vue2.cjs} +2 -2
  40. package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.cjs.map +1 -0
  41. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.js → Spoiler.vue2.js} +2 -2
  42. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs.map → Spoiler.vue2.js.map} +1 -1
  43. package/dist/martyrs/src/components/Tab/{Tab.vue.cjs → Tab.vue2.cjs} +2 -2
  44. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -0
  45. package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
  46. package/dist/martyrs/src/components/Tab/{Tab.vue.cjs.map → Tab.vue2.js.map} +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +3 -3
  50. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +3 -3
  51. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +3 -3
  52. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +3 -3
  53. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +4 -4
  54. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +4 -4
  55. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +2 -2
  56. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +2 -2
  57. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  59. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +2 -2
  60. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
  61. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +3 -3
  62. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +3 -3
  63. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +3 -3
  64. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
  65. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +3 -3
  66. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  67. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
  68. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
  69. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  71. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  73. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
  75. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  77. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +4 -4
  78. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +4 -4
  79. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +1 -1
  81. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
  83. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  85. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  87. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  89. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +5 -5
  90. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +5 -5
  91. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +3 -3
  92. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +3 -3
  93. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +8 -6
  94. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  95. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +8 -6
  96. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  97. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  98. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  99. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +2 -2
  101. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +1 -1
  103. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  105. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +5 -5
  106. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +5 -5
  107. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +38 -30
  108. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +39 -31
  110. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
  111. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js +1 -1
  113. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  115. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  116. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  117. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  119. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +4 -2
  120. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +4 -2
  122. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  125. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  127. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +2 -2
  128. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +2 -2
  129. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  131. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.cjs → Filters.vue2.cjs} +9 -9
  132. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -0
  133. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.js → Filters.vue2.js} +10 -10
  134. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -0
  135. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  137. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +1 -1
  139. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +21 -1
  140. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +21 -1
  142. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  143. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +1 -1
  145. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +2 -2
  146. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  147. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  149. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  151. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +2 -2
  152. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  153. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +3 -3
  154. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -2
  155. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +4 -4
  156. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +4 -4
  157. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +3 -3
  158. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  159. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +3 -3
  160. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +2 -2
  162. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +2 -2
  163. package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -1
  164. package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +1 -1
  165. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  167. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  169. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  171. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  173. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  174. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  175. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  176. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
  177. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +2 -2
  178. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +2 -2
  179. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  180. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  181. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  182. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  183. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +3 -3
  184. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
  185. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  186. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  187. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +1 -1
  188. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +1 -1
  189. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +2 -2
  190. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +2 -2
  191. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +3 -3
  192. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -3
  193. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  195. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +3 -3
  196. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
  197. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  199. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  201. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
  203. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +7 -5
  204. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +8 -6
  206. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
  208. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  209. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
  210. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  211. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +2 -2
  212. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
  213. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +1 -1
  215. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +1 -1
  217. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +6 -4
  218. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  219. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +6 -4
  220. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  221. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  222. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  223. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +6 -6
  224. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  225. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +6 -6
  226. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +9 -7
  228. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs.map +1 -1
  229. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +9 -7
  230. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +3 -1
  232. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  233. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +3 -1
  234. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  237. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
  238. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  239. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +4 -4
  240. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +4 -4
  241. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +10 -10
  242. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +10 -10
  243. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  244. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  245. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +2 -2
  246. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +2 -2
  247. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +4 -4
  248. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +4 -4
  249. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +2 -2
  250. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +2 -2
  251. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +10 -10
  252. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +10 -10
  253. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +10 -10
  254. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +10 -10
  255. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +9 -9
  256. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +9 -9
  257. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  258. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  259. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +4 -4
  260. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -4
  261. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +2 -2
  262. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
  263. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  264. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  265. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +3 -3
  266. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
  267. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +3 -3
  268. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  269. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  270. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  271. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -2
  272. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
  273. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  274. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  275. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  276. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  277. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
  278. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +1 -1
  279. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +4 -2
  280. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  281. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -3
  282. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +4 -2
  284. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  285. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +5 -3
  286. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.cjs → THC.vue2.cjs} +2 -2
  288. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +1 -0
  289. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.js → THC.vue2.js} +2 -2
  290. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +1 -0
  291. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +2 -2
  292. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
  293. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +5 -5
  294. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +5 -5
  295. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  296. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  297. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +4 -4
  298. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
  299. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +8 -8
  300. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  301. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +8 -8
  302. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  303. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +2 -2
  304. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +2 -2
  305. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  306. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  307. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
  308. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
  309. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
  310. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
  311. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +7 -5
  312. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
  313. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +7 -5
  314. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  316. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  317. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  318. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  319. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  320. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  321. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
  322. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  323. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +3 -3
  324. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +3 -3
  325. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +2 -2
  326. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +2 -2
  327. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
  328. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
  329. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  330. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  331. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  332. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  333. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +3 -3
  334. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +3 -3
  335. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  336. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  337. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +1 -1
  338. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +1 -1
  339. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
  340. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  341. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +1 -1
  342. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
  343. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  344. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  345. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  346. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  347. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  348. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  349. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.cjs +1 -1
  350. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
  351. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  352. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  353. package/dist/martyrs.cjs.js +1 -1
  354. package/dist/martyrs.css +1 -1
  355. package/dist/martyrs.es.js +1 -1
  356. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  357. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  358. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  359. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  360. package/dist/style.css +6 -6
  361. package/dist/{web-C6njYH1C.js → web-BkaOiiSn.js} +1 -1
  362. package/dist/{web-CVdyxtLD.cjs → web-CROHFHoW.cjs} +1 -1
  363. package/package.json +1 -1
  364. package/src/builder/modes/ssr.prod.js +2 -0
  365. package/src/builder/modes/ssr.rspack.dev.js +2 -0
  366. package/src/builder/templates/page.js +4 -0
  367. package/src/builder/templates/screen.js +4 -0
  368. package/src/modules/events/components/pages/Event.vue +2 -0
  369. package/src/modules/globals/views/classes/globals.app.js +76 -48
  370. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +2 -0
  371. package/src/modules/globals/views/components/sections/Filters.vue +1 -1
  372. package/src/modules/globals/views/utils/vue-app-renderer.js +25 -1
  373. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  374. package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -0
  375. package/src/modules/orders/components/blocks/CardOrderVar1.vue +12 -1
  376. package/src/modules/orders/components/pages/OrderBackoffice.vue +2 -0
  377. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +1 -1
  378. package/src/modules/orders/components/pages/Orders.vue +2 -0
  379. package/src/modules/orders/components/partials/ShopCart.vue +2 -0
  380. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -0
  381. package/src/modules/products/components/elements/Price.vue +3 -0
  382. package/src/modules/products/components/pages/Products.vue +1 -1
  383. package/src/modules/products/components/sections/EditVariants.vue +2 -0
  384. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  385. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
  386. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +0 -1
  387. package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
  388. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +0 -1
  389. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  390. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  391. package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +0 -1
  392. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
  393. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue.cjs.map +0 -1
  394. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue.js.map +0 -1
  395. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
  396. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { _ as e, a as o, b as d, C as r, k as t, c as l, d as i, e as p, f as u, g as n, h as M, i as S, j as c, F as m, l as C, n as F, o as g, p as h, L as b, q as k, M as x, r as B, I, s as T, t as U, u as f, v as w, S as D, w as E, x as L, y as P, z as q, A as y, B as A, D as G, E as j, U as v, G as z, H, m as R } from "./main-DUwlesGq.js";
1
+ import { _ as e, a as o, b as d, C as r, k as t, c as l, d as i, e as p, f as u, g as n, h as M, i as S, j as c, F as m, l as C, n as F, o as g, p as h, L as b, q as k, M as x, r as B, I, s as T, t as U, u as f, v as w, S as D, w as E, x as L, y as P, z as q, A as y, B as A, D as G, E as j, U as v, G as z, H, m as R } from "./main-d9n_ibdE.js";
2
2
  export {
3
3
  e as Address,
4
4
  o as Breadcrumbs,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const utils = require("../../../../../../../_virtual/utils2.cjs");
3
+ const utils = require("../../../../../../../_virtual/utils.cjs");
4
4
  var hasRequiredUtils;
5
5
  function requireUtils() {
6
6
  if (hasRequiredUtils) return utils.__exports;
@@ -1,4 +1,4 @@
1
- import { __exports as utils } from "../../../../../../../_virtual/utils2.js";
1
+ import { __exports as utils } from "../../../../../../../_virtual/utils.js";
2
2
  var hasRequiredUtils;
3
3
  function requireUtils() {
4
4
  if (hasRequiredUtils) return utils;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const utils = require("../../../../../../../_virtual/utils.cjs");
3
+ const utils = require("../../../../../../../_virtual/utils2.cjs");
4
4
  var hasRequiredUtils;
5
5
  function requireUtils() {
6
6
  if (hasRequiredUtils) return utils.__exports;
@@ -1,4 +1,4 @@
1
- import { __exports as utils } from "../../../../../../../_virtual/utils.js";
1
+ import { __exports as utils } from "../../../../../../../_virtual/utils2.js";
2
2
  var hasRequiredUtils;
3
3
  function requireUtils() {
4
4
  if (hasRequiredUtils) return utils;
package/dist/style.css CHANGED
@@ -795,7 +795,7 @@ button[data-v-2ba40647]:disabled {
795
795
  background: white;
796
796
  }
797
797
 
798
- .filters-content[data-v-c337ccbe] {
798
+ .filters-content[data-v-d582f4fc] {
799
799
  max-height: 60vh;
800
800
  overflow-y: auto;
801
801
  }
@@ -2537,10 +2537,10 @@ to { opacity: 1; transform: translateY(0);
2537
2537
  min-width: 0;
2538
2538
  }
2539
2539
  }
2540
- .discount-card[data-v-e5d1ccd1] {
2540
+ .discount-card[data-v-e985863b] {
2541
2541
  transition: all 0.2s ease;
2542
2542
  }
2543
- .discount-card[data-v-e5d1ccd1]:hover {
2543
+ .discount-card[data-v-e985863b]:hover {
2544
2544
  border-color: rgb(var(--main));
2545
2545
  }
2546
2546
 
@@ -3464,10 +3464,10 @@ html.barcode-scanner-active-html {
3464
3464
  .order-card .block {
3465
3465
  border-radius: 0;
3466
3466
  border: 0;
3467
- }.blink[data-v-83eadb3a] {
3468
- animation: blink-animation-83eadb3a 1s ease infinite;
3467
+ }.blink[data-v-895f54da] {
3468
+ animation: blink-animation-895f54da 1s ease infinite;
3469
3469
  }
3470
- @keyframes blink-animation-83eadb3a {
3470
+ @keyframes blink-animation-895f54da {
3471
3471
  0%, 100% {
3472
3472
  opacity: 1;
3473
3473
  }
@@ -1,4 +1,4 @@
1
- import { W as p } from "./main-DUwlesGq.js";
1
+ import { W as p } from "./main-d9n_ibdE.js";
2
2
  class f extends p {
3
3
  constructor() {
4
4
  super(...arguments), this.group = "CapacitorStorage";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./main-BNdv8Ji-.cjs");class p extends c.WebPlugin{constructor(){super(...arguments),this.group="CapacitorStorage"}async configure({group:e}){typeof e=="string"&&(this.group=e)}async get(e){return{value:this.impl.getItem(this.applyPrefix(e.key))}}async set(e){this.impl.setItem(this.applyPrefix(e.key),e.value)}async remove(e){this.impl.removeItem(this.applyPrefix(e.key))}async keys(){return{keys:this.rawKeys().map(t=>t.substring(this.prefix.length))}}async clear(){for(const e of this.rawKeys())this.impl.removeItem(e)}async migrate(){var e;const t=[],s=[],n="_cap_",o=Object.keys(this.impl).filter(i=>i.indexOf(n)===0);for(const i of o){const r=i.substring(n.length),a=(e=this.impl.getItem(i))!==null&&e!==void 0?e:"",{value:l}=await this.get({key:r});typeof l=="string"?s.push(r):(await this.set({key:r,value:a}),t.push(r))}return{migrated:t,existing:s}}async removeOld(){const e="_cap_",t=Object.keys(this.impl).filter(s=>s.indexOf(e)===0);for(const s of t)this.impl.removeItem(s)}get impl(){return window.localStorage}get prefix(){return this.group==="NativeStorage"?"":`${this.group}.`}rawKeys(){return Object.keys(this.impl).filter(e=>e.indexOf(this.prefix)===0)}applyPrefix(e){return this.prefix+e}}exports.PreferencesWeb=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./main-8f945Ngn.cjs");class p extends c.WebPlugin{constructor(){super(...arguments),this.group="CapacitorStorage"}async configure({group:e}){typeof e=="string"&&(this.group=e)}async get(e){return{value:this.impl.getItem(this.applyPrefix(e.key))}}async set(e){this.impl.setItem(this.applyPrefix(e.key),e.value)}async remove(e){this.impl.removeItem(this.applyPrefix(e.key))}async keys(){return{keys:this.rawKeys().map(t=>t.substring(this.prefix.length))}}async clear(){for(const e of this.rawKeys())this.impl.removeItem(e)}async migrate(){var e;const t=[],s=[],n="_cap_",o=Object.keys(this.impl).filter(i=>i.indexOf(n)===0);for(const i of o){const r=i.substring(n.length),a=(e=this.impl.getItem(i))!==null&&e!==void 0?e:"",{value:l}=await this.get({key:r});typeof l=="string"?s.push(r):(await this.set({key:r,value:a}),t.push(r))}return{migrated:t,existing:s}}async removeOld(){const e="_cap_",t=Object.keys(this.impl).filter(s=>s.indexOf(e)===0);for(const s of t)this.impl.removeItem(s)}get impl(){return window.localStorage}get prefix(){return this.group==="NativeStorage"?"":`${this.group}.`}rawKeys(){return Object.keys(this.impl).filter(e=>e.indexOf(this.prefix)===0)}applyPrefix(e){return this.prefix+e}}exports.PreferencesWeb=p;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/martyrs",
3
- "version": "0.2.543",
3
+ "version": "0.2.544",
4
4
  "description": "Fullstack framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -42,6 +42,7 @@ export default function createSsrProdServer(projectRoot, configs, createServer)
42
42
  }
43
43
 
44
44
  const initialState = JSON.stringify(state);
45
+ const loadedModulesJson = JSON.stringify(loadedModules || []);
45
46
 
46
47
  // Используем loadedModules если они есть, иначе usedModules
47
48
  const modulesToLoad = loadedModules || usedModules || [];
@@ -55,6 +56,7 @@ export default function createSsrProdServer(projectRoot, configs, createServer)
55
56
  head,
56
57
  body,
57
58
  initialState,
59
+ loadedModulesJson,
58
60
  });
59
61
 
60
62
  // Обрабатываем HTML через Beasties для извлечения критического CSS
@@ -120,6 +120,7 @@ export default function createSsrDevServer(projectRoot, configs, createServer) {
120
120
  }
121
121
 
122
122
  const initialState = JSON.stringify(state);
123
+ const loadedModulesJson = JSON.stringify(loadedModules || []);
123
124
 
124
125
  let completeHtml = await renderHtml({
125
126
  appHtml: html,
@@ -127,6 +128,7 @@ export default function createSsrDevServer(projectRoot, configs, createServer) {
127
128
  head,
128
129
  body,
129
130
  initialState,
131
+ loadedModulesJson,
130
132
  });
131
133
 
132
134
  // Обрабатываем HTML через Beasties для извлечения критического CSS
@@ -25,6 +25,10 @@ export default `
25
25
  <script type="application/json" data-state>
26
26
  {{{ initialState }}}
27
27
  </script>
28
+
29
+ <script type="application/json" data-loaded-modules>
30
+ {{{ loadedModulesJson }}}
31
+ </script>
28
32
 
29
33
  {{{ meta.body }}} {{{ body }}}
30
34
 
@@ -31,6 +31,10 @@ export default `
31
31
  {{{ initialState }}}
32
32
  </script>
33
33
 
34
+ <script type="application/json" data-loaded-modules>
35
+ {{{ loadedModulesJson }}}
36
+ </script>
37
+
34
38
  <script>
35
39
  window.dataLayer = window.dataLayer || [];
36
40
  function gtag(){dataLayer.push(arguments);}
@@ -143,8 +143,10 @@ import * as tickets from '@martyrs/src/modules/events/store/tickets.js';
143
143
  import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';
144
144
 
145
145
  import { useRoute } from 'vue-router';
146
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';
146
147
 
147
148
  const route = useRoute();
149
+ const { returnCurrency, formatDate } = useGlobalMixins();
148
150
  const qrcode = ref(null);
149
151
 
150
152
  const handleTicketUpdate = ({ ticket, hasTicket, targetId }) => {
@@ -1,5 +1,5 @@
1
1
  // client-factory.js - фабрика для создания клиентского приложения
2
- import { createApp as createVueApp, createSSRApp as createVueSSRApp } from 'vue';
2
+ import { nextTick, createApp as createVueApp, createSSRApp as createVueSSRApp } from 'vue';
3
3
  import { createHead } from '@unhead/vue';
4
4
 
5
5
  export function createUniversalApp({
@@ -72,7 +72,13 @@ export function createUniversalApp({
72
72
 
73
73
  // Загружаем только критические модули синхронно
74
74
  const initCriticalModules = async () => {
75
- // Критические модули одинаковые для всех проектов
75
+ // Если это SSR гидратация - модули загрузятся в renderAndMountApp
76
+ const isSSRHydration = typeof window !== 'undefined' && !process.env.MOBILE_APP;
77
+ if (isSSRHydration) {
78
+ return;
79
+ }
80
+
81
+ // Для SPA и сервера загружаем как обычно
76
82
  const criticalModules = ['globals', 'auth', 'organizations', 'backoffice'];
77
83
 
78
84
  for (const moduleName of criticalModules) {
@@ -87,17 +93,63 @@ export function createUniversalApp({
87
93
 
88
94
  // Router guard для загрузки модулей ДО навигации (только на клиенте)
89
95
  if (typeof window !== 'undefined') {
96
+ const originalPush = router.push.bind(router);
97
+ const originalReplace = router.replace.bind(router);
98
+
99
+ async function paintNow() {
100
+ await nextTick(); // flush реактивки в DOM
101
+ await new Promise(requestAnimationFrame); // кадр layout/style
102
+ await new Promise(requestAnimationFrame); // кадр отрисовки
103
+ // иногда в WebView помогает ещё макротаск
104
+ await new Promise(r => setTimeout(r, 0));
105
+ }
106
+
107
+ router.push = async (...args) => {
108
+ // Включаем лоадер
109
+ store.globals.state.loading = true;
110
+
111
+ // Даем браузеру отрисовать лоадер
112
+ await paintNow();
113
+
114
+ // Запускаем навигацию асинхронно, чтобы не блокировать UI
115
+ setTimeout(() => {
116
+ originalPush(...args);
117
+ }, 0);
118
+
119
+ // Возвращаем промис для совместимости
120
+ return Promise.resolve();
121
+ };
122
+
123
+ // router.replace = async (...args) => {
124
+ // // Включаем лоадер
125
+ // store.globals.state.loading = true;
126
+
127
+ // // Даем браузеру отрисовать лоадер
128
+ // await paintNow();
129
+
130
+ // // Запускаем навигацию асинхронно
131
+ // setTimeout(() => {
132
+ // originalReplace(...args);
133
+ // }, 0);
134
+
135
+ // return Promise.resolve();
136
+ // };
137
+
90
138
  router.beforeEach(async (to, from) => {
91
- // Получаем модули для маршрута
92
- const requiredModules = moduleRegistry.getModulesForRoute(to.path);
139
+ // Получаем оригинальный путь ДО fallback редиректа на 404
140
+ // Это критически важно для SSR гидратации вложенных роутов!
141
+ const target = to.redirectedFrom || to;
142
+
143
+ // Используем оригинальный путь для определения нужных модулей
144
+ const requiredModules = moduleRegistry.getModulesForRoute(target.path);
93
145
 
94
146
  // Проверяем, какие модули еще не загружены
95
147
  const modulesToLoad = requiredModules.filter(m => !moduleRegistry.initialized.has(m.name));
96
148
 
97
149
  if (modulesToLoad.length > 0) {
98
- // Показываем глобальный лоадер
99
- if (store.globals && store.globals.state) {
100
- store.globals.state.loading = true;
150
+ // Логируем если это редирект с 404 (для отладки)
151
+ if (to.redirectedFrom) {
152
+ console.log('[Router] Loading modules for redirected path:', target.path, 'modules:', modulesToLoad.map(m => m.name));
101
153
  }
102
154
 
103
155
  // Загружаем и инициализируем модули
@@ -110,14 +162,17 @@ export function createUniversalApp({
110
162
  }
111
163
  }
112
164
 
113
- // Лоадер остается включенным - страница сама выключит через globals.state.loading = false
114
-
115
165
  // После загрузки модулей и регистрации их роутов,
116
- // возвращаем тот же путь для повторной навигации с новыми роутами
117
- return to.fullPath;
166
+ // возвращаем объект с оригинальным путем и replace: true
167
+ // Это заставит роутер заново резолвить маршрут с новыми роутами
168
+ return { path: target.fullPath, replace: true };
118
169
  }
119
170
  });
120
171
  }
172
+
173
+ router.beforeResolve(async (to, from) => {
174
+ store.globals.state.loading = false;
175
+ })
121
176
 
122
177
  // Error handler для lazy loaded chunks
123
178
  if (typeof window !== 'undefined') {
@@ -178,6 +233,7 @@ export function createUniversalApp({
178
233
  i18n,
179
234
  meta,
180
235
  moduleRegistry,
236
+ config,
181
237
  };
182
238
  };
183
239
 
@@ -201,11 +257,11 @@ export function createUniversalApp({
201
257
  }
202
258
 
203
259
 
204
- // if (typeof window === 'undefined') {
205
- // moduleRegistry.initialized.clear();
206
- // moduleRegistry.modules.clear();
207
- // moduleRegistry.loadingPromises.clear();
208
-
260
+ if (typeof window === 'undefined') {
261
+ moduleRegistry.initialized.clear();
262
+ moduleRegistry.modules.clear();
263
+ moduleRegistry.loadingPromises.clear();
264
+ }
209
265
  // // На сервере загружаем auth для SSR рендеринга (vue-app-renderer требует его)
210
266
  // const context = { app, store, router, config };
211
267
  // await moduleRegistry.load('globals', context);
@@ -274,38 +330,10 @@ export function createUniversalApp({
274
330
  hooks.afterHydration({ app, router, store, moduleRegistry });
275
331
  }
276
332
 
277
- // Создаем context для загрузки модулей
278
- const context = { app, store, router, config };
279
-
280
- // Загружаем auth модуль сразу - он критичен
281
- moduleRegistry.load('auth', context).then(() => {
282
- // Загружаем важные модули в следующем тике
283
- setTimeout(async () => {
284
- try {
285
- await Promise.all([
286
- moduleRegistry.load('organizations', context),
287
- moduleRegistry.load('backoffice', context),
288
- ]);
289
- } catch (error) {
290
- console.error('Error loading core modules:', error);
291
- }
292
- }, 0);
293
-
294
- // Загружаем некритичные модули когда браузер idle
295
- requestIdleCallback(async () => {
296
- try {
297
- await moduleRegistry.load('notifications', context);
298
- // Маркер для тестов
299
- if (typeof window !== 'undefined') {
300
- window.performance.mark('client-ready');
301
- }
302
- } catch (error) {
303
- console.error('Error loading non-critical modules:', error);
304
- }
305
- });
306
- }).catch(error => {
307
- console.error('Error loading auth module:', error);
308
- });
333
+ // Модули уже загружены в renderAndMountApp, просто ставим маркер
334
+ if (typeof window !== 'undefined') {
335
+ window.performance.mark('client-ready');
336
+ }
309
337
  }).catch(error => {
310
338
  console.error('Hydration failed:', error);
311
339
  });
@@ -60,6 +60,7 @@ import IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.
60
60
  import PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue'
61
61
  // Import the store actions
62
62
  import * as rents from '@martyrs/src/modules/rents/views/store/rents.store.js'
63
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'
63
64
 
64
65
  const props = defineProps({
65
66
  productId: { type: String, required: true },
@@ -84,6 +85,7 @@ const { t } = useI18n({
84
85
  }
85
86
  }
86
87
  })
88
+ const { returnCurrency } = useGlobalMixins()
87
89
 
88
90
  const selectedDates = ref({ start: null, end: null })
89
91
  const availabilityData = ref([])
@@ -233,7 +233,7 @@ const selected = defineModel('selected', {
233
233
 
234
234
  const emit = defineEmits(['select'])
235
235
 
236
- const { formatDate } = useGlobalMixins()
236
+ const { formatDate, returnCurrency } = useGlobalMixins()
237
237
 
238
238
  // State
239
239
  const showAllFilters = ref(false)
@@ -4,7 +4,31 @@ import { renderToString } from '@vue/server-renderer';
4
4
 
5
5
  export function renderAndMountApp({ createApp, hooks = {} }) {
6
6
  const start = async () => {
7
- const { app, router, store, moduleRegistry } = await createApp();
7
+ const { app, router, store, moduleRegistry, config } = await createApp();
8
+
9
+ let serverModules = [];
10
+
11
+ // Загружаем модули которые были загружены на сервере
12
+ if (typeof window !== 'undefined') {
13
+ try {
14
+ const modulesElement = document.querySelector('[data-loaded-modules]');
15
+ if (modulesElement) {
16
+ serverModules = JSON.parse(modulesElement.innerHTML);
17
+ }
18
+ } catch (e) {
19
+ console.error('Failed to parse loaded modules', e);
20
+ }
21
+
22
+ const context = { app, store, router };
23
+ for (const moduleName of serverModules) {
24
+ try {
25
+ await moduleRegistry.load(moduleName, context);
26
+ await moduleRegistry.initialize(moduleName, context);
27
+ } catch (error) {
28
+ console.error(`Failed to load module ${moduleName}:`, error);
29
+ }
30
+ }
31
+ }
8
32
 
9
33
  // Call beforeHydration hook if provided
10
34
  if (hooks.beforeHydration) {
@@ -5,11 +5,11 @@
5
5
  <p v-if="te('subtitle')" class="t-transp p-semi w-m-60r">{{t('subtitle')}}</p>
6
6
  </div>
7
7
  <div class="cols-1">
8
- <Spoiler v-for="item in tm('FAQ')" :key="item.title" class="br-white-transp-10 br-solid br-1px radius-small o-hidden pd-big mn-b-thin">
8
+ <Spoiler v-for="item in tm('FAQ')" :key="item.title" class="br-grey-transp-10 br-solid br-1px radius-small o-hidden pd-big mn-b-thin">
9
9
  <template #header="{ isOpen }">
10
10
  <div class="cursor-pointer w-100 flex-v-center flex-nowrap flex">
11
11
  <h3 class="w-100">{{item.title}}</h3>
12
- <IconChevronBottom :class="{ 'rotate-180': isOpen }" fill="rgb(var(--white))" class="i-semi"/>
12
+ <IconChevronBottom :class="{ 'rotate-180': isOpen }" fill="rgba(var(--grey),0.5)" class="i-semi"/>
13
13
  </div>
14
14
  </template>
15
15
  <template #content>
@@ -95,10 +95,12 @@ import IconMinus from '@martyrs/src/modules/icons/navigation/IconMinus.vue'
95
95
  import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'
96
96
  import IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue'
97
97
  import PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'
98
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'
98
99
 
99
100
  const router = useRouter()
100
101
  const { locale } = useI18n()
101
102
  const { proxy } = getCurrentInstance()
103
+ const { returnCurrency, formatDate } = useGlobalMixins()
102
104
 
103
105
  const emits = defineEmits(['increase', 'decrease', 'remove', 'updateRentDates'])
104
106
  const props = defineProps({
@@ -94,4 +94,15 @@
94
94
  <div v-if="order.comment" class="bg-fifth-transp-10 pd-thin">
95
95
  <p class="t-truncate">Comment: {{order.comment}}</p>
96
96
  </div>
97
- </router-link>
97
+ </router-link>
98
+ </template>
99
+
100
+ <script setup>
101
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'
102
+
103
+ const { returnCurrency } = useGlobalMixins()
104
+
105
+ defineProps({
106
+ order: Object
107
+ })
108
+ </script>
@@ -311,8 +311,10 @@
311
311
  import * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'
312
312
 
313
313
  import { useI18n } from 'vue-i18n';
314
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';
314
315
 
315
316
  const { locale } = useI18n();
317
+ const { returnCurrency } = useGlobalMixins();
316
318
 
317
319
  const router = useRouter()
318
320
  const route = useRoute()
@@ -233,7 +233,7 @@
233
233
  const route = useRoute()
234
234
  const router = useRouter()
235
235
  const { proxy } = getCurrentInstance()
236
- const { formatPrice } = useGlobalMixins()
236
+ const { formatPrice, returnCurrency } = useGlobalMixins()
237
237
 
238
238
  orders.mutations.resetOrder(orders.state.current)
239
239
 
@@ -116,9 +116,11 @@
116
116
  import Feed from '@martyrs/src/components/Feed/Feed.vue'
117
117
 
118
118
  import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'
119
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'
119
120
 
120
121
  const route = useRoute();
121
122
  const router = useRouter();
123
+ const { returnCurrency, formatPrice, formatDate } = useGlobalMixins()
122
124
 
123
125
  const spoiler = ref(false)
124
126
 
@@ -90,11 +90,13 @@
90
90
  import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';
91
91
  import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';
92
92
  import * as shopcart from '@martyrs/src/modules/orders/store/shopcart.js';
93
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';
93
94
  /////////////////////////////
94
95
  // CREATED
95
96
  /////////////////////////////
96
97
  const route = useRoute()
97
98
  const router = useRouter()
99
+ const { returnCurrency } = useGlobalMixins()
98
100
  // Accessing state
99
101
  const cartTotalPrice = shopcart.getters.cartTotalPrice
100
102
  const StoreCartAmount = shopcart.getters.cartTotalAmount
@@ -36,6 +36,9 @@ import { computed } from 'vue';
36
36
  import IconDiscount from '@martyrs/src/modules/icons/entities/IconDiscount.vue'
37
37
  import Chips from '@martyrs/src/components/Chips/Chips.vue';
38
38
  import Tooltip from '@martyrs/src/components/Tooltip/Tooltip.vue';
39
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';
40
+
41
+ const { returnCurrency } = useGlobalMixins();
39
42
 
40
43
  const props = defineProps({
41
44
  discounts: {
@@ -32,6 +32,9 @@
32
32
 
33
33
  <script setup>
34
34
  import { computed } from 'vue';
35
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';
36
+
37
+ const { returnCurrency } = useGlobalMixins();
35
38
 
36
39
  const props = defineProps({
37
40
  product: Object,
@@ -289,7 +289,7 @@
289
289
  const emits = defineEmits(['page-loading', 'page-loaded']);
290
290
  const route = useRoute()
291
291
  const router = useRouter()
292
- const { generateFilters, formatDate, hasAccess } = useGlobalMixins()
292
+ const { generateFilters, formatDate, hasAccess, returnCurrency } = useGlobalMixins()
293
293
 
294
294
  // Категории и фильтры
295
295
  const currentCategories = ref([]);
@@ -257,8 +257,10 @@ import PlaceholderImage from '@martyrs/src/modules/icons/placeholders/Placeholde
257
257
  import IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue';
258
258
  import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';
259
259
  import IconDuplicate from '@martyrs/src/modules/icons/actions/IconDuplicate.vue';
260
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';
260
261
 
261
262
  const route = useRoute();
263
+ const { returnCurrency } = useGlobalMixins();
262
264
 
263
265
  const productId = computed(() => route.params.product);
264
266
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button.vue2.cjs","sources":["../../../../../src/components/Button/Button.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue'\n\nimport Loader from '@martyrs/src/components/Loader/Loader.vue'\n\nimport IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue';\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\nconst props = defineProps({\n submit: {\n type: Function,\n default: async () => { console.log('Button click.') }\n },\n text: {\n type: Object,\n default: () => ({\n success: null,\n error: null\n })\n },\n counter: {\n type: Object\n },\n callback: {\n type: Function,\n default: async () => { console.log('Button callback.') }\n },\n callbackDelay: {\n type: Number,\n default: 750\n },\n showSucces: {\n type: Boolean,\n default: true\n },\n showLoader: {\n type: Boolean,\n default: true\n },\n validation: {\n type: Boolean,\n default: false\n },\n})\n\nconst emits = defineEmits(['error'])\n\nconst button = ref(null)\nconst error = ref(null)\nconst loading = ref(false)\nconst finished = ref(false)\n\nasync function Submit() {\n console.log('click')\n \n button.value.style['pointer-events'] = 'none'\n error.value = null\n loading.value = true\n\n // Функция для сброса состояния кнопки\n const resetButton = () => {\n if (button.value) {\n button.value.style.pointerEvents = 'auto'\n loading.value = false\n finished.value = false\n error.value = null\n }\n }\n\n try {\n await props.submit()\n\n button.value.classList.replace('bg-main', 'bg-second')\n loading.value = false\n\n // Используем функцию сброса состояния кнопки здесь\n if (props.showSucces) { \n finished.value = true\n setTimeout(() => {\n resetButton()\n button.value.classList.replace('bg-second', 'bg-main')\n }, 500)\n } else {\n resetButton()\n button.value.classList.replace('bg-second', 'bg-main')\n }\n\n // Если есть callback, мы также установим таймер для его вызова\n if (props.callback) setTimeout(() => props.callback(), props.callbackDelay)\n\n } catch (err) {\n emits('error', err)\n // Если возникла ошибка, мы изменяем стили и устанавливаем сообщение об ошибке\n button.value.classList.replace('bg-main', 'bg-fourth-nano')\n loading.value = false\n error.value = true\n \n // После задержки снова сбрасываем состояние кнопки\n setTimeout(() => {\n resetButton()\n // Так как класс кнопки был изменен, вернем его в исходное состояние\n button.value.classList.replace('bg-fourth-nano', 'bg-main')\n }, 1330)\n }\n}\n</script>\n\n<template>\n <button \n @click.stop=\"Submit\"\n :disabled=\"validation\"\n ref=\"button\"\n\t\tclass=\"button\"\n :class=\"{ 'button--disabled': loading || validation }\"\n >\n <Transition name=\"content\" mode=\"out-in\">\n <!-- Default slot content -->\n <span v-if=\"!loading && !error && !finished || !showLoader\" class=\"button-content\">\n <slot></slot>\n </span>\n <!-- Loading state -->\n <Loader v-else-if=\"loading && !error && showLoader\" class=\"icon button-content pos-relative pos-t-0 pos-l-0 loading\"/>\n <!-- Success state -->\n <span v-else-if=\"finished && showSucces\" class=\"button-content t-semi t-center w-100 loading t-black\">\n <template v-if=\"text.success\">\n {{ text.success }}\n </template>\n <IconCheckmark v-else class=\"icon\" />\n </span>\n <!-- Error state -->\n <span v-else-if=\"error\" class=\"button-content t-center w-100 error\">\n <template v-if=\"text.error\">\n {{ text.error }}\n </template>\n <IconCross v-else class=\"icon\" />\n </span>\n </Transition>\n \n <!-- Counter -->\n <div v-if=\"counter\" class=\"button-counter flex flex-center\">\n <span>{{ counter }}</span>\n </div>\n </button>\n</template>\n\n<style lang=\"scss\">\nbutton[disabled] {\n opacity: 0.75 !important;\n pointer-events: none !important;\n cursor: default !important;\n color: rgba(var(--dark), 0.33) !important;\n background: rgba(var(--light), 1) !important;\n}\n\na.button {\n text-box: trim-both cap alphabetic;\n}\n\n.button {\n display: flex;\n padding: var(--small);\n border-radius: var(--small);\n text-box: trim-both cap alphabetic;\n transform: scale(1);\n opacity: 1;\n align-items: center;\n justify-content: center;\n color: black;\n text-align: center;\n text-transform: uppercase;\n font-size: 1rem;\n letter-spacing: 5%;\n transition: all 0.33s ease;\n\n &:hover {\n cursor: pointer;\n opacity: 0.9;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n &-small {\n padding: 0.75rem;\n border-radius: 0.5rem;\n height: fit-content;\n }\n\n .button-counter {\n position: absolute;\n right: -8px;\n bottom: -8px;\n background: yellow;\n height: 16px;\n border-radius: 16px;\n width: 16px;\n font-weight: 500;\n text-align: center;\n line-height: 16px;\n font-size: 10px;\n }\n}\n\n.button-content {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n.icon {\n width: 1rem;\n height: 1rem;\n}\n\n/* Vue Transitions */\n.content-enter-active,\n.content-leave-active {\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.content-enter-from {\n opacity: 0;\n transform: translateY(8px) scale(0.95);\n}\n\n.content-leave-to {\n opacity: 0;\n transform: translateY(-8px) scale(0.95);\n}\n\n.content-enter-to,\n.content-leave-from {\n opacity: 1;\n transform: translateY(0) scale(1);\n}\n</style>"],"names":["ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,UAAM,QAAQ;AAqCd,UAAM,QAAQ;AAEd,UAAM,SAASA,IAAAA,IAAI,IAAI;AACvB,UAAM,QAAQA,IAAAA,IAAI,IAAI;AACtB,UAAM,UAAUA,IAAAA,IAAI,KAAK;AACzB,UAAM,WAAWA,IAAAA,IAAI,KAAK;AAE1B,mBAAe,SAAS;AACtB,cAAQ,IAAI,OAAO;AAEnB,aAAO,MAAM,MAAM,gBAAgB,IAAI;AACvC,YAAM,QAAQ;AACd,cAAQ,QAAQ;AAGhB,YAAM,cAAc,MAAM;AACxB,YAAI,OAAO,OAAO;AAChB,iBAAO,MAAM,MAAM,gBAAgB;AACnC,kBAAQ,QAAQ;AAChB,mBAAS,QAAQ;AACjB,gBAAM,QAAQ;AAAA,QAChB;AAAA,MACF;AAEA,UAAI;AACF,cAAM,MAAM,OAAM;AAElB,eAAO,MAAM,UAAU,QAAQ,WAAW,WAAW;AACrD,gBAAQ,QAAQ;AAGhB,YAAI,MAAM,YAAY;AACpB,mBAAS,QAAQ;AACjB,qBAAW,MAAM;AACf,wBAAW;AACX,mBAAO,MAAM,UAAU,QAAQ,aAAa,SAAS;AAAA,UACvD,GAAG,GAAG;AAAA,QACR,OAAO;AACL,sBAAW;AACX,iBAAO,MAAM,UAAU,QAAQ,aAAa,SAAS;AAAA,QACvD;AAGA,YAAI,MAAM,SAAU,YAAW,MAAM,MAAM,SAAQ,GAAI,MAAM,aAAa;AAAA,MAE5E,SAAS,KAAK;AACZ,cAAM,SAAS,GAAG;AAElB,eAAO,MAAM,UAAU,QAAQ,WAAW,gBAAgB;AAC1D,gBAAQ,QAAQ;AAChB,cAAM,QAAQ;AAGd,mBAAW,MAAM;AACf,sBAAW;AAEX,iBAAO,MAAM,UAAU,QAAQ,kBAAkB,SAAS;AAAA,QAC5D,GAAG,IAAI;AAAA,MACT;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dropdown.vue2.cjs","sources":["../../../../../src/components/Dropdown/Dropdown.vue"],"sourcesContent":["<template>\n <div class=\"dropdown pos-relative\" v-click-outside=\"clickedOutside\" @click.stop=\"isOpen = !isOpen\">\n <div v-if=\"isComponentLabel\" class=\"w-100 h-100 flex-center flex\">\n <component :is=\"label.component\" v-bind=\"label.props\" :class=\"label.class\"></component>\n </div>\n <div v-else>\n {{ label }}\n </div>\n <transition name=\"TransitionTranslateY\" mode=\"out-in\">\n <div \n v-show=\"isOpen\" \n :style=\"{ left: align === 'left' ? '0' : 'auto', right: align === 'right' ? '0' : 'auto' }\" \n class=\"dropdown-content radius-big\" \n >\n <slot></slot>\n </div>\n </transition>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\nimport clickOutside from '../FieldPhone/click-outside.js';\n\nlet vClickOutside = clickOutside\n\nconst props = defineProps({\n label: {\n type: [String, Object],\n default: 'Open'\n },\n align: {\n type: String,\n default: 'left'\n }\n})\n\nconst isOpen = ref(false);\nconst isComponentLabel = computed(() => typeof props.label === 'object');\n\nfunction clickedOutside () {\n isOpen.value = false\n}\n</script>\n\n<style >\n.dropdown-content {\n display: block;\n position: absolute;\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n z-index: 1;\n}\n\n/*.dropdown:hover .dropdown-content {\n display: block;\n}*/\n</style>\n"],"names":["clickOutside","ref","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAwBA,QAAI,gBAAgBA,aAAAA;AAEpB,UAAM,QAAQ;AAWd,UAAM,SAASC,IAAAA,IAAI,KAAK;AACxB,UAAM,mBAAmBC,IAAAA,SAAS,MAAM,OAAO,MAAM,UAAU,QAAQ;AAEvE,aAAS,iBAAkB;AACzB,aAAO,QAAQ;AAAA,IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Feed.vue.js","sources":["../../../../../src/components/Feed/Feed.vue"],"sourcesContent":["<template>\n <div v-if=\"search || date || (sort && !sort.hideButton)\" style=\"transform: scale(1);\" class=\"mn-b-thin pos-relative z-index-2 pos-relative flex-nowrap flex gap-thin\">\n\n <BlockSearch \n v-if=\"search\"\n :placeholder=\"search.placeholder || 'Search...'\"\n :class=\"search.class || 'bg-light'\"\n @search=\"updateSearch\"\n :autofocus=\"search.autofocus\"\n />\n\n <FiltersBar\n v-if=\"filter\"\n v-model=\"filter.selected\"\n :filters=\"filterConfig\"\n :class=\"filter.class || 'mobile-only'\"\n />\n\n <Dropdown \n v-if=\"date\"\n :label=\"{\n component: ButtonDate,\n props: { date: date }\n }\" \n :class=\"date.class || 'bg-light'\"\n class=\"flex-child flex-child-shrink-0 pd-r-small pd-l-small pd-thin bg-light radius-medium\"\n :align=\"search ? 'right' : 'left'\"\n >\n\n <Calendar\n v-model:date=\"date\"\n :locale=\"$i18n.locale\"\n :allowRange=\"true\"\n class=\"radius-medium w-100 o-hidden bg-light\"\n />\n </Dropdown> \n\n <Dropdown \n v-if=\"sort && !sort.hideButton\"\n :label=\"{\n component: ButtonSort,\n props: { order: sort.order },\n class: 'w-1r'\n }\" \n :class=\"sort.class || 'bg-light'\"\n class=\"radius-medium aspect-1x1 h-100\"\n :align=\"search ? 'right' : 'left'\"\n >\n\n <BlockSorting\n v-model:param=\"sort.param\"\n v-model:order=\"sort.order\"\n :options=\"sort.options\"\n class=\"h-100 pd-small radius-medium t-white bg-black\"\n />\n </Dropdown> \n\n <!-- Actions -->\n <template\n v-if=\"actions.length\"\n >\n <template v-for=\"action in actions\" :key=\"action.key\">\n <div \n :class=\"action.class || 'bg-light'\"\n class=\"flex-center flex pd-thin bg-light radius-medium aspect-1x1 h-100\"\n >\n <component\n :is=\"action.component\"\n @click=\"action.handler\"\n class=\"w-1r h-auto\"\n >\n </component>\n\n </div>\n </template>\n </template>\n </div>\n\n <TransitionGroup \n v-if=\"isLoading && !keepSlotVisible\"\n tag=\"ul\" \n name=\"scaleTransition\" \n class=\"pos-relative z-index-1\"\n :class=\"$attrs.class\"\n >\n <Skeleton\n v-if=\"isLoading && !skeleton?.hide\"\n v-for=\"i in currentLimit\" \n :structure=\"skeleton.structure\"\n :horizontal=\"skeleton.horizontal\"\n :loading=\"skeleton.apply_to_slot\"\n :key=\"'skeleton-' + i\"\n :class=\"replaceClasses('radius-medium bg-light pd-thin flex-child-default o-hidden d-block', skeleton.class)\"\n />\n <Loader v-if=\"isLoading && skeleton?.hide\"/>\n </TransitionGroup>\n\n <TransitionGroup \n tag=\"ul\" \n v-else-if=\"itemsList.length < 1\"\n name=\"feed\"\n >\n <EmptyState\n v-if=\"!isLoading && itemsList.length < 1\"\n :title=\"states.empty.title\"\n :description=\"states.empty.description\"\n :action=\"states.empty.action\"\n :callback=\"states.empty.callback\"\n :class=\"replaceClasses('pd-medium bg-light radius-medium', states.empty.class)\"\n />\n </TransitionGroup>\n\n <TransitionGroup \n v-else-if=\"!keepSlotVisible || !isLoading\"\n tag=\"ul\" \n name=\"feed\"\n :class=\"$attrs.class\"\n >\n <slot\n :items=\"itemsList\"\n >\n </slot>\n </TransitionGroup>\n\n <!-- Slot visible with overlay loader -->\n <div v-else class=\"pos-relative\">\n <TransitionGroup \n tag=\"ul\" \n name=\"feed\"\n :class=\"$attrs.class\"\n >\n <slot\n :items=\"itemsList\"\n >\n </slot>\n </TransitionGroup>\n \n <!-- Overlay loader -->\n <div \n v-if=\"isLoading && keepSlotVisible\"\n class=\"pos-absolute pos-t-0 pos-l-0 w-100 h-100 flex-center bg-white-transp-90 z-index-10\"\n >\n <Loader />\n </div>\n </div>\n\n <button\n v-if=\"showLoadMore && hasMoreItems && itemsList.length > 0 && !isLoadingExtra\"\n @click=\"loadMoreItems\"\n class=\"col-w-100 mn-t-thin w-100 t-black bg-main button\"\n >\n Load More\n </button>\n\n <div v-else key=\"sentinel\" ref=\"sentinel\" class=\"sentinel\"></div> \n\n <div\n v-if=\"isLoadingExtra\"\n class=\"col-w-100 w-100 pos-relative\"\n >\n <Loader/>\n </div>\n \n\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, onUnmounted, watch } from 'vue';\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\nimport SkeletonEvent from '@martyrs/src/modules/icons/skeletons/SkeletonEvent.vue'\n\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport Skeleton from '@martyrs/src/components/Skeleton/Skeleton.vue';\nimport EmptyState from '@martyrs/src/components/EmptyState/EmptyState.vue';\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Calendar from '@martyrs/src/components/Calendar/Calendar.vue'\nimport BottomSheet from '@martyrs/src/components/BottomSheet/BottomSheet.vue';\n\nimport BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue'\nimport BlockSorting from '@martyrs/src/modules/globals/views/components/blocks/BlockSorting.vue'\n\nimport FiltersBar from '@martyrs/src/modules/globals/views/components/sections/Filters.vue'\n\nimport ButtonSort from '@martyrs/src/modules/globals/views/components/elements/ButtonSort.vue'\nimport ButtonDate from '@martyrs/src/modules/globals/views/components/elements/ButtonDate.vue'\n\nimport IconFilter from '@martyrs/src/modules/icons/navigation/IconFilter.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\n\nconst { replaceClasses } = useGlobalMixins();\n\nconst search = defineModel('search')\nconst sort = defineModel('sort')\nconst filter = defineModel('filter')\nconst date = defineModel('date')\nconst items = defineModel('items')\n\n// Внутреннее хранилище для случая, когда v-model:items не передан\nconst internalItems = ref([])\n\n// Элегантное решение через computed\nconst itemsList = computed({\n get: () => items.value ?? internalItems.value,\n set: (val) => {\n if (items.value !== undefined) {\n items.value = val\n } else {\n internalItems.value = val\n }\n }\n})\n\nconst filterConfig = computed(() => {\n if (!filter.value?.options) return []\n \n return filter.value.options.map(opt => ({\n key: opt.value,\n title: opt.title,\n type: 'options',\n options: opt.options || [],\n defaultValue: null\n }))\n})\n\n// Пропсы\nconst props = defineProps({\n showLoadMore: {\n type: Boolean,\n default: true\n },\n LoadMore: {\n type: Boolean,\n default: true\n },\n search: {\n type: [Boolean, Object],\n default: false\n },\n states: {\n type: Object,\n default: () => ({\n empty: {\n title: 'Nothing found',\n description: 'Sorry, nothing found',\n },\n }),\n },\n actions: {\n type: Array,\n default: () => []\n },\n skeleton: {\n type: Object,\n default: () => ({\n hide: false,\n horizontal: false,\n structure: [\n { block: 'text', size: 'medium' },\n { block: 'text', size: 'large' },\n { block: 'button', size: 'small' }\n ]\n }),\n \n },\n store: {\n type: Object,\n default: () => ({\n read: Function,\n state: Object,\n }),\n },\n external: {\n type: Boolean,\n default: false\n },\n options: {\n type: Object,\n default: () => ({\n category: null,\n limit: 10, \n skip: 0 ,\n owner: null,\n creator: null,\n customer: null,\n user: null,\n status: null,\n period: null,\n contain: null,\n }),\n },\n keepSlotVisible: {\n type: Boolean,\n default: false\n },\n});\n \nconst hasMoreItems = ref(false);\n\nlet isLoading = ref(true);\nlet isLoadingExtra = ref(false);\nlet sentinel = ref(null)\n\nlet currentSkip = ref(props.options.skip ? props.options.skip : 0);\nlet currentLimit = ref(props.options.limit ? props.options.limit : 10);\n\nlet currentSearch = ref('');\nlet isSearching = ref(false);\n\nlet requestId = 0;\n\nfunction debounce(fn, delay) {\n let timeoutId = null;\n return (...args) => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn(...args), delay);\n };\n}\n\nconst debouncedSearch = debounce((value) => {\n isSearching.value = true;\n currentSearch.value = value;\n currentSkip.value = 0;\n currentLimit.value = 10;\n fetchItems();\n}, 500);\n\nfunction updateSearch(search) {\n debouncedSearch(search);\n}\n\nconst removeNullValues = (obj) => {\n return Object.fromEntries(\n Object.entries(obj).filter(([_, value]) => value != null)\n );\n};\n\nconst loadMoreItems = async () => {\n if (!hasMoreItems.value || isLoadingExtra.value) {\n return;\n }\n \n isLoadingExtra.value = true;\n \n const currentRequestId = ++requestId;\n\n currentSkip.value += currentLimit.value;\n \n try {\n const allParams = {\n skip: currentSkip.value,\n limit: currentLimit.value,\n search: currentSearch.value,\n dateStart: date.value?.start,\n dateEnd: date.value?.end,\n sortParam: sort.value?.param,\n sortOrder: sort.value?.order,\n ...props.options\n };\n\n const params = removeNullValues(allParams);\n\n const data = await props.store.read(params);\n\n if (currentRequestId !== requestId) {\n return;\n }\n\n if (data.length === 0) {\n hasMoreItems.value = false;\n } else if (data.length < currentLimit.value) {\n hasMoreItems.value = false;\n } else {\n hasMoreItems.value = true;\n }\n\n // Элегантное обновление через computed setter\n itemsList.value = [...itemsList.value, ...data];\n \n } catch (error) {\n console.error('Load more error:', error);\n } finally {\n if (currentRequestId === requestId) {\n isLoadingExtra.value = false;\n }\n }\n};\n\nconst fetchItems = async () => {\n isLoading.value = true;\n \n const currentRequestId = ++requestId;\n \n if (isSearching.value) {\n itemsList.value = [];\n isSearching.value = false;\n }\n \n try {\n const allParams = {\n skip: currentSkip.value,\n limit: currentLimit.value,\n search: currentSearch.value,\n dateStart: date.value?.start,\n dateEnd: date.value?.end,\n sortParam: sort.value?.param,\n sortOrder: sort.value?.order,\n ...props.options\n };\n\n const params = removeNullValues(allParams);\n\n const data = await props.store.read(params);\n\n if (currentRequestId !== requestId) {\n return;\n }\n\n if (data.length === 0) {\n hasMoreItems.value = false;\n } else if (data.length < currentLimit.value) {\n hasMoreItems.value = false;\n } else {\n hasMoreItems.value = true;\n }\n\n // Элегантное обновление через computed setter\n itemsList.value = data;\n \n } catch (error) {\n console.error('Fetch error:', error);\n } finally {\n if (currentRequestId === requestId) {\n isLoading.value = false;\n }\n }\n};\n\nwatch(\n [() => props.external, () => date.value, () => ({...sort.value}), () => ({...props.options})],\n ([newExternal, newDate, newSort, newOptions], [oldExternal, oldDate, oldSort, oldOptions]) => {\n if (\n newExternal !== oldExternal ||\n newDate !== oldDate ||\n newSort?.order !== oldSort?.order ||\n newSort?.param !== oldSort?.param ||\n JSON.stringify(newOptions) !== JSON.stringify(oldOptions)\n ) {\n currentSkip.value = 0;\n fetchItems();\n }\n },\n { deep: true }\n);\n\nlet observer = null\n\nonMounted(async () => {\n await fetchItems()\n\n if (typeof window !== 'undefined' && !props.showLoadMore && props.LoadMore) {\n observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) {\n loadMoreItems()\n }\n })\n\n if (sentinel.value) observer.observe(sentinel.value)\n }\n});\n\nonUnmounted(() => {\n if (observer) {\n observer.disconnect();\n }\n});\n</script>\n\n<style>\n.feed-move,\n.feed-enter-active,\n.feed-leave-active {\n transition: all 0.5s ease;\n}\n\n.feed-enter-from,\n.feed-leave-to {\n opacity: 0;\n transform: translateY(30px);\n}\n\n.feed-leave-active {\n position: absolute;\n}\n</style>"],"names":["_useModel","search"],"mappings":"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"}