/home/awneajlw/work.codestechvista.com/wp-content/plugins/ignavo-core/elementor/custom-scripts.js
/* KLB Addons for Elementor v1.0 */
jQuery.noConflict();
!(function ($) {
"use strict";
/* CAROUSEL*/
function klb_carousel($scope, $) {
var _this = this;
var container = document.querySelectorAll(".site-slider");
container.forEach(function(slide) {
if (slide.classList.contains("swiper-initialized")) return;
var parent = slide.closest(".site-slider-wrapper");
var controls = parent.querySelector(".site-slider-controls");
var items = slide.dataset.items && !isNaN(Number(slide.dataset.items)) ? Number(slide.dataset.items) : 1;
var itemsTablet = slide.dataset.itemsTablet && !isNaN(Number(slide.dataset.itemsTablet)) ? Number(slide.dataset.itemsTablet) : 1;
var itemsMobile = slide.dataset.itemsMobile && !isNaN(Number(slide.dataset.itemsMobile)) ? Number(slide.dataset.itemsMobile) : 1;
var slidesPerGroup = slide.dataset.slidesPerGroup && !isNaN(Number(slide.dataset.slidesPerGroup)) ? Number(slide.dataset.slidesPerGroup) : 1;
var slidesPerGroupTablet = slide.dataset.slidesPerGroupTablet && !isNaN(Number(slide.dataset.slidesPerGroupTablet)) ? Number(slide.dataset.slidesPerGroupTablet) : 1;
var slidesPerGroupMobile = slide.dataset.slidesPerGroupMobile && !isNaN(Number(slide.dataset.slidesPerGroupMobile)) ? Number(slide.dataset.slidesPerGroupMobile) : 1;
var spaceBetween = slide.dataset.margin && !isNaN(Number(slide.dataset.margin)) ? Number(slide.dataset.margin) : 0;
var spaceBetweenTablet = slide.dataset.marginTablet && !isNaN(Number(slide.dataset.marginTablet)) ? Number(slide.dataset.marginTablet) : 0;
var spaceBetweenMobile = slide.dataset.marginMobile && !isNaN(Number(slide.dataset.marginMobile)) ? Number(slide.dataset.marginMobile) : 0;
var speed = slide.dataset.speed && !isNaN(Number(slide.dataset.speed)) ? Number(slide.dataset.speed) : 400;
var direction = slide.dataset.direction || "horizontal";
var loop = slide.dataset.loop ? slide.dataset.loop === "true" : false;
var autoplay = slide.dataset.autoplay ? slide.dataset.autoplay === "true" : false;
var autoplaySpeed = slide.dataset.autoplaySpeed && !isNaN(Number(slide.dataset.autoplaySpeed)) ? Number(slide.dataset.autoplaySpeed) : 1;
var mousewheel = slide.dataset.mousewheel ? slide.dataset.mousewheel === "true" : false;
var simulateTouch = slide.dataset.simulateTouch ? slide.dataset.simulateTouch === "true" : false;
var parallax = slide.dataset.parallax ? slide.dataset.parallax === "true" : false;
var dotsClickable = slide.dataset.dotsClick ? slide.dataset.dotsClick === "true" : false;
var freeModes = slide.dataset.free ? slide.dataset.free === "true" : false;
var watchSlides = slide.dataset.watch ? slide.dataset.watch === "true" : false;
var forThumbs = slide.dataset.thumbs ? slide.dataset.thumbs : null;
var paginationEl = (controls === null || controls === void 0 ? void 0 : controls.querySelector(".swiper-pagination")) || slide.querySelector(".swiper-pagination");
var nextButton = (controls === null || controls === void 0 ? void 0 : controls.querySelector(".swiper-button-next")) || slide.querySelector(".swiper-button-next");
var prevButton = (controls === null || controls === void 0 ? void 0 : controls.querySelector(".swiper-button-prev")) || slide.querySelector(".swiper-button-prev");
var scrollBar = (controls === null || controls === void 0 ? void 0 : controls.querySelector(".swiper-scrollbar")) || slide.querySelector(".swiper-scrollbar");
var setOffsetFromImage = function setOffsetFromImage2(swiperInstance) {
var _swiperInstance$navig, _swiperInstance$navig2;
var activeSlide = swiperInstance.slides[swiperInstance.activeIndex];
var image = activeSlide === null || activeSlide === void 0 ? void 0 : activeSlide.querySelector(".product-media img");
var nextEl = (_swiperInstance$navig = swiperInstance.navigation) === null || _swiperInstance$navig === void 0 ? void 0 : _swiperInstance$navig.nextEl;
var prevEl = (_swiperInstance$navig2 = swiperInstance.navigation) === null || _swiperInstance$navig2 === void 0 ? void 0 : _swiperInstance$navig2.prevEl;
if (!image || !nextEl || !prevEl) return;
var updateOffset = function updateOffset2() {
var imageHeight = image.clientHeight;
if (imageHeight > 0) {
var offset = imageHeight / 2;
prevEl.style.setProperty("--swiper-navigation-top-offset", "".concat(offset, "px"));
nextEl.style.setProperty("--swiper-navigation-top-offset", "".concat(offset, "px"));
}
};
if (image.complete) {
updateOffset();
} else {
image.addEventListener("load", updateOffset);
}
window.addEventListener("resize", updateOffset);
};
var args = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
// Optional parameters
slidesPerView: itemsMobile,
slidesPerGroup: slidesPerGroupMobile,
direction,
loop,
speed,
spaceBetween: spaceBetweenMobile,
parallax,
watchSlidesProgress: true,
freeMode: freeModes,
observer: true
}, "watchSlidesProgress", watchSlides), "lazy", {
loadPrevNext: true,
// pre-loads the next image to avoid showing a loading placeholder if possible
loadPrevNextAmount: 2
//or, if you wish, preload the next 2 images
}), "pagination", {
el: paginationEl,
clickable: dotsClickable
}), "navigation", {
nextEl: nextButton,
prevEl: prevButton
}), "scrollbar", {
el: scrollBar
}), "mousewheel", mousewheel), "simulateTouch", simulateTouch), "slideVisibleClass", "slide-on-visible"), "breakpoints", {
// when window width is >= 320px
567: {
slidesPerView: itemsMobile,
spaceBetween: spaceBetweenMobile,
slidesPerGroup: slidesPerGroupMobile,
direction: "horizontal"
},
// when window width is >= 768px
768: {
slidesPerView: itemsTablet,
spaceBetween: spaceBetweenTablet,
slidesPerGroup: slidesPerGroupTablet,
direction: "horizontal"
},
// when window width is >= 1024px
1024: {
slidesPerView: items,
spaceBetween,
slidesPerGroup
}
}), "on", function on(el) {
el.slides.forEach(function(slide2) {
if (!slide2.classList.contains("slide-on-visible")) {
var firstChild = slide2.children[0];
if (firstChild && firstChild.classList.contains("inview-element")) {
firstChild.classList.remove("inview-element");
}
}
});
});
if (autoplay) {
args.autoplay = {
delay: autoplaySpeed,
disableOnInteraction: false,
pauseOnMouseEnter: true,
waitForTransition: true
};
}
if (forThumbs) {
args.thumbs = {
swiper: forThumbs
};
}
var swiper = new Swiper(slide, args);
setOffsetFromImage(swiper);
var hiddencontent = document.querySelectorAll(".product-hidden-content");
if (hiddencontent.length !== 0) {
ignavoThemeModule.productHiddenContent = function(slide) {
};
}
});
}
/* Countdown */
function klb_countdown($scope, $) {
var DateTime = luxon.DateTime;
var container = document.querySelectorAll(".site-countdown");
container.forEach(function(block) {
var date = block.getAttribute("data-date");
var format = block.getAttribute("data-format");
var timezone = block.getAttribute("data-timezone") || "local";
var countdownContainer = block.querySelector(".site-countdown-block") || block;
var ending = DateTime.fromFormat(date, format, {
zone: timezone
});
var interval;
function updateCountdown() {
var now = DateTime.now().setZone(timezone);
if (ending <= now) {
clearInterval(interval);
countdownContainer.classList.add("countdown-finished");
return;
}
var diff = ending.diff(now, ["days", "hours", "minutes", "seconds"]).toObject();
var days = block.querySelector(".countdown-time-days");
var hours = block.querySelector(".countdown-time-hours");
var minutes = block.querySelector(".countdown-time-minutes");
var seconds = block.querySelector(".countdown-time-seconds");
if (days) days.textContent = String(Math.floor(diff.days)).padStart(2, "0");
if (hours) hours.textContent = String(Math.floor(diff.hours)).padStart(2, "0");
if (minutes) minutes.textContent = String(Math.floor(diff.minutes)).padStart(2, "0");
if (seconds) seconds.textContent = String(Math.floor(diff.seconds)).padStart(2, "0");
}
if (ending <= DateTime.now().setZone(timezone)) {
countdownContainer.classList.add("countdown-finished");
} else {
updateCountdown();
interval = setInterval(updateCountdown, 1e3);
}
});
}
/* PRODUCT CONTENTFADE */
function klb_product_contentfade($scope, $) {
var el = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
var products = document.querySelectorAll(".product");
if (products !== null) {
products.forEach(function(product) {
var hiddenContent = product.querySelector(".product-hidden-content");
if (hiddenContent !== null) {
var hiddenFooter = product.querySelector(".product-footer.hidden-content");
if (hiddenContent !== null || hiddenFooter !== null) {
var themePaddingVar = getComputedStyle(document.documentElement).getPropertyValue("--theme-product-hidden-padding").trim();
var themePadding = parseFloat(themePaddingVar.replace("px", "")) || 0;
var hiddenFooterHeight = hiddenFooter.offsetHeight;
var totalOffset = themePadding + hiddenFooterHeight;
hiddenContent.style.bottom = "-".concat(totalOffset, "px");
if (el && typeof el.style !== 'undefined') {
product.addEventListener("mouseenter", function() {
el.style.setProperty("--product-hidden-offset", "".concat(totalOffset, "px"));
});
product.addEventListener("mouseleave", function() {
el.style.removeProperty("--product-hidden-offset");
});
}
}
}
});
}
}
jQuery(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-home-slider.default', klb_carousel);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-home-slider2.default', klb_carousel);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-carousel.default', klb_carousel);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-carousel2.default', klb_carousel);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-testimonial-carousel.default', klb_carousel);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-tab-carousel.default', klb_carousel);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-icon-slider.default', klb_carousel);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-home-slider.default', klb_countdown);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-carousel.default', klb_countdown);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-carousel2.default', klb_countdown);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-tab-carousel.default', klb_countdown);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-grid.default', klb_countdown);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-banner.default', klb_countdown);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-banner2.default', klb_countdown);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-tab-carousel.default', klb_product_contentfade);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-carousel.default', klb_product_contentfade);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-carousel2.default', klb_product_contentfade);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-grid.default', klb_product_contentfade);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-banner.default', klb_product_contentfade);
elementorFrontend.hooks.addAction('frontend/element_ready/ignavo-product-banner2.default', klb_product_contentfade);
});
})(jQuery);