UNPKG

primevue

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/primevue.svg)](https://badge.fury.io/js/primevue) [![Discord Chat](https://img.shields.io/discord/55794023

2 lines (1 loc) 2.8 kB
import{DomHandler as e}from"primevue/utils";function s(s,t){s.$_pstyleclass_clicklistener=()=>{const n=function(e,s){switch(s.value.selector){case"@next":return e.nextElementSibling;case"@prev":return e.previousElementSibling;case"@parent":return e.parentElement;case"@grandparent":return e.parentElement.parentElement;default:return document.querySelector(s.value.selector)}}(s,t);t.value.toggleClass?e.hasClass(n,t.value.toggleClass)?e.removeClass(n,t.value.toggleClass):e.addClass(n,t.value.toggleClass):null===n.offsetParent?function(s,t,n){n.value.enterActiveClass?s.$_pstyleclass_animating||(s.$_pstyleclass_animating=!0,"slidedown"===n.value.enterActiveClass&&(s.style.height="0px",e.removeClass(s,"hidden"),s.style.maxHeight=s.scrollHeight+"px",e.addClass(s,"hidden"),s.style.height=""),e.addClass(s,n.value.enterActiveClass),n.value.enterClass&&e.removeClass(s,n.value.enterClass),s.$p_styleclass_enterlistener=()=>{e.removeClass(s,n.value.enterActiveClass),n.value.enterToClass&&e.addClass(s,n.value.enterToClass),s.removeEventListener("animationend",s.$p_styleclass_enterlistener),"slidedown"===n.value.enterActiveClass&&(s.style.maxHeight=""),s.$_pstyleclass_animating=!1},s.addEventListener("animationend",s.$p_styleclass_enterlistener)):(n.value.enterClass&&e.removeClass(s,n.value.enterClass),n.value.enterToClass&&e.addClass(s,n.value.enterToClass));n.value.hideOnOutsideClick&&function(e,s,t){e.$p_styleclass_documentlistener||(e.$p_styleclass_documentlistener=n=>{"static"===getComputedStyle(e).getPropertyValue("position")?a(e):s.isSameNode(n.target)||s.contains(n.target)||e.contains(n.target)||l(e,t)},e.ownerDocument.addEventListener("click",e.$p_styleclass_documentlistener))}(s,t,n)}(n,s,t):l(n,t)},s.addEventListener("click",s.$_pstyleclass_clicklistener)}function l(s,l){l.value.leaveActiveClass?s.$_pstyleclass_animating||(s.$_pstyleclass_animating=!0,e.addClass(s,l.value.leaveActiveClass),l.value.leaveClass&&e.removeClass(s,l.value.leaveClass),s.$p_styleclass_leavelistener=()=>{e.removeClass(s,l.value.leaveActiveClass),l.value.leaveToClass&&e.addClass(s,l.value.leaveToClass),s.removeEventListener("animationend",s.$p_styleclass_leavelistener),s.$_pstyleclass_animating=!1},s.addEventListener("animationend",s.$p_styleclass_leavelistener)):(l.value.leaveClass&&e.removeClass(s,l.value.leaveClass),l.value.leaveToClass&&e.addClass(s,l.value.leaveToClass)),l.value.hideOnOutsideClick&&a(s)}function a(e){e.$p_styleclass_documentlistener&&(e.ownerDocument.removeEventListener("click",e.$p_styleclass_documentlistener),e.$p_styleclass_documentlistener=null)}const t={mounted(e,l){s(e,l)},unmounted(e){!function(e){e.$_pstyleclass_clicklistener&&(e.addEventListener("click",e.$_pstyleclass_clicklistener),e.$_pstyleclass_clicklistener=null),a(e)}(e)}};export default t;