fixes
This commit is contained in:
268
assets/js/shared-frontend-handlers.4c8abccc3e268b0767b2.bundle.min.js
vendored
Normal file
268
assets/js/shared-frontend-handlers.4c8abccc3e268b0767b2.bundle.min.js
vendored
Normal file
@@ -0,0 +1,268 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
"use strict";
|
||||
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([
|
||||
[557], {
|
||||
628: (e, t, i) => {
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.default = void 0, i(4846), i(9655);
|
||||
class BackgroundSlideshow extends elementorModules.frontend.handlers.SwiperBase {
|
||||
getDefaultSettings() {
|
||||
return {
|
||||
classes: {
|
||||
swiperContainer: "elementor-background-slideshow swiper",
|
||||
swiperWrapper: "swiper-wrapper",
|
||||
swiperSlide: "elementor-background-slideshow__slide swiper-slide",
|
||||
swiperPreloader: "swiper-lazy-preloader",
|
||||
slideBackground: "elementor-background-slideshow__slide__image",
|
||||
kenBurns: "elementor-ken-burns",
|
||||
kenBurnsActive: "elementor-ken-burns--active",
|
||||
kenBurnsIn: "elementor-ken-burns--in",
|
||||
kenBurnsOut: "elementor-ken-burns--out"
|
||||
}
|
||||
}
|
||||
}
|
||||
getSwiperOptions() {
|
||||
const e = this.getElementSettings(),
|
||||
t = {
|
||||
grabCursor: !1,
|
||||
slidesPerView: 1,
|
||||
slidesPerGroup: 1,
|
||||
loop: "yes" === e.background_slideshow_loop,
|
||||
speed: e.background_slideshow_transition_duration,
|
||||
autoplay: {
|
||||
delay: e.background_slideshow_slide_duration,
|
||||
stopOnLastSlide: !e.background_slideshow_loop
|
||||
},
|
||||
handleElementorBreakpoints: !0,
|
||||
on: {
|
||||
slideChange: () => {
|
||||
e.background_slideshow_ken_burns && this.handleKenBurns()
|
||||
}
|
||||
}
|
||||
};
|
||||
switch ("yes" === e.background_slideshow_loop && (t.loopedSlides = this.getSlidesCount()), e.background_slideshow_slide_transition) {
|
||||
case "fade":
|
||||
t.effect = "fade", t.fadeEffect = {
|
||||
crossFade: !0
|
||||
};
|
||||
break;
|
||||
case "slide_down":
|
||||
t.autoplay.reverseDirection = !0, t.direction = "vertical";
|
||||
break;
|
||||
case "slide_up":
|
||||
t.direction = "vertical"
|
||||
}
|
||||
return "yes" === e.background_slideshow_lazyload && (t.lazy = {
|
||||
loadPrevNext: !0,
|
||||
loadPrevNextAmount: 1
|
||||
}), t
|
||||
}
|
||||
buildSwiperElements() {
|
||||
const e = this.getSettings("classes"),
|
||||
t = this.getElementSettings(),
|
||||
i = "slide_left" === t.background_slideshow_slide_transition ? "ltr" : "rtl",
|
||||
o = jQuery("<div>", {
|
||||
class: e.swiperContainer,
|
||||
dir: i
|
||||
}),
|
||||
n = jQuery("<div>", {
|
||||
class: e.swiperWrapper
|
||||
}),
|
||||
s = t.background_slideshow_ken_burns,
|
||||
r = "yes" === t.background_slideshow_lazyload;
|
||||
let d = e.slideBackground;
|
||||
if (s) {
|
||||
d += " " + e.kenBurns;
|
||||
const i = "in" === t.background_slideshow_ken_burns_zoom_direction ? "kenBurnsIn" : "kenBurnsOut";
|
||||
d += " " + e[i]
|
||||
}
|
||||
r && (d += " swiper-lazy"), this.elements.$slides = jQuery(), t.background_slideshow_gallery.forEach(t => {
|
||||
const i = jQuery("<div>", {
|
||||
class: e.swiperSlide
|
||||
});
|
||||
let o;
|
||||
if (r) {
|
||||
const i = jQuery("<div>", {
|
||||
class: e.swiperPreloader
|
||||
});
|
||||
o = jQuery("<div>", {
|
||||
class: d,
|
||||
"data-background": t.url
|
||||
}), o.append(i)
|
||||
} else o = jQuery("<div>", {
|
||||
class: d,
|
||||
style: 'background-image: url("' + t.url + '");'
|
||||
});
|
||||
i.append(o), n.append(i), this.elements.$slides = this.elements.$slides.add(i)
|
||||
}), o.append(n), this.$element.prepend(o), this.elements.$backgroundSlideShowContainer = o
|
||||
}
|
||||
async initSlider() {
|
||||
if (1 >= this.getSlidesCount()) return;
|
||||
const e = this.getElementSettings(),
|
||||
t = elementorFrontend.utils.swiper;
|
||||
this.swiper = await new t(this.elements.$backgroundSlideShowContainer, this.getSwiperOptions()), this.elements.$backgroundSlideShowContainer.data("swiper", this.swiper), e.background_slideshow_ken_burns && this.handleKenBurns()
|
||||
}
|
||||
activate() {
|
||||
this.buildSwiperElements(), this.initSlider()
|
||||
}
|
||||
deactivate() {
|
||||
this.swiper && (this.swiper.destroy(), this.elements.$backgroundSlideShowContainer.remove())
|
||||
}
|
||||
run() {
|
||||
"slideshow" === this.getElementSettings("background_background") ? this.activate() : this.deactivate()
|
||||
}
|
||||
onInit() {
|
||||
super.onInit(), this.getElementSettings("background_slideshow_gallery") && this.run()
|
||||
}
|
||||
onDestroy() {
|
||||
super.onDestroy(), this.deactivate()
|
||||
}
|
||||
onElementChange(e) {
|
||||
"background_background" === e && this.run()
|
||||
}
|
||||
}
|
||||
t.default = BackgroundSlideshow
|
||||
},
|
||||
3031: (e, t, i) => {
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.default = void 0, i(4846), i(6211);
|
||||
class BackgroundVideo extends elementorModules.frontend.handlers.Base {
|
||||
getDefaultSettings() {
|
||||
return {
|
||||
selectors: {
|
||||
backgroundVideoContainer: ".elementor-background-video-container",
|
||||
backgroundVideoEmbed: ".elementor-background-video-embed",
|
||||
backgroundVideoHosted: ".elementor-background-video-hosted"
|
||||
}
|
||||
}
|
||||
}
|
||||
getDefaultElements() {
|
||||
const e = this.getSettings("selectors"),
|
||||
t = {
|
||||
$backgroundVideoContainer: this.$element.find(e.backgroundVideoContainer)
|
||||
};
|
||||
return t.$backgroundVideoEmbed = t.$backgroundVideoContainer.children(e.backgroundVideoEmbed), t.$backgroundVideoHosted = t.$backgroundVideoContainer.children(e.backgroundVideoHosted), t
|
||||
}
|
||||
calcVideosSize(e) {
|
||||
let t = "16:9";
|
||||
"vimeo" === this.videoType && (t = e[0].width + ":" + e[0].height);
|
||||
const i = this.elements.$backgroundVideoContainer.outerWidth(),
|
||||
o = this.elements.$backgroundVideoContainer.outerHeight(),
|
||||
n = t.split(":"),
|
||||
s = n[0] / n[1],
|
||||
r = i / o > s;
|
||||
return {
|
||||
width: r ? i : o * s,
|
||||
height: r ? i / s : o
|
||||
}
|
||||
}
|
||||
changeVideoSize() {
|
||||
if ("hosted" !== this.videoType && !this.player) return;
|
||||
let e;
|
||||
if ("youtube" === this.videoType ? e = jQuery(this.player.getIframe()) : "vimeo" === this.videoType ? e = jQuery(this.player.element) : "hosted" === this.videoType && (e = this.elements.$backgroundVideoHosted), !e) return;
|
||||
const t = this.calcVideosSize(e);
|
||||
e.width(t.width).height(t.height)
|
||||
}
|
||||
startVideoLoop(e) {
|
||||
if (!this.player.getIframe().contentWindow) return;
|
||||
const t = this.getElementSettings(),
|
||||
i = t.background_video_start || 0,
|
||||
o = t.background_video_end;
|
||||
if (!t.background_play_once || e) {
|
||||
if (this.player.seekTo(i), o) {
|
||||
setTimeout(() => {
|
||||
this.startVideoLoop(!1)
|
||||
}, 1e3 * (o - i + 1))
|
||||
}
|
||||
} else this.player.stopVideo()
|
||||
}
|
||||
prepareVimeoVideo(e, t) {
|
||||
const i = this.getElementSettings(),
|
||||
o = {
|
||||
url: t,
|
||||
width: this.elements.$backgroundVideoContainer.outerWidth().width,
|
||||
autoplay: !0,
|
||||
loop: !i.background_play_once,
|
||||
transparent: !0,
|
||||
background: !0,
|
||||
muted: !0
|
||||
};
|
||||
i.background_privacy_mode && (o.dnt = !0), this.player = new e.Player(this.elements.$backgroundVideoContainer, o), this.handleVimeoStartEndTimes(i), this.player.ready().then(() => {
|
||||
jQuery(this.player.element).addClass("elementor-background-video-embed"), this.changeVideoSize()
|
||||
})
|
||||
}
|
||||
handleVimeoStartEndTimes(e) {
|
||||
e.background_video_start && this.player.on("play", t => {
|
||||
0 === t.seconds && this.player.setCurrentTime(e.background_video_start)
|
||||
}), this.player.on("timeupdate", t => {
|
||||
e.background_video_end && e.background_video_end < t.seconds && (e.background_play_once ? this.player.pause() : this.player.setCurrentTime(e.background_video_start)), this.player.getDuration().then(i => {
|
||||
e.background_video_start && !e.background_video_end && t.seconds > i - .5 && this.player.setCurrentTime(e.background_video_start)
|
||||
})
|
||||
})
|
||||
}
|
||||
prepareYTVideo(e, t) {
|
||||
const i = this.elements.$backgroundVideoContainer,
|
||||
o = this.getElementSettings();
|
||||
let n = e.PlayerState.PLAYING;
|
||||
window.chrome && (n = e.PlayerState.UNSTARTED);
|
||||
const s = {
|
||||
videoId: t,
|
||||
events: {
|
||||
onReady: () => {
|
||||
this.player.mute(), this.changeVideoSize(), this.startVideoLoop(!0), this.player.playVideo()
|
||||
},
|
||||
onStateChange: t => {
|
||||
switch (t.data) {
|
||||
case n:
|
||||
i.removeClass("elementor-invisible elementor-loading");
|
||||
break;
|
||||
case e.PlayerState.ENDED:
|
||||
"function" == typeof this.player.seekTo && this.player.seekTo(o.background_video_start || 0), o.background_play_once && this.player.destroy()
|
||||
}
|
||||
}
|
||||
},
|
||||
playerVars: {
|
||||
controls: 0,
|
||||
rel: 0,
|
||||
playsinline: 1,
|
||||
cc_load_policy: 0
|
||||
}
|
||||
};
|
||||
o.background_privacy_mode && (s.host = "https://www.youtube-nocookie.com", s.origin = window.location.hostname), i.addClass("elementor-loading elementor-invisible"), this.player = new e.Player(this.elements.$backgroundVideoEmbed[0], s)
|
||||
}
|
||||
activate() {
|
||||
let e, t = this.getElementSettings("background_video_link");
|
||||
const i = this.getElementSettings("background_play_once");
|
||||
if (-1 !== t.indexOf("vimeo.com") ? (this.videoType = "vimeo", this.apiProvider = elementorFrontend.utils.vimeo) : t.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com)/) && (this.videoType = "youtube", this.apiProvider = elementorFrontend.utils.youtube), this.apiProvider) e = this.apiProvider.getVideoIDFromURL(t), this.apiProvider.onApiReady(i => {
|
||||
"youtube" === this.videoType && this.prepareYTVideo(i, e), "vimeo" === this.videoType && this.prepareVimeoVideo(i, t)
|
||||
});
|
||||
else {
|
||||
this.videoType = "hosted";
|
||||
const e = this.getElementSettings("background_video_start"),
|
||||
o = this.getElementSettings("background_video_end");
|
||||
(e || o) && (t += "#t=" + (e || 0) + (o ? "," + o : "")), this.elements.$backgroundVideoHosted.attr("src", t).one("canplay", this.changeVideoSize.bind(this)), i && this.elements.$backgroundVideoHosted.on("ended", () => {
|
||||
this.elements.$backgroundVideoHosted.hide()
|
||||
})
|
||||
}
|
||||
elementorFrontend.elements.$window.on("resize elementor/bg-video/recalc", this.changeVideoSize)
|
||||
}
|
||||
deactivate() {
|
||||
"youtube" === this.videoType && this.player.getIframe() || "vimeo" === this.videoType ? this.player.destroy() : this.elements.$backgroundVideoHosted.removeAttr("src").off("ended"), elementorFrontend.elements.$window.off("resize", this.changeVideoSize)
|
||||
}
|
||||
run() {
|
||||
const e = this.getElementSettings();
|
||||
(e.background_play_on_mobile || "mobile" !== elementorFrontend.getCurrentDeviceMode()) && ("video" === e.background_background && e.background_video_link ? this.activate() : this.deactivate())
|
||||
}
|
||||
onInit() {
|
||||
super.onInit(...arguments), this.changeVideoSize = this.changeVideoSize.bind(this), this.run()
|
||||
}
|
||||
onElementChange(e) {
|
||||
"background_background" === e && this.run()
|
||||
}
|
||||
}
|
||||
t.default = BackgroundVideo
|
||||
}
|
||||
}
|
||||
]);
|
||||
Reference in New Issue
Block a user