@xiee/utils 1.14.1 → 1.14.3

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/pages.css CHANGED
@@ -85,11 +85,13 @@
85
85
  &:not(.fragment-first) {
86
86
  &, & .pagesjs-fragmented {
87
87
  border-top: none;
88
+ & > thead { opacity: .5; }
88
89
  }
89
90
  }
90
91
  &:not(.fragment-last) {
91
92
  &, & .pagesjs-fragmented {
92
93
  border-bottom: none;
94
+ & > tfoot { opacity: .5; }
93
95
  }
94
96
  }
95
97
  }
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}&>*,&: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);break-after:page;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(.chapter-toc):is(.fragment-first,:not(.pagesjs-fragmented)):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}}}&>.pagesjs-body>.pagesjs-fragmented{&:not(.fragment-first){&,& .pagesjs-fragmented{border-top:none}}&:not(.fragment-last){&,& .pagesjs-fragmented{border-bottom:none}}}& .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:#f7f7f7}& .pagesjs-page{background:#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{height:auto;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);break-after:page;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(.chapter-toc):is(.fragment-first,:not(.pagesjs-fragmented)):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}}}&>.pagesjs-body>.pagesjs-fragmented{&:not(.fragment-first){&,& .pagesjs-fragmented{border-top:none;&>thead{opacity:.5}}}&:not(.fragment-last){&,& .pagesjs-fragmented{border-bottom:none;&>tfoot{opacity:.5}}}}& .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:#f7f7f7}& .pagesjs-page{background:#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{height:auto;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,oFAGA,iRASE,qBAGA,iFAGA,8CAIE,4JAOA,kBAGA,iBAEE,sDAIA,oCAGA,uEAOJ,oCACE,uBACE,yCAIF,sBACE,6CAKJ,gIAOA,iFAMA,wFAEE,sDAIF,2FAGA,wCAMJ,0FAKA,2GAIE,uCAGA,uCAIF,uGAIE,qBAGA,wCAIF,4CAIA,mBACE,SACE,wCAGA,gCAGA,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 padding: var(--paper-margin-top) var(--paper-margin-right) var(--paper-margin-bottom) var(--paper-margin-left);\n break-after: page;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n overflow: hidden;\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(.chapter-toc):is(.fragment-first, :not(.pagesjs-fragmented))::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 & > .pagesjs-body > .pagesjs-fragmented {\n &:not(.fragment-first) {\n &, & .pagesjs-fragmented {\n border-top: none;\n }\n }\n &:not(.fragment-last) {\n &, & .pagesjs-fragmented {\n border-bottom: none;\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: #f7f7f7;\n }\n .pagesjs-page {\n background: 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 height: auto;\n }\n }\n}\n"],"names":[]}
1
+ {"version":3,"mappings":"AAAA,0PAYA,0DAIA,2FAIA,6BAGA,wGAQE,2DAIA,oFAGA,iRASE,qBAGA,iFAGA,8CAIE,4JAOA,kBAGA,iBAEE,sDAIA,oCAGA,uEAOJ,oCACE,uBACE,wCAEE,qBAGJ,sBACE,2CAEE,sBAIN,gIAOA,iFAMA,wFAEE,sDAIF,2FAGA,wCAMJ,0FAKA,2GAIE,uCAGA,uCAIF,uGAIE,qBAGA,wCAIF,4CAIA,mBACE,SACE,wCAGA,gCAGA,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 padding: var(--paper-margin-top) var(--paper-margin-right) var(--paper-margin-bottom) var(--paper-margin-left);\n break-after: page;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n overflow: hidden;\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(.chapter-toc):is(.fragment-first, :not(.pagesjs-fragmented))::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 & > .pagesjs-body > .pagesjs-fragmented {\n &:not(.fragment-first) {\n &, & .pagesjs-fragmented {\n border-top: none;\n & > thead { opacity: .5; }\n }\n }\n &:not(.fragment-last) {\n &, & .pagesjs-fragmented {\n border-bottom: none;\n & > tfoot { opacity: .5; }\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: #f7f7f7;\n }\n .pagesjs-page {\n background: 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 height: auto;\n }\n }\n}\n"],"names":[]}
package/js/pages.js CHANGED
@@ -8,10 +8,9 @@
8
8
  const tpl = d.createElement('div'), book = $$('h1').length > 1, boxes = [],
9
9
  fr_tag = ['TABLE', 'UL', 'OL', 'BLOCKQUOTE'],
10
10
  fr_cls = 'pagesjs-fragmented', fr_1 = 'fragment-first', fr_2 = 'fragment-last',
11
- tb = ['top', 'bottom'].map(i => {
12
- const v = getComputedStyle(d.documentElement).getPropertyValue(`--paper-margin-${i}`);
13
- return parseFloat(v) || 0;
14
- }); // top/bottom page margin
11
+ tb = ['top', 'bottom'].map(i =>
12
+ parseFloat(getComputedStyle(d.documentElement).getPropertyValue(`--paper-margin-${i}`)) || 0
13
+ ); // top/bottom page margin
15
14
  tpl.className = 'pagesjs-page';
16
15
  tpl.innerHTML = `<div class="pagesjs-header"></div>
17
16
  <div class="pagesjs-body"></div>
@@ -39,7 +38,8 @@
39
38
  }
40
39
  function removeBlank(el) {
41
40
  if (!el || el.tagName === 'BODY') return false;
42
- const v = !el.innerText.trim();
41
+ // for <p>, don't treat it as empty unless its HTML is empty
42
+ const v = !(el.tagName === 'P' ? el.innerHTML : el.innerText).trim();
43
43
  v && el.remove();
44
44
  return v;
45
45
  }
@@ -69,8 +69,7 @@
69
69
  function breakable(el) {
70
70
  l_code = [];
71
71
  const t = el.tagName, c = el.firstElementChild;
72
- if (fr_tag.includes(t)) return true;
73
- if (t === 'P') return el.innerText.trim();
72
+ if (t === 'P' || fr_tag.includes(t)) return true;
74
73
  if (t === 'DIV') {
75
74
  const cs = el.children;
76
75
  return (cs.length === 1 && fr_tag.includes(c?.tagName)) ||
@@ -93,7 +92,7 @@
93
92
  const el2 = el.cloneNode(); // shallow clone (wrapper only)
94
93
  (container || box_body).append(el2);
95
94
  if (tag === 'P') splitP(el, el2);
96
- const prev = el2.previousElementSibling;
95
+ const prev = el2.previousElementSibling || container?.previousElementSibling;
97
96
  function fragChildren(action) {
98
97
  for (let item of [...el.children]) {
99
98
  el2.append(item);
@@ -121,13 +120,13 @@
121
120
  }
122
121
  } else if (tag === 'TABLE') {
123
122
  // when el has no rows left and el2 is not empty, clear el
124
- const has_rows = splitTable(el, el2);
123
+ const has_rows = splitTable(el, el2, prev);
125
124
  el2.innerHTML && (has_rows ? nextPage() : (el.innerHTML = ''));
126
125
  } else {
127
126
  // keep moving el's first item to el2 until page height > H
128
127
  fr_tag.slice(1).includes(tag) && fragChildren(item => {
129
128
  // move item back to el if the clone el2 is not the only element on page or has more than one child
130
- (prev || nChild(el2) > 1 || container?.previousElementSibling) && el.prepend(item);
129
+ (prev || nChild(el2) > 1) && el.prepend(item);
131
130
  // update the start number of <ol> on next page
132
131
  tag === 'OL' && (el.start += nChild(el2));
133
132
  // don't open new page if el2 is empty (will open one below when testing el2_empty)
@@ -153,7 +152,7 @@
153
152
  if ((!el2_empty || prev) && !parent) fragment(el);
154
153
  }
155
154
  // split table rows
156
- function splitTable(el, el2) {
155
+ function splitTable(el, el2, prev) {
157
156
  const tb = el.tBodies[0], tb2 = tb.cloneNode(), rows = [...tb.rows], th = el.tHead;
158
157
  el2.append(tb2);
159
158
  // copy table header and footer
@@ -162,8 +161,9 @@
162
161
  const row = rows[i];
163
162
  tb2.append(row);
164
163
  if (box.offsetHeight > H) {
164
+ if (i > 0 || prev) tb.prepend(row);
165
165
  // clear the clone if current page can't fit even one row
166
- tb.prepend(row); if (i === 0) el2.innerHTML = '';
166
+ if (i === 0 && prev) el2.innerHTML = '';
167
167
  break;
168
168
  }
169
169
  }
@@ -204,19 +204,30 @@
204
204
  }
205
205
  const r = d.createRange(), ends = [];
206
206
  // find the break position of each line (exclude block elements like footnotes)
207
- const walker = d.createTreeWalker(el, NodeFilter.SHOW_TEXT);
207
+ const walker = d.createTreeWalker(el, NodeFilter.SHOW_TEXT | NodeFilter.SHOW_ELEMENT);
208
208
  let node, prev;
209
+ function collectEnds(el, i) {
210
+ const rect = el.getBoundingClientRect();
211
+ // if the previous el is at top-right of current el, assume line
212
+ // ends before current el (TODO: how about RTL languages?)
213
+ prev && prev.bottom <= rect.top && prev.right > rect.left && ends.push({node, i});
214
+ prev = rect;
215
+ }
209
216
  while (node = walker.nextNode()) {
210
- const p = node.parentNode;
211
- if (p !== el && p.closest('p div')) continue;
212
- const txt = node.textContent;
213
- if (txt.trim()) for (let i = 0; i < txt.length; i++) {
214
- r.setStart(node, i); r.setEnd(node, i + 1);
215
- const rect = r.getBoundingClientRect();
216
- // if the previous char is at top-right of current char, assume line
217
- // ends before current char (TODO: how about RTL languages?)
218
- prev && prev.bottom <= rect.top && prev.right > rect.left && ends.push({node, i});
219
- prev = rect;
217
+ if (node.tagName) {
218
+ if (node.tagName === 'DIV') {
219
+ node = walker.nextSibling(); // skip DIVs
220
+ if (!node) break;
221
+ }
222
+ if (node.firstChild) continue; // for element nodes, traverse to bottom
223
+ }
224
+ if (node.tagName) {
225
+ collectEnds(node, -1);
226
+ } else {
227
+ const txt = node.textContent;
228
+ if (txt.trim()) for (let i = 0; i < txt.length; i++) {
229
+ r.setStart(node, i); r.setEnd(node, i + 1); collectEnds(r, i);
230
+ }
220
231
  }
221
232
  }
222
233
  el.remove();
@@ -225,7 +236,8 @@
225
236
  function fillLine(i, done) {
226
237
  el2.innerHTML = '';
227
238
  if (i < 0) return;
228
- const loc = ends[i]; r.setEnd(loc.node, loc.i);
239
+ const loc = ends[i];
240
+ loc.i < 0 ? r.setEndBefore(loc.node) : r.setEnd(loc.node, loc.i);
229
241
  el2.append(r.cloneContents());
230
242
  done && (r.deleteContents(), nextPage());
231
243
  }
@@ -255,10 +267,10 @@
255
267
  // consider top/bottom page margin and table headers (which may be repeated on each page)
256
268
  const m = tb.concat([...$$('thead', box)].map(el => +el.offsetHeight)).reduce((m1, m2) => m1 + m2);
257
269
  if (!m) return n;
258
- function newPages() { return Math.ceil((h + (n - 1) * m)/H); }
259
- let n2 = newPages();
270
+ function nPages() { return Math.ceil((h + (n - 1) * m)/H); }
271
+ let n2 = nPages();
260
272
  while (n2 > n) {
261
- n = n2; n2 = newPages();
273
+ n = n2; n2 = nPages();
262
274
  }
263
275
  return n;
264
276
  }
@@ -299,8 +311,9 @@
299
311
  // temporarily move all elements out of DOM (to speed up rendering single pages)
300
312
  const els = [];
301
313
  $$('.body').forEach(el => {
302
- // move <style> into <head> so it can be applied regardless of its presence in <body>
303
- const ch = [...el.children].filter(el => el.tagName !== 'STYLE' || d.head.append(el));
314
+ // move <style>/<link> into <head> so styles can be applied globally
315
+ const ch = [...el.children]
316
+ .filter(el => !['STYLE', 'LINK'].includes(el.tagName) || d.head.append(el));
304
317
  els.push(ch); ch.forEach(el => el.remove());
305
318
  });
306
319
  // iteratively add elements to pages
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"),i=n("h1").length>1,o=[],a=["TABLE","UL","OL","BLOCKQUOTE"],c="pagesjs-fragmented",l="fragment-first",d=["top","bottom"].map((t=>{const n=getComputedStyle(e.documentElement).getPropertyValue(`--paper-margin-${t}`);return parseFloat(n)||0}));s.className="pagesjs-page",s.innerHTML='<div class="pagesjs-header"></div>\n<div class="pagesjs-body"></div>\n<div class="pagesjs-footer"></div>';let f,p,g,h,u,m=[],E=[];function T(e){return e&&!t(".pagesjs-body",e)&&e.insertAdjacentHTML("afterbegin",s.innerHTML),f=e||s.cloneNode(!0),p=f.children[1],f.classList.add(...m),o.includes(f)||o.push(f),f}function L(e,t){const n=f;n.after(T(e)),t&&t(),H(n)}function H(e){const t=e.scrollHeight;if(t>g&&!e.dataset.pagesOffset){const r=function(e,t){let r=+e.dataset.pagesOffset;if(r)return r;if(r=Math.ceil(t/g),r<=1)return r;const s=d.concat([...n("thead",e)].map((e=>+e.offsetHeight))).reduce(((e,t)=>e+t));if(!s)return r;function i(){return Math.ceil((t+(r-1)*s)/g)}let o=i();for(;o>r;)r=o,o=i();return r}(e,t);r>1&&(e.dataset.pagesOffset=r)}e.remove()}function b(e){if(!e||"BODY"===e.tagName)return!1;const t=!e.innerText.trim();return t&&e.remove(),t}function v(e){e.classList.contains("pagesjs-page")?L(e,(()=>r(e)>3&&(p.append(...[...e.children].slice(3)),L()))):(e.innerText.trim()&&g-f.scrollHeight<h&&L(),p.append(e),f.scrollHeight>g&&(!function(e){E=[];const t=e.tagName,n=e.firstElementChild;if(a.includes(t))return!0;if("P"===t)return e.innerText.trim();if("DIV"===t){const t=e.children;return 1===t.length&&a.includes(n?.tagName)||[...t].filter((e=>"TABLE"===e.tagName)).length}if("PRE"!==t)return!1;if("CODE"!==n?.tagName)return!1;E=n.innerHTML.replace(/\n$/,"").split("\n");const r=E.length;return!(r<2)&&(u=n.offsetHeight/r,n.innerHTML="",!0)}(e)?L(0,(()=>p.append(e))):("P"!==e.tagName&&e.remove(),j(e))))}function N(e,t){e.innerHTML=E.slice(0,t).join("\n")}function j(t,n,s){const i=t.tagName,o=t.classList,d=o.contains(c);s?o.add(c):d?o.remove(l):o.add(c,l);const h=t.cloneNode();(n||p).append(h),"P"===i&&function(t,n){if(!t.parentNode&&(p.append(t),f.scrollHeight<=g))return n.innerHTML=t.innerHTML,void(t.innerHTML="");const r=e.createRange(),s=[],i=e.createTreeWalker(t,NodeFilter.SHOW_TEXT);let o,a;for(;o=i.nextNode();){const e=o.parentNode;if(e!==t&&e.closest("p div"))continue;const n=o.textContent;if(n.trim())for(let e=0;e<n.length;e++){r.setStart(o,e),r.setEnd(o,e+1);const t=r.getBoundingClientRect();a&&a.bottom<=t.top&&a.right>t.left&&s.push({node:o,i:e}),a=t}}function c(e,t){if(n.innerHTML="",e<0)return;const i=s[e];r.setEnd(i.node,i.i),n.append(r.cloneContents()),t&&(r.deleteContents(),L())}t.remove(),s.push({node:t,i:t.childNodes.length}),r.setStart(t,0);for(let e=0;e<s.length;e++)if(c(e),f.scrollHeight>g){c(e-1,!0);break}}(t,h);const m=h.previousElementSibling;function T(e){for(let n of[...t.children])if(h.append(n),f.scrollHeight>g){e(n);break}}if("DIV"===i)T((e=>{t.prepend(e),a.includes(e.tagName)?j(e,h,t):r(h)&&L()}));else if("PRE"===i)j(t.firstElementChild,h,t);else if("CODE"===i){const e=function(e){let t=i1=1,n=E.length,r=n+2;const s=[];for(;r>i1+1;){N(e,t);const i=g-f.offsetHeight;if(0===i)return t;if(i<0){if(t<=1)return 0;r=t}else{if(t>=n)return t;i1=t}s.push(t);const o=t+Math.round(i/u);t=s.includes(o)?t+(i>0?1:-1):o,i>0&&t>=n&&(r=n+2,t=n)}return i1}(h);N(h,e),E.splice(0,e),e>0&&(""===E.join("").trim()?E=[]:L())}else if("TABLE"===i){const e=function(e,t){const n=e.tBodies[0],r=n.cloneNode(),s=[...n.rows],i=e.tHead;t.append(r),[i,e.tFoot].forEach((e=>e&&t.append(e.cloneNode(!0))));for(let e=0;e<s.length;e++){const i=s[e];if(r.append(i),f.offsetHeight>g){n.prepend(i),0===e&&(t.innerHTML="");break}}return n.rows.length}(t,h);h.innerHTML&&(e?L():t.innerHTML="")}else a.slice(1).includes(i)&&T((e=>{(m||r(h)>1||n?.previousElementSibling)&&t.prepend(e),"OL"===i&&(t.start+=r(h)),r(h)&&L()}));const H=!E.length&&b(t),v=b(h);if(H){const e=h.classList;s?n.classList.contains(l)&&e.remove(c):e.contains(l)?e.remove(c,l):e.add("fragment-last")}else v&&(o.remove(c,l),s||L()),v&&!m||s||j(t)}function C(e){return e&&(e.dataset.shortTitle||e.innerText)}const M=C(t("h1.title, .frontmatter h1, .title, h1")),O=(i?"h1":"h2")+":not(.frontmatter *)";function S(){if("complete"!==e.readyState)return setTimeout(S,10);const r=e.body.classList;if(r.contains("pagesjs"))return;r.add("pagesjs"),e.body.insertAdjacentElement("afterbegin",T()),g=f.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");const s=e.createElement("p"),a=f.scrollHeight;s.innerText="A",p.append(s),h=f.scrollHeight-a,s.remove(),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"}));const c=[];n(".body").forEach((t=>{const n=[...t.children].filter((t=>"STYLE"!==t.tagName||e.head.append(t)));c.push(n),n.forEach((e=>e.remove()))})),n(".frontmatter, .abstract, #TOC:not(.chapter-toc)").forEach((e=>{v(e),i&&L()})),n(".body").forEach(((e,t)=>{m=["chapter","appendix"].filter((t=>e.classList.contains(t))),i&&(""===f.innerText?T(f):L()),c[t].forEach(v),b(e.parentNode),b(e)})),H(f),r.remove("pagesjs-filling");let l,d=0;o.forEach((e=>{if(i){if(t(".frontmatter",e))return;t(O,e)&&(l="")}const r=+e.dataset.pagesOffset||1;r>1&&e.classList.add("page-multiple"),d+=r,e.classList.add("page-"+(d%2==0?"even":"odd"));const s={pageNumber:d,mainTitle:M,pageTitle:l};let o;[e.children[0],e.children[2]].forEach((e=>{for(const t in s)s[t]&&(e.dataset[t]=s[t])})),l=C([...n(O,e)].pop())||l,n(".footnotes",e).forEach(((t,n)=>{0===n?(o=t,e.children[1].after(t)):(o.append(...t.children),t.remove())}))})),e.body.prepend(...o),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",S);let y=sessionStorage.getItem("pagesjs");y&&S(),addEventListener("keypress",(e=>"p"===e.key&&(S(),y=y?"":"1",sessionStorage.setItem("pagesjs",y),y||location.reload())))})(document);
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 i=e.createElement("div"),s=n("h1").length>1,a=[],o=["TABLE","UL","OL","BLOCKQUOTE"],c="pagesjs-fragmented",l="fragment-first",d=["top","bottom"].map((t=>parseFloat(getComputedStyle(e.documentElement).getPropertyValue(`--paper-margin-${t}`))||0));i.className="pagesjs-page",i.innerHTML='<div class="pagesjs-header"></div>\n<div class="pagesjs-body"></div>\n<div class="pagesjs-footer"></div>';let f,p,g,h,u,m=[],E=[];function L(e){return e&&!t(".pagesjs-body",e)&&e.insertAdjacentHTML("afterbegin",i.innerHTML),f=e||i.cloneNode(!0),p=f.children[1],f.classList.add(...m),a.includes(f)||a.push(f),f}function T(e,t){const n=f;n.after(L(e)),t&&t(),H(n)}function H(e){const t=e.scrollHeight;if(t>g&&!e.dataset.pagesOffset){const r=function(e,t){let r=+e.dataset.pagesOffset;if(r)return r;if(r=Math.ceil(t/g),r<=1)return r;const i=d.concat([...n("thead",e)].map((e=>+e.offsetHeight))).reduce(((e,t)=>e+t));if(!i)return r;function s(){return Math.ceil((t+(r-1)*i)/g)}let a=s();for(;a>r;)r=a,a=s();return r}(e,t);r>1&&(e.dataset.pagesOffset=r)}e.remove()}function b(e){if(!e||"BODY"===e.tagName)return!1;const t=!("P"===e.tagName?e.innerHTML:e.innerText).trim();return t&&e.remove(),t}function N(e){e.classList.contains("pagesjs-page")?T(e,(()=>r(e)>3&&(p.append(...[...e.children].slice(3)),T()))):(e.innerText.trim()&&g-f.scrollHeight<h&&T(),p.append(e),f.scrollHeight>g&&(!function(e){E=[];const t=e.tagName,n=e.firstElementChild;if("P"===t||o.includes(t))return!0;if("DIV"===t){const t=e.children;return 1===t.length&&o.includes(n?.tagName)||[...t].filter((e=>"TABLE"===e.tagName)).length}if("PRE"!==t)return!1;if("CODE"!==n?.tagName)return!1;E=n.innerHTML.replace(/\n$/,"").split("\n");const r=E.length;return!(r<2)&&(u=n.offsetHeight/r,n.innerHTML="",!0)}(e)?T(0,(()=>p.append(e))):("P"!==e.tagName&&e.remove(),j(e))))}function v(e,t){e.innerHTML=E.slice(0,t).join("\n")}function j(t,n,i){const s=t.tagName,a=t.classList,d=a.contains(c);i?a.add(c):d?a.remove(l):a.add(c,l);const h=t.cloneNode();(n||p).append(h),"P"===s&&function(t,n){if(!t.parentNode&&(p.append(t),f.scrollHeight<=g))return n.innerHTML=t.innerHTML,void(t.innerHTML="");const r=e.createRange(),i=[],s=e.createTreeWalker(t,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT);let a,o;function c(e,t){const n=e.getBoundingClientRect();o&&o.bottom<=n.top&&o.right>n.left&&i.push({node:a,i:t}),o=n}for(;a=s.nextNode();){if(a.tagName){if("DIV"===a.tagName&&(a=s.nextSibling(),!a))break;if(a.firstChild)continue}if(a.tagName)c(a,-1);else{const e=a.textContent;if(e.trim())for(let t=0;t<e.length;t++)r.setStart(a,t),r.setEnd(a,t+1),c(r,t)}}function l(e,t){if(n.innerHTML="",e<0)return;const s=i[e];s.i<0?r.setEndBefore(s.node):r.setEnd(s.node,s.i),n.append(r.cloneContents()),t&&(r.deleteContents(),T())}t.remove(),i.push({node:t,i:t.childNodes.length}),r.setStart(t,0);for(let e=0;e<i.length;e++)if(l(e),f.scrollHeight>g){l(e-1,!0);break}}(t,h);const m=h.previousElementSibling||n?.previousElementSibling;function L(e){for(let n of[...t.children])if(h.append(n),f.scrollHeight>g){e(n);break}}if("DIV"===s)L((e=>{t.prepend(e),o.includes(e.tagName)?j(e,h,t):r(h)&&T()}));else if("PRE"===s)j(t.firstElementChild,h,t);else if("CODE"===s){const e=function(e){let t=i1=1,n=E.length,r=n+2;const i=[];for(;r>i1+1;){v(e,t);const s=g-f.offsetHeight;if(0===s)return t;if(s<0){if(t<=1)return 0;r=t}else{if(t>=n)return t;i1=t}i.push(t);const a=t+Math.round(s/u);t=i.includes(a)?t+(s>0?1:-1):a,s>0&&t>=n&&(r=n+2,t=n)}return i1}(h);v(h,e),E.splice(0,e),e>0&&(""===E.join("").trim()?E=[]:T())}else if("TABLE"===s){const e=function(e,t,n){const r=e.tBodies[0],i=r.cloneNode(),s=[...r.rows],a=e.tHead;t.append(i),[a,e.tFoot].forEach((e=>e&&t.append(e.cloneNode(!0))));for(let e=0;e<s.length;e++){const a=s[e];if(i.append(a),f.offsetHeight>g){(e>0||n)&&r.prepend(a),0===e&&n&&(t.innerHTML="");break}}return r.rows.length}(t,h,m);h.innerHTML&&(e?T():t.innerHTML="")}else o.slice(1).includes(s)&&L((e=>{(m||r(h)>1)&&t.prepend(e),"OL"===s&&(t.start+=r(h)),r(h)&&T()}));const H=!E.length&&b(t),N=b(h);if(H){const e=h.classList;i?n.classList.contains(l)&&e.remove(c):e.contains(l)?e.remove(c,l):e.add("fragment-last")}else N&&(a.remove(c,l),i||T()),N&&!m||i||j(t)}function M(e){return e&&(e.dataset.shortTitle||e.innerText)}const C=M(t("h1.title, .frontmatter h1, .title, h1")),S=(s?"h1":"h2")+":not(.frontmatter *)";function O(){if("complete"!==e.readyState)return setTimeout(O,10);const r=e.body.classList;if(r.contains("pagesjs"))return;r.add("pagesjs"),e.body.insertAdjacentElement("afterbegin",L()),g=f.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");const i=e.createElement("p"),o=f.scrollHeight;i.innerText="A",p.append(i),h=f.scrollHeight-o,i.remove(),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"}));const c=[];n(".body").forEach((t=>{const n=[...t.children].filter((t=>!["STYLE","LINK"].includes(t.tagName)||e.head.append(t)));c.push(n),n.forEach((e=>e.remove()))})),n(".frontmatter, .abstract, #TOC:not(.chapter-toc)").forEach((e=>{N(e),s&&T()})),n(".body").forEach(((e,t)=>{m=["chapter","appendix"].filter((t=>e.classList.contains(t))),s&&(""===f.innerText?L(f):T()),c[t].forEach(N),b(e.parentNode),b(e)})),H(f),r.remove("pagesjs-filling");let l,d=0;a.forEach((e=>{if(s){if(t(".frontmatter",e))return;t(S,e)&&(l="")}const r=+e.dataset.pagesOffset||1;r>1&&e.classList.add("page-multiple"),d+=r,e.classList.add("page-"+(d%2==0?"even":"odd"));const i={pageNumber:d,mainTitle:C,pageTitle:l};let a;[e.children[0],e.children[2]].forEach((e=>{for(const t in i)i[t]&&(e.dataset[t]=i[t])})),l=M([...n(S,e)].pop())||l,n(".footnotes",e).forEach(((t,n)=>{0===n?(a=t,e.children[1].after(t)):(a.append(...t.children),t.remove())}))})),e.body.prepend(...a),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",O);let y=sessionStorage.getItem("pagesjs");y&&O(),addEventListener("keypress",(e=>"p"===e.key&&(O(),y=y?"":"1",sessionStorage.setItem("pagesjs",y),y||location.reload())))})(document);
2
2
  //# sourceMappingURL=pages.min.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["d","$","s","el","querySelector","$$","querySelectorAll","nChild","childElementCount","tpl","createElement","book","length","boxes","fr_tag","fr_cls","fr_1","tb","map","i","v","getComputedStyle","documentElement","getPropertyValue","parseFloat","className","innerHTML","box","box_body","H","H_min","h_code","box_cls","l_code","newPage","insertAdjacentHTML","cloneNode","children","classList","add","includes","push","nextPage","callback","cur","after","finish","h","scrollHeight","dataset","pagesOffset","n","Math","ceil","m","concat","offsetHeight","reduce","m1","m2","newPages","n2","calcPages","remove","removeBlank","tagName","innerText","trim","fill","contains","append","slice","t","c","firstElementChild","cs","filter","replace","split","n_code","breakable","fragment","fillCode","join","container","parent","tag","cls","frag","el2","parentNode","r","createRange","ends","walker","createTreeWalker","NodeFilter","SHOW_TEXT","node","prev","nextNode","p","closest","txt","textContent","setStart","setEnd","rect","getBoundingClientRect","bottom","top","right","left","fillLine","done","loc","cloneContents","deleteContents","childNodes","splitP","previousElementSibling","fragChildren","action","item","prepend","i1","i2","sols","delta","i3","round","splitCode","splice","has_rows","tBodies","tb2","rows","th","tHead","tFoot","forEach","row","splitTable","start","el_empty","el2_empty","cls2","shortTitle","main","ps","paginate","readyState","setTimeout","body","insertAdjacentElement","clientHeight","window","innerHeight","H0","a","nextSibling","pageNumber","els","ch","head","page_title","N","info","mainTitle","pageTitle","ft","key","pop","CSS","escape","getAttribute","addEventListener","pg","sessionStorage","getItem","e","setItem","location","reload","document"],"sources":["pages.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["d","$","s","el","querySelector","$$","querySelectorAll","nChild","childElementCount","tpl","createElement","book","length","boxes","fr_tag","fr_cls","fr_1","tb","map","i","parseFloat","getComputedStyle","documentElement","getPropertyValue","className","innerHTML","box","box_body","H","H_min","h_code","box_cls","l_code","newPage","insertAdjacentHTML","cloneNode","children","classList","add","includes","push","nextPage","callback","cur","after","finish","h","scrollHeight","dataset","pagesOffset","n","Math","ceil","m","concat","offsetHeight","reduce","m1","m2","nPages","n2","calcPages","remove","removeBlank","tagName","v","innerText","trim","fill","contains","append","slice","t","c","firstElementChild","cs","filter","replace","split","n_code","breakable","fragment","fillCode","join","container","parent","tag","cls","frag","el2","parentNode","r","createRange","ends","walker","createTreeWalker","NodeFilter","SHOW_TEXT","SHOW_ELEMENT","node","prev","collectEnds","rect","getBoundingClientRect","bottom","top","right","left","nextNode","nextSibling","firstChild","txt","textContent","setStart","setEnd","fillLine","done","loc","setEndBefore","cloneContents","deleteContents","childNodes","splitP","previousElementSibling","fragChildren","action","item","prepend","i1","i2","sols","delta","i3","round","splitCode","splice","has_rows","tBodies","tb2","rows","th","tHead","tFoot","forEach","row","splitTable","start","el_empty","el2_empty","cls2","shortTitle","main","ps","paginate","readyState","setTimeout","body","insertAdjacentElement","clientHeight","window","innerHeight","p","H0","a","pageNumber","els","ch","head","page_title","N","info","mainTitle","pageTitle","ft","key","pop","CSS","escape","getAttribute","addEventListener","pg","sessionStorage","getItem","e","setItem","location","reload","document"],"sources":["pages.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.14.1",
3
+ "version": "1.14.3",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"