@agile-team/mach-report 2.19.0 → 2.20.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.
- package/README.md +19 -4
- package/dist/ExcelBindingWizard-B7aeRg46.cjs +1 -0
- package/dist/{ExcelBindingWizard-xJIYmnZ_.js → ExcelBindingWizard-Chn6ZC2-.js} +350 -350
- package/dist/ParamEditor-BdFMa1CX.cjs +1 -0
- package/dist/{ParamEditor-D1wWemaf.js → ParamEditor-o-7E7WZZ.js} +10 -10
- package/dist/{ReportBatchPanel-B88R-fME.js → ReportBatchPanel-CNJ4Useq.js} +2 -2
- package/dist/{ReportBatchPanel-BkJFqeEW.cjs → ReportBatchPanel-DVpmB7tG.cjs} +1 -1
- package/dist/ReportLabelStudio-Drsm9sAS.cjs +1 -0
- package/dist/ReportLabelStudio-r8VFnhGQ.js +589 -0
- package/dist/ReportParamPanel-CVpK8mFc.cjs +1 -0
- package/dist/{ReportParamPanel-mQkeN70Q.js → ReportParamPanel-peB-KEmm.js} +10 -2
- package/dist/{ReportPreview-BUr8GQUW.js → ReportPreview-CGcxwkAn.js} +2255 -2133
- package/dist/ReportPreview-hlwvZ1wf.cjs +6 -0
- package/dist/{ReportTemplateLibrary-BOh2MgjQ.cjs → ReportTemplateLibrary-DjjyZnZB.cjs} +1 -1
- package/dist/{ReportTemplateLibrary-BGELmgd3.js → ReportTemplateLibrary-DyIJhJjX.js} +1 -1
- package/dist/RuleEditor-BVuRn_OQ.cjs +1 -0
- package/dist/{RuleEditor-CoLqgehG.js → RuleEditor-BeknHHOD.js} +176 -172
- package/dist/{TemplateOutlinePanel-DU95loB-.js → TemplateOutlinePanel-Bv8CxbXS.js} +1 -1
- package/dist/{TemplateOutlinePanel-DiG8tRRe.cjs → TemplateOutlinePanel-D6TXg1aV.cjs} +1 -1
- package/dist/{TemplateReusePanel-DE1KSD6c.js → TemplateReusePanel-CfousvPY.js} +1 -1
- package/dist/{TemplateReusePanel-G-Y299wc.cjs → TemplateReusePanel-wrSbd_mr.cjs} +1 -1
- package/dist/{TemplateReviewPanel-KQx9ts0D.cjs → TemplateReviewPanel-BKFcSbTh.cjs} +1 -1
- package/dist/{TemplateReviewPanel-vqFJ_Y9o.js → TemplateReviewPanel-F2tqWNLO.js} +1 -1
- package/dist/artifact-integrity.json +36 -36
- package/dist/designer-B52ddmHO.js +6676 -0
- package/dist/designer-Dtsw_rh7.cjs +2 -0
- package/dist/designer.cjs +1 -1
- package/dist/designer.d.cts +142 -5
- package/dist/designer.d.ts +142 -5
- package/dist/designer.js +1 -1
- package/dist/{plugin-4VuL38Nc.cjs → plugin-BMsIIJDh.cjs} +1 -1
- package/dist/{plugin-YWHcI3t4.js → plugin-Co1oKD7T.js} +1 -1
- package/dist/sbom.cdx.json +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.js +1 -1
- package/dist/style.css +1 -1
- package/dist/vue/async.d.cts +8 -0
- package/dist/vue/async.d.ts +8 -0
- package/dist/vue/index.d.cts +10 -2
- package/dist/vue/index.d.ts +10 -2
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +3 -3
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +5 -5
- package/package.json +1 -1
- package/dist/ExcelBindingWizard-UHSApSG9.cjs +0 -1
- package/dist/ParamEditor-BZb-okUd.cjs +0 -1
- package/dist/ReportLabelStudio-B4WZ2XNN.js +0 -239
- package/dist/ReportLabelStudio-BN-fYNCr.cjs +0 -1
- package/dist/ReportParamPanel-sOANVRz-.cjs +0 -1
- package/dist/ReportPreview-D7PvKzs3.cjs +0 -6
- package/dist/RuleEditor-XaLcCdTb.cjs +0 -1
- package/dist/designer-CyKXBhQg.cjs +0 -2
- package/dist/designer-fVvpYg8H.js +0 -5824
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
<img src="https://img.shields.io/badge/source-2.
|
|
11
|
+
<img src="https://img.shields.io/badge/source-2.20.0-2563eb" alt="Source version 2.20.0" />
|
|
12
12
|
<a href="https://www.npmjs.com/package/@agile-team/mach-report"><img src="https://img.shields.io/npm/v/@agile-team/mach-report?label=npm&color=3178c6" alt="npm version" /></a>
|
|
13
13
|
<a href="https://github.com/ChenyCHENYU/MachReport/actions/workflows/ci.yml"><img src="https://github.com/ChenyCHENYU/MachReport/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
14
14
|
<a href="https://github.com/ChenyCHENYU/MachReport/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-authorization%20required-dc2626" alt="Authorization required" /></a>
|
|
@@ -45,7 +45,7 @@ MachReport 把模板、数据和输出分开:用 TypeScript DSL 或 JSON 定
|
|
|
45
45
|
| 完整宽表 | 自然列宽、横向滚动、默认 100% 预览;页级与宽表行列视口裁剪,Excel 自动合并连续 Sheet |
|
|
46
46
|
| 明细与汇总 | 自动分页、多级分组与加权小计、业务键主从明细、层级动态矩阵、独立区域流式组合、重复页眉页脚 |
|
|
47
47
|
| 数据呈现 | 独立对齐与字段格式、组合条件、数据条 / 色阶、声明式聚合图表、富文本与格内子组件 |
|
|
48
|
-
| 预览交互 | 多选 / 级联 /
|
|
48
|
+
| 预览交互 | 多选 / 级联 / 数值范围、远程字典、紧凑数据工具、搜索与字段目录、右下分页、跨页选区、原生固定列与 Sheet 导航 |
|
|
49
49
|
| 标识工作台 | `ReportLabelStudio` 直接传 rows/schema;包内完成标签设计、真实码图、逐记录预览与原尺寸输出 |
|
|
50
50
|
| 内容编辑 | 默认只读;双击 / 粘贴、整批候选校验、安全预填、原子保存、按行依赖增量计算、撤销 / 重做与差异审阅 |
|
|
51
51
|
| Excel 导入 | 混合字体与只读富文本、PNG/JPEG Logo、完整索引色、多 Sheet 会话复用、可取消预检、合并样式与缓存公式值转换为模板 |
|
|
@@ -207,6 +207,19 @@ document.querySelector("#report")!.replaceChildren(renderPlan(plan, document));
|
|
|
207
207
|
|
|
208
208
|
## 工业标签与材料标识
|
|
209
209
|
|
|
210
|
+
默认成品样式和自由设计共用同一工作台。直接传入记录与字段契约,即可预览双版材料标识,二维码绑定业务编号原值。左侧可切换单面物料卡、双版标识、仓储标签,选择展示字段和品牌。需要调整时进入“设计标签”,从统一的“添加内容”入口追加字段、文字和图片,切换预览后仍可撤销。
|
|
211
|
+
|
|
212
|
+
```vue
|
|
213
|
+
<ReportLabelStudio
|
|
214
|
+
:rows="materials"
|
|
215
|
+
:schema="materialContract"
|
|
216
|
+
identity-field="id"
|
|
217
|
+
:brand="{ name: 'MACH STEEL', tagline: '材料追溯' }"
|
|
218
|
+
/>
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
组件从 `@agile-team/mach-report/designer` 按需导入,包内处理模板、记录选择、码图和输出。可选 `preset`、`fields`、`v-model` 与 `save` 接入自定义样式及现有持久化。完整配置见[标签工作台](https://github.com/ChenyCHENYU/MachReport/blob/main/docs/LABELS.md)。
|
|
222
|
+
|
|
210
223
|
同一引擎可设计 80 × 55 mm 等自定义标签。`createLabelTemplate({ dataset, rowKey, components })` 声明尺寸和字段绑定;多版使用 `pages`,逐条记录按“份数 → 各版”相邻输出。真实零值和前导零保留,缺字段、文字溢出和超预算明确反馈。设计器提供纸张、边距、页面复制、字段与码图属性,复用毫米画布、吸附、对齐和撤销。
|
|
211
224
|
|
|
212
225
|
```ts
|
|
@@ -519,7 +532,7 @@ Ctrl/Cmd+F 打开或聚焦内容搜索,输入时显示检索状态与命中数
|
|
|
519
532
|
<MachReportPreview report-id="daily" :params="query" :interaction="{ calculations: true }" />
|
|
520
533
|
```
|
|
521
534
|
|
|
522
|
-
|
|
535
|
+
启用后设置自动收起,直接选择报表中的数据。同一字段的选区在底部显示求和、均值和数值数量,150 ms 合并连续操作并取消过期扫描。跨字段选择显示量纲核对提示,从“高级计算”打开侧栏,仍可在旁边调整选区,确认计算方式后运行。侧栏支持求和、平均值、最值、计数、中位数及 `SUM / COUNT` 等受控表达式。取消、切换选区或报表、关闭能力会隔离在途任务与旧结果。
|
|
523
536
|
|
|
524
537
|
仅原始 `number` 参与;文本编号、数字字符串、日期、布尔和空值排除,真实 `0` 保留。合并格只计一次,同一逻辑表跨页去重,重复表头和结构汇总不叠加。计算采用浮点数,展示小数位不改变源值;应选择单位与量纲一致的数据,不安全整数、除零、溢出和超限均返回诊断。结果仅用于本地分析,不落库、不修改 KPI,也不执行或重算 Excel 原公式。
|
|
525
538
|
|
|
@@ -531,6 +544,8 @@ Ctrl/Cmd+F 打开或聚焦内容搜索,输入时显示检索状态与命中数
|
|
|
531
544
|
|
|
532
545
|
查询、校验、排版、资源准备、文件生成提供阶段反馈和取消;PDF / Excel / 图片及 HTML / Word 输出报告真实完成单位,无法估算的编码过程不显示虚假百分比。`report.cancelTask()` 与 `state.task` 复用同一状态;忽略取消的自定义接口或导出器也不能用迟到结果覆盖当前报表。
|
|
533
546
|
|
|
547
|
+
模板中需要随报表输出的统计,直接在设计器“字段 → 总计与小计”选择业务字段、求和 / 均值 / 非空计数和表尾或既有分组尾位置,配置随模板保存并进入正式排版与导出。原始数据由既有取数链路提供。
|
|
548
|
+
|
|
534
549
|
宽表字段目录直接读取模板中的中文列名、多层表头与数据集,支持搜索和跨表精确定位。可选设计器把当前字段的内容、格式与编辑开关集中在首屏,字段目录按需展开并支持搜索、批量对齐与键盘导航;模板信息与高级 JSON 各有独立分区,保留撤销重做和草稿保护,无需使用方再维护一份列目录。
|
|
535
550
|
|
|
536
551
|
大宽表适宽时优先挂载当前页和定位目标,其余页面按帧补齐并显示加载占位;切换或卸载取消旧调度。选区只更新变化的属性,减少大量单元格的属性读写。导出仍使用完整计划,使用方无需维护渲染调度。
|
|
@@ -684,7 +699,7 @@ CI 使用同一套校验命令,并在构建后检查实际发布产物。协
|
|
|
684
699
|
|
|
685
700
|
## 版本与授权
|
|
686
701
|
|
|
687
|
-
当前源码版本为 `2.
|
|
702
|
+
当前源码版本为 `2.20.0`,以 [`packages/mach-report/package.json`](https://github.com/ChenyCHENYU/MachReport/blob/main/packages/mach-report/package.json) 为准;npm 已发布版本由顶部 npm 标识展示。
|
|
688
703
|
|
|
689
704
|
Copyright © 2026 ChenyCHENYU (Agile Team). All rights reserved.
|
|
690
705
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./region-binding-workflow-D05tOYn3.cjs"),M=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),he=require("./designer-Dtsw_rh7.cjs"),ze=require("./useLocalDraft-CioIfDb6.cjs");function Ee(t,h){const u=/^\$\.datasets\[(\d+)\]/.exec(t.path)?.[1];return u!==void 0?h[Number(u)]?.id:h.find(g=>t.path.startsWith(`$.datasets.${g.id}.samples`))?.id}function Ne(t,h){const u=/\.fields\[(\d+)\]/.exec(t)?.[1];return u!==void 0?{control:"field",fieldIndex:Number(u)}:{control:t.split(".").at(-1)||h}}function Ve(t,h,u){const g=/^\$\.recipe\.regions\[(\d+)\]/.exec(t.path)?.[1],v=Ee(t,u),a=g===void 0?h.regions.find(E=>E.dataset===v):h.regions[Number(g)];if(!a)return{control:t.path.endsWith("footerRange")?"footer":"regions",...h.footerRange?{range:h.footerRange}:{}};if(t.path.startsWith("$.datasets"))return{regionId:a.id,range:a.range,control:t.code==="row-key"?"rowKey":"contract"};const w=Ne(t.path,"range"),k=t.code==="row-key"?"rowKey":w.control.startsWith("regions[")?"range":w.control;return{...w,control:k,regionId:a.id,range:a.range}}function Ae(t,h,u){if(t.path.startsWith("$.datasets")){const v=Ee(t,u);return v===void 0?[]:h.regions.filter(a=>a.dataset===v).map(a=>a.id)}const g=Ve(t,h,u).regionId;return g?[g]:[]}function Pe(t,h){const u=/^\$\.recipe\.regions\.(title|header|detail|footer)$/.exec(t.path)?.[1];return u?{control:u,range:h.regions[u]}:t.path.startsWith("$.datasets")?{control:t.code==="row-key"?"rowKey":"contract",range:h.regions.detail}:{...Ne(t.path,"detail"),range:h.regions.detail}}function ie(t){if(t.range)try{const h=_.parseImportRange(t.range);return t.fieldIndex!==void 0&&(h.left=h.right=h.left+t.fieldIndex),h}catch{return}}function We(t,h,u){return h.control==="dataset"?!u.dataset:h.control==="rowKey"?!u.rowKey:h.control==="field"&&h.fieldIndex!==void 0?!u.fields[h.fieldIndex]:!1}const He=["aria-label"],qe={class:"mr-binding-group"},Oe={class:"mr-binding-note"},Je=["title","disabled"],je={class:"mr-binding-region-list",role:"list",tabindex:"-1","data-binding-control":"regions"},Ue=["data-state"],Ge=["aria-pressed","onClick"],Xe=["title"],Qe={class:"mr-binding-region-state"},Ye={key:0},Ze=["aria-label","disabled","onClick"],et=["disabled"],tt={key:0,class:"mr-binding-group"},nt={class:"mr-binding-label",tabindex:"-1"},at=["value","aria-label"],lt={class:"mr-binding-label"},ot=["value","aria-label"],rt={value:"record"},it={value:"repeat"},st={class:"mr-binding-note"},ut={class:"mr-binding-label",tabindex:"-1"},ct=["value","aria-label"],dt={value:""},gt=["value"],mt={key:0,class:"mr-binding-label",tabindex:"-1"},ft=["value","aria-label"],vt={value:""},bt=["value"],pt={class:"mr-binding-region-tools"},yt=["disabled"],ht=["aria-label"],kt={key:1,class:"mr-binding-mappings"},Et={class:"mr-binding-field-search"},Nt=["placeholder","aria-label"],Vt={key:0,class:"mr-binding-note"},wt=["data-binding-control","value","onChange","aria-label"],St={value:""},Bt=["value"],xt={key:0},Dt={key:2,class:"mr-binding-map-pages"},$t=["disabled","aria-label"],Ct=["disabled","aria-label"],Rt={key:3,class:"mr-binding-concurrency"},It=["data-binding-control","value","onChange"],_t={value:""},Mt=["value"],Ft={class:"mr-binding-group",tabindex:"-1","data-binding-control":"footer"},Tt={class:"mr-binding-note"},Kt={class:"mr-binding-region-tools"},Lt=["disabled"],zt=["aria-label"],At=e.defineComponent({__name:"ExcelRegionBindingPanel",props:{controller:{},datasets:{},disabled:{type:Boolean},messages:{}},setup(t){const h=t,u=e.ref(0),g=e.ref(),v=e.ref(""),a=h.controller.active,w=e.computed(()=>h.datasets.find(f=>f.id===a.value?.dataset)),k=e.computed(()=>{if(!a.value)return[];let f=1;try{f=_.parseImportRange(a.value.range).left}catch{}return a.value.fields.slice(u.value*12,u.value*12+12).map((y,r)=>({field:y,index:u.value*12+r,physical:_.columnName(f+u.value*12+r)}))}),E=e.computed(()=>Math.max(1,Math.ceil((a.value?.fields.length??0)/12))),$=e.computed(()=>{const f=v.value.trim().toLocaleLowerCase(),y=w.value?.fields??[],r=y.filter(x=>[x.field,x.label,x.unit].some(H=>H?.toLocaleLowerCase().includes(f))).slice(0,64),V=new Set(k.value.map(x=>x.field));return[...r,...y.filter(x=>V.has(x.field)&&!r.includes(x))]});function L(f){return f.target.value}function U(f){h.controller.setActive(f),u.value=0,v.value=""}e.watch(()=>h.controller.focusTarget.value,async f=>{if(!f)return;u.value=Math.floor((f.target.fieldIndex??0)/12),v.value="",await e.nextTick();const y=f.target.control==="field"?`field-${f.target.fieldIndex}`:f.target.control==="contract"?"dataset":f.target.control,r=g.value?.querySelector(`[data-binding-control="${y}"]`),V=r?.closest("details");V&&(V.open=!0);const x=h.disabled&&r?.matches("input,select,textarea,button")?r.closest("label"):r;x?.focus(),x?.scrollIntoView?.({block:"nearest"})});function G(f){if(!(!a.value||h.disabled)){a.value.range=L(f);try{const y=_.parseImportRange(a.value.range),r=y.right-y.left+1;r<=2048&&(a.value.fields=Array.from({length:r},(V,x)=>a.value.fields[x]??""))}catch{}}}return(f,y)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"panel",ref:g,class:"mr-binding-multi","aria-label":t.messages.multiRegions},[e.createElementVNode("div",qe,[e.createElementVNode("h3",null,[e.createTextVNode(e.toDisplayString(t.messages.multiRegions),1),e.createElementVNode("span",null,e.toDisplayString(t.controller.recipe.value.regions.length)+"/128",1)]),e.createElementVNode("p",Oe,e.toDisplayString(t.messages.multiHint),1),e.createElementVNode("button",{type:"button",class:"mr-binding-add-region",title:t.controller.recipe.value.regions.length>=128?t.messages.limitRegions:t.controller.selection.value?t.messages.addRegion:t.messages.noCellSelection,disabled:t.disabled||!t.controller.selection.value||t.controller.recipe.value.regions.length>=128,onClick:y[0]||(y[0]=(...r)=>t.controller.add&&t.controller.add(...r))},[e.createVNode(M._sfc_main,{name:"grid",size:13}),e.createTextVNode(e.toDisplayString(t.messages.addRegion),1),e.createElementVNode("code",null,e.toDisplayString(t.controller.selection.value||"—"),1)],8,Je),e.createElementVNode("div",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.controller.directory.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r.region.id,class:e.normalizeClass(["mr-binding-region-entry",{"is-active":r.region.id===t.controller.activeId.value}]),"data-state":r.state},[e.createElementVNode("button",{type:"button","aria-pressed":r.region.id===t.controller.activeId.value,onClick:V=>U(r.region.id)},[e.createElementVNode("strong",{title:r.region.id},e.toDisplayString(r.region.id),9,Xe),e.createElementVNode("code",null,e.toDisplayString(r.region.range),1),e.createElementVNode("small",null,e.toDisplayString(r.region.mode==="record"?t.messages.recordMode:t.messages.repeatMode)+" · "+e.toDisplayString(r.region.dataset||t.messages.chooseDataset),1),e.createElementVNode("span",Qe,[e.createTextVNode(e.toDisplayString(r.state==="ready"?t.messages.regionReady:r.state==="pending"?t.messages.regionPending:t.messages.regionError),1),r.issues.length?(e.openBlock(),e.createElementBlock("span",Ye," · "+e.toDisplayString(r.issues.length),1)):e.createCommentVNode("",!0)])],8,Ge),e.createElementVNode("button",{type:"button","aria-label":`${t.messages.removeRegion} ${r.region.id}`,disabled:t.disabled,onClick:V=>t.controller.remove(r.region.id)},[e.createVNode(M._sfc_main,{name:"close",size:12})],8,Ze)],10,Ue))),128))])]),e.createElementVNode("fieldset",{disabled:t.disabled,class:"mr-binding-region-editor"},[e.unref(a)?(e.openBlock(),e.createElementBlock("section",tt,[e.createElementVNode("h3",null,[e.createTextVNode(e.toDisplayString(t.messages.regionProperties),1),e.createElementVNode("code",null,e.toDisplayString(e.unref(a).id),1)]),e.createElementVNode("label",nt,[e.createTextVNode(e.toDisplayString(t.messages.regionCoordinates),1),e.createElementVNode("input",{"data-binding-control":"range",value:e.unref(a).range,"aria-label":t.messages.regionCoordinates,onChange:G},null,40,at)]),e.createElementVNode("label",lt,[e.createTextVNode(e.toDisplayString(t.messages.regionMode),1),e.createElementVNode("select",{value:e.unref(a).mode,"aria-label":t.messages.regionMode,onChange:y[1]||(y[1]=r=>t.controller.property("mode",L(r)))},[e.createElementVNode("option",rt,e.toDisplayString(t.messages.recordMode),1),e.createElementVNode("option",it,e.toDisplayString(t.messages.repeatMode),1)],40,ot)]),e.createElementVNode("p",st,e.toDisplayString(e.unref(a).mode==="record"?t.messages.recordHint:t.messages.repeatHint),1),e.createElementVNode("label",ut,[e.createTextVNode(e.toDisplayString(t.messages.dataset),1),e.createElementVNode("select",{"data-binding-control":"dataset",value:e.unref(a).dataset,"aria-label":t.messages.dataset,onChange:y[2]||(y[2]=r=>t.controller.dataset(L(r)))},[e.createElementVNode("option",dt,e.toDisplayString(t.messages.chooseDataset),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.datasets,r=>(e.openBlock(),e.createElementBlock("option",{key:r.id,value:r.id},e.toDisplayString(r.label||r.id),9,gt))),128))],40,ct)]),w.value?(e.openBlock(),e.createElementBlock("label",mt,[e.createTextVNode(e.toDisplayString(t.messages.rowKey),1),e.createElementVNode("select",{"data-binding-control":"rowKey",value:e.unref(a).rowKey,"aria-label":t.messages.rowKey,onChange:y[3]||(y[3]=r=>t.controller.property("rowKey",L(r)))},[e.createElementVNode("option",vt,e.toDisplayString(t.messages.chooseRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value.fields.filter(r=>r.type!=="boolean"),r=>(e.openBlock(),e.createElementBlock("option",{key:r.field,value:r.field},e.toDisplayString(r.label||r.field),9,bt))),128))],40,ft)])):e.createCommentVNode("",!0),e.createElementVNode("div",pt,[e.createElementVNode("button",{type:"button",disabled:!t.controller.selection.value,onClick:y[4]||(y[4]=(...r)=>t.controller.header&&t.controller.header(...r))},e.toDisplayString(t.messages.bindRegionHeader),9,yt),e.createElementVNode("code",null,e.toDisplayString(e.unref(a).headerRange||t.messages.noRegionHeader),1),e.unref(a).headerRange?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":t.messages.clearHeader,onClick:y[5]||(y[5]=(...r)=>t.controller.clearHeader&&t.controller.clearHeader(...r))},[e.createVNode(M._sfc_main,{name:"close",size:11})],8,ht)):e.createCommentVNode("",!0)]),w.value?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("label",Et,[e.createVNode(M._sfc_main,{name:"search",size:13}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":y[6]||(y[6]=r=>v.value=r),type:"search",placeholder:t.messages.searchFields,"aria-label":t.messages.searchFields},null,8,Nt),[[e.vModelText,v.value]])]),w.value.fields.length>64?(e.openBlock(),e.createElementBlock("small",Vt,e.toDisplayString(t.messages.fieldLimit),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,r=>(e.openBlock(),e.createElementBlock("label",{key:r.index,class:"mr-binding-map",tabindex:"-1"},[e.createElementVNode("span",null,e.toDisplayString(r.physical),1),e.createElementVNode("div",null,[e.createElementVNode("select",{"data-binding-control":`field-${r.index}`,value:e.unref(a).fields[r.index],onChange:V=>t.controller.mapping(r.index,L(V)),"aria-label":`${t.messages.physical} ${r.physical} · ${t.messages.business}`},[e.createElementVNode("option",St,e.toDisplayString(t.messages.chooseField),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,V=>(e.openBlock(),e.createElementBlock("option",{key:V.field,value:V.field},e.toDisplayString(V.label||V.field)+" · "+e.toDisplayString(V.field),9,Bt))),128))],40,wt),r.field?(e.openBlock(),e.createElementBlock("small",xt,e.toDisplayString(w.value.fields.find(V=>V.field===r.field)?.type)+" · "+e.toDisplayString(w.value.fields.find(V=>V.field===r.field)?.unit||"—"),1)):e.createCommentVNode("",!0)])]))),128))])):e.createCommentVNode("",!0),E.value>1?(e.openBlock(),e.createElementBlock("div",Dt,[e.createElementVNode("button",{type:"button",disabled:u.value<=0,"aria-label":t.messages.previousColumns,onClick:y[7]||(y[7]=r=>u.value--)},[e.createVNode(M._sfc_main,{name:"chevron-left",size:13})],8,$t),e.createElementVNode("span",null,e.toDisplayString(u.value+1)+"/"+e.toDisplayString(E.value),1),e.createElementVNode("button",{type:"button",disabled:u.value+1>=E.value,"aria-label":t.messages.nextColumns,onClick:y[8]||(y[8]=r=>u.value++)},[e.createVNode(M._sfc_main,{name:"chevron-right",size:13})],8,Ct)])):e.createCommentVNode("",!0),w.value?(e.openBlock(),e.createElementBlock("details",Rt,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.concurrency),1),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["revisionField","sourceTokenField"],r=>e.createElementVNode("label",{key:r,class:"mr-binding-label",tabindex:"-1"},[e.createTextVNode(e.toDisplayString(r==="revisionField"?t.messages.revisionField:t.messages.sourceTokenField),1),e.createElementVNode("select",{"data-binding-control":r,value:e.unref(a)[r]||"",onChange:V=>t.controller.property(r,L(V))},[e.createElementVNode("option",_t,e.toDisplayString(t.messages.optional),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value.fields,V=>(e.openBlock(),e.createElementBlock("option",{key:V.field,value:V.field},e.toDisplayString(V.label||V.field),9,Mt))),128))],40,It)])),64))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("section",Ft,[e.createElementVNode("h3",null,e.toDisplayString(t.messages.flowFooter),1),e.createElementVNode("p",Tt,e.toDisplayString(t.messages.flowFooterHint),1),e.createElementVNode("div",Kt,[e.createElementVNode("button",{type:"button",disabled:!t.controller.selection.value,onClick:y[9]||(y[9]=(...r)=>t.controller.footer&&t.controller.footer(...r))},e.toDisplayString(t.messages.bindFooter),9,Lt),e.createElementVNode("code",null,e.toDisplayString(t.controller.recipe.value.footerRange||"—"),1),t.controller.recipe.value.footerRange?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":t.messages.clearFooter,onClick:y[10]||(y[10]=(...r)=>t.controller.clearFooter&&t.controller.clearFooter(...r))},[e.createVNode(M._sfc_main,{name:"close",size:11})],8,zt)):e.createCommentVNode("",!0)])])],8,et)],8,He))}});function ke(t=""){return{version:"2.0",sheet:t,regions:[]}}function Pt(t,h,u,g){const v=e.ref(ke()),a=e.ref(""),w=e.ref(),k=e.ref(),E=e.ref(),$=e.computed(()=>!t.value||!k.value||!E.value?"":_.excelBindingCellRange(t.value,h.value,k.value,E.value)),L=e.computed(()=>({...v.value,regions:v.value.regions.map(s=>({...s,fields:[]}))})),U=e.computed(()=>t.value?_.validateExcelRegionGeometry(t.value,L.value):[]),G=e.computed(()=>{const s=_.validateExcelRegionFields(v.value,g()),b=[...U.value,...s.issues];return{...s,ok:!b.length,issues:b}}),f=e.computed(()=>v.value.regions.find(s=>s.id===a.value));function y(s){return Ve(s,v.value,g())}const r=e.computed(()=>{const s=new Map;for(const b of G.value.issues){const I=y(b);for(const d of Ae(b,v.value,g())){const F=s.get(d)??[];F.push({issue:b,target:{...I,regionId:d}}),s.set(d,F)}}return v.value.regions.map(b=>{const I=s.get(b.id)??[],d=I.length?I.every(F=>We(F.issue,F.target,b))?"pending":"error":"ready";return{region:b,state:d,issues:I}})});function V(s=ke(h.value)){v.value=JSON.parse(JSON.stringify(s)),a.value=v.value.regions[0]?.id??"",k.value=void 0,E.value=void 0,w.value=void 0}function x(s){s.regionId&&(a.value=s.regionId);const b=ie(s);b&&(k.value={row:b.top,column:b.left},E.value={row:b.bottom,column:b.right}),w.value={target:s,sequence:(w.value?.sequence??0)+1}}function H(s){x(y(s))}function i(s,b,I){u.value||((!I||!k.value)&&(k.value={row:s,column:b}),E.value={row:s,column:b})}function C(){if(u.value||!$.value||v.value.regions.length>=128)return;let s=1;for(;v.value.regions.some(d=>d.id===`region-${s}`);)s++;const b=`region-${s}`,I=Math.abs(E.value.column-k.value.column)+1;v.value.regions.push({id:b,range:$.value,mode:"repeat",dataset:"",fields:Array.from({length:I},()=>""),rowKey:""}),a.value=b}function J(s){u.value||(v.value.regions=v.value.regions.filter(b=>b.id!==s),a.value===s&&(a.value=v.value.regions[0]?.id??""))}function R(s){!u.value&&f.value&&(f.value.dataset=s,f.value.rowKey="",f.value.fields.fill(""),delete f.value.revisionField,delete f.value.sourceTokenField)}function P(s,b){if(!(u.value||!f.value)){if(s==="mode"){(b==="record"||b==="repeat")&&(f.value.mode=b);return}b||s==="rowKey"?f.value[s]=b:delete f.value[s]}}function N(s,b){!u.value&&f.value&&s>=0&&s<f.value.fields.length&&(f.value.fields[s]=b)}function K(){!u.value&&f.value&&delete f.value.headerRange}function z(){!u.value&&f.value&&$.value&&(f.value.headerRange=$.value)}function A(){!u.value&&$.value&&(v.value.footerRange=$.value)}function T(){u.value||delete v.value.footerRange}function q(s){const b=v.value.regions.find(I=>I.id===s);b&&x({regionId:s,control:"range",range:b.range})}function O(s,b){return!!k.value&&!!E.value&&s>=Math.min(k.value.row,E.value.row)&&s<=Math.max(k.value.row,E.value.row)&&b>=Math.min(k.value.column,E.value.column)&&b<=Math.max(k.value.column,E.value.column)}return{recipe:v,activeId:a,active:f,selection:$,validation:G,directory:r,focusTarget:w,target:y,locate:H,reset:V,select:i,add:C,remove:J,dataset:R,property:P,mapping:N,header:z,clearHeader:K,footer:A,clearFooter:T,setActive:q,selected:O}}function re(t="",h=0){return{version:"1.0",sheet:t,dataset:"",regions:{header:"",detail:""},fields:Array.from({length:h},()=>""),rowKey:""}}function ge(t){return t instanceof Error?t.message:String(t)}function Wt(t,h){const u=e.shallowRef(),g=e.ref(re()),v=e.ref("table"),a=Pt(u,e.computed(()=>g.value.sheet),e.computed(()=>F.value),()=>t.datasets),w=new Map,k=new Map,E=e.ref({table:[],regions:[]});function $(){w.clear(),k.clear(),E.value={table:[],regions:[]}}function L(){g.value.sheet&&(w.set(g.value.sheet,U(g.value)),k.set(g.value.sheet,JSON.parse(JSON.stringify(a.recipe.value))),E.value={table:[...w.values()],regions:[...k.values()]})}const U=l=>JSON.parse(JSON.stringify(l));function G(l,c){return U(w.get(l)??re(l,c))}const f=e.ref({id:t.identity?.id??"excel-template",name:t.identity?.name??"Excel 业务模板"}),y=e.ref(""),r=e.ref(!1),V=()=>({recipe:g.value,regions:a.recipe.value,mode:v.value,cached:E.value,identity:f.value});let x;function H(l){g.value=U(l.recipe),a.reset(l.regions),v.value=l.mode,f.value={...l.identity,...t.lockId&&t.identity?{id:t.identity.id}:{}},$();for(const c of l.cached.table)w.set(c.sheet,c);for(const c of l.cached.regions)k.set(c.sheet,c);E.value=l.cached}const i=e.ref(0),C=ze.useLocalDraft(()=>({source:i.value,recipe:g.value,mode:v.value,regions:a.recipe.value,cached:E.value,identity:f.value})),J=e.ref([]);let R;function P(){R?.dispose(),R=void 0}const N=e.ref(""),K=e.ref(!1),z=e.ref(!1),A=e.ref(!1),T=e.ref(!1),q=e.ref(1),O=e.ref(1),s=e.ref(),b=e.ref(),I=e.ref(0),d=e.computed(()=>({...he.EXCEL_BINDING_MESSAGES,...t.messages})),F=e.computed(()=>!!t.readonly||K.value||T.value),te=e.computed(()=>!K.value&&!T.value),X=e.computed(()=>u.value?.sheets.find(l=>l.name===g.value.sheet)),D=e.computed(()=>X.value?_.parseImportRange(X.value.range):void 0),se=e.computed(()=>t.datasets.find(l=>l.id===g.value.dataset)),me=e.computed(()=>u.value&&X.value?_.getExcelSheetWindow(u.value,X.value.name,{row:q.value,column:O.value}):void 0),fe=e.computed(()=>u.value?_.validateExcelBindingRegions(u.value,g.value):[]),ve=e.computed(()=>{if(!u.value)return{ok:!1,issues:[],mapped:0,total:0};const l=_.validateExcelBindingFields(u.value,g.value,t.datasets),c=[...fe.value,...l.issues];return{...l,ok:c.length===0,issues:c}}),Y=e.computed(()=>v.value==="regions"?a.validation.value:ve.value),ae=e.ref(),le=e.computed(()=>v.value==="regions"?a.focusTarget.value:ae.value);function m(l){return v.value==="regions"?a.target(l):Pe(l,g.value)}function o(l){const c={dataset:d.value.dataset,contract:d.value.dataContract,rowKey:d.value.rowKey,range:d.value.regionCoordinates,field:d.value.mapping,fields:d.value.mapping,footer:d.value.flowFooter,header:d.value.headerRegion,detail:d.value.detailRegion,title:d.value.titleRegion,sheet:d.value.sheet,regions:v.value==="regions"?d.value.multiRegions:d.value.regionLegend,revisionField:d.value.revisionField,sourceTokenField:d.value.sourceTokenField},S=ie(l),B=l.fieldIndex===void 0?"":` ${_.columnName(S?.left??l.fieldIndex+1)}`;return`${l.regionId?`${l.regionId} · `:""}${c[l.control]??d.value.regionCoordinates}${B}`}const n=e.computed(()=>Y.value.issues.map(l=>({issue:l,label:o(m(l)),message:l.message.replace(/\$\.recipe\.regions\[(\d+)\]/g,(c,S)=>a.recipe.value.regions[Number(S)]?.id??d.value.regionProperties)})));function p(l){return l?{dataset:d.value.nextDataset,rowKey:d.value.nextRowKey,field:d.value.nextField,fields:d.value.nextField,range:d.value.nextRange,regions:d.value.nextRegion,footer:d.value.nextFooter,header:d.value.nextHeader,detail:d.value.nextHeader,title:d.value.nextHeader}[l.control]??d.value.nextContract:v.value==="regions"?d.value.nextRegion:d.value.nextHeader}const W=e.computed(()=>t.readonly?d.value.readonly:K.value?d.value.loading:T.value?d.value.applying:A.value?d.value.applied:Y.value.ok?d.value.ready:p(Y.value.issues[0]?m(Y.value.issues[0]):void 0));e.watch(le,l=>{const c=l&&ie(l.target);!c||!D.value||(q.value=Math.max(D.value.top,Math.min(D.value.bottom,c.top)),O.value=Math.max(D.value.left,Math.min(D.value.right,c.left)))});function ue(l){if(v.value==="regions"){a.locate(l);return}const c=m(l),S=ie(c);S&&(s.value=S.top,b.value=S.bottom),c.fieldIndex!==void 0&&(I.value=Math.floor(c.fieldIndex/12)),ae.value={target:c,sequence:(ae.value?.sequence??0)+1}}const ce=e.computed(()=>g.value.fields.slice(I.value*12,(I.value+1)*12).map((l,c)=>({index:I.value*12+c,field:l,physical:_.columnName((D.value?.left??1)+I.value*12+c)}))),we=e.computed(()=>se.value?.fields.filter(l=>l.type!=="boolean")??[]),de=e.computed(()=>s.value!==void 0&&b.value!==void 0?{top:Math.min(s.value,b.value),bottom:Math.max(s.value,b.value)}:void 0);let Q,j=0;function Z(){j++,Q?.abort(),Q=void 0,K.value=!1}function oe(){q.value=D.value?.top??1,O.value=D.value?.left??1,s.value=void 0,b.value=void 0,I.value=0,z.value=!1,A.value=!1}function pe(l){Z();try{const c=l.version==="2.0"?_.parseExcelRegionBindingSession(l):_.parseExcelBindingSession(l);Z(),P(),J.value=c.source.sheets.map(S=>({name:S.name,index:S.index})),u.value=c.source,$(),c.version==="2.0"?(g.value=re(c.recipe.sheet,c.source.sheets.find(S=>S.name===c.recipe.sheet).columnCount),a.reset(c.recipe),v.value="regions"):(g.value=c.recipe,a.reset(),v.value="table"),f.value={...c.identity,...t.lockId&&t.identity?{id:t.identity.id}:{}},y.value=c.recipe.sheet,N.value="",oe(),i.value++,C.accept()}catch(c){N.value=ge(c)}}e.watch(()=>t.session,l=>{l&&pe(l)},{immediate:!0}),e.watch(()=>t.readonly,l=>{l&&(Z(),P())}),e.watch([g,f,v,a.recipe],()=>{z.value=!1,A.value=!1},{deep:!0,flush:"sync"}),e.watch(()=>t.datasets,()=>{z.value=!1,A.value=!1}),e.onBeforeUnmount(()=>{Z(),P()});async function Se(l){if(t.readonly)return;if(Z(),!/\.xlsx$/i.test(l.name)){N.value=d.value.invalidFile;return}const c=++j;Q=new AbortController,K.value=!0,N.value="";let S;try{const{openExcelWorkbook:B}=await Promise.resolve().then(()=>require("./workbook-session-B94EwVa_.cjs")).then(ee=>ee.workbookSession);if(c!==j||t.readonly||(S=await B(l,{...t.importOptions,signal:Q.signal}),c!==j||t.readonly))return;const ne=S.inspect().sheets.filter(ee=>ee.visible);if(!ne.length)throw new Error("Excel 中没有可导入的可见工作表");const ye=x?.recipe.sheet||ne[0].name;if(!ne.some(ee=>ee.name===ye))throw new Error(d.value.recoveredSheetMissing);const be=await S.importTemplate({sheets:[ye],signal:Q.signal});if(c!==j||t.readonly)return;P(),R=S,S=void 0,u.value=be,i.value++,y.value=l.name,J.value=ne.map(ee=>({name:ee.name,index:ee.index})),$(),g.value=re(be.sheets[0].name,be.sheets[0].columnCount),a.reset(),x&&(H(x),x=void 0,r.value=!1),oe()}catch(B){c===j&&(N.value=ge(B))}finally{S?.dispose(),c===j&&(K.value=!1,Q=void 0)}}async function Be(l){if(F.value||!J.value.some(B=>B.name===l)||g.value.sheet===l)return;L();const c=u.value?.sheets.find(B=>B.name===l);if(c){g.value=G(l,c.columnCount),a.reset(k.get(l)),N.value="",oe();return}if(!R||R.disposed)return;Z();const S=++j;Q=new AbortController,K.value=!0,N.value="";try{const B=await R.importTemplate({sheets:[l],signal:Q.signal});if(S!==j||t.readonly)return;u.value=B,g.value=G(l,B.sheets[0].columnCount),a.reset(k.get(l)),oe()}catch(B){S===j&&(N.value=ge(B))}finally{S===j&&(K.value=!1,Q=void 0)}}function xe(l){F.value||(g.value.dataset=l,g.value.rowKey="",g.value.fields.fill(""),z.value=!1,A.value=!1)}function De(l,c){F.value||!D.value||l<D.value.top||l>D.value.bottom||((!c||s.value===void 0)&&(s.value=l),b.value=l)}function $e(l){if(F.value||!u.value||!de.value){F.value||(N.value=d.value.emptySelection);return}g.value.regions[l]=_.excelBindingRowRange(u.value,g.value.sheet,de.value.top,de.value.bottom),z.value=!1,A.value=!1,N.value=""}function Ce(l){F.value||(delete g.value.regions[l],z.value=!1,A.value=!1)}function Re(l,c){!F.value&&l>=0&&l<g.value.fields.length&&(g.value.fields[l]=c,z.value=!1,A.value=!1)}function Ie(l){F.value||(g.value.rowKey=l)}function _e(l,c){!F.value&&!(l==="id"&&t.lockId)&&(f.value[l]=c)}function Me(l){for(const c of["title","header","detail","footer"]){const S=g.value.regions[c];if(!S)continue;const B=_.parseImportRange(S);if(l>=B.top&&l<=B.bottom)return c}}function Fe(l,c){D.value&&(l==="row"?q.value=Math.max(D.value.top,Math.min(D.value.bottom,q.value+c)):O.value=Math.max(D.value.left,Math.min(D.value.right,O.value+c)))}function Te(){if(!t.readonly){if(t.session){pe(t.session);return}x=void 0,r.value=!1,Z(),P(),u.value=void 0,J.value=[],y.value="",$(),g.value=re(),f.value={id:t.identity?.id??"excel-template",name:t.identity?.name??"Excel 业务模板"},a.reset(),v.value="table",oe(),i.value++,C.accept(),N.value=""}}function Ke(){te.value&&(z.value=!0,N.value="")}async function Le(){if(!(F.value||!u.value||r.value)&&(z.value=!0,N.value="",!!Y.value.ok)){T.value=!0;try{const l={...f.value,...t.lockId&&t.identity?{id:t.identity.id}:{}},c=v.value==="regions"?_.createExcelRegionBindingDocument(u.value,a.recipe.value,t.datasets,l):_.createExcelBindingDocument(u.value,g.value,t.datasets,l),S=v.value==="regions"?_.createExcelRegionBindingSession(u.value,a.recipe.value,l):_.createExcelBindingSession(u.value,g.value,l),B={...c,session:S},ne=C.snapshot();if(t.accept&&!await t.accept(B)||t.readonly||ne!==C.snapshot()&&C.pending.value)return;t.accept||h(B),$(),C.accept(),A.value=!0}catch(l){N.value=ge(l)}finally{T.value=!1}}}return he.useTemplateToolDraft({key:()=>"excel",baseline:()=>"declarations-only",pending:()=>C.pending.value||r.value,snapshot:()=>JSON.stringify(V()),restore(l,c,S){const B=JSON.parse(l);if(!B.recipe||!B.regions||!Array.isArray(B.cached?.table)||!Array.isArray(B.cached?.regions))throw new Error("Invalid Excel mapping draft");H(B),r.value=S?.pending!==!1,x=r.value?B:void 0,r.value||C.accept()}}),{recoveredMapping:r,imported:u,mode:v,regionBindings:a,pendingLocalChanges:e.computed(()=>C.pending.value||r.value),recipe:g,identity:f,sourceName:y,sheetChoices:J,error:N,loading:K,checked:z,applied:A,row:q,column:O,mappingPage:I,m:d,disabled:F,canCheck:te,sheet:X,sourceRange:D,dataset:se,window:me,validation:Y,focusTarget:le,issueEntries:n,guidance:W,locateIssue:ue,mappings:ce,rowKeys:we,selection:de,cancel:Z,importFile:Se,chooseSheet:Be,chooseDataset:xe,chooseRow:De,markRegion:$e,clearRegion:Ce,setMapping:Re,setRowKey:Ie,setIdentity:_e,regionAt:Me,moveWindow:Fe,check:Ke,restoreDraft:Te,apply:Le}}const Ht=["aria-label","aria-busy"],qt={key:0,role:"status",class:"mr-binding-recovery"},Ot={class:"mr-binding-bar"},Jt={class:"mr-binding-heading"},jt=["aria-label","disabled"],Ut=["disabled"],Gt={key:1,class:"mr-binding-error",role:"alert"},Xt={key:2,class:"mr-binding-placeholder",role:"status"},Qt={key:3,class:"mr-binding-placeholder"},Yt=["disabled"],Zt={class:"mr-binding-sourcebar"},en=["value","aria-label","disabled"],tn=["value"],nn=["aria-label"],an=["aria-pressed","disabled"],ln=["aria-pressed","disabled"],on={class:"mr-binding-range"},rn={class:"mr-binding-sample-note"},sn={class:"mr-binding-layout"},un={class:"mr-binding-source"},cn={class:"mr-binding-grid-heading"},dn=["aria-label"],gn={class:"mr-binding-grid"},mn=["data-region"],fn={scope:"row"},vn=["data-source-row","aria-label","aria-pressed","disabled","onPointerdown","onPointerenter","onKeydown"],bn=["rowspan","colspan","title","data-source-cell","tabindex","aria-label","aria-selected","onPointerdown","onPointerenter","onKeydown"],pn={key:1,class:"mr-binding-grid-footer"},yn={class:"mr-binding-window"},hn=["aria-label","disabled"],kn=["min","max","value","aria-label"],En=["aria-label","disabled"],Nn={class:"mr-binding-window"},Vn=["aria-label","disabled"],wn=["min","max","value","aria-label"],Sn=["aria-label","disabled"],Bn={class:"mr-binding-inspector"},xn=["disabled"],Dn={class:"mr-binding-group"},$n=["data-role"],Cn={key:0},Rn=["aria-label","data-binding-control","title","disabled","onClick"],In=["aria-label","onClick"],_n={key:0,class:"mr-binding-note"},Mn={class:"mr-binding-group"},Fn={class:"mr-binding-label",tabindex:"-1"},Tn=["value","aria-label"],Kn={value:""},Ln=["value"],zn={key:0,class:"mr-binding-note"},An={key:1,class:"mr-binding-label",tabindex:"-1"},Pn=["value","aria-label"],Wn={value:""},Hn=["value"],qn={key:2,class:"mr-binding-mappings"},On=["data-binding-control","aria-label","value","onChange"],Jn={value:""},jn=["value"],Un={key:0},Gn={key:3,class:"mr-binding-map-pages"},Xn=["disabled","aria-label"],Qn=["disabled","aria-label"],Yn=["disabled"],Zn={class:"mr-binding-group"},ea={class:"mr-binding-label"},ta=["value","readonly"],na={class:"mr-binding-label"},aa=["value"],la={key:0,class:"mr-binding-issues",open:""},oa=["aria-label","onClick"],ra={key:0,class:"mr-binding-issue-pages"},ia=["disabled","aria-label"],sa=["disabled","aria-label"],ua={key:1,class:"mr-binding-warnings"},ca={class:"mr-binding-actions"},da=["title"],ga=["disabled"],ma=["disabled"],fa=["disabled","title"],va=e.defineComponent({__name:"ExcelBindingWizard",props:{datasets:{},accept:{type:Function},session:{},identity:{},lockId:{type:Boolean},readonly:{type:Boolean},importOptions:{},messages:{}},emits:["apply","dirty"],setup(t,{expose:h,emit:u}){const g=t,v=u,a=Wt(g,m=>v("apply",m)),{imported:w,mode:k,regionBindings:E,recipe:$,identity:L,sourceName:U,sheetChoices:G,error:f,loading:y,checked:r,row:V,column:x,mappingPage:H,m:i,disabled:C,sheet:J,sourceRange:R,dataset:P,window:N,validation:K,mappings:z,rowKeys:A,selection:T}=a;e.watch([a.pendingLocalChanges,$,L],()=>v("dirty",a.pendingLocalChanges.value),{immediate:!0,deep:!0,flush:"sync"});const q=e.ref(),O=e.ref(),s=e.ref(0),b=e.computed(()=>Math.max(1,Math.ceil(a.issueEntries.value.length/12))),I=e.computed(()=>a.issueEntries.value.slice(s.value*12,(s.value+1)*12));e.watch(b,m=>{s.value=Math.min(s.value,m-1)}),e.watch(a.focusTarget,async m=>{if(!m)return;await e.nextTick();const o=ie(m.target);if(o&&O.value?.querySelector(`td[data-source-cell="${o.top}:${o.left}"]`)?.scrollIntoView?.({block:"nearest",inline:"nearest"}),k.value==="regions")return;const n=m.target.control==="field"?`field-${m.target.fieldIndex}`:m.target.control==="contract"?"dataset":m.target.control,p=O.value?.querySelector(`.mr-binding-table-editor [data-binding-control="${n}"]`),W=C.value?p?.closest("label"):p;W?.focus(),W?.scrollIntoView?.({block:"nearest"})});const d=e.ref(!1),F=["title","header","detail","footer"],te=e.computed(()=>({title:i.value.titleRegion,header:i.value.headerRegion,detail:i.value.detailRegion,footer:i.value.footerRegion})),X=e.computed(()=>Math.max(1,Math.ceil($.value.fields.length/12)));function D(m){return m.target.value}function se(m){const o=m.target,n=o.files?.[0];n&&a.importFile(n),o.value=""}function me(m,o){m.button!==0||C.value||(m.preventDefault(),d.value=!0,a.chooseRow(o,m.shiftKey),k.value==="regions"&&R.value&&(E.select(o,R.value.left,!1),E.select(o,R.value.right,!0)),m.currentTarget.focus())}function fe(m,o,n){k.value!=="regions"||m.button!==0||C.value||(m.preventDefault(),d.value=!0,E.select(o,n,m.shiftKey),m.currentTarget.focus())}function ve(m,o,n){if(k.value!=="regions")return;(m.key===" "||m.key==="Enter")&&(m.preventDefault(),E.select(o,n,m.shiftKey));const W={ArrowUp:[-1,0],ArrowDown:[1,0],ArrowLeft:[0,-1],ArrowRight:[0,1]}[m.key];if(!W||!R.value)return;m.preventDefault();const ue=Math.max(R.value.top,Math.min(R.value.bottom,o+W[0])),ce=Math.max(R.value.left,Math.min(R.value.right,n+W[1]));m.shiftKey&&E.select(ue,ce,!0),m.currentTarget.closest("table")?.querySelector(`td[data-source-cell="${ue}:${ce}"]`)?.focus()}function Y(m,o){if((m.key===" "||m.key==="Enter")&&(m.preventDefault(),a.chooseRow(o,m.shiftKey)),m.key==="ArrowDown"||m.key==="ArrowUp"){m.preventDefault();const n=o+(m.key==="ArrowDown"?1:-1);m.shiftKey&&a.chooseRow(n,!0),m.currentTarget.closest("table")?.querySelector(`button[data-source-row="${n}"]`)?.focus()}}function ae(m){const o=P.value?.fields.find(n=>n.field===m);return o?[o.type,o.unit,o.digits===void 0?void 0:`${o.digits}${i.value.precision}`,o.sample===void 0?void 0:`${i.value.sample}: ${String(o.sample)}`].filter(n=>n!==void 0&&n!=="").join(" · "):""}function le(m,o){const n=Number(D(m));!Number.isInteger(n)||!R.value||(o==="row"?V.value=Math.max(R.value.top,Math.min(R.value.bottom,n)):x.value=Math.max(R.value.left,Math.min(R.value.right,n)))}return h({get pendingLocalChanges(){return a.pendingLocalChanges.value},importFile:a.importFile,apply:a.apply,cancel:a.cancel}),(m,o)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"element",ref:O,class:"mr-binding","aria-label":e.unref(i).title,"aria-busy":e.unref(y),onPointerup:o[23]||(o[23]=n=>d.value=!1),onPointercancel:o[24]||(o[24]=n=>d.value=!1),onPointerleave:o[25]||(o[25]=n=>d.value=!1)},[e.unref(a).recoveredMapping.value?(e.openBlock(),e.createElementBlock("p",qt,e.toDisplayString(e.unref(i).recoveredMapping),1)):e.createCommentVNode("",!0),e.createElementVNode("header",Ot,[e.createElementVNode("div",Jt,[e.createVNode(M._sfc_main,{name:"file",size:17}),e.createElementVNode("strong",null,e.toDisplayString(e.unref(i).title),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(U)||e.unref(i).intro),1)]),e.createElementVNode("input",{ref_key:"input",ref:q,type:"file",accept:".xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","aria-label":e.unref(i).upload,class:"mr-binding-file",disabled:t.readonly,onChange:se},null,40,jt),e.unref(y)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:o[0]||(o[0]=(...n)=>e.unref(a).cancel&&e.unref(a).cancel(...n))},e.toDisplayString(e.unref(i).cancel),1)):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:t.readonly,onClick:o[1]||(o[1]=n=>q.value?.click())},[e.createVNode(M._sfc_main,{name:"upload",size:14}),e.createTextVNode(e.toDisplayString(e.unref(w)?e.unref(i).replace:e.unref(i).upload),1)],8,Ut))]),e.unref(f)?(e.openBlock(),e.createElementBlock("div",Gt,e.toDisplayString(e.unref(f)),1)):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("div",Xt,[o[26]||(o[26]=e.createElementVNode("span",{class:"mr-binding-loader"},null,-1)),e.createTextVNode(e.toDisplayString(e.unref(i).loading),1)])):e.unref(w)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("div",Zt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).sheet),1),e.createElementVNode("select",{value:e.unref($).sheet,"aria-label":e.unref(i).sheet,disabled:e.unref(C),onChange:o[3]||(o[3]=n=>e.unref(a).chooseSheet(D(n)))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(G),n=>(e.openBlock(),e.createElementBlock("option",{key:n.name,value:n.name},e.toDisplayString(n.name),9,tn))),128))],40,en)]),e.createElementVNode("div",{class:"mr-binding-mode",role:"group","aria-label":e.unref(i).regionMode},[e.createElementVNode("button",{type:"button","aria-pressed":e.unref(k)==="table",disabled:e.unref(C),onClick:o[4]||(o[4]=n=>k.value="table")},e.toDisplayString(e.unref(i).tableMode),9,an),e.createElementVNode("button",{type:"button","aria-pressed":e.unref(k)==="regions",disabled:e.unref(C),onClick:o[5]||(o[5]=n=>k.value="regions")},[e.createVNode(M._sfc_main,{name:"grid",size:12}),e.createTextVNode(e.toDisplayString(e.unref(i).multiRegions),1)],8,ln)],8,nn),e.createElementVNode("span",on,e.toDisplayString(e.unref(J)?.range)+" · "+e.toDisplayString(e.unref(J)?.rowCount)+" × "+e.toDisplayString(e.unref(J)?.columnCount),1),e.createElementVNode("span",rn,e.toDisplayString(e.unref(i).sourceOnly),1)]),e.createElementVNode("div",sn,[e.createElementVNode("div",un,[e.createElementVNode("div",cn,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(i).source),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(k)==="regions"?e.unref(i).multiHint:e.unref(i).sourceHint),1)]),e.unref(N)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"mr-binding-grid-scroll","aria-label":e.unref(i).source},[e.createElementVNode("table",gn,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[o[28]||(o[28]=e.createElementVNode("th",{class:"mr-binding-corner","aria-label":"#"},"#",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(N).columns,n=>(e.openBlock(),e.createElementBlock("th",{key:n.column,scope:"col"},e.toDisplayString(n.name),1))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(N).rows,n=>(e.openBlock(),e.createElementBlock("tr",{key:n.row,"data-region":e.unref(a).regionAt(n.row),class:e.normalizeClass({"is-selected":e.unref(T)&&n.row>=e.unref(T).top&&n.row<=e.unref(T).bottom})},[e.createElementVNode("th",fn,[e.createElementVNode("button",{type:"button","data-source-row":n.row,"aria-label":`${e.unref(i).selectionLabel} ${n.row}`,"aria-pressed":!!e.unref(T)&&n.row>=e.unref(T).top&&n.row<=e.unref(T).bottom,disabled:e.unref(C),onPointerdown:p=>me(p,n.row),onPointerenter:p=>d.value&&e.unref(a).chooseRow(n.row,!0),onKeydown:p=>Y(p,n.row)},e.toDisplayString(n.row),41,vn)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.cells,p=>(e.openBlock(),e.createElementBlock("td",{key:p.column,rowspan:p.rowSpan,colspan:p.colSpan,title:`${p.address} · ${p.text}`,"data-source-cell":`${p.row}:${p.column}`,tabindex:e.unref(k)==="regions"?0:void 0,"aria-label":e.unref(k)==="regions"?`${e.unref(i).selectionCellLabel} ${p.address}`:void 0,"aria-selected":e.unref(k)==="regions"?e.unref(E).selected(p.row,p.column):void 0,class:e.normalizeClass({"is-continued":p.continued,"is-cell-selected":e.unref(k)==="regions"&&e.unref(E).selected(p.row,p.column)}),onPointerdown:W=>fe(W,p.row,p.column),onPointerenter:W=>e.unref(k)==="regions"&&d.value&&e.unref(E).select(p.row,p.column,!0),onKeydown:W=>ve(W,p.row,p.column),style:e.normalizeStyle({textAlign:p.style?.align,fontWeight:p.style?.bold?"600":void 0})},[e.createElementVNode("span",null,e.toDisplayString(p.text),1)],46,bn))),128))],10,mn))),128))])])],8,dn)):e.createCommentVNode("",!0),e.unref(N)?(e.openBlock(),e.createElementBlock("footer",pn,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(i).selected)+" ",1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(k)==="regions"?e.unref(E).selection.value||"—":e.unref(T)?`${e.unref(T).top}–${e.unref(T).bottom}`:"—"),1)]),e.createElementVNode("div",yn,[e.createElementVNode("button",{type:"button","aria-label":e.unref(i).previousRows,disabled:e.unref(N).top<=e.unref(N).source.top,onClick:o[6]||(o[6]=n=>e.unref(a).moveWindow("row",-24))},[e.createVNode(M._sfc_main,{name:"chevron-left",size:13})],8,hn),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).rowStart),1),e.createElementVNode("input",{type:"number",min:e.unref(N).source.top,max:e.unref(N).source.bottom,value:e.unref(V),"aria-label":e.unref(i).rowStart,onChange:o[7]||(o[7]=n=>le(n,"row"))},null,40,kn)]),e.createElementVNode("button",{type:"button","aria-label":e.unref(i).nextRows,disabled:e.unref(N).bottom>=e.unref(N).source.bottom,onClick:o[8]||(o[8]=n=>e.unref(a).moveWindow("row",24))},[e.createVNode(M._sfc_main,{name:"chevron-right",size:13})],8,En)]),e.createElementVNode("div",Nn,[e.createElementVNode("button",{type:"button","aria-label":e.unref(i).previousColumns,disabled:e.unref(N).left<=e.unref(N).source.left,onClick:o[9]||(o[9]=n=>e.unref(a).moveWindow("column",-12))},[e.createVNode(M._sfc_main,{name:"chevron-left",size:13})],8,Vn),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).columnStart),1),e.createElementVNode("input",{type:"number",min:e.unref(N).source.left,max:e.unref(N).source.right,value:e.unref(x),"aria-label":e.unref(i).columnStart,onChange:o[10]||(o[10]=n=>le(n,"column"))},null,40,wn)]),e.createElementVNode("button",{type:"button","aria-label":e.unref(i).nextColumns,disabled:e.unref(N).right>=e.unref(N).source.right,onClick:o[11]||(o[11]=n=>e.unref(a).moveWindow("column",12))},[e.createVNode(M._sfc_main,{name:"chevron-right",size:13})],8,Sn)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Bn,[e.unref(k)==="regions"?(e.openBlock(),e.createBlock(At,{key:0,controller:e.unref(E),datasets:t.datasets,disabled:e.unref(C),messages:e.unref(i)},null,8,["controller","datasets","disabled","messages"])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("fieldset",{disabled:e.unref(C),class:"mr-binding-table-editor"},[e.createElementVNode("section",Dn,[e.createElementVNode("h3",null,[o[29]||(o[29]=e.createElementVNode("b",null,"1",-1)),e.createTextVNode(e.toDisplayString(e.unref(i).regionLegend),1)]),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(F,n=>e.createElementVNode("div",{key:n,class:"mr-binding-region","data-role":n},[e.createElementVNode("div",null,[e.createElementVNode("strong",null,[e.createTextVNode(e.toDisplayString(te.value[n]),1),n==="title"||n==="footer"?(e.openBlock(),e.createElementBlock("small",Cn,e.toDisplayString(e.unref(i).optional),1)):e.createCommentVNode("",!0)]),e.createElementVNode("code",null,e.toDisplayString(e.unref($).regions[n]||e.unref(i).unnamed),1)]),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(i).selectRegion} · ${te.value[n]}`,"data-binding-control":n,title:e.unref(T)?`${e.unref(i).selectRegion} · ${te.value[n]}`:e.unref(i).emptySelection,disabled:!e.unref(T),onClick:p=>e.unref(a).markRegion(n)},[e.createVNode(M._sfc_main,{name:"arrow-right",size:13})],8,Rn),(n==="title"||n==="footer")&&e.unref($).regions[n]?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":`${e.unref(i).clear} · ${te.value[n]}`,onClick:p=>e.unref(a).clearRegion(n)},[e.createVNode(M._sfc_main,{name:"close",size:13})],8,In)):e.createCommentVNode("",!0)],8,$n)),64)),e.unref($).regions.footer?(e.openBlock(),e.createElementBlock("p",_n,e.toDisplayString(e.unref(i).footerHint),1)):e.createCommentVNode("",!0)]),e.createElementVNode("section",Mn,[e.createElementVNode("h3",null,[o[30]||(o[30]=e.createElementVNode("b",null,"2",-1)),e.createTextVNode(e.toDisplayString(e.unref(i).mapping),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(K).mapped)+"/"+e.toDisplayString(e.unref(K).total),1)]),e.createElementVNode("label",Fn,[e.createTextVNode(e.toDisplayString(e.unref(i).dataset),1),e.createElementVNode("select",{"data-binding-control":"dataset",value:e.unref($).dataset,"aria-label":e.unref(i).dataset,onChange:o[12]||(o[12]=n=>e.unref(a).chooseDataset(D(n)))},[e.createElementVNode("option",Kn,e.toDisplayString(e.unref(i).chooseDataset),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.datasets,n=>(e.openBlock(),e.createElementBlock("option",{key:n.id,value:n.id},e.toDisplayString(n.label||n.id),9,Ln))),128))],40,Tn)]),t.datasets.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",zn,e.toDisplayString(e.unref(i).noContract),1)),e.unref(P)?(e.openBlock(),e.createElementBlock("label",An,[e.createTextVNode(e.toDisplayString(e.unref(i).rowKey),1),e.createElementVNode("select",{"data-binding-control":"rowKey",value:e.unref($).rowKey,"aria-label":e.unref(i).rowKey,onChange:o[13]||(o[13]=n=>e.unref(a).setRowKey(D(n)))},[e.createElementVNode("option",Wn,e.toDisplayString(e.unref(i).chooseRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(A),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label||n.field)+" · "+e.toDisplayString(n.field),9,Hn))),128))],40,Pn)])):e.createCommentVNode("",!0),e.unref(P)?(e.openBlock(),e.createElementBlock("div",qn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(z),n=>(e.openBlock(),e.createElementBlock("label",{key:n.index,class:"mr-binding-map",tabindex:"-1"},[e.createElementVNode("span",null,e.toDisplayString(n.physical),1),e.createElementVNode("div",null,[e.createElementVNode("select",{"data-binding-control":`field-${n.index}`,"aria-label":`${e.unref(i).physical} ${n.physical} · ${e.unref(i).business}`,value:n.field,onChange:p=>e.unref(a).setMapping(n.index,D(p))},[e.createElementVNode("option",Jn,e.toDisplayString(e.unref(i).chooseField),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(P).fields,p=>(e.openBlock(),e.createElementBlock("option",{key:p.field,value:p.field},e.toDisplayString(p.label||p.field)+" · "+e.toDisplayString(p.field),9,jn))),128))],40,On),n.field?(e.openBlock(),e.createElementBlock("small",Un,e.toDisplayString(ae(n.field)),1)):e.createCommentVNode("",!0)])]))),128))])):e.createCommentVNode("",!0),e.unref(P)&&X.value>1?(e.openBlock(),e.createElementBlock("div",Gn,[e.createElementVNode("button",{type:"button",disabled:e.unref(H)<=0,"aria-label":e.unref(i).previousColumns,onClick:o[14]||(o[14]=n=>H.value--)},[e.createVNode(M._sfc_main,{name:"chevron-left",size:13})],8,Xn),e.createElementVNode("span",null,e.toDisplayString(e.unref(H)+1)+" / "+e.toDisplayString(X.value),1),e.createElementVNode("button",{type:"button",disabled:e.unref(H)+1>=X.value,"aria-label":e.unref(i).nextColumns,onClick:o[15]||(o[15]=n=>H.value++)},[e.createVNode(M._sfc_main,{name:"chevron-right",size:13})],8,Qn)])):e.createCommentVNode("",!0)])],8,xn),[[e.vShow,e.unref(k)==="table"]]),e.createElementVNode("fieldset",{disabled:e.unref(C)},[e.createElementVNode("section",Zn,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(i).identity),1),e.createElementVNode("label",ea,[e.createTextVNode(e.toDisplayString(e.unref(i).templateId),1),e.createElementVNode("input",{value:t.lockId?g.identity?.id??e.unref(L).id:e.unref(L).id,autocomplete:"off",readonly:t.lockId,onInput:o[16]||(o[16]=n=>e.unref(a).setIdentity("id",D(n)))},null,40,ta)]),e.createElementVNode("label",na,[e.createTextVNode(e.toDisplayString(e.unref(i).templateName),1),e.createElementVNode("input",{value:e.unref(L).name,autocomplete:"off",onInput:o[17]||(o[17]=n=>e.unref(a).setIdentity("name",D(n)))},null,40,aa)])])],8,Yn)])]),e.unref(r)&&e.unref(K).issues.length?(e.openBlock(),e.createElementBlock("details",la,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(i).issues)+" · "+e.toDisplayString(e.unref(K).issues.length)+" "+e.toDisplayString(e.unref(i).errors),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,n=>(e.openBlock(),e.createElementBlock("li",{key:`${n.issue.path}:${n.issue.message}`},[e.createElementVNode("button",{type:"button",class:"mr-binding-issue-link","aria-label":`${e.unref(i).locateIssue} · ${n.label}`,onClick:p=>e.unref(a).locateIssue(n.issue)},[e.createElementVNode("strong",null,e.toDisplayString(n.label),1),e.createElementVNode("span",null,e.toDisplayString(n.message),1),e.createVNode(M._sfc_main,{name:"arrow-right",size:12})],8,oa)]))),128))]),b.value>1?(e.openBlock(),e.createElementBlock("div",ra,[e.createElementVNode("button",{type:"button",disabled:s.value===0,"aria-label":e.unref(i).previousIssues,onClick:o[18]||(o[18]=n=>s.value--)},[e.createVNode(M._sfc_main,{name:"chevron-left",size:12})],8,ia),e.createElementVNode("span",null,e.toDisplayString(s.value+1)+"/"+e.toDisplayString(b.value),1),e.createElementVNode("button",{type:"button",disabled:s.value+1>=b.value,"aria-label":e.unref(i).nextIssues,onClick:o[19]||(o[19]=n=>s.value++)},[e.createVNode(M._sfc_main,{name:"chevron-right",size:12})],8,sa)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(w).warnings.length?(e.openBlock(),e.createElementBlock("details",ua,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(i).inspectWarning)+" · "+e.toDisplayString(e.unref(w).warnings.length),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w).warnings,(n,p)=>(e.openBlock(),e.createElementBlock("li",{key:p},e.toDisplayString(n),1))),128))])])):e.createCommentVNode("",!0),e.createElementVNode("footer",ca,[e.createElementVNode("span",{class:e.normalizeClass({"is-ready":e.unref(K).ok}),role:"status",title:e.unref(a).guidance.value},e.toDisplayString(e.unref(a).guidance.value),11,da),e.unref(a).pendingLocalChanges.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:e.unref(C),onClick:o[20]||(o[20]=(...n)=>e.unref(a).restoreDraft&&e.unref(a).restoreDraft(...n))},e.toDisplayString(e.unref(i).restoreDraft),9,ga)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:!e.unref(a).canCheck.value,onClick:o[21]||(o[21]=(...n)=>e.unref(a).check&&e.unref(a).check(...n))},e.toDisplayString(e.unref(i).check),9,ma),e.createElementVNode("button",{type:"button",class:"mr-binding-primary",disabled:e.unref(C)||!e.unref(K).ok,title:e.unref(a).guidance.value,onClick:o[22]||(o[22]=(...n)=>e.unref(a).apply&&e.unref(a).apply(...n))},e.toDisplayString(e.unref(i).apply),9,fa)])],64)):(e.openBlock(),e.createElementBlock("div",Qt,[o[27]||(o[27]=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(i).noSource),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(i).sourceOnly),1),e.createElementVNode("button",{type:"button",class:"mr-binding-primary",disabled:t.readonly,onClick:o[2]||(o[2]=n=>q.value?.click())},e.toDisplayString(e.unref(i).upload),9,Yt)]))],40,Ht))}});exports.default=va;
|