%PDF- %PDF-
Direktori : /proc/thread-self/root/var/www/pn/wp-content/plugins/autodescription/lib/js/ |
Current File : //proc/thread-self/root/var/www/pn/wp-content/plugins/autodescription/lib/js/tt.min.js |
'use strict';window.tsfTT=function(){const a="tsf-tooltip",b={base:a,item:`${a}-item`,wrap:`${a}-wrap`,text:`${a}-text`,textWrap:`${a}-text-wrap`,boundary:`${a}-boundary`,arrow:`${a}-arrow`},c=Object.fromEntries(Object.entries(b).map(([a,b])=>[a,`.${b}`])),d={updateDesc:a=>{if(a.target.classList.contains(b.item)){let b=a.target.querySelector(c.text);b instanceof Element&&(b.innerHTML=a.target.dataset.desc,a.target.dispatchEvent(new Event("mousemove")))}},pointerEnter:async a=>{let c=a.target.dataset.desc||a.target.title||"";return!(!c||a.target.getElementsByClassName(b.base).length)&&(a.target.dataset.desc=c,a.target.removeAttribute("title"),await n(a,a.target,c))},pointerMove:a=>{g.currPos.x=a.pageX||NaN,g.lastMoveEvent=a},pointerLeave:a=>{p(a.target),e(a.target).unset(),a.relatedTarget?.classList?.contains(b.item)||i()}},e=a=>{const b={mousemove:d.pointerMove,mouseleave:d.pointerLeave,mouseout:d.pointerLeave,blur:d.pointerLeave};return{set:()=>{for(const[c,d]of Object.entries(b))a.addEventListener(c,d);a.addEventListener("tsf-tooltip-update",d.updateDesc)},unset:()=>{for(const[c,d]of Object.entries(b))a.removeEventListener(c,d)}}},f={tooltip:void 0,arrow:void 0,wrap:void 0,reset:()=>{f.tooltip=f.arrow=f.wrap=void 0}},g={lastPos:{x:void 0},currPos:{x:void 0},lastMoveEvent:void 0,reset:()=>{g.lastMoveEvent=void 0,g.currPos={x:void 0},g.lastPos={x:void 0}}},{_requestArrowAnimation:h,_cancelArrowAnimation:i,_requestArrowAnimationOnce:j}=(()=>{let a;const b=()=>{a=requestAnimationFrame(e)},d=()=>{cancelAnimationFrame(a),g.lastMoveEvent=void 0,f.reset(),g.reset()},e=()=>{var e=Math.round;let h=![g.currPos.x].includes(NaN);if(h&&g.currPos.x===g.lastPos.x)return void b();g.lastPos.x=g.currPos.x;const i=g.lastMoveEvent;let j=f.tooltip||i&&i.target.querySelector(c.base);if(!j)return void b();f.tooltip||=j,f.arrow||=j.querySelector(c.arrow),f.wrap||=i.target.closest(c.wrap)||i.target.parentNode;let k=g.currPos.x,l=7,m=16;"focus"===i.type?k=i.target.getBoundingClientRect().left+i.target.offsetWidth/2:isNaN(k)&&(k=f.tooltip.dataset.lastPagex||i.target.getBoundingClientRect().left),f.tooltip.dataset.lastPagex=k;let n=k-f.wrap.getBoundingClientRect().left-m/2,o=f.tooltip.querySelector(c.textWrap),p=o.offsetWidth,q=f.tooltip.dataset.adjust,r=p-m-l;if(q=parseInt(q,10),q=isNaN(q)?0:e(q),q&&(n-=q,r+q>f.wrap.offsetWidth)){let a=o.querySelector(c.text),b=a.offsetWidth;r=b-m-l}f.arrow.style.left=n<=l?`${l}px`:n>=r?`${r}px`:`${n}px`,h?b():a&&d()};return{_requestArrowAnimation:b,_cancelArrowAnimation:d,_requestArrowAnimationOnce:()=>{e(),d()}}})(),k=a=>({lock:()=>{if(a.dataset.preventedClick=1,a instanceof HTMLLabelElement&&a.htmlFor){let b=document.getElementById(a.htmlFor);b&&(b.dataset.preventedClick=1)}a instanceof HTMLInputElement&&a.id&&document.querySelectorAll(`label[for="${a.id}"]`).forEach(a=>{a.dataset.preventedClick=1})},release:()=>{if(a instanceof Element){if(delete a.dataset.preventedClick,a instanceof HTMLLabelElement&&a.htmlFor){let b=document.getElementById(a.htmlFor);b&&delete b.dataset.preventedClick}a instanceof HTMLInputElement&&a.id&&document.querySelectorAll(`label[for="${a.id}"]`).forEach(a=>{delete a.dataset.preventedClick})}},isLocked:()=>a instanceof Element&&!!+a.dataset.preventedClick}),l=()=>{let a=!1,f=!1;try{(()=>{const b={get passive(){return a=!0,!1},get capture(){return f=!0,!1}};window.addEventListener("tsf-tt-test-passive",null,b),window.removeEventListener("tsf-tt-test-passive",null,b)})()}catch(b){a=!1,f=!1}const g=async a=>{if(a.target.dataset.hasTooltip)return;let b=!1;switch(a.type){case"mouseenter":break;case"pointerdown":case"touchstart":b=!0;break;case"focus":default:}b||k(a.target).lock(),i();(await d.pointerEnter(a))&&(d.pointerMove(a),b?j():h(),e(a.target).set())},l=a=>{k(a.target).isLocked()||(a.preventDefault(),setTimeout(()=>k(a.target).lock()))};let m=!1;const n=a=>{m||(m=!0,a.target.classList.contains(b.item)&&g(a),a.stopPropagation(),m=!1)};const p=!(a&&f)||{capture:!0,passive:!0},q=()=>{let a=document.querySelectorAll(c.wrap),b="mouseenter pointerdown touchstart focus".split(" ");for(let c=0;c<a.length;c++)b.forEach(b=>{a[c].addEventListener(b,n,p)}),a[c].addEventListener("click",l,!!f&&{capture:!1})};window.addEventListener("tsf-tooltip-reset",q),s(),o("#wpwrap")},m=(a,d,e)=>{var f=Math.min;d.dataset.hasTooltip=1;let g=document.createElement("div");g.classList.add(b.base),g.insertAdjacentHTML("afterbegin",`<span class=${b.textWrap}><span class=${b.text}>${e}</span></span><div class=${b.arrow} style=will-change:left></div>`),d.prepend(g);let h=d.closest(c.boundary)||document.body,i=h.getBoundingClientRect(),j=i.top-(h.scrollTop||0),k=h.offsetWidth,l=250,m=12,n=d.closest(c.wrap)||d.parentElement,o=n.getBoundingClientRect(),p=g.querySelector(c.textWrap),q=p.getBoundingClientRect(),r=o.width;q.width>l&&r<l&&150<r&&(p.style.flexBasis=`${r}px`),p.offsetWidth>k-m/2?(p.style.flexBasis=`${f(l,k-m)}px`,m/=2):q.width>l&&(p.style.flexBasis=`${l}px`);let s=i.left-(h.scrollLeft||0),t=s+k,u=p.offsetWidth,v=q.left,w=v+u,x=0;if(v<s)x=s-v+m;else if(w>t)x=t-v-u-m;else if(42>r)x=-r/2-m;else if(r>u){let b=a&&a.pageX||NaN;x=a&&"focus"===a.type?r/2-u/2:isNaN(b)?-m:b-o.left-u/2;let c=-m,d=r-u+m;x<c&&(x=c),x>d&&(x=d)}if(x+v<s+m){let a=x+v-(s+m/2);x-=a}if(x+w>t+m){let a=x+w-(t+m/2);x-=a}if(x+v<s&&(x=0),!a){let a=parseInt(p.style.flexBasis,10);x<-a&&(x=-a)}g.style.left=`${x}px`,g.dataset.adjust=x;let y=d.offsetHeight+8,z=g.getBoundingClientRect().top-y;return j>z?(g.classList.add("tsf-tooltip-down"),g.style.top=`${y}px`):g.style.bottom=`${y}px`,!0},n=(a,b,d)=>{b?.[0]&&(b=b[0]);for(const f of document.querySelectorAll(c.base))p(f),e(f).unset();return!!d.length&&m(a,b,d)},o=a=>{a instanceof Element&&a.classList.add(b.boundary)},p=a=>{a?.[0]&&(a=a[0]),a instanceof HTMLElement&&(delete a.dataset.hasTooltip,k(a).release());const b=q(a);b?.parentNode.removeChild(b)},q=a=>(a?.[0]&&(a=a[0]),a?.classList.contains(b.base)?a:a?.querySelector(c.base));let r;const s=()=>{clearTimeout(r),r=setTimeout(()=>window.dispatchEvent(new CustomEvent("tsf-tooltip-reset")),100)};return Object.assign({load:()=>{document.body.addEventListener("tsf-ready",l)}},{doTooltip:n,removeTooltip:p,getTooltip:q,addBoundary:o,triggerReset:s,triggerUpdate:a=>{if(a&&a instanceof Element||(a=document.querySelectorAll(c.item)),!a)return;const b=new CustomEvent("tsf-tooltip-update");a instanceof Element?a.dispatchEvent(b):a instanceof Nodelist&&a.forEach(a=>a.dispatchEvent(b))}})}(),window.tsfTT.load();