@ozdao/martyrs 0.2.576 → 0.2.578
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.
- package/dist/builder.js +33 -33
- package/dist/{main-BfEQkhXS.js → main-EZaj64lH.js} +1204 -1208
- package/dist/martyrs/dist/{main-BfEQkhXS.js → main-EZaj64lH.js} +78 -78
- package/dist/martyrs/dist/main-EZaj64lH.js.map +1 -0
- package/dist/martyrs/dist/{web-BqTV9va1.js → web-ClbcbWYJ.js} +2 -2
- package/dist/martyrs/dist/{web-BqTV9va1.js.map → web-ClbcbWYJ.js.map} +1 -1
- package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +1 -1
- package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +3 -3
- package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
- package/dist/martyrs/src/components/EditImages/{EditImages.vue2.js → EditImages.vue.js} +2 -2
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +3 -3
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
- package/dist/martyrs/src/components/Loader/{Loader.vue2.js → Loader.vue.js} +2 -2
- package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -0
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
- package/dist/martyrs/src/components/Slider/Slider.vue.js +91 -97
- package/dist/martyrs/src/components/Slider/Slider.vue.js.map +1 -1
- package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.js → Spoiler.vue2.js} +2 -2
- package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.js.map +1 -0
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue2.js → Filters.vue.js} +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +1 -0
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/PlayerControls.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/style.css +3 -5
- package/dist/{web-BqTV9va1.js → web-ClbcbWYJ.js} +1 -1
- package/package.json +1 -1
- package/src/components/BottomSheet/BottomSheet.vue +1 -1
- package/src/components/Slider/Slider.vue +111 -150
- package/src/jit/rules.js +42 -41
- package/src/styles/layout.scss +0 -3
- package/src/styles/reset.scss +5 -2
- package/dist/martyrs/dist/main-BfEQkhXS.js.map +0 -1
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.js.map +0 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as Rn } from "./main-
|
|
1
|
+
import { W as Rn } from "./main-EZaj64lH.js";
|
|
2
2
|
class f extends Rn {
|
|
3
3
|
constructor() {
|
|
4
4
|
super(...arguments), this.group = "CapacitorStorage";
|
|
@@ -52,4 +52,4 @@ class f extends Rn {
|
|
|
52
52
|
export {
|
|
53
53
|
f as PreferencesWeb
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=web-
|
|
55
|
+
//# sourceMappingURL=web-ClbcbWYJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-
|
|
1
|
+
{"version":3,"file":"web-ClbcbWYJ.js","sources":["../../web-ClbcbWYJ.js"],"sourcesContent":["import { W as p } from \"./main-EZaj64lH.js\";\nclass f extends p {\n constructor() {\n super(...arguments), this.group = \"CapacitorStorage\";\n }\n async configure({ group: e }) {\n typeof e == \"string\" && (this.group = e);\n }\n async get(e) {\n return { value: this.impl.getItem(this.applyPrefix(e.key)) };\n }\n async set(e) {\n this.impl.setItem(this.applyPrefix(e.key), e.value);\n }\n async remove(e) {\n this.impl.removeItem(this.applyPrefix(e.key));\n }\n async keys() {\n return { keys: this.rawKeys().map((t) => t.substring(this.prefix.length)) };\n }\n async clear() {\n for (const e of this.rawKeys())\n this.impl.removeItem(e);\n }\n async migrate() {\n var e;\n const t = [], s = [], n = \"_cap_\", o = Object.keys(this.impl).filter((i) => i.indexOf(n) === 0);\n for (const i of o) {\n const r = i.substring(n.length), a = (e = this.impl.getItem(i)) !== null && e !== void 0 ? e : \"\", { value: l } = await this.get({ key: r });\n typeof l == \"string\" ? s.push(r) : (await this.set({ key: r, value: a }), t.push(r));\n }\n return { migrated: t, existing: s };\n }\n async removeOld() {\n const e = \"_cap_\", t = Object.keys(this.impl).filter((s) => s.indexOf(e) === 0);\n for (const s of t)\n this.impl.removeItem(s);\n }\n get impl() {\n return window.localStorage;\n }\n get prefix() {\n return this.group === \"NativeStorage\" ? \"\" : `${this.group}.`;\n }\n rawKeys() {\n return Object.keys(this.impl).filter((e) => e.indexOf(this.prefix) === 0);\n }\n applyPrefix(e) {\n return this.prefix + e;\n }\n}\nexport {\n f as PreferencesWeb\n};\n"],"names":["p"],"mappings":";AACA,MAAM,UAAUA,GAAE;AAAA,EAChB,cAAc;AACZ,UAAM,GAAG,SAAS,GAAG,KAAK,QAAQ;AAAA,EACpC;AAAA,EACA,MAAM,UAAU,EAAE,OAAO,KAAK;AAC5B,WAAO,KAAK,aAAa,KAAK,QAAQ;AAAA,EACxC;AAAA,EACA,MAAM,IAAI,GAAG;AACX,WAAO,EAAE,OAAO,KAAK,KAAK,QAAQ,KAAK,YAAY,EAAE,GAAG,CAAC,EAAC;AAAA,EAC5D;AAAA,EACA,MAAM,IAAI,GAAG;AACX,SAAK,KAAK,QAAQ,KAAK,YAAY,EAAE,GAAG,GAAG,EAAE,KAAK;AAAA,EACpD;AAAA,EACA,MAAM,OAAO,GAAG;AACd,SAAK,KAAK,WAAW,KAAK,YAAY,EAAE,GAAG,CAAC;AAAA,EAC9C;AAAA,EACA,MAAM,OAAO;AACX,WAAO,EAAE,MAAM,KAAK,QAAO,EAAG,IAAI,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,MAAM,CAAC,EAAC;AAAA,EAC3E;AAAA,EACA,MAAM,QAAQ;AACZ,eAAW,KAAK,KAAK,QAAO;AAC1B,WAAK,KAAK,WAAW,CAAC;AAAA,EAC1B;AAAA,EACA,MAAM,UAAU;AACd,QAAI;AACJ,UAAM,IAAI,CAAA,GAAI,IAAI,CAAA,GAAI,IAAI,SAAS,IAAI,OAAO,KAAK,KAAK,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;AAC9F,eAAW,KAAK,GAAG;AACjB,YAAM,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC,OAAO,QAAQ,MAAM,SAAS,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM,KAAK,IAAI,EAAE,KAAK,EAAC,CAAE;AAC3I,aAAO,KAAK,WAAW,EAAE,KAAK,CAAC,KAAK,MAAM,KAAK,IAAI,EAAE,KAAK,GAAG,OAAO,EAAC,CAAE,GAAG,EAAE,KAAK,CAAC;AAAA,IACpF;AACA,WAAO,EAAE,UAAU,GAAG,UAAU,EAAC;AAAA,EACnC;AAAA,EACA,MAAM,YAAY;AAChB,UAAM,IAAI,SAAS,IAAI,OAAO,KAAK,KAAK,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;AAC9E,eAAW,KAAK;AACd,WAAK,KAAK,WAAW,CAAC;AAAA,EAC1B;AAAA,EACA,IAAI,OAAO;AACT,WAAO,OAAO;AAAA,EAChB;AAAA,EACA,IAAI,SAAS;AACX,WAAO,KAAK,UAAU,kBAAkB,KAAK,GAAG,KAAK,KAAK;AAAA,EAC5D;AAAA,EACA,UAAU;AACR,WAAO,OAAO,KAAK,KAAK,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,MAAM,CAAC;AAAA,EAC1E;AAAA,EACA,YAAY,GAAG;AACb,WAAO,KAAK,SAAS;AAAA,EACvB;AACF;"}
|
|
@@ -65,7 +65,7 @@ const _sfc_main = {
|
|
|
65
65
|
key: 0,
|
|
66
66
|
ref_key: "wrapper",
|
|
67
67
|
ref: wrapper,
|
|
68
|
-
class: normalizeClass(["w-100 bs-black
|
|
68
|
+
class: normalizeClass(["w-100 bs-black flex flex-column h-100 pos-absolute pos-t-0 pos-l-0 z-index-9999", {
|
|
69
69
|
"pd-t-extra": _ctx.MOBILE_APP === "ios"
|
|
70
70
|
}])
|
|
71
71
|
}, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.vue.js","sources":["../../../../../src/components/BottomSheet/BottomSheet.vue"],"sourcesContent":["<template>\n <transition name=\"slideY\" mode=\"out-in\">\n <section\n v-if=\"show\"\n ref=\"wrapper\"\n class=\"w-100 bs-black
|
|
1
|
+
{"version":3,"file":"BottomSheet.vue.js","sources":["../../../../../src/components/BottomSheet/BottomSheet.vue"],"sourcesContent":["<template>\n <transition name=\"slideY\" mode=\"out-in\">\n <section\n v-if=\"show\"\n ref=\"wrapper\"\n class=\"w-100 bs-black flex flex-column h-100 pos-absolute pos-t-0 pos-l-0 z-index-9999\"\n :class=\"{\n 'pd-t-extra': MOBILE_APP === 'ios',\n }\"\n >\n <!-- Toggle To Close -->\n <div\n @click=\"emits('toggle')\"\n @mousedown=\"startDrag\"\n @touchstart=\"startDrag\"\n @mousemove=\"onDrag\"\n @touchmove=\"onDrag\"\n @mouseup=\"endDrag\"\n @touchend=\"endDrag\"\n @mouseleave=\"endDrag\"\n class=\"bs-black pd-small br-b-1px br-light pos-relative bg-white flex-center flex z-index-2\"\n >\n <div class=\"radius-extra pd-nano w-3r h-1r bg-light\"></div>\n </div>\n \n <slot></slot>\n </section>\n </transition>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue';\n\nconst props = defineProps({\n show: {\n type: Boolean,\n default: false\n },\n options: {\n type: Object,\n default: {\n position: false\n }\n }\n})\n\nconst emits = defineEmits([\n 'toggle'\n])\n\nconst wrapper = ref(null)\n\nconst startY = ref(0);\nconst currentY = ref(0);\nconst dragging = ref(false);\n\nwatch(() => props.show, (newVal) => {\n if (newVal) {\n document.body.classList.add('no-scroll');\n } else {\n document.body.classList.remove('no-scroll');\n }\n});\n\nfunction startDrag(event) {\n dragging.value = true;\n startY.value = event.touches ? event.touches[0].clientY : event.clientY;\n currentY.value = startY.value;\n}\n\nfunction onDrag(event) {\n if (!dragging.value) return;\n event.preventDefault(); // Prevent scrolling while dragging\n currentY.value = event.touches ? event.touches[0].clientY : event.clientY;\n const deltaY = currentY.value - startY.value;\n\n if (deltaY > 0) {\n wrapper.value.style.top = `${deltaY}px`;\n }\n}\nfunction endDrag() {\n if (!dragging.value) return;\n\n dragging.value = false;\n\n const deltaY = currentY.value - startY.value;\n const threshold = window.innerHeight * 0.2;\n\n if (deltaY < threshold) {\n // If less than 40%, snap back to the original position\n wrapper.value.style.top = '';\n } else {\n // If more than 40%, hide the element\n emits('toggle')\n // VisualizerWrapper.value.style.top = '';\n }\n}\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAiCA,UAAM,QAAQ;AAad,UAAM,QAAQ;AAId,UAAM,UAAU,IAAI,IAAI;AAExB,UAAM,SAAS,IAAI,CAAC;AACpB,UAAM,WAAW,IAAI,CAAC;AACtB,UAAM,WAAW,IAAI,KAAK;AAE1B,UAAM,MAAM,MAAM,MAAM,CAAC,WAAW;AAClC,UAAI,QAAQ;AACV,iBAAS,KAAK,UAAU,IAAI,WAAW;AAAA,MACzC,OAAO;AACL,iBAAS,KAAK,UAAU,OAAO,WAAW;AAAA,MAC5C;AAAA,IACF,CAAC;AAED,aAAS,UAAU,OAAO;AACxB,eAAS,QAAQ;AACjB,aAAO,QAAQ,MAAM,UAAU,MAAM,QAAQ,CAAC,EAAE,UAAU,MAAM;AAChE,eAAS,QAAQ,OAAO;AAAA,IAC1B;AAEA,aAAS,OAAO,OAAO;AACrB,UAAI,CAAC,SAAS,MAAO;AACrB,YAAM,eAAc;AACpB,eAAS,QAAQ,MAAM,UAAU,MAAM,QAAQ,CAAC,EAAE,UAAU,MAAM;AAClE,YAAM,SAAS,SAAS,QAAQ,OAAO;AAEvC,UAAI,SAAS,GAAG;AACd,gBAAQ,MAAM,MAAM,MAAM,GAAG,MAAM;AAAA,MACrC;AAAA,IACF;AACA,aAAS,UAAU;AACjB,UAAI,CAAC,SAAS,MAAO;AAErB,eAAS,QAAQ;AAEjB,YAAM,SAAS,SAAS,QAAQ,OAAO;AACvC,YAAM,YAAY,OAAO,cAAc;AAEvC,UAAI,SAAS,WAAW;AAEtB,gBAAQ,MAAM,MAAM,MAAM;AAAA,MAC5B,OAAO;AAEL,cAAM,QAAQ;AAAA,MAEhB;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ref, createElementBlock, openBlock, normalizeClass, withModifiers, createElementVNode, createCommentVNode, renderSlot, createVNode, createBlock, Fragment, createTextVNode, toDisplayString } from "vue";
|
|
2
|
-
import Loader from "../Loader/Loader.
|
|
2
|
+
import Loader from "../Loader/Loader.vue.js";
|
|
3
3
|
import _sfc_main$1 from "../../modules/icons/navigation/IconCheckmark.vue.js";
|
|
4
4
|
import _sfc_main$2 from "../../modules/icons/navigation/IconCross.vue.js";
|
|
5
|
-
/* empty css
|
|
5
|
+
/* empty css */
|
|
6
6
|
const _hoisted_1 = ["disabled"];
|
|
7
7
|
const _hoisted_2 = {
|
|
8
8
|
key: 0,
|
|
@@ -146,4 +146,4 @@ const _sfc_main = {
|
|
|
146
146
|
export {
|
|
147
147
|
_sfc_main as default
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=Button.
|
|
149
|
+
//# sourceMappingURL=Button.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.vue2.js","sources":["../../../../../src/components/Button/Button.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue'\n\nimport Loader from '@martyrs/src/components/Loader/Loader.vue'\n\nimport IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue';\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\nconst props = defineProps({\n submit: {\n type: Function,\n default: async () => { console.log('Button click.') }\n },\n text: {\n type: Object,\n default: () => ({\n success: null,\n error: null\n })\n },\n counter: {\n type: Object\n },\n callback: {\n type: Function,\n default: async () => { console.log('Button callback.') }\n },\n callbackDelay: {\n type: Number,\n default: 750\n },\n showSucces: {\n type: Boolean,\n default: true\n },\n showLoader: {\n type: Boolean,\n default: true\n },\n validation: {\n type: Boolean,\n default: false\n },\n})\n\nconst emits = defineEmits(['error'])\n\nconst button = ref(null)\nconst error = ref(null)\nconst loading = ref(false)\nconst finished = ref(false)\n\nasync function Submit() {\n console.log('click')\n \n button.value.style['pointer-events'] = 'none'\n error.value = null\n loading.value = true\n\n // Функция для сброса состояния кнопки\n const resetButton = () => {\n if (button.value) {\n button.value.style.pointerEvents = 'auto'\n loading.value = false\n finished.value = false\n error.value = null\n }\n }\n\n try {\n await props.submit()\n\n button.value.classList.replace('bg-main', 'bg-second')\n loading.value = false\n\n // Используем функцию сброса состояния кнопки здесь\n if (props.showSucces) { \n finished.value = true\n setTimeout(() => {\n resetButton()\n button.value.classList.replace('bg-second', 'bg-main')\n }, 500)\n } else {\n resetButton()\n button.value.classList.replace('bg-second', 'bg-main')\n }\n\n // Если есть callback, мы также установим таймер для его вызова\n if (props.callback) setTimeout(() => props.callback(), props.callbackDelay)\n\n } catch (err) {\n console.error('=== BUTTON ERROR ===', err)\n emits('error', err)\n // Если возникла ошибка, мы изменяем стили и устанавливаем сообщение об ошибке\n button.value.classList.replace('bg-main', 'bg-fourth-nano')\n loading.value = false\n error.value = true\n \n // После задержки снова сбрасываем состояние кнопки\n setTimeout(() => {\n resetButton()\n // Так как класс кнопки был изменен, вернем его в исходное состояние\n button.value.classList.replace('bg-fourth-nano', 'bg-main')\n }, 1330)\n }\n}\n</script>\n\n<template>\n <button \n @click.stop=\"Submit\"\n :disabled=\"validation\"\n ref=\"button\"\n\t\tclass=\"button\"\n :class=\"{ 'button--disabled': loading || validation }\"\n >\n <span class=\"button-content\" :class=\"{ 'hidden': loading || error || finished }\">\n <slot></slot>\n </span>\n\n <span class=\"button-loader\" :class=\"{ 'active': loading && showLoader }\">\n <Loader class=\"\"/>\n </span>\n\n <span class=\"button-success\" :class=\"{ 'active': finished && showSucces }\">\n <template v-if=\"text.success\">{{ text.success }}</template>\n <IconCheckmark v-else class=\"i-regular\" />\n </span>\n\n <span class=\"button-error\" :class=\"{ 'active': error }\">\n <template v-if=\"text.error\">{{ text.error }}</template>\n <IconCross v-else class=\"i-regular\" />\n </span>\n \n <!-- Counter -->\n <div v-if=\"counter\" class=\"button-counter font-second flex flex-center\">\n <span>{{ counter }}</span>\n </div>\n </button>\n</template>\n\n<style lang=\"scss\">\nbutton[disabled] {\n opacity: 0.75 !important;\n pointer-events: none !important;\n cursor: default !important;\n color: rgba(var(--dark), 0.33) !important;\n background: rgba(var(--light), 1) !important;\n}\n\na.button {\n text-box: trim-both cap alphabetic;\n}\n\n.button {\n position: relative;\n display: flex;\n padding: var(--small);\n border-radius: var(--small);\n text-box: trim-both cap alphabetic;\n transform: scale(1);\n opacity: 1;\n align-items: center;\n justify-content: center;\n color: black;\n text-align: center;\n font-size: 1rem;\n letter-spacing: 5%;\n transition: all 0.33s ease;\n\n &:hover {\n cursor: pointer;\n opacity: 0.9;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n &-small {\n padding: 0.75rem;\n border-radius: 0.5rem;\n height: fit-content;\n }\n\n .button-counter {\n position: absolute;\n right: -8px;\n bottom: -8px;\n background: yellow;\n height: 16px;\n border-radius: 16px;\n width: 16px;\n font-weight: 500;\n text-align: center;\n line-height: 16px;\n font-size: 10px;\n }\n}\n\n.button-content {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n transition: opacity 0.3s ease;\n}\n\n\n.button-loader {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n}\n\n.button-success {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n}\n\n.button-error {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n}\n\n.active {\n opacity: 1;\n}\n\n.hidden {\n opacity: 0;\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,UAAM,QAAQ;AAqCd,UAAM,QAAQ;AAEd,UAAM,SAAS,IAAI,IAAI;AACvB,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,WAAW,IAAI,KAAK;AAE1B,mBAAe,SAAS;AACtB,cAAQ,IAAI,OAAO;AAEnB,aAAO,MAAM,MAAM,gBAAgB,IAAI;AACvC,YAAM,QAAQ;AACd,cAAQ,QAAQ;AAGhB,YAAM,cAAc,MAAM;AACxB,YAAI,OAAO,OAAO;AAChB,iBAAO,MAAM,MAAM,gBAAgB;AACnC,kBAAQ,QAAQ;AAChB,mBAAS,QAAQ;AACjB,gBAAM,QAAQ;AAAA,QAChB;AAAA,MACF;AAEA,UAAI;AACF,cAAM,MAAM,OAAM;AAElB,eAAO,MAAM,UAAU,QAAQ,WAAW,WAAW;AACrD,gBAAQ,QAAQ;AAGhB,YAAI,MAAM,YAAY;AACpB,mBAAS,QAAQ;AACjB,qBAAW,MAAM;AACf,wBAAW;AACX,mBAAO,MAAM,UAAU,QAAQ,aAAa,SAAS;AAAA,UACvD,GAAG,GAAG;AAAA,QACR,OAAO;AACL,sBAAW;AACX,iBAAO,MAAM,UAAU,QAAQ,aAAa,SAAS;AAAA,QACvD;AAGA,YAAI,MAAM,SAAU,YAAW,MAAM,MAAM,SAAQ,GAAI,MAAM,aAAa;AAAA,MAE5E,SAAS,KAAK;AACZ,gBAAQ,MAAM,wBAAwB,GAAG;AACzC,cAAM,SAAS,GAAG;AAElB,eAAO,MAAM,UAAU,QAAQ,WAAW,gBAAgB;AAC1D,gBAAQ,QAAQ;AAChB,cAAM,QAAQ;AAGd,mBAAW,MAAM;AACf,sBAAW;AAEX,iBAAO,MAAM,UAAU,QAAQ,kBAAkB,SAAS;AAAA,QAC5D,GAAG,IAAI;AAAA,MACT;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, computed, withDirectives, createElementBlock, openBlock, withModifiers, renderSlot, createVNode, createBlock, resolveDynamicComponent, mergeProps, toDisplayString, Transition, withCtx, createElementVNode, normalizeStyle, vShow, unref } from "vue";
|
|
2
2
|
import clickOutside from "../FieldPhone/click-outside.js";
|
|
3
|
-
/* empty css
|
|
3
|
+
/* empty css */
|
|
4
4
|
const _hoisted_1 = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "w-100 h-100 flex-center flex"
|
|
@@ -71,4 +71,4 @@ const _sfc_main = {
|
|
|
71
71
|
export {
|
|
72
72
|
_sfc_main as default
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=Dropdown.
|
|
74
|
+
//# sourceMappingURL=Dropdown.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.vue.js","sources":["../../../../../src/components/Dropdown/Dropdown.vue"],"sourcesContent":["<template>\n <div\n class=\"dropdown pos-relative\"\n v-click-outside=\"clickedOutside\"\n @click.stop=\"trigger === 'click' ? (isOpen = !isOpen) : null\"\n @mouseenter=\"trigger === 'hover' ? (isOpen = true) : null\"\n @mouseleave=\"trigger === 'hover' ? (isOpen = false) : null\"\n >\n <slot name=\"label\">\n <div v-if=\"isComponentLabel\" class=\"w-100 h-100 flex-center flex\">\n <component :is=\"label.component\" v-bind=\"label.props\" :class=\"label.class\"></component>\n </div>\n <div v-else>\n {{ label }}\n </div>\n </slot>\n <transition name=\"TransitionTranslateY\" mode=\"out-in\">\n <div\n v-show=\"isOpen\"\n :style=\"{ left: align === 'left' ? '0' : 'auto', right: align === 'right' ? '0' : 'auto' }\"\n class=\"dropdown-content \"\n >\n <slot></slot>\n </div>\n </transition>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\nimport clickOutside from '../FieldPhone/click-outside.js';\n\nlet vClickOutside = clickOutside\n\nconst props = defineProps({\n label: {\n type: [String, Object],\n default: 'Open'\n },\n align: {\n type: String,\n default: 'left'\n },\n trigger: {\n type: String,\n default: 'click'\n }\n})\n\nconst isOpen = ref(false);\nconst isComponentLabel = computed(() => typeof props.label === 'object');\n\nfunction clickedOutside () {\n if (props.trigger === 'click') {\n isOpen.value = false\n }\n}\n</script>\n\n<style >\n.dropdown-content {\n display: block;\n position: absolute;\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n z-index: 1;\n}\n\n/*.dropdown:hover .dropdown-content {\n display: block;\n}*/\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,QAAI,gBAAgB;AAEpB,UAAM,QAAQ;AAed,UAAM,SAAS,IAAI,KAAK;AACxB,UAAM,mBAAmB,SAAS,MAAM,OAAO,MAAM,UAAU,QAAQ;AAEvE,aAAS,iBAAkB;AACzB,UAAI,MAAM,YAAY,SAAS;AAC7B,eAAO,QAAQ;AAAA,MACjB;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,7 @@ import { ref, watchEffect, createElementBlock, openBlock, createBlock, createCom
|
|
|
2
2
|
import { VueDraggableNext } from "../../../../node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js";
|
|
3
3
|
import _sfc_main$2 from "../UploadImageMultiple/UploadImageMultiple.vue.js";
|
|
4
4
|
import _sfc_main$1 from "../../modules/icons/navigation/IconCross.vue.js";
|
|
5
|
-
/* empty css
|
|
5
|
+
/* empty css */
|
|
6
6
|
const _hoisted_1 = { class: "flex-nowrap flex gap-small" };
|
|
7
7
|
const _hoisted_2 = { class: "pos-relative" };
|
|
8
8
|
const _hoisted_3 = ["src"];
|
|
@@ -92,4 +92,4 @@ const _sfc_main = {
|
|
|
92
92
|
export {
|
|
93
93
|
_sfc_main as default
|
|
94
94
|
};
|
|
95
|
-
//# sourceMappingURL=EditImages.
|
|
95
|
+
//# sourceMappingURL=EditImages.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditImages.vue.js","sources":["../../../../../src/components/EditImages/EditImages.vue"],"sourcesContent":["<template>\n\t<div class=\"flex-nowrap flex gap-small\">\n <VueDraggableNext v-if=\"localImages.length > 0\" class=\"gap-small flex dragArea list-group w-full\" v-model=\"localImages\" @change=\"emitChanges\">\n\t\t\t<div v-for=\"(image, index) in localImages\" class=\"pos-relative\">\n\t\t\t\t<img loading=\"lazy\" class=\"i-extra object-fit-contain bg-black-transp-5 pd-nano radius-small o-hidden\" :src=\"(FILE_SERVER_URL || '') + image\" />\n\t\t\t\t\n <IconCross \n @click=\"deleteImage(index)\" \n class=\"cursor-pointer pos-absolute t-center flex-center flex radius-extra i-medium bg-red pos-t-10-negative pos-r-10-negative pd-micro\"\n />\n\t\t\t</div>\n\t\t</VueDraggableNext>\n <div\n v-if=\"localImages.length > 0\" \n class=\"i-extra uppercase flex-center flex radius-small o-hidden br-main br-2px pd-small\"\n >\n <UploadImageMultiple \n @update:images=\"onImagesUpdate\"\n text=\"Add\"\n :options=\"{\n showText: false\n }\"\n :uploadPath=\"'photos'\"\n class=\"radius-big\"\n />\n </div>\n\n\n\t\t<UploadImageMultiple \t\n v-if=\"localImages.length < 1\" \n @update:images=\"onImagesUpdate\"\n :uploadPath=\"props.uploadPath\"\n :text=\"props.text\"\n :options=\"props.options\"\n class=\"w-100 pd-medium\"\n />\n\t</div>\t\n</template>\n\n<script setup>\nimport { ref, defineProps, watchEffect } from 'vue';\nimport { VueDraggableNext } from 'vue-draggable-next'\nimport UploadImageMultiple from \"@martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue\";\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\nconst props = defineProps({\n images: Array,\n text: Object,\n options: Object,\n uploadPath: {\n type: Object,\n default: 'unsorted'\n }\n});\n\nconst emit = defineEmits(['update:images'])\n\nconst localImages = ref([...props.images])\n\nwatchEffect(() => {\n localImages.value = [...props.images]; // Обновление localImages при изменении props.images\n});\n\nconst emitChanges = () => {\n emit('update:images', localImages.value)\n}\n\nconst onImagesUpdate = (newImages) => {\n localImages.value = [...localImages.value, ...newImages]\n emitChanges()\n}\n\nconst deleteImage = (index) => {\n localImages.value.splice(index, 1)\n emitChanges()\n}\n</script>\n\n<style lang=\"scss\">\n// Your styles here\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,UAAM,QAAQ;AAUd,UAAM,OAAO;AAEb,UAAM,cAAc,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC;AAEzC,gBAAY,MAAM;AAChB,kBAAY,QAAQ,CAAC,GAAG,MAAM,MAAM;AAAA,IACtC,CAAC;AAED,UAAM,cAAc,MAAM;AACxB,WAAK,iBAAiB,YAAY,KAAK;AAAA,IACzC;AAEA,UAAM,iBAAiB,CAAC,cAAc;AACpC,kBAAY,QAAQ,CAAC,GAAG,YAAY,OAAO,GAAG,SAAS;AACvD,kBAAW;AAAA,IACb;AAEA,UAAM,cAAc,CAAC,UAAU;AAC7B,kBAAY,MAAM,OAAO,OAAO,CAAC;AACjC,kBAAW;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, openBlock, createBlock, createVNode, normalizeClass, unref, withCtx, Fragment, renderList, Transition, renderSlot } from "vue";
|
|
2
2
|
import { useI18n } from "vue-i18n";
|
|
3
3
|
import { useGlobalMixins } from "../../modules/core/views/mixins/mixins.js";
|
|
4
|
-
import Loader from "../Loader/Loader.
|
|
4
|
+
import Loader from "../Loader/Loader.vue.js";
|
|
5
5
|
import _sfc_main$2 from "../Slider/Slider.vue.js";
|
|
6
6
|
import _sfc_main$1 from "../EmptyState/EmptyState.vue.js";
|
|
7
7
|
/* empty css */
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { mergeModels, useModel, ref, computed, watch, onMounted, onUnmounted, createElementBlock, openBlock, Fragment, createCommentVNode, createBlock, normalizeClass, withCtx, createVNode, renderList, resolveDynamicComponent, unref, TransitionGroup, renderSlot } from "vue";
|
|
2
2
|
import { useGlobalMixins } from "../../modules/core/views/mixins/mixins.js";
|
|
3
|
-
import Loader from "../Loader/Loader.
|
|
3
|
+
import Loader from "../Loader/Loader.vue.js";
|
|
4
4
|
import Skeleton from "../Skeleton/Skeleton.vue2.js";
|
|
5
5
|
import _sfc_main$6 from "../EmptyState/EmptyState.vue.js";
|
|
6
|
-
import _sfc_main$2 from "../Dropdown/Dropdown.
|
|
6
|
+
import _sfc_main$2 from "../Dropdown/Dropdown.vue.js";
|
|
7
7
|
import Calendar from "../Calendar/Calendar.vue2.js";
|
|
8
8
|
import _sfc_main$1 from "../../modules/core/views/components/blocks/BlockSearch.vue.js";
|
|
9
9
|
import _sfc_main$5 from "../../modules/core/views/components/blocks/BlockSorting.vue.js";
|
|
10
|
-
import Filters from "../../modules/core/views/components/sections/Filters.
|
|
10
|
+
import Filters from "../../modules/core/views/components/sections/Filters.vue.js";
|
|
11
11
|
import _sfc_main$4 from "../../modules/core/views/components/elements/ButtonSort.vue.js";
|
|
12
12
|
import _sfc_main$3 from "../../modules/core/views/components/elements/ButtonDate.vue.js";
|
|
13
13
|
/* empty css */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, onMounted, watchEffect, createBlock, openBlock, unref, isRef, withCtx, renderSlot, createVNode, createElementBlock, createCommentVNode, toDisplayString } from "vue";
|
|
2
2
|
import Field from "../Field/Field.vue.js";
|
|
3
|
-
import _sfc_main$1 from "../Button/Button.
|
|
3
|
+
import _sfc_main$1 from "../Button/Button.vue2.js";
|
|
4
4
|
import _sfc_main$2 from "../../modules/icons/navigation/IconArrow.vue.js";
|
|
5
5
|
import { useI18n } from "vue-i18n";
|
|
6
6
|
const _hoisted_1 = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createElementBlock, openBlock, normalizeClass, createElementVNode, createCommentVNode, toDisplayString } from "vue";
|
|
2
|
-
/* empty css
|
|
2
|
+
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
4
|
const _sfc_main = {
|
|
5
5
|
props: {
|
|
@@ -57,4 +57,4 @@ const Loader = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]])
|
|
|
57
57
|
export {
|
|
58
58
|
Loader as default
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=Loader.
|
|
60
|
+
//# sourceMappingURL=Loader.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loader.vue.js","sources":["../../../../../src/components/Loader/Loader.vue"],"sourcesContent":["<template>\n <div class=\"circular-loader pos-relative z-index-1 w-100 h-100 w-max-2r h-max-2r\" :class=\"{ 'circular-loader-centered': centered }\">\n <svg viewBox=\"25 25 50 50\">\n <circle class=\"circular-loader-fill\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke-width=\"4\" stroke-miterlimit=\"10\" />\n <circle class=\"circular-loader-circle\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke-width=\"4\" stroke-miterlimit=\"10\" />\n </svg>\n <div v-if=\"progress\" class=\"progress-text\">{{ progress }}</div>\n <div v-if=\"status\" class=\"uppercase fw-semi w-m-10r status-text\">{{ status }}</div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n progress: {\n type: Number,\n default: null,\n },\n status: {\n type: String,\n default: null,\n },\n centered: {\n type: Boolean,\n default: false\n },\n },\n};\n</script>\n\n<style>\n.circular-loader-centered {\n top: calc(50% - 1rem);\n left: calc(50% - 1rem);\n}\n\n.circular-loader svg {\n animation: rotate 2s linear infinite;\n}\n\n.circular-loader-circle {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n stroke-linecap: round;\n stroke: rgb(var(--main));\n animation: dash 1.5s ease-in-out infinite;\n}\n\n.circular-loader-fill {\n stroke-linecap: round;\n stroke: rgba(var(--black),0.2);\n}\n\n.progress-text {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 0.8rem;\n color: rgb(var(--main));;\n}\n\n.status-text {\n position: absolute;\n top: 120%;\n left: calc(50% - 5rem);\n font-size: 0.8rem;\n width: 10rem !important;\n text-align: center;\n}\n\n@keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: -124;\n }\n}\n</style>"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":";;;AAYA,MAAK,YAAU;AAAA,EACb,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;IAEX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;AAGf;;EA3BA,KAAA;AAAA,EAMyB,OAAM;;;EAN/B,KAAA;AAAA,EAOuB,OAAM;;;sBAN3BA,mBAOM,OAAA;AAAA,IAPD,OADPC,eAAA,CACa,wEAAsE,EAAA,4BAAuC,OAAA,UAAQ,CAAA;AAAA;8BAC9HC,mBAGM,OAAA,EAHD,SAAQ,iBAAa;AAAA,MACxBA,mBAAkH,UAAA;AAAA,QAA1G,OAAM;AAAA,QAAuB,IAAG;AAAA,QAAK,IAAG;AAAA,QAAK,GAAE;AAAA,QAAK,MAAK;AAAA,QAAO,gBAAa;AAAA,QAAI,qBAAkB;AAAA;MAC3GA,mBAAoH,UAAA;AAAA,QAA5G,OAAM;AAAA,QAAyB,IAAG;AAAA,QAAK,IAAG;AAAA,QAAK,GAAE;AAAA,QAAK,MAAK;AAAA,QAAO,gBAAa;AAAA,QAAI,qBAAkB;AAAA;;IAEpG,OAAA,yBAAXF,mBAA+D,OAA/D,YAA+DG,gBAAjB,OAAA,QAAQ,GAAA,CAAA,KAN1DC,mBAAA,IAAA,IAAA;AAAA,IAOe,OAAA,uBAAXJ,mBAAmF,OAAnF,YAAmFG,gBAAf,OAAA,MAAM,GAAA,CAAA,KAP9EC,mBAAA,IAAA,IAAA;AAAA;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, onMounted, watchEffect, createElementBlock, openBlock, createElementVNode, createVNode, Transition, withCtx, createBlock } from "vue";
|
|
2
2
|
import { Loader } from "../../../../node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js";
|
|
3
|
-
import Loader$1 from "../Loader/Loader.
|
|
3
|
+
import Loader$1 from "../Loader/Loader.vue.js";
|
|
4
4
|
/* empty css */
|
|
5
5
|
const _hoisted_1 = { class: "pos-relative" };
|
|
6
6
|
const _hoisted_2 = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, computed, onMounted, onUnmounted, createElementBlock, openBlock, createCommentVNode, mergeProps, createElementVNode, createVNode } from "vue";
|
|
2
|
-
import Loader from "../Loader/Loader.
|
|
2
|
+
import Loader from "../Loader/Loader.vue.js";
|
|
3
3
|
import _sfc_main$1 from "../../modules/icons/entities/IconGallery.vue.js";
|
|
4
4
|
/* empty css */
|
|
5
5
|
import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createElementBlock, openBlock, renderSlot } from "vue";
|
|
2
|
-
/* empty css
|
|
2
|
+
/* empty css */
|
|
3
3
|
const _hoisted_1 = { class: "mobile-menu-section pd-r-zero pd-t-thin pd-b-thin pd-medium radius-medium" };
|
|
4
4
|
const _sfc_main = {
|
|
5
5
|
__name: "Menu",
|
|
@@ -14,4 +14,4 @@ const _sfc_main = {
|
|
|
14
14
|
export {
|
|
15
15
|
_sfc_main as default
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=Menu.
|
|
17
|
+
//# sourceMappingURL=Menu.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref, onMounted, onBeforeUnmount, createElementBlock, openBlock, createElementVNode, createCommentVNode, renderSlot, Fragment, renderList, normalizeClass } from "vue";
|
|
1
|
+
import { ref, watch, onMounted, onBeforeUnmount, createElementBlock, openBlock, createElementVNode, createCommentVNode, renderSlot, Fragment, renderList, normalizeClass } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
const _hoisted_1 = {
|
|
4
4
|
key: 0,
|
|
@@ -12,136 +12,130 @@ const _sfc_main = {
|
|
|
12
12
|
slideCount: {
|
|
13
13
|
type: Number,
|
|
14
14
|
default: 0
|
|
15
|
+
},
|
|
16
|
+
autoplay: {
|
|
17
|
+
type: Object,
|
|
18
|
+
default: null
|
|
15
19
|
}
|
|
16
20
|
},
|
|
17
21
|
setup(__props) {
|
|
18
22
|
const props = __props;
|
|
19
23
|
const carouselRef = ref(null);
|
|
20
24
|
const selectedIndex = ref(0);
|
|
21
|
-
const
|
|
25
|
+
const intervalId = ref(null);
|
|
22
26
|
const scrollTimeout = ref(null);
|
|
27
|
+
const resumeTimeout = ref(null);
|
|
28
|
+
const paused = ref(false);
|
|
23
29
|
const scrollTo = (index) => {
|
|
24
30
|
if (!carouselRef.value) return;
|
|
25
31
|
const container = carouselRef.value.querySelector(".carousel__container");
|
|
26
32
|
const slides = container.querySelectorAll(".carousel__slide");
|
|
27
33
|
if (slides[index]) {
|
|
28
|
-
container.scrollTo({
|
|
29
|
-
left: slides[index].offsetLeft,
|
|
30
|
-
behavior: "smooth"
|
|
31
|
-
});
|
|
34
|
+
container.scrollTo({ left: slides[index].offsetLeft, behavior: "smooth" });
|
|
32
35
|
selectedIndex.value = index;
|
|
33
36
|
}
|
|
34
37
|
};
|
|
35
38
|
const handleScroll = () => {
|
|
36
|
-
if (scrollTimeout.value)
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
scrollTimeout.value = setTimeout(() => {
|
|
40
|
-
updateSelectedIndex();
|
|
41
|
-
}, 50);
|
|
39
|
+
if (scrollTimeout.value) clearTimeout(scrollTimeout.value);
|
|
40
|
+
scrollTimeout.value = setTimeout(updateSelectedIndex, 50);
|
|
42
41
|
};
|
|
43
42
|
const updateSelectedIndex = () => {
|
|
44
43
|
if (!carouselRef.value) return;
|
|
45
44
|
const container = carouselRef.value.querySelector(".carousel__container");
|
|
46
45
|
const slides = container.querySelectorAll(".carousel__slide");
|
|
47
46
|
if (!slides.length) return;
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
const index = Math.round(container.scrollLeft / slides[0].offsetWidth);
|
|
48
|
+
selectedIndex.value = Math.max(0, Math.min(index, slides.length - 1));
|
|
49
|
+
};
|
|
50
|
+
const clearTimers = () => {
|
|
51
|
+
if (intervalId.value) {
|
|
52
|
+
clearInterval(intervalId.value);
|
|
53
|
+
intervalId.value = null;
|
|
54
|
+
}
|
|
55
|
+
if (resumeTimeout.value) {
|
|
56
|
+
clearTimeout(resumeTimeout.value);
|
|
57
|
+
resumeTimeout.value = null;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const startAutoplay = () => {
|
|
61
|
+
clearTimers();
|
|
62
|
+
const a = props.autoplay;
|
|
63
|
+
if (!a?.enabled || paused.value) return;
|
|
64
|
+
intervalId.value = setInterval(() => {
|
|
65
|
+
scrollTo((selectedIndex.value + 1) % props.slideCount);
|
|
66
|
+
}, a.interval ?? 2e3);
|
|
67
|
+
};
|
|
68
|
+
const pause = () => {
|
|
69
|
+
paused.value = true;
|
|
70
|
+
clearTimers();
|
|
53
71
|
};
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
72
|
+
const resume = () => {
|
|
73
|
+
const a = props.autoplay;
|
|
74
|
+
if (!a?.enabled || a.resume === false) return;
|
|
75
|
+
clearTimers();
|
|
76
|
+
const delay = a.delay ?? 0;
|
|
77
|
+
if (delay > 0) {
|
|
78
|
+
resumeTimeout.value = setTimeout(() => {
|
|
79
|
+
paused.value = false;
|
|
80
|
+
startAutoplay();
|
|
81
|
+
}, delay);
|
|
82
|
+
} else {
|
|
83
|
+
paused.value = false;
|
|
84
|
+
startAutoplay();
|
|
57
85
|
}
|
|
58
|
-
autoplayInterval.value = setInterval(() => {
|
|
59
|
-
const nextIndex = (selectedIndex.value + 1) % props.slideCount;
|
|
60
|
-
scrollTo(nextIndex);
|
|
61
|
-
}, 2e3);
|
|
62
86
|
};
|
|
87
|
+
const onHoverStart = () => {
|
|
88
|
+
if (props.autoplay?.hover !== false) pause();
|
|
89
|
+
};
|
|
90
|
+
const onHoverEnd = () => {
|
|
91
|
+
if (props.autoplay?.hover !== false) resume();
|
|
92
|
+
};
|
|
93
|
+
const onTouchStart = () => {
|
|
94
|
+
if (props.autoplay?.touch !== false) pause();
|
|
95
|
+
};
|
|
96
|
+
const onTouchEnd = () => {
|
|
97
|
+
if (props.autoplay?.touch !== false) resume();
|
|
98
|
+
};
|
|
99
|
+
watch(() => props.autoplay, () => {
|
|
100
|
+
if (props.autoplay?.enabled) {
|
|
101
|
+
paused.value = false;
|
|
102
|
+
startAutoplay();
|
|
103
|
+
} else {
|
|
104
|
+
pause();
|
|
105
|
+
}
|
|
106
|
+
}, { deep: true });
|
|
63
107
|
onMounted(() => {
|
|
64
|
-
if (carouselRef.value)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
selectedIndex.value = slideIndex;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}, {
|
|
77
|
-
root: container,
|
|
78
|
-
threshold: 0.7
|
|
79
|
-
// Consider slide visible when 70% is in view
|
|
80
|
-
});
|
|
81
|
-
slides.forEach((slide) => {
|
|
82
|
-
observer.observe(slide);
|
|
83
|
-
});
|
|
84
|
-
container.addEventListener("focusin", () => {
|
|
85
|
-
if (autoplayInterval.value) {
|
|
86
|
-
clearInterval(autoplayInterval.value);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
container.addEventListener("focusout", () => {
|
|
90
|
-
setupAutoplay();
|
|
91
|
-
});
|
|
92
|
-
container.addEventListener("mousedown", () => {
|
|
93
|
-
if (autoplayInterval.value) {
|
|
94
|
-
clearInterval(autoplayInterval.value);
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
container.addEventListener("touchstart", () => {
|
|
98
|
-
if (autoplayInterval.value) {
|
|
99
|
-
clearInterval(autoplayInterval.value);
|
|
108
|
+
if (!carouselRef.value) return;
|
|
109
|
+
const container = carouselRef.value.querySelector(".carousel__container");
|
|
110
|
+
const slides = container.querySelectorAll(".carousel__slide");
|
|
111
|
+
const observer = new IntersectionObserver((entries) => {
|
|
112
|
+
entries.forEach((entry) => {
|
|
113
|
+
if (entry.isIntersecting) {
|
|
114
|
+
const idx = Array.from(slides).indexOf(entry.target);
|
|
115
|
+
if (idx !== -1) selectedIndex.value = idx;
|
|
100
116
|
}
|
|
101
117
|
});
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
setupAutoplay();
|
|
109
|
-
carouselRef.value._observer = observer;
|
|
110
|
-
}
|
|
118
|
+
}, { root: container, threshold: 0.7 });
|
|
119
|
+
slides.forEach((slide) => observer.observe(slide));
|
|
120
|
+
carouselRef.value._observer = observer;
|
|
121
|
+
container.addEventListener("focusin", pause);
|
|
122
|
+
container.addEventListener("focusout", resume);
|
|
123
|
+
if (props.autoplay?.enabled) startAutoplay();
|
|
111
124
|
});
|
|
112
125
|
onBeforeUnmount(() => {
|
|
113
|
-
if (carouselRef.value)
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
const container = carouselRef.value.querySelector(".carousel__container");
|
|
118
|
-
if (container) {
|
|
119
|
-
container.removeEventListener("focusin", () => {
|
|
120
|
-
});
|
|
121
|
-
container.removeEventListener("focusout", () => {
|
|
122
|
-
});
|
|
123
|
-
container.removeEventListener("mousedown", () => {
|
|
124
|
-
});
|
|
125
|
-
container.removeEventListener("touchstart", () => {
|
|
126
|
-
});
|
|
127
|
-
container.removeEventListener("mouseup", () => {
|
|
128
|
-
});
|
|
129
|
-
container.removeEventListener("touchend", () => {
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
if (autoplayInterval.value) {
|
|
134
|
-
clearInterval(autoplayInterval.value);
|
|
135
|
-
}
|
|
136
|
-
if (scrollTimeout.value) {
|
|
137
|
-
clearTimeout(scrollTimeout.value);
|
|
138
|
-
}
|
|
126
|
+
if (carouselRef.value?._observer) carouselRef.value._observer.disconnect();
|
|
127
|
+
clearTimers();
|
|
128
|
+
if (scrollTimeout.value) clearTimeout(scrollTimeout.value);
|
|
139
129
|
});
|
|
140
130
|
return (_ctx, _cache) => {
|
|
141
131
|
return openBlock(), createElementBlock("div", {
|
|
142
132
|
class: "carousel",
|
|
143
133
|
ref_key: "carouselRef",
|
|
144
|
-
ref: carouselRef
|
|
134
|
+
ref: carouselRef,
|
|
135
|
+
onMouseenter: onHoverStart,
|
|
136
|
+
onMouseleave: onHoverEnd,
|
|
137
|
+
onTouchstart: onTouchStart,
|
|
138
|
+
onTouchend: onTouchEnd
|
|
145
139
|
}, [
|
|
146
140
|
createElementVNode("div", {
|
|
147
141
|
class: "carousel__container",
|
|
@@ -158,7 +152,7 @@ const _sfc_main = {
|
|
|
158
152
|
}, null, 10, _hoisted_2);
|
|
159
153
|
}), 128))
|
|
160
154
|
])) : createCommentVNode("", true)
|
|
161
|
-
],
|
|
155
|
+
], 544);
|
|
162
156
|
};
|
|
163
157
|
}
|
|
164
158
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.vue.js","sources":["../../../../../src/components/Slider/Slider.vue"],"sourcesContent":["<template>\n
|
|
1
|
+
{"version":3,"file":"Slider.vue.js","sources":["../../../../../src/components/Slider/Slider.vue"],"sourcesContent":["<template>\n <div\n class=\"carousel\"\n ref=\"carouselRef\"\n @mouseenter=\"onHoverStart\"\n @mouseleave=\"onHoverEnd\"\n @touchstart=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n >\n <div class=\"carousel__container\" @scroll=\"handleScroll\">\n <slot></slot>\n </div>\n\n <div class=\"carousel__dots\" v-if=\"showDots && slideCount > 1\">\n <button\n v-for=\"index in slideCount\"\n :key=\"index - 1\"\n class=\"carousel__dot\"\n :class=\"{ 'carousel__dot--active': selectedIndex === index - 1 }\"\n @click=\"scrollTo(index - 1)\"\n ></button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, onBeforeUnmount, watch } from 'vue'\n\nconst props = defineProps({\n showDots: Boolean,\n slideCount: {\n type: Number,\n default: 0\n },\n autoplay: {\n type: Object,\n default: null\n }\n});\n\n// autoplay: { enabled, interval, hover, touch, resume, delay }\n\nconst carouselRef = ref(null)\nconst selectedIndex = ref(0)\nconst intervalId = ref(null)\nconst scrollTimeout = ref(null)\nconst resumeTimeout = ref(null)\nconst paused = ref(false)\n\nconst scrollTo = (index) => {\n if (!carouselRef.value) return\n const container = carouselRef.value.querySelector('.carousel__container')\n const slides = container.querySelectorAll('.carousel__slide')\n if (slides[index]) {\n container.scrollTo({ left: slides[index].offsetLeft, behavior: 'smooth' })\n selectedIndex.value = index\n }\n}\n\nconst handleScroll = () => {\n if (scrollTimeout.value) clearTimeout(scrollTimeout.value)\n scrollTimeout.value = setTimeout(updateSelectedIndex, 50)\n}\n\nconst updateSelectedIndex = () => {\n if (!carouselRef.value) return\n const container = carouselRef.value.querySelector('.carousel__container')\n const slides = container.querySelectorAll('.carousel__slide')\n if (!slides.length) return\n const index = Math.round(container.scrollLeft / slides[0].offsetWidth)\n selectedIndex.value = Math.max(0, Math.min(index, slides.length - 1))\n}\n\nconst clearTimers = () => {\n if (intervalId.value) { clearInterval(intervalId.value); intervalId.value = null }\n if (resumeTimeout.value) { clearTimeout(resumeTimeout.value); resumeTimeout.value = null }\n}\n\nconst startAutoplay = () => {\n clearTimers()\n const a = props.autoplay\n if (!a?.enabled || paused.value) return\n intervalId.value = setInterval(() => {\n scrollTo((selectedIndex.value + 1) % props.slideCount)\n }, a.interval ?? 2000)\n}\n\nconst pause = () => {\n paused.value = true\n clearTimers()\n}\n\nconst resume = () => {\n const a = props.autoplay\n if (!a?.enabled || a.resume === false) return\n clearTimers()\n const delay = a.delay ?? 0\n if (delay > 0) {\n resumeTimeout.value = setTimeout(() => {\n paused.value = false\n startAutoplay()\n }, delay)\n } else {\n paused.value = false\n startAutoplay()\n }\n}\n\nconst onHoverStart = () => {\n if (props.autoplay?.hover !== false) pause()\n}\n\nconst onHoverEnd = () => {\n if (props.autoplay?.hover !== false) resume()\n}\n\nconst onTouchStart = () => {\n if (props.autoplay?.touch !== false) pause()\n}\n\nconst onTouchEnd = () => {\n if (props.autoplay?.touch !== false) resume()\n}\n\nwatch(() => props.autoplay, () => {\n if (props.autoplay?.enabled) {\n paused.value = false\n startAutoplay()\n } else {\n pause()\n }\n}, { deep: true })\n\nonMounted(() => {\n if (!carouselRef.value) return\n const container = carouselRef.value.querySelector('.carousel__container')\n const slides = container.querySelectorAll('.carousel__slide')\n\n const observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n const idx = Array.from(slides).indexOf(entry.target)\n if (idx !== -1) selectedIndex.value = idx\n }\n })\n }, { root: container, threshold: 0.7 })\n\n slides.forEach(slide => observer.observe(slide))\n carouselRef.value._observer = observer\n\n container.addEventListener('focusin', pause)\n container.addEventListener('focusout', resume)\n\n if (props.autoplay?.enabled) startAutoplay()\n})\n\nonBeforeUnmount(() => {\n if (carouselRef.value?._observer) carouselRef.value._observer.disconnect()\n clearTimers()\n if (scrollTimeout.value) clearTimeout(scrollTimeout.value)\n})\n</script>\n\n<style>\n.carousel {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel__container {\n display: flex;\n scroll-snap-type: x mandatory;\n overflow-x: scroll;\n scrollbar-width: none;\n -ms-overflow-style: none;\n scroll-behavior: smooth;\n}\n\n.carousel__container::-webkit-scrollbar {\n display: none;\n}\n\n.carousel__slide {\n flex: 0 0 100%;\n width: 100%;\n scroll-snap-align: start;\n scroll-snap-stop: always;\n}\n\n.carousel__dots {\n display: flex;\n justify-content: center;\n gap: 0.5rem;\n margin-top: 1rem;\n}\n\n.carousel__dot {\n width: 0.625rem;\n height: 0.625rem;\n border-radius: 50%;\n background-color: rgba(0, 0, 0, 0.2);\n border: none;\n padding: 0;\n cursor: pointer;\n transition: background-color 0.3s ease;\n}\n\n.carousel__dot--active {\n background-color: rgba(0, 0, 0, 0.6);\n}\n</style>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, renderSlot, Transition, withCtx, withDirectives, vShow } from "vue";
|
|
2
|
-
/* empty css
|
|
2
|
+
/* empty css */
|
|
3
3
|
const _sfc_main = {
|
|
4
4
|
__name: "Spoiler",
|
|
5
5
|
props: {
|
|
@@ -70,4 +70,4 @@ const _sfc_main = {
|
|
|
70
70
|
export {
|
|
71
71
|
_sfc_main as default
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=Spoiler.
|
|
73
|
+
//# sourceMappingURL=Spoiler.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spoiler.vue2.js","sources":["../../../../../src/components/Spoiler/Spoiler.vue"],"sourcesContent":["<template>\n <div>\n <div @click=\"toggleSpoiler\" class=\"flex-v-center flex-nowrap flex\">\n <slot name=\"header\" :isOpen=\"showSpoiler\"></slot>\n </div>\n <transition\n name=\"collapse\"\n @enter=\"onEnter\"\n @after-enter=\"onAfterEnter\"\n @leave=\"onLeave\"\n >\n <div v-show=\"showSpoiler\" class=\"spoiler\" ref=\"spoilerContent\">\n <slot name=\"content\"></slot>\n </div>\n </transition>\n </div>\n</template>\n<script setup>\nimport { ref, onMounted } from 'vue';\n\nconst props = defineProps({\n status: {\n type: Boolean,\n default: false\n }\n});\n\nconst showSpoiler = ref(false);\nconst spoilerContent = ref(null);\n\nonMounted(() => {\n if (props.status) {\n showSpoiler.value = props.status;\n }\n});\n\nconst toggleSpoiler = () => {\n showSpoiler.value = !showSpoiler.value;\n};\n\n// Анимация открытия\nconst onEnter = (el) => {\n el.style.height = '0';\n void el.offsetHeight; // force reflow\n el.style.height = el.scrollHeight + 'px';\n};\n\nconst onAfterEnter = (el) => {\n el.style.height = 'auto';\n};\n\n// Анимация закрытия\nconst onLeave = (el) => {\n el.style.height = el.scrollHeight + 'px';\n void el.offsetHeight; // force reflow\n el.style.height = '0';\n};\n\ndefineExpose({\n showSpoiler\n});\n</script>\n<style lang=\"scss\">\n.spoiler {\n overflow: hidden;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;AAoBA,UAAM,QAAQ;AAOd,UAAM,cAAc,IAAI,KAAK;AAC7B,UAAM,iBAAiB,IAAI,IAAI;AAE/B,cAAU,MAAM;AACd,UAAI,MAAM,QAAQ;AAChB,oBAAY,QAAQ,MAAM;AAAA,MAC5B;AAAA,IACF,CAAC;AAED,UAAM,gBAAgB,MAAM;AAC1B,kBAAY,QAAQ,CAAC,YAAY;AAAA,IACnC;AAGA,UAAM,UAAU,CAAC,OAAO;AACtB,SAAG,MAAM,SAAS;AAClB,WAAK,GAAG;AACR,SAAG,MAAM,SAAS,GAAG,eAAe;AAAA,IACtC;AAEA,UAAM,eAAe,CAAC,OAAO;AAC3B,SAAG,MAAM,SAAS;AAAA,IACpB;AAGA,UAAM,UAAU,CAAC,OAAO;AACtB,SAAG,MAAM,SAAS,GAAG,eAAe;AACpC,WAAK,GAAG;AACR,SAAG,MAAM,SAAS;AAAA,IACpB;AAEA,aAAa;AAAA,MACX;AAAA,IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, computed, watch, createElementBlock, openBlock, normalizeClass, createElementVNode, createCommentVNode, withModifiers, createVNode, toDisplayString } from "vue";
|
|
2
2
|
import axios from "axios";
|
|
3
|
-
import Loader from "../Loader/Loader.
|
|
3
|
+
import Loader from "../Loader/Loader.vue.js";
|
|
4
4
|
import _sfc_main$1 from "../../modules/icons/navigation/IconUpload.vue.js";
|
|
5
5
|
import _sfc_main$2 from "../../modules/icons/navigation/IconDelete.vue.js";
|
|
6
6
|
/* empty css */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, createElementBlock, openBlock, withModifiers, createVNode, createElementVNode, Transition, withCtx, createBlock, createCommentVNode, toDisplayString } from "vue";
|
|
2
2
|
import axios from "axios";
|
|
3
|
-
import Loader from "../Loader/Loader.
|
|
3
|
+
import Loader from "../Loader/Loader.vue.js";
|
|
4
4
|
import _sfc_main$1 from "../../modules/icons/navigation/IconUpload.vue.js";
|
|
5
5
|
import { useStore } from "../../modules/core/views/store/core.store.js";
|
|
6
6
|
const _hoisted_1 = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, createTextVNode, withCtx } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import Field from "../../../../../components/Field/Field.vue.js";
|
|
4
|
-
import _sfc_main$1 from "../../../../../components/Button/Button.
|
|
4
|
+
import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
|
|
5
5
|
import { useRoute, useRouter } from "vue-router";
|
|
6
6
|
import { useI18n } from "vue-i18n";
|
|
7
7
|
import { state, actions } from "../../store/auth.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, withCtx } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import Field from "../../../../../components/Field/Field.vue.js";
|
|
4
|
-
import _sfc_main$1 from "../../../../../components/Button/Button.
|
|
4
|
+
import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
|
|
5
5
|
import { useRoute, useRouter } from "vue-router";
|
|
6
6
|
import { state, actions } from "../../store/auth.js";
|
|
7
7
|
import invitesStore from "../../../../organizations/store/invites.store.js";
|