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)

2 lines (1 loc) 3.55 kB
"use strict";var e=require("primevue/utils");function t(e){i(e.currentTarget)}function o(e){d(e.currentTarget)}function n(e){i(e.currentTarget)}function l(e){d(e.currentTarget)}function r(e){d(e.currentTarget)}function i(t){if(!t.$_ptooltipValue)return;let o=function(t){const o=e.UniqueComponentId()+"_tooltip";t.$_ptooltipId=o;let n=document.createElement("div");n.id=o;let l=document.createElement("div");l.className="p-tooltip-arrow",n.appendChild(l);let r=document.createElement("div");return r.className="p-tooltip-text",r.innerHTML=t.$_ptooltipValue,n.appendChild(r),document.body.appendChild(n),n.style.display="inline-block",n}(t);!function(e){const t=e.$_ptooltipModifiers;t.top?(f(e),g(e)&&m(e)):t.left?(s(e),g(e)&&(a(e),g(e)&&(f(e),g(e)&&m(e)))):t.bottom?(m(e),g(e)&&f(e)):(a(e),g(e)&&(s(e),g(e)&&(f(e),g(e)&&m(e))))}(t),e.DomHandler.fadeIn(o,250),o.style.zIndex=++e.DomHandler.zindex,window.addEventListener("resize",(function e(){d(t),this.removeEventListener("resize",e)})),function(t){t.$_ptooltipScrollHandler||(t.$_ptooltipScrollHandler=new e.ConnectedOverlayScrollHandler(t,(function(){d(t)}))),t.$_ptooltipScrollHandler.bindScrollListener()}(t)}function d(e){u(e),function(e){e.$_ptooltipScrollHandler&&e.$_ptooltipScrollHandler.unbindScrollListener()}(e)}function p(e){return document.getElementById(e.$_ptooltipId)}function u(e){if(e){let t=p(e);t&&t.parentElement&&document.body.removeChild(t),e.$_ptooltipId=null}}function c(t){let o=t.getBoundingClientRect();return{left:o.left+e.DomHandler.getWindowScrollLeft(),top:o.top+e.DomHandler.getWindowScrollTop()}}function a(t){H(t,"right");let o=p(t),n=c(t),l=n.left+e.DomHandler.getOuterWidth(t),r=n.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(o))/2;o.style.left=l+"px",o.style.top=r+"px"}function s(t){H(t,"left");let o=p(t),n=c(t),l=n.left-e.DomHandler.getOuterWidth(o),r=n.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(o))/2;o.style.left=l+"px",o.style.top=r+"px"}function f(t){H(t,"top");let o=p(t),n=c(t),l=n.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(o))/2,r=n.top-e.DomHandler.getOuterHeight(o);o.style.left=l+"px",o.style.top=r+"px"}function m(t){H(t,"bottom");let o=p(t),n=c(t),l=n.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(o))/2,r=n.top+e.DomHandler.getOuterHeight(t);o.style.left=l+"px",o.style.top=r+"px"}function H(e,t){let o=p(e);o.style.left="-999px",o.style.top="-999px",o.className="p-tooltip p-component p-tooltip-"+t}function g(t){let o=p(t),n=o.getBoundingClientRect(),l=n.top,r=n.left,i=e.DomHandler.getOuterWidth(o),d=e.DomHandler.getOuterHeight(o),u=e.DomHandler.getViewport();return r+i>u.width||r<0||l<0||l+d>u.height}function v(t){return e.DomHandler.hasClass(t,"p-inputwrapper")?e.DomHandler.findSingle(t,"input"):t}const h={beforeMount(e,i){let d=v(e);d.$_ptooltipModifiers=i.modifiers,d.$_ptooltipValue=i.value,function(e){e.$_ptooltipModifiers.focus?(e.addEventListener("focus",n),e.addEventListener("blur",l)):(e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",o),e.addEventListener("click",r))}(d)},unmounted(e){let i=v(e);u(i),function(e){e.$_ptooltipModifiers.focus?(e.removeEventListener("focus",n),e.removeEventListener("blur",l)):(e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",o),e.removeEventListener("click",r))}(i),i.$_ptooltipScrollHandler&&(i.$_ptooltipScrollHandler.destroy(),i.$_ptooltipScrollHandler=null)},updated(e,t){let o=v(e);o.$_ptooltipModifiers=t.modifiers,o.$_ptooltipValue=t.value}};module.exports=h;