"use strict"; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } window.Happy = window.Happy || {}; (function ($, Happy, w) { var $window = $(w); $(function () { var $container = $('.ha-fsb-container'); if ($container.length > 0) { if (window.history && window.history.pushState) { ha_manage_fsb(); } ; $(document.body).on("added_to_cart", function (event, fragments, cart_hash, $button) { ha_manage_fsb(); }); $(document.body).on("removed_from_cart", function (event, fragments, cart_hash, $button) { ha_manage_fsb(); }); } function ha_manage_fsb() { $.ajax({ url: HappyProLocalize.ajax_url, type: "POST", data: { action: "ha_get_cart_subtotal_action", security: HappyProLocalize.nonce }, success: function success(response) { var $data = JSON.parse(response); var $subTotalAmount = $data.subTotalAmount; if ($data.status == 'true' && $subTotalAmount >= 0) { var $container = $('.ha-fsb-container'); var $elem = $container.find('.ha-fsb-size'); var $settings = $container.data('fsb_settings'); if ($settings != undefined) { var $aimationSpeed = $settings.hasOwnProperty('ha_fsb_animation_speed') ? $settings.ha_fsb_animation_speed : 15; var $progressType = $settings.hasOwnProperty('progress_type') ? $settings.progress_type : 'percent'; var $currencySymbol = $settings.hasOwnProperty('currencySymbol') && $progressType == 'percent' ? '%' : $settings.currencySymbol; var $targetAmount = $settings.hasOwnProperty('target_amount') ? $settings.target_amount : 0; var $totalPercent = 0; if (parseFloat($subTotalAmount) >= parseFloat($targetAmount)) { $totalPercent = 100; } else { if (parseFloat($targetAmount) == 0) { $totalPercent = 0; } else { $totalPercent = parseFloat($subTotalAmount) * 100 / parseFloat($targetAmount); } } $totalPercent = parseFloat(Math.round($totalPercent)) >= 100 ? 100 : parseFloat(Math.round($totalPercent)); var $progressText = $progressType == 'percent' ? $totalPercent : $subTotalAmount; var defaultWidth = $(window).width() <= 768 ? 12 : 5; if ($totalPercent > 0) { $elem.text($progressText + $currencySymbol); $elem.css({ 'width': $totalPercent + "%", 'transition': 'width ' + $aimationSpeed + 'ms ease-in-out' }); } fsbMessageControl($totalPercent); if ($progressText <= 0) { $elem.css('width', +defaultWidth + "%"); $elem.text('0' + $currencySymbol); } } } }, error: function error(_error) {} }); } ; function fsbMessageControl() { var totalPercent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var fsbContainer = $('.ha-fsb-container'); var settings = fsbContainer.data('fsb_settings'); if (fsbContainer && settings) { if (totalPercent >= 100) { $('.ha-fsb-inner-content').html(settings.fsb_success_message); } else { $('.ha-fsb-inner-content').html(settings.announcement); } } } ; function log(event, item, level) { $(document).on(event, item, level); } var e; e = $(".ha-menu-container"); $(e).each(function () { var button = $(this); if ("yes" != button.attr("ha-dom-added")) { if (0 === button.parents(".elementor-widget-ha-nav-menu").length) { button.parents(".ha-wid-con").addClass("ha_menu_responsive_tablet"); } button.attr("ha-dom-added", "yes"); } }); /* $(".ha-dropdown-has > a").on("click", function(event) { if (!$(this).parents(".ha-navbar-nav, .ha-vertical-navbar-nav").hasClass("submenu-click-on-icon") || $(event.target).hasClass("ha-submenu-indicator-wrap")) { event.preventDefault(); var $oElemDragged = $(this).parent().find(">.ha-dropdown, >.ha-megamenu-panel"); $oElemDragged.find(".ha-dropdown-open").removeClass("ha-dropdown-open"); if ($oElemDragged.hasClass("ha-dropdown-open")) { $oElemDragged.removeClass("ha-dropdown-open"); } else { $oElemDragged.addClass("ha-dropdown-open"); } } }); */ $(".ha-dropdown-has > a").on("click", function (event) { var dropdownHref = $(this).attr("href"); if (dropdownHref === "#" || typeof dropdownHref === "undefined") { event.preventDefault(); var $oElemDragged = $(this).parent().find(">.ha-dropdown, >.ha-megamenu-panel"); $oElemDragged.find(".ha-dropdown-open").removeClass("ha-dropdown-open"); if ($oElemDragged.hasClass("ha-dropdown-open")) { $oElemDragged.removeClass("ha-dropdown-open"); } else { $oElemDragged.addClass("ha-dropdown-open"); } } else { if (!$(this).parents(".ha-navbar-nav, .ha-vertical-navbar-nav").hasClass("submenu-click-on-icon") || $(event.target).hasClass("ha-submenu-indicator-wrap")) { event.preventDefault(); var $oElemDragged = $(this).parent().find(">.ha-dropdown, >.ha-megamenu-panel"); $oElemDragged.find(".ha-dropdown-open").removeClass("ha-dropdown-open"); if ($oElemDragged.hasClass("ha-dropdown-open")) { $oElemDragged.removeClass("ha-dropdown-open"); } else { $oElemDragged.addClass("ha-dropdown-open"); } } } }); // $(".ha-menu-toggler").on("click", function(event) { // event.preventDefault(); // var el_form_group = $(this).parents(".ha-menu-container").parent(); // if (el_form_group.length < 1) { // el_form_group = $(this).parent(); // } // var $wrapElement = el_form_group.find(".ha-menu-offcanvas-elements"); // if ($wrapElement.hasClass("active")) { // $wrapElement.removeClass("active"); // } else { // $wrapElement.addClass("active"); // } // }); $(".ha-navbar-nav li a").on("click", function (event) { if (!$(this).attr("href") && "ha-submenu-indicator-wrap" == event.target.className) { var thirdItem = $(this); var lnk = thirdItem.get(0); var oldUrl = lnk.href; var sepor = oldUrl.indexOf("#"); var s = thirdItem.parents(".ha-menu-container").hasClass("ha-nav-menu-one-page-yes"); if (-1 !== sepor && oldUrl.length > 1 && s && lnk.pathname == window.location.pathname) { event.preventDefault(); thirdItem.parents(".ha-wid-con").find(".ha-menu-close").trigger("click"); } } }); }); function debounce(func, wait, immediate) { var timeout; return function () { var context = this, args = arguments; var later = function later() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } $window.on("elementor/frontend/init", function () { if (typeof haDisplayCondition != "undefined" && haDisplayCondition.status == "true") { // Set user time in cookie var HappyLocalTimeZone = new Date().toString().match(/([A-Z]+[\+-][0-9]+.*)/)[1]; var ha_secure = document.location.protocol === "https:" ? "secure" : ""; document.cookie = "HappyLocalTimeZone=" + HappyLocalTimeZone + ";SameSite=Strict;" + ha_secure; } else { var now = new Date(); now.setTime(now.getTime() - 1000 * 3600); document.cookie = "HappyLocalTimeZone=;expires=" + now.toUTCString() + ";"; } if (typeof haDisplayConditionInitialLoad != "undefined" && haDisplayConditionInitialLoad.status == true) { if (typeof haDisplayConditionInitialLoad.date != "undefined" && haDisplayConditionInitialLoad.date != "") { var ha_secure = document.location.protocol === "https:" ? "secure" : ""; document.cookie = haDisplayConditionInitialLoad.name_1 + "=" + haDisplayConditionInitialLoad.value_1 + ";expires=" + haDisplayConditionInitialLoad.date + ";" + ha_secure; document.cookie = haDisplayConditionInitialLoad.name + "=" + haDisplayConditionInitialLoad.value + ";expires=" + haDisplayConditionInitialLoad.date + ";" + ha_secure; } else { var ha_secure = document.location.protocol === "https:" ? "secure" : ""; document.cookie = haDisplayConditionInitialLoad.name_1 + "=" + haDisplayConditionInitialLoad.value_1 + ";" + ha_secure; document.cookie = haDisplayConditionInitialLoad.name + "=" + haDisplayConditionInitialLoad.value + ";" + ha_secure; } } var CountDown = function CountDown($scope) { var $item = $scope.find(".ha-countdown"); var $countdown_item = $item.find(".ha-countdown-item"); var $end_action = $item.data("end-action"); var $redirect_link = $item.data("redirect-link"); var $end_action_div = $item.find(".ha-countdown-end-action"); var $editor_mode_on = $scope.hasClass("elementor-element-edit-mode"); $item.countdown({ end: function end() { if (("message" === $end_action || "img" === $end_action) && $end_action_div !== undefined) { $countdown_item.css("display", "none"); $end_action_div.css("display", "block"); } else if ("url" === $end_action && $redirect_link !== undefined && $editor_mode_on !== true) { window.location.replace($redirect_link); } } }); }; var SliderBase = elementorModules.frontend.handlers.Base.extend({ onInit: function onInit() { elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function getDefaultSettings() { return { selectors: { container: ".ha-slider-container" } }; }, getDefaultElements: function getDefaultElements() { var selectors = this.getSettings("selectors"); return { $container: this.$element.find(selectors.container) }; }, getReadySettings: function getReadySettings() { var $this = this; var slidesPerView = parseInt(this.getElementSettings("slides_per_view")) || 1; if (this.getElementSettings("thumbs_navigation") == "yes") { var selectorThumbs = this.elements.$container.find(".ha-slider-gallery-thumbs"); var haGallaryThumbs = new HaSwiper(selectorThumbs[0], { spaceBetween: this.getElementSettings("space_between_thumbs"), freeMode: true, watchSlidesVisibility: true, watchSlidesProgress: true }); } // TODO: Need to fix that in future. Currently, Disabled var tempEffect = this.getElementSettings("effect"); if (tempEffect == 'cube') { tempEffect = false; } var settings = { direction: this.getElementSettings("slider_direction"), slidesPerView: slidesPerView || 1, spaceBetween: parseInt(this.getElementSettings("space_between_slides")) || 0, loop: !!(this.getElementSettings("infinity_loop") || false), speed: parseInt(this.getElementSettings("effect_speed")), effect: this.getElementSettings("slider_type") == "multiple" ? this.getElementSettings("effect_multiple") : tempEffect, ha_animation: this.getElementSettings("slider_content_animation"), sliderType: this.getElementSettings("slider_type") }; if (this.getElementSettings("effect") == "flip") { settings.flipEffect = { limitRotation: true, slideShadows: true }; } // TODO: Need to fix that in future. Currently, Disabled // if (this.getElementSettings("effect") == "cube") { // settings.cubeEffect = { // shadow: true, // slideShadows: true, // shadowOffset: 20, // shadowScale: 0.94, // }; // } if (this.getElementSettings("effect_multiple") == "coverflow") { settings.coverflowEffect = { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: true }; } if (this.getElementSettings("slider_type") == "multiple") { var bpObj = { desktop: { slidesPerView: slidesPerView || 1, spaceBetween: parseInt(this.getElementSettings("space_between_slides")) || 0 } }; var breakpoints = elementorFrontend.config.responsive.breakpoints; $.each(breakpoints, function (idx, val) { if (val.is_enabled) { bpObj[idx] = { screenSize: val.value, slidesPerView: parseInt($this.getElementSettings("slides_per_view_" + idx)) || slidesPerView, spaceBetween: parseInt($this.getElementSettings("space_between_slides_" + idx)) || 0 }; } }); settings.customBreakpoints = bpObj; settings.customMultiple = true; } if (this.getElementSettings("autoplay") == "yes") { settings.autoplay = { delay: this.getElementSettings("autoplay_speed"), disableOnInteraction: false, stopOnLastSlide: !(this.getElementSettings("infinity_loop") || false) }; } if (this.getElementSettings("arrow_navigation") == "yes") { var selectorNext = this.elements.$container.find(".ha-slider-next"); var selectorPrev = this.elements.$container.find(".ha-slider-prev"); settings.navigation = { nextEl: selectorNext[0], prevEl: selectorPrev[0] }; } if (this.getElementSettings("pagination_type") == "dots") { var selectorPagi = this.elements.$container.find(".ha-slider-pagination"); settings.pagination = { el: selectorPagi[0], clickable: true }; } if (this.getElementSettings("pagination_type") == "progressbar") { var selectorPagi = this.elements.$container.find(".ha-slider-pagination"); settings.pagination = { el: selectorPagi[0], clickable: true, type: "progressbar" }; } if (this.getElementSettings("pagination_type") == "numbers") { var selectorPagi = this.elements.$container.find(".ha-slider-pagination"); settings.pagination = { el: selectorPagi[0], clickable: true, type: this.getElementSettings("number_pagination_type"), renderBullet: function renderBullet(index, className) { return '' + (index + 1) + ""; }, renderFraction: function renderFraction(currentClass, totalClass) { return '' + "/" + ''; } }; } if (this.getElementSettings("scroll_bar") == "yes") { var selectorScroll = this.elements.$container.find(".ha-slider-scrollbar"); settings.scrollbar = { el: selectorScroll[0], hide: this.getElementSettings("scroll_bar_visibility") == "true", draggable: true }; } if (this.getElementSettings("thumbs_navigation") == "yes") { settings.thumbs = { swiper: haGallaryThumbs }; } return $.extend({}, settings); }, run: function run() { var elContainer = this.elements.$container; var slider = elContainer.find(".ha-slider-container"); var readySettings = this.getReadySettings(); var sliderObj = new HaSwiper(slider[0], readySettings); if (readySettings.customMultiple) { $(window).on('resize', function () { var mode = $('body').attr('data-elementor-device-mode'); sliderObj.params.slidesPerView = readySettings.customBreakpoints[mode].slidesPerView; sliderObj.params.spaceBetween = readySettings.customBreakpoints[mode].spaceBetween; sliderObj.update(); }).resize(); } sliderObj.on("slideChange", function () { if (readySettings.sliderType == "multiple") { return; } var aI = sliderObj.activeIndex; var elSlide = elContainer.find(".ha-slider-slide"); var elSlideContent = elContainer.find(".ha-slider-content"); var currentSlide = elSlideContent.eq(aI); currentSlide.hide(); if (currentSlide.length <= 0) {} setTimeout(function () { currentSlide.show(); }, readySettings.speed); elSlide.eq(aI).find(".elementor-invisible, .animated").each(function (e, t) { var i = $(this).data("settings"); if (i && (i._animation || i.animation)) { var n = i._animation_delay ? i._animation_delay : 0, a = i._animation || i.animation; $(this).removeClass("elementor-invisible"); $(this).addClass(a + " animated"); } }); }); sliderObj.on("transitionEnd", function () { var aI = sliderObj.activeIndex; var elSlide = elContainer.find(".ha-slider-slide"); var elSlideContent = elContainer.find(".ha-slider-content"); var currentSlide = elSlideContent.eq(aI); setTimeout(function () { elSlide.eq(aI).find(".animated").each(function (e, t) { var i = $(this).data("settings"); if (i && (i._animation || i.animation)) { var n = i._animation_delay ? i._animation_delay : 0, a = i._animation || i.animation; $(this).removeClass(a); } }); }, readySettings.speed); }); } }); var CarouselBase = elementorModules.frontend.handlers.Base.extend({ onInit: function onInit() { elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function getDefaultSettings() { return { selectors: { container: ".ha-carousel-container" }, arrows: false, dots: false, checkVisible: false, infinite: true, slidesToShow: 3, rows: 0, prevArrow: '', nextArrow: '' }; }, getDefaultElements: function getDefaultElements() { var selectors = this.getSettings("selectors"); return { $container: this.findElement(selectors.container) }; }, onElementChange: function onElementChange() { this.elements.$container.slick("unslick"); this.run(); }, getReadySettings: function getReadySettings() { var $rtl = $('html[dir="rtl"]').length == 1 || $('body').hasClass('rtl'); if ('yes' == this.getElementSettings('vertical')) { $rtl = false; // for vertical direction rtl is off } var settings = { infinite: !!this.getElementSettings("loop"), autoplay: !!this.getElementSettings("autoplay"), autoplaySpeed: this.getElementSettings("autoplay_speed"), speed: this.getElementSettings("animation_speed"), centerMode: !!this.getElementSettings("center"), vertical: !!this.getElementSettings("vertical"), //slidesToScroll: 1, rtl: $rtl }; switch (this.getElementSettings("navigation")) { case "arrow": settings.arrows = true; break; case "dots": settings.dots = true; break; case "both": settings.arrows = true; settings.dots = true; break; } var slides_to_scroll = !!this.getElementSettings('slides_to_scroll'); settings.slidesToShow = parseInt(this.getElementSettings("slides_to_show")) || 1; settings.slidesToScroll = slides_to_scroll ? parseInt(this.getElementSettings('slides_to_show')) || 1 : 1; settings.responsive = [{ breakpoint: elementorFrontend.config.breakpoints.lg, settings: { slidesToShow: parseInt(this.getElementSettings("slides_to_show_tablet")) || settings.slidesToShow, slidesToScroll: slides_to_scroll ? parseInt(this.getElementSettings('slides_to_show_tablet')) || settings.slidesToShow : 1 } }, { breakpoint: elementorFrontend.config.breakpoints.md, settings: { slidesToShow: parseInt(this.getElementSettings("slides_to_show_mobile")) || parseInt(this.getElementSettings("slides_to_show_tablet")) || settings.slidesToShow, slidesToScroll: slides_to_scroll ? parseInt(this.getElementSettings('slides_to_show_mobile')) || parseInt(this.getElementSettings('slides_to_show_tablet')) || settings.slidesToShow : 1 } }]; return $.extend({}, this.getSettings(), settings); }, run: function run() { this.elements.$container.slick(this.getReadySettings()); } }); // Source Code var SourceCode = function SourceCode($scope) { var $item = $scope.find('.ha-source-code'); var $lng_type = $item.data('lng-type'); var $after_copy_text = $item.data('after-copy'); var $code = $item.find('code.language-' + $lng_type); var $copy_btn = $scope.find('.ha-copy-code-button'); $copy_btn.on('click', function () { var $temp = $("