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.28 kB
"use strict";var e=require("primevue/utils");function t(e){e.$_ptooltipModifiers.focus?(e.addEventListener("focus",i),e.addEventListener("blur",p)):(e.addEventListener("mouseenter",o),e.addEventListener("mouseleave",n),e.addEventListener("click",r))}function l(e){e.$_ptooltipModifiers.focus?(e.removeEventListener("focus",i),e.removeEventListener("blur",p)):(e.removeEventListener("mouseenter",o),e.removeEventListener("mouseleave",n),e.removeEventListener("click",r))}function o(e){a(e.currentTarget)}function n(e){u(e.currentTarget)}function i(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 n=document.createElement("div");n.className="p-tooltip-arrow",o.appendChild(n);let i=document.createElement("div");i.className="p-tooltip-text",t.$_ptooltipEscape?i.innerHTML=t.$_ptooltipValue:(i.innerHTML="",i.appendChild(document.createTextNode(t.$_ptooltipValue)));o.appendChild(i),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),n=o.left+e.DomHandler.getOuterWidth(t),i=o.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(l))/2;l.style.left=n+"px",l.style.top=i+"px"}function v(t){g(t,"left");let l=d(t),o=c(t),n=o.left-e.DomHandler.getOuterWidth(l),i=o.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(l))/2;l.style.left=n+"px",l.style.top=i+"px"}function m(t){g(t,"top");let l=d(t),o=c(t),n=o.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(l))/2,i=o.top-e.DomHandler.getOuterHeight(l);l.style.left=n+"px",l.style.top=i+"px"}function $(t){g(t,"bottom");let l=d(t),o=c(t),n=o.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(l))/2,i=o.top+e.DomHandler.getOuterHeight(t);l.style.left=n+"px",l.style.top=i+"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(),n=o.top,i=o.left,p=e.DomHandler.getOuterWidth(l),r=e.DomHandler.getOuterHeight(l),a=e.DomHandler.getViewport();return i+p>a.width||i<0||n<0||n+r>a.height}function H(t){return e.DomHandler.hasClass(t,"p-inputwrapper")?e.DomHandler.findSingle(t,"input"):t}function b(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)),{}):{}}const h={beforeMount(l,o){let n=H(l);if(n.$_ptooltipModifiers=b(o),o.value){if("string"==typeof o.value)n.$_ptooltipValue=o.value,n.$_ptooltipDisabled=!1,n.$_ptooltipEscape=!1,n.$_ptooltipClass=null,n.$_ptooltipFitContent=!0;else if("object"==typeof o.value&&o.value){if(e.ObjectUtils.isEmpty(o.value.value)||""===o.value.value.trim())return;n.$_ptooltipValue=o.value.value,n.$_ptooltipDisabled=!!o.value.disabled===o.value.disabled&&o.value.disabled,n.$_ptooltipEscape=!!o.value.escape===o.value.escape&&o.value.escape,n.$_ptooltipClass=o.value.class,n.$_ptooltipFitContent=!!o.value.fitContent!==o.value.fitContent||o.value.fitContent}n.$_ptooltipZIndex=o.instance.$primevue&&o.instance.$primevue.config&&o.instance.$primevue.config.zIndex.tooltip,t(n)}},unmounted(t){let o=H(t);s(o),l(o),o.$_ptooltipScrollHandler&&(o.$_ptooltipScrollHandler.destroy(),o.$_ptooltipScrollHandler=null),e.ZIndexUtils.clear(t)},updated(o,n){let i=H(o);if(i.$_ptooltipModifiers=b(n),n.value){if("string"==typeof n.value)i.$_ptooltipValue=n.value,i.$_ptooltipDisabled=!1,i.$_ptooltipEscape=!1,i.$_ptooltipClass=null,t(i);else if("object"==typeof n.value&&n.value){if(e.ObjectUtils.isEmpty(n.value.value||""===n.value.value.trim()))return void l(i);i.$_ptooltipValue=n.value.value,i.$_ptooltipDisabled=!!n.value.disabled===n.value.disabled&&n.value.disabled,i.$_ptooltipEscape=!!n.value.escape===n.value.escape&&n.value.escape,i.$_ptooltipClass=n.value.class,i.$_ptooltipFitContent=!!n.value.fitContent!==n.value.fitContent||n.value.fitContent,t(i)}}else l(i)}};module.exports=h;