primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 6.11 kB
JavaScript
;var e=require("primevue/utils");let t;function o(e){e.$_ptooltipModifiers.focus?(e.addEventListener("focus",p),e.addEventListener("blur",a)):(e.addEventListener("mouseenter",i),e.addEventListener("mouseleave",n),e.addEventListener("click",r)),e.addEventListener("keydown",u)}function l(e){e.$_ptooltipModifiers.focus?(e.removeEventListener("focus",p),e.removeEventListener("blur",a)):(e.removeEventListener("mouseenter",i),e.removeEventListener("mouseleave",n),e.removeEventListener("click",r)),e.removeEventListener("keydown",u)}function i(e){const t=e.currentTarget;s(t,t.$_ptooltipShowDelay)}function n(e){const t=e.currentTarget;v(t,t.$_ptooltipHideDelay)}function p(e){const t=e.currentTarget;s(t,t.$_ptooltipShowDelay)}function a(e){const t=e.currentTarget;v(t,t.$_ptooltipHideDelay)}function r(e){const t=e.currentTarget;v(t,t.$_ptooltipHideDelay)}function u(e){"Escape"===e.code&&v(e.currentTarget,hideDelay)}function d(t){if(t.$_ptooltipDisabled)return;let o=function(t){const o=""!==t.$_ptooltipIdAttr?t.$_ptooltipIdAttr:e.UniqueComponentId()+"_tooltip";t.$_ptooltipId=o;let l=document.createElement("div");l.id=o;let i=document.createElement("div");i.className="p-tooltip-arrow",l.appendChild(i);let n=document.createElement("div");n.className="p-tooltip-text",t.$_ptooltipEscape?n.innerHTML=t.$_ptooltipValue:(n.innerHTML="",n.appendChild(document.createTextNode(t.$_ptooltipValue)));l.setAttribute("role","tooltip"),l.appendChild(n),document.body.appendChild(l),l.style.display="inline-block",t.$_ptooltipFitContent&&(l.style.width="fit-content");return l}(t);!function(e){const t=e.$_ptooltipModifiers;t.top?(y(e),h(e)&&(H(e),h(e)&&y(e))):t.left?(g(e),h(e)&&(_(e),h(e)&&(y(e),h(e)&&(H(e),h(e)&&g(e))))):t.bottom?(H(e),h(e)&&(y(e),h(e)&&H(e))):(_(e),h(e)&&(g(e),h(e)&&(y(e),h(e)&&(H(e),h(e)&&_(e)))))}(t),e.DomHandler.fadeIn(o,250),window.addEventListener("resize",(function o(){e.DomHandler.isTouchDevice()||v(t),this.removeEventListener("resize",o)})),function(t){t.$_ptooltipScrollHandler||(t.$_ptooltipScrollHandler=new e.ConnectedOverlayScrollHandler(t,(function(){v(t)}))),t.$_ptooltipScrollHandler.bindScrollListener()}(t),e.ZIndexUtils.set("tooltip",o,t.$_ptooltipZIndex)}function s(e,o){void 0!==o?t=setTimeout((()=>d(e)),o):d(e)}function c(e){m(e),function(e){e.$_ptooltipScrollHandler&&e.$_ptooltipScrollHandler.unbindScrollListener()}(e)}function v(e,o){clearTimeout(t),void 0!==o?setTimeout((()=>c(e)),o):c(e)}function f(e){return document.getElementById(e.$_ptooltipId)}function m(t){if(t){let o=f(t);o&&o.parentElement&&(e.ZIndexUtils.clear(o),document.body.removeChild(o)),t.$_ptooltipId=null}}function $(t){let o=t.getBoundingClientRect();return{left:o.left+e.DomHandler.getWindowScrollLeft(),top:o.top+e.DomHandler.getWindowScrollTop()}}function _(t){D(t,"right");let o=f(t),l=$(t),i=l.left+e.DomHandler.getOuterWidth(t),n=l.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(o))/2;o.style.left=i+"px",o.style.top=n+"px"}function g(t){D(t,"left");let o=f(t),l=$(t),i=l.left-e.DomHandler.getOuterWidth(o),n=l.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(o))/2;o.style.left=i+"px",o.style.top=n+"px"}function y(t){D(t,"top");let o=f(t),l=$(t),i=l.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(o))/2,n=l.top-e.DomHandler.getOuterHeight(o);o.style.left=i+"px",o.style.top=n+"px"}function H(t){D(t,"bottom");let o=f(t),l=$(t),i=l.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(o))/2,n=l.top+e.DomHandler.getOuterHeight(t);o.style.left=i+"px",o.style.top=n+"px"}function D(e,t){let o=f(e);o.style.left="-999px",o.style.top="-999px",o.className=`p-tooltip p-component p-tooltip-${t} ${e.$_ptooltipClass||""}`}function h(t){let o=f(t),l=o.getBoundingClientRect(),i=l.top,n=l.left,p=e.DomHandler.getOuterWidth(o),a=e.DomHandler.getOuterHeight(o),r=e.DomHandler.getViewport();return n+p>r.width||n<0||i<0||i+a>r.height}function b(t){return e.DomHandler.hasClass(t,"p-inputwrapper")?e.DomHandler.findSingle(t,"input"):t}function E(e){return e.modifiers&&Object.keys(e.modifiers).length?e.modifiers:e.arg&&"object"==typeof e.arg?Object.entries(e.arg).reduce(((e,[t,o])=>("event"!==t&&"position"!==t||(e[o]=!0),e)),{}):{}}const C={beforeMount(t,l){let i=b(t);if(i.$_ptooltipModifiers=E(l),l.value){if("string"==typeof l.value)i.$_ptooltipValue=l.value,i.$_ptooltipDisabled=!1,i.$_ptooltipEscape=!1,i.$_ptooltipClass=null,i.$_ptooltipFitContent=!0,i.$_ptooltipShowDelay=0,i.$_ptooltipHideDelay=0;else if("object"==typeof l.value&&l.value){if(e.ObjectUtils.isEmpty(l.value.value)||""===l.value.value.trim())return;i.$_ptooltipValue=l.value.value,i.$_ptooltipDisabled=!!l.value.disabled===l.value.disabled&&l.value.disabled,i.$_ptooltipEscape=!!l.value.escape===l.value.escape&&l.value.escape,i.$_ptooltipClass=l.value.class,i.$_ptooltipFitContent=!!l.value.fitContent!==l.value.fitContent||l.value.fitContent,i.$_ptooltipIdAttr=l.value.id||"",i.$_ptooltipShowDelay=l.value.showDelay||0,i.$_ptooltipHideDelay=l.value.hideDelay||0}i.$_ptooltipZIndex=l.instance.$primevue&&l.instance.$primevue.config&&l.instance.$primevue.config.zIndex.tooltip,o(i)}},unmounted(e){let t=b(e);m(t),l(t),t.$_ptooltipScrollHandler&&(t.$_ptooltipScrollHandler.destroy(),t.$_ptooltipScrollHandler=null)},updated(t,i){let n=b(t);if(n.$_ptooltipModifiers=E(i),i.value){if("string"==typeof i.value)n.$_ptooltipValue=i.value,n.$_ptooltipDisabled=!1,n.$_ptooltipEscape=!1,n.$_ptooltipClass=null,n.$_ptooltipIdAttr="",n.$_ptooltipShowDelay=0,n.$_ptooltipHideDelay=0,o(n);else if("object"==typeof i.value&&i.value){if(e.ObjectUtils.isEmpty(i.value.value)||""===i.value.value.trim())return void l(n);n.$_ptooltipValue=i.value.value,n.$_ptooltipDisabled=!!i.value.disabled===i.value.disabled&&i.value.disabled,n.$_ptooltipEscape=!!i.value.escape===i.value.escape&&i.value.escape,n.$_ptooltipClass=i.value.class,n.$_ptooltipFitContent=!!i.value.fitContent!==i.value.fitContent||i.value.fitContent,n.$_ptooltipIdAttr=i.value.id||"",n.$_ptooltipShowDelay=i.value.showDelay||0,n.$_ptooltipHideDelay=i.value.hideDelay||0,o(n)}}else l(n)}};module.exports=C;