git / moonbite-network / static/moonbite-ds.js · raw
/* MoonBite design system behaviour. External file (CSP: script-src 'self'), no inline handlers. Only what static markup cannot do. */(function () { "use strict"; /* copy buttons: <button class="ds-copy" data-copy="#target-id"> or inside a .ds-code block (copies its <pre>) */ document.addEventListener("click", function (e) { var btn = e.target.closest && e.target.closest(".ds-copy"); if (!btn) return; var sel = btn.getAttribute("data-copy"), src = sel ? document.querySelector(sel) : null; if (!src) { var box = btn.closest(".ds-code"); src = box && box.querySelector("pre"); } if (!src || !navigator.clipboard) return; navigator.clipboard.writeText(src.innerText.trim()).then(function () { var was = btn.textContent; btn.textContent = "Copied"; setTimeout(function () { btn.textContent = was; }, 1600); }).catch(function () {}); });})();