"use strict";(()=>{const initVisibility=($e)=>{const e=$e[0];if(!$e.hasClass("dce-visibility-event")||$e.hasClass("dce-visibility-event-initialized")){return}
$e.addClass("dce-visibility-event-initialized");const settings=JSON.parse(e.dataset.settings);const shouldHide=settings.dce_visibility_selected==="hide";const triggerElement=settings.dce_visibility_click;const triggerEvent=settings.dce_visibility_event;const triggerAnimation=settings.dce_visibility_click_show;const hideOther=settings.dce_visibility_click_other;const showOnLoad=settings.dce_visibility_load==="yes";const isToggle=settings.dce_visibility_click_toggle==="yes";const showOnLoadDelay=settings.dce_visibility_load_delay;const showOnLoadAnimation=settings.dce_visibility_load_show;const $hideOther=jQuery(hideOther).not($e);const transitionDelay=settings.dce_visibility_event_transition_delay;let hideOtherAlreadyHandled=!1;const afterShow=()=>{elementorFrontend.elementsHandler.runReadyTrigger($e)};const toggle=()=>{if($e.hasClass("dce-visibility-element-hidden")){$e.removeClass("dce-visibility-element-hidden");$e.hide()}
if(triggerAnimation==="slide"){$e.delay(transitionDelay).slideToggle(transitionDelay,afterShow,)}else if(triggerAnimation==="fade"){$e.delay(transitionDelay).fadeToggle(transitionDelay,afterShow,)}else{$e.toggle();afterShow()}};const show=()=>{$e.removeClass("dce-visibility-element-hidden");$e.hide();if(triggerAnimation==="slide"){$e.delay(transitionDelay).slideDown(transitionDelay,afterShow)}else if(triggerAnimation==="fade"){$e.delay(transitionDelay).fadeIn(transitionDelay,afterShow)}else{$e.show();afterShow()}};const hide=()=>{if(triggerAnimation==="slide"){$e.delay(transitionDelay).slideUp(transitionDelay)}else if(triggerAnimation==="fade"){$e.delay(transitionDelay).fadeOut(transitionDelay)}else{$e.hide()}};const hideOtherElements=(callback)=>{if(triggerAnimation==="slide"){$hideOther.delay(transitionDelay).slideUp(transitionDelay,callback)}else if(triggerAnimation==="fade"){$hideOther.delay(transitionDelay).fadeOut(transitionDelay,callback)}else{$hideOther.hide();callback()}};const triggerEventCallback=(event)=>{const $clickedElement=jQuery(event.target);const href=$clickedElement.attr('href')||$clickedElement.closest('a').attr('href');const isAnchorLink=href&&href.startsWith('#');if(!isAnchorLink||href==='#'){event.preventDefault()}
const triggerFun=isToggle?toggle:shouldHide?hide:show;if(hideOther&&!hideOtherAlreadyHandled){hideOtherElements(triggerFun)}else{triggerFun()}};const handleHideOthers=($triggerElement)=>{let hideOthers=$triggerElement.data("dce-hide-others")||{};if(hideOthers[hideOther]){hideOtherAlreadyHandled=!0}else{hideOthers[hideOther]=!0;$triggerElement.data("dce-hide-others",hideOthers)}};if(triggerElement){let $triggerElement=jQuery(triggerElement);if(hideOther){handleHideOthers($triggerElement)}
$triggerElement.on(triggerEvent,triggerEventCallback)}
if(showOnLoad){setTimeout(()=>{if(shouldHide){hide();return}
$e.removeClass("dce-visibility-element-hidden");$e.hide();if(showOnLoadAnimation==="slide"){$e.slideToggle(transitionDelay,afterShow)}else if(showOnLoadAnimation==="fade"){$e.fadeToggle(transitionDelay,afterShow)}else{$e.toggle();afterShow()}},showOnLoadDelay)}};jQuery(window).on("elementor/frontend/init",()=>{elementorFrontend.hooks.addAction("frontend/element_ready/global",initVisibility,)})})();