forked from chrisdavies/tlite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtlite.min.js
1 lines (1 loc) · 1.5 KB
/
tlite.min.js
1
function tlite(t){document.addEventListener("mouseover",function(e){var i=e.target,n=t(i);n||(n=(i=i.parentElement)&&t(i)),n&&tlite.show(i,n,!0)})}tlite.show=function(t,e,i){var n="data-tlite";e=e||{},(t.tooltip||function(t,e){function o(){tlite.hide(t,!0)}function l(){a||(a=function(t,e,i){function n(){o.className+=" tlite-"+r+s;var e=t.offsetTop,i=t.offsetLeft;o.offsetParent===t&&(e=i=0);var n=t.offsetWidth,l=t.offsetHeight,a=o.offsetHeight,d=o.offsetWidth,f=i+n/2;o.style.top=("s"===r?e-a-10:"n"===r?e+l+10:e+l/2-a/2)+"px",o.style.left=("w"===s?i:"e"===s?i+n-d:"w"===r?i+n+10:"e"===r?i-d-10:f-d/2)+"px"}var o=document.createElement("div");o.className="tlite-container";var l=document.createElement("span");l.className="tlite",l.innerHTML=e,o.appendChild(l),t.appendChild(o);var a=i.grav||t.getAttribute("data-tlite")||"n",r=a[0]||"",s=a[1]||"";n();var d=o.getBoundingClientRect();return"s"===r&&d.top<0?(r="n",n()):"n"===r&&d.bottom>window.innerHeight?(r="s",n()):"e"===r&&d.left<0?(r="w",n()):"w"===r&&d.right>window.innerWidth&&(r="e",n()),o.className+=" tlite-visible",o}(t,s,e))}var a,r,s;return t.addEventListener("mousedown",o),t.addEventListener("mouseleave",o),t.tooltip={show:function(){s=t.title||t.getAttribute(n)||s,t.title="",t.setAttribute(n,""),s&&!r&&(r=setTimeout(l,i?150:1))},hide:function(t){if(i===t){r=clearTimeout(r);var e=a&&a.parentNode;e&&e.removeChild(a),a=void 0}}}}(t,e)).show()},tlite.hide=function(t,e){t.tooltip&&t.tooltip.hide(e)},"undefined"!=typeof module&&module.exports&&(module.exports=tlite);