@xiee/utils
Version:
Miscellaneous tools and utilities to manipulate HTML pages
2 lines • 813 B
JavaScript
(e=>{const t=e.currentScript?.dataset;e.querySelectorAll(t?.selector||"pre>code, .copy-this").forEach(t=>{const c=e.createElement("span"),n=c.classList,o=t.parentNode,a="CODE"===t.tagName&&"PRE"===o?.tagName;function s(e){n.add(e),setTimeout(()=>n.remove(e),1e3)}c.className="copy-button",c.onclick=()=>navigator.clipboard.writeText(a&&t.classList.contains("code-fence")&&o.parentNode?.classList.contains("fenced-chunk")?[...o.parentNode.querySelectorAll("code[class]")].map(e=>e.innerText.replace(/\n$/,"")).join("\n"):t.innerText).then(()=>s("copy-success"),()=>s("copy-fail"));const r=a?o:t;r.querySelector(".copy-button")||r.append(c),r.hasAttribute("tabIndex")||(r.tabIndex="0"),"static"===getComputedStyle(r).position&&(r.style.position="relative")})})(document);
//# sourceMappingURL=copy-button.min.js.map