@ozdao/martyrs 0.2.425 → 0.2.426

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 (165) hide show
  1. package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  2. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  3. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  4. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  5. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  6. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  7. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  8. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  9. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  10. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  11. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  12. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  13. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  14. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  15. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs +87 -5
  16. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs.map +1 -1
  17. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +88 -6
  18. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  19. package/dist/martyrs/src/components/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
  20. package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
  21. package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
  22. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
  23. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue.cjs → SelectMulti.vue2.cjs} +2 -2
  24. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.cjs.map +1 -0
  25. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue.js → SelectMulti.vue2.js} +2 -2
  26. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue.cjs.map → SelectMulti.vue2.js.map} +1 -1
  27. package/dist/martyrs/src/components/Tab/{Tab.vue.cjs → Tab.vue2.cjs} +2 -2
  28. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -0
  29. package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
  30. package/dist/martyrs/src/components/Tab/{Tab.vue.cjs.map → Tab.vue2.js.map} +1 -1
  31. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  32. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  33. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  34. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  38. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  39. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  40. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  49. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  51. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  53. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
  54. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  55. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  57. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +1 -1
  59. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  61. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  62. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  63. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  64. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  65. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  71. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +1 -1
  73. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  75. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  76. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  77. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  79. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  81. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  83. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  85. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  87. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  89. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -3
  90. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
  91. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  93. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  95. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  96. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  97. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +3 -3
  98. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +3 -3
  99. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
  101. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +2 -2
  102. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
  103. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
  104. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  105. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  107. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
  108. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
  109. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  111. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  113. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  115. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  117. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +53 -15
  118. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs.map +1 -1
  119. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.js +54 -16
  120. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.js.map +1 -1
  121. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  123. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  125. package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  126. package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  127. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  129. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +39 -67
  130. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +40 -68
  132. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  134. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  135. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  137. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  139. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +1 -1
  141. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  143. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
  144. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
  145. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  147. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  149. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  151. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  152. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  153. package/dist/style.css +39 -61
  154. package/package.json +1 -1
  155. package/src/components/PhotoViewer/PhotoViewer.vue +140 -12
  156. package/src/modules/products/components/blocks/ImagesThumbnails.vue +46 -37
  157. package/src/modules/products/components/pages/Product.vue +5 -28
  158. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  159. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  160. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  161. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  162. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  163. package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
  164. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +0 -1
  165. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -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 Tab = require("../../../../../components/Tab/Tab.vue.cjs");
4
+ const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
5
5
  const Feed = require("../../../../../components/Feed/Feed.vue.cjs");
6
6
  ;/* empty css */
7
7
  const GanttChart = require("./GanttChart.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { ref, createElementBlock, openBlock, createElementVNode, createVNode, unref, toDisplayString, withCtx } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
3
  import _sfc_main$2 from "../../../../../components/Feed/Feed.vue.js";
4
4
  /* empty css */
5
5
  import GanttChart from "./GanttChart.vue.js";
@@ -4,8 +4,8 @@ const vue = require("vue");
4
4
  const Block = require("../../../../../components/Block/Block.vue.cjs");
5
5
  const Field = require("../../../../../components/Field/Field.vue.cjs");
6
6
  const Feed = require("../../../../../components/Feed/Feed.vue.cjs");
7
- const Popup = require("../../../../../components/Popup/Popup.vue2.cjs");
8
- ;/* empty css */
7
+ const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
8
+ ;/* empty css */
9
9
  ;/* empty css */
10
10
  const CardOrderItem = require("../../../../orders/components/blocks/CardOrderItem.vue.cjs");
11
11
  const vueRouter = require("vue-router");
@@ -2,8 +2,8 @@ import { ref, computed, onMounted, createElementBlock, openBlock, createElementV
2
2
  import _sfc_main$4 from "../../../../../components/Block/Block.vue.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/Feed/Feed.vue.js";
5
- import _sfc_main$1 from "../../../../../components/Popup/Popup.vue2.js";
6
- /* empty css */
5
+ import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
6
+ /* empty css */
7
7
  /* empty css */
8
8
  import _sfc_main$3 from "../../../../orders/components/blocks/CardOrderItem.vue.js";
9
9
  import { useRoute, useRouter } from "vue-router";
@@ -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 Popup = require("../../../../components/Popup/Popup.vue2.cjs");
4
+ const Popup = require("../../../../components/Popup/Popup.vue.cjs");
5
5
  const Button = require("../../../../components/Button/Button.vue.cjs");
6
6
  const Select = require("../../../../components/Select/Select.vue.cjs");
7
7
  const reports = require("../../store/reports.cjs");
@@ -1,5 +1,5 @@
1
1
  import { reactive, ref, createElementBlock, openBlock, renderSlot, createVNode, withCtx, createElementVNode, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../components/Popup/Popup.vue2.js";
2
+ import _sfc_main$1 from "../../../../components/Popup/Popup.vue.js";
3
3
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
4
4
  import Select from "../../../../components/Select/Select.vue.js";
5
5
  import { actions } from "../../store/reports.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
5
5
  const IconCheckmark = require("../../../icons/navigation/IconCheckmark.vue.cjs");
6
- const Chips = require("../../../../components/Chips/Chips.vue.cjs");
6
+ const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
7
7
  const Map = require("../../../../components/Map/Map.vue.cjs");
8
8
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
9
9
  const _hoisted_1 = { class: "pos-relative cols-2-1_3" };
@@ -1,7 +1,7 @@
1
1
  import { createElementBlock, openBlock, createVNode, createElementVNode, createBlock, createCommentVNode, toDisplayString } from "vue";
2
2
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
3
3
  import _sfc_main$2 from "../../../icons/navigation/IconCheckmark.vue.js";
4
- import _sfc_main$3 from "../../../../components/Chips/Chips.vue.js";
4
+ import _sfc_main$3 from "../../../../components/Chips/Chips.vue2.js";
5
5
  import Map from "../../../../components/Map/Map.vue.js";
6
6
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
7
7
  const _hoisted_1 = { class: "pos-relative cols-2-1_3" };
@@ -5,7 +5,7 @@ const vueRouter = require("vue-router");
5
5
  const vueI18n = require("vue-i18n");
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
- ;/* empty css */
8
+ ;/* empty css */
9
9
  const globals = require("../../../globals/views/store/globals.cjs");
10
10
  const categories = require("../../../products/store/categories.cjs");
11
11
  const marketplace = require("../../../marketplace/views/store/marketplace.cjs");
@@ -3,7 +3,7 @@ import { useRoute, useRouter } from "vue-router";
3
3
  import { useI18n } from "vue-i18n";
4
4
  /* empty css */
5
5
  /* empty css */
6
- /* empty css */
6
+ /* empty css */
7
7
  import { state as state$1 } from "../../../globals/views/store/globals.js";
8
8
  import { actions, state as state$2 } from "../../../products/store/categories.js";
9
9
  import { state } from "../../../marketplace/views/store/marketplace.js";
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Block = require("../../../../components/Block/Block.vue.cjs");
6
6
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
7
- ;/* empty css */
7
+ ;/* empty css */
8
8
  const Field = require("../../../../components/Field/Field.vue.cjs");
9
9
  const Select = require("../../../../components/Select/Select.vue.cjs");
10
10
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
@@ -12,7 +12,7 @@ const Address = require("../../../../components/Address/Address.vue2.cjs");
12
12
  const LocationMarker = require("../../../../components/LocationMarker/LocationMarker.vue2.cjs");
13
13
  const Button = require("../../../../components/Button/Button.vue.cjs");
14
14
  require("vue-i18n");
15
- ;/* empty css */
15
+ ;/* empty css */
16
16
  const spots = require("../../store/spots.cjs");
17
17
  const _hoisted_1 = { class: "for-transition w-100 cols-1 pd-thin gap-thin" };
18
18
  const _hoisted_2 = { class: "mn-r-auto" };
@@ -2,7 +2,7 @@ import { ref, onMounted, createElementBlock, openBlock, createVNode, createEleme
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
4
4
  import _sfc_main$3 from "../../../../components/UploadImage/UploadImage.vue.js";
5
- /* empty css */
5
+ /* empty css */
6
6
  import Field from "../../../../components/Field/Field.vue.js";
7
7
  import Select from "../../../../components/Select/Select.vue.js";
8
8
  import _sfc_main$4 from "../../../../components/Checkbox/Checkbox.vue.js";
@@ -10,7 +10,7 @@ import _sfc_main$5 from "../../../../components/Address/Address.vue2.js";
10
10
  import _sfc_main$6 from "../../../../components/LocationMarker/LocationMarker.vue2.js";
11
11
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
12
12
  import "vue-i18n";
13
- /* empty css */
13
+ /* empty css */
14
14
  import { actions, state } from "../../store/spots.js";
15
15
  const _hoisted_1 = { class: "for-transition w-100 cols-1 pd-thin gap-thin" };
16
16
  const _hoisted_2 = { class: "mn-r-auto" };
package/dist/style.css CHANGED
@@ -2159,39 +2159,55 @@ to {
2159
2159
  width: 100%;
2160
2160
  height: 100%;
2161
2161
  object-fit: scale-down;
2162
- transition: transform 0.3s;
2162
+ transition: transform 0.05s;
2163
+ transform-origin: center center;
2163
2164
  }
2164
2165
 
2165
- .magnifier[data-v-77776640] {
2166
- max-width: 32rem;
2166
+ .expand-enter-active[data-v-cd8791b7],
2167
+ .expand-leave-active[data-v-cd8791b7] {
2168
+ transition: max-height 0.5s ease-in-out;
2169
+ overflow: hidden;
2167
2170
  }
2168
- .product-images[data-v-77776640] {
2169
- display: flex;
2170
- flex-direction: column;
2171
+ .scale-enter-active[data-v-cd8791b7],
2172
+ .scale-leave-active[data-v-cd8791b7] {
2173
+ transition: transform 0.5s ease-in-out;
2174
+ }
2175
+ .scale5-enter-from[data-v-cd8791b7],
2176
+ .scale5-leave-to[data-v-cd8791b7] {
2177
+ transform: scale(1.2);
2178
+ opacity: 0;
2171
2179
  }
2172
- .thumbnail[data-v-77776640] {
2180
+ .scale5-enter-to[data-v-cd8791b7],
2181
+ .scale5-leave-from[data-v-cd8791b7] {
2182
+ transform: scale(1);
2183
+ opacity: 1;
2184
+ }
2185
+ .product-360-viewer[data-v-cd8791b7] {
2186
+ user-select: none;
2187
+ min-height: 16rem;
2188
+ }
2189
+ .product-360-viewer img[data-v-cd8791b7] {
2190
+ max-width: 100%;
2191
+ cursor: grab;
2192
+
2193
+ object-fit: cover;
2194
+ transition: all 0.3s ease;
2195
+ }
2196
+ .product-360-viewer img[data-v-cd8791b7]:active {
2197
+ cursor: grabbing;
2198
+ }
2199
+
2200
+ /*.product-360-viewer img:hover {
2201
+ transform: scale(1.1);
2202
+ }*/
2203
+
2204
+ .thumbnail[data-v-832a66d9] {
2173
2205
  width: 100%;
2174
2206
  max-width: 6rem;
2175
2207
  height: 6rem;
2176
2208
  object-fit: cover;
2177
2209
  cursor: pointer;
2178
2210
  }
2179
- .popup[data-v-77776640] {
2180
- position: fixed;
2181
- top: 0;
2182
- left: 0;
2183
- width: 100vw;
2184
- height: 100vh;
2185
- background-color: rgba(0, 0, 0, 0.8);
2186
- display: flex;
2187
- justify-content: center;
2188
- align-items: center;
2189
- cursor: zoom-out;
2190
- }
2191
- .popup-image[data-v-77776640] {
2192
- max-width: 90%;
2193
- max-height: 90%;
2194
- }
2195
2211
  .vue-select {
2196
2212
  background: #f7f7f7;
2197
2213
  border-radius: 0.5rem;
@@ -2227,44 +2243,6 @@ to {
2227
2243
  .spoiler-active[data-v-e326492a] {
2228
2244
  transform: rotate(180deg);
2229
2245
  }
2230
- .expand-enter-active[data-v-cd8791b7],
2231
- .expand-leave-active[data-v-cd8791b7] {
2232
- transition: max-height 0.5s ease-in-out;
2233
- overflow: hidden;
2234
- }
2235
- .scale-enter-active[data-v-cd8791b7],
2236
- .scale-leave-active[data-v-cd8791b7] {
2237
- transition: transform 0.5s ease-in-out;
2238
- }
2239
- .scale5-enter-from[data-v-cd8791b7],
2240
- .scale5-leave-to[data-v-cd8791b7] {
2241
- transform: scale(1.2);
2242
- opacity: 0;
2243
- }
2244
- .scale5-enter-to[data-v-cd8791b7],
2245
- .scale5-leave-from[data-v-cd8791b7] {
2246
- transform: scale(1);
2247
- opacity: 1;
2248
- }
2249
- .product-360-viewer[data-v-cd8791b7] {
2250
- user-select: none;
2251
- min-height: 16rem;
2252
- }
2253
- .product-360-viewer img[data-v-cd8791b7] {
2254
- max-width: 100%;
2255
- cursor: grab;
2256
-
2257
- object-fit: cover;
2258
- transition: all 0.3s ease;
2259
- }
2260
- .product-360-viewer img[data-v-cd8791b7]:active {
2261
- cursor: grabbing;
2262
- }
2263
-
2264
- /*.product-360-viewer img:hover {
2265
- transform: scale(1.1);
2266
- }*/
2267
-
2268
2246
  #glcanvas {
2269
2247
  width: 100%;
2270
2248
  height: 100%;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/martyrs",
3
- "version": "0.2.425",
3
+ "version": "0.2.426",
4
4
  "description": "Fullstack framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -3,47 +3,119 @@
3
3
  <img loading="lazy" :src="photoUrl" :style="imgStyle" ref="image" @load="initialize" />
4
4
  </div>
5
5
  </template>
6
-
7
6
  <script setup>
8
- import { ref, reactive, computed } from 'vue';
9
-
7
+ import { ref, reactive, computed, onMounted, watch } from 'vue';
10
8
  const props = defineProps({
11
9
  photoUrl: String,
12
10
  show: Boolean,
13
11
  });
14
-
15
12
  const scale = ref(1);
16
13
  const position = reactive({ x: 0, y: 0 });
17
14
  const dragging = ref(false);
18
15
  const startPosition = reactive({ x: 0, y: 0 });
19
16
  const startScale = ref(1);
20
17
  const startDistance = ref(0);
18
+ const image = ref(null);
19
+ const container = ref(null);
21
20
 
22
21
  const imgStyle = computed(() => ({
23
22
  transform: `scale(${scale.value}) translate(${position.x}px, ${position.y}px)`,
24
23
  }));
25
24
 
25
+ // Наблюдаем за изменением масштаба, чтобы ограничивать позицию
26
+ watch(scale, () => {
27
+ constrainPosition();
28
+ });
29
+
30
+ const getImageDimensions = () => {
31
+ if (!image.value) return { width: 0, height: 0 };
32
+
33
+ // Используем естественные размеры изображения
34
+ const imgWidth = image.value.naturalWidth;
35
+ const imgHeight = image.value.naturalHeight;
36
+
37
+ // Получаем размеры контейнера
38
+ const containerRect = image.value.parentElement?.getBoundingClientRect();
39
+ if (!containerRect) return { width: 0, height: 0 };
40
+
41
+ const containerWidth = containerRect.width;
42
+ const containerHeight = containerRect.height;
43
+
44
+ // Определяем, как изображение вписывается в контейнер (с учетом object-fit: scale-down)
45
+ let renderedWidth, renderedHeight;
46
+
47
+ if (imgWidth > containerWidth || imgHeight > containerHeight) {
48
+ const ratioX = containerWidth / imgWidth;
49
+ const ratioY = containerHeight / imgHeight;
50
+ const ratio = Math.min(ratioX, ratioY);
51
+
52
+ renderedWidth = imgWidth * ratio;
53
+ renderedHeight = imgHeight * ratio;
54
+ } else {
55
+ renderedWidth = imgWidth;
56
+ renderedHeight = imgHeight;
57
+ }
58
+
59
+ return {
60
+ renderedWidth,
61
+ renderedHeight,
62
+ containerWidth,
63
+ containerHeight
64
+ };
65
+ };
66
+
26
67
  const handleWheel = (event) => {
27
68
  event.preventDefault();
69
+
28
70
  const delta = event.deltaY > 0 ? -0.1 : 0.1;
29
- scale.value = Math.min(Math.max(1, scale.value + delta), 3);
71
+ const newScale = Math.min(Math.max(1, scale.value + delta), 3);
72
+
73
+ // Рассчитываем позицию курсора относительно центра изображения
74
+ const rect = image.value.getBoundingClientRect();
75
+ const mouseX = event.clientX - rect.left - rect.width / 2;
76
+ const mouseY = event.clientY - rect.top - rect.height / 2;
77
+
78
+ // Сохраняем соотношение позиции курсора к изображению при масштабировании
79
+ const scaleChange = newScale / scale.value;
80
+
81
+ // Обновляем позицию так, чтобы точка под курсором оставалась на месте
82
+ position.x = position.x - (mouseX / scale.value) * (scaleChange - 1);
83
+ position.y = position.y - (mouseY / scale.value) * (scaleChange - 1);
84
+
85
+ // Обновляем масштаб
86
+ scale.value = newScale;
87
+
88
+ // Ограничиваем позицию после обновления масштаба
89
+ constrainPosition();
30
90
  };
31
91
 
32
92
  const startDrag = (event) => {
33
93
  event.preventDefault();
94
+ if (scale.value <= 1) return; // Не позволяем перетаскивать при масштабе 1
95
+
34
96
  dragging.value = true;
35
97
  startPosition.x = event.type === 'mousedown' ? event.clientX : event.touches[0].clientX;
36
98
  startPosition.y = event.type === 'mousedown' ? event.clientY : event.touches[0].clientY;
99
+
37
100
  const move = (moveEvent) => {
38
101
  if (dragging.value) {
39
102
  const currentX = moveEvent.type === 'mousemove' ? moveEvent.clientX : moveEvent.touches[0].clientX;
40
103
  const currentY = moveEvent.type === 'mousemove' ? moveEvent.clientY : moveEvent.touches[0].clientY;
41
- position.x += (currentX - startPosition.x) / scale.value;
42
- position.y += (currentY - startPosition.y) / scale.value;
104
+
105
+ const deltaX = (currentX - startPosition.x) / scale.value;
106
+ const deltaY = (currentY - startPosition.y) / scale.value;
107
+
108
+ position.x += deltaX;
109
+ position.y += deltaY;
110
+
111
+ // Ограничиваем позицию после перемещения
112
+ constrainPosition();
113
+
43
114
  startPosition.x = currentX;
44
115
  startPosition.y = currentY;
45
116
  }
46
117
  };
118
+
47
119
  const endDrag = () => {
48
120
  dragging.value = false;
49
121
  document.removeEventListener('mousemove', move);
@@ -51,6 +123,7 @@ const startDrag = (event) => {
51
123
  document.removeEventListener('touchmove', move);
52
124
  document.removeEventListener('touchend', endDrag);
53
125
  };
126
+
54
127
  document.addEventListener('mousemove', move);
55
128
  document.addEventListener('mouseup', endDrag);
56
129
  document.addEventListener('touchmove', move);
@@ -79,7 +152,25 @@ const handleTouchMove = (event) => {
79
152
  const distanceY = Math.abs(touch1.clientY - touch2.clientY);
80
153
  const newDistance = Math.sqrt(distanceX ** 2 + distanceY ** 2);
81
154
  const scaleFactor = newDistance / startDistance.value;
82
- scale.value = Math.min(Math.max(1, startScale.value * scaleFactor), 3);
155
+
156
+ // Получаем центр между двумя касаниями
157
+ const centerX = (touch1.clientX + touch2.clientX) / 2;
158
+ const centerY = (touch1.clientY + touch2.clientY) / 2;
159
+
160
+ // Получаем координаты центра касания относительно изображения
161
+ const rect = image.value.getBoundingClientRect();
162
+ const touchCenterX = centerX - rect.left - rect.width / 2;
163
+ const touchCenterY = centerY - rect.top - rect.height / 2;
164
+
165
+ const newScale = Math.min(Math.max(1, startScale.value * scaleFactor), 3);
166
+ const scaleChange = newScale / scale.value;
167
+
168
+ // Обновляем позицию, чтобы центр касания оставался на месте
169
+ position.x = position.x - (touchCenterX / scale.value) * (scaleChange - 1);
170
+ position.y = position.y - (touchCenterY / scale.value) * (scaleChange - 1);
171
+
172
+ scale.value = newScale;
173
+ constrainPosition();
83
174
  }
84
175
  };
85
176
 
@@ -94,8 +185,45 @@ const initialize = () => {
94
185
  position.x = 0;
95
186
  position.y = 0;
96
187
  };
97
- </script>
98
188
 
189
+ const constrainPosition = () => {
190
+ // Если масштаб 1, сбрасываем позицию в центр
191
+ if (scale.value <= 1) {
192
+ position.x = 0;
193
+ position.y = 0;
194
+ return;
195
+ }
196
+
197
+ const { renderedWidth, renderedHeight, containerWidth, containerHeight } = getImageDimensions();
198
+
199
+ // Вычисляем максимальное смещение
200
+ const scaledWidth = renderedWidth * scale.value;
201
+ const scaledHeight = renderedHeight * scale.value;
202
+
203
+ // Отступ от края изображения до края контейнера при текущем масштабе
204
+ const horizontalOffset = (scaledWidth - containerWidth) / 2 / scale.value;
205
+ const verticalOffset = (scaledHeight - containerHeight) / 2 / scale.value;
206
+
207
+ // Ограничиваем смещение, чтобы изображение не выходило за пределы контейнера
208
+ if (horizontalOffset > 0) {
209
+ position.x = Math.max(-horizontalOffset, Math.min(horizontalOffset, position.x));
210
+ } else {
211
+ position.x = 0;
212
+ }
213
+
214
+ if (verticalOffset > 0) {
215
+ position.y = Math.max(-verticalOffset, Math.min(verticalOffset, position.y));
216
+ } else {
217
+ position.y = 0;
218
+ }
219
+ };
220
+
221
+ onMounted(() => {
222
+ window.addEventListener('resize', () => {
223
+ constrainPosition();
224
+ });
225
+ });
226
+ </script>
99
227
  <style>
100
228
  .photo-container {
101
229
  width: 100%;
@@ -105,11 +233,11 @@ const initialize = () => {
105
233
  position: relative;
106
234
  cursor: grab;
107
235
  }
108
-
109
236
  .photo-container img {
110
237
  width: 100%;
111
238
  height: 100%;
112
239
  object-fit: scale-down;
113
- transition: transform 0.3s;
240
+ transition: transform 0.05s;
241
+ transform-origin: center center;
114
242
  }
115
- </style>
243
+ </style>
@@ -1,14 +1,41 @@
1
1
  <template>
2
- <div class="o-scroll w-100 product-images">
3
- <div class="no-responsive w-max flex flex-nowrap gap-thin">
4
- <img loading="lazy"
5
- v-for="(image, index) in images"
6
- :key="index"
7
- :src="(FILE_SERVER_URL || '') + image"
8
- @click="openPopup(image)"
9
- class="flex-child flex-child-grow-1 aspect-1x1 radius-semi bg-white o-hidden thumbnail"
2
+ <div class="w-100 o-hidden bg-light radius-big flex-nowrap flex-column flex pos-relative">
3
+ <!-- Main image container -->
4
+ <div class="pd-semi w-100 bg-light radius-semi o-hidden" @click="openPopup(images[0])">
5
+ <Images360
6
+ v-if="product && product.image3d"
7
+ class="h-100 w-100"
8
+ :imagePath="`/assets/images/products/${product.image3d}`"
9
+ :imageCount="36"
10
10
  />
11
+ <img
12
+ loading="lazy"
13
+ v-if="images[0] && !product?.image3d"
14
+ class="h-max h-max-15r bg-white radius-semi w-100"
15
+ style="object-fit: contain;"
16
+ :src="(FILE_SERVER_URL || '') + images[0]"
17
+ />
18
+ <PlaceholderImage
19
+ v-if="!images[0] && !product?.image3d"
20
+ class="h-max-20r h-100 w-100"
21
+ style="object-fit: cover;"
22
+ />
23
+ </div>
24
+
25
+ <!-- Thumbnails -->
26
+ <div v-if="images.length > 1" class="o-scroll w-100 pd-semi pd-t-zero">
27
+ <div class="no-responsive w-max flex flex-nowrap gap-thin">
28
+ <img loading="lazy"
29
+ v-for="(image, index) in images"
30
+ :key="index"
31
+ :src="(FILE_SERVER_URL || '') + image"
32
+ @click="openPopup(image)"
33
+ class="flex-child flex-child-grow-1 aspect-1x1 radius-semi bg-white o-hidden thumbnail"
34
+ />
35
+ </div>
11
36
  </div>
37
+
38
+ <!-- Popup with photo viewer -->
12
39
  <Popup @close-popup="closePopup" :isPopupOpen="isPopupVisible" class="radius-medium o-hidden">
13
40
  <PhotoViewer
14
41
  :photoUrl="(FILE_SERVER_URL || '') + selectedImage"
@@ -20,20 +47,28 @@
20
47
  <script setup>
21
48
  import { ref } from "vue";
22
49
 
23
- import Popup from '@martyrs/src/components/Popup/Popup.vue'
24
- import PhotoViewer from '@martyrs/src/components/PhotoViewer/PhotoViewer.vue'
50
+ import Popup from '@martyrs/src/components/Popup/Popup.vue';
51
+ import PhotoViewer from '@martyrs/src/components/PhotoViewer/PhotoViewer.vue';
52
+
53
+
54
+ import Images360 from '@martyrs/src/modules/products/components/blocks/Images360.vue'
25
55
 
26
56
  const props = defineProps({
27
57
  images: {
28
58
  type: Array,
29
59
  required: true,
30
- }
60
+ },
61
+ product: {
62
+ type: Object,
63
+ default: () => ({})
64
+ },
31
65
  });
32
66
 
33
67
  const isPopupVisible = ref(false);
34
68
  const selectedImage = ref(null);
35
69
 
36
70
  const openPopup = (image) => {
71
+ if (!image) return;
37
72
  selectedImage.value = image;
38
73
  isPopupVisible.value = true;
39
74
  };
@@ -44,14 +79,6 @@ const closePopup = () => {
44
79
  </script>
45
80
 
46
81
  <style scoped>
47
- .magnifier {
48
- max-width: 32rem;
49
- }
50
- .product-images {
51
- display: flex;
52
- flex-direction: column;
53
- }
54
-
55
82
  .thumbnail {
56
83
  width: 100%;
57
84
  max-width: 6rem;
@@ -59,22 +86,4 @@ const closePopup = () => {
59
86
  object-fit: cover;
60
87
  cursor: pointer;
61
88
  }
62
-
63
- .popup {
64
- position: fixed;
65
- top: 0;
66
- left: 0;
67
- width: 100vw;
68
- height: 100vh;
69
- background-color: rgba(0, 0, 0, 0.8);
70
- display: flex;
71
- justify-content: center;
72
- align-items: center;
73
- cursor: zoom-out;
74
- }
75
-
76
- .popup-image {
77
- max-width: 90%;
78
- max-height: 90%;
79
- }
80
89
  </style>
@@ -1,33 +1,11 @@
1
1
  <template>
2
2
  <div v-if="products.state.current._id" class="h-100 w-100 mobile:pd-thin pd-big bg-white">
3
3
  <div class="cols-2-1_2 w-100 gap-medium">
4
- <div class="w-100 o-hidden bg-light radius-big flex-nowrap flex-column flex pos-relative">
5
- <div class="pd-semi w-100 bg-light radius-semi o-hidden">
6
- <Images360
7
- v-if="product && product.image3d"
8
- class="h-100 w-100"
9
- :imagePath="`/assets/images/products/${product.image3d}`"
10
- :imageCount="36"
11
- />
12
- <img
13
- loading="lazy"
14
- v-if="images[0] && !product.image3d"
15
- class="h-max h-max-15r bg-white radius-semi w-100"
16
- style="object-fit: contain;"
17
- :src="(FILE_SERVER_URL || '') + images[0]"
18
- />
19
- <PlaceholderImage
20
- v-if="!images[0] && !product.image3d"
21
- class="h-max-20r h-100 w-100"
22
- style="object-fit: cover;"
23
- />
24
- </div>
25
- <ImagesThumbnails
26
- v-if="images.length > 1"
27
- :images="images"
28
- class="pd-semi pd-t-zero"
29
- />
30
- </div>
4
+
5
+ <ImagesThumbnails
6
+ :images="images"
7
+ :product="product"
8
+ />
31
9
 
32
10
  <div class="pos-relative w-100 h-100 flex-column flex-h-center flex">
33
11
  <IconEdit
@@ -138,7 +116,6 @@ import PopupDateSelector from '@martyrs/src/modules/globals/views/components/blo
138
116
  import IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'
139
117
  import IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue'
140
118
  import PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'
141
- import Images360 from '@martyrs/src/modules/products/components/blocks/Images360.vue'
142
119
  import ImagesThumbnails from '@martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue'
143
120
  import Price from '@martyrs/src/modules/products/components/elements/Price.vue'
144
121
  import PopularProducts from '@martyrs/src/modules/products/components/sections/PopularProducts.vue'
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chips.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}