@agile-team/mach-report 1.2.2 → 2.1.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 (88) hide show
  1. package/LICENSE +2 -4
  2. package/LICENSING.md +15 -0
  3. package/README.md +240 -92
  4. package/dist/ReportPreview-Dwdsyk9b.js +1558 -0
  5. package/dist/ReportPreview-VHAIfsz1.cjs +6 -0
  6. package/dist/index.cjs +5 -5
  7. package/dist/index.d.cts +738 -14
  8. package/dist/index.d.ts +738 -14
  9. package/dist/index.js +858 -805
  10. package/dist/pdf.cjs +47 -47
  11. package/dist/pdf.d.cts +155 -6
  12. package/dist/pdf.d.ts +155 -6
  13. package/dist/pdf.js +3542 -3466
  14. package/dist/plugin-Bl00j_CP.cjs +1 -0
  15. package/dist/plugin-DVScnZ4C.js +25 -0
  16. package/dist/report-params-BB85g7mg.js +10 -0
  17. package/dist/report-params-D1NeY-eR.cjs +1 -0
  18. package/dist/sql.cjs +65 -64
  19. package/dist/sql.d.cts +109 -5
  20. package/dist/sql.d.ts +109 -5
  21. package/dist/sql.js +7947 -7922
  22. package/dist/style-CFZ-HE2s.cjs +3 -0
  23. package/dist/{style-6ihHKVCM.js → style-DnmtG7Gl.js} +69 -81
  24. package/dist/style.css +1 -1
  25. package/dist/vue/async.d.cts +769 -335
  26. package/dist/vue/async.d.ts +769 -335
  27. package/dist/vue/index.d.cts +1321 -14
  28. package/dist/vue/index.d.ts +1321 -14
  29. package/dist/vue-async.cjs +1 -1
  30. package/dist/vue-async.js +11 -12
  31. package/dist/vue.cjs +1 -1
  32. package/dist/vue.js +130 -50
  33. package/dist/xlsx.cjs +20 -20
  34. package/dist/xlsx.d.cts +2292 -5
  35. package/dist/xlsx.d.ts +2292 -5
  36. package/dist/xlsx.js +5452 -5443
  37. package/package.json +7 -13
  38. package/dist/ReportPreview-CJLvkTVn.cjs +0 -6
  39. package/dist/ReportPreview-mZiGtf0L.js +0 -1231
  40. package/dist/builder/template-builder.d.ts +0 -69
  41. package/dist/compat/jh4j-template.d.ts +0 -12
  42. package/dist/defaults.d.ts +0 -27
  43. package/dist/format.d.ts +0 -48
  44. package/dist/layout/paginate.d.ts +0 -97
  45. package/dist/layout/textwrap.d.ts +0 -36
  46. package/dist/manager/api.d.ts +0 -45
  47. package/dist/manager/index.d.ts +0 -2
  48. package/dist/manager/types.d.ts +0 -50
  49. package/dist/manager.cjs +0 -1
  50. package/dist/manager.d.cts +0 -5
  51. package/dist/manager.d.ts +0 -5
  52. package/dist/manager.js +0 -104
  53. package/dist/pdf/font-loader.d.ts +0 -6
  54. package/dist/pdf/index.d.ts +0 -2
  55. package/dist/pdf/render-pdf.d.ts +0 -25
  56. package/dist/plugin-C4qpbdMJ.cjs +0 -1
  57. package/dist/plugin-DcmAPK_K.js +0 -85
  58. package/dist/render/canvas.d.ts +0 -76
  59. package/dist/render/dom.d.ts +0 -10
  60. package/dist/render/grid-geometry.d.ts +0 -41
  61. package/dist/render/style.d.ts +0 -33
  62. package/dist/render/window.d.ts +0 -23
  63. package/dist/schema/render-plan.d.ts +0 -96
  64. package/dist/schema/validate.d.ts +0 -15
  65. package/dist/sql/ast-check.d.ts +0 -14
  66. package/dist/sql/compile.d.ts +0 -31
  67. package/dist/sql/expr.d.ts +0 -21
  68. package/dist/sql/index.d.ts +0 -4
  69. package/dist/sql/tokenizer.d.ts +0 -25
  70. package/dist/style-Xq08-IsV.cjs +0 -3
  71. package/dist/units.d.ts +0 -11
  72. package/dist/vue/ReportParamPanel.d.ts +0 -19
  73. package/dist/vue/ReportPreview.d.ts +0 -209
  74. package/dist/vue/ReportToolbar.d.ts +0 -42
  75. package/dist/vue/adapters.d.ts +0 -40
  76. package/dist/vue/composables/useHighlight.d.ts +0 -8
  77. package/dist/vue/composables/usePageWindow.d.ts +0 -25
  78. package/dist/vue/composables/usePrintExport.d.ts +0 -40
  79. package/dist/vue/composables/useReportSearch.d.ts +0 -73
  80. package/dist/vue/composables/useZoom.d.ts +0 -15
  81. package/dist/vue/config.d.ts +0 -108
  82. package/dist/vue/controller.d.ts +0 -29
  83. package/dist/vue/errors.d.ts +0 -16
  84. package/dist/vue/injection-keys.d.ts +0 -14
  85. package/dist/vue/local-adapter.d.ts +0 -12
  86. package/dist/vue/pdf-exporter.d.ts +0 -13
  87. package/dist/vue/plugin.d.ts +0 -354
  88. package/dist/xlsx/render-xlsx.d.ts +0 -20
@@ -0,0 +1,3 @@
1
+ "use strict";const m="#333333",M="#000000",E="1.0.0-mach";function h(t=96){return t/25.4}function l(t,e=96){return(t||0)*h(e)}function C(t,e=96){return t/h(e)}function d(t,e=96){return t*e/72}function A(t,e){const r=10**e;return Math.round(t*r)/r}const R={a3:{widthMm:297,heightMm:420},a4:{widthMm:210,heightMm:297},a5:{widthMm:148,heightMm:210},b4:{widthMm:250,heightMm:353},b5:{widthMm:176,heightMm:250}},x=E;function I(t){return(t.kind==="image"||t.kind==="barcode"||t.kind==="qrcode"||t.kind==="chart")&&!!t.imageData}function L(t){return t.kind==="text"&&Array.isArray(t.richParagraphs)&&t.richParagraphs.length>0}const P=/[\u3000-\u9fff\uff00-\uffef]/,f=new Uint8Array(128);{for(const t of"iljtf.,:;'`|!()[]")f[t.charCodeAt(0)]=1;for(const t of"mwMW@")f[t.charCodeAt(0)]=2;for(let t=48;t<=57;t++)f[t]=3;for(let t=65;t<=90;t++)f[t]=4;f[32]=5}const D=[.54,.26,.95,.59,.67,.3];function S(t){const e=t.charCodeAt(0);return e<128?D[f[e]]:P.test(t)?1:/[A-Z]/.test(t)?.67:.54}const a={measureMm(t,e){const{fontSizePt:r,bold:n=!1,letterSpacingPt:u=0}=e,c=25.4/72;let i=0;for(const o of t)i+=S(o);return n&&(i*=1.04),(i*r+u*t.length)*c}};function H(){return a}function g(t,e){return a.measureMm(t,e)}function w(t){let e;return{measureMm(r,n){if(e===void 0&&(e=t()),!e)return a.measureMm(r,n);const u=n.fontSizePt*96/72;return e.font=`${n.bold?"bold ":""}${u}px sans-serif`,e.measureText(r).width*25.4/96}}}function N(t,e,r){const n=[];let u="",c=0;const i=()=>{u&&(n.push({text:u,widthMm:c,cjk:!1}),u="",c=0)};for(const o of t){if(o===`
2
+ `){i(),n.push({text:`
3
+ `,widthMm:0,cjk:!1,br:!0});continue}if(o===" "){i(),n.push({text:o,widthMm:r.measureMm(o,e),cjk:!1,space:!0});continue}if(P.test(o)){i(),n.push({text:o,widthMm:r.measureMm(o,e),cjk:!0});continue}u+=o,c+=r.measureMm(o,e)}return i(),n}function O(t,e,r,n=a){if(!t)return[""];const u=[];let c="",i=0;const o=()=>{u.push(c),c="",i=0};for(const s of N(t,r,n)){if(s.br){o();continue}if(i+s.widthMm<=e){c+=s.text,i+=s.widthMm;continue}if(s.space){o();continue}if(s.cjk){c.length>0&&o(),c=s.text,i=s.widthMm;continue}if(c.length>0&&o(),s.widthMm<=e){c=s.text,i=s.widthMm;continue}for(const _ of s.text){const T=n.measureMm(_,r);i+T>e&&c.length>0&&o(),c+=_,i+=T}}return o(),u}function F(t,e=96,r=10.5){if(t?.fontSizePx!=null)return{fontSizePt:t.fontSizePx*72/e,fontSizePx:t.fontSizePx};const n=t?.fontSize??r;return{fontSizePt:n,fontSizePx:d(n,e)}}function k(t,e=m){return{color:t?.borderColor??t?.lineColor??e,widthPt:t?.lineWidthPt??.75}}function b(t,e=M){return t?.color??e}function p(t){return t?.lineHeight??1.35}function v(t){const e=t?.borderTop!==!1,r=t?.borderRight!==!1,n=t?.borderBottom!==!1,u=t?.borderLeft!==!1;return{top:e,right:r,bottom:n,left:u,inner:e||r||n||u}}exports.CSS_DPI=96;exports.DEFAULT_BORDER_PT=.75;exports.DEFAULT_FONT_PT=10.5;exports.DEFAULT_STROKE_COLOR=m;exports.DEFAULT_TEXT_COLOR=M;exports.LINE_HEIGHT=1.35;exports.MM_PER_INCH=25.4;exports.PAPER_SIZES=R;exports.RENDER_PLAN_SCHEMA_VERSION=x;exports.SCHEMA_VERSION_MACH=E;exports.charWidthEm=S;exports.createCanvasMeasurer=w;exports.createHeuristicMeasurer=H;exports.heuristicMeasurer=a;exports.isImageBackedComponent=I;exports.isRichText=L;exports.measureTextMm=g;exports.mmToPx=l;exports.mmToPxFactor=h;exports.ptToPx=d;exports.pxToMm=C;exports.resolveBoxBorders=v;exports.resolveFontSize=F;exports.resolveLineHeight=p;exports.resolveStroke=k;exports.resolveTextColor=b;exports.round=A;exports.wrapText=O;
@@ -1,81 +1,72 @@
1
- const C = 1.35, w = 10.5, x = 0.75, M = "#333333", S = "#000000", _ = "1.0.0-mach", R = "mach-local", I = "jh4j-compatible", L = 25.4, D = 96;
1
+ const C = 1.35, w = 10.5, g = 0.75, l = "#333333", S = "#000000", P = "1.0.0-mach", A = 25.4, I = 96;
2
2
  function m(t = 96) {
3
3
  return t / 25.4;
4
4
  }
5
- function b(t, e = 96) {
5
+ function L(t, e = 96) {
6
6
  return (t || 0) * m(e);
7
7
  }
8
- function H(t, e = 96) {
8
+ function R(t, e = 96) {
9
9
  return t / m(e);
10
10
  }
11
- function P(t, e = 96) {
11
+ function _(t, e = 96) {
12
12
  return t * e / 72;
13
13
  }
14
- function k(t, e) {
14
+ function D(t, e) {
15
15
  const r = 10 ** e;
16
16
  return Math.round(t * r) / r;
17
17
  }
18
- const N = {
18
+ const b = {
19
19
  a3: { widthMm: 297, heightMm: 420 },
20
20
  a4: { widthMm: 210, heightMm: 297 },
21
21
  a5: { widthMm: 148, heightMm: 210 },
22
22
  b4: { widthMm: 250, heightMm: 353 },
23
23
  b5: { widthMm: 176, heightMm: 250 }
24
- }, E = _;
25
- function O(t) {
26
- if (t && t.code != null && t.code !== 200)
27
- throw new Error(String(t.message || "渲染计划加载失败"));
28
- const e = t?.data?.pages;
29
- return {
30
- schemaVersion: E,
31
- pages: Array.isArray(e) ? e : []
32
- };
33
- }
34
- function z(t) {
24
+ }, k = P;
25
+ function H(t) {
35
26
  return (t.kind === "image" || t.kind === "barcode" || t.kind === "qrcode" || t.kind === "chart") && !!t.imageData;
36
27
  }
37
- function p(t) {
28
+ function z(t) {
38
29
  return t.kind === "text" && Array.isArray(t.richParagraphs) && t.richParagraphs.length > 0;
39
30
  }
40
- const l = /[\u3000-\u9fff\uff00-\uffef]/, f = new Uint8Array(128);
31
+ const M = /[\u3000-\u9fff\uff00-\uffef]/, u = new Uint8Array(128);
41
32
  {
42
- for (const t of "iljtf.,:;'`|!()[]") f[t.charCodeAt(0)] = 1;
43
- for (const t of "mwMW@") f[t.charCodeAt(0)] = 2;
44
- for (let t = 48; t <= 57; t++) f[t] = 3;
45
- for (let t = 65; t <= 90; t++) f[t] = 4;
46
- f[32] = 5;
33
+ for (const t of "iljtf.,:;'`|!()[]") u[t.charCodeAt(0)] = 1;
34
+ for (const t of "mwMW@") u[t.charCodeAt(0)] = 2;
35
+ for (let t = 48; t <= 57; t++) u[t] = 3;
36
+ for (let t = 65; t <= 90; t++) u[t] = 4;
37
+ u[32] = 5;
47
38
  }
48
39
  const T = [0.54, 0.26, 0.95, 0.59, 0.67, 0.3];
49
- function g(t) {
40
+ function E(t) {
50
41
  const e = t.charCodeAt(0);
51
- return e < 128 ? T[f[e]] : l.test(t) ? 1 : /[A-Z]/.test(t) ? 0.67 : 0.54;
42
+ return e < 128 ? T[u[e]] : M.test(t) ? 1 : /[A-Z]/.test(t) ? 0.67 : 0.54;
52
43
  }
53
- const u = {
44
+ const a = {
54
45
  measureMm(t, e) {
55
46
  const { fontSizePt: r, bold: n = !1, letterSpacingPt: c = 0 } = e, s = 25.4 / 72;
56
47
  let i = 0;
57
48
  for (const o of t)
58
- i += g(o);
49
+ i += E(o);
59
50
  return n && (i *= 1.04), (i * r + c * t.length) * s;
60
51
  }
61
52
  };
62
- function F() {
63
- return u;
53
+ function N() {
54
+ return a;
64
55
  }
65
- function j(t, e) {
66
- return u.measureMm(t, e);
56
+ function p(t, e) {
57
+ return a.measureMm(t, e);
67
58
  }
68
- function v(t) {
59
+ function O(t) {
69
60
  let e;
70
61
  return {
71
62
  measureMm(r, n) {
72
- if (e === void 0 && (e = t()), !e) return u.measureMm(r, n);
63
+ if (e === void 0 && (e = t()), !e) return a.measureMm(r, n);
73
64
  const c = n.fontSizePt * 96 / 72;
74
65
  return e.font = `${n.bold ? "bold " : ""}${c}px sans-serif`, e.measureText(r).width * 25.4 / 96;
75
66
  }
76
67
  };
77
68
  }
78
- function A(t, e, r) {
69
+ function x(t, e, r) {
79
70
  const n = [];
80
71
  let c = "", s = 0;
81
72
  const i = () => {
@@ -92,7 +83,7 @@ function A(t, e, r) {
92
83
  i(), n.push({ text: o, widthMm: r.measureMm(o, e), cjk: !1, space: !0 });
93
84
  continue;
94
85
  }
95
- if (l.test(o)) {
86
+ if (M.test(o)) {
96
87
  i(), n.push({ text: o, widthMm: r.measureMm(o, e), cjk: !0 });
97
88
  continue;
98
89
  }
@@ -100,93 +91,90 @@ function A(t, e, r) {
100
91
  }
101
92
  return i(), n;
102
93
  }
103
- function U(t, e, r, n = u) {
94
+ function F(t, e, r, n = a) {
104
95
  if (!t) return [""];
105
96
  const c = [];
106
97
  let s = "", i = 0;
107
98
  const o = () => {
108
99
  c.push(s), s = "", i = 0;
109
100
  };
110
- for (const a of A(t, r, n)) {
111
- if (a.br) {
101
+ for (const f of x(t, r, n)) {
102
+ if (f.br) {
112
103
  o();
113
104
  continue;
114
105
  }
115
- if (i + a.widthMm <= e) {
116
- s += a.text, i += a.widthMm;
106
+ if (i + f.widthMm <= e) {
107
+ s += f.text, i += f.widthMm;
117
108
  continue;
118
109
  }
119
- if (a.space) {
110
+ if (f.space) {
120
111
  o();
121
112
  continue;
122
113
  }
123
- if (a.cjk) {
124
- s.length > 0 && o(), s = a.text, i = a.widthMm;
114
+ if (f.cjk) {
115
+ s.length > 0 && o(), s = f.text, i = f.widthMm;
125
116
  continue;
126
117
  }
127
- if (s.length > 0 && o(), a.widthMm <= e) {
128
- s = a.text, i = a.widthMm;
118
+ if (s.length > 0 && o(), f.widthMm <= e) {
119
+ s = f.text, i = f.widthMm;
129
120
  continue;
130
121
  }
131
- for (const h of a.text) {
122
+ for (const h of f.text) {
132
123
  const d = n.measureMm(h, r);
133
124
  i + d > e && s.length > 0 && o(), s += h, i += d;
134
125
  }
135
126
  }
136
127
  return o(), c;
137
128
  }
138
- function B(t, e = 96, r = 10.5) {
129
+ function j(t, e = 96, r = 10.5) {
139
130
  if (t?.fontSizePx != null)
140
131
  return { fontSizePt: t.fontSizePx * 72 / e, fontSizePx: t.fontSizePx };
141
132
  const n = t?.fontSize ?? r;
142
- return { fontSizePt: n, fontSizePx: P(n, e) };
133
+ return { fontSizePt: n, fontSizePx: _(n, e) };
143
134
  }
144
- function V(t, e = M) {
135
+ function v(t, e = l) {
145
136
  return {
146
137
  color: t?.borderColor ?? t?.lineColor ?? e,
147
138
  widthPt: t?.lineWidthPt ?? 0.75
148
139
  };
149
140
  }
150
- function W(t, e = S) {
141
+ function U(t, e = S) {
151
142
  return t?.color ?? e;
152
143
  }
153
- function J(t) {
144
+ function B(t) {
154
145
  return t?.lineHeight ?? 1.35;
155
146
  }
156
- function q(t) {
147
+ function W(t) {
157
148
  const e = t?.borderTop !== !1, r = t?.borderRight !== !1, n = t?.borderBottom !== !1, c = t?.borderLeft !== !1;
158
149
  return { top: e, right: r, bottom: n, left: c, inner: e || r || n || c };
159
150
  }
160
151
  export {
161
- D as C,
152
+ I as C,
162
153
  w as D,
163
154
  C as L,
164
- L as M,
165
- N as P,
166
- E as R,
167
- I as S,
168
- B as a,
169
- p as b,
170
- V as c,
171
- q as d,
172
- J as e,
173
- W as f,
155
+ A as M,
156
+ b as P,
157
+ k as R,
158
+ P as S,
159
+ j as a,
160
+ z as b,
161
+ v as c,
162
+ W as d,
163
+ B as e,
164
+ U as f,
174
165
  S as g,
175
- u as h,
176
- z as i,
177
- x as j,
178
- M as k,
179
- R as l,
180
- b as m,
181
- _ as n,
182
- g as o,
183
- P as p,
184
- v as q,
185
- k as r,
186
- F as s,
187
- j as t,
188
- m as u,
189
- H as v,
190
- U as w,
191
- O as x
166
+ a as h,
167
+ H as i,
168
+ g as j,
169
+ l as k,
170
+ E as l,
171
+ L as m,
172
+ O as n,
173
+ N as o,
174
+ _ as p,
175
+ p as q,
176
+ D as r,
177
+ m as s,
178
+ R as t,
179
+ F as w
192
180
  };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .mrp-toolbar[data-v-48cc0980]{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-48cc0980]{font-size:13px;font-weight:600;margin-right:8px;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-nav[data-v-48cc0980]{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-48cc0980]:hover:not(:disabled){background:var(--mrp-btn-hover-bg, #414549);color:var(--mrp-btn-hover-fg, #fff)}.mrp-nav[data-v-48cc0980]:disabled{opacity:.4;cursor:not-allowed}.mrp-active[data-v-48cc0980]{background:var(--mrp-btn-active-bg, #2d5fb8);border-color:var(--mrp-btn-active-bg, #2d5fb8);color:#fff}.mrp-pageinfo[data-v-48cc0980]{font-size:12px;min-width:56px;text-align:center;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-spacer[data-v-48cc0980]{flex:1}.mrp-search[data-v-48cc0980]{display:flex;align-items:center;gap:4px}.mrp-search-input[data-v-48cc0980]{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-48cc0980]:focus{border-color:var(--mrp-btn-active-bg, #2d5fb8)}.mrp-search-count[data-v-48cc0980]{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-a0054844]{--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-a0054844]{display:flex;flex:1;min-height:0}.mrp-body[data-v-a0054844]{flex:1;overflow:auto;padding:24px;outline:none}.mrp-scale[data-v-a0054844]{margin:0 auto}.mrp-scale-inner[data-v-a0054844]{display:flex;flex-direction:column;align-items:center}.mrp-page-holder[data-v-a0054844]{background:#fff;box-shadow:0 2px 8px #00000059;margin-bottom:var(--a2716f8c);flex:none}.mrp-state[data-v-a0054844]{padding:40px;text-align:center;color:#bfbfbf;font-size:13px}.mrp-error[data-v-a0054844]{color:#ff9d9d}.mrp-export-notice[data-v-a0054844]{padding:7px 12px;font-size:12px;background:#fff0c2;color:#613c00}.mrp-export-error[data-v-a0054844]{background:#ffe0df;color:#8e1f1f}.mrp-export-progress[data-v-a0054844]{background:#e7f0ff;color:#1a4d86}.mrp-retry[data-v-a0054844]{margin-left:12px;background:transparent;color:#8fb7ff;border:1px solid #5a7fbf;border-radius:4px;padding:1px 10px;cursor:pointer}.mrp-overlay[data-v-a0054844]{position:absolute;inset:0;pointer-events:none}.mrp-page-holder[data-v-a0054844] mark.mrp-hit{background:#ffe066;color:#7a5c00;border-radius:2px;padding:0 1px}.mrp-thumbs[data-v-a0054844]{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;gap:8px}.mrp-thumb[data-v-a0054844]{cursor:pointer;text-align:center}.mrp-thumb-box[data-v-a0054844]{width:116px;background:#fff;box-shadow:0 1px 4px #0006;overflow:hidden;border:2px solid transparent}.mrp-thumb-active .mrp-thumb-box[data-v-a0054844]{border-color:var(--mrp-btn-active-bg)}.mrp-thumb-no[data-v-a0054844]{font-size:11px;color:var(--mrp-toolbar-fg)}.mrp-debug[data-v-a0054844]{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}
1
+ .mrp-toolbar[data-v-48cc0980]{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-48cc0980]{font-size:13px;font-weight:600;margin-right:8px;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-nav[data-v-48cc0980]{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-48cc0980]:hover:not(:disabled){background:var(--mrp-btn-hover-bg, #414549);color:var(--mrp-btn-hover-fg, #fff)}.mrp-nav[data-v-48cc0980]:disabled{opacity:.4;cursor:not-allowed}.mrp-active[data-v-48cc0980]{background:var(--mrp-btn-active-bg, #2d5fb8);border-color:var(--mrp-btn-active-bg, #2d5fb8);color:#fff}.mrp-pageinfo[data-v-48cc0980]{font-size:12px;min-width:56px;text-align:center;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-spacer[data-v-48cc0980]{flex:1}.mrp-search[data-v-48cc0980]{display:flex;align-items:center;gap:4px}.mrp-search-input[data-v-48cc0980]{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-48cc0980]:focus{border-color:var(--mrp-btn-active-bg, #2d5fb8)}.mrp-search-count[data-v-48cc0980]{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-28af6d98]{--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-28af6d98]{display:flex;flex:1;min-height:0}.mrp-body[data-v-28af6d98]{flex:1;overflow:auto;padding:24px;outline:none}.mrp-scale[data-v-28af6d98]{margin:0 auto}.mrp-scale-inner[data-v-28af6d98]{display:flex;flex-direction:column;align-items:center}.mrp-page-holder[data-v-28af6d98]{background:#fff;box-shadow:0 2px 8px #00000059;margin-bottom:var(--v45530c0c);flex:none}.mrp-state[data-v-28af6d98]{padding:40px;text-align:center;color:#bfbfbf;font-size:13px}.mrp-error[data-v-28af6d98]{color:#ff9d9d}.mrp-export-notice[data-v-28af6d98]{padding:7px 12px;font-size:12px;background:#fff0c2;color:#613c00}.mrp-export-error[data-v-28af6d98]{background:#ffe0df;color:#8e1f1f}.mrp-export-progress[data-v-28af6d98]{background:#e7f0ff;color:#1a4d86}.mrp-retry[data-v-28af6d98]{margin-left:12px;background:transparent;color:#8fb7ff;border:1px solid #5a7fbf;border-radius:4px;padding:1px 10px;cursor:pointer}.mrp-overlay[data-v-28af6d98]{position:absolute;inset:0;pointer-events:none}.mrp-page-holder[data-v-28af6d98] mark.mrp-hit{background:#ffe066;color:#7a5c00;border-radius:2px;padding:0 1px}.mrp-thumbs[data-v-28af6d98]{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;gap:8px}.mrp-thumb[data-v-28af6d98]{cursor:pointer;text-align:center}.mrp-thumb-box[data-v-28af6d98]{width:116px;background:#fff;box-shadow:0 1px 4px #0006;overflow:hidden;border:2px solid transparent}.mrp-thumb-active .mrp-thumb-box[data-v-28af6d98]{border-color:var(--mrp-btn-active-bg)}.mrp-thumb-no[data-v-28af6d98]{font-size:11px;color:var(--mrp-toolbar-fg)}.mrp-debug[data-v-28af6d98]{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}