@xiee/utils 1.14.78 → 1.14.80

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.
@@ -0,0 +1,28 @@
1
+ /* lt-plot.css — styles for inline graphics cells (see lt-plot.js). */
2
+ .lt-table {
3
+ .lt-eb-cell {
4
+ position: relative;
5
+ padding: 0; /* so the gridline background fills the whole cell */
6
+ text-align: left; /* keep the plot flush left, aligned with the gridlines */
7
+ }
8
+ .lt-eb-grid-bg {
9
+ position: absolute;
10
+ left: 0;
11
+ top: 0;
12
+ line { stroke: #eee; }
13
+ }
14
+ .lt-eb {
15
+ position: relative;
16
+ vertical-align: middle;
17
+ line { stroke: #888; }
18
+ circle { fill: #333; }
19
+ .lt-eb-ref { stroke: #ccc; }
20
+ }
21
+ .lt-eb-axis {
22
+ display: block;
23
+ margin-top: 3px; /* small gap below the body, since the cell has no padding */
24
+ line { stroke: #888; }
25
+ text { fill: #666; font-size: 11px; }
26
+ .lt-eb-axis-label { fill: #333; font-size: 12px; }
27
+ }
28
+ }
@@ -0,0 +1,2 @@
1
+ .lt-table{& .lt-eb-cell{text-align:left;padding:0;position:relative}& .lt-eb-grid-bg{position:absolute;top:0;left:0;& line{stroke:#eee}}& .lt-eb{vertical-align:middle;position:relative;& line{stroke:#888}& circle{fill:#333}& .lt-eb-ref{stroke:#ccc}}& .lt-eb-axis{margin-top:3px;display:block;& line{stroke:#888}& text{fill:#666;font-size:11px}& .lt-eb-axis-label{fill:#333;font-size:12px}}}
2
+ /*# sourceMappingURL=lt-plot.min.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"AACA,UACE,0DAKA,gDAIE,oBAEF,iDAGE,mBACA,mBACA,0BAEF,2CAGE,mBACA,gCACA","sources":["lt-plot.css"],"sourcesContent":["/* lt-plot.css — styles for inline graphics cells (see lt-plot.js). */\n.lt-table {\n .lt-eb-cell {\n position: relative;\n padding: 0; /* so the gridline background fills the whole cell */\n text-align: left; /* keep the plot flush left, aligned with the gridlines */\n }\n .lt-eb-grid-bg {\n position: absolute;\n left: 0;\n top: 0;\n line { stroke: #eee; }\n }\n .lt-eb {\n position: relative;\n vertical-align: middle;\n line { stroke: #888; }\n circle { fill: #333; }\n .lt-eb-ref { stroke: #ccc; }\n }\n .lt-eb-axis {\n display: block;\n margin-top: 3px; /* small gap below the body, since the cell has no padding */\n line { stroke: #888; }\n text { fill: #666; font-size: 11px; }\n .lt-eb-axis-label { fill: #333; font-size: 12px; }\n }\n}\n"],"names":[]}
package/js/lt-plot.js ADDED
@@ -0,0 +1,154 @@
1
+ /* lt-plot.js — inline graphics cells for lt tables (error bars, sparklines, …).
2
+ * Registers cell renderers on LT.cells; the core runtime (lt.js) consults them
3
+ * while building the <table>, so a plot draws for every render path (static,
4
+ * Node-baked, and the interactive per-page rebuild) with no plot code in core.
5
+ * This file must run before lt.js: core reads LT.cells when it drains the queue
6
+ * (linked <script defer> keeps document order; inline scripts run in order too).
7
+ */
8
+ (root => {
9
+ "use strict";
10
+ const LT = root.LT || (root.LT = {});
11
+ const cells = LT.cells || (LT.cells = {});
12
+ if (cells.errorbar) return; // duplicate inclusion is a no-op
13
+
14
+ // Horizontal padding (px) left/right inside an error-bar SVG, so points,
15
+ // bars, and axis ticks never sit flush against the cell edge.
16
+ const EB_PAD = 4;
17
+ // Axis tick-label font size (px); also drives how many ticks fit (see below)
18
+ // and must match the font-size for `.lt-eb-axis text` in lt-plot.css.
19
+ const EB_AXIS_FONT = 11;
20
+
21
+ // "Nice" axis ticks for [lo, hi] (~n of them), à la base R's pretty(): snap
22
+ // the step to 1/2/5 × 10^k so labels are round numbers. Returns tick values
23
+ // rounded to the step's own precision (so no float noise like 0.30000001).
24
+ function niceTicks(lo, hi, n = 5) {
25
+ if (!(hi > lo)) return [lo];
26
+ const niceNum = (x, round) => {
27
+ const e = Math.floor(Math.log10(x)), f = x / 10 ** e,
28
+ nf = round ? (f < 1.5 ? 1 : f < 3 ? 2 : f < 7 ? 5 : 10)
29
+ : (f <= 1 ? 1 : f <= 2 ? 2 : f <= 5 ? 5 : 10);
30
+ return nf * 10 ** e;
31
+ };
32
+ const d = niceNum(niceNum(hi - lo, false) / (n - 1), true),
33
+ dec = Math.max(0, -Math.floor(Math.log10(d))), ticks = [];
34
+ for (let v = Math.ceil(lo / d) * d; v <= hi + d / 2; v += d)
35
+ ticks.push(+v.toFixed(dec));
36
+ return ticks;
37
+ }
38
+
39
+ // How many axis ticks fit without the labels crowding: budget each label at
40
+ // ~0.6em per char (its widest value is at one of the ends) plus a one-em gap.
41
+ function nAxisTicks(eb) {
42
+ const inner = eb.width - 2 * EB_PAD,
43
+ chars = Math.max(String(eb.min).length, String(eb.max).length),
44
+ per = chars * EB_AXIS_FONT * 0.6 + EB_AXIS_FONT;
45
+ return Math.max(2, Math.min(8, Math.floor(inner / per) + 1));
46
+ }
47
+ // Map a value to an x pixel on an error-bar's shared [min,max] scale: fit the
48
+ // scale into [EB_PAD, W - EB_PAD], clamp into that range (a degenerate scale
49
+ // centers), and round to 0.1px so coords stay short and free of float noise.
50
+ const ebX = (eb, v) => {
51
+ const inner = eb.width - 2 * EB_PAD, span = eb.max - eb.min,
52
+ p = span > 0 ? EB_PAD + (v - eb.min) / span * inner : eb.width / 2;
53
+ return Math.round(Math.max(EB_PAD, Math.min(eb.width - EB_PAD, p)) * 10) / 10;
54
+ };
55
+
56
+ // Inline SVG for an error-bar cell: a point at the estimate and a horizontal
57
+ // bar (with end caps) from the lower to the upper bound, on the column's
58
+ // shared [min,max] scale. Only the numbers are shipped in the spec; the SVG
59
+ // is built here at render time, so an interactive table (which rebuilds
60
+ // <tbody> from spec._viewRows) draws it only for the rows on the current
61
+ // page. `u` carries the core helpers (esc/isNum/str) passed in by lt.js.
62
+ function svgErrorbar(eb, data, r, u) {
63
+ const num = k => { const v = data[k]?.[r - 1]; return u.isNum(v) ? v : null; };
64
+ const est = num(eb.col), lo = num(eb.lo), hi = num(eb.hi);
65
+ if (est == null && lo == null && hi == null) return "";
66
+ const H = eb.height, y = H / 2, x = v => ebX(eb, v),
67
+ cap = Math.min(4, (H - 1) / 2); // half-height of the end caps
68
+ let s = `<svg class="lt-eb" width="${eb.width}" height="${H}">`;
69
+ if (eb.ref != null)
70
+ s += `<line class="lt-eb-ref" x1="${x(eb.ref)}" y1="0" x2="${x(eb.ref)}" y2="${H}"/>`;
71
+ if (lo != null && hi != null) {
72
+ // horizontal bar plus short vertical end caps at both ends
73
+ const xl = x(lo), xh = x(hi);
74
+ s += `<line x1="${xl}" y1="${y}" x2="${xh}" y2="${y}"/>` +
75
+ `<line x1="${xl}" y1="${y - cap}" x2="${xl}" y2="${y + cap}"/>` +
76
+ `<line x1="${xh}" y1="${y - cap}" x2="${xh}" y2="${y + cap}"/>`;
77
+ }
78
+ if (est != null) s += `<circle cx="${x(est)}" cy="${y}" r="3"/>`;
79
+ const ci = lo != null && hi != null ? ` (${u.str(lo)}, ${u.str(hi)})` : "";
80
+ s += `<title>${u.esc((est != null ? u.str(est) : "") + ci)}</title></svg>`;
81
+ return s;
82
+ }
83
+
84
+ // Full-cell background layer of faint vertical gridlines at the shared tick
85
+ // positions. Its width is fixed in px (matching the plot SVG, so the lines
86
+ // stay aligned with the bars), while height="100%" + preserveAspectRatio
87
+ // "none" stretch it to fill the whole <td> vertically — so the lines run
88
+ // continuously across the cell's (zeroed) padding and line up row-to-row. A
89
+ // per-cell fixed-height SVG could not: the cell padding leaves a gap it can't
90
+ // reach. Scaling only the vertical axis is harmless for vertical lines.
91
+ function svgGrid(eb) {
92
+ let s = `<svg class="lt-eb-grid-bg" width="${eb.width}" height="100%" ` +
93
+ `viewBox="0 0 ${eb.width} 10" preserveAspectRatio="none">`;
94
+ for (const t of eb.ticks)
95
+ s += `<line x1="${ebX(eb, t)}" y1="0" x2="${ebX(eb, t)}" y2="10"/>`;
96
+ return s + `</svg>`;
97
+ }
98
+
99
+ // A shared horizontal axis for an error-bar column, drawn once in the footer:
100
+ // a baseline with a tick mark + label at each nice tick (eb.ticks), and an
101
+ // optional caption (eb.axisLabel) centered below. `overflow="visible"` lets a
102
+ // caption slightly wider than the narrow column spill rather than clip.
103
+ function svgAxis(eb, u) {
104
+ const W = eb.width, lbl = eb.axisLabel, H = lbl ? 32 : 18, x = v => ebX(eb, v);
105
+ let s = `<svg class="lt-eb-axis" width="${W}" height="${H}" overflow="visible">` +
106
+ `<line x1="${EB_PAD}" y1="1" x2="${W - EB_PAD}" y2="1"/>`;
107
+ for (const t of (eb.ticks || [])) {
108
+ const xt = x(t),
109
+ anchor = xt <= EB_PAD ? "start" : xt >= W - EB_PAD ? "end" : "middle";
110
+ s += `<line x1="${xt}" y1="0" x2="${xt}" y2="4"/>` +
111
+ `<text x="${xt}" y="15" text-anchor="${anchor}">${u.esc(u.str(t))}</text>`;
112
+ }
113
+ if (lbl)
114
+ s += `<text class="lt-eb-axis-label" x="${W / 2}" y="${H - 4}" text-anchor="middle">${u.esc(lbl)}</text>`;
115
+ return s + `</svg>`;
116
+ }
117
+
118
+ // Error-bar cell renderer. columns = [value, lower, upper]; the plot replaces
119
+ // the value column's cells on a scale shared across the column. A renderer is
120
+ // an object with: resolve(op) -> { col: config } (the per-column setup, run
121
+ // once in resolveSpec); cellClass(cfg) -> extra <td> class; cell(cfg, data,
122
+ // r, u) -> body-cell HTML; foot(cfg, u) -> footer (axis) HTML or "".
123
+ cells.errorbar = {
124
+ resolve(op) {
125
+ const [v, lo, hi] = op.columns || [];
126
+ if (!v) return {};
127
+ const eb = {
128
+ col: v, lo, hi, min: op.min, max: op.max, ref: op.ref, axis: op.axis,
129
+ axisLabel: op.axis_label, width: op.width || 160, height: op.height || 16
130
+ };
131
+ // When an axis is requested, the same nice ticks drive both the footer
132
+ // axis and the faint in-cell gridlines; their count is capped so the
133
+ // labels do not crowd at the given width.
134
+ if (op.axis) eb.ticks = niceTicks(eb.min, eb.max, nAxisTicks(eb));
135
+ return { [v]: eb };
136
+ },
137
+ // lt-eb-cell zeroes the cell's vertical padding so the stretched gridline
138
+ // background can run unbroken from one row to the next.
139
+ cellClass: eb => eb.ticks ? "lt-eb-cell" : "",
140
+ cell: (eb, data, r, u) => (eb.ticks ? svgGrid(eb) : "") + svgErrorbar(eb, data, r, u),
141
+ foot: (eb, u) => eb.axis ? svgAxis(eb, u) : ""
142
+ };
143
+
144
+ // If core already built a table before this module loaded (a doc where an
145
+ // earlier plain table pulled in lt.js first, so its renderer was missing),
146
+ // re-render any mounted table that uses a renderer we just registered. Tables
147
+ // mounted after us need no help — the renderer is already in place. No-op
148
+ // when nothing is mounted yet (we loaded first) or outside a browser (the
149
+ // Node bake controls load order).
150
+ const doc = root.document;
151
+ if (doc) for (const tbl of doc.querySelectorAll(".lt-table")) {
152
+ if ((tbl._ltSpec?.ops || []).some(o => cells[o.type])) LT.refresh?.(tbl);
153
+ }
154
+ })(window);
@@ -0,0 +1,2 @@
1
+ (t=>{"use strict";const e=t.LT||(t.LT={}),l=e.cells||(e.cells={});if(l.errorbar)return;const n=(t,e)=>{const l=t.width-8,n=t.max-t.min,i=n>0?4+(e-t.min)/n*l:t.width/2;return Math.round(10*Math.max(4,Math.min(t.width-4,i)))/10};l.errorbar={resolve(t){const[e,l,n]=t.columns||[];if(!e)return{};const i={col:e,lo:l,hi:n,min:t.min,max:t.max,ref:t.ref,axis:t.axis,axisLabel:t.axis_label,width:t.width||160,height:t.height||16};return t.axis&&(i.ticks=function(t,e,l=5){if(!(e>t))return[t];const n=(t,e)=>{const l=Math.floor(Math.log10(t)),n=t/10**l;return(e?n<1.5?1:n<3?2:n<7?5:10:n<=1?1:n<=2?2:n<=5?5:10)*10**l},i=n(n(e-t,!1)/(l-1),!0),s=Math.max(0,-Math.floor(Math.log10(i))),r=[];for(let l=Math.ceil(t/i)*i;l<=e+i/2;l+=i)r.push(+l.toFixed(s));return r}(i.min,i.max,function(t){const e=t.width-8,l=11*Math.max(String(t.min).length,String(t.max).length)*.6+11;return Math.max(2,Math.min(8,Math.floor(e/l)+1))}(i))),{[e]:i}},cellClass:t=>t.ticks?"lt-eb-cell":"",cell:(t,e,l,i)=>(t.ticks?function(t){let e=`<svg class="lt-eb-grid-bg" width="${t.width}" height="100%" viewBox="0 0 ${t.width} 10" preserveAspectRatio="none">`;for(const l of t.ticks)e+=`<line x1="${n(t,l)}" y1="0" x2="${n(t,l)}" y2="10"/>`;return e+"</svg>"}(t):"")+function(t,e,l,i){const s=t=>{const n=e[t]?.[l-1];return i.isNum(n)?n:null},r=s(t.col),o=s(t.lo),c=s(t.hi);if(null==r&&null==o&&null==c)return"";const a=t.height,h=a/2,x=e=>n(t,e),$=Math.min(4,(a-1)/2);let u=`<svg class="lt-eb" width="${t.width}" height="${a}">`;if(null!=t.ref&&(u+=`<line class="lt-eb-ref" x1="${x(t.ref)}" y1="0" x2="${x(t.ref)}" y2="${a}"/>`),null!=o&&null!=c){const t=x(o),e=x(c);u+=`<line x1="${t}" y1="${h}" x2="${e}" y2="${h}"/><line x1="${t}" y1="${h-$}" x2="${t}" y2="${h+$}"/><line x1="${e}" y1="${h-$}" x2="${e}" y2="${h+$}"/>`}null!=r&&(u+=`<circle cx="${x(r)}" cy="${h}" r="3"/>`);const f=null!=o&&null!=c?` (${i.str(o)}, ${i.str(c)})`:"";return u+=`<title>${i.esc((null!=r?i.str(r):"")+f)}</title></svg>`,u}(t,e,l,i),foot:(t,e)=>t.axis?function(t,e){const l=t.width,i=t.axisLabel,s=i?32:18,r=e=>n(t,e);let o=`<svg class="lt-eb-axis" width="${l}" height="${s}" overflow="visible"><line x1="4" y1="1" x2="${l-4}" y2="1"/>`;for(const n of t.ticks||[]){const t=r(n);o+=`<line x1="${t}" y1="0" x2="${t}" y2="4"/><text x="${t}" y="15" text-anchor="${t<=4?"start":t>=l-4?"end":"middle"}">${e.esc(e.str(n))}</text>`}return i&&(o+=`<text class="lt-eb-axis-label" x="${l/2}" y="${s-4}" text-anchor="middle">${e.esc(i)}</text>`),o+"</svg>"}(t,e):""};const i=t.document;if(i)for(const t of i.querySelectorAll(".lt-table"))(t._ltSpec?.ops||[]).some(t=>l[t.type])&&e.refresh?.(t)})(window);
2
+ //# sourceMappingURL=lt-plot.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["root","LT","cells","errorbar","ebX","eb","v","inner","width","span","max","min","p","Math","round","resolve","op","lo","hi","columns","col","ref","axis","axisLabel","axis_label","height","ticks","n","niceNum","x","e","floor","log10","f","d","dec","ceil","push","toFixed","niceTicks","per","String","length","nAxisTicks","cellClass","cell","data","r","u","s","t","svgGrid","num","k","isNum","est","H","y","cap","xl","xh","ci","str","esc","svgErrorbar","foot","W","lbl","xt","svgAxis","doc","document","tbl","querySelectorAll","_ltSpec","ops","some","o","type","refresh","window"],"sources":["lt-plot.js"],"mappings":"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","ignoreList":[]}
package/js/lt.js CHANGED
@@ -9,6 +9,13 @@
9
9
 
10
10
  const $ = (el, sel) => el.querySelector(sel);
11
11
 
12
+ // Inline-graphics cell renderers (error bars, sparklines, …), keyed by op
13
+ // type and shipped by lt-plot.js (loaded before core). Captured as a live
14
+ // reference and re-exposed on root.LT below, so a plot module loaded either
15
+ // before or after core registers into the same object. Empty when no plot
16
+ // module is present; core itself contains no plot code (see LT.cells docs).
17
+ const cellRenderers = root.LT?.cells || {};
18
+
12
19
  // `[<]` (not `<`) avoids `</…` so this file is safe to inline in <script>.
13
20
  const esc = s => String(s)
14
21
  .replace(/&/g, "&amp;").replace(/[<]/g, "&lt;")
@@ -390,9 +397,22 @@
390
397
  }
391
398
  }
392
399
 
400
+ // Inline-graphics cells: an op whose type has a renderer registered on
401
+ // LT.cells (shipped by lt-plot.js) draws its value column as inline SVG
402
+ // (e.g. an error bar). The renderer maps the op to a per-column config
403
+ // here; pushRow and the footer consult cellMap[col] = { rnd, cfg }. Keeping
404
+ // the drawing in a module leaves core with no plot-specific code.
405
+ const cellMap = {};
406
+ for (const op of ops) {
407
+ const rnd = cellRenderers[op.type];
408
+ if (!rnd) continue;
409
+ const cfgs = rnd.resolve(op) || {};
410
+ for (const c of Object.keys(cfgs)) cellMap[c] = { rnd, cfg: cfgs[c] };
411
+ }
412
+
393
413
  return {
394
414
  visible, align, colLabels, colWidths, tableWidth, indent,
395
- groups, rowSpans, styles, spanners,
415
+ groups, rowSpans, styles, spanners, cellMap,
396
416
  footnotes: spec.footnotes || [],
397
417
  notes: spec.notes || [],
398
418
  header: spec.header || {},
@@ -462,7 +482,9 @@
462
482
  const data = spec.data || {},
463
483
  { display, nRow } = applyOps(spec),
464
484
  { visible: cols, align, colLabels, colWidths, tableWidth, indent,
465
- groups, rowSpans, styles, spanners, footnotes: fns, notes, header: hdr } = resolveSpec(spec),
485
+ groups, rowSpans, styles, spanners, cellMap, footnotes: fns, notes, header: hdr } = resolveSpec(spec),
486
+ // Core helpers passed to a cell renderer (see LT.cells / lt-plot.js).
487
+ U = { esc, isNum, str },
466
488
  reg = indexFootnotes(fns),
467
489
  fIdx = matcher(fns, reg.idx),
468
490
  nGrp = rowSpans.length,
@@ -574,6 +596,15 @@
574
596
  cls = [colCls[ci], cc].filter(Boolean).join(" ");
575
597
  let s = styleMap[k] || "";
576
598
  if (ci === 0 && ind) s = (s ? s + ";" : "") + `padding-left:${ind + 1}em`;
599
+ const cm = cellMap[c];
600
+ if (cm) {
601
+ // A plot cell: the renderer supplies the inner SVG and may add a <td>
602
+ // class (e.g. to zero padding so a gridline background runs unbroken).
603
+ const extra = cm.rnd.cellClass?.(cm.cfg) || "",
604
+ pcls = [cls, extra].filter(Boolean).join(" ");
605
+ out.push(`<td${attr("class", pcls)}${attr("style", s)}>${cm.rnd.cell(cm.cfg, data, r, U)}${m ? sup(m) : ""}</td>`);
606
+ continue;
607
+ }
577
608
  const raw = str(data[c][r - 1]), disp = display[c][r - 1],
578
609
  tip = raw !== disp ? ` title="${esc(raw)}"` : "";
579
610
  out.push(`<td${attr("class", cls)}${attr("style", s)}${tip}>${escIf(isRaw(c), disp)}${m ? sup(m) : ""}</td>`);
@@ -601,10 +632,28 @@
601
632
  }
602
633
  out.push(`</tbody>`);
603
634
 
604
- // <tfoot>: footnotes then source notes, each a full-width row.
605
- if (reg.order.length || notes.length) {
635
+ // <tfoot>: an optional plot-footer row (e.g. a shared error-bar axis), then
636
+ // footnotes and source notes. The footer row carries a per-column cell so
637
+ // each renderer's footer SVG lines up under its plot column; the footnote/
638
+ // note rows span the full width.
639
+ const footCells = cols.map(c =>
640
+ cellMap[c] ? (cellMap[c].rnd.foot?.(cellMap[c].cfg, U) || "") : "");
641
+ const hasFoot = footCells.some(h => h);
642
+ if (reg.order.length || notes.length || hasFoot) {
606
643
  const footRow = (cls, html) => `<tr class="${cls}"><td colspan="${nCol}">${html}</td></tr>`;
607
644
  out.push(`<tfoot class="lt-footer">`);
645
+ if (hasFoot) {
646
+ out.push(`<tr class="lt-plot-foot">`);
647
+ out.push(`<td></td>`.repeat(nGrp));
648
+ for (let i = 0; i < cols.length; i++) {
649
+ const cm = cellMap[cols[i]];
650
+ // reuse the renderer's cell class so the footer lines up with the plot
651
+ const extra = footCells[i] && cm ? (cm.rnd.cellClass?.(cm.cfg) || "") : "";
652
+ const ac = [colCls[i], extra].filter(Boolean).join(" ");
653
+ out.push(`<td${attr("class", ac)}>${footCells[i]}</td>`);
654
+ }
655
+ out.push(`</tr>`);
656
+ }
608
657
  reg.order.forEach((t, i) => out.push(footRow("lt-footnote", `${sup(i + 1)} ${txt(t)}`)));
609
658
  for (const n of notes) out.push(footRow("lt-source-note", txt(n)));
610
659
  out.push(`</tfoot>`);
@@ -626,6 +675,9 @@
626
675
  // Plugin seam (see lt-interactive.js): a plugin attaches its handle under
627
676
  // LT.plugins and pushes a callback onto LT.onMount, which core calls with
628
677
  // each table element and its spec right after the table is mounted.
678
+ // Cell-renderer seam (see lt-plot.js): a module registers an inline-graphics
679
+ // renderer under LT.cells, keyed by op type, which core consults *during*
680
+ // buildHtml (not post-mount) to draw a column's cells and an optional footer.
629
681
  const plugins = root.LT?.plugins || {}, onMount = root.LT?.onMount || [];
630
682
 
631
683
  // Alt-click toggles raw values in this table; alt-dblclick toggles page-wide.
@@ -660,11 +712,23 @@
660
712
  el.innerHTML = buildHtml(spec);
661
713
  return ready($(el, "table"), spec);
662
714
  };
715
+ // Rebuild an already-mounted table in place from its stashed spec. Used by a
716
+ // cell module (lt-plot.js) that loads *after* core has built a table (e.g. a
717
+ // litedown/knitr doc where an earlier plain table pulled in lt.js first): the
718
+ // module registers its renderer, then refreshes the tables that needed it.
719
+ const refresh = tbl => {
720
+ const spec = tbl?._ltSpec, wrap = tbl?.closest(".lt-wrap");
721
+ if (!spec || !wrap) return;
722
+ wrap.insertAdjacentHTML("afterend", buildHtml(spec));
723
+ const next = wrap.nextElementSibling;
724
+ wrap.remove();
725
+ return ready($(next, "table"), spec);
726
+ };
663
727
  // q.push renders immediately; replay any entries queued before we loaded.
664
728
  const q = { push: e => mount(e.s, e.d) };
665
729
  (root.LT?.q || []).forEach(q.push);
666
730
  root.LT = {
667
731
  build: spec => mount(document.currentScript, spec),
668
- render, buildHtml, plugins, onMount, q,
732
+ render, refresh, buildHtml, plugins, onMount, cells: cellRenderers, q,
669
733
  };
670
734
  })(window);
package/js/lt.min.js CHANGED
@@ -1,2 +1,2 @@
1
- (t=>{"use strict";if(t.LT?.buildHtml)return;const o=(t,o)=>t.querySelector(o),n=t=>String(t).replace(/&/g,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),e=t=>Array.isArray(t)?String(t[0]??""):n(t),s=(t,o)=>t?String(o??""):n(o),l=(t,o)=>!0===t||Array.isArray(t)&&t.includes(o),r=t=>`<sup class="lt-fnref">${t}</sup>`,c=t=>t===1/0?"∞":t===-1/0?"-∞":String(t??""),i=t=>"number"==typeof t&&isFinite(t),a=t=>i(t)||Math.abs(t)===1/0,u=t=>t?.length&&"number"==typeof t.find(t=>null!=t),f=t=>(t.columns||Object.keys(t.data||{})).filter(o=>o in(t.data||{})),p=(t,o)=>{let n=o;for(const e of t)"label"===e.type&&null!=e.labels?.[o]&&(n=e.labels[o]);return n};function h(t,o,n,e){if(t===1/0)return"∞";if(t===-1/0)return"−∞";if(!i(t))return null;let s=null!=e?function(t){if(!/e/i.test(t))return t;const[,o,n,e="",s]=t.match(/^(-?)(\d+)(?:\.(\d+))?e([+-]?\d+)$/i),l=+s,r=n+e,c=n.length+l;let i;return i=c<=0?"0."+"0".repeat(-c)+r:c>=r.length?r+"0".repeat(c-r.length):r.slice(0,c)+"."+r.slice(c),o+i}(t.toPrecision(e)):null!=o?t.toFixed(o):String(t);if(/^-0(\.0+)?$/.test(s)&&(s=s.slice(1)),n){const t=s.split(".");t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,n),s=t.join(".")}return"-"===s[0]&&(s="−"+s.slice(1)),null!=o||n||null!=e?s:null}function d(t,o){if(!o)return t.filter(t=>""!==t).join(" ");let n=o,e="";for(;n;){const o=n.match(/<<(.*?)>>/);if(!o){e+=g(n,t);break}o.index>0&&(e+=g(n.slice(0,o.index),t));const s=o[1],l=[...s.matchAll(/\{(\d+)\}/g)].map(t=>+t[1]);l.length&&!l.every(o=>""!==t[o-1])||(e+=g(s,t)),n=n.slice(o.index+o[0].length)}return e}function g(t,o){for(let n=0;n<o.length;n++)t=t.split("{"+(n+1)+"}").join(o[n]);return t}function m(t){const o=t.data||{},n=t.ops||[],e=f(t),s=e.length?o[e[0]].length:0,l={};for(const t of e)l[t]=o[t].map(c);!function(t,o,n){if(!1===t.auto_format)return;const e=t.data||{},s=t.ops||[],l=f(t),r=new Set;for(const t of s)if("fmt_number"===t.type)for(const o of t.columns||l)r.add(o);for(const t of l){if(r.has(t))continue;const l=e[t];if(!u(l))continue;const c=p(s,t),f=/%|[ _](pct|percent)$/i.test(c);if(/year/i.test(c)&&l.every(t=>null==t||/^\d{4}$/.test(String(t))))continue;let d=0,g=0;for(const t of l){if(!i(t))continue;const o=Math.abs(f?100*t:t),n=o<1?0:Math.floor(Math.log10(o))+1;n>d&&(d=n);const e=String(t).match(/\.(\d+)/);if(!e)continue;const s=e[1].replace(/0+$/,"").length-(f?2:0);s>g&&(g=s)}g=Math.min(g,Math.max(4-d,0));for(let e=0;e<n;e++){const n=l[e];if(!a(n))continue;const s=h(f?100*n:n,g," ");null!=s&&(o[t][e]=s+(f?"%":""))}}}(t,l,s);const r=(t,n)=>{for(const e of t)if(o[e])for(let t=0;t<s;t++)n(e,t,o[e][t])};for(const t of n){const o=t.columns||e;switch(t.type){case"fmt_number":r(o,(o,n,e)=>{if(!a(e))return;const s=!0===t.percent?100*e:e,r=t.percent?"%":"",c=h(s,t.decimals,t.big_mark??"",t.sig_digits),i=t.prefix||"",u=(t.suffix||"")+r;null!=c?l[o][n]=i+c+u:(i||u)&&(l[o][n]=i+String(s)+u)});break;case"fmt_date":r(o,(o,n,e)=>{if(null==e)return;const s=e instanceof Date?e:new Date(e);isNaN(s)||(l[o][n]=t.method?s[t.method]():t.options?s.toLocaleDateString(t.locale,t.options):s.toLocaleDateString(t.locale))});break;case"sub":r(o,(o,n,e)=>{null!=t.small&&i(e)&&0!==e&&Math.abs(e)<t.small?l[o][n]=t.small_text??"<"+t.small:null!=t.zero&&0===e?l[o][n]=t.zero:null!=t.missing&&null==e&&(l[o][n]=t.missing)});break;case"merge":{const o=t.columns;if(!o||o.length<2)break;const n=o[0];for(let e=0;e<s;e++){const s=o.map(t=>l[t]?.[e]??"");l[n][e]=d(s,t.pattern)}break}}}const g=void 0===t.missing?"—":t.missing;if(g)for(const t of e)for(let n=0;n<s;n++)null==o[t][n]&&""===l[t][n]&&(l[t][n]=g);return{display:l,nRow:s}}function b(t){!function(t){if(!1===t.sort||!t.row_group)return;const o=t.data||{},n=[].concat(t.row_group),e=f(t),s=e.length?o[e[0]].length:0;if(!s)return;const l=Array.from({length:s},(t,o)=>o);l.sort((t,e)=>{for(const s of n){const n=o[s]?.[t],l=o[s]?.[e];if(n!=l){if(null==n)return 1;if(null==l)return-1;if(n<l)return-1;if(n>l)return 1}}return 0});for(const t of e)o[t]=l.map(n=>o[t][n]);const r=new Array(s);for(let t=0;t<s;t++)r[l[t]]=t+1;for(const o of t.ops||[])o.rows&&(o.rows=o.rows.map(t=>r[t-1]))}(t);const o=t.data||{},{display:i,nRow:a}=m(t),{visible:h,align:d,colLabels:g,colWidths:b,tableWidth:w,indent:$,groups:y,rowSpans:_,styles:x,spanners:S,footnotes:v,notes:A,header:L}=function(t){const o=t.data||{},n=t.ops||[],e=f(t),s=e.length?o[e[0]].length:0,r=(t,o)=>{for(const e of n)e.type===t&&o(e)};let i="string"==typeof t.row_group;const a=Array.isArray(t.row_group)?t.row_group:t.row_group?[t.row_group]:[];i||1!==a.length||!1===t.auto_sep||u(o[a[0]])||!o[a[0]]?.some(t=>(t+"").length>20)||(i=!0);const h=new Set;for(const t of a)h.add(t);r("merge",t=>{!1!==t.hide&&t.columns&&t.columns.slice(1).forEach(t=>h.add(t))}),r("hide",t=>(t.columns||[]).forEach(t=>h.add(t)));let d=e.filter(t=>!h.has(t));r("move",t=>{const o=(t.columns||[]).filter(t=>d.includes(t));if(!o.length)return;const n=d.filter(t=>!o.includes(t));if(null==t.after)d=[...o,...n];else{const e=n.indexOf(t.after);e>=0&&(d=[...n.slice(0,e+1),...o,...n.slice(e+1)])}});const g=(t,o,n)=>{const e=d.indexOf(o);e>=0&&(t[e]=n)},m=d.map(t=>u(o[t])?"right":"left");r("align",t=>{for(const o of t.columns||[])g(m,o,t.align)});const b=o=>!1===t.auto_label?o:o.replace(/[._]/g," "),w=d.map(b);let $,y;r("label",t=>{for(const[o,n]of Object.entries(t.labels||{}))g(w,o,n)}),r("width",t=>{if(t.table&&(y=t.table),t.widths){$||($=d.map(()=>""));for(const[o,n]of Object.entries(t.widths))g($,o,n)}});const _=new Array(s).fill(0);r("indent",t=>{if(t.rows)for(const o of t.rows)_[o-1]=t.level??1});const x=t=>{const o=[];for(let n=0;n<s;){const e=c(t[n]),l=[n+1];for(;++n<s&&c(t[n])===e;)l.push(n+1);o.push({label:e,rows:l})}return o};let S=[];if(i&&a.length&&o[a[0]]){const n=l(t.html_cols,a[0]);S.push(...x(o[a[0]]).map(t=>({...t,raw:n})))}r("row_group",t=>S.push({label:t.label,rows:t.rows})),r("group_order",t=>{if(!S.length)return;const o=[],n=[];for(const n of t.order||[]){const t=S.find(t=>t.label===n);t&&o.push(t)}for(const t of S)o.includes(t)||n.push(t);S=[...o,...n]});const v=[];if(!i&&a.length)for(const t of a){const e=new Array(s).fill(0);for(const n of x(o[t]||[]))e[n.rows[0]-1]=n.rows.length;v.push({col:t,label:p(n,t),spans:e})}const A=n.filter(t=>"style"===t.type);let L=(t.spanners||[]).map(t=>{const o=t.columns.slice().sort((t,o)=>d.indexOf(t)-d.indexOf(o));return{...t,columns:o}});if(t.auto_span){const o="string"==typeof t.auto_span?new RegExp(t.auto_span):/[._]/;L=[...L];for(let t=0;t<d.length;){const n=d[t].match(o);if(!n){t++;continue}const e=d[t].slice(0,n.index);let s=t+1;for(;s<d.length;){const t=d[s].match(o);if(!t||d[s].slice(0,t.index)!==e)break;s++}if(s-t>=2){L.push({label:e,columns:d.slice(t,s)});for(let n=t;n<s;n++){const t=d[n].match(o);t&&(w[n]=b(d[n].slice(t.index+t[0].length)))}}t=s}}return{visible:d,align:m,colLabels:w,colWidths:$,tableWidth:y,indent:_,groups:S,rowSpans:v,styles:A,spanners:L,footnotes:t.footnotes||[],notes:t.notes||[],header:t.header||{},nRow:s}}(t),k=function(t){const o=[],n={};return t.forEach(t=>{null==n[t.text]&&(n[t.text]=o.length+1,o.push(t.text))}),{order:o,idx:n}}(v),M=((t,o)=>(n,e)=>{for(const s of t){const t=s.location;if(t.type!==n)continue;const l=o[s.text];if("title"===n&&t.group===e)return l;if("column_labels"===n&&t.columns.includes(e))return l;if("column_spanners"===n&&t.spanners.includes(e))return l;if("row_groups"===n){if("all"===t.match)return l;if("exact"===t.match&&t.values.includes(e))return l;if("starts_with"===t.match&&e.startsWith(t.value))return l}}return 0})(v,k.idx),E=_.length,j=h.length+E,O=o=>l(t.html_cols,o),T=[`<table class="lt-table"${w?` style="width:${w}"`:""}>`],R=(t,o)=>{const n=M(t,o);return n?r(n):""},D=(t,o)=>i[t]?.[o-1]??"",W=(t,o)=>o?` ${t}="${o}"`:"",q=h.map((t,o)=>((0===o&&y.length?"lt-indent ":"")+({right:"al-r",center:"al-c"}[d[o]]||"")).trimEnd()),H=(t,o,n)=>{for(let e=1;e<=a;e++)if(!t||t.includes(e))for(const t of o||h){const o=h.indexOf(t);o>=0&&n(`${e},${o}`,t,e)}},z={},B={},F=(t,o,n,e)=>{t[o]=t[o]?t[o]+e+n:n};for(const t of x)H(t.rows,t.columns?[].concat(t.columns):null,(n,e,s)=>{t.test&&!t.test(o[e][s-1])||(t.css&&F(z,n,t.css,";"),t.class&&F(B,n,t.class," "))});if(b&&b.some(t=>t)){T.push("<colgroup>");for(let t=0;t<E;t++)T.push("<col>");for(let t=0;t<h.length;t++)T.push(`<col${W("style",b[t]?"width:"+b[t]:"")}>`);T.push("</colgroup>")}const N=[["title","lt-title"],["subtitle","lt-subtitle"]].filter(([t])=>null!=L[t]&&""!==L[t]).map(([t,o])=>`<div class="${o}">${e(L[t])}${R("title",t)}</div>`);if(N.length&&T.push('<caption class="lt-caption">',...N,"</caption>"),T.push("<thead>"),S.length){const t='<th class="lt-spanner-empty"></th>';T.push('<tr class="lt-spanner-row">'),T.push(t.repeat(E));for(let o=0;o<h.length;){const n=S.find(t=>t.columns[0]===h[o]);n?(T.push(`<th colspan="${n.columns.length}" scope="colgroup" class="lt-spanner">${e(n.label)}${R("column_spanners",n.label)}</th>`),o+=n.columns.length):(T.push(t),o++)}T.push("</tr>")}T.push("<tr>");for(const t of _)T.push(`<th scope="col">${e(t.label)}</th>`);for(let t=0;t<h.length;t++)T.push(`<th scope="col"${W("class",q[t])}>${e(g[t])}${R("column_labels",h[t])}</th>`);T.push("</tr></thead>");const K={};for(const t of v){if("body"!==t.location.type)continue;const o=k.idx[t.text];H(t.location.rows,t.location.columns||[],t=>{K[t]=o})}const P=t=>{T.push("<tr>");for(const n of _){const e=n.spans[t-1],l=(n.spans[t-2]||0)-1;e>0?T.push(`<th scope="row" class="lt-row-group${e>1?" lt-row-open":""}">${s(O(n.col),D(n.col,t))}${R("row_groups",c(o[n.col][t-1]))}</th>`):l>0&&T.push(`<th class="lt-row-group"${W("rowspan",l>1?l:0)}></th>`)}const e=$[t-1]||0;for(let l=0;l<h.length;l++){const a=`${t},${l}`,u=h[l],f=K[a],p=B[a],d=[q[l],p].filter(Boolean).join(" ");let g=z[a]||"";0===l&&e&&(g=(g?g+";":"")+`padding-left:${e+1}em`);const m=c(o[u][t-1]),b=i[u][t-1],w=m!==b?` title="${n(m)}"`:"";T.push(`<td${W("class",d)}${W("style",g)}${w}>${s(O(u),b)}${f?r(f):""}</td>`)}T.push("</tr>")};if(T.push("<tbody>"),y.length){const t={};for(const o of y){T.push(`<tr class="lt-row-group"><th colspan="${j}" scope="colgroup">${s(o.raw,o.label)}${R("row_groups",o.label)}</th></tr>`);for(const n of o.rows)t[n]=1,P(n)}for(let o=1;o<=a;o++)t[o]||P(o)}else if(t._viewRows)for(const o of t._viewRows)P(o);else for(let t=1;t<=a;t++)P(t);if(T.push("</tbody>"),k.order.length||A.length){const t=(t,o)=>`<tr class="${t}"><td colspan="${j}">${o}</td></tr>`;T.push('<tfoot class="lt-footer">'),k.order.forEach((o,n)=>T.push(t("lt-footnote",`${r(n+1)} ${e(o)}`)));for(const o of A)T.push(t("lt-source-note",e(o)));T.push("</tfoot>")}return T.push("</table>"),t._cols=h,t._display=i,`<div class="lt-wrap">${T.join("")}</div>`}const w=t.LT?.plugins||{},$=t.LT?.onMount||[],y=(t,o)=>(t._ltSpec=o,(t=>{const o=(t,o)=>t.altKey&&o.classList.toggle("lt-raw");t.onclick=n=>1===n.detail&&o(n,t),t.ondblclick=n=>o(n,t.ownerDocument.documentElement)})(t),$.forEach(n=>n(t,o)),t),_=(t,n)=>{t.insertAdjacentHTML("afterend",b(n)),y(o(t.nextElementSibling,"table"),n)},x={push:t=>_(t.s,t.d)};(t.LT?.q||[]).forEach(x.push),t.LT={build:t=>_(document.currentScript,t),render:(t,n)=>(t.innerHTML=b(n),y(o(t,"table"),n)),buildHtml:b,plugins:w,onMount:$,q:x}})(window);
1
+ (t=>{"use strict";if(t.LT?.buildHtml)return;const o=(t,o)=>t.querySelector(o),n=t.LT?.cells||{},e=t=>String(t).replace(/&/g,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),s=t=>Array.isArray(t)?String(t[0]??""):e(t),l=(t,o)=>t?String(o??""):e(o),r=(t,o)=>!0===t||Array.isArray(t)&&t.includes(o),c=t=>`<sup class="lt-fnref">${t}</sup>`,i=t=>t===1/0?"∞":t===-1/0?"-∞":String(t??""),a=t=>"number"==typeof t&&isFinite(t),f=t=>a(t)||Math.abs(t)===1/0,u=t=>t?.length&&"number"==typeof t.find(t=>null!=t),p=t=>(t.columns||Object.keys(t.data||{})).filter(o=>o in(t.data||{})),h=(t,o)=>{let n=o;for(const e of t)"label"===e.type&&null!=e.labels?.[o]&&(n=e.labels[o]);return n};function d(t,o,n,e){if(t===1/0)return"∞";if(t===-1/0)return"−∞";if(!a(t))return null;let s=null!=e?function(t){if(!/e/i.test(t))return t;const[,o,n,e="",s]=t.match(/^(-?)(\d+)(?:\.(\d+))?e([+-]?\d+)$/i),l=+s,r=n+e,c=n.length+l;let i;return i=c<=0?"0."+"0".repeat(-c)+r:c>=r.length?r+"0".repeat(c-r.length):r.slice(0,c)+"."+r.slice(c),o+i}(t.toPrecision(e)):null!=o?t.toFixed(o):String(t);if(/^-0(\.0+)?$/.test(s)&&(s=s.slice(1)),n){const t=s.split(".");t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,n),s=t.join(".")}return"-"===s[0]&&(s="−"+s.slice(1)),null!=o||n||null!=e?s:null}function g(t,o){if(!o)return t.filter(t=>""!==t).join(" ");let n=o,e="";for(;n;){const o=n.match(/<<(.*?)>>/);if(!o){e+=m(n,t);break}o.index>0&&(e+=m(n.slice(0,o.index),t));const s=o[1],l=[...s.matchAll(/\{(\d+)\}/g)].map(t=>+t[1]);l.length&&!l.every(o=>""!==t[o-1])||(e+=m(s,t)),n=n.slice(o.index+o[0].length)}return e}function m(t,o){for(let n=0;n<o.length;n++)t=t.split("{"+(n+1)+"}").join(o[n]);return t}function b(t){const o=t.data||{},n=t.ops||[],e=p(t),s=e.length?o[e[0]].length:0,l={};for(const t of e)l[t]=o[t].map(i);!function(t,o,n){if(!1===t.auto_format)return;const e=t.data||{},s=t.ops||[],l=p(t),r=new Set;for(const t of s)if("fmt_number"===t.type)for(const o of t.columns||l)r.add(o);for(const t of l){if(r.has(t))continue;const l=e[t];if(!u(l))continue;const c=h(s,t),i=/%|[ _](pct|percent)$/i.test(c);if(/year/i.test(c)&&l.every(t=>null==t||/^\d{4}$/.test(String(t))))continue;let p=0,g=0;for(const t of l){if(!a(t))continue;const o=Math.abs(i?100*t:t),n=o<1?0:Math.floor(Math.log10(o))+1;n>p&&(p=n);const e=String(t).match(/\.(\d+)/);if(!e)continue;const s=e[1].replace(/0+$/,"").length-(i?2:0);s>g&&(g=s)}g=Math.min(g,Math.max(4-p,0));for(let e=0;e<n;e++){const n=l[e];if(!f(n))continue;const s=d(i?100*n:n,g," ");null!=s&&(o[t][e]=s+(i?"%":""))}}}(t,l,s);const r=(t,n)=>{for(const e of t)if(o[e])for(let t=0;t<s;t++)n(e,t,o[e][t])};for(const t of n){const o=t.columns||e;switch(t.type){case"fmt_number":r(o,(o,n,e)=>{if(!f(e))return;const s=!0===t.percent?100*e:e,r=t.percent?"%":"",c=d(s,t.decimals,t.big_mark??"",t.sig_digits),i=t.prefix||"",a=(t.suffix||"")+r;null!=c?l[o][n]=i+c+a:(i||a)&&(l[o][n]=i+String(s)+a)});break;case"fmt_date":r(o,(o,n,e)=>{if(null==e)return;const s=e instanceof Date?e:new Date(e);isNaN(s)||(l[o][n]=t.method?s[t.method]():t.options?s.toLocaleDateString(t.locale,t.options):s.toLocaleDateString(t.locale))});break;case"sub":r(o,(o,n,e)=>{null!=t.small&&a(e)&&0!==e&&Math.abs(e)<t.small?l[o][n]=t.small_text??"<"+t.small:null!=t.zero&&0===e?l[o][n]=t.zero:null!=t.missing&&null==e&&(l[o][n]=t.missing)});break;case"merge":{const o=t.columns;if(!o||o.length<2)break;const n=o[0];for(let e=0;e<s;e++){const s=o.map(t=>l[t]?.[e]??"");l[n][e]=g(s,t.pattern)}break}}}const c=void 0===t.missing?"—":t.missing;if(c)for(const t of e)for(let n=0;n<s;n++)null==o[t][n]&&""===l[t][n]&&(l[t][n]=c);return{display:l,nRow:s}}function w(t){!function(t){if(!1===t.sort||!t.row_group)return;const o=t.data||{},n=[].concat(t.row_group),e=p(t),s=e.length?o[e[0]].length:0;if(!s)return;const l=Array.from({length:s},(t,o)=>o);l.sort((t,e)=>{for(const s of n){const n=o[s]?.[t],l=o[s]?.[e];if(n!=l){if(null==n)return 1;if(null==l)return-1;if(n<l)return-1;if(n>l)return 1}}return 0});for(const t of e)o[t]=l.map(n=>o[t][n]);const r=new Array(s);for(let t=0;t<s;t++)r[l[t]]=t+1;for(const o of t.ops||[])o.rows&&(o.rows=o.rows.map(t=>r[t-1]))}(t);const o=t.data||{},{display:f,nRow:d}=b(t),{visible:g,align:m,colLabels:w,colWidths:$,tableWidth:y,indent:_,groups:x,rowSpans:S,styles:v,spanners:L,cellMap:M,footnotes:j,notes:A,header:k}=function(t){const o=t.data||{},e=t.ops||[],s=p(t),l=s.length?o[s[0]].length:0,c=(t,o)=>{for(const n of e)n.type===t&&o(n)};let a="string"==typeof t.row_group;const f=Array.isArray(t.row_group)?t.row_group:t.row_group?[t.row_group]:[];a||1!==f.length||!1===t.auto_sep||u(o[f[0]])||!o[f[0]]?.some(t=>(t+"").length>20)||(a=!0);const d=new Set;for(const t of f)d.add(t);c("merge",t=>{!1!==t.hide&&t.columns&&t.columns.slice(1).forEach(t=>d.add(t))}),c("hide",t=>(t.columns||[]).forEach(t=>d.add(t)));let g=s.filter(t=>!d.has(t));c("move",t=>{const o=(t.columns||[]).filter(t=>g.includes(t));if(!o.length)return;const n=g.filter(t=>!o.includes(t));if(null==t.after)g=[...o,...n];else{const e=n.indexOf(t.after);e>=0&&(g=[...n.slice(0,e+1),...o,...n.slice(e+1)])}});const m=(t,o,n)=>{const e=g.indexOf(o);e>=0&&(t[e]=n)},b=g.map(t=>u(o[t])?"right":"left");c("align",t=>{for(const o of t.columns||[])m(b,o,t.align)});const w=o=>!1===t.auto_label?o:o.replace(/[._]/g," "),$=g.map(w);let y,_;c("label",t=>{for(const[o,n]of Object.entries(t.labels||{}))m($,o,n)}),c("width",t=>{if(t.table&&(_=t.table),t.widths){y||(y=g.map(()=>""));for(const[o,n]of Object.entries(t.widths))m(y,o,n)}});const x=new Array(l).fill(0);c("indent",t=>{if(t.rows)for(const o of t.rows)x[o-1]=t.level??1});const S=t=>{const o=[];for(let n=0;n<l;){const e=i(t[n]),s=[n+1];for(;++n<l&&i(t[n])===e;)s.push(n+1);o.push({label:e,rows:s})}return o};let v=[];if(a&&f.length&&o[f[0]]){const n=r(t.html_cols,f[0]);v.push(...S(o[f[0]]).map(t=>({...t,raw:n})))}c("row_group",t=>v.push({label:t.label,rows:t.rows})),c("group_order",t=>{if(!v.length)return;const o=[],n=[];for(const n of t.order||[]){const t=v.find(t=>t.label===n);t&&o.push(t)}for(const t of v)o.includes(t)||n.push(t);v=[...o,...n]});const L=[];if(!a&&f.length)for(const t of f){const n=new Array(l).fill(0);for(const e of S(o[t]||[]))n[e.rows[0]-1]=e.rows.length;L.push({col:t,label:h(e,t),spans:n})}const M=e.filter(t=>"style"===t.type);let j=(t.spanners||[]).map(t=>{const o=t.columns.slice().sort((t,o)=>g.indexOf(t)-g.indexOf(o));return{...t,columns:o}});if(t.auto_span){const o="string"==typeof t.auto_span?new RegExp(t.auto_span):/[._]/;j=[...j];for(let t=0;t<g.length;){const n=g[t].match(o);if(!n){t++;continue}const e=g[t].slice(0,n.index);let s=t+1;for(;s<g.length;){const t=g[s].match(o);if(!t||g[s].slice(0,t.index)!==e)break;s++}if(s-t>=2){j.push({label:e,columns:g.slice(t,s)});for(let n=t;n<s;n++){const t=g[n].match(o);t&&($[n]=w(g[n].slice(t.index+t[0].length)))}}t=s}}const A={};for(const t of e){const o=n[t.type];if(!o)continue;const e=o.resolve(t)||{};for(const t of Object.keys(e))A[t]={rnd:o,cfg:e[t]}}return{visible:g,align:b,colLabels:$,colWidths:y,tableWidth:_,indent:x,groups:v,rowSpans:L,styles:M,spanners:j,cellMap:A,footnotes:t.footnotes||[],notes:t.notes||[],header:t.header||{},nRow:l}}(t),E={esc:e,isNum:a,str:i},O=function(t){const o=[],n={};return t.forEach(t=>{null==n[t.text]&&(n[t.text]=o.length+1,o.push(t.text))}),{order:o,idx:n}}(j),T=((t,o)=>(n,e)=>{for(const s of t){const t=s.location;if(t.type!==n)continue;const l=o[s.text];if("title"===n&&t.group===e)return l;if("column_labels"===n&&t.columns.includes(e))return l;if("column_spanners"===n&&t.spanners.includes(e))return l;if("row_groups"===n){if("all"===t.match)return l;if("exact"===t.match&&t.values.includes(e))return l;if("starts_with"===t.match&&e.startsWith(t.value))return l}}return 0})(j,O.idx),R=S.length,D=g.length+R,H=o=>r(t.html_cols,o),W=[`<table class="lt-table"${y?` style="width:${y}"`:""}>`],q=(t,o)=>{const n=T(t,o);return n?c(n):""},B=(t,o)=>f[t]?.[o-1]??"",N=(t,o)=>o?` ${t}="${o}"`:"",z=g.map((t,o)=>((0===o&&x.length?"lt-indent ":"")+({right:"al-r",center:"al-c"}[m[o]]||"")).trimEnd()),C=(t,o,n)=>{for(let e=1;e<=d;e++)if(!t||t.includes(e))for(const t of o||g){const o=g.indexOf(t);o>=0&&n(`${e},${o}`,t,e)}},F={},K={},P=(t,o,n,e)=>{t[o]=t[o]?t[o]+e+n:n};for(const t of v)C(t.rows,t.columns?[].concat(t.columns):null,(n,e,s)=>{t.test&&!t.test(o[e][s-1])||(t.css&&P(F,n,t.css,";"),t.class&&P(K,n,t.class," "))});if($&&$.some(t=>t)){W.push("<colgroup>");for(let t=0;t<R;t++)W.push("<col>");for(let t=0;t<g.length;t++)W.push(`<col${N("style",$[t]?"width:"+$[t]:"")}>`);W.push("</colgroup>")}const G=[["title","lt-title"],["subtitle","lt-subtitle"]].filter(([t])=>null!=k[t]&&""!==k[t]).map(([t,o])=>`<div class="${o}">${s(k[t])}${q("title",t)}</div>`);if(G.length&&W.push('<caption class="lt-caption">',...G,"</caption>"),W.push("<thead>"),L.length){const t='<th class="lt-spanner-empty"></th>';W.push('<tr class="lt-spanner-row">'),W.push(t.repeat(R));for(let o=0;o<g.length;){const n=L.find(t=>t.columns[0]===g[o]);n?(W.push(`<th colspan="${n.columns.length}" scope="colgroup" class="lt-spanner">${s(n.label)}${q("column_spanners",n.label)}</th>`),o+=n.columns.length):(W.push(t),o++)}W.push("</tr>")}W.push("<tr>");for(const t of S)W.push(`<th scope="col">${s(t.label)}</th>`);for(let t=0;t<g.length;t++)W.push(`<th scope="col"${N("class",z[t])}>${s(w[t])}${q("column_labels",g[t])}</th>`);W.push("</tr></thead>");const I={};for(const t of j){if("body"!==t.location.type)continue;const o=O.idx[t.text];C(t.location.rows,t.location.columns||[],t=>{I[t]=o})}const J=t=>{W.push("<tr>");for(const n of S){const e=n.spans[t-1],s=(n.spans[t-2]||0)-1;e>0?W.push(`<th scope="row" class="lt-row-group${e>1?" lt-row-open":""}">${l(H(n.col),B(n.col,t))}${q("row_groups",i(o[n.col][t-1]))}</th>`):s>0&&W.push(`<th class="lt-row-group"${N("rowspan",s>1?s:0)}></th>`)}const n=_[t-1]||0;for(let s=0;s<g.length;s++){const r=`${t},${s}`,a=g[s],u=I[r],p=K[r],h=[z[s],p].filter(Boolean).join(" ");let d=F[r]||"";0===s&&n&&(d=(d?d+";":"")+`padding-left:${n+1}em`);const m=M[a];if(m){const n=[h,m.rnd.cellClass?.(m.cfg)||""].filter(Boolean).join(" ");W.push(`<td${N("class",n)}${N("style",d)}>${m.rnd.cell(m.cfg,o,t,E)}${u?c(u):""}</td>`);continue}const b=i(o[a][t-1]),w=f[a][t-1],$=b!==w?` title="${e(b)}"`:"";W.push(`<td${N("class",h)}${N("style",d)}${$}>${l(H(a),w)}${u?c(u):""}</td>`)}W.push("</tr>")};if(W.push("<tbody>"),x.length){const t={};for(const o of x){W.push(`<tr class="lt-row-group"><th colspan="${D}" scope="colgroup">${l(o.raw,o.label)}${q("row_groups",o.label)}</th></tr>`);for(const n of o.rows)t[n]=1,J(n)}for(let o=1;o<=d;o++)t[o]||J(o)}else if(t._viewRows)for(const o of t._viewRows)J(o);else for(let t=1;t<=d;t++)J(t);W.push("</tbody>");const Q=g.map(t=>M[t]&&M[t].rnd.foot?.(M[t].cfg,E)||""),U=Q.some(t=>t);if(O.order.length||A.length||U){const t=(t,o)=>`<tr class="${t}"><td colspan="${D}">${o}</td></tr>`;if(W.push('<tfoot class="lt-footer">'),U){W.push('<tr class="lt-plot-foot">'),W.push("<td></td>".repeat(R));for(let t=0;t<g.length;t++){const o=M[g[t]],n=Q[t]&&o&&o.rnd.cellClass?.(o.cfg)||"",e=[z[t],n].filter(Boolean).join(" ");W.push(`<td${N("class",e)}>${Q[t]}</td>`)}W.push("</tr>")}O.order.forEach((o,n)=>W.push(t("lt-footnote",`${c(n+1)} ${s(o)}`)));for(const o of A)W.push(t("lt-source-note",s(o)));W.push("</tfoot>")}return W.push("</table>"),t._cols=g,t._display=f,`<div class="lt-wrap">${W.join("")}</div>`}const $=t.LT?.plugins||{},y=t.LT?.onMount||[],_=(t,o)=>(t._ltSpec=o,(t=>{const o=(t,o)=>t.altKey&&o.classList.toggle("lt-raw");t.onclick=n=>1===n.detail&&o(n,t),t.ondblclick=n=>o(n,t.ownerDocument.documentElement)})(t),y.forEach(n=>n(t,o)),t),x=(t,n)=>{t.insertAdjacentHTML("afterend",w(n)),_(o(t.nextElementSibling,"table"),n)},S={push:t=>x(t.s,t.d)};(t.LT?.q||[]).forEach(S.push),t.LT={build:t=>x(document.currentScript,t),render:(t,n)=>(t.innerHTML=w(n),_(o(t,"table"),n)),refresh:t=>{const n=t?._ltSpec,e=t?.closest(".lt-wrap");if(!n||!e)return;e.insertAdjacentHTML("afterend",w(n));const s=e.nextElementSibling;return e.remove(),_(o(s,"table"),n)},buildHtml:w,plugins:$,onMount:y,cells:n,q:S}})(window);
2
2
  //# sourceMappingURL=lt.min.js.map
package/js/lt.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["root","LT","buildHtml","$","el","sel","querySelector","esc","s","String","replace","txt","v","Array","isArray","escIf","raw","rawCol","hc","c","includes","sup","i","str","Infinity","isNum","isFinite","isNumInf","Math","abs","numCol","col","length","find","colOrder","spec","columns","Object","keys","data","filter","colLabel","ops","lbl","op","type","labels","fmtNumber","decimals","bigMark","sigDigits","test","sign","int","frac","expStr","match","exp","digits","point","out","repeat","slice","expandExp","toPrecision","toFixed","parts","split","join","mergeVals","vals","pattern","remaining","result","m","subRefs","index","block","refs","matchAll","map","x","every","applyOps","colNames","nRow","display","auto_format","fmtCols","Set","add","has","pct","maxInt","n","a","intW","floor","log10","d","min","max","autoFmt","eachCell","cols","fn","percent","psfx","f","big_mark","sig_digits","pfx","prefix","sfx","suffix","Date","isNaN","method","options","toLocaleDateString","locale","small","small_text","zero","missing","mCols","target","miss","undefined","sort","row_group","concat","idx","from","_","b","va","vb","newPos","rows","r","sortByGroups","visible","align","colLabels","colWidths","tableWidth","indent","groups","rowSpans","styles","spanners","footnotes","fns","notes","header","hdr","onOp","t","rowGroupSep","rowGroupCols","auto_sep","some","hidden","g","hide","forEach","toMove","rest","after","pos","indexOf","setByCol","arr","val","autoLbl","auto_label","entries","table","widths","w","fill","level","runs","label","push","html_cols","ordered","order","gc","spans","sp","auto_span","sep","RegExp","j","m2","k","mk","resolveSpec","reg","text","indexFootnotes","fIdx","loc","location","hit","group","values","startsWith","value","matcher","nGrp","nCol","isRaw","mark","cell","attr","colCls","right","center","trimEnd","eachLoc","locCols","ci","styleMap","classMap","addTo","key","css","class","caption","cls","emptyTh","rs","bodyMarks","fi","pushRow","span","ind","cc","Boolean","disp","tip","seen","_viewRows","footRow","html","_cols","_display","plugins","onMount","ready","tbl","_ltSpec","e","altKey","classList","toggle","onclick","detail","ondblclick","ownerDocument","documentElement","wireRaw","mount","insertAdjacentHTML","nextElementSibling","q","build","document","currentScript","render","innerHTML","window"],"sources":["lt.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["root","LT","buildHtml","$","el","sel","querySelector","cellRenderers","cells","esc","s","String","replace","txt","v","Array","isArray","escIf","raw","rawCol","hc","c","includes","sup","i","str","Infinity","isNum","isFinite","isNumInf","Math","abs","numCol","col","length","find","colOrder","spec","columns","Object","keys","data","filter","colLabel","ops","lbl","op","type","labels","fmtNumber","decimals","bigMark","sigDigits","test","sign","int","frac","expStr","match","exp","digits","point","out","repeat","slice","expandExp","toPrecision","toFixed","parts","split","join","mergeVals","vals","pattern","remaining","result","m","subRefs","index","block","refs","matchAll","map","x","every","applyOps","colNames","nRow","display","auto_format","fmtCols","Set","add","has","pct","maxInt","n","a","intW","floor","log10","d","min","max","autoFmt","eachCell","cols","fn","percent","psfx","f","big_mark","sig_digits","pfx","prefix","sfx","suffix","Date","isNaN","method","options","toLocaleDateString","locale","small","small_text","zero","missing","mCols","target","miss","undefined","sort","row_group","concat","idx","from","_","b","va","vb","newPos","rows","r","sortByGroups","visible","align","colLabels","colWidths","tableWidth","indent","groups","rowSpans","styles","spanners","cellMap","footnotes","fns","notes","header","hdr","onOp","t","rowGroupSep","rowGroupCols","auto_sep","some","hidden","g","hide","forEach","toMove","rest","after","pos","indexOf","setByCol","arr","val","autoLbl","auto_label","entries","table","widths","w","fill","level","runs","label","push","html_cols","ordered","order","gc","spans","sp","auto_span","sep","RegExp","j","m2","k","mk","rnd","cfgs","resolve","cfg","resolveSpec","U","reg","text","indexFootnotes","fIdx","loc","location","hit","group","values","startsWith","value","matcher","nGrp","nCol","isRaw","mark","cell","attr","colCls","right","center","trimEnd","eachLoc","locCols","ci","styleMap","classMap","addTo","key","css","class","caption","cls","emptyTh","rs","bodyMarks","fi","pushRow","span","ind","cc","Boolean","cm","pcls","cellClass","disp","tip","seen","_viewRows","footCells","foot","hasFoot","h","footRow","html","extra","ac","_cols","_display","plugins","onMount","ready","tbl","_ltSpec","e","altKey","classList","toggle","onclick","detail","ondblclick","ownerDocument","documentElement","wireRaw","mount","insertAdjacentHTML","nextElementSibling","q","build","document","currentScript","render","innerHTML","refresh","wrap","closest","next","remove","window"],"sources":["lt.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.78",
3
+ "version": "1.14.80",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"