@agile-team/mach-report 2.14.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 (256) hide show
  1. package/README.md +16 -11
  2. package/THIRD_PARTY_NOTICES.md +3 -1
  3. package/dist/{ExcelBindingWizard-CvsWR8Ga.js → ExcelBindingWizard-BKH1nGNS.js} +3 -3
  4. package/dist/{ExcelBindingWizard-CLT2p7P3.cjs → ExcelBindingWizard-Bs43BGNp.cjs} +1 -1
  5. package/dist/ParamEditor-Da4akw6V.cjs +1 -0
  6. package/dist/ParamEditor-DoAhzJsm.js +594 -0
  7. package/dist/{ReportBatchPanel-LqVgiqp7.js → ReportBatchPanel-BMf6boMA.js} +39 -39
  8. package/dist/{ReportBatchPanel-DkxTzBkD.cjs → ReportBatchPanel-wP9m9Pj1.cjs} +1 -1
  9. package/dist/ReportPreview-ChV19HBp.js +4619 -0
  10. package/dist/ReportPreview-DbLvvOUT.cjs +6 -0
  11. package/dist/{ReportTemplateLibrary-MjWEtc7X.js → ReportTemplateLibrary-C9wutIiT.js} +1 -1
  12. package/dist/{ReportTemplateLibrary-cQ1sqNYo.cjs → ReportTemplateLibrary-Sxr3eD0J.cjs} +1 -1
  13. package/dist/{RuleEditor-ChuXMlei.js → RuleEditor-C_Clasvd.js} +5 -5
  14. package/dist/{RuleEditor-BaR6xUiI.cjs → RuleEditor-XhGHK8DE.cjs} +1 -1
  15. package/dist/{TemplateOutlinePanel-Dci6aRn1.js → TemplateOutlinePanel-D6Bkny59.js} +2 -2
  16. package/dist/{TemplateOutlinePanel-BHKP89Xz.cjs → TemplateOutlinePanel-JTSR53vJ.cjs} +1 -1
  17. package/dist/{TemplateReusePanel-CY5eO2Sh.cjs → TemplateReusePanel-Kx35S0Ql.cjs} +1 -1
  18. package/dist/{TemplateReusePanel-B7Gmyc1z.js → TemplateReusePanel-rVuK1kTz.js} +2 -2
  19. package/dist/{TemplateReviewPanel-DjlX3xpt.js → TemplateReviewPanel-B0ar9_zf.js} +2 -2
  20. package/dist/{TemplateReviewPanel-JvZe9_4G.cjs → TemplateReviewPanel-Dn6X9UmY.cjs} +1 -1
  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 -1
  44. package/dist/designer.d.cts +144 -16
  45. package/dist/designer.d.ts +144 -16
  46. package/dist/designer.js +1 -1
  47. package/dist/drill-ByJviLXS.js +145 -0
  48. package/dist/drill-DYTxuL3A.cjs +1 -0
  49. package/dist/{font-loader-vhCT8znW.cjs → font-loader-B_UkxpzC.cjs} +1 -1
  50. package/dist/{font-loader-DHto6Lra.js → font-loader-Q3bQjmrI.js} +1 -1
  51. package/dist/index.cjs +8 -8
  52. package/dist/index.d.cts +82 -4
  53. package/dist/index.d.ts +82 -4
  54. package/dist/index.js +785 -820
  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-8UPQebOE.js → pdf-BwNyeGpt.js} +4385 -4321
  161. package/dist/{pdf-AyJGb22z.cjs → pdf-CvvrjPQg.cjs} +51 -49
  162. package/dist/pdf.cjs +1 -1
  163. package/dist/pdf.d.cts +18 -3
  164. package/dist/pdf.d.ts +18 -3
  165. package/dist/pdf.js +2 -2
  166. package/dist/{plugin-BGKf-Tqg.js → plugin-Ca_XZG3l.js} +2 -2
  167. package/dist/{plugin-CktLH_Iy.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-By_UKZ2g.cjs +1 -0
  173. package/dist/record-bindings-Do_b3h4V.js +196 -0
  174. package/dist/{region-binding-workflow-DEJbhpCv.js → region-binding-workflow-BMhK_TjP.js} +1 -1
  175. package/dist/{region-binding-workflow-BzfbxRiR.cjs → region-binding-workflow-DIYJdCUr.cjs} +1 -1
  176. package/dist/{report-params-B44imUd4.js → report-params-B1RzkhJj.js} +1 -1
  177. package/dist/{report-params-SJfhKgaX.cjs → report-params-WDGrA4oP.cjs} +1 -1
  178. package/dist/sbom.cdx.json +3982 -0
  179. package/dist/server/node.d.cts +20 -1
  180. package/dist/server/node.d.ts +20 -1
  181. package/dist/server-node.cjs +1 -1
  182. package/dist/server-node.js +247 -237
  183. package/dist/server.cjs +1 -1
  184. package/dist/server.d.cts +772 -4
  185. package/dist/server.d.ts +772 -4
  186. package/dist/server.js +885 -645
  187. package/dist/sha256-ArEYjaTI.cjs +1 -0
  188. package/dist/sha256-DPEuJ3nh.js +155 -0
  189. package/dist/style.css +1 -1
  190. package/dist/template-bindings-C2SpvsMU.js +58 -0
  191. package/dist/template-bindings-CEtWyiLX.cjs +1 -0
  192. package/dist/template-catalog-FJE_c9Qe.cjs +1 -0
  193. package/dist/template-catalog-j2B1MJlL.js +414 -0
  194. package/dist/{template-fragments-CLkGo6To.js → template-fragments-BGbQLGlV.js} +21 -21
  195. package/dist/{template-fragments-DFUpq5QM.cjs → template-fragments-DcKeiylI.cjs} +1 -1
  196. package/dist/{template-outline-B3xVkzSv.cjs → template-outline-BwRV_eRo.cjs} +1 -1
  197. package/dist/{template-outline-CFenM1PV.js → template-outline-cnWfT_LK.js} +3 -3
  198. package/dist/{template-registry-COXDEJEM.js → template-registry-BtaKPELV.js} +364 -201
  199. package/dist/template-registry-Co1zPq5e.cjs +1 -0
  200. package/dist/textwrap-CWHyzkBH.cjs +4 -0
  201. package/dist/textwrap-DE1kgcJB.js +110 -0
  202. package/dist/{tree-CqcQ99NM.js → tree-CjVZLRw7.js} +1 -1
  203. package/dist/vue/async.d.cts +123 -14
  204. package/dist/vue/async.d.ts +123 -14
  205. package/dist/vue/index.d.cts +158 -22
  206. package/dist/vue/index.d.ts +158 -22
  207. package/dist/vue-async.cjs +1 -1
  208. package/dist/vue-async.js +3 -3
  209. package/dist/vue.cjs +1 -1
  210. package/dist/vue.js +80 -78
  211. package/dist/{workbook-session-DNa2RHNG.cjs → workbook-session-Bjv1YCRK.cjs} +18 -18
  212. package/dist/{workbook-session-BfK1yHOO.js → workbook-session-BvToI-Fd.js} +5440 -5288
  213. package/dist/worker.cjs +1 -1
  214. package/dist/worker.d.cts +20 -1
  215. package/dist/worker.d.ts +20 -1
  216. package/dist/worker.js +33 -32
  217. package/dist/xlsx-node.cjs +34 -34
  218. package/dist/xlsx-node.js +878 -870
  219. package/dist/xlsx.cjs +3 -4
  220. package/dist/xlsx.d.cts +22 -10
  221. package/dist/xlsx.d.ts +22 -10
  222. package/dist/xlsx.js +261 -253
  223. package/package.json +2 -2
  224. package/dist/ParamEditor-CflQV3eQ.js +0 -526
  225. package/dist/ParamEditor-vIDzvpPV.cjs +0 -1
  226. package/dist/ReportPreview-CvbqLUzM.cjs +0 -6
  227. package/dist/ReportPreview-D_ywJ_-H.js +0 -4533
  228. package/dist/assets-C2U-e-Sz.cjs +0 -4
  229. package/dist/assets-Q0wUwNrV.js +0 -217
  230. package/dist/batch-DzaTNLWI.js +0 -371
  231. package/dist/batch-xMkqYiTr.cjs +0 -1
  232. package/dist/capabilities-CK_7hizc.js +0 -63
  233. package/dist/capabilities-CsZ-pNHR.cjs +0 -1
  234. package/dist/config-0UIohTS7.cjs +0 -1
  235. package/dist/config-Dt9NtCPl.js +0 -566
  236. package/dist/data-explanation-BktvER5B.cjs +0 -1
  237. package/dist/data-explanation-C_J6jYNi.js +0 -16
  238. package/dist/designer-Ci1LizA9.js +0 -5020
  239. package/dist/designer-rtmVIIdN.cjs +0 -2
  240. package/dist/json-snapshot-BeFT3Tso.js +0 -1952
  241. package/dist/json-snapshot-D1NTP2oI.cjs +0 -2
  242. package/dist/matrix-DVyWiYsd.cjs +0 -1
  243. package/dist/matrix-yZsGnldA.js +0 -227
  244. package/dist/page-window-index-CIuT4BAv.js +0 -43
  245. package/dist/page-window-index-DEjnM6IB.cjs +0 -1
  246. package/dist/param-validation-BlHHXs6u.js +0 -153
  247. package/dist/param-validation-DCK039V1.cjs +0 -1
  248. package/dist/progress-7OSZbFok.js +0 -39
  249. package/dist/progress-BnLiS5eH.cjs +0 -1
  250. package/dist/task-events-DQ276fn2.cjs +0 -1
  251. package/dist/task-events-Dpsvf_t2.js +0 -47
  252. package/dist/template-bindings-BJR4k7qZ.cjs +0 -1
  253. package/dist/template-bindings-Daui7hLF.js +0 -252
  254. package/dist/template-registry-D3SjENi6.cjs +0 -1
  255. package/dist/validate-BJ5HIWY8.cjs +0 -1
  256. package/dist/validate-CkQBWCeg.js +0 -163
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agile-team/mach-report",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "description": "独立的 TypeScript 报表引擎:模板分页、DOM/Canvas/PDF/Excel 输出与 Vue 3 预览组件",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -192,7 +192,7 @@
192
192
  "url": "https://github.com/ChenyCHENYU/MachReport/issues"
193
193
  },
194
194
  "scripts": {
195
- "build": "vite build && vite build --config vite.node.config.ts && node scripts/copy-dcts.mjs",
195
+ "build": "vite build && vite build --config vite.node.config.ts && node scripts/copy-dcts.mjs && node ../../scripts/build-sbom.mjs",
196
196
  "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\""
197
197
  },
198
198
  "module": "./dist/index.js"
@@ -1,526 +0,0 @@
1
- import { ref as T, computed as M, watch as Q, defineComponent as X, getCurrentInstance as Z, openBlock as u, createElementBlock as d, unref as e, createElementVNode as n, toDisplayString as r, Fragment as E, renderList as A, normalizeClass as W, createCommentVNode as _, createTextVNode as x, withDirectives as O, mergeProps as S, vModelDynamic as G, vModelText as H, vModelCheckbox as K, vModelSelect as ee, nextTick as ae } from "vue";
2
- import { validateReportParamDefinitions as te } from "@agile-team/mach-report";
3
- import { P as le, u as ne } from "./designer-Ci1LizA9.js";
4
- import { _ as re } from "./_plugin-vue_export-helper-8SL1F89S.js";
5
- const ie = ["text", "number", "date", "month", "year", "dateRange", "select"], oe = { text: "string", number: "string → number", date: "YYYY-MM-DD", month: "YYYY-MM", year: "YYYY", dateRange: "YYYY-MM-DD/YYYY-MM-DD", select: "option.value" };
6
- function se(a) {
7
- if (/^(默认值|必填参数的默认值)/.test(a)) return ["defaultValue"];
8
- if (a.includes("参数名")) return ["field"];
9
- if (a.includes("选项")) return ["options"];
10
- if (a.startsWith("最小边界")) return ["min", "max"];
11
- if (a.startsWith("最小长度")) return ["minLength", "maxLength"];
12
- const b = /^(minLength|maxLength|min|max) /.exec(a)?.[1];
13
- return b ? [b] : ["type"];
14
- }
15
- function ue(a) {
16
- return JSON.parse(JSON.stringify(a));
17
- }
18
- function z(a) {
19
- return {
20
- field: a.field,
21
- label: a.label ?? "",
22
- type: a.type ?? "text",
23
- required: a.required === !0,
24
- placeholder: a.placeholder ?? "",
25
- defaultEnabled: a.defaultValue !== void 0,
26
- defaultValue: a.defaultValue ?? "",
27
- min: a.min === void 0 ? "" : String(a.min),
28
- max: a.max === void 0 ? "" : String(a.max),
29
- minLength: a.minLength === void 0 ? "" : String(a.minLength),
30
- maxLength: a.maxLength === void 0 ? "" : String(a.maxLength),
31
- options: a.options ? a.options.map((b) => ({ ...b })) : []
32
- };
33
- }
34
- function de(a) {
35
- const b = { field: a.field, type: a.type };
36
- a.label && (b.label = a.label), a.placeholder && (b.placeholder = a.placeholder), a.required && (b.required = !0), a.defaultEnabled && (b.defaultValue = a.defaultValue);
37
- for (const h of ["min", "max"])
38
- a[h] !== "" && (b[h] = a.type === "number" ? Number(a[h]) : a[h]);
39
- for (const h of ["minLength", "maxLength"]) a[h] !== "" && (b[h] = Number(a[h]));
40
- return a.type === "select" && (b.options = a.options.map((h) => ({ ...h }))), b;
41
- }
42
- function me(a) {
43
- const b = () => JSON.stringify(a.document.template.params ?? []), h = T(b()), p = T((a.document.template.params ?? []).map(z)), k = T(0), s = T(""), l = M(() => ({ ...le, ...a.messages })), R = M(() => p.value.map(de)), g = T(JSON.stringify(p.value)), i = M(() => JSON.stringify(p.value) !== g.value), L = M(() => b() !== h.value), I = M(() => te(R.value)), C = M(() => {
44
- const m = /* @__PURE__ */ new Map();
45
- for (const y of I.value) {
46
- const v = Number(y.path.split(".").at(-1)), w = m.get(v) ?? [];
47
- w.push({ message: y.message, controls: se(y.message) }), m.set(v, w);
48
- }
49
- return m;
50
- }), P = M(() => C.value.keys().next().value), V = M(() => p.value[k.value]), Y = M(() => I.value.filter((m) => m.path === `$.paramDefs.${k.value}`));
51
- function J(m) {
52
- return (C.value.get(k.value) ?? []).filter((y) => y.controls.includes(m)).map((y) => y.message);
53
- }
54
- const D = M(() => {
55
- const m = JSON.parse(h.value).map((v) => v.field), y = R.value.map((v) => v.field);
56
- return { added: y.filter((v) => v && !m.includes(v)), removed: m.filter((v) => !y.includes(v)) };
57
- });
58
- function N() {
59
- h.value = b(), p.value = (a.document.template.params ?? []).map(z), k.value = Math.min(k.value, Math.max(0, p.value.length - 1)), g.value = JSON.stringify(p.value), s.value = "";
60
- }
61
- Q(b, () => {
62
- i.value || N();
63
- });
64
- function F() {
65
- if (a.readonly) return;
66
- let m = p.value.length + 1;
67
- for (; p.value.some((y) => y.field === `param${m}`); ) m++;
68
- p.value.push(z({ field: `param${m}`, type: "text" })), k.value = p.value.length - 1;
69
- }
70
- function B() {
71
- a.readonly || !V.value || (p.value.splice(k.value, 1), k.value = Math.min(k.value, Math.max(0, p.value.length - 1)));
72
- }
73
- function $(m) {
74
- const y = k.value + m;
75
- if (a.readonly || y < 0 || y >= p.value.length) return;
76
- const v = p.value.splice(k.value, 1)[0];
77
- p.value.splice(y, 0, v), k.value = y;
78
- }
79
- function j(m) {
80
- a.readonly || !V.value || (V.value.type = m, V.value.min = "", V.value.max = "", V.value.minLength = "", V.value.maxLength = "");
81
- }
82
- function q() {
83
- if (a.readonly || L.value || I.value.length) return !1;
84
- try {
85
- return a.accept(ue(R.value)) ? (h.value = JSON.stringify(R.value), g.value = JSON.stringify(p.value), s.value = "", !0) : (s.value = l.value.paramApplyFailed, !1);
86
- } catch (m) {
87
- return s.value = m instanceof Error ? m.message : String(m), !1;
88
- }
89
- }
90
- return ne({ key: () => "params", baseline: () => h.value, pending: () => i.value, snapshot: () => JSON.stringify({ rows: p.value, selected: k.value, initial: g.value }), restore(m, y) {
91
- const v = JSON.parse(m);
92
- if (!Array.isArray(v.rows) || v.rows.length > 1e3 || typeof v.initial != "string") throw new Error("Invalid parameter draft");
93
- p.value = v.rows, k.value = Math.max(0, Math.min(v.selected, v.rows.length - 1)), g.value = v.initial, h.value = y;
94
- } }), { m: l, rows: p, selected: k, current: V, definitions: R, issues: I, issuesByRow: C, firstIssueIndex: P, controlIssues: J, currentIssues: Y, changes: D, pending: i, conflicted: L, error: s, reset: N, add: F, remove: B, move: $, setType: j, apply: q };
95
- }
96
- const pe = ["aria-label"], ce = { class: "mr-param-editor__directory" }, ye = ["aria-label"], ve = ["aria-pressed", "aria-label", "onClick"], be = { class: "mr-param-editor__directory-title" }, fe = {
97
- key: 0,
98
- class: "mr-param-editor__error-count",
99
- "aria-hidden": "true"
100
- }, he = { key: 0 }, ge = ["disabled"], _e = {
101
- key: 0,
102
- class: "mr-param-editor__validation",
103
- role: "status"
104
- }, ke = { class: "mr-param-editor__heading" }, xe = { class: "mr-param-editor__grid" }, Ve = ["aria-label", "disabled"], Ie = ["id"], $e = ["aria-label", "disabled"], Me = ["value", "aria-label", "disabled"], Re = ["value"], Le = ["id"], De = ["aria-label", "disabled"], Se = { class: "mr-param-editor__checks" }, Ce = ["disabled"], Ee = ["disabled"], Oe = { class: "mr-param-editor__default-label" }, Ye = { class: "mr-param-editor__range" }, Ne = ["value", "aria-label", "disabled"], Ae = ["value", "aria-label", "disabled"], Te = { key: 1 }, we = ["aria-label", "disabled"], Ue = ["value"], Pe = ["value", "aria-label", "type", "min", "max", "step", "disabled"], Je = ["id"], je = ["value", "aria-label", "type", "min", "max", "step", "disabled", "onInput"], qe = ["id"], Fe = ["value", "aria-label", "disabled", "onInput"], Be = ["id"], We = {
105
- key: 0,
106
- class: "mr-param-editor__hint"
107
- }, He = {
108
- key: 1,
109
- class: "mr-param-editor__options"
110
- }, ze = { class: "mr-param-editor__option-head" }, Ge = ["onUpdate:modelValue", "aria-label", "disabled"], Ke = ["onUpdate:modelValue", "aria-label", "disabled"], Qe = ["aria-label", "disabled", "onClick"], Xe = ["id"], Ze = ["disabled"], ea = { class: "mr-param-editor__row-actions" }, aa = ["disabled"], ta = ["disabled"], la = ["disabled"], na = { class: "mr-param-editor__technical" }, ra = {
111
- key: 2,
112
- class: "mr-param-editor__empty"
113
- }, ia = ["disabled"], oa = {
114
- key: 3,
115
- class: "mr-param-editor__impact"
116
- }, sa = { key: 0 }, ua = { key: 1 }, da = {
117
- key: 4,
118
- class: "mr-param-editor__errors",
119
- role: "alert"
120
- }, ma = ["disabled"], pa = ["disabled"], ca = /* @__PURE__ */ X({
121
- __name: "ParamEditor",
122
- props: {
123
- document: {},
124
- readonly: { type: Boolean },
125
- messages: {},
126
- accept: { type: Function }
127
- },
128
- emits: ["dirty"],
129
- setup(a, { expose: b, emit: h }) {
130
- const p = a, k = h, s = me(p), { m: l, rows: R, selected: g, current: i, changes: L, pending: I, conflicted: C, error: P, issues: V, issuesByRow: Y } = s, J = T(), D = `mr-param-${Z()?.uid ?? 0}`;
131
- Q(I, (c) => k("dirty", c), { immediate: !0 });
132
- function N(c) {
133
- return { text: l.value.paramText, number: l.value.paramNumber, date: l.value.paramDate, month: l.value.paramMonth, year: l.value.paramYear, dateRange: l.value.paramDateRange, select: l.value.paramSelect }[c];
134
- }
135
- function F() {
136
- i.value && !p.readonly && i.value.options.push({ value: "", label: "" });
137
- }
138
- function B(c) {
139
- p.readonly || i.value?.options.splice(c, 1);
140
- }
141
- function $(c) {
142
- const o = s.controlIssues(c).length > 0;
143
- return { "aria-invalid": o ? "true" : void 0, "aria-describedby": o ? `${D}-${g.value}-${c}` : void 0 };
144
- }
145
- function j(c) {
146
- return c === "year" ? "number" : c === "dateRange" ? "date" : ["date", "month", "number"].includes(c) ? c : "text";
147
- }
148
- function q(c) {
149
- return c.target.value;
150
- }
151
- function m(c, o) {
152
- i.value && !p.readonly && (i.value[c] = q(o));
153
- }
154
- function y(c) {
155
- return i.value?.defaultValue.split("/")[c] ?? "";
156
- }
157
- function v(c, o) {
158
- if (!i.value || p.readonly) return;
159
- const t = [y(0), y(1)];
160
- t[c] = q(o), i.value.defaultValue = t.some(Boolean) ? t.join("/") : "";
161
- }
162
- async function w() {
163
- const c = s.firstIssueIndex.value;
164
- if (c === void 0) return;
165
- g.value = c, await ae();
166
- const o = J.value?.querySelector('[aria-invalid="true"]');
167
- o?.focus({ preventScroll: !0 }), o?.scrollIntoView?.({ block: "nearest" });
168
- }
169
- return b({ pending: I, reset: s.reset, apply: s.apply, locateIssue: w }), (c, o) => (u(), d("section", {
170
- class: "mr-param-editor",
171
- "aria-label": e(l).paramsTool
172
- }, [
173
- n("aside", ce, [
174
- n("header", null, [
175
- n("strong", null, r(e(l).paramsDirectory), 1),
176
- n("span", null, r(e(R).length), 1)
177
- ]),
178
- n("nav", {
179
- "aria-label": e(l).paramsDirectory
180
- }, [
181
- (u(!0), d(E, null, A(e(R), (t, f) => (u(), d("button", {
182
- key: f,
183
- type: "button",
184
- "aria-pressed": e(g) === f,
185
- "aria-label": `${t.label || t.field || e(l).paramUnnamed}${e(Y).get(f)?.length ? ` · ${e(l).paramIssueCount} ${e(Y).get(f)?.length}` : ""}`,
186
- class: W({ "has-errors": e(Y).has(f) }),
187
- onClick: (U) => g.value = f
188
- }, [
189
- n("span", be, [
190
- n("strong", null, r(t.label || t.field || e(l).paramUnnamed), 1),
191
- e(Y).has(f) ? (u(), d("span", fe, r(e(Y).get(f)?.length), 1)) : _("", !0)
192
- ]),
193
- n("small", null, [
194
- x(r(t.field) + " · " + r(N(t.type)), 1),
195
- t.required ? (u(), d("span", he, " *")) : _("", !0)
196
- ])
197
- ], 10, ve))), 128))
198
- ], 8, ye),
199
- n("button", {
200
- type: "button",
201
- class: "mr-param-editor__add",
202
- disabled: a.readonly,
203
- onClick: o[0] || (o[0] = //@ts-ignore
204
- (...t) => e(s).add && e(s).add(...t))
205
- }, "+ " + r(e(l).paramAdd), 9, ge),
206
- n("p", null, r(e(l).paramsDescription), 1)
207
- ]),
208
- n("div", {
209
- ref_key: "main",
210
- ref: J,
211
- class: "mr-param-editor__main"
212
- }, [
213
- e(V).length ? (u(), d("div", _e, [
214
- n("span", null, [
215
- x(r(e(l).paramIssueCount) + " ", 1),
216
- n("strong", null, r(e(V).length), 1)
217
- ]),
218
- n("button", {
219
- type: "button",
220
- onClick: w
221
- }, r(e(l).paramLocateFirst), 1)
222
- ])) : _("", !0),
223
- e(i) ? (u(), d(E, { key: 1 }, [
224
- n("header", ke, [
225
- n("div", null, [
226
- n("strong", null, r(e(i).label || e(i).field || e(l).paramUnnamed), 1),
227
- n("small", null, r(N(e(i).type)), 1)
228
- ]),
229
- n("span", {
230
- class: W({ "is-pending": e(I) || e(V).length > 0 })
231
- }, r(e(V).length ? e(l).paramInvalid : e(I) ? e(l).paramPending : e(l).paramReady), 3)
232
- ]),
233
- n("div", xe, [
234
- n("label", null, [
235
- x(r(e(l).paramField), 1),
236
- O(n("input", S({
237
- "onUpdate:modelValue": o[1] || (o[1] = (t) => e(i).field = t),
238
- "aria-label": e(l).paramField,
239
- disabled: a.readonly,
240
- autocomplete: "off"
241
- }, $("field")), null, 16, Ve), [
242
- [G, e(i).field]
243
- ]),
244
- e(s).controlIssues("field").length ? (u(), d("small", {
245
- key: 0,
246
- id: `${D}-${e(g)}-field`,
247
- class: "mr-param-editor__field-error"
248
- }, r(e(s).controlIssues("field").join(";")), 9, Ie)) : _("", !0)
249
- ]),
250
- n("label", null, [
251
- x(r(e(l).paramLabel), 1),
252
- O(n("input", {
253
- "onUpdate:modelValue": o[2] || (o[2] = (t) => e(i).label = t),
254
- "aria-label": e(l).paramLabel,
255
- disabled: a.readonly
256
- }, null, 8, $e), [
257
- [H, e(i).label]
258
- ])
259
- ]),
260
- n("label", null, [
261
- x(r(e(l).paramType), 1),
262
- n("select", S({
263
- value: e(i).type,
264
- "aria-label": e(l).paramType,
265
- disabled: a.readonly
266
- }, $("type"), {
267
- onChange: o[3] || (o[3] = (t) => e(s).setType(t.target.value))
268
- }), [
269
- (u(!0), d(E, null, A(e(ie), (t) => (u(), d("option", {
270
- key: t,
271
- value: t
272
- }, r(N(t)), 9, Re))), 128))
273
- ], 16, Me),
274
- e(s).controlIssues("type").length ? (u(), d("small", {
275
- key: 0,
276
- id: `${D}-${e(g)}-type`,
277
- class: "mr-param-editor__field-error"
278
- }, r(e(s).controlIssues("type").join(";")), 9, Le)) : _("", !0)
279
- ]),
280
- n("label", null, [
281
- x(r(e(l).paramPlaceholder), 1),
282
- O(n("input", {
283
- "onUpdate:modelValue": o[4] || (o[4] = (t) => e(i).placeholder = t),
284
- "aria-label": e(l).paramPlaceholder,
285
- disabled: a.readonly
286
- }, null, 8, De), [
287
- [H, e(i).placeholder]
288
- ])
289
- ]),
290
- n("div", Se, [
291
- n("label", null, [
292
- O(n("input", {
293
- "onUpdate:modelValue": o[5] || (o[5] = (t) => e(i).required = t),
294
- type: "checkbox",
295
- disabled: a.readonly
296
- }, null, 8, Ce), [
297
- [K, e(i).required]
298
- ]),
299
- x(r(e(l).paramRequired), 1)
300
- ]),
301
- n("label", null, [
302
- O(n("input", {
303
- "onUpdate:modelValue": o[6] || (o[6] = (t) => e(i).defaultEnabled = t),
304
- type: "checkbox",
305
- disabled: a.readonly
306
- }, null, 8, Ee), [
307
- [K, e(i).defaultEnabled]
308
- ]),
309
- x(r(e(l).paramDefaultEnabled), 1)
310
- ])
311
- ]),
312
- e(i).defaultEnabled ? (u(), d("div", {
313
- key: 0,
314
- class: W(["mr-param-editor__default", { "is-range": e(i).type === "dateRange" }])
315
- }, [
316
- e(i).type === "dateRange" ? (u(), d(E, { key: 0 }, [
317
- n("span", Oe, r(e(l).paramDefault), 1),
318
- n("div", Ye, [
319
- n("label", null, [
320
- x(r(e(l).paramRangeStart), 1),
321
- n("input", S({
322
- value: y(0),
323
- type: "date",
324
- "aria-label": e(l).paramRangeStart,
325
- disabled: a.readonly
326
- }, $("defaultValue"), {
327
- onInput: o[7] || (o[7] = (t) => v(0, t))
328
- }), null, 16, Ne)
329
- ]),
330
- o[17] || (o[17] = n("span", { "aria-hidden": "true" }, "—", -1)),
331
- n("label", null, [
332
- x(r(e(l).paramRangeEnd), 1),
333
- n("input", S({
334
- value: y(1),
335
- type: "date",
336
- "aria-label": e(l).paramRangeEnd,
337
- disabled: a.readonly
338
- }, $("defaultValue"), {
339
- onInput: o[8] || (o[8] = (t) => v(1, t))
340
- }), null, 16, Ae)
341
- ])
342
- ])
343
- ], 64)) : (u(), d("label", Te, [
344
- x(r(e(l).paramDefault), 1),
345
- e(i).type === "select" ? O((u(), d("select", S({
346
- key: 0,
347
- "onUpdate:modelValue": o[9] || (o[9] = (t) => e(i).defaultValue = t),
348
- "aria-label": e(l).paramDefault,
349
- disabled: a.readonly
350
- }, $("defaultValue")), [
351
- o[18] || (o[18] = n("option", { value: "" }, null, -1)),
352
- (u(!0), d(E, null, A(e(i).options, (t, f) => (u(), d("option", {
353
- key: f,
354
- value: t.value
355
- }, r(t.label || t.value), 9, Ue))), 128))
356
- ], 16, we)), [
357
- [ee, e(i).defaultValue]
358
- ]) : (u(), d("input", S({
359
- key: 1,
360
- value: e(i).defaultValue,
361
- "aria-label": e(l).paramDefault,
362
- type: j(e(i).type),
363
- min: e(i).type === "year" ? 1 : void 0,
364
- max: e(i).type === "year" ? 9999 : void 0,
365
- step: e(i).type === "year" ? 1 : "any",
366
- disabled: a.readonly
367
- }, $("defaultValue"), {
368
- onInput: o[10] || (o[10] = (t) => m("defaultValue", t))
369
- }), null, 16, Pe))
370
- ])),
371
- e(s).controlIssues("defaultValue").length ? (u(), d("small", {
372
- key: 2,
373
- id: `${D}-${e(g)}-defaultValue`,
374
- class: "mr-param-editor__field-error mr-param-editor__errors",
375
- role: "alert"
376
- }, r(e(s).controlIssues("defaultValue").join(";")), 9, Je)) : _("", !0)
377
- ], 2)) : _("", !0),
378
- ["number", "date", "month", "year", "dateRange"].includes(e(i).type) ? (u(), d(E, { key: 1 }, A(["min", "max"], (t) => n("label", { key: t }, [
379
- x(r(t === "min" ? e(l).paramMinimum : e(l).paramMaximum), 1),
380
- n("input", S({
381
- value: e(i)[t],
382
- "aria-label": t === "min" ? e(l).paramMinimum : e(l).paramMaximum,
383
- type: j(e(i).type),
384
- min: e(i).type === "year" ? 1 : void 0,
385
- max: e(i).type === "year" ? 9999 : void 0,
386
- step: e(i).type === "year" ? 1 : "any",
387
- disabled: a.readonly
388
- }, { ref_for: !0 }, $(t), {
389
- onInput: (f) => m(t, f)
390
- }), null, 16, je),
391
- e(s).controlIssues(t).length ? (u(), d("small", {
392
- key: 0,
393
- id: `${D}-${e(g)}-${t}`,
394
- class: "mr-param-editor__field-error"
395
- }, r(e(s).controlIssues(t).join(";")), 9, qe)) : _("", !0)
396
- ])), 64)) : _("", !0),
397
- e(i).type === "text" ? (u(), d(E, { key: 2 }, A(["minLength", "maxLength"], (t) => n("label", { key: t }, [
398
- x(r(t === "minLength" ? e(l).paramMinLength : e(l).paramMaxLength), 1),
399
- n("input", S({
400
- value: e(i)[t],
401
- type: "number",
402
- min: "0",
403
- step: "1",
404
- "aria-label": t === "minLength" ? e(l).paramMinLength : e(l).paramMaxLength,
405
- disabled: a.readonly
406
- }, { ref_for: !0 }, $(t), {
407
- onInput: (f) => m(t, f)
408
- }), null, 16, Fe),
409
- e(s).controlIssues(t).length ? (u(), d("small", {
410
- key: 0,
411
- id: `${D}-${e(g)}-${t}`,
412
- class: "mr-param-editor__field-error"
413
- }, r(e(s).controlIssues(t).join(";")), 9, Be)) : _("", !0)
414
- ])), 64)) : _("", !0)
415
- ]),
416
- e(i).type === "dateRange" ? (u(), d("p", We, r(e(l).paramRangeHint), 1)) : _("", !0),
417
- e(i).type === "select" ? (u(), d("fieldset", He, [
418
- n("legend", null, r(e(l).paramOptions), 1),
419
- n("div", ze, [
420
- n("span", null, r(e(l).paramOptionValue), 1),
421
- n("span", null, r(e(l).paramOptionLabel), 1)
422
- ]),
423
- (u(!0), d(E, null, A(e(i).options, (t, f) => (u(), d("div", {
424
- key: f,
425
- class: "mr-param-editor__option"
426
- }, [
427
- O(n("input", S({
428
- "onUpdate:modelValue": (U) => t.value = U,
429
- "aria-label": `${e(l).paramOptionValue} ${f + 1}`,
430
- disabled: a.readonly
431
- }, { ref_for: !0 }, $("options")), null, 16, Ge), [
432
- [G, t.value]
433
- ]),
434
- O(n("input", {
435
- "onUpdate:modelValue": (U) => t.label = U,
436
- "aria-label": `${e(l).paramOptionLabel} ${f + 1}`,
437
- disabled: a.readonly
438
- }, null, 8, Ke), [
439
- [H, t.label]
440
- ]),
441
- n("button", {
442
- type: "button",
443
- "aria-label": `${e(l).paramOptionRemove} ${f + 1}`,
444
- disabled: a.readonly,
445
- onClick: (U) => B(f)
446
- }, "×", 8, Qe)
447
- ]))), 128)),
448
- e(s).controlIssues("options").length ? (u(), d("small", {
449
- key: 0,
450
- id: `${D}-${e(g)}-options`,
451
- class: "mr-param-editor__field-error"
452
- }, r(e(s).controlIssues("options").join(";")), 9, Xe)) : _("", !0),
453
- n("button", {
454
- type: "button",
455
- disabled: a.readonly,
456
- onClick: F
457
- }, "+ " + r(e(l).paramOptionAdd), 9, Ze)
458
- ])) : _("", !0),
459
- n("div", ea, [
460
- n("button", {
461
- type: "button",
462
- disabled: a.readonly || e(g) === 0,
463
- onClick: o[11] || (o[11] = (t) => e(s).move(-1))
464
- }, "↑ " + r(e(l).paramMoveUp), 9, aa),
465
- n("button", {
466
- type: "button",
467
- disabled: a.readonly || e(g) === e(R).length - 1,
468
- onClick: o[12] || (o[12] = (t) => e(s).move(1))
469
- }, "↓ " + r(e(l).paramMoveDown), 9, ta),
470
- n("button", {
471
- type: "button",
472
- class: "is-danger",
473
- disabled: a.readonly,
474
- onClick: o[13] || (o[13] = //@ts-ignore
475
- (...t) => e(s).remove && e(s).remove(...t))
476
- }, r(e(l).paramRemove), 9, la)
477
- ]),
478
- n("details", na, [
479
- n("summary", null, r(e(l).paramWire), 1),
480
- n("code", null, r(e(oe)[e(i).type]), 1)
481
- ])
482
- ], 64)) : (u(), d("div", ra, [
483
- n("strong", null, r(e(l).paramEmpty), 1),
484
- n("p", null, r(e(l).paramEmptyHint), 1),
485
- n("button", {
486
- type: "button",
487
- disabled: a.readonly,
488
- onClick: o[14] || (o[14] = //@ts-ignore
489
- (...t) => e(s).add && e(s).add(...t))
490
- }, "+ " + r(e(l).paramAdd), 9, ia)
491
- ])),
492
- e(L).added.length || e(L).removed.length ? (u(), d("aside", oa, [
493
- n("strong", null, r(e(l).paramChanges), 1),
494
- e(L).added.length ? (u(), d("p", sa, [
495
- x(r(e(l).paramAdded) + ":", 1),
496
- n("code", null, r(e(L).added.join(", ")), 1)
497
- ])) : _("", !0),
498
- e(L).removed.length ? (u(), d("p", ua, [
499
- x(r(e(l).paramRemoved) + ":", 1),
500
- n("code", null, r(e(L).removed.join(", ")), 1)
501
- ])) : _("", !0),
502
- n("small", null, r(e(l).paramRenameHint), 1)
503
- ])) : _("", !0),
504
- e(C) || e(P) ? (u(), d("p", da, r(e(C) ? e(l).paramConflict : e(P)), 1)) : _("", !0),
505
- n("footer", null, [
506
- n("button", {
507
- type: "button",
508
- disabled: !e(I) && !e(C),
509
- onClick: o[15] || (o[15] = //@ts-ignore
510
- (...t) => e(s).reset && e(s).reset(...t))
511
- }, r(e(l).paramRestore), 9, ma),
512
- n("button", {
513
- type: "button",
514
- class: "is-primary",
515
- disabled: a.readonly || !e(I) || e(C) || !!e(V).length,
516
- onClick: o[16] || (o[16] = //@ts-ignore
517
- (...t) => e(s).apply && e(s).apply(...t))
518
- }, r(e(l).paramApply), 9, pa)
519
- ])
520
- ], 512)
521
- ], 8, pe));
522
- }
523
- }), ha = /* @__PURE__ */ re(ca, [["__scopeId", "data-v-d8a0f18a"]]);
524
- export {
525
- ha as default
526
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),O=require("@agile-team/mach-report"),T=require("./designer-rtmVIIdN.cjs"),w=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),Y=["text","number","date","month","year","dateRange","select"],P={text:"string",number:"string → number",date:"YYYY-MM-DD",month:"YYYY-MM",year:"YYYY",dateRange:"YYYY-MM-DD/YYYY-MM-DD",select:"option.value"};function A(t){if(/^(默认值|必填参数的默认值)/.test(t))return["defaultValue"];if(t.includes("参数名"))return["field"];if(t.includes("选项"))return["options"];if(t.startsWith("最小边界"))return["min","max"];if(t.startsWith("最小长度"))return["minLength","maxLength"];const c=/^(minLength|maxLength|min|max) /.exec(t)?.[1];return c?[c]:["type"]}function F(t){return JSON.parse(JSON.stringify(t))}function R(t){return{field:t.field,label:t.label??"",type:t.type??"text",required:t.required===!0,placeholder:t.placeholder??"",defaultEnabled:t.defaultValue!==void 0,defaultValue:t.defaultValue??"",min:t.min===void 0?"":String(t.min),max:t.max===void 0?"":String(t.max),minLength:t.minLength===void 0?"":String(t.minLength),maxLength:t.maxLength===void 0?"":String(t.maxLength),options:t.options?t.options.map(c=>({...c})):[]}}function U(t){const c={field:t.field,type:t.type};t.label&&(c.label=t.label),t.placeholder&&(c.placeholder=t.placeholder),t.required&&(c.required=!0),t.defaultEnabled&&(c.defaultValue=t.defaultValue);for(const f of["min","max"])t[f]!==""&&(c[f]=t.type==="number"?Number(t[f]):t[f]);for(const f of["minLength","maxLength"])t[f]!==""&&(c[f]=Number(t[f]));return t.type==="select"&&(c.options=t.options.map(f=>({...f}))),c}function q(t){const c=()=>JSON.stringify(t.document.template.params??[]),f=e.ref(c()),u=e.ref((t.document.template.params??[]).map(R)),g=e.ref(0),o=e.ref(""),n=e.computed(()=>({...T.PARAM_EDITOR_MESSAGES,...t.messages})),h=e.computed(()=>u.value.map(U)),y=e.ref(JSON.stringify(u.value)),r=e.computed(()=>JSON.stringify(u.value)!==y.value),E=e.computed(()=>c()!==f.value),b=e.computed(()=>O.validateReportParamDefinitions(h.value)),N=e.computed(()=>{const i=new Map;for(const d of b.value){const m=Number(d.path.split(".").at(-1)),S=i.get(m)??[];S.push({message:d.message,controls:A(d.message)}),i.set(m,S)}return i}),x=e.computed(()=>N.value.keys().next().value),v=e.computed(()=>u.value[g.value]),_=e.computed(()=>b.value.filter(i=>i.path===`$.paramDefs.${g.value}`));function C(i){return(N.value.get(g.value)??[]).filter(d=>d.controls.includes(i)).map(d=>d.message)}const k=e.computed(()=>{const i=JSON.parse(f.value).map(m=>m.field),d=h.value.map(m=>m.field);return{added:d.filter(m=>m&&!i.includes(m)),removed:i.filter(m=>!d.includes(m))}});function D(){f.value=c(),u.value=(t.document.template.params??[]).map(R),g.value=Math.min(g.value,Math.max(0,u.value.length-1)),y.value=JSON.stringify(u.value),o.value=""}e.watch(c,()=>{r.value||D()});function $(){if(t.readonly)return;let i=u.value.length+1;for(;u.value.some(d=>d.field===`param${i}`);)i++;u.value.push(R({field:`param${i}`,type:"text"})),g.value=u.value.length-1}function L(){t.readonly||!v.value||(u.value.splice(g.value,1),g.value=Math.min(g.value,Math.max(0,u.value.length-1)))}function V(i){const d=g.value+i;if(t.readonly||d<0||d>=u.value.length)return;const m=u.value.splice(g.value,1)[0];u.value.splice(d,0,m),g.value=d}function M(i){t.readonly||!v.value||(v.value.type=i,v.value.min="",v.value.max="",v.value.minLength="",v.value.maxLength="")}function I(){if(t.readonly||E.value||b.value.length)return!1;try{return t.accept(F(h.value))?(f.value=JSON.stringify(h.value),y.value=JSON.stringify(u.value),o.value="",!0):(o.value=n.value.paramApplyFailed,!1)}catch(i){return o.value=i instanceof Error?i.message:String(i),!1}}return T.useTemplateToolDraft({key:()=>"params",baseline:()=>f.value,pending:()=>r.value,snapshot:()=>JSON.stringify({rows:u.value,selected:g.value,initial:y.value}),restore(i,d){const m=JSON.parse(i);if(!Array.isArray(m.rows)||m.rows.length>1e3||typeof m.initial!="string")throw new Error("Invalid parameter draft");u.value=m.rows,g.value=Math.max(0,Math.min(m.selected,m.rows.length-1)),y.value=m.initial,f.value=d}}),{m:n,rows:u,selected:g,current:v,definitions:h,issues:b,issuesByRow:N,firstIssueIndex:x,controlIssues:C,currentIssues:_,changes:k,pending:r,conflicted:E,error:o,reset:D,add:$,remove:L,move:V,setType:M,apply:I}}const J=["aria-label"],j={class:"mr-param-editor__directory"},H=["aria-label"],W=["aria-pressed","aria-label","onClick"],z={class:"mr-param-editor__directory-title"},G={key:0,class:"mr-param-editor__error-count","aria-hidden":"true"},K={key:0},Q=["disabled"],X={key:0,class:"mr-param-editor__validation",role:"status"},Z={class:"mr-param-editor__heading"},ee={class:"mr-param-editor__grid"},te=["aria-label","disabled"],ae=["id"],ne=["aria-label","disabled"],re=["value","aria-label","disabled"],le=["value"],oe=["id"],ie=["aria-label","disabled"],ue={class:"mr-param-editor__checks"},se=["disabled"],de=["disabled"],me={class:"mr-param-editor__default-label"},ce={class:"mr-param-editor__range"},pe=["value","aria-label","disabled"],fe=["value","aria-label","disabled"],ye={key:1},ge=["aria-label","disabled"],ve=["value"],be=["value","aria-label","type","min","max","step","disabled"],Ve=["id"],he=["value","aria-label","type","min","max","step","disabled","onInput"],Ee=["id"],ke=["value","aria-label","disabled","onInput"],Ne=["id"],_e={key:0,class:"mr-param-editor__hint"},De={key:1,class:"mr-param-editor__options"},Se={class:"mr-param-editor__option-head"},Be=["onUpdate:modelValue","aria-label","disabled"],xe=["onUpdate:modelValue","aria-label","disabled"],Ce=["aria-label","disabled","onClick"],Me=["id"],Ie=["disabled"],$e={class:"mr-param-editor__row-actions"},Le=["disabled"],Re=["disabled"],Te=["disabled"],Oe={class:"mr-param-editor__technical"},we={key:2,class:"mr-param-editor__empty"},Ye=["disabled"],Pe={key:3,class:"mr-param-editor__impact"},Ae={key:0},Fe={key:1},Ue={key:4,class:"mr-param-editor__errors",role:"alert"},qe=["disabled"],Je=["disabled"],je=e.defineComponent({__name:"ParamEditor",props:{document:{},readonly:{type:Boolean},messages:{},accept:{type:Function}},emits:["dirty"],setup(t,{expose:c,emit:f}){const u=t,g=f,o=q(u),{m:n,rows:h,selected:y,current:r,changes:E,pending:b,conflicted:N,error:x,issues:v,issuesByRow:_}=o,C=e.ref(),k=`mr-param-${e.getCurrentInstance()?.uid??0}`;e.watch(b,s=>g("dirty",s),{immediate:!0});function D(s){return{text:n.value.paramText,number:n.value.paramNumber,date:n.value.paramDate,month:n.value.paramMonth,year:n.value.paramYear,dateRange:n.value.paramDateRange,select:n.value.paramSelect}[s]}function $(){r.value&&!u.readonly&&r.value.options.push({value:"",label:""})}function L(s){u.readonly||r.value?.options.splice(s,1)}function V(s){const l=o.controlIssues(s).length>0;return{"aria-invalid":l?"true":void 0,"aria-describedby":l?`${k}-${y.value}-${s}`:void 0}}function M(s){return s==="year"?"number":s==="dateRange"?"date":["date","month","number"].includes(s)?s:"text"}function I(s){return s.target.value}function i(s,l){r.value&&!u.readonly&&(r.value[s]=I(l))}function d(s){return r.value?.defaultValue.split("/")[s]??""}function m(s,l){if(!r.value||u.readonly)return;const a=[d(0),d(1)];a[s]=I(l),r.value.defaultValue=a.some(Boolean)?a.join("/"):""}async function S(){const s=o.firstIssueIndex.value;if(s===void 0)return;y.value=s,await e.nextTick();const l=C.value?.querySelector('[aria-invalid="true"]');l?.focus({preventScroll:!0}),l?.scrollIntoView?.({block:"nearest"})}return c({pending:b,reset:o.reset,apply:o.apply,locateIssue:S}),(s,l)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-param-editor","aria-label":e.unref(n).paramsTool},[e.createElementVNode("aside",j,[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(n).paramsDirectory),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(h).length),1)]),e.createElementVNode("nav",{"aria-label":e.unref(n).paramsDirectory},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),(a,p)=>(e.openBlock(),e.createElementBlock("button",{key:p,type:"button","aria-pressed":e.unref(y)===p,"aria-label":`${a.label||a.field||e.unref(n).paramUnnamed}${e.unref(_).get(p)?.length?` · ${e.unref(n).paramIssueCount} ${e.unref(_).get(p)?.length}`:""}`,class:e.normalizeClass({"has-errors":e.unref(_).has(p)}),onClick:B=>y.value=p},[e.createElementVNode("span",z,[e.createElementVNode("strong",null,e.toDisplayString(a.label||a.field||e.unref(n).paramUnnamed),1),e.unref(_).has(p)?(e.openBlock(),e.createElementBlock("span",G,e.toDisplayString(e.unref(_).get(p)?.length),1)):e.createCommentVNode("",!0)]),e.createElementVNode("small",null,[e.createTextVNode(e.toDisplayString(a.field)+" · "+e.toDisplayString(D(a.type)),1),a.required?(e.openBlock(),e.createElementBlock("span",K," *")):e.createCommentVNode("",!0)])],10,W))),128))],8,H),e.createElementVNode("button",{type:"button",class:"mr-param-editor__add",disabled:t.readonly,onClick:l[0]||(l[0]=(...a)=>e.unref(o).add&&e.unref(o).add(...a))},"+ "+e.toDisplayString(e.unref(n).paramAdd),9,Q),e.createElementVNode("p",null,e.toDisplayString(e.unref(n).paramsDescription),1)]),e.createElementVNode("div",{ref_key:"main",ref:C,class:"mr-param-editor__main"},[e.unref(v).length?(e.openBlock(),e.createElementBlock("div",X,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramIssueCount)+" ",1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(v).length),1)]),e.createElementVNode("button",{type:"button",onClick:S},e.toDisplayString(e.unref(n).paramLocateFirst),1)])):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("header",Z,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).label||e.unref(r).field||e.unref(n).paramUnnamed),1),e.createElementVNode("small",null,e.toDisplayString(D(e.unref(r).type)),1)]),e.createElementVNode("span",{class:e.normalizeClass({"is-pending":e.unref(b)||e.unref(v).length>0})},e.toDisplayString(e.unref(v).length?e.unref(n).paramInvalid:e.unref(b)?e.unref(n).paramPending:e.unref(n).paramReady),3)]),e.createElementVNode("div",ee,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramField),1),e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":l[1]||(l[1]=a=>e.unref(r).field=a),"aria-label":e.unref(n).paramField,disabled:t.readonly,autocomplete:"off"},V("field")),null,16,te),[[e.vModelDynamic,e.unref(r).field]]),e.unref(o).controlIssues("field").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(y)}-field`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("field").join(";")),9,ae)):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramLabel),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[2]||(l[2]=a=>e.unref(r).label=a),"aria-label":e.unref(n).paramLabel,disabled:t.readonly},null,8,ne),[[e.vModelText,e.unref(r).label]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramType),1),e.createElementVNode("select",e.mergeProps({value:e.unref(r).type,"aria-label":e.unref(n).paramType,disabled:t.readonly},V("type"),{onChange:l[3]||(l[3]=a=>e.unref(o).setType(a.target.value))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Y),a=>(e.openBlock(),e.createElementBlock("option",{key:a,value:a},e.toDisplayString(D(a)),9,le))),128))],16,re),e.unref(o).controlIssues("type").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(y)}-type`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("type").join(";")),9,oe)):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramPlaceholder),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[4]||(l[4]=a=>e.unref(r).placeholder=a),"aria-label":e.unref(n).paramPlaceholder,disabled:t.readonly},null,8,ie),[[e.vModelText,e.unref(r).placeholder]])]),e.createElementVNode("div",ue,[e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[5]||(l[5]=a=>e.unref(r).required=a),type:"checkbox",disabled:t.readonly},null,8,se),[[e.vModelCheckbox,e.unref(r).required]]),e.createTextVNode(e.toDisplayString(e.unref(n).paramRequired),1)]),e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[6]||(l[6]=a=>e.unref(r).defaultEnabled=a),type:"checkbox",disabled:t.readonly},null,8,de),[[e.vModelCheckbox,e.unref(r).defaultEnabled]]),e.createTextVNode(e.toDisplayString(e.unref(n).paramDefaultEnabled),1)])]),e.unref(r).defaultEnabled?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["mr-param-editor__default",{"is-range":e.unref(r).type==="dateRange"}])},[e.unref(r).type==="dateRange"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",me,e.toDisplayString(e.unref(n).paramDefault),1),e.createElementVNode("div",ce,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramRangeStart),1),e.createElementVNode("input",e.mergeProps({value:d(0),type:"date","aria-label":e.unref(n).paramRangeStart,disabled:t.readonly},V("defaultValue"),{onInput:l[7]||(l[7]=a=>m(0,a))}),null,16,pe)]),l[17]||(l[17]=e.createElementVNode("span",{"aria-hidden":"true"},"—",-1)),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramRangeEnd),1),e.createElementVNode("input",e.mergeProps({value:d(1),type:"date","aria-label":e.unref(n).paramRangeEnd,disabled:t.readonly},V("defaultValue"),{onInput:l[8]||(l[8]=a=>m(1,a))}),null,16,fe)])])],64)):(e.openBlock(),e.createElementBlock("label",ye,[e.createTextVNode(e.toDisplayString(e.unref(n).paramDefault),1),e.unref(r).type==="select"?e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps({key:0,"onUpdate:modelValue":l[9]||(l[9]=a=>e.unref(r).defaultValue=a),"aria-label":e.unref(n).paramDefault,disabled:t.readonly},V("defaultValue")),[l[18]||(l[18]=e.createElementVNode("option",{value:""},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r).options,(a,p)=>(e.openBlock(),e.createElementBlock("option",{key:p,value:a.value},e.toDisplayString(a.label||a.value),9,ve))),128))],16,ge)),[[e.vModelSelect,e.unref(r).defaultValue]]):(e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,value:e.unref(r).defaultValue,"aria-label":e.unref(n).paramDefault,type:M(e.unref(r).type),min:e.unref(r).type==="year"?1:void 0,max:e.unref(r).type==="year"?9999:void 0,step:e.unref(r).type==="year"?1:"any",disabled:t.readonly},V("defaultValue"),{onInput:l[10]||(l[10]=a=>i("defaultValue",a))}),null,16,be))])),e.unref(o).controlIssues("defaultValue").length?(e.openBlock(),e.createElementBlock("small",{key:2,id:`${k}-${e.unref(y)}-defaultValue`,class:"mr-param-editor__field-error mr-param-editor__errors",role:"alert"},e.toDisplayString(e.unref(o).controlIssues("defaultValue").join(";")),9,Ve)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),["number","date","month","year","dateRange"].includes(e.unref(r).type)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},e.renderList(["min","max"],a=>e.createElementVNode("label",{key:a},[e.createTextVNode(e.toDisplayString(a==="min"?e.unref(n).paramMinimum:e.unref(n).paramMaximum),1),e.createElementVNode("input",e.mergeProps({value:e.unref(r)[a],"aria-label":a==="min"?e.unref(n).paramMinimum:e.unref(n).paramMaximum,type:M(e.unref(r).type),min:e.unref(r).type==="year"?1:void 0,max:e.unref(r).type==="year"?9999:void 0,step:e.unref(r).type==="year"?1:"any",disabled:t.readonly},{ref_for:!0},V(a),{onInput:p=>i(a,p)}),null,16,he),e.unref(o).controlIssues(a).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(y)}-${a}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(a).join(";")),9,Ee)):e.createCommentVNode("",!0)])),64)):e.createCommentVNode("",!0),e.unref(r).type==="text"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},e.renderList(["minLength","maxLength"],a=>e.createElementVNode("label",{key:a},[e.createTextVNode(e.toDisplayString(a==="minLength"?e.unref(n).paramMinLength:e.unref(n).paramMaxLength),1),e.createElementVNode("input",e.mergeProps({value:e.unref(r)[a],type:"number",min:"0",step:"1","aria-label":a==="minLength"?e.unref(n).paramMinLength:e.unref(n).paramMaxLength,disabled:t.readonly},{ref_for:!0},V(a),{onInput:p=>i(a,p)}),null,16,ke),e.unref(o).controlIssues(a).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(y)}-${a}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(a).join(";")),9,Ne)):e.createCommentVNode("",!0)])),64)):e.createCommentVNode("",!0)]),e.unref(r).type==="dateRange"?(e.openBlock(),e.createElementBlock("p",_e,e.toDisplayString(e.unref(n).paramRangeHint),1)):e.createCommentVNode("",!0),e.unref(r).type==="select"?(e.openBlock(),e.createElementBlock("fieldset",De,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(n).paramOptions),1),e.createElementVNode("div",Se,[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).paramOptionValue),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(n).paramOptionLabel),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r).options,(a,p)=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"mr-param-editor__option"},[e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":B=>a.value=B,"aria-label":`${e.unref(n).paramOptionValue} ${p+1}`,disabled:t.readonly},{ref_for:!0},V("options")),null,16,Be),[[e.vModelDynamic,a.value]]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B=>a.label=B,"aria-label":`${e.unref(n).paramOptionLabel} ${p+1}`,disabled:t.readonly},null,8,xe),[[e.vModelText,a.label]]),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(n).paramOptionRemove} ${p+1}`,disabled:t.readonly,onClick:B=>L(p)},"×",8,Ce)]))),128)),e.unref(o).controlIssues("options").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(y)}-options`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("options").join(";")),9,Me)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:$},"+ "+e.toDisplayString(e.unref(n).paramOptionAdd),9,Ie)])):e.createCommentVNode("",!0),e.createElementVNode("div",$e,[e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(y)===0,onClick:l[11]||(l[11]=a=>e.unref(o).move(-1))},"↑ "+e.toDisplayString(e.unref(n).paramMoveUp),9,Le),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(y)===e.unref(h).length-1,onClick:l[12]||(l[12]=a=>e.unref(o).move(1))},"↓ "+e.toDisplayString(e.unref(n).paramMoveDown),9,Re),e.createElementVNode("button",{type:"button",class:"is-danger",disabled:t.readonly,onClick:l[13]||(l[13]=(...a)=>e.unref(o).remove&&e.unref(o).remove(...a))},e.toDisplayString(e.unref(n).paramRemove),9,Te)]),e.createElementVNode("details",Oe,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(n).paramWire),1),e.createElementVNode("code",null,e.toDisplayString(e.unref(P)[e.unref(r).type]),1)])],64)):(e.openBlock(),e.createElementBlock("div",we,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(n).paramEmpty),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(n).paramEmptyHint),1),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:l[14]||(l[14]=(...a)=>e.unref(o).add&&e.unref(o).add(...a))},"+ "+e.toDisplayString(e.unref(n).paramAdd),9,Ye)])),e.unref(E).added.length||e.unref(E).removed.length?(e.openBlock(),e.createElementBlock("aside",Pe,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(n).paramChanges),1),e.unref(E).added.length?(e.openBlock(),e.createElementBlock("p",Ae,[e.createTextVNode(e.toDisplayString(e.unref(n).paramAdded)+":",1),e.createElementVNode("code",null,e.toDisplayString(e.unref(E).added.join(", ")),1)])):e.createCommentVNode("",!0),e.unref(E).removed.length?(e.openBlock(),e.createElementBlock("p",Fe,[e.createTextVNode(e.toDisplayString(e.unref(n).paramRemoved)+":",1),e.createElementVNode("code",null,e.toDisplayString(e.unref(E).removed.join(", ")),1)])):e.createCommentVNode("",!0),e.createElementVNode("small",null,e.toDisplayString(e.unref(n).paramRenameHint),1)])):e.createCommentVNode("",!0),e.unref(N)||e.unref(x)?(e.openBlock(),e.createElementBlock("p",Ue,e.toDisplayString(e.unref(N)?e.unref(n).paramConflict:e.unref(x)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("button",{type:"button",disabled:!e.unref(b)&&!e.unref(N),onClick:l[15]||(l[15]=(...a)=>e.unref(o).reset&&e.unref(o).reset(...a))},e.toDisplayString(e.unref(n).paramRestore),9,qe),e.createElementVNode("button",{type:"button",class:"is-primary",disabled:t.readonly||!e.unref(b)||e.unref(N)||!!e.unref(v).length,onClick:l[16]||(l[16]=(...a)=>e.unref(o).apply&&e.unref(o).apply(...a))},e.toDisplayString(e.unref(n).paramApply),9,Je)])],512)],8,J))}}),He=w._export_sfc(je,[["__scopeId","data-v-d8a0f18a"]]);exports.default=He;