@agile-team/mach-report 2.15.0 → 2.16.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 (155) hide show
  1. package/README.md +14 -9
  2. package/dist/{ExcelBindingWizard-Bs43BGNp.cjs → ExcelBindingWizard-CP6h2x1f.cjs} +1 -1
  3. package/dist/{ExcelBindingWizard-BKH1nGNS.js → ExcelBindingWizard-HhB3hAJE.js} +3 -3
  4. package/dist/{ParamEditor-Da4akw6V.cjs → ParamEditor-CUQLgoxa.cjs} +1 -1
  5. package/dist/{ParamEditor-DoAhzJsm.js → ParamEditor-OKesP_nO.js} +1 -1
  6. package/dist/{ReportBatchPanel-wP9m9Pj1.cjs → ReportBatchPanel-cZCAMAwH.cjs} +1 -1
  7. package/dist/{ReportBatchPanel-BMf6boMA.js → ReportBatchPanel-ruxcbfY6.js} +3 -3
  8. package/dist/ReportPreview-BcDKCLiK.js +4834 -0
  9. package/dist/ReportPreview-Bk9nLfO9.cjs +6 -0
  10. package/dist/{ReportTemplateLibrary-Sxr3eD0J.cjs → ReportTemplateLibrary-BDlNT8JN.cjs} +1 -1
  11. package/dist/{ReportTemplateLibrary-C9wutIiT.js → ReportTemplateLibrary-DcwrH-63.js} +1 -1
  12. package/dist/{RuleEditor-XhGHK8DE.cjs → RuleEditor-BX5S8RSF.cjs} +1 -1
  13. package/dist/{RuleEditor-C_Clasvd.js → RuleEditor-CGl9XY2s.js} +2 -2
  14. package/dist/{TemplateOutlinePanel-JTSR53vJ.cjs → TemplateOutlinePanel-CGrT5DFN.cjs} +1 -1
  15. package/dist/{TemplateOutlinePanel-D6Bkny59.js → TemplateOutlinePanel-SXCjaPKR.js} +1 -1
  16. package/dist/{TemplateReusePanel-Kx35S0Ql.cjs → TemplateReusePanel-6Z3wRFz8.cjs} +1 -1
  17. package/dist/{TemplateReusePanel-rVuK1kTz.js → TemplateReusePanel-lHLOS9Wn.js} +2 -2
  18. package/dist/{TemplateReviewPanel-B0ar9_zf.js → TemplateReviewPanel-CJ9PLc48.js} +1 -1
  19. package/dist/{TemplateReviewPanel-Dn6X9UmY.cjs → TemplateReviewPanel-Dpk7sLcF.cjs} +1 -1
  20. package/dist/analytics.d.cts +2 -0
  21. package/dist/analytics.d.ts +2 -0
  22. package/dist/artifact-integrity.json +99 -91
  23. package/dist/{assets-DEaz4qsp.js → assets-CqIbfbTr.js} +24 -22
  24. package/dist/assets-e4YSke8n.cjs +1 -0
  25. package/dist/auto-YR7a4BtF.js +240 -0
  26. package/dist/auto-uVBjX1j5.cjs +1 -0
  27. package/dist/{batch-BfZHN1do.js → batch-WzDIXJAt.js} +1 -1
  28. package/dist/{batch-CLpELXBl.cjs → batch-z6Aw5GEY.cjs} +1 -1
  29. package/dist/capabilities-DDwXr_cA.js +103 -0
  30. package/dist/capabilities-DNLyZdNw.cjs +1 -0
  31. package/dist/codes.d.cts +2 -0
  32. package/dist/codes.d.ts +2 -0
  33. package/dist/component-tree-Ca6YYfHq.js +61 -0
  34. package/dist/component-tree-DkGLEfZC.cjs +1 -0
  35. package/dist/config-Dg_o8e7m.cjs +1 -0
  36. package/dist/{config-BVsJXSqS.js → config-XQ4qrQ7Q.js} +66 -64
  37. package/dist/designer-BfQSahxq.js +5163 -0
  38. package/dist/designer-CPPdeM5_.cjs +2 -0
  39. package/dist/designer.cjs +1 -1
  40. package/dist/designer.d.cts +53 -0
  41. package/dist/designer.d.ts +53 -0
  42. package/dist/designer.js +1 -1
  43. package/dist/diagnostic-notification-B9K9We3h.cjs +1 -0
  44. package/dist/diagnostic-notification-qGAYZdkB.js +7 -0
  45. package/dist/drill-CsdjgkRM.cjs +1 -0
  46. package/dist/{drill-ByJviLXS.js → drill-DIGsZfyB.js} +11 -11
  47. package/dist/encoding-BOGq4qYL.js +21 -0
  48. package/dist/encoding-BYF9ZTl9.cjs +1 -0
  49. package/dist/{font-loader-Q3bQjmrI.js → font-loader-CzI1GuBc.js} +1 -1
  50. package/dist/{font-loader-B_UkxpzC.cjs → font-loader-EKLzOJxf.cjs} +1 -1
  51. package/dist/index.cjs +7 -8
  52. package/dist/index.d.cts +2 -0
  53. package/dist/index.d.ts +2 -0
  54. package/dist/index.js +865 -834
  55. package/dist/json-snapshot-D6ioHth9.js +1702 -0
  56. package/dist/json-snapshot-DknkjvxP.cjs +2 -0
  57. package/dist/{pdf-CvvrjPQg.cjs → pdf-ByVCb1i6.cjs} +48 -50
  58. package/dist/{pdf-BwNyeGpt.js → pdf-DJ5S6ukC.js} +2737 -2749
  59. package/dist/pdf.cjs +1 -1
  60. package/dist/pdf.d.cts +2 -0
  61. package/dist/pdf.d.ts +2 -0
  62. package/dist/pdf.js +2 -2
  63. package/dist/{plugin-Ca_XZG3l.js → plugin-C2j5_mhx.js} +1 -1
  64. package/dist/{plugin-DHO7X8z2.cjs → plugin-Dr39GBRG.cjs} +1 -1
  65. package/dist/prepared-DdrjLC7L.cjs +1 -0
  66. package/dist/prepared-DqtpvRTn.js +87 -0
  67. package/dist/progress-BXzlVbIp.js +29 -0
  68. package/dist/progress-DJBd9Rb9.cjs +1 -0
  69. package/dist/{progress-D-OTpEav.js → progress-Hc2vxoCs.js} +2 -2
  70. package/dist/protocol-BzwMP4Vw.cjs +1 -0
  71. package/dist/protocol-kt4Iy6-3.js +90 -0
  72. package/dist/{record-bindings-Do_b3h4V.js → record-bindings-CZWBJ1fU.js} +9 -10
  73. package/dist/record-bindings-DUX1VMlR.cjs +1 -0
  74. package/dist/{region-binding-workflow-BMhK_TjP.js → region-binding-workflow-CWNvIjkV.js} +1 -1
  75. package/dist/{region-binding-workflow-DIYJdCUr.cjs → region-binding-workflow-CqSMxQ4p.cjs} +1 -1
  76. package/dist/report-encoding-worker.cjs +1 -0
  77. package/dist/report-encoding-worker.d.ts +1 -0
  78. package/dist/report-encoding-worker.js +2 -0
  79. package/dist/rich-text-layout-ALlMoYOG.cjs +3 -0
  80. package/dist/rich-text-layout-Ct5WrY1g.js +102 -0
  81. package/dist/runtime-BjKBI530.js +168 -0
  82. package/dist/runtime-CBFEPKEs.cjs +1 -0
  83. package/dist/sbom.cdx.json +2 -2
  84. package/dist/server/node.d.cts +86 -1
  85. package/dist/server/node.d.ts +86 -1
  86. package/dist/server-node.cjs +5 -1
  87. package/dist/server-node.js +4558 -473
  88. package/dist/server.cjs +1 -1
  89. package/dist/server.d.cts +8 -1
  90. package/dist/server.d.ts +8 -1
  91. package/dist/server.js +634 -792
  92. package/dist/sha256-BshdOkCC.cjs +1 -0
  93. package/dist/sha256-DTG-Gq8i.js +157 -0
  94. package/dist/style-67OqfNed.js +73 -0
  95. package/dist/style-C22Pbv3T.cjs +1 -0
  96. package/dist/style.css +1 -1
  97. package/dist/{template-catalog-j2B1MJlL.js → template-catalog-BtR2JmCL.js} +9 -9
  98. package/dist/{template-catalog-FJE_c9Qe.cjs → template-catalog-C2NLdrwB.cjs} +1 -1
  99. package/dist/{template-fragments-DcKeiylI.cjs → template-fragments-BVsbxs4a.cjs} +1 -1
  100. package/dist/{template-fragments-BGbQLGlV.js → template-fragments-By0aZC1D.js} +2 -2
  101. package/dist/template-registry-C62vpv4a.cjs +1 -0
  102. package/dist/{template-registry-BtaKPELV.js → template-registry-Cw3vRTX2.js} +389 -321
  103. package/dist/{textwrap-DE1kgcJB.js → textwrap-BEIg2w8y.js} +1 -1
  104. package/dist/textwrap-BI-yJ6Wt.cjs +4 -0
  105. package/dist/vue/async.d.cts +66 -0
  106. package/dist/vue/async.d.ts +66 -0
  107. package/dist/vue/index.d.cts +89 -1
  108. package/dist/vue/index.d.ts +89 -1
  109. package/dist/vue-async.cjs +1 -1
  110. package/dist/vue-async.js +3 -3
  111. package/dist/vue.cjs +1 -1
  112. package/dist/vue.js +7 -7
  113. package/dist/{workbook-session-BvToI-Fd.js → workbook-session-BeSO8PFB.js} +153 -140
  114. package/dist/{workbook-session-Bjv1YCRK.cjs → workbook-session-Cbts-22R.cjs} +12 -12
  115. package/dist/worker.cjs +1 -1
  116. package/dist/worker.d.cts +84 -1
  117. package/dist/worker.d.ts +84 -1
  118. package/dist/worker.js +12 -157
  119. package/dist/xlsx-node.cjs +33 -33
  120. package/dist/xlsx-node.js +1282 -1289
  121. package/dist/xlsx.cjs +4 -3
  122. package/dist/xlsx.d.cts +2 -0
  123. package/dist/xlsx.d.ts +2 -0
  124. package/dist/xlsx.js +297 -279
  125. package/package.json +6 -3
  126. package/dist/ReportPreview-ChV19HBp.js +0 -4619
  127. package/dist/ReportPreview-DbLvvOUT.cjs +0 -6
  128. package/dist/assets-B9ImAi6_.cjs +0 -1
  129. package/dist/batch-BaP6pWDE.cjs +0 -1
  130. package/dist/batch-CGyt-b2W.js +0 -273
  131. package/dist/capabilities-CAh2Nrue.cjs +0 -1
  132. package/dist/capabilities-DskCHs3V.js +0 -69
  133. package/dist/config-D10us76d.cjs +0 -1
  134. package/dist/data-explanation-B8MZRYVS.js +0 -16
  135. package/dist/data-explanation-DE55G30w.cjs +0 -1
  136. package/dist/defaults-DXhiM1ZD.js +0 -10
  137. package/dist/defaults-xhmcLLrf.cjs +0 -1
  138. package/dist/designer-2bDlcNXQ.js +0 -5136
  139. package/dist/designer-BT7XCdbW.cjs +0 -2
  140. package/dist/drill-DYTxuL3A.cjs +0 -1
  141. package/dist/grid-strokes-Cr7DwUux.cjs +0 -1
  142. package/dist/grid-strokes-DyyG1q_o.js +0 -53
  143. package/dist/json-snapshot-DFb2eWkf.js +0 -1416
  144. package/dist/json-snapshot-WWSGlaHG.cjs +0 -2
  145. package/dist/prepared-CFy9B75C.cjs +0 -1
  146. package/dist/prepared-ajM-H-9B.js +0 -69
  147. package/dist/record-bindings-By_UKZ2g.cjs +0 -1
  148. package/dist/render-plan-7xpGrCEl.cjs +0 -1
  149. package/dist/render-plan-Ck6koX9L.js +0 -13
  150. package/dist/sha256-ArEYjaTI.cjs +0 -1
  151. package/dist/sha256-DPEuJ3nh.js +0 -155
  152. package/dist/style-CQ1PK8ZB.js +0 -67
  153. package/dist/style-UgIJSA1F.cjs +0 -1
  154. package/dist/template-registry-Co1zPq5e.cjs +0 -1
  155. package/dist/textwrap-CWHyzkBH.cjs +0 -4
@@ -1,6 +1,6 @@
1
- import { ref as x, watch as M, nextTick as B, onMounted as oe, onBeforeUnmount as X, computed as O, shallowRef as de, defineComponent as Y, openBlock as f, createElementBlock as v, createElementVNode as q, normalizeClass as K, createVNode as j, unref as p, toDisplayString as k, createCommentVNode as $, Fragment as N, renderList as U, withModifiers as ue, createTextVNode as Q, createBlock as ce, withKeys as z, inject as Z, provide as fe } from "vue";
1
+ import { ref as x, watch as M, nextTick as B, onMounted as se, onBeforeUnmount as X, computed as O, shallowRef as de, defineComponent as Y, openBlock as f, createElementBlock as v, createElementVNode as q, normalizeClass as K, createVNode as j, unref as p, toDisplayString as k, createCommentVNode as $, Fragment as N, renderList as U, withModifiers as ue, createTextVNode as Q, createBlock as ce, withKeys as z, inject as Z, provide as fe } from "vue";
2
2
  import { ReportParamValidationError as pe, ReportSourceError as ve, validateReportParams as _ } from "@agile-team/mach-report";
3
- import { w as me } from "./progress-D-OTpEav.js";
3
+ import { w as me } from "./progress-Hc2vxoCs.js";
4
4
  import { a as G, _ as ee } from "./_plugin-vue_export-helper-8SL1F89S.js";
5
5
  import { a as W } from "./injection-keys-e85udZCp.js";
6
6
  const ge = {
@@ -19,12 +19,12 @@ function ia(e) {
19
19
  if (![t, r].every((n) => Number.isFinite(n) && Math.abs(n) <= 20)) throw new RangeError("Print calibration must be within ±20 mm");
20
20
  return { x: t, y: r };
21
21
  }
22
- function sa(e = {}) {
22
+ function oa(e = {}) {
23
23
  if (e.fonts && (!Array.isArray(e.fonts) || e.fonts.length > 8)) throw new RangeError("At most eight print font faces are allowed");
24
24
  return { ...e, ...e.fonts ? { fonts: e.fonts.map((t) => ({ ...t })) } : {}, ...e.calibration ? { calibration: { ...e.calibration } } : {} };
25
25
  }
26
26
  function be(e = {}) {
27
- const t = x(!1), r = x(null), n = x(null), s = x(null);
27
+ const t = x(!1), r = x(null), n = x(null), o = x(null);
28
28
  function u(i = !1) {
29
29
  t.value = !1, i && B(() => n.value?.focus());
30
30
  }
@@ -35,19 +35,19 @@ function be(e = {}) {
35
35
  i.key !== "Escape" || !t.value || i.isComposing || (i.preventDefault(), i.stopPropagation(), u(!0));
36
36
  }
37
37
  return M(t, (i) => {
38
- !i || e.focusOnOpen === !1 || B(() => (s.value?.querySelector("input") ?? s.value?.querySelector("button:not(:disabled)"))?.focus());
39
- }), oe(() => {
38
+ !i || e.focusOnOpen === !1 || B(() => (o.value?.querySelector("input") ?? o.value?.querySelector("button:not(:disabled)"))?.focus());
39
+ }), se(() => {
40
40
  document.addEventListener("pointerdown", g), document.addEventListener("focusin", g);
41
41
  }), X(() => {
42
42
  document.removeEventListener("pointerdown", g), document.removeEventListener("focusin", g);
43
- }), { opened: t, root: r, trigger: n, panel: s, close: u, onKeydown: c };
43
+ }), { opened: t, root: r, trigger: n, panel: o, close: u, onKeydown: c };
44
44
  }
45
45
  class L extends Error {
46
46
  constructor(t, r, n) {
47
47
  super(r), this.name = "MachReportError", this.code = t, this.cause = n;
48
48
  }
49
49
  }
50
- function oa(e) {
50
+ function sa(e) {
51
51
  return e instanceof L ? { code: e.code, cause: e.cause } : { code: "render", cause: e };
52
52
  }
53
53
  function da(e) {
@@ -65,7 +65,7 @@ function he() {
65
65
  return `mrp-params-${++ye}`;
66
66
  }
67
67
  function ae(e, t, r) {
68
- const n = (Array.isArray(t) ? t.find((s) => s?.field === e.field)?.label : void 0) ?? e.field;
68
+ const n = (Array.isArray(t) ? t.find((o) => o?.field === e.field)?.label : void 0) ?? e.field;
69
69
  return e.code === "required" ? r.paramRequired.replace("{label}", n) : (r.paramInvalid ?? "{label}:{message}").replace("{label}", n).replace("{message}", e.message);
70
70
  }
71
71
  function ua(e) {
@@ -77,9 +77,9 @@ function ua(e) {
77
77
  t.value = c, r.value = !1;
78
78
  }
79
79
  n(), M(e.defs, n), M(e.reportIds, n), M(() => JSON.stringify(e.params()), n);
80
- const s = O(() => _(e.defs.value, { ...e.params(), ...t.value })), u = O(() => !r.value && s.value.issues.length > 0 && s.value.issues.every((c) => c.code === "required"));
80
+ const o = O(() => _(e.defs.value, { ...e.params(), ...t.value })), u = O(() => !r.value && o.value.issues.length > 0 && o.value.issues.every((c) => c.code === "required"));
81
81
  function g() {
82
- const c = s.value;
82
+ const c = o.value;
83
83
  if (!c.ok) {
84
84
  const m = c.issues[0];
85
85
  return { quiet: u.value, error: new L(m.code === "definition" ? "config" : "param", ae(m, e.defs.value, e.messages()), { issues: c.issues }) };
@@ -88,7 +88,7 @@ function ua(e) {
88
88
  for (const [m, h] of Object.entries(i)) h === "" && !C.has(m) && delete i[m];
89
89
  return { params: i, quiet: !1 };
90
90
  }
91
- return { values: t, attempted: r, validation: s, pendingRequired: u, reset: n, query: g };
91
+ return { values: t, attempted: r, validation: o, pendingRequired: u, reset: n, query: g };
92
92
  }
93
93
  const te = {
94
94
  paramOptionsLoading: "正在搜索选项…",
@@ -107,13 +107,13 @@ function xe(e) {
107
107
  }));
108
108
  }
109
109
  function Se(e) {
110
- const t = x(""), r = de([]), n = x(!1), s = x(!1), u = O(() => Object.fromEntries((Array.isArray(e.def().dependsOn) ? e.def().dependsOn : []).map((E) => [E, e.values()[E] ?? ""]))), g = O(() => Object.values(u.value).some((E) => !E.trim())), c = O(() => !e.loader()), i = /* @__PURE__ */ new Map();
110
+ const t = x(""), r = de([]), n = x(!1), o = x(!1), u = O(() => Object.fromEntries((Array.isArray(e.def().dependsOn) ? e.def().dependsOn : []).map((E) => [E, e.values()[E] ?? ""]))), g = O(() => Object.values(u.value).some((E) => !E.trim())), c = O(() => !e.loader()), i = /* @__PURE__ */ new Map();
111
111
  let C, m, h = 0;
112
112
  function A() {
113
113
  h++, C?.abort(), C = void 0, clearTimeout(m), n.value = !1;
114
114
  }
115
115
  async function b() {
116
- A(), s.value = !1;
116
+ A(), o.value = !1;
117
117
  const E = e.loader(), w = e.def();
118
118
  if (!E || !w.optionsSource || g.value || e.disabled() || !e.opened()) return;
119
119
  const I = { source: w.optionsSource, field: w.field, query: t.value.trim().slice(0, 256), params: Object.freeze({ ...u.value }), limit: ne }, l = JSON.stringify(I), d = i.get(l);
@@ -121,31 +121,31 @@ function Se(e) {
121
121
  i.delete(l), i.set(l, d), r.value = d.options;
122
122
  return;
123
123
  }
124
- const a = h, o = new AbortController();
125
- C = o, n.value = !0;
126
- const P = setTimeout(() => o.abort(), Pe);
124
+ const a = h, s = new AbortController();
125
+ C = s, n.value = !0;
126
+ const P = setTimeout(() => s.abort(), Pe);
127
127
  try {
128
- const S = xe(await me(E(Object.freeze({ ...I, signal: o.signal })), o.signal));
128
+ const S = xe(await me(E(Object.freeze({ ...I, signal: s.signal })), s.signal));
129
129
  if (a !== h) return;
130
130
  for (r.value = S, i.delete(l), i.set(l, { at: Date.now(), options: S }); i.size > Ee; ) i.delete(i.keys().next().value);
131
131
  } catch {
132
- a === h && (s.value = !0);
132
+ a === h && (o.value = !0);
133
133
  } finally {
134
134
  clearTimeout(P), a === h && (n.value = !1, C = void 0);
135
135
  }
136
136
  }
137
137
  function F() {
138
- A(), r.value = [], s.value = !1, m = setTimeout(() => {
138
+ A(), r.value = [], o.value = !1, m = setTimeout(() => {
139
139
  b();
140
140
  }, 180);
141
141
  }
142
142
  return M(t, F, { flush: "sync" }), M([() => e.def().field, () => e.def().optionsSource, () => JSON.stringify(u.value), e.loader], () => {
143
- i.clear(), t.value = "", A(), r.value = [], s.value = !1, e.opened() && b();
143
+ i.clear(), t.value = "", A(), r.value = [], o.value = !1, e.opened() && b();
144
144
  }, { flush: "sync" }), M([e.opened, e.disabled], () => {
145
145
  !e.opened() || e.disabled() ? A() : b();
146
146
  }), X(() => {
147
147
  A(), i.clear();
148
- }), { query: t, options: r, loading: n, failed: s, waiting: g, missingLoader: c, request: b, cancel: A };
148
+ }), { query: t, options: r, loading: n, failed: o, waiting: g, missingLoader: c, request: b, cancel: A };
149
149
  }
150
150
  const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "aria-describedby", "aria-expanded", "aria-controls", "aria-activedescendant", "disabled", "placeholder"], Ce = ["aria-label", "disabled"], Ae = ["aria-label", "disabled"], ke = ["id"], Me = ["id", "aria-label", "aria-busy"], Fe = ["id", "aria-selected", "disabled", "onPointermove", "onClick"], Re = { key: 0 }, Ie = {
151
151
  key: 0,
@@ -164,7 +164,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
164
164
  },
165
165
  emits: ["change"],
166
166
  setup(e, { emit: t }) {
167
- const r = e, n = t, s = be({ focusOnOpen: !1 }), { root: u, panel: g, opened: c } = s, i = Se({ def: () => r.def, values: () => r.values, loader: () => r.loadOptions, opened: () => c.value, disabled: () => r.disabled === !0 }), { query: C, options: m, loading: h, failed: A, waiting: b, missingLoader: F } = i, E = O(() => ({ ...te, ...r.messages })), w = x(0), I = x(""), l = x(), d = O(() => `${r.id}-options`), a = O(() => b.value ? E.value.paramOptionsDependencies : F.value ? E.value.paramOptionsMissingLoader : A.value ? E.value.paramOptionsFailed : h.value ? E.value.paramOptionsLoading : m.value.length ? "" : E.value.paramOptionsEmpty);
167
+ const r = e, n = t, o = be({ focusOnOpen: !1 }), { root: u, panel: g, opened: c } = o, i = Se({ def: () => r.def, values: () => r.values, loader: () => r.loadOptions, opened: () => c.value, disabled: () => r.disabled === !0 }), { query: C, options: m, loading: h, failed: A, waiting: b, missingLoader: F } = i, E = O(() => ({ ...te, ...r.messages })), w = x(0), I = x(""), l = x(), d = O(() => `${r.id}-options`), a = O(() => b.value ? E.value.paramOptionsDependencies : F.value ? E.value.paramOptionsMissingLoader : A.value ? E.value.paramOptionsFailed : h.value ? E.value.paramOptionsLoading : m.value.length ? "" : E.value.paramOptionsEmpty);
168
168
  M(() => r.value, () => {
169
169
  I.value = "";
170
170
  }), M(m, () => {
@@ -172,8 +172,8 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
172
172
  }), M(c, (y) => {
173
173
  y && B(() => l.value?.focus());
174
174
  });
175
- function o(y) {
176
- r.disabled || b.value || h.value || A.value || (n("change", y.value), s.close(), B(() => {
175
+ function s(y) {
176
+ r.disabled || b.value || h.value || A.value || (n("change", y.value), o.close(), B(() => {
177
177
  I.value = y.label, l.value?.focus();
178
178
  }));
179
179
  }
@@ -186,7 +186,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
186
186
  function le(y) {
187
187
  if (!(y.isComposing || y.keyCode === 229)) {
188
188
  if (y.key === "Escape") {
189
- c.value && (y.preventDefault(), y.stopPropagation(), s.close());
189
+ c.value && (y.preventDefault(), y.stopPropagation(), o.close());
190
190
  return;
191
191
  }
192
192
  if (["ArrowUp", "ArrowDown", "Enter"].includes(y.key)) {
@@ -196,7 +196,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
196
196
  }
197
197
  if (y.key === "Enter") {
198
198
  const D = m.value[w.value];
199
- D && o(D);
199
+ D && s(D);
200
200
  return;
201
201
  }
202
202
  m.value.length && (w.value = (w.value + (y.key === "ArrowDown" ? 1 : -1) + m.value.length) % m.value.length, B(() => g.value?.querySelector(`[id="${d.value}-${w.value}"]`)?.scrollIntoView?.({ block: "nearest" })));
@@ -204,7 +204,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
204
204
  }
205
205
  }
206
206
  function ie() {
207
- r.disabled || (n("change", ""), I.value = "", s.close());
207
+ r.disabled || (n("change", ""), I.value = "", o.close());
208
208
  }
209
209
  return (y, D) => (f(), v("div", {
210
210
  ref_key: "root",
@@ -258,7 +258,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
258
258
  type: "button",
259
259
  "aria-label": e.def.label ?? e.def.field,
260
260
  disabled: e.disabled || p(b) || p(F),
261
- onClick: D[0] || (D[0] = (R) => p(c) ? p(s).close() : S())
261
+ onClick: D[0] || (D[0] = (R) => p(c) ? p(o).close() : S())
262
262
  }, [
263
263
  j(G, {
264
264
  name: "chevron-down",
@@ -292,10 +292,10 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
292
292
  "aria-selected": e.value === R.value,
293
293
  class: K({ active: V === w.value }),
294
294
  disabled: p(h),
295
- onPointermove: (se) => w.value = V,
295
+ onPointermove: (oe) => w.value = V,
296
296
  onMousedown: D[1] || (D[1] = ue(() => {
297
297
  }, ["prevent"])),
298
- onClick: (se) => o(R)
298
+ onClick: (oe) => s(R)
299
299
  }, [
300
300
  q("span", null, k(R.label), 1),
301
301
  R.label !== R.value ? (f(), v("small", Re, k(R.value), 1)) : $("", !0)
@@ -313,12 +313,13 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
313
313
  ], 512)) : $("", !0)
314
314
  ], 512));
315
315
  }
316
- }), qe = /* @__PURE__ */ ee(De, [["__scopeId", "data-v-0e0e3248"]]), $e = {
316
+ }), qe = /* @__PURE__ */ ee(De, [["__scopeId", "data-v-5dbac6ad"]]), $e = {
317
317
  key: 0,
318
318
  class: "mrp-params-title"
319
319
  }, Te = { class: "mrp-params-grid" }, Le = ["id"], Be = {
320
320
  key: 0,
321
- class: "mrp-param-star"
321
+ class: "mrp-param-star",
322
+ "aria-hidden": "true"
322
323
  }, Ne = ["value", "disabled", "aria-labelledby", "aria-invalid", "aria-describedby", "aria-required", "onChange"], Ue = ["disabled", "hidden"], He = ["value"], Ve = ["aria-labelledby"], je = ["value", "disabled", "min", "max", "aria-label", "aria-invalid", "aria-describedby", "aria-required", "onInput"], ze = ["type", "inputmode", "maxlength", "placeholder", "value", "disabled", "min", "max", "step", "aria-labelledby", "aria-invalid", "aria-describedby", "aria-required", "onInput"], Ge = ["id"], Ke = {
323
324
  key: 1,
324
325
  class: "mrp-params-actions"
@@ -337,7 +338,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
337
338
  },
338
339
  emits: ["update:modelValue", "query", "reset"],
339
340
  setup(e, { expose: t, emit: r }) {
340
- const n = e, s = r, u = x({ ...n.modelValue }), g = x(null), c = he();
341
+ const n = e, o = r, u = x({ ...n.modelValue }), g = x(null), c = he();
341
342
  M(
342
343
  () => n.modelValue,
343
344
  (l) => {
@@ -355,18 +356,18 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
355
356
  ), m = O(() => {
356
357
  const l = /* @__PURE__ */ new Map();
357
358
  for (const d of n.defs) for (const a of Array.isArray(d.dependsOn) ? d.dependsOn : []) {
358
- const o = l.get(a) ?? [];
359
- o.push(d.field), l.set(a, o);
359
+ const s = l.get(a) ?? [];
360
+ s.push(d.field), l.set(a, s);
360
361
  }
361
362
  return l;
362
363
  });
363
364
  function h(l, d) {
364
365
  if (n.disabled || u.value[l] === d) return;
365
366
  u.value = { ...u.value, [l]: d };
366
- const a = /* @__PURE__ */ new Set([l]), o = [l];
367
- for (let P = 0; P < o.length; P++) for (const S of m.value.get(o[P]) ?? [])
368
- a.has(S) || (u.value[S] = "", a.add(S), o.push(S));
369
- s("update:modelValue", { ...u.value });
367
+ const a = /* @__PURE__ */ new Set([l]), s = [l];
368
+ for (let P = 0; P < s.length; P++) for (const S of m.value.get(s[P]) ?? [])
369
+ a.has(S) || (u.value[S] = "", a.add(S), s.push(S));
370
+ o("update:modelValue", { ...u.value });
370
371
  }
371
372
  function A(l) {
372
373
  return l.type === "number" ? "number" : l.type === "date" || l.type === "month" ? l.type : "text";
@@ -378,11 +379,11 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
378
379
  return a ? !!b(l, 0) != !!b(l, 1) ? !b(l, d) || void 0 : !0 : void 0;
379
380
  }
380
381
  function E(l, d, a) {
381
- const o = [b(u.value[l] ?? "", 0), b(u.value[l] ?? "", 1)];
382
- o[d] = a, h(l, o.every((P) => !P) ? "" : o.join("/"));
382
+ const s = [b(u.value[l] ?? "", 0), b(u.value[l] ?? "", 1)];
383
+ s[d] = a, h(l, s.every((P) => !P) ? "" : s.join("/"));
383
384
  }
384
385
  function w(l) {
385
- l.isComposing || s("query");
386
+ l.isComposing || o("query");
386
387
  }
387
388
  function I() {
388
389
  g.value?.querySelector('[aria-invalid="true"]')?.focus();
@@ -415,7 +416,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
415
416
  messages: e.messages,
416
417
  disabled: e.disabled,
417
418
  invalid: !!a.error,
418
- onChange: (o) => h(a.def.field, o)
419
+ onChange: (s) => h(a.def.field, s)
419
420
  }, null, 8, ["id", "def", "value", "values", "load-options", "messages", "disabled", "invalid", "onChange"])) : (a.def.type ?? "text") === "select" ? (f(), v("select", {
420
421
  key: 1,
421
422
  class: "mrp-param-input",
@@ -425,7 +426,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
425
426
  "aria-invalid": a.error ? !0 : void 0,
426
427
  "aria-describedby": a.error ? `${a.id}-error` : void 0,
427
428
  "aria-required": a.def.required || void 0,
428
- onChange: (o) => h(a.def.field, o.target.value),
429
+ onChange: (s) => h(a.def.field, s.target.value),
429
430
  onKeydown: z(w, ["enter"])
430
431
  }, [
431
432
  q("option", {
@@ -433,17 +434,17 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
433
434
  disabled: a.def.required,
434
435
  hidden: a.def.required
435
436
  }, k(a.def.placeholder ?? (e.messages.paramSelectPlaceholder ?? "请选择{label}").replace("{label}", a.label)), 9, Ue),
436
- (f(!0), v(N, null, U(a.def.options ?? [], (o) => (f(), v("option", {
437
- key: o.value,
438
- value: o.value
439
- }, k(o.label), 9, He))), 128))
437
+ (f(!0), v(N, null, U(a.def.options ?? [], (s) => (f(), v("option", {
438
+ key: s.value,
439
+ value: s.value
440
+ }, k(s.label), 9, He))), 128))
440
441
  ], 40, Ne)) : a.def.type === "dateRange" ? (f(), v("div", {
441
442
  key: 2,
442
443
  class: "mrp-param-range",
443
444
  role: "group",
444
445
  "aria-labelledby": `${a.id}-label`
445
446
  }, [
446
- (f(!0), v(N, null, U([e.messages.paramRangeStart ?? "开始日期", e.messages.paramRangeEnd ?? "结束日期"], (o, P) => (f(), v("input", {
447
+ (f(!0), v(N, null, U([e.messages.paramRangeStart ?? "开始日期", e.messages.paramRangeEnd ?? "结束日期"], (s, P) => (f(), v("input", {
447
448
  key: P,
448
449
  class: "mrp-param-input",
449
450
  type: "date",
@@ -451,7 +452,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
451
452
  disabled: e.disabled,
452
453
  min: a.def.min,
453
454
  max: a.def.max,
454
- "aria-label": `${a.label} · ${o}`,
455
+ "aria-label": `${a.label} · ${s}`,
455
456
  "aria-invalid": F(a.value, P, a.error),
456
457
  "aria-describedby": a.error ? `${a.id}-error` : void 0,
457
458
  "aria-required": a.def.required || void 0,
@@ -474,7 +475,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
474
475
  "aria-invalid": a.error ? !0 : void 0,
475
476
  "aria-describedby": a.error ? `${a.id}-error` : void 0,
476
477
  "aria-required": a.def.required || void 0,
477
- onInput: (o) => h(a.def.field, o.target.value),
478
+ onInput: (s) => h(a.def.field, s.target.value),
478
479
  onKeydown: z(w, ["enter"])
479
480
  }, null, 40, ze)),
480
481
  a.error ? (f(), v("small", {
@@ -501,7 +502,7 @@ const Oe = ["id", "value", "aria-labelledby", "aria-invalid", "aria-required", "
501
502
  ])) : $("", !0)
502
503
  ], 512));
503
504
  }
504
- }), ca = /* @__PURE__ */ ee(Xe, [["__scopeId", "data-v-6f9fe7a1"]]), re = {
505
+ }), ca = /* @__PURE__ */ ee(Xe, [["__scopeId", "data-v-5fa48e40"]]), re = {
505
506
  calculationTitle: "选区计算",
506
507
  calculationLocal: "仅本地分析,不写回实绩、不重算原公式。请选取同一单位与量纲的数值。",
507
508
  calculationHint: "点击起点,Shift + 点击终点或方向键扩选。",
@@ -764,6 +765,7 @@ function ma(e, t) {
764
765
  const r = t ? e?.presets?.[t] : e?.defaultPreset ? e?.presets?.[e.defaultPreset] : void 0, n = H(e?.defaults, r);
765
766
  return {
766
767
  drill: n.drill,
768
+ exportExecution: n.exportExecution,
767
769
  loadParamOptions: n.loadParamOptions,
768
770
  ...ea(n),
769
771
  pdfFontUrl: n.pdfFontUrl ?? T.pdfFontUrl,
@@ -789,8 +791,8 @@ function ma(e, t) {
789
791
  }
790
792
  function J(e, t, r, n = !1) {
791
793
  if (e == null || !Number.isFinite(e)) return t;
792
- const s = Math.max(0, Math.min(r, e));
793
- return n ? Math.floor(s) : s;
794
+ const o = Math.max(0, Math.min(r, e));
795
+ return n ? Math.floor(o) : o;
794
796
  }
795
797
  function ga(e) {
796
798
  const t = {};
@@ -798,18 +800,18 @@ function ga(e) {
798
800
  }
799
801
  function ba(e) {
800
802
  const t = Z(W, null), r = O(() => {
801
- const n = t?.value ?? null, s = "defaults" in e || "presets" in e || "defaultPreset" in e ? Ze(e) : { defaults: e, presets: {} };
802
- if (!n) return s;
803
- const u = { ...n.presets, ...s.presets };
803
+ const n = t?.value ?? null, o = "defaults" in e || "presets" in e || "defaultPreset" in e ? Ze(e) : { defaults: e, presets: {} };
804
+ if (!n) return o;
805
+ const u = { ...n.presets, ...o.presets };
804
806
  for (const g of Object.keys(u))
805
807
  u[g] = H(
806
- H(n.presets[g], s.defaults),
807
- s.presets[g]
808
+ H(n.presets[g], o.defaults),
809
+ o.presets[g]
808
810
  );
809
811
  return {
810
- defaults: H(n.defaults, s.defaults),
812
+ defaults: H(n.defaults, o.defaults),
811
813
  presets: u,
812
- defaultPreset: s.defaultPreset ?? n.defaultPreset
814
+ defaultPreset: o.defaultPreset ?? n.defaultPreset
813
815
  };
814
816
  });
815
817
  fe(W, r);
@@ -830,13 +832,13 @@ export {
830
832
  pa as e,
831
833
  ba as f,
832
834
  ma as g,
833
- oa as h,
835
+ sa as h,
834
836
  be as i,
835
837
  ua as j,
836
838
  da as n,
837
839
  ia as p,
838
840
  fa as r,
839
- sa as s,
841
+ oa as s,
840
842
  ga as t,
841
843
  ya as u
842
844
  };