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) 5.56 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",l),e.addEventListener("mouseleave",n),e.addEventListener("click",r)),e.addEventListener("keydown",a)}function o(e){e.$_ptooltipModifiers.focus?(e.removeEventListener("focus",i),e.removeEventListener("blur",p)):(e.removeEventListener("mouseenter",l),e.removeEventListener("mouseleave",n),e.removeEventListener("click",r)),e.removeEventListener("keydown",a)}function l(e){u(e.currentTarget)}function n(e){d(e.currentTarget)}function i(e){u(e.currentTarget)}function p(e){d(e.currentTarget)}function r(e){d(e.currentTarget)}function a(e){"Escape"===e.code&&d(e.currentTarget)}function u(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 n=document.createElement("div");n.className="p-tooltip-arrow",l.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)));l.setAttribute("role","tooltip"),l.appendChild(i),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?($(e),H(e)&&(_(e),H(e)&&$(e))):t.left?(m(e),H(e)&&(v(e),H(e)&&($(e),H(e)&&(_(e),H(e)&&m(e))))):t.bottom?(_(e),H(e)&&($(e),H(e)&&_(e))):(v(e),H(e)&&(m(e),H(e)&&($(e),H(e)&&(_(e),H(e)&&v(e)))))}(t),e.DomHandler.fadeIn(o,250),window.addEventListener("resize",(function o(){e.DomHandler.isTouchDevice()||d(t),this.removeEventListener("resize",o)})),function(t){t.$_ptooltipScrollHandler||(t.$_ptooltipScrollHandler=new e.ConnectedOverlayScrollHandler(t,(function(){d(t)}))),t.$_ptooltipScrollHandler.bindScrollListener()}(t),e.ZIndexUtils.set("tooltip",o,t.$_ptooltipZIndex)}function d(e){c(e),function(e){e.$_ptooltipScrollHandler&&e.$_ptooltipScrollHandler.unbindScrollListener()}(e)}function s(e){return document.getElementById(e.$_ptooltipId)}function c(t){if(t){let o=s(t);o&&o.parentElement&&(e.ZIndexUtils.clear(o),document.body.removeChild(o)),t.$_ptooltipId=null}}function f(t){let o=t.getBoundingClientRect();return{left:o.left+e.DomHandler.getWindowScrollLeft(),top:o.top+e.DomHandler.getWindowScrollTop()}}function v(t){g(t,"right");let o=s(t),l=f(t),n=l.left+e.DomHandler.getOuterWidth(t),i=l.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(o))/2;o.style.left=n+"px",o.style.top=i+"px"}function m(t){g(t,"left");let o=s(t),l=f(t),n=l.left-e.DomHandler.getOuterWidth(o),i=l.top+(e.DomHandler.getOuterHeight(t)-e.DomHandler.getOuterHeight(o))/2;o.style.left=n+"px",o.style.top=i+"px"}function $(t){g(t,"top");let o=s(t),l=f(t),n=l.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(o))/2,i=l.top-e.DomHandler.getOuterHeight(o);o.style.left=n+"px",o.style.top=i+"px"}function _(t){g(t,"bottom");let o=s(t),l=f(t),n=l.left+(e.DomHandler.getOuterWidth(t)-e.DomHandler.getOuterWidth(o))/2,i=l.top+e.DomHandler.getOuterHeight(t);o.style.left=n+"px",o.style.top=i+"px"}function g(e,t){let o=s(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=s(t),l=o.getBoundingClientRect(),n=l.top,i=l.left,p=e.DomHandler.getOuterWidth(o),r=e.DomHandler.getOuterHeight(o),a=e.DomHandler.getViewport();return i+p>a.width||i<0||n<0||n+r>a.height}function b(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,o])=>("event"!==t&&"position"!==t||(e[o]=!0),e)),{}):{}}const y={beforeMount(o,l){let n=b(o);if(n.$_ptooltipModifiers=h(l),l.value){if("string"==typeof l.value)n.$_ptooltipValue=l.value,n.$_ptooltipDisabled=!1,n.$_ptooltipEscape=!1,n.$_ptooltipClass=null,n.$_ptooltipFitContent=!0,n.$_ptooltipIdAttr="";else if("object"==typeof l.value&&l.value){if(e.ObjectUtils.isEmpty(l.value.value)||""===l.value.value.trim())return;n.$_ptooltipValue=l.value.value,n.$_ptooltipDisabled=!!l.value.disabled===l.value.disabled&&l.value.disabled,n.$_ptooltipEscape=!!l.value.escape===l.value.escape&&l.value.escape,n.$_ptooltipClass=l.value.class,n.$_ptooltipFitContent=!!l.value.fitContent!==l.value.fitContent||l.value.fitContent,n.$_ptooltipIdAttr=l.value.id||""}n.$_ptooltipZIndex=l.instance.$primevue&&l.instance.$primevue.config&&l.instance.$primevue.config.zIndex.tooltip,t(n)}},unmounted(e){let t=b(e);c(t),o(t),t.$_ptooltipScrollHandler&&(t.$_ptooltipScrollHandler.destroy(),t.$_ptooltipScrollHandler=null)},updated(l,n){let i=b(l);if(i.$_ptooltipModifiers=h(n),n.value){if("string"==typeof n.value)i.$_ptooltipValue=n.value,i.$_ptooltipDisabled=!1,i.$_ptooltipEscape=!1,i.$_ptooltipClass=null,i.$_ptooltipIdAttr="",t(i);else if("object"==typeof n.value&&n.value){if(e.ObjectUtils.isEmpty(n.value.value||""===n.value.value.trim()))return void o(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,i.$_ptooltipIdAttr=n.value.id||"",t(i)}}else o(i)}};module.exports=y;