UNPKG

@xiee/utils

Version:

Miscellaneous tools and utilities to manipulate HTML pages

2 lines 823 B
(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