@reportwright/viewer 0.13.1 → 0.13.2-rc.2
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/CHANGELOG.md +51 -0
- package/README.md +146 -5
- package/dist/{chunk-B5ZCT3UK.js → chunk-4XZRLUHN.js} +73 -46
- package/dist/{chunk-B5ZCT3UK.js.map → chunk-4XZRLUHN.js.map} +2 -2
- package/dist/{chunk-XXTAPZO4.js → chunk-D7S5DL46.js} +2 -2
- package/dist/{chunk-ES2LYZ6S.js → chunk-DVJYE7HZ.js} +3 -3
- package/dist/chunk-GOCWG6FG.js +12 -12
- package/dist/chunk-GRYITZPG.js +23 -23
- package/dist/chunk-H422SRD3.js +21 -21
- package/dist/{chunk-PF4RFKX2.js → chunk-NARXO3DB.js} +3 -3
- package/dist/{chunk-PKXTMC4J.js → chunk-OED3YZYP.js} +5 -5
- package/dist/{chunk-ZGRJJ6OW.js → chunk-OMCWZYRI.js} +32 -17
- package/dist/chunk-OMCWZYRI.js.map +6 -0
- package/dist/chunk-U2ZY2NPQ.js +2 -2
- package/dist/designer.js +331 -135
- package/dist/designer.js.map +3 -3
- package/dist/engine.worker.bwip.js +4780 -51421
- package/dist/engine.worker.bwip.js.map +3 -3
- package/dist/engine.worker.js +5675 -59626
- package/dist/engine.worker.js.map +3 -3
- package/dist/pdfstreamworker.js +4 -0
- package/dist/peer/{chunk-7IP67PA6.js → chunk-4AFSC6JI.js} +48 -21
- package/dist/peer/{chunk-7IP67PA6.js.map → chunk-4AFSC6JI.js.map} +1 -1
- package/dist/peer/chunk-A6UXBSTP.js +21 -21
- package/dist/peer/{chunk-3EYYRJR4.js → chunk-FN3FXACD.js} +3 -3
- package/dist/peer/{chunk-WVQQCD4M.js → chunk-ILBTPBOA.js} +32 -17
- package/dist/peer/chunk-ILBTPBOA.js.map +6 -0
- package/dist/peer/{chunk-3XZY54LM.js → chunk-JQDW5OR3.js} +5 -5
- package/dist/peer/chunk-MXR6JBMP.js +2 -2
- package/dist/peer/chunk-N42DCZZA.js +12 -12
- package/dist/peer/{chunk-RKFP7SDY.js → chunk-OUTKMWFM.js} +3 -3
- package/dist/peer/{chunk-5RUNOIS7.js → chunk-VJLMUGUI.js} +2 -2
- package/dist/peer/chunk-ZS3J4WBH.js +23 -23
- package/dist/peer/designer.js +317 -122
- package/dist/peer/designer.js.map +3 -3
- package/dist/peer/engine.worker.bwip.js +4780 -51421
- package/dist/peer/engine.worker.bwip.js.map +3 -3
- package/dist/peer/engine.worker.js +5675 -59626
- package/dist/peer/engine.worker.js.map +3 -3
- package/dist/peer/pdfstreamworker.js +4 -0
- package/dist/peer/viewer.js +41 -9
- package/dist/peer/viewer.js.map +1 -1
- package/dist/viewer.d.ts +2 -0
- package/dist/viewer.js +41 -9
- package/dist/viewer.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-ZGRJJ6OW.js.map +0 -6
- package/dist/peer/chunk-WVQQCD4M.js.map +0 -6
- /package/dist/{chunk-XXTAPZO4.js.map → chunk-D7S5DL46.js.map} +0 -0
- /package/dist/{chunk-ES2LYZ6S.js.map → chunk-DVJYE7HZ.js.map} +0 -0
- /package/dist/{chunk-PF4RFKX2.js.map → chunk-NARXO3DB.js.map} +0 -0
- /package/dist/{chunk-PKXTMC4J.js.map → chunk-OED3YZYP.js.map} +0 -0
- /package/dist/peer/{chunk-3EYYRJR4.js.map → chunk-FN3FXACD.js.map} +0 -0
- /package/dist/peer/{chunk-3XZY54LM.js.map → chunk-JQDW5OR3.js.map} +0 -0
- /package/dist/peer/{chunk-RKFP7SDY.js.map → chunk-OUTKMWFM.js.map} +0 -0
- /package/dist/peer/{chunk-5RUNOIS7.js.map → chunk-VJLMUGUI.js.map} +0 -0
|
@@ -60,8 +60,8 @@ function chartXml(spec, sheet) {
|
|
|
60
60
|
const ser = (s, i, kind) => {
|
|
61
61
|
const c = i + 2;
|
|
62
62
|
const line = kind === "line" || kind === "radar";
|
|
63
|
-
return `<c:ser><c:idx val="${i}"/><c:order val="${i}"/><c:tx><c:strRef><c:f>${ref(sheet, c, 1, c, 1)}</c:f>${strCache([s.name])}</c:strRef></c:tx>${t === "pie" || t === "donut" ? "" : fill(s.color, line)}${line ? '<c:marker><c:symbol val="none"/></c:marker>' : ""}${cat}<c:val><c:numRef><c:f>${ref(sheet, c, 2, c, n + 1)}</c:f>${numCache(s.values, fmt)}</c:numRef></c:val>${kind === "line" ? '
|
|
64
|
-
c:smooth val="0"/>' : ""}</c:ser>`;
|
|
63
|
+
return `<c:ser><c:idx val="${i}"/><c:order val="${i}"/><c:tx><c:strRef><c:f>${ref(sheet, c, 1, c, 1)}</c:f>${strCache([s.name])}</c:strRef></c:tx>${t === "pie" || t === "donut" ? "" : fill(s.color, line)}${line ? '<c:marker><c:symbol val="none"/></c:marker>' : ""}${cat}<c:val><c:numRef><c:f>${ref(sheet, c, 2, c, n + 1)}</c:f>${numCache(s.values, fmt)}</c:numRef></c:val>${kind === "line" ? ('<'+
|
|
64
|
+
'c:smooth val="0"/>') : ""}</c:ser>`;
|
|
65
65
|
};
|
|
66
66
|
if (t === "pie" || t === "donut") {
|
|
67
67
|
const s = spec.series[0];
|
|
@@ -94,8 +94,8 @@ c:smooth val="0"/>' : ""}</c:ser>`;
|
|
|
94
94
|
const per = t === "bubble" ? 3 : 2;
|
|
95
95
|
const body = spec.series.map((s, i) => {
|
|
96
96
|
const c = 1 + i * per, n = s.x.length;
|
|
97
|
-
return `<c:ser><c:idx val="${i}"/><c:order val="${i}"/><c:tx><c:strRef><c:f>${ref(sheet, c + 1, 1, c + 1, 1)}</c:f>${strCache([s.name])}</c:strRef></c:tx>${t === "bubble" ? fill(s.color) : `<c:spPr><a:ln w="19050"><a:noFill/></a:ln></c:spPr><c:marker><c:symbol val="circle"/><c:size val="5"/>${fill(s.color)}</c:marker>`}<c:xVal><c:numRef><c:f>${ref(sheet, c, 2, c, n + 1)}</c:f>${numCache(s.x)}
|
|
98
|
-
</c:numRef></c:xVal><c:yVal><c:numRef><c:f>${ref(sheet, c + 1, 2, c + 1, n + 1)}</c:f>${numCache(s.y, fmt)}</c:numRef></c:yVal>` + (t === "bubble" ? `<c:bubbleSize><c:numRef><c:f>${ref(sheet, c + 2, 2, c + 2, n + 1)}</c:f>${numCache(s.size || [])}</c:numRef></c:bubbleSize><c:bubble3D val="0"/>` : '<c:smooth val="0"/>') + "</c:ser>";
|
|
97
|
+
return `<c:ser><c:idx val="${i}"/><c:order val="${i}"/><c:tx><c:strRef><c:f>${ref(sheet, c + 1, 1, c + 1, 1)}</c:f>${strCache([s.name])}</c:strRef></c:tx>${t === "bubble" ? fill(s.color) : `<c:spPr><a:ln w="19050"><a:noFill/></a:ln></c:spPr><c:marker><c:symbol val="circle"/><c:size val="5"/>${fill(s.color)}</c:marker>`}<c:xVal><c:numRef><c:f>${ref(sheet, c, 2, c, n + 1)}</c:f>${numCache(s.x)}${
|
|
98
|
+
""}</c:numRef></c:xVal><c:yVal><c:numRef><c:f>${ref(sheet, c + 1, 2, c + 1, n + 1)}</c:f>${numCache(s.y, fmt)}</c:numRef></c:yVal>` + (t === "bubble" ? `<c:bubbleSize><c:numRef><c:f>${ref(sheet, c + 2, 2, c + 2, n + 1)}</c:f>${numCache(s.size || [])}</c:numRef></c:bubbleSize><c:bubble3D val="0"/>` : '<c:smooth val="0"/>') + "</c:ser>";
|
|
99
99
|
}).join("");
|
|
100
100
|
plot = t === "bubble" ? `<c:bubbleChart><c:varyColors val="0"/>${body}<c:bubbleScale val="100"/>${axIds(false)}</c:bubbleChart>` : `<c:scatterChart><c:scatterStyle val="lineMarker"/><c:varyColors val="0"/>${body}${axIds(false)}</c:scatterChart>`;
|
|
101
101
|
axes = valAx(AX.cat, AX.val, "b", false, "General", spec.xTitle) + valAx(AX.val, AX.cat, "l", false, fmt, spec.yTitle);
|
|
@@ -106,18 +106,18 @@ c:smooth val="0"/>' : ""}</c:ser>`;
|
|
|
106
106
|
}
|
|
107
107
|
var axTitle = (t) => t ? title(t) : "";
|
|
108
108
|
function catAx(id, cross, pos, second, t) {
|
|
109
|
-
return `<c:catAx><c:axId val="${id}"/><c:scaling><c:orientation val="minMax"/></c:scaling><c:delete val="${second ? 1 : 0}"/><c:axPos val="${pos}"/>${axTitle(t)}<c:numFmt formatCode="General" sourceLinked="0"/><c:majorTickMark val="out"/><c:minorTickMark val="none"/><c:tickLblPos val="nextTo"/><c:crossAx val="${cross}"/><c:crosses val="autoZero"/><c:auto val="1"/><c:lblAlgn val="ctr"/><c:lblOffs
|
|
110
|
-
et val="100"/><c:noMultiLvlLbl val="0"/></c:catAx>`;
|
|
109
|
+
return `<c:catAx><c:axId val="${id}"/><c:scaling><c:orientation val="minMax"/></c:scaling><c:delete val="${second ? 1 : 0}"/><c:axPos val="${pos}"/>${axTitle(t)}<c:numFmt formatCode="General" sourceLinked="0"/><c:majorTickMark val="out"/><c:minorTickMark val="none"/><c:tickLblPos val="nextTo"/><c:crossAx val="${cross}"/><c:crosses val="autoZero"/><c:auto val="1"/><c:lblAlgn val="ctr"/><c:lblOffs${
|
|
110
|
+
""}et val="100"/><c:noMultiLvlLbl val="0"/></c:catAx>`;
|
|
111
111
|
}
|
|
112
112
|
function valAx(id, cross, pos, second, fmt, t) {
|
|
113
|
-
return `<c:valAx><c:axId val="${id}"/><c:scaling><c:orientation val="minMax"/></c:scaling><c:delete val="0"/><c:axPos val="${pos}"/>${second ? "" : "<c:majorGridlines/>"}${axTitle(t)}<c:numFmt formatCode="${esc(fmt)}" sourceLinked="0"/><c:majorTickMark val="out"/><c:minorTickMark val="none"/><c:tickLblPos val="nextTo"/><c:crossAx val="${cross}"/><c:crosses val="${second ? "max" : "autoZero"}"
|
|
114
|
-
c:crossBetween val="between"/></c:valAx>`;
|
|
113
|
+
return `<c:valAx><c:axId val="${id}"/><c:scaling><c:orientation val="minMax"/></c:scaling><c:delete val="0"/><c:axPos val="${pos}"/>${second ? "" : "<c:majorGridlines/>"}${axTitle(t)}<c:numFmt formatCode="${esc(fmt)}" sourceLinked="0"/><c:majorTickMark val="out"/><c:minorTickMark val="none"/><c:tickLblPos val="nextTo"/><c:crossAx val="${cross}"/><c:crosses val="${second ? "max" : "autoZero"}"/><${
|
|
114
|
+
""}c:crossBetween val="between"/></c:valAx>`;
|
|
115
115
|
}
|
|
116
116
|
var PALETTE = ["#2563eb", "#16a34a", "#f59e0b", "#dc2626", "#7c3aed", "#0891b2", "#db2777", "#65a30d", "#ea580c", "#475569"];
|
|
117
117
|
var drawingXml = (c0, r0, cols, rows) => `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
118
|
-
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor editAs="oneCell"><xdr:from><xdr:col>${c0}</xdr:col><xdr:colOff>0</xdr:colOff><xdr:row>${r0}</xdr:row><xdr:rowOff>0</xdr:rowOff></xdr:from><xdr:to><xdr:col>${c0 + cols}</xdr:col><xdr:colOff>0</xdr:colOff><xdr:row>${r0 + rows}</x
|
|
119
|
-
dr:row><xdr:rowOff>0</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmln
|
|
120
|
-
s:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>`;
|
|
118
|
+
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor editAs="oneCell"><xdr:from><xdr:col>${c0}</xdr:col><xdr:colOff>0</xdr:colOff><xdr:row>${r0}</xdr:row><xdr:rowOff>0</xdr:rowOff></xdr:from><xdr:to><xdr:col>${c0 + cols}</xdr:col><xdr:colOff>0</xdr:colOff><xdr:row>${r0 + rows}</x${
|
|
119
|
+
""}dr:row><xdr:rowOff>0</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmln${
|
|
120
|
+
""}s:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>`;
|
|
121
121
|
var rels = (list) => `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
122
122
|
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">${list.join("")}</Relationships>`;
|
|
123
123
|
var rel = (id, type, target) => `<Relationship Id="${id}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/${type}" Target="${target}"/>`;
|
|
@@ -269,9 +269,9 @@ var Book = class {
|
|
|
269
269
|
const [fmt, bold, fill2] = k.split("|").map(Number);
|
|
270
270
|
return `<xf numFmtId="${fmt || 0}" fontId="${bold ? 1 : 0}" fillId="${fill2 ? 2 : 0}" borderId="0" xfId="0"${fmt ? ' applyNumberFormat="1"' : ""}${bold ? ' applyFont="1"' : ""}${fill2 ? ' applyFill="1"' : ""}/>`;
|
|
271
271
|
}).join("");
|
|
272
|
-
return `${XML}<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">${fmts ? `<numFmts count="${this.numFmts.size}">${fmts}</numFmts>` : ""}<fonts count="2"><font><sz val="11"/><name val="Calibri"/><family val="2"/></font><font><b/><sz val="11"/><name val="Calibri"/><family val="2"/></font></fonts><fills count="3"><fill><patternFill patternType="none"/></fill><fill><pat
|
|
273
|
-
ternFill patternType="gray125"/></fill><fill><patternFill patternType="solid"><fgColor rgb="${HEADER_FILL}"/><bgColor indexed="64"/></patternFill></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="${this.styles.size}">${xfs}</cellXfs><cellSt
|
|
274
|
-
yles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles></styleSheet>`;
|
|
272
|
+
return `${XML}<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">${fmts ? `<numFmts count="${this.numFmts.size}">${fmts}</numFmts>` : ""}<fonts count="2"><font><sz val="11"/><name val="Calibri"/><family val="2"/></font><font><b/><sz val="11"/><name val="Calibri"/><family val="2"/></font></fonts><fills count="3"><fill><patternFill patternType="none"/></fill><fill><pat${
|
|
273
|
+
""}ternFill patternType="gray125"/></fill><fill><patternFill patternType="solid"><fgColor rgb="${HEADER_FILL}"/><bgColor indexed="64"/></patternFill></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="${this.styles.size}">${xfs}</cellXfs><cellSt${
|
|
274
|
+
""}yles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles></styleSheet>`;
|
|
275
275
|
}
|
|
276
276
|
/** The .xlsx bytes. */
|
|
277
277
|
write() {
|
|
@@ -291,8 +291,8 @@ yles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles></s
|
|
|
291
291
|
const anchors = sh.images.map((im, k) => {
|
|
292
292
|
img++;
|
|
293
293
|
put(`xl/media/image${img}.${im.ext}`, im.bytes);
|
|
294
|
-
return `<xdr:oneCellAnchor><xdr:from><xdr:col>${im.col}</xdr:col><xdr:colOff>0</xdr:colOff><xdr:row>${im.row}</xdr:row><xdr:rowOff>0</xdr:rowOff></xdr:from><xdr:ext cx="${Math.round(im.w * 9525)}" cy="${Math.round(im.h * 9525)}"/><xdr:pic><xdr:nvPicPr><xdr:cNvPr id="${k + 2}" name="Picture ${k + 1}"/><xdr:cNvPicPr><a:picLocks noChangeAspect="1"/></xdr:cNvPicPr></xdr:nvPicPr><xdr:blipFill
|
|
295
|
-
a:blip r:embed="rId${k + 1}"/><a:stretch><a:fillRect/></a:stretch></xdr:blipFill><xdr:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="${Math.round(im.w * 9525)}" cy="${Math.round(im.h * 9525)}"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></xdr:spPr></xdr:pic><xdr:clientData/></xdr:oneCellAnchor>`;
|
|
294
|
+
return `<xdr:oneCellAnchor><xdr:from><xdr:col>${im.col}</xdr:col><xdr:colOff>0</xdr:colOff><xdr:row>${im.row}</xdr:row><xdr:rowOff>0</xdr:rowOff></xdr:from><xdr:ext cx="${Math.round(im.w * 9525)}" cy="${Math.round(im.h * 9525)}"/><xdr:pic><xdr:nvPicPr><xdr:cNvPr id="${k + 2}" name="Picture ${k + 1}"/><xdr:cNvPicPr><a:picLocks noChangeAspect="1"/></xdr:cNvPicPr></xdr:nvPicPr><xdr:blipFill><${
|
|
295
|
+
""}a:blip r:embed="rId${k + 1}"/><a:stretch><a:fillRect/></a:stretch></xdr:blipFill><xdr:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="${Math.round(im.w * 9525)}" cy="${Math.round(im.h * 9525)}"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></xdr:spPr></xdr:pic><xdr:clientData/></xdr:oneCellAnchor>`;
|
|
296
296
|
});
|
|
297
297
|
let first = img - sh.images.length;
|
|
298
298
|
put(`xl/drawings/_rels/drawing${n}.xml.rels`, rels2(sh.images.map((im, k) => [`rId${k + 1}`, "image", `../media/image${++first}.${im.ext}`])));
|
|
@@ -313,12 +313,12 @@ a:blip r:embed="rId${k + 1}"/><a:stretch><a:fillRect/></a:stretch></xdr:blipFill
|
|
|
313
313
|
put("xl/styles.xml", this.stylesXml());
|
|
314
314
|
put("xl/workbook.xml", `${XML}<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="${R}"><bookViews><workbookView/></bookViews><sheets>${this.sheets.map((s, i) => `<sheet name="${esc(s.name)}" sheetId="${i + 1}" r:id="rId${i + 1}"/>`).join("")}</sheets><calcPr calcId="171027"${this.fullCalcOnLoad ? ' fullCalcOnLoad="1"' : ""}/></workbook>`);
|
|
315
315
|
put("xl/_rels/workbook.xml.rels", rels2([...this.sheets.map((s, i) => [`rId${i + 1}`, "worksheet", `worksheets/sheet${i + 1}.xml`]), [`rId${this.sheets.length + 1}`, "styles", "styles.xml"]]));
|
|
316
|
-
put("docProps/core.xml", `${XML}<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title>${esc(this.title)}</dc:title><dc:creator>${esc(this.creator)}</dc:creator><dcterms:created xsi:type="dcterms:W3C
|
|
317
|
-
DTF">${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d+Z$/, "Z")}</dcterms:created></cp:coreProperties>`);
|
|
316
|
+
put("docProps/core.xml", `${XML}<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title>${esc(this.title)}</dc:title><dc:creator>${esc(this.creator)}</dc:creator><dcterms:created xsi:type="dcterms:W3C${
|
|
317
|
+
""}DTF">${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d+Z$/, "Z")}</dcterms:created></cp:coreProperties>`);
|
|
318
318
|
put("_rels/.rels", rels2([["rId1", "officeDocument", "xl/workbook.xml"], ["rId2", "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", "docProps/core.xml"]]));
|
|
319
|
-
put("[Content_Types].xml", `${XML}<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Default Extension="png" ContentType="image/png"/><Default Extension="jpeg" ContentType="image/jpeg"/><Override PartName="/xl/workbo
|
|
320
|
-
ok.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/>${over.map(([p, t]) => `<Override PartName="${p}" ContentType="${t}
|
|
321
|
-
"/>`).join("")}</Types>`);
|
|
319
|
+
put("[Content_Types].xml", `${XML}<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Default Extension="png" ContentType="image/png"/><Default Extension="jpeg" ContentType="image/jpeg"/><Override PartName="/xl/workbo${
|
|
320
|
+
""}ok.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/>${over.map(([p, t]) => `<Override PartName="${p}" ContentType="${t}${
|
|
321
|
+
""}"/>`).join("")}</Types>`);
|
|
322
322
|
return out;
|
|
323
323
|
}
|
|
324
324
|
};
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
origin,
|
|
6
6
|
pruneSnapshot,
|
|
7
7
|
reportFetch
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OUTKMWFM.js";
|
|
9
9
|
import {
|
|
10
10
|
drillRefs,
|
|
11
11
|
loadSources,
|
|
12
12
|
resolveParameters,
|
|
13
13
|
reuseRefs
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ILBTPBOA.js";
|
|
15
15
|
import "../chunk-BR5K6SBL.js";
|
|
16
16
|
import {
|
|
17
17
|
fontKeysOf
|
|
@@ -155,4 +155,4 @@ export {
|
|
|
155
155
|
exportInteractiveHtml,
|
|
156
156
|
reachableReportIds
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-FN3FXACD.js.map
|
|
@@ -2349,7 +2349,8 @@ function parseXml(src, limits = {}) {
|
|
|
2349
2349
|
const L = { ...XML_LIMITS, ...limits };
|
|
2350
2350
|
if (typeof src !== "string") throw new XmlError("The file is not text");
|
|
2351
2351
|
if (src.length > L.maxChars) throw new XmlError(`The file is too large (more than ${L.maxChars} characters)`);
|
|
2352
|
-
|
|
2352
|
+
const bom = src.charCodeAt(0) === 65279 ? 1 : 0;
|
|
2353
|
+
if (bom) src = src.slice(1);
|
|
2353
2354
|
const stack2 = [];
|
|
2354
2355
|
const nsStack = [Object.assign(/* @__PURE__ */ Object.create(null), { xml: "http://www.w3.org/XML/1998/namespace" })];
|
|
2355
2356
|
let root = null;
|
|
@@ -2465,7 +2466,7 @@ function parseXml(src, limits = {}) {
|
|
|
2465
2466
|
const colon = qname.indexOf(":");
|
|
2466
2467
|
const prefix = colon < 0 ? "" : qname.slice(0, colon);
|
|
2467
2468
|
const ns = scope[prefix] ?? (prefix ? fail(`The prefix "${prefix}" is not declared`) : "");
|
|
2468
|
-
const el = { name: colon < 0 ? qname : qname.slice(colon + 1), ns, attrs: attrsOut, children: [], text: "" };
|
|
2469
|
+
const el = { name: colon < 0 ? qname : qname.slice(colon + 1), ns, attrs: attrsOut, children: [], text: "", pos: i + bom };
|
|
2469
2470
|
if (stack2.length) stack2[stack2.length - 1].children.push(el);
|
|
2470
2471
|
else root = el;
|
|
2471
2472
|
if (!selfClose) {
|
|
@@ -5844,8 +5845,8 @@ function paintXY(type, g) {
|
|
|
5844
5845
|
out.push(tag2(e, anim && { k: anim === "grow" ? "scale" : "fade", i: j }));
|
|
5845
5846
|
const isClipped = clipped && beyond(p) || pastAxis(p);
|
|
5846
5847
|
if (isClipped) out.push({ t: "ellipse", cx: e.cx, cy: e.cy, rx: r + 1.6, ry: r + 1.6, fill: "none", stroke: col, strokeWidth: 0.9 });
|
|
5847
|
-
if (item.tooltips !== false && (type === "bubble" || multi || isClipped)) g.links.push({ t: "link", x: e.cx - r, y: e.cy - r, w: r * 2, h: r * 2, action: null, tip: `${multi ? `${s.name}: ` : ""}${fmtX(p.x)}, ${fmtY(p.y)}${type === "bubble" ? ` (${toText(p.size, null, ctx)})` : ""}${isClipped ? clipped && beyond(p) ? " (outlier, drawn at the edge)" : " (outside the axis range you set, drawn
|
|
5848
|
-
at the edge)" : ""}` });
|
|
5848
|
+
if (item.tooltips !== false && (type === "bubble" || multi || isClipped)) g.links.push({ t: "link", x: e.cx - r, y: e.cy - r, w: r * 2, h: r * 2, action: null, tip: `${multi ? `${s.name}: ` : ""}${fmtX(p.x)}, ${fmtY(p.y)}${type === "bubble" ? ` (${toText(p.size, null, ctx)})` : ""}${isClipped ? clipped && beyond(p) ? " (outlier, drawn at the edge)" : (" (outside the axis range you set, drawn "+
|
|
5849
|
+
"at the edge)") : ""}` });
|
|
5849
5850
|
if (labelsOn) {
|
|
5850
5851
|
const str = item.labelTemplate ? String(item.labelTemplate).slice(0, 500).replace(/\{(\w+)\}/g, (all, k) => ({ value: fmtY(p.y), x: fmtX(p.x), series: s.name, size: toText(p.size, null, ctx) })[k.toLowerCase()] ?? all) : fmtY(p.y);
|
|
5851
5852
|
label(str, e.cx, e.cy - r - 2, { size: fs * 0.85 });
|
|
@@ -12483,14 +12484,14 @@ var REPORT_SCHEMA = {
|
|
|
12483
12484
|
"additionalProperties": true
|
|
12484
12485
|
},
|
|
12485
12486
|
"Report": {
|
|
12486
|
-
"description": "A ReportWright report definition (
|
|
12487
|
+
"description": "A ReportWright report definition (reportwright/report@1).",
|
|
12487
12488
|
"type": "object",
|
|
12488
12489
|
"properties": {
|
|
12489
12490
|
"$schema": {
|
|
12490
|
-
"description": "
|
|
12491
|
+
"description": "reportwright/report@1; pagewright/report@1 (deprecated, the name before the rename) is the same format.",
|
|
12491
12492
|
"enum": [
|
|
12492
|
-
"
|
|
12493
|
-
"
|
|
12493
|
+
"reportwright/report@1",
|
|
12494
|
+
"pagewright/report@1"
|
|
12494
12495
|
]
|
|
12495
12496
|
},
|
|
12496
12497
|
"name": {
|
|
@@ -12608,7 +12609,7 @@ var REPORT_SCHEMA = {
|
|
|
12608
12609
|
],
|
|
12609
12610
|
"examples": [
|
|
12610
12611
|
{
|
|
12611
|
-
"$schema": "
|
|
12612
|
+
"$schema": "reportwright/report@1",
|
|
12612
12613
|
"name": "Invoice",
|
|
12613
12614
|
"page": {
|
|
12614
12615
|
"size": "A4",
|
|
@@ -12724,11 +12725,11 @@ var REPORT_SCHEMA = {
|
|
|
12724
12725
|
};
|
|
12725
12726
|
|
|
12726
12727
|
// src/engine/schema/validate.js
|
|
12727
|
-
var SCHEMA_ID = "
|
|
12728
|
-
var SCHEMA_ALIAS = "
|
|
12729
|
-
var ITEM_KEYS = new Set("id type name x y w h style styleName items hidden layer locked label alt value dataSet canGrow canShrink action bookmark tooltip keepTogether pageBreakBefore pageBreakAfter pageBreakBetween newSection filters sort groups groupBy groupAdjacent inheritRows columns header detail footer repeatHeader widowControl noRowsText pageBreakEvery cells rows rowGroup rowGroups columnGro
|
|
12730
|
-
up columnGroups values value valueFormat rowSort columnSort rowTotals columnTotals cellStyle headerStyle totalStyle corner partProps library part properties overflow overflowTo src fit headingLevel rotate shrinkToFit minFontSize shrinkStep tocDots tocLink tocPage format chartType series seriesGroup category title legend palette stacked valueAxis xTitle maxCategories outliers categorySort categoryF
|
|
12731
|
-
ormat showValues labelPosition symbology quietZone report params text toggle initiallyCollapsed collapsible expandLevels repeatColumns columnGap rowHeaderWidth anim animation visual comment notes description".split(" "));
|
|
12728
|
+
var SCHEMA_ID = "reportwright/report@1";
|
|
12729
|
+
var SCHEMA_ALIAS = "pagewright/report@1";
|
|
12730
|
+
var ITEM_KEYS = new Set(("id type name x y w h style styleName items hidden layer locked label alt value dataSet canGrow canShrink action bookmark tooltip keepTogether pageBreakBefore pageBreakAfter pageBreakBetween newSection filters sort groups groupBy groupAdjacent inheritRows columns header detail footer repeatHeader widowControl noRowsText pageBreakEvery cells rows rowGroup rowGroups columnGro"+
|
|
12731
|
+
"up columnGroups values value valueFormat rowSort columnSort rowTotals columnTotals cellStyle headerStyle totalStyle corner partProps library part properties overflow overflowTo src fit headingLevel rotate shrinkToFit minFontSize shrinkStep tocDots tocLink tocPage format chartType series seriesGroup category title legend palette stacked valueAxis xTitle maxCategories outliers categorySort categoryF"+
|
|
12732
|
+
"ormat showValues labelPosition symbology quietZone report params text toggle initiallyCollapsed collapsible expandLevels repeatColumns columnGap rowHeaderWidth anim animation visual comment notes description").split(" "));
|
|
12732
12733
|
var NO_SERIES_CHARTS = /* @__PURE__ */ new Set(["gantt"]);
|
|
12733
12734
|
function looksLikeLink(it) {
|
|
12734
12735
|
if (it.type !== "textbox" || it.action && it.action.type && it.action.type !== "none") return false;
|
|
@@ -12739,8 +12740,8 @@ function looksLikeLink(it) {
|
|
|
12739
12740
|
const [r, g, b] = m.slice(1).map((h) => parseInt(h, 16));
|
|
12740
12741
|
return b > 150 && b > r + 60 && b > g + 30;
|
|
12741
12742
|
}
|
|
12742
|
-
var DEF_KEYS = new Set("$schema name description locale currency timeZone page parameters dataSources dataSets styles sections functions layers images theme themeDef master nullPropagation caseSensitive naturalSort nullOrder collation arithmetic bandRows version id tags author folder stylesheet parts partProperties dashboard comment notes customCode libraries liveParameters parameterLayout drafts
|
|
12743
|
-
history nonFinite".split(" "));
|
|
12743
|
+
var DEF_KEYS = new Set(("$schema name description locale currency timeZone page parameters dataSources dataSets styles sections functions layers images theme themeDef master nullPropagation caseSensitive naturalSort nullOrder collation arithmetic bandRows version id tags author folder stylesheet parts partProperties dashboard comment notes customCode libraries liveParameters parameterLayout drafts "+
|
|
12744
|
+
"history nonFinite").split(" "));
|
|
12744
12745
|
for (const k of Object.keys(REPORT_SCHEMA.$defs.Report.properties)) DEF_KEYS.add(k);
|
|
12745
12746
|
var lev = (a, b) => {
|
|
12746
12747
|
if (Math.abs(a.length - b.length) > 2) return 3;
|
|
@@ -12803,6 +12804,18 @@ function sortIssues(sort, label, out) {
|
|
|
12803
12804
|
if (s.dir != null && !["asc", "desc"].includes(s.dir)) out.push(`${at}: "dir" is ${JSON.stringify(s.dir)}; expected "asc" or "desc"`);
|
|
12804
12805
|
});
|
|
12805
12806
|
}
|
|
12807
|
+
var FILTER_KEYS = ["expr", "op", "value", "value2", "skipBlank"];
|
|
12808
|
+
var FILTER_ALIAS = { expression: "expr", field: "expr", by: "expr", operator: "op", comparison: "op", values: "value", value1: "value" };
|
|
12809
|
+
function filterIssues(filters, label, out) {
|
|
12810
|
+
filters.forEach((f4, i) => {
|
|
12811
|
+
if (!f4 || typeof f4 !== "object" || Array.isArray(f4)) return;
|
|
12812
|
+
for (const k of Object.keys(f4)) {
|
|
12813
|
+
if (FILTER_KEYS.includes(k) || k.startsWith("_")) continue;
|
|
12814
|
+
const g = FILTER_ALIAS[k] || didYouMean(k, FILTER_KEYS);
|
|
12815
|
+
out.push(`${label}, filter ${i + 1}: "${k}" is ignored; a filter is {${FILTER_KEYS.join(", ")}}${g ? ` (did you mean "${g}"?)` : ""}`);
|
|
12816
|
+
}
|
|
12817
|
+
});
|
|
12818
|
+
}
|
|
12806
12819
|
var SCHEMA_ITEMS = (() => {
|
|
12807
12820
|
const defs = (
|
|
12808
12821
|
/** @type {Record<string, any>} */
|
|
@@ -12885,6 +12898,7 @@ function validate(def) {
|
|
|
12885
12898
|
} else if (!srcNames.has(d.source)) errors.push(`Data set "${d.name}" uses the source "${d.source}", which does not exist`);
|
|
12886
12899
|
dsNames.add(d.name);
|
|
12887
12900
|
if (Array.isArray(d.sort)) sortIssues(d.sort, `Data set "${d.name}"`, warnings);
|
|
12901
|
+
if (Array.isArray(d.filters)) filterIssues(d.filters, `Data set "${d.name}"`, warnings);
|
|
12888
12902
|
}
|
|
12889
12903
|
const names = /* @__PURE__ */ new Set();
|
|
12890
12904
|
const check = (where, v, label) => {
|
|
@@ -12947,6 +12961,7 @@ function validate(def) {
|
|
|
12947
12961
|
warnings.push(`${label}: there is no named style "${it.styleName}"${g ? ` (did you mean "${g}"?)` : ""}; it is ignored`);
|
|
12948
12962
|
}
|
|
12949
12963
|
if (Array.isArray(it.sort)) sortIssues(it.sort, label, warnings);
|
|
12964
|
+
if (Array.isArray(it.filters)) filterIssues(it.filters, label, warnings);
|
|
12950
12965
|
if (it.type === "chart" && it.legend != null && it.legend !== "bottom" && it.legend !== "none") {
|
|
12951
12966
|
const shown = typeof it.legend === "object" ? `is an object (${JSON.stringify(it.legend).slice(0, 60)})` : `is ${JSON.stringify(it.legend)}`;
|
|
12952
12967
|
warnings.push(`${label}: "legend" ${shown}; only "bottom" (show the legend) or "none" (hide it) is supported, and the legend is drawn at the bottom`);
|
|
@@ -14208,4 +14223,4 @@ export {
|
|
|
14208
14223
|
parameterOptions,
|
|
14209
14224
|
resolveParameters
|
|
14210
14225
|
};
|
|
14211
|
-
//# sourceMappingURL=chunk-
|
|
14226
|
+
//# sourceMappingURL=chunk-ILBTPBOA.js.map
|