@agile-team/mach-report 2.11.2 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +30 -5
  2. package/THIRD_PARTY_NOTICES.md +270 -0
  3. package/dist/{ExcelBindingWizard-LWX6G1A2.js → ExcelBindingWizard-CeAf4QSE.js} +2 -2
  4. package/dist/{ExcelBindingWizard-a4kslPHF.cjs → ExcelBindingWizard-y0mT-AHR.cjs} +1 -1
  5. package/dist/{ReportBatchPanel-B5ClP9tm.js → ReportBatchPanel-CW2HV9I8.js} +1 -1
  6. package/dist/{ReportBatchPanel-Dc-SDkYA.cjs → ReportBatchPanel-Fp1ePFag.cjs} +1 -1
  7. package/dist/ReportPreview-BN6fk7Wz.cjs +6 -0
  8. package/dist/ReportPreview-D2Jkyh1U.js +4243 -0
  9. package/dist/{RuleEditor-C2QsOHOs.cjs → RuleEditor-ChRzNQuF.cjs} +1 -1
  10. package/dist/{RuleEditor-D9wQHrkf.js → RuleEditor-DzAmW5YH.js} +1 -1
  11. package/dist/analytics.d.cts +28 -0
  12. package/dist/analytics.d.ts +28 -0
  13. package/dist/assets-C2U-e-Sz.cjs +4 -0
  14. package/dist/assets-Q0wUwNrV.js +217 -0
  15. package/dist/code-options-BKXXY7NI.js +18 -0
  16. package/dist/code-options-BUTChiZZ.cjs +1 -0
  17. package/dist/codes.cjs +9 -0
  18. package/dist/codes.d.cts +223 -0
  19. package/dist/codes.d.ts +223 -0
  20. package/dist/codes.js +26917 -0
  21. package/dist/config-Bb7RiIO5.cjs +1 -0
  22. package/dist/{config-B612mw0x.js → config-XVwG87IA.js} +4 -0
  23. package/dist/designer.cjs +2 -2
  24. package/dist/designer.d.cts +283 -0
  25. package/dist/designer.d.ts +283 -0
  26. package/dist/designer.js +2852 -2010
  27. package/dist/grid-strokes-Cr7DwUux.cjs +1 -0
  28. package/dist/grid-strokes-DyyG1q_o.js +53 -0
  29. package/dist/index.cjs +7 -7
  30. package/dist/index.d.cts +105 -1
  31. package/dist/index.d.ts +105 -1
  32. package/dist/index.js +488 -439
  33. package/dist/pdf.cjs +76 -59
  34. package/dist/pdf.d.cts +51 -0
  35. package/dist/pdf.d.ts +51 -0
  36. package/dist/pdf.js +32128 -32048
  37. package/dist/{plugin-Cd5G2QQn.js → plugin-D4wizDXB.js} +1 -1
  38. package/dist/{plugin-BDTU4D94.cjs → plugin-DzS6pxTA.cjs} +1 -1
  39. package/dist/record-bindings-By_UKZ2g.cjs +1 -0
  40. package/dist/{list-cell-ClFra1zS.js → record-bindings-D-5jQlTj.js} +67 -44
  41. package/dist/{region-binding-workflow-DhQvu1co.cjs → region-binding-workflow-BzfbxRiR.cjs} +1 -1
  42. package/dist/{region-binding-workflow-CXDmt9Bs.js → region-binding-workflow-CcUq8W2Q.js} +1 -1
  43. package/dist/server/node.d.cts +52 -1
  44. package/dist/server/node.d.ts +52 -1
  45. package/dist/server-node.cjs +1 -1
  46. package/dist/server-node.js +239 -210
  47. package/dist/server.cjs +1 -1
  48. package/dist/server.d.cts +95 -3
  49. package/dist/server.d.ts +95 -3
  50. package/dist/server.js +457 -434
  51. package/dist/style.css +1 -1
  52. package/dist/{template-registry-WNXdkiET.js → template-registry-BjE1VS6g.js} +221 -157
  53. package/dist/template-registry-D3SjENi6.cjs +1 -0
  54. package/dist/template-review-DGwWOoCv.cjs +2 -0
  55. package/dist/{template-review-BdcXSYbx.js → template-review-PgEe_Wr9.js} +792 -666
  56. package/dist/validate-BJ5HIWY8.cjs +1 -0
  57. package/dist/validate-DbgEM1Hh.js +163 -0
  58. package/dist/vue/async.d.cts +125 -2
  59. package/dist/vue/async.d.ts +125 -2
  60. package/dist/vue/index.d.cts +121 -8
  61. package/dist/vue/index.d.ts +121 -8
  62. package/dist/vue-async.cjs +1 -1
  63. package/dist/vue-async.js +3 -3
  64. package/dist/vue.cjs +1 -1
  65. package/dist/vue.js +5 -5
  66. package/dist/{workbook-session-BKOTwcoq.js → workbook-session-BPb3TMnT.js} +1 -1
  67. package/dist/{workbook-session-CLYLhZWu.cjs → workbook-session-DNa2RHNG.cjs} +1 -1
  68. package/dist/worker.cjs +1 -1
  69. package/dist/worker.d.cts +52 -1
  70. package/dist/worker.d.ts +52 -1
  71. package/dist/worker.js +2 -2
  72. package/dist/xlsx.cjs +1 -1
  73. package/dist/xlsx.d.cts +40 -0
  74. package/dist/xlsx.d.ts +40 -0
  75. package/dist/xlsx.js +3 -3
  76. package/package.json +16 -3
  77. package/dist/ReportPreview-DWXROHBP.cjs +0 -6
  78. package/dist/ReportPreview-DiNXhQI0.js +0 -4138
  79. package/dist/assets-Bu6UohJx.cjs +0 -1
  80. package/dist/assets-DegqDNqY.js +0 -160
  81. package/dist/config-BRoLo2oj.cjs +0 -1
  82. package/dist/list-cell-BuYn4tGF.cjs +0 -1
  83. package/dist/template-registry-ukBGlm8N.cjs +0 -1
  84. package/dist/template-review-BXp2oyqg.cjs +0 -1
  85. package/dist/textwrap-CWHyzkBH.cjs +0 -4
  86. package/dist/textwrap-DE1kgcJB.js +0 -110
  87. package/dist/validate-7s0yn6ii.js +0 -148
  88. package/dist/validate-DsRiNw8h.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),q=require("./computed-CGV2a809.cjs"),z=require("./useLocalDraft-Yiw1wFgI.cjs"),oe=require("./matrix-DVyWiYsd.cjs"),X=require("./template-registry-ukBGlm8N.cjs"),ie=require("./tree-BX380Rr7.cjs"),Z=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),re=require("./designer.cjs");function Y(t,w=new Set){return typeof t=="string"||("field"in t&&t.field&&w.add(t.field),"weightField"in t&&t.weightField&&w.add(t.weightField),"args"in t&&t.args.forEach(k=>Y(k,w))),w}function _(t,w){return typeof t=="string"?t:"value"in t?t.value===null?w.null:String(t.value):"aggregate"in t?`${w[t.aggregate]}(${t.field??w.allRows})`:"field"in t?t.field:`${w[t.op]}(${t.args.map(k=>_(k,w)).join(", ")})`}function de(t,w,k){const x=e.ref("");function v(b){const f=t.list.columns.find(p=>p.field===b)?.format;return f&&"digits"in f&&f.digits!==void 0?`${f.digits} ${k.value.digits}`:void 0}const u=e.computed(()=>{const b=new Map;for(const f of t.datasetSchema?.fields??[])b.set(f.field,{field:f.field,label:f.label??f.field,meta:[f.type,f.unit,v(f.field)].filter(Boolean).join(" · ")});for(const f of t.list.columns)b.has(f.field)||b.set(f.field,{field:f.field,label:f.header||f.field,meta:f.semanticRole??""});return[...b.values()]}),l=e.computed(()=>{const b=x.value.trim().toLocaleLowerCase();return u.value.filter(f=>`${f.field} ${f.label} ${f.meta}`.toLocaleLowerCase().includes(b))}),g=e.computed(()=>_(w.value.expression,k.value)),y=e.computed(()=>{const b=[...Y(w.value.expression)];return(t.datasets?.[t.list.dataset]??[]).slice(0,5).map((f,p)=>({row:p+1,values:b.map(h=>`${h} = ${f[h]==null?k.value.null:String(f[h])}`).join(" · ")}))});return{query:x,matches:l,fieldWindow:e.computed(()=>l.value.slice(0,50)),expression:g,sources:y}}const O=t=>JSON.parse(JSON.stringify(t));function se(t,w){const k=e.ref(!1),x=e.ref(""),v=e.ref({dataset:"",parentKey:"",foreignKey:"",columns:[]}),u=e.ref({rowFields:[],columnFields:[],measures:[]}),l=e.ref({input:"flat",idField:"id",parentField:"parentId",labelField:"",parentValues:"source"}),g=z.useLocalDraft(()=>({enabled:k.value,detail:v.value,matrix:u.value,tree:l.value}));let y;const b=e.ref(),f=e.computed(()=>[...new Set([...Object.keys(t.datasets??{}),...Object.keys(t.datasetSchemas??{})])]),p=e.computed(()=>C(t.list.dataset,t.datasetSchema)),h=e.computed(()=>C(v.value.dataset));function C(r,D){const E=new Map;for(const S of(D??t.datasetSchemas?.[r])?.fields??[])E.set(S.field,S.label??S.field);const $=t.datasets?.[r]?.[0];for(const S of Object.keys($??{}))E.has(S)||E.set(S,S);if(r===t.list.dataset)for(const S of t.list.columns)E.has(S.field)||E.set(S.field,S.header||S.field);return[...E].map(([S,G])=>({field:S,label:G}))}function M(){if(y===JSON.stringify(t.list)){y=void 0;return}k.value=!!t.list[t.mode];const r=f.value.find(D=>D!==t.list.dataset)??"";v.value=O(t.list.detail??{dataset:r,parentKey:t.list.rowKey??t.datasetSchema?.rowKey??p.value[0]?.field??"",foreignKey:"",columns:[],header:!0,unmatched:"error"}),u.value=O(t.list.matrix??{rowFields:[],columnFields:[],measures:[],totals:!0}),u.value.measures=u.value.measures.map(D=>({...D,numeric:D.numeric??"number"})),l.value=O(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="",b.value=void 0,g.accept()}e.watch(()=>[t.mode,t.list.dataset,t.list[t.mode]],M,{immediate:!0});function V(r){v.value.dataset=r,v.value.columns=[],v.value.foreignKey=h.value[0]?.field??"",v.value.rowKey=t.datasetSchemas?.[r]?.rowKey}function o(r,D){if(D&&!v.value.columns.some(E=>E.field===r)){const E=t.datasetSchemas?.[v.value.dataset]?.fields.find($=>$.field===r);v.value.columns.push({field:r,header:h.value.find($=>$.field===r)?.label??r,widthMm:30,align:"auto",semanticRole:E?.semanticRole,editable:!1})}else D||(v.value.columns=v.value.columns.filter(E=>E.field!==r))}function a(r,D,E){const $=u.value[r];u.value[r]=E?[...new Set([...$,D])]:$.filter(S=>S!==D)}function i(){u.value.measures=[...u.value.measures,{field:p.value[0]?.field??"",op:"sum",numeric:"number"}]}function s(r){u.value.measures=u.value.measures.filter((D,E)=>E!==r)}function T(){l.value.aggregates=[...l.value.aggregates??[],{field:p.value.find(r=>r.field!==l.value.labelField&&r.field!==l.value.idField)?.field??"",op:"sum",numeric:"number"}]}function R(r){l.value.aggregates=l.value.aggregates?.filter((D,E)=>E!==r)}function W(){x.value="",b.value=void 0;try{const r=t.datasets?.[t.list.dataset]??[];if(!r.length)throw new Error(t.messages.noData);if(r.length>1e3)throw new Error(t.messages.treeBudget);const D=ie.createTreeTable(r,{...l.value,aggregates:l.value.parentValues==="leaf-aggregate"?l.value.aggregates:void 0,maxRows:1e3}),E=t.list.columns.slice(0,5);b.value={columns:E.map($=>$.header),rows:D.entries.slice(0,8).map($=>E.map(S=>S.field===l.value.labelField?`${" ".repeat(Math.min(6,$.depth))}${$.row[S.field]??""}`:$.row[S.field]))}}catch(r){x.value=r instanceof Error?r.message:String(r)}}function K(r){if(!k.value){delete r.tree;return}r.tree=O(l.value),r.tree.parentValues!=="leaf-aggregate"&&delete r.tree.aggregates,r.rowKey=r.tree.idField,delete r.detail,delete r.matrix,delete r.groupBy,delete r.groups,delete r.rowVisibleWhen}function A(){x.value="",b.value=void 0;try{const r=t.datasets?.[t.list.dataset]??[];if(!r.length)throw new Error(t.messages.noData);const D=oe.createMatrixTable(r.slice(0,1e3),{...u.value,maxInputRows:1e3});b.value={columns:D.columns.slice(0,5).map(E=>E.header),rows:D.rows.slice(0,5).map(E=>D.columns.slice(0,5).map($=>E[$.field]))}}catch(r){x.value=r instanceof Error?r.message:String(r)}}function I(){if(t.readonly)return;const r=O(t.list);t.mode==="tree"?K(r):t.mode==="detail"?k.value?(r.detail=O(v.value),delete r.matrix,delete r.tree):delete r.detail:k.value?(r.matrix=O(u.value),delete r.detail,delete r.tree,delete r.groups,delete r.groupBy,delete r.grandTotal):delete r.matrix;const D=X.validateReportTemplate({pages:[{widthMm:Math.max(1,r.leftMm+r.widthMm),heightMm:297,components:[r]}]});if(!D.ok){x.value=D.errors.slice(0,3).map(E=>E.message).join(";");return}t.accept&&!t.accept(r)||(y=JSON.stringify(r),t.accept||w(r),g.accept())}return{enabled:k,pendingLocalChanges:g.pending,detail:v,matrix:u,tree:l,datasets:f,sourceFields:p,childFields:h,error:x,preview:b,chooseDataset:V,toggleChildColumn:o,toggleDimension:a,addMeasure:i,removeMeasure:s,checkMatrix:A,addTreeAggregate:T,removeTreeAggregate:R,checkTree:W,apply:I}}const ue={class:"mr-data-layout"},ce={class:"mr-data-layout__check"},me=["disabled"],ge={class:"mr-data-layout__hint"},fe=["aria-label","value","disabled"],ve={value:"",disabled:""},ye=["value"],be={class:"mr-data-layout__pair"},Ve=["aria-label","disabled"],ke=["value"],he=["aria-label","disabled"],Ee={value:"",disabled:""},Ne=["value"],pe=["aria-label","disabled"],Be={value:void 0},De=["value"],Se={class:"mr-data-layout__choices"},we=["checked","disabled","onChange"],$e=["aria-label","disabled"],Ce={class:"mr-data-layout__pair"},xe=["aria-label","disabled"],Fe={value:"error"},Me={value:"ignore"},Te={class:"mr-data-layout__check"},Ue=["disabled"],Le={class:"mr-data-layout__hint"},Re={class:"mr-data-layout__pair"},Ke=["aria-label","disabled"],Ae={value:"flat"},Ge={value:"nested"},Ie=["aria-label","disabled"],Oe=["value"],We={class:"mr-data-layout__pair"},je={key:0},qe=["aria-label","disabled"],He=["value"],Je={key:1},ze=["aria-label","disabled"],Pe=["aria-label","disabled"],Ze=["value"],Qe={class:"mr-data-layout__pair"},Xe=["aria-label","disabled"],Ye={key:0},_e=["aria-label","disabled"],et={value:"error"},tt={value:"root"},lt=["aria-label","disabled"],at={value:"source"},nt={value:"leaf-aggregate"},ot={class:"mr-data-layout__pair"},it=["onUpdate:modelValue","aria-label","disabled"],rt=["value"],dt=["onUpdate:modelValue","aria-label","disabled"],st=["value"],ut={key:0},ct=["onUpdate:modelValue","aria-label","disabled"],mt=["value"],gt={class:"mr-data-layout__pair"},ft=["onUpdate:modelValue","aria-label","disabled"],vt={value:"number"},yt={value:"decimal"},bt=["onUpdate:modelValue","aria-label","disabled"],Vt=["disabled","onClick"],kt=["disabled"],ht={class:"mr-data-layout__pair"},Et=["aria-label","disabled"],Nt=["aria-label","disabled"],pt={class:"mr-data-layout__hint"},Bt={class:"mr-data-layout__hint"},Dt=["checked","disabled","onChange"],St={class:"mr-data-layout__pair"},wt=["aria-label","onUpdate:modelValue","disabled"],$t=["value"],Ct=["aria-label","onUpdate:modelValue","disabled"],xt=["value"],Ft=["aria-label","onUpdate:modelValue","disabled","placeholder"],Mt={key:0},Tt=["aria-label","onUpdate:modelValue","disabled"],Ut=["value"],Lt={class:"mr-data-layout__pair"},Rt=["aria-label","onUpdate:modelValue","disabled"],Kt={value:"number"},At={value:"decimal"},Gt=["aria-label","onUpdate:modelValue","disabled"],It=["disabled","onClick"],Ot=["disabled"],Wt={class:"mr-data-layout__check"},jt=["disabled"],qt={class:"mr-data-layout__pair"},Ht=["disabled"],Jt=["disabled"],zt={class:"mr-data-layout__actions"},Pt=["disabled"],Zt=["disabled"],Qt=["disabled"],Xt={key:3,class:"mr-data-layout__preview"},Yt={key:4,class:"mr-data-layout__error",role:"alert"},_t=e.defineComponent({__name:"RuleDataLayout",props:{list:{},accept:{type:Function},mode:{},datasets:{},datasetSchema:{},datasetSchemas:{},readonly:{type:Boolean},messages:{}},emits:["change","dirty"],setup(t,{emit:w}){const k=t,x=w,v=se(k,V=>x("change",V)),{enabled:u,detail:l,matrix:g,tree:y,datasets:b,sourceFields:f,childFields:p,error:h,preview:C}=v;e.watch([v.pendingLocalChanges,u,l,g,y],()=>x("dirty",v.pendingLocalChanges.value),{immediate:!0,deep:!0,flush:"sync"});const M=q.getComputationMetadata();return(V,o)=>(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("label",ce,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=a=>e.isRef(u)?u.value=a:null),type:"checkbox",disabled:t.readonly},null,8,me),[[e.vModelCheckbox,e.unref(u)]]),e.createTextVNode(e.toDisplayString(t.messages.enabled)+e.toDisplayString(t.messages[t.mode]),1)]),e.unref(u)&&t.mode==="detail"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("p",ge,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:o[1]||(o[1]=a=>e.unref(v).chooseDataset(a.target.value))},[e.createElementVNode("option",ve,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,value:a},e.toDisplayString(a),9,ye))),128))],40,fe)]),e.createElementVNode("div",be,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.parentKey),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.parentKey,"onUpdate:modelValue":o[2]||(o[2]=a=>e.unref(l).parentKey=a),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,ke))),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":o[3]||(o[3]=a=>e.unref(l).foreignKey=a),disabled:t.readonly},[e.createElementVNode("option",Ee,e.toDisplayString(t.messages.select),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,Ne))),128))],8,he),[[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":o[4]||(o[4]=a=>e.unref(l).rowKey=a),disabled:t.readonly},[e.createElementVNode("option",Be,e.toDisplayString(t.messages.noRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,De))),128))],8,pe),[[e.vModelSelect,e.unref(l).rowKey]])]),e.createElementVNode("fieldset",Se,[e.createElementVNode("legend",null,e.toDisplayString(t.messages.childColumns),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),a=>(e.openBlock(),e.createElementBlock("label",{key:a.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(l).columns.some(i=>i.field===a.field),disabled:t.readonly,onChange:i=>e.unref(v).toggleChildColumn(a.field,i.target.checked)},null,40,we),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":o[5]||(o[5]=a=>e.unref(l).label=a),disabled:t.readonly},null,8,$e),[[e.vModelText,e.unref(l).label]])]),e.createElementVNode("div",Ce,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.unmatched),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.unmatched,"onUpdate:modelValue":o[6]||(o[6]=a=>e.unref(l).unmatched=a),disabled:t.readonly},[e.createElementVNode("option",Fe,e.toDisplayString(t.messages.error),1),e.createElementVNode("option",Me,e.toDisplayString(t.messages.ignore),1)],8,xe),[[e.vModelSelect,e.unref(l).unmatched]])]),e.createElementVNode("label",Te,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[7]||(o[7]=a=>e.unref(l).header=a),type:"checkbox",disabled:t.readonly},null,8,Ue),[[e.vModelCheckbox,e.unref(l).header]]),e.createTextVNode(e.toDisplayString(t.messages.childHeader),1)])])],64)):e.unref(u)&&t.mode==="tree"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("p",Le,e.toDisplayString(t.messages.treeHint),1),e.createElementVNode("div",Re,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeInput),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[8]||(o[8]=a=>e.unref(y).input=a),"aria-label":t.messages.treeInput,disabled:t.readonly},[e.createElementVNode("option",Ae,e.toDisplayString(t.messages.treeFlat),1),e.createElementVNode("option",Ge,e.toDisplayString(t.messages.treeNested),1)],8,Ke),[[e.vModelSelect,e.unref(y).input]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeId),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[9]||(o[9]=a=>e.unref(y).idField=a),"aria-label":t.messages.treeId,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,Oe))),128))],8,Ie),[[e.vModelSelect,e.unref(y).idField]])])]),e.createElementVNode("div",We,[e.unref(y).input==="flat"?(e.openBlock(),e.createElementBlock("label",je,[e.createTextVNode(e.toDisplayString(t.messages.treeParent),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[10]||(o[10]=a=>e.unref(y).parentField=a),"aria-label":t.messages.treeParent,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,He))),128))],8,qe),[[e.vModelSelect,e.unref(y).parentField]])])):(e.openBlock(),e.createElementBlock("label",Je,[e.createTextVNode(e.toDisplayString(t.messages.treeChildren),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[11]||(o[11]=a=>e.unref(y).childrenField=a),"aria-label":t.messages.treeChildren,disabled:t.readonly,placeholder:"children"},null,8,ze),[[e.vModelText,e.unref(y).childrenField]])])),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeLabel),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[12]||(o[12]=a=>e.unref(y).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,Ze))),128))],8,Pe),[[e.vModelSelect,e.unref(y).labelField]])])]),e.createElementVNode("div",Qe,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeIndent),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[13]||(o[13]=a=>e.unref(y).indentMm=a),"aria-label":t.messages.treeIndent,type:"number",min:"0",max:"20",step:"0.5",disabled:t.readonly},null,8,Xe),[[e.vModelText,e.unref(y).indentMm,void 0,{number:!0}]])]),e.unref(y).input==="flat"?(e.openBlock(),e.createElementBlock("label",Ye,[e.createTextVNode(e.toDisplayString(t.messages.treeOrphan),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[14]||(o[14]=a=>e.unref(y).orphan=a),"aria-label":t.messages.treeOrphan,disabled:t.readonly},[e.createElementVNode("option",et,e.toDisplayString(t.messages.error),1),e.createElementVNode("option",tt,e.toDisplayString(t.messages.treeAsRoot),1)],8,_e),[[e.vModelSelect,e.unref(y).orphan]])])):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeValues),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[15]||(o[15]=a=>e.unref(y).parentValues=a),"aria-label":t.messages.treeValues,disabled:t.readonly},[e.createElementVNode("option",at,e.toDisplayString(t.messages.treeSource),1),e.createElementVNode("option",nt,e.toDisplayString(t.messages.treeLeaves),1)],8,lt),[[e.vModelSelect,e.unref(y).parentValues]])]),e.unref(y).parentValues==="leaf-aggregate"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y).aggregates,(a,i)=>(e.openBlock(),e.createElementBlock("div",{key:i,class:"mr-data-layout__measure"},[e.createElementVNode("div",ot,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measure),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s=>a.field=s,"aria-label":t.messages.measure,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),s=>(e.openBlock(),e.createElementBlock("option",{key:s.field,value:s.field},e.toDisplayString(s.label),9,rt))),128))],8,it),[[e.vModelSelect,a.field]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.aggregate),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s=>a.op=s,"aria-label":t.messages.aggregate,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M).aggregates,s=>(e.openBlock(),e.createElementBlock("option",{key:s,value:s},e.toDisplayString(t.messages[s]),9,st))),128))],8,dt),[[e.vModelSelect,a.op]])])]),a.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",ut,[e.createTextVNode(e.toDisplayString(t.messages.weight),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s=>a.weightField=s,"aria-label":t.messages.weight,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),s=>(e.openBlock(),e.createElementBlock("option",{key:s.field,value:s.field},e.toDisplayString(s.label),9,mt))),128))],8,ct),[[e.vModelSelect,a.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",gt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.numeric),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s=>a.numeric=s,"aria-label":t.messages.numeric,disabled:t.readonly},[e.createElementVNode("option",vt,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",yt,e.toDisplayString(t.messages.decimal),1)],8,ft),[[e.vModelSelect,a.numeric]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.digits),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s=>a.digits=s,"aria-label":t.messages.digits,type:"number",min:"0",max:"100",disabled:t.readonly},null,8,bt),[[e.vModelText,a.digits,void 0,{number:!0}]])])]),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:s=>e.unref(v).removeTreeAggregate(i)},e.toDisplayString(t.messages.remove),9,Vt)]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly||(e.unref(y).aggregates?.length??0)>=32,onClick:o[16]||(o[16]=(...a)=>e.unref(v).addTreeAggregate&&e.unref(v).addTreeAggregate(...a))},"+ "+e.toDisplayString(t.messages.addAggregate),9,kt)],64)):e.createCommentVNode("",!0),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.advanced),1),e.createElementVNode("div",ht,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeRows),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[17]||(o[17]=a=>e.unref(y).maxRows=a),"aria-label":t.messages.treeRows,type:"number",min:"1",max:"1000000",disabled:t.readonly},null,8,Et),[[e.vModelText,e.unref(y).maxRows,void 0,{number:!0}]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeDepth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[18]||(o[18]=a=>e.unref(y).maxDepth=a),"aria-label":t.messages.treeDepth,type:"number",min:"1",max:"256",disabled:t.readonly},null,8,Nt),[[e.vModelText,e.unref(y).maxDepth,void 0,{number:!0}]])])])]),e.createElementVNode("p",pt,e.toDisplayString(t.messages.treeReadonly),1)],64)):e.unref(u)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("p",Bt,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(f),i=>(e.openBlock(),e.createElementBlock("label",{key:i.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(g)[a].includes(i.field),disabled:t.readonly,onChange:s=>e.unref(v).toggleDimension(a,i.field,s.target.checked)},null,40,Dt),e.createTextVNode(e.toDisplayString(i.label),1)]))),128))])),64)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g).measures,(a,i)=>(e.openBlock(),e.createElementBlock("div",{key:i,class:"mr-data-layout__measure"},[e.createElementVNode("div",St,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measure),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.measure,"onUpdate:modelValue":s=>a.field=s,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),s=>(e.openBlock(),e.createElementBlock("option",{key:s.field,value:s.field},e.toDisplayString(s.label),9,$t))),128))],8,wt),[[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":s=>a.op=s,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M).aggregates,s=>(e.openBlock(),e.createElementBlock("option",{key:s,value:s},e.toDisplayString(t.messages[s]),9,xt))),128))],8,Ct),[[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":s=>a.label=s,disabled:t.readonly,placeholder:a.field},null,8,Ft),[[e.vModelText,a.label]])]),a.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",Mt,[e.createTextVNode(e.toDisplayString(t.messages.weight),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.weight,"onUpdate:modelValue":s=>a.weightField=s,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),s=>(e.openBlock(),e.createElementBlock("option",{key:s.field,value:s.field},e.toDisplayString(s.label),9,Ut))),128))],8,Tt),[[e.vModelSelect,a.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",Lt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.numeric),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.numeric,"onUpdate:modelValue":s=>a.numeric=s,disabled:t.readonly},[e.createElementVNode("option",Kt,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",At,e.toDisplayString(t.messages.decimal),1)],8,Rt),[[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":s=>a.digits=s,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:s=>e.unref(v).removeMeasure(i)},e.toDisplayString(t.messages.remove),9,It)]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(g).measures.length>=32,onClick:o[19]||(o[19]=(...a)=>e.unref(v).addMeasure&&e.unref(v).addMeasure(...a))}," + "+e.toDisplayString(t.messages.addAggregate),9,Ot),e.createElementVNode("label",Wt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[20]||(o[20]=a=>e.unref(g).totals=a),type:"checkbox",disabled:t.readonly},null,8,jt),[[e.vModelCheckbox,e.unref(g).totals]]),e.createTextVNode(e.toDisplayString(t.messages.totals),1)]),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.widthSettings),1),e.createElementVNode("div",qt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.dimensionWidth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[21]||(o[21]=a=>e.unref(g).rowWidthMm=a),type:"number",min:"1",disabled:t.readonly,placeholder:"40"},null,8,Ht),[[e.vModelText,e.unref(g).rowWidthMm,void 0,{number:!0}]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measureWidth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[22]||(o[22]=a=>e.unref(g).columnWidthMm=a),type:"number",min:"1",disabled:t.readonly,placeholder:"28"},null,8,Jt),[[e.vModelText,e.unref(g).columnWidthMm,void 0,{number:!0}]])])])])],64)):e.createCommentVNode("",!0),e.createElementVNode("div",zt,[e.unref(u)&&t.mode==="matrix"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:o[23]||(o[23]=(...a)=>e.unref(v).checkMatrix&&e.unref(v).checkMatrix(...a))},e.toDisplayString(t.messages.check),9,Pt)):e.createCommentVNode("",!0),e.unref(u)&&t.mode==="tree"?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:t.readonly,onClick:o[24]||(o[24]=(...a)=>e.unref(v).checkTree&&e.unref(v).checkTree(...a))},e.toDisplayString(t.messages.check),9,Zt)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"mr-data-layout__primary",disabled:t.readonly,onClick:o[25]||(o[25]=(...a)=>e.unref(v).apply&&e.unref(v).apply(...a))},e.toDisplayString(t.messages.apply),9,Qt)]),e.unref(C)?(e.openBlock(),e.createElementBlock("div",Xt,[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,i)=>(e.openBlock(),e.createElementBlock("th",{key:i},e.toDisplayString(a),1))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(C).rows,(a,i)=>(e.openBlock(),e.createElementBlock("tr",{key:i},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a,(s,T)=>(e.openBlock(),e.createElementBlock("td",{key:T},e.toDisplayString(s??"—"),1))),128))]))),128))])])])):e.createCommentVNode("",!0),e.unref(h)?(e.openBlock(),e.createElementBlock("p",Yt,e.toDisplayString(e.unref(h)),1)):e.createCommentVNode("",!0)]))}}),el=Z._export_sfc(_t,[["__scopeId","data-v-e089d1c9"]]),tl={class:"mr-expression__row"},ll=["value","disabled","aria-label"],al={value:"field"},nl={value:"constant"},ol={key:0,value:"operation"},il={value:"aggregate"},rl=["value","disabled","aria-label"],dl=["value"],sl=["value","disabled","aria-label"],ul=["value"],cl=["value","disabled","aria-label"],ml=["value"],gl=["value","disabled","aria-label"],fl={value:"text"},vl={value:"number"},yl={value:"boolean"},bl={value:"null"},Vl=["value","disabled","aria-label"],kl={key:0,value:""},hl=["value"],El=["value","disabled","aria-label"],Nl={value:"",disabled:""},pl=["value"],Bl=["value","disabled","aria-label"],Dl={value:"true"},Sl={value:"false"},wl=["type","value","disabled","aria-label"],$l=["disabled","aria-label","onClick"],Cl=["disabled"],xl=e.defineComponent({__name:"ReportExpressionEditor",props:{modelValue:{},fields:{},messages:{},readonly:{type:Boolean},depth:{}},emits:["update:modelValue"],setup(t,{emit:w}){const k=t,x=w,v=q.getComputationMetadata(),u=e.computed(()=>"aggregate"in k.modelValue?"aggregate":"field"in k.modelValue?"field":"value"in k.modelValue?"constant":"operation"),l=e.ref("text");e.watch(()=>k.modelValue,V=>{"value"in V&&(l.value=V.value===null?"null":typeof V.value=="string"?"text":typeof V.value)},{immediate:!0});function g(V){k.readonly||x("update:modelValue",V)}function y(V){g(V==="aggregate"?{aggregate:"sum",field:k.fields[0]?.field??""}:V==="field"?{field:k.fields[0]?.field??""}:V==="constant"?{value:""}:{op:"add",args:[{field:k.fields[0]?.field??""},{value:0}]})}function b(V){const o=V,a="args"in k.modelValue?k.modelValue.args:[{value:0},{value:0}];g({op:o,args:o==="divide"||o==="subtract"?a.slice(0,2):a})}function f(V,o){"args"in k.modelValue&&g({...k.modelValue,args:k.modelValue.args.map((a,i)=>i===V?o:a)})}function p(V){if(!("args"in k.modelValue))return;const o=V===void 0?[...k.modelValue.args,{value:0}]:k.modelValue.args.filter((a,i)=>i!==V);g({...k.modelValue,args:o})}function h(V){l.value=V,g({value:V==="null"?null:V==="boolean"?!1:V==="number"?0:""})}function C(V){l.value==="number"?V.trim()&&Number.isFinite(Number(V))&&g({value:Number(V)}):g({value:V})}function M(V,o){if(!("aggregate"in k.modelValue))return;const a={...k.modelValue,[V]:o};V==="aggregate"&&(a.aggregate=o),V==="field"&&!o&&delete a.field,g(a)}return(V,o)=>{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",tl,[e.createElementVNode("select",{value:u.value,disabled:t.readonly,"aria-label":t.messages.argument,onChange:o[0]||(o[0]=i=>y(i.target.value))},[e.createElementVNode("option",al,e.toDisplayString(t.messages.field),1),e.createElementVNode("option",nl,e.toDisplayString(t.messages.constant),1),(t.depth??0)<12?(e.openBlock(),e.createElementBlock("option",ol,e.toDisplayString(t.messages.operation),1)):e.createCommentVNode("",!0),e.createElementVNode("option",il,e.toDisplayString(t.messages.aggregate),1)],40,ll),"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:o[1]||(o[1]=i=>g({field:i.target.value}))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,i=>(e.openBlock(),e.createElementBlock("option",{key:i.field,value:i.field},e.toDisplayString(i.label),9,dl))),128))],40,rl)):"op"in t.modelValue?(e.openBlock(),e.createElementBlock("select",{key:1,value:t.modelValue.op,disabled:t.readonly,"aria-label":t.messages.operation,onChange:o[2]||(o[2]=i=>b(i.target.value))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).operations,i=>(e.openBlock(),e.createElementBlock("option",{key:i,value:i},e.toDisplayString(t.messages[i]),9,ul))),128))],40,sl)):"aggregate"in t.modelValue?(e.openBlock(),e.createElementBlock("select",{key:2,value:t.modelValue.aggregate,disabled:t.readonly,"aria-label":t.messages.aggregate,onChange:o[3]||(o[3]=i=>M("aggregate",i.target.value))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).aggregates,i=>(e.openBlock(),e.createElementBlock("option",{key:i,value:i},e.toDisplayString(t.messages[i]),9,ml))),128))],40,cl)):(e.openBlock(),e.createElementBlock("select",{key:3,value:l.value,disabled:t.readonly,"aria-label":t.messages.resultType,onChange:o[4]||(o[4]=i=>h(i.target.value))},[e.createElementVNode("option",fl,e.toDisplayString(t.messages.text),1),e.createElementVNode("option",vl,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",yl,e.toDisplayString(t.messages.boolean),1),e.createElementVNode("option",bl,e.toDisplayString(t.messages.null),1)],40,gl))]),"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:o[5]||(o[5]=i=>M("field",i.target.value))},[t.modelValue.aggregate==="count"?(e.openBlock(),e.createElementBlock("option",kl,e.toDisplayString(t.messages.allRows),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,i=>(e.openBlock(),e.createElementBlock("option",{key:i.field,value:i.field},e.toDisplayString(i.label),9,hl))),128))],40,Vl),t.modelValue.aggregate==="weightedAvg"?(e.openBlock(),e.createElementBlock("select",{key:0,value:t.modelValue.weightField??"",disabled:t.readonly,"aria-label":t.messages.weight,onChange:o[6]||(o[6]=i=>M("weightField",i.target.value))},[e.createElementVNode("option",Nl,e.toDisplayString(t.messages.weight),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,i=>(e.openBlock(),e.createElementBlock("option",{key:i.field,value:i.field},e.toDisplayString(i.label),9,pl))),128))],40,El)):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:o[7]||(o[7]=i=>g({value:i.target.value==="true"}))},[e.createElementVNode("option",Dl,e.toDisplayString(t.messages.true),1),e.createElementVNode("option",Sl,e.toDisplayString(t.messages.false),1)],40,Bl)):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:o[8]||(o[8]=i=>C(i.target.value))},null,40,wl)):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,(i,s)=>(e.openBlock(),e.createElementBlock("div",{key:s,class:"mr-expression__argument"},[e.createVNode(a,{"model-value":i,fields:t.fields,messages:t.messages,readonly:t.readonly,depth:(t.depth??0)+1,"onUpdate:modelValue":T=>f(s,T)},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} ${s+1}`,onClick:T=>p(s)}," × ",8,$l)):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:o[9]||(o[9]=i=>p())}," + "+e.toDisplayString(t.messages.addArgument),9,Cl)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),Fl=Z._export_sfc(xl,[["__scopeId","data-v-84e5c0e5"]]),U=t=>JSON.parse(JSON.stringify(t));function Ml(t,w){const k=e.computed(()=>({...re.RULE_EDITOR_MESSAGES,...t.messages})),x=e.ref("computations"),v=e.ref(""),u=e.ref(""),l=e.ref({field:"",expression:{field:""},scope:"row"}),g=e.ref([]),y=e.ref(0),b=e.ref(""),f=e.ref(-1),p=e.ref("style"),h=e.ref({field:"",op:">",value:0}),C=e.ref({color:"#b91c1c",backgroundColor:"#fff1f2",bold:!1}),M=e.ref([]),V=z.useLocalDraft(()=>l.value),o=z.useLocalDraft(()=>g.value),a=z.useLocalDraft(()=>({when:h.value,style:C.value})),i=e.ref(new Map),s=e.ref(new Map);let T="",R=!1;const W=e.computed(()=>V.pending.value||o.pending.value||a.pending.value||i.value.size>0||s.value.size>0);let K;const A=e.computed(()=>{const c=new Map;for(const m of t.datasetSchema?.fields??[])c.set(m.field,m.label??m.field);for(const m of t.list.columns)c.has(m.field)||c.set(m.field,m.header||m.field);for(const m of Object.keys(t.datasets?.[t.list.dataset]?.[0]??{}))c.has(m)||c.set(m,m);return[...c].map(([m,N])=>({field:m,label:N}))}),I=e.computed(()=>g.value[y.value]),r=e.computed(()=>t.list.columns.find(c=>c.field===b.value)),D=e.computed(()=>q.validateComputedFields(S()));function E(){if(K===JSON.stringify(t.list)){K=void 0;return}R=!0,i.value=new Map,s.value=new Map,g.value=U(t.list.groups??(t.list.groupBy?[t.list.groupBy]:[]));for(const c of g.value)for(const m of c.aggregates??[])m.numeric??="number";t.list.columns.some(c=>c.field===b.value)||(b.value=t.list.columns[0]?.field??""),v.value="",M.value=[],$(u.value),Q(-1),o.accept(),R=!1}e.watch(()=>t.list,E,{immediate:!0}),e.watch(l,()=>{M.value=[]},{deep:!0}),e.watch(()=>t.datasets,()=>{M.value=[]},{deep:!0});function $(c){!R&&V.pending.value&&(i.value=new Map(i.value).set(u.value,U(l.value))),u.value=c,l.value=U(t.list.computed?.find(N=>N.field===c)??{field:"",expression:{field:A.value[0]?.field??""},scope:"row"}),l.value.numeric??="number",M.value=[],v.value="",V.accept();const m=i.value.get(c);if(m){l.value=U(m);const N=new Map(i.value);N.delete(c),i.value=N}}function S(){return[...(t.list.computed??[]).filter(m=>m.field!==u.value),U(l.value)]}function G(c){if(t.readonly)return!1;const m=X.validateReportTemplate({pages:[{widthMm:Math.max(1,c.leftMm+c.widthMm),heightMm:297,components:[c]}]});return m.ok?(v.value="",K=JSON.stringify(c),w(c),!0):(v.value=m.errors.map(N=>N.message).slice(0,3).join(";"),!1)}function P(){if(!l.value.field.trim()){v.value=k.value.missingTarget;return}const c=U(t.list);if(c.computed=S(),c.columns.some(m=>m.field===l.value.field)||c.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}}}),G(c)){const m=new Map(i.value);m.delete(u.value),m.delete(l.value.field),i.value=m,u.value=l.value.field,V.accept()}}function H(){if(!u.value)return;const c=U(t.list);if(c.computed=(c.computed??[]).filter(m=>m.field!==u.value),G(c)){const m=new Map(i.value);m.delete(u.value),i.value=m,V.accept(),$("")}}function J(){M.value=[],v.value="";const c=t.datasets?.[t.list.dataset];if(!c?.length){v.value=k.value.noData;return}try{const m=q.computeDataset(c.slice(0,1e3),{fields:S(),maxRows:1e3,maxCells:2e6});M.value=m.rows.slice(0,5).map((N,L)=>({row:L+1,value:N[l.value.field]}))}catch(m){v.value=m instanceof Error?m.message:String(m)}}function d(c){l.value.expression=c}function n(c,m){l.value.groupBy=m?[...l.value.groupBy??[],c]:(l.value.groupBy??[]).filter(N=>N!==c)}function F(){g.value.push({field:A.value[0]?.field??"",headerTemplate:"{value}",subtotalLabel:k.value.subtotalLabel,aggregates:[],keepWithNext:!0}),y.value=g.value.length-1}function B(c){const m=y.value,N=m+c;N<0||N>=g.value.length||([g.value[m],g.value[N]]=[g.value[N],g.value[m]],y.value=N)}function ee(){g.value.splice(y.value,1),y.value=Math.max(0,Math.min(y.value,g.value.length-1))}function te(){I.value&&(I.value.aggregates??=[]).push({field:A.value[0]?.field??"",op:"sum",numeric:"number"})}function le(){const c=U(t.list);c.groups=U(g.value),delete c.groupBy,G(c)&&o.accept()}function Q(c){!R&&a.pending.value&&(s.value=new Map(s.value).set(T,{when:U(h.value),style:{...C.value}})),T=`${b.value}|${p.value}|${c}`,f.value=c;const m=p.value==="cell"?r.value?.visibleWhen:p.value==="rowVisibility"?t.list.rowVisibleWhen:r.value?.rules?.[c]?.when;h.value=U(m??{field:b.value,op:">",value:0});const N=r.value?.rules?.[c]?.style;C.value={color:String(N?.color??"#b91c1c"),backgroundColor:String(N?.backgroundColor??"#fff1f2"),bold:N?.bold===!0},a.accept();const L=s.value.get(T);if(L){h.value=U(L.when),C.value={...L.style};const j=new Map(s.value);j.delete(T),s.value=j}}function ae(c){const m=t.datasetSchema?.fields.find(j=>j.field===h.value.field),N=t.datasets?.[t.list.dataset]?.find(j=>j[h.value.field]!=null)?.[h.value.field],L=m?.type==="number"||!m&&typeof N=="number";m?.type==="decimal"?h.value.numeric="decimal":L?h.value.numeric="number":delete h.value.numeric,h.value.value=L&&c.trim()&&Number.isFinite(Number(c))?Number(c):c}function ne(c=!1){const m=U(t.list),N=m.columns.find(L=>L.field===b.value);if(!N){v.value=k.value.noSelection;return}if(p.value==="rowVisibility")c?delete m.rowVisibleWhen:m.rowVisibleWhen=U(h.value);else if(p.value==="cell")c?delete N.visibleWhen:N.visibleWhen=U(h.value);else if(N.rules??=[],c&&f.value>=0)N.rules.splice(f.value,1);else{if(c)return;f.value<0?N.rules.push({when:U(h.value),style:{...C.value}}):N.rules[f.value]={when:U(h.value),style:{...C.value}}}if(G(m)){const L=new Map(s.value);L.delete(T),s.value=L,a.accept()}}return{m:k,pendingLocalChanges:W,draftSnapshot:()=>JSON.stringify({formula:l.value,groups:g.value,when:h.value,style:C.value,computedDrafts:[...i.value],conditionDrafts:[...s.value]}),tab:x,fields:A,formula:l,groups:g,groupIndex:y,currentGroup:I,column:b,currentColumn:r,conditionIndex:f,effect:p,when:h,style:C,error:v,preview:M,diagnostics:D,selectedComputed:u,loadComputed:$,applyComputed:P,removeComputed:H,check:J,setExpression:d,toggleGroupField:n,addGroup:F,moveGroup:B,removeGroup:ee,addAggregate:te,applyGroups:le,loadCondition:Q,setThreshold:ae,applyCondition:ne,applyLayout:G,resetDraft:()=>{K=void 0,E()}}}const Tl=["aria-label"],Ul={class:"mr-rule-editor__directory"},Ll=["aria-label"],Rl=["aria-selected","onClick"],Kl={key:0},Al={key:1},Gl={class:"mr-rule-editor__catalog"},Il=["disabled"],Ol=["aria-label"],Wl={class:"mr-rule-editor__field-list"},jl=["disabled","title","onClick"],ql={key:1},Hl={key:0,class:"mr-rule-editor__panel"},Jl=["aria-label","value","disabled"],zl={value:""},Pl=["value"],Zl=["aria-label","disabled"],Ql={class:"mr-rule-editor__pair"},Xl=["aria-label","disabled"],Yl=["value"],_l=["aria-label","disabled"],ea={value:"number"},ta={value:"decimal"},la={key:0,class:"mr-rule-editor__checks"},aa=["checked","disabled","onChange"],na={key:2,class:"mr-rule-editor__hint"},oa={class:"mr-rule-editor__advanced"},ia=["aria-label","disabled"],ra=["aria-label","disabled"],da={value:"propagate"},sa={value:"error"},ua=["aria-label","disabled"],ca={value:"error"},ma={value:"null"},ga={key:3,class:"mr-rule-editor__hint"},fa={key:4,class:"mr-rule-editor__diagnostic"},va={class:"mr-rule-editor__actions"},ya=["disabled"],ba=["disabled"],Va=["disabled"],ka={key:5,class:"mr-rule-editor__error"},ha={key:1,class:"mr-rule-editor__panel"},Ea={class:"mr-rule-editor__pair"},Na=["aria-label"],pa=["value"],Ba={key:0,value:0},Da=["disabled"],Sa=["aria-label","disabled"],wa=["value"],$a={class:"mr-rule-editor__pair"},Ca=["aria-label","disabled"],xa=["aria-label","disabled"],Fa={class:"mr-rule-editor__checks"},Ma=["disabled"],Ta=["disabled"],Ua={class:"mr-rule-editor__pair"},La=["aria-label","onUpdate:modelValue","disabled"],Ra=["value"],Ka=["aria-label","onUpdate:modelValue","disabled"],Aa=["value"],Ga=["aria-label","onUpdate:modelValue","disabled"],Ia={value:void 0},Oa=["value"],Wa={key:0},ja=["aria-label","onUpdate:modelValue","disabled"],qa=["value"],Ha={class:"mr-rule-editor__pair"},Ja=["onUpdate:modelValue","disabled","aria-label"],za={value:"number"},Pa={value:"decimal"},Za=["disabled","onClick"],Qa=["disabled"],Xa={class:"mr-rule-editor__actions"},Ya=["disabled","aria-label"],_a=["disabled","aria-label"],en=["disabled"],tn=["disabled"],ln={key:2,class:"mr-rule-editor__panel"},an=["aria-label","disabled"],nn=["value"],on=["aria-label","disabled"],rn={value:"style"},dn={value:"cell"},sn={value:"rowVisibility"},un={key:0},cn=["aria-label","value","disabled"],mn={value:-1},gn=["value"],fn=["aria-label","disabled"],vn=["value"],yn={class:"mr-rule-editor__pair"},bn=["aria-label","disabled"],Vn=["value"],kn=["value","disabled"],hn={class:"mr-rule-editor__pair"},En=["disabled"],Nn=["disabled"],pn={class:"mr-rule-editor__check"},Bn=["disabled"],Dn={class:"mr-rule-editor__actions"},Sn=["disabled"],wn=["disabled"],$n={class:"mr-rule-editor__explanation"},Cn={key:0},xn={class:"mr-rule-editor__results"},Fn={key:0},Mn={key:1},Tn={key:1,class:"mr-rule-editor__error",role:"alert"},Un=e.defineComponent({__name:"RuleEditor",props:{list:{},datasets:{},datasetSchema:{},datasetSchemas:{},readonly:{type:Boolean},messages:{}},emits:["change","dirty"],setup(t,{expose:w,emit:k}){const x=t,v=k,u=Ml(x,J=>v("change",J)),{m:l,tab:g,fields:y,formula:b,groups:f,groupIndex:p,currentGroup:h,column:C,currentColumn:M,conditionIndex:V,effect:o,when:a,style:i,error:s,preview:T,diagnostics:R,selectedComputed:W}=u,K=e.ref({}),A=e.ref(0);function I(){u.resetDraft(),K.value={},A.value++}const r=e.computed(()=>u.pendingLocalChanges.value||Object.values(K.value).some(Boolean));e.watch([r,u.draftSnapshot,K],()=>v("dirty",r.value),{immediate:!0,deep:!0,flush:"sync"}),w({get pendingLocalChanges(){return r.value}});const D=de(x,u.formula,l),{query:E,matches:$,fieldWindow:S,expression:G,sources:P}=D,H=q.getComputationMetadata();return(J,d)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-rule-editor","aria-label":e.unref(l).settings},[e.createElementVNode("aside",Ul,[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(g)===n,class:e.normalizeClass({"is-active":e.unref(g)===n}),onClick:F=>g.value=n},[e.createTextVNode(e.toDisplayString(e.unref(l)[n]),1),n==="computations"&&t.list.computed?.length?(e.openBlock(),e.createElementBlock("span",Kl,e.toDisplayString(t.list.computed.length),1)):e.createCommentVNode("",!0),n==="groups"&&e.unref(f).length?(e.openBlock(),e.createElementBlock("span",Al,e.toDisplayString(e.unref(f).length),1)):e.createCommentVNode("",!0)],10,Rl)),64))],8,Ll),e.createElementVNode("div",Gl,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).catalog),1),r.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:I},e.toDisplayString(e.unref(l).restoreDraft),9,Il)):e.createCommentVNode("",!0),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).searchFields),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[0]||(d[0]=n=>e.isRef(E)?E.value=n:null),type:"search","aria-label":e.unref(l).searchFields},null,8,Ol),[[e.vModelText,e.unref(E)]])]),e.createElementVNode("div",Wl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S),n=>(e.openBlock(),e.createElementBlock("button",{key:n.field,type:"button",disabled:t.readonly||e.unref(g)!=="computations",title:e.unref(l).useField,onClick:F=>e.unref(u).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,jl))),128))]),e.unref($).length>50?(e.openBlock(),e.createElementBlock("small",ql,e.toDisplayString(e.unref(l).shown)+" 50 / "+e.toDisplayString(e.unref($).length),1)):e.createCommentVNode("",!0)])]),e.unref(g)==="computations"?(e.openBlock(),e.createElementBlock("div",Hl,[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(W),disabled:t.readonly,onChange:d[1]||(d[1]=n=>e.unref(u).loadComputed(n.target.value))},[e.createElementVNode("option",zl,"+ "+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,Pl))),128))],40,Jl)]),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":d[2]||(d[2]=n=>e.unref(b).field=n),disabled:t.readonly,autocomplete:"off"},null,8,Zl),[[e.vModelText,e.unref(b).field]])]),e.createElementVNode("div",Ql,[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":d[3]||(d[3]=n=>e.unref(b).scope=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(H).scopes,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(e.unref(l)[n]),9,Yl))),128))],8,Xl),[[e.vModelSelect,e.unref(b).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":d[4]||(d[4]=n=>e.unref(b).numeric=n),disabled:t.readonly},[e.createElementVNode("option",ea,e.toDisplayString(e.unref(l).number),1),e.createElementVNode("option",ta,e.toDisplayString(e.unref(l).decimal),1)],8,_l),[[e.vModelSelect,e.unref(b).numeric]])])]),e.unref(b).scope==="group"?(e.openBlock(),e.createElementBlock("fieldset",la,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(l).groupFields),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),n=>(e.openBlock(),e.createElementBlock("label",{key:n.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(b).groupBy?.includes(n.field),disabled:t.readonly,onChange:F=>e.unref(u).toggleGroupField(n.field,F.target.checked)},null,40,aa),e.createTextVNode(e.toDisplayString(n.label),1)]))),128))])):e.createCommentVNode("",!0),typeof e.unref(b).expression!="string"?(e.openBlock(),e.createBlock(Fl,{key:1,"model-value":e.unref(b).expression,fields:e.unref(y),messages:e.unref(l),readonly:t.readonly,"onUpdate:modelValue":e.unref(u).setExpression},null,8,["model-value","fields","messages","readonly","onUpdate:modelValue"])):(e.openBlock(),e.createElementBlock("p",na,e.toDisplayString(e.unref(b).expression),1)),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(l).advanced),1),e.createElementVNode("div",oa,[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":d[5]||(d[5]=n=>e.unref(b).digits=n),type:"number",min:"0",max:"100",disabled:t.readonly},null,8,ia),[[e.vModelText,e.unref(b).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":d[6]||(d[6]=n=>e.unref(b).nulls=n),disabled:t.readonly},[e.createElementVNode("option",da,e.toDisplayString(e.unref(l).propagate),1),e.createElementVNode("option",sa,e.toDisplayString(e.unref(l).error),1)],8,ra),[[e.vModelSelect,e.unref(b).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":d[7]||(d[7]=n=>e.unref(b).divisionByZero=n),disabled:t.readonly},[e.createElementVNode("option",ca,e.toDisplayString(e.unref(l).error),1),e.createElementVNode("option",ma,e.toDisplayString(e.unref(l).propagate),1)],8,ua),[[e.vModelSelect,e.unref(b).divisionByZero]])])])]),e.unref(b).numeric==="decimal"?(e.openBlock(),e.createElementBlock("p",ga,e.toDisplayString(e.unref(l).decimalHint),1)):e.createCommentVNode("",!0),e.unref(R).valid&&e.unref(b).field?(e.openBlock(),e.createElementBlock("div",fa,[e.createTextVNode(e.toDisplayString(e.unref(l).dependencies),1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(R).order.join(" → ")),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",va,[e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:d[8]||(d[8]=(...n)=>e.unref(u).check&&e.unref(u).check(...n))},e.toDisplayString(e.unref(l).check),9,ya),e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly||!e.unref(R).valid,onClick:d[9]||(d[9]=(...n)=>e.unref(u).applyComputed&&e.unref(u).applyComputed(...n))},e.toDisplayString(e.unref(l).apply),9,ba),e.unref(W)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:d[10]||(d[10]=(...n)=>e.unref(u).removeComputed&&e.unref(u).removeComputed(...n))},e.toDisplayString(e.unref(l).remove),9,Va)):e.createCommentVNode("",!0)]),!e.unref(R).valid&&e.unref(b).field?(e.openBlock(),e.createElementBlock("p",ka,e.toDisplayString(e.unref(R).errors.join(";")),1)):e.createCommentVNode("",!0)])):e.unref(g)==="groups"?(e.openBlock(),e.createElementBlock("div",ha,[e.createElementVNode("div",Ea,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":d[11]||(d[11]=n=>e.isRef(p)?p.value=n:null),"aria-label":e.unref(l).groups},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(n,F)=>(e.openBlock(),e.createElementBlock("option",{key:F,value:F},e.toDisplayString(F+1)+" · "+e.toDisplayString(n.field),9,pa))),128)),e.unref(f).length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("option",Ba,e.toDisplayString(e.unref(l).noGroups),1))],8,Na),[[e.vModelSelect,e.unref(p),void 0,{number:!0}]]),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(f).length>=16,onClick:d[12]||(d[12]=(...n)=>e.unref(u).addGroup&&e.unref(u).addGroup(...n))}," + "+e.toDisplayString(e.unref(l).addGroup),9,Da)]),e.unref(h)?(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":d[13]||(d[13]=n=>e.unref(h).field=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label),9,wa))),128))],8,Sa),[[e.vModelSelect,e.unref(h).field]])]),e.createElementVNode("div",$a,[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":d[14]||(d[14]=n=>e.unref(h).headerTemplate=n),disabled:t.readonly,placeholder:"{value}"},null,8,Ca),[[e.vModelText,e.unref(h).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":d[15]||(d[15]=n=>e.unref(h).subtotalLabel=n),disabled:t.readonly},null,8,xa),[[e.vModelText,e.unref(h).subtotalLabel]])])]),e.createElementVNode("div",Fa,[e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[16]||(d[16]=n=>e.unref(h).keepWithNext=n),type:"checkbox",disabled:t.readonly},null,8,Ma),[[e.vModelCheckbox,e.unref(h).keepWithNext]]),e.createTextVNode(e.toDisplayString(e.unref(l).orphan),1)]),e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[17]||(d[17]=n=>e.unref(h).repeatHeader=n),type:"checkbox",disabled:t.readonly},null,8,Ta),[[e.vModelCheckbox,e.unref(h).repeatHeader]]),e.createTextVNode(e.toDisplayString(e.unref(l).repeat),1)])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h).aggregates,(n,F)=>(e.openBlock(),e.createElementBlock("div",{key:F,class:"mr-rule-editor__aggregate"},[e.createElementVNode("div",Ua,[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":B=>n.field=B,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),B=>(e.openBlock(),e.createElementBlock("option",{key:B.field,value:B.field},e.toDisplayString(B.label),9,Ra))),128))],8,La),[[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":B=>n.op=B,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(H).aggregates,B=>(e.openBlock(),e.createElementBlock("option",{key:B,value:B},e.toDisplayString(e.unref(l)[B]),9,Aa))),128))],8,Ka),[[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":B=>n.valueField=B,disabled:t.readonly},[e.createElementVNode("option",Ia,e.toDisplayString(n.field),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),B=>(e.openBlock(),e.createElementBlock("option",{key:B.field,value:B.field},e.toDisplayString(B.label),9,Oa))),128))],8,Ga),[[e.vModelSelect,n.valueField]])]),n.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",Wa,[e.createTextVNode(e.toDisplayString(e.unref(l).weight),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).weight,"onUpdate:modelValue":B=>n.weightField=B,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),B=>(e.openBlock(),e.createElementBlock("option",{key:B.field,value:B.field},e.toDisplayString(B.label),9,qa))),128))],8,ja),[[e.vModelSelect,n.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ha,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":B=>n.numeric=B,disabled:t.readonly,"aria-label":e.unref(l).numeric},[e.createElementVNode("option",za,e.toDisplayString(e.unref(l).number),1),e.createElementVNode("option",Pa,e.toDisplayString(e.unref(l).decimal),1)],8,Ja),[[e.vModelSelect,n.numeric]]),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:B=>e.unref(h).aggregates?.splice(F,1)},e.toDisplayString(e.unref(l).remove),9,Za)])]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:d[18]||(d[18]=(...n)=>e.unref(u).addAggregate&&e.unref(u).addAggregate(...n))}," + "+e.toDisplayString(e.unref(l).addAggregate),9,Qa),e.createElementVNode("div",Xa,[e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(p)===0,"aria-label":e.unref(l).moveUp,onClick:d[19]||(d[19]=n=>e.unref(u).moveGroup(-1))}," ↑ "+e.toDisplayString(e.unref(l).outer),9,Ya),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(p)>=e.unref(f).length-1,"aria-label":e.unref(l).moveDown,onClick:d[20]||(d[20]=n=>e.unref(u).moveGroup(1))}," ↓ "+e.toDisplayString(e.unref(l).inner),9,_a),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:d[21]||(d[21]=(...n)=>e.unref(u).removeGroup&&e.unref(u).removeGroup(...n))},e.toDisplayString(e.unref(l).remove),9,en)])],64)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly,onClick:d[22]||(d[22]=(...n)=>e.unref(u).applyGroups&&e.unref(u).applyGroups(...n))},e.toDisplayString(e.unref(l).apply),9,tn)])):e.unref(g)==="conditions"?(e.openBlock(),e.createElementBlock("div",ln,[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":d[23]||(d[23]=n=>e.isRef(C)?C.value=n:null),disabled:t.readonly,onChange:d[24]||(d[24]=n=>e.unref(u).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,nn))),128))],40,an),[[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":d[25]||(d[25]=n=>e.isRef(o)?o.value=n:null),disabled:t.readonly,onChange:d[26]||(d[26]=n=>e.unref(u).loadCondition(-1))},[e.createElementVNode("option",rn,e.toDisplayString(e.unref(l).style),1),e.createElementVNode("option",dn,e.toDisplayString(e.unref(l).cell),1),e.createElementVNode("option",sn,e.toDisplayString(e.unref(l).rowVisibility),1)],40,on),[[e.vModelSelect,e.unref(o)]])]),e.unref(o)==="style"?(e.openBlock(),e.createElementBlock("label",un,[e.createTextVNode(e.toDisplayString(e.unref(l).existing),1),e.createElementVNode("select",{"aria-label":e.unref(l).existing,value:e.unref(V),disabled:t.readonly,onChange:d[27]||(d[27]=n=>e.unref(u).loadCondition(Number(n.target.value)))},[e.createElementVNode("option",mn,"+ "+e.toDisplayString(e.unref(l).newCondition),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M)?.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,gn))),128))],40,cn)])):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":d[28]||(d[28]=n=>e.unref(a).field=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label),9,vn))),128))],8,fn),[[e.vModelSelect,e.unref(a).field]])]),e.createElementVNode("div",yn,[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":d[29]||(d[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,Vn)),64))],8,bn),[[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:d[30]||(d[30]=n=>e.unref(u).setThreshold(n.target.value))},null,40,kn)])]),e.unref(o)==="style"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",hn,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).color),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[31]||(d[31]=n=>e.unref(i).color=n),type:"color",disabled:t.readonly},null,8,En),[[e.vModelText,e.unref(i).color]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).background),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[32]||(d[32]=n=>e.unref(i).backgroundColor=n),type:"color",disabled:t.readonly},null,8,Nn),[[e.vModelText,e.unref(i).backgroundColor]])])]),e.createElementVNode("label",pn,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[33]||(d[33]=n=>e.unref(i).bold=n),type:"checkbox",disabled:t.readonly},null,8,Bn),[[e.vModelCheckbox,e.unref(i).bold]]),e.createTextVNode(e.toDisplayString(e.unref(l).bold),1)])],64)):e.createCommentVNode("",!0),e.createElementVNode("div",Dn,[e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly,onClick:d[34]||(d[34]=n=>e.unref(u).applyCondition())},e.toDisplayString(e.unref(l).apply),9,Sn),e.unref(V)>=0||e.unref(o)!=="style"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:d[35]||(d[35]=n=>e.unref(u).applyCondition(!0))},e.toDisplayString(e.unref(l).removeCondition),9,wn)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["detail","matrix","tree"],n=>e.withDirectives(e.createVNode(el,{key:`${n}-${A.value}`,list:t.list,mode:n,datasets:t.datasets,"dataset-schema":t.datasetSchema,"dataset-schemas":t.datasetSchemas,readonly:t.readonly,messages:e.unref(l),accept:e.unref(u).applyLayout,onDirty:F=>K.value={...K.value,[n]:F}},null,8,["list","mode","datasets","dataset-schema","dataset-schemas","readonly","messages","accept","onDirty"]),[[e.vShow,e.unref(g)===n]])),64)),e.createElementVNode("aside",$n,[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).explanation),1),r.value?(e.openBlock(),e.createElementBlock("span",Cn,e.toDisplayString(e.unref(l).pending),1)):e.createCommentVNode("",!0)]),e.createElementVNode("p",null,e.toDisplayString(e.unref(l).sourceHint),1),e.unref(g)==="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(G)),1),e.createElementVNode("div",xn,[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(P),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(T).find(F=>F.row===n.row)?.value??(e.unref(T).length?"—":e.unref(l).notChecked)),1)]))),128)),e.unref(T).some(n=>n.value==null)?(e.openBlock(),e.createElementBlock("p",Fn,e.toDisplayString(e.unref(l).nullReason),1)):e.createCommentVNode("",!0),e.unref(T).length?(e.openBlock(),e.createElementBlock("p",Mn,e.toDisplayString(e.unref(l).sample),1)):e.createCommentVNode("",!0)])],64)):e.createCommentVNode("",!0),e.unref(s)?(e.openBlock(),e.createElementBlock("p",Tn,e.toDisplayString(e.unref(s)),1)):e.createCommentVNode("",!0)])],8,Tl))}}),Ln=Z._export_sfc(Un,[["__scopeId","data-v-26d69520"]]);exports.default=Ln;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),q=require("./computed-CGV2a809.cjs"),z=require("./useLocalDraft-Yiw1wFgI.cjs"),oe=require("./matrix-DVyWiYsd.cjs"),X=require("./template-registry-D3SjENi6.cjs"),ie=require("./tree-BX380Rr7.cjs"),Z=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),re=require("./designer.cjs");function Y(t,w=new Set){return typeof t=="string"||("field"in t&&t.field&&w.add(t.field),"weightField"in t&&t.weightField&&w.add(t.weightField),"args"in t&&t.args.forEach(k=>Y(k,w))),w}function _(t,w){return typeof t=="string"?t:"value"in t?t.value===null?w.null:String(t.value):"aggregate"in t?`${w[t.aggregate]}(${t.field??w.allRows})`:"field"in t?t.field:`${w[t.op]}(${t.args.map(k=>_(k,w)).join(", ")})`}function de(t,w,k){const x=e.ref("");function v(b){const f=t.list.columns.find(p=>p.field===b)?.format;return f&&"digits"in f&&f.digits!==void 0?`${f.digits} ${k.value.digits}`:void 0}const u=e.computed(()=>{const b=new Map;for(const f of t.datasetSchema?.fields??[])b.set(f.field,{field:f.field,label:f.label??f.field,meta:[f.type,f.unit,v(f.field)].filter(Boolean).join(" · ")});for(const f of t.list.columns)b.has(f.field)||b.set(f.field,{field:f.field,label:f.header||f.field,meta:f.semanticRole??""});return[...b.values()]}),l=e.computed(()=>{const b=x.value.trim().toLocaleLowerCase();return u.value.filter(f=>`${f.field} ${f.label} ${f.meta}`.toLocaleLowerCase().includes(b))}),g=e.computed(()=>_(w.value.expression,k.value)),y=e.computed(()=>{const b=[...Y(w.value.expression)];return(t.datasets?.[t.list.dataset]??[]).slice(0,5).map((f,p)=>({row:p+1,values:b.map(h=>`${h} = ${f[h]==null?k.value.null:String(f[h])}`).join(" · ")}))});return{query:x,matches:l,fieldWindow:e.computed(()=>l.value.slice(0,50)),expression:g,sources:y}}const O=t=>JSON.parse(JSON.stringify(t));function se(t,w){const k=e.ref(!1),x=e.ref(""),v=e.ref({dataset:"",parentKey:"",foreignKey:"",columns:[]}),u=e.ref({rowFields:[],columnFields:[],measures:[]}),l=e.ref({input:"flat",idField:"id",parentField:"parentId",labelField:"",parentValues:"source"}),g=z.useLocalDraft(()=>({enabled:k.value,detail:v.value,matrix:u.value,tree:l.value}));let y;const b=e.ref(),f=e.computed(()=>[...new Set([...Object.keys(t.datasets??{}),...Object.keys(t.datasetSchemas??{})])]),p=e.computed(()=>C(t.list.dataset,t.datasetSchema)),h=e.computed(()=>C(v.value.dataset));function C(r,D){const E=new Map;for(const S of(D??t.datasetSchemas?.[r])?.fields??[])E.set(S.field,S.label??S.field);const $=t.datasets?.[r]?.[0];for(const S of Object.keys($??{}))E.has(S)||E.set(S,S);if(r===t.list.dataset)for(const S of t.list.columns)E.has(S.field)||E.set(S.field,S.header||S.field);return[...E].map(([S,G])=>({field:S,label:G}))}function M(){if(y===JSON.stringify(t.list)){y=void 0;return}k.value=!!t.list[t.mode];const r=f.value.find(D=>D!==t.list.dataset)??"";v.value=O(t.list.detail??{dataset:r,parentKey:t.list.rowKey??t.datasetSchema?.rowKey??p.value[0]?.field??"",foreignKey:"",columns:[],header:!0,unmatched:"error"}),u.value=O(t.list.matrix??{rowFields:[],columnFields:[],measures:[],totals:!0}),u.value.measures=u.value.measures.map(D=>({...D,numeric:D.numeric??"number"})),l.value=O(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="",b.value=void 0,g.accept()}e.watch(()=>[t.mode,t.list.dataset,t.list[t.mode]],M,{immediate:!0});function V(r){v.value.dataset=r,v.value.columns=[],v.value.foreignKey=h.value[0]?.field??"",v.value.rowKey=t.datasetSchemas?.[r]?.rowKey}function o(r,D){if(D&&!v.value.columns.some(E=>E.field===r)){const E=t.datasetSchemas?.[v.value.dataset]?.fields.find($=>$.field===r);v.value.columns.push({field:r,header:h.value.find($=>$.field===r)?.label??r,widthMm:30,align:"auto",semanticRole:E?.semanticRole,editable:!1})}else D||(v.value.columns=v.value.columns.filter(E=>E.field!==r))}function a(r,D,E){const $=u.value[r];u.value[r]=E?[...new Set([...$,D])]:$.filter(S=>S!==D)}function i(){u.value.measures=[...u.value.measures,{field:p.value[0]?.field??"",op:"sum",numeric:"number"}]}function s(r){u.value.measures=u.value.measures.filter((D,E)=>E!==r)}function T(){l.value.aggregates=[...l.value.aggregates??[],{field:p.value.find(r=>r.field!==l.value.labelField&&r.field!==l.value.idField)?.field??"",op:"sum",numeric:"number"}]}function R(r){l.value.aggregates=l.value.aggregates?.filter((D,E)=>E!==r)}function W(){x.value="",b.value=void 0;try{const r=t.datasets?.[t.list.dataset]??[];if(!r.length)throw new Error(t.messages.noData);if(r.length>1e3)throw new Error(t.messages.treeBudget);const D=ie.createTreeTable(r,{...l.value,aggregates:l.value.parentValues==="leaf-aggregate"?l.value.aggregates:void 0,maxRows:1e3}),E=t.list.columns.slice(0,5);b.value={columns:E.map($=>$.header),rows:D.entries.slice(0,8).map($=>E.map(S=>S.field===l.value.labelField?`${" ".repeat(Math.min(6,$.depth))}${$.row[S.field]??""}`:$.row[S.field]))}}catch(r){x.value=r instanceof Error?r.message:String(r)}}function K(r){if(!k.value){delete r.tree;return}r.tree=O(l.value),r.tree.parentValues!=="leaf-aggregate"&&delete r.tree.aggregates,r.rowKey=r.tree.idField,delete r.detail,delete r.matrix,delete r.groupBy,delete r.groups,delete r.rowVisibleWhen}function A(){x.value="",b.value=void 0;try{const r=t.datasets?.[t.list.dataset]??[];if(!r.length)throw new Error(t.messages.noData);const D=oe.createMatrixTable(r.slice(0,1e3),{...u.value,maxInputRows:1e3});b.value={columns:D.columns.slice(0,5).map(E=>E.header),rows:D.rows.slice(0,5).map(E=>D.columns.slice(0,5).map($=>E[$.field]))}}catch(r){x.value=r instanceof Error?r.message:String(r)}}function I(){if(t.readonly)return;const r=O(t.list);t.mode==="tree"?K(r):t.mode==="detail"?k.value?(r.detail=O(v.value),delete r.matrix,delete r.tree):delete r.detail:k.value?(r.matrix=O(u.value),delete r.detail,delete r.tree,delete r.groups,delete r.groupBy,delete r.grandTotal):delete r.matrix;const D=X.validateReportTemplate({pages:[{widthMm:Math.max(1,r.leftMm+r.widthMm),heightMm:297,components:[r]}]});if(!D.ok){x.value=D.errors.slice(0,3).map(E=>E.message).join(";");return}t.accept&&!t.accept(r)||(y=JSON.stringify(r),t.accept||w(r),g.accept())}return{enabled:k,pendingLocalChanges:g.pending,detail:v,matrix:u,tree:l,datasets:f,sourceFields:p,childFields:h,error:x,preview:b,chooseDataset:V,toggleChildColumn:o,toggleDimension:a,addMeasure:i,removeMeasure:s,checkMatrix:A,addTreeAggregate:T,removeTreeAggregate:R,checkTree:W,apply:I}}const ue={class:"mr-data-layout"},ce={class:"mr-data-layout__check"},me=["disabled"],ge={class:"mr-data-layout__hint"},fe=["aria-label","value","disabled"],ve={value:"",disabled:""},ye=["value"],be={class:"mr-data-layout__pair"},Ve=["aria-label","disabled"],ke=["value"],he=["aria-label","disabled"],Ee={value:"",disabled:""},Ne=["value"],pe=["aria-label","disabled"],Be={value:void 0},De=["value"],Se={class:"mr-data-layout__choices"},we=["checked","disabled","onChange"],$e=["aria-label","disabled"],Ce={class:"mr-data-layout__pair"},xe=["aria-label","disabled"],Fe={value:"error"},Me={value:"ignore"},Te={class:"mr-data-layout__check"},Ue=["disabled"],Le={class:"mr-data-layout__hint"},Re={class:"mr-data-layout__pair"},Ke=["aria-label","disabled"],Ae={value:"flat"},Ge={value:"nested"},Ie=["aria-label","disabled"],Oe=["value"],We={class:"mr-data-layout__pair"},je={key:0},qe=["aria-label","disabled"],He=["value"],Je={key:1},ze=["aria-label","disabled"],Pe=["aria-label","disabled"],Ze=["value"],Qe={class:"mr-data-layout__pair"},Xe=["aria-label","disabled"],Ye={key:0},_e=["aria-label","disabled"],et={value:"error"},tt={value:"root"},lt=["aria-label","disabled"],at={value:"source"},nt={value:"leaf-aggregate"},ot={class:"mr-data-layout__pair"},it=["onUpdate:modelValue","aria-label","disabled"],rt=["value"],dt=["onUpdate:modelValue","aria-label","disabled"],st=["value"],ut={key:0},ct=["onUpdate:modelValue","aria-label","disabled"],mt=["value"],gt={class:"mr-data-layout__pair"},ft=["onUpdate:modelValue","aria-label","disabled"],vt={value:"number"},yt={value:"decimal"},bt=["onUpdate:modelValue","aria-label","disabled"],Vt=["disabled","onClick"],kt=["disabled"],ht={class:"mr-data-layout__pair"},Et=["aria-label","disabled"],Nt=["aria-label","disabled"],pt={class:"mr-data-layout__hint"},Bt={class:"mr-data-layout__hint"},Dt=["checked","disabled","onChange"],St={class:"mr-data-layout__pair"},wt=["aria-label","onUpdate:modelValue","disabled"],$t=["value"],Ct=["aria-label","onUpdate:modelValue","disabled"],xt=["value"],Ft=["aria-label","onUpdate:modelValue","disabled","placeholder"],Mt={key:0},Tt=["aria-label","onUpdate:modelValue","disabled"],Ut=["value"],Lt={class:"mr-data-layout__pair"},Rt=["aria-label","onUpdate:modelValue","disabled"],Kt={value:"number"},At={value:"decimal"},Gt=["aria-label","onUpdate:modelValue","disabled"],It=["disabled","onClick"],Ot=["disabled"],Wt={class:"mr-data-layout__check"},jt=["disabled"],qt={class:"mr-data-layout__pair"},Ht=["disabled"],Jt=["disabled"],zt={class:"mr-data-layout__actions"},Pt=["disabled"],Zt=["disabled"],Qt=["disabled"],Xt={key:3,class:"mr-data-layout__preview"},Yt={key:4,class:"mr-data-layout__error",role:"alert"},_t=e.defineComponent({__name:"RuleDataLayout",props:{list:{},accept:{type:Function},mode:{},datasets:{},datasetSchema:{},datasetSchemas:{},readonly:{type:Boolean},messages:{}},emits:["change","dirty"],setup(t,{emit:w}){const k=t,x=w,v=se(k,V=>x("change",V)),{enabled:u,detail:l,matrix:g,tree:y,datasets:b,sourceFields:f,childFields:p,error:h,preview:C}=v;e.watch([v.pendingLocalChanges,u,l,g,y],()=>x("dirty",v.pendingLocalChanges.value),{immediate:!0,deep:!0,flush:"sync"});const M=q.getComputationMetadata();return(V,o)=>(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("label",ce,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=a=>e.isRef(u)?u.value=a:null),type:"checkbox",disabled:t.readonly},null,8,me),[[e.vModelCheckbox,e.unref(u)]]),e.createTextVNode(e.toDisplayString(t.messages.enabled)+e.toDisplayString(t.messages[t.mode]),1)]),e.unref(u)&&t.mode==="detail"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("p",ge,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:o[1]||(o[1]=a=>e.unref(v).chooseDataset(a.target.value))},[e.createElementVNode("option",ve,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,value:a},e.toDisplayString(a),9,ye))),128))],40,fe)]),e.createElementVNode("div",be,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.parentKey),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.parentKey,"onUpdate:modelValue":o[2]||(o[2]=a=>e.unref(l).parentKey=a),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,ke))),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":o[3]||(o[3]=a=>e.unref(l).foreignKey=a),disabled:t.readonly},[e.createElementVNode("option",Ee,e.toDisplayString(t.messages.select),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,Ne))),128))],8,he),[[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":o[4]||(o[4]=a=>e.unref(l).rowKey=a),disabled:t.readonly},[e.createElementVNode("option",Be,e.toDisplayString(t.messages.noRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,De))),128))],8,pe),[[e.vModelSelect,e.unref(l).rowKey]])]),e.createElementVNode("fieldset",Se,[e.createElementVNode("legend",null,e.toDisplayString(t.messages.childColumns),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),a=>(e.openBlock(),e.createElementBlock("label",{key:a.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(l).columns.some(i=>i.field===a.field),disabled:t.readonly,onChange:i=>e.unref(v).toggleChildColumn(a.field,i.target.checked)},null,40,we),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":o[5]||(o[5]=a=>e.unref(l).label=a),disabled:t.readonly},null,8,$e),[[e.vModelText,e.unref(l).label]])]),e.createElementVNode("div",Ce,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.unmatched),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.unmatched,"onUpdate:modelValue":o[6]||(o[6]=a=>e.unref(l).unmatched=a),disabled:t.readonly},[e.createElementVNode("option",Fe,e.toDisplayString(t.messages.error),1),e.createElementVNode("option",Me,e.toDisplayString(t.messages.ignore),1)],8,xe),[[e.vModelSelect,e.unref(l).unmatched]])]),e.createElementVNode("label",Te,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[7]||(o[7]=a=>e.unref(l).header=a),type:"checkbox",disabled:t.readonly},null,8,Ue),[[e.vModelCheckbox,e.unref(l).header]]),e.createTextVNode(e.toDisplayString(t.messages.childHeader),1)])])],64)):e.unref(u)&&t.mode==="tree"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("p",Le,e.toDisplayString(t.messages.treeHint),1),e.createElementVNode("div",Re,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeInput),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[8]||(o[8]=a=>e.unref(y).input=a),"aria-label":t.messages.treeInput,disabled:t.readonly},[e.createElementVNode("option",Ae,e.toDisplayString(t.messages.treeFlat),1),e.createElementVNode("option",Ge,e.toDisplayString(t.messages.treeNested),1)],8,Ke),[[e.vModelSelect,e.unref(y).input]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeId),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[9]||(o[9]=a=>e.unref(y).idField=a),"aria-label":t.messages.treeId,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,Oe))),128))],8,Ie),[[e.vModelSelect,e.unref(y).idField]])])]),e.createElementVNode("div",We,[e.unref(y).input==="flat"?(e.openBlock(),e.createElementBlock("label",je,[e.createTextVNode(e.toDisplayString(t.messages.treeParent),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[10]||(o[10]=a=>e.unref(y).parentField=a),"aria-label":t.messages.treeParent,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),a=>(e.openBlock(),e.createElementBlock("option",{key:a.field,value:a.field},e.toDisplayString(a.label),9,He))),128))],8,qe),[[e.vModelSelect,e.unref(y).parentField]])])):(e.openBlock(),e.createElementBlock("label",Je,[e.createTextVNode(e.toDisplayString(t.messages.treeChildren),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[11]||(o[11]=a=>e.unref(y).childrenField=a),"aria-label":t.messages.treeChildren,disabled:t.readonly,placeholder:"children"},null,8,ze),[[e.vModelText,e.unref(y).childrenField]])])),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeLabel),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[12]||(o[12]=a=>e.unref(y).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,Ze))),128))],8,Pe),[[e.vModelSelect,e.unref(y).labelField]])])]),e.createElementVNode("div",Qe,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeIndent),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[13]||(o[13]=a=>e.unref(y).indentMm=a),"aria-label":t.messages.treeIndent,type:"number",min:"0",max:"20",step:"0.5",disabled:t.readonly},null,8,Xe),[[e.vModelText,e.unref(y).indentMm,void 0,{number:!0}]])]),e.unref(y).input==="flat"?(e.openBlock(),e.createElementBlock("label",Ye,[e.createTextVNode(e.toDisplayString(t.messages.treeOrphan),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[14]||(o[14]=a=>e.unref(y).orphan=a),"aria-label":t.messages.treeOrphan,disabled:t.readonly},[e.createElementVNode("option",et,e.toDisplayString(t.messages.error),1),e.createElementVNode("option",tt,e.toDisplayString(t.messages.treeAsRoot),1)],8,_e),[[e.vModelSelect,e.unref(y).orphan]])])):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeValues),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":o[15]||(o[15]=a=>e.unref(y).parentValues=a),"aria-label":t.messages.treeValues,disabled:t.readonly},[e.createElementVNode("option",at,e.toDisplayString(t.messages.treeSource),1),e.createElementVNode("option",nt,e.toDisplayString(t.messages.treeLeaves),1)],8,lt),[[e.vModelSelect,e.unref(y).parentValues]])]),e.unref(y).parentValues==="leaf-aggregate"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y).aggregates,(a,i)=>(e.openBlock(),e.createElementBlock("div",{key:i,class:"mr-data-layout__measure"},[e.createElementVNode("div",ot,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measure),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s=>a.field=s,"aria-label":t.messages.measure,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),s=>(e.openBlock(),e.createElementBlock("option",{key:s.field,value:s.field},e.toDisplayString(s.label),9,rt))),128))],8,it),[[e.vModelSelect,a.field]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.aggregate),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s=>a.op=s,"aria-label":t.messages.aggregate,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M).aggregates,s=>(e.openBlock(),e.createElementBlock("option",{key:s,value:s},e.toDisplayString(t.messages[s]),9,st))),128))],8,dt),[[e.vModelSelect,a.op]])])]),a.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",ut,[e.createTextVNode(e.toDisplayString(t.messages.weight),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s=>a.weightField=s,"aria-label":t.messages.weight,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),s=>(e.openBlock(),e.createElementBlock("option",{key:s.field,value:s.field},e.toDisplayString(s.label),9,mt))),128))],8,ct),[[e.vModelSelect,a.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",gt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.numeric),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s=>a.numeric=s,"aria-label":t.messages.numeric,disabled:t.readonly},[e.createElementVNode("option",vt,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",yt,e.toDisplayString(t.messages.decimal),1)],8,ft),[[e.vModelSelect,a.numeric]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.digits),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s=>a.digits=s,"aria-label":t.messages.digits,type:"number",min:"0",max:"100",disabled:t.readonly},null,8,bt),[[e.vModelText,a.digits,void 0,{number:!0}]])])]),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:s=>e.unref(v).removeTreeAggregate(i)},e.toDisplayString(t.messages.remove),9,Vt)]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly||(e.unref(y).aggregates?.length??0)>=32,onClick:o[16]||(o[16]=(...a)=>e.unref(v).addTreeAggregate&&e.unref(v).addTreeAggregate(...a))},"+ "+e.toDisplayString(t.messages.addAggregate),9,kt)],64)):e.createCommentVNode("",!0),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.advanced),1),e.createElementVNode("div",ht,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeRows),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[17]||(o[17]=a=>e.unref(y).maxRows=a),"aria-label":t.messages.treeRows,type:"number",min:"1",max:"1000000",disabled:t.readonly},null,8,Et),[[e.vModelText,e.unref(y).maxRows,void 0,{number:!0}]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.treeDepth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[18]||(o[18]=a=>e.unref(y).maxDepth=a),"aria-label":t.messages.treeDepth,type:"number",min:"1",max:"256",disabled:t.readonly},null,8,Nt),[[e.vModelText,e.unref(y).maxDepth,void 0,{number:!0}]])])])]),e.createElementVNode("p",pt,e.toDisplayString(t.messages.treeReadonly),1)],64)):e.unref(u)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("p",Bt,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(f),i=>(e.openBlock(),e.createElementBlock("label",{key:i.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(g)[a].includes(i.field),disabled:t.readonly,onChange:s=>e.unref(v).toggleDimension(a,i.field,s.target.checked)},null,40,Dt),e.createTextVNode(e.toDisplayString(i.label),1)]))),128))])),64)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g).measures,(a,i)=>(e.openBlock(),e.createElementBlock("div",{key:i,class:"mr-data-layout__measure"},[e.createElementVNode("div",St,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measure),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.measure,"onUpdate:modelValue":s=>a.field=s,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),s=>(e.openBlock(),e.createElementBlock("option",{key:s.field,value:s.field},e.toDisplayString(s.label),9,$t))),128))],8,wt),[[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":s=>a.op=s,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M).aggregates,s=>(e.openBlock(),e.createElementBlock("option",{key:s,value:s},e.toDisplayString(t.messages[s]),9,xt))),128))],8,Ct),[[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":s=>a.label=s,disabled:t.readonly,placeholder:a.field},null,8,Ft),[[e.vModelText,a.label]])]),a.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",Mt,[e.createTextVNode(e.toDisplayString(t.messages.weight),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.weight,"onUpdate:modelValue":s=>a.weightField=s,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),s=>(e.openBlock(),e.createElementBlock("option",{key:s.field,value:s.field},e.toDisplayString(s.label),9,Ut))),128))],8,Tt),[[e.vModelSelect,a.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",Lt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.numeric),1),e.withDirectives(e.createElementVNode("select",{"aria-label":t.messages.numeric,"onUpdate:modelValue":s=>a.numeric=s,disabled:t.readonly},[e.createElementVNode("option",Kt,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",At,e.toDisplayString(t.messages.decimal),1)],8,Rt),[[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":s=>a.digits=s,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:s=>e.unref(v).removeMeasure(i)},e.toDisplayString(t.messages.remove),9,It)]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(g).measures.length>=32,onClick:o[19]||(o[19]=(...a)=>e.unref(v).addMeasure&&e.unref(v).addMeasure(...a))}," + "+e.toDisplayString(t.messages.addAggregate),9,Ot),e.createElementVNode("label",Wt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[20]||(o[20]=a=>e.unref(g).totals=a),type:"checkbox",disabled:t.readonly},null,8,jt),[[e.vModelCheckbox,e.unref(g).totals]]),e.createTextVNode(e.toDisplayString(t.messages.totals),1)]),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.widthSettings),1),e.createElementVNode("div",qt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.dimensionWidth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[21]||(o[21]=a=>e.unref(g).rowWidthMm=a),type:"number",min:"1",disabled:t.readonly,placeholder:"40"},null,8,Ht),[[e.vModelText,e.unref(g).rowWidthMm,void 0,{number:!0}]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(t.messages.measureWidth),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[22]||(o[22]=a=>e.unref(g).columnWidthMm=a),type:"number",min:"1",disabled:t.readonly,placeholder:"28"},null,8,Jt),[[e.vModelText,e.unref(g).columnWidthMm,void 0,{number:!0}]])])])])],64)):e.createCommentVNode("",!0),e.createElementVNode("div",zt,[e.unref(u)&&t.mode==="matrix"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:o[23]||(o[23]=(...a)=>e.unref(v).checkMatrix&&e.unref(v).checkMatrix(...a))},e.toDisplayString(t.messages.check),9,Pt)):e.createCommentVNode("",!0),e.unref(u)&&t.mode==="tree"?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:t.readonly,onClick:o[24]||(o[24]=(...a)=>e.unref(v).checkTree&&e.unref(v).checkTree(...a))},e.toDisplayString(t.messages.check),9,Zt)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"mr-data-layout__primary",disabled:t.readonly,onClick:o[25]||(o[25]=(...a)=>e.unref(v).apply&&e.unref(v).apply(...a))},e.toDisplayString(t.messages.apply),9,Qt)]),e.unref(C)?(e.openBlock(),e.createElementBlock("div",Xt,[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,i)=>(e.openBlock(),e.createElementBlock("th",{key:i},e.toDisplayString(a),1))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(C).rows,(a,i)=>(e.openBlock(),e.createElementBlock("tr",{key:i},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a,(s,T)=>(e.openBlock(),e.createElementBlock("td",{key:T},e.toDisplayString(s??"—"),1))),128))]))),128))])])])):e.createCommentVNode("",!0),e.unref(h)?(e.openBlock(),e.createElementBlock("p",Yt,e.toDisplayString(e.unref(h)),1)):e.createCommentVNode("",!0)]))}}),el=Z._export_sfc(_t,[["__scopeId","data-v-e089d1c9"]]),tl={class:"mr-expression__row"},ll=["value","disabled","aria-label"],al={value:"field"},nl={value:"constant"},ol={key:0,value:"operation"},il={value:"aggregate"},rl=["value","disabled","aria-label"],dl=["value"],sl=["value","disabled","aria-label"],ul=["value"],cl=["value","disabled","aria-label"],ml=["value"],gl=["value","disabled","aria-label"],fl={value:"text"},vl={value:"number"},yl={value:"boolean"},bl={value:"null"},Vl=["value","disabled","aria-label"],kl={key:0,value:""},hl=["value"],El=["value","disabled","aria-label"],Nl={value:"",disabled:""},pl=["value"],Bl=["value","disabled","aria-label"],Dl={value:"true"},Sl={value:"false"},wl=["type","value","disabled","aria-label"],$l=["disabled","aria-label","onClick"],Cl=["disabled"],xl=e.defineComponent({__name:"ReportExpressionEditor",props:{modelValue:{},fields:{},messages:{},readonly:{type:Boolean},depth:{}},emits:["update:modelValue"],setup(t,{emit:w}){const k=t,x=w,v=q.getComputationMetadata(),u=e.computed(()=>"aggregate"in k.modelValue?"aggregate":"field"in k.modelValue?"field":"value"in k.modelValue?"constant":"operation"),l=e.ref("text");e.watch(()=>k.modelValue,V=>{"value"in V&&(l.value=V.value===null?"null":typeof V.value=="string"?"text":typeof V.value)},{immediate:!0});function g(V){k.readonly||x("update:modelValue",V)}function y(V){g(V==="aggregate"?{aggregate:"sum",field:k.fields[0]?.field??""}:V==="field"?{field:k.fields[0]?.field??""}:V==="constant"?{value:""}:{op:"add",args:[{field:k.fields[0]?.field??""},{value:0}]})}function b(V){const o=V,a="args"in k.modelValue?k.modelValue.args:[{value:0},{value:0}];g({op:o,args:o==="divide"||o==="subtract"?a.slice(0,2):a})}function f(V,o){"args"in k.modelValue&&g({...k.modelValue,args:k.modelValue.args.map((a,i)=>i===V?o:a)})}function p(V){if(!("args"in k.modelValue))return;const o=V===void 0?[...k.modelValue.args,{value:0}]:k.modelValue.args.filter((a,i)=>i!==V);g({...k.modelValue,args:o})}function h(V){l.value=V,g({value:V==="null"?null:V==="boolean"?!1:V==="number"?0:""})}function C(V){l.value==="number"?V.trim()&&Number.isFinite(Number(V))&&g({value:Number(V)}):g({value:V})}function M(V,o){if(!("aggregate"in k.modelValue))return;const a={...k.modelValue,[V]:o};V==="aggregate"&&(a.aggregate=o),V==="field"&&!o&&delete a.field,g(a)}return(V,o)=>{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",tl,[e.createElementVNode("select",{value:u.value,disabled:t.readonly,"aria-label":t.messages.argument,onChange:o[0]||(o[0]=i=>y(i.target.value))},[e.createElementVNode("option",al,e.toDisplayString(t.messages.field),1),e.createElementVNode("option",nl,e.toDisplayString(t.messages.constant),1),(t.depth??0)<12?(e.openBlock(),e.createElementBlock("option",ol,e.toDisplayString(t.messages.operation),1)):e.createCommentVNode("",!0),e.createElementVNode("option",il,e.toDisplayString(t.messages.aggregate),1)],40,ll),"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:o[1]||(o[1]=i=>g({field:i.target.value}))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,i=>(e.openBlock(),e.createElementBlock("option",{key:i.field,value:i.field},e.toDisplayString(i.label),9,dl))),128))],40,rl)):"op"in t.modelValue?(e.openBlock(),e.createElementBlock("select",{key:1,value:t.modelValue.op,disabled:t.readonly,"aria-label":t.messages.operation,onChange:o[2]||(o[2]=i=>b(i.target.value))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).operations,i=>(e.openBlock(),e.createElementBlock("option",{key:i,value:i},e.toDisplayString(t.messages[i]),9,ul))),128))],40,sl)):"aggregate"in t.modelValue?(e.openBlock(),e.createElementBlock("select",{key:2,value:t.modelValue.aggregate,disabled:t.readonly,"aria-label":t.messages.aggregate,onChange:o[3]||(o[3]=i=>M("aggregate",i.target.value))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v).aggregates,i=>(e.openBlock(),e.createElementBlock("option",{key:i,value:i},e.toDisplayString(t.messages[i]),9,ml))),128))],40,cl)):(e.openBlock(),e.createElementBlock("select",{key:3,value:l.value,disabled:t.readonly,"aria-label":t.messages.resultType,onChange:o[4]||(o[4]=i=>h(i.target.value))},[e.createElementVNode("option",fl,e.toDisplayString(t.messages.text),1),e.createElementVNode("option",vl,e.toDisplayString(t.messages.number),1),e.createElementVNode("option",yl,e.toDisplayString(t.messages.boolean),1),e.createElementVNode("option",bl,e.toDisplayString(t.messages.null),1)],40,gl))]),"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:o[5]||(o[5]=i=>M("field",i.target.value))},[t.modelValue.aggregate==="count"?(e.openBlock(),e.createElementBlock("option",kl,e.toDisplayString(t.messages.allRows),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,i=>(e.openBlock(),e.createElementBlock("option",{key:i.field,value:i.field},e.toDisplayString(i.label),9,hl))),128))],40,Vl),t.modelValue.aggregate==="weightedAvg"?(e.openBlock(),e.createElementBlock("select",{key:0,value:t.modelValue.weightField??"",disabled:t.readonly,"aria-label":t.messages.weight,onChange:o[6]||(o[6]=i=>M("weightField",i.target.value))},[e.createElementVNode("option",Nl,e.toDisplayString(t.messages.weight),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,i=>(e.openBlock(),e.createElementBlock("option",{key:i.field,value:i.field},e.toDisplayString(i.label),9,pl))),128))],40,El)):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:o[7]||(o[7]=i=>g({value:i.target.value==="true"}))},[e.createElementVNode("option",Dl,e.toDisplayString(t.messages.true),1),e.createElementVNode("option",Sl,e.toDisplayString(t.messages.false),1)],40,Bl)):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:o[8]||(o[8]=i=>C(i.target.value))},null,40,wl)):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,(i,s)=>(e.openBlock(),e.createElementBlock("div",{key:s,class:"mr-expression__argument"},[e.createVNode(a,{"model-value":i,fields:t.fields,messages:t.messages,readonly:t.readonly,depth:(t.depth??0)+1,"onUpdate:modelValue":T=>f(s,T)},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} ${s+1}`,onClick:T=>p(s)}," × ",8,$l)):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:o[9]||(o[9]=i=>p())}," + "+e.toDisplayString(t.messages.addArgument),9,Cl)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),Fl=Z._export_sfc(xl,[["__scopeId","data-v-84e5c0e5"]]),U=t=>JSON.parse(JSON.stringify(t));function Ml(t,w){const k=e.computed(()=>({...re.RULE_EDITOR_MESSAGES,...t.messages})),x=e.ref("computations"),v=e.ref(""),u=e.ref(""),l=e.ref({field:"",expression:{field:""},scope:"row"}),g=e.ref([]),y=e.ref(0),b=e.ref(""),f=e.ref(-1),p=e.ref("style"),h=e.ref({field:"",op:">",value:0}),C=e.ref({color:"#b91c1c",backgroundColor:"#fff1f2",bold:!1}),M=e.ref([]),V=z.useLocalDraft(()=>l.value),o=z.useLocalDraft(()=>g.value),a=z.useLocalDraft(()=>({when:h.value,style:C.value})),i=e.ref(new Map),s=e.ref(new Map);let T="",R=!1;const W=e.computed(()=>V.pending.value||o.pending.value||a.pending.value||i.value.size>0||s.value.size>0);let K;const A=e.computed(()=>{const c=new Map;for(const m of t.datasetSchema?.fields??[])c.set(m.field,m.label??m.field);for(const m of t.list.columns)c.has(m.field)||c.set(m.field,m.header||m.field);for(const m of Object.keys(t.datasets?.[t.list.dataset]?.[0]??{}))c.has(m)||c.set(m,m);return[...c].map(([m,N])=>({field:m,label:N}))}),I=e.computed(()=>g.value[y.value]),r=e.computed(()=>t.list.columns.find(c=>c.field===b.value)),D=e.computed(()=>q.validateComputedFields(S()));function E(){if(K===JSON.stringify(t.list)){K=void 0;return}R=!0,i.value=new Map,s.value=new Map,g.value=U(t.list.groups??(t.list.groupBy?[t.list.groupBy]:[]));for(const c of g.value)for(const m of c.aggregates??[])m.numeric??="number";t.list.columns.some(c=>c.field===b.value)||(b.value=t.list.columns[0]?.field??""),v.value="",M.value=[],$(u.value),Q(-1),o.accept(),R=!1}e.watch(()=>t.list,E,{immediate:!0}),e.watch(l,()=>{M.value=[]},{deep:!0}),e.watch(()=>t.datasets,()=>{M.value=[]},{deep:!0});function $(c){!R&&V.pending.value&&(i.value=new Map(i.value).set(u.value,U(l.value))),u.value=c,l.value=U(t.list.computed?.find(N=>N.field===c)??{field:"",expression:{field:A.value[0]?.field??""},scope:"row"}),l.value.numeric??="number",M.value=[],v.value="",V.accept();const m=i.value.get(c);if(m){l.value=U(m);const N=new Map(i.value);N.delete(c),i.value=N}}function S(){return[...(t.list.computed??[]).filter(m=>m.field!==u.value),U(l.value)]}function G(c){if(t.readonly)return!1;const m=X.validateReportTemplate({pages:[{widthMm:Math.max(1,c.leftMm+c.widthMm),heightMm:297,components:[c]}]});return m.ok?(v.value="",K=JSON.stringify(c),w(c),!0):(v.value=m.errors.map(N=>N.message).slice(0,3).join(";"),!1)}function P(){if(!l.value.field.trim()){v.value=k.value.missingTarget;return}const c=U(t.list);if(c.computed=S(),c.columns.some(m=>m.field===l.value.field)||c.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}}}),G(c)){const m=new Map(i.value);m.delete(u.value),m.delete(l.value.field),i.value=m,u.value=l.value.field,V.accept()}}function H(){if(!u.value)return;const c=U(t.list);if(c.computed=(c.computed??[]).filter(m=>m.field!==u.value),G(c)){const m=new Map(i.value);m.delete(u.value),i.value=m,V.accept(),$("")}}function J(){M.value=[],v.value="";const c=t.datasets?.[t.list.dataset];if(!c?.length){v.value=k.value.noData;return}try{const m=q.computeDataset(c.slice(0,1e3),{fields:S(),maxRows:1e3,maxCells:2e6});M.value=m.rows.slice(0,5).map((N,L)=>({row:L+1,value:N[l.value.field]}))}catch(m){v.value=m instanceof Error?m.message:String(m)}}function d(c){l.value.expression=c}function n(c,m){l.value.groupBy=m?[...l.value.groupBy??[],c]:(l.value.groupBy??[]).filter(N=>N!==c)}function F(){g.value.push({field:A.value[0]?.field??"",headerTemplate:"{value}",subtotalLabel:k.value.subtotalLabel,aggregates:[],keepWithNext:!0}),y.value=g.value.length-1}function B(c){const m=y.value,N=m+c;N<0||N>=g.value.length||([g.value[m],g.value[N]]=[g.value[N],g.value[m]],y.value=N)}function ee(){g.value.splice(y.value,1),y.value=Math.max(0,Math.min(y.value,g.value.length-1))}function te(){I.value&&(I.value.aggregates??=[]).push({field:A.value[0]?.field??"",op:"sum",numeric:"number"})}function le(){const c=U(t.list);c.groups=U(g.value),delete c.groupBy,G(c)&&o.accept()}function Q(c){!R&&a.pending.value&&(s.value=new Map(s.value).set(T,{when:U(h.value),style:{...C.value}})),T=`${b.value}|${p.value}|${c}`,f.value=c;const m=p.value==="cell"?r.value?.visibleWhen:p.value==="rowVisibility"?t.list.rowVisibleWhen:r.value?.rules?.[c]?.when;h.value=U(m??{field:b.value,op:">",value:0});const N=r.value?.rules?.[c]?.style;C.value={color:String(N?.color??"#b91c1c"),backgroundColor:String(N?.backgroundColor??"#fff1f2"),bold:N?.bold===!0},a.accept();const L=s.value.get(T);if(L){h.value=U(L.when),C.value={...L.style};const j=new Map(s.value);j.delete(T),s.value=j}}function ae(c){const m=t.datasetSchema?.fields.find(j=>j.field===h.value.field),N=t.datasets?.[t.list.dataset]?.find(j=>j[h.value.field]!=null)?.[h.value.field],L=m?.type==="number"||!m&&typeof N=="number";m?.type==="decimal"?h.value.numeric="decimal":L?h.value.numeric="number":delete h.value.numeric,h.value.value=L&&c.trim()&&Number.isFinite(Number(c))?Number(c):c}function ne(c=!1){const m=U(t.list),N=m.columns.find(L=>L.field===b.value);if(!N){v.value=k.value.noSelection;return}if(p.value==="rowVisibility")c?delete m.rowVisibleWhen:m.rowVisibleWhen=U(h.value);else if(p.value==="cell")c?delete N.visibleWhen:N.visibleWhen=U(h.value);else if(N.rules??=[],c&&f.value>=0)N.rules.splice(f.value,1);else{if(c)return;f.value<0?N.rules.push({when:U(h.value),style:{...C.value}}):N.rules[f.value]={when:U(h.value),style:{...C.value}}}if(G(m)){const L=new Map(s.value);L.delete(T),s.value=L,a.accept()}}return{m:k,pendingLocalChanges:W,draftSnapshot:()=>JSON.stringify({formula:l.value,groups:g.value,when:h.value,style:C.value,computedDrafts:[...i.value],conditionDrafts:[...s.value]}),tab:x,fields:A,formula:l,groups:g,groupIndex:y,currentGroup:I,column:b,currentColumn:r,conditionIndex:f,effect:p,when:h,style:C,error:v,preview:M,diagnostics:D,selectedComputed:u,loadComputed:$,applyComputed:P,removeComputed:H,check:J,setExpression:d,toggleGroupField:n,addGroup:F,moveGroup:B,removeGroup:ee,addAggregate:te,applyGroups:le,loadCondition:Q,setThreshold:ae,applyCondition:ne,applyLayout:G,resetDraft:()=>{K=void 0,E()}}}const Tl=["aria-label"],Ul={class:"mr-rule-editor__directory"},Ll=["aria-label"],Rl=["aria-selected","onClick"],Kl={key:0},Al={key:1},Gl={class:"mr-rule-editor__catalog"},Il=["disabled"],Ol=["aria-label"],Wl={class:"mr-rule-editor__field-list"},jl=["disabled","title","onClick"],ql={key:1},Hl={key:0,class:"mr-rule-editor__panel"},Jl=["aria-label","value","disabled"],zl={value:""},Pl=["value"],Zl=["aria-label","disabled"],Ql={class:"mr-rule-editor__pair"},Xl=["aria-label","disabled"],Yl=["value"],_l=["aria-label","disabled"],ea={value:"number"},ta={value:"decimal"},la={key:0,class:"mr-rule-editor__checks"},aa=["checked","disabled","onChange"],na={key:2,class:"mr-rule-editor__hint"},oa={class:"mr-rule-editor__advanced"},ia=["aria-label","disabled"],ra=["aria-label","disabled"],da={value:"propagate"},sa={value:"error"},ua=["aria-label","disabled"],ca={value:"error"},ma={value:"null"},ga={key:3,class:"mr-rule-editor__hint"},fa={key:4,class:"mr-rule-editor__diagnostic"},va={class:"mr-rule-editor__actions"},ya=["disabled"],ba=["disabled"],Va=["disabled"],ka={key:5,class:"mr-rule-editor__error"},ha={key:1,class:"mr-rule-editor__panel"},Ea={class:"mr-rule-editor__pair"},Na=["aria-label"],pa=["value"],Ba={key:0,value:0},Da=["disabled"],Sa=["aria-label","disabled"],wa=["value"],$a={class:"mr-rule-editor__pair"},Ca=["aria-label","disabled"],xa=["aria-label","disabled"],Fa={class:"mr-rule-editor__checks"},Ma=["disabled"],Ta=["disabled"],Ua={class:"mr-rule-editor__pair"},La=["aria-label","onUpdate:modelValue","disabled"],Ra=["value"],Ka=["aria-label","onUpdate:modelValue","disabled"],Aa=["value"],Ga=["aria-label","onUpdate:modelValue","disabled"],Ia={value:void 0},Oa=["value"],Wa={key:0},ja=["aria-label","onUpdate:modelValue","disabled"],qa=["value"],Ha={class:"mr-rule-editor__pair"},Ja=["onUpdate:modelValue","disabled","aria-label"],za={value:"number"},Pa={value:"decimal"},Za=["disabled","onClick"],Qa=["disabled"],Xa={class:"mr-rule-editor__actions"},Ya=["disabled","aria-label"],_a=["disabled","aria-label"],en=["disabled"],tn=["disabled"],ln={key:2,class:"mr-rule-editor__panel"},an=["aria-label","disabled"],nn=["value"],on=["aria-label","disabled"],rn={value:"style"},dn={value:"cell"},sn={value:"rowVisibility"},un={key:0},cn=["aria-label","value","disabled"],mn={value:-1},gn=["value"],fn=["aria-label","disabled"],vn=["value"],yn={class:"mr-rule-editor__pair"},bn=["aria-label","disabled"],Vn=["value"],kn=["value","disabled"],hn={class:"mr-rule-editor__pair"},En=["disabled"],Nn=["disabled"],pn={class:"mr-rule-editor__check"},Bn=["disabled"],Dn={class:"mr-rule-editor__actions"},Sn=["disabled"],wn=["disabled"],$n={class:"mr-rule-editor__explanation"},Cn={key:0},xn={class:"mr-rule-editor__results"},Fn={key:0},Mn={key:1},Tn={key:1,class:"mr-rule-editor__error",role:"alert"},Un=e.defineComponent({__name:"RuleEditor",props:{list:{},datasets:{},datasetSchema:{},datasetSchemas:{},readonly:{type:Boolean},messages:{}},emits:["change","dirty"],setup(t,{expose:w,emit:k}){const x=t,v=k,u=Ml(x,J=>v("change",J)),{m:l,tab:g,fields:y,formula:b,groups:f,groupIndex:p,currentGroup:h,column:C,currentColumn:M,conditionIndex:V,effect:o,when:a,style:i,error:s,preview:T,diagnostics:R,selectedComputed:W}=u,K=e.ref({}),A=e.ref(0);function I(){u.resetDraft(),K.value={},A.value++}const r=e.computed(()=>u.pendingLocalChanges.value||Object.values(K.value).some(Boolean));e.watch([r,u.draftSnapshot,K],()=>v("dirty",r.value),{immediate:!0,deep:!0,flush:"sync"}),w({get pendingLocalChanges(){return r.value}});const D=de(x,u.formula,l),{query:E,matches:$,fieldWindow:S,expression:G,sources:P}=D,H=q.getComputationMetadata();return(J,d)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-rule-editor","aria-label":e.unref(l).settings},[e.createElementVNode("aside",Ul,[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(g)===n,class:e.normalizeClass({"is-active":e.unref(g)===n}),onClick:F=>g.value=n},[e.createTextVNode(e.toDisplayString(e.unref(l)[n]),1),n==="computations"&&t.list.computed?.length?(e.openBlock(),e.createElementBlock("span",Kl,e.toDisplayString(t.list.computed.length),1)):e.createCommentVNode("",!0),n==="groups"&&e.unref(f).length?(e.openBlock(),e.createElementBlock("span",Al,e.toDisplayString(e.unref(f).length),1)):e.createCommentVNode("",!0)],10,Rl)),64))],8,Ll),e.createElementVNode("div",Gl,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).catalog),1),r.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:I},e.toDisplayString(e.unref(l).restoreDraft),9,Il)):e.createCommentVNode("",!0),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).searchFields),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[0]||(d[0]=n=>e.isRef(E)?E.value=n:null),type:"search","aria-label":e.unref(l).searchFields},null,8,Ol),[[e.vModelText,e.unref(E)]])]),e.createElementVNode("div",Wl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S),n=>(e.openBlock(),e.createElementBlock("button",{key:n.field,type:"button",disabled:t.readonly||e.unref(g)!=="computations",title:e.unref(l).useField,onClick:F=>e.unref(u).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,jl))),128))]),e.unref($).length>50?(e.openBlock(),e.createElementBlock("small",ql,e.toDisplayString(e.unref(l).shown)+" 50 / "+e.toDisplayString(e.unref($).length),1)):e.createCommentVNode("",!0)])]),e.unref(g)==="computations"?(e.openBlock(),e.createElementBlock("div",Hl,[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(W),disabled:t.readonly,onChange:d[1]||(d[1]=n=>e.unref(u).loadComputed(n.target.value))},[e.createElementVNode("option",zl,"+ "+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,Pl))),128))],40,Jl)]),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":d[2]||(d[2]=n=>e.unref(b).field=n),disabled:t.readonly,autocomplete:"off"},null,8,Zl),[[e.vModelText,e.unref(b).field]])]),e.createElementVNode("div",Ql,[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":d[3]||(d[3]=n=>e.unref(b).scope=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(H).scopes,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(e.unref(l)[n]),9,Yl))),128))],8,Xl),[[e.vModelSelect,e.unref(b).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":d[4]||(d[4]=n=>e.unref(b).numeric=n),disabled:t.readonly},[e.createElementVNode("option",ea,e.toDisplayString(e.unref(l).number),1),e.createElementVNode("option",ta,e.toDisplayString(e.unref(l).decimal),1)],8,_l),[[e.vModelSelect,e.unref(b).numeric]])])]),e.unref(b).scope==="group"?(e.openBlock(),e.createElementBlock("fieldset",la,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(l).groupFields),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),n=>(e.openBlock(),e.createElementBlock("label",{key:n.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(b).groupBy?.includes(n.field),disabled:t.readonly,onChange:F=>e.unref(u).toggleGroupField(n.field,F.target.checked)},null,40,aa),e.createTextVNode(e.toDisplayString(n.label),1)]))),128))])):e.createCommentVNode("",!0),typeof e.unref(b).expression!="string"?(e.openBlock(),e.createBlock(Fl,{key:1,"model-value":e.unref(b).expression,fields:e.unref(y),messages:e.unref(l),readonly:t.readonly,"onUpdate:modelValue":e.unref(u).setExpression},null,8,["model-value","fields","messages","readonly","onUpdate:modelValue"])):(e.openBlock(),e.createElementBlock("p",na,e.toDisplayString(e.unref(b).expression),1)),e.createElementVNode("details",null,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(l).advanced),1),e.createElementVNode("div",oa,[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":d[5]||(d[5]=n=>e.unref(b).digits=n),type:"number",min:"0",max:"100",disabled:t.readonly},null,8,ia),[[e.vModelText,e.unref(b).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":d[6]||(d[6]=n=>e.unref(b).nulls=n),disabled:t.readonly},[e.createElementVNode("option",da,e.toDisplayString(e.unref(l).propagate),1),e.createElementVNode("option",sa,e.toDisplayString(e.unref(l).error),1)],8,ra),[[e.vModelSelect,e.unref(b).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":d[7]||(d[7]=n=>e.unref(b).divisionByZero=n),disabled:t.readonly},[e.createElementVNode("option",ca,e.toDisplayString(e.unref(l).error),1),e.createElementVNode("option",ma,e.toDisplayString(e.unref(l).propagate),1)],8,ua),[[e.vModelSelect,e.unref(b).divisionByZero]])])])]),e.unref(b).numeric==="decimal"?(e.openBlock(),e.createElementBlock("p",ga,e.toDisplayString(e.unref(l).decimalHint),1)):e.createCommentVNode("",!0),e.unref(R).valid&&e.unref(b).field?(e.openBlock(),e.createElementBlock("div",fa,[e.createTextVNode(e.toDisplayString(e.unref(l).dependencies),1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(R).order.join(" → ")),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",va,[e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:d[8]||(d[8]=(...n)=>e.unref(u).check&&e.unref(u).check(...n))},e.toDisplayString(e.unref(l).check),9,ya),e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly||!e.unref(R).valid,onClick:d[9]||(d[9]=(...n)=>e.unref(u).applyComputed&&e.unref(u).applyComputed(...n))},e.toDisplayString(e.unref(l).apply),9,ba),e.unref(W)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:d[10]||(d[10]=(...n)=>e.unref(u).removeComputed&&e.unref(u).removeComputed(...n))},e.toDisplayString(e.unref(l).remove),9,Va)):e.createCommentVNode("",!0)]),!e.unref(R).valid&&e.unref(b).field?(e.openBlock(),e.createElementBlock("p",ka,e.toDisplayString(e.unref(R).errors.join(";")),1)):e.createCommentVNode("",!0)])):e.unref(g)==="groups"?(e.openBlock(),e.createElementBlock("div",ha,[e.createElementVNode("div",Ea,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":d[11]||(d[11]=n=>e.isRef(p)?p.value=n:null),"aria-label":e.unref(l).groups},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(n,F)=>(e.openBlock(),e.createElementBlock("option",{key:F,value:F},e.toDisplayString(F+1)+" · "+e.toDisplayString(n.field),9,pa))),128)),e.unref(f).length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("option",Ba,e.toDisplayString(e.unref(l).noGroups),1))],8,Na),[[e.vModelSelect,e.unref(p),void 0,{number:!0}]]),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(f).length>=16,onClick:d[12]||(d[12]=(...n)=>e.unref(u).addGroup&&e.unref(u).addGroup(...n))}," + "+e.toDisplayString(e.unref(l).addGroup),9,Da)]),e.unref(h)?(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":d[13]||(d[13]=n=>e.unref(h).field=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label),9,wa))),128))],8,Sa),[[e.vModelSelect,e.unref(h).field]])]),e.createElementVNode("div",$a,[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":d[14]||(d[14]=n=>e.unref(h).headerTemplate=n),disabled:t.readonly,placeholder:"{value}"},null,8,Ca),[[e.vModelText,e.unref(h).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":d[15]||(d[15]=n=>e.unref(h).subtotalLabel=n),disabled:t.readonly},null,8,xa),[[e.vModelText,e.unref(h).subtotalLabel]])])]),e.createElementVNode("div",Fa,[e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[16]||(d[16]=n=>e.unref(h).keepWithNext=n),type:"checkbox",disabled:t.readonly},null,8,Ma),[[e.vModelCheckbox,e.unref(h).keepWithNext]]),e.createTextVNode(e.toDisplayString(e.unref(l).orphan),1)]),e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[17]||(d[17]=n=>e.unref(h).repeatHeader=n),type:"checkbox",disabled:t.readonly},null,8,Ta),[[e.vModelCheckbox,e.unref(h).repeatHeader]]),e.createTextVNode(e.toDisplayString(e.unref(l).repeat),1)])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h).aggregates,(n,F)=>(e.openBlock(),e.createElementBlock("div",{key:F,class:"mr-rule-editor__aggregate"},[e.createElementVNode("div",Ua,[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":B=>n.field=B,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),B=>(e.openBlock(),e.createElementBlock("option",{key:B.field,value:B.field},e.toDisplayString(B.label),9,Ra))),128))],8,La),[[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":B=>n.op=B,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(H).aggregates,B=>(e.openBlock(),e.createElementBlock("option",{key:B,value:B},e.toDisplayString(e.unref(l)[B]),9,Aa))),128))],8,Ka),[[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":B=>n.valueField=B,disabled:t.readonly},[e.createElementVNode("option",Ia,e.toDisplayString(n.field),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),B=>(e.openBlock(),e.createElementBlock("option",{key:B.field,value:B.field},e.toDisplayString(B.label),9,Oa))),128))],8,Ga),[[e.vModelSelect,n.valueField]])]),n.op==="weightedAvg"?(e.openBlock(),e.createElementBlock("label",Wa,[e.createTextVNode(e.toDisplayString(e.unref(l).weight),1),e.withDirectives(e.createElementVNode("select",{"aria-label":e.unref(l).weight,"onUpdate:modelValue":B=>n.weightField=B,disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),B=>(e.openBlock(),e.createElementBlock("option",{key:B.field,value:B.field},e.toDisplayString(B.label),9,qa))),128))],8,ja),[[e.vModelSelect,n.weightField]])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ha,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":B=>n.numeric=B,disabled:t.readonly,"aria-label":e.unref(l).numeric},[e.createElementVNode("option",za,e.toDisplayString(e.unref(l).number),1),e.createElementVNode("option",Pa,e.toDisplayString(e.unref(l).decimal),1)],8,Ja),[[e.vModelSelect,n.numeric]]),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:B=>e.unref(h).aggregates?.splice(F,1)},e.toDisplayString(e.unref(l).remove),9,Za)])]))),128)),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:d[18]||(d[18]=(...n)=>e.unref(u).addAggregate&&e.unref(u).addAggregate(...n))}," + "+e.toDisplayString(e.unref(l).addAggregate),9,Qa),e.createElementVNode("div",Xa,[e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(p)===0,"aria-label":e.unref(l).moveUp,onClick:d[19]||(d[19]=n=>e.unref(u).moveGroup(-1))}," ↑ "+e.toDisplayString(e.unref(l).outer),9,Ya),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(p)>=e.unref(f).length-1,"aria-label":e.unref(l).moveDown,onClick:d[20]||(d[20]=n=>e.unref(u).moveGroup(1))}," ↓ "+e.toDisplayString(e.unref(l).inner),9,_a),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:d[21]||(d[21]=(...n)=>e.unref(u).removeGroup&&e.unref(u).removeGroup(...n))},e.toDisplayString(e.unref(l).remove),9,en)])],64)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly,onClick:d[22]||(d[22]=(...n)=>e.unref(u).applyGroups&&e.unref(u).applyGroups(...n))},e.toDisplayString(e.unref(l).apply),9,tn)])):e.unref(g)==="conditions"?(e.openBlock(),e.createElementBlock("div",ln,[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":d[23]||(d[23]=n=>e.isRef(C)?C.value=n:null),disabled:t.readonly,onChange:d[24]||(d[24]=n=>e.unref(u).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,nn))),128))],40,an),[[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":d[25]||(d[25]=n=>e.isRef(o)?o.value=n:null),disabled:t.readonly,onChange:d[26]||(d[26]=n=>e.unref(u).loadCondition(-1))},[e.createElementVNode("option",rn,e.toDisplayString(e.unref(l).style),1),e.createElementVNode("option",dn,e.toDisplayString(e.unref(l).cell),1),e.createElementVNode("option",sn,e.toDisplayString(e.unref(l).rowVisibility),1)],40,on),[[e.vModelSelect,e.unref(o)]])]),e.unref(o)==="style"?(e.openBlock(),e.createElementBlock("label",un,[e.createTextVNode(e.toDisplayString(e.unref(l).existing),1),e.createElementVNode("select",{"aria-label":e.unref(l).existing,value:e.unref(V),disabled:t.readonly,onChange:d[27]||(d[27]=n=>e.unref(u).loadCondition(Number(n.target.value)))},[e.createElementVNode("option",mn,"+ "+e.toDisplayString(e.unref(l).newCondition),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M)?.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,gn))),128))],40,cn)])):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":d[28]||(d[28]=n=>e.unref(a).field=n),disabled:t.readonly},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label),9,vn))),128))],8,fn),[[e.vModelSelect,e.unref(a).field]])]),e.createElementVNode("div",yn,[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":d[29]||(d[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,Vn)),64))],8,bn),[[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:d[30]||(d[30]=n=>e.unref(u).setThreshold(n.target.value))},null,40,kn)])]),e.unref(o)==="style"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",hn,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).color),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[31]||(d[31]=n=>e.unref(i).color=n),type:"color",disabled:t.readonly},null,8,En),[[e.vModelText,e.unref(i).color]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).background),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[32]||(d[32]=n=>e.unref(i).backgroundColor=n),type:"color",disabled:t.readonly},null,8,Nn),[[e.vModelText,e.unref(i).backgroundColor]])])]),e.createElementVNode("label",pn,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[33]||(d[33]=n=>e.unref(i).bold=n),type:"checkbox",disabled:t.readonly},null,8,Bn),[[e.vModelCheckbox,e.unref(i).bold]]),e.createTextVNode(e.toDisplayString(e.unref(l).bold),1)])],64)):e.createCommentVNode("",!0),e.createElementVNode("div",Dn,[e.createElementVNode("button",{type:"button",class:"mr-rule-editor__primary",disabled:t.readonly,onClick:d[34]||(d[34]=n=>e.unref(u).applyCondition())},e.toDisplayString(e.unref(l).apply),9,Sn),e.unref(V)>=0||e.unref(o)!=="style"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:t.readonly,onClick:d[35]||(d[35]=n=>e.unref(u).applyCondition(!0))},e.toDisplayString(e.unref(l).removeCondition),9,wn)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["detail","matrix","tree"],n=>e.withDirectives(e.createVNode(el,{key:`${n}-${A.value}`,list:t.list,mode:n,datasets:t.datasets,"dataset-schema":t.datasetSchema,"dataset-schemas":t.datasetSchemas,readonly:t.readonly,messages:e.unref(l),accept:e.unref(u).applyLayout,onDirty:F=>K.value={...K.value,[n]:F}},null,8,["list","mode","datasets","dataset-schema","dataset-schemas","readonly","messages","accept","onDirty"]),[[e.vShow,e.unref(g)===n]])),64)),e.createElementVNode("aside",$n,[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).explanation),1),r.value?(e.openBlock(),e.createElementBlock("span",Cn,e.toDisplayString(e.unref(l).pending),1)):e.createCommentVNode("",!0)]),e.createElementVNode("p",null,e.toDisplayString(e.unref(l).sourceHint),1),e.unref(g)==="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(G)),1),e.createElementVNode("div",xn,[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(P),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(T).find(F=>F.row===n.row)?.value??(e.unref(T).length?"—":e.unref(l).notChecked)),1)]))),128)),e.unref(T).some(n=>n.value==null)?(e.openBlock(),e.createElementBlock("p",Fn,e.toDisplayString(e.unref(l).nullReason),1)):e.createCommentVNode("",!0),e.unref(T).length?(e.openBlock(),e.createElementBlock("p",Mn,e.toDisplayString(e.unref(l).sample),1)):e.createCommentVNode("",!0)])],64)):e.createCommentVNode("",!0),e.unref(s)?(e.openBlock(),e.createElementBlock("p",Tn,e.toDisplayString(e.unref(s)),1)):e.createCommentVNode("",!0)])],8,Tl))}}),Ln=Z._export_sfc(Un,[["__scopeId","data-v-26d69520"]]);exports.default=Ln;
@@ -2,7 +2,7 @@ import { ref as G, computed as P, watch as le, defineComponent as re, openBlock
2
2
  import { i as me, v as Me, d as Se } from "./computed-Bvk0W15F.js";
3
3
  import { u as oe } from "./useLocalDraft-C07SYRnC.js";
4
4
  import { a as De } from "./matrix-yZsGnldA.js";
5
- import { v as fe } from "./template-registry-WNXdkiET.js";
5
+ import { v as fe } from "./template-registry-BjE1VS6g.js";
6
6
  import { c as Re } from "./tree-CqcQ99NM.js";
7
7
  import { _ as ce } from "./_plugin-vue_export-helper-8SL1F89S.js";
8
8
  import { RULE_EDITOR_MESSAGES as Ee } from "./designer.js";
@@ -27,6 +27,18 @@ export declare interface AggregateRequest {
27
27
 
28
28
  export declare function aggregateRows(rows: readonly Record<string, unknown>[], request: AggregateRequest): number | string | null;
29
29
 
30
+ /** Serializable symbol settings. Encoders remain in the optional /codes entry. */
31
+ declare interface CodeOptions {
32
+ /** Explicit content, including an empty value, takes precedence over legacy fallbackText. */
33
+ value?: string;
34
+ symbology?: "code128" | "code39" | "ean13" | "ean8";
35
+ errorCorrection?: "L" | "M" | "Q" | "H";
36
+ /** White modules around a symbol: QR >=4, linear >=10, EAN >=11. */
37
+ quietZoneModules?: number;
38
+ /** Human-readable content below a linear barcode. */
39
+ showText?: boolean;
40
+ }
41
+
30
42
  /**
31
43
  * 列值格式化(声明式、JSON 可序列化)。
32
44
  * 在 paginate 的 cellText 出口统一消费:格式化发生在进 RenderPlan 之前,
@@ -52,6 +64,15 @@ declare type ColumnFormat = {
52
64
 
53
65
  export declare function compareDecimal(a: DecimalValue, b: DecimalValue): number;
54
66
 
67
+ /** A literal own field of the current label record; expressions and paths are not evaluated. */
68
+ declare interface ComponentBinding {
69
+ field: string;
70
+ format?: ValueFormat;
71
+ prefix?: string;
72
+ suffix?: string;
73
+ emptyText?: string;
74
+ }
75
+
55
76
  declare type ComponentKind = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
56
77
 
57
78
  declare interface ComponentStyle {
@@ -326,6 +347,10 @@ export declare function multiplyDecimal(a: DecimalValue, b: DecimalValue): Decim
326
347
  export declare function parseDecimal(input: unknown): DecimalValue;
327
348
 
328
349
  declare interface PlanComponent {
350
+ /** Optional QR/barcode encoding configuration; no encoder is loaded by the core. */
351
+ code?: CodeOptions;
352
+ /** Template-only binding; resolved and removed before constructing the output plan. */
353
+ binding?: ComponentBinding;
329
354
  /** Template page furniture repeats per page and reserves its vertical band. */
330
355
  pageAnchor?: "header" | "footer";
331
356
  kind: ComponentKind;
@@ -460,4 +485,7 @@ export declare function validateComputedFields(definitions: readonly ComputedFie
460
485
 
461
486
  export declare function validateMatrixOptions(options: MatrixTableOptions): void;
462
487
 
488
+ /** The same declarative formatting used by list columns, before any output backend. */
489
+ declare type ValueFormat = ColumnFormat;
490
+
463
491
  export { }
@@ -27,6 +27,18 @@ export declare interface AggregateRequest {
27
27
 
28
28
  export declare function aggregateRows(rows: readonly Record<string, unknown>[], request: AggregateRequest): number | string | null;
29
29
 
30
+ /** Serializable symbol settings. Encoders remain in the optional /codes entry. */
31
+ declare interface CodeOptions {
32
+ /** Explicit content, including an empty value, takes precedence over legacy fallbackText. */
33
+ value?: string;
34
+ symbology?: "code128" | "code39" | "ean13" | "ean8";
35
+ errorCorrection?: "L" | "M" | "Q" | "H";
36
+ /** White modules around a symbol: QR >=4, linear >=10, EAN >=11. */
37
+ quietZoneModules?: number;
38
+ /** Human-readable content below a linear barcode. */
39
+ showText?: boolean;
40
+ }
41
+
30
42
  /**
31
43
  * 列值格式化(声明式、JSON 可序列化)。
32
44
  * 在 paginate 的 cellText 出口统一消费:格式化发生在进 RenderPlan 之前,
@@ -52,6 +64,15 @@ declare type ColumnFormat = {
52
64
 
53
65
  export declare function compareDecimal(a: DecimalValue, b: DecimalValue): number;
54
66
 
67
+ /** A literal own field of the current label record; expressions and paths are not evaluated. */
68
+ declare interface ComponentBinding {
69
+ field: string;
70
+ format?: ValueFormat;
71
+ prefix?: string;
72
+ suffix?: string;
73
+ emptyText?: string;
74
+ }
75
+
55
76
  declare type ComponentKind = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
56
77
 
57
78
  declare interface ComponentStyle {
@@ -326,6 +347,10 @@ export declare function multiplyDecimal(a: DecimalValue, b: DecimalValue): Decim
326
347
  export declare function parseDecimal(input: unknown): DecimalValue;
327
348
 
328
349
  declare interface PlanComponent {
350
+ /** Optional QR/barcode encoding configuration; no encoder is loaded by the core. */
351
+ code?: CodeOptions;
352
+ /** Template-only binding; resolved and removed before constructing the output plan. */
353
+ binding?: ComponentBinding;
329
354
  /** Template page furniture repeats per page and reserves its vertical band. */
330
355
  pageAnchor?: "header" | "footer";
331
356
  kind: ComponentKind;
@@ -460,4 +485,7 @@ export declare function validateComputedFields(definitions: readonly ComputedFie
460
485
 
461
486
  export declare function validateMatrixOptions(options: MatrixTableOptions): void;
462
487
 
488
+ /** The same declarative formatting used by list columns, before any output backend. */
489
+ declare type ValueFormat = ColumnFormat;
490
+
463
491
  export { }
@@ -0,0 +1,4 @@
1
+ "use strict";const I=require("./defaults-xhmcLLrf.cjs"),b=require("./capabilities-CsZ-pNHR.cjs"),v=require("./progress-BnLiS5eH.cjs"),x=/[\u3000-\u9fff\uff00-\uffef]/,m=new Uint8Array(128);{for(const e of"iljtf.,:;'`|!()[]")m[e.charCodeAt(0)]=1;for(const e of"mwMW@")m[e.charCodeAt(0)]=2;for(let e=48;e<=57;e++)m[e]=3;for(let e=65;e<=90;e++)m[e]=4;m[32]=5}const E=[.54,.26,.95,.59,.67,.3];function M(e){const t=e.charCodeAt(0);return t<128?E[m[t]]:x.test(e)?1:/[A-Z]/.test(e)?.67:.54}const h={measureMm(e,t){const{fontSizePt:r,bold:s=!1,letterSpacingPt:a=0}=t,n=25.4/72;let i=0;for(const u of e)i+=M(u);return s&&(i*=1.04),(i*r+a*Math.max(0,Array.from(e).length-1))*n}};function T(){return h}function k(e,t){return h.measureMm(e,t)}function D(e){let t;return{measureMm(r,s){if(t===void 0&&(t=e()),!t)return h.measureMm(r,s);const a=s.fontSizePt*96/72;t.font=`${s.italic?"italic ":""}${s.bold?"bold ":""}${a}px ${s.fontFamily??I.DEFAULT_FONT_FAMILY}`,"letterSpacing"in t&&(t.letterSpacing="0px");const n=(s.letterSpacingPt??0)*Math.max(0,Array.from(r).length-1);return t.measureText(r).width*25.4/96+n*25.4/72}}}function O(e,t,r){const s=[];let a="";const n=()=>{a&&(s.push({text:a,widthMm:r.measureMm(a,t),cjk:!1}),a="")};for(const i of e){if(i===`
2
+ `){n(),s.push({text:`
3
+ `,widthMm:0,cjk:!1,br:!0});continue}if(i===" "){n(),s.push({text:i,widthMm:r.measureMm(i,t),cjk:!1,space:!0});continue}if(x.test(i)){n(),s.push({text:i,widthMm:r.measureMm(i,t),cjk:!0});continue}a+=i}return n(),s}function P(e,t,r,s=h){if(!e)return[""];e=e.replace(/\r\n?/g,`
4
+ `);const a=[];let n="",i=0;const u=(r.letterSpacingPt??0)*25.4/72,c=()=>{a.push(n),n="",i=0};for(const o of O(e,r,s)){if(o.br){c();continue}const f=n.length>0?u:0;if(i+f+o.widthMm<=t){n+=o.text,i+=f+o.widthMm;continue}if(o.space){c();continue}if(o.cjk){n.length>0&&c(),n=o.text,i=o.widthMm;continue}if(n.length>0&&c(),o.widthMm<=t){n=o.text,i=o.widthMm;continue}for(const d of o.text)s.measureMm(n+d,r)>t&&n.length>0&&c(),n+=d,i=s.measureMm(n,r)}return c(),a}class w extends Error{constructor(t,r){super(t.message),this.name="OutputAssetError",this.diagnostic=t,this.cause=r}}function p(e){if(e.aborted)throw e.reason??new DOMException("The operation was aborted.","AbortError")}function C(e){const t={maxAssets:1e3,maxImageBytes:33554432,maxTotalImageBytes:134217728,maxDurationMs:3e4,...e.assetBudget};for(const[r,s]of Object.entries(t))if(!Number.isSafeInteger(s)||s<=0||s>2147483647)throw new RangeError(`${r} must be a positive safe integer at most 2147483647.`);return t}function S(e){const t=/^data:image\/[a-z0-9.+-]+(;base64)?,(.*)$/is.exec(e);if(!t)throw new TypeError("Asset renderers must return an image data URL.");return t[1]?Math.ceil(t[2].length*3/4):new TextEncoder().encode(decodeURIComponent(t[2])).byteLength}function l(e,t,r,s,a){const n={code:r,message:s,severity:"warning",format:e.options.format??"dom",pageIndex:t.pageIndex,componentIndex:t.componentIndex,componentPath:t.componentPath,kind:t.component.kind,nid:t.component.nid};if(e.diagnostics.push(n),b.notifyOutputDiagnostic(n,{...e.options,signal:e.signal}),e.options.assetFailure!=="placeholder")throw new w(n,a)}async function L(e,t,r){const s=e.options.assetRenderers?.[t.kind];if(t.imageData||!s)return t.imageData;if(++e.rendered>e.budget.maxAssets)return l(e,r,"asset-budget-exceeded","Output exceeded the asset count budget.");let a;try{if(e.active=r,a=await v.waitForOutput(s({...r,signal:e.signal}),e.signal),p(e.signal),a.length>e.budget.maxImageBytes*4+1024)return l(e,r,"asset-budget-exceeded","Output exceeded the image payload byte budget.");const n=S(a);if(n>e.budget.maxImageBytes||e.bytes+n>e.budget.maxTotalImageBytes)return l(e,r,"asset-budget-exceeded","Output exceeded the encoded image byte budget.");e.bytes+=n}catch(n){if(e.signal.aborted||n instanceof w)throw n;return l(e,r,"asset-render-failed",`Asset renderer failed for ${t.kind}; output was not silently omitted.`,n)}return a}function j(e,t){const r=e.active;if(!r){t.abort(new Error("Asset rendering exceeded maxDurationMs."));return}const s={code:"asset-budget-exceeded",message:"Asset rendering exceeded maxDurationMs.",severity:"warning",format:e.options.format??"dom",pageIndex:r.pageIndex,componentIndex:r.componentIndex,componentPath:r.componentPath,kind:r.component.kind,nid:r.component.nid};e.diagnostics.push(s);try{b.notifyOutputDiagnostic(s,{...e.options,signal:e.signal})}catch(a){t.abort(a);return}t.abort(new w(s))}async function B(e,t,r,s,a){if(!t?.children?.length)return t;const n=[];for(const[i,u]of t.children.entries())n.push(await y(e,u,{...r,component:u,componentPath:[...s,i]},a));return n.some((i,u)=>i!==t.children[u])?{...t,children:n}:t}async function y(e,t,r,s){if(p(e.signal),s.has(t))throw new TypeError("Cyclic grid children cannot be rendered.");let a=e.cache.get(t);a||(a=L(e,t,r),e.cache.set(t,a));const n=await a;p(e.signal);let i=t.grid;if(i){const u=new Set(s).add(t),c=[];for(const[o,f]of i.cells.entries()){const d=[];for(const[g,A]of f.entries())d.push(await B(e,A,r,[...r.componentPath,o,g],u));c.push(d)}c.some((o,f)=>o.some((d,g)=>d!==i.cells[f][g]))&&(i={...i,cells:c})}return n!==t.imageData||i!==t.grid?{...t,imageData:n,grid:i}:t}async function R(e,t={}){const r=C(t);if(t.signal?.aborted)throw t.signal.reason??new DOMException("The operation was aborted.","AbortError");const s=new AbortController,a=()=>s.abort(t.signal?.reason);if(t.signal?.addEventListener("abort",a,{once:!0}),!t.assetRenderers||!Object.keys(t.assetRenderers).length)return t.signal?.removeEventListener("abort",a),{plan:e,diagnostics:[]};const n={options:t,signal:s.signal,diagnostics:[],rendered:0,bytes:0,budget:r,cache:new WeakMap},i=setTimeout(()=>j(n,s),r.maxDurationMs);try{const u=[];for(const[c,o]of e.pages.entries()){if(c<(t.start??0)||c>(t.end??e.pages.length-1)){u.push(o);continue}const f=[];for(const[d,g]of o.components.entries())f.push(await y(n,g,{component:g,pageIndex:c,componentIndex:d,componentPath:[]},new Set));u.push(f.some((d,g)=>d!==o.components[g])?{...o,components:f}:o)}return p(n.signal),{plan:u.some((c,o)=>c!==e.pages[o])?{...e,pages:u}:e,diagnostics:n.diagnostics}}finally{clearTimeout(i),t.signal?.removeEventListener("abort",a)}}exports.OutputAssetError=w;exports.charWidthEm=M;exports.createCanvasMeasurer=D;exports.createHeuristicMeasurer=T;exports.heuristicMeasurer=h;exports.measureTextMm=k;exports.resolvePlanAssets=R;exports.wrapText=P;