OwlCyberSecurity - MANAGER
Edit File: hotspots.min.js
class LaStudioKit_Hotspots extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{hotspot:".lakit-hotspot",tooltip:".lakit-hotspot__tooltip"}}}getDefaultElements(){const t=this.getSettings("selectors");return{$hotspot:this.$element.find(t.hotspot),$hotspotsExcludesLinks:this.$element.find(t.hotspot).filter(":not(.lakit-hotspot--no-tooltip)"),$tooltip:this.$element.find(t.tooltip),$templateRoot:this.$element.closest(".elementor[data-elementor-id]"),$parentSwiper:this.$element.closest(".swiper-container")}}bindEvents(){const t=this.getCurrentDeviceSetting("tooltip_trigger"),e="mouseenter"===t?"mouseleave mouseenter":t;"none"!==e&&this.elements.$hotspotsExcludesLinks.on(e,(t=>this.onHotspotTriggerEvent(t))),this.$element.on("touchend",(t=>{0===jQuery(t.target).closest(".lakit-hotspot").length&&jQuery(".elementor-element-"+this.getID()+" .lakit-hotspot").removeClass("lakit-hotspot--active")}))}onDeviceModeChange(){this.elements.$hotspotsExcludesLinks.off(),this.bindEvents()}onHotspotTriggerEvent(t){if("mouseleave"===t.type&&("ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0))return!1;const e=t.currentTarget.getAttribute("data-id"),o=jQuery(t.target),i=o.closest(".lakit-hotspot__button").length,n="mouseleave"===t.type&&(o.is(".lakit-hotspot--tooltip-position")||o.parents(".lakit-hotspot--tooltip-position").length),s="mobile"===elementorFrontend.getCurrentDeviceMode(),l=!(o.closest(".lakit-hotspot--link").length&&s&&("mouseleave"===t.type||"mouseenter"===t.type)),a=jQuery(".elementor-element-fake-"+this.getID()+" .lakit-hotspot");if(l&&(i||n)){const t=this.elements.$hotspot.filter("[data-id="+e+"]"),o=a.filter("[data-id="+e+"]");this.elements.$hotspot.not(t).removeClass("lakit-hotspot--active"),a.not(o).removeClass("lakit-hotspot--active"),t.hasClass("lakit-hotspot--active")?(t.removeClass("lakit-hotspot--active"),o.removeClass("lakit-hotspot--active")):(this.setupPositionForRelativeToolTip(t.find(".lakit-hotspot__tooltip"),o.find(".lakit-hotspot__tooltip")),t.addClass("lakit-hotspot--active"),o.addClass("lakit-hotspot--active"))}}editorAddSequencedAnimation(){this.elements.$hotspot.toggleClass("lakit-hotspot--sequenced","yes"===this.getElementSettings("hotspot_sequenced_animation"))}hotspotSequencedAnimation(){const t=this.getElementSettings();if("no"===t.hotspot_sequenced_animation)return;const e=elementorModules.utils.Scroll.scrollObserver({callback:o=>{o.isInViewport&&(e.unobserve(this.$element[0]),this.elements.$hotspot.each(((e,o)=>{if(0===e)return;const i=t.hotspot_sequenced_animation_duration,n=e*((i?i.size:1e3)/this.elements.$hotspot.length);o.style.animationDelay=n+"ms"})))}});e.observe(this.$element[0])}setTooltipPositionControl(t){var e=this;const o=this.getElementSettings();void 0!==o.tooltip_animation&&o.tooltip_animation.match(/^lakit-hotspot--(slide|fade)-direction/)&&(this.elements.$tooltip.removeClass("lakit-hotspot--tooltip-animation-from-left lakit-hotspot--tooltip-animation-from-top lakit-hotspot--tooltip-animation-from-right lakit-hotspot--tooltip-animation-from-bottom"),this.elements.$tooltip.addClass("lakit-hotspot--tooltip-animation-from-"+o.tooltip_position));const i=this.elements.$templateRoot.data("elementor-id");0===jQuery(".elementor-fake-"+i).length&&jQuery("body").append('<div class="elementor elementor-'+i+" elementor-root-fake elementor-fake-"+i+'"></div>');const n=jQuery(".elementor-fake-"+i);0===jQuery(".elementor-element-fake-"+this.getID()).length&&n.append('<div class="elementor-element-fake elementor-element elementor-element-'+this.getID()+" elementor-element-fake-"+this.getID()+'"></div>');const s=jQuery(".elementor-element-fake-"+this.getID());s.empty(),this.elements.$hotspot.each(((t,e)=>{const o=jQuery(e).clone();o.find(".lakit-hotspot__button").remove(),o.addClass("lakit-hotspot--fake"),o.appendTo(s)}));const l=()=>{let t=this.elements.$tooltip;this.$element.closest(".swiper-slide").length>0&&(t=this.$element.closest(".swiper-slide.swiper-slide-visible").find(".lakit-hotspot__tooltip")),t.each((function(t,o){let i=jQuery(".elementor-element-fake.elementor-element-"+e.getID()+" .lakit-hotspot__tooltip[data-id="+o.getAttribute("data-id")+"]");LaStudioKits.isInViewport(o)?e.setupPositionForRelativeToolTip(jQuery(o),i):i.css({visibility:"hidden"})}))};if("mouseenter"===this.getCurrentDeviceSetting("tooltip_trigger")){jQuery(".elementor-element-fake-"+this.getID()+" .lakit-hotspot").on("mouseleave",(t=>this.onHotspotTriggerEvent(t)))}t?l():document.addEventListener("DOMContentLoaded",l),window.addEventListener("resize",l),window.addEventListener("scroll",l)}onInit(){super.onInit(...arguments),this.hotspotSequencedAnimation(),this.setTooltipPositionControl(!1),window.elementor&&elementor.listenTo(elementor.channels.deviceMode,"change",(()=>this.onDeviceModeChange()))}onElementChange(t){t.startsWith("tooltip_position")&&this.setTooltipPositionControl(!0),t.startsWith("hotspot_sequenced_animation")&&this.editorAddSequencedAnimation()}setupPositionForRelativeToolTip(t,e){let o=t.get(0).getBoundingClientRect(),i={left:o.left,top:o.top,width:o.width,right:"initial",bottom:"initial",display:"flex",visibility:"inherit"};o.left<=10?i.left=10:o.left+o.width>window.innerWidth&&(i.left=window.innerWidth-o.width-10),e.css(i)}}jQuery(window).on("elementor/frontend/init",(()=>{elementorFrontend.hooks.addAction("frontend/element_ready/lakit-hotspots.default",(t=>{elementorFrontend.elementsHandler.addHandler(LaStudioKit_Hotspots,{$element:t})})),jQuery(document).on("lastudio-kit/carousel/init_success",(function(t,{swiperContainer:e,SwiperInstance:o}){e.find(".elementor-widget-lakit-hotspots").length&&(jQuery(".swiper-slide-duplicate .elementor-widget-lakit-hotspots",e).each((function(){window.elementorFrontend.hooks.doAction("frontend/element_ready/lakit-hotspots.default",jQuery(this),jQuery)})),o.on("slideChangeTransitionStart",(function(){jQuery(".lakit-hotspot").removeClass("lakit-hotspot--active")})))}))}));