@agile-team/mach-report 2.0.0 → 2.2.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.
- package/LICENSE +2 -4
- package/LICENSING.md +15 -0
- package/README.md +317 -76
- package/dist/ReportPreview-BWrQCj9M.js +1643 -0
- package/dist/ReportPreview-DY0PGGqF.cjs +6 -0
- package/dist/grid-geometry-DBH9ExuY.cjs +1 -0
- package/dist/grid-geometry-DONcjshk.js +130 -0
- package/dist/index.cjs +5 -5
- package/dist/index.d.cts +806 -13
- package/dist/index.d.ts +806 -13
- package/dist/index.js +1170 -653
- package/dist/page-window-index-CIuT4BAv.js +43 -0
- package/dist/page-window-index-DEjnM6IB.cjs +1 -0
- package/dist/pdf.cjs +48 -48
- package/dist/pdf.d.cts +159 -6
- package/dist/pdf.d.ts +159 -6
- package/dist/pdf.js +3542 -3466
- package/dist/plugin-BMoMUxrw.cjs +1 -0
- package/dist/plugin-CAcNe0FT.js +25 -0
- package/dist/report-params-B3Fia6JO.js +10 -0
- package/dist/report-params-D1gZ1DME.cjs +1 -0
- package/dist/sql.cjs +65 -64
- package/dist/sql.d.cts +109 -5
- package/dist/sql.d.ts +109 -5
- package/dist/sql.js +7947 -7922
- package/dist/style.css +1 -1
- package/dist/textwrap-DdaewxAd.js +117 -0
- package/dist/textwrap-DqiFwAV3.cjs +3 -0
- package/dist/vue/async.d.cts +820 -320
- package/dist/vue/async.d.ts +820 -320
- package/dist/vue/index.d.cts +1374 -14
- package/dist/vue/index.d.ts +1374 -14
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +11 -12
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +129 -49
- package/dist/xlsx.cjs +21 -21
- package/dist/xlsx.d.cts +2300 -5
- package/dist/xlsx.d.ts +2300 -5
- package/dist/xlsx.js +6390 -6347
- package/package.json +8 -3
- package/dist/ReportPreview-Cr0IH1Rz.cjs +0 -6
- package/dist/ReportPreview-DwknBgsJ.js +0 -1266
- package/dist/builder/template-builder.d.ts +0 -69
- package/dist/defaults.d.ts +0 -23
- package/dist/format.d.ts +0 -48
- package/dist/grid-geometry-BXpOxznT.cjs +0 -1
- package/dist/grid-geometry-Bs8QXz1X.js +0 -65
- package/dist/layout/paginate.d.ts +0 -97
- package/dist/layout/textwrap.d.ts +0 -36
- package/dist/pdf/font-loader.d.ts +0 -6
- package/dist/pdf/index.d.ts +0 -2
- package/dist/pdf/render-pdf.d.ts +0 -25
- package/dist/plugin-Cj3c2wJc.cjs +0 -1
- package/dist/plugin-DJf_6_fl.js +0 -18
- package/dist/render/canvas.d.ts +0 -76
- package/dist/render/dom.d.ts +0 -10
- package/dist/render/grid-geometry.d.ts +0 -41
- package/dist/render/style.d.ts +0 -33
- package/dist/render/window.d.ts +0 -23
- package/dist/schema/render-plan.d.ts +0 -88
- package/dist/schema/validate.d.ts +0 -15
- package/dist/sql/ast-check.d.ts +0 -14
- package/dist/sql/compile.d.ts +0 -31
- package/dist/sql/expr.d.ts +0 -21
- package/dist/sql/index.d.ts +0 -4
- package/dist/sql/tokenizer.d.ts +0 -25
- package/dist/style-CFZ-HE2s.cjs +0 -3
- package/dist/style-DnmtG7Gl.js +0 -180
- package/dist/units.d.ts +0 -11
- package/dist/vue/ReportParamPanel.d.ts +0 -19
- package/dist/vue/ReportPreview.d.ts +0 -200
- package/dist/vue/ReportToolbar.d.ts +0 -42
- package/dist/vue/adapters.d.ts +0 -34
- package/dist/vue/composables/useHighlight.d.ts +0 -8
- package/dist/vue/composables/usePageWindow.d.ts +0 -25
- package/dist/vue/composables/usePrintExport.d.ts +0 -40
- package/dist/vue/composables/useReportSearch.d.ts +0 -73
- package/dist/vue/composables/useZoom.d.ts +0 -15
- package/dist/vue/config.d.ts +0 -108
- package/dist/vue/controller.d.ts +0 -29
- package/dist/vue/errors.d.ts +0 -16
- package/dist/vue/injection-keys.d.ts +0 -14
- package/dist/vue/local-adapter.d.ts +0 -11
- package/dist/vue/pdf-exporter.d.ts +0 -13
- package/dist/vue/plugin.d.ts +0 -332
- package/dist/xlsx/render-xlsx.d.ts +0 -20
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.mrp-toolbar[data-v-
|
|
1
|
+
.mrp-toolbar[data-v-601f8fa8]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--mrp-toolbar-bg, #323639);border-bottom:1px solid var(--mrp-toolbar-border, #22252a);flex:none;flex-wrap:wrap}.mrp-title[data-v-601f8fa8]{font-size:13px;font-weight:600;margin-right:8px;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-nav[data-v-601f8fa8]{background:transparent;color:var(--mrp-btn-fg, #cfcfcf);border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:2px 8px;font-size:12px;cursor:pointer;white-space:nowrap}.mrp-nav[data-v-601f8fa8]:hover:not(:disabled){background:var(--mrp-btn-hover-bg, #414549);color:var(--mrp-btn-hover-fg, #fff)}.mrp-nav[data-v-601f8fa8]:disabled{opacity:.4;cursor:not-allowed}.mrp-active[data-v-601f8fa8]{background:var(--mrp-btn-active-bg, #2d5fb8);border-color:var(--mrp-btn-active-bg, #2d5fb8);color:#fff}.mrp-pageinfo[data-v-601f8fa8]{font-size:12px;min-width:56px;text-align:center;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-spacer[data-v-601f8fa8]{flex:1}.mrp-search[data-v-601f8fa8]{display:flex;align-items:center;gap:4px}.mrp-search-input[data-v-601f8fa8]{background:#22252a;color:#e8e8e8;border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:2px 8px;font-size:12px;width:150px;outline:none}.mrp-search-input[data-v-601f8fa8]:focus{border-color:var(--mrp-btn-active-bg, #2d5fb8)}.mrp-search-count[data-v-601f8fa8]{font-size:12px;color:var(--mrp-toolbar-fg, #e8e8e8);min-width:42px;text-align:center}.mrp-params[data-v-aafce92d]{display:flex;align-items:flex-end;gap:12px;padding:6px 12px;background:var(--mrp-toolbar-bg, #323639);border-bottom:1px solid var(--mrp-toolbar-border, #22252a);flex:none;flex-wrap:wrap}.mrp-params-title[data-v-aafce92d]{font-size:12px;font-weight:600;color:var(--mrp-toolbar-fg, #e8e8e8);padding-bottom:5px;white-space:nowrap}.mrp-params-grid[data-v-aafce92d]{display:flex;flex-wrap:wrap;gap:8px 12px;flex:1}.mrp-param[data-v-aafce92d]{display:flex;flex-direction:column;gap:2px}.mrp-param-label[data-v-aafce92d]{font-size:11px;color:var(--mrp-toolbar-fg, #e8e8e8);opacity:.85}.mrp-param-star[data-v-aafce92d]{color:#ff7b72;font-style:normal;margin-left:2px}.mrp-param-input[data-v-aafce92d]{background:#22252a;color:#e8e8e8;border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:3px 8px;font-size:12px;min-width:130px;outline:none}.mrp-param-input[data-v-aafce92d]:focus{border-color:var(--mrp-btn-active-bg, #2d5fb8)}.mrp-param-missing .mrp-param-input[data-v-aafce92d]{border-color:#ff7b72}select.mrp-param-input option[data-v-aafce92d]{background:#22252a}.mrp-params-actions[data-v-aafce92d]{display:flex;gap:6px;padding-bottom:1px}.mrp-nav[data-v-aafce92d]{background:transparent;color:var(--mrp-btn-fg, #cfcfcf);border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:4px 14px;font-size:12px;cursor:pointer;white-space:nowrap}.mrp-nav[data-v-aafce92d]:hover{background:var(--mrp-btn-hover-bg, #414549);color:var(--mrp-btn-hover-fg, #fff)}.mrp-param-query[data-v-aafce92d]{background:var(--mrp-btn-active-bg, #2d5fb8);border-color:var(--mrp-btn-active-bg, #2d5fb8);color:#fff}.mach-report-preview[data-v-294f34ce]{--mrp-shell-bg: #525659;--mrp-shell-fg: #e8e8e8;--mrp-toolbar-bg: #323639;--mrp-toolbar-border: #22252a;--mrp-toolbar-fg: #e8e8e8;--mrp-btn-fg: #cfcfcf;--mrp-btn-border: #4a4d52;--mrp-btn-hover-bg: #414549;--mrp-btn-hover-fg: #ffffff;--mrp-btn-active-bg: #2d5fb8;position:relative;display:flex;flex-direction:column;background:var(--mrp-shell-bg);color:var(--mrp-shell-fg);overflow:hidden}.mrp-main[data-v-294f34ce]{display:flex;flex:1;min-height:0}.mrp-body[data-v-294f34ce]{flex:1;overflow:auto;padding:24px;outline:none}.mrp-scale[data-v-294f34ce]{margin:0 auto}.mrp-scale-inner[data-v-294f34ce]{display:flex;flex-direction:column;align-items:center}.mrp-page-holder[data-v-294f34ce]{background:#fff;box-shadow:0 2px 8px #00000059;margin-bottom:var(--v4c81cc3e);flex:none}.mrp-state[data-v-294f34ce]{padding:40px;text-align:center;color:#bfbfbf;font-size:13px}.mrp-error[data-v-294f34ce]{color:#ff9d9d}.mrp-export-notice[data-v-294f34ce]{padding:7px 12px;font-size:12px;background:#fff0c2;color:#613c00}.mrp-export-error[data-v-294f34ce]{background:#ffe0df;color:#8e1f1f}.mrp-export-progress[data-v-294f34ce]{background:#e7f0ff;color:#1a4d86}.mrp-retry[data-v-294f34ce]{margin-left:12px;background:transparent;color:#8fb7ff;border:1px solid #5a7fbf;border-radius:4px;padding:1px 10px;cursor:pointer}.mrp-overlay[data-v-294f34ce]{position:absolute;inset:0;pointer-events:none}.mrp-page-holder[data-v-294f34ce] mark.mrp-hit{background:#ffe066;color:#7a5c00;border-radius:2px;padding:0 1px}.mrp-thumbs[data-v-294f34ce]{width:140px;flex:none;overflow-y:auto;border-left:1px solid var(--mrp-toolbar-border);background:var(--mrp-toolbar-bg);padding:8px;display:flex;flex-direction:column}.mrp-thumb[data-v-294f34ce]{cursor:pointer;text-align:center;flex:none;margin-bottom:8px}.mrp-thumb-spacer[data-v-294f34ce]{flex:none}.mrp-thumb-box[data-v-294f34ce]{box-sizing:border-box;width:116px;background:#fff;box-shadow:0 1px 4px #0006;overflow:hidden;border:2px solid transparent}.mrp-thumb-active .mrp-thumb-box[data-v-294f34ce]{border-color:var(--mrp-btn-active-bg)}.mrp-thumb-no[data-v-294f34ce]{display:block;margin-top:4px;line-height:16px;font-size:11px;color:var(--mrp-toolbar-fg)}.mrp-debug[data-v-294f34ce]{position:absolute;right:8px;bottom:8px;background:#000000c7;color:#7ee787;font:11px/1.6 ui-monospace,monospace;padding:6px 10px;border-radius:6px;pointer-events:none;white-space:pre}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { S as l } from "./grid-geometry-DONcjshk.js";
|
|
2
|
+
const x = l;
|
|
3
|
+
function g(t) {
|
|
4
|
+
return (t.kind === "image" || t.kind === "barcode" || t.kind === "qrcode" || t.kind === "chart") && !!t.imageData;
|
|
5
|
+
}
|
|
6
|
+
function C(t) {
|
|
7
|
+
return t.kind === "text" && Array.isArray(t.richParagraphs) && t.richParagraphs.length > 0;
|
|
8
|
+
}
|
|
9
|
+
const m = /[\u3000-\u9fff\uff00-\uffef]/, o = new Uint8Array(128);
|
|
10
|
+
{
|
|
11
|
+
for (const t of "iljtf.,:;'`|!()[]") o[t.charCodeAt(0)] = 1;
|
|
12
|
+
for (const t of "mwMW@") o[t.charCodeAt(0)] = 2;
|
|
13
|
+
for (let t = 48; t <= 57; t++) o[t] = 3;
|
|
14
|
+
for (let t = 65; t <= 90; t++) o[t] = 4;
|
|
15
|
+
o[32] = 5;
|
|
16
|
+
}
|
|
17
|
+
const M = [0.54, 0.26, 0.95, 0.59, 0.67, 0.3];
|
|
18
|
+
function w(t) {
|
|
19
|
+
const e = t.charCodeAt(0);
|
|
20
|
+
return e < 128 ? M[o[e]] : m.test(t) ? 1 : /[A-Z]/.test(t) ? 0.67 : 0.54;
|
|
21
|
+
}
|
|
22
|
+
const a = {
|
|
23
|
+
measureMm(t, e) {
|
|
24
|
+
const { fontSizePt: f, bold: s = !1, letterSpacingPt: u = 0 } = e, i = 25.4 / 72;
|
|
25
|
+
let r = 0;
|
|
26
|
+
for (const n of t)
|
|
27
|
+
r += w(n);
|
|
28
|
+
return s && (r *= 1.04), (r * f + u * t.length) * i;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
function S() {
|
|
32
|
+
return a;
|
|
33
|
+
}
|
|
34
|
+
function E(t, e) {
|
|
35
|
+
return a.measureMm(t, e);
|
|
36
|
+
}
|
|
37
|
+
function T(t) {
|
|
38
|
+
let e;
|
|
39
|
+
return {
|
|
40
|
+
measureMm(f, s) {
|
|
41
|
+
if (e === void 0 && (e = t()), !e) return a.measureMm(f, s);
|
|
42
|
+
const u = s.fontSizePt * 96 / 72;
|
|
43
|
+
return e.font = `${s.bold ? "bold " : ""}${u}px sans-serif`, e.measureText(f).width * 25.4 / 96;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function A(t, e, f) {
|
|
48
|
+
const s = [];
|
|
49
|
+
let u = "", i = 0;
|
|
50
|
+
const r = () => {
|
|
51
|
+
u && (s.push({ text: u, widthMm: i, cjk: !1 }), u = "", i = 0);
|
|
52
|
+
};
|
|
53
|
+
for (const n of t) {
|
|
54
|
+
if (n === `
|
|
55
|
+
`) {
|
|
56
|
+
r(), s.push({ text: `
|
|
57
|
+
`, widthMm: 0, cjk: !1, br: !0 });
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (n === " ") {
|
|
61
|
+
r(), s.push({ text: n, widthMm: f.measureMm(n, e), cjk: !1, space: !0 });
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (m.test(n)) {
|
|
65
|
+
r(), s.push({ text: n, widthMm: f.measureMm(n, e), cjk: !0 });
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
u += n, i += f.measureMm(n, e);
|
|
69
|
+
}
|
|
70
|
+
return r(), s;
|
|
71
|
+
}
|
|
72
|
+
function _(t, e, f, s = a) {
|
|
73
|
+
if (!t) return [""];
|
|
74
|
+
const u = [];
|
|
75
|
+
let i = "", r = 0;
|
|
76
|
+
const n = () => {
|
|
77
|
+
u.push(i), i = "", r = 0;
|
|
78
|
+
};
|
|
79
|
+
for (const c of A(t, f, s)) {
|
|
80
|
+
if (c.br) {
|
|
81
|
+
n();
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (r + c.widthMm <= e) {
|
|
85
|
+
i += c.text, r += c.widthMm;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (c.space) {
|
|
89
|
+
n();
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (c.cjk) {
|
|
93
|
+
i.length > 0 && n(), i = c.text, r = c.widthMm;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (i.length > 0 && n(), c.widthMm <= e) {
|
|
97
|
+
i = c.text, r = c.widthMm;
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
for (const h of c.text) {
|
|
101
|
+
const d = s.measureMm(h, f);
|
|
102
|
+
r + d > e && i.length > 0 && n(), i += h, r += d;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return n(), u;
|
|
106
|
+
}
|
|
107
|
+
export {
|
|
108
|
+
x as R,
|
|
109
|
+
C as a,
|
|
110
|
+
T as b,
|
|
111
|
+
w as c,
|
|
112
|
+
S as d,
|
|
113
|
+
a as h,
|
|
114
|
+
g as i,
|
|
115
|
+
E as m,
|
|
116
|
+
_ as w
|
|
117
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";const l=require("./grid-geometry-DBH9ExuY.cjs"),w=l.SCHEMA_VERSION_MACH;function A(t){return(t.kind==="image"||t.kind==="barcode"||t.kind==="qrcode"||t.kind==="chart")&&!!t.imageData}function x(t){return t.kind==="text"&&Array.isArray(t.richParagraphs)&&t.richParagraphs.length>0}const m=/[\u3000-\u9fff\uff00-\uffef]/,o=new Uint8Array(128);{for(const t of"iljtf.,:;'`|!()[]")o[t.charCodeAt(0)]=1;for(const t of"mwMW@")o[t.charCodeAt(0)]=2;for(let t=48;t<=57;t++)o[t]=3;for(let t=65;t<=90;t++)o[t]=4;o[32]=5}const g=[.54,.26,.95,.59,.67,.3];function M(t){const e=t.charCodeAt(0);return e<128?g[o[e]]:m.test(t)?1:/[A-Z]/.test(t)?.67:.54}const a={measureMm(t,e){const{fontSizePt:s,bold:c=!1,letterSpacingPt:f=0}=e,i=25.4/72;let n=0;for(const r of t)n+=M(r);return c&&(n*=1.04),(n*s+f*t.length)*i}};function k(){return a}function C(t,e){return a.measureMm(t,e)}function E(t){let e;return{measureMm(s,c){if(e===void 0&&(e=t()),!e)return a.measureMm(s,c);const f=c.fontSizePt*96/72;return e.font=`${c.bold?"bold ":""}${f}px sans-serif`,e.measureText(s).width*25.4/96}}}function S(t,e,s){const c=[];let f="",i=0;const n=()=>{f&&(c.push({text:f,widthMm:i,cjk:!1}),f="",i=0)};for(const r of t){if(r===`
|
|
2
|
+
`){n(),c.push({text:`
|
|
3
|
+
`,widthMm:0,cjk:!1,br:!0});continue}if(r===" "){n(),c.push({text:r,widthMm:s.measureMm(r,e),cjk:!1,space:!0});continue}if(m.test(r)){n(),c.push({text:r,widthMm:s.measureMm(r,e),cjk:!0});continue}f+=r,i+=s.measureMm(r,e)}return n(),c}function T(t,e,s,c=a){if(!t)return[""];const f=[];let i="",n=0;const r=()=>{f.push(i),i="",n=0};for(const u of S(t,s,c)){if(u.br){r();continue}if(n+u.widthMm<=e){i+=u.text,n+=u.widthMm;continue}if(u.space){r();continue}if(u.cjk){i.length>0&&r(),i=u.text,n=u.widthMm;continue}if(i.length>0&&r(),u.widthMm<=e){i=u.text,n=u.widthMm;continue}for(const h of u.text){const d=c.measureMm(h,s);n+d>e&&i.length>0&&r(),i+=h,n+=d}}return r(),f}exports.RENDER_PLAN_SCHEMA_VERSION=w;exports.charWidthEm=M;exports.createCanvasMeasurer=E;exports.createHeuristicMeasurer=k;exports.heuristicMeasurer=a;exports.isImageBackedComponent=A;exports.isRichText=x;exports.measureTextMm=C;exports.wrapText=T;
|