@xiee/utils 1.14.42 → 1.14.44

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/lt.css CHANGED
@@ -1,17 +1,23 @@
1
+ th, td{ padding: 5px; }
1
2
  .lt-table {
2
3
  --b: 1px solid; --bg: 4px solid transparent;
3
4
  --c-head: #888; --c-span: #bbb; --c-row: #ddd; --c-foot: #aaa; --c-grp: #ccc;
4
5
 
6
+ border-collapse: separate;
7
+ margin: auto;
5
8
  border-spacing: 0;
6
9
  border-top: var(--b);
7
10
  border-bottom: var(--b);
8
11
 
9
12
  caption {
13
+ border-top: var(--b);
14
+ padding: .5em;
15
+ text-align: center;
10
16
  .lt-title { font-size: 1.2em; font-weight: 600; }
11
17
  .lt-subtitle { font-size: 0.9em; }
12
18
  }
13
19
 
14
- tbody td, tbody th { border-bottom: var(--b) var(--c-row); }
20
+ tbody tr:not(:last-child) :is(td, th) { border-bottom: var(--b) var(--c-row); }
15
21
  thead th { border-bottom: var(--b) var(--c-head); border-left: var(--bg); border-right: var(--bg); }
16
22
  thead .lt-spanner-row {
17
23
  .lt-spanner { border-bottom: var(--b) var(--c-span); text-align: center; }
@@ -22,19 +28,17 @@
22
28
  th.lt-stub { text-align: left; }
23
29
  .lt-row-group th {
24
30
  text-align: left;
25
- font-style: italic;
26
- border-top: var(--b) var(--c-grp);
31
+ background: radial-gradient(circle, #ccc 0.75px, transparent 0.75px);
32
+ background-size: 8px 8px;
27
33
  }
34
+ .lt-row-group ~ tr:not(.lt-row-group) > :first-child { padding-left: 1em; }
28
35
  }
29
36
 
30
37
  tfoot.lt-footer {
31
- td {
32
- font-size: 0.85em;
33
- border-top: var(--b) var(--c-foot);
34
- }
35
- .lt-footnote td { border-top: none; }
38
+ font-size: 0.85em;
36
39
  .lt-footnote:first-child td { border-top: var(--b) var(--c-foot); }
37
- .lt-source-note td { border-top: 1px dashed var(--c-span); font-style: italic; }
40
+ .lt-source-note:first-child td { border-top: 1px dashed var(--c-foot); }
41
+ .lt-source-note td { font-style: italic; }
38
42
  }
39
43
 
40
44
  .al-r { text-align: right; }
package/css/lt.min.css CHANGED
@@ -1,2 +1,2 @@
1
- .lt-table{--b:1px solid;--bg:4px solid transparent;--c-head:#888;--c-span:#bbb;--c-row:#ddd;--c-foot:#aaa;--c-grp:#ccc;border-spacing:0;border-top:var(--b);border-bottom:var(--b);& caption{& .lt-title{font-size:1.2em;font-weight:600}& .lt-subtitle{font-size:.9em}}& tbody td,& tbody th{border-bottom:var(--b) var(--c-row)}& thead th{border-bottom:var(--b) var(--c-head);border-left:var(--bg);border-right:var(--bg)}& thead .lt-spanner-row{& .lt-spanner{border-bottom:var(--b) var(--c-span);text-align:center}& .lt-spanner-empty{border-bottom:none}}& tbody{& th.lt-stub{text-align:left}& .lt-row-group th{text-align:left;border-top:var(--b) var(--c-grp);font-style:italic}}& tfoot.lt-footer{& td{border-top:var(--b) var(--c-foot);font-size:.85em}& .lt-footnote td{border-top:none}& .lt-footnote:first-child td{border-top:var(--b) var(--c-foot)}& .lt-source-note td{border-top:1px dashed var(--c-span);font-style:italic}}& .al-r{text-align:right}& .al-c{text-align:center}& sup.lt-fnref{color:#06c;&:before{content:" ["}&:after{content:"]"}}}
1
+ th,td{padding:5px}.lt-table{--b:1px solid;--bg:4px solid transparent;--c-head:#888;--c-span:#bbb;--c-row:#ddd;--c-foot:#aaa;--c-grp:#ccc;border-collapse:separate;border-spacing:0;border-top:var(--b);border-bottom:var(--b);margin:auto;& caption{border-top:var(--b);text-align:center;padding:.5em;& .lt-title{font-size:1.2em;font-weight:600}& .lt-subtitle{font-size:.9em}}& tbody tr:not(:last-child) :is(td,th){border-bottom:var(--b) var(--c-row)}& thead th{border-bottom:var(--b) var(--c-head);border-left:var(--bg);border-right:var(--bg)}& thead .lt-spanner-row{& .lt-spanner{border-bottom:var(--b) var(--c-span);text-align:center}& .lt-spanner-empty{border-bottom:none}}& tbody{& th.lt-stub{text-align:left}& .lt-row-group th{text-align:left;background:radial-gradient(circle,#ccc .75px,#0000 .75px) 0 0/8px 8px}& .lt-row-group~tr:not(.lt-row-group)>:first-child{padding-left:1em}}& tfoot.lt-footer{font-size:.85em;& .lt-footnote:first-child td{border-top:var(--b) var(--c-foot)}& .lt-source-note:first-child td{border-top:1px dashed var(--c-foot)}& .lt-source-note td{font-style:italic}}& .al-r{text-align:right}& .al-c{text-align:center}& sup.lt-fnref{color:#06c;&:before{content:" ["}&:after{content:"]"}}}
2
2
  /*# sourceMappingURL=lt.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,mLAQE,UACE,4CACA,+BAGF,0DACA,6FACA,wBACE,qEACA,wCAGF,QACE,6BACA,uFAOF,kBACE,uDAIA,kCACA,gEACA,4EAGF,yBACA,0BAEA,0BAEE,sBACA","sources":["lt.css"],"sourcesContent":[".lt-table {\n --b: 1px solid; --bg: 4px solid transparent;\n --c-head: #888; --c-span: #bbb; --c-row: #ddd; --c-foot: #aaa; --c-grp: #ccc;\n\n border-spacing: 0;\n border-top: var(--b);\n border-bottom: var(--b);\n\n caption {\n .lt-title { font-size: 1.2em; font-weight: 600; }\n .lt-subtitle { font-size: 0.9em; }\n }\n\n tbody td, tbody th { border-bottom: var(--b) var(--c-row); }\n thead th { border-bottom: var(--b) var(--c-head); border-left: var(--bg); border-right: var(--bg); }\n thead .lt-spanner-row {\n .lt-spanner { border-bottom: var(--b) var(--c-span); text-align: center; }\n .lt-spanner-empty { border-bottom: none; }\n }\n\n tbody {\n th.lt-stub { text-align: left; }\n .lt-row-group th {\n text-align: left;\n font-style: italic;\n border-top: var(--b) var(--c-grp);\n }\n }\n\n tfoot.lt-footer {\n td {\n font-size: 0.85em;\n border-top: var(--b) var(--c-foot);\n }\n .lt-footnote td { border-top: none; }\n .lt-footnote:first-child td { border-top: var(--b) var(--c-foot); }\n .lt-source-note td { border-top: 1px dashed var(--c-span); font-style: italic; }\n }\n\n .al-r { text-align: right; }\n .al-c { text-align: center; }\n\n sup.lt-fnref {\n color: #06c;\n &::before { content: \" [\"; }\n &::after { content: \"]\"; }\n }\n}\n"],"names":[]}
1
+ {"version":3,"mappings":"AAAA,kBACA,wNAUE,6DAIE,4CACA,+BAGF,2EACA,6FACA,wBACE,qEACA,wCAGF,QACE,6BACA,yGAKA,qEAGF,kCAEE,gEACA,qEACA,wCAGF,yBACA,0BAEA,0BAEE,sBACA","sources":["lt.css"],"sourcesContent":["th, td{ padding: 5px; }\n.lt-table {\n --b: 1px solid; --bg: 4px solid transparent;\n --c-head: #888; --c-span: #bbb; --c-row: #ddd; --c-foot: #aaa; --c-grp: #ccc;\n\n border-collapse: separate;\n margin: auto;\n border-spacing: 0;\n border-top: var(--b);\n border-bottom: var(--b);\n\n caption {\n border-top: var(--b);\n padding: .5em;\n text-align: center;\n .lt-title { font-size: 1.2em; font-weight: 600; }\n .lt-subtitle { font-size: 0.9em; }\n }\n\n tbody tr:not(:last-child) :is(td, th) { border-bottom: var(--b) var(--c-row); }\n thead th { border-bottom: var(--b) var(--c-head); border-left: var(--bg); border-right: var(--bg); }\n thead .lt-spanner-row {\n .lt-spanner { border-bottom: var(--b) var(--c-span); text-align: center; }\n .lt-spanner-empty { border-bottom: none; }\n }\n\n tbody {\n th.lt-stub { text-align: left; }\n .lt-row-group th {\n text-align: left;\n background: radial-gradient(circle, #ccc 0.75px, transparent 0.75px);\n background-size: 8px 8px;\n }\n .lt-row-group ~ tr:not(.lt-row-group) > :first-child { padding-left: 1em; }\n }\n\n tfoot.lt-footer {\n font-size: 0.85em;\n .lt-footnote:first-child td { border-top: var(--b) var(--c-foot); }\n .lt-source-note:first-child td { border-top: 1px dashed var(--c-foot); }\n .lt-source-note td { font-style: italic; }\n }\n\n .al-r { text-align: right; }\n .al-c { text-align: center; }\n\n sup.lt-fnref {\n color: #06c;\n &::before { content: \" [\"; }\n &::after { content: \"]\"; }\n }\n}\n"],"names":[]}
package/js/lt.js CHANGED
@@ -12,6 +12,236 @@
12
12
  .replace(/>/g, ">").replace(/"/g, """);
13
13
  const sup = i => `<sup class="lt-fnref">${i}</sup>`;
14
14
 
15
+ // --- Number formatting ---
16
+ function fmtNumber(v, decimals, bigMark) {
17
+ if (v == null || typeof v !== "number" || isNaN(v)) return null;
18
+ let s = decimals != null ? v.toFixed(decimals) : String(v);
19
+ if (bigMark) {
20
+ const parts = s.split(".");
21
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, bigMark);
22
+ s = parts.join(".");
23
+ }
24
+ return decimals != null || bigMark ? s : null;
25
+ }
26
+
27
+ // --- Pattern merge ---
28
+ function mergeVals(vals, pattern) {
29
+ if (!pattern) return vals.filter(v => v !== "").join(" ");
30
+ let remaining = pattern, result = "";
31
+ while (remaining) {
32
+ const m = remaining.match(/<<(.*?)>>/);
33
+ if (!m) { result += subRefs(remaining, vals); break; }
34
+ if (m.index > 0) result += subRefs(remaining.slice(0, m.index), vals);
35
+ const block = m[1];
36
+ const refs = [...block.matchAll(/\{(\d+)\}/g)].map(x => +x[1]);
37
+ if (!refs.length || refs.every(i => vals[i - 1] !== ""))
38
+ result += subRefs(block, vals);
39
+ remaining = remaining.slice(m.index + m[0].length);
40
+ }
41
+ return result;
42
+ }
43
+ function subRefs(s, vals) {
44
+ for (let i = 0; i < vals.length; i++)
45
+ s = s.split("{" + (i + 1) + "}").join(vals[i]);
46
+ return s;
47
+ }
48
+
49
+ // --- Apply ops to data columns, return display strings per column ---
50
+ function applyOps(spec) {
51
+ const data = spec.data || {},
52
+ ops = spec.ops || [],
53
+ colNames = Object.keys(data),
54
+ nRow = colNames.length ? data[colNames[0]].length : 0;
55
+
56
+ // Working copy: display[col][row] = string
57
+ const display = {};
58
+ for (const c of colNames) {
59
+ display[c] = data[c].map(v => v == null ? "" : String(v));
60
+ }
61
+
62
+ for (const op of ops) {
63
+ const cols = op.columns || colNames;
64
+ switch (op.type) {
65
+ case "fmt_number":
66
+ for (const c of cols) {
67
+ if (!data[c]) continue;
68
+ for (let i = 0; i < nRow; i++) {
69
+ const raw = data[c][i];
70
+ const f = fmtNumber(raw, op.decimals, op.big_mark ?? "");
71
+ if (f != null) display[c][i] = f;
72
+ }
73
+ }
74
+ break;
75
+ case "sub":
76
+ for (const c of cols) {
77
+ if (!data[c]) continue;
78
+ for (let i = 0; i < nRow; i++) {
79
+ const raw = data[c][i];
80
+ if (op.small != null && typeof raw === "number" && raw !== 0 &&
81
+ !isNaN(raw) && raw != null && Math.abs(raw) < op.small) {
82
+ display[c][i] = op.small_text ?? ("<" + op.small);
83
+ } else if (op.zero != null && raw === 0) {
84
+ display[c][i] = op.zero;
85
+ } else if (op.missing != null && raw == null) {
86
+ display[c][i] = op.missing;
87
+ }
88
+ }
89
+ }
90
+ break;
91
+ case "merge": {
92
+ const mCols = op.columns;
93
+ if (!mCols || mCols.length < 2) break;
94
+ const target = mCols[0];
95
+ for (let i = 0; i < nRow; i++) {
96
+ const vals = mCols.map(c => display[c] ? display[c][i] : "");
97
+ display[target][i] = mergeVals(vals, op.pattern);
98
+ }
99
+ break;
100
+ }
101
+ }
102
+ }
103
+ return { display, nRow };
104
+ }
105
+
106
+ // --- Resolve structural spec fields from ops + data ---
107
+ function resolveSpec(spec) {
108
+ const data = spec.data || {},
109
+ ops = spec.ops || [],
110
+ colNames = Object.keys(data),
111
+ nRow = colNames.length ? data[colNames[0]].length : 0;
112
+
113
+ // Determine row_group and row_label columns
114
+ const rowGroupCol = spec.row_group || null,
115
+ rowLabelCol = spec.row_label || null;
116
+
117
+ // Hidden columns: row_group, row_label, merge sources
118
+ const hidden = new Set();
119
+ if (rowGroupCol) hidden.add(rowGroupCol);
120
+ if (rowLabelCol) hidden.add(rowLabelCol);
121
+ for (const op of ops) {
122
+ if (op.type === "merge" && op.hide !== false && op.columns)
123
+ op.columns.slice(1).forEach(c => hidden.add(c));
124
+ }
125
+
126
+ // Visible columns after hiding
127
+ let visible = colNames.filter(c => !hidden.has(c));
128
+
129
+ // Apply cols_move
130
+ for (const op of ops) {
131
+ if (op.type !== "cols_move") continue;
132
+ const toMove = (op.columns || []).filter(c => visible.includes(c));
133
+ if (!toMove.length) continue;
134
+ const rest = visible.filter(c => !toMove.includes(c));
135
+ if (op.after == null) {
136
+ visible = [...toMove, ...rest];
137
+ } else {
138
+ const pos = rest.indexOf(op.after);
139
+ if (pos >= 0) visible = [...rest.slice(0, pos + 1), ...toMove, ...rest.slice(pos + 1)];
140
+ }
141
+ }
142
+
143
+ // Alignment: default from data type (number→right, else left), then overrides
144
+ const align = visible.map(c => {
145
+ const col = data[c];
146
+ return col && col.length && typeof col.find(v => v != null) === "number" ? "right" : "left";
147
+ });
148
+ for (const op of ops) {
149
+ if (op.type !== "align") continue;
150
+ for (const c of (op.columns || [])) {
151
+ const i = visible.indexOf(c);
152
+ if (i >= 0) align[i] = op.align;
153
+ }
154
+ }
155
+
156
+ // Column labels
157
+ const colLabels = [...visible];
158
+ for (const op of ops) {
159
+ if (op.type !== "cols_label" || !op.labels) continue;
160
+ for (const [c, lbl] of Object.entries(op.labels)) {
161
+ const i = visible.indexOf(c);
162
+ if (i >= 0) colLabels[i] = lbl;
163
+ }
164
+ }
165
+
166
+ // Column widths
167
+ let colWidths = null;
168
+ for (const op of ops) {
169
+ if (op.type !== "cols_width" || !op.widths) continue;
170
+ if (!colWidths) colWidths = visible.map(() => "");
171
+ for (const [c, w] of Object.entries(op.widths)) {
172
+ const i = visible.indexOf(c);
173
+ if (i >= 0) colWidths[i] = w;
174
+ }
175
+ }
176
+
177
+ // Indent
178
+ const indent = new Array(nRow).fill(0);
179
+ for (const op of ops) {
180
+ if (op.type !== "indent" || !op.rows) continue;
181
+ for (const r of op.rows) indent[r - 1] = op.level ?? 1;
182
+ }
183
+
184
+ // Stubhead
185
+ let stubLabel = rowLabelCol || "";
186
+ for (const op of ops) {
187
+ if (op.type === "stubhead") stubLabel = op.label;
188
+ }
189
+
190
+ // Row groups from data column
191
+ let groups = [];
192
+ if (rowGroupCol && data[rowGroupCol]) {
193
+ const gCol = data[rowGroupCol];
194
+ let i = 0;
195
+ while (i < nRow) {
196
+ const label = gCol[i] == null ? "" : String(gCol[i]);
197
+ const rows = [i + 1];
198
+ while (++i < nRow && String(gCol[i] ?? "") === label) rows.push(i + 1);
199
+ groups.push({ label, rows });
200
+ }
201
+ }
202
+ // Manual groups
203
+ for (const op of ops) {
204
+ if (op.type === "row_group") groups.push({ label: op.label, rows: op.rows });
205
+ }
206
+ // Group ordering
207
+ for (const op of ops) {
208
+ if (op.type !== "group_order" || !groups.length) continue;
209
+ const order = op.order || [];
210
+ const ordered = [], rest = [];
211
+ for (const lbl of order) {
212
+ const g = groups.find(x => x.label === lbl);
213
+ if (g) ordered.push(g);
214
+ }
215
+ for (const g of groups) if (!ordered.includes(g)) rest.push(g);
216
+ groups = [...ordered, ...rest];
217
+ }
218
+
219
+ // Styles
220
+ const styles = [];
221
+ for (const op of ops) {
222
+ if (op.type !== "style") continue;
223
+ const s = { css: op.css };
224
+ if (op.columns) s.columns = op.columns;
225
+ if (op.rows) s.rows = op.rows;
226
+ styles.push(s);
227
+ }
228
+
229
+ // Stub values from row_label column
230
+ const stub = rowLabelCol && data[rowLabelCol]
231
+ ? data[rowLabelCol].map(v => v == null ? "" : String(v))
232
+ : null;
233
+
234
+ return {
235
+ visible, align, colLabels, colWidths, indent, stubLabel, stub,
236
+ groups, styles,
237
+ spanners: spec.spanners || [],
238
+ footnotes: spec.footnotes || [],
239
+ notes: spec.notes || [],
240
+ header: spec.header || {},
241
+ nRow
242
+ };
243
+ }
244
+
15
245
  // Footnotes: dedup by text, assign 1..N in first-seen order.
16
246
  function indexFootnotes(fns) {
17
247
  const order = [], idx = {};
@@ -21,8 +251,6 @@
21
251
  return { order, idx };
22
252
  }
23
253
 
24
- // matcher(fns, idx)(type, p) → 1-based footnote index whose location
25
- // matches, or 0. Encapsulates all "what footnote applies here?" logic.
26
254
  const matcher = (fns, idx) => (type, p) => {
27
255
  for (const f of fns) {
28
256
  const loc = f.location;
@@ -43,24 +271,41 @@
43
271
  };
44
272
 
45
273
  function buildHtml(spec) {
46
- const cols = spec.columns || [],
47
- colLabels = spec.col_labels || cols,
48
- align = spec.align || [],
49
- rows = spec.rows || [],
50
- stub = spec.stub,
51
- spanners = spec.spanners || [],
52
- groups = spec.row_groups || [],
53
- fns = spec.footnotes || [],
54
- notes = spec.notes || [],
55
- hdr = spec.header || {},
56
- reg = indexFootnotes(fns),
274
+ const { display, nRow } = applyOps(spec);
275
+ const res = resolveSpec(spec);
276
+ const { visible: cols, align, colLabels, colWidths, indent, stubLabel,
277
+ stub, groups, styles, spanners, footnotes: fns, notes, header: hdr } = res;
278
+ const reg = indexFootnotes(fns),
57
279
  fIdx = matcher(fns, reg.idx),
58
- stubLabel = spec.stub_label || "",
59
280
  nCol = cols.length + (stub ? 1 : 0),
60
- out = [`<table class="lt-table table">`];
281
+ out = [`<table class="lt-table">`];
61
282
  const alCls = i => { const a = align[i]; return a === "right" ? " class=\"al-r\"" : a === "center" ? " class=\"al-c\"" : ""; };
62
283
  const mark = (type, p) => { const i = fIdx(type, p); return i ? sup(i) : ""; };
63
284
 
285
+ // Style map
286
+ const styleMap = {};
287
+ for (const s of styles) {
288
+ const sCols = s.columns || cols, sRows = s.rows;
289
+ for (let r = 1; r <= nRow; r++) {
290
+ if (sRows && sRows.indexOf(r) < 0) continue;
291
+ for (const c of sCols) {
292
+ const ci = cols.indexOf(c);
293
+ if (ci < 0) continue;
294
+ const key = `${r},${ci}`;
295
+ styleMap[key] = styleMap[key] ? styleMap[key] + ";" + s.css : s.css;
296
+ }
297
+ }
298
+ }
299
+
300
+ // <colgroup>
301
+ if (colWidths && colWidths.some(w => w)) {
302
+ out.push(`<colgroup>`);
303
+ if (stub) out.push(`<col>`);
304
+ for (let i = 0; i < cols.length; i++)
305
+ out.push(colWidths[i] ? `<col style="width:${colWidths[i]}">` : `<col>`);
306
+ out.push(`</colgroup>`);
307
+ }
308
+
64
309
  // <caption>
65
310
  const hasT = hdr.title != null && hdr.title !== "",
66
311
  hasS = hdr.subtitle != null && hdr.subtitle !== "";
@@ -71,7 +316,7 @@
71
316
  out.push(`</caption>`);
72
317
  }
73
318
 
74
- // <thead>: optional spanner row + column-label row.
319
+ // <thead>
75
320
  out.push(`<thead>`);
76
321
  if (spanners.length) {
77
322
  out.push(`<tr class="lt-spanner-row">${stub ? `<th class="lt-spanner-empty"></th>` : ""}`);
@@ -92,14 +337,14 @@
92
337
  out.push(`<th scope="col"${alCls(i)}>${esc(colLabels[i])}${mark("column_labels", { columns: [cols[i]] })}</th>`);
93
338
  out.push(`</tr></thead>`);
94
339
 
95
- // body-footnote markers per (row,col), 1-based row.
340
+ // Body footnote markers
96
341
  const bodyMarks = {};
97
342
  for (const f of fns) {
98
343
  if (f.location.type !== "body") continue;
99
344
  const fi = reg.idx[f.text],
100
345
  fcols = f.location.columns || [],
101
- frows = f.location.rows; // absent = all
102
- for (let r = 1; r <= rows.length; r++) {
346
+ frows = f.location.rows;
347
+ for (let r = 1; r <= nRow; r++) {
103
348
  if (frows && frows.indexOf(r) < 0) continue;
104
349
  for (const c of fcols) {
105
350
  const ci = cols.indexOf(c);
@@ -108,12 +353,19 @@
108
353
  }
109
354
  }
110
355
 
356
+ // Row rendering
111
357
  const pushRow = r => {
112
358
  out.push(`<tr>`);
113
- if (stub) out.push(`<th scope="row" class="lt-stub">${esc(stub[r - 1])}</th>`);
359
+ if (stub) {
360
+ const ind = indent[r - 1] || 0;
361
+ const style = ind ? ` style="padding-left:${ind + 1}em"` : "";
362
+ out.push(`<th scope="row" class="lt-stub"${style}>${esc(stub[r - 1])}</th>`);
363
+ }
114
364
  for (let ci = 0; ci < cols.length; ci++) {
115
365
  const m = bodyMarks[`${r},${ci}`];
116
- out.push(`<td${alCls(ci)}>${esc(rows[r - 1][ci])}${m ? sup(m) : ""}</td>`);
366
+ const s = styleMap[`${r},${ci}`];
367
+ const val = display[cols[ci]] ? display[cols[ci]][r - 1] : "";
368
+ out.push(`<td${alCls(ci)}${s ? ` style="${s}"` : ""}>${esc(val)}${m ? sup(m) : ""}</td>`);
117
369
  }
118
370
  out.push(`</tr>`);
119
371
  };
@@ -126,9 +378,9 @@
126
378
  out.push(`<tr class="lt-row-group"><th colspan="${nCol}" scope="colgroup">${esc(g.label)}${mark("row_groups", { label: g.label })}</th></tr>`);
127
379
  for (const r of g.rows) { seen[r] = 1; pushRow(r); }
128
380
  }
129
- for (let r = 1; r <= rows.length; r++) if (!seen[r]) pushRow(r);
381
+ for (let r = 1; r <= nRow; r++) if (!seen[r]) pushRow(r);
130
382
  } else {
131
- for (let r = 1; r <= rows.length; r++) pushRow(r);
383
+ for (let r = 1; r <= nRow; r++) pushRow(r);
132
384
  }
133
385
  out.push(`</tbody>`);
134
386
 
@@ -148,6 +400,8 @@
148
400
 
149
401
  const mount = (s, spec) => s.insertAdjacentHTML("afterend", buildHtml(spec));
150
402
 
151
- (root.LT && root.LT.q || []).forEach(e => mount(e.s, e.d));
152
- root.LT = { build(spec) { mount(document.currentScript, spec); }, buildHtml };
403
+ const q = root.LT && root.LT.q || [];
404
+ while (q.length) { const e = q.shift(); mount(e.s, e.d); }
405
+ root.LT = { build(spec) { mount(document.currentScript, spec); }, buildHtml,
406
+ q: { push(e) { mount(e.s, e.d); } } };
153
407
  })(window);
package/js/lt.min.js CHANGED
@@ -1,2 +1,2 @@
1
- (t=>{"use strict";if(t.LT&&t.LT.buildHtml)return;const s=t=>String(t).replace(/&/g,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),l=t=>`<sup class="lt-fnref">${t}</sup>`;function e(t){const e=t.columns||[],o=t.col_labels||e,n=t.align||[],r=t.rows||[],c=t.stub,u=t.spanners||[],a=t.row_groups||[],p=t.footnotes||[],h=t.notes||[],i=t.header||{},f=function(t){const s=[],l={};return t.forEach(t=>{null==l[t.text]&&(l[t.text]=s.length+1,s.push(t.text))}),{order:s,idx:l}}(p),d=((t,s)=>(l,e)=>{for(const o of t){const t=o.location;if(t.type!==l)continue;const n=s[o.text];if("title"===l&&t.group===e.group)return n;if("column_labels"===l&&e.columns.every(s=>t.columns.indexOf(s)>=0))return n;if("column_spanners"===l&&e.spanners.every(s=>t.spanners.indexOf(s)>=0))return n;if("row_groups"===l){if("all"===t.match)return n;if("exact"===t.match&&t.values.indexOf(e.label)>=0)return n;if("starts_with"===t.match&&0===e.label.indexOf(t.value))return n}}return 0})(p,f.idx),g=t.stub_label||"",b=e.length+(c?1:0),$=['<table class="lt-table table">'],m=t=>{const s=n[t];return"right"===s?' class="al-r"':"center"===s?' class="al-c"':""},x=(t,s)=>{const e=d(t,s);return e?l(e):""},w=null!=i.title&&""!==i.title,_=null!=i.subtitle&&""!==i.subtitle;if((w||_)&&($.push('<caption class="lt-caption">'),w&&$.push(`<div class="lt-title">${s(i.title)}${x("title",{group:"title"})}</div>`),_&&$.push(`<div class="lt-subtitle">${s(i.subtitle)}${x("title",{group:"subtitle"})}</div>`),$.push("</caption>")),$.push("<thead>"),u.length){$.push('<tr class="lt-spanner-row">'+(c?'<th class="lt-spanner-empty"></th>':""));for(let t=0;t<e.length;){const l=u.find(s=>s.columns[0]===e[t]);l?($.push(`<th colspan="${l.columns.length}" scope="colgroup" class="lt-spanner">${s(l.label)}${x("column_spanners",{spanners:[l.label]})}</th>`),t+=l.columns.length):($.push('<th class="lt-spanner-empty"></th>'),t++)}$.push("</tr>")}$.push("<tr>"+(c?`<th scope="col">${s(g)}</th>`:""));for(let t=0;t<e.length;t++)$.push(`<th scope="col"${m(t)}>${s(o[t])}${x("column_labels",{columns:[e[t]]})}</th>`);$.push("</tr></thead>");const y={};for(const t of p){if("body"!==t.location.type)continue;const s=f.idx[t.text],l=t.location.columns||[],o=t.location.rows;for(let t=1;t<=r.length;t++)if(!(o&&o.indexOf(t)<0))for(const o of l){const l=e.indexOf(o);l>=0&&(y[`${t},${l}`]=s)}}const v=t=>{$.push("<tr>"),c&&$.push(`<th scope="row" class="lt-stub">${s(c[t-1])}</th>`);for(let o=0;o<e.length;o++){const e=y[`${t},${o}`];$.push(`<td${m(o)}>${s(r[t-1][o])}${e?l(e):""}</td>`)}$.push("</tr>")};if($.push("<tbody>"),a.length){const t={};for(const l of a){$.push(`<tr class="lt-row-group"><th colspan="${b}" scope="colgroup">${s(l.label)}${x("row_groups",{label:l.label})}</th></tr>`);for(const s of l.rows)t[s]=1,v(s)}for(let s=1;s<=r.length;s++)t[s]||v(s)}else for(let t=1;t<=r.length;t++)v(t);if($.push("</tbody>"),f.order.length||h.length){$.push('<tfoot class="lt-footer">'),f.order.forEach((t,e)=>$.push(`<tr class="lt-footnote"><td colspan="${b}">${l(e+1)} ${s(t)}</td></tr>`));for(const t of h)$.push(`<tr class="lt-source-note"><td colspan="${b}">${s(t)}</td></tr>`);$.push("</tfoot>")}return $.push("</table>"),$.join("")}const o=(t,s)=>t.insertAdjacentHTML("afterend",e(s));(t.LT&&t.LT.q||[]).forEach(t=>o(t.s,t.d)),t.LT={build(t){o(document.currentScript,t)},buildHtml:e}})(window);
1
+ (t=>{"use strict";if(t.LT&&t.LT.buildHtml)return;const o=t=>String(t).replace(/&/g,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),s=t=>`<sup class="lt-fnref">${t}</sup>`;function n(t,o,s){if(null==t||"number"!=typeof t||isNaN(t))return null;let n=null!=o?t.toFixed(o):String(t);if(s){const t=n.split(".");t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,s),n=t.join(".")}return null!=o||s?n:null}function e(t,o){if(!o)return t.filter(t=>""!==t).join(" ");let s=o,n="";for(;s;){const o=s.match(/<<(.*?)>>/);if(!o){n+=l(s,t);break}o.index>0&&(n+=l(s.slice(0,o.index),t));const e=o[1],r=[...e.matchAll(/\{(\d+)\}/g)].map(t=>+t[1]);r.length&&!r.every(o=>""!==t[o-1])||(n+=l(e,t)),s=s.slice(o.index+o[0].length)}return n}function l(t,o){for(let s=0;s<o.length;s++)t=t.split("{"+(s+1)+"}").join(o[s]);return t}function r(t){const{display:l,nRow:r}=function(t){const o=t.data||{},s=t.ops||[],l=Object.keys(o),r=l.length?o[l[0]].length:0,c={};for(const t of l)c[t]=o[t].map(t=>null==t?"":String(t));for(const t of s){const s=t.columns||l;switch(t.type){case"fmt_number":for(const e of s)if(o[e])for(let s=0;s<r;s++){const l=n(o[e][s],t.decimals,t.big_mark??"");null!=l&&(c[e][s]=l)}break;case"sub":for(const n of s)if(o[n])for(let s=0;s<r;s++){const e=o[n][s];null!=t.small&&"number"==typeof e&&0!==e&&!isNaN(e)&&null!=e&&Math.abs(e)<t.small?c[n][s]=t.small_text??"<"+t.small:null!=t.zero&&0===e?c[n][s]=t.zero:null!=t.missing&&null==e&&(c[n][s]=t.missing)}break;case"merge":{const o=t.columns;if(!o||o.length<2)break;const s=o[0];for(let n=0;n<r;n++){const l=o.map(t=>c[t]?c[t][n]:"");c[s][n]=e(l,t.pattern)}break}}}return{display:c,nRow:r}}(t),c=function(t){const o=t.data||{},s=t.ops||[],n=Object.keys(o),e=n.length?o[n[0]].length:0,l=t.row_group||null,r=t.row_label||null,c=new Set;l&&c.add(l),r&&c.add(r);for(const t of s)"merge"===t.type&&!1!==t.hide&&t.columns&&t.columns.slice(1).forEach(t=>c.add(t));let i=n.filter(t=>!c.has(t));for(const t of s){if("cols_move"!==t.type)continue;const o=(t.columns||[]).filter(t=>i.includes(t));if(!o.length)continue;const s=i.filter(t=>!o.includes(t));if(null==t.after)i=[...o,...s];else{const n=s.indexOf(t.after);n>=0&&(i=[...s.slice(0,n+1),...o,...s.slice(n+1)])}}const u=i.map(t=>{const s=o[t];return s&&s.length&&"number"==typeof s.find(t=>null!=t)?"right":"left"});for(const t of s)if("align"===t.type)for(const o of t.columns||[]){const s=i.indexOf(o);s>=0&&(u[s]=t.align)}const f=[...i];for(const t of s)if("cols_label"===t.type&&t.labels)for(const[o,s]of Object.entries(t.labels)){const t=i.indexOf(o);t>=0&&(f[t]=s)}let a=null;for(const t of s)if("cols_width"===t.type&&t.widths){a||(a=i.map(()=>""));for(const[o,s]of Object.entries(t.widths)){const t=i.indexOf(o);t>=0&&(a[t]=s)}}const p=new Array(e).fill(0);for(const t of s)if("indent"===t.type&&t.rows)for(const o of t.rows)p[o-1]=t.level??1;let h=r||"";for(const t of s)"stubhead"===t.type&&(h=t.label);let d=[];if(l&&o[l]){const t=o[l];let s=0;for(;s<e;){const o=null==t[s]?"":String(t[s]),n=[s+1];for(;++s<e&&String(t[s]??"")===o;)n.push(s+1);d.push({label:o,rows:n})}}for(const t of s)"row_group"===t.type&&d.push({label:t.label,rows:t.rows});for(const t of s){if("group_order"!==t.type||!d.length)continue;const o=t.order||[],s=[],n=[];for(const t of o){const o=d.find(o=>o.label===t);o&&s.push(o)}for(const t of d)s.includes(t)||n.push(t);d=[...s,...n]}const g=[];for(const t of s){if("style"!==t.type)continue;const o={css:t.css};t.columns&&(o.columns=t.columns),t.rows&&(o.rows=t.rows),g.push(o)}const b=r&&o[r]?o[r].map(t=>null==t?"":String(t)):null;return{visible:i,align:u,colLabels:f,colWidths:a,indent:p,stubLabel:h,stub:b,groups:d,styles:g,spanners:t.spanners||[],footnotes:t.footnotes||[],notes:t.notes||[],header:t.header||{},nRow:e}}(t),{visible:i,align:u,colLabels:f,colWidths:a,indent:p,stubLabel:h,stub:d,groups:g,styles:b,spanners:m,footnotes:$,notes:y,header:w}=c,x=function(t){const o=[],s={};return t.forEach(t=>{null==s[t.text]&&(s[t.text]=o.length+1,o.push(t.text))}),{order:o,idx:s}}($),_=((t,o)=>(s,n)=>{for(const e of t){const t=e.location;if(t.type!==s)continue;const l=o[e.text];if("title"===s&&t.group===n.group)return l;if("column_labels"===s&&n.columns.every(o=>t.columns.indexOf(o)>=0))return l;if("column_spanners"===s&&n.spanners.every(o=>t.spanners.indexOf(o)>=0))return l;if("row_groups"===s){if("all"===t.match)return l;if("exact"===t.match&&t.values.indexOf(n.label)>=0)return l;if("starts_with"===t.match&&0===n.label.indexOf(t.value))return l}}return 0})($,x.idx),O=i.length+(d?1:0),v=['<table class="lt-table">'],L=t=>{const o=u[t];return"right"===o?' class="al-r"':"center"===o?' class="al-c"':""},j=(t,o)=>{const n=_(t,o);return n?s(n):""},k={};for(const t of b){const o=t.columns||i,s=t.rows;for(let n=1;n<=r;n++)if(!(s&&s.indexOf(n)<0))for(const s of o){const o=i.indexOf(s);if(o<0)continue;const e=`${n},${o}`;k[e]=k[e]?k[e]+";"+t.css:t.css}}if(a&&a.some(t=>t)){v.push("<colgroup>"),d&&v.push("<col>");for(let t=0;t<i.length;t++)v.push(a[t]?`<col style="width:${a[t]}">`:"<col>");v.push("</colgroup>")}const S=null!=w.title&&""!==w.title,T=null!=w.subtitle&&""!==w.subtitle;if((S||T)&&(v.push('<caption class="lt-caption">'),S&&v.push(`<div class="lt-title">${o(w.title)}${j("title",{group:"title"})}</div>`),T&&v.push(`<div class="lt-subtitle">${o(w.subtitle)}${j("title",{group:"subtitle"})}</div>`),v.push("</caption>")),v.push("<thead>"),m.length){v.push('<tr class="lt-spanner-row">'+(d?'<th class="lt-spanner-empty"></th>':""));for(let t=0;t<i.length;){const s=m.find(o=>o.columns[0]===i[t]);s?(v.push(`<th colspan="${s.columns.length}" scope="colgroup" class="lt-spanner">${o(s.label)}${j("column_spanners",{spanners:[s.label]})}</th>`),t+=s.columns.length):(v.push('<th class="lt-spanner-empty"></th>'),t++)}v.push("</tr>")}v.push("<tr>"+(d?`<th scope="col">${o(h)}</th>`:""));for(let t=0;t<i.length;t++)v.push(`<th scope="col"${L(t)}>${o(f[t])}${j("column_labels",{columns:[i[t]]})}</th>`);v.push("</tr></thead>");const N={};for(const t of $){if("body"!==t.location.type)continue;const o=x.idx[t.text],s=t.location.columns||[],n=t.location.rows;for(let t=1;t<=r;t++)if(!(n&&n.indexOf(t)<0))for(const n of s){const s=i.indexOf(n);s>=0&&(N[`${t},${s}`]=o)}}const q=t=>{if(v.push("<tr>"),d){const s=p[t-1]||0,n=s?` style="padding-left:${s+1}em"`:"";v.push(`<th scope="row" class="lt-stub"${n}>${o(d[t-1])}</th>`)}for(let n=0;n<i.length;n++){const e=N[`${t},${n}`],r=k[`${t},${n}`],c=l[i[n]]?l[i[n]][t-1]:"";v.push(`<td${L(n)}${r?` style="${r}"`:""}>${o(c)}${e?s(e):""}</td>`)}v.push("</tr>")};if(v.push("<tbody>"),g.length){const t={};for(const s of g){v.push(`<tr class="lt-row-group"><th colspan="${O}" scope="colgroup">${o(s.label)}${j("row_groups",{label:s.label})}</th></tr>`);for(const o of s.rows)t[o]=1,q(o)}for(let o=1;o<=r;o++)t[o]||q(o)}else for(let t=1;t<=r;t++)q(t);if(v.push("</tbody>"),x.order.length||y.length){v.push('<tfoot class="lt-footer">'),x.order.forEach((t,n)=>v.push(`<tr class="lt-footnote"><td colspan="${O}">${s(n+1)} ${o(t)}</td></tr>`));for(const t of y)v.push(`<tr class="lt-source-note"><td colspan="${O}">${o(t)}</td></tr>`);v.push("</tfoot>")}return v.push("</table>"),v.join("")}const c=(t,o)=>t.insertAdjacentHTML("afterend",r(o)),i=t.LT&&t.LT.q||[];for(;i.length;){const t=i.shift();c(t.s,t.d)}t.LT={build(t){c(document.currentScript,t)},buildHtml:r,q:{push(t){c(t.s,t.d)}}}})(window);
2
2
  //# sourceMappingURL=lt.min.js.map
package/js/lt.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["root","LT","buildHtml","esc","s","String","replace","sup","i","spec","cols","columns","colLabels","col_labels","align","rows","stub","spanners","groups","row_groups","fns","footnotes","notes","hdr","header","reg","order","idx","forEach","f","text","length","push","indexFootnotes","fIdx","type","p","loc","location","hit","group","every","c","indexOf","match","values","label","value","matcher","stubLabel","stub_label","nCol","out","alCls","a","mark","hasT","title","hasS","subtitle","k","sp","find","bodyMarks","fi","fcols","frows","r","ci","pushRow","m","seen","g","txt","n","join","mount","insertAdjacentHTML","q","e","d","build","document","currentScript","window"],"sources":["lt.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["root","LT","buildHtml","esc","s","String","replace","sup","i","fmtNumber","v","decimals","bigMark","isNaN","toFixed","parts","split","join","mergeVals","vals","pattern","filter","remaining","result","m","match","subRefs","index","slice","block","refs","matchAll","map","x","length","every","spec","display","nRow","data","ops","colNames","Object","keys","c","op","cols","columns","type","f","big_mark","raw","small","Math","abs","small_text","zero","missing","mCols","target","applyOps","res","rowGroupCol","row_group","rowLabelCol","row_label","hidden","Set","add","hide","forEach","visible","has","toMove","includes","rest","after","pos","indexOf","align","col","find","colLabels","labels","lbl","entries","colWidths","widths","w","indent","Array","fill","rows","r","level","stubLabel","label","groups","gCol","push","order","ordered","g","styles","css","stub","spanners","footnotes","notes","header","resolveSpec","fns","hdr","reg","idx","text","indexFootnotes","fIdx","p","loc","location","hit","group","values","value","matcher","nCol","out","alCls","a","mark","styleMap","sCols","sRows","ci","key","some","hasT","title","hasS","subtitle","k","sp","bodyMarks","fi","fcols","frows","pushRow","ind","style","val","seen","txt","n","mount","insertAdjacentHTML","q","e","shift","d","build","document","currentScript","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.42",
3
+ "version": "1.14.44",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"