@xiee/utils
Advanced tools
Comparing version 1.13.39 to 1.13.40
@@ -47,5 +47,4 @@ // find an element with class `tabset` and convert its subsequent bullet list or headings to tabs; | ||
break; // quit after <!--tabset:id--> | ||
const t = el.tagName; | ||
if (isHeading(t)) { | ||
const n2 = +t.replace('H', ''); | ||
if (isHeading(el)) { | ||
const n2 = +el.tagName.replace('H', ''); | ||
if (n2 <= n) break; // quit after a higher-level heading | ||
@@ -52,0 +51,0 @@ if (n < 0) n = n2 - 1; |
@@ -1,1 +0,1 @@ | ||
document.querySelectorAll(".tabset").forEach((e=>{const t=[...e.querySelectorAll(":scope > .tab-link")],n=[...e.querySelectorAll(":scope > .tab-pane")];function a(e){function a(e,t){e.forEach(((e,n)=>e.classList[n===t?"add":"remove"]("active")))}a(t,e),a(n,e)}function i(e,t){const n=document.createElement(e);return n.className=t,n}function r(e){return/^H[1-6]$/.test(e.tagName)}function c(e){return""===e.innerHTML.trim()}let o,l=-1,s=r(e)||c(e)?e.nextElementSibling:e.firstElementChild;if(0===t.length&&"UL"===s?.tagName&&([...s.children].forEach((e=>{const a=e.firstElementChild;if(!a)return;const r=i("div","tab-link");r.append(a),a.outerHTML=a.innerHTML,/<!--active-->/.test(r.innerHTML)&&r.classList.add("active"),s.before(r);const c=i("div","tab-pane");r.after(c),[...e.children].forEach((e=>c.append(e))),t.push(r),n.push(c)})),s.remove()),0===t.length)for(;s&&("#comment"!==s.nodeName||s.nodeValue.trim()!==`tabset:${e.id}`);){const e=s.tagName;if(r(e)){const a=+e.replace("H","");if(a<=l)break;if(l<0&&(l=a-1),a===l+1){o=i("div","tab-pane"),s.after(o),s.classList.add("tab-link"),s.querySelector(".anchor")?.remove(),s.outerHTML=s.outerHTML.replace(/^<h[1-6](.*)h[1-6]>$/,"<div$1div>"),s=o.previousElementSibling,t.push(s),n.push(o),s=o.nextSibling;continue}}o&&(o.append(s),s=o),s=s.nextSibling}c(e)&&(t.forEach((t=>e.append(t))),n.forEach((t=>e.append(t))));let d=0;t.forEach(((e,n)=>{n>0&&t[n-1].after(e),e.onclick=()=>a(n),e.classList.contains("active")&&(d=n)})),a(d)})); | ||
document.querySelectorAll(".tabset").forEach((e=>{const t=[...e.querySelectorAll(":scope > .tab-link")],n=[...e.querySelectorAll(":scope > .tab-pane")];function a(e){function a(e,t){e.forEach(((e,n)=>e.classList[n===t?"add":"remove"]("active")))}a(t,e),a(n,e)}function i(e,t){const n=document.createElement(e);return n.className=t,n}function r(e){return/^H[1-6]$/.test(e.tagName)}function c(e){return""===e.innerHTML.trim()}let o,l=-1,s=r(e)||c(e)?e.nextElementSibling:e.firstElementChild;if(0===t.length&&"UL"===s?.tagName&&([...s.children].forEach((e=>{const a=e.firstElementChild;if(!a)return;const r=i("div","tab-link");r.append(a),a.outerHTML=a.innerHTML,/<!--active-->/.test(r.innerHTML)&&r.classList.add("active"),s.before(r);const c=i("div","tab-pane");r.after(c),[...e.children].forEach((e=>c.append(e))),t.push(r),n.push(c)})),s.remove()),0===t.length)for(;s&&("#comment"!==s.nodeName||s.nodeValue.trim()!==`tabset:${e.id}`);){if(r(s)){const e=+s.tagName.replace("H","");if(e<=l)break;if(l<0&&(l=e-1),e===l+1){o=i("div","tab-pane"),s.after(o),s.classList.add("tab-link"),s.querySelector(".anchor")?.remove(),s.outerHTML=s.outerHTML.replace(/^<h[1-6](.*)h[1-6]>$/,"<div$1div>"),s=o.previousElementSibling,t.push(s),n.push(o),s=o.nextSibling;continue}}o&&(o.append(s),s=o),s=s.nextSibling}c(e)&&(t.forEach((t=>e.append(t))),n.forEach((t=>e.append(t))));let d=0;t.forEach(((e,n)=>{n>0&&t[n-1].after(e),e.onclick=()=>a(n),e.classList.contains("active")&&(d=n)})),a(d)})); |
{ | ||
"name": "@xiee/utils", | ||
"version": "1.13.39", | ||
"version": "1.13.40", | ||
"description": "Miscellaneous tools and utilities to manipulate HTML pages", | ||
@@ -5,0 +5,0 @@ "scripts": { |
Sorry, the diff of this file is not supported yet
220408
2508