@ozdao/martyrs 0.2.504 → 0.2.505

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 (208) hide show
  1. package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
  2. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
  3. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
  4. package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
  5. package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  6. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  7. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  8. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  9. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  10. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  11. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  12. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  13. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  14. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  15. package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
  16. package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
  17. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  18. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  19. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  20. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  21. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  22. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  23. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  24. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  25. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  26. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  27. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  28. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  29. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  30. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  31. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  32. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  33. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  34. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  37. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  38. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  39. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  40. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  41. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
  42. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  43. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  45. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  47. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  49. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  51. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  53. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  55. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
  56. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
  57. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  58. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  59. package/dist/martyrs/src/modules/globals/views/components/blocks/{BlockMultiselect.vue.cjs → BlockMultiselect.vue2.cjs} +2 -2
  60. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue2.cjs.map +1 -0
  61. package/dist/martyrs/src/modules/globals/views/components/blocks/{BlockMultiselect.vue.js → BlockMultiselect.vue2.js} +2 -2
  62. package/dist/martyrs/src/modules/globals/views/components/blocks/{BlockMultiselect.vue.cjs.map → BlockMultiselect.vue2.js.map} +1 -1
  63. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  64. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  65. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  67. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  69. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  70. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  71. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  72. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  73. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  74. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  75. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  77. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  79. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  81. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  83. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
  85. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
  86. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  87. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  89. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  91. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  93. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  95. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +3 -3
  96. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +3 -3
  97. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +3 -3
  98. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
  99. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +2 -2
  101. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  103. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +3 -3
  104. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +3 -3
  105. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
  106. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  107. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  109. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  111. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
  112. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
  113. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  115. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +2 -2
  116. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  117. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  119. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  121. package/dist/martyrs/src/modules/music/router/music.cjs +4 -4
  122. package/dist/martyrs/src/modules/music/router/music.js +4 -4
  123. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  124. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  125. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  127. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  129. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -2
  130. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
  131. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  133. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
  134. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  135. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  137. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  139. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  141. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  142. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  143. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  144. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  145. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
  146. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
  147. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  149. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  150. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  151. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  153. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  155. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  157. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  159. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  161. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  162. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  163. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
  164. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  165. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  167. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
  168. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
  169. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  171. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  172. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  173. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
  174. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  175. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  176. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  177. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  179. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  180. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  181. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -2
  182. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  183. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  184. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  185. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  186. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  187. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  188. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  189. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  190. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  191. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  192. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  193. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  194. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  195. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  196. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  197. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  199. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
  200. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
  201. package/package.json +1 -1
  202. package/src/modules/globals/views/components/layouts/Client.vue +1 -1
  203. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  204. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  205. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  206. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  207. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
  208. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const index = require("../../../../../../node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs");
5
- const Button = require("../../../../components/Button/Button.vue.cjs");
5
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
6
6
  const tickets = require("../../store/tickets.cjs");
7
7
  ;/* empty css */
8
8
  const _hoisted_1 = {
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, onUnmounted, createElementBlock, openBlock, createVNode, createBlock, createCommentVNode, withCtx, createTextVNode, Teleport, createElementVNode } from "vue";
2
2
  import { BarcodeScanner } from "../../../../../../node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.js";
3
- import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
4
4
  import { actions } from "../../store/tickets.js";
5
5
  /* empty css */
6
6
  const _hoisted_1 = {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Button = require("../../../../components/Button/Button.vue.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
5
5
  require("../../../auth/views/store/auth.cjs");
6
6
  const tickets = require("../../store/tickets.cjs");
7
7
  ;/* empty css */
@@ -1,5 +1,5 @@
1
1
  import { createBlock, openBlock, withCtx, createTextVNode, toDisplayString } from "vue";
2
- import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
2
+ import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
3
3
  import "../../../auth/views/store/auth.js";
4
4
  import { actions } from "../../store/tickets.js";
5
5
  /* empty css */
@@ -20,7 +20,7 @@ const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.
20
20
  require("../../../globals/views/store/globals.cjs");
21
21
  require("../../../../components/EditImages/EditImages.vue.cjs");
22
22
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
23
- const Button = require("../../../../components/Button/Button.vue.cjs");
23
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
24
24
  const Card = require("../../../globals/views/components/blocks/Card.vue.cjs");
25
25
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
26
26
  const vueRouter = require("vue-router");
@@ -18,7 +18,7 @@ import _sfc_main$1 from "../../../../components/UploadImage/UploadImage.vue.js";
18
18
  import "../../../globals/views/store/globals.js";
19
19
  import "../../../../components/EditImages/EditImages.vue.js";
20
20
  import _sfc_main$8 from "../../../../components/Feed/Feed.vue.js";
21
- import _sfc_main$a from "../../../../components/Button/Button.vue.js";
21
+ import _sfc_main$a from "../../../../components/Button/Button.vue2.js";
22
22
  import _sfc_main$7 from "../../../globals/views/components/blocks/Card.vue.js";
23
23
  import _sfc_main$3 from "../../../icons/navigation/IconDelete.vue.js";
24
24
  import { useRoute, useRouter } from "vue-router";
@@ -5,7 +5,7 @@ const Feed = require("../../../../components/Feed/Feed.vue.cjs");
5
5
  const Block = require("../../../../components/Block/Block.vue.cjs");
6
6
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
7
7
  const Field = require("../../../../components/Field/Field.vue.cjs");
8
- const Button = require("../../../../components/Button/Button.vue.cjs");
8
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
9
9
  const ButtonCheck = require("../elements/ButtonCheck.vue.cjs");
10
10
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
11
11
  const IconAdd = require("../../../icons/navigation/IconAdd.vue.cjs");
@@ -3,7 +3,7 @@ import _sfc_main$7 from "../../../../components/Feed/Feed.vue.js";
3
3
  import _sfc_main$3 from "../../../../components/Block/Block.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
5
5
  import Field from "../../../../components/Field/Field.vue.js";
6
- import _sfc_main$6 from "../../../../components/Button/Button.vue.js";
6
+ import _sfc_main$6 from "../../../../components/Button/Button.vue2.js";
7
7
  import _sfc_main$1 from "../elements/ButtonCheck.vue.js";
8
8
  import _sfc_main$5 from "../../../icons/navigation/IconDelete.vue.js";
9
9
  import _sfc_main$4 from "../../../icons/navigation/IconAdd.vue.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- ;/* empty css */
5
+ ;/* empty css */
6
6
  const Viewer = require("../../../constructor/components/sections/Viewer.vue.cjs");
7
7
  const Countdown = require("../../../../components/Countdown/Countdown.vue.cjs");
8
8
  const HeroEvent = require("../sections/HeroEvent.vue.cjs");
@@ -13,11 +13,11 @@ const vueRouter = require("vue-router");
13
13
  ;/* empty css */
14
14
  const SkeletonEvent = require("../../../icons/skeletons/SkeletonEvent.vue.cjs");
15
15
  ;/* empty css */
16
- ;/* empty css */
16
+ ;/* empty css */
17
17
  ;/* empty css */
18
18
  ;/* empty css */
19
19
  ;/* empty css */
20
- ;/* empty css */
20
+ ;/* empty css */
21
21
  ;/* empty css */
22
22
  ;/* empty css */
23
23
  ;/* empty css */
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createVNode, TransitionGroup, withCtx, createCommentVNode, createBlock, Fragment, renderList, unref, createElementVNode, toDisplayString, createTextVNode } from "vue";
2
2
  /* empty css */
3
- /* empty css */
3
+ /* empty css */
4
4
  import _sfc_main$2 from "../../../constructor/components/sections/Viewer.vue.js";
5
5
  import _sfc_main$4 from "../../../../components/Countdown/Countdown.vue.js";
6
6
  import HeroEvent from "../sections/HeroEvent.vue.js";
@@ -11,11 +11,11 @@ import { useRoute } from "vue-router";
11
11
  /* empty css */
12
12
  import SkeletonEvent from "../../../icons/skeletons/SkeletonEvent.vue.js";
13
13
  /* empty css */
14
- /* empty css */
14
+ /* empty css */
15
15
  /* empty css */
16
16
  /* empty css */
17
17
  /* empty css */
18
- /* empty css */
18
+ /* empty css */
19
19
  /* empty css */
20
20
  /* empty css */
21
21
  /* empty css */
@@ -3,9 +3,9 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  ;/* empty css */
6
- const Button = require("../../../../components/Button/Button.vue.cjs");
7
- ;/* empty css */
8
- const Chips = require("../../../../components/Chips/Chips.vue.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
7
+ ;/* empty css */
8
+ const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
9
9
  ;/* empty css */
10
10
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
11
11
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
@@ -1,9 +1,9 @@
1
1
  import { ref, createElementBlock, openBlock, createVNode, unref, isRef, withCtx, Fragment, renderList, createElementVNode, toDisplayString, createBlock, createCommentVNode, createTextVNode } from "vue";
2
2
  import { useRoute } from "vue-router";
3
3
  /* empty css */
4
- import _sfc_main$8 from "../../../../components/Button/Button.vue.js";
5
- /* empty css */
6
- import _sfc_main$4 from "../../../../components/Chips/Chips.vue.js";
4
+ import _sfc_main$8 from "../../../../components/Button/Button.vue2.js";
5
+ /* empty css */
6
+ import _sfc_main$4 from "../../../../components/Chips/Chips.vue2.js";
7
7
  /* empty css */
8
8
  import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
9
9
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
@@ -5,7 +5,7 @@ const Feed = require("../../../../../components/Feed/Feed.vue.cjs");
5
5
  const BlockSearch = require("./BlockSearch.vue.cjs");
6
6
  const Card = require("./Card.vue.cjs");
7
7
  const clickOutside = require("../../../../../components/FieldPhone/click-outside.cjs");
8
- ;/* empty css */
8
+ ;/* empty css */
9
9
  const _pluginVue_exportHelper = require("../../../../../../../_virtual/_plugin-vue_export-helper.cjs");
10
10
  const _hoisted_1 = { class: "pos-relative" };
11
11
  const _hoisted_2 = {
@@ -305,4 +305,4 @@ const _sfc_main = {
305
305
  };
306
306
  const BlockMultiselect = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c24eef78"]]);
307
307
  exports.default = BlockMultiselect;
308
- //# sourceMappingURL=BlockMultiselect.vue.cjs.map
308
+ //# sourceMappingURL=BlockMultiselect.vue2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockMultiselect.vue2.cjs","sources":["../../../../../../../../src/modules/globals/views/components/blocks/BlockMultiselect.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative\">\n <!-- Single selected item -->\n <div\n v-if=\"single && modelValue\"\n class=\"mn-b-thin\"\n >\n <div\n @click=\"clearSelection\"\n class=\"cursor-pointer\"\n :class=\"classSelected\"\n >\n <slot \n name=\"selected\" \n :item=\"modelValue\"\n :clear=\"clearSelection\"\n >\n {{ getItemLabel(modelValue) }}\n </slot>\n </div>\n </div>\n\n <!-- Multiple selected items -->\n <div \n v-if=\"multiple && modelValue?.length > 0\"\n class=\"flex flex-wrap gap-thin mn-b-thin\"\n >\n <div\n v-for=\"(item, index) in modelValue\"\n :key=\"getItemKey(item)\"\n @click=\"() => removeItem(index)\"\n class=\"cursor-pointer\"\n :class=\"classSelected\"\n >\n <slot \n name=\"selected\" \n :item=\"item\"\n :clear=\"() => removeItem(index)\"\n >\n {{ getItemLabel(item) }}\n </slot>\n </div>\n </div>\n\n <!-- Search always visible -->\n <BlockSearch \n v-click-outside=\"closeDropdown\" \n v-model=\"searchQuery\"\n :placeholder=\"placeholder\"\n :class=\"classSearch\"\n @focus=\"showDropdown = true\"\n />\n \n <!-- Dropdown -->\n <div \n v-if=\"showDropdown && (searchQuery || showOnFocus)\" \n class=\"mn-t-thin pos-absolute w-100 pos-t-100 pos-l-0 z-index-3\"\n :class=\"classDropdown\"\n >\n <Feed\n :states=\"states\"\n :store=\"store\"\n :skeleton=\"skeleton\"\n :options=\"{\n ...options,\n search: searchQuery\n }\"\n :showLoadMore=\"false\"\n v-slot=\"{ items }\"\n :class=\"classFeed\"\n >\n <!-- Показываем все результаты если есть поиск, иначе фильтруем -->\n <template v-if=\"filteredItems(items).length > 0\">\n <div\n v-for=\"item in filteredItems(items)\"\n :key=\"getItemKey(item)\"\n @click=\"selectItem(item)\"\n class=\"cursor-pointer\"\n :class=\"[\n classItem,\n isItemSelected(item) ? 'opacity-50' : ''\n ]\"\n >\n <slot \n name=\"item\" \n :item=\"item\"\n :selected=\"isItemSelected(item)\"\n >\n <Card\n :photo=\"getCardField(item, 'photo')\"\n :title=\"getCardField(item, 'title')\"\n :subtitle=\"getCardField(item, 'subtitle')\"\n />\n </slot>\n </div>\n </template>\n <!-- Если все результаты отфильтрованы, показываем сообщение -->\n <div v-else-if=\"items?.length > 0\" class=\"pd-thin text-center text-muted\">\n Все найденные элементы уже выбраны\n </div>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch } from 'vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue'\nimport Card from '@martyrs/src/modules/globals/views/components/blocks/Card.vue'\nimport clickOutside from '@martyrs/src/components/FieldPhone/click-outside.js'\n\n// Directives\nconst vClickOutside = clickOutside\n\n// Props\nconst props = defineProps({\n // Model value - single item or array of items\n modelValue: {\n type: [Object, Array],\n default: null\n },\n // Mode\n multiple: {\n type: Boolean,\n default: false\n },\n // Search\n placeholder: {\n type: String,\n default: 'Search...'\n },\n showOnFocus: {\n type: Boolean,\n default: false\n },\n // Allow selecting already selected items in search\n allowReselect: {\n type: Boolean,\n default: false\n },\n // Transform function to modify item before saving\n transform: {\n type: Function,\n default: null\n },\n // Feed configuration\n store: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({})\n },\n states: {\n type: Object,\n default: () => ({\n empty: {\n title: 'No items found',\n description: 'Try different search terms'\n }\n })\n },\n skeleton: {\n type: Object,\n default: () => ({\n hide: false,\n horizontal: true,\n structure: [\n { block: 'text', size: 'large' }\n ]\n })\n },\n // Item configuration\n key: {\n type: [String, Function],\n default: '_id'\n },\n label: {\n type: [String, Function],\n default: 'name'\n },\n // Card fields mapping\n labels: {\n type: Object,\n default: () => ({\n photo: 'profile.photo',\n title: 'profile.name',\n subtitle: 'profile.description'\n })\n },\n // Styling\n classSearch: {\n type: String,\n default: 'bg-white'\n },\n classSelected: {\n type: String,\n default: 'bg-white pd-thin radius-medium'\n },\n classDropdown: {\n type: String,\n default: 'bg-light pd-small radius-small'\n },\n classItem: {\n type: String,\n default: 'bg-white pd-thin radius-medium mn-b-thin'\n },\n classFeed: {\n type: String,\n default: 'h-max-20r o-scroll'\n }\n})\n\n// Emits\nconst emit = defineEmits(['update:modelValue', 'select', 'remove', 'clear'])\n\n// State\nconst searchQuery = ref('')\nconst showDropdown = ref(false)\n\n// Computed\nconst single = computed(() => !props.multiple)\n\n// Methods\nconst getItemKey = (item) => {\n if (!item) return null\n\n if (typeof props.key === 'function') {\n return props.key(item)\n }\n // Убедитесь, что item[props.key] существует\n return item[props.key] || item._id || null\n}\n\nconst getItemLabel = (item) => {\n if (!item) return ''\n if (typeof props.label === 'function') {\n return props.label(item)\n }\n return item[props.label] || ''\n}\n\n// Get nested field value from item using dot notation\nconst getCardField = (item, fieldType) => {\n const path = props.labels[fieldType]\n if (!path) return null\n \n return path.split('.').reduce((obj, key) => obj?.[key], item)\n}\n\n// Transform item if transform function is provided\nconst transformItem = (item) => {\n if (props.transform && typeof props.transform === 'function') {\n return props.transform(item)\n }\n return item\n}\n\n// Check if item is already selected\nconst isItemSelected = (item) => {\n if (!item) return false\n \n const itemKey = getItemKey(item)\n \n if (props.multiple) {\n // Для множественного выбора\n if (!props.modelValue || !Array.isArray(props.modelValue)) return false\n \n return props.modelValue.some(selectedItem => {\n if (!selectedItem) return false\n const selectedKey = getItemKey(selectedItem)\n return selectedKey === itemKey\n })\n } else {\n // Для одиночного выбора\n if (!props.modelValue) return false\n const selectedKey = getItemKey(props.modelValue)\n return selectedKey === itemKey\n }\n}\n\n// Filter items - более гибкая логика\nconst filteredItems = (items) => {\n if (!items) return []\n \n // Фильтруем undefined элементы\n const validItems = items.filter(item => item != null)\n \n // Если есть активный поиск и allowReselect = true, показываем все результаты\n if (searchQuery.value && props.allowReselect) {\n return validItems\n }\n \n // Если есть активный поиск, показываем все результаты, но помечаем выбранные\n if (searchQuery.value) {\n return validItems\n }\n \n // Если нет поиска, исключаем уже выбранные элементы\n return validItems.filter(item => !isItemSelected(item))\n}\n\nconst selectItem = (item) => {\n // Проверяем, не выбран ли уже этот элемент\n if (isItemSelected(item) && !props.allowReselect) {\n return\n }\n \n // Трансформируем элемент перед добавлением\n const transformedItem = transformItem(item)\n \n if (props.multiple) {\n // Если элемент уже выбран и allowReselect = false, не добавляем его снова\n if (isItemSelected(item)) {\n return\n }\n const newValue = props.modelValue ? [...props.modelValue, transformedItem] : [transformedItem]\n emit('update:modelValue', newValue)\n } else {\n emit('update:modelValue', transformedItem)\n closeDropdown()\n }\n emit('select', transformedItem)\n searchQuery.value = ''\n}\n\nconst removeItem = (index) => {\n if (!props.multiple || !props.modelValue) return\n \n const newValue = [...props.modelValue]\n const removed = newValue.splice(index, 1)[0]\n emit('update:modelValue', newValue)\n emit('remove', removed)\n}\n\nconst clearSelection = () => {\n emit('update:modelValue', props.multiple ? [] : null)\n emit('clear')\n searchQuery.value = ''\n}\n\nconst closeDropdown = () => {\n showDropdown.value = false\n}\n\n// Reset dropdown when search changes\nwatch(searchQuery, (val) => {\n showDropdown.value = true\n})\n</script>\n\n<style scoped>\n.opacity-50 {\n opacity: 0.5;\n}\n.text-center {\n text-align: center;\n}\n.text-muted {\n color: #6c757d;\n}\n</style>"],"names":["clickOutside","ref","computed","watch"],"mappings":"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"}
@@ -3,7 +3,7 @@ import _sfc_main$2 from "../../../../../components/Feed/Feed.vue.js";
3
3
  import _sfc_main$1 from "./BlockSearch.vue.js";
4
4
  import _sfc_main$3 from "./Card.vue.js";
5
5
  import clickOutside from "../../../../../components/FieldPhone/click-outside.js";
6
- /* empty css */
6
+ /* empty css */
7
7
  import _export_sfc from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
8
8
  const _hoisted_1 = { class: "pos-relative" };
9
9
  const _hoisted_2 = {
@@ -305,4 +305,4 @@ const BlockMultiselect = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "
305
305
  export {
306
306
  BlockMultiselect as default
307
307
  };
308
- //# sourceMappingURL=BlockMultiselect.vue.js.map
308
+ //# sourceMappingURL=BlockMultiselect.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockMultiselect.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/blocks/BlockMultiselect.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative\">\n <!-- Single selected item -->\n <div\n v-if=\"single && modelValue\"\n class=\"mn-b-thin\"\n >\n <div\n @click=\"clearSelection\"\n class=\"cursor-pointer\"\n :class=\"classSelected\"\n >\n <slot \n name=\"selected\" \n :item=\"modelValue\"\n :clear=\"clearSelection\"\n >\n {{ getItemLabel(modelValue) }}\n </slot>\n </div>\n </div>\n\n <!-- Multiple selected items -->\n <div \n v-if=\"multiple && modelValue?.length > 0\"\n class=\"flex flex-wrap gap-thin mn-b-thin\"\n >\n <div\n v-for=\"(item, index) in modelValue\"\n :key=\"getItemKey(item)\"\n @click=\"() => removeItem(index)\"\n class=\"cursor-pointer\"\n :class=\"classSelected\"\n >\n <slot \n name=\"selected\" \n :item=\"item\"\n :clear=\"() => removeItem(index)\"\n >\n {{ getItemLabel(item) }}\n </slot>\n </div>\n </div>\n\n <!-- Search always visible -->\n <BlockSearch \n v-click-outside=\"closeDropdown\" \n v-model=\"searchQuery\"\n :placeholder=\"placeholder\"\n :class=\"classSearch\"\n @focus=\"showDropdown = true\"\n />\n \n <!-- Dropdown -->\n <div \n v-if=\"showDropdown && (searchQuery || showOnFocus)\" \n class=\"mn-t-thin pos-absolute w-100 pos-t-100 pos-l-0 z-index-3\"\n :class=\"classDropdown\"\n >\n <Feed\n :states=\"states\"\n :store=\"store\"\n :skeleton=\"skeleton\"\n :options=\"{\n ...options,\n search: searchQuery\n }\"\n :showLoadMore=\"false\"\n v-slot=\"{ items }\"\n :class=\"classFeed\"\n >\n <!-- Показываем все результаты если есть поиск, иначе фильтруем -->\n <template v-if=\"filteredItems(items).length > 0\">\n <div\n v-for=\"item in filteredItems(items)\"\n :key=\"getItemKey(item)\"\n @click=\"selectItem(item)\"\n class=\"cursor-pointer\"\n :class=\"[\n classItem,\n isItemSelected(item) ? 'opacity-50' : ''\n ]\"\n >\n <slot \n name=\"item\" \n :item=\"item\"\n :selected=\"isItemSelected(item)\"\n >\n <Card\n :photo=\"getCardField(item, 'photo')\"\n :title=\"getCardField(item, 'title')\"\n :subtitle=\"getCardField(item, 'subtitle')\"\n />\n </slot>\n </div>\n </template>\n <!-- Если все результаты отфильтрованы, показываем сообщение -->\n <div v-else-if=\"items?.length > 0\" class=\"pd-thin text-center text-muted\">\n Все найденные элементы уже выбраны\n </div>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch } from 'vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue'\nimport Card from '@martyrs/src/modules/globals/views/components/blocks/Card.vue'\nimport clickOutside from '@martyrs/src/components/FieldPhone/click-outside.js'\n\n// Directives\nconst vClickOutside = clickOutside\n\n// Props\nconst props = defineProps({\n // Model value - single item or array of items\n modelValue: {\n type: [Object, Array],\n default: null\n },\n // Mode\n multiple: {\n type: Boolean,\n default: false\n },\n // Search\n placeholder: {\n type: String,\n default: 'Search...'\n },\n showOnFocus: {\n type: Boolean,\n default: false\n },\n // Allow selecting already selected items in search\n allowReselect: {\n type: Boolean,\n default: false\n },\n // Transform function to modify item before saving\n transform: {\n type: Function,\n default: null\n },\n // Feed configuration\n store: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({})\n },\n states: {\n type: Object,\n default: () => ({\n empty: {\n title: 'No items found',\n description: 'Try different search terms'\n }\n })\n },\n skeleton: {\n type: Object,\n default: () => ({\n hide: false,\n horizontal: true,\n structure: [\n { block: 'text', size: 'large' }\n ]\n })\n },\n // Item configuration\n key: {\n type: [String, Function],\n default: '_id'\n },\n label: {\n type: [String, Function],\n default: 'name'\n },\n // Card fields mapping\n labels: {\n type: Object,\n default: () => ({\n photo: 'profile.photo',\n title: 'profile.name',\n subtitle: 'profile.description'\n })\n },\n // Styling\n classSearch: {\n type: String,\n default: 'bg-white'\n },\n classSelected: {\n type: String,\n default: 'bg-white pd-thin radius-medium'\n },\n classDropdown: {\n type: String,\n default: 'bg-light pd-small radius-small'\n },\n classItem: {\n type: String,\n default: 'bg-white pd-thin radius-medium mn-b-thin'\n },\n classFeed: {\n type: String,\n default: 'h-max-20r o-scroll'\n }\n})\n\n// Emits\nconst emit = defineEmits(['update:modelValue', 'select', 'remove', 'clear'])\n\n// State\nconst searchQuery = ref('')\nconst showDropdown = ref(false)\n\n// Computed\nconst single = computed(() => !props.multiple)\n\n// Methods\nconst getItemKey = (item) => {\n if (!item) return null\n\n if (typeof props.key === 'function') {\n return props.key(item)\n }\n // Убедитесь, что item[props.key] существует\n return item[props.key] || item._id || null\n}\n\nconst getItemLabel = (item) => {\n if (!item) return ''\n if (typeof props.label === 'function') {\n return props.label(item)\n }\n return item[props.label] || ''\n}\n\n// Get nested field value from item using dot notation\nconst getCardField = (item, fieldType) => {\n const path = props.labels[fieldType]\n if (!path) return null\n \n return path.split('.').reduce((obj, key) => obj?.[key], item)\n}\n\n// Transform item if transform function is provided\nconst transformItem = (item) => {\n if (props.transform && typeof props.transform === 'function') {\n return props.transform(item)\n }\n return item\n}\n\n// Check if item is already selected\nconst isItemSelected = (item) => {\n if (!item) return false\n \n const itemKey = getItemKey(item)\n \n if (props.multiple) {\n // Для множественного выбора\n if (!props.modelValue || !Array.isArray(props.modelValue)) return false\n \n return props.modelValue.some(selectedItem => {\n if (!selectedItem) return false\n const selectedKey = getItemKey(selectedItem)\n return selectedKey === itemKey\n })\n } else {\n // Для одиночного выбора\n if (!props.modelValue) return false\n const selectedKey = getItemKey(props.modelValue)\n return selectedKey === itemKey\n }\n}\n\n// Filter items - более гибкая логика\nconst filteredItems = (items) => {\n if (!items) return []\n \n // Фильтруем undefined элементы\n const validItems = items.filter(item => item != null)\n \n // Если есть активный поиск и allowReselect = true, показываем все результаты\n if (searchQuery.value && props.allowReselect) {\n return validItems\n }\n \n // Если есть активный поиск, показываем все результаты, но помечаем выбранные\n if (searchQuery.value) {\n return validItems\n }\n \n // Если нет поиска, исключаем уже выбранные элементы\n return validItems.filter(item => !isItemSelected(item))\n}\n\nconst selectItem = (item) => {\n // Проверяем, не выбран ли уже этот элемент\n if (isItemSelected(item) && !props.allowReselect) {\n return\n }\n \n // Трансформируем элемент перед добавлением\n const transformedItem = transformItem(item)\n \n if (props.multiple) {\n // Если элемент уже выбран и allowReselect = false, не добавляем его снова\n if (isItemSelected(item)) {\n return\n }\n const newValue = props.modelValue ? [...props.modelValue, transformedItem] : [transformedItem]\n emit('update:modelValue', newValue)\n } else {\n emit('update:modelValue', transformedItem)\n closeDropdown()\n }\n emit('select', transformedItem)\n searchQuery.value = ''\n}\n\nconst removeItem = (index) => {\n if (!props.multiple || !props.modelValue) return\n \n const newValue = [...props.modelValue]\n const removed = newValue.splice(index, 1)[0]\n emit('update:modelValue', newValue)\n emit('remove', removed)\n}\n\nconst clearSelection = () => {\n emit('update:modelValue', props.multiple ? [] : null)\n emit('clear')\n searchQuery.value = ''\n}\n\nconst closeDropdown = () => {\n showDropdown.value = false\n}\n\n// Reset dropdown when search changes\nwatch(searchQuery, (val) => {\n showDropdown.value = true\n})\n</script>\n\n<style scoped>\n.opacity-50 {\n opacity: 0.5;\n}\n.text-center {\n text-align: center;\n}\n.text-muted {\n color: #6c757d;\n}\n</style>"],"names":["clickOutside","ref","computed","watch"],"mappings":"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"}
1
+ {"version":3,"file":"BlockMultiselect.vue2.js","sources":["../../../../../../../../src/modules/globals/views/components/blocks/BlockMultiselect.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative\">\n <!-- Single selected item -->\n <div\n v-if=\"single && modelValue\"\n class=\"mn-b-thin\"\n >\n <div\n @click=\"clearSelection\"\n class=\"cursor-pointer\"\n :class=\"classSelected\"\n >\n <slot \n name=\"selected\" \n :item=\"modelValue\"\n :clear=\"clearSelection\"\n >\n {{ getItemLabel(modelValue) }}\n </slot>\n </div>\n </div>\n\n <!-- Multiple selected items -->\n <div \n v-if=\"multiple && modelValue?.length > 0\"\n class=\"flex flex-wrap gap-thin mn-b-thin\"\n >\n <div\n v-for=\"(item, index) in modelValue\"\n :key=\"getItemKey(item)\"\n @click=\"() => removeItem(index)\"\n class=\"cursor-pointer\"\n :class=\"classSelected\"\n >\n <slot \n name=\"selected\" \n :item=\"item\"\n :clear=\"() => removeItem(index)\"\n >\n {{ getItemLabel(item) }}\n </slot>\n </div>\n </div>\n\n <!-- Search always visible -->\n <BlockSearch \n v-click-outside=\"closeDropdown\" \n v-model=\"searchQuery\"\n :placeholder=\"placeholder\"\n :class=\"classSearch\"\n @focus=\"showDropdown = true\"\n />\n \n <!-- Dropdown -->\n <div \n v-if=\"showDropdown && (searchQuery || showOnFocus)\" \n class=\"mn-t-thin pos-absolute w-100 pos-t-100 pos-l-0 z-index-3\"\n :class=\"classDropdown\"\n >\n <Feed\n :states=\"states\"\n :store=\"store\"\n :skeleton=\"skeleton\"\n :options=\"{\n ...options,\n search: searchQuery\n }\"\n :showLoadMore=\"false\"\n v-slot=\"{ items }\"\n :class=\"classFeed\"\n >\n <!-- Показываем все результаты если есть поиск, иначе фильтруем -->\n <template v-if=\"filteredItems(items).length > 0\">\n <div\n v-for=\"item in filteredItems(items)\"\n :key=\"getItemKey(item)\"\n @click=\"selectItem(item)\"\n class=\"cursor-pointer\"\n :class=\"[\n classItem,\n isItemSelected(item) ? 'opacity-50' : ''\n ]\"\n >\n <slot \n name=\"item\" \n :item=\"item\"\n :selected=\"isItemSelected(item)\"\n >\n <Card\n :photo=\"getCardField(item, 'photo')\"\n :title=\"getCardField(item, 'title')\"\n :subtitle=\"getCardField(item, 'subtitle')\"\n />\n </slot>\n </div>\n </template>\n <!-- Если все результаты отфильтрованы, показываем сообщение -->\n <div v-else-if=\"items?.length > 0\" class=\"pd-thin text-center text-muted\">\n Все найденные элементы уже выбраны\n </div>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch } from 'vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue'\nimport Card from '@martyrs/src/modules/globals/views/components/blocks/Card.vue'\nimport clickOutside from '@martyrs/src/components/FieldPhone/click-outside.js'\n\n// Directives\nconst vClickOutside = clickOutside\n\n// Props\nconst props = defineProps({\n // Model value - single item or array of items\n modelValue: {\n type: [Object, Array],\n default: null\n },\n // Mode\n multiple: {\n type: Boolean,\n default: false\n },\n // Search\n placeholder: {\n type: String,\n default: 'Search...'\n },\n showOnFocus: {\n type: Boolean,\n default: false\n },\n // Allow selecting already selected items in search\n allowReselect: {\n type: Boolean,\n default: false\n },\n // Transform function to modify item before saving\n transform: {\n type: Function,\n default: null\n },\n // Feed configuration\n store: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({})\n },\n states: {\n type: Object,\n default: () => ({\n empty: {\n title: 'No items found',\n description: 'Try different search terms'\n }\n })\n },\n skeleton: {\n type: Object,\n default: () => ({\n hide: false,\n horizontal: true,\n structure: [\n { block: 'text', size: 'large' }\n ]\n })\n },\n // Item configuration\n key: {\n type: [String, Function],\n default: '_id'\n },\n label: {\n type: [String, Function],\n default: 'name'\n },\n // Card fields mapping\n labels: {\n type: Object,\n default: () => ({\n photo: 'profile.photo',\n title: 'profile.name',\n subtitle: 'profile.description'\n })\n },\n // Styling\n classSearch: {\n type: String,\n default: 'bg-white'\n },\n classSelected: {\n type: String,\n default: 'bg-white pd-thin radius-medium'\n },\n classDropdown: {\n type: String,\n default: 'bg-light pd-small radius-small'\n },\n classItem: {\n type: String,\n default: 'bg-white pd-thin radius-medium mn-b-thin'\n },\n classFeed: {\n type: String,\n default: 'h-max-20r o-scroll'\n }\n})\n\n// Emits\nconst emit = defineEmits(['update:modelValue', 'select', 'remove', 'clear'])\n\n// State\nconst searchQuery = ref('')\nconst showDropdown = ref(false)\n\n// Computed\nconst single = computed(() => !props.multiple)\n\n// Methods\nconst getItemKey = (item) => {\n if (!item) return null\n\n if (typeof props.key === 'function') {\n return props.key(item)\n }\n // Убедитесь, что item[props.key] существует\n return item[props.key] || item._id || null\n}\n\nconst getItemLabel = (item) => {\n if (!item) return ''\n if (typeof props.label === 'function') {\n return props.label(item)\n }\n return item[props.label] || ''\n}\n\n// Get nested field value from item using dot notation\nconst getCardField = (item, fieldType) => {\n const path = props.labels[fieldType]\n if (!path) return null\n \n return path.split('.').reduce((obj, key) => obj?.[key], item)\n}\n\n// Transform item if transform function is provided\nconst transformItem = (item) => {\n if (props.transform && typeof props.transform === 'function') {\n return props.transform(item)\n }\n return item\n}\n\n// Check if item is already selected\nconst isItemSelected = (item) => {\n if (!item) return false\n \n const itemKey = getItemKey(item)\n \n if (props.multiple) {\n // Для множественного выбора\n if (!props.modelValue || !Array.isArray(props.modelValue)) return false\n \n return props.modelValue.some(selectedItem => {\n if (!selectedItem) return false\n const selectedKey = getItemKey(selectedItem)\n return selectedKey === itemKey\n })\n } else {\n // Для одиночного выбора\n if (!props.modelValue) return false\n const selectedKey = getItemKey(props.modelValue)\n return selectedKey === itemKey\n }\n}\n\n// Filter items - более гибкая логика\nconst filteredItems = (items) => {\n if (!items) return []\n \n // Фильтруем undefined элементы\n const validItems = items.filter(item => item != null)\n \n // Если есть активный поиск и allowReselect = true, показываем все результаты\n if (searchQuery.value && props.allowReselect) {\n return validItems\n }\n \n // Если есть активный поиск, показываем все результаты, но помечаем выбранные\n if (searchQuery.value) {\n return validItems\n }\n \n // Если нет поиска, исключаем уже выбранные элементы\n return validItems.filter(item => !isItemSelected(item))\n}\n\nconst selectItem = (item) => {\n // Проверяем, не выбран ли уже этот элемент\n if (isItemSelected(item) && !props.allowReselect) {\n return\n }\n \n // Трансформируем элемент перед добавлением\n const transformedItem = transformItem(item)\n \n if (props.multiple) {\n // Если элемент уже выбран и allowReselect = false, не добавляем его снова\n if (isItemSelected(item)) {\n return\n }\n const newValue = props.modelValue ? [...props.modelValue, transformedItem] : [transformedItem]\n emit('update:modelValue', newValue)\n } else {\n emit('update:modelValue', transformedItem)\n closeDropdown()\n }\n emit('select', transformedItem)\n searchQuery.value = ''\n}\n\nconst removeItem = (index) => {\n if (!props.multiple || !props.modelValue) return\n \n const newValue = [...props.modelValue]\n const removed = newValue.splice(index, 1)[0]\n emit('update:modelValue', newValue)\n emit('remove', removed)\n}\n\nconst clearSelection = () => {\n emit('update:modelValue', props.multiple ? [] : null)\n emit('clear')\n searchQuery.value = ''\n}\n\nconst closeDropdown = () => {\n showDropdown.value = false\n}\n\n// Reset dropdown when search changes\nwatch(searchQuery, (val) => {\n showDropdown.value = true\n})\n</script>\n\n<style scoped>\n.opacity-50 {\n opacity: 0.5;\n}\n.text-center {\n text-align: center;\n}\n.text-muted {\n color: #6c757d;\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHA,UAAM,gBAAgB;AAGtB,UAAM,QAAQ;AAoGd,UAAM,OAAO;AAGb,UAAM,cAAc,IAAI,EAAE;AAC1B,UAAM,eAAe,IAAI,KAAK;AAG9B,UAAM,SAAS,SAAS,MAAM,CAAC,MAAM,QAAQ;AAG7C,UAAM,aAAa,CAAC,SAAS;AAC3B,UAAI,CAAC,KAAM,QAAO;AAElB,UAAI,OAAO,MAAM,QAAQ,YAAY;AACnC,eAAO,MAAM,IAAI,IAAI;AAAA,MACvB;AAEA,aAAO,KAAK,MAAM,GAAG,KAAK,KAAK,OAAO;AAAA,IACxC;AAEA,UAAM,eAAe,CAAC,SAAS;AAC7B,UAAI,CAAC,KAAM,QAAO;AAClB,UAAI,OAAO,MAAM,UAAU,YAAY;AACrC,eAAO,MAAM,MAAM,IAAI;AAAA,MACzB;AACA,aAAO,KAAK,MAAM,KAAK,KAAK;AAAA,IAC9B;AAGA,UAAM,eAAe,CAAC,MAAM,cAAc;AACxC,YAAM,OAAO,MAAM,OAAO,SAAS;AACnC,UAAI,CAAC,KAAM,QAAO;AAElB,aAAO,KAAK,MAAM,GAAG,EAAE,OAAO,CAAC,KAAK,QAAQ,MAAM,GAAG,GAAG,IAAI;AAAA,IAC9D;AAGA,UAAM,gBAAgB,CAAC,SAAS;AAC9B,UAAI,MAAM,aAAa,OAAO,MAAM,cAAc,YAAY;AAC5D,eAAO,MAAM,UAAU,IAAI;AAAA,MAC7B;AACA,aAAO;AAAA,IACT;AAGA,UAAM,iBAAiB,CAAC,SAAS;AAC/B,UAAI,CAAC,KAAM,QAAO;AAElB,YAAM,UAAU,WAAW,IAAI;AAE/B,UAAI,MAAM,UAAU;AAElB,YAAI,CAAC,MAAM,cAAc,CAAC,MAAM,QAAQ,MAAM,UAAU,EAAG,QAAO;AAElE,eAAO,MAAM,WAAW,KAAK,kBAAgB;AAC3C,cAAI,CAAC,aAAc,QAAO;AAC1B,gBAAM,cAAc,WAAW,YAAY;AAC3C,iBAAO,gBAAgB;AAAA,QACzB,CAAC;AAAA,MACH,OAAO;AAEL,YAAI,CAAC,MAAM,WAAY,QAAO;AAC9B,cAAM,cAAc,WAAW,MAAM,UAAU;AAC/C,eAAO,gBAAgB;AAAA,MACzB;AAAA,IACF;AAGA,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAO,QAAO,CAAA;AAGnB,YAAM,aAAa,MAAM,OAAO,UAAQ,QAAQ,IAAI;AAGpD,UAAI,YAAY,SAAS,MAAM,eAAe;AAC5C,eAAO;AAAA,MACT;AAGA,UAAI,YAAY,OAAO;AACrB,eAAO;AAAA,MACT;AAGA,aAAO,WAAW,OAAO,UAAQ,CAAC,eAAe,IAAI,CAAC;AAAA,IACxD;AAEA,UAAM,aAAa,CAAC,SAAS;AAE3B,UAAI,eAAe,IAAI,KAAK,CAAC,MAAM,eAAe;AAChD;AAAA,MACF;AAGA,YAAM,kBAAkB,cAAc,IAAI;AAE1C,UAAI,MAAM,UAAU;AAElB,YAAI,eAAe,IAAI,GAAG;AACxB;AAAA,QACF;AACA,cAAM,WAAW,MAAM,aAAa,CAAC,GAAG,MAAM,YAAY,eAAe,IAAI,CAAC,eAAe;AAC7F,aAAK,qBAAqB,QAAQ;AAAA,MACpC,OAAO;AACL,aAAK,qBAAqB,eAAe;AACzC,sBAAa;AAAA,MACf;AACA,WAAK,UAAU,eAAe;AAC9B,kBAAY,QAAQ;AAAA,IACtB;AAEA,UAAM,aAAa,CAAC,UAAU;AAC5B,UAAI,CAAC,MAAM,YAAY,CAAC,MAAM,WAAY;AAE1C,YAAM,WAAW,CAAC,GAAG,MAAM,UAAU;AACrC,YAAM,UAAU,SAAS,OAAO,OAAO,CAAC,EAAE,CAAC;AAC3C,WAAK,qBAAqB,QAAQ;AAClC,WAAK,UAAU,OAAO;AAAA,IACxB;AAEA,UAAM,iBAAiB,MAAM;AAC3B,WAAK,qBAAqB,MAAM,WAAW,CAAA,IAAK,IAAI;AACpD,WAAK,OAAO;AACZ,kBAAY,QAAQ;AAAA,IACtB;AAEA,UAAM,gBAAgB,MAAM;AAC1B,mBAAa,QAAQ;AAAA,IACvB;AAGA,UAAM,aAAa,CAAC,QAAQ;AAC1B,mBAAa,QAAQ;AAAA,IACvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,13 +3,13 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Tooltip = require("../../../../../components/Tooltip/Tooltip.vue2.cjs");
6
- const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue.cjs");
6
+ const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue2.cjs");
7
7
  const PlaceholderUserpic = require("../../../../icons/placeholders/PlaceholderUserpic.vue.cjs");
8
8
  const PlaceholderOrganizationPic = require("../../../../icons/placeholders/PlaceholderOrganizationPic.vue.cjs");
9
9
  const IconEllipsis = require("../../../../icons/navigation/IconEllipsis.vue.cjs");
10
10
  const FormReport = require("../../../../reports/components/sections/FormReport.vue.cjs");
11
11
  ;/* empty css */
12
- ;/* empty css */
12
+ ;/* empty css */
13
13
  require("../../../../auth/views/store/auth.cjs");
14
14
  require("../../../../organizations/store/memberships.cjs");
15
15
  const PhotoStack = require("../elements/PhotoStack.vue.cjs");
@@ -1,13 +1,13 @@
1
1
  import { resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createBlock, withModifiers, resolveDynamicComponent, toDisplayString, withCtx, createTextVNode, Fragment, renderList, normalizeClass } from "vue";
2
2
  import { useRouter } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../../components/Tooltip/Tooltip.vue2.js";
4
- import _sfc_main$3 from "../../../../../components/Dropdown/Dropdown.vue.js";
4
+ import _sfc_main$3 from "../../../../../components/Dropdown/Dropdown.vue2.js";
5
5
  import PlaceholderUserpic from "../../../../icons/placeholders/PlaceholderUserpic.vue.js";
6
6
  import PlaceholderOrganizationPic from "../../../../icons/placeholders/PlaceholderOrganizationPic.vue.js";
7
7
  import _sfc_main$4 from "../../../../icons/navigation/IconEllipsis.vue.js";
8
8
  import _sfc_main$5 from "../../../../reports/components/sections/FormReport.vue.js";
9
9
  /* empty css */
10
- /* empty css */
10
+ /* empty css */
11
11
  import "../../../../auth/views/store/auth.js";
12
12
  import "../../../../organizations/store/memberships.js";
13
13
  import _sfc_main$2 from "../elements/PhotoStack.vue.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
6
- const Button = require("../../../../../components/Button/Button.vue.cjs");
6
+ const Button = require("../../../../../components/Button/Button.vue2.cjs");
7
7
  const _hoisted_1 = { class: "t-center" };
8
8
  const _hoisted_2 = { class: "mn-b-medium" };
9
9
  const _hoisted_3 = { class: "mn-b-semi t-transp" };
@@ -1,7 +1,7 @@
1
1
  import { createBlock, openBlock, withCtx, createElementVNode, toDisplayString, createVNode, createTextVNode } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
4
- import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
4
+ import _sfc_main$2 from "../../../../../components/Button/Button.vue2.js";
5
5
  const _hoisted_1 = { class: "t-center" };
6
6
  const _hoisted_2 = { class: "mn-b-medium" };
7
7
  const _hoisted_3 = { class: "mn-b-semi t-transp" };
@@ -5,7 +5,7 @@ const vueI18n = require("vue-i18n");
5
5
  const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
6
6
  const Loader = require("../../../../../components/Loader/Loader.vue2.cjs");
7
7
  const Calendar = require("../../../../../components/Calendar/Calendar.vue2.cjs");
8
- const Button = require("../../../../../components/Button/Button.vue.cjs");
8
+ const Button = require("../../../../../components/Button/Button.vue2.cjs");
9
9
  const IconShopcartAdd = require("../../../../icons/actions/IconShopcartAdd.vue.cjs");
10
10
  const PriceTotal = require("../../../../orders/components/elements/PriceTotal.vue.cjs");
11
11
  const rents_store = require("../../../../rents/views/store/rents.store.cjs");
@@ -3,7 +3,7 @@ import { useI18n } from "vue-i18n";
3
3
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
4
4
  import Loader from "../../../../../components/Loader/Loader.vue2.js";
5
5
  import Calendar from "../../../../../components/Calendar/Calendar.vue2.js";
6
- import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
7
7
  import _sfc_main$4 from "../../../../icons/actions/IconShopcartAdd.vue.js";
8
8
  import _sfc_main$2 from "../../../../orders/components/elements/PriceTotal.vue.js";
9
9
  import { loadAvailability } from "../../../../rents/views/store/rents.store.js";
@@ -9,7 +9,7 @@ const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
9
9
  require("vue-i18n");
10
10
  ;/* empty css */
11
11
  const Loader = require("../../../../../components/Loader/Loader.vue2.cjs");
12
- ;/* empty css */
12
+ ;/* empty css */
13
13
  require("../../../../orders/store/shopcart.cjs");
14
14
  require("../../../../auth/views/store/auth.cjs");
15
15
  ;/* empty css */
@@ -59,7 +59,7 @@ const _sfc_main = {
59
59
  globals.state.isOpenLocationPopup = false;
60
60
  }
61
61
  function scrollTop() {
62
- scrollview.value.scrollTop = 0;
62
+ if (scrollview.value) scrollview.value.scrollTop = 0;
63
63
  }
64
64
  const scrollOffset = vue.ref(0);
65
65
  const header = vue.ref(null);
@@ -1 +1 @@
1
- {"version":3,"file":"Client.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/layouts/Client.vue"],"sourcesContent":["<template>\n\t<div \n\t\tid=\"app-wrapper\"\n\t\tclass=\"flex flex-column h-100 w-100 pos-relative o-hidden\"\n\t\t:class=\"{\n \t\t'pd-t-extra': MOBILE_APP === 'ios', \n\t\t\t'bg-white': headerTheme === 'light',\n\t\t\t'bg-black': headerTheme === 'dark' \n \t}\"\n\t>\n\t\t<transition name=\"moveFromTop\" appear>\n\t\t\t<Loader v-if=\"!page || isPageLoading\" class=\"pos-fixed\"/>\n\t\t</transition>\n\n\n\t <transition \n\t name=\"moveFromTop\" \n\t mode=\"out-in\"\n\t >\n\t <section \n\t v-if=\"FirstUse && route.meta.walkthrough\"\n\t class=\"w-100 h-100\" \n\t >\n\t <component \n\t :is=\"route.meta.walkthrough\"\n\t name=\"Walkthrough\"\n\t @updateFirstUse=\"updateFirstUse\" \n\t :slides=\"[1,2,3]\" \n\t class=\"tab\"\n\t >\n\t </component>\n\t </section>\n\t </transition>\n\n <component\n\t\t\tv-if=\"!MOBILE_APP && route.meta.header\"\n ref=\"header\" \n :is=\"route.meta.header\"\n :theme=\"headerTheme\"\n :logotype=\"route.meta.logotype\"\n :location=\"route.meta.location\"\n >\n \t<component\n\t\t v-if=\"route.meta?.header_navigation\"\n\t\t :is=\"route.meta.header_navigation\"\n\t\t :horizontal=\"true\"\n\t\t\t\t:navigationItems=\"route.meta.header_navigation_items\"\n\t\t\t\t:stateSidebar=\"globals.state.isOpenSidebar\" \n\t\t\t\t:theme=\"headerTheme\"\n\t\t />\n \t</component>\n\n\t\t<transition name=\"moveFromTop\" mode=\"out-in\" appear>\n\t\t\t<component\n \tv-if=\"MOBILE_APP && !route.meta.hideNavigationBar\"\n :is=\"route.meta.navigationbar\"\n :logotype=\"route.meta.logotype\"\n :navigationItems=\"route.meta.sidebar_navigation_items\"\n\t :stateSidebar=\"globals.state.isOpenSidebar\" \n />\n\t\t</transition>\n\n\t <Popup \n\t \t@close-popup=\"closeLocationPopup\" \n\t \t:isPopupOpen=\"globals.state.isOpenLocationPopup\"\n\t \tclass=\"bg-white pd-semi w-m-33r radius-big\"\n\t >\t\n\t \t<LocationSelection />\n\t </Popup>\n\n\t <!-- class=\"flex flex-nowrap transition-ease-in-out o-hidden pos-relative\" -->\n\t\t<section \n\t\t\tid=\"screen\" \n\t\t\tref=\"screen\"\n\t\t\t@scroll=\"handleScroll\"\n\t\t\tclass=\"flex flex-nowrap h-100 pos-relative o-hidden transition-ease-in-out\"\n\t\t\t:class=\"{\n\t\t\t\t'': MOBILE_APP === 'ios',\n }\"\n\t\t>\n\t\t\t<ShopCart \n\t\t\t\t:class=\"{\n\t\t\t\t\t'mobile:pd-t-extra': MOBILE_APP === 'ios', \n\t\t\t\t}\"\n\t\t\t/>\n\t <component\n\t v-if=\"route.meta?.sidebar && !MOBILE_APP\"\n\t v-slot=\"{ Component }\"\n\t :is=\"route.meta.sidebar\"\n\t :stateSidebar=\"globals.state.isOpenSidebar\" \n\t :widthHidden='route.meta?.sidebar_width_hidden'\n\t :width=\"route.meta?.sidebar_width\"\n\t :theme=\"headerTheme\"\n\t @closeSidebar=\"() => globals.state.isOpenSidebar = false\"\n\t >\n\t \t<transition name=\"moveFromTop\" mode=\"out-in\">\n\t\t <component\n\t\t v-if=\"route.meta?.sidebar_navigation\"\n\t\t :is=\"route.meta.sidebar_navigation\"\n\t\t :key=\"route.meta.sidebar_navigation\"\n\t\t :navigationItems=\"route.meta.sidebar_navigation_items\"\n\t\t\t :stateSidebar=\"globals.state.isOpenSidebar\" \n\t\t\t\t\t\t:theme=\"headerTheme\"\n\t\t />\n\t </transition>\n\t </component>\n\t\t <!-- rows-1-min0_max1 z-index-1 pos-relative w-100 h-100 -->\n\t\t <div class=\"rows-1-min0_max1 z-index-1 pos-relative w-100 h-100\">\n\t\t \t<div id=\"scrollview\" ref=\"scrollview\" class=\"o-y-scroll o-x-hidden h-100\">\n\t \t\t\t<Status \n\t \t\t\t\tv-if=\"globals.state.error.show\"\n\t\t\t\t\t\t:data=\"globals.state.error\"\n\t\t\t\t\t\t@close=\"globals.state.error.show = false\"\n\t\t\t\t\t\tclass=\"z-index-7\" \n\t\t\t\t\t/>\n\t\t\t\t\t<Snack \n\t \t\t\t\tv-if=\"globals.state.snack.show\"\n\t\t\t\t\t\t:data=\"globals.state.snack\"\n\t\t\t\t\t\t@close=\"globals.state.snack.show = false\"\n\t\t\t\t\t\tclass=\"z-index-7\" \n\t\t\t\t\t/>\n\t\t\t\t\t<div class=\"h-min-100 pos-relative w-100\">\n\t\t\t\t\t\t<!-- <section v-if=\"!route.meta?.breadcrumbs?.hide\" class=\"pd-thin pd-b-zero\">\n\t\t\t\t\t\t\t<Breadcrumbs \n\t\t\t\t\t\t\t\tv-if=\"!MOBILE_APP\"\n\t\t\t\t\t\t\t\tclass=\"bg-light pd-small radius-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</section> -->\n\n\t\t\t\t \t\t<Suspense @resolve=\"onSuspenseResolved\">\n\t\t\t\t\t\t\t<router-view \n\t\t\t\t\t\t\t\tid=\"view\"\n\t\t\t\t\t\t\t\tv-slot=\"{ Component, route }\" \n\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t'scroll-hide': MOBILE_APP,\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\tclass=\"h-min-100 pos-relative w-100\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<transition @before-enter=\"scrollTop\" name=\"scaleTransition\" mode=\"out-in\" appear>\n\t\t\t\t\t \t<component \n\t\t\t\t\t \t\tref=\"page\" \n\t\t\t\t\t \t\t:is=\"Component\" \n\t\t\t\t\t \t\t:key=\"route.path\"\n\t\t\t\t\t \t\tclass=\"w-100 h-min-100\"\n\t\t\t\t \t\t \t@page-loading=\"handlePageLoading\"\n\t\t\t @page-loaded=\"handlePageLoaded\"\n\t\t\t\t\t \t/>\n\t\t\t\t\t \t<!-- Key пока выключил непонятно какие проблемы это вызовет -->\n\t\t\t\t\t \t<!-- -->\n\t\t\t\t\t </transition>\n\t\t\t\t\t\t </router-view>\n\t\t\t\t\t\t</Suspense>\n\t\t\t\t </div>\n\n\t\t\t\t \t<component \n\t\t\t v-if=\"route.meta.player\"\n\t\t\t class=\"z-index-2\"\n\t\t\t \t:is=\"route.meta.player\"\n\t\t\t />\n\t\t\t \t<transition @before-enter=\"scrollTop\" name=\"scaleTransition\" mode=\"out-in\" appear>\n\t\t <component\n\t\t\t\t\t\t\tv-if=\"!MOBILE_APP && route.meta.footer && !route.meta.hideFooter && page && !isPageLoading\"\n\t\t\t\t ref=\"footer\" \n\t\t\t\t :is=\"route.meta.footer\"\n\t\t\t\t :theme=\"headerTheme\"\n\t\t\t\t :logotype=\"route.meta.logotype\"\n\t\t\t\t :location=\"route.meta.location\"\n\t\t\t\t />\n\t\t\t \t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<router-view \n\t\t\tname=\"defaultBottom\"\n\t\t\tv-slot=\"{ Component, route }\" \n\t\t>\n\t\t\t<component \n \t\t:is=\"Component\" \n \t/>\n\t\t</router-view>\n\n\t\n\n\n <component \n v-if=\"MOBILE_APP && route.meta.title_hide\"\n class=\"z-index-2\"\n \t:is=\"route.meta.bottombar\"\n />\n\t</div>\n</template>\n\n\n\n<script setup>\n\timport { computed, ref, onMounted, watch } from 'vue';\n\t// Router\n\timport { useRoute } from 'vue-router';\n\t// Store\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n\t// Partials\n\timport Status from '@martyrs/src/components/Status/Status.vue';\n\timport Snack from '@martyrs/src/components/Status/Snack.vue';\n\timport Popup from '@martyrs/src/components/Popup/Popup.vue';\n\timport Breadcrumbs from '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Loader from '@martyrs/src/components/Loader/Loader.vue';\n\n\timport NavigationBar from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\n\timport LocationSelection from '@martyrs/src/modules/globals/views/components/partials/LocationSelection.vue';\n\n\timport ShopCart from '@martyrs/src/modules/orders/components/partials/ShopCart.vue';\n\t// PROPS\n\tconst props = defineProps({\n env: {\n type: Object,\n required: true\n },\n app: {\n type: Object,\n required: true\n },\n modules: {\n type: Object,\n required: true\n }\n })\n\n\t/////////////////////////////\n // LOADING\n /////////////////////////////\n // State\n let show = ref(false)\n // Preloader\n const page = ref(null)\n const scrollview = ref(null)\n\n const isPageLoading = ref(true);\n \n // Обработчики событий загрузки\n function handlePageLoading() {\n isPageLoading.value = true;\n }\n \n function handlePageLoaded() {\n isPageLoading.value = false;\n }\n \n // Обработка события разрешения Suspense (когда async setup компонента завершается)\n function onSuspenseResolved() {\n // Если страница не отправляет событие page-loaded, этот обработчик \n // может служить запасным вариантом для отключения лоадера\n // Можно оставить закомментированным, если все страницы будут явно вызывать handlePageLoaded\n isPageLoading.value = false;\n }\n\t/////////////////////////////\n\t// CREATED\n\t/////////////////////////////\n\tconst route = useRoute()\n\t// const router = useRouter()\n\t// Ref Code\n\tconst referalCode = ref(route.query.referalCode);\n\t/////////////////////////////\n\t// Methods\n\t/////////////////////////////\n\tfunction closeLocationPopup() {\n\t globals.state.isOpenLocationPopup = false;\n\t}\n\tfunction scrollTop(){\n\t\tscrollview.value.scrollTop = 0;\n\t}\n\t// Scrolling header\n\tconst scrollOffset = ref(0)\n\tlet isScrolled = false\n\tconst header = ref(null)\n\n\tconst headerTheme = computed(() => {\n\t\tif (scrollOffset.value > 50) {\n\t\t\treturn route.meta.header_theme || 'light'\n\t\t} else {\n\t\t\treturn route.meta.header_theme || 'light'\n\t\t}\n\t})\n\n\tconst handleScroll = () => {\n\t scrollOffset.value = event.target.scrollTop\n\t};\n/////////////////////////////\n // FIRST USE\n /////////////////////////////\n const FirstUse = ref(false);\n\n import { Preferences } from '@capacitor/preferences';\n\n async function getFirstUse() {\n const ret = await Preferences.get({ key: 'first-use' });\n FirstUse.value = ret.value ? JSON.parse(ret.value) : true;\n }\n\n const updateFirstUse = (value) => {\n FirstUse.value = value;\n }\n\n\tonMounted(async () => {\n\t await getFirstUse()\n\n\t\t// Регистрация единого Service Worker (PWA + push notifications)\n\t\tif ('serviceWorker' in navigator && !window.__MOBILE_APP__) {\n\t \twindow.addEventListener('load', () => {\n\t \tnavigator.serviceWorker.register('/sw.js').then(registration => {\n\t \tconsole.log('Unified SW registered: ', registration);\n\t \t}).catch(registrationError => {\n\t \tconsole.log('SW registration failed: ', registrationError);\n\t \t});\n\t });\n\t \t}\n\t\t\n\t\tconst savedPosition = localStorage.getItem('position');\n\n\t if (savedPosition) {\n\t globals.state.position = JSON.parse(savedPosition);\n\t } else if (route.meta.location) {\n \t\tglobals.state.isOpenLocationPopup = true;\n\t } else {\n\t \tglobals.state.isOpenLocationPopup = false;\n\t }\n\n\t\tif (referalCode.value) {\n\t\t localStorage.setItem('referalCode', referalCode.value);\n\t\t}\n\n\t\tif (page.value) show.value = true\n\t});\n</script>\n\n<style lang=\"scss\">\n\t.fade-enter-active, .fade-leave-active {\n\t transition: opacity .5s;\n\t}\n\t.fade-enter, .fade-leave-to /* .fade-leave-active в версии 2.1.8+ */ {\n\t opacity: 0;\n\t}\n\n\t\n .fade-move,\n .fade-enter-active,\n .fade-leave-active {\n transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1);\n }\n\n /* 2. declare enter from and leave to state */\n .fade-enter-from,\n .fade-leave-to {\n opacity: 0;\n transform: translate(30px, 0);\n }\n\n /* 3. ensure leaving items are taken out of layout flow so that moving\n animations can be calculated correctly. */\n .fade-leave-active {\n position: absolute;\n }\n\n.moveFromTop-enter-active,\n.moveFromTop-leave-active {\n transition: all 0.3s ease, max-height 0.2s ease;\n overflow: hidden;\n}\n\n.moveFromTop-enter-from,\n.moveFromTop-leave-to {\n transform: translateY(-1rem);\n opacity: 0;\n // max-height: 0;\n}\n\n.moveFromTop-enter-to,\n.moveFromTop-leave-from {\n // max-height: 100vh; \n}\n\n\t.moveFromTopAbsolute-enter-active,\n\t.moveFromTopAbsolute-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.moveFromTopAbsolute-enter-from,\n\t.moveFromTopAbsolute-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\t.ScaleOut-enter-active,\n\t.ScaleOut-leave-active {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t\ttransition: all 0.3s ease; \n\t\t\n\t}\n\t.ScaleOut-enter-from,\n\t.ScaleOut-leave-to {\n\t\topacity: 0;\n\t\ttransform: scale(0.9);\n\t\ttransition: all 0.3s ease;\n\t}\n\t.slide-fade-enter-active {\n\t\t// min-height: 100vh;\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-leave-active {\n\t\t// min-height: 100vh;\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-enter-from,\n\t.slide-fade-leave-to {\n\t\tmin-height: 0;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n\t.scaleTransition-5px-enter-active,\n .scaleTransition-5px-leave-active {\n transform: translateY(0px); \n opacity: 1;\n z-index: 1;\n transition: all 0.2s ease;\n }\n\n .scaleTransition-5px-enter-from,\n .scaleTransition-5px-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n transform: translateY(-30px); \n transition: all 0.2s ease;\n }\n\n .scaleTransition-enter-from,\n .scaleTransition-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n width: inherit;\n height: inherit;\n display: block;\n transform: translateY(30px); \n transition: all 0.5s ease;\n }\n\n .scaleTransition-enter-active,\n .scaleTransition-leave-active {\n transform: translateY(0px); \n opacity: 1;\n z-index: 1;\n transition: all 0.5s ease;\n }\n .scaleTransition-enter-from,\n .scaleTransition-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n width: inherit;\n height: inherit;\n display: block;\n transform: translateY(30px); \n transition: all 0.5s ease;\n }\n\n .scaleIn-enter-active,\n .scaleIn-leave-active {\n // background: red;\n transition: all 0.5s ease;\n > section,div { transform-origin: 0 0; transform: translateZ(0px); transition: all 0.5s ease; }\n }\n .scaleIn-enter-from,\n .scaleIn-leave-to {\n opacity: 0;\n transform: scale(0.95);\n > section,div { transform: translateZ(-30px); transition: all 0.5s ease; }\n }\n</style>"],"names":["ref","useRoute","globals.state","computed","Preferences","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwOE,QAAI,OAAOA,IAAAA,IAAI,KAAK;AAEpB,UAAM,OAAOA,IAAAA,IAAI,IAAI;AACpB,UAAM,aAAaA,IAAAA,IAAI,IAAI;AAE5B,UAAM,gBAAgBA,IAAAA,IAAI,IAAI;AAG9B,aAAS,oBAAoB;AAC3B,oBAAc,QAAQ;AAAA,IACxB;AAEA,aAAS,mBAAmB;AAC1B,oBAAc,QAAQ;AAAA,IACxB;AAGA,aAAS,qBAAqB;AAI5B,oBAAc,QAAQ;AAAA,IACxB;AAID,UAAM,QAAQC,UAAAA,SAAQ;AAGtB,UAAM,cAAcD,IAAAA,IAAI,MAAM,MAAM,WAAW;AAI/C,aAAS,qBAAqB;AAC5BE,cAAAA,MAAc,sBAAsB;AAAA,IACtC;AACA,aAAS,YAAW;AACnB,iBAAW,MAAM,YAAY;AAAA,IAC9B;AAEA,UAAM,eAAeF,IAAAA,IAAI,CAAC;AAE1B,UAAM,SAASA,IAAAA,IAAI,IAAI;AAEvB,UAAM,cAAcG,IAAAA,SAAS,MAAM;AAClC,UAAI,aAAa,QAAQ,IAAI;AAC5B,eAAO,MAAM,KAAK,gBAAiB;AAAA,MACpC,OAAO;AACN,eAAO,MAAM,KAAK,gBAAgB;AAAA,MACnC;AAAA,IACD,CAAC;AAED,UAAM,eAAe,MAAM;AACzB,mBAAa,QAAQ,MAAM,OAAO;AAAA,IACpC;AAIC,UAAM,WAAWH,IAAAA,IAAI,KAAK;AAI1B,mBAAe,cAAc;AAC3B,YAAM,MAAM,MAAMI,MAAAA,YAAY,IAAI,EAAE,KAAK,aAAa;AACtD,eAAS,QAAQ,IAAI,QAAQ,KAAK,MAAM,IAAI,KAAK,IAAI;AAAA,IACvD;AAEA,UAAM,iBAAiB,CAAC,UAAU;AAChC,eAAS,QAAQ;AAAA,IACnB;AAEDC,QAAAA,UAAU,YAAY;AACpB,YAAM,YAAW;AAGlB,UAAI,mBAAmB,aAAa,CAAC,OAAO,gBAAgB;AACzD,eAAO,iBAAiB,QAAQ,MAAM;AACpC,oBAAU,cAAc,SAAS,QAAQ,EAAE,KAAK,kBAAgB;AAC9D,oBAAQ,IAAI,2BAA2B,YAAY;AAAA,UACrD,CAAC,EAAE,MAAM,uBAAqB;AAC5B,oBAAQ,IAAI,4BAA4B,iBAAiB;AAAA,UAC3D,CAAC;AAAA,QACJ,CAAC;AAAA,MACF;AAED,YAAM,gBAAgB,aAAa,QAAQ,UAAU;AAEpD,UAAI,eAAe;AACjBH,gBAAAA,MAAc,WAAW,KAAK,MAAM,aAAa;AAAA,MACnD,WAAW,MAAM,KAAK,UAAU;AAC/BA,gBAAAA,MAAc,sBAAsB;AAAA,MACrC,OAAO;AACNA,gBAAAA,MAAc,sBAAsB;AAAA,MACrC;AAED,UAAI,YAAY,OAAO;AACrB,qBAAa,QAAQ,eAAe,YAAY,KAAK;AAAA,MACvD;AAEA,UAAI,KAAK,MAAO,MAAK,QAAQ;AAAA,IAC9B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Client.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/layouts/Client.vue"],"sourcesContent":["<template>\n\t<div \n\t\tid=\"app-wrapper\"\n\t\tclass=\"flex flex-column h-100 w-100 pos-relative o-hidden\"\n\t\t:class=\"{\n \t\t'pd-t-extra': MOBILE_APP === 'ios', \n\t\t\t'bg-white': headerTheme === 'light',\n\t\t\t'bg-black': headerTheme === 'dark' \n \t}\"\n\t>\n\t\t<transition name=\"moveFromTop\" appear>\n\t\t\t<Loader v-if=\"!page || isPageLoading\" class=\"pos-fixed\"/>\n\t\t</transition>\n\n\n\t <transition \n\t name=\"moveFromTop\" \n\t mode=\"out-in\"\n\t >\n\t <section \n\t v-if=\"FirstUse && route.meta.walkthrough\"\n\t class=\"w-100 h-100\" \n\t >\n\t <component \n\t :is=\"route.meta.walkthrough\"\n\t name=\"Walkthrough\"\n\t @updateFirstUse=\"updateFirstUse\" \n\t :slides=\"[1,2,3]\" \n\t class=\"tab\"\n\t >\n\t </component>\n\t </section>\n\t </transition>\n\n <component\n\t\t\tv-if=\"!MOBILE_APP && route.meta.header\"\n ref=\"header\" \n :is=\"route.meta.header\"\n :theme=\"headerTheme\"\n :logotype=\"route.meta.logotype\"\n :location=\"route.meta.location\"\n >\n \t<component\n\t\t v-if=\"route.meta?.header_navigation\"\n\t\t :is=\"route.meta.header_navigation\"\n\t\t :horizontal=\"true\"\n\t\t\t\t:navigationItems=\"route.meta.header_navigation_items\"\n\t\t\t\t:stateSidebar=\"globals.state.isOpenSidebar\" \n\t\t\t\t:theme=\"headerTheme\"\n\t\t />\n \t</component>\n\n\t\t<transition name=\"moveFromTop\" mode=\"out-in\" appear>\n\t\t\t<component\n \tv-if=\"MOBILE_APP && !route.meta.hideNavigationBar\"\n :is=\"route.meta.navigationbar\"\n :logotype=\"route.meta.logotype\"\n :navigationItems=\"route.meta.sidebar_navigation_items\"\n\t :stateSidebar=\"globals.state.isOpenSidebar\" \n />\n\t\t</transition>\n\n\t <Popup \n\t \t@close-popup=\"closeLocationPopup\" \n\t \t:isPopupOpen=\"globals.state.isOpenLocationPopup\"\n\t \tclass=\"bg-white pd-semi w-m-33r radius-big\"\n\t >\t\n\t \t<LocationSelection />\n\t </Popup>\n\n\t <!-- class=\"flex flex-nowrap transition-ease-in-out o-hidden pos-relative\" -->\n\t\t<section \n\t\t\tid=\"screen\" \n\t\t\tref=\"screen\"\n\t\t\t@scroll=\"handleScroll\"\n\t\t\tclass=\"flex flex-nowrap h-100 pos-relative o-hidden transition-ease-in-out\"\n\t\t\t:class=\"{\n\t\t\t\t'': MOBILE_APP === 'ios',\n }\"\n\t\t>\n\t\t\t<ShopCart \n\t\t\t\t:class=\"{\n\t\t\t\t\t'mobile:pd-t-extra': MOBILE_APP === 'ios', \n\t\t\t\t}\"\n\t\t\t/>\n\t <component\n\t v-if=\"route.meta?.sidebar && !MOBILE_APP\"\n\t v-slot=\"{ Component }\"\n\t :is=\"route.meta.sidebar\"\n\t :stateSidebar=\"globals.state.isOpenSidebar\" \n\t :widthHidden='route.meta?.sidebar_width_hidden'\n\t :width=\"route.meta?.sidebar_width\"\n\t :theme=\"headerTheme\"\n\t @closeSidebar=\"() => globals.state.isOpenSidebar = false\"\n\t >\n\t \t<transition name=\"moveFromTop\" mode=\"out-in\">\n\t\t <component\n\t\t v-if=\"route.meta?.sidebar_navigation\"\n\t\t :is=\"route.meta.sidebar_navigation\"\n\t\t :key=\"route.meta.sidebar_navigation\"\n\t\t :navigationItems=\"route.meta.sidebar_navigation_items\"\n\t\t\t :stateSidebar=\"globals.state.isOpenSidebar\" \n\t\t\t\t\t\t:theme=\"headerTheme\"\n\t\t />\n\t </transition>\n\t </component>\n\t\t <!-- rows-1-min0_max1 z-index-1 pos-relative w-100 h-100 -->\n\t\t <div class=\"rows-1-min0_max1 z-index-1 pos-relative w-100 h-100\">\n\t\t \t<div id=\"scrollview\" ref=\"scrollview\" class=\"o-y-scroll o-x-hidden h-100\">\n\t \t\t\t<Status \n\t \t\t\t\tv-if=\"globals.state.error.show\"\n\t\t\t\t\t\t:data=\"globals.state.error\"\n\t\t\t\t\t\t@close=\"globals.state.error.show = false\"\n\t\t\t\t\t\tclass=\"z-index-7\" \n\t\t\t\t\t/>\n\t\t\t\t\t<Snack \n\t \t\t\t\tv-if=\"globals.state.snack.show\"\n\t\t\t\t\t\t:data=\"globals.state.snack\"\n\t\t\t\t\t\t@close=\"globals.state.snack.show = false\"\n\t\t\t\t\t\tclass=\"z-index-7\" \n\t\t\t\t\t/>\n\t\t\t\t\t<div class=\"h-min-100 pos-relative w-100\">\n\t\t\t\t\t\t<!-- <section v-if=\"!route.meta?.breadcrumbs?.hide\" class=\"pd-thin pd-b-zero\">\n\t\t\t\t\t\t\t<Breadcrumbs \n\t\t\t\t\t\t\t\tv-if=\"!MOBILE_APP\"\n\t\t\t\t\t\t\t\tclass=\"bg-light pd-small radius-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</section> -->\n\n\t\t\t\t \t\t<Suspense @resolve=\"onSuspenseResolved\">\n\t\t\t\t\t\t\t<router-view \n\t\t\t\t\t\t\t\tid=\"view\"\n\t\t\t\t\t\t\t\tv-slot=\"{ Component, route }\" \n\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t'scroll-hide': MOBILE_APP,\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\tclass=\"h-min-100 pos-relative w-100\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<transition @before-enter=\"scrollTop\" name=\"scaleTransition\" mode=\"out-in\" appear>\n\t\t\t\t\t \t<component \n\t\t\t\t\t \t\tref=\"page\" \n\t\t\t\t\t \t\t:is=\"Component\" \n\t\t\t\t\t \t\t:key=\"route.path\"\n\t\t\t\t\t \t\tclass=\"w-100 h-min-100\"\n\t\t\t\t \t\t \t@page-loading=\"handlePageLoading\"\n\t\t\t @page-loaded=\"handlePageLoaded\"\n\t\t\t\t\t \t/>\n\t\t\t\t\t \t<!-- Key пока выключил непонятно какие проблемы это вызовет -->\n\t\t\t\t\t \t<!-- -->\n\t\t\t\t\t </transition>\n\t\t\t\t\t\t </router-view>\n\t\t\t\t\t\t</Suspense>\n\t\t\t\t </div>\n\n\t\t\t\t \t<component \n\t\t\t v-if=\"route.meta.player\"\n\t\t\t class=\"z-index-2\"\n\t\t\t \t:is=\"route.meta.player\"\n\t\t\t />\n\t\t\t \t<transition @before-enter=\"scrollTop\" name=\"scaleTransition\" mode=\"out-in\" appear>\n\t\t <component\n\t\t\t\t\t\t\tv-if=\"!MOBILE_APP && route.meta.footer && !route.meta.hideFooter && page && !isPageLoading\"\n\t\t\t\t ref=\"footer\" \n\t\t\t\t :is=\"route.meta.footer\"\n\t\t\t\t :theme=\"headerTheme\"\n\t\t\t\t :logotype=\"route.meta.logotype\"\n\t\t\t\t :location=\"route.meta.location\"\n\t\t\t\t />\n\t\t\t \t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<router-view \n\t\t\tname=\"defaultBottom\"\n\t\t\tv-slot=\"{ Component, route }\" \n\t\t>\n\t\t\t<component \n \t\t:is=\"Component\" \n \t/>\n\t\t</router-view>\n\n\t\n\n\n <component \n v-if=\"MOBILE_APP && route.meta.title_hide\"\n class=\"z-index-2\"\n \t:is=\"route.meta.bottombar\"\n />\n\t</div>\n</template>\n\n\n\n<script setup>\n\timport { computed, ref, onMounted, watch } from 'vue';\n\t// Router\n\timport { useRoute } from 'vue-router';\n\t// Store\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n\t// Partials\n\timport Status from '@martyrs/src/components/Status/Status.vue';\n\timport Snack from '@martyrs/src/components/Status/Snack.vue';\n\timport Popup from '@martyrs/src/components/Popup/Popup.vue';\n\timport Breadcrumbs from '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Loader from '@martyrs/src/components/Loader/Loader.vue';\n\n\timport NavigationBar from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\n\timport LocationSelection from '@martyrs/src/modules/globals/views/components/partials/LocationSelection.vue';\n\n\timport ShopCart from '@martyrs/src/modules/orders/components/partials/ShopCart.vue';\n\t// PROPS\n\tconst props = defineProps({\n env: {\n type: Object,\n required: true\n },\n app: {\n type: Object,\n required: true\n },\n modules: {\n type: Object,\n required: true\n }\n })\n\n\t/////////////////////////////\n // LOADING\n /////////////////////////////\n // State\n let show = ref(false)\n // Preloader\n const page = ref(null)\n const scrollview = ref(null)\n\n const isPageLoading = ref(true);\n \n // Обработчики событий загрузки\n function handlePageLoading() {\n isPageLoading.value = true;\n }\n \n function handlePageLoaded() {\n isPageLoading.value = false;\n }\n \n // Обработка события разрешения Suspense (когда async setup компонента завершается)\n function onSuspenseResolved() {\n // Если страница не отправляет событие page-loaded, этот обработчик \n // может служить запасным вариантом для отключения лоадера\n // Можно оставить закомментированным, если все страницы будут явно вызывать handlePageLoaded\n isPageLoading.value = false;\n }\n\t/////////////////////////////\n\t// CREATED\n\t/////////////////////////////\n\tconst route = useRoute()\n\t// const router = useRouter()\n\t// Ref Code\n\tconst referalCode = ref(route.query.referalCode);\n\t/////////////////////////////\n\t// Methods\n\t/////////////////////////////\n\tfunction closeLocationPopup() {\n\t globals.state.isOpenLocationPopup = false;\n\t}\n\tfunction scrollTop(){\n\t\tif (scrollview.value) scrollview.value.scrollTop = 0;\n\t}\n\t// Scrolling header\n\tconst scrollOffset = ref(0)\n\tlet isScrolled = false\n\tconst header = ref(null)\n\n\tconst headerTheme = computed(() => {\n\t\tif (scrollOffset.value > 50) {\n\t\t\treturn route.meta.header_theme || 'light'\n\t\t} else {\n\t\t\treturn route.meta.header_theme || 'light'\n\t\t}\n\t})\n\n\tconst handleScroll = () => {\n\t scrollOffset.value = event.target.scrollTop\n\t};\n/////////////////////////////\n // FIRST USE\n /////////////////////////////\n const FirstUse = ref(false);\n\n import { Preferences } from '@capacitor/preferences';\n\n async function getFirstUse() {\n const ret = await Preferences.get({ key: 'first-use' });\n FirstUse.value = ret.value ? JSON.parse(ret.value) : true;\n }\n\n const updateFirstUse = (value) => {\n FirstUse.value = value;\n }\n\n\tonMounted(async () => {\n\t await getFirstUse()\n\n\t\t// Регистрация единого Service Worker (PWA + push notifications)\n\t\tif ('serviceWorker' in navigator && !window.__MOBILE_APP__) {\n\t \twindow.addEventListener('load', () => {\n\t \tnavigator.serviceWorker.register('/sw.js').then(registration => {\n\t \tconsole.log('Unified SW registered: ', registration);\n\t \t}).catch(registrationError => {\n\t \tconsole.log('SW registration failed: ', registrationError);\n\t \t});\n\t });\n\t \t}\n\t\t\n\t\tconst savedPosition = localStorage.getItem('position');\n\n\t if (savedPosition) {\n\t globals.state.position = JSON.parse(savedPosition);\n\t } else if (route.meta.location) {\n \t\tglobals.state.isOpenLocationPopup = true;\n\t } else {\n\t \tglobals.state.isOpenLocationPopup = false;\n\t }\n\n\t\tif (referalCode.value) {\n\t\t localStorage.setItem('referalCode', referalCode.value);\n\t\t}\n\n\t\tif (page.value) show.value = true\n\t});\n</script>\n\n<style lang=\"scss\">\n\t.fade-enter-active, .fade-leave-active {\n\t transition: opacity .5s;\n\t}\n\t.fade-enter, .fade-leave-to /* .fade-leave-active в версии 2.1.8+ */ {\n\t opacity: 0;\n\t}\n\n\t\n .fade-move,\n .fade-enter-active,\n .fade-leave-active {\n transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1);\n }\n\n /* 2. declare enter from and leave to state */\n .fade-enter-from,\n .fade-leave-to {\n opacity: 0;\n transform: translate(30px, 0);\n }\n\n /* 3. ensure leaving items are taken out of layout flow so that moving\n animations can be calculated correctly. */\n .fade-leave-active {\n position: absolute;\n }\n\n.moveFromTop-enter-active,\n.moveFromTop-leave-active {\n transition: all 0.3s ease, max-height 0.2s ease;\n overflow: hidden;\n}\n\n.moveFromTop-enter-from,\n.moveFromTop-leave-to {\n transform: translateY(-1rem);\n opacity: 0;\n // max-height: 0;\n}\n\n.moveFromTop-enter-to,\n.moveFromTop-leave-from {\n // max-height: 100vh; \n}\n\n\t.moveFromTopAbsolute-enter-active,\n\t.moveFromTopAbsolute-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.moveFromTopAbsolute-enter-from,\n\t.moveFromTopAbsolute-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\t.ScaleOut-enter-active,\n\t.ScaleOut-leave-active {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t\ttransition: all 0.3s ease; \n\t\t\n\t}\n\t.ScaleOut-enter-from,\n\t.ScaleOut-leave-to {\n\t\topacity: 0;\n\t\ttransform: scale(0.9);\n\t\ttransition: all 0.3s ease;\n\t}\n\t.slide-fade-enter-active {\n\t\t// min-height: 100vh;\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-leave-active {\n\t\t// min-height: 100vh;\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-enter-from,\n\t.slide-fade-leave-to {\n\t\tmin-height: 0;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n\t.scaleTransition-5px-enter-active,\n .scaleTransition-5px-leave-active {\n transform: translateY(0px); \n opacity: 1;\n z-index: 1;\n transition: all 0.2s ease;\n }\n\n .scaleTransition-5px-enter-from,\n .scaleTransition-5px-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n transform: translateY(-30px); \n transition: all 0.2s ease;\n }\n\n .scaleTransition-enter-from,\n .scaleTransition-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n width: inherit;\n height: inherit;\n display: block;\n transform: translateY(30px); \n transition: all 0.5s ease;\n }\n\n .scaleTransition-enter-active,\n .scaleTransition-leave-active {\n transform: translateY(0px); \n opacity: 1;\n z-index: 1;\n transition: all 0.5s ease;\n }\n .scaleTransition-enter-from,\n .scaleTransition-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n width: inherit;\n height: inherit;\n display: block;\n transform: translateY(30px); \n transition: all 0.5s ease;\n }\n\n .scaleIn-enter-active,\n .scaleIn-leave-active {\n // background: red;\n transition: all 0.5s ease;\n > section,div { transform-origin: 0 0; transform: translateZ(0px); transition: all 0.5s ease; }\n }\n .scaleIn-enter-from,\n .scaleIn-leave-to {\n opacity: 0;\n transform: scale(0.95);\n > section,div { transform: translateZ(-30px); transition: all 0.5s ease; }\n }\n</style>"],"names":["ref","useRoute","globals.state","computed","Preferences","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwOE,QAAI,OAAOA,IAAAA,IAAI,KAAK;AAEpB,UAAM,OAAOA,IAAAA,IAAI,IAAI;AACpB,UAAM,aAAaA,IAAAA,IAAI,IAAI;AAE5B,UAAM,gBAAgBA,IAAAA,IAAI,IAAI;AAG9B,aAAS,oBAAoB;AAC3B,oBAAc,QAAQ;AAAA,IACxB;AAEA,aAAS,mBAAmB;AAC1B,oBAAc,QAAQ;AAAA,IACxB;AAGA,aAAS,qBAAqB;AAI5B,oBAAc,QAAQ;AAAA,IACxB;AAID,UAAM,QAAQC,UAAAA,SAAQ;AAGtB,UAAM,cAAcD,IAAAA,IAAI,MAAM,MAAM,WAAW;AAI/C,aAAS,qBAAqB;AAC5BE,cAAAA,MAAc,sBAAsB;AAAA,IACtC;AACA,aAAS,YAAW;AACnB,UAAI,WAAW,MAAO,YAAW,MAAM,YAAY;AAAA,IACpD;AAEA,UAAM,eAAeF,IAAAA,IAAI,CAAC;AAE1B,UAAM,SAASA,IAAAA,IAAI,IAAI;AAEvB,UAAM,cAAcG,IAAAA,SAAS,MAAM;AAClC,UAAI,aAAa,QAAQ,IAAI;AAC5B,eAAO,MAAM,KAAK,gBAAiB;AAAA,MACpC,OAAO;AACN,eAAO,MAAM,KAAK,gBAAgB;AAAA,MACnC;AAAA,IACD,CAAC;AAED,UAAM,eAAe,MAAM;AACzB,mBAAa,QAAQ,MAAM,OAAO;AAAA,IACpC;AAIC,UAAM,WAAWH,IAAAA,IAAI,KAAK;AAI1B,mBAAe,cAAc;AAC3B,YAAM,MAAM,MAAMI,MAAAA,YAAY,IAAI,EAAE,KAAK,aAAa;AACtD,eAAS,QAAQ,IAAI,QAAQ,KAAK,MAAM,IAAI,KAAK,IAAI;AAAA,IACvD;AAEA,UAAM,iBAAiB,CAAC,UAAU;AAChC,eAAS,QAAQ;AAAA,IACnB;AAEDC,QAAAA,UAAU,YAAY;AACpB,YAAM,YAAW;AAGlB,UAAI,mBAAmB,aAAa,CAAC,OAAO,gBAAgB;AACzD,eAAO,iBAAiB,QAAQ,MAAM;AACpC,oBAAU,cAAc,SAAS,QAAQ,EAAE,KAAK,kBAAgB;AAC9D,oBAAQ,IAAI,2BAA2B,YAAY;AAAA,UACrD,CAAC,EAAE,MAAM,uBAAqB;AAC5B,oBAAQ,IAAI,4BAA4B,iBAAiB;AAAA,UAC3D,CAAC;AAAA,QACJ,CAAC;AAAA,MACF;AAED,YAAM,gBAAgB,aAAa,QAAQ,UAAU;AAEpD,UAAI,eAAe;AACjBH,gBAAAA,MAAc,WAAW,KAAK,MAAM,aAAa;AAAA,MACnD,WAAW,MAAM,KAAK,UAAU;AAC/BA,gBAAAA,MAAc,sBAAsB;AAAA,MACrC,OAAO;AACNA,gBAAAA,MAAc,sBAAsB;AAAA,MACrC;AAED,UAAI,YAAY,OAAO;AACrB,qBAAa,QAAQ,eAAe,YAAY,KAAK;AAAA,MACvD;AAEA,UAAI,KAAK,MAAO,MAAK,QAAQ;AAAA,IAC9B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,7 +7,7 @@ import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
7
7
  import "vue-i18n";
8
8
  /* empty css */
9
9
  import Loader from "../../../../../components/Loader/Loader.vue2.js";
10
- /* empty css */
10
+ /* empty css */
11
11
  import "../../../../orders/store/shopcart.js";
12
12
  import "../../../../auth/views/store/auth.js";
13
13
  /* empty css */
@@ -57,7 +57,7 @@ const _sfc_main = {
57
57
  state.isOpenLocationPopup = false;
58
58
  }
59
59
  function scrollTop() {
60
- scrollview.value.scrollTop = 0;
60
+ if (scrollview.value) scrollview.value.scrollTop = 0;
61
61
  }
62
62
  const scrollOffset = ref(0);
63
63
  const header = ref(null);