@agile-team/mach-report 2.10.0 → 2.11.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 (111) hide show
  1. package/README.md +6 -2
  2. package/dist/ExcelBindingWizard-CjIiVox-.cjs +1 -0
  3. package/dist/ExcelBindingWizard-Dxm-K5HL.js +1240 -0
  4. package/dist/ParamEditor-D-Hf5xfO.cjs +1 -0
  5. package/dist/ParamEditor-DRGxzxeO.js +381 -0
  6. package/dist/ReportBatchPanel-BYgg0EDB.cjs +1 -0
  7. package/dist/ReportBatchPanel-Bby5yLzU.js +287 -0
  8. package/dist/ReportPreview-DWXROHBP.cjs +6 -0
  9. package/dist/ReportPreview-DiNXhQI0.js +4138 -0
  10. package/dist/ReportTemplateLibrary-C6CO7YCT.cjs +1 -0
  11. package/dist/ReportTemplateLibrary-DfzDXRvr.js +260 -0
  12. package/dist/RuleEditor-C2QsOHOs.cjs +1 -0
  13. package/dist/RuleEditor-D9wQHrkf.js +2024 -0
  14. package/dist/TemplateReviewPanel-BKofGrV9.js +222 -0
  15. package/dist/TemplateReviewPanel-DwtOcLue.cjs +1 -0
  16. package/dist/analytics.cjs +1 -1
  17. package/dist/analytics.d.cts +2 -0
  18. package/dist/analytics.d.ts +2 -0
  19. package/dist/analytics.js +29 -29
  20. package/dist/batch-Bt3Fd27Z.cjs +1 -0
  21. package/dist/batch-mRqhhhjt.js +364 -0
  22. package/dist/computed-Bvk0W15F.js +521 -0
  23. package/dist/computed-CGV2a809.cjs +1 -0
  24. package/dist/config-B612mw0x.js +525 -0
  25. package/dist/config-BRoLo2oj.cjs +1 -0
  26. package/dist/designer.cjs +2 -2
  27. package/dist/designer.d.cts +659 -9
  28. package/dist/designer.d.ts +659 -9
  29. package/dist/designer.js +2030 -1824
  30. package/dist/index.cjs +8 -8
  31. package/dist/index.d.cts +147 -3
  32. package/dist/index.d.ts +147 -3
  33. package/dist/index.js +639 -592
  34. package/dist/injection-keys-Db_DyLkm.cjs +1 -0
  35. package/dist/injection-keys-e85udZCp.js +7 -0
  36. package/dist/list-cell-BuYn4tGF.cjs +1 -0
  37. package/dist/{list-cell-Dxyi7DOw.js → list-cell-ClFra1zS.js} +54 -40
  38. package/dist/matrix-DVyWiYsd.cjs +1 -0
  39. package/dist/matrix-yZsGnldA.js +227 -0
  40. package/dist/param-validation-BlHHXs6u.js +153 -0
  41. package/dist/param-validation-DCK039V1.cjs +1 -0
  42. package/dist/pdf.cjs +25 -25
  43. package/dist/pdf.d.cts +3 -0
  44. package/dist/pdf.d.ts +3 -0
  45. package/dist/pdf.js +677 -677
  46. package/dist/plugin-BDTU4D94.cjs +1 -0
  47. package/dist/plugin-Cd5G2QQn.js +22 -0
  48. package/dist/region-binding-workflow-CXDmt9Bs.js +977 -0
  49. package/dist/region-binding-workflow-DhQvu1co.cjs +3 -0
  50. package/dist/{report-params-B_VCihAh.js → report-params-B44imUd4.js} +1 -1
  51. package/dist/{report-params-CjWrjPl6.cjs → report-params-SJfhKgaX.cjs} +1 -1
  52. package/dist/server/node.d.cts +5 -2
  53. package/dist/server/node.d.ts +5 -2
  54. package/dist/server-node.cjs +1 -1
  55. package/dist/server-node.js +87 -87
  56. package/dist/server.cjs +1 -1
  57. package/dist/server.d.cts +201 -2
  58. package/dist/server.d.ts +201 -2
  59. package/dist/server.js +557 -658
  60. package/dist/style.css +1 -1
  61. package/dist/template-registry-WNXdkiET.js +506 -0
  62. package/dist/template-registry-ukBGlm8N.cjs +1 -0
  63. package/dist/template-review-BXp2oyqg.cjs +1 -0
  64. package/dist/template-review-BdcXSYbx.js +1616 -0
  65. package/dist/tree-BX380Rr7.cjs +1 -0
  66. package/dist/tree-CqcQ99NM.js +172 -0
  67. package/dist/{validate-UUy9yP4K.js → validate-7s0yn6ii.js} +44 -44
  68. package/dist/validate-DsRiNw8h.cjs +1 -0
  69. package/dist/vue/async.d.cts +93 -4
  70. package/dist/vue/async.d.ts +93 -4
  71. package/dist/vue/index.d.cts +145 -7
  72. package/dist/vue/index.d.ts +145 -7
  73. package/dist/vue-async.cjs +1 -1
  74. package/dist/vue-async.js +5 -5
  75. package/dist/vue.cjs +1 -1
  76. package/dist/vue.js +116 -113
  77. package/dist/{workbook-session-B-bW5_yR.js → workbook-session-BKOTwcoq.js} +1 -1
  78. package/dist/{workbook-session-D7RtdNo0.cjs → workbook-session-CLYLhZWu.cjs} +1 -1
  79. package/dist/worker.cjs +1 -1
  80. package/dist/worker.d.cts +5 -2
  81. package/dist/worker.d.ts +5 -2
  82. package/dist/worker.js +1 -1
  83. package/dist/xlsx.cjs +3 -3
  84. package/dist/xlsx.d.cts +129 -2
  85. package/dist/xlsx.d.ts +129 -2
  86. package/dist/xlsx.js +336 -242
  87. package/package.json +1 -1
  88. package/dist/ExcelBindingWizard-CF7RplWm.cjs +0 -1
  89. package/dist/ExcelBindingWizard-qhwEderR.js +0 -842
  90. package/dist/ReportPreview-BE1tCHqE.js +0 -4604
  91. package/dist/ReportPreview-QKRKQOe3.cjs +0 -6
  92. package/dist/RuleEditor-BA36yIV6.js +0 -1723
  93. package/dist/RuleEditor-CczJ6mJm.cjs +0 -1
  94. package/dist/TemplateReviewPanel-CHi4Alqa.cjs +0 -1
  95. package/dist/TemplateReviewPanel-Dz0G5o83.js +0 -217
  96. package/dist/binding-preview-BWsdf_z2.cjs +0 -2
  97. package/dist/binding-preview-DILq0-0f.js +0 -649
  98. package/dist/decimal-CI1OAczk.js +0 -87
  99. package/dist/decimal-CQA0xJex.cjs +0 -1
  100. package/dist/list-cell-CyM1ZlRN.cjs +0 -1
  101. package/dist/matrix-BbXarwyk.js +0 -661
  102. package/dist/matrix-Cm65WLLP.cjs +0 -1
  103. package/dist/param-validation-BWNjLcN0.js +0 -116
  104. package/dist/param-validation-CiTxFeZ8.cjs +0 -1
  105. package/dist/plugin-CThk42vJ.cjs +0 -1
  106. package/dist/plugin-tGn7-5oF.js +0 -25
  107. package/dist/template-registry-CGWTLtIA.cjs +0 -1
  108. package/dist/template-registry-DzlQs3OF.js +0 -434
  109. package/dist/template-review-D1RoNCPw.cjs +0 -1
  110. package/dist/template-review-fnteXRng.js +0 -1473
  111. package/dist/validate-Bf6ccFr2.cjs +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agile-team/mach-report",
3
- "version": "2.10.0",
3
+ "version": "2.11.0",
4
4
  "description": "独立的 TypeScript 报表引擎:模板分页、DOM/Canvas/PDF/Excel 输出与 Vue 3 预览组件",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),D=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),ce=require("./useLocalDraft-Yiw1wFgI.cjs"),R=require("./binding-preview-BWsdf_z2.cjs"),de=require("./designer.cjs");function Q(a="",G=0){return{version:"1.0",sheet:a,dataset:"",regions:{header:"",detail:""},fields:Array.from({length:G},()=>""),rowKey:""}}function Y(a){return a instanceof Error?a.message:String(a)}function fe(a,G){const m=e.shallowRef(),s=e.ref(Q()),M=new Map,i=l=>JSON.parse(JSON.stringify(l));function F(l,r){return i(M.get(l)??Q(l,r))}const y=e.ref({id:a.identity?.id??"excel-template",name:a.identity?.name??"Excel 业务模板"}),w=e.ref(""),A=e.ref(0),L=ce.useLocalDraft(()=>({source:A.value,recipe:s.value,identity:y.value})),z=e.ref([]);let x;function K(){x?.dispose(),x=void 0}const g=e.ref(""),C=e.ref(!1),k=e.ref(!1),h=e.ref(!1),o=e.ref(!1),E=e.ref(1),T=e.ref(1),V=e.ref(),_=e.ref(),d=e.ref(0),b=e.computed(()=>({...de.EXCEL_BINDING_MESSAGES,...a.messages})),B=e.computed(()=>!!a.readonly||C.value||o.value),W=e.computed(()=>m.value?.sheets.find(l=>l.name===s.value.sheet)),f=e.computed(()=>W.value?R.parseImportRange(W.value.range):void 0),q=e.computed(()=>a.datasets.find(l=>l.id===s.value.dataset)),P=e.computed(()=>m.value&&W.value?R.getExcelSheetWindow(m.value,W.value.name,{row:E.value,column:T.value}):void 0),Z=e.computed(()=>m.value?R.validateExcelBindingRegions(m.value,s.value):[]),O=e.computed(()=>{if(!m.value)return{ok:!1,issues:[],mapped:0,total:0};const l=R.validateExcelBindingFields(m.value,s.value,a.datasets),r=[...Z.value,...l.issues];return{...l,ok:r.length===0,issues:r}}),J=e.computed(()=>s.value.fields.slice(d.value*12,(d.value+1)*12).map((l,r)=>({index:d.value*12+r,field:l,physical:R.columnName((f.value?.left??1)+d.value*12+r)}))),j=e.computed(()=>q.value?.fields.filter(l=>l.type!=="boolean")??[]),U=e.computed(()=>V.value!==void 0&&_.value!==void 0?{top:Math.min(V.value,_.value),bottom:Math.max(V.value,_.value)}:void 0);let S,N=0;function $(){N++,S?.abort(),S=void 0,C.value=!1}function I(){E.value=f.value?.top??1,T.value=f.value?.left??1,V.value=void 0,_.value=void 0,d.value=0,k.value=!1,h.value=!1}function c(l){$();try{const r=R.parseExcelBindingSession(l);$(),K(),z.value=r.source.sheets.map(v=>({name:v.name,index:v.index})),m.value=r.source,M.clear(),s.value=r.recipe,y.value={...r.identity,...a.lockId&&a.identity?{id:a.identity.id}:{}},w.value=r.recipe.sheet,g.value="",I(),A.value++,L.accept()}catch(r){g.value=Y(r)}}e.watch(()=>a.session,l=>{l&&c(l)},{immediate:!0}),e.watch(()=>a.readonly,l=>{l&&($(),K())}),e.watch([s,y],()=>{k.value=!1,h.value=!1},{deep:!0,flush:"sync"}),e.watch(()=>a.datasets,()=>{k.value=!1,h.value=!1}),e.onBeforeUnmount(()=>{$(),K()});async function n(l){if(a.readonly)return;if($(),!/\.xlsx$/i.test(l.name)){g.value=b.value.invalidFile;return}const r=++N;S=new AbortController,C.value=!0,g.value="";let v;try{const{openExcelWorkbook:p}=await Promise.resolve().then(()=>require("./workbook-session-D7RtdNo0.cjs")).then(H=>H.workbookSession);if(r!==N||a.readonly||(v=await p(l,{...a.importOptions,signal:S.signal}),r!==N||a.readonly))return;const X=v.inspect().sheets.filter(H=>H.visible);if(!X.length)throw new Error("Excel 中没有可导入的可见工作表");const ee=await v.importTemplate({sheets:[X[0].name],signal:S.signal});if(r!==N||a.readonly)return;K(),x=v,v=void 0,m.value=ee,A.value++,w.value=l.name,z.value=X.map(H=>({name:H.name,index:H.index})),M.clear(),s.value=Q(ee.sheets[0].name,ee.sheets[0].columnCount),I()}catch(p){r===N&&(g.value=Y(p))}finally{v?.dispose(),r===N&&(C.value=!1,S=void 0)}}async function t(l){if(B.value||!z.value.some(p=>p.name===l))return;s.value.sheet&&M.set(s.value.sheet,i(s.value));const r=m.value?.sheets.find(p=>p.name===l);if(r){s.value=F(l,r.columnCount),g.value="",I();return}if(!x||x.disposed)return;$();const v=++N;S=new AbortController,C.value=!0,g.value="";try{const p=await x.importTemplate({sheets:[l],signal:S.signal});if(v!==N||a.readonly)return;m.value=p,s.value=F(l,p.sheets[0].columnCount),I()}catch(p){v===N&&(g.value=Y(p))}finally{v===N&&(C.value=!1,S=void 0)}}function u(l){B.value||(s.value.dataset=l,s.value.rowKey="",s.value.fields.fill(""),k.value=!1,h.value=!1)}function te(l,r){B.value||!f.value||l<f.value.top||l>f.value.bottom||((!r||V.value===void 0)&&(V.value=l),_.value=l)}function ne(l){if(B.value||!m.value||!U.value){B.value||(g.value=b.value.emptySelection);return}s.value.regions[l]=R.excelBindingRowRange(m.value,s.value.sheet,U.value.top,U.value.bottom),k.value=!1,h.value=!1,g.value=""}function oe(l){B.value||(delete s.value.regions[l],k.value=!1,h.value=!1)}function le(l,r){!B.value&&l>=0&&l<s.value.fields.length&&(s.value.fields[l]=r,k.value=!1,h.value=!1)}function ae(l){for(const r of["title","header","detail","footer"]){const v=s.value.regions[r];if(!v)continue;const p=R.parseImportRange(v);if(l>=p.top&&l<=p.bottom)return r}}function re(l,r){f.value&&(l==="row"?E.value=Math.max(f.value.top,Math.min(f.value.bottom,E.value+r)):T.value=Math.max(f.value.left,Math.min(f.value.right,T.value+r)))}function ie(){if(!a.readonly){if(a.session){c(a.session);return}$(),K(),m.value=void 0,z.value=[],w.value="",M.clear(),s.value=Q(),y.value={id:a.identity?.id??"excel-template",name:a.identity?.name??"Excel 业务模板"},I(),A.value++,L.accept(),g.value=""}}function se(){k.value=!0,g.value=""}async function ue(){if(!(B.value||!m.value)&&(k.value=!0,g.value="",!!O.value.ok)){o.value=!0;try{const l={...y.value,...a.lockId&&a.identity?{id:a.identity.id}:{}},r=R.createExcelBindingDocument(m.value,s.value,a.datasets,l),v=R.createExcelBindingSession(m.value,s.value,l),p={...r,session:v},X=L.snapshot();if(a.accept&&!await a.accept(p)||a.readonly||X!==L.snapshot()&&L.pending.value)return;a.accept||G(p),L.accept(),M.clear(),h.value=!0}catch(l){g.value=Y(l)}finally{o.value=!1}}}return{imported:m,pendingLocalChanges:L.pending,recipe:s,identity:y,sourceName:w,sheetChoices:z,error:g,loading:C,checked:k,applied:h,row:E,column:T,mappingPage:d,m:b,disabled:B,sheet:W,sourceRange:f,dataset:q,window:P,validation:O,mappings:J,rowKeys:j,selection:U,cancel:$,importFile:n,chooseSheet:t,chooseDataset:u,chooseRow:te,markRegion:ne,clearRegion:oe,setMapping:le,regionAt:ae,moveWindow:re,check:se,restoreDraft:ie,apply:ue}}const me=["aria-label","aria-busy"],ve={class:"mr-binding-bar"},pe={class:"mr-binding-heading"},ge=["aria-label","disabled"],ye=["disabled"],be={key:0,class:"mr-binding-error",role:"alert"},he={key:1,class:"mr-binding-placeholder",role:"status"},ke={key:2,class:"mr-binding-placeholder"},Ee=["disabled"],Ne={class:"mr-binding-sourcebar"},Ve=["value","aria-label","disabled"],we=["value"],_e={class:"mr-binding-range"},Be={class:"mr-binding-sample-note"},Se={class:"mr-binding-layout"},De={class:"mr-binding-source"},xe={class:"mr-binding-grid-heading"},Ce=["aria-label"],$e={class:"mr-binding-grid"},Re=["data-region"],Me={scope:"row"},Le=["data-source-row","aria-label","aria-pressed","disabled","onPointerdown","onPointerenter","onKeydown"],Te=["rowspan","colspan","title"],Fe={key:1,class:"mr-binding-grid-footer"},ze={class:"mr-binding-window"},Ie=["aria-label","disabled"],Ke=["min","max","value"],We=["aria-label","disabled"],Pe={class:"mr-binding-window"},Ae=["aria-label","disabled"],qe=["min","max","value"],Oe=["aria-label","disabled"],je={class:"mr-binding-inspector"},Ue=["disabled"],He={class:"mr-binding-group"},Ge=["data-role"],Je={key:0},Xe=["aria-label","disabled","onClick"],Qe=["aria-label","onClick"],Ye={key:0,class:"mr-binding-note"},Ze={class:"mr-binding-group"},et={class:"mr-binding-label"},tt=["value","aria-label"],nt={value:""},ot=["value"],lt={key:0,class:"mr-binding-note"},at={key:1,class:"mr-binding-label"},rt=["aria-label"],it={value:""},st=["value"],ut={key:2,class:"mr-binding-mappings"},ct=["aria-label","value","onChange"],dt={value:""},ft=["value"],mt={key:0},vt={key:3,class:"mr-binding-map-pages"},pt=["disabled","aria-label"],gt=["disabled","aria-label"],yt={class:"mr-binding-group"},bt={class:"mr-binding-label"},ht=["value","readonly"],kt={class:"mr-binding-label"},Et={key:0,class:"mr-binding-issues",role:"alert"},Nt={key:0},Vt={key:1,class:"mr-binding-warnings"},wt={class:"mr-binding-actions"},_t=["disabled"],Bt=["disabled"],St=["disabled"],Dt=e.defineComponent({__name:"ExcelBindingWizard",props:{datasets:{},accept:{type:Function},session:{},identity:{},lockId:{type:Boolean},readonly:{type:Boolean},importOptions:{},messages:{}},emits:["apply","dirty"],setup(a,{expose:G,emit:m}){const s=a,M=m,i=fe(s,c=>M("apply",c)),{imported:F,recipe:y,identity:w,sourceName:A,sheetChoices:L,error:z,loading:x,checked:K,applied:g,row:C,column:k,mappingPage:h,m:o,disabled:E,sheet:T,sourceRange:V,dataset:_,window:d,validation:b,mappings:B,rowKeys:W,selection:f}=i;e.watch([i.pendingLocalChanges,y,w],()=>M("dirty",i.pendingLocalChanges.value),{immediate:!0,deep:!0,flush:"sync"});const q=e.ref(),P=e.ref(!1),Z=["title","header","detail","footer"],O=e.computed(()=>({title:o.value.titleRegion,header:o.value.headerRegion,detail:o.value.detailRegion,footer:o.value.footerRegion})),J=e.computed(()=>Math.max(1,Math.ceil(y.value.fields.length/12)));function j(c){return c.target.value}function U(c){const n=c.target,t=n.files?.[0];t&&i.importFile(t),n.value=""}function S(c,n){c.button!==0||E.value||(c.preventDefault(),P.value=!0,i.chooseRow(n,c.shiftKey),c.currentTarget.focus())}function N(c,n){if((c.key===" "||c.key==="Enter")&&(c.preventDefault(),i.chooseRow(n,c.shiftKey)),c.key==="ArrowDown"||c.key==="ArrowUp"){c.preventDefault();const t=n+(c.key==="ArrowDown"?1:-1);c.shiftKey&&i.chooseRow(t,!0),c.currentTarget.closest("table")?.querySelector(`button[data-source-row="${t}"]`)?.focus()}}function $(c){const n=_.value?.fields.find(t=>t.field===c);return n?[n.type,n.unit,n.digits===void 0?void 0:`${n.digits}${o.value.precision}`,n.sample===void 0?void 0:`${o.value.sample}: ${String(n.sample)}`].filter(t=>t!==void 0&&t!=="").join(" · "):""}function I(c,n){const t=Number(j(c));!Number.isInteger(t)||!V.value||(n==="row"?C.value=Math.max(V.value.top,Math.min(V.value.bottom,t)):k.value=Math.max(V.value.left,Math.min(V.value.right,t)))}return G({get pendingLocalChanges(){return i.pendingLocalChanges.value},importFile:i.importFile,apply:i.apply,cancel:i.cancel}),(c,n)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-binding","aria-label":e.unref(o).title,"aria-busy":e.unref(x),onPointerup:n[19]||(n[19]=t=>P.value=!1),onPointercancel:n[20]||(n[20]=t=>P.value=!1),onPointerleave:n[21]||(n[21]=t=>P.value=!1)},[e.createElementVNode("header",ve,[e.createElementVNode("div",pe,[e.createVNode(D._sfc_main,{name:"file",size:17}),e.createElementVNode("strong",null,e.toDisplayString(e.unref(o).title),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(A)||e.unref(o).intro),1)]),e.createElementVNode("input",{ref_key:"input",ref:q,type:"file",accept:".xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","aria-label":e.unref(o).upload,class:"mr-binding-file",disabled:a.readonly,onChange:U},null,40,ge),e.unref(x)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:n[0]||(n[0]=(...t)=>e.unref(i).cancel&&e.unref(i).cancel(...t))},e.toDisplayString(e.unref(o).cancel),1)):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:a.readonly,onClick:n[1]||(n[1]=t=>q.value?.click())},[e.createVNode(D._sfc_main,{name:"upload",size:14}),e.createTextVNode(e.toDisplayString(e.unref(F)?e.unref(o).replace:e.unref(o).upload),1)],8,ye))]),e.unref(z)?(e.openBlock(),e.createElementBlock("div",be,e.toDisplayString(e.unref(z)),1)):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",he,[n[22]||(n[22]=e.createElementVNode("span",{class:"mr-binding-loader"},null,-1)),e.createTextVNode(e.toDisplayString(e.unref(o).loading),1)])):e.unref(F)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",Ne,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(o).sheet),1),e.createElementVNode("select",{value:e.unref(y).sheet,"aria-label":e.unref(o).sheet,disabled:e.unref(E),onChange:n[3]||(n[3]=t=>e.unref(i).chooseSheet(j(t)))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(L),t=>(e.openBlock(),e.createElementBlock("option",{key:t.name,value:t.name},e.toDisplayString(t.name),9,we))),128))],40,Ve)]),e.createElementVNode("span",_e,e.toDisplayString(e.unref(T)?.range)+" · "+e.toDisplayString(e.unref(T)?.rowCount)+" × "+e.toDisplayString(e.unref(T)?.columnCount),1),e.createElementVNode("span",Be,e.toDisplayString(e.unref(o).sourceOnly),1)]),e.createElementVNode("div",Se,[e.createElementVNode("div",De,[e.createElementVNode("div",xe,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(o).source),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(o).sourceHint),1)]),e.unref(d)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"mr-binding-grid-scroll","aria-label":e.unref(o).source},[e.createElementVNode("table",$e,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[n[24]||(n[24]=e.createElementVNode("th",{class:"mr-binding-corner","aria-label":"#"},"#",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d).columns,t=>(e.openBlock(),e.createElementBlock("th",{key:t.column,scope:"col"},e.toDisplayString(t.name),1))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d).rows,t=>(e.openBlock(),e.createElementBlock("tr",{key:t.row,"data-region":e.unref(i).regionAt(t.row),class:e.normalizeClass({"is-selected":e.unref(f)&&t.row>=e.unref(f).top&&t.row<=e.unref(f).bottom})},[e.createElementVNode("th",Me,[e.createElementVNode("button",{type:"button","data-source-row":t.row,"aria-label":`${e.unref(o).selectionLabel} ${t.row}`,"aria-pressed":!!e.unref(f)&&t.row>=e.unref(f).top&&t.row<=e.unref(f).bottom,disabled:e.unref(E),onPointerdown:u=>S(u,t.row),onPointerenter:u=>P.value&&e.unref(i).chooseRow(t.row,!0),onKeydown:u=>N(u,t.row)},e.toDisplayString(t.row),41,Le)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.cells,u=>(e.openBlock(),e.createElementBlock("td",{key:u.column,rowspan:u.rowSpan,colspan:u.colSpan,title:`${u.address} · ${u.text}`,class:e.normalizeClass({"is-continued":u.continued}),style:e.normalizeStyle({textAlign:u.style?.align,fontWeight:u.style?.bold?"600":void 0})},[e.createElementVNode("span",null,e.toDisplayString(u.text),1)],14,Te))),128))],10,Re))),128))])])],8,Ce)):e.createCommentVNode("",!0),e.unref(d)?(e.openBlock(),e.createElementBlock("footer",Fe,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(o).selected)+" ",1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(f)?`${e.unref(f).top}–${e.unref(f).bottom}`:"—"),1)]),e.createElementVNode("div",ze,[e.createElementVNode("button",{type:"button","aria-label":e.unref(o).previousRows,disabled:e.unref(d).top<=e.unref(d).source.top,onClick:n[4]||(n[4]=t=>e.unref(i).moveWindow("row",-24))},[e.createVNode(D._sfc_main,{name:"chevron-left",size:13})],8,Ie),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(o).rowStart),1),e.createElementVNode("input",{type:"number",min:e.unref(d).source.top,max:e.unref(d).source.bottom,value:e.unref(C),onChange:n[5]||(n[5]=t=>I(t,"row"))},null,40,Ke)]),e.createElementVNode("button",{type:"button","aria-label":e.unref(o).nextRows,disabled:e.unref(d).bottom>=e.unref(d).source.bottom,onClick:n[6]||(n[6]=t=>e.unref(i).moveWindow("row",24))},[e.createVNode(D._sfc_main,{name:"chevron-right",size:13})],8,We)]),e.createElementVNode("div",Pe,[e.createElementVNode("button",{type:"button","aria-label":e.unref(o).previousColumns,disabled:e.unref(d).left<=e.unref(d).source.left,onClick:n[7]||(n[7]=t=>e.unref(i).moveWindow("column",-12))},[e.createVNode(D._sfc_main,{name:"chevron-left",size:13})],8,Ae),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(o).columnStart),1),e.createElementVNode("input",{type:"number",min:e.unref(d).source.left,max:e.unref(d).source.right,value:e.unref(k),onChange:n[8]||(n[8]=t=>I(t,"column"))},null,40,qe)]),e.createElementVNode("button",{type:"button","aria-label":e.unref(o).nextColumns,disabled:e.unref(d).right>=e.unref(d).source.right,onClick:n[9]||(n[9]=t=>e.unref(i).moveWindow("column",12))},[e.createVNode(D._sfc_main,{name:"chevron-right",size:13})],8,Oe)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",je,[e.createElementVNode("fieldset",{disabled:e.unref(E)},[e.createElementVNode("section",He,[e.createElementVNode("h3",null,[n[25]||(n[25]=e.createElementVNode("b",null,"1",-1)),e.createTextVNode(e.toDisplayString(e.unref(o).regionLegend),1)]),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Z,t=>e.createElementVNode("div",{key:t,class:"mr-binding-region","data-role":t},[e.createElementVNode("div",null,[e.createElementVNode("strong",null,[e.createTextVNode(e.toDisplayString(O.value[t]),1),t==="title"||t==="footer"?(e.openBlock(),e.createElementBlock("small",Je,e.toDisplayString(e.unref(o).optional),1)):e.createCommentVNode("",!0)]),e.createElementVNode("code",null,e.toDisplayString(e.unref(y).regions[t]||e.unref(o).unnamed),1)]),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(o).selectRegion} · ${O.value[t]}`,disabled:!e.unref(f),onClick:u=>e.unref(i).markRegion(t)},[e.createVNode(D._sfc_main,{name:"arrow-right",size:13})],8,Xe),(t==="title"||t==="footer")&&e.unref(y).regions[t]?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":`${e.unref(o).clear} · ${O.value[t]}`,onClick:u=>e.unref(i).clearRegion(t)},[e.createVNode(D._sfc_main,{name:"close",size:13})],8,Qe)):e.createCommentVNode("",!0)],8,Ge)),64)),e.unref(y).regions.footer?(e.openBlock(),e.createElementBlock("p",Ye,e.toDisplayString(e.unref(o).footerHint),1)):e.createCommentVNode("",!0)]),e.createElementVNode("section",Ze,[e.createElementVNode("h3",null,[n[26]||(n[26]=e.createElementVNode("b",null,"2",-1)),e.createTextVNode(e.toDisplayString(e.unref(o).mapping),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(b).mapped)+"/"+e.toDisplayString(e.unref(b).total),1)]),e.createElementVNode("label",et,[e.createTextVNode(e.toDisplayString(e.unref(o).dataset),1),e.createElementVNode("select",{value:e.unref(y).dataset,"aria-label":e.unref(o).dataset,onChange:n[10]||(n[10]=t=>e.unref(i).chooseDataset(j(t)))},[e.createElementVNode("option",nt,e.toDisplayString(e.unref(o).chooseDataset),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.datasets,t=>(e.openBlock(),e.createElementBlock("option",{key:t.id,value:t.id},e.toDisplayString(t.label||t.id),9,ot))),128))],40,tt)]),a.datasets.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",lt,e.toDisplayString(e.unref(o).noContract),1)),e.unref(_)?(e.openBlock(),e.createElementBlock("label",at,[e.createTextVNode(e.toDisplayString(e.unref(o).rowKey),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":n[11]||(n[11]=t=>e.unref(y).rowKey=t),"aria-label":e.unref(o).rowKey},[e.createElementVNode("option",it,e.toDisplayString(e.unref(o).chooseRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(W),t=>(e.openBlock(),e.createElementBlock("option",{key:t.field,value:t.field},e.toDisplayString(t.label||t.field)+" · "+e.toDisplayString(t.field),9,st))),128))],8,rt),[[e.vModelSelect,e.unref(y).rowKey]])])):e.createCommentVNode("",!0),e.unref(_)?(e.openBlock(),e.createElementBlock("div",ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),t=>(e.openBlock(),e.createElementBlock("label",{key:t.index,class:"mr-binding-map"},[e.createElementVNode("span",null,e.toDisplayString(t.physical),1),e.createElementVNode("div",null,[e.createElementVNode("select",{"aria-label":`${e.unref(o).physical} ${t.physical} · ${e.unref(o).business}`,value:t.field,onChange:u=>e.unref(i).setMapping(t.index,j(u))},[e.createElementVNode("option",dt,e.toDisplayString(e.unref(o).chooseField),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_).fields,u=>(e.openBlock(),e.createElementBlock("option",{key:u.field,value:u.field},e.toDisplayString(u.label||u.field)+" · "+e.toDisplayString(u.field),9,ft))),128))],40,ct),t.field?(e.openBlock(),e.createElementBlock("small",mt,e.toDisplayString($(t.field)),1)):e.createCommentVNode("",!0)])]))),128))])):e.createCommentVNode("",!0),e.unref(_)&&J.value>1?(e.openBlock(),e.createElementBlock("div",vt,[e.createElementVNode("button",{type:"button",disabled:e.unref(h)<=0,"aria-label":e.unref(o).previousColumns,onClick:n[12]||(n[12]=t=>h.value--)},[e.createVNode(D._sfc_main,{name:"chevron-left",size:13})],8,pt),e.createElementVNode("span",null,e.toDisplayString(e.unref(h)+1)+" / "+e.toDisplayString(J.value),1),e.createElementVNode("button",{type:"button",disabled:e.unref(h)+1>=J.value,"aria-label":e.unref(o).nextColumns,onClick:n[13]||(n[13]=t=>h.value++)},[e.createVNode(D._sfc_main,{name:"chevron-right",size:13})],8,gt)])):e.createCommentVNode("",!0)]),e.createElementVNode("section",yt,[e.createElementVNode("h3",null,[n[27]||(n[27]=e.createElementVNode("b",null,"3",-1)),e.createTextVNode(e.toDisplayString(e.unref(o).identity),1)]),e.createElementVNode("label",bt,[e.createTextVNode(e.toDisplayString(e.unref(o).templateId),1),e.createElementVNode("input",{value:a.lockId?s.identity?.id??e.unref(w).id:e.unref(w).id,autocomplete:"off",readonly:a.lockId,onInput:n[14]||(n[14]=t=>e.unref(w).id=t.target.value)},null,40,ht)]),e.createElementVNode("label",kt,[e.createTextVNode(e.toDisplayString(e.unref(o).templateName),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[15]||(n[15]=t=>e.unref(w).name=t),autocomplete:"off"},null,512),[[e.vModelText,e.unref(w).name]])])])],8,Ue)])]),e.unref(K)&&e.unref(b).issues.length?(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(o).issues)+" · "+e.toDisplayString(e.unref(b).issues.length)+" "+e.toDisplayString(e.unref(o).errors),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b).issues.slice(0,12),(t,u)=>(e.openBlock(),e.createElementBlock("li",{key:u},[e.createElementVNode("code",null,e.toDisplayString(t.path),1),e.createTextVNode(e.toDisplayString(t.message),1)]))),128))]),e.unref(b).issues.length>12?(e.openBlock(),e.createElementBlock("span",Nt,"+ "+e.toDisplayString(e.unref(b).issues.length-12),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(F).warnings.length?(e.openBlock(),e.createElementBlock("details",Vt,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(o).inspectWarning)+" · "+e.toDisplayString(e.unref(F).warnings.length),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(F).warnings,(t,u)=>(e.openBlock(),e.createElementBlock("li",{key:u},e.toDisplayString(t),1))),128))])])):e.createCommentVNode("",!0),e.createElementVNode("footer",wt,[e.createElementVNode("span",{class:e.normalizeClass({"is-ready":e.unref(b).ok}),role:"status"},e.toDisplayString(a.readonly?e.unref(o).readonly:e.unref(g)?e.unref(o).applied:e.unref(b).ok?e.unref(o).ready:`${e.unref(o).coverage} ${e.unref(b).mapped}/${e.unref(b).total}`),3),e.unref(i).pendingLocalChanges.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:e.unref(E),onClick:n[16]||(n[16]=(...t)=>e.unref(i).restoreDraft&&e.unref(i).restoreDraft(...t))},e.toDisplayString(e.unref(o).restoreDraft),9,_t)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:e.unref(E),onClick:n[17]||(n[17]=(...t)=>e.unref(i).check&&e.unref(i).check(...t))},e.toDisplayString(e.unref(o).check),9,Bt),e.createElementVNode("button",{type:"button",class:"mr-binding-primary",disabled:e.unref(E)||!e.unref(b).ok,onClick:n[18]||(n[18]=(...t)=>e.unref(i).apply&&e.unref(i).apply(...t))},e.toDisplayString(e.unref(o).apply),9,St)])],64)):(e.openBlock(),e.createElementBlock("div",ke,[n[23]||(n[23]=e.createElementVNode("svg",{viewBox:"0 0 80 80",fill:"none","aria-hidden":"true"},[e.createElementVNode("rect",{x:"15",y:"10",width:"50",height:"60",rx:"8",fill:"#eff6ff",stroke:"#bfdbfe"}),e.createElementVNode("path",{d:"M25 25h30M25 35h30M25 45h30M35 25v30M45 25v30M25 55h30",stroke:"#93c5fd","stroke-width":"1.5"})],-1)),e.createElementVNode("strong",null,e.toDisplayString(e.unref(o).noSource),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(o).sourceOnly),1),e.createElementVNode("button",{type:"button",class:"mr-binding-primary",disabled:a.readonly,onClick:n[2]||(n[2]=t=>q.value?.click())},e.toDisplayString(e.unref(o).upload),9,Ee)]))],40,me))}}),xt=D._export_sfc(Dt,[["__scopeId","data-v-76b9c5c3"]]);exports.default=xt;