@xiee/utils 1.13.58 → 1.13.60
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/css/book.css +3 -1
- package/css/book.min.css +1 -1
- package/css/book.min.css.map +1 -1
- package/css/default.css +4 -4
- package/css/default.min.css +1 -1
- package/css/default.min.css.map +1 -1
- package/css/tabsets.css +11 -18
- package/css/tabsets.min.css +1 -1
- package/css/tabsets.min.css.map +1 -1
- package/js/copy-button.js +1 -0
- package/js/copy-button.min.js +1 -1
- package/js/copy-button.min.js.map +1 -1
- package/js/pages.js +13 -10
- package/js/pages.min.js +1 -1
- package/js/pages.min.js.map +1 -1
- package/js/tabsets.js +15 -2
- package/js/tabsets.min.js +1 -1
- package/js/tabsets.min.js.map +1 -1
- package/package.json +1 -1
package/css/book.css
CHANGED
package/css/book.min.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
body{font-family:Palatino,Georgia,serif;font-size:1em}.footnotes,code,.side,.body .side,.chapter-toc{font-size:.85em}.frontmatter,.chapter{min-height:calc(100vh - 1em)}.frontmatter{background-color:#fff;background-image:radial-gradient(#b6cee2 1px,#fff 1px);background-size:2em 2em;padding-bottom:0;&>div{background-color:#ebf6f9;margin:0 -1em;padding:1em}& .title{margin-top:-1em;padding:20vh 1em 1em}}#TOC.side{margin-left:calc(-200px - .8em)}@media (width<=1264px){#TOC.side{margin-left:auto}}@media (width>=1264.02px){body:not(.pagesjs) .chapter-toc{display:none}}.chapter-toc{
|
|
1
|
+
body{font-family:Palatino,Georgia,serif;font-size:1em}.footnotes,code,.side,.body .side,.chapter-toc{font-size:.85em}.frontmatter,.chapter{min-height:calc(100vh - 1em)}.frontmatter{background-color:#fff;background-image:radial-gradient(#b6cee2 1px,#fff 1px);background-size:2em 2em;padding-bottom:0;&>div{background-color:#ebf6f9;margin:0 -1em;padding:1em}& .title{margin-top:-1em;padding:20vh 1em 1em}}#TOC.side{margin-left:calc(-200px - .8em)}@media (width<=1264px){#TOC.side{margin-left:auto}}@media (width>=1264.02px){body:not(.pagesjs) .chapter-toc{display:none}}.chapter-toc{border:1px solid #eee;border-radius:5px;margin-bottom:2em;padding:1em;&>ul{columns:18em}}.chapter:not(.appendix) .main-number{&:before{content:"Chapter "}&:after{content:none}}.chapter h1{border-bottom:1px solid;margin:1em auto 3em;&:has(+.epigraph){margin-bottom:2em}}h1 .section-number{border-bottom:4px solid;margin-bottom:-4px;display:inline-block}.body h2{border-bottom-style:dashed}.pagesjs .pagesjs-page:first-child:has(.frontmatter){padding:0;& .pagesjs-header,& .pagesjs-footer{display:none}& .frontmatter{padding:var(--paper-margin-top)var(--paper-margin-right)var(--paper-margin-bottom)var(--paper-margin-left);height:100%;margin:0;& .title{margin-top:calc(0px - var(--paper-margin-top))}&>div{margin:0 calc(0px - var(--paper-margin-right))0 calc(0px - var(--paper-margin-left))}}}
|
|
2
2
|
/*# sourceMappingURL=book.min.css.map */
|
package/css/book.min.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"AAAA,sDAIA,+DAGA,mDAGA,mIAKE,yDAKA,+CAKF,0CAGA,uBACE,4BAIF,0BACE,8CAIF,
|
|
1
|
+
{"version":3,"mappings":"AAAA,sDAIA,+DAGA,mDAGA,mIAKE,yDAKA,+CAKF,0CAGA,uBACE,4BAIF,0BACE,8CAIF,mFAKE,mBAIF,qCACE,4BAGA,sBAIF,wDAGE,qCAIF,mFAKA,oCAGA,+DAEE,iDAGA,+IAIE,wDAGA","sources":["book.css"],"sourcesContent":["body {\n font-size: 1em;\n font-family: Palatino, Georgia, serif;\n}\n.footnotes, code, .side, .body .side, .chapter-toc {\n font-size: .85em;\n}\n.frontmatter, .chapter {\n min-height: calc(100vh - 1em);\n}\n.frontmatter {\n background-image: radial-gradient(#b6cee2 1px, #fff 1px);\n background-size: 2em 2em;\n background-color: #fff;\n padding-bottom: 0;\n & > div {\n margin: 0 -1em;\n background-color: #ebf6f9;\n padding: 1em;\n }\n & .title {\n padding: 20vh 1em 1em;\n margin-top: -1em;\n }\n}\n#TOC.side {\n margin-left: calc(-200px - .8em);\n}\n@media (max-width: 1264px) {\n #TOC.side {\n margin-left: auto;\n }\n}\n@media (min-width: 1264.02px) {\n body:not(.pagesjs) .chapter-toc {\n display: none;\n }\n}\n.chapter-toc {\n border: 1px solid #eee;\n border-radius: 5px;\n padding: 1em;\n margin-bottom: 2em;\n & > ul {\n columns: 18em;\n }\n}\n.chapter:not(.appendix) .main-number {\n &::before {\n content: \"Chapter \";\n }\n &::after {\n content: none;\n }\n}\n.chapter h1 {\n margin: 1em auto 3em;\n border-bottom: 1px solid;\n &:has(+ .epigraph) {\n margin-bottom: 2em;\n }\n}\nh1 .section-number {\n display: inline-block;\n border-bottom: 4px solid;\n margin-bottom: -4px;\n}\n.body h2 { border-bottom-style: dashed; }\n/* TODO: style for h1.part and printing */\n\n.pagesjs .pagesjs-page:first-child:has(.frontmatter) {\n padding: 0;\n .pagesjs-header, .pagesjs-footer {\n display: none;\n }\n .frontmatter {\n margin: 0;\n padding: var(--paper-margin-top) var(--paper-margin-right) var(--paper-margin-bottom) var(--paper-margin-left);\n height: 100%;\n .title {\n margin-top: calc(0px - var(--paper-margin-top));\n }\n & > div {\n margin: 0 calc(0px - var(--paper-margin-right)) 0 calc(0px - var(--paper-margin-left));\n }\n }\n}\n"],"names":[]}
|
package/css/default.css
CHANGED
|
@@ -14,8 +14,8 @@ pre, img { max-width: 100%; }
|
|
|
14
14
|
pre { white-space: pre-wrap; word-break: break-word; }
|
|
15
15
|
pre code { display: block; padding: 1em; overflow-x: auto; }
|
|
16
16
|
code { font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace; }
|
|
17
|
-
:not(pre) > code, code[class],
|
|
18
|
-
pre > code:is(:not([class]), .language-plain, .language-none), .box { background-color: inherit; border: 1px solid #eee; }
|
|
17
|
+
:not(pre) > code, code[class], div > .caption { background-color: #f8f8f8; }
|
|
18
|
+
pre > code:is(:not([class]), .language-plain, .language-none), .box, .figure, .table { background-color: inherit; border: 1px solid #eee; }
|
|
19
19
|
pre > code {
|
|
20
20
|
&.message { border-color: #9eeaf9; }
|
|
21
21
|
&.warning { background: #fff3cd; border-color: #fff3cd; }
|
|
@@ -28,8 +28,8 @@ pre > code {
|
|
|
28
28
|
border-left: 2px solid;
|
|
29
29
|
&:hover { opacity: inherit; }
|
|
30
30
|
}
|
|
31
|
-
.box, table { margin: 1em auto; }
|
|
32
|
-
|
|
31
|
+
.box, .figure, .table, table { margin: 1em auto; }
|
|
32
|
+
div > .caption { padding: 1px 1em; }
|
|
33
33
|
.figure { p:has(img), pre:has(svg) { text-align: center; } }
|
|
34
34
|
.flex-col { display: flex; justify-content: space-between; }
|
|
35
35
|
table {
|
package/css/default.min.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
body{max-width:800px;margin:auto;padding:1em;font-family:sans-serif;line-height:1.5}body,.abstract,code,.footnotes,footer,#refs,.caption{font-size:.9em}li li{font-size:.95em}ul:has(li>input[type=checkbox]){padding-left:1em;list-style:none}*,:before,:after{box-sizing:border-box}a{color:#4682b4}pre,img{max-width:100%}pre{white-space:pre-wrap;word-break:break-word}pre code{padding:1em;display:block;overflow-x:auto}code{font-family:DejaVu Sans Mono,Droid Sans Mono,Lucida Console,Consolas,Monaco,monospace}:not(pre)>code,code[class]
|
|
1
|
+
body{max-width:800px;margin:auto;padding:1em;font-family:sans-serif;line-height:1.5}body,.abstract,code,.footnotes,footer,#refs,.caption{font-size:.9em}li li{font-size:.95em}ul:has(li>input[type=checkbox]){padding-left:1em;list-style:none}*,:before,:after{box-sizing:border-box}a{color:#4682b4}pre,img{max-width:100%}pre{white-space:pre-wrap;word-break:break-word}pre code{padding:1em;display:block;overflow-x:auto}code{font-family:DejaVu Sans Mono,Droid Sans Mono,Lucida Console,Consolas,Monaco,monospace}:not(pre)>code,code[class],div>.caption{background-color:#f8f8f8}pre>code:is(:not([class]),.language-plain,.language-none),.box,.figure,.table{background-color:inherit;border:1px solid #eee}pre>code{&.message{border-color:#9eeaf9}&.warning{background:#fff3cd;border-color:#fff3cd}&.error{background:#f8d7da;border-color:#f8d7da}}.fenced-chunk{border-left:1px solid #666}.code-fence{opacity:.4;border:1px dashed #666;border-left:2px solid;&:hover{opacity:inherit}}.box,.figure,.table,table{margin:1em auto}div>.caption{padding:1px 1em}.figure{& p:has(img),& pre:has(svg){text-align:center}}.flex-col{justify-content:space-between;display:flex}table{border-top:1px solid #666;& thead th{border-bottom:1px solid #ddd}& th,& td{font-variant-numeric:tabular-nums;padding:5px}& thead,& tfoot,& tr:nth-child(2n){background:#f5f5f5}}blockquote{color:#666;border-left:.5em solid #eee;margin:0;padding:1px 1em}hr,.footnotes:before{border:1px dashed #ddd}.frontmatter{text-align:center}#TOC{& a{text-decoration:none}&>ul{padding:0}& ul{padding-left:1em;list-style:none}& ul ul{border-left:1px solid #b0c4de}}table,.body h2{border-bottom:1px solid #666}.body .appendix,.appendix~h2{border-bottom-style:dashed}.main-number:after{content:"."}span[class^=ref-number-]{font-weight:700}.ref-number-fig:after,.ref-number-tab:after{content:":"}.cross-ref-chp:before{content:"Chapter "}.cross-ref-sec:before{content:"Section "}.cross-ref-fig:before,.ref-number-fig:before{content:"Figure "}.cross-ref-tab:before,.ref-number-tab:before{content:"Table "}.cross-ref-eqn:before,.MathJax_ref:has(mjx-mtext>mjx-c+mjx-c):before{content:"Equation "}.abstract,#refs{&:before{margin:1em auto;font-weight:700;display:block}}.abstract:before{content:"Abstract";text-align:center}#refs:before{content:"Bibliography";font-size:1.5em}.ref-paren-open:before{content:"("}.ref-paren-close:after{content:")"}.ref-semicolon:after{content:"; "}.ref-and:after{content:" and "}.ref-et-al:after{content:" et al.";font-style:italic}.footnote-ref a{&:before{content:"["}&:after{content:"]"}}section.footnotes{margin-top:2em;&:before{content:"";max-width:20em;display:block}}.fade{opacity:.6;background:repeating-linear-gradient(135deg,#fff,#fff 30px,#ddd 32px 32px)}@media print{body{max-width:100%}tr,img{page-break-inside:avoid}}@media only screen and (width>=992px){body:not(.pagesjs) pre:has(.line-numbers):not(:hover){white-space:pre}}
|
|
2
2
|
/*# sourceMappingURL=default.min.css.map */
|
package/css/default.min.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"AAAA,oFAOA,oEACA,sBACA,iEACA,uCACA,gBACA,uBACA,+CACA,mDACA,2FACA,
|
|
1
|
+
{"version":3,"mappings":"AAAA,oFAOA,oEACA,sBACA,iEACA,uCACA,gBACA,uBACA,+CACA,mDACA,2FACA,iEACA,6HACA,SACE,+BACA,kDACA,iDAEF,yCACA,oEAIE,yBAEF,0CACA,6BACA,QAAU,+CACV,qDACA,gCAEE,wCACA,wDACA,uDAEF,2EAMA,4CACA,+BACA,KACE,yBACA,eACA,sCACA,uCAEF,4CACA,wDACA,+BACA,yCACA,wDACA,yCACA,yCACA,+DACA,8DACA,yFACA,gBACE,wDAEF,sDACA,oDACA,mCACA,mCACA,kCACA,+BACA,qDACA,gBACE,qBACA,qBAEF,iCAEE,kDAEF,4FAKA,aACE,oBACA,gCAEF,sCACE","sources":["default.css"],"sourcesContent":["body {\n font-family: sans-serif;\n max-width: 800px;\n margin: auto;\n padding: 1em;\n line-height: 1.5;\n}\nbody, .abstract, code, .footnotes, footer, #refs, .caption { font-size: .9em; }\nli li { font-size: .95em; }\nul:has(li > input[type=\"checkbox\"]) { list-style: none; padding-left: 1em; }\n*, :before, :after { box-sizing: border-box; }\na { color: steelblue; }\npre, img { max-width: 100%; }\npre { white-space: pre-wrap; word-break: break-word; }\npre code { display: block; padding: 1em; overflow-x: auto; }\ncode { font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace; }\n:not(pre) > code, code[class], div > .caption { background-color: #f8f8f8; }\npre > code:is(:not([class]), .language-plain, .language-none), .box, .figure, .table { background-color: inherit; border: 1px solid #eee; }\npre > code {\n &.message { border-color: #9eeaf9; }\n &.warning { background: #fff3cd; border-color: #fff3cd; }\n &.error { background: #f8d7da; border-color: #f8d7da; }\n}\n.fenced-chunk { border-left: 1px solid #666; }\n.code-fence {\n opacity: .4;\n border: 1px dashed #666;\n border-left: 2px solid;\n &:hover { opacity: inherit; }\n}\n.box, .figure, .table, table { margin: 1em auto; }\ndiv > .caption { padding: 1px 1em; }\n.figure { p:has(img), pre:has(svg) { text-align: center; } }\n.flex-col { display: flex; justify-content: space-between; }\ntable {\n border-top: 1px solid #666;\n thead th { border-bottom: 1px solid #ddd; }\n th, td { padding: 5px; font-variant-numeric: tabular-nums; }\n thead, tfoot, tr:nth-child(even) { background: whitesmoke; }\n}\nblockquote {\n color: #666;\n margin: 0;\n padding: 1px 1em;\n border-left: .5em solid #eee;\n}\nhr, .footnotes::before { border: 1px dashed #ddd; }\n.frontmatter { text-align: center; }\n#TOC {\n a { text-decoration: none; }\n & > ul { padding: 0; }\n ul { list-style: none; padding-left: 1em; }\n ul ul { border-left: 1px solid lightsteelblue; }\n}\ntable, .body h2 { border-bottom: 1px solid #666; }\n.body .appendix, .appendix ~ h2 { border-bottom-style: dashed; }\n.main-number::after { content: \".\"; }\nspan[class^=\"ref-number-\"] { font-weight: bold; }\n.ref-number-fig::after, .ref-number-tab::after { content: \":\"; }\n.cross-ref-chp::before { content: \"Chapter \"; }\n.cross-ref-sec::before { content: \"Section \"; }\n.cross-ref-fig::before, .ref-number-fig::before { content: \"Figure \"; }\n.cross-ref-tab::before, .ref-number-tab::before { content: \"Table \"; }\n.cross-ref-eqn::before, .MathJax_ref:has(mjx-mtext > mjx-c + mjx-c)::before { content: \"Equation \"; }\n.abstract, #refs {\n &::before { display: block; margin: 1em auto; font-weight: bold; }\n}\n.abstract::before { content: \"Abstract\"; text-align: center; }\n#refs::before { content: \"Bibliography\"; font-size: 1.5em; }\n.ref-paren-open::before { content: \"(\"; }\n.ref-paren-close::after { content: \")\"; }\n.ref-semicolon::after { content: \"; \"; }\n.ref-and::after { content: \" and \"; }\n.ref-et-al::after { content: \" et al.\"; font-style: italic; }\n.footnote-ref a {\n &::before { content: \"[\"; }\n &::after { content: \"]\"; }\n}\nsection.footnotes {\n margin-top: 2em;\n &::before { content: \"\"; display: block; max-width: 20em; }\n}\n.fade {\n background: repeating-linear-gradient(135deg, white, white 30px, #ddd 32px, #ddd 32px);\n opacity: 0.6;\n}\n\n@media print {\n body { max-width: 100%; }\n tr, img { page-break-inside: avoid; }\n}\n@media only screen and (min-width: 992px) {\n body:not(.pagesjs) pre:has(.line-numbers):not(:hover) { white-space: pre; }\n}\n"],"names":[]}
|
package/css/tabsets.css
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
|
+
.tabset {
|
|
2
|
+
&:has(.tab-link) { margin: 1em auto; }
|
|
3
|
+
&:is(.tabset *) { margin: .5em auto; }
|
|
4
|
+
}
|
|
1
5
|
.tab-link, .tab-pane {
|
|
2
6
|
border: 1px solid rgba(0, 0, 0, .05);
|
|
3
7
|
border-radius: 5px 5px 0 0;
|
|
4
|
-
}
|
|
5
|
-
.tab-link + .tab-pane.active {
|
|
6
|
-
border-radius: 0 5px 0 0;
|
|
7
|
-
}
|
|
8
|
-
.tab-link.active, .tab-pane.active {
|
|
9
|
-
border-color: rgba(0, 0, 0, .5);
|
|
10
|
-
}
|
|
11
|
-
.tab-link:not(.active):hover {
|
|
12
|
-
background: rgba(0, 0, 0, .05);
|
|
13
|
-
}
|
|
14
|
-
.tab-pane {
|
|
15
|
-
display: none;
|
|
16
8
|
padding: .2em .5em;
|
|
17
|
-
}
|
|
18
|
-
.tab-pane.active {
|
|
19
|
-
display: block;
|
|
9
|
+
&.active { border-color: rgba(0, 0, 0, .5); }
|
|
20
10
|
}
|
|
21
11
|
.tab-link {
|
|
22
12
|
display: inline-block;
|
|
23
13
|
margin: 0 .5em -1px 0;
|
|
24
|
-
padding: .2em .5em;
|
|
25
14
|
cursor: pointer;
|
|
15
|
+
&.active { border-bottom-color: white; }
|
|
16
|
+
& + .tab-pane.active { border-radius: 0 5px 0 0; }
|
|
17
|
+
&:not(.active):hover { background: rgba(0, 0, 0, .05); }
|
|
26
18
|
}
|
|
27
|
-
.tab-
|
|
28
|
-
|
|
19
|
+
.tab-pane {
|
|
20
|
+
display: none;
|
|
21
|
+
&.active { display: block; }
|
|
29
22
|
}
|
package/css/tabsets.min.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.tab-link,.tab-pane{border:1px solid #0000000d;border-radius:5px 5px 0 0}.tab-link
|
|
1
|
+
.tabset{&:has(.tab-link){margin:1em auto}&:is(.tabset *){margin:.5em auto}}.tab-link,.tab-pane{border:1px solid #0000000d;border-radius:5px 5px 0 0;padding:.2em .5em;&.active{border-color:#00000080}}.tab-link{cursor:pointer;margin:0 .5em -1px 0;display:inline-block;&.active{border-bottom-color:#fff}&+.tab-pane.active{border-radius:0 5px 0 0}&:not(.active):hover{background:#0000000d}}.tab-pane{display:none;&.active{display:block}}
|
|
2
2
|
/*# sourceMappingURL=tabsets.min.css.map */
|
package/css/tabsets.min.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"AAAA,
|
|
1
|
+
{"version":3,"mappings":"AAAA,QACE,iCACA,kCAEF,2FAIE,iCAEF,mEAIE,kCACA,2CACA,2CAEF,uBAEE","sources":["tabsets.css"],"sourcesContent":[".tabset {\n &:has(.tab-link) { margin: 1em auto; }\n &:is(.tabset *) { margin: .5em auto; }\n}\n.tab-link, .tab-pane {\n border: 1px solid rgba(0, 0, 0, .05);\n border-radius: 5px 5px 0 0;\n padding: .2em .5em;\n &.active { border-color: rgba(0, 0, 0, .5); }\n}\n.tab-link {\n display: inline-block;\n margin: 0 .5em -1px 0;\n cursor: pointer;\n &.active { border-bottom-color: white; }\n & + .tab-pane.active { border-radius: 0 5px 0 0; }\n &:not(.active):hover { background: rgba(0, 0, 0, .05); }\n}\n.tab-pane {\n display: none;\n &.active { display: block; }\n}\n"],"names":[]}
|
package/js/copy-button.js
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
const p = is_code ? pre : el;
|
|
25
25
|
// add the button only if it has not been added
|
|
26
26
|
p.querySelector('.copy-button') || p.append(btn);
|
|
27
|
+
p.hasAttribute('tabIndex') || (p.tabIndex = '0');
|
|
27
28
|
getComputedStyle(p).position === 'static' && (p.style.position = 'relative');
|
|
28
29
|
});
|
|
29
30
|
})(document);
|
package/js/copy-button.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(e=>{const t=e.currentScript?.dataset;e.querySelectorAll(t?.selector||"pre>code, .copy-this").forEach((t=>{const c=e.createElement("span"),
|
|
1
|
+
(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);
|
|
2
2
|
//# sourceMappingURL=copy-button.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["d","cfg","currentScript","dataset","querySelectorAll","selector","forEach","el","btn","createElement","cls","classList","pre","parentNode","is_code","tagName","feedback","c","add","setTimeout","remove","className","onclick","navigator","clipboard","writeText","contains","map","code","innerText","replace","join","then","p","querySelector","append","getComputedStyle","position","style","document"],"sources":["copy-button.js"],"mappings":"AACA,CAACA,IACC,MAAMC,EAAMD,EAAEE,eAAeC,QAC7BH,EAAEI,iBAAiBH,GAAKI,UAAY,wBAAwBC,SAAQC,IAClE,MAAMC,EAAMR,EAAES,cAAc,QAASC,EAAMF,EAAIG,UACNC,EAAML,EAAGM,WAChDC,EAAyB,SAAfP,EAAGQ,SAAuC,QAAjBH,GAAKG,QAG1C,SAASC,EAASC,GAChBP,EAAIQ,IAAID,GAAIE,YAAW,IAAMT,EAAIU,OAAOH,IAAI,IAC9C,CAJAT,EAAIa,UAAY,cAWhBb,EAAIc,QAAU,IAAMC,UAAUC,UAAUC,UAJ9BX,GAAWP,EAAGI,UAAUe,SAAS,eAAiBd,EAAIC,YAAYF,UAAUe,SAAS,gBAC3F,IAAId,EAAIC,WAAWT,iBAAiB,gBACnCuB,KAAIC,GAAQA,EAAKC,UAAUC,QAAQ,MAAO,MAAKC,KAAK,MAAQxB,EAAGsB,WAEPG,MAC3D,IAAMhB,EAdD,kBAce,IAAMA,EAdA,eAkB5B,MAAMiB,EAAInB,EAAUF,EAAML,EAE1B0B,EAAEC,cAAc,iBAAmBD,EAAEE,OAAO3B,
|
|
1
|
+
{"version":3,"names":["d","cfg","currentScript","dataset","querySelectorAll","selector","forEach","el","btn","createElement","cls","classList","pre","parentNode","is_code","tagName","feedback","c","add","setTimeout","remove","className","onclick","navigator","clipboard","writeText","contains","map","code","innerText","replace","join","then","p","querySelector","append","hasAttribute","tabIndex","getComputedStyle","position","style","document"],"sources":["copy-button.js"],"mappings":"AACA,CAACA,IACC,MAAMC,EAAMD,EAAEE,eAAeC,QAC7BH,EAAEI,iBAAiBH,GAAKI,UAAY,wBAAwBC,SAAQC,IAClE,MAAMC,EAAMR,EAAES,cAAc,QAASC,EAAMF,EAAIG,UACNC,EAAML,EAAGM,WAChDC,EAAyB,SAAfP,EAAGQ,SAAuC,QAAjBH,GAAKG,QAG1C,SAASC,EAASC,GAChBP,EAAIQ,IAAID,GAAIE,YAAW,IAAMT,EAAIU,OAAOH,IAAI,IAC9C,CAJAT,EAAIa,UAAY,cAWhBb,EAAIc,QAAU,IAAMC,UAAUC,UAAUC,UAJ9BX,GAAWP,EAAGI,UAAUe,SAAS,eAAiBd,EAAIC,YAAYF,UAAUe,SAAS,gBAC3F,IAAId,EAAIC,WAAWT,iBAAiB,gBACnCuB,KAAIC,GAAQA,EAAKC,UAAUC,QAAQ,MAAO,MAAKC,KAAK,MAAQxB,EAAGsB,WAEPG,MAC3D,IAAMhB,EAdD,kBAce,IAAMA,EAdA,eAkB5B,MAAMiB,EAAInB,EAAUF,EAAML,EAE1B0B,EAAEC,cAAc,iBAAmBD,EAAEE,OAAO3B,GAC5CyB,EAAEG,aAAa,cAAgBH,EAAEI,SAAW,KACX,WAAjCC,iBAAiBL,GAAGM,WAA0BN,EAAEO,MAAMD,SAAW,WAAW,GAE/E,EA5BD,CA4BGE","ignoreList":[]}
|
package/js/pages.js
CHANGED
|
@@ -69,6 +69,8 @@
|
|
|
69
69
|
const item = el.firstChild;
|
|
70
70
|
if (!item) break;
|
|
71
71
|
el2.append(item);
|
|
72
|
+
// usually there's no need to re-calculate size if item is not element (e.g., white space)
|
|
73
|
+
if (item.nodeName.startsWith('#')) continue;
|
|
72
74
|
if (box_cur.scrollHeight > H) {
|
|
73
75
|
// move item back to el if the clone el2 is not the only element on page or has more than one child
|
|
74
76
|
(prev || nChild(el2) > 1) && el.insertBefore(item, el.firstChild);
|
|
@@ -146,6 +148,17 @@
|
|
|
146
148
|
});
|
|
147
149
|
|
|
148
150
|
cls.add('pagesjs-filling');
|
|
151
|
+
|
|
152
|
+
// add dot leaders to TOC
|
|
153
|
+
$$('#TOC a[href^="#"]').forEach(a => {
|
|
154
|
+
const s = d.createElement('span'), // move TOC item content into a span
|
|
155
|
+
n = a.firstElementChild; // if first child is section number, exclude it
|
|
156
|
+
n?.classList.contains('section-number') ? n.after(s) : a.insertAdjacentElement('afterbegin', s);
|
|
157
|
+
while (s.nextSibling) s.append(s.nextSibling);
|
|
158
|
+
a.insertAdjacentHTML('beforeend', '<span class="dot-leader"></span>');
|
|
159
|
+
a.dataset.pageNumber = '000'; // placeholder for page numbers
|
|
160
|
+
});
|
|
161
|
+
|
|
149
162
|
// iteratively add elements to pages
|
|
150
163
|
[$('.frontmatter'), $('#TOC'), $('.abstract')].forEach(el => {
|
|
151
164
|
el && (fill(el), book && box.after(newPage()));
|
|
@@ -160,16 +173,6 @@
|
|
|
160
173
|
});
|
|
161
174
|
cls.remove('pagesjs-filling');
|
|
162
175
|
|
|
163
|
-
// add dot leaders to TOC
|
|
164
|
-
$$('#TOC a[href^="#"]').forEach(a => {
|
|
165
|
-
const s = d.createElement('span'), // move TOC item content into a span
|
|
166
|
-
n = a.firstElementChild; // if first child is section number, exclude it
|
|
167
|
-
n?.classList.contains('section-number') ? n.after(s) : a.insertAdjacentElement('afterbegin', s);
|
|
168
|
-
while (s.nextSibling) s.append(s.nextSibling);
|
|
169
|
-
a.insertAdjacentHTML('beforeend', '<span class="dot-leader"></span>');
|
|
170
|
-
a.dataset.pageNumber = '000'; // placeholder for page numbers
|
|
171
|
-
});
|
|
172
|
-
|
|
173
176
|
// add page number, title, etc. to data-* attributes of page elements
|
|
174
177
|
let page_title, i = 0;
|
|
175
178
|
$$('.pagesjs-page').forEach(box => {
|
package/js/pages.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(e=>{function t(t,n=e){return n?.querySelector(t)}function n(t,n=e){return n?n.querySelectorAll(t):[]}function r(e){return e.childElementCount}const s=e.createElement("div"),a=n("h1").length>1,i="pagesjs-fragmented";s.className="pagesjs-page",s.innerHTML='<div class="pagesjs-header"></div>\n<div class="pagesjs-body"></div>\n<div class="pagesjs-footer"></div>';let o,c,l,d=[];function f(e){return e&&!t(".pagesjs-body",e)&&e.insertAdjacentHTML("afterbegin",s.innerHTML),o=e||s.cloneNode(!0),c=o.children[1],d.length&&o.classList.add(...d),o}function p(e){if(!e)return!1;const t=""===e.innerText.trim();return t&&e.remove(),t}function g(e){if(e.classList.contains("pagesjs-page"))return o.after(f(e)),void(r(e)>3&&(c.append(...[...e.children].slice(3)),o.after(f())));if(o.scrollHeight>l){const[e,t]=[o,c];e.after(f()),r(t)>1&&c.append(t.lastChild)}c.append(e),h(e)}function h(e,t,n,s){const a=e.tagName,d="CODE"===a;if((!d||!t)&&o.scrollHeight<=l)return;e.classList.add(i);const g=s||o,u=e.cloneNode();if(t?t.append(u):(c.append(u),g.after(f()),c.append(e)),"PRE"===a){const t=e.firstElementChild;"CODE"==t?.tagName&&/\n/.test(t.innerHTML)&&h(t,u,e,g)}else"DIV"===a&&1===r(e)&&h(e.firstElementChild,u,e,g);const m=u.previousElementSibling;if(["UL","OL","BLOCKQUOTE"].includes(a)&&r(e)>1)for(;;){const t=e.firstChild;if(!t)break;if(u.append(t)
|
|
1
|
+
(e=>{function t(t,n=e){return n?.querySelector(t)}function n(t,n=e){return n?n.querySelectorAll(t):[]}function r(e){return e.childElementCount}const s=e.createElement("div"),a=n("h1").length>1,i="pagesjs-fragmented";s.className="pagesjs-page",s.innerHTML='<div class="pagesjs-header"></div>\n<div class="pagesjs-body"></div>\n<div class="pagesjs-footer"></div>';let o,c,l,d=[];function f(e){return e&&!t(".pagesjs-body",e)&&e.insertAdjacentHTML("afterbegin",s.innerHTML),o=e||s.cloneNode(!0),c=o.children[1],d.length&&o.classList.add(...d),o}function p(e){if(!e)return!1;const t=""===e.innerText.trim();return t&&e.remove(),t}function g(e){if(e.classList.contains("pagesjs-page"))return o.after(f(e)),void(r(e)>3&&(c.append(...[...e.children].slice(3)),o.after(f())));if(o.scrollHeight>l){const[e,t]=[o,c];e.after(f()),r(t)>1&&c.append(t.lastChild)}c.append(e),h(e)}function h(e,t,n,s){const a=e.tagName,d="CODE"===a;if((!d||!t)&&o.scrollHeight<=l)return;e.classList.add(i);const g=s||o,u=e.cloneNode();if(t?t.append(u):(c.append(u),g.after(f()),c.append(e)),"PRE"===a){const t=e.firstElementChild;"CODE"==t?.tagName&&/\n/.test(t.innerHTML)&&h(t,u,e,g)}else"DIV"===a&&1===r(e)&&h(e.firstElementChild,u,e,g);const m=u.previousElementSibling;if(["UL","OL","BLOCKQUOTE"].includes(a)&&r(e)>1)for(;;){const t=e.firstChild;if(!t)break;if(u.append(t),!t.nodeName.startsWith("#")&&g.scrollHeight>l){(m||r(u)>1)&&e.insertBefore(t,e.firstChild),"OL"===a&&(e.start+=r(u));break}}if(d){const t=e.innerHTML.split("\n"),r=[];for(let e of t)if(r.push(e),u.innerHTML=r.join("\n"),g.scrollHeight>l){r.pop(),u.innerHTML=r.join("\n");break}if(r.length>0&&(e.innerHTML=t.slice(r.length).join("\n"),p(n)))return}const b=p(u);b&&e.classList.remove(i),(!b||d||m)&&h(t?n:e)}function u(e){return e&&(e.dataset.shortTitle||e.innerText)}const m=u(t("h1.title, .frontmatter h1, .title, h1")),b=(a?"h1":"h2")+":not(.frontmatter *)",L=["top","bottom"].map((t=>+getComputedStyle(e.documentElement).getPropertyValue(`--paper-margin-${t}`).replace("px","")||0));function E(){if("complete"!==e.readyState)return setTimeout(E,10);const r=e.body.classList;if(r.contains("pagesjs"))return;r.add("pagesjs"),e.body.insertAdjacentElement("afterbegin",f()),l=o.clientHeight||window.innerHeight,n(":is(#TOC, .footnotes, .chapter-before, .chapter-after):is(.side-left, .side-right).side").forEach((e=>{e.classList.remove("side","side-left","side-right")})),r.add("pagesjs-filling"),n('#TOC a[href^="#"]').forEach((t=>{const n=e.createElement("span"),r=t.firstElementChild;for(r?.classList.contains("section-number")?r.after(n):t.insertAdjacentElement("afterbegin",n);n.nextSibling;)n.append(n.nextSibling);t.insertAdjacentHTML("beforeend",'<span class="dot-leader"></span>'),t.dataset.pageNumber="000"})),[t(".frontmatter"),t("#TOC"),t(".abstract")].forEach((e=>{e&&(g(e),a&&o.after(f()))})),n(".body").forEach((e=>{d=["chapter","appendix"].filter((t=>e.classList.contains(t))),a&&(""===o.innerText?f(o):o.after(f())),[...e.children].map(g),p(e.parentNode),p(e)})),r.remove("pagesjs-filling");let s,i=0;n(".pagesjs-page").forEach((e=>{if(p(e))return;if(a){if(t(".frontmatter",e))return;t(b,e)&&(s="")}const r=function(e){let t=+e.dataset.pagesOffset;if(t)return t;const r=e.scrollHeight;if(t=Math.ceil(r/l),t<=1)return t;const s=L.concat([...n("thead",e)].map((e=>+e.offsetHeight))).reduce(((e,t)=>e+t));if(!s)return t;function a(){return Math.ceil((r+(t-1)*s)/l)}let i=a();for(;i>t;)t=i,i=a();return t}(e);r>1&&e.classList.add("page-multiple"),i+=r,e.classList.add("page-"+(i%2==0?"even":"odd"));const o={pageNumber:i,mainTitle:m,pageTitle:s};let c;[e.children[0],e.children[2]].forEach((e=>{for(const t in o)o[t]&&(e.dataset[t]=o[t])})),s=u([...n(b,e)].pop())||s,n(".footnotes",e).forEach(((t,n)=>{0===n?(c=t,e.children[1].after(t)):(c.append(...t.children),t.remove())}))})),n('#TOC a[href^="#"]').forEach((e=>{const n=t(`.pagesjs-page:has(#${CSS.escape(e.getAttribute("href").replace(/^#/,""))}) .pagesjs-header`);e.dataset.pageNumber=n?n.dataset.pageNumber:""}))}addEventListener("beforeprint",E);let j=sessionStorage.getItem("pagesjs");j&&E(),addEventListener("keypress",(e=>"p"===e.key&&(E(),j=j?"":"1",sessionStorage.setItem("pagesjs",j),j||location.reload())))})(document);
|
|
2
2
|
//# sourceMappingURL=pages.min.js.map
|
package/js/pages.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["d","$","s","el","querySelector","$$","querySelectorAll","nChild","childElementCount","tpl","createElement","book","length","fr_cls","className","innerHTML","box","box_body","H","box_cls","newPage","insertAdjacentHTML","cloneNode","children","classList","add","removeBlank","v","innerText","trim","remove","fill","contains","after","append","slice","scrollHeight","box2","box_body2","lastChild","fragment","container","parent","page","tag","tagName","is_code","box_cur","el2","code","firstElementChild","test","prev","previousElementSibling","includes","item","firstChild","insertBefore","start","split","code2","i","push","join","pop","el2_empty","shortTitle","h","dataset","main","ps","tb","map","getComputedStyle","documentElement","getPropertyValue","replace","paginate","readyState","setTimeout","cls","body","insertAdjacentElement","clientHeight","window","innerHeight","forEach","
|
|
1
|
+
{"version":3,"names":["d","$","s","el","querySelector","$$","querySelectorAll","nChild","childElementCount","tpl","createElement","book","length","fr_cls","className","innerHTML","box","box_body","H","box_cls","newPage","insertAdjacentHTML","cloneNode","children","classList","add","removeBlank","v","innerText","trim","remove","fill","contains","after","append","slice","scrollHeight","box2","box_body2","lastChild","fragment","container","parent","page","tag","tagName","is_code","box_cur","el2","code","firstElementChild","test","prev","previousElementSibling","includes","item","firstChild","nodeName","startsWith","insertBefore","start","split","code2","i","push","join","pop","el2_empty","shortTitle","h","dataset","main","ps","tb","map","getComputedStyle","documentElement","getPropertyValue","replace","paginate","readyState","setTimeout","cls","body","insertAdjacentElement","clientHeight","window","innerHeight","forEach","a","n","nextSibling","pageNumber","filter","parentNode","page_title","N","pagesOffset","Math","ceil","m","concat","offsetHeight","reduce","m1","m2","newPages","n2","calcPages","info","mainTitle","pageTitle","ft","key","p","CSS","escape","getAttribute","addEventListener","pg","sessionStorage","getItem","e","setItem","location","reload","document"],"sources":["pages.js"],"mappings":"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","ignoreList":[]}
|
package/js/tabsets.js
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
document.querySelectorAll('.tabset').forEach(h => {
|
|
4
4
|
const links = [...h.querySelectorAll(':scope > .tab-link')],
|
|
5
5
|
panes = [...h.querySelectorAll(':scope > .tab-pane')];
|
|
6
|
+
let init = 0;
|
|
6
7
|
function activate(i) {
|
|
7
8
|
function a(x, i) {
|
|
8
9
|
x.forEach((el, k) => el.classList[k === i ? 'add' : 'remove']('active'));
|
|
9
10
|
}
|
|
10
|
-
a(links, i); a(panes, i);
|
|
11
|
+
init = i; a(links, i); a(panes, i);
|
|
11
12
|
}
|
|
12
13
|
function newEl(tag, cls) {
|
|
13
14
|
const el = document.createElement(tag);
|
|
@@ -67,17 +68,29 @@ document.querySelectorAll('.tabset').forEach(h => {
|
|
|
67
68
|
}
|
|
68
69
|
el = el.nextSibling;
|
|
69
70
|
}
|
|
71
|
+
const N = links.length;
|
|
72
|
+
if (!N) return;
|
|
73
|
+
|
|
70
74
|
// if the initial tabset container is empty, move links and panes into it
|
|
71
75
|
if (isEmpty(h)) {
|
|
72
76
|
links.forEach(l => h.append(l));
|
|
73
77
|
panes.forEach(p => h.append(p));
|
|
74
78
|
}
|
|
75
79
|
// activate one tab initially if none is active
|
|
76
|
-
let init = 0;
|
|
77
80
|
links.forEach((l, i) => {
|
|
78
81
|
i > 0 && links[i - 1].after(l); // move tab links together
|
|
79
82
|
l.onclick = () => activate(i); // add the click event
|
|
80
83
|
if (l.classList.contains('active')) init = i;
|
|
81
84
|
});
|
|
85
|
+
|
|
86
|
+
const ts = links[0].parentNode;
|
|
87
|
+
ts.hasAttribute('tabIndex') || (ts.tabIndex = '0');
|
|
88
|
+
ts.addEventListener('keyup', e => {
|
|
89
|
+
const dir = ['ArrowLeft', 'ArrowRight'].indexOf(e.key);
|
|
90
|
+
if (dir < 0) return;
|
|
91
|
+
const i = init + (dir ? 1 : -1);
|
|
92
|
+
activate(i < 0 ? N - 1 : (i > N - 1 ? 0 : i));
|
|
93
|
+
});
|
|
94
|
+
|
|
82
95
|
activate(init);
|
|
83
96
|
});
|
package/js/tabsets.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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
|
|
1
|
+
document.querySelectorAll(".tabset").forEach((e=>{const t=[...e.querySelectorAll(":scope > .tab-link")],n=[...e.querySelectorAll(":scope > .tab-pane")];let r=0;function a(e){function a(e,t){e.forEach(((e,n)=>e.classList[n===t?"add":"remove"]("active")))}r=e,a(t,e),a(n,e)}function i(e,t){const n=document.createElement(e);return n.className=t,n}function c(e){return/^H[1-6]$/.test(e.tagName)}function o(e){return""===e.innerHTML.trim()}let l,s=-1,d=c(e)||o(e)?e.nextElementSibling:e.firstElementChild;if(0===t.length&&"UL"===d?.tagName&&([...d.children].forEach((e=>{const r=e.firstElementChild;if(!r)return;const a=i("div","tab-link");a.append(r),r.outerHTML=r.innerHTML,/<!--active-->/.test(a.innerHTML)&&a.classList.add("active"),d.before(a);const c=i("div","tab-pane");a.after(c),[...e.children].forEach((e=>c.append(e))),t.push(a),n.push(c)})),d.remove()),0===t.length)for(;d&&("#comment"!==d.nodeName||d.nodeValue.trim()!==`tabset:${e.id}`);){if(c(d)){const e=+d.tagName.replace("H","");if(e<=s)break;if(s<0&&(s=e-1),e===s+1){l=i("div","tab-pane"),d.after(l),d.classList.add("tab-link"),d.querySelector(".anchor")?.remove(),d.outerHTML=d.outerHTML.replace(/^<h[1-6](.*)h[1-6]>$/,"<div$1div>"),d=l.previousElementSibling,t.push(d),n.push(l),d=l.nextSibling;continue}}l&&(l.append(d),d=l),d=d.nextSibling}const u=t.length;if(!u)return;o(e)&&(t.forEach((t=>e.append(t))),n.forEach((t=>e.append(t)))),t.forEach(((e,n)=>{n>0&&t[n-1].after(e),e.onclick=()=>a(n),e.classList.contains("active")&&(r=n)}));const f=t[0].parentNode;f.hasAttribute("tabIndex")||(f.tabIndex="0"),f.addEventListener("keyup",(e=>{const t=["ArrowLeft","ArrowRight"].indexOf(e.key);if(t<0)return;const n=r+(t?1:-1);a(n<0?u-1:n>u-1?0:n)})),a(r)}));
|
|
2
2
|
//# sourceMappingURL=tabsets.min.js.map
|
package/js/tabsets.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","
|
|
1
|
+
{"version":3,"names":["document","querySelectorAll","forEach","h","links","panes","init","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","N","onclick","contains","ts","parentNode","hasAttribute","tabIndex","addEventListener","e","dir","indexOf","key"],"sources":["tabsets.js"],"mappings":"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","ignoreList":[]}
|