@agile-team/mach-report 2.19.1 → 2.21.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 (122) hide show
  1. package/README.md +22 -3
  2. package/dist/ExcelBindingWizard-B2xXBOJu.cjs +1 -0
  3. package/dist/{ExcelBindingWizard-xJIYmnZ_.js → ExcelBindingWizard-CixTPQAL.js} +351 -351
  4. package/dist/ParamEditor-DhHlNxai.cjs +1 -0
  5. package/dist/{ParamEditor-D1wWemaf.js → ParamEditor-gKhvEsnr.js} +10 -10
  6. package/dist/{ReportBatchPanel-BkJFqeEW.cjs → ReportBatchPanel-BUdUfTdm.cjs} +1 -1
  7. package/dist/{ReportBatchPanel-B88R-fME.js → ReportBatchPanel-D-lyWKyf.js} +2 -2
  8. package/dist/ReportLabelStudio-BcjQt73a.cjs +1 -0
  9. package/dist/ReportLabelStudio-N2w6DdaZ.js +764 -0
  10. package/dist/ReportParamPanel-CVpK8mFc.cjs +1 -0
  11. package/dist/{ReportParamPanel-mQkeN70Q.js → ReportParamPanel-peB-KEmm.js} +10 -2
  12. package/dist/{ReportPreview-DBbctg6C.js → ReportPreview-BBJNlu2U.js} +2093 -1978
  13. package/dist/ReportPreview-nf4Dk1Jc.cjs +6 -0
  14. package/dist/{ReportTemplateLibrary-BOh2MgjQ.cjs → ReportTemplateLibrary-Cs9WKneQ.cjs} +1 -1
  15. package/dist/{ReportTemplateLibrary-BGELmgd3.js → ReportTemplateLibrary-WZl-AK-2.js} +1 -1
  16. package/dist/{RuleEditor-CoLqgehG.js → RuleEditor-DGpmjCko.js} +178 -174
  17. package/dist/RuleEditor-Dtcq-7LO.cjs +1 -0
  18. package/dist/{TemplateOutlinePanel-DiG8tRRe.cjs → TemplateOutlinePanel-CkCh506f.cjs} +1 -1
  19. package/dist/{TemplateOutlinePanel-DU95loB-.js → TemplateOutlinePanel-cxp95OT9.js} +1 -1
  20. package/dist/{TemplateReusePanel-DE1KSD6c.js → TemplateReusePanel-BZ8VTtrO.js} +2 -2
  21. package/dist/{TemplateReusePanel-G-Y299wc.cjs → TemplateReusePanel-CwttuSta.cjs} +1 -1
  22. package/dist/{TemplateReviewPanel-KQx9ts0D.cjs → TemplateReviewPanel-C2YjiaEC.cjs} +1 -1
  23. package/dist/{TemplateReviewPanel-vqFJ_Y9o.js → TemplateReviewPanel-C9cTvsRs.js} +1 -1
  24. package/dist/artifact-integrity.json +92 -94
  25. package/dist/{assets-2eC3mOcV.js → assets-CxHunY_9.js} +2 -2
  26. package/dist/{assets-B0Hxn4l6.cjs → assets-vbjAGgk8.cjs} +1 -1
  27. package/dist/{auto-BlchZ1b8.js → auto-BkdGiNtr.js} +4 -4
  28. package/dist/{auto-B0EZFIK1.cjs → auto-Tq7ReIC1.cjs} +1 -1
  29. package/dist/{component-tree-CvW4lzpv.js → component-tree-1_QCiQJX.js} +1 -1
  30. package/dist/component-tree-BjZIp6w9.cjs +1 -0
  31. package/dist/{data-bar-PtjXhMgN.js → data-bar-8baGYEZ9.js} +1 -1
  32. package/dist/{data-bar-Ce38juRZ.cjs → data-bar-YltqGTaC.cjs} +1 -1
  33. package/dist/designer-CDqok4S5.cjs +2 -0
  34. package/dist/designer-CIDHt5xz.js +6869 -0
  35. package/dist/designer.cjs +1 -1
  36. package/dist/designer.d.cts +166 -7
  37. package/dist/designer.d.ts +166 -7
  38. package/dist/designer.js +1 -1
  39. package/dist/{encoding-B--eZpp1.cjs → encoding-B79hW4zq.cjs} +1 -1
  40. package/dist/{encoding-mctOLocI.js → encoding-BSeUwrN7.js} +2 -2
  41. package/dist/{font-loader-DBBJ5KE9.cjs → font-loader-BB372_XN.cjs} +1 -1
  42. package/dist/{font-loader-DW8tIaNp.js → font-loader-Di0lQKFf.js} +1 -1
  43. package/dist/grid-geometry-D3SJgWFv.js +136 -0
  44. package/dist/grid-geometry-D8ReblRV.cjs +1 -0
  45. package/dist/index.cjs +6 -6
  46. package/dist/index.js +194 -195
  47. package/dist/json-snapshot-I5VI84Vp.cjs +2 -0
  48. package/dist/{json-snapshot-By4ZVVUt.js → json-snapshot-Kgn459Oj.js} +895 -879
  49. package/dist/{pdf-DqyxJ96U.cjs → pdf-CARdBcuw.cjs} +45 -45
  50. package/dist/{pdf-CKROKygt.js → pdf-DmlnL5eB.js} +13 -14
  51. package/dist/pdf.cjs +1 -1
  52. package/dist/pdf.js +2 -2
  53. package/dist/{plugin-CPyHs4UC.cjs → plugin-BaRUGORD.cjs} +1 -1
  54. package/dist/{plugin-DsXJRR6Q.js → plugin-D4kAxfLG.js} +1 -1
  55. package/dist/{prefill-D7EswyTI.cjs → prefill-Bpyn58AZ.cjs} +1 -1
  56. package/dist/{prefill-B8H9qwE4.js → prefill-CJSazcVY.js} +2 -2
  57. package/dist/{prepared-CGVphji3.cjs → prepared-BiSz_9vN.cjs} +1 -1
  58. package/dist/{prepared-BE-4jfX5.js → prepared-BwjwEzFz.js} +1 -1
  59. package/dist/{protocol-Cr81vFSQ.js → protocol-Bs9-ohHN.js} +3 -3
  60. package/dist/{protocol-ByRVzzQG.cjs → protocol-C8VWF9An.cjs} +1 -1
  61. package/dist/record-bindings-Ct1HkPrc.cjs +1 -0
  62. package/dist/{record-bindings-DEJtmo3p.js → record-bindings-VZGS-Qd8.js} +1 -1
  63. package/dist/{region-binding-workflow-CBg0l_tj.js → region-binding-workflow-Cy4GIOUo.js} +2 -2
  64. package/dist/{region-binding-workflow-D05tOYn3.cjs → region-binding-workflow-JNowHd0A.cjs} +1 -1
  65. package/dist/report-encoding-worker.cjs +1 -1
  66. package/dist/report-encoding-worker.js +1 -1
  67. package/dist/rich-text-layout-K48VHUoW.cjs +3 -0
  68. package/dist/{rich-text-layout-Ct5WrY1g.js → rich-text-layout-wxBhnAS7.js} +1 -1
  69. package/dist/{runtime-CEMvybO7.js → runtime-BDf5x1i1.js} +5 -5
  70. package/dist/runtime-DsJt1PIf.cjs +1 -0
  71. package/dist/sbom.cdx.json +1 -1
  72. package/dist/server-node.cjs +4 -4
  73. package/dist/server-node.js +1272 -1274
  74. package/dist/server.cjs +1 -1
  75. package/dist/server.js +8 -8
  76. package/dist/style.css +1 -1
  77. package/dist/{template-catalog-CmbWOJqy.js → template-catalog-DFwIS9aN.js} +3 -3
  78. package/dist/{template-catalog-Utu4GP09.cjs → template-catalog-D_2jdnkL.cjs} +1 -1
  79. package/dist/template-fragments-DZVUBhuB.cjs +1 -0
  80. package/dist/{template-fragments-DWgo9tlZ.js → template-fragments-Dng-AlHk.js} +11 -11
  81. package/dist/{template-registry-BIhIHOab.js → template-registry-DhBqoD7W.js} +120 -118
  82. package/dist/template-registry-DpLUSLwF.cjs +1 -0
  83. package/dist/{column-visual-BpgQVWwT.js → template-serialization-Cc3h-miv.js} +74 -65
  84. package/dist/{column-visual-CtYxnBCP.cjs → template-serialization-D1R5oAqh.cjs} +1 -1
  85. package/dist/{textwrap-BEIg2w8y.js → textwrap-CkGjRFT3.js} +1 -1
  86. package/dist/textwrap-OTOUMr4f.cjs +4 -0
  87. package/dist/vue/async.d.cts +8 -0
  88. package/dist/vue/async.d.ts +8 -0
  89. package/dist/vue/index.d.cts +10 -2
  90. package/dist/vue/index.d.ts +10 -2
  91. package/dist/vue-async.cjs +1 -1
  92. package/dist/vue-async.js +3 -3
  93. package/dist/vue.cjs +1 -1
  94. package/dist/vue.js +6 -6
  95. package/dist/{workbook-session-B94EwVa_.cjs → workbook-session-NYv01LHe.cjs} +1 -1
  96. package/dist/{workbook-session-BoScoOg-.js → workbook-session-oinxX3qo.js} +2 -2
  97. package/dist/worker.cjs +1 -1
  98. package/dist/worker.js +4 -4
  99. package/dist/xlsx.cjs +4 -4
  100. package/dist/xlsx.js +204 -205
  101. package/package.json +1 -1
  102. package/dist/ExcelBindingWizard-UHSApSG9.cjs +0 -1
  103. package/dist/ParamEditor-BZb-okUd.cjs +0 -1
  104. package/dist/ReportLabelStudio-B4WZ2XNN.js +0 -239
  105. package/dist/ReportLabelStudio-BN-fYNCr.cjs +0 -1
  106. package/dist/ReportParamPanel-sOANVRz-.cjs +0 -1
  107. package/dist/ReportPreview-CuoHl15N.cjs +0 -6
  108. package/dist/RuleEditor-XaLcCdTb.cjs +0 -1
  109. package/dist/component-tree-6TV7W6Yj.cjs +0 -1
  110. package/dist/designer-CyKXBhQg.cjs +0 -2
  111. package/dist/designer-fVvpYg8H.js +0 -5824
  112. package/dist/grid-geometry-BNptEcMm.js +0 -65
  113. package/dist/grid-geometry-CZ_cYB6O.cjs +0 -1
  114. package/dist/json-snapshot-jiXff4lc.cjs +0 -2
  115. package/dist/record-bindings-ehjnCDHt.cjs +0 -1
  116. package/dist/rich-text-layout-ALlMoYOG.cjs +0 -3
  117. package/dist/runtime-CDA6d263.cjs +0 -1
  118. package/dist/style-67OqfNed.js +0 -73
  119. package/dist/style-C22Pbv3T.cjs +0 -1
  120. package/dist/template-fragments-C_zSHJAa.cjs +0 -1
  121. package/dist/template-registry-DzWswQI5.cjs +0 -1
  122. package/dist/textwrap-BI-yJ6Wt.cjs +0 -4
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),M=require("./ReportParamPanel-CVpK8mFc.cjs"),j=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),q=require("@agile-team/mach-report"),J=require("./designer-CDqok4S5.cjs"),w={class:"mr-param-tree"},H={"aria-hidden":"true"},W=["value","aria-label","disabled","onInput"],z=["value","aria-label","disabled","onInput"],G=["aria-label","disabled","onClick"],K=["aria-label","disabled","onClick"],Q=["disabled"],X=e.defineComponent({__name:"ParamTreeOptionsEditor",props:{modelValue:{},messages:{},readonly:{type:Boolean}},emits:["update:modelValue"],setup(a,{emit:y}){const b=a,u=y,g=e.computed(()=>{const N=[],h=b.modelValue.map((t,m)=>({item:t,path:[m]}));for(let t=0;t<h.length&&N.length<1e3;t++){const m=h[t];N.push(m),m.path.length<16&&h.splice(t+1,0,...(m.item.children??[]).map((s,l)=>({item:s,path:[...m.path,l]})))}return N});function o(N,h,t=""){if(b.readonly)return;const m=JSON.parse(JSON.stringify(b.modelValue));let s=m;for(const S of N.slice(0,-1))s=s[S].children;const l=N[N.length-1],E=s[l];if(h==="remove")s.splice(l,1);else if(h==="add"){if(g.value.length>=1e3||N.length>=16)return;E?(E.children??=[]).push({label:"",value:""}):m.push({label:"",value:""})}else E&&(E[h]=t);u("update:modelValue",m)}return(N,h)=>(e.openBlock(),e.createElementBlock("div",w,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(t,m)=>(e.openBlock(),e.createElementBlock("div",{key:t.path.join("."),class:"mr-param-tree__row",style:e.normalizeStyle({paddingLeft:`${(t.path.length-1)*14}px`})},[e.createElementVNode("span",H,e.toDisplayString(t.path.length>1?"↳":"•"),1),e.createElementVNode("input",{value:t.item.value,"aria-label":`${a.messages.paramOptionValue} ${m+1}`,disabled:a.readonly,onInput:s=>o(t.path,"value",s.target.value)},null,40,W),e.createElementVNode("input",{value:t.item.label,"aria-label":`${a.messages.paramOptionLabel} ${m+1}`,disabled:a.readonly,onInput:s=>o(t.path,"label",s.target.value)},null,40,z),e.createElementVNode("button",{type:"button","aria-label":`${a.messages.paramChildAdd} ${m+1}`,disabled:a.readonly||t.path.length>=16||g.value.length>=1e3,onClick:s=>o(t.path,"add")},"+↳",8,G),e.createElementVNode("button",{type:"button","aria-label":`${a.messages.paramOptionRemove} ${m+1}`,disabled:a.readonly,onClick:s=>o(t.path,"remove")},"×",8,K)],4))),128)),e.createElementVNode("button",{type:"button",disabled:a.readonly||g.value.length>=1e3,onClick:h[0]||(h[0]=t=>o([a.modelValue.length],"add"))},"+ "+e.toDisplayString(a.messages.paramOptionAdd),9,Q)]))}}),Z=j._export_sfc(X,[["__scopeId","data-v-fb7ced48"]]),ee=["text","number","date","month","year","dateRange","select","multiSelect","cascader","numberRange"],te={text:"string",number:"string → number",date:"YYYY-MM-DD",month:"YYYY-MM",year:"YYYY",dateRange:"YYYY-MM-DD/YYYY-MM-DD",select:"option.value",multiSelect:'JSON ["value",…]',cascader:'JSON ["parent","leaf"]',numberRange:"JSON [minimum,maximum]"};function ae(a){if(a.startsWith("远程选项"))return["optionsSource"];if(a.startsWith("联动依赖"))return["dependsOn"];if(/^(默认值|必填参数的默认值)/.test(a))return["defaultValue"];if(a.includes("参数名"))return["field"];if(a.includes("选项"))return["options"];if(a.startsWith("最小边界"))return["min","max"];if(a.startsWith("最小长度"))return["minLength","maxLength"];const y=/^(minLength|maxLength|minItems|maxItems|min|max) /.exec(a)?.[1];return y?[y]:["type"]}function ne(a){return JSON.parse(JSON.stringify(a))}function P(a){return{field:a.field,label:a.label??"",type:a.type??"text",required:a.required===!0,placeholder:a.placeholder??"",defaultEnabled:a.defaultValue!==void 0,defaultValue:a.defaultValue??"",min:a.min===void 0?"":String(a.min),max:a.max===void 0?"":String(a.max),minLength:a.minLength===void 0?"":String(a.minLength),maxLength:a.maxLength===void 0?"":String(a.maxLength),minItems:a.minItems===void 0?"":String(a.minItems),maxItems:a.maxItems===void 0?"":String(a.maxItems),options:a.options?JSON.parse(JSON.stringify(a.options)):[],optionsMode:a.optionsSource===void 0?"static":"remote",optionsSource:a.optionsSource??"",dependsOn:[...a.dependsOn??[]]}}function le(a){const y={field:a.field,type:a.type};a.label&&(y.label=a.label),a.placeholder&&(y.placeholder=a.placeholder),a.required&&(y.required=!0),a.defaultEnabled&&(y.defaultValue=a.defaultValue);for(const b of["min","max"])a[b]!==""&&(y[b]=["number","numberRange"].includes(a.type)?Number(a[b]):a[b]);for(const b of["minLength","maxLength","minItems","maxItems"])a[b]!==""&&(y[b]=Number(a[b]));return["select","multiSelect","cascader"].includes(a.type)&&a.optionsMode==="remote"?(y.optionsSource=a.optionsSource.trim(),a.dependsOn.length&&(y.dependsOn=[...a.dependsOn])):["select","multiSelect","cascader"].includes(a.type)&&(y.options=JSON.parse(JSON.stringify(a.options))),y}function re(a){const y=()=>JSON.stringify(a.document.template.params??[]),b=e.ref(y()),u=e.ref((a.document.template.params??[]).map(P)),g=e.ref(0),o=e.ref(""),N=e.computed(()=>({...J.PARAM_EDITOR_MESSAGES,...a.messages})),h=e.computed(()=>u.value.map(le)),t=e.ref(JSON.stringify(u.value)),m=e.computed(()=>JSON.stringify(u.value)!==t.value),s=e.computed(()=>y()!==b.value),l=e.computed(()=>q.validateReportParamDefinitions(h.value)),E=e.computed(()=>{const d=new Map;for(const c of l.value){const f=Number(c.path.split(".").at(-1)),v=d.get(f)??[];v.push({message:c.message,controls:ae(c.message)}),d.set(f,v)}return d}),S=e.computed(()=>E.value.keys().next().value),V=e.computed(()=>u.value[g.value]),I=e.computed(()=>l.value.filter(d=>d.path===`$.paramDefs.${g.value}`));function _(d){return(E.value.get(g.value)??[]).filter(c=>c.controls.includes(d)).map(c=>c.message)}const D=e.computed(()=>{const d=JSON.parse(b.value).map(f=>f.field),c=h.value.map(f=>f.field);return{added:c.filter(f=>f&&!d.includes(f)),removed:d.filter(f=>!c.includes(f))}});function x(){b.value=y(),u.value=(a.document.template.params??[]).map(P),g.value=Math.min(g.value,Math.max(0,u.value.length-1)),t.value=JSON.stringify(u.value),o.value=""}e.watch(y,()=>{m.value||x()});function R(){if(a.readonly)return;let d=u.value.length+1;for(;u.value.some(c=>c.field===`param${d}`);)d++;u.value.push(P({field:`param${d}`,type:"text"})),g.value=u.value.length-1}function L(){a.readonly||!V.value||(u.value.splice(g.value,1),g.value=Math.min(g.value,Math.max(0,u.value.length-1)))}function T(d){const c=g.value+d;if(a.readonly||c<0||c>=u.value.length)return;const f=u.value.splice(g.value,1)[0];u.value.splice(c,0,f),g.value=c}function $(d){a.readonly||!V.value||(V.value.type==="cascader"&&d!=="cascader"&&(V.value.options=V.value.options.map(c=>({label:c.label,value:c.value}))),V.value.type=d,V.value.min="",V.value.max="",V.value.minLength="",V.value.maxLength="",V.value.minItems="",V.value.maxItems="")}function k(){if(a.readonly||s.value||l.value.length)return!1;try{return a.accept(ne(h.value))?(b.value=JSON.stringify(h.value),t.value=JSON.stringify(u.value),o.value="",!0):(o.value=N.value.paramApplyFailed,!1)}catch(d){return o.value=d instanceof Error?d.message:String(d),!1}}return J.useTemplateToolDraft({key:()=>"params",baseline:()=>b.value,pending:()=>m.value,reset:x,snapshot:()=>JSON.stringify({rows:u.value,selected:g.value,initial:t.value}),restore(d,c){const f=JSON.parse(d);if(!Array.isArray(f.rows)||f.rows.length>1e3||typeof f.initial!="string")throw new Error("Invalid parameter draft");u.value=f.rows.map(v=>({...v,minItems:v.minItems??"",maxItems:v.maxItems??"",optionsMode:v.optionsMode??"static",optionsSource:v.optionsSource??"",dependsOn:v.dependsOn??[]})),g.value=Math.max(0,Math.min(f.selected,f.rows.length-1)),t.value=f.initial,b.value=c}}),{m:N,rows:u,selected:g,current:V,definitions:h,issues:l,issuesByRow:E,firstIssueIndex:S,controlIssues:_,currentIssues:I,changes:D,pending:m,conflicted:s,error:o,reset:x,add:R,remove:L,move:T,setType:$,apply:k}}const oe=["aria-label"],ie={class:"mr-param-editor__directory"},se=["aria-label"],ue=["aria-pressed","aria-label","onClick"],de={class:"mr-param-editor__directory-title"},me={key:0,class:"mr-param-editor__error-count","aria-hidden":"true"},ce={key:0},pe=["disabled"],fe={key:0,class:"mr-param-editor__validation",role:"status"},ye={class:"mr-param-editor__heading"},ge={class:"mr-param-editor__grid"},ve=["aria-label","disabled"],be=["id"],he=["aria-label","disabled"],Ve=["value","aria-label","disabled"],Ee=["value"],Ne=["id"],ke=["aria-label","disabled"],Se={class:"mr-param-editor__checks"},_e=["disabled"],De=["disabled"],Be={key:0,class:"mr-param-editor__compound-default"},xe={class:"mr-param-editor__default-label"},Ie={class:"mr-param-editor__range"},$e=["value","aria-label","disabled"],Ce=["value","aria-label","disabled"],Oe={key:2},Me=["aria-label","disabled"],Re=["value"],Le=["value","aria-label","type","min","max","step","disabled"],Te=["id"],Pe=["value","aria-label","type","min","max","step","disabled","onInput"],Ue=["id"],Ye=["value","aria-label","disabled","onInput"],Ae=["id"],Fe={key:0,class:"mr-param-editor__hint"},Je={key:1,class:"mr-param-editor__options"},je=["aria-label","disabled"],qe={value:"static"},we={value:"remote"},He=["aria-label","disabled"],We=["id"],ze=["value","disabled"],Ge=["id"],Ke={class:"mr-param-editor__hint"},Qe={key:2,class:"mr-param-editor__options"},Xe={class:"mr-param-editor__option-head"},Ze=["onUpdate:modelValue","aria-label","disabled"],et=["onUpdate:modelValue","aria-label","disabled"],tt=["aria-label","disabled","onClick"],at=["id"],nt=["disabled"],lt={key:3,class:"mr-param-editor__options"},rt={class:"mr-param-editor__hint"},ot=["id"],it={key:4,class:"mr-param-editor__grid"},st=["value","aria-label","disabled","onInput"],ut=["id"],dt={class:"mr-param-editor__row-actions"},mt=["disabled"],ct=["disabled"],pt=["disabled"],ft={class:"mr-param-editor__technical"},yt={key:2,class:"mr-param-editor__empty"},gt=["disabled"],vt={key:3,class:"mr-param-editor__impact"},bt={key:0},ht={key:1},Vt={key:4,class:"mr-param-editor__errors",role:"alert"},Et=["disabled"],Nt=["disabled"],kt=e.defineComponent({__name:"ParamEditor",props:{document:{},readonly:{type:Boolean},messages:{},loadOptions:{type:Function},accept:{type:Function}},emits:["dirty"],setup(a,{expose:y,emit:b}){const u=a,g=b,o=re(u),N=M.useMachReportConfig(),h=e.computed(()=>u.loadOptions??M.resolveConfig(N.value).loadParamOptions),{m:t,rows:m,selected:s,current:l,changes:E,pending:S,conflicted:V,error:I,issues:_,issuesByRow:D}=o,x=e.computed(()=>{const i=m.value.filter((r,n)=>n!==s.value).map(r=>({field:r.field,label:r.label||r.field||t.value.paramUnnamed}));for(const r of l.value?.dependsOn??[])i.some(n=>n.field===r)||i.push({field:r,label:`${r} · ${t.value.paramDependencyUnavailable}`});return i}),R=e.computed(()=>l.value?[{...o.definitions.value[s.value],defaultValue:void 0,required:!1}]:[]),L=e.computed(()=>{const i=Object.fromEntries(o.definitions.value.map(r=>[r.field,r.defaultValue??""]));return l.value&&(i[l.value.field]=l.value.defaultValue),i});function T(i){l.value&&!u.readonly&&(l.value.defaultValue=i[l.value.field]??"")}const $=e.ref(),k=`mr-param-${e.getCurrentInstance()?.uid??0}`;e.watch(S,i=>g("dirty",i),{immediate:!0});function d(i){return{text:t.value.paramText,number:t.value.paramNumber,date:t.value.paramDate,month:t.value.paramMonth,year:t.value.paramYear,dateRange:t.value.paramDateRange,select:t.value.paramSelect,multiSelect:t.value.paramMultiSelect,cascader:t.value.paramCascader,numberRange:t.value.paramNumberRange}[i]}function c(){l.value&&!u.readonly&&l.value.options.push({value:"",label:""})}function f(i){u.readonly||l.value?.options.splice(i,1)}function v(i){const r=o.controlIssues(i).length>0;return{"aria-invalid":r?"true":void 0,"aria-describedby":r?`${k}-${s.value}-${i}`:void 0}}function U(i){return i==="year"?"number":i==="dateRange"?"date":i==="numberRange"?"number":["date","month","number"].includes(i)?i:"text"}function Y(i){return i.target.value}function C(i,r){l.value&&!u.readonly&&(l.value[i]=Y(r))}function O(i){return l.value?.defaultValue.split("/")[i]??""}function A(i,r){if(!l.value||u.readonly)return;const n=[O(0),O(1)];n[i]=Y(r),l.value.defaultValue=n.some(Boolean)?n.join("/"):""}async function F(){const i=o.firstIssueIndex.value;if(i===void 0)return;s.value=i,await e.nextTick();const r=$.value?.querySelector('[aria-invalid="true"]');r?.focus({preventScroll:!0}),r?.scrollIntoView?.({block:"nearest"})}return y({pending:S,reset:o.reset,apply:o.apply,locateIssue:F}),(i,r)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-param-editor","aria-label":e.unref(t).paramsTool},[e.createElementVNode("aside",ie,[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(t).paramsDirectory),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(m).length),1)]),e.createElementVNode("nav",{"aria-label":e.unref(t).paramsDirectory},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(n,p)=>(e.openBlock(),e.createElementBlock("button",{key:p,type:"button","aria-pressed":e.unref(s)===p,"aria-label":`${n.label||n.field||e.unref(t).paramUnnamed}${e.unref(D).get(p)?.length?` · ${e.unref(t).paramIssueCount} ${e.unref(D).get(p)?.length}`:""}`,class:e.normalizeClass({"has-errors":e.unref(D).has(p)}),onClick:B=>s.value=p},[e.createElementVNode("span",de,[e.createElementVNode("strong",null,e.toDisplayString(n.label||n.field||e.unref(t).paramUnnamed),1),e.unref(D).has(p)?(e.openBlock(),e.createElementBlock("span",me,e.toDisplayString(e.unref(D).get(p)?.length),1)):e.createCommentVNode("",!0)]),e.createElementVNode("small",null,[e.createTextVNode(e.toDisplayString(n.field)+" · "+e.toDisplayString(d(n.type)),1),n.required?(e.openBlock(),e.createElementBlock("span",ce," *")):e.createCommentVNode("",!0)])],10,ue))),128))],8,se),e.createElementVNode("button",{type:"button",class:"mr-param-editor__add",disabled:a.readonly,onClick:r[0]||(r[0]=(...n)=>e.unref(o).add&&e.unref(o).add(...n))},"+ "+e.toDisplayString(e.unref(t).paramAdd),9,pe),e.createElementVNode("p",null,e.toDisplayString(e.unref(t).paramsDescription),1)]),e.createElementVNode("div",{ref_key:"main",ref:$,class:"mr-param-editor__main"},[e.unref(_).length?(e.openBlock(),e.createElementBlock("div",fe,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramIssueCount)+" ",1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(_).length),1)]),e.createElementVNode("button",{type:"button",onClick:F},e.toDisplayString(e.unref(t).paramLocateFirst),1)])):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("header",ye,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).label||e.unref(l).field||e.unref(t).paramUnnamed),1),e.createElementVNode("small",null,e.toDisplayString(d(e.unref(l).type)),1)]),e.createElementVNode("span",{class:e.normalizeClass({"is-pending":e.unref(S)||e.unref(_).length>0})},e.toDisplayString(e.unref(_).length?e.unref(t).paramInvalid:e.unref(S)?e.unref(t).paramPending:e.unref(t).paramReady),3)]),e.createElementVNode("div",ge,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramField),1),e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":r[1]||(r[1]=n=>e.unref(l).field=n),"aria-label":e.unref(t).paramField,disabled:a.readonly,autocomplete:"off"},v("field")),null,16,ve),[[e.vModelDynamic,e.unref(l).field]]),e.unref(o).controlIssues("field").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-field`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("field").join(";")),9,be)):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramLabel),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[2]||(r[2]=n=>e.unref(l).label=n),"aria-label":e.unref(t).paramLabel,disabled:a.readonly},null,8,he),[[e.vModelText,e.unref(l).label]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramType),1),e.createElementVNode("select",e.mergeProps({value:e.unref(l).type,"aria-label":e.unref(t).paramType,disabled:a.readonly},v("type"),{onChange:r[3]||(r[3]=n=>e.unref(o).setType(n.target.value))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ee),n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(d(n)),9,Ee))),128))],16,Ve),e.unref(o).controlIssues("type").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-type`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("type").join(";")),9,Ne)):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramPlaceholder),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[4]||(r[4]=n=>e.unref(l).placeholder=n),"aria-label":e.unref(t).paramPlaceholder,disabled:a.readonly},null,8,ke),[[e.vModelText,e.unref(l).placeholder]])]),e.createElementVNode("div",Se,[e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[5]||(r[5]=n=>e.unref(l).required=n),type:"checkbox",disabled:a.readonly},null,8,_e),[[e.vModelCheckbox,e.unref(l).required]]),e.createTextVNode(e.toDisplayString(e.unref(t).paramRequired),1)]),e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[6]||(r[6]=n=>e.unref(l).defaultEnabled=n),type:"checkbox",disabled:a.readonly},null,8,De),[[e.vModelCheckbox,e.unref(l).defaultEnabled]]),e.createTextVNode(e.toDisplayString(e.unref(t).paramDefaultEnabled),1)])]),e.unref(l).defaultEnabled?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["mr-param-editor__default",{"is-range":e.unref(l).type==="dateRange"}])},[["multiSelect","cascader","numberRange"].includes(e.unref(l).type)?(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("span",null,e.toDisplayString(e.unref(t).paramDefault),1),e.createVNode(M.ReportParamPanel,{defs:R.value,"model-value":L.value,messages:e.unref(M.DEFAULT_MESSAGES),"load-options":h.value,attempted:!1,"show-title":!1,"show-actions":!1,disabled:a.readonly,"onUpdate:modelValue":T},null,8,["defs","model-value","messages","load-options","disabled"])])):e.unref(l).type==="dateRange"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",xe,e.toDisplayString(e.unref(t).paramDefault),1),e.createElementVNode("div",Ie,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramRangeStart),1),e.createElementVNode("input",e.mergeProps({value:O(0),type:"date","aria-label":e.unref(t).paramRangeStart,disabled:a.readonly},v("defaultValue"),{onInput:r[7]||(r[7]=n=>A(0,n))}),null,16,$e)]),r[21]||(r[21]=e.createElementVNode("span",{"aria-hidden":"true"},"—",-1)),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramRangeEnd),1),e.createElementVNode("input",e.mergeProps({value:O(1),type:"date","aria-label":e.unref(t).paramRangeEnd,disabled:a.readonly},v("defaultValue"),{onInput:r[8]||(r[8]=n=>A(1,n))}),null,16,Ce)])])],64)):(e.openBlock(),e.createElementBlock("label",Oe,[e.createTextVNode(e.toDisplayString(e.unref(t).paramDefault),1),e.unref(l).type==="select"&&e.unref(l).optionsMode!=="remote"?e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps({key:0,"onUpdate:modelValue":r[9]||(r[9]=n=>e.unref(l).defaultValue=n),"aria-label":e.unref(t).paramDefault,disabled:a.readonly},v("defaultValue")),[r[22]||(r[22]=e.createElementVNode("option",{value:""},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).options,(n,p)=>(e.openBlock(),e.createElementBlock("option",{key:p,value:n.value},e.toDisplayString(n.label||n.value),9,Re))),128))],16,Me)),[[e.vModelSelect,e.unref(l).defaultValue]]):(e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,value:e.unref(l).defaultValue,"aria-label":e.unref(t).paramDefault,type:U(e.unref(l).type),min:e.unref(l).type==="year"?1:void 0,max:e.unref(l).type==="year"?9999:void 0,step:e.unref(l).type==="year"?1:"any",disabled:a.readonly},v("defaultValue"),{onInput:r[10]||(r[10]=n=>C("defaultValue",n))}),null,16,Le))])),e.unref(o).controlIssues("defaultValue").length?(e.openBlock(),e.createElementBlock("small",{key:3,id:`${k}-${e.unref(s)}-defaultValue`,class:"mr-param-editor__field-error mr-param-editor__errors",role:"alert"},e.toDisplayString(e.unref(o).controlIssues("defaultValue").join(";")),9,Te)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),["number","numberRange","date","month","year","dateRange"].includes(e.unref(l).type)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},e.renderList(["min","max"],n=>e.createElementVNode("label",{key:n},[e.createTextVNode(e.toDisplayString(n==="min"?e.unref(t).paramMinimum:e.unref(t).paramMaximum),1),e.createElementVNode("input",e.mergeProps({value:e.unref(l)[n],"aria-label":n==="min"?e.unref(t).paramMinimum:e.unref(t).paramMaximum,type:U(e.unref(l).type),min:e.unref(l).type==="year"?1:void 0,max:e.unref(l).type==="year"?9999:void 0,step:e.unref(l).type==="year"?1:"any",disabled:a.readonly},{ref_for:!0},v(n),{onInput:p=>C(n,p)}),null,16,Pe),e.unref(o).controlIssues(n).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-${n}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(n).join(";")),9,Ue)):e.createCommentVNode("",!0)])),64)):e.createCommentVNode("",!0),e.unref(l).type==="text"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},e.renderList(["minLength","maxLength"],n=>e.createElementVNode("label",{key:n},[e.createTextVNode(e.toDisplayString(n==="minLength"?e.unref(t).paramMinLength:e.unref(t).paramMaxLength),1),e.createElementVNode("input",e.mergeProps({value:e.unref(l)[n],type:"number",min:"0",step:"1","aria-label":n==="minLength"?e.unref(t).paramMinLength:e.unref(t).paramMaxLength,disabled:a.readonly},{ref_for:!0},v(n),{onInput:p=>C(n,p)}),null,16,Ye),e.unref(o).controlIssues(n).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-${n}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(n).join(";")),9,Ae)):e.createCommentVNode("",!0)])),64)):e.createCommentVNode("",!0)]),e.unref(l).type==="dateRange"?(e.openBlock(),e.createElementBlock("p",Fe,e.toDisplayString(e.unref(t).paramRangeHint),1)):e.createCommentVNode("",!0),["select","multiSelect","cascader"].includes(e.unref(l).type)?(e.openBlock(),e.createElementBlock("fieldset",Je,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(t).paramOptionsMode),1),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramOptionsMode),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[11]||(r[11]=n=>e.unref(l).optionsMode=n),"aria-label":e.unref(t).paramOptionsMode,disabled:a.readonly},[e.createElementVNode("option",qe,e.toDisplayString(e.unref(t).paramOptionsStatic),1),e.createElementVNode("option",we,e.toDisplayString(e.unref(t).paramOptionsRemote),1)],8,je),[[e.vModelSelect,e.unref(l).optionsMode]])]),e.unref(l).optionsMode==="remote"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramOptionsSource),1),e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":r[12]||(r[12]=n=>e.unref(l).optionsSource=n),"aria-label":e.unref(t).paramOptionsSource,disabled:a.readonly},v("optionsSource")),null,16,He),[[e.vModelDynamic,e.unref(l).optionsSource]])]),e.unref(o).controlIssues("optionsSource").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-optionsSource`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("optionsSource").join(";")),9,We)):e.createCommentVNode("",!0),e.createElementVNode("fieldset",e.mergeProps({class:"mr-param-editor__dependencies",tabindex:"-1"},v("dependsOn")),[e.createElementVNode("legend",null,e.toDisplayString(e.unref(t).paramDependencies),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(n,p)=>(e.openBlock(),e.createElementBlock("label",{key:p},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[13]||(r[13]=B=>e.unref(l).dependsOn=B),type:"checkbox",value:n.field,disabled:a.readonly},null,8,ze),[[e.vModelCheckbox,e.unref(l).dependsOn]]),e.createTextVNode(e.toDisplayString(n.label),1)]))),128))],16),e.unref(o).controlIssues("dependsOn").length?(e.openBlock(),e.createElementBlock("small",{key:1,id:`${k}-${e.unref(s)}-dependsOn`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("dependsOn").join(";")),9,Ge)):e.createCommentVNode("",!0),e.createElementVNode("p",Ke,e.toDisplayString(e.unref(t).paramRemoteHint),1)],64)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),["select","multiSelect"].includes(e.unref(l).type)&&e.unref(l).optionsMode==="static"?(e.openBlock(),e.createElementBlock("fieldset",Qe,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(t).paramOptions),1),e.createElementVNode("div",Xe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(t).paramOptionValue),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(t).paramOptionLabel),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).options,(n,p)=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"mr-param-editor__option"},[e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":B=>n.value=B,"aria-label":`${e.unref(t).paramOptionValue} ${p+1}`,disabled:a.readonly},{ref_for:!0},v("options")),null,16,Ze),[[e.vModelDynamic,n.value]]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B=>n.label=B,"aria-label":`${e.unref(t).paramOptionLabel} ${p+1}`,disabled:a.readonly},null,8,et),[[e.vModelText,n.label]]),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(t).paramOptionRemove} ${p+1}`,disabled:a.readonly,onClick:B=>f(p)},"×",8,tt)]))),128)),e.unref(o).controlIssues("options").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-options`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("options").join(";")),9,at)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:a.readonly,onClick:c},"+ "+e.toDisplayString(e.unref(t).paramOptionAdd),9,nt)])):e.createCommentVNode("",!0),e.unref(l).type==="cascader"&&e.unref(l).optionsMode==="static"?(e.openBlock(),e.createElementBlock("fieldset",lt,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(t).paramOptions),1),e.createElementVNode("p",rt,e.toDisplayString(e.unref(t).paramTreeHint),1),e.createVNode(Z,{modelValue:e.unref(l).options,"onUpdate:modelValue":r[14]||(r[14]=n=>e.unref(l).options=n),messages:e.unref(t),readonly:a.readonly},null,8,["modelValue","messages","readonly"]),e.unref(o).controlIssues("options").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-options`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("options").join(";")),9,ot)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(l).type==="multiSelect"?(e.openBlock(),e.createElementBlock("div",it,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["minItems","maxItems"],n=>e.createElementVNode("label",{key:n},[e.createTextVNode(e.toDisplayString(n==="minItems"?e.unref(t).paramMinItems:e.unref(t).paramMaxItems),1),e.createElementVNode("input",e.mergeProps({value:e.unref(l)[n],"aria-label":n==="minItems"?e.unref(t).paramMinItems:e.unref(t).paramMaxItems,type:"number",min:"0",max:"100",step:"1",disabled:a.readonly},{ref_for:!0},v(n),{onInput:p=>C(n,p)}),null,16,st),e.unref(o).controlIssues(n).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-${n}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(n).join(";")),9,ut)):e.createCommentVNode("",!0)])),64))])):e.createCommentVNode("",!0),e.createElementVNode("div",dt,[e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(s)===0,onClick:r[15]||(r[15]=n=>e.unref(o).move(-1))},"↑ "+e.toDisplayString(e.unref(t).paramMoveUp),9,mt),e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(s)===e.unref(m).length-1,onClick:r[16]||(r[16]=n=>e.unref(o).move(1))},"↓ "+e.toDisplayString(e.unref(t).paramMoveDown),9,ct),e.createElementVNode("button",{type:"button",class:"is-danger",disabled:a.readonly,onClick:r[17]||(r[17]=(...n)=>e.unref(o).remove&&e.unref(o).remove(...n))},e.toDisplayString(e.unref(t).paramRemove),9,pt)]),e.createElementVNode("details",ft,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(t).paramWire),1),e.createElementVNode("code",null,e.toDisplayString(e.unref(te)[e.unref(l).type]),1)])],64)):(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(t).paramEmpty),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(t).paramEmptyHint),1),e.createElementVNode("button",{type:"button",disabled:a.readonly,onClick:r[18]||(r[18]=(...n)=>e.unref(o).add&&e.unref(o).add(...n))},"+ "+e.toDisplayString(e.unref(t).paramAdd),9,gt)])),e.unref(E).added.length||e.unref(E).removed.length?(e.openBlock(),e.createElementBlock("aside",vt,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(t).paramChanges),1),e.unref(E).added.length?(e.openBlock(),e.createElementBlock("p",bt,[e.createTextVNode(e.toDisplayString(e.unref(t).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",ht,[e.createTextVNode(e.toDisplayString(e.unref(t).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(t).paramRenameHint),1)])):e.createCommentVNode("",!0),e.unref(V)||e.unref(I)?(e.openBlock(),e.createElementBlock("p",Vt,e.toDisplayString(e.unref(V)?e.unref(t).paramConflict:e.unref(I)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("button",{type:"button",disabled:!e.unref(S)&&!e.unref(V),onClick:r[19]||(r[19]=(...n)=>e.unref(o).reset&&e.unref(o).reset(...n))},e.toDisplayString(e.unref(t).paramRestore),9,Et),e.createElementVNode("button",{type:"button",class:"is-primary",disabled:a.readonly||!e.unref(S)||e.unref(V)||!!e.unref(_).length,onClick:r[20]||(r[20]=(...n)=>e.unref(o).apply&&e.unref(o).apply(...n))},e.toDisplayString(e.unref(t).paramApply),9,Nt)])],512)],8,oe))}}),St=j._export_sfc(kt,[["__scopeId","data-v-276b7ccd"]]);exports.default=St;
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as se, computed as M, openBlock as d, createElementBlock as u, Fragment as L, renderList as U, normalizeStyle as re, createElementVNode as n, toDisplayString as i, ref as T, watch as ie, getCurrentInstance as de, unref as e, normalizeClass as z, createCommentVNode as b, createTextVNode as k, withDirectives as N, mergeProps as D, vModelDynamic as G, vModelText as K, vModelCheckbox as Q, createVNode as le, vModelSelect as ne, nextTick as ue } from "vue";
2
- import { u as me, h as pe, R as ce, b as ve } from "./ReportParamPanel-mQkeN70Q.js";
2
+ import { u as me, h as pe, R as ce, b as ve } from "./ReportParamPanel-peB-KEmm.js";
3
3
  import { _ as oe } from "./_plugin-vue_export-helper-8SL1F89S.js";
4
4
  import { validateReportParamDefinitions as be } from "@agile-team/mach-report";
5
- import { P as ye, u as fe } from "./designer-fVvpYg8H.js";
5
+ import { P as ye, u as fe } from "./designer-CIDHt5xz.js";
6
6
  const he = { class: "mr-param-tree" }, ge = { "aria-hidden": "true" }, _e = ["value", "aria-label", "disabled", "onInput"], Ie = ["value", "aria-label", "disabled", "onInput"], Se = ["aria-label", "disabled", "onClick"], $e = ["aria-label", "disabled", "onClick"], ke = ["disabled"], Oe = /* @__PURE__ */ se({
7
7
  __name: "ParamTreeOptionsEditor",
8
8
  props: {
@@ -124,7 +124,7 @@ function Le(t) {
124
124
  S.push({ message: f.message, controls: Re(f.message) }), v.set(g, S);
125
125
  }
126
126
  return v;
127
- }), E = M(() => x.value.keys().next().value), V = M(() => c.value[I.value]), P = M(() => s.value.filter((v) => v.path === `$.paramDefs.${I.value}`));
127
+ }), E = M(() => x.value.keys().next().value), V = M(() => c.value[I.value]), j = M(() => s.value.filter((v) => v.path === `$.paramDefs.${I.value}`));
128
128
  function Y(v) {
129
129
  return (x.value.get(I.value) ?? []).filter((f) => f.controls.includes(v)).map((f) => f.message);
130
130
  }
@@ -132,11 +132,11 @@ function Le(t) {
132
132
  const v = JSON.parse($.value).map((g) => g.field), f = O.value.map((g) => g.field);
133
133
  return { added: f.filter((g) => g && !v.includes(g)), removed: v.filter((g) => !f.includes(g)) };
134
134
  });
135
- function j() {
135
+ function P() {
136
136
  $.value = _(), c.value = (t.document.template.params ?? []).map(X), I.value = Math.min(I.value, Math.max(0, c.value.length - 1)), a.value = JSON.stringify(c.value), r.value = "";
137
137
  }
138
138
  ie(_, () => {
139
- y.value || j();
139
+ y.value || P();
140
140
  });
141
141
  function W() {
142
142
  if (t.readonly) return;
@@ -164,11 +164,11 @@ function Le(t) {
164
164
  return r.value = v instanceof Error ? v.message : String(v), !1;
165
165
  }
166
166
  }
167
- return fe({ key: () => "params", baseline: () => $.value, pending: () => y.value, snapshot: () => JSON.stringify({ rows: c.value, selected: I.value, initial: a.value }), restore(v, f) {
167
+ return fe({ key: () => "params", baseline: () => $.value, pending: () => y.value, reset: P, snapshot: () => JSON.stringify({ rows: c.value, selected: I.value, initial: a.value }), restore(v, f) {
168
168
  const g = JSON.parse(v);
169
169
  if (!Array.isArray(g.rows) || g.rows.length > 1e3 || typeof g.initial != "string") throw new Error("Invalid parameter draft");
170
170
  c.value = g.rows.map((S) => ({ ...S, minItems: S.minItems ?? "", maxItems: S.maxItems ?? "", optionsMode: S.optionsMode ?? "static", optionsSource: S.optionsSource ?? "", dependsOn: S.dependsOn ?? [] })), I.value = Math.max(0, Math.min(g.selected, g.rows.length - 1)), a.value = g.initial, $.value = f;
171
- } }), { m: R, rows: c, selected: I, current: V, definitions: O, issues: s, issuesByRow: x, firstIssueIndex: E, controlIssues: Y, currentIssues: P, changes: A, pending: y, conflicted: p, error: r, reset: j, add: W, remove: H, move: w, setType: q, apply: C };
171
+ } }), { m: R, rows: c, selected: I, current: V, definitions: O, issues: s, issuesByRow: x, firstIssueIndex: E, controlIssues: Y, currentIssues: j, changes: A, pending: y, conflicted: p, error: r, reset: P, add: W, remove: H, move: w, setType: q, apply: C };
172
172
  }
173
173
  const Ne = ["aria-label"], Ee = { class: "mr-param-editor__directory" }, Ue = ["aria-label"], Ye = ["aria-pressed", "aria-label", "onClick"], Ae = { class: "mr-param-editor__directory-title" }, Je = {
174
174
  key: 0,
@@ -217,7 +217,7 @@ const Ne = ["aria-label"], Ee = { class: "mr-param-editor__directory" }, Ue = ["
217
217
  },
218
218
  emits: ["dirty"],
219
219
  setup(t, { expose: _, emit: $ }) {
220
- const c = t, I = $, r = Le(c), R = me(), O = M(() => c.loadOptions ?? pe(R.value).loadParamOptions), { m: a, rows: y, selected: p, current: s, changes: x, pending: E, conflicted: V, error: P, issues: Y, issuesByRow: A } = r, j = M(() => {
220
+ const c = t, I = $, r = Le(c), R = me(), O = M(() => c.loadOptions ?? pe(R.value).loadParamOptions), { m: a, rows: y, selected: p, current: s, changes: x, pending: E, conflicted: V, error: j, issues: Y, issuesByRow: A } = r, P = M(() => {
221
221
  const m = y.value.filter((o, l) => l !== p.value).map((o) => ({ field: o.field, label: o.label || o.field || a.value.paramUnnamed }));
222
222
  for (const o of s.value?.dependsOn ?? []) m.some((l) => l.field === o) || m.push({ field: o, label: `${o} · ${a.value.paramDependencyUnavailable}` });
223
223
  return m;
@@ -564,7 +564,7 @@ const Ne = ["aria-label"], Ee = { class: "mr-param-editor__directory" }, Ue = ["
564
564
  tabindex: "-1"
565
565
  }, S("dependsOn")), [
566
566
  n("legend", null, i(e(a).paramDependencies), 1),
567
- (d(!0), u(L, null, U(j.value, (l, h) => (d(), u("label", { key: h }, [
567
+ (d(!0), u(L, null, U(P.value, (l, h) => (d(), u("label", { key: h }, [
568
568
  N(n("input", {
569
569
  "onUpdate:modelValue": o[13] || (o[13] = (J) => e(s).dependsOn = J),
570
570
  type: "checkbox",
@@ -707,7 +707,7 @@ const Ne = ["aria-label"], Ee = { class: "mr-param-editor__directory" }, Ue = ["
707
707
  ])) : b("", !0),
708
708
  n("small", null, i(e(a).paramRenameHint), 1)
709
709
  ])) : b("", !0),
710
- e(V) || e(P) ? (d(), u("p", wa, i(e(V) ? e(a).paramConflict : e(P)), 1)) : b("", !0),
710
+ e(V) || e(j) ? (d(), u("p", wa, i(e(V) ? e(a).paramConflict : e(j)), 1)) : b("", !0),
711
711
  n("footer", null, [
712
712
  n("button", {
713
713
  type: "button",
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),j=require("./ReportParamPanel-sOANVRz-.cjs"),H=require("@agile-team/mach-report"),J=require("./batch-DYcokH4v.cjs"),z=require("./designer-CyKXBhQg.cjs"),G=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function Q(a){const f={};return!a||typeof a!="object"||(typeof a.instanceId=="string"&&a.instanceId.length>0&&a.instanceId.length<=512&&(f.instanceId=a.instanceId),typeof a.label=="string"&&(f.label=a.label.slice(0,512))),f}function W(a){return Object.fromEntries((Array.isArray(a)?a:[]).filter(f=>f&&typeof f.field=="string").map(f=>[f.field,f.defaultValue??""]))}function U(a){return(a instanceof Error?a.message:String(a)).slice(0,1e3)}function X(a){try{return{cases:J.snapshotReportBatchCases(a.initialCases??[],a.maxCases??100),error:""}}catch(f){return{cases:[],error:U(f)}}}function Y(a){let f=0;const D=n=>({key:++f,item:{id:n.id,params:{...n.params}},status:"pending"}),N=X(a),y=new Set(N.cases.map(n=>n.id));let r=N.cases.length+1;const i=e.ref(N.cases.map(D)),h=e.ref(!1),b=e.ref(!1),x=e.ref(!1),_=e.ref(N.error),V=e.ref(),g=e.ref({completed:0,total:0,failed:0,cancelled:0}),E=e.computed(()=>({...z.REPORT_BATCH_MESSAGES,...a.messages})),R=e.computed(()=>i.value.map(n=>H.validateReportParams(a.paramDefs,n.item.params))),q=e.computed(()=>i.value.filter(n=>n.status==="failed").length),$=e.computed(()=>i.value.filter(n=>n.status==="pending"||n.status==="cancelled").length),P=e.computed(()=>i.value.filter(n=>n.status==="cancelled").length),p=e.computed(()=>a.maxCases??100);let k,d=0;function I(n=W(a.paramDefs)){for(;y.has(`case-${r}`);)r++;return{id:`case-${r++}`,params:{...n}}}function M(n){if(a.readonly||h.value)return;if(i.value.length>=p.value){_.value=E.value.batchLimit.replace("{count}",String(p.value));return}const s=D(I(n?.item.params));return i.value.push(s),_.value="",s}function A(n){!h.value&&!a.readonly&&(i.value=i.value.filter(s=>s.key!==n))}function S(n,s){if(h.value||a.readonly)return;const o=i.value.find(u=>u.key===n);!o||o.status==="completed"||JSON.stringify(o.item.params)===JSON.stringify(s)||(o.item=o.submitted?I(s):{...o.item,params:{...s}},o.submitted=!1,o.status="pending",delete o.receipt,delete o.error)}function B(){h.value&&(b.value=!0,k?.abort())}function O(n){return i.value.filter(s=>n?s.status==="failed":s.status==="pending"||s.status==="cancelled")}function K(n){const s=n.map(u=>H.validateReportParams(a.paramDefs,u.item.params)),o=s.findIndex(u=>!u.ok);if(o>=0){V.value=n[o].key,_.value=E.value.batchInvalid;return}return n.map((u,C)=>({id:u.item.id,params:{...s[C].values}}))}function L(n,s){n.status=s.status,s.status==="completed"&&(n.receipt=s.value),s.status==="failed"&&(n.error=s.error.message.slice(0,1e3))}async function T(n,s,o,u,C){u===d&&(n.status="running");try{const m=Q(await C(s,o));return u===d&&(n.receipt=m,n.status="completed"),m}catch(m){throw u===d&&(n.status=o.signal.aborted?"cancelled":"failed",n.error=U(m)),m}}async function w(n=!1){if(a.readonly||h.value)return;const s=O(n);if(!s.length)return;x.value=!0,_.value="",V.value=void 0;const o=K(s);if(!o)return;const u=++d,C=a.execute;k=new AbortController,h.value=!0,b.value=!1,g.value={completed:0,total:s.length,failed:0,cancelled:0};for(const m of s)m.status="pending",m.submitted=!0,delete m.receipt,delete m.error;try{const m=await J.runReportBatch(o,(c,l)=>T(s[l.index],c,l,u,C),{concurrency:a.concurrency,maxCases:p.value,signal:k.signal,onProgress:c=>{u===d&&(g.value=c)}});u===d&&m.forEach((c,l)=>L(s[l],c))}catch(m){u===d&&(_.value=U(m))}finally{u===d&&(h.value=!1,b.value=!1,k=void 0)}}return e.watch(()=>[JSON.stringify(a.paramDefs),a.execute,a.readonly,a.concurrency,a.maxCases],()=>{h.value&&(B(),_.value=E.value.batchChanged)}),e.onBeforeUnmount(()=>{d++,k?.abort()}),{m:E,rows:i,validations:R,running:h,cancelling:b,attempted:x,error:_,progress:g,failures:q,unfinished:$,cancelled:P,maximum:p,invalidKey:V,add:M,remove:A,setParams:S,cancel:B,run:w}}const Z=["aria-label","aria-busy"],ee={class:"mr-batch__heading"},te=["disabled"],ae={key:0,class:"mr-batch__toolbar"},ne=["aria-label"],le=["aria-pressed","onClick"],re=["disabled"],se={key:1,class:"mr-batch__empty"},ce={key:2,class:"mr-batch__empty"},oe={key:3,class:"mr-batch__rows"},ie=["data-batch-key","aria-label"],ue={class:"mr-batch__status",role:"status"},de={class:"mr-batch__row-actions"},me=["aria-label","disabled","onClick"],fe=["aria-label","disabled","onClick"],pe={key:0,class:"mr-batch__hint"},be={key:1,class:"mr-batch__row-error",role:"alert"},ve={key:2,class:"mr-batch__receipt"},ye=["title"],he=["onClick"],ge={key:4,class:"mr-batch__error",role:"alert"},ke={class:"mr-batch__progress","aria-live":"polite"},_e=["value","max","aria-label"],Ee={key:1},Se={class:"mr-batch__actions"},Be=["disabled"],Ce=["disabled"],Ne=["disabled"],Ve=["aria-label"],De=["disabled"],xe=["disabled"],Re=e.defineComponent({__name:"ReportBatchPanel",props:{paramDefs:{},execute:{type:Function},initialCases:{},readonly:{type:Boolean},concurrency:{},maxCases:{},messages:{},paramMessages:{}},emits:["open-instance"],setup(a,{emit:f}){const D=a,N=f,y=Y(D),{m:r,rows:i,validations:h,running:b,cancelling:x,attempted:_,error:V,progress:g,failures:E,unfinished:R,cancelled:q,maximum:$}=y,P=e.ref(),p=e.ref(1),k=10,d=e.ref("all"),I=e.ref(),M=e.ref(),A=e.computed(()=>i.value.map((c,l)=>({row:c,index:l}))),S=e.computed(()=>A.value.filter(({row:c})=>d.value==="all"||c.status===d.value)),B=e.computed(()=>Math.max(1,Math.ceil(S.value.length/k))),O=e.computed(()=>S.value.slice((p.value-1)*k,p.value*k)),K=e.computed(()=>r.value.batchPage.replace("{page}",String(p.value)).replace("{pages}",String(B.value)).replace("{total}",String(S.value.length)));e.watch(B,c=>{p.value=Math.min(p.value,c)}),e.watch(d,()=>{p.value=1});const L=e.computed(()=>({...j.DEFAULT_MESSAGES,...D.paramMessages})),T=e.computed(()=>r.value.batchProgress.replace("{completed}",String(g.value.completed)).replace("{total}",String(g.value.total)).replace("{failed}",String(g.value.failed)).replace("{cancelled}",String(g.value.cancelled))),w=e.computed(()=>{const c={all:i.value.length,pending:0,running:0,completed:0,failed:0,cancelled:0};for(const l of i.value)c[l.status]++;return Object.keys(c).filter(l=>l!=="running"||b.value||c.running>0||d.value==="running").map(l=>({value:l,count:c[l],label:l==="all"?r.value.batchAll:n({status:l})}))});function n(c){return{pending:r.value.batchPending,running:r.value.batchRunning,completed:r.value.batchCompleted,failed:r.value.batchFailed,cancelled:r.value.batchCancelled}[c.status]}async function s(c){const l=y.add(c);l&&(await u(l.key,"all"),o(l.key)?.querySelector(".mrp-param-input")?.focus())}function o(c){return P.value?.querySelector(`[data-batch-key="${c}"]`)}async function u(c,l){d.value=l,await e.nextTick();const t=S.value.findIndex(({row:v})=>v.key===c);t<0||(p.value=Math.floor(t/k)+1,I.value=c,await e.nextTick())}async function C(){const c=i.value.filter(v=>v.status==="failed"),l=c.findIndex(v=>v.key===M.value),t=c[(l+1)%c.length];t&&(M.value=t.key,await u(t.key,"failed"),o(t.key)?.focus())}async function m(c=!1){const l=y.run(c);if(y.invalidKey.value!==void 0){const t=y.invalidKey.value;await u(t,"all"),o(t)?.querySelector('[aria-invalid="true"]')?.focus()}await l}return(c,l)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"root",ref:P,class:"mr-batch","aria-label":e.unref(r).batchTitle,"aria-busy":e.unref(b)},[e.createElementVNode("header",ee,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchTitle),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(r).batchDescription),1)]),e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:l[0]||(l[0]=t=>s())},"+ "+e.toDisplayString(e.unref(r).batchAdd),9,te)]),e.unref(i).length?(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",{class:"mr-batch__filters",role:"group","aria-label":e.unref(r).batchFilter},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,t=>(e.openBlock(),e.createElementBlock("button",{key:t.value,type:"button","aria-pressed":d.value===t.value,onClick:v=>d.value=t.value},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),e.createElementVNode("span",null,e.toDisplayString(t.count),1)],8,le))),128))],8,ne),e.unref(E)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mr-batch__next-failure",disabled:e.unref(b),onClick:C},e.toDisplayString(e.unref(r).batchNextFailure)+" ↓",9,re)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(i).length?S.value.length?(e.openBlock(),e.createElementBlock("div",oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,({row:t,index:v})=>(e.openBlock(),e.createElementBlock("article",{key:t.key,class:e.normalizeClass(["mr-batch__row",[`is-${t.status}`,{"is-located":t.key===I.value}]]),"data-batch-key":t.key,tabindex:"-1","aria-label":`${e.unref(r).batchCase} ${v+1} · ${n(t)}`},[e.createElementVNode("header",null,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchCase)+" "+e.toDisplayString(v+1),1),e.createElementVNode("span",ue,e.toDisplayString(n(t)),1)]),e.createElementVNode("div",de,[e.createElementVNode("button",{type:"button","aria-label":`${t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate} ${v+1}`,disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:F=>s(t)},e.toDisplayString(t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate),9,me),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(r).batchRemove} ${v+1}`,disabled:a.readonly||e.unref(b),onClick:F=>e.unref(y).remove(t.key)},"×",8,fe)])]),e.createVNode(j.ReportParamPanel,{defs:a.paramDefs,"model-value":t.item.params,messages:L.value,attempted:e.unref(_),issues:e.unref(h)[v]?.issues,"show-actions":!1,"show-title":!1,disabled:a.readonly||e.unref(b)||t.status==="completed","onUpdate:modelValue":F=>e.unref(y).setParams(t.key,F)},null,8,["defs","model-value","messages","attempted","issues","disabled","onUpdate:modelValue"]),t.status==="completed"?(e.openBlock(),e.createElementBlock("p",pe,e.toDisplayString(e.unref(r).batchCompletedHint),1)):e.createCommentVNode("",!0),t.status==="failed"&&t.error?(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),t.status==="completed"?(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("span",{title:t.receipt?.label||t.receipt?.instanceId},e.toDisplayString(t.receipt?.label||(t.receipt?.instanceId?t.receipt.instanceId:e.unref(r).batchNoInstance)),9,ye),t.receipt?.instanceId?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:F=>N("open-instance",{...t.receipt})},e.toDisplayString(e.unref(r).batchOpen)+" ↗",9,he)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,ie))),128))])):(e.openBlock(),e.createElementBlock("div",ce,e.toDisplayString(e.unref(r).batchNoMatches),1)):(e.openBlock(),e.createElementBlock("div",se,e.toDisplayString(e.unref(r).batchEmpty),1)),e.unref(V)?(e.openBlock(),e.createElementBlock("p",ge,e.toDisplayString(e.unref(V)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("div",ke,[e.unref(g).total?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("progress",{value:e.unref(g).completed,max:e.unref(g).total,"aria-label":T.value},null,8,_e),e.createElementVNode("span",null,e.toDisplayString(T.value),1)],64)):(e.openBlock(),e.createElementBlock("span",Ee,e.toDisplayString(e.unref(i).length)+" / "+e.toDisplayString(e.unref($)),1))]),e.createElementVNode("div",Se,[e.unref(E)&&!e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:a.readonly,onClick:l[1]||(l[1]=t=>m(!0))},e.toDisplayString(e.unref(r).batchRetry)+" ("+e.toDisplayString(e.unref(E))+")",9,Be)):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:e.unref(x),onClick:l[2]||(l[2]=(...t)=>e.unref(y).cancel&&e.unref(y).cancel(...t))},e.toDisplayString(e.unref(x)?e.unref(r).batchCancelling:e.unref(r).batchCancel),9,Ce)):(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"is-primary",disabled:a.readonly||!e.unref(R),onClick:l[3]||(l[3]=t=>m())},[e.createTextVNode(e.toDisplayString(e.unref(q)?e.unref(r).batchContinue:e.unref(r).batchRun),1),e.unref(R)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(R))+")",1)],64)):e.createCommentVNode("",!0)],8,Ne))]),B.value>1?(e.openBlock(),e.createElementBlock("nav",{key:0,class:"mr-batch__pagination","aria-label":e.unref(r).batchPages},[e.createElementVNode("span",null,e.toDisplayString(K.value),1),e.createElementVNode("button",{type:"button",disabled:p.value<=1,onClick:l[4]||(l[4]=t=>p.value--)},e.toDisplayString(e.unref(r).batchPrevious),9,De),e.createElementVNode("button",{type:"button",disabled:p.value>=B.value,onClick:l[5]||(l[5]=t=>p.value++)},e.toDisplayString(e.unref(r).batchNext),9,xe)],8,Ve)):e.createCommentVNode("",!0)])],8,Z))}}),$e=G._export_sfc(Re,[["__scopeId","data-v-45980136"]]);exports.default=$e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),j=require("./ReportParamPanel-CVpK8mFc.cjs"),H=require("@agile-team/mach-report"),J=require("./batch-DYcokH4v.cjs"),z=require("./designer-CDqok4S5.cjs"),G=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function Q(a){const f={};return!a||typeof a!="object"||(typeof a.instanceId=="string"&&a.instanceId.length>0&&a.instanceId.length<=512&&(f.instanceId=a.instanceId),typeof a.label=="string"&&(f.label=a.label.slice(0,512))),f}function W(a){return Object.fromEntries((Array.isArray(a)?a:[]).filter(f=>f&&typeof f.field=="string").map(f=>[f.field,f.defaultValue??""]))}function U(a){return(a instanceof Error?a.message:String(a)).slice(0,1e3)}function X(a){try{return{cases:J.snapshotReportBatchCases(a.initialCases??[],a.maxCases??100),error:""}}catch(f){return{cases:[],error:U(f)}}}function Y(a){let f=0;const D=n=>({key:++f,item:{id:n.id,params:{...n.params}},status:"pending"}),N=X(a),y=new Set(N.cases.map(n=>n.id));let r=N.cases.length+1;const i=e.ref(N.cases.map(D)),h=e.ref(!1),b=e.ref(!1),x=e.ref(!1),_=e.ref(N.error),V=e.ref(),g=e.ref({completed:0,total:0,failed:0,cancelled:0}),E=e.computed(()=>({...z.REPORT_BATCH_MESSAGES,...a.messages})),R=e.computed(()=>i.value.map(n=>H.validateReportParams(a.paramDefs,n.item.params))),q=e.computed(()=>i.value.filter(n=>n.status==="failed").length),$=e.computed(()=>i.value.filter(n=>n.status==="pending"||n.status==="cancelled").length),P=e.computed(()=>i.value.filter(n=>n.status==="cancelled").length),p=e.computed(()=>a.maxCases??100);let k,d=0;function I(n=W(a.paramDefs)){for(;y.has(`case-${r}`);)r++;return{id:`case-${r++}`,params:{...n}}}function M(n){if(a.readonly||h.value)return;if(i.value.length>=p.value){_.value=E.value.batchLimit.replace("{count}",String(p.value));return}const s=D(I(n?.item.params));return i.value.push(s),_.value="",s}function A(n){!h.value&&!a.readonly&&(i.value=i.value.filter(s=>s.key!==n))}function S(n,s){if(h.value||a.readonly)return;const o=i.value.find(u=>u.key===n);!o||o.status==="completed"||JSON.stringify(o.item.params)===JSON.stringify(s)||(o.item=o.submitted?I(s):{...o.item,params:{...s}},o.submitted=!1,o.status="pending",delete o.receipt,delete o.error)}function B(){h.value&&(b.value=!0,k?.abort())}function O(n){return i.value.filter(s=>n?s.status==="failed":s.status==="pending"||s.status==="cancelled")}function K(n){const s=n.map(u=>H.validateReportParams(a.paramDefs,u.item.params)),o=s.findIndex(u=>!u.ok);if(o>=0){V.value=n[o].key,_.value=E.value.batchInvalid;return}return n.map((u,C)=>({id:u.item.id,params:{...s[C].values}}))}function L(n,s){n.status=s.status,s.status==="completed"&&(n.receipt=s.value),s.status==="failed"&&(n.error=s.error.message.slice(0,1e3))}async function T(n,s,o,u,C){u===d&&(n.status="running");try{const m=Q(await C(s,o));return u===d&&(n.receipt=m,n.status="completed"),m}catch(m){throw u===d&&(n.status=o.signal.aborted?"cancelled":"failed",n.error=U(m)),m}}async function w(n=!1){if(a.readonly||h.value)return;const s=O(n);if(!s.length)return;x.value=!0,_.value="",V.value=void 0;const o=K(s);if(!o)return;const u=++d,C=a.execute;k=new AbortController,h.value=!0,b.value=!1,g.value={completed:0,total:s.length,failed:0,cancelled:0};for(const m of s)m.status="pending",m.submitted=!0,delete m.receipt,delete m.error;try{const m=await J.runReportBatch(o,(c,l)=>T(s[l.index],c,l,u,C),{concurrency:a.concurrency,maxCases:p.value,signal:k.signal,onProgress:c=>{u===d&&(g.value=c)}});u===d&&m.forEach((c,l)=>L(s[l],c))}catch(m){u===d&&(_.value=U(m))}finally{u===d&&(h.value=!1,b.value=!1,k=void 0)}}return e.watch(()=>[JSON.stringify(a.paramDefs),a.execute,a.readonly,a.concurrency,a.maxCases],()=>{h.value&&(B(),_.value=E.value.batchChanged)}),e.onBeforeUnmount(()=>{d++,k?.abort()}),{m:E,rows:i,validations:R,running:h,cancelling:b,attempted:x,error:_,progress:g,failures:q,unfinished:$,cancelled:P,maximum:p,invalidKey:V,add:M,remove:A,setParams:S,cancel:B,run:w}}const Z=["aria-label","aria-busy"],ee={class:"mr-batch__heading"},te=["disabled"],ae={key:0,class:"mr-batch__toolbar"},ne=["aria-label"],le=["aria-pressed","onClick"],re=["disabled"],se={key:1,class:"mr-batch__empty"},ce={key:2,class:"mr-batch__empty"},oe={key:3,class:"mr-batch__rows"},ie=["data-batch-key","aria-label"],ue={class:"mr-batch__status",role:"status"},de={class:"mr-batch__row-actions"},me=["aria-label","disabled","onClick"],fe=["aria-label","disabled","onClick"],pe={key:0,class:"mr-batch__hint"},be={key:1,class:"mr-batch__row-error",role:"alert"},ve={key:2,class:"mr-batch__receipt"},ye=["title"],he=["onClick"],ge={key:4,class:"mr-batch__error",role:"alert"},ke={class:"mr-batch__progress","aria-live":"polite"},_e=["value","max","aria-label"],Ee={key:1},Se={class:"mr-batch__actions"},Be=["disabled"],Ce=["disabled"],Ne=["disabled"],Ve=["aria-label"],De=["disabled"],xe=["disabled"],Re=e.defineComponent({__name:"ReportBatchPanel",props:{paramDefs:{},execute:{type:Function},initialCases:{},readonly:{type:Boolean},concurrency:{},maxCases:{},messages:{},paramMessages:{}},emits:["open-instance"],setup(a,{emit:f}){const D=a,N=f,y=Y(D),{m:r,rows:i,validations:h,running:b,cancelling:x,attempted:_,error:V,progress:g,failures:E,unfinished:R,cancelled:q,maximum:$}=y,P=e.ref(),p=e.ref(1),k=10,d=e.ref("all"),I=e.ref(),M=e.ref(),A=e.computed(()=>i.value.map((c,l)=>({row:c,index:l}))),S=e.computed(()=>A.value.filter(({row:c})=>d.value==="all"||c.status===d.value)),B=e.computed(()=>Math.max(1,Math.ceil(S.value.length/k))),O=e.computed(()=>S.value.slice((p.value-1)*k,p.value*k)),K=e.computed(()=>r.value.batchPage.replace("{page}",String(p.value)).replace("{pages}",String(B.value)).replace("{total}",String(S.value.length)));e.watch(B,c=>{p.value=Math.min(p.value,c)}),e.watch(d,()=>{p.value=1});const L=e.computed(()=>({...j.DEFAULT_MESSAGES,...D.paramMessages})),T=e.computed(()=>r.value.batchProgress.replace("{completed}",String(g.value.completed)).replace("{total}",String(g.value.total)).replace("{failed}",String(g.value.failed)).replace("{cancelled}",String(g.value.cancelled))),w=e.computed(()=>{const c={all:i.value.length,pending:0,running:0,completed:0,failed:0,cancelled:0};for(const l of i.value)c[l.status]++;return Object.keys(c).filter(l=>l!=="running"||b.value||c.running>0||d.value==="running").map(l=>({value:l,count:c[l],label:l==="all"?r.value.batchAll:n({status:l})}))});function n(c){return{pending:r.value.batchPending,running:r.value.batchRunning,completed:r.value.batchCompleted,failed:r.value.batchFailed,cancelled:r.value.batchCancelled}[c.status]}async function s(c){const l=y.add(c);l&&(await u(l.key,"all"),o(l.key)?.querySelector(".mrp-param-input")?.focus())}function o(c){return P.value?.querySelector(`[data-batch-key="${c}"]`)}async function u(c,l){d.value=l,await e.nextTick();const t=S.value.findIndex(({row:v})=>v.key===c);t<0||(p.value=Math.floor(t/k)+1,I.value=c,await e.nextTick())}async function C(){const c=i.value.filter(v=>v.status==="failed"),l=c.findIndex(v=>v.key===M.value),t=c[(l+1)%c.length];t&&(M.value=t.key,await u(t.key,"failed"),o(t.key)?.focus())}async function m(c=!1){const l=y.run(c);if(y.invalidKey.value!==void 0){const t=y.invalidKey.value;await u(t,"all"),o(t)?.querySelector('[aria-invalid="true"]')?.focus()}await l}return(c,l)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"root",ref:P,class:"mr-batch","aria-label":e.unref(r).batchTitle,"aria-busy":e.unref(b)},[e.createElementVNode("header",ee,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchTitle),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(r).batchDescription),1)]),e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:l[0]||(l[0]=t=>s())},"+ "+e.toDisplayString(e.unref(r).batchAdd),9,te)]),e.unref(i).length?(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",{class:"mr-batch__filters",role:"group","aria-label":e.unref(r).batchFilter},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,t=>(e.openBlock(),e.createElementBlock("button",{key:t.value,type:"button","aria-pressed":d.value===t.value,onClick:v=>d.value=t.value},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),e.createElementVNode("span",null,e.toDisplayString(t.count),1)],8,le))),128))],8,ne),e.unref(E)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mr-batch__next-failure",disabled:e.unref(b),onClick:C},e.toDisplayString(e.unref(r).batchNextFailure)+" ↓",9,re)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(i).length?S.value.length?(e.openBlock(),e.createElementBlock("div",oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,({row:t,index:v})=>(e.openBlock(),e.createElementBlock("article",{key:t.key,class:e.normalizeClass(["mr-batch__row",[`is-${t.status}`,{"is-located":t.key===I.value}]]),"data-batch-key":t.key,tabindex:"-1","aria-label":`${e.unref(r).batchCase} ${v+1} · ${n(t)}`},[e.createElementVNode("header",null,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchCase)+" "+e.toDisplayString(v+1),1),e.createElementVNode("span",ue,e.toDisplayString(n(t)),1)]),e.createElementVNode("div",de,[e.createElementVNode("button",{type:"button","aria-label":`${t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate} ${v+1}`,disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:F=>s(t)},e.toDisplayString(t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate),9,me),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(r).batchRemove} ${v+1}`,disabled:a.readonly||e.unref(b),onClick:F=>e.unref(y).remove(t.key)},"×",8,fe)])]),e.createVNode(j.ReportParamPanel,{defs:a.paramDefs,"model-value":t.item.params,messages:L.value,attempted:e.unref(_),issues:e.unref(h)[v]?.issues,"show-actions":!1,"show-title":!1,disabled:a.readonly||e.unref(b)||t.status==="completed","onUpdate:modelValue":F=>e.unref(y).setParams(t.key,F)},null,8,["defs","model-value","messages","attempted","issues","disabled","onUpdate:modelValue"]),t.status==="completed"?(e.openBlock(),e.createElementBlock("p",pe,e.toDisplayString(e.unref(r).batchCompletedHint),1)):e.createCommentVNode("",!0),t.status==="failed"&&t.error?(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),t.status==="completed"?(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("span",{title:t.receipt?.label||t.receipt?.instanceId},e.toDisplayString(t.receipt?.label||(t.receipt?.instanceId?t.receipt.instanceId:e.unref(r).batchNoInstance)),9,ye),t.receipt?.instanceId?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:F=>N("open-instance",{...t.receipt})},e.toDisplayString(e.unref(r).batchOpen)+" ↗",9,he)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,ie))),128))])):(e.openBlock(),e.createElementBlock("div",ce,e.toDisplayString(e.unref(r).batchNoMatches),1)):(e.openBlock(),e.createElementBlock("div",se,e.toDisplayString(e.unref(r).batchEmpty),1)),e.unref(V)?(e.openBlock(),e.createElementBlock("p",ge,e.toDisplayString(e.unref(V)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("div",ke,[e.unref(g).total?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("progress",{value:e.unref(g).completed,max:e.unref(g).total,"aria-label":T.value},null,8,_e),e.createElementVNode("span",null,e.toDisplayString(T.value),1)],64)):(e.openBlock(),e.createElementBlock("span",Ee,e.toDisplayString(e.unref(i).length)+" / "+e.toDisplayString(e.unref($)),1))]),e.createElementVNode("div",Se,[e.unref(E)&&!e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:a.readonly,onClick:l[1]||(l[1]=t=>m(!0))},e.toDisplayString(e.unref(r).batchRetry)+" ("+e.toDisplayString(e.unref(E))+")",9,Be)):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:e.unref(x),onClick:l[2]||(l[2]=(...t)=>e.unref(y).cancel&&e.unref(y).cancel(...t))},e.toDisplayString(e.unref(x)?e.unref(r).batchCancelling:e.unref(r).batchCancel),9,Ce)):(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"is-primary",disabled:a.readonly||!e.unref(R),onClick:l[3]||(l[3]=t=>m())},[e.createTextVNode(e.toDisplayString(e.unref(q)?e.unref(r).batchContinue:e.unref(r).batchRun),1),e.unref(R)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(R))+")",1)],64)):e.createCommentVNode("",!0)],8,Ne))]),B.value>1?(e.openBlock(),e.createElementBlock("nav",{key:0,class:"mr-batch__pagination","aria-label":e.unref(r).batchPages},[e.createElementVNode("span",null,e.toDisplayString(K.value),1),e.createElementVNode("button",{type:"button",disabled:p.value<=1,onClick:l[4]||(l[4]=t=>p.value--)},e.toDisplayString(e.unref(r).batchPrevious),9,De),e.createElementVNode("button",{type:"button",disabled:p.value>=B.value,onClick:l[5]||(l[5]=t=>p.value++)},e.toDisplayString(e.unref(r).batchNext),9,xe)],8,Ve)):e.createCommentVNode("",!0)])],8,Z))}}),$e=G._export_sfc(Re,[["__scopeId","data-v-45980136"]]);exports.default=$e;
@@ -1,8 +1,8 @@
1
1
  import { ref as C, computed as _, watch as Y, onBeforeUnmount as ne, defineComponent as le, openBlock as d, createElementBlock as m, unref as e, createElementVNode as u, toDisplayString as r, Fragment as j, renderList as ee, createTextVNode as X, createCommentVNode as I, normalizeClass as se, createVNode as ie, nextTick as te } from "vue";
2
- import { b as ce, R as re } from "./ReportParamPanel-mQkeN70Q.js";
2
+ import { b as ce, R as re } from "./ReportParamPanel-peB-KEmm.js";
3
3
  import { validateReportParams as ae } from "@agile-team/mach-report";
4
4
  import { f as oe, r as ue } from "./batch-DGCt44XM.js";
5
- import { R as de } from "./designer-fVvpYg8H.js";
5
+ import { R as de } from "./designer-CIDHt5xz.js";
6
6
  import { _ as me } from "./_plugin-vue_export-helper-8SL1F89S.js";
7
7
  function be(a) {
8
8
  const p = {};
@@ -0,0 +1 @@
1
+ "use strict";var Je=Object.create;var we=Object.defineProperty;var He=Object.getOwnPropertyDescriptor;var Ke=Object.getOwnPropertyNames;var Ue=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty;var Ge=(t,r,l,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Ke(r))!je.call(t,s)&&s!==l&&we(t,s,{get:()=>r[s],enumerable:!(i=He(r,s))||i.enumerable});return t};var Qe=(t,r,l)=>(l=t!=null?Je(Ue(t)):{},Ge(r||!t||!t.__esModule?we(l,"default",{value:t,enumerable:!0}):l,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ke=require("@agile-team/mach-report/vue"),le=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),h=require("@agile-team/mach-report"),Ne=require("./designer-CDqok4S5.cjs");function Ye(){let t;const r=()=>t??=import("@agile-team/mach-report/codes").then(i=>i.createCodeAssetRenderers()).catch(i=>{throw t=void 0,i}),l=i=>async s=>{s.signal.throwIfAborted();const n=await r();return s.signal.throwIfAborted(),n[i](s)};return{assetRenderers:{barcode:l("barcode"),qrcode:l("qrcode")}}}function Ze(t){const r=t.pages[0];if(!r||t.pages.some(s=>s.layout==="wide"||s.widthMm!==r.widthMm||s.heightMm!==r.heightMm))return;const l=Math.floor(190/(r.widthMm+4)),i=Math.floor(277/(r.heightMm+4));if(!(l<1||i<1||l*i>1e3))return{paper:"a4",columns:l,rows:i,marginMm:12,gapMm:4,capacity:l*i}}const se=[{id:"material",widthMm:80,heightMm:55,faces:1},{id:"paired",widthMm:80,heightMm:55,faces:2},{id:"warehouse",widthMm:100,heightMm:60,faces:1}];function De(t,r){return r??t.fields.find(l=>l.semanticRole==="identifier"&&l.field!==t.rowKey)?.field??t.rowKey??t.fields[0]?.field}function de(t,r,l){const i=t.fields.filter(a=>a.field!==r&&a.field!==t.rowKey);if(l===void 0)return i.map((a,d)=>({field:a,index:d,priority:We(a)})).sort((a,d)=>a.priority-d.priority||a.index-d.index).slice(0,5).map(a=>a.field);const s=new Map(i.map(a=>[a.field,a])),n=[...new Set(l)];if(n.length>5)throw new Error("成品标签最多显示 5 个字段,请先精简显示字段");return n.map(a=>{const d=s.get(a);if(!d)throw new Error(`标签显示字段未在业务契约中声明:${a}`);return d})}function We(t){return/^(?:name|title|label|category)$/i.test(t.field)||/名称|品名|品类|类别/.test(t.label??"")?0:t.semanticRole==="dimension"?1:t.semanticRole==="measure"&&t.unit?2:t.semanticRole==="identifier"?3:t.semanticRole==="date"?4:5}function Xe(t="paired"){return se.find(r=>r.id===t)??se[1]}const ve="#173450",ce="#586c82";function I(t,r,l,i,s=4,n=7){return{kind:"text",text:t,leftMm:r,topMm:l,widthMm:i,heightMm:s,style:{fontSize:n,lineHeight:1.1,color:ve,verticalAlign:"middle"}}}function ge(t,r){return{kind:"line",leftMm:4,topMm:t,widthMm:r-8,heightMm:.2,style:{lineColor:"#c9d7e5",lineWidthPt:.55}}}function Ce(t,r,l){const i=[];let s=4;if(l?.logoData){if(!/^data:image\/(?:png|jpeg);base64,/i.test(l.logoData))throw new Error("标签Logo须使用PNG或JPEG图片数据");i.push({kind:"image",leftMm:4,topMm:3,widthMm:12,heightMm:7,imageData:l.logoData,meta:{labelBrandLogo:!0}}),s=19}return i.push({...I(l?.name?.trim()||t,s,3,r-s-4,5,9),style:{fontSize:9,color:"#205582"},meta:{labelStudioRole:"brand-name"}}),l?.tagline?.trim()&&i.push({...I(l.tagline.trim(),s,8,r-s-4,3,5.5),style:{fontSize:5.5,color:ce},meta:{labelStudioRole:"brand-tagline"}}),i.push(ge(12,r)),i}function Me(t,r,l,i,s=4.7){return t.flatMap((n,a)=>{const d=r+a*s;return[{...I(n.label??n.field,4,d,l,4,6),style:{fontSize:6,color:ce},meta:{labelStudioRole:"field-label",labelStudioField:n.field}},{...I("",4+l,d,i,4,7),binding:{field:n.field,...n.format?{format:n.format}:{}},meta:{labelStudioRole:"field-value",labelStudioField:n.field}}]})}function et(t,r){return t?[{...I("",4,14,r,7,14),binding:{field:t},style:{fontSize:14,color:ve}}]:[]}function tt(t,r,l,i){const s=de(t,l,i.fields),n=[...Ce(r,80,i.brand),...et(l,71),...Me(s,23,21,27)];l&&n.push({kind:"qrcode",leftMm:55,topMm:23,widthMm:20,heightMm:20,binding:{field:l},code:{quietZoneModules:4,errorCorrection:"M"}}),n.push(ge(48,80));const a=t.fields.find(d=>d.field===l)?.label??r;return n.push({...I(a,4,49,71,3,5.8),style:{fontSize:5.8,color:ce}}),n}function Ve(t,r,l,i,s=80){const n=Ce(r,s,i.brand);l&&(n.push({...I("",4,14,s-8,8,16),binding:{field:l},style:{fontSize:16,align:"center",color:ve}}),n.push({kind:"qrcode",leftMm:(s-20)/2,topMm:23,widthMm:20,heightMm:20,binding:{field:l},code:{quietZoneModules:4,errorCorrection:"M"}})),n.push(ge(44,s));const a=de(t,l,i.fields);return s===100?a.forEach((d,g)=>{const p=g%2===0?4:52,f=46+Math.floor(g/2)*4.3;n.push({...I(d.label??d.field,p,f,19,3.7,5.8),style:{fontSize:5.8,color:ce},meta:{labelStudioRole:"field-label",labelStudioField:d.field}}),n.push({...I("",p+19,f,25,3.7,6.5),binding:{field:d.field,...d.format?{format:d.format}:{}},meta:{labelStudioRole:"field-value",labelStudioField:d.field}})}):n.push(...Me(a.slice(0,1),46,24,s-32,5)),n}function ae(t,r,l,i={}){const s=De(t,l),n=Xe(i.preset),a=Object.fromEntries(["name","tagline"].flatMap(f=>{const v=i.brand?.[f];return typeof v=="string"?[[f,v]]:[]})),d={preset:n.id,brand:a,fields:de(t,s,i.fields).map(f=>f.field)},g=n.id==="warehouse"?Ve(t,r,s,i,n.widthMm):tt(t,r,s,i),p=[{widthMm:n.widthMm,heightMm:n.heightMm,meta:{title:`${r} · 1`,labelStudio:d},components:g}];return n.faces===2&&p.push({widthMm:n.widthMm,heightMm:n.heightMm,meta:{title:`${r} · 2`,labelStudio:d},components:Ve(t,r,s,i)}),h.defineReportTemplate({id:"record-label",name:r,template:h.createLabelTemplate({dataset:"records",rowKey:t.rowKey,pages:p})})}const B=t=>t.meta?.labelStudioRole,pe=t=>typeof B(t)=="string";function ue(t){const r={...t,...t.meta?{meta:{...t.meta}}:{}};return r.meta&&(delete r.meta.labelStudioRole,delete r.meta.labelStudioField,Object.keys(r.meta).length||delete r.meta),r}function nt(t,r){for(const l of r.components.filter(pe)){if(t.components.some(s=>B(s)===B(l)&&s.meta?.labelStudioField===l.meta?.labelStudioField))continue;const i=t.components.find(s=>!pe(s)&&JSON.stringify(ue(s))===JSON.stringify(ue(l)));i&&(i.meta={...i.meta,...l.meta})}}function lt(t,r){const l=t.kind==="list"?Number.POSITIVE_INFINITY:t.heightMm,i=r.kind==="list"?Number.POSITIVE_INFINITY:r.heightMm;return t.leftMm<r.leftMm+r.widthMm&&t.leftMm+t.widthMm>r.leftMm&&t.topMm<r.topMm+i&&t.topMm+l>r.topMm}function at(t,r){const l={...t,meta:{...t.meta,...r.meta}};return l.kind==="text"&&r.kind==="text"&&(l.text=r.text,r.binding?l.binding=structuredClone(r.binding):delete l.binding),l}function rt(t,r,l,i){const s=i.has("field-value");nt(t,r);const n=new Set(t.components.filter(f=>B(f)==="field-label"||B(f)==="field-value")),a=[...n],d=new Map,g=[];for(const f of l.components.filter(pe)){const v=B(f);if(!i.has(String(v)))continue;const N=v==="field-label"||v==="field-value"?a.find(S=>B(S)===v&&!d.has(S)):t.components.find(S=>B(S)===v);N?d.set(N,at(N,f)):g.push(structuredClone(f))}const p=t.components.filter(f=>(!s||!n.has(f)||d.has(f))&&(!i.has("brand-tagline")||B(f)!=="brand-tagline"||l.components.some(v=>B(v)==="brand-tagline"))).map(f=>d.get(f)??f);for(const f of g){if(p.some(v=>lt(v,f)))return!1;p.push(f)}return t.components=p,t.meta={...t.meta,labelStudio:l.meta?.labelStudio},!0}function ot(t,r,l,i,s,n){const a=ae(r,l,i,s),d=ae(r,l,i,n),g=h.parseReportTemplate(t),p=new Set;JSON.stringify(s.fields)!==JSON.stringify(n.fields)&&(p.add("field-label"),p.add("field-value")),(s.brand?.name??"").trim()!==(n.brand?.name??"").trim()&&p.add("brand-name"),(s.brand?.tagline??"").trim()!==(n.brand?.tagline??"").trim()&&p.add("brand-tagline");for(const[f,v]of g.template.pages.entries()){const N=a.template.pages[f],S=d.template.pages[f];if(N&&S&&!rt(v,N,S,p))return}return g}function it(t,r){const l=t.template.pages,i=r.template.pages;return l.length!==i.length||l.some((s,n)=>s.components.length!==i[n].components.length)?!0:l.some((s,n)=>{const a=i[n],d={...s,meta:void 0,components:void 0},g={...a,meta:void 0,components:void 0};return JSON.stringify(d)!==JSON.stringify(g)||s.components.some((p,f)=>JSON.stringify(ue(p))!==JSON.stringify(ue(a.components[f])))})}function st(t,r,l,i,s){const n={...t,template:ae(r,l,i,s).template},a=t.template.repeat;return a?.copies!==void 0&&n.template.repeat&&(n.template.repeat.copies=a.copies),n}function _(t){const r=t.template.pages[0]?.meta?.labelStudio;if(!r||typeof r!="object")return;const l=r,i=se.find(d=>d.id===l.preset);if(!i)return;const s=Array.isArray(l.fields)?l.fields.filter(d=>typeof d=="string"):void 0;if(s&&s.length>5)return;const n=l.brand&&typeof l.brand=="object"?l.brand:{},a={};for(const d of["name","tagline","logoData"])typeof n[d]=="string"&&(a[d]=n[d]);return{preset:i.id,fields:s,brand:a}}function Ee(t,r,l){const i=new Set(t.fields.filter(n=>n.field!==r&&n.field!==t.rowKey).map(n=>n.field)),s=l?.filter(n=>i.has(n));return de(t,r,s).map(n=>n.field)}function ut(t,r){const l=e.computed(()=>({...Ne.LABEL_STUDIO_MESSAGES,...t.messages})),i=e.computed(()=>t.title??l.value.title),s={preset:t.preset,brand:t.brand,fields:t.fields},n=e.shallowRef(t.modelValue?h.parseReportTemplate(t.modelValue):ae(t.schema,i.value,t.identityField,s)),a=e.shallowRef(h.parseReportTemplate(n.value)),d=e.ref(!1),g=e.shallowRef();let p,f;e.onMounted(()=>{t.modelValue||r(h.parseReportTemplate(n.value))});const v=e.ref("preview"),N=e.ref("all"),S=e.ref(1),M=e.ref(!1),Y=e.ref(!1),b=e.ref(),O=Ne.useTemplateDiscard(()=>t.beforeDiscard),$=e.computed(()=>Y.value||O.pending.value||d.value&&!b.value||b.value?.saving===!0||b.value?.blocked===!0),w=e.ref(""),H=e.computed(()=>De(t.schema,t.identityField)),R=e.ref(_(n.value)?.preset??(t.modelValue?void 0:t.preset??"paired")),z=e.ref(_(n.value)?.brand?.name??t.brand?.name??""),k=e.ref(_(n.value)?.brand?.tagline??t.brand?.tagline??""),V=e.ref(Ee(t.schema,H.value,_(n.value)?.fields??t.fields)),K=e.ref(""),U=e.computed(()=>t.schema.fields.filter(o=>o.field!==H.value&&o.field!==t.schema.rowKey)),j=e.computed(()=>V.value.map(o=>({field:o,label:t.schema.fields.find(m=>m.field===o)?.label??o}))),Z=e.computed(()=>{const o=K.value.trim().toLocaleLowerCase();return U.value.filter(m=>`${m.label??""} ${m.field}`.toLocaleLowerCase().includes(o)).slice(0,30)}),q=e.computed(()=>{const o=n.value.template.pages[0]?.components.find(m=>m.kind==="image"&&m.meta?.labelBrandLogo);return o?.kind==="image"?o.imageData:t.brand?.logoData}),W=e.computed(()=>({preset:R.value,fields:V.value,brand:{...t.brand,...q.value?{logoData:q.value}:{},name:z.value,tagline:k.value}}));let X=JSON.stringify(_(n.value));const ee=e.computed(()=>{const o=_(n.value);if(!o)return!0;try{const m=ae(t.schema,i.value,t.identityField,{...o,brand:{...o.brand,...q.value?{logoData:q.value}:{}}});return it(n.value,m)}catch{return!0}}),L=e.ref(!1),P=e.computed(()=>R.value!==_(n.value)?.preset),A=()=>JSON.stringify({preset:R.value,fields:V.value,name:z.value,tagline:k.value}),te=e.ref(A()),x=e.computed(()=>A()!==te.value),ne=e.computed(()=>h.serializeReportTemplate(n.value)),fe=e.computed(()=>h.serializeReportTemplate(a.value)),G=e.computed(()=>ne.value!==fe.value),re=e.computed(()=>x.value||G.value||b.value?.pendingLocalChanges===!0);function F(){L.value=!1;const o=_(n.value);R.value=o?.preset,V.value=Ee(t.schema,H.value,o?.fields??t.fields),z.value=o?.brand?.name??t.brand?.name??"",k.value=o?.brand?.tagline??t.brand?.tagline??"",X=JSON.stringify(o),te.value=A()}function Q(o){const m=_(o),y=JSON.stringify(m);y!==X&&(X=y,F())}let D=!1;e.onScopeDispose(()=>{D=!0,f?.abort()});const J=Ye();ke.provideMachReportConfig({get defaults(){return{...t.preview,assets:{...J,...t.preview?.assets,assetRenderers:{...J.assetRenderers,...t.preview?.assets?.assetRenderers}}}}}),e.watch(b,o=>{const m=g.value;if(!o||!m)return;const y=n.value;h.serializeReportTemplate(m)!==ne.value&&o.applyTemplate?.(y.template),g.value=void 0,p=void 0},{flush:"post"}),e.watch([R,V,z,k],()=>{L.value=!1}),e.watch(()=>t.modelValue,o=>{o&&h.serializeReportTemplate(o)!==ne.value&&(n.value=h.parseReportTemplate(o),a.value=h.parseReportTemplate(o),p=void 0,Q(o))}),e.watch(()=>t.rows,()=>{N.value="all",S.value=1});function C(o){w.value="",n.value=o,Q(o),r(o)}function c(o,m){m&&V.value.length<5&&!V.value.includes(o)?V.value=[...V.value,o]:m||(V.value=V.value.filter(y=>y!==o))}function u(o=!1){if($.value||D)return!1;if(!R.value)return w.value=l.value.choosePreset,!1;if(b.value?.canApply===!1)return w.value=b.value.saveReason||l.value.applyFirst,!1;if(P.value&&!o)return L.value=!0,!1;try{const m=_(n.value);let y;if(o?y=st(n.value,t.schema,i.value,t.identityField,W.value):m&&(y=ot(n.value,t.schema,i.value,t.identityField,m,W.value)),!y)return w.value=l.value.contentNeedsDesign,!1;if(b.value?.applyTemplate){if(!b.value.applyTemplate(y.template))return w.value=l.value.saveFailed,!1}else p=h.parseReportTemplate(n.value),C(y);return L.value=!1,te.value=A(),!0}catch(m){return w.value=m instanceof Error?m.message:l.value.saveFailed,!1}}const T=e.computed(()=>N.value==="all"?t.rows:Number.isSafeInteger(S.value)&&t.rows[S.value-1]?[t.rows[S.value-1]]:[]),oe=e.computed(()=>n.value.template.repeat?.dataset??"records"),Re=e.computed(()=>({[oe.value]:T.value})),Te=e.computed(()=>({[oe.value]:T.value.slice(0,3)})),_e=e.computed(()=>({[oe.value]:t.schema})),Be=e.computed(()=>[{id:oe.value,label:i.value,rowKey:t.schema.rowKey,fields:t.schema.fields}]),Le=e.computed(()=>n.value.template.pages[0]),be=e.computed(()=>n.value.template.pages.length),xe=e.computed(()=>{const o=n.value.template.repeat?.copies??1;return typeof o=="number"?o:void 0}),Fe=e.computed(()=>{const o=n.value.template.repeat?.copies;return typeof o=="object"?o.field:void 0}),he=e.computed(()=>{const o=Fe.value;if(!o)return;let m=0;for(const y of T.value){const E=Object.getOwnPropertyDescriptor(y,o)?.value;if(typeof E!="number"||!Number.isSafeInteger(E)||E<1||E>1e3)return;m+=E}return m}),Ie=e.computed(()=>{const o=xe.value;return o!==void 0?Number.isSafeInteger(o)&&o>=1&&o<=1e3?T.value.length*o*be.value:void 0:he.value===void 0?void 0:he.value*be.value}),ie=e.computed(()=>Ze(n.value.template)),Oe=e.computed(()=>{const o=ie.value;return o?l.value.sheetHint.replace("{columns}",String(o.columns)).replace("{rows}",String(o.rows)).replace("{capacity}",String(o.capacity)):l.value.sheetUnavailable});e.watch(ie,o=>{o||(M.value=!1)});const $e=e.computed(()=>{const o=h.createReportSource({labels:h.defineLabelReport({template:n.value.template,rows:T.value,dataSchema:t.schema})}),m=M.value?ie.value:void 0;return async y=>{const E=await o(y);return m?h.imposeLabelSheets(E,{...m,signal:y.signal}):E}}),ye=async(o,m)=>{if(D||m.signal.aborted)throw new DOMException("标签模板保存已取消","AbortError");const y=h.parseReportTemplate(o),E=h.parseReportTemplate(t.save?await t.save(y,m):y);if(E.id!==o.id)throw new Error(l.value.invalidSavedTemplate);if(D||m.signal.aborted)throw new DOMException("标签模板保存已取消","AbortError");return a.value=h.parseReportTemplate(E),C(E),E};async function Se(){if(!($.value||D)){if(x.value&&P.value){w.value=l.value.applyLayoutFirst;return}if(!(x.value&&!u())){Y.value=!0;try{if(b.value){if(b.value.canApply===!1){w.value=b.value.saveReason||l.value.applyFirst;return}if(b.value.pendingLocalChanges&&await b.value.save(),b.value.pendingLocalChanges){w.value=l.value.saveFailed;return}}else G.value&&(f=new AbortController,await ye(n.value,{expectedRevision:n.value.revision,signal:f.signal}),p=void 0);if(!D)return w.value="",h.parseReportTemplate(n.value)}catch(o){D||(w.value=o instanceof Error?o.message:l.value.saveFailed)}finally{Y.value=!1,f=void 0}}}}async function ze(o){if(!($.value||o===v.value))if(o==="design"&&!d.value){if(x.value&&P.value){w.value=l.value.applyLayoutFirst;return}if(x.value&&!u())return;g.value=p,d.value=!0,v.value=o}else await Se()&&(v.value=o)}function qe(o){d.value=!1,v.value="preview",w.value=`${l.value.designLoadFailed} ${o instanceof Error?o.message:String(o)}`}let me=!1;const Pe=o=>me||O.request(o);async function Ae(){if($.value)return!1;const o=b.value?.pendingLocalChanges===!0;if(!o&&!G.value&&!x.value)return!0;if(!(o&&b.value?await b.value.guardChanges():await O.request({reason:"replace",document:h.parseReportTemplate(n.value),pendingLocalChanges:!0}))||D)return!1;if(o&&b.value){me=!0;try{await b.value.reset()}finally{me=!1}}return C(h.parseReportTemplate(a.value)),p=void 0,F(),!0}return{m:l,notice:w,title:i,document:n,mode:v,editorVisited:d,editorInitialDocument:g,failDesignLoad:qe,sheetLayout:ie,sheetHint:Oe,rebuilding:L,layoutChanged:P,record:N,recordIndex:S,sheet:M,busy:$,editor:b,rows:T,datasets:Re,designDatasets:Te,schemas:_e,bindings:Be,paper:Le,labelCount:Ie,fetcher:$e,update:C,save:ye,navigate:ze,prepare:Se,guardChanges:Ae,preset:R,presets:se,brandName:z,brandTagline:k,fields:V,fieldQuery:K,selectedFields:j,availableFields:Z,fieldCount:e.computed(()=>U.value.length),configurationDirty:x,pendingLocalChanges:re,custom:ee,toggleField:c,applyConfiguration:u,requestRebuild:()=>{L.value=!0},cancelRebuild:()=>{L.value=!1},restoreConfiguration:F,beforeDiscard:Pe,confirmation:O.confirmation,decideDiscard:O.decide}}const dt=["aria-label"],ct={class:"mr-label-context"},ft={class:"mr-label-identity"},mt={class:"mr-label-spec"},pt=["disabled"],vt=["aria-label"],gt=["aria-pressed","onClick"],bt={class:"mr-label-fields"},ht={key:0,class:"mr-label-selected-fields"},yt=["aria-label","onClick"],St={class:"mr-label-field-search"},wt=["aria-label","placeholder"],Nt={class:"mr-label-field-options"},Vt=["checked","disabled","onChange"],Et={key:0},kt={key:1},Dt={class:"mr-label-brand"},Ct=["placeholder"],Mt=["disabled"],Rt={key:1,class:"mr-label-rebuild",role:"alert"},Tt={key:3,class:"mr-label-reflow-hint"},_t={class:"mr-label-reflow-hint"},Bt={class:"mr-label-record"},Lt=["disabled"],xt={value:"all"},Ft={value:"single"},It={key:0,class:"mr-label-record-index"},Ot=["max","aria-label","disabled"],$t={class:"mr-label-count"},zt={class:"mr-label-help"},qt={class:"mr-label-main"},Pt={class:"mr-label-bar"},At=["aria-label"],Jt=["aria-pressed","disabled"],Ht=["aria-pressed","disabled"],Kt={key:0,class:"mr-label-notice",role:"status"},Ut=["aria-label"],jt={class:"mr-label-imposition"},Gt=["disabled"],Qt={key:3,class:"mr-label-editor"},Yt={key:0,class:"mr-label-editor-loading",role:"status"},Zt=e.defineComponent({__name:"ReportLabelStudio",props:{showSave:{type:Boolean,default:!0},rows:{},schema:{},title:{},identityField:{},modelValue:{},preview:{},save:{},beforeDiscard:{},messages:{},preset:{},brand:{},fields:{}},emits:["update:modelValue"],setup(t,{expose:r,emit:l}){const i=t,s=l,n=ut(i,C=>s("update:modelValue",C)),{m:a,notice:d,title:g,document:p,mode:f,record:v,recordIndex:N,sheet:S,busy:M,editor:Y,rows:b,designDatasets:O,schemas:$,bindings:w,paper:H,labelCount:R,fetcher:z,preset:k,presets:V,brandName:K,brandTagline:U,fields:j,fieldQuery:Z,selectedFields:q,availableFields:W,fieldCount:X,configurationDirty:ee,pendingLocalChanges:L,custom:P,confirmation:A,editorVisited:te,editorInitialDocument:x,sheetLayout:ne,sheetHint:fe,rebuilding:G,layoutChanged:re}=n,F=e.shallowRef();let Q=!1;e.onScopeDispose(()=>{Q=!0}),e.watch(n.editorVisited,async C=>{if(!(!C||F.value))try{const c=await Promise.resolve().then(()=>require("./designer-CDqok4S5.cjs")).then(u=>u.ReportTemplateEditor$1);Q||(F.value=e.markRaw(c.default))}catch(c){Q||n.failDesignLoad(c)}});const D=e.ref();let J=null;return e.watch(A,async C=>{C?(J=window.document.activeElement,await e.nextTick(),D.value?.focus()):J?.isConnected&&(J.focus(),J=null)}),r({guardChanges:n.guardChanges,prepare:n.prepare,get busy(){return M.value},get pendingLocalChanges(){return L.value}}),(C,c)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["mr-label-studio",{"is-design":e.unref(f)==="design"}]),"aria-label":e.unref(g)},[e.createElementVNode("aside",ct,[e.createElementVNode("div",ft,[e.createVNode(le._sfc_main,{name:"file",size:18}),e.createElementVNode("strong",null,e.toDisplayString(e.unref(g)),1),e.createElementVNode("small",null,e.toDisplayString(e.unref(P)?e.unref(a).customTemplate:e.unref(a).readyTemplate),1)]),e.createElementVNode("div",mt,[e.createElementVNode("strong",null,[e.createTextVNode(e.toDisplayString(e.unref(H)?.widthMm)+" ",1),c[16]||(c[16]=e.createElementVNode("i",null,"×",-1)),e.createTextVNode(" "+e.toDisplayString(e.unref(H)?.heightMm),1)]),e.createElementVNode("span",null,"mm · "+e.toDisplayString(e.unref(p).template.pages.length)+" "+e.toDisplayString(e.unref(a).faces),1)]),e.createElementVNode("fieldset",{class:"mr-label-quick",disabled:e.unref(M)},[e.createElementVNode("legend",null,e.toDisplayString(e.unref(a).layout),1),e.createElementVNode("div",{class:"mr-label-presets","aria-label":e.unref(a).layout},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(V),u=>(e.openBlock(),e.createElementBlock("button",{key:u.id,type:"button","aria-pressed":e.unref(k)===u.id,onClick:T=>k.value=u.id},[e.createElementVNode("span",{class:e.normalizeClass(["mr-label-preset-art",`is-${u.id}`]),"aria-hidden":"true"},[...c[17]||(c[17]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])],2),e.createElementVNode("span",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(a)[`${u.id}Preset`]),1),e.createElementVNode("small",null,e.toDisplayString(u.widthMm)+" × "+e.toDisplayString(u.heightMm)+" · "+e.toDisplayString(u.faces)+" "+e.toDisplayString(e.unref(a).faces),1)])],8,gt))),128))],8,vt),e.createElementVNode("details",bt,[e.createElementVNode("summary",null,[e.createTextVNode(e.toDisplayString(e.unref(a).fields)+" ",1),e.createElementVNode("span",null,e.toDisplayString(e.unref(j).length)+" / 5",1)]),e.unref(q).length?(e.openBlock(),e.createElementBlock("div",ht,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(q),u=>(e.openBlock(),e.createElementBlock("button",{key:u.field,type:"button","aria-label":`${e.unref(a).removeField} ${u.label}`,onClick:T=>e.unref(n).toggleField(u.field,!1)},[e.createTextVNode(e.toDisplayString(u.label)+" ",1),c[18]||(c[18]=e.createElementVNode("span",{"aria-hidden":"true"},"×",-1))],8,yt))),128))])):e.createCommentVNode("",!0),e.createElementVNode("label",St,[e.createVNode(le._sfc_main,{name:"search",size:13}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>e.isRef(Z)?Z.value=u:null),type:"search","aria-label":e.unref(a).findField,placeholder:e.unref(a).findField},null,8,wt),[[e.vModelText,e.unref(Z)]])]),e.createElementVNode("div",Nt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(W),u=>(e.openBlock(),e.createElementBlock("label",{key:u.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(j).includes(u.field),disabled:!e.unref(j).includes(u.field)&&e.unref(j).length>=5,onChange:T=>e.unref(n).toggleField(u.field,T.target.checked)},null,40,Vt),e.createElementVNode("span",null,e.toDisplayString(u.label??u.field),1)]))),128)),e.unref(W).length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",Et,e.toDisplayString(e.unref(a).noFields),1))]),e.createElementVNode("small",null,e.toDisplayString(e.unref(a).fieldLimit),1),e.unref(X)>30?(e.openBlock(),e.createElementBlock("small",kt,e.toDisplayString(e.unref(a).fieldSearchHint),1)):e.createCommentVNode("",!0)]),e.createElementVNode("details",Dt,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(a).brand),1),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).brandName),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>e.isRef(K)?K.value=u:null),maxlength:"80",placeholder:e.unref(g)},null,8,Ct),[[e.vModelText,e.unref(K)]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).brandTagline),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[2]||(c[2]=u=>e.isRef(U)?U.value=u:null),maxlength:"120"},null,512),[[e.vModelText,e.unref(U)]])])]),e.createElementVNode("button",{class:"mr-label-apply",type:"button",disabled:!e.unref(ee)||!e.unref(k),onClick:c[3]||(c[3]=u=>e.unref(n).applyConfiguration())},[e.createVNode(le._sfc_main,{name:"arrow-right",size:13}),e.createTextVNode(e.toDisplayString(e.unref(re)?e.unref(a).applyLayout:e.unref(a).applyContent),1)],8,Mt),e.unref(P)&&e.unref(k)&&!e.unref(G)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"mr-label-reset-configuration mr-label-rebuild-current",type:"button",onClick:c[4]||(c[4]=(...u)=>e.unref(n).requestRebuild&&e.unref(n).requestRebuild(...u))},e.toDisplayString(e.unref(a).rebuildCurrent),1)):e.createCommentVNode("",!0),e.unref(G)?(e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(a).rebuildTitle),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(a).rebuildDescription),1),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[5]||(c[5]=(...u)=>e.unref(n).cancelRebuild&&e.unref(n).cancelRebuild(...u))},e.toDisplayString(e.unref(a).cancelRebuild),1),e.createElementVNode("button",{type:"button",onClick:c[6]||(c[6]=u=>e.unref(n).applyConfiguration(!0))},e.toDisplayString(e.unref(a).confirmRebuild),1)])])):e.createCommentVNode("",!0),e.unref(ee)?(e.openBlock(),e.createElementBlock("button",{key:2,class:"mr-label-reset-configuration",type:"button",onClick:c[7]||(c[7]=(...u)=>e.unref(n).restoreConfiguration&&e.unref(n).restoreConfiguration(...u))},e.toDisplayString(e.unref(a).restoreConfiguration),1)):e.createCommentVNode("",!0),e.unref(ee)&&!e.unref(k)?(e.openBlock(),e.createElementBlock("p",Tt,e.toDisplayString(e.unref(a).choosePreset),1)):e.createCommentVNode("",!0),e.createElementVNode("p",_t,e.toDisplayString(e.unref(re)?e.unref(a).reflowHint:e.unref(a).contentHint),1)],8,pt),e.createElementVNode("label",Bt,[e.createTextVNode(e.toDisplayString(e.unref(a).records),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":c[8]||(c[8]=u=>e.isRef(v)?v.value=u:null),disabled:e.unref(M)||!i.rows.length},[e.createElementVNode("option",xt,e.toDisplayString(e.unref(a).all)+" · "+e.toDisplayString(i.rows.length),1),e.createElementVNode("option",Ft,e.toDisplayString(e.unref(a).single),1)],8,Lt),[[e.vModelSelect,e.unref(v)]])]),e.unref(v)==="single"?(e.openBlock(),e.createElementBlock("label",It,[e.createTextVNode(e.toDisplayString(e.unref(a).record),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[9]||(c[9]=u=>e.isRef(N)?N.value=u:null),type:"number",min:"1",max:i.rows.length,"aria-label":e.unref(a).record,disabled:e.unref(M)},null,8,Ot),[[e.vModelText,e.unref(N),void 0,{number:!0}]]),e.createTextVNode(" / "+e.toDisplayString(i.rows.length),1)])):e.createCommentVNode("",!0),e.createElementVNode("p",$t,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(b).length),1),e.createTextVNode(" "+e.toDisplayString(e.unref(a).count)+" ",1),c[19]||(c[19]=e.createElementVNode("span",null,"→",-1)),c[20]||(c[20]=e.createTextVNode()),e.unref(R)!==void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("strong",null,e.toDisplayString(e.unref(R)),1),e.createTextVNode(" "+e.toDisplayString(e.unref(a).labels),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(a).invalidCopies),1)],64))]),e.createElementVNode("details",zt,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(a).guide),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(a).help),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(a).printHint),1)])]),e.createElementVNode("div",qt,[e.createElementVNode("header",Pt,[e.createElementVNode("nav",{"aria-label":e.unref(g)},[e.createElementVNode("button",{type:"button","aria-pressed":e.unref(f)==="preview",disabled:e.unref(M),onClick:c[10]||(c[10]=u=>e.unref(n).navigate("preview"))},[e.createVNode(le._sfc_main,{name:"file",size:14}),e.createTextVNode(e.toDisplayString(e.unref(a).preview),1)],8,Jt),e.createElementVNode("button",{type:"button","aria-pressed":e.unref(f)==="design",disabled:e.unref(M),onClick:c[11]||(c[11]=u=>e.unref(n).navigate("design"))},[e.createVNode(le._sfc_main,{name:"settings",size:14}),e.createTextVNode(e.toDisplayString(e.unref(a).design),1)],8,Ht)],8,At),e.createElementVNode("span",null,e.toDisplayString(e.unref(f)==="design"?e.unref(a).designHint:e.unref(a).flow),1)]),e.unref(d)?(e.openBlock(),e.createElementBlock("p",Kt,e.toDisplayString(e.unref(d)),1)):e.createCommentVNode("",!0),e.unref(A)?(e.openBlock(),e.createElementBlock("div",{key:1,class:"mr-label-confirm",role:"alertdialog","aria-label":e.unref(a).discardTitle,onKeydown:c[14]||(c[14]=e.withKeys(e.withModifiers(u=>e.unref(n).decideDiscard(!1),["prevent","stop"]),["esc"]))},[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(a).discardTitle),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(a).discardDescription),1)]),e.createElementVNode("button",{ref_key:"keepEditingButton",ref:D,type:"button",onClick:c[12]||(c[12]=u=>e.unref(n).decideDiscard(!1))},e.toDisplayString(e.unref(a).keepEditing),513),e.createElementVNode("button",{type:"button",onClick:c[13]||(c[13]=u=>e.unref(n).decideDiscard(!0))},e.toDisplayString(e.unref(a).discard),1)],40,Ut)):e.createCommentVNode("",!0),e.unref(f)==="preview"?(e.openBlock(),e.createBlock(e.unref(ke.ReportPreview),{key:2,"report-id":"labels",fetcher:e.unref(z),"show-params":!1,height:"100%",toolbar:{exportFormats:["pdf","png","html"],editing:!1,excelImport:!1},messages:{title:e.unref(g),empty:e.unref(a).empty}},{settings:e.withCtx(()=>[e.createElementVNode("label",jt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[15]||(c[15]=u=>e.isRef(S)?S.value=u:null),type:"checkbox",disabled:!e.unref(ne)},null,8,Gt),[[e.vModelCheckbox,e.unref(S)]]),e.createTextVNode(e.toDisplayString(e.unref(a).sheet),1),e.createElementVNode("small",null,e.toDisplayString(e.unref(fe)),1)])]),_:1},8,["fetcher","messages"])):e.createCommentVNode("",!0),e.unref(te)?e.withDirectives((e.openBlock(),e.createElementBlock("div",Qt,[F.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",Yt,e.toDisplayString(e.unref(a).designLoading),1)),F.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F.value),{key:1,ref_key:"editor",ref:Y,"model-value":e.unref(x)??e.unref(p),mode:"design","show-mode-switch":!1,"show-save":t.showSave,capabilities:{params:!1},datasets:e.unref(O),"data-schemas":e.unref($),"binding-datasets":e.unref(w),save:e.unref(n).save,"before-discard":e.unref(n).beforeDiscard,preview:t.preview,"onUpdate:modelValue":e.unref(n).update},null,8,["model-value","show-save","datasets","data-schemas","binding-datasets","save","before-discard","preview","onUpdate:modelValue"])):e.createCommentVNode("",!0)],512)),[[e.vShow,e.unref(f)==="design"]]):e.createCommentVNode("",!0)])],10,dt))}});exports.default=Zt;