@agile-team/mach-report 2.13.0 → 2.15.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 (260) hide show
  1. package/README.md +20 -7
  2. package/THIRD_PARTY_NOTICES.md +3 -1
  3. package/dist/ExcelBindingWizard-BKH1nGNS.js +1485 -0
  4. package/dist/ExcelBindingWizard-Bs43BGNp.cjs +1 -0
  5. package/dist/ParamEditor-Da4akw6V.cjs +1 -0
  6. package/dist/ParamEditor-DoAhzJsm.js +594 -0
  7. package/dist/{ReportBatchPanel-CW2HV9I8.js → ReportBatchPanel-BMf6boMA.js} +39 -39
  8. package/dist/ReportBatchPanel-wP9m9Pj1.cjs +1 -0
  9. package/dist/ReportPreview-ChV19HBp.js +4619 -0
  10. package/dist/ReportPreview-DbLvvOUT.cjs +6 -0
  11. package/dist/{ReportTemplateLibrary-BZB-XWjj.js → ReportTemplateLibrary-C9wutIiT.js} +1 -1
  12. package/dist/ReportTemplateLibrary-Sxr3eD0J.cjs +1 -0
  13. package/dist/RuleEditor-C_Clasvd.js +2037 -0
  14. package/dist/RuleEditor-XhGHK8DE.cjs +1 -0
  15. package/dist/TemplateOutlinePanel-D6Bkny59.js +96 -0
  16. package/dist/TemplateOutlinePanel-JTSR53vJ.cjs +1 -0
  17. package/dist/TemplateReusePanel-Kx35S0Ql.cjs +1 -0
  18. package/dist/TemplateReusePanel-rVuK1kTz.js +388 -0
  19. package/dist/TemplateReviewPanel-B0ar9_zf.js +592 -0
  20. package/dist/TemplateReviewPanel-Dn6X9UmY.cjs +1 -0
  21. package/dist/analytics.cjs +1 -1
  22. package/dist/analytics.d.cts +3 -1
  23. package/dist/analytics.d.ts +3 -1
  24. package/dist/analytics.js +154 -60
  25. package/dist/artifact-integrity.json +135 -0
  26. package/dist/assets-B9ImAi6_.cjs +1 -0
  27. package/dist/assets-DEaz4qsp.js +124 -0
  28. package/dist/batch-BaP6pWDE.cjs +1 -0
  29. package/dist/batch-BfZHN1do.js +220 -0
  30. package/dist/batch-CGyt-b2W.js +273 -0
  31. package/dist/batch-CLpELXBl.cjs +1 -0
  32. package/dist/capabilities-CAh2Nrue.cjs +1 -0
  33. package/dist/capabilities-DskCHs3V.js +69 -0
  34. package/dist/codes.d.cts +2 -0
  35. package/dist/codes.d.ts +2 -0
  36. package/dist/{computed-Bvk0W15F.js → computed-C-4C2S5h.js} +3 -3
  37. package/dist/config-BVsJXSqS.js +842 -0
  38. package/dist/config-D10us76d.cjs +1 -0
  39. package/dist/data-explanation-B8MZRYVS.js +16 -0
  40. package/dist/data-explanation-DE55G30w.cjs +1 -0
  41. package/dist/designer-2bDlcNXQ.js +5136 -0
  42. package/dist/designer-BT7XCdbW.cjs +2 -0
  43. package/dist/designer.cjs +1 -2
  44. package/dist/designer.d.cts +432 -17
  45. package/dist/designer.d.ts +432 -17
  46. package/dist/designer.js +21 -4312
  47. package/dist/drill-ByJviLXS.js +145 -0
  48. package/dist/drill-DYTxuL3A.cjs +1 -0
  49. package/dist/font-loader-B_UkxpzC.cjs +1 -0
  50. package/dist/font-loader-Q3bQjmrI.js +297 -0
  51. package/dist/index.cjs +8 -8
  52. package/dist/index.d.cts +239 -5
  53. package/dist/index.d.ts +239 -5
  54. package/dist/index.js +939 -893
  55. package/dist/json-snapshot-DFb2eWkf.js +1416 -0
  56. package/dist/json-snapshot-WWSGlaHG.cjs +2 -0
  57. package/dist/licenses/_bwip-js_generic-4.11.4.txt +24 -0
  58. package/dist/licenses/_fast-csv_format-4.3.5.txt +22 -0
  59. package/dist/licenses/_fast-csv_parse-4.3.6.txt +22 -0
  60. package/dist/licenses/_pdf-lib_fontkit-1.1.1.txt +326 -0
  61. package/dist/licenses/_pdf-lib_standard-fonts-1.0.0.txt +22 -0
  62. package/dist/licenses/_pdf-lib_upng-1.0.1.txt +22 -0
  63. package/dist/licenses/_types_node-14.18.63.txt +22 -0
  64. package/dist/licenses/_types_pako-2.0.3.txt +22 -0
  65. package/dist/licenses/_types_pegjs-0.10.6.txt +22 -0
  66. package/dist/licenses/archiver-5.3.2.txt +23 -0
  67. package/dist/licenses/archiver-utils-2.1.0.txt +23 -0
  68. package/dist/licenses/archiver-utils-3.0.4.txt +23 -0
  69. package/dist/licenses/async-3.2.6.txt +20 -0
  70. package/dist/licenses/balanced-match-1.0.2.txt +22 -0
  71. package/dist/licenses/base64-js-1.5.1.txt +22 -0
  72. package/dist/licenses/big-integer-1.6.52.txt +25 -0
  73. package/dist/licenses/binary-0.3.0.txt +178 -0
  74. package/dist/licenses/bl-4.1.0.txt +14 -0
  75. package/dist/licenses/bluebird-3.4.7.txt +22 -0
  76. package/dist/licenses/brace-expansion-1.1.21.txt +22 -0
  77. package/dist/licenses/brace-expansion-2.1.7.txt +22 -0
  78. package/dist/licenses/buffer-5.7.1.txt +22 -0
  79. package/dist/licenses/buffer-crc32-0.2.13.txt +20 -0
  80. package/dist/licenses/buffer-indexof-polyfill-1.0.2.txt +23 -0
  81. package/dist/licenses/buffers-0.1.1.txt +140 -0
  82. package/dist/licenses/chainsaw-0.1.0.txt +184 -0
  83. package/dist/licenses/compress-commons-4.1.2.txt +23 -0
  84. package/dist/licenses/concat-map-0.0.1.txt +19 -0
  85. package/dist/licenses/core-util-is-1.0.3.txt +20 -0
  86. package/dist/licenses/crc-32-1.2.2.txt +202 -0
  87. package/dist/licenses/crc32-stream-4.0.3.txt +23 -0
  88. package/dist/licenses/dayjs-1.11.23.txt +22 -0
  89. package/dist/licenses/duplexer2-0.1.4.txt +27 -0
  90. package/dist/licenses/end-of-stream-1.4.5.txt +22 -0
  91. package/dist/licenses/exceljs-4.4.0.txt +23 -0
  92. package/dist/licenses/fast-csv-4.3.6.txt +22 -0
  93. package/dist/licenses/fast-png-6.4.0.txt +22 -0
  94. package/dist/licenses/fs-constants-1.0.0.txt +22 -0
  95. package/dist/licenses/fs.realpath-1.0.0.txt +44 -0
  96. package/dist/licenses/fstream-1.0.12.txt +16 -0
  97. package/dist/licenses/glob-7.2.3.txt +22 -0
  98. package/dist/licenses/graceful-fs-4.2.11.txt +16 -0
  99. package/dist/licenses/ieee754-1.2.1.txt +12 -0
  100. package/dist/licenses/immediate-3.0.6.txt +21 -0
  101. package/dist/licenses/inflight-1.0.6.txt +16 -0
  102. package/dist/licenses/inherits-2.0.4.txt +17 -0
  103. package/dist/licenses/iobuffer-5.4.0.txt +23 -0
  104. package/dist/licenses/isarray-1.0.0.txt +61 -0
  105. package/dist/licenses/jszip-3.10.2.txt +652 -0
  106. package/dist/licenses/lazystream-1.0.1.txt +24 -0
  107. package/dist/licenses/lie-3.3.0.txt +8 -0
  108. package/dist/licenses/listenercount-1.0.1.txt +6 -0
  109. package/dist/licenses/lodash.defaults-4.2.0.txt +48 -0
  110. package/dist/licenses/lodash.difference-4.5.0.txt +48 -0
  111. package/dist/licenses/lodash.escaperegexp-4.1.2.txt +48 -0
  112. package/dist/licenses/lodash.flatten-4.4.0.txt +48 -0
  113. package/dist/licenses/lodash.groupby-4.6.0.txt +48 -0
  114. package/dist/licenses/lodash.isboolean-3.0.3.txt +23 -0
  115. package/dist/licenses/lodash.isequal-4.5.0.txt +48 -0
  116. package/dist/licenses/lodash.isfunction-3.0.9.txt +48 -0
  117. package/dist/licenses/lodash.isnil-4.0.0.txt +23 -0
  118. package/dist/licenses/lodash.isplainobject-4.0.6.txt +48 -0
  119. package/dist/licenses/lodash.isundefined-3.0.1.txt +23 -0
  120. package/dist/licenses/lodash.union-4.6.0.txt +48 -0
  121. package/dist/licenses/lodash.uniq-4.5.0.txt +48 -0
  122. package/dist/licenses/minimatch-3.1.5.txt +16 -0
  123. package/dist/licenses/minimatch-5.1.9.txt +16 -0
  124. package/dist/licenses/minimist-1.2.8.txt +19 -0
  125. package/dist/licenses/mkdirp-0.5.6.txt +22 -0
  126. package/dist/licenses/node-sql-parser-5.4.0.txt +202 -0
  127. package/dist/licenses/normalize-path-3.0.0.txt +22 -0
  128. package/dist/licenses/once-1.4.0.txt +16 -0
  129. package/dist/licenses/pako-1.0.11.txt +22 -0
  130. package/dist/licenses/pako-2.2.0.txt +22 -0
  131. package/dist/licenses/path-is-absolute-1.0.1.txt +22 -0
  132. package/dist/licenses/pdf-lib-1.17.1.txt +22 -0
  133. package/dist/licenses/process-nextick-args-2.0.1.txt +20 -0
  134. package/dist/licenses/readable-stream-2.3.8.txt +48 -0
  135. package/dist/licenses/readable-stream-3.6.2.txt +48 -0
  136. package/dist/licenses/readdir-glob-1.1.3.txt +202 -0
  137. package/dist/licenses/rimraf-2.7.1.txt +16 -0
  138. package/dist/licenses/safe-buffer-5.1.2.txt +22 -0
  139. package/dist/licenses/safe-buffer-5.2.1.txt +22 -0
  140. package/dist/licenses/saxes-5.0.1.txt +397 -0
  141. package/dist/licenses/setimmediate-1.0.5.txt +21 -0
  142. package/dist/licenses/string_decoder-1.1.1.txt +49 -0
  143. package/dist/licenses/string_decoder-1.3.0.txt +49 -0
  144. package/dist/licenses/tar-stream-2.2.0.txt +22 -0
  145. package/dist/licenses/tmp-0.2.7.txt +22 -0
  146. package/dist/licenses/traverse-0.3.9.txt +25 -0
  147. package/dist/licenses/tslib-1.14.1.txt +13 -0
  148. package/dist/licenses/unzipper-0.10.14.txt +26 -0
  149. package/dist/licenses/util-deprecate-1.0.2.txt +25 -0
  150. package/dist/licenses/uuid-11.1.1.txt +10 -0
  151. package/dist/licenses/wrappy-1.0.2.txt +16 -0
  152. package/dist/licenses/xmlchars-2.2.0.txt +19 -0
  153. package/dist/licenses/zip-stream-4.1.1.txt +23 -0
  154. package/dist/matrix-CGRGkn5s.js +112 -0
  155. package/dist/matrix-gEO7ZM_u.cjs +1 -0
  156. package/dist/media-B7vnpD8k.cjs +1 -0
  157. package/dist/media-Y90dHK9z.js +70 -0
  158. package/dist/param-validation-C3HlcLLO.cjs +1 -0
  159. package/dist/param-validation-Do7Eg8Zv.js +181 -0
  160. package/dist/pdf-BwNyeGpt.js +36352 -0
  161. package/dist/pdf-CvvrjPQg.cjs +103 -0
  162. package/dist/pdf.cjs +1 -101
  163. package/dist/pdf.d.cts +18 -3
  164. package/dist/pdf.d.ts +18 -3
  165. package/dist/pdf.js +9 -36579
  166. package/dist/plugin-Ca_XZG3l.js +22 -0
  167. package/dist/{plugin-DzS6pxTA.cjs → plugin-DHO7X8z2.cjs} +1 -1
  168. package/dist/prepared-CFy9B75C.cjs +1 -0
  169. package/dist/prepared-ajM-H-9B.js +69 -0
  170. package/dist/progress-B0ctFpKf.cjs +1 -0
  171. package/dist/progress-D-OTpEav.js +52 -0
  172. package/dist/{record-bindings-D-5jQlTj.js → record-bindings-Do_b3h4V.js} +1 -1
  173. package/dist/{region-binding-workflow-CcUq8W2Q.js → region-binding-workflow-BMhK_TjP.js} +1 -1
  174. package/dist/{region-binding-workflow-BzfbxRiR.cjs → region-binding-workflow-DIYJdCUr.cjs} +1 -1
  175. package/dist/{report-params-B44imUd4.js → report-params-B1RzkhJj.js} +1 -1
  176. package/dist/{report-params-SJfhKgaX.cjs → report-params-WDGrA4oP.cjs} +1 -1
  177. package/dist/sbom.cdx.json +3982 -0
  178. package/dist/server/node.d.cts +66 -12
  179. package/dist/server/node.d.ts +66 -12
  180. package/dist/server-node.cjs +1 -1
  181. package/dist/server-node.js +405 -381
  182. package/dist/server.cjs +1 -1
  183. package/dist/server.d.cts +878 -15
  184. package/dist/server.d.ts +878 -15
  185. package/dist/server.js +1034 -534
  186. package/dist/sha256-ArEYjaTI.cjs +1 -0
  187. package/dist/sha256-DPEuJ3nh.js +155 -0
  188. package/dist/style.css +1 -1
  189. package/dist/template-bindings-C2SpvsMU.js +58 -0
  190. package/dist/template-bindings-CEtWyiLX.cjs +1 -0
  191. package/dist/template-catalog-FJE_c9Qe.cjs +1 -0
  192. package/dist/template-catalog-j2B1MJlL.js +414 -0
  193. package/dist/template-fragments-BGbQLGlV.js +187 -0
  194. package/dist/template-fragments-DcKeiylI.cjs +1 -0
  195. package/dist/template-outline-BwRV_eRo.cjs +1 -0
  196. package/dist/template-outline-cnWfT_LK.js +88 -0
  197. package/dist/{template-registry-BjE1VS6g.js → template-registry-BtaKPELV.js} +364 -201
  198. package/dist/template-registry-Co1zPq5e.cjs +1 -0
  199. package/dist/textwrap-CWHyzkBH.cjs +4 -0
  200. package/dist/textwrap-DE1kgcJB.js +110 -0
  201. package/dist/{tree-CqcQ99NM.js → tree-CjVZLRw7.js} +1 -1
  202. package/dist/{useLocalDraft-C07SYRnC.js → useLocalDraft-BnhcxXk_.js} +1 -1
  203. package/dist/{useLocalDraft-Yiw1wFgI.cjs → useLocalDraft-CioIfDb6.cjs} +1 -1
  204. package/dist/vue/async.d.cts +190 -15
  205. package/dist/vue/async.d.ts +190 -15
  206. package/dist/vue/index.d.cts +274 -24
  207. package/dist/vue/index.d.ts +274 -24
  208. package/dist/vue-async.cjs +1 -1
  209. package/dist/vue-async.js +5 -5
  210. package/dist/vue.cjs +1 -1
  211. package/dist/vue.js +90 -81
  212. package/dist/{workbook-session-DNa2RHNG.cjs → workbook-session-Bjv1YCRK.cjs} +18 -18
  213. package/dist/{workbook-session-BPb3TMnT.js → workbook-session-BvToI-Fd.js} +5440 -5288
  214. package/dist/worker.cjs +1 -1
  215. package/dist/worker.d.cts +66 -12
  216. package/dist/worker.d.ts +66 -12
  217. package/dist/worker.js +61 -56
  218. package/dist/xlsx-node.cjs +34 -34
  219. package/dist/xlsx-node.js +878 -870
  220. package/dist/xlsx.cjs +3 -4
  221. package/dist/xlsx.d.cts +22 -10
  222. package/dist/xlsx.d.ts +22 -10
  223. package/dist/xlsx.js +261 -253
  224. package/package.json +2 -2
  225. package/dist/ExcelBindingWizard-CeAf4QSE.js +0 -1465
  226. package/dist/ExcelBindingWizard-y0mT-AHR.cjs +0 -1
  227. package/dist/ParamEditor-BLaE5q5W.js +0 -522
  228. package/dist/ParamEditor-MBBC7lUE.cjs +0 -1
  229. package/dist/ReportBatchPanel-Fp1ePFag.cjs +0 -1
  230. package/dist/ReportPreview-BN6fk7Wz.cjs +0 -6
  231. package/dist/ReportPreview-D2Jkyh1U.js +0 -4243
  232. package/dist/ReportTemplateLibrary-5fk5CQBO.cjs +0 -1
  233. package/dist/RuleEditor-ChRzNQuF.cjs +0 -1
  234. package/dist/RuleEditor-DzAmW5YH.js +0 -2024
  235. package/dist/TemplateReviewPanel-BKofGrV9.js +0 -222
  236. package/dist/TemplateReviewPanel-DwtOcLue.cjs +0 -1
  237. package/dist/assets-C2U-e-Sz.cjs +0 -4
  238. package/dist/assets-Q0wUwNrV.js +0 -217
  239. package/dist/batch-Bt3Fd27Z.cjs +0 -1
  240. package/dist/batch-mRqhhhjt.js +0 -364
  241. package/dist/capabilities-CK_7hizc.js +0 -63
  242. package/dist/capabilities-CsZ-pNHR.cjs +0 -1
  243. package/dist/config-Bb7RiIO5.cjs +0 -1
  244. package/dist/config-XVwG87IA.js +0 -529
  245. package/dist/matrix-DVyWiYsd.cjs +0 -1
  246. package/dist/matrix-yZsGnldA.js +0 -227
  247. package/dist/page-window-index-CIuT4BAv.js +0 -43
  248. package/dist/page-window-index-DEjnM6IB.cjs +0 -1
  249. package/dist/param-validation-BlHHXs6u.js +0 -153
  250. package/dist/param-validation-DCK039V1.cjs +0 -1
  251. package/dist/plugin-D4wizDXB.js +0 -22
  252. package/dist/progress-7OSZbFok.js +0 -39
  253. package/dist/progress-BnLiS5eH.cjs +0 -1
  254. package/dist/task-events-DQ276fn2.cjs +0 -1
  255. package/dist/task-events-Dpsvf_t2.js +0 -47
  256. package/dist/template-registry-D3SjENi6.cjs +0 -1
  257. package/dist/template-review-DGwWOoCv.cjs +0 -2
  258. package/dist/template-review-PgEe_Wr9.js +0 -1742
  259. package/dist/validate-BJ5HIWY8.cjs +0 -1
  260. package/dist/validate-DbgEM1Hh.js +0 -163
@@ -1,364 +0,0 @@
1
- class m extends Error {
2
- constructor(t, n, r) {
3
- super(n), this.code = t, this.path = r, this.name = "ReportRuntimeError";
4
- }
5
- }
6
- function S(e) {
7
- if (!e?.aborted) return;
8
- if (e.reason instanceof m) throw e.reason;
9
- const t = new Error("报表执行已取消");
10
- throw t.name = "AbortError", Object.defineProperty(t, "cause", { value: e.reason }), t;
11
- }
12
- function Z(e, t, n) {
13
- if (!Number.isFinite(n) || n < 0) throw new m("budget", `${t} 的执行统计无效`, `$.budget.${t}`);
14
- const r = e[t];
15
- if (r !== void 0 && n > r) throw new m("budget", `${t} 超出预算 ${r}(实际 ${n})`, `$.budget.${t}`);
16
- }
17
- function F(e) {
18
- for (const [t, n] of Object.entries(e)) {
19
- if (n !== void 0 && (!Number.isFinite(n) || n <= 0)) throw new m("budget", `${t} 应为正有限数字`, `$.budget.${t}`);
20
- if (t !== "maxDurationMs" && n !== void 0 && !Number.isSafeInteger(n)) throw new m("budget", `${t} 应为正安全整数`, `$.budget.${t}`);
21
- if (t === "maxDurationMs" && n !== void 0 && n > 2147483647) throw new m("budget", "maxDurationMs 不能超过 2147483647", `$.budget.${t}`);
22
- }
23
- }
24
- async function V(e, t, n) {
25
- const r = new AbortController(), s = () => r.abort(e?.reason);
26
- e?.addEventListener("abort", s, { once: !0 }), e?.aborted && s();
27
- const a = Date.now(), c = t === void 0 ? void 0 : setTimeout(() => r.abort(new m("timeout", `报表执行超过 ${t}ms`)), t);
28
- let d;
29
- try {
30
- S(r.signal);
31
- const g = new Promise((u, i) => {
32
- d = () => {
33
- try {
34
- S(r.signal);
35
- } catch (w) {
36
- i(w);
37
- }
38
- }, r.signal.addEventListener("abort", d, { once: !0 });
39
- }), o = await Promise.race([n(r.signal), g]);
40
- if (S(r.signal), t !== void 0 && Date.now() - a > t) throw new m("timeout", `报表执行超过 ${t}ms`);
41
- return o;
42
- } finally {
43
- c !== void 0 && clearTimeout(c), d && r.signal.removeEventListener("abort", d), e?.removeEventListener("abort", s);
44
- }
45
- }
46
- const B = new Uint32Array([
47
- 1116352408,
48
- 1899447441,
49
- 3049323471,
50
- 3921009573,
51
- 961987163,
52
- 1508970993,
53
- 2453635748,
54
- 2870763221,
55
- 3624381080,
56
- 310598401,
57
- 607225278,
58
- 1426881987,
59
- 1925078388,
60
- 2162078206,
61
- 2614888103,
62
- 3248222580,
63
- 3835390401,
64
- 4022224774,
65
- 264347078,
66
- 604807628,
67
- 770255983,
68
- 1249150122,
69
- 1555081692,
70
- 1996064986,
71
- 2554220882,
72
- 2821834349,
73
- 2952996808,
74
- 3210313671,
75
- 3336571891,
76
- 3584528711,
77
- 113926993,
78
- 338241895,
79
- 666307205,
80
- 773529912,
81
- 1294757372,
82
- 1396182291,
83
- 1695183700,
84
- 1986661051,
85
- 2177026350,
86
- 2456956037,
87
- 2730485921,
88
- 2820302411,
89
- 3259730800,
90
- 3345764771,
91
- 3516065817,
92
- 3600352804,
93
- 4094571909,
94
- 275423344,
95
- 430227734,
96
- 506948616,
97
- 659060556,
98
- 883997877,
99
- 958139571,
100
- 1322822218,
101
- 1537002063,
102
- 1747873779,
103
- 1955562222,
104
- 2024104815,
105
- 2227730452,
106
- 2361852424,
107
- 2428436474,
108
- 2756734187,
109
- 3204031479,
110
- 3329325298
111
- ]), y = (e, t) => e >>> t | e << 32 - t;
112
- function E(e, t, n) {
113
- const r = new DataView(e.buffer, e.byteOffset + t, 64);
114
- for (let s = 0; s < 16; s++) n[s] = r.getUint32(s * 4);
115
- for (let s = 16; s < 64; s++) {
116
- const a = n[s - 15], c = n[s - 2], d = y(a, 7) ^ y(a, 18) ^ a >>> 3, g = y(c, 17) ^ y(c, 19) ^ c >>> 10;
117
- n[s] = n[s - 16] + d + n[s - 7] + g;
118
- }
119
- }
120
- function O(e, t) {
121
- let n = e[0], r = e[1], s = e[2], a = e[3], c = e[4], d = e[5], g = e[6], o = e[7];
122
- for (let u = 0; u < 64; u++) {
123
- const i = y(c, 6) ^ y(c, 11) ^ y(c, 25), w = c & d ^ ~c & g, f = o + i + w + B[u] + t[u] >>> 0, b = y(n, 2) ^ y(n, 13) ^ y(n, 22), h = n & r ^ n & s ^ r & s, A = b + h >>> 0;
124
- o = g, g = d, d = c, c = a + f >>> 0, a = s, s = r, r = n, n = f + A >>> 0;
125
- }
126
- e[0] = e[0] + n, e[1] = e[1] + r, e[2] = e[2] + s, e[3] = e[3] + a, e[4] = e[4] + c, e[5] = e[5] + d, e[6] = e[6] + g, e[7] = e[7] + o;
127
- }
128
- function j(e) {
129
- const t = new Uint8Array(Math.ceil((e.byteLength + 9) / 64) * 64);
130
- t.set(e), t[e.byteLength] = 128;
131
- const n = new DataView(t.buffer);
132
- return n.setUint32(t.length - 8, Math.floor(e.byteLength / 536870912)), n.setUint32(t.length - 4, e.byteLength * 8 >>> 0), t;
133
- }
134
- const J = () => new Uint32Array([1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225]), $ = (e) => Array.from(e, (t) => t.toString(16).padStart(8, "0")).join("");
135
- async function I(e) {
136
- const t = j(e), n = J(), r = new Uint32Array(64);
137
- for (let s = 0; s < t.length; s += 64)
138
- s > 0 && s % 262144 === 0 && await new Promise((a) => setTimeout(a, 0)), E(t, s, r), O(n, r);
139
- return $(n);
140
- }
141
- function q(e = {}) {
142
- const t = {
143
- maxRecords: e.maxRecords ?? 1e4,
144
- maxBytes: e.maxBytes ?? 67108864,
145
- maxResultBytes: e.maxResultBytes ?? 262144,
146
- controlReserveBytes: e.controlReserveBytes ?? 4096,
147
- maxTombstones: e.maxTombstones ?? 1e4,
148
- maxTombstoneBytes: e.maxTombstoneBytes ?? 16777216
149
- };
150
- if (!Object.values(t).every((n) => Number.isSafeInteger(n) && n > 0) || t.controlReserveBytes < 4096) throw new l("input", "任务容量应为正整数,控制状态预留至少4096字节");
151
- return t;
152
- }
153
- function v(e) {
154
- return new TextEncoder().encode(p(e)).byteLength;
155
- }
156
- function N(e, t) {
157
- const n = { scope: e.scope, id: e.id, revision: 1, request: e.request, status: "queued", createdAt: e.createdAt, updatedAt: e.createdAt, attempt: 0 }, r = { ...e };
158
- delete r.result;
159
- const s = e.result === void 0 ? 0 : v(e.result);
160
- if (s > t.maxResultBytes) throw new l("capacity", "任务结果超过独立预算,请保存文件引用");
161
- return Math.max(v(n) + t.controlReserveBytes, v(r)) + s;
162
- }
163
- function R(e) {
164
- return e.status !== "queued" && e.status !== "running";
165
- }
166
- function T(e) {
167
- const t = { ...e, tombstoneRetentionMs: e.tombstoneRetentionMs ?? 6048e5, limit: e.limit ?? 100 };
168
- if (![t.now, t.terminalBefore].every((n) => Number.isSafeInteger(n) && n >= 0) || t.terminalBefore > t.now) throw new l("input", "终态清理时间应为不超过当前时间的非负整数");
169
- if (![t.tombstoneRetentionMs, t.limit].every((n) => Number.isSafeInteger(n) && n > 0) || !Number.isSafeInteger(t.now + t.tombstoneRetentionMs)) throw new l("input", "幂等保留期与清理批量应为正整数");
170
- return t;
171
- }
172
- async function D(e) {
173
- const t = new TextEncoder().encode(p(e)), n = globalThis.crypto?.subtle;
174
- if (!n) return I(t);
175
- const r = await n.digest("SHA-256", t);
176
- return Array.from(new Uint8Array(r), (s) => s.toString(16).padStart(2, "0")).join("");
177
- }
178
- async function L(e, t) {
179
- if (!R(e)) throw new l("input", "只能归档终态任务");
180
- return { scope: e.scope, id: e.id, revision: e.revision, status: e.status, createdAt: e.createdAt, updatedAt: e.updatedAt, attempt: e.attempt, requestHash: await D(e.request), expiresAt: t };
181
- }
182
- class l extends Error {
183
- constructor(t, n) {
184
- super(n), this.code = t, this.name = "ReportJobError";
185
- }
186
- }
187
- function P(e, t) {
188
- if (typeof e != "string" || !e.trim() || e.length > 256 || typeof t != "string" || t !== t.trim() || !/^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,127}$/.test(t)) throw new l("input", "任务范围应非空,ID应为1–128位安全标识");
189
- }
190
- function M(e) {
191
- const t = Array.isArray(e), n = Object.getPrototypeOf(e), r = Object.keys(e);
192
- if (n !== (t ? Array.prototype : Object.prototype) && !(n === null && !t)) throw new l("input", "任务对象应为普通 JSON 对象");
193
- if (Object.getOwnPropertySymbols(e).length) throw new l("input", "任务不能包含Symbol");
194
- if (Object.getOwnPropertyNames(e).filter((a) => !(t && a === "length")).length !== r.length) throw new l("input", "任务不能包含不可枚举属性");
195
- if (t && (r.length !== e.length || r.some((a) => a !== String(Number(a)) || !Number.isSafeInteger(Number(a)) || Number(a) < 0 || Number(a) >= e.length))) throw new l("input", "任务数组不能稀疏或包含额外属性");
196
- return r.sort();
197
- }
198
- function C(e, t) {
199
- const n = Object.getOwnPropertyDescriptor(e, t);
200
- if (["__proto__", "prototype", "constructor"].includes(t) || n.get || n.set) throw new l("input", "任务不能包含危险键或访问器");
201
- return n.value;
202
- }
203
- function p(e, t = {}) {
204
- const n = t.maxNodes ?? 2e4, r = t.maxCharacters ?? 1e6;
205
- if (!Number.isSafeInteger(n) || n < 1 || n > 2e4 || !Number.isSafeInteger(r) || r < 1 || r > 1e6) throw new l("input", "任务JSON预算无效");
206
- let s = 0, a = 0;
207
- const c = /* @__PURE__ */ new Set();
208
- function d(o, u) {
209
- if (++s > n || u > 32) throw new l("input", "任务数据超过节点或深度预算");
210
- if (typeof o == "string") {
211
- if (a += o.length, a > r) throw new l("input", "任务文本超过预算");
212
- return o;
213
- }
214
- if (o === null || typeof o == "boolean" || typeof o == "number" && Number.isFinite(o)) return o;
215
- if (!o || typeof o != "object" || c.has(o)) throw new l("input", "任务只允许无循环的有限 JSON 值");
216
- const i = Array.isArray(o), w = M(o);
217
- c.add(o);
218
- const f = /* @__PURE__ */ Object.create(null);
219
- for (const b of w) {
220
- if (a += b.length, a > r) throw new l("input", "任务文本超过预算");
221
- f[b] = d(C(o, b), u + 1);
222
- }
223
- return c.delete(o), i ? Array.from({ length: o.length }, (b, h) => f[String(h)]) : f;
224
- }
225
- const g = JSON.stringify(d(e, 0));
226
- if (g.length > r) throw new l("input", "任务序列化数据超过字符预算");
227
- return g;
228
- }
229
- function x(e) {
230
- return JSON.parse(JSON.stringify(e));
231
- }
232
- function U(e, t, n, r) {
233
- if (P(t, n), e.scope !== t || e.id !== n || e.revision !== (r ?? 0) + 1 || !Number.isSafeInteger(e.revision)) throw new l("input", "任务身份或修订不匹配");
234
- if (![e.createdAt, e.updatedAt, e.attempt].every((s) => Number.isSafeInteger(s) && s >= 0) || !["queued", "running", "completed", "failed", "cancelled"].includes(e.status)) throw new l("input", "任务状态无效");
235
- if (e.lease && (!e.lease.owner || !Number.isSafeInteger(e.lease.expiresAt))) throw new l("input", "任务租约无效");
236
- if (!e.request || typeof e.request.kind != "string" || !e.request.kind.trim() || e.request.kind.length > 128) throw new l("input", "任务类型无效");
237
- p(e.request.payload, { maxNodes: 19e3, maxCharacters: 75e4 }), p(e);
238
- }
239
- function z(e, t) {
240
- if (e && (e.createdAt !== t.createdAt || p(e.request) !== p(t.request))) throw new l("input", "任务创建时间与请求不可变更,请使用新任务ID");
241
- }
242
- function _(e, t) {
243
- return e.status === "queued" || e.status === "running" && (e.lease?.expiresAt ?? 0) <= t;
244
- }
245
- function K(e = {}) {
246
- const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), r = q(e);
247
- let s = 0, a = 0, c = Promise.resolve();
248
- const d = (o, u) => JSON.stringify([o, u]), g = (o) => {
249
- const u = c.then(o);
250
- return c = u.then(() => {
251
- }, () => {
252
- }), u;
253
- };
254
- return {
255
- read: async (o, u) => {
256
- await c;
257
- const i = t.get(d(o, u));
258
- return i ? x(i) : void 0;
259
- },
260
- readTombstone: async (o, u) => {
261
- await c;
262
- const i = n.get(d(o, u));
263
- return i ? x(i) : void 0;
264
- },
265
- candidates: async (o, u) => (await c, Array.from(t.values()).filter((i) => _(i, o)).sort((i, w) => i.createdAt - w.createdAt).slice(0, u).map(x)),
266
- compareAndSwap: async (o, u, i, w) => {
267
- U(w, o, u, i);
268
- const f = x(w);
269
- return g(async () => {
270
- const b = d(o, u), h = t.get(b);
271
- if ((h?.revision ?? null) !== i || n.has(b)) return !1;
272
- z(h, f);
273
- const A = s - (h ? N(h, r) : 0) + N(f, r);
274
- if (A > r.maxBytes || !h && t.size >= r.maxRecords) throw new l("capacity", "任务容量已满,请清理终态任务或扩大显式预算");
275
- return t.set(b, f), s = A, !0;
276
- });
277
- },
278
- prune: async (o) => {
279
- const u = T(o);
280
- return g(async () => {
281
- const i = { archived: 0, expired: 0 };
282
- for (const [w, f] of n)
283
- f.expiresAt > u.now || i.expired >= u.limit || (n.delete(w), a -= v(f), i.expired++);
284
- for (const [w, f] of t) {
285
- if (!R(f) || f.updatedAt > u.terminalBefore || i.archived + i.expired >= u.limit) continue;
286
- const b = await L(f, u.now + u.tombstoneRetentionMs), h = v(b);
287
- if (n.size >= r.maxTombstones || a + h > r.maxTombstoneBytes) break;
288
- n.set(w, b), a += h, t.delete(w), s -= N(f, r), i.archived++;
289
- }
290
- return i;
291
- });
292
- }
293
- };
294
- }
295
- function k(e, t = 100) {
296
- if (!Number.isSafeInteger(t) || t < 1 || t > 1e3 || !Array.isArray(e) || e.length > t) throw new RangeError("批量参数应包含 1–maxCases 条,maxCases 最大为 1000");
297
- const n = JSON.parse(p(e)), r = /* @__PURE__ */ new Set();
298
- for (const s of n) {
299
- if (!s || typeof s.id != "string" || s.id !== s.id.trim() || !/^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,127}$/.test(s.id) || r.has(s.id)) throw new TypeError("批量行 ID 应唯一且为安全标识");
300
- if (!s.params || Array.isArray(s.params) || typeof s.params != "object" || Object.values(s.params).some((a) => typeof a != "string")) throw new TypeError("批量参数应为字符串字典");
301
- r.add(s.id);
302
- }
303
- return n;
304
- }
305
- function H(e, t) {
306
- if (!t) return;
307
- const n = { completed: 0, total: e.length, failed: 0, cancelled: 0 };
308
- for (const r of e)
309
- r && (n.completed++, r.status === "failed" && n.failed++, r.status === "cancelled" && n.cancelled++);
310
- try {
311
- t(n);
312
- } catch {
313
- }
314
- }
315
- async function W(e, t, n = {}) {
316
- const r = n.concurrency ?? 2;
317
- if (!Number.isSafeInteger(r) || r < 1 || r > 16) throw new RangeError("批量并发应为 1–16");
318
- if (n.failure !== void 0 && n.failure !== "continue" && n.failure !== "stop") throw new TypeError("批量失败策略无效");
319
- const s = k(e, n.maxCases ?? 100);
320
- if (!s.length) throw new RangeError("批量生成至少需要一组参数");
321
- const a = Array.from({ length: s.length }), c = new AbortController(), d = () => c.abort(n.signal?.reason);
322
- n.signal?.addEventListener("abort", d, { once: !0 }), n.signal?.aborted && d();
323
- let g = 0, o = !1;
324
- async function u() {
325
- for (; g < s.length; ) {
326
- const i = g++, w = s[i], f = { id: w.id, index: i };
327
- if (o || c.signal.aborted) a[i] = { ...f, status: "cancelled" };
328
- else
329
- try {
330
- S(c.signal);
331
- const b = await t(w, { index: i, signal: c.signal });
332
- a[i] = { ...f, status: "completed", value: b };
333
- } catch (b) {
334
- c.signal.aborted ? a[i] = { ...f, status: "cancelled" } : (a[i] = { ...f, status: "failed", error: { name: b instanceof Error ? b.name : "Error", message: b instanceof Error ? b.message : String(b) } }, n.failure === "stop" && (o = !0));
335
- }
336
- H(a, n.onProgress);
337
- }
338
- }
339
- try {
340
- await Promise.all(Array.from({ length: Math.min(r, s.length) }, u));
341
- } finally {
342
- n.signal?.removeEventListener("abort", d);
343
- }
344
- return a;
345
- }
346
- export {
347
- m as R,
348
- Z as a,
349
- l as b,
350
- V as c,
351
- P as d,
352
- x as e,
353
- D as f,
354
- K as g,
355
- _ as h,
356
- k as i,
357
- v as j,
358
- U as k,
359
- z as l,
360
- W as r,
361
- p as s,
362
- S as t,
363
- F as v
364
- };
@@ -1,63 +0,0 @@
1
- import { a as l } from "./progress-7OSZbFok.js";
2
- import { a as w, i as D } from "./render-plan-Ck6koX9L.js";
3
- function E(e, t) {
4
- l(t.signal);
5
- try {
6
- t.onDiagnostic?.(e);
7
- } catch {
8
- }
9
- l(t.signal);
10
- }
11
- class O extends Error {
12
- constructor(t) {
13
- super(`Output contains ${t.length} known fidelity issue(s): ${t[0]?.code}`), this.diagnostics = t, this.code = "output-fidelity", this.name = "OutputFidelityError";
14
- }
15
- }
16
- const $ = /* @__PURE__ */ new Set(["text", "rect", "line", "ellipse"]), b = /* @__PURE__ */ new Set(["image", "chart", "barcode", "qrcode"]);
17
- function C(e, t) {
18
- if (!e.grid) {
19
- if (D(e))
20
- return (t === "pdf" || t === "xlsx") && !/^data:image\/(png|jpe?g);base64,/i.test(e.imageData) ? { code: "unsupported-image-format", message: `${t.toUpperCase()} accepts PNG or JPEG data URLs; convert this image before exporting.` } : void 0;
21
- if (b.has(e.kind)) return { code: "missing-image", message: `${e.kind} requires imageData or a renderer adapter before output.` };
22
- if (!$.has(e.kind)) return { code: "unsupported-component", message: `Unsupported component kind: ${e.kind}.` };
23
- if (t === "xlsx" && e.kind !== "text") return { code: "unsupported-component", message: `XLSX data export omits ${e.kind} geometry.` };
24
- }
25
- }
26
- function u(e, t, i, s, n) {
27
- return { ...n, severity: "warning", format: t, pageIndex: i, componentIndex: s, kind: e.kind, nid: e.nid };
28
- }
29
- function f(e, t) {
30
- if (!e || t === "dom") return;
31
- const i = [];
32
- return e.rotateDeg && i.push("rotateDeg"), e.opacity !== void 0 && e.opacity !== 1 && i.push("opacity"), t !== "xlsx" && e.align === "justify" && i.push("justify"), t === "canvas" && e.underline && i.push("underline"), t === "xlsx" && e.letterSpacing && i.push("letterSpacing"), i.length ? `${t} does not preserve these styles: ${i.join(", ")}.` : void 0;
33
- }
34
- function y(e, t, i, s, n, r, d) {
35
- if (d.has(e)) return;
36
- const v = new Set(d).add(e), p = C(e, t);
37
- p && r.push({ ...u(e, t, i, s, p), componentPath: n });
38
- const g = f(e.style, t);
39
- g && r.push({ ...u(e, t, i, s, { code: "unsupported-style", message: g }), componentPath: n }), w(e) && t !== "dom" && r.push(u(e, t, i, s, { code: "rich-text-flattened", message: "Rich text is exported as plain text; inline styles are not preserved." }));
40
- for (const [o, x] of (e.grid?.cells ?? []).entries()) for (const [a, c] of x.entries()) {
41
- const h = f(c?.style, t);
42
- if (h && r.push({ ...u(e, t, i, s, { code: "unsupported-style", message: h }), componentPath: [...n, o, a] }), c?.children?.length && t !== "dom")
43
- r.push({ ...u(e, t, i, s, { code: "nested-components-omitted", message: "Nested grid components are omitted; cell text is preserved." }), componentPath: [...n, o, a] });
44
- else if (t === "dom")
45
- for (const [k, S] of (c?.children ?? []).entries()) y(S, t, i, s, [...n, o, a, k], r, v);
46
- }
47
- }
48
- function j(e, t) {
49
- const i = [];
50
- return e.pages.forEach((s, n) => s.components.forEach((r, d) => y(r, t, n, d, [], i, /* @__PURE__ */ new Set()))), i;
51
- }
52
- function G(e, t, i) {
53
- l(i.signal);
54
- const s = j(e, t);
55
- if (s.forEach((n) => E(n, i)), i.fidelity === "strict" && s.length) throw new O(s);
56
- return s;
57
- }
58
- export {
59
- O,
60
- j as i,
61
- E as n,
62
- G as r
63
- };
@@ -1 +0,0 @@
1
- "use strict";const l=require("./progress-BnLiS5eH.cjs"),y=require("./render-plan-7xpGrCEl.cjs");function v(e,t){l.assertOutputActive(t.signal);try{t.onDiagnostic?.(e)}catch{}l.assertOutputActive(t.signal)}class O extends Error{constructor(t){super(`Output contains ${t.length} known fidelity issue(s): ${t[0]?.code}`),this.diagnostics=t,this.code="output-fidelity",this.name="OutputFidelityError"}}const $=new Set(["text","rect","line","ellipse"]),b=new Set(["image","chart","barcode","qrcode"]);function C(e,t){if(!e.grid){if(y.isImageBackedComponent(e))return(t==="pdf"||t==="xlsx")&&!/^data:image\/(png|jpe?g);base64,/i.test(e.imageData)?{code:"unsupported-image-format",message:`${t.toUpperCase()} accepts PNG or JPEG data URLs; convert this image before exporting.`}:void 0;if(b.has(e.kind))return{code:"missing-image",message:`${e.kind} requires imageData or a renderer adapter before output.`};if(!$.has(e.kind))return{code:"unsupported-component",message:`Unsupported component kind: ${e.kind}.`};if(t==="xlsx"&&e.kind!=="text")return{code:"unsupported-component",message:`XLSX data export omits ${e.kind} geometry.`}}}function u(e,t,i,s,n){return{...n,severity:"warning",format:t,pageIndex:i,componentIndex:s,kind:e.kind,nid:e.nid}}function f(e,t){if(!e||t==="dom")return;const i=[];return e.rotateDeg&&i.push("rotateDeg"),e.opacity!==void 0&&e.opacity!==1&&i.push("opacity"),t!=="xlsx"&&e.align==="justify"&&i.push("justify"),t==="canvas"&&e.underline&&i.push("underline"),t==="xlsx"&&e.letterSpacing&&i.push("letterSpacing"),i.length?`${t} does not preserve these styles: ${i.join(", ")}.`:void 0}function x(e,t,i,s,n,r,d){if(d.has(e))return;const k=new Set(d).add(e),p=C(e,t);p&&r.push({...u(e,t,i,s,p),componentPath:n});const g=f(e.style,t);g&&r.push({...u(e,t,i,s,{code:"unsupported-style",message:g}),componentPath:n}),y.isRichText(e)&&t!=="dom"&&r.push(u(e,t,i,s,{code:"rich-text-flattened",message:"Rich text is exported as plain text; inline styles are not preserved."}));for(const[o,S]of(e.grid?.cells??[]).entries())for(const[c,a]of S.entries()){const h=f(a?.style,t);if(h&&r.push({...u(e,t,i,s,{code:"unsupported-style",message:h}),componentPath:[...n,o,c]}),a?.children?.length&&t!=="dom")r.push({...u(e,t,i,s,{code:"nested-components-omitted",message:"Nested grid components are omitted; cell text is preserved."}),componentPath:[...n,o,c]});else if(t==="dom")for(const[w,E]of(a?.children??[]).entries())x(E,t,i,s,[...n,o,c,w],r,k)}}function D(e,t){const i=[];return e.pages.forEach((s,n)=>s.components.forEach((r,d)=>x(r,t,n,d,[],i,new Set))),i}function j(e,t,i){l.assertOutputActive(i.signal);const s=D(e,t);if(s.forEach(n=>v(n,i)),i.fidelity==="strict"&&s.length)throw new O(s);return s}exports.OutputFidelityError=O;exports.inspectOutputCapabilities=D;exports.notifyOutputDiagnostic=v;exports.reportOutputDiagnostics=j;
@@ -1 +0,0 @@
1
- "use strict";const a=require("vue"),y=require("@agile-team/mach-report"),T=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),C=require("./injection-keys-Db_DyLkm.cjs");class b extends Error{constructor(n,l,r){super(l),this.name="MachReportError",this.code=n,this.cause=r}}function N(e){return e instanceof b?{code:e.code,cause:e.cause}:{code:"render",cause:e}}function L(e){if(e instanceof b)return e;if(e instanceof y.ReportParamValidationError)return new b("param",e.message,e);if(e instanceof y.ReportSourceError)return new b(e.code,e.message,e.cause);if(e instanceof Error){const n={params:"param",config:"config",validate:"validate",fetch:"fetch"},l=e.code;if(typeof l=="string"&&Object.prototype.hasOwnProperty.call(n,l))return new b(n[l],e.message,e)}return new b("fetch",e instanceof Error?e.message:"预览加载失败",e)}let V=0;function O(){return`mrp-params-${++V}`}function S(e,n,l){const r=(Array.isArray(n)?n.find(s=>s?.field===e.field)?.label:void 0)??e.field;return e.code==="required"?l.paramRequired.replace("{label}",r):(l.paramInvalid??"{label}:{message}").replace("{label}",r).replace("{message}",e.message)}function _(e){const n=a.ref({}),l=a.ref(!1);function r(){const p={};for(const f of Array.isArray(e.defs.value)?e.defs.value:[])typeof f?.field=="string"&&Object.defineProperty(p,f.field,{value:e.params()[f.field]??f.defaultValue??"",writable:!0,enumerable:!0,configurable:!0});n.value=p,l.value=!1}r(),a.watch(e.defs,r),a.watch(e.reportIds,r),a.watch(()=>JSON.stringify(e.params()),r);const s=a.computed(()=>y.validateReportParams(e.defs.value,{...e.params(),...n.value})),i=a.computed(()=>!l.value&&s.value.issues.length>0&&s.value.issues.every(p=>p.code==="required"));function g(){const p=s.value;if(!p.ok){const u=p.issues[0];return{quiet:i.value,error:new b(u.code==="definition"?"config":"param",S(u,e.defs.value,e.messages()),{issues:p.issues})}}const f={...p.values},P=new Set(e.defs.value.filter(u=>u.defaultValue!==void 0).map(u=>u.field));for(const[u,x]of Object.entries(f))x===""&&!P.has(u)&&delete f[u];return{params:f,quiet:!1}}return{values:n,attempted:l,validation:s,pendingRequired:i,reset:r,query:g}}const H={key:0,class:"mrp-params-title"},U={class:"mrp-params-grid"},G=["id"],$={key:0,class:"mrp-param-star"},K=["value","disabled","aria-labelledby","aria-invalid","aria-describedby","aria-required","onChange"],j=["disabled","hidden"],W=["value"],z=["aria-labelledby"],J=["value","disabled","min","max","aria-label","aria-invalid","aria-describedby","aria-required","onInput"],Y=["type","inputmode","maxlength","placeholder","value","disabled","min","max","step","aria-labelledby","aria-invalid","aria-describedby","aria-required","onInput"],X=["id"],Q={key:1,class:"mrp-params-actions"},Z=["disabled"],ee=["disabled"],ae=a.defineComponent({__name:"ReportParamPanel",props:{defs:{},modelValue:{},messages:{},attempted:{type:Boolean},issues:{default:void 0},showActions:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","query","reset"],setup(e,{expose:n,emit:l}){const r=e,s=l,i=a.ref({...r.modelValue}),g=a.ref(null),p=O();a.watch(()=>r.modelValue,o=>{i.value={...o}});const f=a.computed(()=>r.issues??y.validateReportParams(r.defs,i.value).issues),P=a.computed(()=>(Array.isArray(r.defs)?r.defs:[]).filter(o=>o&&typeof o.field=="string").map((o,c)=>({def:o,id:`${p}-${c}`,label:o.label??o.field,value:i.value[o.field]??"",error:r.attempted?f.value.find(t=>t.field===o.field):void 0})));function u(o,c){i.value={...i.value,[o]:c},s("update:modelValue",{...i.value})}function x(o){return o.type==="number"?"number":o.type==="date"||o.type==="month"?o.type:"text"}function v(o,c){return o.split("/")[c]??""}function F(o,c,t){return t?!!v(o,0)!=!!v(o,1)?!v(o,c)||void 0:!0:void 0}function D(o,c,t){const d=[v(i.value[o]??"",0),v(i.value[o]??"",1)];d[c]=t,u(o,d.every(h=>!h)?"":d.join("/"))}function w(o){o.isComposing||s("query")}function I(){g.value?.querySelector('[aria-invalid="true"]')?.focus()}return n({focusInvalid:I}),(o,c)=>(a.openBlock(),a.createElementBlock("div",{ref_key:"root",ref:g,class:"mrp-params"},[e.showTitle!==!1?(a.openBlock(),a.createElementBlock("span",H,a.toDisplayString(e.messages.paramsTitle),1)):a.createCommentVNode("",!0),a.createElementVNode("div",U,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(P.value,t=>(a.openBlock(),a.createElementBlock("label",{key:t.id,class:a.normalizeClass(["mrp-param",{"mrp-param-missing":!!t.error}])},[a.createElementVNode("span",{id:`${t.id}-label`,class:"mrp-param-label"},[a.createTextVNode(a.toDisplayString(t.label),1),t.def.required?(a.openBlock(),a.createElementBlock("i",$,"*")):a.createCommentVNode("",!0)],8,G),(t.def.type??"text")==="select"?(a.openBlock(),a.createElementBlock("select",{key:0,class:"mrp-param-input",value:t.value,disabled:e.disabled,"aria-labelledby":`${t.id}-label`,"aria-invalid":t.error?!0:void 0,"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onChange:d=>u(t.def.field,d.target.value),onKeydown:a.withKeys(w,["enter"])},[a.createElementVNode("option",{value:"",disabled:t.def.required,hidden:t.def.required},a.toDisplayString(t.def.placeholder??(e.messages.paramSelectPlaceholder??"请选择{label}").replace("{label}",t.label)),9,j),(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(t.def.options??[],d=>(a.openBlock(),a.createElementBlock("option",{key:d.value,value:d.value},a.toDisplayString(d.label),9,W))),128))],40,K)):t.def.type==="dateRange"?(a.openBlock(),a.createElementBlock("div",{key:1,class:"mrp-param-range",role:"group","aria-labelledby":`${t.id}-label`},[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList([e.messages.paramRangeStart??"开始日期",e.messages.paramRangeEnd??"结束日期"],(d,h)=>(a.openBlock(),a.createElementBlock("input",{key:h,class:"mrp-param-input",type:"date",value:v(t.value,h),disabled:e.disabled,min:t.def.min,max:t.def.max,"aria-label":`${t.label} · ${d}`,"aria-invalid":F(t.value,h,t.error),"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onInput:q=>D(t.def.field,h,q.target.value),onKeydown:a.withKeys(w,["enter"])},null,40,J))),128))],8,z)):(a.openBlock(),a.createElementBlock("input",{key:2,class:"mrp-param-input",type:x(t.def),inputmode:t.def.type==="year"?"numeric":void 0,maxlength:t.def.type==="year"?4:void 0,placeholder:t.def.placeholder??(e.messages.paramTextPlaceholder??"请输入{label}").replace("{label}",t.label),value:t.value,disabled:e.disabled,min:t.def.min,max:t.def.max,step:t.def.type==="number"?"any":void 0,"aria-labelledby":`${t.id}-label`,"aria-invalid":t.error?!0:void 0,"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onInput:d=>u(t.def.field,d.target.value),onKeydown:a.withKeys(w,["enter"])},null,40,Y)),t.error?(a.openBlock(),a.createElementBlock("small",{key:3,id:`${t.id}-error`,class:"mrp-param-error",role:"status"},a.toDisplayString(a.unref(S)(t.error,e.defs,e.messages)),9,X)):a.createCommentVNode("",!0)],2))),128))]),e.showActions!==!1?(a.openBlock(),a.createElementBlock("div",Q,[a.createElementVNode("button",{class:"mrp-nav mrp-param-query",type:"button",disabled:e.disabled,onClick:c[0]||(c[0]=t=>o.$emit("query"))},a.toDisplayString(e.messages.query),9,Z),a.createElementVNode("button",{class:"mrp-nav",type:"button",disabled:e.disabled,onClick:c[1]||(c[1]=t=>o.$emit("reset"))},a.toDisplayString(e.messages.reset),9,ee)])):a.createCommentVNode("",!0)],512))}}),te=T._export_sfc(ae,[["__scopeId","data-v-f64e743f"]]),k={calculationTitle:"选区计算",calculationLocal:"仅本地分析,不写回实绩、不重算原公式。请选取同一单位与量纲的数值。",calculationHint:"点击起点,Shift + 点击终点或方向键扩选。",calculationFormula:"计算方式",calculationExpression:"组合公式",calculationExpressionHint:"支持 SUM、AVERAGE/AVG、MIN、MAX、COUNT、MEDIAN 及 + - * / 和括号,不执行 Excel 公式;采用浮点数,精度仅用于展示。",calculationPrecision:"展示小数位",calculationRun:"计算选区",calculationCancel:"取消计算",calculationResult:"计算结果",calculationIncluded:"参与数值",calculationExcluded:"排除单元格",calculationEmpty:"选区没有可计算数值,计数为 0,其余结果为空。",calculationNoSelection:"先关闭设置并选择数据,再从底部工具栏打开选区计算。",calculationSum:"求和 SUM",calculationAverage:"平均值 AVERAGE",calculationMin:"最小值 MIN",calculationMax:"最大值 MAX",calculationCount:"数值计数 COUNT",calculationMedian:"中位数 MEDIAN",calculationCustom:"组合公式",calculationErrorSelection:"请选择同一明细区域中的数据。",calculationErrorLimit:"选区超过计算预算,请缩小范围后重试。",calculationErrorExpression:"公式无效,请使用支持的摘要名称、运算符与括号。",calculationErrorDivision:"除数不能为 0。",calculationErrorOverflow:"结果超出有效数值范围。",calculationErrorPrecision:"数值超出安全精度,或展示小数位不是 0 至 12 的整数。"};function re(e){const n={...k};for(const l of Object.keys(n)){const r=e[l];typeof r=="string"&&(n[l]=r)}return n}const R={...k,exportMenu:"导出",exportMenuDescription:"选择文件格式",clearSearch:"清除搜索",searchHint:"Enter 下一个 · Shift+Enter 上一个",searchNoMatches:"没有匹配内容",pageJump:"跳至页",pageJumpInvalid:"请输入有效页码",pageJumpHint:"Enter 跳转",pagination:"报表分页",recordNavigation:"标签记录",recordInfo:"记录 {cur} / {total}",prevRecord:"上一条记录",nextRecord:"下一条记录",columnSearchHint:"输入列名或字段标识",columnSearchShortcut:"↑ ↓ 选择 · Enter 定位",closeColumnDirectory:"关闭字段目录",columnResultsMore:"{count} 个匹配字段,显示前 {limit} 个;继续输入可缩小范围",columnCount:"{count} 个字段",settingsGeneral:"常规",settingsTools:"工具",settingsAdvanced:"高级",settingsAdvancedDescription:"按需开启分析能力,保持日常阅读简洁。",settingsCalculations:"启用选区计算",settingsCalculationsDescription:"选取数值后计算求和、平均值或组合公式,仅用于本地分析。",title:"报表预览",prevPage:"‹ 上一页",nextPage:"下一页 ›",pageInfo:"{cur} / {total}",fitWidth:"适宽",exportHtml:"导出 HTML",exportPdf:"导出 PDF",exportExcel:"导出 Excel",exportImage:"导出图片",exportWord:"导出 Word",exporting:"正在生成 {format}…",print:"打印",pdfWindow:"PDF 窗口",loading:"报表渲染中…",empty:"暂无预览数据",errorPrefix:"",retry:"重试",pdfFontUnavailable:"PDF 字体尚未就绪,请联系管理员检查字体配置;预览及其它导出仍可使用。",searchPlaceholder:"搜索报表内容",matchInfo:"{cur}/{total}",prevMatch:"‹",nextMatch:"›",thumbnails:"缩略图",paramsTitle:"查询条件",query:"查 询",reset:"重 置",paramRequired:"请填写{label}",paramInvalid:"{label}:{message}",paramPrompt:"请先完善查询条件",paramPromptDescription:"填写必填条件后点击查询,即可生成报表。",paramSelectPlaceholder:"请选择{label}",paramTextPlaceholder:"请输入{label}",paramRangeStart:"开始日期",paramRangeEnd:"结束日期",searching:"搜索中…",importExcel:"导入 Excel 模板",importing:"正在导入 Excel…",editCell:"编辑单元格",editingHint:"双击单元格编辑 · Enter 确认 · Esc 取消",saving:"正在保存修改…",editInvalidNumber:"请输入有效数字;清空表示无值",editInvalidBoolean:"请输入 true / false、是 / 否或 1 / 0",editConflict:"该单元格已变化,请重新打开编辑",settings:"设置",settingsDisplay:"阅读工具",settingsExport:"导出与打印",settingsData:"数据操作",settingsUnavailable:"需由接入方配置启用",settingsReset:"恢复默认",settingsClose:"关闭设置",search:"内容搜索",closeSearch:"关闭搜索",prevSearchMatch:"上一个匹配",nextSearchMatch:"下一个匹配",zoom:"缩放工具",settingsLocal:"按需启用工具,仅作用于当前预览。",editingLocal:"修改为本地草稿;不会自动写入业务数据库。",editingSaved:"修改将通过接入方配置的保存回调提交。",importLocal:"导入仅生成本地预览,不自动替换业务数据。",emptyDescription:"当前查询没有明细,请调整查询条件后重试。",undo:"撤销",redo:"重做",restoreChanges:"恢复来源值",changes:"修改明细",changesCount:"{count} 处修改",changesEmpty:"尚无修改",changesBefore:"来源值",changesAfter:"当前值",editAtomicRequired:"批量保存需要接入方提供原子 saveBatch 回调;本次未写入任何单元格。",clipboardLimit:"单次最多粘贴 10000 个单元格,请分批处理。",preferencesError:"偏好存储不可用,设置仍在当前预览中生效。",freezeHeaders:"冻结表头",frozenColumns:"冻结前列",sections:"工作表与章节",locateField:"定位字段",locateFieldPlaceholder:"输入字段标识,Enter 定位",locateFieldMissing:"未找到该字段,请核对字段标识。",importSummary:"Excel 导入摘要",importPreserved:"已导入 {sheets} 个工作表,保留内容、合并和样式。",importWarnings:"兼容性提示",importReadOnly:"公式、日期及受保护单元格保持只读;公式不重算。",conflicts:"保存冲突",editReadOnly:"选区包含只读或无权限单元格,本次修改未应用。",editMissing:"选区超出报表范围或缺少业务来源,请重新选择。",editRecalculationUnavailable:"此报表缺少重算会话或稳定数据来源,暂不支持编辑;请使用 reports/本地数据源重新加载。",editDuplicate:"选区包含同一业务字段的重复单元格,请缩小选区。",clipboardInvalid:"剪贴板内容无法识别,请使用矩形表格文本重新粘贴。",editSaved:"修改已通过保存回调确认",settingsPanes:"冻结窗格",columnDirectory:"字段目录",columnSearch:"搜索列名或字段",columnNoMatches:"未找到匹配字段",columnResults:"匹配字段",columnGroup:"明细区域",discardTitle:"保留当前修改?",discardDescription:"当前报表有尚未保存的输入或本地草稿,继续操作将替换这些内容。",discardKeep:"继续编辑",discardProceed:"放弃修改并继续",taskQuery:"正在获取数据…",taskValidate:"正在校验数据…",taskLayout:"正在生成版式…",taskAssets:"正在准备图片和字体…",taskEncode:"正在生成文件…",taskDownload:"正在准备下载…",taskPrint:"正在准备打印…",taskCancel:"取消任务",taskCancelled:"任务已取消,可重新操作。",diagnosticsSearch:"搜索提示、错误码或位置",diagnosticsMore:"共 {count} 条匹配,当前展示前 100 条;请搜索缩小范围。",diagnosticsTitle:"输出兼容性提示",diagnosticsLocate:"定位",diagnosticsLocation:"第 {page} 页 · 组件 {component}",diagnosticsStrict:"当前格式存在已知内容降级,请查看兼容性提示或选择其他输出格式。",diagnosticsDetails:"查看技术详情",diagnosticMissingImage:"图片或图表资源尚未准备完成,请重试或联系管理员。",diagnosticUnsupported:"当前输出格式会省略此内容,建议选择 PDF 或图片格式。",diagnosticUnsupportedStyle:"当前格式无法保留部分样式,请查看位置并选择适合的输出格式。",diagnosticImageFormat:"当前图片格式无法直接导出,请转换资源后重试。",diagnosticRichText:"文字内容会保留,部分字体与段落样式将简化。",diagnosticNested:"单元格中的嵌套内容会省略,单元格文字会保留。",diagnosticImageAsync:"图片需要完成加载后才能输出。",diagnosticImageDecode:"图片加载失败,请检查资源后重试。",diagnosticAssetFailed:"图表或图片生成失败,请重试或联系管理员。",diagnosticAssetBudget:"图片资源超出处理范围,请减少资源或缩小报表范围。"},M={emptyAccent:"#79a7e8",shellBg:"#f4f7fc",shellFg:"#334155",toolbarBg:"#ffffff",toolbarBorder:"#e4eaf3",toolbarFg:"#334155",btnFg:"#526078",btnBorder:"#dbe3ef",btnHoverBg:"#edf3ff",btnHoverFg:"#315fba",btnActiveBg:"#3569d4"};function A(e={}){return{...e,defaults:e.defaults??{},presets:e.presets??{}}}function ne(e){return e}const m={showExport:!0,showPrint:!0,showPdfWindow:!0,showSettings:!0,showParams:!0,gapPx:18,pdfFontUrl:"/simhei.ttf",logger:console},oe={warn:()=>{},info:()=>{}};function E(e,n){return{...e,...n,theme:{...e?.theme,...n?.theme},messages:{...e?.messages,...n?.messages},preview:{...e?.preview,...n?.preview},xlsx:{...e?.xlsx,...n?.xlsx},toolbar:{...e?.toolbar,...n?.toolbar},interaction:{...e?.interaction,...n?.interaction},output:{...e?.output,...n?.output}}}function le(e){return{showExport:e.showExport??m.showExport,showPrint:e.showPrint??m.showPrint,showPdfWindow:e.showPdfWindow??m.showPdfWindow,showSettings:e.showSettings??m.showSettings,showParams:e.showParams??m.showParams,gapPx:e.gapPx??m.gapPx}}function se(e,n){const l=n?e?.presets?.[n]:e?.defaultPreset?e?.presets?.[e.defaultPreset]:void 0,r=E(e?.defaults,l);return{...le(r),pdfFontUrl:r.pdfFontUrl??m.pdfFontUrl,theme:{...M,...r.theme},messages:{...R,...r.messages},logger:r.logger??m.logger,preview:{overscanPages:B(r.preview?.overscanPages,1,10,!0),searchDebounceMs:B(r.preview?.searchDebounceMs,200,2e3)},xlsx:{...r.xlsx},editable:r.editable??!1,excelImport:r.excelImport??!1,toolbar:{...r.toolbar},interaction:{...r.interaction},preferences:r.preferences,assets:r.assets,guardChanges:r.guardChanges??!0,beforeDiscard:r.beforeDiscard,output:{...r.output}}}function B(e,n,l,r=!1){if(e==null||!Number.isFinite(e))return n;const s=Math.max(0,Math.min(l,e));return r?Math.floor(s):s}function ie(e){const n={};return e.emptyAccent!=null&&(n["--mrp-empty-accent"]=e.emptyAccent),e.shellBg!=null&&(n["--mrp-shell-bg"]=e.shellBg),e.shellFg!=null&&(n["--mrp-shell-fg"]=e.shellFg),e.toolbarBg!=null&&(n["--mrp-toolbar-bg"]=e.toolbarBg),e.toolbarBorder!=null&&(n["--mrp-toolbar-border"]=e.toolbarBorder),e.toolbarFg!=null&&(n["--mrp-toolbar-fg"]=e.toolbarFg),e.btnFg!=null&&(n["--mrp-btn-fg"]=e.btnFg),e.btnBorder!=null&&(n["--mrp-btn-border"]=e.btnBorder),e.btnHoverBg!=null&&(n["--mrp-btn-hover-bg"]=e.btnHoverBg),e.btnHoverFg!=null&&(n["--mrp-btn-hover-fg"]=e.btnHoverFg),e.btnActiveBg!=null&&(n["--mrp-btn-active-bg"]=e.btnActiveBg),n}function ce(e){const n=a.inject(C.MACH_REPORT_CONFIG_KEY,null),l=a.computed(()=>{const r=n?.value??null,s="defaults"in e||"presets"in e||"defaultPreset"in e?A(e):{defaults:e,presets:{}};if(!r)return s;const i={...r.presets,...s.presets};for(const g of Object.keys(i))i[g]=E(E(r.presets[g],s.defaults),s.presets[g]);return{defaults:E(r.defaults,s.defaults),presets:i,defaultPreset:s.defaultPreset??r.defaultPreset}});a.provide(C.MACH_REPORT_CONFIG_KEY,l)}function de(){return a.inject(C.MACH_REPORT_CONFIG_KEY,a.computed(()=>null))}exports.DEFAULT_CALCULATION_MESSAGES=k;exports.DEFAULT_MESSAGES=R;exports.DEFAULT_THEME=M;exports.MachReportError=b;exports.ReportParamPanel=te;exports.SILENT_LOGGER=oe;exports.defineMachReportConfig=A;exports.defineMachReportPreset=ne;exports.normalizeReportLoadError=L;exports.provideMachReportConfig=ce;exports.resolveCalculationMessages=re;exports.resolveConfig=se;exports.themeToCssVars=ie;exports.toErrorDetail=N;exports.useMachReportConfig=de;exports.useReportParams=_;