@reportwright/viewer 0.0.0-stage → 0.11.0

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.
Files changed (96) hide show
  1. package/CHANGELOG.md +206 -0
  2. package/LICENSE +23 -0
  3. package/README.md +146 -2
  4. package/dist/chunk-2NAW3MAP.js +1284 -0
  5. package/dist/chunk-2NAW3MAP.js.map +6 -0
  6. package/dist/chunk-3D43XGIN.js +1167 -0
  7. package/dist/chunk-3D43XGIN.js.map +6 -0
  8. package/dist/chunk-66QZ3RDV.js +1661 -0
  9. package/dist/chunk-66QZ3RDV.js.map +6 -0
  10. package/dist/chunk-72S6DETS.js +40 -0
  11. package/dist/chunk-72S6DETS.js.map +6 -0
  12. package/dist/chunk-AH47FS6Y.js +13 -0
  13. package/dist/chunk-AH47FS6Y.js.map +6 -0
  14. package/dist/chunk-APRPSQOD.js +301 -0
  15. package/dist/chunk-APRPSQOD.js.map +6 -0
  16. package/dist/chunk-BXKUE45K.js +1284 -0
  17. package/dist/chunk-BXKUE45K.js.map +6 -0
  18. package/dist/chunk-D2NTLAKL.js +14 -0
  19. package/dist/chunk-D2NTLAKL.js.map +6 -0
  20. package/dist/chunk-E7INJHTL.js +1284 -0
  21. package/dist/chunk-E7INJHTL.js.map +6 -0
  22. package/dist/chunk-FGEFSGJT.js +1284 -0
  23. package/dist/chunk-FGEFSGJT.js.map +6 -0
  24. package/dist/chunk-GJS242RR.js +1652 -0
  25. package/dist/chunk-GJS242RR.js.map +6 -0
  26. package/dist/chunk-HAMBWF6C.js +20682 -0
  27. package/dist/chunk-HAMBWF6C.js.map +6 -0
  28. package/dist/chunk-J56FRCFU.js +1284 -0
  29. package/dist/chunk-J56FRCFU.js.map +6 -0
  30. package/dist/chunk-KJTRZJHN.js +599 -0
  31. package/dist/chunk-KJTRZJHN.js.map +6 -0
  32. package/dist/chunk-N5WHQ4DM.js +153 -0
  33. package/dist/chunk-N5WHQ4DM.js.map +6 -0
  34. package/dist/chunk-NJWQT6VB.js +1284 -0
  35. package/dist/chunk-NJWQT6VB.js.map +6 -0
  36. package/dist/chunk-ODREGGKA.js +219 -0
  37. package/dist/chunk-ODREGGKA.js.map +6 -0
  38. package/dist/chunk-OLLMACWA.js +35 -0
  39. package/dist/chunk-OLLMACWA.js.map +6 -0
  40. package/dist/chunk-PXXMOP4N.js +1284 -0
  41. package/dist/chunk-PXXMOP4N.js.map +6 -0
  42. package/dist/chunk-RKGIVPK5.js +1284 -0
  43. package/dist/chunk-RKGIVPK5.js.map +6 -0
  44. package/dist/chunk-RYHJUQSV.js +98 -0
  45. package/dist/chunk-RYHJUQSV.js.map +6 -0
  46. package/dist/chunk-SBD55ZES.js +316 -0
  47. package/dist/chunk-SBD55ZES.js.map +6 -0
  48. package/dist/chunk-SR2TQ2ZK.js +70 -0
  49. package/dist/chunk-SR2TQ2ZK.js.map +6 -0
  50. package/dist/chunk-WQOBRZAL.js +14777 -0
  51. package/dist/chunk-WQOBRZAL.js.map +6 -0
  52. package/dist/designer.d.ts +48 -0
  53. package/dist/designer.js +35865 -0
  54. package/dist/designer.js.map +6 -0
  55. package/dist/peer/chunk-2NJMXASD.js +1282 -0
  56. package/dist/peer/chunk-2NJMXASD.js.map +6 -0
  57. package/dist/peer/chunk-5X4ZSSJT.js +1660 -0
  58. package/dist/peer/chunk-5X4ZSSJT.js.map +6 -0
  59. package/dist/peer/chunk-6YO42ALN.js +14777 -0
  60. package/dist/peer/chunk-6YO42ALN.js.map +6 -0
  61. package/dist/peer/chunk-76ZABVTI.js +598 -0
  62. package/dist/peer/chunk-76ZABVTI.js.map +6 -0
  63. package/dist/peer/chunk-776OR56A.js +6040 -0
  64. package/dist/peer/chunk-776OR56A.js.map +6 -0
  65. package/dist/peer/chunk-BPF3SLL4.js +1282 -0
  66. package/dist/peer/chunk-BPF3SLL4.js.map +6 -0
  67. package/dist/peer/chunk-BWVDLOVL.js +1282 -0
  68. package/dist/peer/chunk-BWVDLOVL.js.map +6 -0
  69. package/dist/peer/chunk-CXM3YSWF.js +1282 -0
  70. package/dist/peer/chunk-CXM3YSWF.js.map +6 -0
  71. package/dist/peer/chunk-DQFZ6LVB.js +1282 -0
  72. package/dist/peer/chunk-DQFZ6LVB.js.map +6 -0
  73. package/dist/peer/chunk-EKWTFHVE.js +152 -0
  74. package/dist/peer/chunk-EKWTFHVE.js.map +6 -0
  75. package/dist/peer/chunk-IMQRHDR4.js +12 -0
  76. package/dist/peer/chunk-IMQRHDR4.js.map +6 -0
  77. package/dist/peer/chunk-IPU2YRL2.js +300 -0
  78. package/dist/peer/chunk-IPU2YRL2.js.map +6 -0
  79. package/dist/peer/chunk-M4AGFUWE.js +97 -0
  80. package/dist/peer/chunk-M4AGFUWE.js.map +6 -0
  81. package/dist/peer/chunk-PG2PNYDX.js +1282 -0
  82. package/dist/peer/chunk-PG2PNYDX.js.map +6 -0
  83. package/dist/peer/chunk-QRAJXW2D.js +1282 -0
  84. package/dist/peer/chunk-QRAJXW2D.js.map +6 -0
  85. package/dist/peer/chunk-SHVCNAUG.js +1282 -0
  86. package/dist/peer/chunk-SHVCNAUG.js.map +6 -0
  87. package/dist/peer/chunk-Y5CAHLXS.js +218 -0
  88. package/dist/peer/chunk-Y5CAHLXS.js.map +6 -0
  89. package/dist/peer/designer.js +35841 -0
  90. package/dist/peer/designer.js.map +6 -0
  91. package/dist/peer/viewer.js +1061 -0
  92. package/dist/peer/viewer.js.map +6 -0
  93. package/dist/viewer.d.ts +77 -0
  94. package/dist/viewer.js +1066 -0
  95. package/dist/viewer.js.map +6 -0
  96. package/package.json +76 -4
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/i18n/zh.js"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,152 @@
1
+ "use client";
2
+ import {
3
+ customFonts,
4
+ drillRefs,
5
+ fetchReport,
6
+ loadSources,
7
+ origin,
8
+ pruneSnapshot,
9
+ reportFetch,
10
+ resolveParameters,
11
+ reuseRefs
12
+ } from "./chunk-6YO42ALN.js";
13
+ import "../chunk-GJS242RR.js";
14
+ import "../chunk-72S6DETS.js";
15
+ import {
16
+ ALL_FONT_KEYS,
17
+ SHAPER,
18
+ fontFile,
19
+ fontKeysOf
20
+ } from "../chunk-3D43XGIN.js";
21
+
22
+ // src/viewer/interactiveHtml.js
23
+ var toB64 = (buf) => {
24
+ const u8 = new Uint8Array(buf);
25
+ let s = "";
26
+ for (let i = 0; i < u8.length; i += 32768) s += String.fromCharCode.apply(null, u8.subarray(i, i + 32768));
27
+ return btoa(s);
28
+ };
29
+ var getBuf = async (url) => {
30
+ const r = await fetch(url);
31
+ if (!r.ok) throw new Error(`HTTP ${r.status} for ${url}`);
32
+ return r.arrayBuffer();
33
+ };
34
+ function reachableReportIds(def) {
35
+ const out = reuseRefs(def);
36
+ for (const r of drillRefs(def)) out.add(r.report);
37
+ return out;
38
+ }
39
+ async function collectReports(def, rootId) {
40
+ const reports = {};
41
+ if (rootId) reports[rootId] = def;
42
+ const queue = [...reachableReportIds(def)];
43
+ const missing = [];
44
+ while (queue.length) {
45
+ const id = queue.shift();
46
+ if (reports[id] || missing.includes(id)) continue;
47
+ try {
48
+ const d = await fetchReport(id);
49
+ reports[id] = d;
50
+ queue.push(...reachableReportIds(d));
51
+ } catch {
52
+ missing.push(id);
53
+ }
54
+ }
55
+ return { reports, missing };
56
+ }
57
+ var MAX_DRILL_SNAPSHOTS = 250;
58
+ async function snapshotData(def, params, model, reports) {
59
+ const snapshot = {};
60
+ const base = origin();
61
+ const recording = async (url, init) => {
62
+ if (url in snapshot) return new Response(JSON.stringify(snapshot[url]), { status: 200, headers: { "content-type": "application/json" } });
63
+ const res = await reportFetch(base)(url, init);
64
+ if (res.ok) {
65
+ try {
66
+ snapshot[url] = await res.clone().json();
67
+ } catch {
68
+ }
69
+ }
70
+ return res;
71
+ };
72
+ const load = async (d, p) => {
73
+ try {
74
+ await loadSources(d, { params: resolveParameters(d, p, { lenient: true }), fetch: recording, baseUrl: base });
75
+ } catch {
76
+ }
77
+ };
78
+ await load(def, params);
79
+ const seen = /* @__PURE__ */ new Set(), jobs = [];
80
+ for (const pg of model?.pages || []) for (const it of pg.items) {
81
+ const a = it.t === "link" && it.action;
82
+ if (!a || a.type !== "drill" || !reports[a.report]) continue;
83
+ const key = a.report + JSON.stringify(a.params || {});
84
+ if (seen.has(key)) continue;
85
+ seen.add(key);
86
+ jobs.push([reports[a.report], Object.fromEntries(Object.entries(a.params || {}).map(([k, v]) => [k, v == null ? "" : String(v)]))]);
87
+ }
88
+ const todo = jobs.slice(0, MAX_DRILL_SNAPSHOTS);
89
+ for (let i = 0; i < todo.length; i += 6) await Promise.all(todo.slice(i, i + 6).map(([d, p]) => load(d, p)));
90
+ return { snapshot, drillTargets: jobs.length, drillSnapshots: todo.length };
91
+ }
92
+ async function exportInteractiveHtml(def, opt = {}) {
93
+ const base = origin();
94
+ const bundleRes = await fetch(`${base}/embed/reportwright-viewer.full.js`);
95
+ if (!bundleRes.ok) throw Object.assign(new Error('The viewer bundle is missing. Run "npm run build:embed" (it also runs in "npm run build").'), { code: "NO_BUNDLE" });
96
+ const bundle = (await bundleRes.text()).replace(/<\/script/gi, "<\\/script");
97
+ const used = fontKeysOf(opt.model);
98
+ const shaped = (opt.model?.pages || []).some((pg) => pg.items.some((it) => it.t === "text" && it.lines.some((l) => l.runs?.some((r) => r.shaped || r.rtl))));
99
+ const keys = [.../* @__PURE__ */ new Set([...ALL_FONT_KEYS, ...used, ...shaped ? [SHAPER] : []])];
100
+ const fonts = {};
101
+ await Promise.all(keys.map(async (k) => {
102
+ fonts[k] = toB64(await getBuf(`${base}/fonts/${fontFile(k)}`));
103
+ }));
104
+ const uploaded = (await customFonts()).filter((f) => keys.includes(`u-${f.id}`));
105
+ let uiCss = "";
106
+ try {
107
+ const faces = [["PW UI", "ibm-plex-sans-latin-400-normal", 400], ["PW UI", "ibm-plex-sans-latin-600-normal", 600], ["PW Mono", "ibm-plex-mono-latin-400-normal", 400]];
108
+ const parts = await Promise.all(faces.map(async ([fam, file, w]) => `@font-face{font-family:"${fam}";src:url(data:font/woff2;base64,${toB64(await getBuf(`${base}/fonts/ui/${file}.woff2`))}) format("woff2");font-weight:${w};font-display:swap}`));
109
+ uiCss = parts.join("\n");
110
+ } catch {
111
+ }
112
+ const { reports, missing } = await collectReports(def, opt.reportId);
113
+ const { snapshot: raw, drillTargets, drillSnapshots } = await snapshotData(def, opt.params || {}, opt.model, reports);
114
+ const snapshot = pruneSnapshot(raw, [def, ...Object.values(reports)]);
115
+ const config = {
116
+ server: base,
117
+ definition: def,
118
+ params: opt.params || {},
119
+ lang: opt.lang || "en",
120
+ reports,
121
+ fonts,
122
+ customFonts: uploaded,
123
+ uiFontCss: uiCss,
124
+ snapshot,
125
+ height: "100vh",
126
+ title: def.name
127
+ };
128
+ const json = JSON.stringify(config).replace(/</g, "\\u003c");
129
+ const esc = (s) => String(s).replace(/&/g, "&amp;").replace(/</g, "&lt;");
130
+ const html = `<!doctype html>
131
+ <html lang="${esc(opt.lang || "en")}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
132
+ <title>${esc(def.name || "Report")}</title>
133
+ <meta name="generator" content="ReportWright interactive HTML">
134
+ <style>html,body{margin:0;height:100%;background:#e6eaee}#report{height:100vh}#report-note{position:fixed;right:8px;bottom:6px;font:11px system-ui,sans-serif;color:#5f6b77;pointer-events:none}</style>
135
+ </head><body>
136
+ <div id="report"></div>
137
+ <div id="report-note">Exported ${esc((/* @__PURE__ */ new Date()).toLocaleString())} · data refreshes when online</div>
138
+ <script>${bundle}<\/script>
139
+ <script type="application/json" id="pw-config">${json}<\/script>
140
+ <script>
141
+ (function(){var c=JSON.parse(document.getElementById('pw-config').textContent);
142
+ var el=document.getElementById('report');var s=el.style;s.height='100vh';
143
+ ReportWright.mountViewer(el,c);})();
144
+ <\/script>
145
+ </body></html>`;
146
+ return { html, info: { reports: Object.keys(reports).length || 1, missing, bytes: html.length, drillTargets, drillSnapshots } };
147
+ }
148
+ export {
149
+ exportInteractiveHtml,
150
+ reachableReportIds
151
+ };
152
+ //# sourceMappingURL=chunk-EKWTFHVE.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/viewer/interactiveHtml.js"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ alignOf,
3
+ exportDocx
4
+ } from "../chunk-SBD55ZES.js";
5
+ import "../chunk-D2NTLAKL.js";
6
+ import "../chunk-SR2TQ2ZK.js";
7
+ import "../chunk-3D43XGIN.js";
8
+ export {
9
+ alignOf,
10
+ exportDocx
11
+ };
12
+ //# sourceMappingURL=chunk-IMQRHDR4.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "mappings": "",
5
+ "names": []
6
+ }
@@ -0,0 +1,300 @@
1
+ import {
2
+ formatValue,
3
+ isoDate
4
+ } from "../chunk-GJS242RR.js";
5
+ import {
6
+ drillUrl,
7
+ safeUrl
8
+ } from "../chunk-72S6DETS.js";
9
+ import {
10
+ withDeadline
11
+ } from "../chunk-D2NTLAKL.js";
12
+ import {
13
+ mergedRegions,
14
+ needsTableData
15
+ } from "../chunk-SR2TQ2ZK.js";
16
+ import {
17
+ fontFamilyCss,
18
+ pageToSvg
19
+ } from "../chunk-3D43XGIN.js";
20
+
21
+ // src/exporters/htmldata.js
22
+ var MAX_DATA_ROWS = 2e4;
23
+ var DATA_STRINGS = { pages: "Pages", tables: "Tables", all: "All", filter: "Filter", toggle: "Show or hide the rows of this group", sortAsc: "Sort ascending", sortDesc: "Sort descending" };
24
+ function tablesData(model, o = {}) {
25
+ const regions = mergedRegions(model);
26
+ if (!regions.length || regions.reduce((n, r) => n + r.rows.length, 0) > MAX_DATA_ROWS) return null;
27
+ const sortable = /* @__PURE__ */ new Map();
28
+ for (const pg of model.pages) {
29
+ const heads = pg.items.filter((i) => i.t === "text" && i.cell?.kind === "header" && i.clip);
30
+ for (const l of pg.items) {
31
+ if (l.t !== "link" || l.action?.type !== "sort") continue;
32
+ const h = heads.find((t) => t.cell.table === l.action.table && Math.abs(t.clip.x - l.x) < 1);
33
+ if (h) (sortable.get(h.cell.table) || sortable.set(h.cell.table, /* @__PURE__ */ new Set()).get(h.cell.table)).add(h.cell.col);
34
+ }
35
+ }
36
+ const show = (c) => c.value instanceof Date ? isoDate(c.value, model.timeZone || void 0) : typeof c.value === "boolean" ? String(c.value) : formatValue(c.value, c.format, { locale: o.locale, currency: o.currency });
37
+ return regions.map((r) => ({
38
+ name: String(r.name || "Table"),
39
+ cols: r.columns.length,
40
+ sort: [...sortable.get(r.name) || []],
41
+ rows: r.rows.map((row) => ({
42
+ k: row.kind,
43
+ l: row.level || 0,
44
+ c: row.cells.filter((c) => c.colIndex >= 0).map((c) => [c.colIndex, String(show(c) ?? ""), c.value instanceof Date ? c.value.getTime() : typeof c.value === "number" ? c.value : String(c.value ?? "").toLowerCase(), c.span || 1])
45
+ }))
46
+ }));
47
+ }
48
+ var DATA_SCRIPT = `(() => {
49
+ const d = JSON.parse(document.getElementById('pw-data').textContent), S = d.strings;
50
+ const bar = document.getElementById('pw-bar'), box = document.getElementById('pw-tables');
51
+ const el = (tag, cls, text) => { const e = document.createElement(tag); if (cls) e.className = cls; if (text != null) e.textContent = text; return e; };
52
+ bar.hidden = false;
53
+ bar.addEventListener('click', (e) => {
54
+ const b = e.target.closest('button[data-view]');
55
+ if (!b) return;
56
+ const tables = b.dataset.view === 'tables';
57
+ document.body.classList.toggle('pw-show-tables', tables);
58
+ box.hidden = !tables;
59
+ for (const x of bar.querySelectorAll('button')) x.setAttribute('aria-pressed', String(x === b));
60
+ if (tables && !box.firstChild) for (const t of d.tables) box.appendChild(view(t));
61
+ });
62
+ function view(t) {
63
+ const sec = el('section', 'pw-t');
64
+ sec.appendChild(el('h2', null, t.name));
65
+ const heads = t.rows.filter(r => r.k === 'header');
66
+ const body = t.rows.filter(r => r.k !== 'header');
67
+ const label = (c) => { for (const h of heads) for (const x of h.c) if (x[0] === c) return x[1]; return String(c + 1); };
68
+ // filters: text columns of detail rows with a few distinct values
69
+ const active = new Map();
70
+ const bar2 = el('div', 'pw-f');
71
+ for (let c = 0; c < t.cols; c++) {
72
+ const vals = new Set(); let text = true;
73
+ for (const r of body) if (r.k === 'detail') for (const x of r.c) if (x[0] === c && x[1] !== '') { vals.add(x[1]); if (typeof x[2] === 'number') text = false; }
74
+ if (!text || vals.size < 2 || vals.size > 30) continue;
75
+ const lab = el('label', null, label(c) + ' ');
76
+ const s = el('select');
77
+ s.appendChild(new Option(S.all, ''));
78
+ for (const v of [...vals].sort()) s.appendChild(new Option(v, v));
79
+ s.addEventListener('change', () => { if (s.value) active.set(c, s.value); else active.delete(c); draw(); });
80
+ lab.appendChild(s);
81
+ bar2.appendChild(lab);
82
+ }
83
+ if (bar2.firstChild) { bar2.prepend(el('span', 'pw-fl', S.filter)); sec.appendChild(bar2); }
84
+ const table = el('table'), thead = el('thead'), tbody = el('tbody');
85
+ let order = null; // { c, dir }
86
+ const closed = new Set();
87
+ for (const h of heads) {
88
+ const tr = el('tr');
89
+ for (const x of h.c) {
90
+ const th = el('th');
91
+ th.scope = 'col';
92
+ if (x[3] > 1) th.colSpan = x[3];
93
+ if (t.sort.includes(x[0])) {
94
+ const b = el('button', 'pw-s', x[1]);
95
+ b.type = 'button';
96
+ b.title = S.sortAsc;
97
+ b.addEventListener('click', () => {
98
+ order = order && order.c === x[0] && order.dir === 1 ? { c: x[0], dir: -1 } : { c: x[0], dir: 1 };
99
+ for (const o of thead.querySelectorAll('th')) o.removeAttribute('aria-sort');
100
+ th.setAttribute('aria-sort', order.dir === 1 ? 'ascending' : 'descending');
101
+ b.title = order.dir === 1 ? S.sortDesc : S.sortAsc;
102
+ draw();
103
+ });
104
+ th.appendChild(b);
105
+ } else th.textContent = x[1];
106
+ tr.appendChild(th);
107
+ }
108
+ thead.appendChild(tr);
109
+ }
110
+ table.append(thead, tbody);
111
+ sec.appendChild(table);
112
+ const key = (r) => { const x = r.c.find(y => y[0] === order.c); return x ? x[2] : ''; };
113
+ const cmp = (a, b) => { const p = key(a), q = key(b); return (typeof p === typeof q ? (p < q ? -1 : p > q ? 1 : 0) : typeof p === 'number' ? -1 : 1) * order.dir; };
114
+ function draw() {
115
+ // detail rows sorted within each run between group rows; groups keep their place
116
+ let rows = body;
117
+ if (order) {
118
+ rows = [];
119
+ for (let i = 0; i < body.length;) {
120
+ if (body[i].k !== 'detail') { rows.push(body[i++]); continue; }
121
+ const run = [];
122
+ while (i < body.length && body[i].k === 'detail') run.push(body[i++]);
123
+ for (const x of run.sort(cmp)) rows.push(x);
124
+ }
125
+ }
126
+ const keep = (r) => { for (const [c, v] of active) { const x = r.c.find(y => y[0] === c); if (!x || x[1] !== v) return false; } return true; };
127
+ tbody.textContent = '';
128
+ let hideFrom = -1; // the level of a closed group whose rows are hidden
129
+ rows.forEach((r) => {
130
+ if (hideFrom >= 0 && (r.k === 'header' || r.k === 'footer' || (r.k === 'groupHeader' && r.l <= hideFrom) || (r.k === 'groupFooter' && r.l <= hideFrom))) hideFrom = -1;
131
+ if (hideFrom >= 0) return;
132
+ if (r.k === 'detail' && !keep(r)) return;
133
+ const tr = el('tr', 'pw-' + r.k);
134
+ let c0 = true;
135
+ for (const x of r.c) {
136
+ const td = el('td', typeof x[2] === 'number' ? 'pw-n' : null);
137
+ if (x[3] > 1) td.colSpan = x[3];
138
+ if (c0 && r.k === 'groupHeader') {
139
+ const b = el('button', 'pw-g', closed.has(r) ? '▶' : '▼');
140
+ b.type = 'button';
141
+ b.title = S.toggle;
142
+ b.setAttribute('aria-expanded', String(!closed.has(r)));
143
+ b.addEventListener('click', () => { if (closed.has(r)) closed.delete(r); else closed.add(r); draw(); });
144
+ td.append(b, ' ');
145
+ }
146
+ td.append(x[1]);
147
+ tr.appendChild(td);
148
+ c0 = false;
149
+ }
150
+ tbody.appendChild(tr);
151
+ if (r.k === 'groupHeader' && closed.has(r)) hideFrom = r.l;
152
+ });
153
+ }
154
+ draw();
155
+ return sec;
156
+ }
157
+ })();`;
158
+ var DATA_CSS = `.pw-bar{position:sticky;top:0;z-index:2;display:flex;gap:4px;padding:4px;background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.15)}
159
+ .pw-bar button{font:inherit;border:1px solid #c9d1d9;background:#fff;border-radius:6px;padding:4px 12px;cursor:pointer}.pw-bar button[aria-pressed=true]{background:#1f2937;color:#fff;border-color:#1f2937}
160
+ body.pw-show-tables .page{display:none}#pw-tables{width:100%;max-width:none;display:flex;flex-direction:column;gap:24px}
161
+ .pw-t{background:#fff;padding:16px;border-radius:8px;overflow-x:auto}.pw-t h2{font-size:16px;margin:0 0 8px}
162
+ .pw-t table{border-collapse:collapse;width:100%;font-size:13px}.pw-t th,.pw-t td{border-bottom:1px solid #e5e7eb;padding:4px 8px;text-align:left}.pw-t td.pw-n{text-align:right;font-variant-numeric:tabular-nums}
163
+ .pw-t th{background:#f1f5f9}.pw-t .pw-groupHeader td,.pw-t .pw-groupFooter td,.pw-t .pw-footer td{font-weight:600}
164
+ .pw-s,.pw-g{font:inherit;border:0;background:none;padding:0;cursor:pointer;color:inherit}.pw-s:after{content:" ⇅";opacity:.5}
165
+ .pw-f{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:8px;font-size:13px}.pw-fl{font-weight:600}
166
+ @media print{.pw-bar,#pw-tables{display:none}}`;
167
+ async function cspHash(text) {
168
+ const d = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(text));
169
+ const u8 = new Uint8Array(d);
170
+ let s = "";
171
+ for (const b of u8) s += String.fromCharCode(b);
172
+ return btoa(s);
173
+ }
174
+
175
+ // src/exporters/html.js
176
+ function exportHtml(model, fontStore, opt = {}) {
177
+ return withDeadline(
178
+ htmlOf(model, fontStore, opt),
179
+ /** @type {any} */
180
+ opt.timeoutMs
181
+ );
182
+ }
183
+ async function htmlOf(model, fontStore, opt) {
184
+ const used = /* @__PURE__ */ new Map();
185
+ const layout = /* @__PURE__ */ new Set();
186
+ const add = (key, text) => {
187
+ let s = used.get(key);
188
+ if (!s) {
189
+ s = /* @__PURE__ */ new Set([32]);
190
+ used.set(key, s);
191
+ }
192
+ for (const ch of text) s.add(
193
+ /** @type {number} */
194
+ ch.codePointAt(0)
195
+ );
196
+ };
197
+ for (const pg of model.pages) for (const it of pg.items.flatMap((i) => i.t === "field" ? i.draw : [i])) if (it.t === "text") {
198
+ for (const l of it.lines) {
199
+ if (!l.runs) {
200
+ add(it.font, l.text);
201
+ continue;
202
+ }
203
+ for (const r of l.runs) {
204
+ add(r.font, r.text);
205
+ if (r.shaped || r.rtl) layout.add(r.font);
206
+ }
207
+ }
208
+ }
209
+ const faces = [];
210
+ for (const [key, cps] of used) {
211
+ let bytes = fontStore.bytes.get(key);
212
+ if (!bytes) continue;
213
+ if (opt.subset) {
214
+ try {
215
+ bytes = await opt.subset(bytes, cps, layout.has(key) ? { layout: true } : void 0);
216
+ } catch {
217
+ }
218
+ }
219
+ faces.push(`@font-face{font-family:"${fontFamilyCss(key)}";src:url(data:font/ttf;base64,${b64(bytes)}) format("truetype")}`);
220
+ }
221
+ const esc = (s) => String(s).replace(/&/g, "&amp;").replace(/</g, "&lt;");
222
+ const anchors = /* @__PURE__ */ new Map();
223
+ const jumpTo = (a) => {
224
+ const to = a.page ? a : model.bookmarks?.find((b) => b.label === a.target) || model.headings?.find((b) => b.label === a.target);
225
+ if (!to?.page) return null;
226
+ const y = Math.max(0, Math.round(to.y || 0));
227
+ const key = `${to.page}:${y}`;
228
+ if (!anchors.has(key)) anchors.set(key, { id: `at-${to.page}-${y}`, page: to.page, y });
229
+ return `#${anchors.get(key).id}`;
230
+ };
231
+ const drillHref = (a) => drillUrl(opt.drillBase, a);
232
+ const target = (a) => {
233
+ if (a?.type === "url") {
234
+ const h = safeUrl(a.href);
235
+ return h ? { href: h, external: true } : null;
236
+ }
237
+ if (a?.type === "bookmark") {
238
+ const h = jumpTo(a);
239
+ return h ? { href: h } : null;
240
+ }
241
+ if (a?.type === "drill") {
242
+ const h = drillHref(a);
243
+ return h ? { href: h, external: true } : { off: `Opens the report "${a.report}" in the ReportWright viewer` };
244
+ }
245
+ return null;
246
+ };
247
+ const svgs = model.pages.map((p) => pageToSvg({ items: p.items.filter((it) => it.t !== "link" || target(it.action)) }, p.width ?? model.width, p.height ?? model.height, { proxyBase: opt.drillBase || "" }).replace(/<rect class="pw-link"([^>]*?)data-action="([^"]*)"[^>]*>(<title>[^<]*<\/title>)?<\/rect>/g, (m, a, act, ttl = "") => {
248
+ let t = null;
249
+ try {
250
+ t = target(JSON.parse(act.replace(/&quot;/g, '"').replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&#39;/g, "'").replace(/&amp;/g, "&")));
251
+ } catch {
252
+ }
253
+ if (t && "href" in t) return `<a href="${attr(t.href)}"${t.external ? ' target="_blank" rel="noopener"' : ""}><rect${a}/>${ttl}</a>`;
254
+ if (t && "off" in t) return `<g class="pw-off"><rect${a}/><title>${esc(t.off)}</title></g>`;
255
+ return `<rect${a}/>`;
256
+ }));
257
+ const pages = model.pages.map((p, i) => {
258
+ const H = p.height ?? model.height;
259
+ const marks = [...anchors.values()].filter((x) => x.page === i + 1).map((x) => `<a class="pw-at" id="${x.id}" style="top:${(Math.min(x.y, H) / H * 100).toFixed(3)}%"></a>`).join("");
260
+ return `<section class="page${p.width ? " wide" : ""}" id="page-${i + 1}"${p.width ? ` style="width:min(100%,${Math.round(p.width * 96 / 72)}px)"` : ""}>${marks}${svgs[i]}</section>`;
261
+ }).join("\n");
262
+ if (!opt.static) needsTableData(model, "Interactive HTML (or pass static: true)");
263
+ const data = opt.static ? null : tablesData(model, { locale: opt.locale, currency: opt.currency });
264
+ const S = { ...DATA_STRINGS, ...opt.strings || {} };
265
+ const csp = data ? `<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256-${await cspHash(DATA_SCRIPT)}'; style-src 'unsafe-inline'; font-src data:; img-src data: https: http:; base-uri 'none'; form-action 'none'">
266
+ ` : "";
267
+ const lang = opt.lang && /^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$/.test(opt.lang) ? opt.lang : "en";
268
+ return `<!doctype html>
269
+ <html lang="${data ? lang : "en"}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
270
+ ${csp}<title>${esc(opt.title || model.name || "Report")}</title>
271
+ <style>
272
+ ${faces.join("\n")}
273
+ html{background:#e6eaee}body{margin:0;padding:24px 12px;display:flex;flex-direction:column;align-items:center;gap:18px;font-family:system-ui,sans-serif}
274
+ .page{position:relative;width:min(100%,${Math.round(model.width * 96 / 72)}px);background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08),0 6px 20px rgba(0,0,0,.08)}
275
+ .pw-at{position:absolute;left:0;width:1px;height:1px;scroll-margin-top:12px}.pw-off{cursor:not-allowed}
276
+ .page svg{display:block;width:100%;height:auto}
277
+ @media print{html{background:#fff}body{padding:0;gap:0}.page{box-shadow:none;width:100%;break-after:page}@page{size:${model.width}pt ${model.height}pt;margin:0}}
278
+ ${data ? DATA_CSS + "\n" : ""}</style></head><body>
279
+ ${data ? `<nav class="pw-bar" id="pw-bar" hidden><button type="button" data-view="pages" aria-pressed="true">${esc(S.pages)}</button><button type="button" data-view="tables" aria-pressed="false">${esc(S.tables)}</button></nav>
280
+ ` : ""}${pages}
281
+ ${data ? `<div id="pw-tables" hidden></div>
282
+ <script type="application/json" id="pw-data">${JSON.stringify({ tables: data, strings: S }).replace(/</g, "\\u003c")}<\/script>
283
+ <script>${DATA_SCRIPT}<\/script>
284
+ ` : ""}</body></html>`;
285
+ }
286
+ var attr = (s) => String(s).replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/'/g, "&#39;");
287
+ function b64(u8) {
288
+ if (typeof Buffer !== "undefined") return Buffer.from(u8).toString("base64");
289
+ let s = "";
290
+ for (let i = 0; i < u8.length; i += 32768) s += String.fromCharCode.apply(
291
+ null,
292
+ /** @type {any} */
293
+ u8.subarray(i, i + 32768)
294
+ );
295
+ return btoa(s);
296
+ }
297
+ export {
298
+ exportHtml
299
+ };
300
+ //# sourceMappingURL=chunk-IPU2YRL2.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/exporters/htmldata.js", "../../../src/exporters/html.js"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,97 @@
1
+ import {
2
+ formatValue,
3
+ isoDate,
4
+ roundHalfAway
5
+ } from "../chunk-GJS242RR.js";
6
+ import {
7
+ mergedRegions,
8
+ needsTableData,
9
+ textRows
10
+ } from "../chunk-SR2TQ2ZK.js";
11
+
12
+ // src/exporters/csv.js
13
+ var q = (v) => {
14
+ const s = v == null ? "" : String(v);
15
+ return /[",\n\r]/.test(s) ? `"${s.replace(/"/g, '""')}"` : s;
16
+ };
17
+ var text = (s) => /^[=+\-@\t\r]/.test(s) ? `'${s}` : s;
18
+ function shown(v, fmt) {
19
+ const m = /^([CcNnFfPp])(\d{0,2})$/.exec(fmt || "");
20
+ if (!m) return Number.isInteger(v) ? v : roundHalfAway(v, 6);
21
+ return roundHalfAway(v, (m[2] === "" ? 2 : Number(m[2])) + (m[1].toUpperCase() === "P" ? 2 : 0));
22
+ }
23
+ function exportCsv(model, { all = true, layout = false, locale, currency } = {}) {
24
+ needsTableData(model, "CSV");
25
+ const regions = mergedRegions(model);
26
+ if (!regions.length) {
27
+ return "\uFEFF" + model.pages.flatMap((p) => textRows(p.items).map((l) => q(text(l)))).join("\r\n");
28
+ }
29
+ const line = csvLine({ timeZone: model.timeZone, locale, currency });
30
+ const out = [];
31
+ if (!layout) {
32
+ const details = (r) => r.rows.reduce((n, x) => n + (x.kind === "detail" ? 1 : 0), 0);
33
+ const main = regions.reduce((a, b) => details(b) > details(a) ? b : a);
34
+ const names = csvNames(main.columns.length);
35
+ for (const row of main.rows) if (row.kind === "header") names.add(row);
36
+ out.push(names.line());
37
+ for (const row of main.rows) if (row.kind === "detail") out.push(line(main.columns.length, row));
38
+ return "\uFEFF" + out.join("\r\n");
39
+ }
40
+ for (const r of all ? regions : regions.slice(0, 1)) {
41
+ if (regions.length > 1) out.push(q(r.name));
42
+ for (const row of r.rows) out.push(line(r.columns.length, row));
43
+ out.push("");
44
+ }
45
+ return "\uFEFF" + out.join("\r\n");
46
+ }
47
+ function csvLine({ timeZone, locale, currency }) {
48
+ const cell = (c) => c.value instanceof Date ? isoDate(c.value, timeZone || void 0) : typeof c.value === "number" ? shown(c.value, c.format) : c.value === true || c.value === false ? String(c.value) : text(formatValue(c.value, null, { locale, currency }));
49
+ return (ncols, row) => {
50
+ const out = new Array(ncols).fill("");
51
+ for (const c of row.cells) if (c.colIndex >= 0) out[c.colIndex] = q(cell(c));
52
+ return out.join(",");
53
+ };
54
+ }
55
+ function csvNames(ncols) {
56
+ const names = Array.from({ length: ncols }, () => (
57
+ /** @type {string[]} */
58
+ []
59
+ ));
60
+ return {
61
+ /** @param {{ cells: any[] }} row */
62
+ add(row) {
63
+ for (const c of row.cells) {
64
+ const t = c.value == null ? "" : String(c.value).trim();
65
+ if (!t || c.colIndex < 0) continue;
66
+ for (let k = c.colIndex; k < Math.min(names.length, c.colIndex + Math.max(1, c.span || 1)); k++) if (names[k][names[k].length - 1] !== t) names[k].push(t);
67
+ }
68
+ },
69
+ line: () => names.map((n, i) => q(text(n.join(" ") || `Column ${i + 1}`))).join(",")
70
+ };
71
+ }
72
+ async function writeCsvStream(plan, put, { locale, currency } = {}) {
73
+ const n = plan.columns.length;
74
+ const line = csvLine({ timeZone: plan.timeZone, locale, currency });
75
+ const names = csvNames(n);
76
+ let started = false;
77
+ for await (const row of plan.rows()) {
78
+ if (row.kind === "header") {
79
+ names.add(row);
80
+ continue;
81
+ }
82
+ if (row.kind !== "detail") continue;
83
+ if (!started) {
84
+ started = true;
85
+ await put("\uFEFF" + names.line());
86
+ }
87
+ await put("\r\n" + line(n, row));
88
+ }
89
+ if (!started) await put("\uFEFF" + names.line());
90
+ }
91
+ export {
92
+ csvLine,
93
+ csvNames,
94
+ exportCsv,
95
+ writeCsvStream
96
+ };
97
+ //# sourceMappingURL=chunk-M4AGFUWE.js.map