@agile-team/mach-report 2.15.0 → 2.17.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 +21 -12
- package/dist/{ExcelBindingWizard-Bs43BGNp.cjs → ExcelBindingWizard-Bq6FYME6.cjs} +1 -1
- package/dist/{ExcelBindingWizard-BKH1nGNS.js → ExcelBindingWizard-Co1svTsw.js} +3 -3
- package/dist/{ParamEditor-Da4akw6V.cjs → ParamEditor-B5UZRgxv.cjs} +1 -1
- package/dist/{ParamEditor-DoAhzJsm.js → ParamEditor-DNNARyeB.js} +1 -1
- package/dist/{ReportBatchPanel-wP9m9Pj1.cjs → ReportBatchPanel-Ctvs2t_9.cjs} +1 -1
- package/dist/{ReportBatchPanel-BMf6boMA.js → ReportBatchPanel-uQh06usx.js} +3 -3
- package/dist/ReportPreview-BdQawRh0.js +4879 -0
- package/dist/ReportPreview-CJC_-j2I.cjs +6 -0
- package/dist/{ReportTemplateLibrary-Sxr3eD0J.cjs → ReportTemplateLibrary-CnP7_1pH.cjs} +1 -1
- package/dist/{ReportTemplateLibrary-C9wutIiT.js → ReportTemplateLibrary-TIL_Oj2l.js} +1 -1
- package/dist/RuleEditor-DkRjOLlr.js +2141 -0
- package/dist/RuleEditor-h5anGsDB.cjs +1 -0
- package/dist/{TemplateOutlinePanel-JTSR53vJ.cjs → TemplateOutlinePanel-BlLxRrfu.cjs} +1 -1
- package/dist/{TemplateOutlinePanel-D6Bkny59.js → TemplateOutlinePanel-BouxsuqQ.js} +1 -1
- package/dist/{TemplateReusePanel-rVuK1kTz.js → TemplateReusePanel-BEACLPaN.js} +2 -2
- package/dist/{TemplateReusePanel-Kx35S0Ql.cjs → TemplateReusePanel-yxsHSO40.cjs} +1 -1
- package/dist/{TemplateReviewPanel-B0ar9_zf.js → TemplateReviewPanel-B1OGRY2i.js} +1 -1
- package/dist/{TemplateReviewPanel-Dn6X9UmY.cjs → TemplateReviewPanel-D9Cx0m2N.cjs} +1 -1
- package/dist/analytics.cjs +1 -1
- package/dist/analytics.d.cts +65 -1
- package/dist/analytics.d.ts +65 -1
- package/dist/analytics.js +4 -4
- package/dist/artifact-integrity.json +105 -101
- package/dist/assets-BIMVwjQe.js +231 -0
- package/dist/assets-Dfs2ElxI.cjs +1 -0
- package/dist/auto-BIOmtVhk.js +240 -0
- package/dist/auto-DDHflI9v.cjs +1 -0
- package/dist/{batch-BfZHN1do.js → batch-WzDIXJAt.js} +1 -1
- package/dist/{batch-CLpELXBl.cjs → batch-z6Aw5GEY.cjs} +1 -1
- package/dist/codes.d.cts +2 -0
- package/dist/codes.d.ts +2 -0
- package/dist/component-tree-Ca6YYfHq.js +61 -0
- package/dist/component-tree-DkGLEfZC.cjs +1 -0
- package/dist/computed-BW5a8QFk.js +612 -0
- package/dist/computed-C2GD3XcE.cjs +1 -0
- package/dist/config-Dg_o8e7m.cjs +1 -0
- package/dist/{config-BVsJXSqS.js → config-XQ4qrQ7Q.js} +66 -64
- package/dist/dataset-DL83majE.js +161 -0
- package/dist/dataset-IrlXbUvh.cjs +1 -0
- package/dist/designer-D9XAxqSc.js +5178 -0
- package/dist/designer-uCDo5XSK.cjs +2 -0
- package/dist/designer.cjs +1 -1
- package/dist/designer.d.cts +178 -3
- package/dist/designer.d.ts +178 -3
- package/dist/designer.js +1 -1
- package/dist/drill-ByN8COs_.cjs +1 -0
- package/dist/{drill-ByJviLXS.js → drill-CKW3Xtfa.js} +5 -5
- package/dist/encoding-BFMFIc4r.cjs +1 -0
- package/dist/encoding-DP_Eaf0A.js +21 -0
- package/dist/{font-loader-B_UkxpzC.cjs → font-loader-7FWVlykp.cjs} +1 -1
- package/dist/{font-loader-Q3bQjmrI.js → font-loader-CQZowp0I.js} +1 -1
- package/dist/index.cjs +8 -9
- package/dist/index.d.cts +175 -1
- package/dist/index.d.ts +175 -1
- package/dist/index.js +1343 -915
- package/dist/json-snapshot-D7PE1NsU.cjs +2 -0
- package/dist/json-snapshot-DYmEe3sO.js +1779 -0
- package/dist/matrix-JLAXlux-.js +302 -0
- package/dist/matrix-gTHpDTGm.cjs +1 -0
- package/dist/{pdf-CvvrjPQg.cjs → pdf-B8JouyYv.cjs} +48 -50
- package/dist/{pdf-BwNyeGpt.js → pdf-l3ea86di.js} +2734 -2748
- package/dist/pdf.cjs +1 -1
- package/dist/pdf.d.cts +14 -0
- package/dist/pdf.d.ts +14 -0
- package/dist/pdf.js +2 -2
- package/dist/{plugin-Ca_XZG3l.js → plugin-BBp74CQZ.js} +1 -1
- package/dist/{plugin-DHO7X8z2.cjs → plugin-CtFX9PFG.cjs} +1 -1
- package/dist/prepared-CARicKYh.js +87 -0
- package/dist/prepared-Ch1x_Gog.cjs +1 -0
- package/dist/progress-BXzlVbIp.js +29 -0
- package/dist/progress-DJBd9Rb9.cjs +1 -0
- package/dist/{progress-D-OTpEav.js → progress-Hc2vxoCs.js} +2 -2
- package/dist/protocol-B5A2uom4.cjs +1 -0
- package/dist/protocol-BaiWjq5w.js +90 -0
- package/dist/record-bindings-B86Sur_y.cjs +1 -0
- package/dist/{record-bindings-Do_b3h4V.js → record-bindings-D4TuMzHs.js} +10 -11
- package/dist/{region-binding-workflow-BMhK_TjP.js → region-binding-workflow-BNasF5kz.js} +2 -2
- package/dist/{region-binding-workflow-DIYJdCUr.cjs → region-binding-workflow-O2Cni3mF.cjs} +1 -1
- package/dist/report-encoding-worker.cjs +1 -0
- package/dist/report-encoding-worker.d.ts +1 -0
- package/dist/report-encoding-worker.js +2 -0
- package/dist/rich-text-layout-ALlMoYOG.cjs +3 -0
- package/dist/rich-text-layout-Ct5WrY1g.js +102 -0
- package/dist/runtime-DakRXui3.js +170 -0
- package/dist/runtime-dL5ygIfa.cjs +1 -0
- package/dist/sbom.cdx.json +2 -2
- package/dist/server/node.d.cts +132 -1
- package/dist/server/node.d.ts +132 -1
- package/dist/server-node.cjs +5 -1
- package/dist/server-node.js +5177 -463
- package/dist/server.cjs +1 -1
- package/dist/server.d.cts +182 -2
- package/dist/server.d.ts +182 -2
- package/dist/server.js +918 -833
- package/dist/sha256-BshdOkCC.cjs +1 -0
- package/dist/sha256-DTG-Gq8i.js +157 -0
- package/dist/style-67OqfNed.js +73 -0
- package/dist/style-C22Pbv3T.cjs +1 -0
- package/dist/style.css +1 -1
- package/dist/template-catalog-Dua8h9ZA.cjs +1 -0
- package/dist/{template-catalog-j2B1MJlL.js → template-catalog-wT1fNeAP.js} +10 -10
- package/dist/{template-fragments-DcKeiylI.cjs → template-fragments-BajTajb4.cjs} +1 -1
- package/dist/{template-fragments-BGbQLGlV.js → template-fragments-DmX5XK4N.js} +2 -2
- package/dist/template-registry-CpysHAxy.cjs +1 -0
- package/dist/{template-registry-BtaKPELV.js → template-registry-u11fPd8D.js} +389 -321
- package/dist/{textwrap-DE1kgcJB.js → textwrap-BEIg2w8y.js} +1 -1
- package/dist/textwrap-BI-yJ6Wt.cjs +4 -0
- package/dist/{tree-BX380Rr7.cjs → tree-CLpxYbKa.cjs} +1 -1
- package/dist/{tree-CjVZLRw7.js → tree-DNJorJUf.js} +1 -1
- package/dist/vue/async.d.cts +174 -2
- package/dist/vue/async.d.ts +174 -2
- package/dist/vue/index.d.cts +218 -3
- package/dist/vue/index.d.ts +218 -3
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +3 -3
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +7 -7
- package/dist/{workbook-session-BvToI-Fd.js → workbook-session-B8pNW24X.js} +153 -140
- package/dist/{workbook-session-Bjv1YCRK.cjs → workbook-session-DN5LSA5C.cjs} +12 -12
- package/dist/worker.cjs +1 -1
- package/dist/worker.d.cts +84 -1
- package/dist/worker.d.ts +84 -1
- package/dist/worker.js +12 -157
- package/dist/xlsx-node.cjs +33 -33
- package/dist/xlsx-node.js +1282 -1289
- package/dist/xlsx.cjs +4 -3
- package/dist/xlsx.d.cts +90 -2
- package/dist/xlsx.d.ts +90 -2
- package/dist/xlsx.js +279 -259
- package/package.json +6 -3
- package/dist/ReportPreview-ChV19HBp.js +0 -4619
- package/dist/ReportPreview-DbLvvOUT.cjs +0 -6
- package/dist/RuleEditor-C_Clasvd.js +0 -2037
- package/dist/RuleEditor-XhGHK8DE.cjs +0 -1
- package/dist/assets-B9ImAi6_.cjs +0 -1
- package/dist/assets-DEaz4qsp.js +0 -124
- package/dist/batch-BaP6pWDE.cjs +0 -1
- package/dist/batch-CGyt-b2W.js +0 -273
- package/dist/capabilities-CAh2Nrue.cjs +0 -1
- package/dist/capabilities-DskCHs3V.js +0 -69
- package/dist/computed-C-4C2S5h.js +0 -521
- package/dist/computed-CGV2a809.cjs +0 -1
- package/dist/config-D10us76d.cjs +0 -1
- package/dist/data-explanation-B8MZRYVS.js +0 -16
- package/dist/data-explanation-DE55G30w.cjs +0 -1
- package/dist/dataset-BkRmwgeJ.cjs +0 -1
- package/dist/dataset-H5pFuQGU.js +0 -121
- package/dist/defaults-DXhiM1ZD.js +0 -10
- package/dist/defaults-xhmcLLrf.cjs +0 -1
- package/dist/designer-2bDlcNXQ.js +0 -5136
- package/dist/designer-BT7XCdbW.cjs +0 -2
- package/dist/drill-DYTxuL3A.cjs +0 -1
- package/dist/grid-strokes-Cr7DwUux.cjs +0 -1
- package/dist/grid-strokes-DyyG1q_o.js +0 -53
- package/dist/json-snapshot-DFb2eWkf.js +0 -1416
- package/dist/json-snapshot-WWSGlaHG.cjs +0 -2
- package/dist/matrix-CGRGkn5s.js +0 -112
- package/dist/matrix-gEO7ZM_u.cjs +0 -1
- package/dist/prepared-CFy9B75C.cjs +0 -1
- package/dist/prepared-ajM-H-9B.js +0 -69
- package/dist/record-bindings-By_UKZ2g.cjs +0 -1
- package/dist/render-plan-7xpGrCEl.cjs +0 -1
- package/dist/render-plan-Ck6koX9L.js +0 -13
- package/dist/sha256-ArEYjaTI.cjs +0 -1
- package/dist/sha256-DPEuJ3nh.js +0 -155
- package/dist/style-CQ1PK8ZB.js +0 -67
- package/dist/style-UgIJSA1F.cjs +0 -1
- package/dist/template-catalog-FJE_c9Qe.cjs +0 -1
- package/dist/template-registry-Co1zPq5e.cjs +0 -1
- package/dist/textwrap-CWHyzkBH.cjs +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),z=require("./computed-C2GD3XcE.cjs"),Z=require("./designer-uCDo5XSK.cjs"),P=require("./useLocalDraft-CioIfDb6.cjs"),de=require("./matrix-gTHpDTGm.cjs"),Y=require("./template-registry-CpysHAxy.cjs"),se=require("./tree-CLpxYbKa.cjs"),Q=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function _(t,$=new Set){return typeof t=="string"||("field"in t&&t.field&&$.add(t.field),"weightField"in t&&t.weightField&&$.add(t.weightField),"args"in t&&t.args.forEach(E=>_(E,$))),$}function ee(t,$){return typeof t=="string"?t:"value"in t?t.value===null?$.null:String(t.value):"aggregate"in t?`${$[t.aggregate]}(${t.field??$.allRows})`:"field"in t?t.field:`${$[t.op]}(${t.args.map(E=>ee(E,$)).join(", ")})`}function ue(t,$,E){const x=e.ref("");function f(y){const v=t.list.columns.find(B=>B.field===y)?.format;return v&&"digits"in v&&v.digits!==void 0?`${v.digits} ${E.value.digits}`:void 0}const s=e.computed(()=>{const y=new Map;for(const v of t.datasetSchema?.fields??[])y.set(v.field,{field:v.field,label:v.label??v.field,meta:[v.type,v.unit,f(v.field)].filter(Boolean).join(" · ")});for(const v of t.list.columns)y.has(v.field)||y.set(v.field,{field:v.field,label:v.header||v.field,meta:v.semanticRole??""});return[...y.values()]}),l=e.computed(()=>{const y=x.value.trim().toLocaleLowerCase();return s.value.filter(v=>`${v.field} ${v.label} ${v.meta}`.toLocaleLowerCase().includes(y))}),m=e.computed(()=>ee($.value.expression,E.value)),b=e.computed(()=>{const y=[..._($.value.expression)];return(t.datasets?.[t.list.dataset]??[]).slice(0,5).map((v,B)=>({row:B+1,values:y.map(N=>`${N} = ${v[N]==null?E.value.null:String(v[N])}`).join(" · ")}))});return{query:x,matches:l,fieldWindow:e.computed(()=>l.value.slice(0,50)),expression:m,sources:b}}const H=t=>JSON.parse(JSON.stringify(t));function ce(t,$){const E=e.ref(!1),x=e.ref(""),f=e.ref({dataset:"",parentKey:"",foreignKey:"",columns:[]}),s=e.ref({rowFields:[],columnFields:[],measures:[]}),l=e.ref({input:"flat",idField:"id",parentField:"parentId",labelField:"",parentValues:"source"}),m=P.useLocalDraft(()=>({enabled:E.value,detail:f.value,matrix:s.value,tree:l.value}));let b;const y=e.ref(),v=e.computed(()=>[...new Set([...Object.keys(t.datasets??{}),...Object.keys(t.datasetSchemas??{})])]),B=e.computed(()=>C(t.list.dataset,t.datasetSchema)),N=e.computed(()=>C(f.value.dataset));function C(i,h){const p=new Map;for(const o of(h??t.datasetSchemas?.[i])?.fields??[])p.set(o.field,o.label??o.field);const V=t.datasets?.[i]?.[0];for(const o of Object.keys(V??{}))p.has(o)||p.set(o,o);if(i===t.list.dataset)for(const o of t.list.columns)p.has(o.field)||p.set(o.field,o.header||o.field);return[...p].map(([o,n])=>({field:o,label:n}))}function T(){if(b===JSON.stringify(t.list)){b=void 0;return}E.value=!!t.list[t.mode];const i=v.value.find(h=>h!==t.list.dataset)??"";f.value=H(t.list.detail??{dataset:i,parentKey:t.list.rowKey??t.datasetSchema?.rowKey??B.value[0]?.field??"",foreignKey:"",columns:[],header:!0,unmatched:"error"}),s.value=H(t.list.matrix??{rowFields:[],columnFields:[],measures:[],totals:!0}),s.value.measures=s.value.measures.map(h=>({...h,numeric:h.numeric??"number"})),l.value=H(t.list.tree??{input:"flat",idField:t.list.rowKey??"id",parentField:"parentId",childrenField:"children",labelField:t.list.columns[0]?.field??"",parentValues:"source",orphan:"error",indentMm:3,maxRows:1e5,maxDepth:64}),x.value="",y.value=void 0,m.accept()}e.watch(()=>[t.mode,t.list.dataset,t.list[t.mode]],T,{immediate:!0});function k(i){f.value.dataset=i,f.value.columns=[],f.value.foreignKey=N.value[0]?.field??"",f.value.rowKey=t.datasetSchemas?.[i]?.rowKey}function r(i,h){if(h&&!f.value.columns.some(p=>p.field===i)){const p=t.datasetSchemas?.[f.value.dataset]?.fields.find(V=>V.field===i);f.value.columns.push({field:i,header:N.value.find(V=>V.field===i)?.label??i,widthMm:30,align:"auto",semanticRole:p?.semanticRole,editable:!1})}else h||(f.value.columns=f.value.columns.filter(p=>p.field!==i))}function a(i,h,p){if(t.readonly)return;const V=s.value[i];d(i,p?[...new Set([...V,h])]:V.filter(o=>o!==h))}function d(i,h){const p=s.value[i];s.value[i]=h;const V=s.value.hierarchy?.[i==="rowFields"?"row":"column"];V&&(V.sort&&(V.sort=h.map(o=>V.sort?.[p.indexOf(o)]??"source")),V.labels&&(V.labels=h.map(o=>V.labels?.[p.indexOf(o)]??o)),V.subtotals&&(V.subtotals=V.subtotals.map(o=>h.indexOf(p[o-1])+1).filter(o=>o>0&&o<h.length)))}function u(i,h,p){const V=[...s.value[i]],o=h+p;t.readonly||h<0||h>=V.length||o<0||o>=V.length||([V[h],V[o]]=[V[o],V[h]],d(i,V))}function w(){s.value.measures=[...s.value.measures,{field:B.value[0]?.field??"",op:"sum",numeric:"number"}]}function U(i){s.value.measures=s.value.measures.filter((h,p)=>p!==i)}function G(i){t.readonly||(i?s.value.hierarchy??={}:delete s.value.hierarchy)}function R(i,h,p){if(t.readonly||!s.value.hierarchy)return;const V=s.value.hierarchy[i]??={},n=(i==="row"?s.value.rowFields:s.value.columnFields).map((F,S)=>V.sort?.[S]??"source");n[h]=p,V.sort=n}function O(i,h,p){if(t.readonly||!s.value.hierarchy)return;const V=s.value.hierarchy[i]??={};V.subtotals=[...new Set(p?[...V.subtotals??[],h]:(V.subtotals??[]).filter(o=>o!==h))]}function W(){l.value.aggregates=[...l.value.aggregates??[],{field:B.value.find(i=>i.field!==l.value.labelField&&i.field!==l.value.idField)?.field??"",op:"sum",numeric:"number"}]}function K(i){l.value.aggregates=l.value.aggregates?.filter((h,p)=>p!==i)}function q(){x.value="",y.value=void 0;try{const i=t.datasets?.[t.list.dataset]??[];if(!i.length)throw new Error(t.messages.noData);if(i.length>1e3)throw new Error(t.messages.treeBudget);const h=se.createTreeTable(i,{...l.value,aggregates:l.value.parentValues==="leaf-aggregate"?l.value.aggregates:void 0,maxRows:1e3}),p=t.list.columns.slice(0,5);y.value={columns:p.map(V=>V.header),rows:h.entries.slice(0,8).map(V=>p.map(o=>o.field===l.value.labelField?`${" ".repeat(Math.min(6,V.depth))}${V.row[o.field]??""}`:V.row[o.field]))}}catch(i){x.value=i instanceof Error?i.message:String(i)}}function A(i){if(!E.value){delete i.tree;return}i.tree=H(l.value),i.tree.parentValues!=="leaf-aggregate"&&delete i.tree.aggregates,i.rowKey=i.tree.idField,delete i.detail,delete i.matrix,delete i.groupBy,delete i.groups,delete i.rowVisibleWhen}function I(){x.value="",y.value=void 0;try{const i=t.datasets?.[t.list.dataset]??[];if(!i.length)throw new Error(t.messages.noData);const h=de.createMatrixTable(i.slice(0,1e3),{...s.value,maxInputRows:1e3});y.value={columns:h.columns.slice(0,5).map(p=>p.header),rows:h.rows.slice(0,5).map(p=>h.columns.slice(0,5).map(V=>p[V.field]))}}catch(i){x.value=i instanceof Error?i.message:String(i)}}function J(){if(t.readonly)return;const i=H(t.list);t.mode==="tree"?A(i):t.mode==="detail"?E.value?(i.detail=H(f.value),delete i.matrix,delete i.tree):delete i.detail:E.value?(i.matrix=H(s.value),delete i.detail,delete i.tree,delete i.groups,delete i.groupBy,delete i.grandTotal):delete i.matrix;const h=Y.validateReportTemplate({pages:[{widthMm:Math.max(1,i.leftMm+i.widthMm),heightMm:297,components:[i]}]});if(!h.ok){x.value=h.errors.slice(0,3).map(p=>p.message).join(";");return}t.accept&&!t.accept(i)||(b=JSON.stringify(i),t.accept||$(i),m.accept())}return Z.useTemplateToolDraft({key:()=>`${t.recoveryKey??"rules:0:0"}:${t.mode}`,baseline:()=>JSON.stringify(t.list[t.mode]),pending:()=>m.pending.value,snapshot:()=>JSON.stringify({enabled:E.value,detail:f.value,matrix:s.value,tree:l.value,baseline:m.baseline.value}),restore(i){const h=JSON.parse(i);E.value=h.enabled,f.value=h.detail,s.value=h.matrix,l.value=h.tree,m.baseline.value=h.baseline}}),{enabled:E,pendingLocalChanges:m.pending,detail:f,matrix:s,tree:l,datasets:v,sourceFields:B,childFields:N,error:x,preview:y,chooseDataset:k,toggleChildColumn:r,toggleDimension:a,moveDimension:u,addMeasure:w,removeMeasure:U,checkMatrix:I,toggleHierarchy:G,setDimensionSort:R,toggleMatrixSubtotal:O,addTreeAggregate:W,removeTreeAggregate:K,checkTree:q,apply:J}}const me={class:"mr-data-layout"},ge={class:"mr-data-layout__check"},fe=["disabled"],ve={class:"mr-data-layout__hint"},ye=["aria-label","value","disabled"],be={value:"",disabled:""},he=["value"],ke={class:"mr-data-layout__pair"},Ve=["aria-label","disabled"],Ee=["value"],Ne=["aria-label","disabled"],pe={value:"",disabled:""},De=["value"],Be=["aria-label","disabled"],Se={value:void 0},we=["value"],$e={class:"mr-data-layout__choices"},Ce=["checked","disabled","onChange"],xe=["aria-label","disabled"],Fe={class:"mr-data-layout__pair"},Te=["aria-label","disabled"],Me={value:"error"},Le={value:"ignore"},Ue={class:"mr-data-layout__check"},Re=["disabled"],Ke={class:"mr-data-layout__hint"},Oe={class:"mr-data-layout__pair"},Ae=["aria-label","disabled"],Ie={value:"flat"},Ge={value:"nested"},We=["aria-label","disabled"],Je=["value"],He={class:"mr-data-layout__pair"},je={key:0},qe=["aria-label","disabled"],ze=["value"],Pe={key:1},Ze=["aria-label","disabled"],Qe=["aria-label","disabled"],Xe=["value"],Ye={class:"mr-data-layout__pair"},_e=["aria-label","disabled"],et={key:0},tt=["aria-label","disabled"],lt={value:"error"},at={value:"root"},nt=["aria-label","disabled"],ot={value:"source"},rt={value:"leaf-aggregate"},it={class:"mr-data-layout__pair"},dt=["onUpdate:modelValue","aria-label","disabled"],st=["value"],ut=["onUpdate:modelValue","aria-label","disabled"],ct=["value"],mt={key:0},gt=["onUpdate:modelValue","aria-label","disabled"],ft=["value"],vt={class:"mr-data-layout__pair"},yt=["onUpdate:modelValue","aria-label","disabled"],bt={value:"number"},ht={value:"decimal"},kt=["onUpdate:modelValue","aria-label","disabled"],Vt=["disabled","onClick"],Et=["disabled"],Nt={class:"mr-data-layout__pair"},pt=["aria-label","disabled"],Dt=["aria-label","disabled"],Bt={class:"mr-data-layout__hint"},St={class:"mr-data-layout__hint"},wt=["checked","disabled","onChange"],$t={class:"mr-data-layout__pair"},Ct=["aria-label","onUpdate:modelValue","disabled"],xt=["value"],Ft=["aria-label","onUpdate:modelValue","disabled"],Tt=["value"],Mt=["aria-label","onUpdate:modelValue","disabled","placeholder"],Lt={key:0},Ut=["aria-label","onUpdate:modelValue","disabled"],Rt=["value"],Kt={class:"mr-data-layout__pair"},Ot=["aria-label","onUpdate:modelValue","disabled"],At={value:"number"},It={value:"decimal"},Gt=["aria-label","onUpdate:modelValue","disabled"],Wt=["disabled","onClick"],Jt=["disabled"],Ht={class:"mr-data-layout__check"},jt=["disabled"],qt={class:"mr-data-layout__check"},zt=["checked","disabled"],Pt={class:"mr-data-layout__hint"},Zt=["aria-label","disabled"],Qt=["aria-label","value","disabled","onChange"],Xt={value:"source"},Yt={value:"asc"},_t={value:"desc"},el=["aria-label","disabled","onClick"],tl=["aria-label","disabled","onClick"],ll={key:0,class:"mr-data-layout__check"},al=["checked","disabled","onChange"],nl={class:"mr-data-layout__pair"},ol=["disabled"],rl=["disabled"],il={class:"mr-data-layout__actions"},dl=["disabled"],sl=["disabled"],ul=["disabled"],cl={key:3,class:"mr-data-layout__preview"},ml={key:4,class:"mr-data-layout__error",role:"alert"},gl=e.defineComponent({__name:"RuleDataLayout",props:{recoveryKey:{},list:{},accept:{type:Function},mode:{},datasets:{},datasetSchema:{},datasetSchemas:{},readonly:{type:Boolean},messages:{}},emits:["change","dirty"],setup(t,{emit:$}){const E=t,x=$,f=ce(E,k=>x("change",k)),{enabled:s,detail:l,matrix:m,tree:b,datasets:y,sourceFields:v,childFields:B,error:N,preview:C}=f;e.watch([f.pendingLocalChanges,s,l,m,b],()=>x("dirty",f.pendingLocalChanges.value),{immediate:!0,deep:!0,flush:"sync"});const T=z.getComputationMetadata();return(k,r)=>(e.openBlock(),e.createElementBlock("div",me,[e.createElementVNode("label",ge,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=a=>e.isRef(s)?s.value=a:null),type:"checkbox",disabled:t.readonly},null,8,fe),[[e.vModelCheckbox,e.unref(s)]]),e.createTextVNode(e.toDisplayString(t.messages.enabled)+e.toDisplayString(t.messages[t.mode]),1)]),e.unref(s)&&t.mode==="detail"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("p",ve,e.toDisplayString(t.messages.detailHint),1),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.childDataset),1),e.createElementVNode("select",{"aria-label":t.messages.childDataset,value:e.unref(l).dataset,disabled:t.readonly,onChange:r[1]||(r[1]=a=>e.unref(f).chooseDataset(a.target.value))},[e.createElementVNode("option",be,e.toDisplayString(t.messages.select),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),a=>(e.openBlock(),e.createElementBlock("option",{key:a,value:a},e.toDisplayString(a),9,he))),128))],40,ye)]),e.createElementVNode("div",ke,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.parentKey),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.parentKey,"onUpdate:modelValue":r[2]||(r[2]=a=>e.unref(l).parentKey=a),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,Ee))),128))],8,Ve),[[e.vModelSelect,e.unref(l).parentKey]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.foreignKey),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.foreignKey,"onUpdate:modelValue":r[3]||(r[3]=a=>e.unref(l).foreignKey=a),disabled:t.readonly},[e.createElementVNode("option",pe,e.toDisplayString(t.messages.select),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,De))),128))],8,Ne),[[e.vModelSelect,e.unref(l).foreignKey]])])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.rowKey),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.rowKey,"onUpdate:modelValue":r[4]||(r[4]=a=>e.unref(l).rowKey=a),disabled:t.readonly},[e.createElementVNode("option",Se,e.toDisplayString(t.messages.noRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,we))),128))],8,Be),[[e.vModelSelect,e.unref(l).rowKey]])]),e.createElementVNode("fieldset",$e,[e.createElementVNode("legend",null,e.toDisplayString(t.messages.childColumns),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),a=>(e.openBlock(),e.createElementBlock("label",{key:a.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(l).columns.some(d=>d.field===a.field),disabled:t.readonly,onChange:d=>e.unref(f).toggleChildColumn(a.field,d.target.checked)},null,40,Ce),e.createTextVNode(e.toDisplayString(a.label),1)]))),128))]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.title),1),e.withDirectives(e.createElementVNode("input",{"aria-label":t.messages.title,"onUpdate:modelValue":r[5]||(r[5]=a=>e.unref(l).label=a),disabled:t.readonly},null,8,xe),[[e.vModelText,e.unref(l).label]])]),e.createElementVNode("div",Fe,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.unmatched),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.unmatched,"onUpdate:modelValue":r[6]||(r[6]=a=>e.unref(l).unmatched=a),disabled:t.readonly},[e.createElementVNode("option",Me,e.toDisplayString(t.messages.error),1),e.createElementVNode("option",Le,e.toDisplayString(t.messages.ignore),1)],8,Te),[[e.vModelSelect,e.unref(l).unmatched]])]),e.createElementVNode("label",Ue,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[7]||(r[7]=a=>e.unref(l).header=a),type:"checkbox",disabled:t.readonly},null,8,Re),[[e.vModelCheckbox,e.unref(l).header]]),e.createTextVNode(e.toDisplayString(t.messages.childHeader),1)])])],64)):e.unref(s)&&t.mode==="tree"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("p",Ke,e.toDisplayString(t.messages.treeHint),1),e.createElementVNode("div",Oe,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeInput),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[8]||(r[8]=a=>e.unref(b).input=a),"aria-label":t.messages.treeInput,disabled:t.readonly},[e.createElementVNode("option",Ie,e.toDisplayString(t.messages.treeFlat),1),e.createElementVNode("option",Ge,e.toDisplayString(t.messages.treeNested),1)],8,Ae),[[e.vModelSelect,e.unref(b).input]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeId),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[9]||(r[9]=a=>e.unref(b).idField=a),"aria-label":t.messages.treeId,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,Je))),128))],8,We),[[e.vModelSelect,e.unref(b).idField]])])]),e.createElementVNode("div",He,[e.unref(b).input==="flat"?(e.openBlock(),e.createElementBlock("label",je,[e.createTextVNode(e.toDisplayString(t.messages.treeParent),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[10]||(r[10]=a=>e.unref(b).parentField=a),"aria-label":t.messages.treeParent,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,ze))),128))],8,qe),[[e.vModelSelect,e.unref(b).parentField]])])):(e.openBlock(),e.createElementBlock("label",Pe,[e.createTextVNode(e.toDisplayString(t.messages.treeChildren),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[11]||(r[11]=a=>e.unref(b).childrenField=a),"aria-label":t.messages.treeChildren,disabled:t.readonly,placeholder:"children"},null,8,Ze),[[e.vModelText,e.unref(b).childrenField]])])),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeLabel),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[12]||(r[12]=a=>e.unref(b).labelField=a),"aria-label":t.messages.treeLabel,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.list.columns.filter(a=>!a.hidden),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.header),9,Xe))),128))],8,Qe),[[e.vModelSelect,e.unref(b).labelField]])])]),e.createElementVNode("div",Ye,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeIndent),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[13]||(r[13]=a=>e.unref(b).indentMm=a),"aria-label":t.messages.treeIndent,type:"number",min:"0",max:"20",step:"0.5",disabled:t.readonly},null,8,_e),[[e.vModelText,e.unref(b).indentMm,void 0,{number:!0}]])]),e.unref(b).input==="flat"?(e.openBlock(),e.createElementBlock("label",et,[e.createTextVNode(e.toDisplayString(t.messages.treeOrphan),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[14]||(r[14]=a=>e.unref(b).orphan=a),"aria-label":t.messages.treeOrphan,disabled:t.readonly},[e.createElementVNode("option",lt,e.toDisplayString(t.messages.error),1),e.createElementVNode("option",at,e.toDisplayString(t.messages.treeAsRoot),1)],8,tt),[[e.vModelSelect,e.unref(b).orphan]])])):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeValues),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[15]||(r[15]=a=>e.unref(b).parentValues=a),"aria-label":t.messages.treeValues,disabled:t.readonly},[e.createElementVNode("option",ot,e.toDisplayString(t.messages.treeSource),1),e.createElementVNode("option",rt,e.toDisplayString(t.messages.treeLeaves),1)],8,nt),[[e.vModelSelect,e.unref(b).parentValues]])]),e.unref(b).parentValues==="leaf-aggregate"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b).aggregates,(a,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"mr-data-layout__measure"},[e.createElementVNode("div",it,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measure),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u=>a.field=u,"aria-label":t.messages.measure,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),u=>(e.openBlock(),e.createElementBlock("option",{key:u.field,value:u.field},e.toDisplayString(u.label),9,st))),128))],8,dt),[[e.vModelSelect,a.field]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.aggregate),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u=>a.op=u,"aria-label":t.messages.aggregate,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(T).aggregates,u=>(e.openBlock(),e.createElementBlock("option",{key:u,value:u},e.toDisplayString(t.messages[u]),9,ct))),128))],8,ut),[[e.vModelSelect,a.op]])])]),a.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",mt,[e.createTextVNode(e.toDisplayString(t.messages.weight),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u=>a.weightField=u,"aria-label":t.messages.weight,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),u=>(e.openBlock(),e.createElementBlock("option",{key:u.field,value:u.field},e.toDisplayString(u.label),9,ft))),128))],8,gt),[[e.vModelSelect,a.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",vt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.numeric),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u=>a.numeric=u,"aria-label":t.messages.numeric,disabled:t.readonly},[e.createElementVNode("option",bt,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",ht,e.toDisplayString(t.messages.decimal),1)],8,yt),[[e.vModelSelect,a.numeric]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.digits),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u=>a.digits=u,"aria-label":t.messages.digits,type:"number",min:"0",max:"100",disabled:t.readonly},null,8,kt),[[e.vModelText,a.digits,void 0,{number:!0}]])])]),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:u=>e.unref(f).removeTreeAggregate(d)},e.toDisplayString(t.messages.remove),9,Vt)]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly||(e.unref(b).aggregates?.length??0)>=32,onClick:r[16]||(r[16]=(...a)=>e.unref(f).addTreeAggregate&&e.unref(f).addTreeAggregate(...a))},"+ "+e.toDisplayString(t.messages.addAggregate),9,Et)],64)):e.createCommentVNode("",!0),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.advanced),1),e.createElementVNode("div",Nt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeRows),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[17]||(r[17]=a=>e.unref(b).maxRows=a),"aria-label":t.messages.treeRows,type:"number",min:"1",max:"1000000",disabled:t.readonly},null,8,pt),[[e.vModelText,e.unref(b).maxRows,void 0,{number:!0}]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeDepth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[18]||(r[18]=a=>e.unref(b).maxDepth=a),"aria-label":t.messages.treeDepth,type:"number",min:"1",max:"256",disabled:t.readonly},null,8,Dt),[[e.vModelText,e.unref(b).maxDepth,void 0,{number:!0}]])])])]),e.createElementVNode("p",Bt,e.toDisplayString(t.messages.treeReadonly),1)],64)):e.unref(s)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("p",St,e.toDisplayString(t.messages.matrixHint),1),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["rowFields","columnFields"],a=>e.createElementVNode("fieldset",{key:a,class:"mr-data-layout__choices"},[e.createElementVNode("legend",null,e.toDisplayString(t.messages[a]),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),d=>(e.openBlock(),e.createElementBlock("label",{key:d.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(m)[a].includes(d.field),disabled:t.readonly,onChange:u=>e.unref(f).toggleDimension(a,d.field,u.target.checked)},null,40,wt),e.createTextVNode(e.toDisplayString(d.label),1)]))),128))])),64)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m).measures,(a,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"mr-data-layout__measure"},[e.createElementVNode("div",$t,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measure),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.measure,"onUpdate:modelValue":u=>a.field=u,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),u=>(e.openBlock(),e.createElementBlock("option",{key:u.field,value:u.field},e.toDisplayString(u.label),9,xt))),128))],8,Ct),[[e.vModelSelect,a.field]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.aggregate),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.aggregate,"onUpdate:modelValue":u=>a.op=u,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(T).aggregates,u=>(e.openBlock(),e.createElementBlock("option",{key:u,value:u},e.toDisplayString(t.messages[u]),9,Tt))),128))],8,Ft),[[e.vModelSelect,a.op]])])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measureLabel),1),e.withDirectives(e.createElementVNode("input",{"aria-label":t.messages.measureLabel,"onUpdate:modelValue":u=>a.label=u,disabled:t.readonly,placeholder:a.field},null,8,Mt),[[e.vModelText,a.label]])]),a.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",Lt,[e.createTextVNode(e.toDisplayString(t.messages.weight),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.weight,"onUpdate:modelValue":u=>a.weightField=u,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),u=>(e.openBlock(),e.createElementBlock("option",{key:u.field,value:u.field},e.toDisplayString(u.label),9,Rt))),128))],8,Ut),[[e.vModelSelect,a.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",Kt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.numeric),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.numeric,"onUpdate:modelValue":u=>a.numeric=u,disabled:t.readonly},[e.createElementVNode("option",At,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",It,e.toDisplayString(t.messages.decimal),1)],8,Ot),[[e.vModelSelect,a.numeric]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.digits),1),e.withDirectives(e.createElementVNode("input",{"aria-label":t.messages.digits,"onUpdate:modelValue":u=>a.digits=u,type:"number",min:"0",max:"100",disabled:t.readonly},null,8,Gt),[[e.vModelText,a.digits,void 0,{number:!0}]])])]),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:u=>e.unref(f).removeMeasure(d)},e.toDisplayString(t.messages.remove),9,Wt)]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(m).measures.length>=32,onClick:r[19]||(r[19]=(...a)=>e.unref(f).addMeasure&&e.unref(f).addMeasure(...a))}," + "+e.toDisplayString(t.messages.addAggregate),9,Jt),e.createElementVNode("label",Ht,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[20]||(r[20]=a=>e.unref(m).totals=a),type:"checkbox",disabled:t.readonly},null,8,jt),[[e.vModelCheckbox,e.unref(m).totals]]),e.createTextVNode(e.toDisplayString(t.messages.totals),1)]),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.matrixHierarchy),1),e.createElementVNode("label",qt,[e.createElementVNode("input",{type:"checkbox",checked:!!e.unref(m).hierarchy,disabled:t.readonly,onChange:r[21]||(r[21]=a=>e.unref(f).toggleHierarchy(a.target.checked))},null,40,zt),e.createTextVNode(e.toDisplayString(t.messages.enabled),1)]),e.unref(m).hierarchy?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("p",Pt,e.toDisplayString(t.messages.matrixHierarchyHint),1),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.matrixEmptyLabel),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[22]||(r[22]=a=>e.unref(m).hierarchy.emptyLabel=a),"aria-label":t.messages.matrixEmptyLabel,disabled:t.readonly,placeholder:"(空)"},null,8,Zt),[[e.vModelText,e.unref(m).hierarchy.emptyLabel]])]),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["row","column"],a=>e.createElementVNode("fieldset",{key:a,class:"mr-data-layout__choices"},[e.createElementVNode("legend",null,e.toDisplayString(a==="row"?t.messages.rowFields:t.messages.columnFields),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m)[a==="row"?"rowFields":"columnFields"],(d,u)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"mr-data-layout__pair"},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(d),1),e.createElementVNode("select",{"aria-label":`${d} · ${t.messages.matrixSort}`,value:e.unref(m).hierarchy[a]?.sort?.[u]??"source",disabled:t.readonly,onChange:w=>e.unref(f).setDimensionSort(a,u,w.target.value)},[e.createElementVNode("option",Xt,e.toDisplayString(t.messages.matrixSourceOrder),1),e.createElementVNode("option",Yt,e.toDisplayString(t.messages.matrixAscending),1),e.createElementVNode("option",_t,e.toDisplayString(t.messages.matrixDescending),1)],40,Qt)]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button","aria-label":`${d} · ${t.messages.moveUp}`,disabled:t.readonly||u===0,onClick:w=>e.unref(f).moveDimension(a==="row"?"rowFields":"columnFields",u,-1)},"↑",8,el),e.createElementVNode("button",{type:"button","aria-label":`${d} · ${t.messages.moveDown}`,disabled:t.readonly||u===e.unref(m)[a==="row"?"rowFields":"columnFields"].length-1,onClick:w=>e.unref(f).moveDimension(a==="row"?"rowFields":"columnFields",u,1)},"↓",8,tl)]),u<e.unref(m)[a==="row"?"rowFields":"columnFields"].length-1?(e.openBlock(),e.createElementBlock("label",ll,[e.createElementVNode("input",{type:"checkbox",checked:e.unref(m).hierarchy[a]?.subtotals?.includes(u+1)??!1,disabled:t.readonly,onChange:w=>e.unref(f).toggleMatrixSubtotal(a,u+1,w.target.checked)},null,40,al),e.createTextVNode(e.toDisplayString(t.messages.matrixPrefixSubtotal),1)])):e.createCommentVNode("",!0)]))),128))])),64))],64)):e.createCommentVNode("",!0)]),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.widthSettings),1),e.createElementVNode("div",nl,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.dimensionWidth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[23]||(r[23]=a=>e.unref(m).rowWidthMm=a),type:"number",min:"1",disabled:t.readonly,placeholder:"40"},null,8,ol),[[e.vModelText,e.unref(m).rowWidthMm,void 0,{number:!0}]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measureWidth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[24]||(r[24]=a=>e.unref(m).columnWidthMm=a),type:"number",min:"1",disabled:t.readonly,placeholder:"28"},null,8,rl),[[e.vModelText,e.unref(m).columnWidthMm,void 0,{number:!0}]])])])])],64)):e.createCommentVNode("",!0),e.createElementVNode("div",il,[e.unref(s)&&t.mode==="matrix"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:r[25]||(r[25]=(...a)=>e.unref(f).checkMatrix&&e.unref(f).checkMatrix(...a))},e.toDisplayString(t.messages.check),9,dl)):e.createCommentVNode("",!0),e.unref(s)&&t.mode==="tree"?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:t.readonly,onClick:r[26]||(r[26]=(...a)=>e.unref(f).checkTree&&e.unref(f).checkTree(...a))},e.toDisplayString(t.messages.check),9,sl)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"mr-data-layout__primary",disabled:t.readonly,onClick:r[27]||(r[27]=(...a)=>e.unref(f).apply&&e.unref(f).apply(...a))},e.toDisplayString(t.messages.apply),9,ul)]),e.unref(C)?(e.openBlock(),e.createElementBlock("div",cl,[e.createElementVNode("p",null,e.toDisplayString(t.messages.sample),1),e.createElementVNode("table",null,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(C).columns,(a,d)=>(e.openBlock(),e.createElementBlock("th",{key:d},e.toDisplayString(a),1))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(C).rows,(a,d)=>(e.openBlock(),e.createElementBlock("tr",{key:d},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a,(u,w)=>(e.openBlock(),e.createElementBlock("td",{key:w},e.toDisplayString(u??"—"),1))),128))]))),128))])])])):e.createCommentVNode("",!0),e.unref(N)?(e.openBlock(),e.createElementBlock("p",ml,e.toDisplayString(e.unref(N)),1)):e.createCommentVNode("",!0)]))}}),fl=Q._export_sfc(gl,[["__scopeId","data-v-c42e721c"]]),vl={class:"mr-expression__row"},yl=["value","disabled","aria-label"],bl={value:"field"},hl={value:"constant"},kl={key:0,value:"operation"},Vl={value:"aggregate"},El=["value","disabled","aria-label"],Nl=["value"],pl=["value","disabled","aria-label"],Dl=["value"],Bl=["value","disabled","aria-label"],Sl=["value"],wl=["value","disabled","aria-label"],$l={value:"text"},Cl={value:"number"},xl={value:"boolean"},Fl={value:"null"},Tl=["value","disabled","aria-label"],Ml={key:0,value:""},Ll=["value"],Ul=["value","disabled","aria-label"],Rl={value:"",disabled:""},Kl=["value"],Ol=["value","disabled","aria-label"],Al={value:"true"},Il={value:"false"},Gl=["type","value","disabled","aria-label"],Wl=["disabled","aria-label","onClick"],Jl=["disabled"],Hl=e.defineComponent({__name:"ReportExpressionEditor",props:{modelValue:{},fields:{},messages:{},readonly:{type:Boolean},depth:{}},emits:["update:modelValue"],setup(t,{emit:$}){const E=t,x=$,f=z.getComputationMetadata(),s=e.computed(()=>"aggregate"in E.modelValue?"aggregate":"field"in E.modelValue?"field":"value"in E.modelValue?"constant":"operation"),l=e.ref("text");e.watch(()=>E.modelValue,k=>{"value"in k&&(l.value=k.value===null?"null":typeof k.value=="string"?"text":typeof k.value)},{immediate:!0});function m(k){E.readonly||x("update:modelValue",k)}function b(k){m(k==="aggregate"?{aggregate:"sum",field:E.fields[0]?.field??""}:k==="field"?{field:E.fields[0]?.field??""}:k==="constant"?{value:""}:{op:"add",args:[{field:E.fields[0]?.field??""},{value:0}]})}function y(k){const r=k,a="args"in E.modelValue?E.modelValue.args:[{value:0},{value:0}];m({op:r,args:r==="divide"||r==="subtract"?a.slice(0,2):a})}function v(k,r){"args"in E.modelValue&&m({...E.modelValue,args:E.modelValue.args.map((a,d)=>d===k?r:a)})}function B(k){if(!("args"in E.modelValue))return;const r=k===void 0?[...E.modelValue.args,{value:0}]:E.modelValue.args.filter((a,d)=>d!==k);m({...E.modelValue,args:r})}function N(k){l.value=k,m({value:k==="null"?null:k==="boolean"?!1:k==="number"?0:""})}function C(k){l.value==="number"?k.trim()&&Number.isFinite(Number(k))&&m({value:Number(k)}):m({value:k})}function T(k,r){if(!("aggregate"in E.modelValue))return;const a={...E.modelValue,[k]:r};k==="aggregate"&&(a.aggregate=r),k==="field"&&!r&&delete a.field,m(a)}return(k,r)=>{const a=e.resolveComponent("ReportExpressionEditor",!0);return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["mr-expression",{"mr-expression--nested":(t.depth??0)>0}])},[e.createElementVNode("div",vl,[e.createElementVNode("select",{value:s.value,disabled:t.readonly,"aria-label":t.messages.argument,onChange:r[0]||(r[0]=d=>b(d.target.value))},[e.createElementVNode("option",bl,e.toDisplayString(t.messages.field),1),e.createElementVNode("option",hl,e.toDisplayString(t.messages.constant),1),(t.depth??0)<12?(e.openBlock(),e.createElementBlock("option",kl,e.toDisplayString(t.messages.operation),1)):e.createCommentVNode("",!0),e.createElementVNode("option",Vl,e.toDisplayString(t.messages.aggregate),1)],40,yl),"field"in t.modelValue&&!("aggregate"in t.modelValue)?(e.openBlock(),e.createElementBlock("select",{key:0,value:t.modelValue.field,disabled:t.readonly,"aria-label":t.messages.field,onChange:r[1]||(r[1]=d=>m({field:d.target.value}))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("option",{key:d.field,value:d.field},e.toDisplayString(d.label),9,Nl))),128))],40,El)):"op"in t.modelValue?(e.openBlock(),e.createElementBlock("select",{key:1,value:t.modelValue.op,disabled:t.readonly,"aria-label":t.messages.operation,onChange:r[2]||(r[2]=d=>y(d.target.value))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f).operations,d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d},e.toDisplayString(t.messages[d]),9,Dl))),128))],40,pl)):"aggregate"in t.modelValue?(e.openBlock(),e.createElementBlock("select",{key:2,value:t.modelValue.aggregate,disabled:t.readonly,"aria-label":t.messages.aggregate,onChange:r[3]||(r[3]=d=>T("aggregate",d.target.value))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f).aggregates,d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d},e.toDisplayString(t.messages[d]),9,Sl))),128))],40,Bl)):(e.openBlock(),e.createElementBlock("select",{key:3,value:l.value,disabled:t.readonly,"aria-label":t.messages.resultType,onChange:r[4]||(r[4]=d=>N(d.target.value))},[e.createElementVNode("option",$l,e.toDisplayString(t.messages.text),1),e.createElementVNode("option",Cl,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",xl,e.toDisplayString(t.messages.boolean),1),e.createElementVNode("option",Fl,e.toDisplayString(t.messages.null),1)],40,wl))]),"aggregate"in t.modelValue?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("select",{value:t.modelValue.field??"",disabled:t.readonly,"aria-label":t.messages.measure,onChange:r[5]||(r[5]=d=>T("field",d.target.value))},[t.modelValue.aggregate==="count"?(e.openBlock(),e.createElementBlock("option",Ml,e.toDisplayString(t.messages.allRows),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("option",{key:d.field,value:d.field},e.toDisplayString(d.label),9,Ll))),128))],40,Tl),t.modelValue.aggregate==="weightedAvg"?(e.openBlock(),e.createElementBlock("select",{key:0,value:t.modelValue.weightField??"",disabled:t.readonly,"aria-label":t.messages.weight,onChange:r[6]||(r[6]=d=>T("weightField",d.target.value))},[e.createElementVNode("option",Rl,e.toDisplayString(t.messages.weight),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("option",{key:d.field,value:d.field},e.toDisplayString(d.label),9,Kl))),128))],40,Ul)):e.createCommentVNode("",!0)],64)):"value"in t.modelValue?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[l.value==="boolean"?(e.openBlock(),e.createElementBlock("select",{key:0,value:String(t.modelValue.value),disabled:t.readonly,"aria-label":t.messages.constant,onChange:r[7]||(r[7]=d=>m({value:d.target.value==="true"}))},[e.createElementVNode("option",Al,e.toDisplayString(t.messages.true),1),e.createElementVNode("option",Il,e.toDisplayString(t.messages.false),1)],40,Ol)):l.value!=="null"?(e.openBlock(),e.createElementBlock("input",{key:1,type:l.value==="number"?"number":"text",value:t.modelValue.value??"",disabled:t.readonly,"aria-label":t.messages.constant,onInput:r[8]||(r[8]=d=>C(d.target.value))},null,40,Gl)):e.createCommentVNode("",!0)],64)):"args"in t.modelValue?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.modelValue.args,(d,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,class:"mr-expression__argument"},[e.createVNode(a,{"model-value":d,fields:t.fields,messages:t.messages,readonly:t.readonly,depth:(t.depth??0)+1,"onUpdate:modelValue":w=>v(u,w)},null,8,["model-value","fields","messages","readonly","depth","onUpdate:modelValue"]),t.modelValue.args.length>2?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,"aria-label":`${t.messages.remove} ${t.messages.argument} ${u+1}`,onClick:w=>B(u)}," × ",8,Wl)):e.createCommentVNode("",!0)]))),128)),!["subtract","divide"].includes(t.modelValue.op)&&t.modelValue.args.length<16?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:r[9]||(r[9]=d=>B())}," + "+e.toDisplayString(t.messages.addArgument),9,Jl)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),jl=Q._export_sfc(Hl,[["__scopeId","data-v-84e5c0e5"]]),M=t=>JSON.parse(JSON.stringify(t));function ql(t,$){const E=e.computed(()=>({...Z.DEFAULT_RULE_EDITOR_MESSAGES,...t.messages})),x=e.ref("computations"),f=e.ref(""),s=e.ref(""),l=e.ref({field:"",expression:{field:""},scope:"row"}),m=e.ref([]),b=e.ref(0),y=e.ref(""),v=e.ref(-1),B=e.ref("style"),N=e.ref({field:"",op:">",value:0}),C=e.ref({color:"#b91c1c",backgroundColor:"#fff1f2",bold:!1}),T=e.ref([]),k=P.useLocalDraft(()=>l.value),r=P.useLocalDraft(()=>m.value),a=P.useLocalDraft(()=>({when:N.value,style:C.value})),d=e.ref(new Map),u=e.ref(new Map);let w="",U=!1;const G=e.computed(()=>k.pending.value||r.pending.value||a.pending.value||d.value.size>0||u.value.size>0);let R;const O=e.computed(()=>{const g=new Map;for(const c of t.datasetSchema?.fields??[])g.set(c.field,c.label??c.field);for(const c of t.list.columns)g.has(c.field)||g.set(c.field,c.header||c.field);for(const c of Object.keys(t.datasets?.[t.list.dataset]?.[0]??{}))g.has(c)||g.set(c,c);return[...g].map(([c,D])=>({field:c,label:D}))}),W=e.computed(()=>m.value[b.value]),K=e.computed(()=>t.list.columns.find(g=>g.field===y.value)),q=e.computed(()=>z.validateComputedFields(J()));function A(){if(R===JSON.stringify(t.list)){R=void 0;return}U=!0,d.value=new Map,u.value=new Map,m.value=M(t.list.groups??(t.list.groupBy?[t.list.groupBy]:[]));for(const g of m.value)for(const c of g.aggregates??[])c.numeric??="number";t.list.columns.some(g=>g.field===y.value)||(y.value=t.list.columns[0]?.field??""),f.value="",T.value=[],I(s.value),X(-1),r.accept(),U=!1}e.watch(()=>t.list,A,{immediate:!0}),e.watch(l,()=>{T.value=[]},{deep:!0}),e.watch(()=>t.datasets,()=>{T.value=[]},{deep:!0});function I(g){!U&&k.pending.value&&(d.value=new Map(d.value).set(s.value,M(l.value))),s.value=g,l.value=M(t.list.computed?.find(D=>D.field===g)??{field:"",expression:{field:O.value[0]?.field??""},scope:"row"}),l.value.numeric??="number",T.value=[],f.value="",k.accept();const c=d.value.get(g);if(c){l.value=M(c);const D=new Map(d.value);D.delete(g),d.value=D}}function J(){return[...(t.list.computed??[]).filter(c=>c.field!==s.value),M(l.value)]}function i(g){if(t.readonly)return!1;const c=Y.validateReportTemplate({pages:[{widthMm:Math.max(1,g.leftMm+g.widthMm),heightMm:297,components:[g]}]});return c.ok?(f.value="",R=JSON.stringify(g),$(g),!0):(f.value=c.errors.map(D=>D.message).slice(0,3).join(";"),!1)}function h(){if(!l.value.field.trim()){f.value=E.value.missingTarget;return}const g=M(t.list);if(g.computed=J(),g.columns.some(c=>c.field===l.value.field)||g.columns.push({field:l.value.field,header:l.value.field,widthMm:30,semanticRole:"measure",align:"right",editable:!1,format:{kind:"number",...l.value.digits===void 0?{}:{digits:l.value.digits}}}),i(g)){const c=new Map(d.value);c.delete(s.value),c.delete(l.value.field),d.value=c,s.value=l.value.field,k.accept()}}function p(){if(!s.value)return;const g=M(t.list);if(g.computed=(g.computed??[]).filter(c=>c.field!==s.value),i(g)){const c=new Map(d.value);c.delete(s.value),d.value=c,k.accept(),I("")}}function V(){T.value=[],f.value="";const g=t.datasets?.[t.list.dataset];if(!g?.length){f.value=E.value.noData;return}try{const c=z.computeDataset(g.slice(0,1e3),{fields:J(),maxRows:1e3,maxCells:2e6});T.value=c.rows.slice(0,5).map((D,L)=>({row:L+1,value:D[l.value.field]}))}catch(c){f.value=c instanceof Error?c.message:String(c)}}function o(g){l.value.expression=g}function n(g,c){l.value.groupBy=c?[...l.value.groupBy??[],g]:(l.value.groupBy??[]).filter(D=>D!==g)}function F(){m.value.push({field:O.value[0]?.field??"",headerTemplate:"{value}",subtotalLabel:E.value.subtotalLabel,aggregates:[],keepWithNext:!0}),b.value=m.value.length-1}function S(g){const c=b.value,D=c+g;D<0||D>=m.value.length||([m.value[c],m.value[D]]=[m.value[D],m.value[c]],b.value=D)}function te(){m.value.splice(b.value,1),b.value=Math.max(0,Math.min(b.value,m.value.length-1))}function le(){W.value&&(W.value.aggregates??=[]).push({field:O.value[0]?.field??"",op:"sum",numeric:"number"})}function ae(){const g=M(t.list);g.groups=M(m.value),delete g.groupBy,i(g)&&r.accept()}function X(g){!U&&a.pending.value&&(u.value=new Map(u.value).set(w,{when:M(N.value),style:{...C.value}})),w=`${y.value}|${B.value}|${g}`,v.value=g;const c=B.value==="cell"?K.value?.visibleWhen:B.value==="rowVisibility"?t.list.rowVisibleWhen:K.value?.rules?.[g]?.when;N.value=M(c??{field:y.value,op:">",value:0});const D=K.value?.rules?.[g]?.style;C.value={color:String(D?.color??"#b91c1c"),backgroundColor:String(D?.backgroundColor??"#fff1f2"),bold:D?.bold===!0},a.accept();const L=u.value.get(w);if(L){N.value=M(L.when),C.value={...L.style};const j=new Map(u.value);j.delete(w),u.value=j}}function ne(g){const c=t.datasetSchema?.fields.find(j=>j.field===N.value.field),D=t.datasets?.[t.list.dataset]?.find(j=>j[N.value.field]!=null)?.[N.value.field],L=c?.type==="number"||!c&&typeof D=="number";c?.type==="decimal"?N.value.numeric="decimal":L?N.value.numeric="number":delete N.value.numeric,N.value.value=L&&g.trim()&&Number.isFinite(Number(g))?Number(g):g}function oe(g=!1){const c=M(t.list),D=c.columns.find(L=>L.field===y.value);if(!D){f.value=E.value.noSelection;return}if(B.value==="rowVisibility")g?delete c.rowVisibleWhen:c.rowVisibleWhen=M(N.value);else if(B.value==="cell")g?delete D.visibleWhen:D.visibleWhen=M(N.value);else if(D.rules??=[],g&&v.value>=0)D.rules.splice(v.value,1);else{if(g)return;v.value<0?D.rules.push({when:M(N.value),style:{...C.value}}):D.rules[v.value]={when:M(N.value),style:{...C.value}}}if(i(c)){const L=new Map(u.value);L.delete(w),u.value=L,a.accept()}}const re=()=>JSON.stringify(ie());Z.useTemplateToolDraft({key:()=>t.recoveryKey??"rules:0:0",baseline:()=>JSON.stringify(t.list),pending:()=>G.value,snapshot:re,restore(g){const c=JSON.parse(g);l.value=c.formula,m.value=c.groups,N.value=c.when,C.value=c.style,s.value=c.selectedComputed,y.value=c.column,v.value=c.conditionIndex,w=c.conditionKey,B.value=c.effect,x.value=c.tab,d.value=new Map(c.computedDrafts),u.value=new Map(c.conditionDrafts),k.baseline.value=c.formulaBaseline,r.baseline.value=c.groupBaseline,a.baseline.value=c.conditionBaseline}});function ie(){return{formula:l.value,groups:m.value,when:N.value,style:C.value,selectedComputed:s.value,column:y.value,conditionIndex:v.value,conditionKey:w,effect:B.value,tab:x.value,computedDrafts:[...d.value],conditionDrafts:[...u.value],formulaBaseline:k.baseline.value,groupBaseline:r.baseline.value,conditionBaseline:a.baseline.value}}return{m:E,pendingLocalChanges:G,draftSnapshot:()=>JSON.stringify({formula:l.value,groups:m.value,when:N.value,style:C.value,computedDrafts:[...d.value],conditionDrafts:[...u.value]}),tab:x,fields:O,formula:l,groups:m,groupIndex:b,currentGroup:W,column:y,currentColumn:K,conditionIndex:v,effect:B,when:N,style:C,error:f,preview:T,diagnostics:q,selectedComputed:s,loadComputed:I,applyComputed:h,removeComputed:p,check:V,setExpression:o,toggleGroupField:n,addGroup:F,moveGroup:S,removeGroup:te,addAggregate:le,applyGroups:ae,loadCondition:X,setThreshold:ne,applyCondition:oe,applyLayout:i,resetDraft:()=>{R=void 0,A()}}}const zl=["aria-label"],Pl={class:"mr-rule-editor__directory"},Zl=["aria-label"],Ql=["aria-selected","onClick"],Xl={key:0},Yl={key:1},_l={class:"mr-rule-editor__catalog"},ea=["disabled"],ta=["aria-label"],la={class:"mr-rule-editor__field-list"},aa=["disabled","title","onClick"],na={key:1},oa={key:0,class:"mr-rule-editor__panel"},ra=["aria-label","value","disabled"],ia={value:""},da=["value"],sa=["aria-label","disabled"],ua={class:"mr-rule-editor__pair"},ca=["aria-label","disabled"],ma=["value"],ga=["aria-label","disabled"],fa={value:"number"},va={value:"decimal"},ya={key:0,class:"mr-rule-editor__checks"},ba=["checked","disabled","onChange"],ha={key:2,class:"mr-rule-editor__hint"},ka={class:"mr-rule-editor__advanced"},Va=["aria-label","disabled"],Ea=["aria-label","disabled"],Na={value:"propagate"},pa={value:"error"},Da=["aria-label","disabled"],Ba={value:"error"},Sa={value:"null"},wa={key:3,class:"mr-rule-editor__hint"},$a={key:4,class:"mr-rule-editor__diagnostic"},Ca={class:"mr-rule-editor__actions"},xa=["disabled"],Fa=["disabled"],Ta=["disabled"],Ma={key:5,class:"mr-rule-editor__error"},La={key:1,class:"mr-rule-editor__panel"},Ua={class:"mr-rule-editor__pair"},Ra=["aria-label"],Ka=["value"],Oa={key:0,value:0},Aa=["disabled"],Ia=["aria-label","disabled"],Ga=["value"],Wa={class:"mr-rule-editor__pair"},Ja=["aria-label","disabled"],Ha=["aria-label","disabled"],ja={class:"mr-rule-editor__checks"},qa=["disabled"],za=["disabled"],Pa={class:"mr-rule-editor__pair"},Za=["aria-label","onUpdate:modelValue","disabled"],Qa=["value"],Xa=["aria-label","onUpdate:modelValue","disabled"],Ya=["value"],_a=["aria-label","onUpdate:modelValue","disabled"],en={value:void 0},tn=["value"],ln={key:0},an=["aria-label","onUpdate:modelValue","disabled"],nn=["value"],on={class:"mr-rule-editor__pair"},rn=["onUpdate:modelValue","disabled","aria-label"],dn={value:"number"},sn={value:"decimal"},un=["disabled","onClick"],cn=["disabled"],mn={class:"mr-rule-editor__actions"},gn=["disabled","aria-label"],fn=["disabled","aria-label"],vn=["disabled"],yn=["disabled"],bn={key:2,class:"mr-rule-editor__panel"},hn=["aria-label","disabled"],kn=["value"],Vn=["aria-label","disabled"],En={value:"style"},Nn={value:"cell"},pn={value:"rowVisibility"},Dn={key:0},Bn=["aria-label","value","disabled"],Sn={value:-1},wn=["value"],$n=["aria-label","disabled"],Cn=["value"],xn={class:"mr-rule-editor__pair"},Fn=["aria-label","disabled"],Tn=["value"],Mn=["value","disabled"],Ln={class:"mr-rule-editor__pair"},Un=["disabled"],Rn=["disabled"],Kn={class:"mr-rule-editor__check"},On=["disabled"],An={class:"mr-rule-editor__actions"},In=["disabled"],Gn=["disabled"],Wn={class:"mr-rule-editor__explanation"},Jn={key:0},Hn={class:"mr-rule-editor__results"},jn={key:0},qn={key:1},zn={key:1,class:"mr-rule-editor__error",role:"alert"},Pn=e.defineComponent({__name:"RuleEditor",props:{recoveryKey:{},list:{},datasets:{},datasetSchema:{},datasetSchemas:{},readonly:{type:Boolean},messages:{}},emits:["change","dirty"],setup(t,{expose:$,emit:E}){const x=t,f=E,s=ql(x,V=>f("change",V)),{m:l,tab:m,fields:b,formula:y,groups:v,groupIndex:B,currentGroup:N,column:C,currentColumn:T,conditionIndex:k,effect:r,when:a,style:d,error:u,preview:w,diagnostics:U,selectedComputed:G}=s,R=e.ref({}),O=e.ref(0);function W(){s.resetDraft(),R.value={},O.value++}const K=e.computed(()=>s.pendingLocalChanges.value||Object.values(R.value).some(Boolean));e.watch([K,s.draftSnapshot,R],()=>f("dirty",K.value),{immediate:!0,deep:!0,flush:"sync"}),$({get pendingLocalChanges(){return K.value}});const q=ue(x,s.formula,l),{query:A,matches:I,fieldWindow:J,expression:i,sources:h}=q,p=z.getComputationMetadata();return(V,o)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-rule-editor","aria-label":e.unref(l).settings},[e.createElementVNode("aside",Pl,[e.createElementVNode("div",{class:"mr-rule-editor__tabs",role:"tablist","aria-label":e.unref(l).settings},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["computations","groups","conditions","detail","matrix","tree"],n=>e.createElementVNode("button",{key:n,type:"button",role:"tab","aria-selected":e.unref(m)===n,class:e.normalizeClass({"is-active":e.unref(m)===n}),onClick:F=>m.value=n},[e.createTextVNode(e.toDisplayString(e.unref(l)[n]),1),n==="computations"&&t.list.computed?.length?(e.openBlock(),e.createElementBlock("span",Xl,e.toDisplayString(t.list.computed.length),1)):e.createCommentVNode("",!0),n==="groups"&&e.unref(v).length?(e.openBlock(),e.createElementBlock("span",Yl,e.toDisplayString(e.unref(v).length),1)):e.createCommentVNode("",!0)],10,Ql)),64))],8,Zl),e.createElementVNode("div",_l,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).catalog),1),K.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:W},e.toDisplayString(e.unref(l).restoreDraft),9,ea)):e.createCommentVNode("",!0),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).searchFields),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=n=>e.isRef(A)?A.value=n:null),type:"search","aria-label":e.unref(l).searchFields},null,8,ta),[[e.vModelText,e.unref(A)]])]),e.createElementVNode("div",la,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(J),n=>(e.openBlock(),e.createElementBlock("button",{key:n.field,type:"button",disabled:t.readonly||e.unref(m)!=="computations",title:e.unref(l).useField,onClick:F=>e.unref(s).setExpression({field:n.field})},[e.createElementVNode("strong",null,e.toDisplayString(n.label),1),e.createElementVNode("code",null,e.toDisplayString(n.field),1),e.createElementVNode("small",null,e.toDisplayString(n.meta),1)],8,aa))),128))]),e.unref(I).length>50?(e.openBlock(),e.createElementBlock("small",na,e.toDisplayString(e.unref(l).shown)+" 50 / "+e.toDisplayString(e.unref(I).length),1)):e.createCommentVNode("",!0)])]),e.unref(m)==="computations"?(e.openBlock(),e.createElementBlock("div",oa,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).existing),1),e.createElementVNode("select",{"aria-label":e.unref(l).existing,value:e.unref(G),disabled:t.readonly,onChange:o[1]||(o[1]=n=>e.unref(s).loadComputed(n.target.value))},[e.createElementVNode("option",ia,"+ "+e.toDisplayString(e.unref(l).newField),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.list.computed,n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.field),9,da))),128))],40,ra)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).target),1),e.withDirectives(e.createElementVNode("input",{"aria-label":e.unref(l).target,"onUpdate:modelValue":o[2]||(o[2]=n=>e.unref(y).field=n),disabled:t.readonly,autocomplete:"off"},null,8,sa),[[e.vModelText,e.unref(y).field]])]),e.createElementVNode("div",ua,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).scope),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).scope,"onUpdate:modelValue":o[3]||(o[3]=n=>e.unref(y).scope=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p).scopes,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(e.unref(l)[n]),9,ma))),128))],8,ca),[[e.vModelSelect,e.unref(y).scope]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).numeric),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).numeric,"onUpdate:modelValue":o[4]||(o[4]=n=>e.unref(y).numeric=n),disabled:t.readonly},[e.createElementVNode("option",fa,e.toDisplayString(e.unref(l).number),1),e.createElementVNode("option",va,e.toDisplayString(e.unref(l).decimal),1)],8,ga),[[e.vModelSelect,e.unref(y).numeric]])])]),e.unref(y).scope==="group"?(e.openBlock(),e.createElementBlock("fieldset",ya,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(l).groupFields),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),n=>(e.openBlock(),e.createElementBlock("label",{key:n.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(y).groupBy?.includes(n.field),disabled:t.readonly,onChange:F=>e.unref(s).toggleGroupField(n.field,F.target.checked)},null,40,ba),e.createTextVNode(e.toDisplayString(n.label),1)]))),128))])):e.createCommentVNode("",!0),typeof e.unref(y).expression!="string"?(e.openBlock(),e.createBlock(jl,{key:1,"model-value":e.unref(y).expression,fields:e.unref(b),messages:e.unref(l),readonly:t.readonly,"onUpdate:modelValue":e.unref(s).setExpression},null,8,["model-value","fields","messages","readonly","onUpdate:modelValue"])):(e.openBlock(),e.createElementBlock("p",ha,e.toDisplayString(e.unref(y).expression),1)),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(l).advanced),1),e.createElementVNode("div",ka,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).digits),1),e.withDirectives(e.createElementVNode("input",{"aria-label":e.unref(l).digits,"onUpdate:modelValue":o[5]||(o[5]=n=>e.unref(y).digits=n),type:"number",min:"0",max:"100",disabled:t.readonly},null,8,Va),[[e.vModelText,e.unref(y).digits,void 0,{number:!0}]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).nulls),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).nulls,"onUpdate:modelValue":o[6]||(o[6]=n=>e.unref(y).nulls=n),disabled:t.readonly},[e.createElementVNode("option",Na,e.toDisplayString(e.unref(l).propagate),1),e.createElementVNode("option",pa,e.toDisplayString(e.unref(l).error),1)],8,Ea),[[e.vModelSelect,e.unref(y).nulls]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).division),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).division,"onUpdate:modelValue":o[7]||(o[7]=n=>e.unref(y).divisionByZero=n),disabled:t.readonly},[e.createElementVNode("option",Ba,e.toDisplayString(e.unref(l).error),1),e.createElementVNode("option",Sa,e.toDisplayString(e.unref(l).propagate),1)],8,Da),[[e.vModelSelect,e.unref(y).divisionByZero]])])])]),e.unref(y).numeric==="decimal"?(e.openBlock(),e.createElementBlock("p",wa,e.toDisplayString(e.unref(l).decimalHint),1)):e.createCommentVNode("",!0),e.unref(U).valid&&e.unref(y).field?(e.openBlock(),e.createElementBlock("div",$a,[e.createTextVNode(e.toDisplayString(e.unref(l).dependencies),1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(U).order.join(" → ")),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",Ca,[e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:o[8]||(o[8]=(...n)=>e.unref(s).check&&e.unref(s).check(...n))},e.toDisplayString(e.unref(l).check),9,xa),e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly||!e.unref(U).valid,onClick:o[9]||(o[9]=(...n)=>e.unref(s).applyComputed&&e.unref(s).applyComputed(...n))},e.toDisplayString(e.unref(l).apply),9,Fa),e.unref(G)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:o[10]||(o[10]=(...n)=>e.unref(s).removeComputed&&e.unref(s).removeComputed(...n))},e.toDisplayString(e.unref(l).remove),9,Ta)):e.createCommentVNode("",!0)]),!e.unref(U).valid&&e.unref(y).field?(e.openBlock(),e.createElementBlock("p",Ma,e.toDisplayString(e.unref(U).errors.join(";")),1)):e.createCommentVNode("",!0)])):e.unref(m)==="groups"?(e.openBlock(),e.createElementBlock("div",La,[e.createElementVNode("div",Ua,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[11]||(o[11]=n=>e.isRef(B)?B.value=n:null),"aria-label":e.unref(l).groups},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),(n,F)=>(e.openBlock(),e.createElementBlock("option",{key:F,value:F},e.toDisplayString(F+1)+" · "+e.toDisplayString(n.field),9,Ka))),128)),e.unref(v).length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("option",Oa,e.toDisplayString(e.unref(l).noGroups),1))],8,Ra),[[e.vModelSelect,e.unref(B),void 0,{number:!0}]]),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(v).length>=16,onClick:o[12]||(o[12]=(...n)=>e.unref(s).addGroup&&e.unref(s).addGroup(...n))}," + "+e.toDisplayString(e.unref(l).addGroup),9,Aa)]),e.unref(N)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).field),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).field,"onUpdate:modelValue":o[13]||(o[13]=n=>e.unref(N).field=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label),9,Ga))),128))],8,Ia),[[e.vModelSelect,e.unref(N).field]])]),e.createElementVNode("div",Wa,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).header),1),e.withDirectives(e.createElementVNode("input",{"aria-label":e.unref(l).header,"onUpdate:modelValue":o[14]||(o[14]=n=>e.unref(N).headerTemplate=n),disabled:t.readonly,placeholder:"{value}"},null,8,Ja),[[e.vModelText,e.unref(N).headerTemplate]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).footer),1),e.withDirectives(e.createElementVNode("input",{"aria-label":e.unref(l).footer,"onUpdate:modelValue":o[15]||(o[15]=n=>e.unref(N).subtotalLabel=n),disabled:t.readonly},null,8,Ha),[[e.vModelText,e.unref(N).subtotalLabel]])])]),e.createElementVNode("div",ja,[e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[16]||(o[16]=n=>e.unref(N).keepWithNext=n),type:"checkbox",disabled:t.readonly},null,8,qa),[[e.vModelCheckbox,e.unref(N).keepWithNext]]),e.createTextVNode(e.toDisplayString(e.unref(l).orphan),1)]),e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[17]||(o[17]=n=>e.unref(N).repeatHeader=n),type:"checkbox",disabled:t.readonly},null,8,za),[[e.vModelCheckbox,e.unref(N).repeatHeader]]),e.createTextVNode(e.toDisplayString(e.unref(l).repeat),1)])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(N).aggregates,(n,F)=>(e.openBlock(),e.createElementBlock("div",{key:F,class:"mr-rule-editor__aggregate"},[e.createElementVNode("div",Pa,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).output),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).output,"onUpdate:modelValue":S=>n.field=S,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),S=>(e.openBlock(),e.createElementBlock("option",{key:S.field,value:S.field},e.toDisplayString(S.label),9,Qa))),128))],8,Za),[[e.vModelSelect,n.field]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).aggregate),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).aggregate,"onUpdate:modelValue":S=>n.op=S,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p).aggregates,S=>(e.openBlock(),e.createElementBlock("option",{key:S,value:S},e.toDisplayString(e.unref(l)[S]),9,Ya))),128))],8,Xa),[[e.vModelSelect,n.op]])])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).measure),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).measure,"onUpdate:modelValue":S=>n.valueField=S,disabled:t.readonly},[e.createElementVNode("option",en,e.toDisplayString(n.field),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),S=>(e.openBlock(),e.createElementBlock("option",{key:S.field,value:S.field},e.toDisplayString(S.label),9,tn))),128))],8,_a),[[e.vModelSelect,n.valueField]])]),n.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",ln,[e.createTextVNode(e.toDisplayString(e.unref(l).weight),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).weight,"onUpdate:modelValue":S=>n.weightField=S,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),S=>(e.openBlock(),e.createElementBlock("option",{key:S.field,value:S.field},e.toDisplayString(S.label),9,nn))),128))],8,an),[[e.vModelSelect,n.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",on,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":S=>n.numeric=S,disabled:t.readonly,"aria-label":e.unref(l).numeric},[e.createElementVNode("option",dn,e.toDisplayString(e.unref(l).number),1),e.createElementVNode("option",sn,e.toDisplayString(e.unref(l).decimal),1)],8,rn),[[e.vModelSelect,n.numeric]]),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:S=>e.unref(N).aggregates?.splice(F,1)},e.toDisplayString(e.unref(l).remove),9,un)])]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:o[18]||(o[18]=(...n)=>e.unref(s).addAggregate&&e.unref(s).addAggregate(...n))}," + "+e.toDisplayString(e.unref(l).addAggregate),9,cn),e.createElementVNode("div",mn,[e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(B)===0,"aria-label":e.unref(l).moveUp,onClick:o[19]||(o[19]=n=>e.unref(s).moveGroup(-1))}," ↑ "+e.toDisplayString(e.unref(l).outer),9,gn),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(B)>=e.unref(v).length-1,"aria-label":e.unref(l).moveDown,onClick:o[20]||(o[20]=n=>e.unref(s).moveGroup(1))}," ↓ "+e.toDisplayString(e.unref(l).inner),9,fn),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:o[21]||(o[21]=(...n)=>e.unref(s).removeGroup&&e.unref(s).removeGroup(...n))},e.toDisplayString(e.unref(l).remove),9,vn)])],64)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly,onClick:o[22]||(o[22]=(...n)=>e.unref(s).applyGroups&&e.unref(s).applyGroups(...n))},e.toDisplayString(e.unref(l).apply),9,yn)])):e.unref(m)==="conditions"?(e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).column),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).column,"onUpdate:modelValue":o[23]||(o[23]=n=>e.isRef(C)?C.value=n:null),disabled:t.readonly,onChange:o[24]||(o[24]=n=>e.unref(s).loadCondition(-1))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.list.columns,n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.header||n.field),9,kn))),128))],40,hn),[[e.vModelSelect,e.unref(C)]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).effect),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).effect,"onUpdate:modelValue":o[25]||(o[25]=n=>e.isRef(r)?r.value=n:null),disabled:t.readonly,onChange:o[26]||(o[26]=n=>e.unref(s).loadCondition(-1))},[e.createElementVNode("option",En,e.toDisplayString(e.unref(l).style),1),e.createElementVNode("option",Nn,e.toDisplayString(e.unref(l).cell),1),e.createElementVNode("option",pn,e.toDisplayString(e.unref(l).rowVisibility),1)],40,Vn),[[e.vModelSelect,e.unref(r)]])]),e.unref(r)==="style"?(e.openBlock(),e.createElementBlock("label",Dn,[e.createTextVNode(e.toDisplayString(e.unref(l).existing),1),e.createElementVNode("select",{"aria-label":e.unref(l).existing,value:e.unref(k),disabled:t.readonly,onChange:o[27]||(o[27]=n=>e.unref(s).loadCondition(Number(n.target.value)))},[e.createElementVNode("option",Sn,"+ "+e.toDisplayString(e.unref(l).newCondition),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(T)?.rules,(n,F)=>(e.openBlock(),e.createElementBlock("option",{key:F,value:F},e.toDisplayString(F+1)+" · "+e.toDisplayString(n.when.field)+" "+e.toDisplayString(n.when.op)+" "+e.toDisplayString(n.when.value),9,wn))),128))],40,Bn)])):e.createCommentVNode("",!0),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).condition),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).condition,"onUpdate:modelValue":o[28]||(o[28]=n=>e.unref(a).field=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label),9,Cn))),128))],8,$n),[[e.vModelSelect,e.unref(a).field]])]),e.createElementVNode("div",xn,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).comparison),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).comparison,"onUpdate:modelValue":o[29]||(o[29]=n=>e.unref(a).op=n),disabled:t.readonly},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([">",">=","<","<=","==","!="],n=>e.createElementVNode("option",{key:n,value:n},e.toDisplayString(n),9,Tn)),64))],8,Fn),[[e.vModelSelect,e.unref(a).op]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).threshold),1),e.createElementVNode("input",{value:e.unref(a).value,disabled:t.readonly,onInput:o[30]||(o[30]=n=>e.unref(s).setThreshold(n.target.value))},null,40,Mn)])]),e.unref(r)==="style"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",Ln,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).color),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[31]||(o[31]=n=>e.unref(d).color=n),type:"color",disabled:t.readonly},null,8,Un),[[e.vModelText,e.unref(d).color]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).background),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[32]||(o[32]=n=>e.unref(d).backgroundColor=n),type:"color",disabled:t.readonly},null,8,Rn),[[e.vModelText,e.unref(d).backgroundColor]])])]),e.createElementVNode("label",Kn,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[33]||(o[33]=n=>e.unref(d).bold=n),type:"checkbox",disabled:t.readonly},null,8,On),[[e.vModelCheckbox,e.unref(d).bold]]),e.createTextVNode(e.toDisplayString(e.unref(l).bold),1)])],64)):e.createCommentVNode("",!0),e.createElementVNode("div",An,[e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly,onClick:o[34]||(o[34]=n=>e.unref(s).applyCondition())},e.toDisplayString(e.unref(l).apply),9,In),e.unref(k)>=0||e.unref(r)!=="style"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:o[35]||(o[35]=n=>e.unref(s).applyCondition(!0))},e.toDisplayString(e.unref(l).removeCondition),9,Gn)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["detail","matrix","tree"],n=>e.withDirectives(e.createVNode(fl,{key:`${n}-${O.value}`,list:t.list,"recovery-key":t.recoveryKey,mode:n,datasets:t.datasets,"dataset-schema":t.datasetSchema,"dataset-schemas":t.datasetSchemas,readonly:t.readonly,messages:e.unref(l),accept:e.unref(s).applyLayout,onDirty:F=>R.value={...R.value,[n]:F}},null,8,["list","recovery-key","mode","datasets","dataset-schema","dataset-schemas","readonly","messages","accept","onDirty"]),[[e.vShow,e.unref(m)===n]])),64)),e.createElementVNode("aside",Wn,[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).explanation),1),K.value?(e.openBlock(),e.createElementBlock("span",Jn,e.toDisplayString(e.unref(l).pending),1)):e.createCommentVNode("",!0)]),e.createElementVNode("p",null,e.toDisplayString(e.unref(l).sourceHint),1),e.unref(m)==="computations"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("h4",null,e.toDisplayString(e.unref(l).expression),1),e.createElementVNode("code",null,e.toDisplayString(e.unref(i)),1),e.createElementVNode("div",Hn,[e.createElementVNode("h4",null,e.toDisplayString(e.unref(l).sourceValues)+" → "+e.toDisplayString(e.unref(l).result),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),n=>(e.openBlock(),e.createElementBlock("div",{key:n.row,class:"mr-rule-editor__trace"},[e.createElementVNode("small",null,"#"+e.toDisplayString(n.row),1),e.createElementVNode("code",null,e.toDisplayString(n.values),1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(w).find(F=>F.row===n.row)?.value??(e.unref(w).length?"—":e.unref(l).notChecked)),1)]))),128)),e.unref(w).some(n=>n.value==null)?(e.openBlock(),e.createElementBlock("p",jn,e.toDisplayString(e.unref(l).nullReason),1)):e.createCommentVNode("",!0),e.unref(w).length?(e.openBlock(),e.createElementBlock("p",qn,e.toDisplayString(e.unref(l).sample),1)):e.createCommentVNode("",!0)])],64)):e.createCommentVNode("",!0),e.unref(u)?(e.openBlock(),e.createElementBlock("p",zn,e.toDisplayString(e.unref(u)),1)):e.createCommentVNode("",!0)])],8,zl))}}),Zn=Q._export_sfc(Pn,[["__scopeId","data-v-f5eea239"]]);exports.default=Zn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("./template-outline-BwRV_eRo.cjs"),E=require("./designer-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("./template-outline-BwRV_eRo.cjs"),E=require("./designer-uCDo5XSK.cjs"),h=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),y=["aria-label"],S={class:"sr-only"},V=["placeholder"],B={class:"mr-outline-layout"},N={class:"mr-outline-tree"},D=["onClick"],f={class:"mr-outline-kind"},b={key:0},C={key:0,class:"mr-product-note"},T={key:0},$=["onClick"],L=e.defineComponent({__name:"TemplateOutlinePanel",props:{document:{},selection:{},messages:{}},emits:["locate"],setup(m,{emit:p}){const c=m,u=p,l=e.computed(()=>({...E.TEMPLATE_PRODUCT_MESSAGES,...c.messages})),r=e.ref(""),s=e.ref(100),a=e.ref(),v=e.computed(()=>d.collectTemplateOutline(c.document.template)),i=e.computed(()=>{const n=r.value.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return v.value.filter(o=>n.every(t=>`${o.title} ${o.dataset??""} ${o.path}`.toLocaleLowerCase().includes(t)))}),g=e.computed(()=>a.value?d.inspectTemplateFieldUsage(c.document.template,a.value.dataset,a.value.field):[]);function k(n){u("locate",n),n.dataset&&n.field&&(a.value={dataset:n.dataset,field:n.field})}return(n,o)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-product-panel mr-outline","aria-label":l.value.outline},[e.createElementVNode("header",null,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(l.value.outline),1),e.createElementVNode("small",null,e.toDisplayString(i.value.length)+" "+e.toDisplayString(l.value.count),1)]),e.createElementVNode("label",null,[e.createElementVNode("span",S,e.toDisplayString(l.value.search),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=t=>r.value=t),type:"search",placeholder:l.value.search,onInput:o[1]||(o[1]=t=>s.value=100)},null,40,V),[[e.vModelText,r.value]])])]),e.createElementVNode("div",B,[e.createElementVNode("ol",N,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.slice(0,s.value),t=>(e.openBlock(),e.createElementBlock("li",{key:t.path,style:e.normalizeStyle({"--depth":t.depth})},[e.createElementVNode("button",{type:"button",onClick:_=>k(t)},[e.createElementVNode("span",f,e.toDisplayString(l.value[t.kind]),1),e.createElementVNode("strong",null,e.toDisplayString(t.title),1),t.dataset?(e.openBlock(),e.createElementBlock("small",b,e.toDisplayString(t.dataset),1)):e.createCommentVNode("",!0)],8,D)],4))),128)),i.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",C,e.toDisplayString(l.value.noMatches),1))]),a.value?(e.openBlock(),e.createElementBlock("aside",T,[e.createElementVNode("h3",null,e.toDisplayString(l.value.usages)+" · "+e.toDisplayString(a.value.field),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value.slice(0,100),t=>(e.openBlock(),e.createElementBlock("button",{key:t.path,type:"button",class:"mr-outline-reference",onClick:_=>u("locate",t)},[e.createElementVNode("span",null,e.toDisplayString(t.pageIndex===void 0?l.value.binding:`${l.value.page} ${t.pageIndex+1}`)+" · "+e.toDisplayString(l.value[t.kind==="display"?"field":t.kind]),1),e.createElementVNode("code",null,e.toDisplayString(t.path),1)],8,$))),128))])):e.createCommentVNode("",!0)]),i.value.length>s.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mr-product-more",onClick:o[2]||(o[2]=t=>s.value+=100)},e.toDisplayString(l.value.more)+" · "+e.toDisplayString(i.value.length-s.value),1)):e.createCommentVNode("",!0)],8,y))}}),x=h._export_sfc(L,[["__scopeId","data-v-c1e2eb2c"]]);exports.default=x;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as x, computed as r, ref as _, openBlock as s, createElementBlock as n, createElementVNode as t, toDisplayString as l, withDirectives as E, vModelText as L, Fragment as g, renderList as k, normalizeStyle as S, createCommentVNode as p } from "vue";
|
|
2
2
|
import { c as I, i as M } from "./template-outline-cnWfT_LK.js";
|
|
3
|
-
import { b as O } from "./designer-
|
|
3
|
+
import { b as O } from "./designer-D9XAxqSc.js";
|
|
4
4
|
import { _ as P } from "./_plugin-vue_export-helper-8SL1F89S.js";
|
|
5
5
|
const w = ["aria-label"], B = { class: "sr-only" }, D = ["placeholder"], U = { class: "mr-outline-layout" }, V = { class: "mr-outline-tree" }, A = ["onClick"], F = { class: "mr-outline-kind" }, N = { key: 0 }, q = {
|
|
6
6
|
key: 0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed as f, ref as S, watch as q, defineComponent as J, openBlock as d, createElementBlock as r, unref as e, createElementVNode as i, toDisplayString as a, createCommentVNode as w, Fragment as x, createTextVNode as U, withDirectives as $, isRef as D, renderList as O, vModelSelect as P, vModelText as M, normalizeStyle as L } from "vue";
|
|
2
|
-
import { b as G, c as H, i as W, a as K } from "./template-fragments-
|
|
3
|
-
import { b as Q } from "./designer-
|
|
2
|
+
import { b as G, c as H, i as W, a as K } from "./template-fragments-DmX5XK4N.js";
|
|
3
|
+
import { b as Q } from "./designer-D9XAxqSc.js";
|
|
4
4
|
import { _ as X } from "./_plugin-vue_export-helper-8SL1F89S.js";
|
|
5
5
|
function Y(l, A) {
|
|
6
6
|
const m = f(() => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),h=require("./template-fragments-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),h=require("./template-fragments-BajTajb4.cjs"),T=require("./designer-uCDo5XSK.cjs"),C=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function w(l,_){const i=e.computed(()=>({...T.TEMPLATE_PRODUCT_MESSAGES,...l.messages})),v=e.ref([]),a=e.ref(""),d=e.ref("body"),m=e.ref(""),b=e.ref(""),S=e.ref(),f=e.ref({}),p=e.computed(()=>[...l.fragments??[],...v.value]);e.watch(p,o=>{o.some(n=>n.id===a.value)||(a.value=o[0]?.id??"")},{immediate:!0});const r=e.computed(()=>p.value.find(o=>o.id===a.value)??p.value[0]),k=e.computed(()=>{try{return r.value?h.inspectTemplateFragmentBindings(r.value):[]}catch(o){return[{dataset:"",fields:[],error:String(o)}]}});e.watch(r,()=>{f.value={datasets:Object.fromEntries(k.value.map(o=>[o.dataset,l.document.template.repeat?.dataset??o.dataset])),fields:Object.fromEntries(k.value.map(o=>[o.dataset,Object.fromEntries(o.fields.map(n=>[n,n]))]))}},{immediate:!0});const s=e.computed(()=>l.selection?.pageIndex===l.pageIndex?l.document.template.pages[l.pageIndex]?.components[l.selection.componentIndex]:void 0),y=e.computed(()=>s.value?.meta?.fragment),x=e.computed(()=>y.value&&r.value?.id===y.value.id&&r.value.revision!==y.value.revision),g=e.computed(()=>l.styles?.length?l.styles:[{id:"title",name:i.value.styleText,style:{fontSize:18,bold:!0,color:"#183b65"}},{id:"heading",name:i.value.styleHeading,target:"header",style:{fontSize:10,bold:!0,color:"#21466e",backgroundColor:"#eaf2fb",align:"center",verticalAlign:"middle"}},{id:"body",name:i.value.styleBody,style:{fontSize:10,color:"#334155",bold:!1}},{id:"number",name:i.value.styleNumber,style:{fontSize:10,align:"right",color:"#334155"}},{id:"note",name:i.value.styleNote,style:{fontSize:8,color:"#64748b",bold:!1}}]),u=e.computed(()=>g.value.find(o=>o.id===d.value)??g.value[0]);e.watch(g,o=>{o.some(n=>n.id===d.value)||(d.value=o[0]?.id??"")},{immediate:!0});function E(o){if(!l.disabled){b.value="";try{o()}catch(n){b.value=n instanceof Error?n.message:String(n)}}}function V(){E(()=>{if(!l.selection||!s.value)throw new Error(i.value.select);if(!m.value.trim())throw new Error(i.value.nameRequired);let o=v.value.length+1;const n=new Set(p.value.map(c=>c.id));for(;n.has(`session-fragment-${o}`);)o++;const t=`session-fragment-${o}`;v.value.push(h.captureTemplateFragment(l.document,l.pageIndex,[l.selection.componentIndex],{id:t,name:m.value.trim(),revision:"1"})),a.value=t,m.value=""})}function N(o=!1){E(()=>{if(!r.value)return;const n=h.insertTemplateFragment(l.document,r.value,{pageIndex:l.pageIndex,bindings:f.value,...o?{replaceInstance:y.value?.instance}:{}});l.accept(t=>{t.template=n.document.template})&&_({pageIndex:l.pageIndex,componentIndex:n.componentIndices[0]})})}function B(o=u.value){E(()=>{if(!l.selection||!s.value)return;const n=h.applyReportDocumentStyle(l.document,l.pageIndex,[l.selection.componentIndex],o);l.accept(t=>{t.template=n.template})})}function D(){s.value&&(S.value=JSON.parse(JSON.stringify(s.value.kind==="list"?s.value.columns[0]?.style??{}:s.value.style??{})))}return{m:i,local:v,name:m,fragmentId:a,fragments:p,fragment:r,bindings:f,required:k,active:s,instance:y,canUpdate:x,error:b,styles:g,styleId:d,style:u,clipboard:S,capture:V,insert:N,apply:B,copyStyle:D}}const F=["aria-label"],R={key:0,role:"alert",class:"mr-reuse-error"},U={class:"mr-reuse-layout"},$={key:0,class:"mr-product-note"},q=["value"],z={class:"mr-product-note"},M={key:0},O={key:0,class:"mr-reuse-bindings"},A={key:0,role:"alert"},L=["onUpdate:modelValue","disabled"],P=["onUpdate:modelValue","aria-label","disabled"],j={class:"mr-reuse-actions"},H=["disabled"],J=["disabled"],G={key:1,class:"mr-product-note"},W={class:"mr-reuse-bindings"},K=["disabled"],Q=["disabled"],X={class:"mr-product-note"},Y=["value"],Z={key:0,class:"mr-product-note"},ee={class:"mr-reuse-actions"},te=["disabled"],ne=["disabled"],le=["disabled"],ae=e.defineComponent({__name:"TemplateReusePanel",props:{document:{},pageIndex:{},selection:{},fragments:{},styles:{},disabled:{type:Boolean},messages:{},accept:{type:Function}},emits:["select"],setup(l,{emit:_}){const i=l,v=_,{m:a,name:d,fragmentId:m,fragments:b,fragment:S,bindings:f,required:p,active:r,instance:k,canUpdate:s,error:y,styles:x,styleId:g,style:u,clipboard:E,capture:V,insert:N,apply:B,copyStyle:D}=w(i,o=>v("select",o));return(o,n)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-product-panel","aria-label":e.unref(a).reuse},[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(a).reuse),1),e.createElementVNode("small",null,e.toDisplayString(e.unref(a).preserve),1)]),e.unref(y)?(e.openBlock(),e.createElementBlock("p",R,e.toDisplayString(e.unref(y)),1)):e.createCommentVNode("",!0),e.createElementVNode("div",U,[e.createElementVNode("section",null,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(a).fragments),1),e.unref(b).length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).fragments),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=t=>e.isRef(m)?m.value=t:null)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),t=>(e.openBlock(),e.createElementBlock("option",{key:t.id,value:t.id},e.toDisplayString(t.name)+" · "+e.toDisplayString(t.revision),9,q))),128))],512),[[e.vModelSelect,e.unref(m)]])]),e.createElementVNode("p",z,[e.createTextVNode(e.toDisplayString(e.unref(a).revision)+" "+e.toDisplayString(e.unref(S)?.revision),1),e.unref(k)?(e.openBlock(),e.createElementBlock("span",M," · "+e.toDisplayString(e.unref(a).instance)+" "+e.toDisplayString(e.unref(k).revision),1)):e.createCommentVNode("",!0)]),e.unref(p).length?(e.openBlock(),e.createElementBlock("div",O,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(a).bindings),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.dataset},["error"in t?(e.openBlock(),e.createElementBlock("p",A,e.toDisplayString(t.error),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).dataset)+" · "+e.toDisplayString(t.dataset),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c=>e.unref(f).datasets[t.dataset]=c,disabled:l.disabled},null,8,L),[[e.vModelText,e.unref(f).datasets[t.dataset]]])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,c=>(e.openBlock(),e.createElementBlock("label",{key:c},[e.createTextVNode(e.toDisplayString(c),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":I=>e.unref(f).fields[t.dataset][c]=I,"aria-label":`${e.unref(a).target} ${c}`,disabled:l.disabled},null,8,P),[[e.vModelText,e.unref(f).fields[t.dataset][c]]])]))),128))],64))],64))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",j,[e.createElementVNode("button",{type:"button",class:"mr-reuse-primary",disabled:l.disabled||!e.unref(S),onClick:n[1]||(n[1]=t=>e.unref(N)())},e.toDisplayString(e.unref(a).insert),9,H),e.unref(s)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:l.disabled,onClick:n[2]||(n[2]=t=>e.unref(N)(!0))},e.toDisplayString(e.unref(a).update),9,J)):e.createCommentVNode("",!0)]),e.unref(s)?(e.openBlock(),e.createElementBlock("p",G,e.toDisplayString(e.unref(a).newRevision),1)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("p",$,e.toDisplayString(e.unref(a).noFragments),1)),e.createElementVNode("div",W,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).fragmentName),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[3]||(n[3]=t=>e.isRef(d)?d.value=t:null),disabled:l.disabled||!e.unref(r)},null,8,K),[[e.vModelText,e.unref(d)]])]),e.createElementVNode("button",{type:"button",disabled:l.disabled||!e.unref(r)||!e.unref(d).trim(),onClick:n[4]||(n[4]=(...t)=>e.unref(V)&&e.unref(V)(...t))},e.toDisplayString(e.unref(a).capture),9,Q)])]),e.createElementVNode("section",null,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(a).styles),1),e.createElementVNode("p",X,e.toDisplayString(e.unref(a).noStyles),1),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(a).role),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":n[5]||(n[5]=t=>e.isRef(g)?g.value=t:null)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),t=>(e.openBlock(),e.createElementBlock("option",{key:t.id,value:t.id},e.toDisplayString(t.name),9,Y))),128))],512),[[e.vModelSelect,e.unref(g)]])]),e.createElementVNode("div",{class:"mr-reuse-swatch",style:e.normalizeStyle({color:e.unref(u).style.color,backgroundColor:e.unref(u).style.backgroundColor,fontSize:`${e.unref(u).style.fontSize??10}pt`,fontWeight:e.unref(u).style.bold?600:400,textAlign:e.unref(u).style.align})},e.toDisplayString(e.unref(u).name)+" · Aa 0123 ",5),e.unref(r)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",Z,e.toDisplayString(e.unref(a).select),1)),e.createElementVNode("div",ee,[e.createElementVNode("button",{type:"button",class:"mr-reuse-primary",disabled:l.disabled||!e.unref(r),onClick:n[6]||(n[6]=t=>e.unref(B)())},e.toDisplayString(e.unref(a).apply),9,te),e.createElementVNode("button",{type:"button",disabled:!e.unref(r),onClick:n[7]||(n[7]=(...t)=>e.unref(D)&&e.unref(D)(...t))},e.toDisplayString(e.unref(a).copy),9,ne),e.createElementVNode("button",{type:"button",disabled:l.disabled||!e.unref(r)||!e.unref(E),onClick:n[8]||(n[8]=t=>e.unref(B)({id:"clipboard",name:e.unref(a).paste,style:e.unref(E)}))},e.toDisplayString(e.unref(a).paste),9,le)])])])],8,F))}}),oe=C._export_sfc(ae,[["__scopeId","data-v-45be4c24"]]);exports.default=oe;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { shallowRef as q, ref as C, computed as P, watch as H, onBeforeUnmount as re, toRaw as ne, defineComponent as se, openBlock as r, createElementBlock as n, toDisplayString as t, createCommentVNode as v, Fragment as N, createElementVNode as l, createVNode as X, unref as s, createTextVNode as R, withDirectives as U, isRef as L, vModelSelect as oe, renderList as B, vModelText as Y, vModelCheckbox as Z, normalizeClass as K, createBlock as ue } from "vue";
|
|
2
2
|
import { reviewReportTemplateAsync as ie, paginateTemplate as ce } from "@agile-team/mach-report";
|
|
3
|
-
import { T as Q } from "./designer-
|
|
3
|
+
import { T as Q } from "./designer-D9XAxqSc.js";
|
|
4
4
|
import { ReportPreview as ee } from "@agile-team/mach-report/vue";
|
|
5
5
|
import { c as de } from "./template-bindings-C2SpvsMU.js";
|
|
6
6
|
import { _ as le } from "./_plugin-vue_export-helper-8SL1F89S.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),A=require("@agile-team/mach-report"),j=require("./designer-BT7XCdbW.cjs"),O=require("@agile-team/mach-report/vue"),L=require("./template-bindings-CEtWyiLX.cjs"),$=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function z(n,s=()=>n.fixtures){const o=e.shallowRef(),r=e.shallowRef([]),t=e.ref("20"),a=e.ref(!1),p=e.ref(!1),i=e.ref(!1),g=e.ref(""),d=e.shallowRef(),m=e.ref(!1),D=e.shallowRef(),v=e.computed(()=>new Set(n.document.template.pages.flatMap(u=>u.components).flatMap(u=>u.kind==="list"&&u.tree?[u.dataset]:[]))),B=e.computed(()=>v.value.size>0);let y=0,c;function S(){y++,c?.abort(),c=void 0,p.value=!1,m.value=!1,d.value=void 0,i.value=!!o.value,g.value=""}for(const u of[()=>n.document,()=>n.previous])e.watch(u,()=>{a.value=!1,S()},{deep:!0,flush:"sync"});for(const u of[()=>n.datasets,()=>n.dataSchemas,()=>n.formats,s])e.watch(u,S,{deep:!0,flush:"sync"});e.watch([t,a],S,{flush:"sync"}),e.onBeforeUnmount(()=>{y++,c?.abort()});const C=e.computed(()=>o.value?.issues.filter(u=>u.severity==="error").length??0);function w(){c?.abort(),c=new AbortController;const u=++y,_=c;p.value=!0,g.value="",m.value=!1,d.value=void 0,F(u,_)}async function F(u,_){try{const k=Number(t.value),M=Object.fromEntries(Object.entries(n.datasets??{}).map(([V,h])=>[V,k<0||v.value.has(V)?h:h.slice(0,k)])),b=s(),N=b?.length?[...b]:k===0?[]:[{name:t.value,datasets:M}],x=await A.reviewReportTemplateAsync(n.document,{previous:n.previous,dataSchemas:n.dataSchemas,formats:n.formats,allowBreakingChanges:a.value,...!b?.length&&B.value&&k>0?{maxSampleRows:k}:{},fixtures:N,signal:_.signal,onProgress:V=>{u===y&&(d.value=V)}});if(u!==y)return;o.value=x,i.value=!1,r.value=N,D.value={requested:t.value,rows:x.samples.reduce((V,h)=>V+h.rows,0),datasets:new Set(N.flatMap(V=>Object.keys(V.datasets))).size,formats:[...n.formats??[]]}}catch(k){u===y&&!_.signal.aborted&&(g.value=k instanceof Error?k.message:String(k))}finally{u===y&&(p.value=!1,c=void 0)}}function R(){y++,c?.abort(),c=void 0,p.value=!1,m.value=!0,d.value=void 0}return{report:o,sampleSize:t,acknowledged:a,running:p,stale:i,failure:g,checkedScope:D,checkedFixtures:r,hasTree:B,errors:C,run:w,cancel:R,progress:d,cancelled:m}}function I(n){const s=Object.getPrototypeOf(n);if(s!==Object.prototype&&s!==Array.prototype&&s!==null)throw new Error("Sample data must contain plain JSON objects");if(Object.getOwnPropertySymbols(n).length)throw new Error("Sample data must not contain symbols");if(Array.isArray(n)&&Object.keys(n).length!==n.length)throw new Error("Sample arrays must not contain holes or extra properties")}function U(n){let s=0,o=0;const r=new Set;function t(a,p){if(++s>1e5||p>32)throw new RangeError("Sample data exceeds the capture budget");if(typeof a=="string"){if(o+=a.length,o>2e6)throw new RangeError("Sample text exceeds the capture budget");return a}if(a===null||typeof a=="boolean"||typeof a=="number"&&Number.isFinite(a))return a;if(!a||typeof a!="object")throw new Error("Sample data must contain plain JSON values");const i=e.toRaw(a);if(r.has(i))throw new Error("Sample data must not contain cycles");I(i),r.add(i);const g=Array.isArray(i)?[]:Object.create(null);for(const d of Object.keys(i)){const m=Object.getOwnPropertyDescriptor(i,d);if(m.get||m.set||["__proto__","constructor","prototype"].includes(d))throw new Error("Sample data must not contain getters or unsafe keys");g[d]=t(m.value,p+1)}return r.delete(i),g}return t(n,0)}function H(n,s=()=>j.TEMPLATE_REVIEW_MESSAGES){const o=e.ref([]),r=e.ref(""),t=e.ref(!1),a=e.ref(""),p=e.ref({}),i=e.computed(()=>[...n.fixtures??[],...o.value]);function g(){a.value="";try{if(!t.value)throw new Error(s().sampleConsentMissing);if(!r.value.trim())throw new Error(s().sampleNameMissing);if(i.value.length>=20)throw new Error(s().sampleLimit);if(i.value.some(D=>D.name===r.value.trim()))throw new Error(s().sampleNameDuplicate);const m=U(n.datasets??{});if(Object.values(m).reduce((D,v)=>D+v.length,0)>1e3)throw new Error(s().sampleRowsLimit);o.value.push({name:r.value.trim(),datasets:m,...Object.keys(p.value).length?{params:{...p.value}}:{}}),r.value="",t.value=!1}catch(m){a.value=m instanceof Error?m.message:String(m)}}function d(m){o.value.splice(m,1)}return{fixtures:o,name:r,consent:t,failure:a,params:p,suite:i,capture:g,remove:d}}function P(n,s){const o=A.paginateTemplate(n.template,s.datasets,{maxPages:100,maxCells:25e4}),r=[...new Set(L.collectTemplateDatasetBindings(n.template).flatMap(t=>t.fields.map(a=>`${t.dataset}.${a.field}`)))];return{pages:o.plan.pages.length,dimensions:[...new Set(o.plan.pages.map(t=>`${t.pageWidthMm} × ${t.pageHeightMm} mm`))],fields:r,fetcher:async()=>o.plan}}function W(n,s,o){const r=P(n,s),t=o?P(o,s):void 0,a=new Set(t?.fields),p=new Set(r.fields);return{current:r,previous:t,addedFields:r.fields.filter(i=>!a.has(i)),removedFields:t?.fields.filter(i=>!p.has(i))??[]}}const G=["aria-label"],J={key:0,role:"alert"},K={class:"mr-fixture-previews"},Q={key:0},X=e.defineComponent({__name:"TemplateFixtureComparison",props:{document:{},previous:{},fixture:{},messages:{}},setup(n){const s=n,o=e.computed(()=>({...j.TEMPLATE_REVIEW_MESSAGES,...s.messages})),r=e.computed(()=>{try{return{result:W(s.document,s.fixture,s.previous)}}catch(t){return{error:t instanceof Error?t.message:String(t)}}});return(t,a)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-fixture-comparison","aria-label":o.value.compare},[r.value.error?(e.openBlock(),e.createElementBlock("p",J,e.toDisplayString(r.value.error),1)):e.createCommentVNode("",!0),r.value.result?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("dl",null,[e.createElementVNode("dt",null,e.toDisplayString(o.value.pages),1),e.createElementVNode("dd",null,e.toDisplayString(r.value.result.previous?.pages??"—")+" → "+e.toDisplayString(r.value.result.current.pages),1),e.createElementVNode("dt",null,e.toDisplayString(o.value.dimensions),1),e.createElementVNode("dd",null,e.toDisplayString(r.value.result.previous?.dimensions.join(" / ")??"—")+" → "+e.toDisplayString(r.value.result.current.dimensions.join(" / ")),1),e.createElementVNode("dt",null,e.toDisplayString(o.value.fieldsAdded),1),e.createElementVNode("dd",null,e.toDisplayString(r.value.result.addedFields.join("、")||"—"),1),e.createElementVNode("dt",null,e.toDisplayString(o.value.fieldsRemoved),1),e.createElementVNode("dd",null,e.toDisplayString(r.value.result.removedFields.join("、")||"—"),1)]),e.createElementVNode("div",K,[r.value.result.previous?(e.openBlock(),e.createElementBlock("article",Q,[e.createElementVNode("h4",null,e.toDisplayString(o.value.baselinePreview),1),e.createVNode(e.unref(O.ReportPreview),{"report-id":"baseline",fetcher:r.value.result.previous.fetcher,"show-params":!1,"show-export":!1,"show-print":!1,"show-pdf-window":!1,editable:!1,"excel-import":!1,height:"400px"},null,8,["fetcher"])])):e.createCommentVNode("",!0),e.createElementVNode("article",null,[e.createElementVNode("h4",null,e.toDisplayString(o.value.draftPreview),1),e.createVNode(e.unref(O.ReportPreview),{"report-id":"draft",fetcher:r.value.result.current.fetcher,"show-params":!1,"show-export":!1,"show-print":!1,"show-pdf-window":!1,editable:!1,"excel-import":!1,height:"400px"},null,8,["fetcher"])])])],64)):e.createCommentVNode("",!0)],8,G))}}),Y=$._export_sfc(X,[["__scopeId","data-v-211ee4bf"]]),Z=["aria-label","aria-busy"],ee={key:0,role:"status"},te=["disabled"],le={key:0,class:"mr-review-stale",role:"status"},ne={class:"mr-review-controls"},re=["aria-label","disabled"],oe={value:"0"},ae={value:"20"},se={value:"100"},ie={value:"-1"},ce={key:0,class:"mr-review-note"},ue={class:"mr-review-fixtures"},de={class:"mr-review-note"},me={key:0},pe=["disabled","onClick"],fe={class:"mr-review-fixture-form"},ve=["placeholder","disabled"],ge={key:0},ye=["onUpdate:modelValue","placeholder","disabled"],ke={class:"mr-review-consent"},he=["disabled"],Ee=["disabled"],Se={key:1,role:"alert",class:"is-error"},we={key:1,class:"mr-review-note"},Ve={key:2,class:"is-error",role:"alert"},Ne={key:3,class:"mr-review-stale",role:"status"},De={key:4,class:"mr-review-note"},_e={key:0,class:"mr-review-summary",role:"status"},be={key:0,class:"mr-review-note"},Be={key:1,class:"mr-review-note"},xe={key:2,class:"mr-review-list"},Ce={key:0},Te=["onClick"],Fe={key:3,class:"mr-review-note"},Re={key:4,class:"mr-review-ack"},Me={key:0,class:"mr-review-note"},je={key:1,class:"mr-review-list"},Oe=["onClick"],Pe={key:0,class:"mr-review-scope"},Ae={key:0},$e=["disabled","onClick"],qe={class:"mr-review-note"},Le=e.defineComponent({__name:"TemplateReviewPanel",props:{document:{},previous:{},datasets:{},dataSchemas:{},formats:{},fixtures:{},messages:{}},emits:["locate"],setup(n,{emit:s}){const o=n,r=s,t=e.computed(()=>({...j.TEMPLATE_REVIEW_MESSAGES,...o.messages})),{name:a,consent:p,failure:i,params:g,suite:d,capture:m,remove:D}=H(o,()=>t.value),{report:v,sampleSize:B,acknowledged:y,running:c,stale:S,failure:C,checkedScope:w,checkedFixtures:F,hasTree:R,errors:u,run:_,cancel:k,cancelled:M,progress:b}=z(o,()=>d.value),N=e.ref(),x=e.computed(()=>F.value.find(h=>h.name===N.value));e.watch(S,h=>{h&&(N.value=void 0)});function V(h){const f=/\.pages\[(\d+)\]\.components\[(\d+)\]/.exec(h);r("locate",{path:h,...f?{pageIndex:Number(f[1]),componentIndex:Number(f[2])}:{}})}return(h,f)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-template-review","aria-label":t.value.title,"aria-busy":e.unref(c)},[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(t.value.title),1),e.unref(c)&&e.unref(b)?(e.openBlock(),e.createElementBlock("span",ee,e.toDisplayString(e.unref(b).completed)+" / "+e.toDisplayString(e.unref(b).total)+" "+e.toDisplayString(t.value.progress),1)):e.createCommentVNode("",!0),e.unref(c)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",onClick:f[0]||(f[0]=(...l)=>e.unref(k)&&e.unref(k)(...l))},e.toDisplayString(t.value.cancel),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:e.unref(c),onClick:f[1]||(f[1]=(...l)=>e.unref(_)&&e.unref(_)(...l))},e.toDisplayString(e.unref(c)?t.value.running:t.value.run),9,te)]),e.unref(M)?(e.openBlock(),e.createElementBlock("p",le,e.toDisplayString(t.value.cancelled),1)):e.createCommentVNode("",!0),e.createElementVNode("div",ne,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.value.samples),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[2]||(f[2]=l=>e.isRef(B)?B.value=l:null),"aria-label":t.value.samples,disabled:e.unref(c)||!!e.unref(d).length},[e.createElementVNode("option",oe,e.toDisplayString(t.value.none),1),e.createElementVNode("option",ae,e.toDisplayString(t.value.first20),1),e.createElementVNode("option",se,e.toDisplayString(t.value.first100),1),e.createElementVNode("option",ie,e.toDisplayString(t.value.all),1)],8,re),[[e.vModelSelect,e.unref(B)]])]),e.unref(d).length?(e.openBlock(),e.createElementBlock("span",ce,e.toDisplayString(t.value.namedFixtures)+" · "+e.toDisplayString(e.unref(d).length),1)):e.createCommentVNode("",!0)]),e.createElementVNode("details",ue,[e.createElementVNode("summary",null,[e.createTextVNode(e.toDisplayString(t.value.namedFixtures)+" ",1),e.createElementVNode("small",null,e.toDisplayString(e.unref(d).length)+" / 20",1)]),e.createElementVNode("p",de,e.toDisplayString(t.value.fixtureHint),1),e.unref(d).length?(e.openBlock(),e.createElementBlock("ul",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(l,E)=>(e.openBlock(),e.createElementBlock("li",{key:l.name},[e.createElementVNode("strong",null,e.toDisplayString(l.name),1),e.createElementVNode("span",null,e.toDisplayString(Object.values(l.datasets).reduce((T,q)=>T+q.length,0))+" "+e.toDisplayString(t.value.rows),1),E>=(n.fixtures?.length??0)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:e.unref(c),onClick:T=>e.unref(D)(E-(n.fixtures?.length??0))},e.toDisplayString(t.value.remove),9,pe)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",fe,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.value.fixtureName),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[3]||(f[3]=l=>e.isRef(a)?a.value=l:null),placeholder:t.value.fixturePlaceholder,disabled:e.unref(c)},null,8,ve),[[e.vModelText,e.unref(a)]])]),n.document.template.params?.length?(e.openBlock(),e.createElementBlock("details",ge,[e.createElementVNode("summary",null,e.toDisplayString(t.value.parameters),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.document.template.params,l=>(e.openBlock(),e.createElementBlock("label",{key:l.field},[e.createTextVNode(e.toDisplayString(l.label??l.field),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>e.unref(g)[l.field]=E,placeholder:l.defaultValue,disabled:e.unref(c)},null,8,ye),[[e.vModelText,e.unref(g)[l.field]]])]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("label",ke,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[4]||(f[4]=l=>e.isRef(p)?p.value=l:null),type:"checkbox",disabled:e.unref(c)},null,8,he),[[e.vModelCheckbox,e.unref(p)]]),e.createTextVNode(e.toDisplayString(t.value.deidentified),1)]),e.createElementVNode("button",{type:"button",disabled:e.unref(c)||!e.unref(p)||!e.unref(a).trim()||e.unref(d).length>=20,onClick:f[5]||(f[5]=(...l)=>e.unref(m)&&e.unref(m)(...l))},e.toDisplayString(t.value.capture),9,Ee),e.unref(i)?(e.openBlock(),e.createElementBlock("p",Se,e.toDisplayString(e.unref(i)),1)):e.createCommentVNode("",!0)])]),e.unref(R)?(e.openBlock(),e.createElementBlock("p",we,e.toDisplayString(t.value.treeHint),1)):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock("p",Ve,e.toDisplayString(e.unref(C)),1)):e.createCommentVNode("",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("p",Ne,e.toDisplayString(t.value.stale),1)):e.createCommentVNode("",!0),e.unref(v)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.unref(S)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",_e,[e.createElementVNode("span",{class:e.normalizeClass({"is-error":e.unref(u)})},e.toDisplayString(e.unref(u))+" "+e.toDisplayString(t.value.errors),3),e.createElementVNode("span",null,e.toDisplayString(e.unref(v).issues.length-e.unref(u))+" "+e.toDisplayString(t.value.warnings),1)])),e.createElementVNode("section",null,[e.createElementVNode("h3",null,[e.createTextVNode(e.toDisplayString(t.value.changes)+" ",1),e.createElementVNode("small",null,e.toDisplayString(e.unref(v).changes?.totalChanges??0),1)]),n.previous?e.unref(v).changes?.totalChanges?(e.openBlock(),e.createElementBlock("ol",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).changes?.changes,(l,E)=>(e.openBlock(),e.createElementBlock("li",{key:E},[e.createElementVNode("div",null,[e.createElementVNode("span",null,e.toDisplayString(t.value.categories[l.category])+" · "+e.toDisplayString(t.value.kinds[l.kind]),1),l.breaking?(e.openBlock(),e.createElementBlock("b",Ce,e.toDisplayString(t.value.breaking),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",onClick:T=>V(l.path)},e.toDisplayString(t.value.locate),9,Te)]),e.createElementVNode("code",null,e.toDisplayString(l.path),1),e.createElementVNode("dl",null,[l.before!==void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("dt",null,e.toDisplayString(t.value.before),1),e.createElementVNode("dd",null,e.toDisplayString(l.before),1)],64)):e.createCommentVNode("",!0),l.after!==void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("dt",null,e.toDisplayString(t.value.after),1),e.createElementVNode("dd",null,e.toDisplayString(l.after),1)],64)):e.createCommentVNode("",!0)])]))),128))])):(e.openBlock(),e.createElementBlock("p",Be,e.toDisplayString(t.value.noChanges),1)):(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(t.value.baseline),1)),e.unref(v).changes?.truncated?(e.openBlock(),e.createElementBlock("p",Fe,e.toDisplayString(t.value.truncated),1)):e.createCommentVNode("",!0),e.unref(v).changes?.breakingChanges?(e.openBlock(),e.createElementBlock("label",Re,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[6]||(f[6]=l=>e.isRef(y)?y.value=l:null),type:"checkbox"},null,512),[[e.vModelCheckbox,e.unref(y)]]),e.createTextVNode(e.toDisplayString(t.value.acknowledge),1)])):e.createCommentVNode("",!0)]),e.createElementVNode("section",null,[e.createElementVNode("h3",null,e.toDisplayString(t.value.issues),1),e.unref(v).issues.length?(e.openBlock(),e.createElementBlock("ol",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).issues,(l,E)=>(e.openBlock(),e.createElementBlock("li",{key:E},[e.createElementVNode("div",null,[e.createElementVNode("span",{class:e.normalizeClass({"is-error":l.severity==="error"})},e.toDisplayString(l.severity==="error"?t.value.errors:t.value.warnings),3),e.createElementVNode("button",{type:"button",onClick:T=>r("locate",l)},e.toDisplayString(t.value.locate),9,Oe)]),e.createElementVNode("p",null,e.toDisplayString(l.message),1),e.createElementVNode("code",null,e.toDisplayString(l.path),1)]))),128))])):(e.openBlock(),e.createElementBlock("p",Me,e.toDisplayString(t.value.noIssues),1))]),e.unref(v).samples.length?(e.openBlock(),e.createElementBlock("section",{key:1,class:e.normalizeClass({"is-stale":e.unref(S)})},[e.createElementVNode("h3",null,e.toDisplayString(t.value.results),1),e.unref(w)?(e.openBlock(),e.createElementBlock("p",Pe,[e.createTextVNode(e.toDisplayString(t.value.scope)+" · "+e.toDisplayString(e.unref(d).length?t.value.namedFixtures:e.unref(w).requested==="-1"?t.value.all:e.unref(w).requested==="0"?t.value.none:e.unref(w).requested+" "+t.value.rows)+" · "+e.toDisplayString(e.unref(w).datasets)+" "+e.toDisplayString(t.value.datasets)+" · "+e.toDisplayString(e.unref(w).rows)+" "+e.toDisplayString(t.value.rows),1),e.unref(w).formats.length?(e.openBlock(),e.createElementBlock("span",Ae," · "+e.toDisplayString(e.unref(w).formats.join(" / ")),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).samples,l=>(e.openBlock(),e.createElementBlock("div",{key:l.name,class:"mr-review-sample"},[e.createElementVNode("p",null,[e.createElementVNode("strong",null,e.toDisplayString(l.name),1),e.createTextVNode(" · "+e.toDisplayString(l.rows)+" "+e.toDisplayString(t.value.rows)+" · "+e.toDisplayString(l.pages)+" "+e.toDisplayString(t.value.pages)+" · "+e.toDisplayString(e.unref(v).issues.filter(E=>E.fixture===l.name).length)+" "+e.toDisplayString(t.value.issues),1)]),e.createElementVNode("button",{type:"button",disabled:e.unref(S)||e.unref(c),onClick:E=>N.value=N.value===l.name?void 0:l.name},e.toDisplayString(N.value===l.name?t.value.closeCompare:t.value.compare),9,$e)]))),128))],2)):e.createCommentVNode("",!0),x.value&&!e.unref(S)?(e.openBlock(),e.createBlock(Y,{key:2,document:n.document,previous:n.previous,fixture:x.value,messages:n.messages},null,8,["document","previous","fixture","messages"])):e.createCommentVNode("",!0),e.createElementVNode("p",qe,e.toDisplayString(t.value.checked),1)],64)):(e.openBlock(),e.createElementBlock("p",De,e.toDisplayString(t.value.empty),1))],8,Z))}}),ze=$._export_sfc(Le,[["__scopeId","data-v-0a5dda64"]]);exports.default=ze;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),A=require("@agile-team/mach-report"),j=require("./designer-uCDo5XSK.cjs"),O=require("@agile-team/mach-report/vue"),L=require("./template-bindings-CEtWyiLX.cjs"),$=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function z(n,s=()=>n.fixtures){const o=e.shallowRef(),r=e.shallowRef([]),t=e.ref("20"),a=e.ref(!1),p=e.ref(!1),i=e.ref(!1),g=e.ref(""),d=e.shallowRef(),m=e.ref(!1),D=e.shallowRef(),v=e.computed(()=>new Set(n.document.template.pages.flatMap(u=>u.components).flatMap(u=>u.kind==="list"&&u.tree?[u.dataset]:[]))),B=e.computed(()=>v.value.size>0);let y=0,c;function S(){y++,c?.abort(),c=void 0,p.value=!1,m.value=!1,d.value=void 0,i.value=!!o.value,g.value=""}for(const u of[()=>n.document,()=>n.previous])e.watch(u,()=>{a.value=!1,S()},{deep:!0,flush:"sync"});for(const u of[()=>n.datasets,()=>n.dataSchemas,()=>n.formats,s])e.watch(u,S,{deep:!0,flush:"sync"});e.watch([t,a],S,{flush:"sync"}),e.onBeforeUnmount(()=>{y++,c?.abort()});const C=e.computed(()=>o.value?.issues.filter(u=>u.severity==="error").length??0);function w(){c?.abort(),c=new AbortController;const u=++y,_=c;p.value=!0,g.value="",m.value=!1,d.value=void 0,F(u,_)}async function F(u,_){try{const k=Number(t.value),M=Object.fromEntries(Object.entries(n.datasets??{}).map(([V,h])=>[V,k<0||v.value.has(V)?h:h.slice(0,k)])),b=s(),N=b?.length?[...b]:k===0?[]:[{name:t.value,datasets:M}],x=await A.reviewReportTemplateAsync(n.document,{previous:n.previous,dataSchemas:n.dataSchemas,formats:n.formats,allowBreakingChanges:a.value,...!b?.length&&B.value&&k>0?{maxSampleRows:k}:{},fixtures:N,signal:_.signal,onProgress:V=>{u===y&&(d.value=V)}});if(u!==y)return;o.value=x,i.value=!1,r.value=N,D.value={requested:t.value,rows:x.samples.reduce((V,h)=>V+h.rows,0),datasets:new Set(N.flatMap(V=>Object.keys(V.datasets))).size,formats:[...n.formats??[]]}}catch(k){u===y&&!_.signal.aborted&&(g.value=k instanceof Error?k.message:String(k))}finally{u===y&&(p.value=!1,c=void 0)}}function R(){y++,c?.abort(),c=void 0,p.value=!1,m.value=!0,d.value=void 0}return{report:o,sampleSize:t,acknowledged:a,running:p,stale:i,failure:g,checkedScope:D,checkedFixtures:r,hasTree:B,errors:C,run:w,cancel:R,progress:d,cancelled:m}}function I(n){const s=Object.getPrototypeOf(n);if(s!==Object.prototype&&s!==Array.prototype&&s!==null)throw new Error("Sample data must contain plain JSON objects");if(Object.getOwnPropertySymbols(n).length)throw new Error("Sample data must not contain symbols");if(Array.isArray(n)&&Object.keys(n).length!==n.length)throw new Error("Sample arrays must not contain holes or extra properties")}function U(n){let s=0,o=0;const r=new Set;function t(a,p){if(++s>1e5||p>32)throw new RangeError("Sample data exceeds the capture budget");if(typeof a=="string"){if(o+=a.length,o>2e6)throw new RangeError("Sample text exceeds the capture budget");return a}if(a===null||typeof a=="boolean"||typeof a=="number"&&Number.isFinite(a))return a;if(!a||typeof a!="object")throw new Error("Sample data must contain plain JSON values");const i=e.toRaw(a);if(r.has(i))throw new Error("Sample data must not contain cycles");I(i),r.add(i);const g=Array.isArray(i)?[]:Object.create(null);for(const d of Object.keys(i)){const m=Object.getOwnPropertyDescriptor(i,d);if(m.get||m.set||["__proto__","constructor","prototype"].includes(d))throw new Error("Sample data must not contain getters or unsafe keys");g[d]=t(m.value,p+1)}return r.delete(i),g}return t(n,0)}function H(n,s=()=>j.TEMPLATE_REVIEW_MESSAGES){const o=e.ref([]),r=e.ref(""),t=e.ref(!1),a=e.ref(""),p=e.ref({}),i=e.computed(()=>[...n.fixtures??[],...o.value]);function g(){a.value="";try{if(!t.value)throw new Error(s().sampleConsentMissing);if(!r.value.trim())throw new Error(s().sampleNameMissing);if(i.value.length>=20)throw new Error(s().sampleLimit);if(i.value.some(D=>D.name===r.value.trim()))throw new Error(s().sampleNameDuplicate);const m=U(n.datasets??{});if(Object.values(m).reduce((D,v)=>D+v.length,0)>1e3)throw new Error(s().sampleRowsLimit);o.value.push({name:r.value.trim(),datasets:m,...Object.keys(p.value).length?{params:{...p.value}}:{}}),r.value="",t.value=!1}catch(m){a.value=m instanceof Error?m.message:String(m)}}function d(m){o.value.splice(m,1)}return{fixtures:o,name:r,consent:t,failure:a,params:p,suite:i,capture:g,remove:d}}function P(n,s){const o=A.paginateTemplate(n.template,s.datasets,{maxPages:100,maxCells:25e4}),r=[...new Set(L.collectTemplateDatasetBindings(n.template).flatMap(t=>t.fields.map(a=>`${t.dataset}.${a.field}`)))];return{pages:o.plan.pages.length,dimensions:[...new Set(o.plan.pages.map(t=>`${t.pageWidthMm} × ${t.pageHeightMm} mm`))],fields:r,fetcher:async()=>o.plan}}function W(n,s,o){const r=P(n,s),t=o?P(o,s):void 0,a=new Set(t?.fields),p=new Set(r.fields);return{current:r,previous:t,addedFields:r.fields.filter(i=>!a.has(i)),removedFields:t?.fields.filter(i=>!p.has(i))??[]}}const G=["aria-label"],J={key:0,role:"alert"},K={class:"mr-fixture-previews"},Q={key:0},X=e.defineComponent({__name:"TemplateFixtureComparison",props:{document:{},previous:{},fixture:{},messages:{}},setup(n){const s=n,o=e.computed(()=>({...j.TEMPLATE_REVIEW_MESSAGES,...s.messages})),r=e.computed(()=>{try{return{result:W(s.document,s.fixture,s.previous)}}catch(t){return{error:t instanceof Error?t.message:String(t)}}});return(t,a)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-fixture-comparison","aria-label":o.value.compare},[r.value.error?(e.openBlock(),e.createElementBlock("p",J,e.toDisplayString(r.value.error),1)):e.createCommentVNode("",!0),r.value.result?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("dl",null,[e.createElementVNode("dt",null,e.toDisplayString(o.value.pages),1),e.createElementVNode("dd",null,e.toDisplayString(r.value.result.previous?.pages??"—")+" → "+e.toDisplayString(r.value.result.current.pages),1),e.createElementVNode("dt",null,e.toDisplayString(o.value.dimensions),1),e.createElementVNode("dd",null,e.toDisplayString(r.value.result.previous?.dimensions.join(" / ")??"—")+" → "+e.toDisplayString(r.value.result.current.dimensions.join(" / ")),1),e.createElementVNode("dt",null,e.toDisplayString(o.value.fieldsAdded),1),e.createElementVNode("dd",null,e.toDisplayString(r.value.result.addedFields.join("、")||"—"),1),e.createElementVNode("dt",null,e.toDisplayString(o.value.fieldsRemoved),1),e.createElementVNode("dd",null,e.toDisplayString(r.value.result.removedFields.join("、")||"—"),1)]),e.createElementVNode("div",K,[r.value.result.previous?(e.openBlock(),e.createElementBlock("article",Q,[e.createElementVNode("h4",null,e.toDisplayString(o.value.baselinePreview),1),e.createVNode(e.unref(O.ReportPreview),{"report-id":"baseline",fetcher:r.value.result.previous.fetcher,"show-params":!1,"show-export":!1,"show-print":!1,"show-pdf-window":!1,editable:!1,"excel-import":!1,height:"400px"},null,8,["fetcher"])])):e.createCommentVNode("",!0),e.createElementVNode("article",null,[e.createElementVNode("h4",null,e.toDisplayString(o.value.draftPreview),1),e.createVNode(e.unref(O.ReportPreview),{"report-id":"draft",fetcher:r.value.result.current.fetcher,"show-params":!1,"show-export":!1,"show-print":!1,"show-pdf-window":!1,editable:!1,"excel-import":!1,height:"400px"},null,8,["fetcher"])])])],64)):e.createCommentVNode("",!0)],8,G))}}),Y=$._export_sfc(X,[["__scopeId","data-v-211ee4bf"]]),Z=["aria-label","aria-busy"],ee={key:0,role:"status"},te=["disabled"],le={key:0,class:"mr-review-stale",role:"status"},ne={class:"mr-review-controls"},re=["aria-label","disabled"],oe={value:"0"},ae={value:"20"},se={value:"100"},ie={value:"-1"},ce={key:0,class:"mr-review-note"},ue={class:"mr-review-fixtures"},de={class:"mr-review-note"},me={key:0},pe=["disabled","onClick"],fe={class:"mr-review-fixture-form"},ve=["placeholder","disabled"],ge={key:0},ye=["onUpdate:modelValue","placeholder","disabled"],ke={class:"mr-review-consent"},he=["disabled"],Ee=["disabled"],Se={key:1,role:"alert",class:"is-error"},we={key:1,class:"mr-review-note"},Ve={key:2,class:"is-error",role:"alert"},Ne={key:3,class:"mr-review-stale",role:"status"},De={key:4,class:"mr-review-note"},_e={key:0,class:"mr-review-summary",role:"status"},be={key:0,class:"mr-review-note"},Be={key:1,class:"mr-review-note"},xe={key:2,class:"mr-review-list"},Ce={key:0},Te=["onClick"],Fe={key:3,class:"mr-review-note"},Re={key:4,class:"mr-review-ack"},Me={key:0,class:"mr-review-note"},je={key:1,class:"mr-review-list"},Oe=["onClick"],Pe={key:0,class:"mr-review-scope"},Ae={key:0},$e=["disabled","onClick"],qe={class:"mr-review-note"},Le=e.defineComponent({__name:"TemplateReviewPanel",props:{document:{},previous:{},datasets:{},dataSchemas:{},formats:{},fixtures:{},messages:{}},emits:["locate"],setup(n,{emit:s}){const o=n,r=s,t=e.computed(()=>({...j.TEMPLATE_REVIEW_MESSAGES,...o.messages})),{name:a,consent:p,failure:i,params:g,suite:d,capture:m,remove:D}=H(o,()=>t.value),{report:v,sampleSize:B,acknowledged:y,running:c,stale:S,failure:C,checkedScope:w,checkedFixtures:F,hasTree:R,errors:u,run:_,cancel:k,cancelled:M,progress:b}=z(o,()=>d.value),N=e.ref(),x=e.computed(()=>F.value.find(h=>h.name===N.value));e.watch(S,h=>{h&&(N.value=void 0)});function V(h){const f=/\.pages\[(\d+)\]\.components\[(\d+)\]/.exec(h);r("locate",{path:h,...f?{pageIndex:Number(f[1]),componentIndex:Number(f[2])}:{}})}return(h,f)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-template-review","aria-label":t.value.title,"aria-busy":e.unref(c)},[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(t.value.title),1),e.unref(c)&&e.unref(b)?(e.openBlock(),e.createElementBlock("span",ee,e.toDisplayString(e.unref(b).completed)+" / "+e.toDisplayString(e.unref(b).total)+" "+e.toDisplayString(t.value.progress),1)):e.createCommentVNode("",!0),e.unref(c)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",onClick:f[0]||(f[0]=(...l)=>e.unref(k)&&e.unref(k)(...l))},e.toDisplayString(t.value.cancel),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:e.unref(c),onClick:f[1]||(f[1]=(...l)=>e.unref(_)&&e.unref(_)(...l))},e.toDisplayString(e.unref(c)?t.value.running:t.value.run),9,te)]),e.unref(M)?(e.openBlock(),e.createElementBlock("p",le,e.toDisplayString(t.value.cancelled),1)):e.createCommentVNode("",!0),e.createElementVNode("div",ne,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.value.samples),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[2]||(f[2]=l=>e.isRef(B)?B.value=l:null),"aria-label":t.value.samples,disabled:e.unref(c)||!!e.unref(d).length},[e.createElementVNode("option",oe,e.toDisplayString(t.value.none),1),e.createElementVNode("option",ae,e.toDisplayString(t.value.first20),1),e.createElementVNode("option",se,e.toDisplayString(t.value.first100),1),e.createElementVNode("option",ie,e.toDisplayString(t.value.all),1)],8,re),[[e.vModelSelect,e.unref(B)]])]),e.unref(d).length?(e.openBlock(),e.createElementBlock("span",ce,e.toDisplayString(t.value.namedFixtures)+" · "+e.toDisplayString(e.unref(d).length),1)):e.createCommentVNode("",!0)]),e.createElementVNode("details",ue,[e.createElementVNode("summary",null,[e.createTextVNode(e.toDisplayString(t.value.namedFixtures)+" ",1),e.createElementVNode("small",null,e.toDisplayString(e.unref(d).length)+" / 20",1)]),e.createElementVNode("p",de,e.toDisplayString(t.value.fixtureHint),1),e.unref(d).length?(e.openBlock(),e.createElementBlock("ul",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(l,E)=>(e.openBlock(),e.createElementBlock("li",{key:l.name},[e.createElementVNode("strong",null,e.toDisplayString(l.name),1),e.createElementVNode("span",null,e.toDisplayString(Object.values(l.datasets).reduce((T,q)=>T+q.length,0))+" "+e.toDisplayString(t.value.rows),1),E>=(n.fixtures?.length??0)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:e.unref(c),onClick:T=>e.unref(D)(E-(n.fixtures?.length??0))},e.toDisplayString(t.value.remove),9,pe)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",fe,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.value.fixtureName),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[3]||(f[3]=l=>e.isRef(a)?a.value=l:null),placeholder:t.value.fixturePlaceholder,disabled:e.unref(c)},null,8,ve),[[e.vModelText,e.unref(a)]])]),n.document.template.params?.length?(e.openBlock(),e.createElementBlock("details",ge,[e.createElementVNode("summary",null,e.toDisplayString(t.value.parameters),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.document.template.params,l=>(e.openBlock(),e.createElementBlock("label",{key:l.field},[e.createTextVNode(e.toDisplayString(l.label??l.field),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>e.unref(g)[l.field]=E,placeholder:l.defaultValue,disabled:e.unref(c)},null,8,ye),[[e.vModelText,e.unref(g)[l.field]]])]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("label",ke,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[4]||(f[4]=l=>e.isRef(p)?p.value=l:null),type:"checkbox",disabled:e.unref(c)},null,8,he),[[e.vModelCheckbox,e.unref(p)]]),e.createTextVNode(e.toDisplayString(t.value.deidentified),1)]),e.createElementVNode("button",{type:"button",disabled:e.unref(c)||!e.unref(p)||!e.unref(a).trim()||e.unref(d).length>=20,onClick:f[5]||(f[5]=(...l)=>e.unref(m)&&e.unref(m)(...l))},e.toDisplayString(t.value.capture),9,Ee),e.unref(i)?(e.openBlock(),e.createElementBlock("p",Se,e.toDisplayString(e.unref(i)),1)):e.createCommentVNode("",!0)])]),e.unref(R)?(e.openBlock(),e.createElementBlock("p",we,e.toDisplayString(t.value.treeHint),1)):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock("p",Ve,e.toDisplayString(e.unref(C)),1)):e.createCommentVNode("",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("p",Ne,e.toDisplayString(t.value.stale),1)):e.createCommentVNode("",!0),e.unref(v)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.unref(S)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",_e,[e.createElementVNode("span",{class:e.normalizeClass({"is-error":e.unref(u)})},e.toDisplayString(e.unref(u))+" "+e.toDisplayString(t.value.errors),3),e.createElementVNode("span",null,e.toDisplayString(e.unref(v).issues.length-e.unref(u))+" "+e.toDisplayString(t.value.warnings),1)])),e.createElementVNode("section",null,[e.createElementVNode("h3",null,[e.createTextVNode(e.toDisplayString(t.value.changes)+" ",1),e.createElementVNode("small",null,e.toDisplayString(e.unref(v).changes?.totalChanges??0),1)]),n.previous?e.unref(v).changes?.totalChanges?(e.openBlock(),e.createElementBlock("ol",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).changes?.changes,(l,E)=>(e.openBlock(),e.createElementBlock("li",{key:E},[e.createElementVNode("div",null,[e.createElementVNode("span",null,e.toDisplayString(t.value.categories[l.category])+" · "+e.toDisplayString(t.value.kinds[l.kind]),1),l.breaking?(e.openBlock(),e.createElementBlock("b",Ce,e.toDisplayString(t.value.breaking),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",onClick:T=>V(l.path)},e.toDisplayString(t.value.locate),9,Te)]),e.createElementVNode("code",null,e.toDisplayString(l.path),1),e.createElementVNode("dl",null,[l.before!==void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("dt",null,e.toDisplayString(t.value.before),1),e.createElementVNode("dd",null,e.toDisplayString(l.before),1)],64)):e.createCommentVNode("",!0),l.after!==void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("dt",null,e.toDisplayString(t.value.after),1),e.createElementVNode("dd",null,e.toDisplayString(l.after),1)],64)):e.createCommentVNode("",!0)])]))),128))])):(e.openBlock(),e.createElementBlock("p",Be,e.toDisplayString(t.value.noChanges),1)):(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(t.value.baseline),1)),e.unref(v).changes?.truncated?(e.openBlock(),e.createElementBlock("p",Fe,e.toDisplayString(t.value.truncated),1)):e.createCommentVNode("",!0),e.unref(v).changes?.breakingChanges?(e.openBlock(),e.createElementBlock("label",Re,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[6]||(f[6]=l=>e.isRef(y)?y.value=l:null),type:"checkbox"},null,512),[[e.vModelCheckbox,e.unref(y)]]),e.createTextVNode(e.toDisplayString(t.value.acknowledge),1)])):e.createCommentVNode("",!0)]),e.createElementVNode("section",null,[e.createElementVNode("h3",null,e.toDisplayString(t.value.issues),1),e.unref(v).issues.length?(e.openBlock(),e.createElementBlock("ol",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).issues,(l,E)=>(e.openBlock(),e.createElementBlock("li",{key:E},[e.createElementVNode("div",null,[e.createElementVNode("span",{class:e.normalizeClass({"is-error":l.severity==="error"})},e.toDisplayString(l.severity==="error"?t.value.errors:t.value.warnings),3),e.createElementVNode("button",{type:"button",onClick:T=>r("locate",l)},e.toDisplayString(t.value.locate),9,Oe)]),e.createElementVNode("p",null,e.toDisplayString(l.message),1),e.createElementVNode("code",null,e.toDisplayString(l.path),1)]))),128))])):(e.openBlock(),e.createElementBlock("p",Me,e.toDisplayString(t.value.noIssues),1))]),e.unref(v).samples.length?(e.openBlock(),e.createElementBlock("section",{key:1,class:e.normalizeClass({"is-stale":e.unref(S)})},[e.createElementVNode("h3",null,e.toDisplayString(t.value.results),1),e.unref(w)?(e.openBlock(),e.createElementBlock("p",Pe,[e.createTextVNode(e.toDisplayString(t.value.scope)+" · "+e.toDisplayString(e.unref(d).length?t.value.namedFixtures:e.unref(w).requested==="-1"?t.value.all:e.unref(w).requested==="0"?t.value.none:e.unref(w).requested+" "+t.value.rows)+" · "+e.toDisplayString(e.unref(w).datasets)+" "+e.toDisplayString(t.value.datasets)+" · "+e.toDisplayString(e.unref(w).rows)+" "+e.toDisplayString(t.value.rows),1),e.unref(w).formats.length?(e.openBlock(),e.createElementBlock("span",Ae," · "+e.toDisplayString(e.unref(w).formats.join(" / ")),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).samples,l=>(e.openBlock(),e.createElementBlock("div",{key:l.name,class:"mr-review-sample"},[e.createElementVNode("p",null,[e.createElementVNode("strong",null,e.toDisplayString(l.name),1),e.createTextVNode(" · "+e.toDisplayString(l.rows)+" "+e.toDisplayString(t.value.rows)+" · "+e.toDisplayString(l.pages)+" "+e.toDisplayString(t.value.pages)+" · "+e.toDisplayString(e.unref(v).issues.filter(E=>E.fixture===l.name).length)+" "+e.toDisplayString(t.value.issues),1)]),e.createElementVNode("button",{type:"button",disabled:e.unref(S)||e.unref(c),onClick:E=>N.value=N.value===l.name?void 0:l.name},e.toDisplayString(N.value===l.name?t.value.closeCompare:t.value.compare),9,$e)]))),128))],2)):e.createCommentVNode("",!0),x.value&&!e.unref(S)?(e.openBlock(),e.createBlock(Y,{key:2,document:n.document,previous:n.previous,fixture:x.value,messages:n.messages},null,8,["document","previous","fixture","messages"])):e.createCommentVNode("",!0),e.createElementVNode("p",qe,e.toDisplayString(t.value.checked),1)],64)):(e.openBlock(),e.createElementBlock("p",De,e.toDisplayString(t.value.empty),1))],8,Z))}}),ze=$._export_sfc(Le,[["__scopeId","data-v-0a5dda64"]]);exports.default=ze;
|
package/dist/analytics.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./computed-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./computed-C2GD3XcE.cjs"),y=require("./matrix-gTHpDTGm.cjs"),b=["#2563eb","#0d9488","#d97706","#7c3aed","#dc2626","#0284c7"];function D(e){if(e.type!=="bar"&&e.type!=="line")throw new Error("图表 type 应为 bar 或 line");if(!Array.isArray(e.categories)||!Array.isArray(e.series)||!e.categories.length||e.categories.length>200||!e.series.length||e.series.length>12)throw new Error("图表支持 1–200 个分类、1–12 个系列;大数据应先聚合");if(e.categories.some(t=>typeof t!="string"))throw new Error("图表分类应为字符串");F(e);for(const t of e.series)A(t,e.categories.length)}function F(e){for(const t of["leftMm","topMm","widthMm","heightMm"])if(!Number.isFinite(e[t])||e[t]<0)throw new Error(`${t} 应为有限非负数`);if(e.widthMm<45||e.heightMm<35)throw new Error("图表至少需要 45×35mm");if(!Number.isFinite(e.leftMm+e.widthMm)||!Number.isFinite(e.topMm+e.heightMm))throw new Error("图表几何范围溢出")}function A(e,t){if(!e||typeof e.name!="string"||!Array.isArray(e.values)||e.values.length!==t||e.values.some(r=>r!==null&&!Number.isFinite(r)))throw new Error("图表系列应提供名称及逐分类的有限数字或 null");if(e.color!==void 0&&!/^#[\da-f]{6}$/i.test(e.color))throw new Error("图表颜色应为 #RRGGBB")}function v(e,t,r,n,i,c=.8){return{kind:"line",leftMm:Math.min(e,r),topMm:Math.min(t,n),widthMm:Math.abs(r-e),heightMm:Math.abs(n-t),lineDirection:n<t?"up":"down",style:{lineColor:i,lineWidthPt:c}}}function g(e,t,r,n,i="center"){return{kind:"text",text:e,leftMm:t,topMm:r,widthMm:n,heightMm:5,style:{fontSize:8,color:"#475569",align:i,verticalAlign:"middle"}}}function C(e){return Number(e.toPrecision(5)).toString()}function R(e){let t=0,r=0;for(const s of e.series)for(const u of s.values)u!==null&&(t=Math.min(t,u),r=Math.max(r,u));t===r&&(r=t+1);const n=e.leftMm+13,i=e.topMm+8,c=e.widthMm-17,l=e.heightMm-23,o=Math.max(Math.abs(t),Math.abs(r),1),m=t/o,d=r/o-m;return{left:n,top:i,width:c,height:l,min:t,max:r,y:s=>i+l*(1-(s/o-m)/d)}}function O(e,t){const r=[];e.title&&r.push({...g(e.title,e.leftMm,e.topMm,e.widthMm),style:{fontSize:10,bold:!0,align:"left"}});for(let c=0;c<=4;c++){const l=c/4,o=t.min*(1-l)+t.max*l,m=t.y(o);r.push(v(t.left,m,t.left+t.width,m,"#e2e8f0",.4),g(C(o),e.leftMm,m-2.5,11,"right"))}r.push(v(t.left,t.top,t.left,t.top+t.height,"#94a3b8"));const n=Math.max(1,Math.ceil(e.categories.length/Math.max(1,Math.floor(t.width/14))));e.categories.forEach((c,l)=>{l%n===0&&r.push(g(c,t.left+(l+.5)*t.width/e.categories.length-7,t.top+t.height+1,14))});const i=t.width/e.series.length;return e.series.forEach((c,l)=>{r.push({...g(c.name,t.left+l*i,e.topMm+e.heightMm-5,i),style:{fontSize:8,color:c.color??b[l%b.length],align:"center"}})}),r}function S(e,t,r,n){const i=[],c=r.color??b[n%b.length],l=t.width/e.categories.length,o=l*.75/e.series.length;let m;return r.values.forEach((d,s)=>{if(d===null){m=void 0;return}const u=t.left+(s+.5)*l,a=t.y(d);e.type==="bar"?i.push({kind:"rect",leftMm:t.left+s*l+l*.125+n*o,topMm:Math.min(a,t.y(0)),widthMm:o,heightMm:Math.abs(t.y(0)-a),style:{backgroundColor:c,borderTop:!1,borderRight:!1,borderBottom:!1,borderLeft:!1}}):(m&&i.push(v(m.x,m.y,u,a,c,1.2)),i.push({kind:"ellipse",leftMm:u-.7,topMm:a-.7,widthMm:1.4,heightMm:1.4,style:{backgroundColor:c,borderColor:c}}),m={x:u,y:a}),e.showValues&&i.push({...g(C(d),u-l/2,Math.max(t.top,a-5),l),style:{fontSize:7,color:c,align:"center"}})}),i}function L(e){D(e);const t=R(e);return[...O(e,t),...e.series.flatMap((r,n)=>S(e,t,r,n))]}function w(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function x(e){if(e==null)return"null";if(typeof e!="string"&&typeof e!="boolean"&&!(typeof e=="number"&&Number.isFinite(e)))throw new Error("交叉表维度应为字符串、布尔、有限数字或空值");return JSON.stringify([typeof e,e])}function E(e){return e==null?"":String(e)}function M(e,t){const r=e??t;if(!Number.isInteger(r)||r<1)throw new Error("交叉表预算应为正整数");return r}function N(e,t,r,n){const i=r?1:0;if((e+i)*(t+1+i)>n)throw new Error("交叉表输出单元格超出 maxCells 预算,请减少维度或服务端预聚合")}function T(e,t){if(!Array.isArray(e))throw new Error("交叉表数据应为对象数组");const r=t.aggregate??"sum";if(!["sum","count","avg","min","max","weightedAvg"].includes(r))throw new Error("未知交叉表聚合类型");if(!t.rowField||!t.columnField||r!=="count"&&!t.valueField)throw new Error("交叉表需要明确的行维度、列维度和度量字段");if(e.length>M(t.maxInputRows,1e5))throw new Error("交叉表输入超出预算,请在服务端预聚合");const n=M(t.maxRows,1e3),i=M(t.maxColumns,200),c=M(t.maxCells,2e6),l={op:r,field:r==="count"&&t.countMode!=="nonNull"?void 0:t.valueField,weightField:t.weightField,numeric:t.numeric,digits:t.digits};h.createAggregateAccumulator(l);const{groups:o,columns:m,columnTotals:d,totals:s}=y.accumulatePivotRows(e,{row:a=>({key:x(w(a,t.rowField)),label:E(w(a,t.rowField))}),column:a=>({key:x(w(a,t.columnField)),label:E(w(a,t.columnField))}),measures:[l],totals:t.totals,check:(a,f)=>{if(a>n||f>i)throw new Error("交叉表维度数量超出预算");N(a,f,t.totals,c)}}),u={columns:[{header:t.rowHeader??t.rowField,field:"rowLabel",semanticRole:"dimension"},...[...m.values()].map((a,f)=>({header:a,field:`c${f}`,semanticRole:"measure"}))],rows:[...o.values()].map(a=>({rowLabel:a.label,...Object.fromEntries([...m.keys()].map((f,k)=>[`c${k}`,a.cells.get(f)?.[0]?.value()??(r==="count"?0:null)])),...t.totals?{total:a.totals[0].value()}:{}}))};return t.totals&&(u.columns.push({header:"合计",field:"total",semanticRole:"measure"}),e.length&&u.rows.push({rowLabel:"合计",...Object.fromEntries([...m.keys()].map((a,f)=>[`c${f}`,d.get(a)?.[0]?.value()??(r==="count"?0:null)])),total:s[0].value()})),u}exports.addDecimal=h.addDecimal;exports.aggregateRows=h.aggregateRows;exports.compareDecimal=h.compareDecimal;exports.computeDataset=h.computeDataset;exports.createAggregateAccumulator=h.createAggregateAccumulator;exports.decimalDigits=h.decimalDigits;exports.divideDecimal=h.divideDecimal;exports.formatDecimal=h.formatDecimal;exports.getComputationMetadata=h.getComputationMetadata;exports.multiplyDecimal=h.multiplyDecimal;exports.parseDecimal=h.parseDecimal;exports.printDecimal=h.printDecimal;exports.validateComputedFields=h.validateComputedFields;exports.createMatrixTable=y.createMatrixTable;exports.estimateMatrixTable=y.estimateMatrixTable;exports.validateMatrixOptions=y.validateMatrixOptions;exports.createChartComponents=L;exports.createCrossTable=T;
|
package/dist/analytics.d.cts
CHANGED
|
@@ -153,7 +153,7 @@ export declare function createChartComponents(options: ReportChartOptions): Plan
|
|
|
153
153
|
export declare function createCrossTable(input: readonly Record<string, unknown>[], options: CrossTableOptions): CrossTableResult;
|
|
154
154
|
|
|
155
155
|
/** Multi-measure pivot shares dimensions and original rows; weighted totals never average averages. */
|
|
156
|
-
export declare function createMatrixTable(input: readonly Record<string, unknown>[], options: MatrixTableOptions):
|
|
156
|
+
export declare function createMatrixTable(input: readonly Record<string, unknown>[], options: MatrixTableOptions): MatrixTableResult;
|
|
157
157
|
|
|
158
158
|
export declare interface CrossTableOptions {
|
|
159
159
|
rowField: string;
|
|
@@ -268,6 +268,8 @@ export declare function getComputationMetadata(fields?: readonly {
|
|
|
268
268
|
};
|
|
269
269
|
|
|
270
270
|
declare interface GridCell {
|
|
271
|
+
/** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
|
|
272
|
+
richParagraphs?: RichParagraph[];
|
|
271
273
|
text?: string;
|
|
272
274
|
rawText?: string;
|
|
273
275
|
/** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
|
|
@@ -320,6 +322,58 @@ declare interface ListColumn {
|
|
|
320
322
|
visibleWhen?: StyleRule["when"];
|
|
321
323
|
}
|
|
322
324
|
|
|
325
|
+
export declare interface MatrixAxisOptions {
|
|
326
|
+
/** Display names in the same outer-to-inner order as the dimension fields. */
|
|
327
|
+
labels?: readonly string[];
|
|
328
|
+
/** Per-level sibling order; omitted levels retain first-seen order. */
|
|
329
|
+
sort?: readonly MatrixDimensionOrder[];
|
|
330
|
+
/** One-based prefix depths. Leaf depths are not subtotals. */
|
|
331
|
+
subtotals?: readonly number[];
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
export declare interface MatrixColumnMember extends MatrixDimensionMember {
|
|
335
|
+
field: string;
|
|
336
|
+
measure: number;
|
|
337
|
+
measureField: string;
|
|
338
|
+
valueField: string;
|
|
339
|
+
operation: AggregateOperation;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
export declare interface MatrixDimensionMember {
|
|
343
|
+
/** Typed field/value identity, independent of labels, source order and display indices. */
|
|
344
|
+
key: string;
|
|
345
|
+
kind: "member" | "subtotal" | "total";
|
|
346
|
+
depth: number;
|
|
347
|
+
/** Prefix predicates. Empty for grand totals; never business write identities. */
|
|
348
|
+
fields: string[];
|
|
349
|
+
values: MatrixDimensionValue[];
|
|
350
|
+
labels: string[];
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
export declare type MatrixDimensionOrder = "source" | "asc" | "desc";
|
|
354
|
+
|
|
355
|
+
export declare type MatrixDimensionValue = string | number | boolean | null;
|
|
356
|
+
|
|
357
|
+
export declare interface MatrixHierarchyOptions {
|
|
358
|
+
row?: MatrixAxisOptions;
|
|
359
|
+
column?: MatrixAxisOptions;
|
|
360
|
+
/** Only null/missing values use this label; empty strings and zero stay distinct. */
|
|
361
|
+
emptyLabel?: string;
|
|
362
|
+
subtotalLabel?: string;
|
|
363
|
+
totalLabel?: string;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
export declare interface MatrixTableMetadata {
|
|
367
|
+
rowFields: string[];
|
|
368
|
+
rowLabels: string[];
|
|
369
|
+
columnFields: string[];
|
|
370
|
+
columnLabels: string[];
|
|
371
|
+
/** Aligned with result.rows. */
|
|
372
|
+
rows: MatrixDimensionMember[];
|
|
373
|
+
/** Measure columns only, addressed by their generated field. */
|
|
374
|
+
columns: MatrixColumnMember[];
|
|
375
|
+
}
|
|
376
|
+
|
|
323
377
|
export declare interface MatrixTableOptions {
|
|
324
378
|
rowFields: readonly string[];
|
|
325
379
|
columnFields: readonly string[];
|
|
@@ -334,6 +388,16 @@ export declare interface MatrixTableOptions {
|
|
|
334
388
|
maxColumns?: number;
|
|
335
389
|
maxInputRows?: number;
|
|
336
390
|
maxCells?: number;
|
|
391
|
+
/** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
|
|
392
|
+
hierarchy?: MatrixHierarchyOptions;
|
|
393
|
+
/** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
|
|
394
|
+
maxAggregateUpdates?: number;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export declare interface MatrixTableResult extends CrossTableResult {
|
|
398
|
+
/** Present only for opt-in hierarchy; the paginator supplies final physical widths/styles. */
|
|
399
|
+
headerGrid?: PlanGrid;
|
|
400
|
+
metadata?: MatrixTableMetadata;
|
|
337
401
|
}
|
|
338
402
|
|
|
339
403
|
export declare interface MatrixTableShape {
|