@xiee/utils
Version:
Miscellaneous tools and utilities to manipulate HTML pages
2 lines • 882 B
JavaScript
(e=>{const t=e.currentScript?.dataset,a="folder";let n=!!t?.open;if(e.querySelectorAll(t?.selector||"pre:not([class])>code[class],pre[class]").forEach(r=>{const l=e.createElement("details"),o=e.createElement("summary");l.className=a,l.open=n,o.innerText=(t?.label||"Details")+(t?.tagName?` <${r.tagName}>`:""),"CODE"===r.tagName&&"PRE"===r.parentNode.tagName&&(r=r.parentNode),l.append(o),r.before(l),l.append(r)}),!t?.hasOwnProperty("button"))return;const r=e.querySelector(t.parent);let l=e.querySelector(t.button);if(!l&&!r)return;l||(l=e.createElement("button"),l.id="toggle-all",r.insertAdjacentElement(t.position||"afterbegin",l));const o=t.buttonLabel||"Show Details",c=t.buttonLabel2||"Hide Details";function s(){l.innerText=n?c:o}s(),l.onclick=t=>{n=!n,e.querySelectorAll(`details.${a}`).forEach(e=>{e.open=n}),s()}})(document);
//# sourceMappingURL=fold-details.min.js.map