@xiee/utils 1.13.38 → 1.13.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/js/callout.js CHANGED
@@ -4,7 +4,7 @@ document.querySelectorAll('div[class^="callout-"]').forEach(el => {
4
4
  f.className = el.className; f.classList.add('callout');
5
5
  // if the data-legend attribute exists, use its value as legend, otherwise use the class name
6
6
  f.insertAdjacentHTML('afterbegin', '<legend></legend>');
7
- f.firstChild.dataset.legend = el.dataset.legend || el.classList[0].replace('callout-', '');
7
+ f.firstChild.dataset.legend = el.dataset.legend || el.classList[0].replace('callout-', '').replace('-', ' ');
8
8
  el.after(f);
9
9
  f.append(...el.children);
10
10
  el.remove();
package/js/callout.min.js CHANGED
@@ -1 +1 @@
1
- document.querySelectorAll('div[class^="callout-"]').forEach((e=>{const l=document.createElement("fieldset");l.className=e.className,l.classList.add("callout"),l.insertAdjacentHTML("afterbegin","<legend></legend>"),l.firstChild.dataset.legend=e.dataset.legend||e.classList[0].replace("callout-",""),e.after(l),l.append(...e.children),e.remove()}));
1
+ document.querySelectorAll('div[class^="callout-"]').forEach((e=>{const l=document.createElement("fieldset");l.className=e.className,l.classList.add("callout"),l.insertAdjacentHTML("afterbegin","<legend></legend>"),l.firstChild.dataset.legend=e.dataset.legend||e.classList[0].replace("callout-","").replace("-"," "),e.after(l),l.append(...e.children),e.remove()}));
@@ -1 +1 @@
1
- {"version":3,"names":["document","querySelectorAll","forEach","el","f","createElement","className","classList","add","insertAdjacentHTML","firstChild","dataset","legend","replace","after","append","children","remove"],"sources":["callout.js"],"mappings":"AACAA,SAASC,iBAAiB,0BAA0BC,SAAQC,IAC1D,MAAMC,EAAIJ,SAASK,cAAc,YACjCD,EAAEE,UAAYH,EAAGG,UAAWF,EAAEG,UAAUC,IAAI,WAE5CJ,EAAEK,mBAAmB,aAAc,qBACnCL,EAAEM,WAAWC,QAAQC,OAAST,EAAGQ,QAAQC,QAAUT,EAAGI,UAAU,GAAGM,QAAQ,WAAY,IACvFV,EAAGW,MAAMV,GACTA,EAAEW,UAAUZ,EAAGa,UACfb,EAAGc,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["document","querySelectorAll","forEach","el","f","createElement","className","classList","add","insertAdjacentHTML","firstChild","dataset","legend","replace","after","append","children","remove"],"sources":["callout.js"],"mappings":"AACAA,SAASC,iBAAiB,0BAA0BC,SAAQC,IAC1D,MAAMC,EAAIJ,SAASK,cAAc,YACjCD,EAAEE,UAAYH,EAAGG,UAAWF,EAAEG,UAAUC,IAAI,WAE5CJ,EAAEK,mBAAmB,aAAc,qBACnCL,EAAEM,WAAWC,QAAQC,OAAST,EAAGQ,QAAQC,QAAUT,EAAGI,UAAU,GAAGM,QAAQ,WAAY,IAAIA,QAAQ,IAAK,KACxGV,EAAGW,MAAMV,GACTA,EAAEW,UAAUZ,EAAGa,UACfb,EAAGc,QAAQ","ignoreList":[]}
package/js/tabsets.js CHANGED
@@ -14,9 +14,16 @@ document.querySelectorAll('.tabset').forEach(h => {
14
14
  el.className = cls;
15
15
  return el;
16
16
  }
17
- let n = -1, el = h.nextElementSibling, p;
18
- // if the first sibling is <ul>, try to convert it to tabset
19
- if (links.length === 0 && el.tagName === 'UL') {
17
+ function isHeading(el) {
18
+ return /^H[1-6]$/.test(el.tagName);
19
+ }
20
+ function isEmpty(el) {
21
+ return el.innerHTML.trim() === '';
22
+ }
23
+ // if the tabset is heading or empty div, use next sibling, otherwise use first child
24
+ let n = -1, p, el = (isHeading(h) || isEmpty(h)) ? h.nextElementSibling : h.firstElementChild;
25
+ // if el is <ul>, try to convert it to tabset
26
+ if (links.length === 0 && el?.tagName === 'UL') {
20
27
  [...el.children].forEach(li => {
21
28
  const l = li.firstElementChild;
22
29
  if (!l) return;
@@ -37,9 +44,8 @@ document.querySelectorAll('.tabset').forEach(h => {
37
44
  // convert headings to tabs
38
45
  if (el.nodeName === '#comment' && el.nodeValue.trim() === `tabset:${h.id}`)
39
46
  break; // quit after <!--tabset:id-->
40
- const t = el.tagName;
41
- if (/^H[1-6]$/.test(t)) {
42
- const n2 = +t.replace('H', '');
47
+ if (isHeading(el)) {
48
+ const n2 = +el.tagName.replace('H', '');
43
49
  if (n2 <= n) break; // quit after a higher-level heading
44
50
  if (n < 0) n = n2 - 1;
45
51
  // find the next lower-level heading and start creating a tab
@@ -62,7 +68,7 @@ document.querySelectorAll('.tabset').forEach(h => {
62
68
  el = el.nextSibling;
63
69
  }
64
70
  // if the initial tabset container is empty, move links and panes into it
65
- if (h.innerText.trim() == '') {
71
+ if (isEmpty(h)) {
66
72
  links.forEach(l => h.append(l));
67
73
  panes.forEach(p => h.append(p));
68
74
  }
package/js/tabsets.min.js CHANGED
@@ -1 +1 @@
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}let c,r=-1,o=e.nextElementSibling;if(0===t.length&&"UL"===o.tagName&&([...o.children].forEach((e=>{const a=e.firstElementChild;if(!a)return;const c=i("div","tab-link");c.append(a),a.outerHTML=a.innerHTML,/<!--active-->/.test(c.innerHTML)&&c.classList.add("active"),o.before(c);const r=i("div","tab-pane");c.after(r),[...e.children].forEach((e=>r.append(e))),t.push(c),n.push(r)})),o.remove()),0===t.length)for(;o&&("#comment"!==o.nodeName||o.nodeValue.trim()!==`tabset:${e.id}`);){const e=o.tagName;if(/^H[1-6]$/.test(e)){const a=+e.replace("H","");if(a<=r)break;if(r<0&&(r=a-1),a===r+1){c=i("div","tab-pane"),o.after(c),o.classList.add("tab-link"),o.querySelector(".anchor")?.remove(),o.outerHTML=o.outerHTML.replace(/^<h[1-6](.*)h[1-6]>$/,"<div$1div>"),o=c.previousElementSibling,t.push(o),n.push(c),o=c.nextSibling;continue}}c&&(c.append(o),o=c),o=o.nextSibling}""==e.innerText.trim()&&(t.forEach((t=>e.append(t))),n.forEach((t=>e.append(t))));let l=0;t.forEach(((e,n)=>{n>0&&t[n-1].after(e),e.onclick=()=>a(n),e.classList.contains("active")&&(l=n)})),a(l)}));
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}`);){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)}));
@@ -1 +1 @@
1
- {"version":3,"names":["document","querySelectorAll","forEach","h","links","panes","activate","i","a","x","el","k","classList","newEl","tag","cls","createElement","className","p","n","nextElementSibling","length","tagName","children","li","l","firstElementChild","l2","append","outerHTML","innerHTML","test","add","before","after","push","remove","nodeName","nodeValue","trim","id","t","n2","replace","querySelector","previousElementSibling","nextSibling","innerText","init","onclick","contains"],"sources":["tabsets.js"],"mappings":"AAEAA,SAASC,iBAAiB,WAAWC,SAAQC,IAC3C,MAAMC,EAAQ,IAAID,EAAEF,iBAAiB,uBAC/BI,EAAQ,IAAIF,EAAEF,iBAAiB,uBACrC,SAASK,EAASC,GAChB,SAASC,EAAEC,EAAGF,GACZE,EAAEP,SAAQ,CAACQ,EAAIC,IAAMD,EAAGE,UAAUD,IAAMJ,EAAI,MAAQ,UAAU,WAChE,CACAC,EAAEJ,EAAOG,GAAIC,EAAEH,EAAOE,EACxB,CACA,SAASM,EAAMC,EAAKC,GAClB,MAAML,EAAKV,SAASgB,cAAcF,GAElC,OADAJ,EAAGO,UAAYF,EACRL,CACT,CACA,IAAuCQ,EAAnCC,GAAK,EAAGT,EAAKP,EAAEiB,mBAmBnB,GAjBqB,IAAjBhB,EAAMiB,QAA+B,OAAfX,EAAGY,UAC3B,IAAIZ,EAAGa,UAAUrB,SAAQsB,IACvB,MAAMC,EAAID,EAAGE,kBACb,IAAKD,EAAG,OACR,MAAME,EAAKd,EAAM,MAAO,YACxBc,EAAGC,OAAOH,GACVA,EAAEI,UAAYJ,EAAEK,UACZ,gBAAgBC,KAAKJ,EAAGG,YAAYH,EAAGf,UAAUoB,IAAI,UACzDtB,EAAGuB,OAAON,GACV,MAAMT,EAAIL,EAAM,MAAO,YACvBc,EAAGO,MAAMhB,GACT,IAAIM,EAAGD,UAAUrB,SAAQuB,GAAKP,EAAEU,OAAOH,KACvCrB,EAAM+B,KAAKR,GAAKtB,EAAM8B,KAAKjB,EAAE,IAE/BR,EAAG0B,UAGgB,IAAjBhC,EAAMiB,OAAc,KAAOX,IAET,aAAhBA,EAAG2B,UAA2B3B,EAAG4B,UAAUC,SAAW,UAAUpC,EAAEqC,OAFrC,CAIjC,MAAMC,EAAI/B,EAAGY,QACb,GAAI,WAAWS,KAAKU,GAAI,CACtB,MAAMC,GAAMD,EAAEE,QAAQ,IAAK,IAC3B,GAAID,GAAMvB,EAAG,MAGb,GAFIA,EAAI,IAAGA,EAAIuB,EAAK,GAEhBA,IAAOvB,EAAI,EAAG,CAChBD,EAAIL,EAAM,MAAO,YACjBH,EAAGwB,MAAMhB,GACTR,EAAGE,UAAUoB,IAAI,YACjBtB,EAAGkC,cAAc,YAAYR,SAC7B1B,EAAGmB,UAAYnB,EAAGmB,UAAUc,QAAQ,uBAAwB,cAC5DjC,EAAKQ,EAAE2B,uBACPzC,EAAM+B,KAAKzB,GAAKL,EAAM8B,KAAKjB,GAC3BR,EAAKQ,EAAE4B,YACP,QACF,CACF,CACI5B,IACFA,EAAEU,OAAOlB,GACTA,EAAKQ,GAEPR,EAAKA,EAAGoC,WACV,CAE0B,IAAtB3C,EAAE4C,UAAUR,SACdnC,EAAMF,SAAQuB,GAAKtB,EAAEyB,OAAOH,KAC5BpB,EAAMH,SAAQgB,GAAKf,EAAEyB,OAAOV,MAG9B,IAAI8B,EAAO,EACX5C,EAAMF,SAAQ,CAACuB,EAAGlB,KAChBA,EAAI,GAAKH,EAAMG,EAAI,GAAG2B,MAAMT,GAC5BA,EAAEwB,QAAU,IAAM3C,EAASC,GACvBkB,EAAEb,UAAUsC,SAAS,YAAWF,EAAOzC,EAAC,IAE9CD,EAAS0C,EAAK","ignoreList":[]}
1
+ {"version":3,"names":["document","querySelectorAll","forEach","h","links","panes","activate","i","a","x","el","k","classList","newEl","tag","cls","createElement","className","isHeading","test","tagName","isEmpty","innerHTML","trim","p","n","nextElementSibling","firstElementChild","length","children","li","l","l2","append","outerHTML","add","before","after","push","remove","nodeName","nodeValue","id","n2","replace","querySelector","previousElementSibling","nextSibling","init","onclick","contains"],"sources":["tabsets.js"],"mappings":"AAEAA,SAASC,iBAAiB,WAAWC,SAAQC,IAC3C,MAAMC,EAAQ,IAAID,EAAEF,iBAAiB,uBAC/BI,EAAQ,IAAIF,EAAEF,iBAAiB,uBACrC,SAASK,EAASC,GAChB,SAASC,EAAEC,EAAGF,GACZE,EAAEP,SAAQ,CAACQ,EAAIC,IAAMD,EAAGE,UAAUD,IAAMJ,EAAI,MAAQ,UAAU,WAChE,CACAC,EAAEJ,EAAOG,GAAIC,EAAEH,EAAOE,EACxB,CACA,SAASM,EAAMC,EAAKC,GAClB,MAAML,EAAKV,SAASgB,cAAcF,GAElC,OADAJ,EAAGO,UAAYF,EACRL,CACT,CACA,SAASQ,EAAUR,GACjB,MAAO,WAAWS,KAAKT,EAAGU,QAC5B,CACA,SAASC,EAAQX,GACf,MAA+B,KAAxBA,EAAGY,UAAUC,MACtB,CAEA,IAAYC,EAARC,GAAK,EAAMf,EAAMQ,EAAUf,IAAMkB,EAAQlB,GAAMA,EAAEuB,mBAAqBvB,EAAEwB,kBAmB5E,GAjBqB,IAAjBvB,EAAMwB,QAAgC,OAAhBlB,GAAIU,UAC5B,IAAIV,EAAGmB,UAAU3B,SAAQ4B,IACvB,MAAMC,EAAID,EAAGH,kBACb,IAAKI,EAAG,OACR,MAAMC,EAAKnB,EAAM,MAAO,YACxBmB,EAAGC,OAAOF,GACVA,EAAEG,UAAYH,EAAET,UACZ,gBAAgBH,KAAKa,EAAGV,YAAYU,EAAGpB,UAAUuB,IAAI,UACzDzB,EAAG0B,OAAOJ,GACV,MAAMR,EAAIX,EAAM,MAAO,YACvBmB,EAAGK,MAAMb,GACT,IAAIM,EAAGD,UAAU3B,SAAQ6B,GAAKP,EAAES,OAAOF,KACvC3B,EAAMkC,KAAKN,GAAK3B,EAAMiC,KAAKd,EAAE,IAE/Bd,EAAG6B,UAGgB,IAAjBnC,EAAMwB,OAAc,KAAOlB,IAET,aAAhBA,EAAG8B,UAA2B9B,EAAG+B,UAAUlB,SAAW,UAAUpB,EAAEuC,OAFrC,CAIjC,GAAIxB,EAAUR,GAAK,CACjB,MAAMiC,GAAMjC,EAAGU,QAAQwB,QAAQ,IAAK,IACpC,GAAID,GAAMlB,EAAG,MAGb,GAFIA,EAAI,IAAGA,EAAIkB,EAAK,GAEhBA,IAAOlB,EAAI,EAAG,CAChBD,EAAIX,EAAM,MAAO,YACjBH,EAAG2B,MAAMb,GACTd,EAAGE,UAAUuB,IAAI,YACjBzB,EAAGmC,cAAc,YAAYN,SAC7B7B,EAAGwB,UAAYxB,EAAGwB,UAAUU,QAAQ,uBAAwB,cAC5DlC,EAAKc,EAAEsB,uBACP1C,EAAMkC,KAAK5B,GAAKL,EAAMiC,KAAKd,GAC3Bd,EAAKc,EAAEuB,YACP,QACF,CACF,CACIvB,IACFA,EAAES,OAAOvB,GACTA,EAAKc,GAEPd,EAAKA,EAAGqC,WACV,CAEI1B,EAAQlB,KACVC,EAAMF,SAAQ6B,GAAK5B,EAAE8B,OAAOF,KAC5B1B,EAAMH,SAAQsB,GAAKrB,EAAE8B,OAAOT,MAG9B,IAAIwB,EAAO,EACX5C,EAAMF,SAAQ,CAAC6B,EAAGxB,KAChBA,EAAI,GAAKH,EAAMG,EAAI,GAAG8B,MAAMN,GAC5BA,EAAEkB,QAAU,IAAM3C,EAASC,GACvBwB,EAAEnB,UAAUsC,SAAS,YAAWF,EAAOzC,EAAC,IAE9CD,EAAS0C,EAAK","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.13.38",
3
+ "version": "1.13.40",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"