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) [![Actions CI](https://github.com/primefaces/primevue/wo

2 lines (1 loc) 5.31 kB
this.primevue=this.primevue||{},this.primevue.tooltip=function(e){"use strict";function t(e){e.$_ptooltipModifiers.focus?(e.addEventListener("focus",n),e.addEventListener("blur",p)):(e.addEventListener("mouseenter",o),e.addEventListener("mouseleave",i),e.addEventListener("click",r))}function l(e){e.$_ptooltipModifiers.focus?(e.removeEventListener("focus",n),e.removeEventListener("blur",p)):(e.removeEventListener("mouseenter",o),e.removeEventListener("mouseleave",i),e.removeEventListener("click",r))}function o(e){a(e.currentTarget)}function i(e){u(e.currentTarget)}function n(e){a(e.currentTarget)}function p(e){u(e.currentTarget)}function r(e){u(e.currentTarget)}function a(t){if(t.$_ptooltipDisabled)return;let l=function(t){const l=e.UniqueComponentId()+"_tooltip";t.$_ptooltipId=l;let o=document.createElement("div");o.id=l;let i=document.createElement("div");i.className="p-tooltip-arrow",o.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)));o.appendChild(n),document.body.appendChild(o),o.style.display="inline-block",t.$_ptooltipFitContent&&(o.style.width="fit-content");return o}(t);!function(e){const t=e.$_ptooltipModifiers;t.top?(m(e),_(e)&&($(e),_(e)&&m(e))):t.left?(v(e),_(e)&&(f(e),_(e)&&(m(e),_(e)&&($(e),_(e)&&v(e))))):t.bottom?($(e),_(e)&&(m(e),_(e)&&$(e))):(f(e),_(e)&&(v(e),_(e)&&(m(e),_(e)&&($(e),_(e)&&f(e)))))}(t),e.DomHandler.fadeIn(l,250),window.addEventListener("resize",(function l(){e.DomHandler.isTouchDevice()||u(t),this.removeEventListener("resize",l)})),function(t){t.$_ptooltipScrollHandler||(t.$_ptooltipScrollHandler=new e.ConnectedOverlayScrollHandler(t,(function(){u(t)}))),t.$_ptooltipScrollHandler.bindScrollListener()}(t),e.ZIndexUtils.set("tooltip",l,t.$_ptooltipZIndex)}function u(e){s(e),function(e){e.$_ptooltipScrollHandler&&e.$_ptooltipScrollHandler.unbindScrollListener()}(e)}function d(e){return document.getElementById(e.$_ptooltipId)}function s(t){if(t){let l=d(t);l&&l.parentElement&&(e.ZIndexUtils.clear(l),document.body.removeChild(l)),t.$_ptooltipId=null}}function c(t){let l=t.getBoundingClientRect();return{left:l.left+e.DomHandler.getWindowScrollLeft(),top:l.top+e.DomHandler.getWindowScrollTop()}}function f(t){g(t,"right");let l=d(t),o=c(t),i=o.left+e.DomHandler.getOuterWidth(t),n=o.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(l))/2;l.style.left=i+"px",l.style.top=n+"px"}function v(t){g(t,"left");let l=d(t),o=c(t),i=o.left-e.DomHandler.getOuterWidth(l),n=o.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(l))/2;l.style.left=i+"px",l.style.top=n+"px"}function m(t){g(t,"top");let l=d(t),o=c(t),i=o.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(l))/2,n=o.top-e.DomHandler.getOuterHeight(l);l.style.left=i+"px",l.style.top=n+"px"}function $(t){g(t,"bottom");let l=d(t),o=c(t),i=o.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(l))/2,n=o.top+e.DomHandler.getOuterHeight(t);l.style.left=i+"px",l.style.top=n+"px"}function g(e,t){let l=d(e);l.style.left="-999px",l.style.top="-999px",l.className=`p-tooltip p-component p-tooltip-${t} ${e.$_ptooltipClass||""}`}function _(t){let l=d(t),o=l.getBoundingClientRect(),i=o.top,n=o.left,p=e.DomHandler.getOuterWidth(l),r=e.DomHandler.getOuterHeight(l),a=e.DomHandler.getViewport();return n+p>a.width||n<0||i<0||i+r>a.height}function H(t){return e.DomHandler.hasClass(t,"p-inputwrapper")?e.DomHandler.findSingle(t,"input"):t}function h(e){return e.modifiers&&Object.keys(e.modifiers).length?e.modifiers:e.arg&&"object"==typeof e.arg?Object.entries(e.arg).reduce(((e,[t,l])=>("event"!==t&&"position"!==t||(e[l]=!0),e)),{}):{}}return{beforeMount(l,o){let i=H(l);if(i.$_ptooltipModifiers=h(o),o.value){if("string"==typeof o.value)i.$_ptooltipValue=o.value,i.$_ptooltipDisabled=!1,i.$_ptooltipEscape=!1,i.$_ptooltipClass=null,i.$_ptooltipFitContent=!0;else if("object"==typeof o.value&&o.value){if(e.ObjectUtils.isEmpty(o.value.value)||""===o.value.value.trim())return;i.$_ptooltipValue=o.value.value,i.$_ptooltipDisabled=!!o.value.disabled===o.value.disabled&&o.value.disabled,i.$_ptooltipEscape=!!o.value.escape===o.value.escape&&o.value.escape,i.$_ptooltipClass=o.value.class,i.$_ptooltipFitContent=!!o.value.fitContent!==o.value.fitContent||o.value.fitContent}i.$_ptooltipZIndex=o.instance.$primevue&&o.instance.$primevue.config&&o.instance.$primevue.config.zIndex.tooltip,t(i)}},unmounted(t){let o=H(t);s(o),l(o),o.$_ptooltipScrollHandler&&(o.$_ptooltipScrollHandler.destroy(),o.$_ptooltipScrollHandler=null),e.ZIndexUtils.clear(t)},updated(o,i){let n=H(o);if(n.$_ptooltipModifiers=h(i),i.value){if("string"==typeof i.value)n.$_ptooltipValue=i.value,n.$_ptooltipDisabled=!1,n.$_ptooltipEscape=!1,n.$_ptooltipClass=null,t(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,t(n)}}else l(n)}}}(primevue.utils);