@xiee/utils 1.13.57 → 1.13.59

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.
@@ -5,6 +5,12 @@
5
5
  display: none;
6
6
  }
7
7
 
8
+ .pagesjs {
9
+ #tab\:assets tr > :nth-child(2) {
10
+ display: none;
11
+ }
12
+ }
13
+
8
14
  .epigraph {
9
15
  position: relative;
10
16
  padding: 5px;
@@ -137,4 +143,10 @@ pre:has(code[data-file]) {
137
143
  }
138
144
  }
139
145
 
146
+ .no-ref-label {
147
+ .cross-ref-sec:before {
148
+ content: "";
149
+ }
150
+ }
151
+
140
152
  .larger { font-size: 1.5em; }
@@ -1,2 +1,2 @@
1
- .pagesjs #TOC>ul>li>ul>li>ul>li>ul,.chapter-toc>ul>li>ul>li>ul{display:none}.epigraph{margin-bottom:4em;padding:5px;position:relative;&,& blockquote{border:1px solid}&:before,&:after,& blockquote:before,& blockquote:after{content:"•";text-align:center;border:1px solid;width:1em;height:1em;line-height:1;display:inline-block;position:absolute}&:before{left:5px}&:after{content:"❀";color:#639;text-align:right;opacity:.2;border:none;font-size:3em;inset:5px 5px auto auto}& blockquote{padding:1em;&:before{inset:auto auto 5px 5px}&:after{inset:auto 5px 5px auto}}}.new-road{& p{justify-content:center;gap:.5em;display:flex}& button:before{font-size:200%}& .old-knit,& .new-fuse{&:hover:before{content:"❓ "}}& .old-knit{&:before{content:"🧶 "}&:focus:before{content:"😡 "}}& .new-fuse:before{content:"↯ "}& .new-preview:before{content:"⏵ "}& .new-fuse:focus:before{content:"😇 "}}.flex-col{justify-content:space-between;gap:.5em;display:flex;& *{flex:1}& pre:has(code[data-file]){&,&:before{border:groove #f5fffa}& code{border:none;border-top:1px dashed #d3d3d3}&{border-top:none}&:before{border-bottom:none;border-left:none}}}code[data-file]:before{content:attr(data-file);float:right;background-color:#ffffe0;margin:-1em -1em 1em 1em;padding:.5em;font-size:.9em;display:inline-block}pre:has(code[data-file]){&:before{content:"Output";text-transform:uppercase;border-bottom:none;padding:.5em 1em;font-weight:700;display:inline-block}&:has(code[data-file$=\.Rmd]):before{content:"♧ Example"}&:has(code[data-source]):before{content:"♧ Source"}&.pagesjs-fragmented:first-child{&:before,& code:before{content:unset}& code{border-top:none}}& code,&:before{border:groove #f5fffa}&.pagesjs-fragmented:last-child{& code{border-bottom:none}}&:before{border-bottom:none}}.larger{font-size:1.5em}
1
+ .pagesjs #TOC>ul>li>ul>li>ul>li>ul,.chapter-toc>ul>li>ul>li>ul{display:none}.pagesjs{& #tab\:assets tr>:nth-child(2){display:none}}.epigraph{margin-bottom:4em;padding:5px;position:relative;&,& blockquote{border:1px solid}&:before,&:after,& blockquote:before,& blockquote:after{content:"•";text-align:center;border:1px solid;width:1em;height:1em;line-height:1;display:inline-block;position:absolute}&:before{left:5px}&:after{content:"❀";color:#639;text-align:right;opacity:.2;border:none;font-size:3em;inset:5px 5px auto auto}& blockquote{padding:1em;&:before{inset:auto auto 5px 5px}&:after{inset:auto 5px 5px auto}}}.new-road{& p{justify-content:center;gap:.5em;display:flex}& button:before{font-size:200%}& .old-knit,& .new-fuse{&:hover:before{content:"❓ "}}& .old-knit{&:before{content:"🧶 "}&:focus:before{content:"😡 "}}& .new-fuse:before{content:"↯ "}& .new-preview:before{content:"⏵ "}& .new-fuse:focus:before{content:"😇 "}}.flex-col{justify-content:space-between;gap:.5em;display:flex;& *{flex:1}& pre:has(code[data-file]){&,&:before{border:groove #f5fffa}& code{border:none;border-top:1px dashed #d3d3d3}&{border-top:none}&:before{border-bottom:none;border-left:none}}}code[data-file]:before{content:attr(data-file);float:right;background-color:#ffffe0;margin:-1em -1em 1em 1em;padding:.5em;font-size:.9em;display:inline-block}pre:has(code[data-file]){&:before{content:"Output";text-transform:uppercase;border-bottom:none;padding:.5em 1em;font-weight:700;display:inline-block}&:has(code[data-file$=\.Rmd]):before{content:"♧ Example"}&:has(code[data-source]):before{content:"♧ Source"}&.pagesjs-fragmented:first-child{&:before,& code:before{content:unset}& code{border-top:none}}& code,&:before{border:groove #f5fffa}&.pagesjs-fragmented:last-child{& code{border-bottom:none}}&:before{border-bottom:none}}.no-ref-label{& .cross-ref-sec:before{content:""}}.larger{font-size:1.5em}
2
2
  /*# sourceMappingURL=book-litedown.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAGA,4EAIA,0DAIE,gCAGA,mLAUA,kBAGA,+GASA,yBAEE,iCAGA,kCAOJ,UACE,iDAKA,+BACA,wBACE,+BAEF,YACE,yBACA,gCAEF,kCACA,qCACA,0CAIF,8DAIE,WAGA,2BACE,iCAGA,iDAIA,kBAGA,+CAOJ,8JAUA,yBACE,4HAQA,2DAGA,qDAGA,iCACE,qCAGA,wBAIF,sCAGA,gCACE,2BAIF,6BAKF","sources":["book-litedown.css"],"sourcesContent":["/* CSS for https://yihui.org/litedown/ */\n\n/* hide 4th-level TOC items when printing to PDF and 3rd-level in chapter TOC */\n.pagesjs #TOC > ul > li > ul > li > ul > li > ul, .chapter-toc > ul > li > ul > li > ul {\n display: none;\n}\n\n.epigraph {\n position: relative;\n padding: 5px;\n margin-bottom: 4em;\n &, blockquote {\n border: 1px solid;\n }\n &::before, &::after, blockquote::before, blockquote::after {\n content: \"•\";\n position: absolute;\n border: 1px solid;\n display: inline-block;\n width: 1em;\n height: 1em;\n text-align: center;\n line-height: 1;\n }\n &::before {\n left: 5px;\n }\n &::after {\n content: \"❀\";\n color: rebeccapurple;\n font-size: 3em;\n text-align: right;\n border: none;\n opacity: .2;\n inset: 5px 5px auto auto;\n }\n blockquote {\n padding: 1em;\n &::before {\n inset: auto auto 5px 5px;\n }\n &::after {\n inset: auto 5px 5px auto;\n }\n }\n}\n\n/* a tale of two buttons */\n.new-road {\n p {\n display: flex;\n justify-content: center;\n gap: .5em;\n }\n button::before { font-size: 200%; }\n .old-knit, .new-fuse {\n &:hover::before { content: \"❓ \"; }\n }\n .old-knit {\n &::before { content: \"🧶 \"; }\n &:focus::before { content: \"😡 \"; }\n }\n .new-fuse::before { content: \"↯ \"; }\n .new-preview::before { content: \"⏵ \"; }\n .new-fuse:focus::before { content: \"😇 \"; }\n}\n\n/* arrange elements in columns */\n.flex-col {\n display: flex;\n justify-content: space-between;\n gap: .5em;\n * {\n flex: 1;\n }\n pre:has(code[data-file]) {\n &, &::before {\n border: groove mintcream;\n }\n code {\n border: none;\n border-top: 1px dashed lightgray;\n }\n & {\n border-top: none;\n }\n &::before {\n border-left: none;\n border-bottom: none;\n }\n }\n}\n\ncode[data-file]::before {\n content: attr(data-file);\n font-size: .9em;\n float: right;\n background-color: lightyellow;\n display: inline-block;\n padding: .5em;\n margin: -1em -1em 1em 1em;\n}\n\npre:has(code[data-file]) {\n &::before {\n content: \"Output\";\n text-transform: uppercase;\n font-weight: bold;\n display: inline-block;\n padding: .5em 1em;\n border-bottom: none;\n }\n &:has(code[data-file$=\".Rmd\"])::before {\n content: \"♧ Example\";\n }\n &:has(code[data-source])::before {\n content: \"♧ Source\";\n }\n &.pagesjs-fragmented:first-child {\n &::before, code::before {\n content: unset;\n }\n code {\n border-top: none;\n }\n }\n code, &::before {\n border: groove mintcream;\n }\n &.pagesjs-fragmented:last-child {\n code {\n border-bottom: none;\n }\n }\n &::before {\n border-bottom: none;\n }\n}\n\n.larger { font-size: 1.5em; }\n"],"names":[]}
1
+ {"version":3,"mappings":"AAGA,4EAIA,SACE,8CAKF,0DAIE,gCAGA,mLAUA,kBAGA,+GASA,yBAEE,iCAGA,kCAOJ,UACE,iDAKA,+BACA,wBACE,+BAEF,YACE,yBACA,gCAEF,kCACA,qCACA,0CAIF,8DAIE,WAGA,2BACE,iCAGA,iDAIA,kBAGA,+CAOJ,8JAUA,yBACE,4HAQA,2DAGA,qDAGA,iCACE,qCAGA,wBAIF,sCAGA,gCACE,2BAIF,6BAKF,cACE,oCAKF","sources":["book-litedown.css"],"sourcesContent":["/* CSS for https://yihui.org/litedown/ */\n\n/* hide 4th-level TOC items when printing to PDF and 3rd-level in chapter TOC */\n.pagesjs #TOC > ul > li > ul > li > ul > li > ul, .chapter-toc > ul > li > ul > li > ul {\n display: none;\n}\n\n.pagesjs {\n #tab\\:assets tr > :nth-child(2) {\n display: none;\n }\n}\n\n.epigraph {\n position: relative;\n padding: 5px;\n margin-bottom: 4em;\n &, blockquote {\n border: 1px solid;\n }\n &::before, &::after, blockquote::before, blockquote::after {\n content: \"•\";\n position: absolute;\n border: 1px solid;\n display: inline-block;\n width: 1em;\n height: 1em;\n text-align: center;\n line-height: 1;\n }\n &::before {\n left: 5px;\n }\n &::after {\n content: \"❀\";\n color: rebeccapurple;\n font-size: 3em;\n text-align: right;\n border: none;\n opacity: .2;\n inset: 5px 5px auto auto;\n }\n blockquote {\n padding: 1em;\n &::before {\n inset: auto auto 5px 5px;\n }\n &::after {\n inset: auto 5px 5px auto;\n }\n }\n}\n\n/* a tale of two buttons */\n.new-road {\n p {\n display: flex;\n justify-content: center;\n gap: .5em;\n }\n button::before { font-size: 200%; }\n .old-knit, .new-fuse {\n &:hover::before { content: \"❓ \"; }\n }\n .old-knit {\n &::before { content: \"🧶 \"; }\n &:focus::before { content: \"😡 \"; }\n }\n .new-fuse::before { content: \"↯ \"; }\n .new-preview::before { content: \"⏵ \"; }\n .new-fuse:focus::before { content: \"😇 \"; }\n}\n\n/* arrange elements in columns */\n.flex-col {\n display: flex;\n justify-content: space-between;\n gap: .5em;\n * {\n flex: 1;\n }\n pre:has(code[data-file]) {\n &, &::before {\n border: groove mintcream;\n }\n code {\n border: none;\n border-top: 1px dashed lightgray;\n }\n & {\n border-top: none;\n }\n &::before {\n border-left: none;\n border-bottom: none;\n }\n }\n}\n\ncode[data-file]::before {\n content: attr(data-file);\n font-size: .9em;\n float: right;\n background-color: lightyellow;\n display: inline-block;\n padding: .5em;\n margin: -1em -1em 1em 1em;\n}\n\npre:has(code[data-file]) {\n &::before {\n content: \"Output\";\n text-transform: uppercase;\n font-weight: bold;\n display: inline-block;\n padding: .5em 1em;\n border-bottom: none;\n }\n &:has(code[data-file$=\".Rmd\"])::before {\n content: \"♧ Example\";\n }\n &:has(code[data-source])::before {\n content: \"♧ Source\";\n }\n &.pagesjs-fragmented:first-child {\n &::before, code::before {\n content: unset;\n }\n code {\n border-top: none;\n }\n }\n code, &::before {\n border: groove mintcream;\n }\n &.pagesjs-fragmented:last-child {\n code {\n border-bottom: none;\n }\n }\n &::before {\n border-bottom: none;\n }\n}\n\n.no-ref-label {\n .cross-ref-sec:before {\n content: \"\";\n }\n}\n\n.larger { font-size: 1.5em; }\n"],"names":[]}
@@ -8,7 +8,7 @@
8
8
  border: 1px solid;
9
9
  box-shadow: -3px 3px #999;
10
10
  }
11
- :hover > .copy-button {
11
+ :is(:focus, :hover) > .copy-button {
12
12
  display: inline-block;
13
13
  }
14
14
  .copy-success {
@@ -1,2 +1,2 @@
1
- .copy-button{cursor:pointer;border:1px solid;width:1em;height:1em;display:none;position:absolute;inset:5px 5px auto auto;box-shadow:-3px 3px #999}:hover>.copy-button{display:inline-block}.copy-success{box-shadow:none;background-color:#999;transition:box-shadow .3s ease-out,background-color .3s ease-out}.copy-fail{border-style:dotted}
1
+ .copy-button{cursor:pointer;border:1px solid;width:1em;height:1em;display:none;position:absolute;inset:5px 5px auto auto;box-shadow:-3px 3px #999}:is(:focus,:hover)>.copy-button{display:inline-block}.copy-success{box-shadow:none;background-color:#999;transition:box-shadow .3s ease-out,background-color .3s ease-out}.copy-fail{border-style:dotted}
2
2
  /*# sourceMappingURL=copy-button.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,kJAUA,yCAGA,qHAKA","sources":["copy-button.css"],"sourcesContent":[".copy-button {\n position: absolute;\n display: none;\n cursor: pointer;\n inset: 5px 5px auto auto;\n width: 1em;\n height: 1em;\n border: 1px solid;\n box-shadow: -3px 3px #999;\n}\n:hover > .copy-button {\n display: inline-block;\n}\n.copy-success {\n box-shadow: none;\n background-color: #999;\n transition: box-shadow 300ms ease-out, background-color 300ms ease-out;\n}\n.copy-fail {\n border-style: dotted;\n}\n"],"names":[]}
1
+ {"version":3,"mappings":"AAAA,kJAUA,qDAGA,qHAKA","sources":["copy-button.css"],"sourcesContent":[".copy-button {\n position: absolute;\n display: none;\n cursor: pointer;\n inset: 5px 5px auto auto;\n width: 1em;\n height: 1em;\n border: 1px solid;\n box-shadow: -3px 3px #999;\n}\n:is(:focus, :hover) > .copy-button {\n display: inline-block;\n}\n.copy-success {\n box-shadow: none;\n background-color: #999;\n transition: box-shadow 300ms ease-out, background-color 300ms ease-out;\n}\n.copy-fail {\n border-style: dotted;\n}\n"],"names":[]}
package/css/pages.css CHANGED
@@ -33,6 +33,9 @@
33
33
  min-height: unset;
34
34
  box-shadow: none;
35
35
  }
36
+ &:not(:has(.frontmatter)):has(.chapter-toc) #TOC:not(.chapter-toc) {
37
+ display: none;
38
+ }
36
39
  .pagesjs-page {
37
40
  width: var(--paper-width);
38
41
  height: var(--paper-height);
package/css/pages.min.css CHANGED
@@ -1,2 +1,2 @@
1
- :root{--paper-width:210mm;--paper-height:297mm;--paper-margin-top:40px;--paper-margin-right:80px;--paper-margin-bottom:40px;--paper-margin-left:80px;--page-header-height:40px;--page-header-bottom:40px;--page-footer-height:40px;--page-footer-top:40px}@page{size:var(--paper-width)var(--paper-height);margin:0}@page multiple{margin-top:var(--paper-margin-top);margin-bottom:var(--paper-margin-bottom)}.page-multiple{page:multiple}.pagesjs{flex-wrap:wrap;justify-content:center;gap:5mm;max-width:100%;margin:5mm;padding:0;display:flex;& .frontmatter,& .chapter{min-height:unset;box-shadow:none}& .pagesjs-page{width:var(--paper-width);height:var(--paper-height);padding:var(--paper-margin-top)var(--paper-margin-right)var(--paper-margin-bottom)var(--paper-margin-left);page-break-after:always;flex-direction:column;justify-content:space-between;display:flex;overflow:hidden;& img{max-width:100%}& .chapter-before,& .chapter-after,& .buttons:has(+.chapter-before){display:none}& #TOC{border:none;margin-left:auto;padding:0;&:not(.pagesjs-page:has(#TOC)~.pagesjs-page *):before{content:"Contents";margin-bottom:1em;font-size:1.5em;font-weight:700;display:block}&>ul{columns:18em}& a{display:flex;&:after{content:attr(data-page-number);align-self:end}& .section-number{margin-right:.3em}& .dot-leader{border-bottom:1px dashed;flex:1 0 2em;margin:0 1ex 1ex}}}& .fullwidth{float:none;max-width:none;width:var(--paper-width);margin-left:calc(0px - var(--paper-margin-left));transform:none}& .footnotes:before{content:"";border-top:1px solid;max-width:20em;display:block}&:has(.side-left,.embed-left) .pagesjs-body{padding-left:calc(0px - var(--side-margin));& .fullwidth{transform:translate(var(--side-margin))}}&:has(.side-right,.embed-right) .pagesjs-body{padding-right:calc(0px - var(--side-margin))}& .side{background:0 0;font-size:.9em}}}.pagesjs-header,.pagesjs-footer{justify-content:space-between;font-size:.9em;display:flex}.pagesjs-header{flex:0 0 var(--page-header-height);margin-bottom:var(--page-header-bottom);align-items:end;&:before{content:attr(data-main-title)}&:after{content:attr(data-page-title)}}.pagesjs-footer{flex:0 0 var(--page-footer-height);margin-top:var(--page-footer-top);align-items:start;&:before{content:" "}&:after{content:attr(data-page-number)}}.pagesjs-body{flex-grow:1;position:relative}@media only screen{.pagesjs{&:has(.pagesjs-page){background-color:#f7f7f7}& .pagesjs-page{background-color:#fff}& .page-multiple{overflow-y:auto}}.pagesjs-filling{display:block;& .pagesjs-page{height:auto;& .pagesjs-body:has(.footnotes){margin-bottom:1em}}}}@media print{.pagesjs{gap:0;margin:0;& .page-multiple{padding-top:0;padding-bottom:0}}}
1
+ :root{--paper-width:210mm;--paper-height:297mm;--paper-margin-top:40px;--paper-margin-right:80px;--paper-margin-bottom:40px;--paper-margin-left:80px;--page-header-height:40px;--page-header-bottom:40px;--page-footer-height:40px;--page-footer-top:40px}@page{size:var(--paper-width)var(--paper-height);margin:0}@page multiple{margin-top:var(--paper-margin-top);margin-bottom:var(--paper-margin-bottom)}.page-multiple{page:multiple}.pagesjs{flex-wrap:wrap;justify-content:center;gap:5mm;max-width:100%;margin:5mm;padding:0;display:flex;& .frontmatter,& .chapter{min-height:unset;box-shadow:none}&:not(:has(.frontmatter)):has(.chapter-toc) #TOC:not(.chapter-toc){display:none}& .pagesjs-page{width:var(--paper-width);height:var(--paper-height);padding:var(--paper-margin-top)var(--paper-margin-right)var(--paper-margin-bottom)var(--paper-margin-left);page-break-after:always;flex-direction:column;justify-content:space-between;display:flex;overflow:hidden;& img{max-width:100%}& .chapter-before,& .chapter-after,& .buttons:has(+.chapter-before){display:none}& #TOC{border:none;margin-left:auto;padding:0;&:not(.pagesjs-page:has(#TOC)~.pagesjs-page *):before{content:"Contents";margin-bottom:1em;font-size:1.5em;font-weight:700;display:block}&>ul{columns:18em}& a{display:flex;&:after{content:attr(data-page-number);align-self:end}& .section-number{margin-right:.3em}& .dot-leader{border-bottom:1px dashed;flex:1 0 2em;margin:0 1ex 1ex}}}& .fullwidth{float:none;max-width:none;width:var(--paper-width);margin-left:calc(0px - var(--paper-margin-left));transform:none}& .footnotes:before{content:"";border-top:1px solid;max-width:20em;display:block}&:has(.side-left,.embed-left) .pagesjs-body{padding-left:calc(0px - var(--side-margin));& .fullwidth{transform:translate(var(--side-margin))}}&:has(.side-right,.embed-right) .pagesjs-body{padding-right:calc(0px - var(--side-margin))}& .side{background:0 0;font-size:.9em}}}.pagesjs-header,.pagesjs-footer{justify-content:space-between;font-size:.9em;display:flex}.pagesjs-header{flex:0 0 var(--page-header-height);margin-bottom:var(--page-header-bottom);align-items:end;&:before{content:attr(data-main-title)}&:after{content:attr(data-page-title)}}.pagesjs-footer{flex:0 0 var(--page-footer-height);margin-top:var(--page-footer-top);align-items:start;&:before{content:" "}&:after{content:attr(data-page-number)}}.pagesjs-body{flex-grow:1;position:relative}@media only screen{.pagesjs{&:has(.pagesjs-page){background-color:#f7f7f7}& .pagesjs-page{background-color:#fff}& .page-multiple{overflow-y:auto}}.pagesjs-filling{display:block;& .pagesjs-page{height:auto;& .pagesjs-body:has(.footnotes){margin-bottom:1em}}}}@media print{.pagesjs{gap:0;margin:0;& .page-multiple{padding-top:0;padding-bottom:0}}}
2
2
  /*# sourceMappingURL=pages.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,0PAYA,0DAIA,2FAIA,6BAGA,wGAQE,2DAIA,wRASE,qBAGA,iFAGA,8CAIE,yIAOA,kBAGA,iBAEE,sDAIA,oCAGA,uEAOJ,gIAOA,iFAMA,wFAEE,sDAIF,2FAGA,wCAMJ,0FAKA,2GAIE,uCAGA,uCAIF,uGAIE,qBAGA,wCAIF,4CAIA,mBACE,SACE,8CAGA,sCAGA,kCAIF,+BAEE,4BAEE,qDAMN,aACE,wBAGE","sources":["pages.css"],"sourcesContent":[":root {\n --paper-width: 210mm;\n --paper-height: 297mm;\n --paper-margin-top: 40px;\n --paper-margin-right: 80px;\n --paper-margin-bottom: 40px;\n --paper-margin-left: 80px;\n --page-header-height: 40px;\n --page-header-bottom: 40px;\n --page-footer-height: 40px;\n --page-footer-top: 40px;\n}\n@page {\n size: var(--paper-width) var(--paper-height);\n margin: 0;\n}\n@page multiple {\n margin-top: var(--paper-margin-top);\n margin-bottom: var(--paper-margin-bottom);\n}\n.page-multiple {\n page: multiple;\n}\n.pagesjs {\n padding: 0;\n max-width: 100%;\n margin: 5mm;\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 5mm;\n .frontmatter, .chapter {\n min-height: unset;\n box-shadow: none;\n }\n .pagesjs-page {\n width: var(--paper-width);\n height: var(--paper-height);\n overflow: hidden;\n padding: var(--paper-margin-top) var(--paper-margin-right) var(--paper-margin-bottom) var(--paper-margin-left);\n \tpage-break-after: always;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n img {\n max-width: 100%;\n }\n .chapter-before, .chapter-after, .buttons:has(+ .chapter-before) {\n display: none;\n }\n #TOC {\n border: none;\n padding: 0;\n margin-left: auto;\n &:not(.pagesjs-page:has(#TOC) ~ .pagesjs-page *)::before {\n content: \"Contents\";\n display: block;\n font-weight: bold;\n font-size: 1.5em;\n margin-bottom: 1em;\n }\n & > ul {\n columns: 18em;\n }\n a {\n display: flex;\n &::after {\n content: attr(data-page-number);\n align-self: end;\n }\n .section-number {\n margin-right: .3em;\n }\n .dot-leader {\n flex: 1 0 2em;\n border-bottom: dashed 1px;\n margin: 0 1ex 1ex;\n }\n }\n }\n .fullwidth {\n float: none;\n max-width: none;\n width: var(--paper-width);\n margin-left: calc(0px - var(--paper-margin-left));\n transform: none;\n }\n .footnotes::before {\n content: \"\";\n display: block;\n max-width: 20em;\n border-top: solid 1px;\n }\n &:has(.side-left, .embed-left) .pagesjs-body {\n padding-left: calc(0px - var(--side-margin));\n .fullwidth {\n transform: translate(var(--side-margin));\n }\n }\n &:has(.side-right, .embed-right) .pagesjs-body {\n padding-right: calc(0px - var(--side-margin));\n }\n .side {\n font-size: .9em;\n background: none;\n }\n }\n}\n.pagesjs-header, .pagesjs-footer {\n font-size: .9em;\n display: flex;\n justify-content: space-between;\n}\n.pagesjs-header {\n flex: 0 0 var(--page-header-height);\n margin-bottom: var(--page-header-bottom);\n align-items: end;\n &::before {\n content: attr(data-main-title);\n }\n &::after {\n content: attr(data-page-title);\n }\n}\n.pagesjs-footer {\n flex: 0 0 var(--page-footer-height);\n margin-top: var(--page-footer-top);\n align-items: start;\n &::before {\n content: \" \";\n }\n &::after {\n content: attr(data-page-number);\n }\n}\n.pagesjs-body {\n flex-grow: 1;\n position: relative;\n}\n@media only screen {\n .pagesjs {\n &:has(.pagesjs-page) {\n background-color: #f7f7f7;\n }\n .pagesjs-page {\n background-color: white;\n }\n .page-multiple {\n overflow-y: auto;\n }\n }\n .pagesjs-filling {\n display: block;\n .pagesjs-page {\n height: auto;\n .pagesjs-body:has(.footnotes) {\n margin-bottom: 1em;\n }\n }\n }\n}\n@media print {\n .pagesjs {\n margin: 0;\n gap: 0;\n .page-multiple {\n padding-top: 0;\n padding-bottom: 0;\n }\n }\n}\n"],"names":[]}
1
+ {"version":3,"mappings":"AAAA,0PAYA,0DAIA,2FAIA,6BAGA,wGAQE,2DAIA,gFAGA,wRASE,qBAGA,iFAGA,8CAIE,yIAOA,kBAGA,iBAEE,sDAIA,oCAGA,uEAOJ,gIAOA,iFAMA,wFAEE,sDAIF,2FAGA,wCAMJ,0FAKA,2GAIE,uCAGA,uCAIF,uGAIE,qBAGA,wCAIF,4CAIA,mBACE,SACE,8CAGA,sCAGA,kCAIF,+BAEE,4BAEE,qDAMN,aACE,wBAGE","sources":["pages.css"],"sourcesContent":[":root {\n --paper-width: 210mm;\n --paper-height: 297mm;\n --paper-margin-top: 40px;\n --paper-margin-right: 80px;\n --paper-margin-bottom: 40px;\n --paper-margin-left: 80px;\n --page-header-height: 40px;\n --page-header-bottom: 40px;\n --page-footer-height: 40px;\n --page-footer-top: 40px;\n}\n@page {\n size: var(--paper-width) var(--paper-height);\n margin: 0;\n}\n@page multiple {\n margin-top: var(--paper-margin-top);\n margin-bottom: var(--paper-margin-bottom);\n}\n.page-multiple {\n page: multiple;\n}\n.pagesjs {\n padding: 0;\n max-width: 100%;\n margin: 5mm;\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 5mm;\n .frontmatter, .chapter {\n min-height: unset;\n box-shadow: none;\n }\n &:not(:has(.frontmatter)):has(.chapter-toc) #TOC:not(.chapter-toc) {\n display: none;\n }\n .pagesjs-page {\n width: var(--paper-width);\n height: var(--paper-height);\n overflow: hidden;\n padding: var(--paper-margin-top) var(--paper-margin-right) var(--paper-margin-bottom) var(--paper-margin-left);\n \tpage-break-after: always;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n img {\n max-width: 100%;\n }\n .chapter-before, .chapter-after, .buttons:has(+ .chapter-before) {\n display: none;\n }\n #TOC {\n border: none;\n padding: 0;\n margin-left: auto;\n &:not(.pagesjs-page:has(#TOC) ~ .pagesjs-page *)::before {\n content: \"Contents\";\n display: block;\n font-weight: bold;\n font-size: 1.5em;\n margin-bottom: 1em;\n }\n & > ul {\n columns: 18em;\n }\n a {\n display: flex;\n &::after {\n content: attr(data-page-number);\n align-self: end;\n }\n .section-number {\n margin-right: .3em;\n }\n .dot-leader {\n flex: 1 0 2em;\n border-bottom: dashed 1px;\n margin: 0 1ex 1ex;\n }\n }\n }\n .fullwidth {\n float: none;\n max-width: none;\n width: var(--paper-width);\n margin-left: calc(0px - var(--paper-margin-left));\n transform: none;\n }\n .footnotes::before {\n content: \"\";\n display: block;\n max-width: 20em;\n border-top: solid 1px;\n }\n &:has(.side-left, .embed-left) .pagesjs-body {\n padding-left: calc(0px - var(--side-margin));\n .fullwidth {\n transform: translate(var(--side-margin));\n }\n }\n &:has(.side-right, .embed-right) .pagesjs-body {\n padding-right: calc(0px - var(--side-margin));\n }\n .side {\n font-size: .9em;\n background: none;\n }\n }\n}\n.pagesjs-header, .pagesjs-footer {\n font-size: .9em;\n display: flex;\n justify-content: space-between;\n}\n.pagesjs-header {\n flex: 0 0 var(--page-header-height);\n margin-bottom: var(--page-header-bottom);\n align-items: end;\n &::before {\n content: attr(data-main-title);\n }\n &::after {\n content: attr(data-page-title);\n }\n}\n.pagesjs-footer {\n flex: 0 0 var(--page-footer-height);\n margin-top: var(--page-footer-top);\n align-items: start;\n &::before {\n content: \" \";\n }\n &::after {\n content: attr(data-page-number);\n }\n}\n.pagesjs-body {\n flex-grow: 1;\n position: relative;\n}\n@media only screen {\n .pagesjs {\n &:has(.pagesjs-page) {\n background-color: #f7f7f7;\n }\n .pagesjs-page {\n background-color: white;\n }\n .page-multiple {\n overflow-y: auto;\n }\n }\n .pagesjs-filling {\n display: block;\n .pagesjs-page {\n height: auto;\n .pagesjs-body:has(.footnotes) {\n margin-bottom: 1em;\n }\n }\n }\n}\n@media print {\n .pagesjs {\n margin: 0;\n gap: 0;\n .page-multiple {\n padding-top: 0;\n padding-bottom: 0;\n }\n }\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-link.active {
28
- border-bottom-color: white;
19
+ .tab-pane {
20
+ display: none;
21
+ &.active { display: block; }
29
22
  }
@@ -1,2 +1,2 @@
1
- .tab-link,.tab-pane{border:1px solid #0000000d;border-radius:5px 5px 0 0}.tab-link+.tab-pane.active{border-radius:0 5px 0 0}.tab-link.active,.tab-pane.active{border-color:#00000080}.tab-link:not(.active):hover{background:#0000000d}.tab-pane{padding:.2em .5em;display:none}.tab-pane.active{display:block}.tab-link{cursor:pointer;margin:0 .5em -1px 0;padding:.2em .5em;display:inline-block}.tab-link.active{border-bottom-color:#fff}
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 */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,yEAIA,mDAGA,yDAGA,kDAGA,yCAIA,+BAGA,qFAMA","sources":["tabsets.css"],"sourcesContent":[".tab-link, .tab-pane {\n border: 1px solid rgba(0, 0, 0, .05);\n border-radius: 5px 5px 0 0;\n}\n.tab-link + .tab-pane.active {\n border-radius: 0 5px 0 0;\n}\n.tab-link.active, .tab-pane.active {\n border-color: rgba(0, 0, 0, .5);\n}\n.tab-link:not(.active):hover {\n background: rgba(0, 0, 0, .05);\n}\n.tab-pane {\n display: none;\n padding: .2em .5em;\n}\n.tab-pane.active {\n display: block;\n}\n.tab-link {\n display: inline-block;\n margin: 0 .5em -1px 0;\n padding: .2em .5em;\n cursor: pointer;\n}\n.tab-link.active {\n border-bottom-color: white;\n}\n"],"names":[]}
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
@@ -1,7 +1,7 @@
1
1
  // add a button to elements to copy their content: https://yihui.org/en/2023/09/copy-button/
2
2
  (d => {
3
3
  const cfg = d.currentScript?.dataset;
4
- d.querySelectorAll(cfg?.selector || 'pre>code').forEach(el => {
4
+ d.querySelectorAll(cfg?.selector || 'pre>code, .copy-this').forEach(el => {
5
5
  const btn = d.createElement('span'), cls = btn.classList,
6
6
  c1 = 'copy-success', c2 = 'copy-fail', pre = el.parentNode,
7
7
  is_code = el.tagName === 'CODE' && pre?.tagName === 'PRE';
@@ -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);
@@ -1,2 +1,2 @@
1
- (e=>{const t=e.currentScript?.dataset;e.querySelectorAll(t?.selector||"pre>code").forEach((t=>{const c=e.createElement("span"),o=c.classList,n=t.parentNode,a="CODE"===t.tagName&&"PRE"===n?.tagName;function s(e){o.add(e),setTimeout((()=>o.remove(e)),1e3)}c.className="copy-button",c.onclick=()=>navigator.clipboard.writeText(a&&t.classList.contains("code-fence")&&n.parentNode?.classList.contains("fenced-chunk")?[...n.parentNode.querySelectorAll("code[class]")].map((e=>e.innerText.replace(/\n$/,""))).join("\n"):t.innerText).then((()=>s("copy-success")),(()=>s("copy-fail")));const r=a?n:t;r.querySelector(".copy-button")||r.append(c),"static"===getComputedStyle(r).position&&(r.style.position="relative")}))})(document);
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,YAAYC,SAAQC,IACtD,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,GACX,WAAjC4B,iBAAiBH,GAAGI,WAA0BJ,EAAEK,MAAMD,SAAW,WAAW,GAE/E,EA3BD,CA2BGE","ignoreList":[]}
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/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 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
+ 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
@@ -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","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":[]}
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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.13.57",
3
+ "version": "1.13.59",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"