@kern0x1b/penstock-cli 26.10.0 → 26.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD-PARTY-NOTICES.md +1646 -0
- package/dist/grammars/tree-sitter-c-sharp.wasm +0 -0
- package/dist/grammars/tree-sitter-go.wasm +0 -0
- package/dist/grammars/tree-sitter-groovy.wasm +0 -0
- package/dist/grammars/tree-sitter-java.wasm +0 -0
- package/dist/grammars/tree-sitter-javascript.wasm +0 -0
- package/dist/grammars/tree-sitter-kotlin.wasm +0 -0
- package/dist/grammars/tree-sitter-python.wasm +0 -0
- package/dist/grammars/tree-sitter-scala.wasm +0 -0
- package/dist/grammars/tree-sitter-typescript.wasm +0 -0
- package/dist/grammars/web-tree-sitter.wasm +0 -0
- package/dist/penstock.js +1076 -419
- package/dist/syntax-worker.js +5 -0
- package/dist/web/assets/AgentSettings-B_c5K0Hd.js +1 -0
- package/dist/web/assets/AgentsDialog-BtgwT_49.js +1 -0
- package/dist/web/assets/BpmnCanvas-BeOwGJEV.js +1905 -0
- package/dist/web/assets/BpmnDocument-DioCJiv7.js +24 -0
- package/dist/web/assets/ConflictDialog-B9V39KUg.js +1 -0
- package/dist/web/assets/DiffDocument-t0gjzCba.js +1 -0
- package/dist/web/assets/DmnDocument-ChFDTt1F.js +41 -0
- package/dist/web/assets/DmnDocument-VhMjHTN6.css +1 -0
- package/dist/web/assets/FormDocument-TEeVD6T7.js +32 -0
- package/dist/web/assets/FormDocument-URLcKn84.css +1 -0
- package/dist/web/assets/FormStepView-DLNQ8jVN.js +1 -0
- package/dist/web/assets/GraphAwareLayoutService-DFtkFUrn.js +21 -0
- package/dist/web/assets/NewFileDialog-BPBljAGC.js +34 -0
- package/dist/web/assets/QuickOpen-DOe23FAR.js +1 -0
- package/dist/web/assets/ScriptPane-DzBYUW23.js +2 -0
- package/dist/web/assets/ScriptRunDialog-BtLkIreU.js +1 -0
- package/dist/web/assets/SettingsDialog-YoMl6NJ1.js +1 -0
- package/dist/web/assets/ShortcutsDialog-D0_aCcNe.js +1 -0
- package/dist/web/assets/SourceDocument-p3iREvQI.js +1 -0
- package/dist/web/assets/TextDocument-DWg1EqKB.js +1 -0
- package/dist/web/assets/UnreadableFileLayer-ep6zQMtt.js +1 -0
- package/dist/web/assets/UploadDialog-ZOy1owan.js +1 -0
- package/dist/web/assets/Viewer-C7pbHtwq.js +4 -0
- package/dist/web/assets/apply-B8eZkNJ6.js +1 -0
- package/dist/web/assets/array-move-Bc4mVEdq.js +1 -0
- package/dist/web/assets/bpmn-0HrGCizt.svg +228 -0
- package/dist/web/assets/bpmn-Cyvp-fAH.eot +0 -0
- package/dist/web/assets/bpmnTheme-CebWk9Ei.js +1683 -0
- package/dist/web/assets/bridgeInstance-DzSjLJAc.js +600 -0
- package/dist/web/assets/clike-DaHM3zHz.js +1 -0
- package/dist/web/assets/colors-dark-C7vOziWz.css +1 -0
- package/dist/web/assets/colors-dracula-CXhMcc1Z.css +1 -0
- package/dist/web/assets/colors-light-CyT40N4M.css +1 -0
- package/dist/web/assets/de-DG3quwSS.js +1 -0
- package/dist/web/assets/dialog-Cn1DzN2I.js +1 -0
- package/dist/web/assets/diff-DMf6xJj1.js +1 -0
- package/dist/web/assets/dist--ADMeFWW.js +57 -0
- package/dist/web/assets/dist--PmHUHDp.js +1 -0
- package/dist/web/assets/dist-2wOiLlcG.js +1 -0
- package/dist/web/assets/dist-BYu4mHLv.js +23 -0
- package/dist/web/assets/dist-BaWEbDAw.js +1 -0
- package/dist/web/assets/dist-BnLLb41E.js +2 -0
- package/dist/web/assets/dist-BqwyxNP3.js +1 -0
- package/dist/web/assets/dist-BxuUJA8B.js +1 -0
- package/dist/web/assets/dist-CHkSydPE.js +1 -0
- package/dist/web/assets/dist-CHluRwHI.js +2 -0
- package/dist/web/assets/dist-CRJyslwo.js +1 -0
- package/dist/web/assets/dist-CxyFqsL2.js +6 -0
- package/dist/web/assets/dist-D0cjZCsW.js +13 -0
- package/dist/web/assets/dist-DBnQKg4d.js +1 -0
- package/dist/web/assets/dist-DIdDTNn9.js +2 -0
- package/dist/web/assets/dist-DXXc07IK.js +1 -0
- package/dist/web/assets/dist-DgvQWhKm.js +6 -0
- package/dist/web/assets/dist-DlbES2QN.js +1 -0
- package/dist/web/assets/dist-Dup2uTdL.js +6 -0
- package/dist/web/assets/dist-TNwbKIWT.js +1 -0
- package/dist/web/assets/dist-f4FXNtig.js +1 -0
- package/dist/web/assets/dist-zHmj1-pd.js +5 -0
- package/dist/web/assets/dmn-2EwrEScy.eot +0 -0
- package/dist/web/assets/dmn-eH1_eUsy.svg +90 -0
- package/dist/web/assets/dockLayout-CxOMo-Nl.js +1 -0
- package/dist/web/assets/documentBridge-BXU6mgKl.js +240 -0
- package/dist/web/assets/documents-XvKodSic.js +1 -0
- package/dist/web/assets/duplicate-CKn70NtG.js +342 -0
- package/dist/web/assets/ed25519-DTYhEcYX.js +1 -0
- package/dist/web/assets/engine-BPUfS3r2.js +1 -0
- package/dist/web/assets/engines-BaW52xZ_.js +5 -0
- package/dist/web/assets/es-PcpRjhXP.js +1 -0
- package/dist/web/assets/files-Chpd_QD0.js +1 -0
- package/dist/web/assets/formChecks-TAsEqw2_.js +1 -0
- package/dist/web/assets/fr-BQIO41QS.js +1 -0
- package/dist/web/assets/frontend-By89859W.js +1 -0
- package/dist/web/assets/go-C1TRUqzB.js +1 -0
- package/dist/web/assets/groovy-C2AgVf_z.js +1 -0
- package/dist/web/assets/html2canvas-DEOnTJc-.js +5 -0
- package/dist/web/assets/httpHost-DPT9cNRG.js +1 -0
- package/dist/web/assets/index.es-DXehkcd9.js +4 -0
- package/dist/web/assets/index.es-fKIKPRSg.js +78 -0
- package/dist/web/assets/index.esm-CTLpq4ik.js +3 -0
- package/dist/web/assets/intelligence-_ijxuAw5.js +3 -0
- package/dist/web/assets/ja-CJkgGd9w.js +1 -0
- package/dist/web/assets/jspdf.es.min-DXxYWA_o.js +79 -0
- package/dist/web/assets/ko-BaifpU2V.js +1 -0
- package/dist/web/assets/lib--h_vArmx.js +1 -0
- package/dist/web/assets/libavoid-BRQRZjmQ.wasm +0 -0
- package/dist/web/assets/libavoid.wasm +0 -0
- package/dist/web/assets/platform-_nC9EyYA.js +2 -0
- package/dist/web/assets/preferences-Cfvg8oqM.js +1 -0
- package/dist/web/assets/preload-helper-VRuDKI9K.js +1 -0
- package/dist/web/assets/properties-C3HzGRE2.js +1 -0
- package/dist/web/assets/pt-BR-DkBw_2Tc.js +1 -0
- package/dist/web/assets/purify.es-CyDa74pG.js +3 -0
- package/dist/web/assets/python-CvnBFxgv.js +1 -0
- package/dist/web/assets/resource/ArchitectsDaughter-OFL.txt +93 -0
- package/dist/web/assets/resource/ArchitectsDaughter-Regular.ttf +0 -0
- package/dist/web/assets/resource/JetBrainsMono-Italic.woff2 +0 -0
- package/dist/web/assets/resource/JetBrainsMono-Medium.woff2 +0 -0
- package/dist/web/assets/resource/JetBrainsMono-OFL.txt +52 -0
- package/dist/web/assets/resource/JetBrainsMono-Regular.woff2 +0 -0
- package/dist/web/assets/resource/JetBrainsMono-SemiBold.woff2 +0 -0
- package/dist/web/assets/rolldown-runtime-B8BYMn-z.js +1 -0
- package/dist/web/assets/ru-DhjXKaLT.js +1 -0
- package/dist/web/assets/run-CgRiIIgd.js +1 -0
- package/dist/web/assets/samples-CeaUa4Fn.js +1 -0
- package/dist/web/assets/shortcut-DONH578b.js +1 -0
- package/dist/web/assets/source-frame-C6KIof5s.js +2 -0
- package/dist/web/assets/stackblur-es-Djj-lnDR.js +2 -0
- package/dist/web/assets/syntax-DBcQvmbn.js +6 -0
- package/dist/web/assets/testCaseRuns-Bw2AfAfR.js +1 -0
- package/dist/web/assets/translator-Dt_jCGPm.js +1 -0
- package/dist/web/assets/typing-CXvbBSPr.js +1 -0
- package/dist/web/assets/ui-DDJuNJWb.js +1 -0
- package/dist/web/assets/useTrace-Rwk8eJY1.js +1 -0
- package/dist/web/assets/vendor-NJP34MHU.js +1 -0
- package/dist/web/assets/web-C3yK7kgI.js +148 -0
- package/dist/web/assets/web-CSZhWpVp.css +1 -0
- package/dist/web/assets/zh-tAs09DKy.js +1 -0
- package/dist/web/icon.svg +9 -0
- package/dist/web/index.html +63 -0
- package/dist/web/manifest.webmanifest +14 -0
- package/package.json +11 -8
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import{i as e,o as t,t as n}from"./rolldown-runtime-B8BYMn-z.js";import{c as r,d as i,f as a,g as o,h as s,i as c,o as l,r as u,u as d}from"./vendor-NJP34MHU.js";import{i as f}from"./translator-Dt_jCGPm.js";import{x as p}from"./frontend-By89859W.js";import{F as m,Hn as h,Ln as g,N as _,S as v,Un as y,V as b,b as ee,t as x,x as te}from"./bridgeInstance-DzSjLJAc.js";import{C as S,M as ne,N as C,O as re,P as ie,_ as w,a as ae,b as oe,c as se,f as ce,g as le,h as T,k as E,m as D,o as O,r as ue,s as k,t as A,u as j,w as de,x as fe,y as pe}from"./dist-CRJyslwo.js";import{E as me,g as he,o as ge,u as _e,w as ve}from"./engine-BPUfS3r2.js";import{t as M}from"./dist-BqwyxNP3.js";import{t as ye}from"./platform-_nC9EyYA.js";import{c as be,n as xe,o as Se,r as Ce,s as we,t as Te}from"./useTrace-Rwk8eJY1.js";import{_ as Ee,c as De,h as Oe,i as ke,l as Ae,m as je,n as Me,o as Ne,p as Pe,r as Fe,s as Ie,t as Le,u as Re}from"./documentBridge-BXU6mgKl.js";import{O as ze,c as Be,d as Ve,g as He,l as Ue,o as We,y as Ge}from"./bpmnTheme-CebWk9Ei.js";import{f as Ke,l as qe,p as Je,s as Ye}from"./ui-DDJuNJWb.js";import{i as Xe}from"./lib--h_vArmx.js";import{$t as Ze,At as Qe,Bt as $e,Cn as et,Ct as tt,D as nt,Dn as rt,Dt as it,Et as at,F as ot,Ft as st,H as ct,Ht as lt,It as ut,L as dt,Mn as ft,Mt as pt,Nt as mt,On as ht,Ot as N,P as gt,Qt as _t,R as vt,Sn as yt,St as bt,Tt as xt,U as St,Ut as Ct,V as wt,Vt as Tt,W as Et,_n as Dt,_t as Ot,a as kt,at as At,bt as jt,c as Mt,ct as Nt,d as Pt,dn as Ft,dt as It,en as Lt,f as Rt,gn as zt,gt as Bt,h as Vt,hn as Ht,ht as Ut,i as Wt,jn as Gt,jt as Kt,kn as qt,kt as Jt,l as Yt,lt as Xt,m as Zt,mn as Qt,mt as P,n as $t,o as en,ot as tn,pn as nn,pt as rn,r as an,s as on,st as sn,t as cn,tt as ln,u as un,un as dn,vn as fn,wn as pn,wt as mn,xn as hn,xt as gn,yt as _n,zt as vn}from"./duplicate-CKn70NtG.js";import{$t as F,C as yn,Ft as bn,Jt as xn,Kt as Sn,Lt as I,Mt as Cn,Pt as wn,Qt as Tn,S as L,St as En,Ut as Dn,Vt as R,X as On,Yt as z,Zt as B,a as kn,b as An,en as jn,in as V,it as Mn,lt as H,nn as Nn,nt as Pn,ot as U,r as Fn,rn as W,tn as G,tt as In,ut as K,v as q,wt as Ln,y as Rn}from"./Viewer-C7pbHtwq.js";import{t as zn}from"./dist--PmHUHDp.js";import{I as Bn}from"./dist-D0cjZCsW.js";import{n as Vn}from"./dockLayout-CxOMo-Nl.js";import{E as Hn,Tt as Un,b as Wn,o as Gn,w as Kn}from"./web-C3yK7kgI.js";import{n as qn,r as Jn,t as Yn}from"./UnreadableFileLayer-ep6zQMtt.js";var Xn=1,GroupLabelsTranslator=class{static $inject=[`propertiesPanel`,`translate`];translate;constructor(e,t){this.translate=t,e.registerProvider(Xn,this)}getGroups(){return e=>e.map(e=>e.label?{...e,label:this.translate(e.label)}:e)}},Zn={__init__:[`groupLabelsTranslator`],groupLabelsTranslator:[`type`,GroupLabelsTranslator]};D();function wrapForCompatibility(e){return function(){if(!window.Promise)throw Error(`Promises is not supported in this environment. Please polyfill Promise.`);var t=arguments.length;if(t>=1&&w(arguments[t-1])){var n=arguments[t-1];console.warn(Error(`Passing callbacks to `+replaceBoundPrefix(e.name)+` is deprecated and will be removed in a future major release. Please switch to promises: https://bpmn.io/l/moving-to-promises.html`));var r=Array.prototype.slice.call(arguments,0,-1);e.apply(this,r).then(function(e){var t=Object.keys(e)[0];return n(null,e[t])},function(e){return n(e,e.warnings)})}else return e.apply(this,arguments)}}function replaceBoundPrefix(e){return e.replace(`bound `,``)}D();var Qn={width:`100%`,height:`100%`,position:`relative`},Manager=class{constructor(e={}){this._eventBus=new In,this._viewsChanged=ue(this._viewsChanged,0),this._views=[],this._viewers={},this.open=wrapForCompatibility(this.open.bind(this)),this.importXML=wrapForCompatibility(this.importXML.bind(this)),this.saveXML=wrapForCompatibility(this.saveXML.bind(this)),this._init(e)}importXML(e,t){var n=this;return t||={open:!0},new Promise(function(r,i){var a=n._activeView;n._clear().then(()=>{e=n._emit(`import.parse.start`,{xml:e})||e;var o;n._moddle.fromXML(e,`dmn:Definitions`).then(e=>{var s=e.rootElement,c=e.references,l=e.elementsById;if(o=e.warnings,s=n._emit(`import.parse.complete`,ParseCompleteEvent({error:null,definitions:s,elementsById:l,references:c,warnings:o}))||s,n._setDefinitions(s),!t.open)n._emit(`import.done`,{error:null,warnings:o}),r({warnings:o});else{var u=n._getInitialView(n._views,a);if(!u){var d=Error(`no displayable contents`);return n._emit(`import.done`,{error:d,warnings:o}),d.warnings=o,i(d)}n.open(u).then(e=>({warnings:e.warnings})).catch(e=>({error:e,warnings:e.warnings})).then(e=>{var t=[].concat(o,e.warnings);n._emit(`import.done`,{error:e.error,warnings:t}),e.error?(e.error.warnings=t,i(e.error)):r({warnings:t})})}}).catch(t=>(o=t.warnings,t=checkDMNCompatibilityError(t,e)||checkValidationError(t)||t,n._emit(`import.parse.complete`,ParseCompleteEvent({error:t,warnings:o})),n._emit(`import.done`,{error:t,warnings:o}),t.warnings=o,i(t)))}).catch(e=>(n._emit(`import.done`,{error:e,warnings:[]}),e.warnings=[],i(e)))});function ParseCompleteEvent(e){var t=n._eventBus.createEvent(e);return Object.defineProperty(t,"context",{enumerable:!0,get:function(){return console.warn(Error(`import.parse.complete <context> is deprecated and will be removed in future library versions`)),{warnings:e.warnings,references:e.references,elementsById:e.elementsById}}}),t}}getDefinitions(){return this._definitions}getActiveView(){return this._activeView}getActiveViewer(){var e=this.getActiveView();return e&&this._getViewer(e)}getView(e){return this._views.filter(function(t){return t.element===e})[0]}getViews(){return this._views}saveXML(e){var t=this;e||={};var n=this._definitions;return new Promise(function(r,i){n?(n=t._emit(`saveXML.start`,{definitions:n})||n,t._moddle.toXML(n,e).then(function(e){var n=e.xml;return n=t._emit(`saveXML.serialized`,{xml:n})||n,{xml:n}}).catch(e=>({error:e})).then(e=>{t._emit(`saveXML.done`,e),e.error?i(e.error):r({xml:e.xml})})):i(Error(`no definitions loaded`))})}on(...e){this._eventBus.on(...e)}off(...e){this._eventBus.off(...e)}once(...e){this._eventBus.once(...e)}attachTo(e){e.get&&e.constructor.prototype.jquery&&(e=e.get(0)),typeof e==`string`&&(e=G(e)),e.appendChild(this._container),this._emit(`attach`,{})}detach(){this._emit(`detach`,{}),Nn(this._container)}destroy(){Object.keys(this._viewers).forEach(e=>{var t=this._viewers[e];safeExecute(t,`destroy`)}),Nn(this._container)}_init(e){this._options=e,this._moddle=this._createModdle(e),this._viewers={},this._views=[];let t=W(`<div class="dmn-js-parent bio-theme-parent"></div>`),n=A({},Qn,e);A(t.style,{width:ensureUnit(n.width),height:ensureUnit(n.height),position:n.position}),this._container=t,e.container&&this.attachTo(e.container)}_clear(){return this._switchView(null)}open(e){return this._switchView(e)}_setDefinitions(e){this._definitions=e,this._updateViews()}_viewsChanged=()=>{this._emit(`views.changed`,{views:this._views,activeView:this._activeView})};_updateViews(){var e=this._definitions;if(!e)this._views=[],this._switchView(null);else{var t=this._getViewProviders(),n=[e,...e.drgElement||[]],r=this._views,i=[];for(var a of n){var o=k(t,function(e){return typeof e.opens==`string`?e.opens===a.$type:e.opens(a)});if(o){var s={element:a,id:a.id,name:a.name,type:o.id};i.push(s)}}var c=this._activeView,l;if(c&&(l=k(i,function(e){return viewsEqual(c,e)})||this._getInitialView(i),!l))this._switchView(null);else{var u=!viewsEqual(c,l)||viewNameChanged(c,l),d=r.length!==i.length||!ae(i,function(e){return k(r,function(t){return viewsEqual(t,e)&&!viewNameChanged(t,e)})});this._activeView=l,this._views=i,(u||d)&&this._viewsChanged()}}}_getInitialView(e,t){var n;return t&&(n=k(e,function(e){return viewsEqual(e,t)})||k(e,function(e){return e.type===t})),n||e[0]}_switchView(e){var t=this;return new Promise(function(n,r){var complete=(e,i)=>{t._viewsChanged(),e?r(e):n(i)},i=t.getActiveView(),a,o=e&&t._getViewer(e),s=e&&e.element;i&&(a=t._getViewer(i),a!==o&&(safeExecute(a,`clear`),a.detach())),t._activeView=e,o?(a!==o&&o.attachTo(t._container),t._emit(`import.render.start`,{view:e,element:s}),o.open(s).then(n=>{t._emit(`import.render.complete`,{view:e,error:null,warnings:n.warnings}),complete(null,n)}).catch(n=>{t._emit(`import.render.complete`,{view:e,error:n,warnings:n.warnings}),complete(n,null)})):complete()})}_getViewer(e){var t=e.type,n=this._viewers[t];return n||(n=this._viewers[t]=this._createViewer(e.type),this._emit(`viewer.created`,{type:t,viewer:n})),n}_createViewer(e){var t=k(this._getViewProviders(),function(t){return t.id===e});if(!t)throw Error(`no provider for view type <`+e+`>`);var n=t.constructor,r=this._options[e]||{};return new n({...this._options.common||{},...r,additionalModules:[...r.additionalModules||[],{_parent:[`value`,this],moddle:[`value`,this._moddle]}]})}_emit(...e){return this._eventBus.fire(...e)}_createModdle(e){return new me(e.moddleExtensions)}_getViewProviders(){return[]}};function ensureUnit(e){return e+(pe(e)?`px`:``)}function checkDMNCompatibilityError(e,t){if(e.message!==`failed to parse document as <dmn:Definitions>`)return null;var n=t.indexOf(`"http://www.omg.org/spec/DMN/20151101/dmn.xsd"`)!==-1&&`1.1`||t.indexOf(`"http://www.omg.org/spec/DMN/20180521/MODEL/"`)!==-1&&`1.2`;return n?(e=Error(`unsupported DMN `+n+` file detected; only DMN 1.3 files can be opened`),console.error(`Cannot open what looks like a DMN `+n+` diagram. Please refer to https://bpmn.io/l/dmn-compatibility.html to learn how to make the toolkit compatible with older DMN files`,e),e):null}function checkValidationError(e){var t=/unparsable content <([^>]+)> detected([\s\S]*)$/.exec(e.message);return t?(e.message=`unparsable content <`+t[1]+`> detected; this may indicate an invalid DMN 1.3 diagram file`+t[2],e):null}function viewsEqual(e,t){return le(e)?le(t)?e.element===t.element||e.id===t.id:!1:!le(t)}function viewNameChanged(e,t){return!e||!t||e.name!==t.name}function safeExecute(e,t){w(e[t])&&e[t]()}D();function is$2(e,t){var n=getBusinessObject$1(e);return n&&typeof n.$instanceOf==`function`&&n.$instanceOf(t)}e(is$2,`is`);function isInput(e){return is$2(e,`dmn:InputClause`)}function isOutput(e){return is$2(e,`dmn:OutputClause`)}function getBusinessObject$1(e){return e&&e.businessObject||e}e(getBusinessObject$1,`getBusinessObject`);function getName(e){return getBusinessObject$1(e).name}function isAny$1(e,t){return ne(t,function(t){return is$2(e,t)})}e(isAny$1,`isAny`);function getBoxedExpression(e){var t=getBusinessObject$1(e);if(is$2(t,`dmn:Decision`))return t.get(`decisionLogic`);if(is$2(t,`dmn:BusinessKnowledgeModel`)){var n=t.get(`encapsulatedLogic`);return n&&n.get(`body`)}}var $n=`https://www.omg.org/spec/DMN/20191111/FEEL/`;function isFeel(e){for(let t=e;t;t=t.$parent){let e=t.get(`expressionLanguage`);if(e)return!!(e===$n||/feel/i.test(e));if(is$2(t,`dmn:FunctionDefinition`))return(t.get(`kind`)||`FEEL`)===`FEEL`}return!0}var EditingManager=class extends Manager{_init(e){super._init(e),this.on(`import.parse.complete`,e=>{e.error||this._collectIds(e.definitions,e.elementsById)}),this.on(`destroy`,()=>{this._moddle.ids.clear()}),this.on(`viewer.created`,({viewer:e})=>{e.on(`elements.changed`,({elements:e})=>{e.some(function(e){return isAny$1(e,[`dmn:Decision`,`dmn:Definitions`,`dmn:BusinessKnowledgeModel`])})&&this._updateViews()})})}_collectIds(e,t){var n=e.$model.ids,r;for(r in n.clear(),t)n.claim(r,t[r])}_createModdle(e){var t=super._createModdle(e);return t.ids=new M([32,36,1]),t}};D();var er=new Mn({name:`dmnElementRef`,enumerable:!0},{name:`di`,configurable:!0});function DRDTreeWalker(e,t){var n=[];function visit(t){if(t.gfx)throw Error(`already rendered `+t.id);return e.element(t)}function visitRoot(t){return e.root(t)}function visitIfDi(e){try{return e.di&&visit(e)}catch(t){logError(t.message,{element:e,error:t})}}function handleDefinitions(e,t){var n=e.dmnDI;if(!n)throw Error(`no dmndi:DMNDI`);var r=n.diagrams||[];if(t&&r.indexOf(t)===-1)throw Error(`diagram not part of dmndi:DMNDI`);if(!t&&r&&r.length&&(t=r[0]),!t)throw Error(`no diagram to display`);e.di=t,handleDiagram(t),visitRoot(e),handleDrgElements(e.get(`drgElement`)),handleArtifacts(e.get(`artifact`)),handleDeferred()}function handleDrgElements(e){j(e,function(e){visitIfDi(e),handleRequirements(e)})}function handleArtifacts(e){j(e,function(e){is$2(e,`dmn:Association`)?handleAssociation(e):visitIfDi(e)})}function handleAssociation(e){defer(function(){visitIfDi(e)})}function handleRequirements(e){j([`informationRequirement`,`knowledgeRequirement`,`authorityRequirement`],function(t){j(e[t],function(e){defer(function(){visitIfDi(e)})})})}function handleDiagram(e){j(e.diagramElements,handleDiagramElement)}function handleDiagramElement(e){registerDi(e)}function registerDi(e){var t=e.dmnElementRef;t?t.di?logError(`multiple DI elements defined for element`,{element:t}):(er.bind(t,`di`),t.di=e):logError(`no DMN element referenced in element`,{element:e})}function defer(e){n.push(e)}function handleDeferred(){j(n,function(e){e()})}function logError(t,n){e.error(t,n)}return{handleDefinitions}}function importDRD(e,t,n){var r=e.get(`drdImporter`),i=e.get(`eventBus`),a,o=[];function render(e){new DRDTreeWalker({root:function(e){return r.root(e)},element:function(e,t){return r.add(e,t)},error:function(e,t){o.push({message:e,context:t})}}).handleDefinitions(e)}i.fire(`import.start`,{definitions:t});try{render(t)}catch(e){a=e}i.fire(`import.done`,{error:a,warnings:o}),n(a,o)}var tr=`$NO_OP`,nr=`a runtime error occured! Use Inferno in development environment to find the error.`,rr=Array.isArray;function isStringOrNumber(e){var t=typeof e;return t===`string`||t===`number`}function isNullOrUndef(e){return isUndefined(e)||isNull$2(e)}function isInvalid(e){return isNull$2(e)||e===!1||isTrue(e)||isUndefined(e)}function isFunction(e){return typeof e==`function`}function isString(e){return typeof e==`string`}function isNumber$2(e){return typeof e==`number`}e(isNumber$2,`isNumber`);function isNull$2(e){return e===null}e(isNull$2,`isNull`);function isTrue(e){return e===!0}function isUndefined(e){return e===void 0}function throwError(e){throw e||=nr,Error(`Inferno Error: `+e)}function combineFrom(e,t){var n={};if(e)for(var r in e)n[r]=e[r];if(t)for(var i in t)n[i]=t[i];return n}var ir=`$`;function getVNode(e,t,n,r,i,a,o,s){return{childFlags:e,children:t,className:n,dom:null,flags:r,key:i===void 0?null:i,parentVNode:null,props:a===void 0?null:a,ref:o===void 0?null:o,type:s}}function createVNode(e,t,n,r,i,a,o,s){var c=i===void 0?1:i,l=getVNode(c,r,n,e,o,a,s,t),u=J.createVNode;return typeof u==`function`&&u(l),c===0&&normalizeChildren(l,l.children),l}function createComponentVNode(e,t,n,r,i){(e&2)>0&&(e=t.prototype&&isFunction(t.prototype.render)?4:8);var a=t.defaultProps;if(!isNullOrUndef(a))for(var o in n||={},a)isUndefined(n[o])&&(n[o]=a[o]);if((e&8)>0){var s=t.defaultHooks;if(!isNullOrUndef(s)){if(!i)i=s;else for(var c in s)isUndefined(i[c])&&(i[c]=s[c])}}var l=getVNode(1,null,null,e,r,n,i,t),u=J.createVNode;return isFunction(u)&&u(l),l}function createTextVNode(e,t){return getVNode(1,isNullOrUndef(e)?``:e,null,16,t,null,null,null)}function normalizeProps(e){var t=e.props;if(t){var n=e.flags;n&481&&(t.children!==void 0&&isNullOrUndef(e.children)&&normalizeChildren(e,t.children),t.className!==void 0&&(e.className=t.className||null,t.className=void 0)),t.key!==void 0&&(e.key=t.key,t.key=void 0),t.ref!==void 0&&(e.ref=n&8?combineFrom(e.ref,t.ref):t.ref,t.ref=void 0)}return e}function directClone(e){var t,n=e.flags;if(n&14){var r,i=e.props;if(!isNull$2(i))for(var a in r={},i)r[a]=i[a];t=createComponentVNode(n,e.type,r,e.key,e.ref)}else n&481?t=createVNode(n,e.type,e.className,e.children,e.childFlags,e.props,e.key,e.ref):n&16?t=createTextVNode(e.children,e.key):n&1024&&(t=e);return t}function createVoidVNode(){return createTextVNode(``,null)}function _normalizeVNodes(e,t,n,r){for(var i=e.length;n<i;n++){var a=e[n];if(!isInvalid(a)){var o=r+ir+n;if(rr(a))_normalizeVNodes(a,t,0,o);else{if(isStringOrNumber(a))a=createTextVNode(a,o);else{var s=a.key,c=isString(s)&&s[0]===ir;(!isNull$2(a.dom)||c)&&(a=directClone(a)),isNull$2(s)||c?a.key=o:a.key=r+s}t.push(a)}}}}function normalizeChildren(e,t){var n,r=1;if(isInvalid(t))n=t;else if(isString(t))r=2,n=createTextVNode(t);else if(isNumber$2(t))r=2,n=createTextVNode(t+``);else if(rr(t)){var i=t.length;if(i===0)n=null,r=1;else{(Object.isFrozen(t)||t.$===!0)&&(t=t.slice()),r=8;for(var a=0;a<i;a++){var o=t[a];if(isInvalid(o)||rr(o)){n||=t.slice(0,a),_normalizeVNodes(t,n,a,``);break}if(isStringOrNumber(o))n||=t.slice(0,a),n.push(createTextVNode(o,ir+a));else{var s=o.key,c=isNull$2(o.dom),l=isNull$2(s),u=!l&&isString(s)&&s[0]===ir;!c||l||u?(n||=t.slice(0,a),(!c||u)&&(o=directClone(o)),(l||u)&&(o.key=ir+a),n.push(o)):n&&n.push(o)}}n||=t,n.$=!0}}else n=t,isNull$2(t.dom)||(n=directClone(t)),r=2;return e.children=n,e.childFlags=r,e}var J={afterRender:null,beforeRender:null,createVNode:null,renderComplete:null},ar=`http://www.w3.org/1999/xlink`,or=`http://www.w3.org/XML/1998/namespace`,sr=`http://www.w3.org/2000/svg`,cr={"xlink:actuate":ar,"xlink:arcrole":ar,"xlink:href":ar,"xlink:role":ar,"xlink:show":ar,"xlink:title":ar,"xlink:type":ar,"xml:base":or,"xml:lang":or,"xml:space":or},Y={},X=[];function appendChild(e,t){e.appendChild(t)}function insertOrAppend(e,t,n){isNullOrUndef(n)?appendChild(e,t):e.insertBefore(t,n)}function documentCreateElement(e,t){return t?document.createElementNS(sr,e):document.createElement(e)}function replaceChild(e,t,n){e.replaceChild(t,n)}function removeChild(e,t){e.removeChild(t)}function callAll(e){for(var t;(t=e.shift())!==void 0;)t()}var lr={},ur={};function handleEvent(e,t,n){var r=lr[e],i=n.$EV;t?(r||(ur[e]=attachEventToDocument(e),lr[e]=0),i||=n.$EV={},i[e]||lr[e]++,i[e]=t):i&&i[e]&&(lr[e]--,r===1&&(document.removeEventListener(normalizeEventName(e),ur[e]),ur[e]=null),i[e]=t)}function getTargetNode(e){return isFunction(e.composedPath)?e.composedPath()[0]:e.target}function dispatchEvents(e,t,n,r){for(var i=getTargetNode(e);!isNull$2(i);){if(t&&i.disabled)return;var a=i.$EV;if(a){var o=a[n];if(o&&(r.dom=i,o.event?o.event(o.data,e):o(e),e.cancelBubble))return}i=i.parentNode}}function normalizeEventName(e){return e.substr(2).toLowerCase()}function stopPropagation$1(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}e(stopPropagation$1,`stopPropagation`);function attachEventToDocument(e){var t=function docEvent(t){var n=t.type,r=n===`click`||n===`dblclick`;if(r&&t.button!==0)return t.stopPropagation(),!1;t.stopPropagation=stopPropagation$1;var i={dom:document};Object.defineProperty(t,"currentTarget",{configurable:!0,get:function get(){return i.dom}}),dispatchEvents(t,r,e,i)};return document.addEventListener(normalizeEventName(e),t),t}function isSameInnerHTML(e,t){var n=document.createElement(`i`);return n.innerHTML=t,n.innerHTML===e.innerHTML}function isSamePropsInnerHTML(e,t){return!!(t&&t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html&&isSameInnerHTML(e,t.dangerouslySetInnerHTML.__html))}function triggerEventListener(e,t,n){if(e[t]){var r=e[t];r.event?r.event(r.data,n):r(n)}else{var i=t.toLowerCase();e[i]&&e[i](n)}}function createWrappedFunction(e,t){var n=function fnMethod(n){n.stopPropagation();var r=this.$V;if(r){var i=r.props||Y,a=r.dom;if(isString(e))triggerEventListener(i,e,n);else for(var o=0;o<e.length;o++)triggerEventListener(i,e[o],n);if(isFunction(t)){var s=this.$V;t(s.props||Y,a,!1,s)}}};return Object.defineProperty(n,"wrapped",{configurable:!1,enumerable:!1,value:!0,writable:!1}),n}function isCheckedType(e){return e===`checkbox`||e===`radio`}var dr=createWrappedFunction(`onInput`,applyValueInput),fr=createWrappedFunction([`onClick`,`onChange`],applyValueInput);function emptywrapper(e){e.stopPropagation()}emptywrapper.wrapped=!0;function inputEvents(e,t){isCheckedType(t.type)?(e.onchange=fr,e.onclick=emptywrapper):e.oninput=dr}function applyValueInput(e,t){var n=e.type,r=e.value,i=e.checked,a=e.multiple,o=e.defaultValue,s=!isNullOrUndef(r);n&&n!==t.type&&t.setAttribute(`type`,n),!isNullOrUndef(a)&&a!==t.multiple&&(t.multiple=a),!isNullOrUndef(o)&&!s&&(t.defaultValue=o+``),isCheckedType(n)?(s&&(t.value=r),isNullOrUndef(i)||(t.checked=i)):s&&t.value!==r?(t.defaultValue=r,t.value=r):isNullOrUndef(i)||(t.checked=i)}function updateChildOptionGroup(e,t){if(e.type===`optgroup`){var n=e.children,r=e.childFlags;if(r&12)for(var i=0,a=n.length;i<a;i++)updateChildOption(n[i],t);else r===2&&updateChildOption(n,t)}else updateChildOption(e,t)}function updateChildOption(e,t){var n=e.props||Y,r=e.dom;r.value=n.value,rr(t)&&t.indexOf(n.value)!==-1||n.value===t?r.selected=!0:(!isNullOrUndef(t)||!isNullOrUndef(n.selected))&&(r.selected=n.selected||!1)}var pr=createWrappedFunction(`onChange`,applyValueSelect);function selectEvents(e){e.onchange=pr}function applyValueSelect(e,t,n,r){var i=!!e.multiple;!isNullOrUndef(e.multiple)&&i!==t.multiple&&(t.multiple=i);var a=r.childFlags;if(!(a&1)){var o=r.children,s=e.value;if(n&&isNullOrUndef(s)&&(s=e.defaultValue),a&12)for(var c=0,l=o.length;c<l;c++)updateChildOptionGroup(o[c],s);else a===2&&updateChildOptionGroup(o,s)}}var mr=createWrappedFunction(`onInput`,applyValueTextArea),hr=createWrappedFunction(`onChange`);function textAreaEvents(e,t){e.oninput=mr,t.onChange&&(e.onchange=hr)}function applyValueTextArea(e,t,n){var r=e.value,i=t.value;if(isNullOrUndef(r)){if(n){var a=e.defaultValue;!isNullOrUndef(a)&&a!==i&&(t.defaultValue=a,t.value=a)}}else i!==r&&(t.defaultValue=r,t.value=r)}function processElement(e,t,n,r,i,a){e&64?applyValueInput(r,n):e&256?applyValueSelect(r,n,i,t):e&128&&applyValueTextArea(r,n,i),a&&(n.$V=t)}function addFormElementEventHandlers(e,t,n){e&64?inputEvents(t,n):e&256?selectEvents(t):e&128&&textAreaEvents(t,n)}function isControlledFormElement(e){return e.type&&isCheckedType(e.type)?!isNullOrUndef(e.checked):!isNullOrUndef(e.value)}function remove(e,t){unmount(e),t&&e.dom&&(removeChild(t,e.dom),e.dom=null)}function unmount(e){var t=e.flags;if(t&481){var n=e.ref,r=e.props;isFunction(n)&&n(null);var i=e.children,a=e.childFlags;if(a&12?unmountAllChildren(i):a===2&&unmount(i),!isNull$2(r))for(var o in r)switch(o){case`onClick`:case`onDblClick`:case`onFocusIn`:case`onFocusOut`:case`onKeyDown`:case`onKeyPress`:case`onKeyUp`:case`onMouseDown`:case`onMouseMove`:case`onMouseUp`:case`onSubmit`:case`onTouchEnd`:case`onTouchMove`:case`onTouchStart`:handleEvent(o,null,e.dom)}}else{var s=e.children;if(s){if(t&14){var c=e.ref;t&4?(isFunction(s.componentWillUnmount)&&s.componentWillUnmount(),isFunction(c)&&c(null),s.$UN=!0,s.$LI&&unmount(s.$LI)):(!isNullOrUndef(c)&&isFunction(c.onComponentWillUnmount)&&c.onComponentWillUnmount(e.dom,e.props||Y),unmount(s))}else t&1024&&remove(s,e.type)}}}function unmountAllChildren(e){for(var t=0,n=e.length;t<n;t++)unmount(e[t])}function removeAllChildren(e,t){unmountAllChildren(t),e.textContent=``}function createLinkEvent(e,t){return function(n){e(t.data,n)}}function patchEvent(e,t,n){var r=e.toLowerCase();if(!isFunction(t)&&!isNullOrUndef(t)){var i=t.event;i&&isFunction(i)&&(n[r]=createLinkEvent(i,t))}else{var a=n[r];(!a||!a.wrapped)&&(n[r]=t)}}function getNumberStyleValue(e,t){switch(e){case`animationIterationCount`:case`borderImageOutset`:case`borderImageSlice`:case`borderImageWidth`:case`boxFlex`:case`boxFlexGroup`:case`boxOrdinalGroup`:case`columnCount`:case`fillOpacity`:case`flex`:case`flexGrow`:case`flexNegative`:case`flexOrder`:case`flexPositive`:case`flexShrink`:case`floodOpacity`:case`fontWeight`:case`gridColumn`:case`gridRow`:case`lineClamp`:case`lineHeight`:case`opacity`:case`order`:case`orphans`:case`stopOpacity`:case`strokeDasharray`:case`strokeDashoffset`:case`strokeMiterlimit`:case`strokeOpacity`:case`strokeWidth`:case`tabSize`:case`widows`:case`zIndex`:case`zoom`:return t;default:return t+`px`}}function patchStyle(e,t,n){var r=n.style,i,a;if(isString(t))r.cssText=t;else if(!isNullOrUndef(e)&&!isString(e)){for(i in t)a=t[i],a!==e[i]&&(r[i]=isNumber$2(a)?getNumberStyleValue(i,a):a);for(i in e)isNullOrUndef(t[i])&&(r[i]=``)}else for(i in t)a=t[i],r[i]=isNumber$2(a)?getNumberStyleValue(i,a):a}function patchProp(e,t,n,r,i,a,o){switch(e){case`onClick`:case`onDblClick`:case`onFocusIn`:case`onFocusOut`:case`onKeyDown`:case`onKeyPress`:case`onKeyUp`:case`onMouseDown`:case`onMouseMove`:case`onMouseUp`:case`onSubmit`:case`onTouchEnd`:case`onTouchMove`:case`onTouchStart`:handleEvent(e,n,r);break;case`children`:case`childrenType`:case`className`:case`defaultValue`:case`key`:case`multiple`:case`ref`:break;case`autoFocus`:r.autofocus=!!n;break;case`allowfullscreen`:case`autoplay`:case`capture`:case`checked`:case`controls`:case`default`:case`disabled`:case`hidden`:case`indeterminate`:case`loop`:case`muted`:case`novalidate`:case`open`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`selected`:r[e]=!!n;break;case`defaultChecked`:case`value`:case`volume`:if(a&&e===`value`)return;var s=isNullOrUndef(n)?``:n;r[e]!==s&&(r[e]=s);break;case`dangerouslySetInnerHTML`:var c=t&&t.__html||``,l=n&&n.__html||``;c!==l&&!isNullOrUndef(l)&&!isSameInnerHTML(r,l)&&(isNull$2(o)||(o.childFlags&12?unmountAllChildren(o.children):o.childFlags===2&&unmount(o.children),o.children=null,o.childFlags=1),r.innerHTML=l);break;default:e[0]===`o`&&e[1]===`n`?patchEvent(e,n,r):isNullOrUndef(n)?r.removeAttribute(e):e===`style`?patchStyle(t,n,r):i&&cr[e]?r.setAttributeNS(cr[e],e,n):r.setAttribute(e,n)}}function mountProps(e,t,n,r,i){var a=!1,o=(t&448)>0;for(var s in o&&(a=isControlledFormElement(n),a&&addFormElementEventHandlers(t,r,n)),n)patchProp(s,null,n[s],r,i,a,null);o&&processElement(t,e,r,n,!0,a)}function createClassComponentInstance(e,t,n,r){var i=new t(n,r);if(e.children=i,i.$V=e,i.$BS=!1,i.context=r,i.props===Y&&(i.props=n),i.$UN=!1,isFunction(i.componentWillMount)){if(i.$BR=!0,i.componentWillMount(),i.$PSS){var a=i.state,o=i.$PS;if(isNull$2(a))i.state=o;else for(var s in o)a[s]=o[s];i.$PSS=!1,i.$PS=null}i.$BR=!1}isFunction(J.beforeRender)&&J.beforeRender(i);var c=handleComponentInput(i.render(n,i.state,r),e),l;return isFunction(i.getChildContext)&&(l=i.getChildContext()),i.$CX=isNullOrUndef(l)?r:combineFrom(r,l),isFunction(J.afterRender)&&J.afterRender(i),i.$LI=c,i}function handleComponentInput(e,t){return isInvalid(e)?e=createVoidVNode():isStringOrNumber(e)?e=createTextVNode(e,null):(e.dom&&(e=directClone(e)),e.flags&14&&(e.parentVNode=t)),e}function mount(e,t,n,r){var i=e.flags;if(i&481)return mountElement(e,t,n,r);if(i&14)return mountComponent(e,t,n,r,(i&4)>0);if(i&512||i&16)return mountText(e,t);if(i&1024)return mount(e.children,e.type,n,!1),e.dom=mountText(createVoidVNode(),t)}function mountText(e,t){var n=e.dom=document.createTextNode(e.children);return isNull$2(t)||appendChild(t,n),n}function mountElement(e,t,n,r){var i=e.flags,a=e.children,o=e.props,s=e.className,c=e.ref,l=e.childFlags;r||=(i&32)>0;var u=documentCreateElement(e.type,r);if(e.dom=u,!isNullOrUndef(s)&&s!==``&&(r?u.setAttribute(`class`,s):u.className=s),isNull$2(t)||appendChild(t,u),!(l&1)){var d=r===!0&&e.type!==`foreignObject`;l===2?mount(a,u,n,d):l&12&&mountArrayChildren(a,u,n,d)}return isNull$2(o)||mountProps(e,i,o,u,r),isFunction(c)&&mountRef(u,c),u}function mountArrayChildren(e,t,n,r){for(var i=0,a=e.length;i<a;i++){var o=e[i];isNull$2(o.dom)||(e[i]=o=directClone(o)),mount(o,t,n,r)}}function mountComponent(e,t,n,r,i){var a,o=e.type,s=e.props||Y,c=e.ref;if(i){var l=createClassComponentInstance(e,o,s,n);e.dom=a=mount(l.$LI,null,l.$CX,r),mountClassComponentCallbacks(e,c,l),l.$UPD=!1}else{var u=handleComponentInput(o(s,n),e);e.children=u,e.dom=a=mount(u,null,n,r),mountFunctionalComponentCallbacks(s,c,a)}return isNull$2(t)||appendChild(t,a),a}function createClassMountCallback(e){return function(){e.$UPD=!0,e.componentDidMount(),e.$UPD=!1}}function mountClassComponentCallbacks(e,t,n){isFunction(t)&&t(n),isFunction(n.componentDidMount)&&X.push(createClassMountCallback(n))}function createOnMountCallback(e,t,n){return function(){return e.onComponentDidMount(t,n)}}function mountFunctionalComponentCallbacks(e,t,n){isNullOrUndef(t)||(isFunction(t.onComponentWillMount)&&t.onComponentWillMount(e),isFunction(t.onComponentDidMount)&&X.push(createOnMountCallback(t,n,e)))}function mountRef(e,t){X.push(function(){return t(e)})}function hydrateComponent(e,t,n,r,i){var a=e.type,o=e.ref,s=e.props||Y;if(i){var c=createClassComponentInstance(e,a,s,n),l=c.$LI;hydrateVNode(l,t,c.$CX,r),e.dom=l.dom,mountClassComponentCallbacks(e,o,c),c.$UPD=!1}else{var u=handleComponentInput(a(s,n),e);hydrateVNode(u,t,n,r),e.children=u,e.dom=u.dom,mountFunctionalComponentCallbacks(s,o,t)}}function hydrateElement(e,t,n,r){var i=e.children,a=e.props,o=e.className,s=e.flags,c=e.ref;if(r||=(s&32)>0,t.nodeType!==1||t.tagName.toLowerCase()!==e.type){var l=mountElement(e,null,n,r);e.dom=l,replaceChild(t.parentNode,l,t)}else{e.dom=t;var u=t.firstChild,d=e.childFlags;if(d&1)!isNull$2(t.firstChild)&&!isSamePropsInnerHTML(t,a)&&(t.textContent=``,s&448&&(t.defaultValue=``));else{for(var f=null;u;)f=u.nextSibling,u.nodeType===8&&(u.data===`!`?t.replaceChild(document.createTextNode(``),u):t.removeChild(u)),u=f;if(u=t.firstChild,d===2)isNull$2(u)?mount(i,t,n,r):(f=u.nextSibling,hydrateVNode(i,u,n,r),u=f);else if(d&12)for(var p=0,m=i.length;p<m;p++){var h=i[p];isNull$2(u)?mount(h,t,n,r):(f=u.nextSibling,hydrateVNode(h,u,n,r),u=f)}for(;u;)f=u.nextSibling,t.removeChild(u),u=f}isNull$2(a)||mountProps(e,s,a,t,r),isNullOrUndef(o)?t.className!==``&&t.removeAttribute(`class`):r?t.setAttribute(`class`,o):t.className=o,isFunction(c)&&mountRef(t,c)}}function hydrateText(e,t){if(t.nodeType!==3){var n=mountText(e,null);e.dom=n,replaceChild(t.parentNode,n,t)}else{var r=e.children;t.nodeValue!==r&&(t.nodeValue=r),e.dom=t}}function hydrateVNode(e,t,n,r){var i=e.flags;i&14?hydrateComponent(e,t,n,r,(i&4)>0):i&481?hydrateElement(e,t,n,r):i&16?hydrateText(e,t):i&512?e.dom=t:throwError()}function hydrate(e,t,n){var r=t.firstChild;if(!isNull$2(r))for(isInvalid(e)||hydrateVNode(e,r,Y,!1),r=t.firstChild;r=r.nextSibling;)t.removeChild(r);X.length>0&&callAll(X),t.$V=e,isFunction(n)&&n()}function replaceWithNewNode(e,t,n,r,i){unmount(e),replaceChild(n,mount(t,null,r,i),e.dom)}function patch(e,t,n,r,i){var a=t.flags|0;e.flags!==a||a&2048?replaceWithNewNode(e,t,n,r,i):a&481?patchElement(e,t,n,r,i,a):a&14?patchComponent(e,t,n,r,i,(a&4)>0):a&16?patchText(e,t):a&512?t.dom=e.dom:patchPortal(e,t,r)}function patchContentEditableChildren(e,t){e.textContent!==t.children&&(e.textContent=t.children)}function patchPortal(e,t,n){var r=e.type,i=t.type,a=t.children;if(patchChildren(e.childFlags,t.childFlags,e.children,a,r,n,!1),t.dom=e.dom,r!==i&&!isInvalid(a)){var o=a.dom;r.removeChild(o),i.appendChild(o)}}function patchElement(e,t,n,r,i,a){var o=t.type;if(e.type!==o)replaceWithNewNode(e,t,n,r,i);else{var s=e.dom,c=e.props,l=t.props,u=!1,d=!1,f;if(t.dom=s,i||=(a&32)>0,c!==l){var p=c||Y;if(f=l||Y,f!==Y)for(var m in u=(a&448)>0,u&&(d=isControlledFormElement(f)),f){var h=p[m],g=f[m];h!==g&&patchProp(m,h,g,s,i,d,e)}if(p!==Y)for(var _ in p)!f.hasOwnProperty(_)&&!isNullOrUndef(p[_])&&patchProp(_,p[_],null,s,i,d,e)}var v=e.children,y=t.children,b=t.ref,ee=e.className,x=t.className;a&4096?patchContentEditableChildren(s,y):patchChildren(e.childFlags,t.childFlags,v,y,s,r,i&&o!==`foreignObject`),u&&processElement(a,t,s,f,!1,d),ee!==x&&(isNullOrUndef(x)?s.removeAttribute(`class`):i?s.setAttribute(`class`,x):s.className=x),isFunction(b)&&e.ref!==b&&mountRef(s,b)}}function patchChildren(e,t,n,r,i,a,o){switch(e){case 2:switch(t){case 2:patch(n,r,i,a,o);break;case 1:remove(n,i);break;default:remove(n,i),mountArrayChildren(r,i,a,o)}break;case 1:switch(t){case 2:mount(r,i,a,o);break;case 1:break;default:mountArrayChildren(r,i,a,o)}break;default:if(t&12){var s=n.length,c=r.length;s===0?c>0&&mountArrayChildren(r,i,a,o):c===0?removeAllChildren(i,n):t===8&&e===8?patchKeyedChildren(n,r,i,a,o,s,c):patchNonKeyedChildren(n,r,i,a,o,s,c)}else t===1?removeAllChildren(i,n):t===2&&(removeAllChildren(i,n),mount(r,i,a,o))}}function updateClassComponent(e,t,n,r,i,a,o,s,c){var l=e.state,u=e.props;n.children=e;var d;if(!e.$UN){if(u!==r||r===Y){if(!c&&isFunction(e.componentWillReceiveProps)){if(e.$BR=!0,e.componentWillReceiveProps(r,a),e.$UN)return;e.$BR=!1}e.$PSS&&(t=combineFrom(t,e.$PS),e.$PSS=!1,e.$PS=null)}var f=!!e.shouldComponentUpdate;if(s||!f||f&&e.shouldComponentUpdate(r,t,a)){isFunction(e.componentWillUpdate)&&(e.$BS=!0,e.componentWillUpdate(r,t,a),e.$BS=!1),e.props=r,e.state=t,e.context=a,isFunction(J.beforeRender)&&J.beforeRender(e),d=e.render(r,t,a),isFunction(J.afterRender)&&J.afterRender(e);var p=d!==tr,m;if(isFunction(e.getChildContext)&&(m=e.getChildContext()),m=isNullOrUndef(m)?a:combineFrom(a,m),e.$CX=m,p){var h=e.$LI,g=handleComponentInput(d,n);patch(h,g,i,m,o),e.$LI=g,isFunction(e.componentDidUpdate)&&e.componentDidUpdate(u,l)}}else e.props=r,e.state=t,e.context=a;n.dom=e.$LI.dom}}function patchComponent(e,t,n,r,i,a){var o=t.type,s=e.key,c=t.key;if(e.type!==o||s!==c)replaceWithNewNode(e,t,n,r,i);else{var l=t.props||Y;if(a){var u=e.children;u.$UPD=!0,u.$V=t,updateClassComponent(u,u.state,t,l,n,r,i,!1,!1),u.$UPD=!1}else{var d=!0,f=e.props,p=t.ref,m=!isNullOrUndef(p),h=e.children;if(t.dom=e.dom,t.children=h,m&&isFunction(p.onComponentShouldUpdate)&&(d=p.onComponentShouldUpdate(f,l)),d!==!1){m&&isFunction(p.onComponentWillUpdate)&&p.onComponentWillUpdate(f,l);var g=o(l,r);g!==`$NO_OP`&&(g=handleComponentInput(g,t),patch(h,g,n,r,i),t.children=g,t.dom=g.dom,m&&isFunction(p.onComponentDidUpdate)&&p.onComponentDidUpdate(f,l))}else h.flags&14&&(h.parentVNode=t)}}}function patchText(e,t){var n=t.children,r=e.dom;n!==e.children&&(r.nodeValue=n),t.dom=r}function patchNonKeyedChildren(e,t,n,r,i,a,o){for(var s=a>o?o:a,c=0,l,u;c<s;c++)l=t[c],u=e[c],l.dom&&(l=t[c]=directClone(l)),patch(u,l,n,r,i),e[c]=l;if(a<o)for(c=s;c<o;c++)l=t[c],l.dom&&(l=t[c]=directClone(l)),mount(l,n,r,i);else if(a>o)for(c=s;c<a;c++)remove(e[c],n)}function patchKeyedChildren(e,t,n,r,i,a,o){var s=a-1,c=o-1,l,u=0,d=e[u],f=t[u],p;outer:{for(;d.key===f.key;){if(f.dom&&(t[u]=f=directClone(f)),patch(d,f,n,r,i),e[u]=f,u++,u>s||u>c)break outer;d=e[u],f=t[u]}for(d=e[s],f=t[c];d.key===f.key;){if(f.dom&&(t[c]=f=directClone(f)),patch(d,f,n,r,i),e[s]=f,s--,c--,u>s||u>c)break outer;d=e[s],f=t[c]}}if(u>s){if(u<=c){p=c+1;for(var m=p<o?t[p].dom:null;u<=c;)f=t[u],f.dom&&(t[u]=f=directClone(f)),u++,insertOrAppend(n,mount(f,null,r,i),m)}}else if(u>c)for(;u<=s;)remove(e[u++],n);else{var h=u,g=u,_=s-u+1,v=c-u+1,y=[];for(l=0;l<v;l++)y.push(0);var b=_===a,ee=!1,x=0,te=0;if(o<4||(_|v)<32)for(l=h;l<=s;l++)if(d=e[l],te<v){for(u=g;u<=c;u++)if(f=t[u],d.key===f.key){if(y[u-g]=l+1,b)for(b=!1;l>h;)remove(e[h++],n);x>u?ee=!0:x=u,f.dom&&(t[u]=f=directClone(f)),patch(d,f,n,r,i),te++;break}!b&&u>c&&remove(d,n)}else b||remove(d,n);else{var S={};for(l=g;l<=c;l++)S[t[l].key]=l;for(l=h;l<=s;l++)if(d=e[l],te<v){if(u=S[d.key],u!==void 0){if(b)for(b=!1;l>h;)remove(e[h++],n);f=t[u],y[u-g]=l+1,x>u?ee=!0:x=u,f.dom&&(t[u]=f=directClone(f)),patch(d,f,n,r,i),te++}else b||remove(d,n)}else b||remove(d,n)}if(b)removeAllChildren(n,e),mountArrayChildren(t,n,r,i);else if(ee){var ne=lis_algorithm(y);for(u=ne.length-1,l=v-1;l>=0;l--)y[l]===0?(x=l+g,f=t[x],f.dom&&(t[x]=f=directClone(f)),p=x+1,insertOrAppend(n,mount(f,null,r,i),p<o?t[p].dom:null)):u<0||l!==ne[u]?(x=l+g,f=t[x],p=x+1,insertOrAppend(n,f.dom,p<o?t[p].dom:null)):u--}else if(te!==v)for(l=v-1;l>=0;l--)y[l]===0&&(x=l+g,f=t[x],f.dom&&(t[x]=f=directClone(f)),p=x+1,insertOrAppend(n,mount(f,null,r,i),p<o?t[p].dom:null))}}function lis_algorithm(e){var t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){var l=e[r];if(l!==0){if(i=n[n.length-1],e[i]<l){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=(a+o)/2|0,e[n[s]]<l?a=s+1:o=s;l<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function render(e,t,n){if(e!==`$NO_OP`){var r=t.$V;if(isNullOrUndef(r)?isInvalid(e)||(e.dom&&(e=directClone(e)),isNull$2(t.firstChild)?(mount(e,t,Y,!1),t.$V=e):hydrate(e,t),r=e):isNullOrUndef(e)?(remove(r,t),t.$V=null):(e.dom&&(e=directClone(e)),patch(r,e,t,Y,!1),r=t.$V=e),X.length>0&&callAll(X),isFunction(n)&&n(),isFunction(J.renderComplete)&&J.renderComplete(r),r&&r.flags&14)return r.children}}function createPortal(e,t){return createVNode(1024,t,null,e,0,null,isInvalid(e)?null:e.key,null)}var gr=typeof Promise>`u`?null:Promise.resolve(),_r=typeof requestAnimationFrame>`u`?setTimeout:requestAnimationFrame.bind(window);function nextTick(e){return gr?gr.then(e):_r(e)}function queueStateChanges(e,t,n,r){isFunction(t)&&(t=t(e.state,e.props,e.context));var i=e.$PS;if(isNullOrUndef(i))e.$PS=t;else for(var a in t)i[a]=t[a];if(!e.$PSS&&!e.$BR){if(!e.$UPD)e.$PSS=!0,e.$UPD=!0,applyState(e,r,n),e.$UPD=!1;else{var o=e.$QU;isNull$2(o)&&(o=e.$QU=[],nextTick(promiseCallback(e,o))),isFunction(n)&&o.push(n)}}else e.$PSS=!0,e.$BR&&isFunction(n)&&X.push(n.bind(e))}function promiseCallback(e,t){return function(){e.$QU=null,e.$UPD=!0,applyState(e,!1,function(){for(var n=0,r=t.length;n<r;n++)t[n].call(e)}),e.$UPD=!1}}function applyState(e,t,n){if(!e.$UN){if(t||!e.$BR){e.$PSS=!1;var r=e.$PS,i=e.state,a=combineFrom(i,r),o=e.props,s=e.context;e.$PS=null;var c=e.$V,l=e.$LI,u=l.dom&&l.dom.parentNode;if(updateClassComponent(e,a,c,o,u,s,(c.flags&32)>0,t,!0),e.$UN)return;if(!(e.$LI.flags&1024))for(var d=e.$LI.dom;!isNull$2(c=c.parentVNode);)(c.flags&14)>0&&(c.dom=d);X.length>0&&callAll(X)}else e.state=e.$PS,e.$PS=null;isFunction(n)&&n.call(e)}}var Z=function(){function Component(e,t){this.state=null,this.props=void 0,this.context=void 0,this.refs=void 0,this.$BR=!1,this.$BS=!0,this.$PSS=!1,this.$PS=null,this.$LI=null,this.$V=null,this.$UN=!1,this.$CX=null,this.$UPD=!0,this.$QU=null,this.props=e||Y,this.context=t||Y}var e=Component.prototype;return e.forceUpdate=function forceUpdate(e){this.$UN||queueStateChanges(this,{},e,!0)},e.setState=function setState(e,t){if(!this.$UN){if(!this.$BS)queueStateChanges(this,e,t,!1);else return}},e.render=function render(e,t,n){},Component}();Z.defaultProps=void 0;var vr=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.02 5.57" width="53" height="21" style="vertical-align:middle"><path fill="#000000" d="M1.88.92v.14c0 .41-.13.68-.4.8.33.14.46.44.46.86v.33c0 .61-.33.95-.95.95H0V0h.95c.65 0 .93.3.93.92zM.63.57v1.06h.24c.24 0 .38-.1.38-.43V.98c0-.28-.1-.4-.32-.4zm0 1.63v1.22h.36c.2 0 .32-.1.32-.39v-.35c0-.37-.12-.48-.4-.48H.63zM4.18.99v.52c0 .64-.31.98-.94.98h-.3V4h-.62V0h.92c.63 0 .94.35.94.99zM2.94.57v1.35h.3c.2 0 .3-.09.3-.37v-.6c0-.29-.1-.38-.3-.38h-.3zm2.89 2.27L6.25 0h.88v4h-.6V1.12L6.1 3.99h-.6l-.46-2.82v2.82h-.55V0h.87zM8.14 1.1V4h-.56V0h.79L9 2.4V0h.56v4h-.64zm2.49 2.29v.6h-.6v-.6zM12.12 1c0-.63.33-1 .95-1 .61 0 .95.37.95 1v2.04c0 .64-.34 1-.95 1-.62 0-.95-.37-.95-1zm.62 2.08c0 .28.13.39.33.39s.32-.1.32-.4V.98c0-.29-.12-.4-.32-.4s-.33.11-.33.4z"/><path fill="#000000" d="M0 4.53h14.02v1.04H0zM11.08 0h.63v.62h-.63zm.63 4V1h-.63v2.98z"/></svg>`;function addProjectLogo(e){var t=`<a href="http://bpmn.io" target="_blank" class="bjs-powered-by" title="Powered by bpmn.io" style="position: absolute; bottom: 15px; right: 15px; z-index: 100;">`+vr+`</a>`,n=W(t);e.appendChild(n),F.bind(n,`click`,function(e){open(),e.preventDefault()})}var PoweredByComponent=class extends Z{constructor(e,t){super(e,t),this.node=null}componentDidMount(){addProjectLogo(this.node)}render(){return createVNode(1,`div`,null,null,1,null,null,e=>this.node=e)}};function css(e){return e.join(`;`)}var yr=css([`z-index: 1001`,`position: fixed`,`top: 0`,`left: 0`,`right: 0`,`bottom: 0`]),br=css([`width: 100%`,`height: 100%`,`background: rgba(40,40,40,0.2)`]),xr=css([`position: absolute`,`left: 50%`,`top: 40%`,`transform: translate(-50%)`,`width: 260px`,`padding: 10px`,`background: white`,`box-shadow: 0 1px 4px rgba(0,0,0,0.3)`,`font-family: Helvetica, Arial, sans-serif`,`font-size: 14px`,`display: flex`,`line-height: 1.3`]),Sr=`<div class="bjs-powered-by-lightbox" style="`+yr+`"><div class="backdrop" style="`+br+`"></div><div class="notice" style="`+xr+`"><a href="https://bpmn.io" target="_blank" rel="noopener" style="margin: 15px 20px 15px 10px; align-self: center;">`+vr+`</a><span>Web-based tooling for BPMN, DMN and CMMN diagrams powered by <a href="https://bpmn.io" target="_blank" rel="noopener">bpmn.io</a>.</span></div></div>`,Cr;function open(){Cr||(Cr=W(Sr),Tn.bind(Cr,`.backdrop`,`click`,function(e){document.body.removeChild(Cr)})),document.body.appendChild(Cr)}D();var wr=new M,Tr=`hsl(225, 10%, 15%)`;function DrdRenderer(e,t,n,r,i,a){wn.call(this,t);var o=wr.next(),s=r.computeStyle,c={},l=e&&e.defaultFillColor||`white`,u=e&&e.defaultStrokeColor||Tr,d=e&&e.defaultLabelColor;function marker(e,t,n){var r=e+`-`+colorEscape(t)+`-`+colorEscape(n)+`-`+o;return c[r]||createMarker(r,e,t,n),`url(#`+r+`)`}function addMarker(e,t){var n=A({strokeWidth:1,strokeLinecap:`round`,strokeDasharray:`none`},t.attrs),r=t.ref||{x:0,y:0},i=t.scale||1;n.strokeDasharray===`none`&&(n.strokeDasharray=[1e4,1]);var o=R(`marker`);I(t.element,n),bn(o,t.element),I(o,{id:e,viewBox:`0 0 20 20`,refX:r.x,refY:r.y,markerWidth:20*i,markerHeight:20*i,orient:`auto`});var s=G(`defs`,a._svg);s||(s=R(`defs`),bn(a._svg,s)),bn(s,o),c[e]=o}function createMarker(e,t,n,r){if(t===`association-start`){var i=R(`path`);I(i,{d:`M 11 5 L 1 10 L 11 15`}),addMarker(e,{element:i,attrs:{fill:`none`,stroke:r,strokeWidth:1.5},ref:{x:1,y:10},scale:.5})}else if(t===`association-end`){var a=R(`path`);I(a,{d:`M 1 5 L 11 10 L 1 15`}),addMarker(e,{element:a,attrs:{fill:`none`,stroke:r,strokeWidth:1.5},ref:{x:12,y:10},scale:.5})}else if(t===`information-requirement-end`){var o=R(`path`);I(o,{d:`M 1 5 L 11 10 L 1 15 Z`}),addMarker(e,{element:o,attrs:{fill:r,stroke:`none`},ref:{x:11,y:10},scale:1})}else if(t===`knowledge-requirement-end`){var s=R(`path`);I(s,{d:`M 1 3 L 11 10 L 1 17`}),addMarker(e,{element:s,attrs:{fill:`none`,stroke:r,strokeWidth:2},ref:{x:11,y:10},scale:.8})}else if(t===`authority-requirement-end`){var c=R(`circle`);I(c,{cx:3,cy:3,r:3}),addMarker(e,{element:c,attrs:{fill:r,stroke:`none`},ref:{x:3,y:3},scale:.9})}}function drawRect(e,t,n,r,i,a){oe(i)&&(a=i,i=0),i||=0,a=s(a,{stroke:Tr,strokeWidth:2,fill:`white`});var o=R(`rect`);return I(o,{x:i,y:i,width:t-i*2,height:n-i*2,rx:r,ry:r}),I(o,a),bn(e,o),o}function renderLabel(e,t,n){var r=i.createText(t||``,n);return xn(r,`class`,`djs-label`),bn(e,r),r}function renderEmbeddedLabel(e,t,n,r){var i=getName(t);return r=A({box:t,align:n,padding:5,style:{fill:getLabelColor(t,d,u)}},r),renderLabel(e,i,r)}function drawPath(e,t,n){n=s(n,[`no-fill`],{strokeWidth:2,stroke:Tr});var r=R(`path`);return I(r,{d:t}),I(r,n),bn(e,r),r}var f={"dmn:Decision":function(e,t){var n=drawRect(e,t.width,t.height,0,{stroke:getStrokeColor(t,u),fill:getFillColor(t,l)});return renderEmbeddedLabel(e,t,`center-middle`),n},"dmn:KnowledgeSource":function(e,t){var r=drawPath(e,n.getScaledPath(`KNOWLEDGE_SOURCE`,{xScaleFactor:1.021,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:0,my:.075}}),{strokeWidth:2,fill:getFillColor(t,l),stroke:getStrokeColor(t,u)});return renderEmbeddedLabel(e,t,`center-middle`),r},"dmn:BusinessKnowledgeModel":function(e,t){var r=drawPath(e,n.getScaledPath(`BUSINESS_KNOWLEDGE_MODEL`,{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:0,my:.3}}),{strokeWidth:2,fill:getFillColor(t,l),stroke:getStrokeColor(t,u)});return renderEmbeddedLabel(e,t,`center-middle`),r},"dmn:InputData":function(e,t){var n=drawRect(e,t.width,t.height,22,{stroke:getStrokeColor(t,u),fill:getFillColor(t,l)});return renderEmbeddedLabel(e,t,`center-middle`),n},"dmn:TextAnnotation":function(e,t){var r=drawRect(e,t.width,t.height,0,0,{fill:`none`,stroke:`none`});return drawPath(e,n.getScaledPath(`TEXT_ANNOTATION`,{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:0,my:0}}),{stroke:getStrokeColor(t,u)}),renderLabel(e,getSemantic(t).text||``,{style:{fill:getLabelColor(t,d,u)},box:t,align:`left-top`,padding:5}),r},"dmn:Association":function(e,t){var n=getSemantic(t),r=getFillColor(t,l),i=getStrokeColor(t,u),a={stroke:i,strokeDasharray:`0.5, 5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`};return(n.associationDirection===`One`||n.associationDirection===`Both`)&&(a.markerEnd=marker(`association-end`,r,i)),n.associationDirection===`Both`&&(a.markerStart=marker(`association-start`,r,i)),drawLine(e,t.waypoints,a)},"dmn:InformationRequirement":function(e,t){var n=getFillColor(t,l),r=getStrokeColor(t,u),i={stroke:r,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,markerEnd:marker(`information-requirement-end`,n,r)};return drawLine(e,t.waypoints,i)},"dmn:KnowledgeRequirement":function(e,t){var n=getFillColor(t,l),r=getStrokeColor(t,u),i={stroke:r,strokeWidth:1,strokeDasharray:5,strokeLinecap:`round`,strokeLinejoin:`round`,markerEnd:marker(`knowledge-requirement-end`,n,r)};return drawLine(e,t.waypoints,i)},"dmn:AuthorityRequirement":function(e,t){var n=getFillColor(t,l),r=getStrokeColor(t,u),i={stroke:r,strokeWidth:1.5,strokeDasharray:5,strokeLinecap:`round`,strokeLinejoin:`round`,markerEnd:marker(`authority-requirement-end`,n,r)};return drawLine(e,t.waypoints,i)}};function drawShape(e,t){var n=f[t.type];return n?n(e,t):wn.prototype.drawShape.apply(this,[e,t])}function drawConnection(e,t){var n=f[t.type];return n?n(e,t):wn.prototype.drawConnection.apply(this,[e,t])}function drawLine(e,t,n){n=s(n,[`no-fill`],{stroke:Tr,strokeWidth:2,fill:`none`});var r=Cn(t,n);return bn(e,r),r}this.canRender=function(e){return is$2(e,`dmn:DMNElement`)||is$2(e,`dmn:InformationRequirement`)||is$2(e,`dmn:KnowledgeRequirement`)||is$2(e,`dmn:AuthorityRequirement`)},this.drawShape=drawShape,this.drawConnection=drawConnection}V(DrdRenderer,wn),DrdRenderer.$inject=[`config.drdRenderer`,`eventBus`,`pathMap`,`styles`,`textRenderer`,`canvas`];function getSemantic(e){return e.businessObject}function colorEscape(e){return e.replace(/[^0-9a-zA-z]+/g,`_`)}function getStrokeColor(e,t){return t}function getFillColor(e,t){return t}function getLabelColor(e,t,n){return t||getStrokeColor(e,n)}D();var Er=12,Dr=1.2,Or=30;function TextRenderer(e){var t=A({fontFamily:`Arial, sans-serif`,fontSize:Er,fontWeight:`normal`,lineHeight:Dr},e&&e.defaultStyle||{}),n=parseInt(t.fontSize,10)-1,r=A({},t,{fontSize:n},e&&e.externalStyle||{}),i=new yn({style:t});this.getExternalLabelBounds=function(e,t){var n=i.getDimensions(t,{box:{width:90,height:30,x:e.width/2+e.x,y:e.height/2+e.y},style:r});return{x:Math.round(e.x+e.width/2-n.width/2),y:Math.round(e.y),width:Math.ceil(n.width),height:Math.ceil(n.height)}},this.getTextAnnotationBounds=function(e,n){var r=i.getDimensions(n,{box:e,style:t,align:`left-top`,padding:5});return{x:e.x,y:e.y,width:e.width,height:Math.max(Or,Math.round(r.height))}},this.createText=function(e,t){return i.createText(e,t||{})},this.getDefaultStyle=function(){return t},this.getExternalStyle=function(){return r}}TextRenderer.$inject=[`config.textRenderer`];function PathMap(){this.pathMap={KNOWLEDGE_SOURCE:{d:`m {mx},{my} l 0,{e.y0} c {e.x0},{e.y1} {e.x1},-{e.y2} {e.x2},-{e.y3} c {e.x3},-{e.y4} {e.x4},{e.y5} {e.x5},{e.y6} l 0,-{e.y7}z`,width:100,height:65,widthElements:[29.8,48.4,67.2,12.2,19.8,30.8],heightElements:[55.3,19.7,4.2,6.7,2.3,1.6,6.2,54.6]},BUSINESS_KNOWLEDGE_MODEL:{d:`m {mx},{my} l {e.x0},-{e.y0} l {e.x1},0 l 0,{e.y1} l -{e.x2},{e.y2} l -{e.x3},0z`,width:125,height:45,widthElements:[13.8,109.2,13.8,109.1],heightElements:[13.2,29.8,13.2]},TEXT_ANNOTATION:{d:`m {mx}, {my} m 10,0 l -10,0 l 0,{e.y0} l 10,0`,width:10,height:30,widthElements:[10],heightElements:[30]}},this.getRawPath=function getRawPath(e){return this.pathMap[e].d},this.getScaledPath=function getScaledPath(e,t){var n=this.pathMap[e],r,i;t.abspos?(r=t.abspos.x,i=t.abspos.y):(r=t.containerWidth*t.position.mx,i=t.containerHeight*t.position.my);var a={};if(t.position){for(var o=t.containerHeight/n.height*t.yScaleFactor,s=t.containerWidth/n.width*t.xScaleFactor,c=0;c<n.heightElements.length;c++)a[`y`+c]=n.heightElements[c]*o;for(var l=0;l<n.widthElements.length;l++)a[`x`+l]=n.widthElements[l]*s}return format(n.d,{mx:r,my:i,e:a})}}var kr=/\{([^{}]+)\}/g,Ar=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;function replacer(e,t,n){var r=n;return t.replace(Ar,function(e,t,n,i,a){t||=i,r&&(t in r&&(r=r[t]),typeof r==`function`&&a&&(r=r()))}),r=(r==null||r==n?e:r)+``,r}function format(e,t){return String(e).replace(kr,function(e,n){return replacer(e,n,t)})}var jr={__init__:[`drdRenderer`],drdRenderer:[`type`,DrdRenderer],textRenderer:[`type`,TextRenderer],pathMap:[`type`,PathMap]};D();function DrdImporter(e,t,n,r){this._eventBus=e,this._canvas=t,this._elementRegistry=r,this._elementFactory=n}DrdImporter.$inject=[`eventBus`,`canvas`,`elementFactory`,`elementRegistry`],DrdImporter.prototype.root=function(e){var t=this._elementFactory.createRoot(elementData$1(e));return this._canvas.setRootElement(t),t},DrdImporter.prototype.add=function(e){var t=this._elementFactory,n=this._canvas,r=this._eventBus,i=e.di,a,o,s,c,l,u;if(i.$instanceOf(`dmndi:DMNShape`))u=i.bounds,l=elementData$1(e,{x:Math.round(u.x),y:Math.round(u.y),width:Math.round(u.width),height:Math.round(u.height)}),a=t.createShape(l),n.addShape(a),r.fire(`drdElement.added`,{element:a,di:i});else if(i.$instanceOf(`dmndi:DMNEdge`))o=collectWaypoints(i),s=this._getSource(e),c=this._getTarget(e),s&&c&&(l=elementData$1(e,{hidden:!1,source:s,target:c,waypoints:o}),a=t.createConnection(l),n.addConnection(a),r.fire(`drdElement.added`,{element:a,di:i}));else throw Error(`unknown di for element `+e.id);return a},DrdImporter.prototype._getSource=function(e){var t,n;if(is$2(e,`dmn:Association`)?n=e.sourceRef:is$2(e,`dmn:InformationRequirement`)?n=e.requiredDecision||e.requiredInput:is$2(e,`dmn:KnowledgeRequirement`)?n=e.requiredKnowledge:is$2(e,`dmn:AuthorityRequirement`)&&(n=e.requiredDecision||e.requiredInput||e.requiredAuthority),n&&(t=n.href),t)return this._getShape(getIdFromHref(t))},DrdImporter.prototype._getTarget=function(e){return is$2(e,`dmn:Association`)?e.targetRef&&this._getShape(getIdFromHref(e.targetRef.href)):this._getShape(e.$parent.id)},DrdImporter.prototype._getShape=function(e){return this._elementRegistry.get(e)};function elementData$1(e,t){return A({id:e.id,type:e.$type,businessObject:e},t)}e(elementData$1,`elementData`);function collectWaypoints(e){var t=e.waypoint;if(t)return de(t,function(e){var t={x:e.x,y:e.y};return A({original:t},t)})}function getIdFromHref(e){return e.split(`#`).pop()}var Mr={__depends__:[jr,{drdImporter:[`type`,DrdImporter]}]};function DefinitionPropertiesView(e,t,n){this._eventBus=e,this._canvas=t,this._translate=n,e.on(`diagram.init`,function(){this._init()},this),e.on(`import.done`,function(e){e.error||this.update()},this),this.HTML_MARKUP=`<div class="dmn-definitions"><div class="dmn-definitions-name" title="`+this._translate(`Definition name`)+`" spellcheck="false"></div><div class="dmn-definitions-id" title="`+this._translate(`Definition ID`)+`" spellcheck="false"></div></div>`}DefinitionPropertiesView.$inject=[`eventBus`,`canvas`,`translate`],DefinitionPropertiesView.prototype._init=function(){var e=this._canvas,t=this._eventBus,n=e.getContainer(),r=this._container=W(this.HTML_MARKUP);n.appendChild(r),this.nameElement=G(`.dmn-definitions-name`,this._container),this.idElement=G(`.dmn-definitions-id`,this._container),Tn.bind(r,`.dmn-definitions-name, .dmn-definitions-id`,`mousedown`,function(e){e.stopPropagation()}),t.fire(`definitionIdView.create`,{html:r})},DefinitionPropertiesView.prototype.update=function(){var e=this._canvas.getRootElement().businessObject;this.nameElement.textContent=e.name,this.idElement.textContent=e.id};function PaletteAdapter(e,t){function toggleMarker(e,n){var r=t.getContainer();z(r).toggle(e,n)}e.on(`palette.create`,function(){toggleMarker(`with-palette`,!0)}),e.on(`palette.changed`,function(e){toggleMarker(`with-palette-two-column`,e.twoColumn)})}PaletteAdapter.$inject=[`eventBus`,`canvas`];var Nr={__depends__:[L],__init__:[`definitionPropertiesView`,`definitionPropertiesPaletteAdapter`],definitionPropertiesView:[`type`,DefinitionPropertiesView],definitionPropertiesPaletteAdapter:[`type`,PaletteAdapter]},Pr=[{className:`dmn-icon-decision-table`,matches:function(e){var t=getBusinessObject$1(e);return is$2(t,`dmn:Decision`)&&is$2(t.decisionLogic,`dmn:DecisionTable`)},title:`Open decision table`},{className:`dmn-icon-literal-expression`,matches:function(e){return is$2(getBoxedExpression(e),`dmn:LiteralExpression`)},title:`Open literal expression`}],DrillDown=class{constructor(e,t,n,r,i){this._injector=e,this._eventBus=t,this._overlays=n,this._translate=i,this._config=r||{enabled:!0},t.on([`shape.added`],({element:e})=>{for(let t=0;t<Pr.length;t++){let{matches:n,className:r,title:i}=Pr[t];n&&n(e)&&this.addOverlay(e,r,i)}})}addOverlay(e,t,n){let r=this._config.enabled!==!1,i=this._getOverlayNode(t,n,r),a=this._overlays.add(e,{position:{top:2,left:2},html:i});r&&(z(i).add(`interactive`),this.bindEventListener(e,i,a))}_getOverlayNode(e,t,n){let r=document.createElement(`div`);if(r.className=`drill-down-overlay`,!n){let t=document.createElement(`span`);return t.className=e,r.appendChild(t),r}let i=document.createElement(`button`);return i.type=`button`,i.className=e,i.title=this._translate(t),r.appendChild(i),r}bindEventListener(e,t,n){let r=this._overlays,i=this._eventBus,a=r._overlayRoot;Tn.bind(a,`[data-overlay-id="`+n+`"]`,`click`,()=>{i.fire(`drillDown.click`,{element:e})!==!1&&this.drillDown(e)})}drillDown(e){let t=this._injector.get(`_parent`,!1);if(!t)return!1;let n=t.getView(e.businessObject);return n?(t.open(n),!0):!1}};DrillDown.$inject=[`injector`,`eventBus`,`overlays`,`config.drillDown`,`translate`];var Fr={__depends__:[An,L],__init__:[`drillDown`],drillDown:[`type`,DrillDown]},Ir=5,Lr=`djs-outline-hidden`;function Viewer$4(e){this._container=this._createContainer(),addProjectLogo(this._container),this._init(this._container,e)}e(Viewer$4,`Viewer`),V(Viewer$4,On),Viewer$4.prototype.saveSVG=wrapForCompatibility(function(e){var t=this;return new Promise(function(e){var n=t.get(`canvas`),r=n.getActiveLayer(),i=G(`defs`,n._svg),a=Dn(r),o=i&&i.outerHTML||``,s=n.getContainer();z(s).add(Lr);var c;try{c=r.getBBox()}finally{z(s).remove(Lr)}var l=c.x-Ir,u=c.y-Ir,d=c.width+10,f=c.height+10;e({svg:`<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- created with dmn-js / http://bpmn.io -->
|
|
3
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="`+d+`" height="`+f+`" viewBox="`+l+` `+u+` `+d+` `+f+`" version="1.1">`+o+a+`</svg>`})})}),Viewer$4.prototype.getModules=function(){return this._modules},Viewer$4.prototype.destroy=function(){On.prototype.destroy.call(this),Nn(this._container)},Viewer$4.prototype.on=function(e,t,n,r){return this.get(`eventBus`).on(e,t,n,r)},Viewer$4.prototype.off=function(e,t){this.get(`eventBus`).off(e,t)},Viewer$4.prototype._init=function(e,t){var{additionalModules:n,canvas:r,...i}=t,a=t.modules||this.getModules(),o=[{drd:[`value`,this]},...a,...n||[]],s={...i,canvas:{...r,container:e},modules:o};On.call(this,s),t&&t.container&&this.attachTo(t.container)},Viewer$4.prototype._emit=function(e,t){return this.get(`eventBus`).fire(e,t)},Viewer$4.prototype._createContainer=function(){return W(`<div class="dmn-drd-container bio-theme-parent"></div>`)},Viewer$4.prototype.open=function(e){var t=this;return new Promise((n,r)=>{var i;try{return t._definitions&&t.clear(),t._definitions=e,importDRD(t,e,function(e,t){e?(e.warnings=t||[],r(e)):n({warnings:t||[]})})}catch(e){i=e}i?(i.warnings=i.warnings||[],r(i)):n({warnings:[]})})},Viewer$4.prototype.attachTo=function(e){if(!e)throw Error(`parentNode required`);this.detach();var t=this._container;e.appendChild(t),this._emit(`attach`,{}),this.get(`canvas`).resized()},Viewer$4.prototype.detach=function(){var e=this._container,t=e.parentNode;t&&(this._emit(`detach`,{}),t.removeChild(e))},Viewer$4.prototype._modules=[Mr,L,Fn,An,Nr,Fr];function getLabelAttr$1(e){if(is$2(e,`dmn:Decision`)||is$2(e,`dmn:BusinessKnowledgeModel`)||is$2(e,`dmn:InputData`)||is$2(e,`dmn:KnowledgeSource`))return`name`;if(is$2(e,`dmn:TextAnnotation`))return`text`}e(getLabelAttr$1,`getLabelAttr`);function getLabel$1(e){var t=e.businessObject,n=getLabelAttr$1(t);if(n)return t[n]||``}e(getLabel$1,`getLabel`);function setLabel(e,t,n){var r=e.businessObject,i=getLabelAttr$1(r);return i&&(r[i]=t),n&&(e.hidden=!t),e}D();function DmnSearchProvider(e,t,n){this._elementRegistry=e,this._canvas=n,t.registerProvider(this)}DmnSearchProvider.$inject=[`elementRegistry`,`searchPad`,`canvas`],DmnSearchProvider.prototype.find=function(e){let t=this._canvas.getRootElement(),n=this._elementRegistry.filter(function(e){return!e.labelTarget});return n=O(n,function(e){return e!==t}),n=de(n,function(t){return{primaryTokens:matchAndSplit(getLabel$1(t),e),secondaryTokens:matchAndSplit(t.id,e),element:t}}),n=O(n,function(e){return hasMatched(e.primaryTokens)||hasMatched(e.secondaryTokens)}),n=C(n,function(e){return getLabel$1(e.element)+e.element.id}),n};function hasMatched(e){return O(e,function(e){return!!e.matched}).length>0}function matchAndSplit(e,t){let n=[],r=e;if(!e)return n;e=e.toLowerCase(),t=t.toLowerCase();let i=e.indexOf(t);return i>-1?(i!==0&&n.push({normal:r.substr(0,i)}),n.push({matched:r.substr(i,t.length)}),t.length+i<e.length&&n.push({normal:r.substr(t.length+i,e.length)})):n.push({normal:r}),n}var Rr={__depends__:[Bt],__init__:[`dmnSearch`],dmnSearch:[`type`,DmnSearchProvider]};function NavigatedViewer(e){Viewer$4.call(this,e)}V(NavigatedViewer,Viewer$4),NavigatedViewer.prototype._navigationModules=[et,pn,Rr],NavigatedViewer.prototype._modules=[].concat(NavigatedViewer.prototype._modules,NavigatedViewer.prototype._navigationModules),D();var zr={width:135,height:46},Br={width:180,height:80},Vr={width:125,height:45},Hr={width:100,height:63};function ElementFactory$2(e){Pn.call(this),this._drdFactory=e}e(ElementFactory$2,`ElementFactory`),V(ElementFactory$2,Pn),ElementFactory$2.$inject=[`drdFactory`],ElementFactory$2.prototype.baseCreate=Pn.prototype.create,ElementFactory$2.prototype.create=function(e,t){return this.createDrdElement(e,t)},ElementFactory$2.prototype.createDrdElement=function(e,t){var n=this._drdFactory,r;t||={};var i=t.businessObject;if(!i){if(!t.type)throw Error(`no shape type specified`);i=n.create(t.type)}return i.di||(e===`connection`?i.di=n.createDiEdge(i,[]):e===`shape`&&(i.di=n.createDiShape(i,{}))),r=this._getDefaultSize(i),t=A({businessObject:i,id:i.id},r,t),this.baseCreate(e,t)},ElementFactory$2.prototype._getDefaultSize=function(e){return is$2(e,`dmn:BusinessKnowledgeModel`)?zr:is$2(e,`dmn:Decision`)?Br:is$2(e,`dmn:InputData`)?Vr:is$2(e,`dmn:KnowledgeSource`)?Hr:{width:100,height:80}};var Ur=`left`,Wr=`right`,Gr=60,Kr=Br.width;function getNewShapePosition(e,t){if(is$2(t,`dmn:TextAnnotation`))return getTextAnnotationPosition(e,t);if(is$2(t,`dmn:DRGElement`))return getDRGElementPosition(e,t)}function getTextAnnotationPosition(e,t){var n=U(e),r={x:n.right+t.width/2,y:n.top-50-t.height/2};return Qt(e,t,r,Ht({y:{margin:-30,minDistance:20}}))}function getDRGElementPosition(e,t){var n=U(e),r=H(e);function getWeight(t){return t.target===e?1:-1}var i=zt(e,{defaultDistance:180,direction:`s`,getWeight,filter,reference:`center`}),a={x:r.x,y:n.bottom+i};return Qt(e,t,a,generateGetNextDRGElementPosition(e))}function filter(e){return!is$2(e,`dmn:Association`)}function getHorizontalDistance(e,t){return Math.abs(t.x-e.x)}function generateGetNextDRGElementPosition(e){var t=H(e),n,r;return function(e,i,a){var o;return n?(i.x<t.x?n=a:r=a,o=getHorizontalDistance(t,H(n))<getHorizontalDistance(t,H(r))?Ur:Wr):(n=a,r=a,o=H(a).x-t.x>0?Ur:Wr),o===Ur?{x:Math.min(H(n).x-Kr-Gr,U(n).left-Gr-e.width/2),y:i.y}:{x:Math.max(H(r).x+Kr+Gr,U(r).right+Gr+e.width/2),y:i.y}}}function AutoPlace(e){e.on(`autoPlace`,function(e){var t=e.shape,n=e.source;return getNewShapePosition(n,t)})}AutoPlace.$inject=[`eventBus`];var qr={__depends__:[nn],__init__:[`dmnAutoPlace`],dmnAutoPlace:[`type`,AutoPlace]};function DrdReplace(e,t,n,r){function replaceElement(n,r,i){i||={};var a=r.type,o=n.businessObject,s=e.create(a),c={type:a,businessObject:s};c.width=n.width,c.height=n.height,s.name=o.name;var l=o.variable;if(l&&(s.variable=l,l.$parent=s),r.table){var u=e.create(`dmn:DecisionTable`);u.$parent=s;var d=e.create(`dmn:OutputClause`);d.typeRef=`string`,d.$parent=u,u.output=[d];var f=e.create(`dmn:InputClause`);f.$parent=u;var p=e.create(`dmn:LiteralExpression`,{typeRef:`string`});f.inputExpression=p,p.$parent=f,u.input=[f],setBoxedExpression(s,u,e)}return r.expression&&setBoxedExpression(s,e.create(`dmn:LiteralExpression`),e),t.replaceElement(n,c,i)}this.replaceElement=replaceElement}DrdReplace.$inject=[`drdFactory`,`replace`,`selection`,`modeling`];function setBoxedExpression(e,t,n){if(is$2(e,`dmn:Decision`))e.decisionLogic=t,t.$parent=e;else if(is$2(e,`dmn:BusinessKnowledgeModel`)){var r=n.create(`dmn:FunctionDefinition`,{body:t});e.encapsulatedLogic=r,r.$parent=e,t.$parent=r}}var Jr={__depends__:[vn,Fn],drdReplace:[`type`,DrdReplace]},Yr={DECISION:[{label:`Empty`,actionName:`replace-with-empty-decision`,className:`dmn-icon-clear`,target:{type:`dmn:Decision`,table:!1,expression:!1}},{label:`Decision table`,actionName:`replace-with-decision-table`,className:`dmn-icon-decision-table`,target:{type:`dmn:Decision`,table:!0,expression:!1}},{label:`Literal expression`,actionName:`replace-with-literal-expression`,className:`dmn-icon-literal-expression`,target:{type:`dmn:Decision`,table:!1,expression:!0}}],BKM:[{label:`Empty`,actionName:`replace-with-empty`,className:`dmn-icon-clear`,target:{type:`dmn:BusinessKnowledgeModel`,table:!1,expression:!1}},{label:`Literal Expression`,actionName:`replace-with-literal-expression`,className:`dmn-icon-literal-expression`,target:{type:`dmn:BusinessKnowledgeModel`,table:!1,expression:!0}}]};D();function ReplaceMenuProvider(e,t,n,r,i,a){this._popupMenu=e,this._modeling=t,this._moddle=n,this._drdReplace=r,this._rules=i,this._translate=a,this.register()}ReplaceMenuProvider.$inject=[`popupMenu`,`modeling`,`moddle`,`drdReplace`,`rules`,`translate`],ReplaceMenuProvider.prototype.register=function(){this._popupMenu.registerProvider(`dmn-replace`,this)},ReplaceMenuProvider.prototype.getEntries=function(e){var t=e.businessObject,n=this._rules,r,i;return n.allowed(`shape.replace`,{element:e})?is$2(t,`dmn:Decision`)?(i=getBoxedExpression(t),r=O(Yr.DECISION,function(e){var t=e.actionName===`replace-with-empty-decision`&&i,n=e.actionName===`replace-with-decision-table`&&!is$2(i,`dmn:DecisionTable`),r=e.actionName===`replace-with-literal-expression`&&!is$2(i,`dmn:LiteralExpression`);return t||n||r}),this._createEntries(e,r)):is$2(t,`dmn:BusinessKnowledgeModel`)?(i=getBoxedExpression(t),r=O(Yr.BKM,function(e){var t=e.actionName===`replace-with-empty`&&i,n=e.actionName===`replace-with-decision-table`&&!is$2(i,`dmn:DecisionTable`),r=e.actionName===`replace-with-literal-expression`&&!is$2(i,`dmn:LiteralExpression`);return t||n||r}),this._createEntries(e,r)):[]:[]},ReplaceMenuProvider.prototype._createEntries=function(e,t){var n=[],r=this;return j(t,function(t){var i=r._createMenuEntry(t,e);n.push(i)}),n},ReplaceMenuProvider.prototype._createMenuEntry=function(e,t,n){var r=this._drdReplace.replaceElement,i=this._translate,replaceAction=function(){return r(t,e.target)};return n||=replaceAction,{label:i(e.label),className:e.className,id:e.actionName,action:n}},ReplaceMenuProvider.prototype.getHeaderEntries=function(e){return[]};var Xr={__depends__:[L,fn,Jr],__init__:[`replaceMenuProvider`],replaceMenuProvider:[`type`,ReplaceMenuProvider]};D();function ContextPadProvider(e,t,n,r,i,a,o,s,c,l,u,d){u||={},t.registerProvider(this),this._contextPad=t,this._modeling=n,this._elementFactory=r,this._connect=i,this._create=a,this._rules=o,this._popupMenu=s,this._canvas=c,this._translate=l,u.autoPlace!==!1&&(this._autoPlace=d.get(`autoPlace`,!1)),e.on(`create.end`,250,function(e){var n=e.context.shape;if(kn(e)){var r=t.getEntries(n);r.replace&&r.replace.action.click(e,n)}})}ContextPadProvider.$inject=[`eventBus`,`contextPad`,`modeling`,`elementFactory`,`connect`,`create`,`rules`,`popupMenu`,`canvas`,`translate`,`config.contextPad`,`injector`],ContextPadProvider.prototype.getContextPadEntries=function(e){var t=this._modeling,n=this._elementFactory,r=this._connect,i=this._create,a=this._popupMenu,o=this._contextPad,s=this._rules,c=this._translate,l=this._autoPlace,u={};if(e.type===`label`)return u;var d=e.businessObject;function startConnect(e,t,n){r.start(e,t,n)}function removeElement(n){t.removeElements([e])}function getReplaceMenuPosition(e){var t=5,n=o.getPad(e).html.getBoundingClientRect();return{x:n.left,y:n.bottom+t}}function appendAction(e,t,r,a){function appendStart(t,r){var o=n.createShape(A({type:e},a));i.start(t,o,{source:r,hints:{connectionTarget:r}})}return{group:`model`,className:t,title:r,action:{dragstart:appendStart,click:l?function(t,r){var i=n.createShape(A({type:e},a));l.append(r,i,{connectionTarget:r})}:appendStart}}}is$2(d,`dmn:Decision`)&&A(u,{"append.decision":appendAction(`dmn:Decision`,`dmn-icon-decision`,c(`Append decision`))}),isAny$1(d,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:KnowledgeSource`])&&A(u,{"append.knowledge-source":appendAction(`dmn:KnowledgeSource`,`dmn-icon-knowledge-source`,c(`Append knowledge source`))}),isAny$1(d,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`])&&A(u,{"append.business-knowledge-model":appendAction(`dmn:BusinessKnowledgeModel`,`dmn-icon-business-knowledge`,c(`Append business knowledge model`))}),isAny$1(d,[`dmn:Decision`,`dmn:KnowledgeSource`])&&A(u,{"append.input-data":appendAction(`dmn:InputData`,`dmn-icon-input-data`,c(`Append input data`))}),is$2(d,`dmn:DRGElement`)&&A(u,{"append.text-annotation":appendAction(`dmn:TextAnnotation`,`dmn-icon-text-annotation`,c(`Add text annotation`)),connect:{group:`connect`,className:`dmn-icon-connection-multi`,title:c(`Connect to other element`),action:{click:startConnect,dragstart:startConnect}}}),is$2(d,`dmn:TextAnnotation`)&&A(u,{connect:{group:`connect`,className:`dmn-icon-connection-multi`,title:c(`Connect to other element`),action:{click:startConnect,dragstart:startConnect}}}),a.isEmpty(e,`dmn-replace`)||A(u,{replace:{group:`edit`,className:`dmn-icon-screw-wrench`,title:c(`Change type`),action:{click:function(e,t){var n=A(getReplaceMenuPosition(t),{cursor:{x:e.x,y:e.y}});a.open(t,`dmn-replace`,n)}}}});var f=s.allowed(`elements.delete`,{elements:[e]});return T(f)&&(f=f[0]===e),f&&A(u,{delete:{group:`edit`,className:`dmn-icon-trash`,title:c(`Delete`),action:{click:removeElement}}}),u},ContextPadProvider.prototype.getMultiElementContextPadEntries=function(e){var t=this._modeling,n=this._translate,r={};return this._isDeleteAllowed(e)&&A(r,{delete:{group:`edit`,className:`dmn-icon-trash`,title:n(`Delete`),action:{click:(e,n)=>t.removeElements(n.slice())}}}),r},ContextPadProvider.prototype._isDeleteAllowed=function(e){var t=this._rules.allowed(`elements.delete`,{elements:e});return T(t)?ae(e,e=>t.includes(e)):t};var Zr={__depends__:[L,hn,Fn,Ze,lt,Xr],__init__:[`contextPadProvider`],contextPadProvider:[`type`,ContextPadProvider]},Qr=/\s/,$r=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,ei=/^[a-z_][\w-.]*$/i,ti=/\$\{([^}]*)\}/g;function validateId$1(e,t){let n=e.$model.ids.assigned(t);return t?n&&n!==e?`Element must have unique ID.`:validateIdFormat(t):`Element must have ID.`}e(validateId$1,`validateId`);function validateIdFormat(e){if(e=stripPlaceholders(e),containsSpace$1(e))return`Id must not contain spaces.`;if(!ei.test(e))return $r.test(e)?`Id must not contain prefix.`:`Id must be a valid QName.`}function containsSpace$1(e){return Qr.test(e)}e(containsSpace$1,`containsSpace`);function stripPlaceholders(e){return e.replace(ti,`$1`)}D();var ni=300;function DefinitionIdEdit(e,t,n,r,i){this._eventBus=e,this._modeling=t,this._canvas=n,this._definitionPropertiesView=r,this._translate=i,e.on(`definitionIdView.create`,function(e){this._container=e.html;var t=G(`.dmn-definitions-name`,this._container),n=G(`.dmn-definitions-id`,this._container);this._setup(t,`name`),this._setup(n,`id`)},this)}DefinitionIdEdit.$inject=[`eventBus`,`modeling`,`canvas`,`definitionPropertiesView`,`translate`],DefinitionIdEdit.prototype.update=function(e,t){var n=this._canvas.getRootElement(),r={};if(r[e]=t,e===`id`){var i=validateId$1(getBusinessObject$1(n),t);if(i){this._addErrorMessage(i);return}this._clearErrorMessage()}this._modeling.updateProperties(n,r)},DefinitionIdEdit.prototype._setup=function(e,t){var n=this;e.setAttribute(`contenteditable`,!0),e.addEventListener(`input`,ue(function(e){var r=e.target.value||e.target.textContent;n.update(t,r.trim())},ni)),e.addEventListener(`keydown`,function(t){t.keyCode===13&&(e.blur(),window.getSelection().removeAllRanges())}),e.addEventListener(`blur`,function(){n._clearErrorMessage(),n._definitionPropertiesView.update()})},DefinitionIdEdit.prototype._addErrorMessage=function(e){let t=`<span class="dmn-definitions-error-message">`+this._translate(e)+`</span>`;var n=G(`.dmn-definitions-id`,this._container);this._clearErrorMessage(),z(n).add(`dmn-definitions-error`),n.parentElement.appendChild(W(t))},DefinitionIdEdit.prototype._clearErrorMessage=function(){var e=G(`.dmn-definitions-id`,this._container);if(z(e).has(`dmn-definitions-error`)){z(e).remove(`dmn-definitions-error`);let t=G(`.dmn-definitions-error-message`,this._container);e.parentNode.removeChild(t)}};var ri={__depends__:[Nr],__init__:[`definitionPropertiesEdit`,`definitionPropertiesPaletteAdapter`],definitionPropertiesEdit:[`type`,DefinitionIdEdit],definitionPropertiesPaletteAdapter:[`type`,PaletteAdapter]};D();function DrdDistributeElements(e){e.registerFilter(function(e){return O(e,function(e){var t=isAny$1(e,[`dmn:AuthorityRequirement`,`dmn:InformationRequirement`,`dmn:KnowledgeRequirement`,`dmn:Association`,`dmn:TextAnnotation`]);return!(e.labelTarget||t)})})}DrdDistributeElements.$inject=[`distributeElements`];var ii={__depends__:[Jt],__init__:[`drdDistributeElements`],drdDistributeElements:[`type`,DrdDistributeElements]};function DrdEditorActions(e){e.invoke(N,this)}V(DrdEditorActions,N),DrdEditorActions.$inject=[`injector`],DrdEditorActions.prototype._registerDefaultActions=function(e){N.prototype._registerDefaultActions.call(this,e);let t=e.get(`canvas`,!1),n=e.get(`elementRegistry`,!1),r=e.get(`selection`,!1),i=e.get(`lassoTool`,!1),a=e.get(`handTool`,!1),o=e.get(`directEditing`,!1),s=e.get(`distributeElements`,!1),c=e.get(`alignElements`,!1),l=e.get(`searchPad`,!1);t&&n&&r&&this._registerAction(`selectElements`,function(){var e=t.getRootElement(),i=n.filter(function(t){return t!==e});return r.select(i),i}),r&&s&&this._registerAction(`distributeElements`,function(e){var t=r.get(),n=e.type;t.length>2&&s.trigger(t,n)}),r&&c&&this._registerAction(`alignElements`,function(e){var t=r.get(),n=e.type;t.length>1&&c.trigger(t,n)}),i&&this._registerAction(`lassoTool`,function(){i.toggle()}),a&&this._registerAction(`handTool`,function(){a.toggle()}),r&&o&&this._registerAction(`directEditing`,function(){var e=r.get();e.length&&o.activate(e[0])}),r&&l&&this._registerAction(`find`,function(){l.toggle()})};var ai={__depends__:[it],editorActions:[`type`,DrdEditorActions]};function containsDi(e){return e.dmnDI&&e.dmnDI.diagrams&&e.dmnDI.diagrams[0]}D();function DiGenerator(e,t,n,r){function createDi(n){var i=n.dmnDI;i||(i=e.create(`dmndi:DMNDI`),n.set(`dmnDI`,i));var a=e.create(`dmndi:DMNDiagram`);i.set(`diagrams`,[a]);var o=0;j(n.get(`drgElement`),function(n){if(is$2(n,`dmn:Decision`)){var i=t._getDefaultSize(n),s=e.createDiShape(n,{x:150+o*30,y:150+o*30,width:i.width,height:i.height});r.updateDiParent(s,a),o++}})}n.on(`import.start`,({definitions:e})=>{containsDi(e)||createDi(e)})}DiGenerator.$inject=[`drdFactory`,`elementFactory`,`eventBus`,`drdUpdater`];var oi={__init__:[`diGenerator`],diGenerator:[`type`,DiGenerator]};function DrdKeyboardBindings(e){e.invoke(qt,this)}V(DrdKeyboardBindings,qt),DrdKeyboardBindings.$inject=[`injector`],DrdKeyboardBindings.prototype.registerBindings=function(e,t){qt.prototype.registerBindings.call(this,e,t);function addListener(n,r){t.isRegistered(n)&&e.addListener(r)}addListener(`selectElements`,function(n){var r=n.keyEvent;if(e.isKey([`a`,`A`],r)&&e.isCmd(r))return t.trigger(`selectElements`),!0}),addListener(`lassoTool`,function(n){var r=n.keyEvent;if(!e.hasModifier(r)&&e.isKey([`l`,`L`],r))return t.trigger(`lassoTool`),!0}),addListener(`handTool`,function(n){var r=n.keyEvent;if(!e.hasModifier(r)&&e.isKey([`h`,`H`],r))return t.trigger(`handTool`),!0}),addListener(`directEditing`,function(n){var r=n.keyEvent;if(!e.hasModifier(r)&&e.isKey([`e`,`E`],r))return t.trigger(`directEditing`),!0}),addListener(`find`,function(n){var r=n.keyEvent;if(e.isKey([`f`,`F`],r)&&e.isCmd(r))return t.trigger(`find`),!0})};var si={__depends__:[ht],__init__:[`keyboardBindings`],keyboardBindings:[`type`,DrdKeyboardBindings]};D();var ci=`djs-label-hidden`;function LabelEditingProvider(e,t,n,r,i){this._canvas=e,this._modeling=r,this._textRenderer=i,this._eventBus=n,t.registerProvider(this),n.on(`element.dblclick`,function(e){t.activate(e.element)}),n.on([`autoPlace.start`,`canvas.viewbox.changing`,`drag.init`,`drillDown.click`,`element.mousedown`,`popupMenu.open`,`selection.changed`],function(){t.complete()}),n.on([`commandStack.changed`],function(){t.cancel()}),n.on(`create.end`,500,function(e){var n=e.shape;(is$2(n,`dmn:Decision`)||is$2(n,`dmn:InputData`)||is$2(n,`dmn:BusinessKnowledgeModel`)||is$2(n,`dmn:KnowledgeSource`)||is$2(n,`dmn:TextAnnotation`))&&t.activate(n)}),n.on(`autoPlace.end`,500,function(e){t.activate(e.shape)}),this._eventBus.on([`directEditing.complete`,`directEditing.cancel`],function(t){var n=t.active;if(n){var r=n.element.label||n.element;e.removeMarker(r,ci)}})}LabelEditingProvider.$inject=[`canvas`,`directEditing`,`eventBus`,`modeling`,`textRenderer`],LabelEditingProvider.prototype.activate=function(e){var t=getLabel$1(e);if(le(t)){var n={text:t},r=this.getEditingBBox(e);A(n,r);var i={},a=n.style||{};return is$2(e,`dmn:DRGElement`)&&(A(i,{centerVertically:!0}),A(a,{backgroundColor:null,border:null})),is$2(e,`dmn:TextAnnotation`)&&A(i,{resizable:!0}),A(n,{options:i,style:a}),this._canvas.addMarker(e,ci),n}},LabelEditingProvider.prototype.getEditingBBox=function(e){var t=this._canvas,n=e.label||e,r=t.getAbsoluteBBox(n),i={x:r.x,y:r.y},a=t.zoom(),o=this._textRenderer.getDefaultStyle(),s=o.fontSize*a,c=o.lineHeight,l={fontFamily:this._textRenderer.getDefaultStyle().fontFamily,fontWeight:this._textRenderer.getDefaultStyle().fontWeight};return is$2(e,`dmn:DRGElement`)&&(A(i,{width:r.width,height:r.height}),A(l,{fontSize:s+`px`,lineHeight:c,paddingTop:7*a+`px`,paddingBottom:7*a+`px`,paddingLeft:5*a+`px`,paddingRight:5*a+`px`})),is$2(e,`dmn:TextAnnotation`)&&(A(i,{width:r.width,height:r.height,minWidth:30*a,minHeight:10*a}),A(l,{textAlign:`left`,paddingTop:5*a+`px`,paddingBottom:7*a+`px`,paddingLeft:7*a+`px`,paddingRight:5*a+`px`,fontSize:s+`px`,lineHeight:c})),{bounds:i,style:l}},LabelEditingProvider.prototype.update=function(e,t,n,r){var i,a;is$2(e,`dmn:TextAnnotation`)&&(a=this._canvas.getAbsoluteBBox(e),i={x:e.x,y:e.y,width:e.width/a.width*r.width,height:e.height/a.height*r.height}),isEmptyText(t)&&(t=null),this._modeling.updateLabel(e,t,i)};function isEmptyText(e){return!e||!e.trim()}var li={__depends__:[st,Rn,Qe],__init__:[`labelEditingProvider`],labelEditingProvider:[`type`,LabelEditingProvider]};function getRequirementType(e){if(is$2(e,`dmn:BusinessKnowledgeModel`))return`Knowledge`;if(is$2(e,`dmn:Decision`))return`Decision`;if(is$2(e,`dmn:InputData`))return`Input`;if(is$2(e,`dmn:KnowledgeSource`))return`Authority`}function CreateConnectionBehavior(e,t){t.invoke(q,this),this.preExecute(`connection.create`,function(t){var n=t.connection,r=n.businessObject,i=t.source,a=t.target,o,s,c;is$2(n,`dmn:Association`)?(s=r.sourceRef=e.create(`dmn:DMNElementReference`,{href:`#`+i.id}),s.$parent=r,c=r.targetRef=e.create(`dmn:DMNElementReference`,{href:`#`+a.id}),c.$parent=r):(o=r[`required`+getRequirementType(i)]=e.create(`dmn:DMNElementReference`,{href:`#`+i.id}),o.$parent=r)},!0)}CreateConnectionBehavior.$inject=[`drdFactory`,`injector`],V(CreateConnectionBehavior,q);function CreateShapeBehavior(e,t){t.invoke(q,this),this.preExecute(`shape.create`,function(t){var n=t.shape,r=t.hints||{},i=n.businessObject;if(r.createElementsBehavior!==!1&&!i.variable&&(is$2(n,`dmn:Decision`)||is$2(n,`dmn:InputData`))){var a=e.create(`dmn:InformationItem`,{name:i.name,typeRef:`Any`});a.$parent=i,i.variable=a}},!0)}CreateShapeBehavior.$inject=[`drdFactory`,`injector`],V(CreateShapeBehavior,q),D();var ui=500;function LayoutConnectionBehavior(e,t,n,r){e.invoke(q,this),this.preExecute([`connection.create`,`connection.reconnect`],function(e){var t=e.connection,n=e.newSource||e.source,i=e.newTarget||e.target;if((!is$2(t,`dmn:InformationRequirement`)||r.allowed(`connection.connect`,{connection:t,source:n,target:i}))&&is$2(t,`dmn:InformationRequirement`)){var a=K(n,i);e.hints||={},A(e.hints,getConnectionHints(n,i,a))}},!0);function updateInformationRequirements(e,r,i){r||=e.incoming.filter(function(e){return is$2(e,`dmn:InformationRequirement`)});var a={};i?a[i]=r:a=getInformationRequirementsByOrientation(e,r),j(a,function(r,i){r=sortInformationRequirements(r,i);var a=getConnectionsStartEnd(r,e,i);r.forEach((e,r)=>{var i=a[r].start,o=a[r].end,s=t.layoutConnection(e,{connectionStart:i,connectionEnd:o});n.updateWaypoints(e,s)})})}this.postExecuted([`connection.create`,`connection.delete`,`connection.reconnect`],function(e){var t=e.connection,n=t.source||e.source,r=t.target||e.target;if(is$2(t,`dmn:InformationRequirement`)){var i=K(n,r),a=r.incoming.filter(e=>{var t=K(e.source,e.target);return is$2(e,`dmn:InformationRequirement`)&&isSameOrientation(t,i)});a.length&&updateInformationRequirements(r,a,i)}},!0),this.preExecute(`connection.reconnect`,function(e){var t=e.connection,n=t.source,r=t.target;if(is$2(t,`dmn:InformationRequirement`)){var i=K(n,r),a=r.incoming.filter(e=>{var n=K(e.source,e.target);return e!==t&&is$2(e,`dmn:InformationRequirement`)&&isSameOrientation(n,i)});a.length&&updateInformationRequirements(r,a,i)}},!0),this.postExecuted(`elements.move`,ui,function(e){var t=e.shapes,n=e.closure.enclosedConnections;t.forEach(function(e){if(isAny$1(e,[`dmn:Decision`,`dmn:InputData`])){var t=e.incoming.filter(function(e){return is$2(e,`dmn:InformationRequirement`)&&!n[e.id]});t.length&&updateInformationRequirements(e,t),e.outgoing.forEach(function(e){is$2(e,`dmn:InformationRequirement`)&&!n[e.id]&&updateInformationRequirements(e.target)})}})},!0)}LayoutConnectionBehavior.$inject=[`injector`,`layouter`,`modeling`,`rules`],V(LayoutConnectionBehavior,q);function getConnectionHints(e,t,n){var r=H(e),i=H(t);return n.includes(`bottom`)?(r.y=e.y,i.y=t.y+t.height):n.includes(`top`)?(r.y=e.y+e.height,i.y=t.y):n.includes(`right`)?(r.x=e.x,i.x=t.x+t.width):(r.x=e.x+e.width,i.x=t.x),{connectionStart:r,connectionEnd:i}}function getConnectionsStartEnd(e,t,n){return e.map(function(r,i){var a=r.source,o=H(a),s=U(a),c=U(t),l=e.length;return n.includes(`bottom`)?{start:{x:o.x,y:s.top},end:{x:c.left+t.width/(l+1)*(i+1),y:c.bottom}}:n.includes(`top`)?{start:{x:o.x,y:s.bottom},end:{x:c.left+t.width/(l+1)*(i+1),y:c.top}}:n.includes(`right`)?{start:{x:s.left,y:o.y},end:{x:c.right,y:c.top+t.height/(l+1)*(i+1)}}:{start:{x:s.right,y:o.y},end:{x:c.left,y:c.top+t.height/(l+1)*(i+1)}}})}function getInformationRequirementsByOrientation(e,t){var n={};return t.forEach(function(t){var r=K(t.source,e).split(`-`).shift();n[r]||(n[r]=[]),n[r].push(t)}),n}function isSameOrientation(e,t){return e&&t&&e.split(`-`).shift()===t.split(`-`).shift()}function sortInformationRequirements(e,t){var n=t.includes(`top`)||t.includes(`bottom`)?`x`:`y`;return e.sort(function(e,t){return H(e.source)[n]-H(t.source)[n]})}function ReplaceConnectionBehavior(e,t,n){e.invoke(q,this),this.preExecute(`connection.reconnect`,function(e){var r=e.connection,i=e.newSource||r.source,a=e.newTarget||r.target,o=r.waypoints.slice(),s=n.allowed(`connection.reconnect`,{connection:r,source:i,target:a});s&&s.type!==r.type&&(e.connection=t.connect(i,a,{type:s.type,waypoints:o}),t.removeConnection(r))},!0)}V(ReplaceConnectionBehavior,q),ReplaceConnectionBehavior.$inject=[`injector`,`modeling`,`rules`];function ReplaceElementBehaviour(e,t,n){q.call(this,e),this._modeling=t,this.postExecuted([`shape.replace`],1500,function(e){var r=e.context,i=r.oldShape,a=r.newShape;t.unclaimId(i.businessObject.id,i.businessObject),t.updateProperties(a,{id:i.id}),n.select(a)})}V(ReplaceElementBehaviour,q),ReplaceElementBehaviour.$inject=[`eventBus`,`modeling`,`selection`],D();var di=`id`,IdChangeBehavior=class extends q{constructor(e){super(e),this.executed(`element.updateProperties`,this.updateIds.bind(this))}updateIds({context:e}){let{element:t,oldProperties:n,properties:r}=e,i=getBusinessObject$1(t);if(this.shouldSkipUpdate(i,n,r))return;let a=getDefinitions$2(i);a.get(`drgElement`).forEach(e=>{updateElementReferences(e,n.id,r.id)}),a.get(`artifact`).forEach(e=>{updateAssociationReferences(e,n.id,r.id)})}shouldSkipUpdate(e,t,n){return!isIdChange$2(t,n)||!is$2(e,`dmn:DRGElement`)&&!is$2(e,`dmn:TextAnnotation`)}};IdChangeBehavior.$inject=[`eventBus`];function isIdChange$2(e,t){return di in e&&di in t}e(isIdChange$2,`isIdChange`);function getDefinitions$2(e){let t=e;for(;!is$2(t,`dmn:Definitions`);)t=t.$parent;return t}e(getDefinitions$2,`getDefinitions`);function updateElementReferences(e,t,n){j({authorityRequirement:()=>{e.authorityRequirement.forEach(e=>{let{requiredAuthority:r,requiredDecision:i,requiredInput:a}=e;r&&r.href===`#${t}`&&(r.href=`#${n}`),i&&i.href===`#${t}`&&(i.href=`#${n}`),a&&a.href===`#${t}`&&(a.href=`#${n}`)})},informationRequirement:()=>{e.informationRequirement.forEach(e=>{let{requiredDecision:r,requiredInput:i}=e;r&&r.href===`#${t}`&&(r.href=`#${n}`),i&&i.href===`#${t}`&&(i.href=`#${n}`)})},knowledgeRequirement:()=>{e.knowledgeRequirement.forEach(e=>{let{requiredKnowledge:r}=e;r&&r.href===`#${t}`&&(r.href=`#${n}`)})}},(t,n)=>{e[n]&&t()})}function updateAssociationReferences(e,t,n){j({sourceRef:()=>{let{sourceRef:r}=e;r.href===`#${t}`&&(r.href=`#${n}`)},targetRef:()=>{let{targetRef:r}=e;r.href===`#${t}`&&(r.href=`#${n}`)}},(t,n)=>{e[n]&&t()})}var NameChangeBehavior$1=class extends q{static{e(this,`NameChangeBehavior`)}static $inject=[`eventBus`,`modeling`];constructor(e,t){super(e),this._modeling=t,this.postExecuted(`element.updateProperties`,this.updateVariableFromElement),this.postExecuted(`element.updateLabel`,this.updateVariableFromLabel)}updateVariableFromLabel=({context:e})=>{let{element:t,newLabel:n}=e,r=getBusinessObject$1(t).variable;r&&this._modeling.updateProperties(r,{name:n})};updateVariableFromElement=({context:e})=>{let{element:t,properties:n}=e,r=getBusinessObject$1(t);r.variable&&(is$2(t,`dmn:Decision`)||is$2(t,`dmn:BusinessKnowledgeModel`))&&this.isNameChanged(n)&&(this.isVariable(t)||this.shouldSyncVariable(t)||this.syncElementVariableChange(r))};isNameChanged(e){return`name`in e}isVariable(e){let t=getParent$1(e);return is$2(e,`dmn:InformationItem`)&&t&&t.get(`variable`)===e}shouldSyncVariable(e){let t=getBusinessObject$1(e),n=t.get(`variable`);return n&&t.name===n.name}syncElementVariableChange(e){let t=e.get(`name`),n=e.variable;this._modeling.updateProperties(n,{name:t})}};function getParent$1(e){return e.$parent}e(getParent$1,`getParent`);var fi={__init__:[`createConnectionBehavior`,`createShapeBehavior`,`idChangeBehavior`,`nameChangeBehavior`,`layoutConnectionBehavior`,`replaceConnectionBehavior`,`replaceElementBehavior`],createConnectionBehavior:[`type`,CreateConnectionBehavior],createShapeBehavior:[`type`,CreateShapeBehavior],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],layoutConnectionBehavior:[`type`,LayoutConnectionBehavior],replaceConnectionBehavior:[`type`,ReplaceConnectionBehavior],replaceElementBehavior:[`type`,ReplaceElementBehaviour]};D();function DrdRules(e){e.invoke(Dt,this)}V(DrdRules,Dt),DrdRules.$inject=[`injector`],DrdRules.prototype.init=function(){this.addRule(`connection.create`,function(e){var t=e.source,n=e.target;return canConnect(t,n)}),this.addRule(`connection.reconnect`,function(e){var t=e.connection,n=e.source,r=e.target;return canConnect(n,r,t)}),this.addRule(`connection.updateWaypoints`,function(e){let t=e.connection;return{type:t.type,businessObject:t.businessObject}}),this.addRule(`elements.move`,function(e){var t=e.target,n=e.shapes,r=e.position;return canMove(n,t,r)}),this.addRule(`shape.create`,function(e){var t=e.shape,n=e.target;return canCreate(t,n)}),this.addRule(`shape.resize`,function(e){var t=e.shape;return is$2(t,`dmn:TextAnnotation`)})},DrdRules.prototype.canConnect=canConnect,DrdRules.prototype.canCreate=canCreate,DrdRules.prototype.canMove=canMove;function canConnect(e,t){if(!e||isLabel(e)||!t||isLabel(t))return null;if(e===t)return!1;if(is$2(e,`dmn:BusinessKnowledgeModel`)&&isAny$1(t,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`]))return{type:`dmn:KnowledgeRequirement`};if(is$2(e,`dmn:Decision`)){if(is$2(t,`dmn:Decision`))return{type:`dmn:InformationRequirement`};if(is$2(t,`dmn:KnowledgeSource`))return{type:`dmn:AuthorityRequirement`}}if(is$2(e,`dmn:Definitions`)||is$2(t,`dmn:Definitions`))return!1;if(is$2(e,`dmn:InputData`)){if(is$2(t,`dmn:Decision`))return{type:`dmn:InformationRequirement`};if(is$2(t,`dmn:KnowledgeSource`))return{type:`dmn:AuthorityRequirement`}}return is$2(e,`dmn:KnowledgeSource`)&&isAny$1(t,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:KnowledgeSource`])?{type:`dmn:AuthorityRequirement`}:is$2(e,`dmn:TextAnnotation`)&&!is$2(t,`dmn:TextAnnotation`)||!is$2(e,`dmn:TextAnnotation`)&&is$2(t,`dmn:TextAnnotation`)?{type:`dmn:Association`}:!1}function canCreate(e,t){return isAny$1(e,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:InputData`,`dmn:KnowledgeSource`,`dmn:TextAnnotation`])&&is$2(t,`dmn:Definitions`)}function canMove(e,t){return T(e)||(e=[e]),!!(!t||ae(e,function(e){return isAny$1(e,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:InputData`,`dmn:KnowledgeSource`,`dmn:TextAnnotation`,`dmn:InformationRequirement`,`dmn:AuthorityRequirement`,`dmn:KnowledgeRequirement`,`dmn:Association`])})&&is$2(t,`dmn:Definitions`))}function isLabel(e){return!!e.labelTarget}var pi={__depends__:[dn],__init__:[`drdRules`],drdRules:[`type`,DrdRules]};D();function DrdFactory(e){this._model=e}DrdFactory.$inject=[`moddle`],DrdFactory.prototype._needsId=function(e){return isAny$1(e,[`dmn:Artifact`,`dmn:DMNElement`,`dmn:DRGElement`,`dmndi:DMNDiagram`,`dmndi:DMNDiagramElement`])},DrdFactory.prototype._ensureId=function(e){var t=(e.$type||``).replace(/^[^:]*:/g,``)+`_`;!e.id&&this._needsId(e)&&(e.id=this._model.ids.nextPrefixed(t,e))},DrdFactory.prototype.create=function(e,t){var n=this._model.create(e,t||{});return this._ensureId(n),n},DrdFactory.prototype.createDiShape=function(e,t,n){return this.create(`dmndi:DMNShape`,A({dmnElementRef:e,bounds:this.createDiBounds(t)},n))},DrdFactory.prototype.createDiBounds=function(e){return this.create(`dc:Bounds`,e)},DrdFactory.prototype.createDiEdge=function(e,t,n){return this.create(`dmndi:DMNEdge`,{dmnElementRef:e,waypoint:this.createDiWaypoints(t)},n)},DrdFactory.prototype.createDiWaypoints=function(e){var t=this;return e.map(function(e){return t.createDiWaypoint(e)})},DrdFactory.prototype.createDiWaypoint=function(e){return this.create(`dc:Point`,re(e,[`x`,`y`]))},DrdFactory.prototype.createExtensionElements=function(){return this.create(`dmn:ExtensionElements`,{values:[]})},D();function DrdUpdater(e,t,n,r,i){i.invoke(q,this),this._definitionPropertiesView=t,this._drdFactory=n,this._drdRules=r;var a=this;function cropConnection(t){var n=t.connection;t.cropped||=(n.waypoints=e.getCroppedWaypoints(n),!0)}this.executed([`connection.create`,`connection.layout`],cropConnection,!0),this.reverted([`connection.layout`],function(e){delete e.cropped},!0);function updateParent(e){var t=e.connection,n=e.parent,r=e.shape;t&&!is$2(t,`dmn:Association`)&&(n=t.target),a.updateParent(r||t,n)}function reverseUpdateParent(e){var t=e.connection,n=e.shape,r=e.parent||e.newParent;t&&!is$2(t,`dmn:Association`)&&(r=t.target),a.updateParent(n||t,r)}this.executed([`connection.create`,`connection.delete`,`connection.move`,`shape.create`,`shape.delete`],updateParent,!0),this.reverted([`connection.create`,`connection.delete`,`connection.move`,`shape.create`,`shape.delete`],reverseUpdateParent,!0);function updateBounds(e){var t=e.shape;(is$2(t,`dmn:DRGElement`)||is$2(t,`dmn:TextAnnotation`))&&a.updateBounds(t)}this.executed([`shape.create`,`shape.move`,`shape.resize`],updateBounds,!0),this.reverted([`shape.create`,`shape.move`,`shape.resize`],updateBounds,!0);function updateConnectionWaypoints(e){a.updateConnectionWaypoints(e)}this.executed([`connection.create`,`connection.layout`,`connection.move`,`connection.updateWaypoints`],updateConnectionWaypoints,!0),this.reverted([`connection.create`,`connection.layout`,`connection.move`,`connection.updateWaypoints`],updateConnectionWaypoints,!0),this.executed(`connection.create`,function(e){var t=e.connection,n=t.businessObject,r=e.target.businessObject;is$2(t,`dmn:Association`)?updateParent(e):a.updateSemanticParent(n,r)},!0),this.reverted(`connection.create`,function(e){reverseUpdateParent(e)},!0);function updateReconnected(e){var t=e.connection,n=t.businessObject,r=e.oldSource!==e.newSource,i=e.oldTarget!==e.newTarget;is$2(n,`dmn:Association`)?(r&&a.updateAssociationRef(n,`sourceRef`,t.source.businessObject),i&&a.updateAssociationRef(n,`targetRef`,t.target.businessObject)):(a.updateSemanticParent(n,t.target.businessObject),r&&a.updateRequirementSource(n,t.source.businessObject))}this.executed(`connection.reconnect`,updateReconnected,!0),this.reverted(`connection.reconnect`,updateReconnected,!0),this.executed(`element.updateProperties`,function(e){t.update()},!0),this.reverted(`element.updateProperties`,function(e){t.update()},!0)}V(DrdUpdater,q),DrdUpdater.$inject=[`connectionDocking`,`definitionPropertiesView`,`drdFactory`,`drdRules`,`injector`],DrdUpdater.prototype.updateBounds=function(e){var t=e.businessObject.di.bounds;A(t,{x:e.x,y:e.y,width:e.width,height:e.height})},DrdUpdater.prototype.updateConnectionWaypoints=function(e){var t=this._drdFactory,n=e.connection,r=n.businessObject.di;r.waypoint=t.createDiWaypoints(n.waypoints).map(function(e){return e.$parent=r,e})},DrdUpdater.prototype.updateParent=function(e,t){var n=e.parent;!is$2(e,`dmn:DRGElement`)&&!is$2(e,`dmn:Artifact`)&&(n=t);var r=e.businessObject,i=n&&n.businessObject;this.updateSemanticParent(r,i),this.updateDiParent(r.di,i&&i.di)},DrdUpdater.prototype.updateSemanticParent=function(e,t){var n,r;e.$parent!==t&&(is$2(e,`dmn:DRGElement`)?r=`drgElement`:is$2(e,`dmn:Artifact`)?r=`artifact`:is$2(e,`dmn:InformationRequirement`)?r=`informationRequirement`:is$2(e,`dmn:AuthorityRequirement`)?r=`authorityRequirement`:is$2(e,`dmn:KnowledgeRequirement`)&&(r=`knowledgeRequirement`),e.$parent&&(n=e.$parent.get(r),Ln(n,e)),t?(n=t.get(r),n&&(n.push(e),e.$parent=t)):e.$parent=null)},DrdUpdater.prototype.updateRequirementSource=function(e,t){var n=this._drdFactory,r=getRequirementType(t);if(r){var i=`required`+r,a=getRequirementProperty(e),o=`#`+t.id;if(i!==a||e.get(i).get(`href`)!==o){var s=a?e.get(a):n.create(`dmn:DMNElementReference`,{});s.set(`href`,o),s.$parent=e,a&&e.set(a,void 0),e.set(i,s)}}},DrdUpdater.prototype.updateAssociationRef=function(e,t,n){var r=this._drdFactory,i=`#`+n.id,a=e.get(t);a&&a.get(`href`)===i||(a||(a=r.create(`dmn:DMNElementReference`,{}),a.$parent=e,e.set(t,a)),a.set(`href`,i))},DrdUpdater.prototype.updateDiParent=function(e,t){if(e.$parent!==t){if(isAny$1(e,[`dmndi:DMNEdge`,`dmndi:DMNShape`])){for(var n=t||e;!is$2(n,`dmndi:DMNDiagram`);)n=n.$parent;var r=n.get(`diagramElements`);t?(e.$parent=n,En(r,e)):(e.$parent=null,Ln(r,e))}else throw Error(`unsupported`)}};var mi=[`requiredDecision`,`requiredInput`,`requiredKnowledge`,`requiredAuthority`];function getRequirementProperty(e){return k(mi,function(t){return e.get(t)})}function IdClaimHandler$1(e){this._moddle=e}e(IdClaimHandler$1,`IdClaimHandler`),IdClaimHandler$1.$inject=[`moddle`],IdClaimHandler$1.prototype.execute=function(e){var t=this._moddle.ids,n=e.id,r=e.element;e.claiming?t.claim(n,r):t.unclaim(n)},IdClaimHandler$1.prototype.revert=function(e){var t=this._moddle.ids,n=e.id,r=e.element;e.claiming?t.unclaim(n):t.claim(n,r)};function UpdateLabelHandler(){function setText(e,t){var n=e.label||e,r=e.labelTarget||e;return setLabel(n,t,r!==n),[n,r]}function execute(e){return e.oldLabel=getLabel$1(e.element),setText(e.element,e.newLabel)}function revert(e){return setText(e.element,e.oldLabel)}this.execute=execute,this.revert=revert}D();var hi=`name`,Q=`id`;function UpdatePropertiesHandler(e,t){this._elementRegistry=e,this._moddle=t}UpdatePropertiesHandler.$inject=[`elementRegistry`,`moddle`],UpdatePropertiesHandler.prototype.execute=function(e){let{element:t,properties:n}=e,r=[t];if(!t)throw Error(`element required`);let i=this._elementRegistry,a=this._moddle.ids,o=getBusinessObject$1(t),s=e.oldProperties||getProperties(o,S(n));return isIdChange$1(n,o)&&(a.unclaim(o[Q]),i.updateId(t,n[Q]),a.claim(n[Q],o)),hi in n&&t.label&&r.push(t.label),setProperties(o,n),e.oldProperties=s,e.changed=r,r},UpdatePropertiesHandler.prototype.revert=function(e){let{element:t,properties:n,oldProperties:r}=e,i=getBusinessObject$1(t),a=this._elementRegistry,o=this._moddle.ids;return setProperties(i,r),isIdChange$1(n,i)&&(o.unclaim(n[Q]),a.updateId(t,r[Q]),o.claim(r[Q],i)),e.changed};function isIdChange$1(e,t){return Q in e&&e[Q]!==t[Q]}e(isIdChange$1,`isIdChange`);function getProperties(e,t){return E(t,function(t,n){return t[n]=e.get(n),t},{})}function setProperties(e,t){j(t,function(t,n){e.set(n,t)})}D();function UpdateModdlePropertiesHandler(e){this._elementRegistry=e}UpdateModdlePropertiesHandler.$inject=[`elementRegistry`],UpdateModdlePropertiesHandler.prototype.execute=function(e){var t=e.element,n=e.moddleElement,r=e.properties;if(!n)throw Error(`<moddleElement> required`);var i=e.changed||[t],a=e.oldProperties||getModdleProperties(n,S(r));return setModdleProperties(n,r),e.oldProperties=a,e.changed=i,i},UpdateModdlePropertiesHandler.prototype.revert=function(e){var t=e.oldProperties,n=e.moddleElement,r=e.changed;return setModdleProperties(n,t),r};function getModdleProperties(e,t){return E(t,function(t,n){return t[n]=e.get(n),t},{})}function setModdleProperties(e,t){j(t,function(t,n){e.set(n,t)})}function Modeling$4(e,t,n){this._canvas=e,this._drdRules=t,n.invoke(mt,this)}e(Modeling$4,`Modeling`),V(Modeling$4,mt),Modeling$4.$inject=[`canvas`,`drdRules`,`injector`],Modeling$4.prototype.claimId=function(e,t){this._commandStack.execute(`id.updateClaim`,{id:e,element:t,claiming:!0})},Modeling$4.prototype.connect=function(e,t,n,r){var i=this._drdRules,a=this._canvas.getRootElement();return n||=i.canConnect(e,t)||{type:`dmn:Association`},this.createConnection(e,t,n,a,r)},Modeling$4.prototype.getHandlers=function(){var e=mt.prototype.getHandlers.call(this);return e[`id.updateClaim`]=IdClaimHandler$1,e[`element.updateLabel`]=UpdateLabelHandler,e[`element.updateProperties`]=UpdatePropertiesHandler,e[`element.updateModdleProperties`]=UpdateModdlePropertiesHandler,e},Modeling$4.prototype.unclaimId=function(e,t){this._commandStack.execute(`id.updateClaim`,{id:e,element:t})},Modeling$4.prototype.updateModdleProperties=function(e,t,n){this._commandStack.execute(`element.updateModdleProperties`,{element:e,moddleElement:t,properties:n})},Modeling$4.prototype.updateProperties=function(e,t){this._commandStack.execute(`element.updateProperties`,{element:e,properties:t})},Modeling$4.prototype.updateLabel=function(e,t,n,r){this._commandStack.execute(`element.updateLabel`,{element:e,newLabel:t,newBounds:n,hints:r||{}})},D();var gi=20;function DrdLayouter(e){this._connectionDocking=e}V(DrdLayouter,pt),DrdLayouter.$inject=[`connectionDocking`],DrdLayouter.prototype.layoutConnection=function(e,t){var n=this._connectionDocking;t||={};var r=t.source||e.source,i=t.target||e.target,a=t.waypoints||e.waypoints||[],o=t.connectionStart,s=t.connectionEnd,c=K(r,i);if(o||=getConnectionDocking(a[0],r),s||=getConnectionDocking(a[a.length-1],i),is$2(e,`dmn:InformationRequirement`)){a=[o,s];var l=n.getCroppedWaypoints(A({},e,{waypoints:a}),r,i);s=l.pop();var u={x:s.x,y:s.y};return c.includes(`bottom`)?u.y+=gi:c.includes(`top`)?u.y-=gi:c.includes(`right`)?u.x+=gi:u.x-=gi,a=l.concat([u,s]),a}return[o,s]};function getConnectionDocking(e,t){return e?e.original||e:H(t)}var _i={__init__:[`modeling`,`drdUpdater`],__depends__:[fi,pi,Nr,st,Fn,Rn],drdFactory:[`type`,DrdFactory],drdUpdater:[`type`,DrdUpdater],elementFactory:[`type`,ElementFactory$2],modeling:[`type`,Modeling$4],layouter:[`type`,DrdLayouter],connectionDocking:[`type`,Kt]},vi=`
|
|
5
|
+
M2.45221 16.0068L18.7175 1.74436L18.0615 0.996331L18.7175 1.74436C19.2646 1.26455 19.9676
|
|
6
|
+
1 20.6953 1H140.926C142.583 1 143.926 2.34295 143.926 3.99967L143.93 37.5457C143.93
|
|
7
|
+
38.3668 143.593 39.152 142.999 39.7183L143.689 40.4424L142.999 39.7183L127.299
|
|
8
|
+
54.6723C126.741 55.2036 126 55.5 125.23 55.5H4.53787C2.88599 55.5 1.54491 54.1646 1.5379
|
|
9
|
+
52.5127L1.43066 27.229L1.43065 27.2248L1.4301 18.2626C1.43005
|
|
10
|
+
17.3986 1.80255 16.5765 2.45221 16.0068Z
|
|
11
|
+
`,yi=`
|
|
12
|
+
M1.79494 63.0032L1.2941 63.6423L1.79493 63.0032C1.71778 62.9427 1.6428 62.8741 1.57288
|
|
13
|
+
62.8L1.01736 63.3241L1.57288 62.8C1.20495 62.41 1 61.8941 1 61.3579V2.65067C1 1.74066
|
|
14
|
+
1.73867 1.00345 2.64868 1.00526L108.006 1.2145C109.66 1.21778 111 2.55996 111
|
|
15
|
+
4.21449V21.7015V61.6762C111 63.3188 109.679 64.656 108.037 64.676L107.06 64.6879C106.66
|
|
16
|
+
64.6927 106.26 64.6165 105.89 64.4652C105.04 64.1176 104.222 63.78 103.43
|
|
17
|
+
63.4531C93.4866 59.3517 87.6891 56.9603 76.3991 58.1057C71.7035 58.5821 66.8747 60.74
|
|
18
|
+
61.5721 63.1744C61.3243 63.2881 61.0753 63.4026 60.825 63.5177C55.6712 65.8868 49.9696
|
|
19
|
+
68.5077 43.2365 70.3468C31.101 73.6617 15.2135 73.5179 1.79494 63.0032Z
|
|
20
|
+
`,bi={width:135,height:46},xi={width:100,height:63};function createPath(e,t,n){return R(`path`,{d:e,strokeWidth:2,transform:`translate(${t.x}, ${t.y})`,...n})}D();function OutlineProvider(e,t){this._styles=t,e.registerProvider(this)}OutlineProvider.$inject=[`outline`,`styles`],OutlineProvider.prototype.getOutline=function(e){let t=this._styles.cls(`djs-outline`,[`no-fill`]);var n;return is$2(e,`dmn:InputData`)?(n=R(`rect`),I(n,A({x:-5,y:-5,rx:27,width:e.width+10,height:e.height+10},t))):is$2(e,`dmn:BusinessKnowledgeModel`)&&isStandardSize(e,`dmn:BusinessKnowledgeModel`)?n=createPath(vi,{x:-6,y:-6},t):is$2(e,`dmn:KnowledgeSource`)&&isStandardSize(e,`dmn:KnowledgeSource`)&&(n=createPath(yi,{x:-6,y:-1.5},t)),n},OutlineProvider.prototype.updateOutline=function(e){return!!isAny$1(e,[`dmn:InputData`,`dmn:BusinessKnowledgeModel`,`dmn:KnowledgeSource`])};function isStandardSize(e,t){var n;return t===`dmn:BusinessKnowledgeModel`?n=bi:t===`dmn:KnowledgeSource`&&(n=xi),e.width===n.width&&e.height===n.height}var Si={__depends__:[tt],__init__:[`outlineProvider`],outlineProvider:[`type`,OutlineProvider]};D();function PaletteProvider(e,t,n,r,i,a){this._palette=e,this._create=t,this._elementFactory=n,this._handTool=r,this._lassoTool=i,this._translate=a,e.registerProvider(this)}PaletteProvider.$inject=[`palette`,`create`,`elementFactory`,`handTool`,`lassoTool`,`translate`],PaletteProvider.prototype.getPaletteEntries=function(e){var t={},n=this._create,r=this._elementFactory,i=this._handTool,a=this._lassoTool,o=this._translate;function createAction(e,t,i,a,o){function createListener(t){var i=r.createShape(A({type:e},o));n.start(t,i)}return{group:t,className:i,title:a,action:{dragstart:createListener,click:createListener}}}return A(t,{"hand-tool":{group:`tools`,className:`dmn-icon-hand-tool`,title:o(`Activate hand tool`),action:{click:function(e){i.activateHand(e)}}},"lasso-tool":{group:`tools`,className:`dmn-icon-lasso-tool`,title:o(`Activate lasso tool`),action:{click:function(e){a.activateSelection(e)}}},"tool-separator":{group:`tools`,separator:!0},"create.decision":createAction(`dmn:Decision`,`drd`,`dmn-icon-decision`,o(`Create decision`)),"create.input-data":createAction(`dmn:InputData`,`drd`,`dmn-icon-input-data`,o(`Create input data`)),"create.knowledge-source":createAction(`dmn:KnowledgeSource`,`drd`,`dmn-icon-knowledge-source`,o(`Create knowledge source`)),"create.business-knowledge-model":createAction(`dmn:BusinessKnowledgeModel`,`drd`,`dmn-icon-business-knowledge`,o(`Create knowledge model`))}),t};var Ci={__depends__:[L,gn,lt,jt,_n],__init__:[`paletteProvider`],paletteProvider:[`type`,PaletteProvider]},wi=`reconnectStart`,Ti=`reconnectEnd`,Ei=2e3;function DrdBendpointSnapping(e){e.on([`bendpoint.move.move`,`bendpoint.move.end`],Ei,function(e){var t=e.context,n=t.allowed,r=t.hover,i=t.source,a=t.target,o=t.type;if(t.hints||={},delete t.hints.connectionStart,delete t.hints.connectionEnd,!(n&&n.type!==`dmn:InformationRequirement`)&&r&&isAny$1(r,[`dmn:Decision`,`dmn:InputData`])&&i!==a){var s=o===wi||o===Ti,c=K(i,a);s&&r===i?(snapToSource(e,c),t.hints.connectionEnd=getConnectionEnd(a,c)):s&&r===a&&(t.hints.connectionStart=getConnectionStart(i,c),snapToTarget(e,c))}})}DrdBendpointSnapping.$inject=[`eventBus`];function getConnectionStart(e,t){var n=U(e),r=H(e);return t.includes(`bottom`)?r.y=n.top:t.includes(`top`)?r.y=n.bottom:r.x=t.includes(`right`)?n.left:n.right,r}function getConnectionEnd(e,t){var n=U(e),r=H(e);return t.includes(`bottom`)?r.y=n.bottom:t.includes(`top`)?r.y=n.top:r.x=t.includes(`right`)?n.right:n.left,r}function snapToSource(e,t){var n=e.context.source,r=getConnectionStart(n,t),i=e.x-r.x,a=e.y-r.y;e.x-=i,e.y-=a,e.dx-=i,e.dy-=a}function snapToTarget(e,t){var n=e.context.target,r=getConnectionEnd(n,t),i=0,a=0;t.includes(`top`)||t.includes(`bottom`)?a=e.y-r.y:i=e.x-r.x,e.x-=i,e.y-=a,e.dx-=i,e.dy-=a}var Di=250;function DrdConnectSnapping(e){e.on([`connect.hover`,`connect.move`,`connect.end`],Di,function(e){var t=e.context,n=t.canExecute,r=t.hover,i=t.source,a=t.target;if(n&&n.type===`dmn:InformationRequirement`){var o=K(i,a);t.connectionStart=H(i),t.connectionEnd=r===i?H(a):{x:e.x,y:e.y},o.includes(`bottom`)?(t.connectionStart.y=U(i).top,t.connectionEnd.y=U(a).bottom):o.includes(`top`)?(t.connectionStart.y=U(i).bottom,t.connectionEnd.y=U(a).top):o.includes(`right`)?(t.connectionStart.x=U(i).left,t.connectionEnd.x=U(a).right):(t.connectionStart.x=U(i).right,t.connectionEnd.x=U(a).left)}else delete t.connectionStart,delete t.connectionEnd})}DrdConnectSnapping.$inject=[`eventBus`];var Oi={__depends__:[Ot],__init__:[`bendpointSnapping`,`connectSnapping`],bendpointSnapping:[`type`,DrdBendpointSnapping],connectSnapping:[`type`,DrdConnectSnapping]},ki=[`string`,`boolean`,`number`,`date`,`time`,`dateTime`,`dayTimeDuration`,`yearMonthDuration`,`Any`],DataTypes$1=class{static{e(this,`DataTypes`)}constructor(e){this._dataTypes=e||ki}getAll(){return this._dataTypes}};DataTypes$1.$inject=[`config.dataTypes`];var Ai={__init__:[`dataTypes`],dataTypes:[`type`,DataTypes$1]},TypeRefDropdown=class{constructor(e,t,n,r,i,a){this._eventBus=e,this._overlays=t,this._dataTypes=n,this._drdFactory=r,this._modeling=i,this._translate=a,this._current=null,this._eventBus.on(`selection.changed`,e=>{this.close();let t=e.newSelection,n=t.length===1?t[0]:null;n&&is$2(n,`dmn:InputData`)&&this.open(n)}),this._eventBus.on(`elements.changed`,e=>{if(!this._current)return;let{element:t}=this._current;e.elements.includes(t)&&this._update()})}open(e){let t=this._getOverlayNode(e);this._current={element:e,container:t},this._overlays.add(e,`type-ref-dropdown`,{position:{top:60,left:0},html:t})}close(){this._current=null,this._overlays.remove({type:`type-ref-dropdown`})}_update(){if(!this._current)return;let{element:e,container:t}=this._current,n=t.querySelector(`select`);n.value=this._getTypeRef(e)}_getOverlayNode(e){let t=document.createElement(`div`);t.className=`dms-type-ref-dropdown`;let n=document.createElement(`select`);n.className=`dms-type-ref-select dms-select`,n.ariaLabel=this._translate(`Type`);let r=this._getTypeRef(e),i=this._dataTypes.getAll();return(i.includes(r)?i:[r,...i]).map(e=>{let t=document.createElement(`option`);return t.value=e,t.textContent=this._translate(e),t}).forEach(e=>n.appendChild(e)),n.value=r,t.appendChild(n),n.addEventListener(`change`,t=>{this._setTypeRef(e,t.target.value)}),t}_getTypeRef(e){return getBusinessObject$1(e).get(`variable`)?.get(`typeRef`)||`Any`}_setTypeRef(e,t){let n=getBusinessObject$1(e),r=n.get(`variable`);if(r)this._modeling.updateModdleProperties(e,r,{typeRef:t});else{let r=this._drdFactory.create(`dmn:InformationItem`,{name:n.get(`name`),typeRef:t});this._modeling.updateProperties(e,{variable:r})}}};TypeRefDropdown.$inject=[`eventBus`,`overlays`,`dataTypes`,`drdFactory`,`modeling`,`translate`];var ji={__depends__:[Ai,An,L],__init__:[`typeRefDropdown`],typeRefDropdown:[`type`,TypeRefDropdown]};function Modeler$1(e){NavigatedViewer.call(this,e)}e(Modeler$1,`Modeler`),V(Modeler$1,NavigatedViewer),Modeler$1.prototype._modelingModules=[yt,qr,Ft,Lt,Zr,_t,ri,ii,ai,oi,at,si,rt,xt,li,_i,bt,Si,Ci,mn,Oi,ji],Modeler$1.prototype._modules=[].concat(Modeler$1.prototype._modules,Modeler$1.prototype._modelingModules);function resolveVariables(e){let t={variables:[],rootElement:getRootElement(e)};for(let n=e;n;n=n.$parent)handle(n,t);return t.variables}function handle(e,t){is$1(e,`dmn:Decision`)?handleDecision(e,t):is$1(e,`dmn:BusinessKnowledgeModel`)?handleBusinessKnowledgeModel(e,t):is$1(e,`dmn:Expression`)&&handleExpression(e,t)}function handleDecision(e,t){for(let n of e.get(`informationRequirement`))handleInformationRequirement(n,t);for(let n of e.get(`knowledgeRequirement`))handleKnowledgeRequirement(n,t)}function handleBusinessKnowledgeModel(e,t){for(let n of e.get(`knowledgeRequirement`))handleKnowledgeRequirement(n,t)}function handleInformationRequirement(e,t){let n=e.get(`requiredInput`);n&&handleRequiredInput(n,t);let r=e.get(`requiredDecision`);r&&handleRequiredDecision(r,t)}function handleRequiredInput(e,t){let n=getReferencedElement(e,t.rootElement);if(!n)return;let r=n.get(`name`);r&&t.variables.push({name:r,origin:n})}function handleRequiredDecision(e,t){let n=getReferencedElement(e,t.rootElement);if(!n)return;let r=n.get(`name`);if(!r)return;let i={name:r,origin:n},a=n.get(`decisionLogic`);a&&handleDecisionLogic(a,i,t),t.variables.push(i)}function handleDecisionLogic(e,t,n){is$1(e,`dmn:DecisionTable`)&&handleOutputs(e.get(`output`),t,n)}function handleOutputs(e,t,n){if(e.length===1){let n={...handleOutput(e[0]),name:t.name};Object.assign(t,n)}else t.entries=e.map(handleOutput).filter(e=>!!e.name)}function handleOutput(e){let t={name:e.name};return e.typeRef&&(t.detail=e.typeRef),t}function handleKnowledgeRequirement(e,t){let n=e.get(`requiredKnowledge`);n&&handleRequiredKnowledge(n,t)}function handleRequiredKnowledge(e,t){let n=getReferencedElement(e,t.rootElement);n&&is$1(n,`dmn:BusinessKnowledgeModel`)&&handleRequiredBusinessKnowledgeModel(n,t)}function handleRequiredBusinessKnowledgeModel(e,t){let n=e.get(`name`);if(!n)return;let r={name:n,origin:e},i=e.get(`encapsulatedLogic`);i&&handleEncapsulatedLogic(i,r),t.variables.push(r)}function handleEncapsulatedLogic(e,t,n){let r=e.get(`formalParameter`).map((e,t)=>{let n={name:e.get(`name`)||`param ${t+1}`,type:e.get(`typeRef`)};return n.type||delete n.type,n});Object.assign(t,{type:`function`,params:r})}function handleExpression(e,t){is$1(e,`dmn:FunctionDefinition`)&&handleFunctionDefinition(e,t)}function handleFunctionDefinition(e,t){let n=e.get(`formalParameter`);for(let e of n)handleFormalParameter(e,t)}function handleFormalParameter(e,t){let n=e.get(`name`);if(!n)return;let r={name:n,origin:e};e.get(`typeRef`)&&(r.detail=e.get(`typeRef`)),t.variables.push(r)}function getRootElement(e){let t=e;for(;t.$parent;)t=t.$parent;return t}function getReferencedElement(e,t){let n=e.get(`href`);if(!n||!n.startsWith(`#`))return;let r=n.slice(1);return t.get(`drgElement`).find(e=>e.get(`id`)===r)}function is$1(e,t){return e.$instanceOf(t)}e(is$1,`is`);var DmnVariableProvider=class{constructor(e){e.registerProvider(this)}getVariables(e,t){return e.concat(resolveVariables(t))}};DmnVariableProvider.$inject=[`variableResolver`];var VariableResolver=class{constructor(){this._providers=[]}registerProvider(e){this._providers.push(e)}getVariables(e){return this._providers.reduce((t,n)=>n.getVariables(t,e),[])}},Mi={__init__:[`dmnVariableProvider`],dmnVariableProvider:[`type`,DmnVariableProvider],variableResolver:[`type`,VariableResolver]};D();var Base=class{constructor(e){A(this,e),defineProperty(this,`businessObject`,{writable:!0})}},Root=class extends Base{constructor(e){super(e),defineProperty(this,`rows`,{enumerable:!0,value:this.rows||[]}),defineProperty(this,`cols`,{enumerable:!0,value:this.cols||[]})}},Row=class extends Base{constructor(e){super(e),defineProperty(this,`root`,{writable:!0}),defineProperty(this,`cells`,{enumerable:!0,value:this.cells||[]})}},Col=class extends Base{constructor(e){super(e),defineProperty(this,`root`,{writable:!0}),defineProperty(this,`cells`,{enumerable:!0,value:this.cells||[]})}},Cell=class extends Base{constructor(e){super(e),defineProperty(this,`row`,{writable:!0}),defineProperty(this,`col`,{writable:!0})}},Ni={root:Root,row:Row,col:Col,cell:Cell};function create(e,t){let n=Ni[e];if(!n)throw Error(`unknown type `+e);return new n(t)}function defineProperty(e,t,n){Object.defineProperty(e,t,n)}var ElementFactory$1=class{static{e(this,`ElementFactory`)}constructor(){this._uid=12}create(e,t={}){return t.id||=e+`_`+this._uid++,create(e,t)}createRoot(e){return this.create(`root`,e)}createRow(e){return this.create(`row`,e)}createCol(e){return this.create(`col`,e)}createCell(e){return this.create(`cell`,e)}},ElementRegistry$2=class{static{e(this,`ElementRegistry`)}constructor(e){this._eventBus=e,this._elements={},e.on(`table.clear`,this.clear.bind(this))}add(e,t){let{id:n}=e;this._elements[n]=e}remove(e){let t=e.id||e;delete this._elements[t]}get(e){return this._elements[e]}getAll(){return values(this._elements)}forEach(e){values(this._elements).forEach(t=>e(t))}filter(e){return values(this._elements).filter(t=>e(t))}clear(){this._elements={}}updateId(e,t){this._validateId(t),typeof e==`string`&&(e=this.get(e)),this._eventBus.fire(`element.updateId`,{element:e,newId:t}),this.remove(e),e.id=t,this.add(e)}_validateId(e){if(!e)throw Error(`element must have an id`);if(this._elements[e])throw Error(`element with id `+e+` already added`)}};ElementRegistry$2.$inject=[`eventBus`];function values(e){return Object.keys(e).map(function(t){return e[t]})}var ChangeSupport$1=class{static{e(this,`ChangeSupport`)}constructor(e){this._listeners={},e.on(`elements.changed`,({elements:e})=>{this.elementsChanged(e)}),e.on(`root.remove`,t=>{let n=t.root.id;this._listeners[n]&&e.once(`root.add`,e=>{let t=e.root.id;this.updateId(n,t)})}),e.on(`element.updateId`,({element:e,newId:t})=>{this.updateId(e.id,t)})}elementsChanged(e){let t={},n=e.length;for(let r=0;r<n;r++){let{id:n}=e[r];if(t[n])return;t[n]=!0;let i=this._listeners[n]&&this._listeners[n].length;if(i)for(let e=0;e<i;e++)this._listeners[n][e]&&this._listeners[n][e]()}}onElementsChanged(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e][this._listeners[e].length]=t}offElementsChanged(e,t){if(this._listeners[e]){if(t){let n=this._listeners[e].indexOf(t);n!==-1&&this._listeners[e].splice(n,1)}else this._listeners[e].length=0}}updateId(e,t){this._listeners[e]&&(this._listeners[t]=this._listeners[e],delete this._listeners[e])}};ChangeSupport$1.$inject=[`eventBus`],D();var Pi=1e3,Components$1=class{static{e(this,`Components`)}constructor(){this._listeners={}}getComponent(e,t){let n=this._listeners[e];if(!n)return;let r;for(let e=0;e<n.length&&(r=n[e].callback(t),!r);e++);return r}getComponents(e,t){let n=this._listeners[e],r=[];if(!n)return r;for(let e=0;e<n.length;e++){let i=n[e].callback(t);i&&r.push(i)}return r.length,r}onGetComponent(e,t,n){if(w(t)&&(n=t,t=Pi),!pe(t))throw Error(`priority must be a number`);let r=this._getListeners(e),i,a,o={priority:t,callback:n};for(a=0;i=r[a];a++)if(i.priority<t){r.splice(a,0,o);return}r.push(o)}offGetComponent(e,t){let n=this._getListeners(e),r,i,a;if(t)for(a=n.length-1;r=n[a];a--)i=r.callback,i===t&&n.splice(a,1);else n.length=0}_getListeners(e){let t=this._listeners[e];return t||(this._listeners[e]=t=[]),t}},TableComponent=class extends Z{constructor(e){super(e);let t=this._injector=e.injector;this._sheet=t.get(`sheet`),this._changeSupport=t.get(`changeSupport`),this._components=t.get(`components`),this._eventBus=t.get(`eventBus`);let n=t.get(`throttle`);this.onElementsChanged=this.onElementsChanged.bind(this),this.onScroll=n(this.onScroll.bind(this))}onElementsChanged(){this.forceUpdate()}onScroll(){this._eventBus.fire(`sheet.scroll`)}getChildContext(){return{changeSupport:this._changeSupport,components:this._components,injector:this._injector}}componentWillMount(){let{id:e}=this._sheet.getRoot();this._changeSupport.onElementsChanged(e,this.onElementsChanged)}componentWillUnmount(){let{id:e}=this._sheet.getRoot();this._changeSupport.offElementsChanged(e,this.onElementsChanged)}render(){let{rows:e,cols:t}=this._sheet.getRoot(),n=this._components.getComponents(`table.before`),r=this._components.getComponents(`table.after`),i=this._components.getComponent(`table.head`),a=this._components.getComponent(`table.body`),o=this._components.getComponent(`table.foot`);return createVNode(1,`div`,`tjs-container`,[n&&n.map((e,t)=>createComponentVNode(2,e,null,t)),createVNode(1,`div`,`tjs-table-container`,createVNode(1,`table`,`tjs-table`,[i&&createComponentVNode(2,i,{rows:e,cols:t}),a&&createComponentVNode(2,a,{rows:e,cols:t}),o&&createComponentVNode(2,o,{rows:e,cols:t})],0),2,{onScroll:this.onScroll}),r&&r.map((e,t)=>createComponentVNode(2,e,null,t))],0)}},Renderer$1=class{static{e(this,`Renderer`)}constructor(e,t,n,r,i){let{container:a}=n;this._container=a,r.on(`root.added`,()=>{render(createComponentVNode(2,TableComponent,{injector:i}),a)}),r.on(`root.remove`,()=>{render(null,a)})}getContainer(){return this._container}};Renderer$1.$inject=[`changeSupport`,`components`,`config.renderer`,`eventBus`,`injector`];var Fi={__init__:[`changeSupport`,`components`,`renderer`],changeSupport:[`type`,ChangeSupport$1],components:[`type`,Components$1],renderer:[`type`,Renderer$1]},Sheet=class{constructor(e,t){this._elementRegistry=e,this._eventBus=t,this._root=null,t.on(`table.clear`,()=>{this.setRoot(null)})}setRoot(e){if(this._root){let e=this._root;this._eventBus.fire(`root.remove`,{root:e}),this._root=null,this._eventBus.fire(`root.removed`,{root:e})}e&&this._eventBus.fire(`root.add`,{root:e}),this._root=e,e&&this._eventBus.fire(`root.added`,{root:e})}getRoot(){return this._root||this.setRoot({id:`__implicitroot`,rows:[],cols:[]}),this._root}addRow(e,t){let n=this.getRoot();if(n.cols.length!=e.cells.length)throw Error(`number of cells is not equal to number of cols`);return t===void 0&&(t=n.rows.length),addAtIndex(t,n.rows,e),e.root=n,this._elementRegistry.add(e),e.cells.forEach((r,i)=>{this._elementRegistry.add(r),r.row=e,r.col=n.cols[i],addAtIndex(t,n.cols[i].cells,r)}),this._eventBus.fire(`row.add`,{row:e}),e}removeRow(e){let t=this.getRoot();typeof e==`string`&&(e=this._elementRegistry.get(e));let n=t.rows.indexOf(e);n!==-1&&(removeAtIndex(n,t.rows),e.root=void 0,this._elementRegistry.remove(e),e.cells.forEach((e,r)=>{this._elementRegistry.remove(e),e.col=void 0,removeAtIndex(n,t.cols[r].cells)}),this._eventBus.fire(`row.remove`,{row:e}))}addCol(e,t){let n=this.getRoot();if(this._elementRegistry.add(e),n.rows.length!=e.cells.length)throw Error(`number of cells is not equal to number of rows`);return t===void 0&&(t=n.cols.length),addAtIndex(t,n.cols,e),e.root=n,e.cells.forEach((r,i)=>{this._elementRegistry.add(r),r.col=e,r.row=n.rows[i],addAtIndex(t,n.rows[i].cells,r)}),this._eventBus.fire(`col.add`,{col:e}),e}removeCol(e){let t=this.getRoot();typeof e==`string`&&(e=this._elementRegistry.get(e));let n=t.cols.indexOf(e);n!==-1&&(removeAtIndex(n,t.cols),e.root=void 0,this._elementRegistry.remove(e),e.cells.forEach((e,r)=>{this._elementRegistry.remove(e),e.row=void 0,removeAtIndex(n,t.rows[r].cells)}),this._eventBus.fire(`col.remove`,{col:e}))}resized(){this._eventBus.fire(`sheet.resized`)}};Sheet.$inject=[`elementRegistry`,`eventBus`];function addAtIndex(e,t,n){return t.splice(e,0,n)}function removeAtIndex(e,t){return t.splice(e,1)}D();function ThrottleFactory(e=!0){let t=typeof e==`number`?e:e?300:0;return t?e=>ie(e,t):e=>e}ThrottleFactory.$inject=[`config.throttle`];var Ii={__depends__:[Fi],__init__:[`elementFactory`,`sheet`],elementFactory:[`type`,ElementFactory$1],elementRegistry:[`type`,ElementRegistry$2],eventBus:[`type`,In],sheet:[`type`,Sheet],throttle:[`factory`,ThrottleFactory]},Table=class{constructor(e={}){let{injector:t}=e;if(!t){let{modules:n,config:r}=this._init(e);t=createInjector$1(r,n)}this.get=t.get,this.invoke=t.invoke,this.get(`eventBus`).fire(`table.init`),this.get(`eventBus`).fire(`diagram.init`)}_init(e){let{modules:t,...n}=e;return{modules:t,config:n}}destroy(){let e=this.get(`eventBus`);e.fire(`table.destroy`),e.fire(`diagram.destroy`)}clear(){let e=this.get(`eventBus`);e.fire(`table.clear`),e.fire(`diagram.clear`)}};function createInjector$1(e,t){let n=[{config:[`value`,e]},Ii].concat(t||[]),r=new zn(n);return r.init(),r}e(createInjector$1,`createInjector`);var Li=Table;function elementToString(e){if(!e)return`<null>`;let t=e.id?` id="${e.id}"`:``;return`<${e.$type}${t} />`}D();function TableTreeWalker(e,t){function visit(t,n,r){if(t.gfx)throw Error(`already rendered ${elementToString(t)}`);return e.element(t,n,r)}function visitTable(t){return e.table(t)}function handleDecision(e){e.id||=`decision`;let t=e.decisionLogic;if(t){if(!t.output)throw Error(`missing output for ${elementToString(t)}`);let e=visitTable(t);t.input&&handleClauses(t.input,e,t),handleClauses(t.output,e,t),handleRules(t.rule,e,t)}else throw Error(`no table for ${elementToString(e)}`)}function handleClauses(e,t,n){j(e,function(e){visit(e,t,n)})}function handleRules(e,t,n){j(e,function(e){visit(e,t,n),handleEntry(e.inputEntry,e),handleEntry(e.outputEntry,e)})}function handleEntry(e,t,n){j(e,function(e){visit(e,t,n)})}return{handleDecision}}function importDecision(e,t,n){let r=e.get(`tableImporter`),i=e.get(`eventBus`),a=e.get(`sheet`),o=e.get(`modeling`,!1),s,c=[];function render(e){new TableTreeWalker({create(e,t,n,i){return r.create(e,t,n,i)},table(e){return r.add(e)},element(e,t,n){return r.add(e,t,n)},error(e,t){c.push({message:e,context:t})}},{canAddMissingEntries:o}).handleDecision(e)}i.fire(`import.render.start`,{decision:t});try{render(t)}catch(e){s=e}i.fire(`import.render.complete`,{error:s,warnings:c}),i.fire(`elements.changed`,{elements:[a.getRoot()]}),n(s,c)}function newSet(){return{elements:[],index:{}}}function add(e,t){let{elements:n,index:r}=e;return r[t]?e:{elements:[...n,t],index:{...r,[t]:!0}}}function join(e,t){return e.elements.join(t)}function classNames(...e){let t=newSet();return e.forEach(function(e){let n=typeof e;n===`string`&&e.length>0?t=add(t,e):n===`object`&&e!==null&&Object.keys(e).forEach(function(n){e[n]&&(t=add(t,n))})}),join(t,` `)}function inject(e){let t=e.constructor;return injectType(t,e)}function injectType(e,t){let n=e.$inject;if(!n)return;let{injector:r}=t.context,i=[...n,function(...e){for(let r in e){let i=n[r];t[i]=e[r]}}];r.invoke(i)}function compose(e,...t){return function(...n){let r;return t.forEach(function(t){if(r=t.call(e,...n),r!==void 0)return!1}),r}.bind(e)}function mixin(e,t){Object.keys(t).forEach(function(n){if(n===`$inject`||n===`__init`)return;let r=t[n];n===`constructor`&&r.call(e,e.props,e.context);let i=e[n];if(i!==void 0){if(typeof i!=`function`)throw Error(`failed to mixin <${n}>: cannot combine with non-fn component value`);e[n]=compose(e,i,r)}else e[n]=r.bind(e)}),`$inject`in t&&injectType(t,e),`__init`in t&&t.__init.call(e,e.props,e.context)}var Ri={getSelectionClasses(){let{selected:e,selectedSecondary:t,focussed:n}=this.state;return classNames({selected:e,"selected-secondary":t,focussed:n})},selectionChanged(e){this.setState(e)},componentWillUpdate(e){e.elementId!==this.props.elementId&&this.updateSelectionSubscription(!1)},componentDidUpdate(e){e.elementId!==this.props.elementId&&this.updateSelectionSubscription(!0)},componentDidMount(){this.updateSelectionSubscription(!0)},componentWillUnmount(){this.updateSelectionSubscription(!1)},updateSelectionSubscription(e){let{elementId:t}=this.props;t&&t&&this.eventBus[e?`on`:`off`](`selection.${t}.changed`,this.selectionChanged)}};Ri.$inject=[`eventBus`];var BaseCell=class extends Z{constructor(e,t){super(e,t),mixin(this,Ri),inject(this)}getRenderProps(...e){let{className:t,elementId:n,coords:r,...i}=this.props,a={className:classNames(...e,this.getSelectionClasses(),t)};return n&&(a[`data-element-id`]=n),r&&(a[`data-coords`]=r),{...a,...i}}},HeaderCell=class extends BaseCell{constructor(e,t){super(e,t),this.state={}}render(){let{children:e}=this.props;return normalizeProps(createVNode(1,`td`,null,e,0,{...this.getRenderProps(`cell`)}))}},zi={slotFill(e,t){let{type:n,context:r,...i}=e,a=this.components.getComponent(n,r)||t;return a?normalizeProps(createComponentVNode(2,a,{...r,...i})):null},slotFills(e){let{type:t,context:n,...r}=e;return this.components.getComponents(t,n).map(e=>normalizeProps(createComponentVNode(2,e,{...n,...r})))}};zi.$inject=[`components`];var Bi=400,AnnotationHeader=class extends Z{constructor(e,t){super(e,t),mixin(this,zi),inject(this)}componentDidMount(){this.changeSupport.onElementsChanged(this.getRoot(),this.onElementsChanged)}componentWillUnmount(){this.changeSupport.offElementsChanged(this.getRoot(),this.onElementsChanged)}onElementsChanged=()=>{this.forceUpdate()};getRoot(){return this.sheet.getRoot()}render(){let e=(this.getRoot().businessObject.get(`annotationsWidth`)||Bi)+`px`;return createVNode(1,`th`,`annotation header`,[this.slotFills({type:`cell-inner`,context:{cellType:`annotations`,col:this.sheet.getRoot(),minWidth:Bi}}),this.translate(`Annotations`)],0,{style:{width:e}})}};AnnotationHeader.$inject=[`changeSupport`,`sheet`,`translate`];function AnnotationCell(e){let{row:t}=e,{id:n,description:r}=t.businessObject;return createComponentVNode(2,HeaderCell,{className:`annotation`,elementId:n,children:r||`-`})}function AnnotationsProvider(e){e.onGetComponent(`cell`,({cellType:e})=>{if(e===`after-label-cells`)return AnnotationHeader;if(e===`after-rule-cells`)return AnnotationCell})}AnnotationsProvider.$inject=[`components`];var Vi={__init__:[`annotationsProvider`],annotationsProvider:[`type`,AnnotationsProvider]};D();function elementData(e,t){return A({id:e.id,type:e.$type,businessObject:e},t)}var TableImporter=class{constructor(e,t,n){this._elementFactory=e,this._eventBus=t,this._sheet=n}add(e){let t;if(is$2(e,`dmn:DecisionTable`))t=this._elementFactory.createRoot(elementData(e)),this._sheet.setRoot(t);else if(is$2(e,`dmn:InputClause`))t=this._elementFactory.createCol(elementData(e)),this._sheet.addCol(t);else if(is$2(e,`dmn:OutputClause`))t=this._elementFactory.createCol(elementData(e)),this._sheet.addCol(t);else if(is$2(e,`dmn:DecisionRule`)){e.inputEntry||=[],e.outputEntry||=[];let n=[...e.inputEntry,...e.outputEntry].map(e=>this._elementFactory.createCell(elementData(e)));t=this._elementFactory.createRow(A(elementData(e),{cells:n})),this._sheet.addRow(t)}return this._eventBus.fire(`dmnElement.added`,{element:t}),t}};TableImporter.$inject=[`elementFactory`,`eventBus`,`sheet`];var Hi={__depends__:[{__depends__:[L],tableImporter:[`type`,TableImporter]},Fi]},DecisionTableHead=class extends Z{constructor(e,t){super(e,t),mixin(this,zi),this._sheet=t.injector.get(`sheet`),this._changeSupport=t.changeSupport}onElementsChanged=()=>{this.forceUpdate()};componentWillMount(){let e=this._sheet.getRoot();this._changeSupport.onElementsChanged(e.id,this.onElementsChanged)}componentWillUnmount(){let e=this._sheet.getRoot();this._changeSupport.offElementsChanged(e.id,this.onElementsChanged)}render(){let e=this._sheet.getRoot();if(!is$2(e,`dmn:DMNElement`))return null;let t=getBusinessObject$1(e),n=t.input,r=t.output;return createVNode(1,`thead`,null,createVNode(1,`tr`,null,[createVNode(1,`th`,`index-column`),this.slotFills({type:`cell`,context:{cellType:`before-label-cells`}}),n&&n.map((e,t)=>{let r=e.width||`192px`;return this.slotFill({type:`cell`,context:{cellType:`input-header`,input:e,index:t,inputsLength:n.length,width:r},key:e.id},DefaultInputHeaderCell)}),r.map((e,t)=>this.slotFill({type:`cell`,context:{cellType:`output-header`,output:e,index:t,outputsLength:r.length},key:e.id},DefaultOutputHeaderCell)),this.slotFills({type:`cell`,context:{cellType:`after-label-cells`}})],0),2)}};function DefaultInputHeaderCell(e,t){let{input:n,className:r,index:i}=e,{label:a,inputExpression:o,inputValues:s}=n,c=t.injector.get(`translate`);return createVNode(1,`th`,(r||``)+` input-cell`,[createVNode(1,`div`,`clause`,c(i===0?`When`:`And`),0),a?createVNode(1,`div`,`input-label`,a,0,{title:c(`Input label: `)+a}):createVNode(1,`div`,`input-expression`,o.text,0,{title:c(`Input expression: `)+o.text}),createVNode(1,`div`,`input-variable`,s&&s.text||o.typeRef,0,{title:s&&s.text?c(`Input values`):c(`Input type`)})],0,{"data-col-id":n.id},n.id)}function DefaultOutputHeaderCell(e,t){let{output:n,className:r,index:i}=e,{label:a,name:o,outputValues:s,typeRef:c}=n,l=t.injector.get(`translate`);return createVNode(1,`th`,(r||``)+` output-cell`,[createVNode(1,`div`,`clause`,l(i===0?`Then`:`And`),0),a?createVNode(1,`div`,`output-label`,a,0,{title:l(`Output label`)}):createVNode(1,`div`,`output-name`,o,0,{title:l(`Output name`)}),createVNode(1,`div`,`output-variable`,s&&s.text||c,0,{title:s&&s.text?l(`Output values`):l(`Output type`)})],0,null,n.id)}function DecisionTableHeadProvider(e){e.onGetComponent(`table.head`,()=>DecisionTableHead)}DecisionTableHeadProvider.$inject=[`components`];var Ui={__init__:[`decisionTableHeadProvider`],decisionTableHeadProvider:[`type`,DecisionTableHeadProvider]},DecisionTablePropertiesComponent$1=class extends Z{static{e(this,`DecisionTablePropertiesComponent`)}constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),inject(this)}render(){let e=this.sheet.getRoot();if(!is$2(e,`dmn:DMNElement`))return null;let{name:t}=e.businessObject.$parent,n=this.components.getComponent(`hit-policy`)||NullComponent$1;return createVNode(1,`div`,`decision-table-properties`,[createVNode(1,`div`,`decision-table-name`,t,0,{title:this._translate(`Decision name: `)+t}),createVNode(1,`div`,`decision-table-header-separator`),createComponentVNode(2,n)],4)}};DecisionTablePropertiesComponent$1.$inject=[`sheet`,`components`];function NullComponent$1(){return null}e(NullComponent$1,`NullComponent`);var Wi=500,DecisionTableProperties$1=class{static{e(this,`DecisionTableProperties`)}constructor(e){e.onGetComponent(`table.before`,Wi,()=>DecisionTablePropertiesComponent$1)}};DecisionTableProperties$1.$inject=[`components`];var Gi={__init__:[`decisionTableProperties`],decisionTableProperties:[`type`,DecisionTableProperties$1]},DecisionRulesIndexCellComponent=class extends Z{render(){let{row:e,rowIndex:t}=this.props,{components:n}=this.context,r=n.getComponents(`cell-inner`,{cellType:`rule-index`,row:e,rowIndex:t});return createVNode(1,`td`,`rule-index`,[r&&r.map(n=>createComponentVNode(2,n,{row:e,rowIndex:t})),t+1],0,{"data-element-id":e.id,"data-row-id":e.id})}},DecisionRuleIndices=class{constructor(e){e.onGetComponent(`cell`,({cellType:e})=>{if(e===`before-rule-cells`)return DecisionRulesIndexCellComponent})}};DecisionRuleIndices.$inject=[`components`];var Ki={__init__:[`decisionRuleIndices`],decisionRuleIndices:[`type`,DecisionRuleIndices]};D();var qi=[{label:`FEEL`,value:`feel`}],ExpressionLanguages=class{constructor(e){this._injector=e;let t=e.get(`config.expressionLanguages`)||{};this._config={options:qi,defaults:{editor:`feel`}},t.options&&(this._config.options=t.options);let n=this._getLegacyDefaults();A(this._config.defaults,n,t.defaults)}getDefault(e){let{defaults:t}=this._config,n=t[e]||t.editor;return this._getLanguageByValue(n)||this.getAll()[0]}getLabel(e){let t=this._getLanguageByValue(e);return t?t.label:e}getAll(){return this._config.options}_getLegacyDefaults(){let e={},t=this._injector,n=t.get(`config.defaultInputExpressionLanguage`),r=t.get(`config.defaultOutputExpressionLanguage`);return n&&(e.inputCell=n),r&&(e.outputCell=r),e}_getLanguageByValue(e){return k(this.getAll(),t=>e===t.value)}};ExpressionLanguages.$inject=[`injector`];var Ji={__init__:[`expressionLanguages`],expressionLanguages:[`type`,ExpressionLanguages]},FeelLanguageContext=class{constructor(e){this._feelLanguageContext=e}getConfig(){return this._feelLanguageContext}};FeelLanguageContext.$inject=[`config.feelLanguageContext`];var Yi={__init__:[`feelLanguageContext`],feelLanguageContext:[`type`,FeelLanguageContext]},DecisionRulesBodyComponent=class extends Z{render({rows:e,cols:t}){let{components:n}=this.context;return createVNode(1,`tbody`,null,e.map((e,r)=>{let i=n.getComponent(`row`,{rowType:`rule`});return i&&createComponentVNode(2,i,{row:e,rowIndex:r,cols:t},e.id)}),0)}},DecisionRulesRowComponent=class extends Z{constructor(e,t){super(e,t),mixin(this,zi)}render(){let{row:e,rowIndex:t,cols:n}=this.props,{cells:r}=e;return createVNode(1,`tr`,null,[this.slotFills({type:`cell`,context:{cellType:`before-rule-cells`,row:e,rowIndex:t}}),r.map((r,i)=>this.slotFill({type:`cell`,context:{cellType:`rule`,cell:r,rowIndex:t,colIndex:i},key:r.id,row:e,col:n[i]})),this.slotFills({type:`cell`,context:{cellType:`after-rule-cells`,row:e,rowIndex:t}})],0)}},DecisionRulesCellComponent=class extends Z{render(){let{cell:e,row:t,col:n}=this.props;return is$2(e,`dmn:UnaryTests`)?createComponentVNode(2,HeaderCell,{className:`input-cell`,elementId:e.id,"data-row-id":t.id,"data-col-id":n.id,children:e.businessObject.text}):createComponentVNode(2,HeaderCell,{className:`output-cell`,elementId:e.id,"data-row-id":t.id,"data-col-id":n.id,children:e.businessObject.text})}},Rules=class{constructor(e){e.onGetComponent(`table.body`,()=>DecisionRulesBodyComponent),e.onGetComponent(`row`,({rowType:e})=>{if(e===`rule`)return DecisionRulesRowComponent}),e.onGetComponent(`cell`,({cellType:e})=>{if(e===`rule`)return DecisionRulesCellComponent})}};Rules.$inject=[`components`];var Xi={__depends__:[Ji,Yi],__init__:[`decisionRules`],decisionRules:[`type`,Rules]},Zi=[{label:`Unique`,value:{hitPolicy:`UNIQUE`,aggregation:void 0},explanation:`No overlap is possible and all rules are disjoint. Only a single rule can be matched`},{label:`First`,value:{hitPolicy:`FIRST`,aggregation:void 0},explanation:`Rules may overlap. The first matching rule will be chosen`},{label:`Priority`,value:{hitPolicy:`PRIORITY`,aggregation:void 0},explanation:`Rules may overlap. The one with the highest priority will be chosen`},{label:`Any`,value:{hitPolicy:`ANY`,aggregation:void 0},explanation:`Rules may overlap. Their output have to match`},{label:`Collect`,value:{hitPolicy:`COLLECT`,aggregation:void 0},explanation:`Collects the values of all matching rules`},{label:`Collect (Sum)`,value:{hitPolicy:`COLLECT`,aggregation:`SUM`},explanation:`Collects the values of all matching rules and sums up to a single value`},{label:`Collect (Min)`,value:{hitPolicy:`COLLECT`,aggregation:`MIN`},explanation:`Collects the values of all matching rules and uses the lowest value`},{label:`Collect (Max)`,value:{hitPolicy:`COLLECT`,aggregation:`MAX`},explanation:`Collects the values of all matching rules and uses the highest value`},{label:`Collect (Count)`,value:{hitPolicy:`COLLECT`,aggregation:`COUNT`},explanation:`Collects the values of all matching rules and counts the number of them`},{label:`Rule order`,value:{hitPolicy:`RULE ORDER`,aggregation:void 0},explanation:`Collects the values of all matching rules in rule order`},{label:`Output order`,value:{hitPolicy:`OUTPUT ORDER`,aggregation:void 0},explanation:`Collects the values of all matching rules in decreasing output priority order`}];D();var HitPolicy=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),inject(this)}getRoot(){return this.sheet.getRoot()}render(){let{aggregation:e,hitPolicy:t}=this.getRoot().businessObject,n=k(Zi,n=>isEqualHitPolicy$1(n.value,{aggregation:e,hitPolicy:t}));return createVNode(1,`div`,`hit-policy header`,[createVNode(1,`label`,`dms-label`,this._translate(`Hit policy:`),0),createVNode(1,`span`,`hit-policy-value`,this._translate(n.label),0)],4,{title:this._translate(n.explanation)})}};HitPolicy.$inject=[`sheet`];function isEqualHitPolicy$1(e,t){return e.hitPolicy===t.hitPolicy&&e.aggregation===t.aggregation}e(isEqualHitPolicy$1,`isEqualHitPolicy`);function HitPolicyProvider(e){e.onGetComponent(`hit-policy`,()=>HitPolicy)}HitPolicyProvider.$inject=[`components`];var Qi={__init__:[`hitPolicyProvider`],hitPolicyProvider:[`type`,HitPolicyProvider]},ViewDrdComponent$2=class extends Z{static{e(this,`ViewDrdComponent`)}constructor(e,t){super(e,t);let{injector:n}=t;this._translate=n.get(`translate`),this._eventBus=n.get(`eventBus`)}onClick=()=>{this._eventBus.fire(`showDrd`)};render(){return createVNode(1,`div`,`view-drd`,createVNode(1,`button`,`view-drd-button`,this._translate(`View DRD`),0,{type:`button`,onClick:this.onClick}),2,null,null,e=>this.node=e)}},ViewDrd$2=class{static{e(this,`ViewDrd`)}constructor(e,t,n,r){this._injector=n,this._sheet=r,e.onGetComponent(`table.before`,()=>{if(this.canViewDrd())return ViewDrdComponent$2}),t.on(`showDrd`,()=>{let e=n.get(`_parent`,!1),t=getDefinitions$1(r.getRoot());if(!t)return;let i=e.getView(t);e.open(i)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);if(!e)return!1;let t=getDefinitions$1(this._sheet.getRoot());return!!e.getView(t)}};ViewDrd$2.$inject=[`components`,`eventBus`,`injector`,`sheet`];function getDefinitions$1(e){let{businessObject:t}=e;if(t)return t.$parent.$parent}e(getDefinitions$1,`getDefinitions`);var $i={__init__:[`viewDrd`],viewDrd:[`type`,ViewDrd$2]},PoweredBy$2=class{static{e(this,`PoweredBy`)}constructor(e){e.onGetComponent(`table.before`,()=>PoweredByComponent)}};PoweredBy$2.$inject=[`components`];var ea={__init__:[`poweredBy`],poweredBy:[`type`,PoweredBy$2]};D();var ta=class Viewer$3 extends Li{static{e(this,`Viewer`)}constructor(e={}){let t=Viewer$3._createContainer();super(A(e,{renderer:{container:t}})),this._container=t}open(e){var t=this;return new Promise((n,r)=>{var i;try{return t._decision&&t.clear(),t._decision=e,importDecision(t,e,function(e,t){e?(e.warnings=t||[],r(e)):n({warnings:t||[]})})}catch(e){i=e}i?(i.warnings=i.warnings||[],r(i)):n({warnings:[]})})}_init(e){let{modules:t,additionalModules:n,...r}=e,i=t||this.getModules(),a=n||[],o=[{decisionTable:[`value`,this]}];return{modules:[ea,...i,...a,...o],config:r}}on(e,t,n,r){return this.get(`eventBus`).on(e,t,n,r)}off(e,t){this.get(`eventBus`).off(e,t)}_emit(e,t){return this.get(`eventBus`).fire(e,t)}attachTo(e){if(!e)throw Error(`parentNode required`);this.detach();let t=this._container;e.appendChild(t),this._emit(`attach`,{})}detach(){let e=this._container;e.parentNode&&(this._emit(`detach`,{}),Nn(e))}destroy(){super.destroy(),this.detach()}getModules(){return Viewer$3._getModules()}static _getModules(){return[Vi,Hi,L,Ui,Gi,Ki,Xi,Qi,$i]}static _createContainer(){return W(`<div class="dmn-decision-table-container bio-theme-parent"></div>`)}},AddRuleFootComponent=class extends Z{constructor(e,t){super(e,t),inject(this),this.addRule=this.addRule.bind(this)}componentWillMount(){this._eventBus=this.context.injector.get(`eventBus`)}handleClick=e=>{e.stopPropagation(),this.addRule(e.target.dataset.colIndex)};addRule(e){this._eventBus.fire(`addRule`,{colIndex:e})}render(){let{cols:e}=this.props,t=[createVNode(1,`td`,`add-rule-add`,createVNode(1,`button`,`dmn-icon-plus action-icon`,null,1,{title:this.translate(`Add rule`)}),2)],{businessObject:n}=this.sheet.getRoot();(!n.input||!n.input.length)&&t.push(createVNode(1,`td`,`input-cell`,createTextVNode(`-`),2));for(let n=0;n<e.length+1;n++){let r=`add-rule`,i=e[n]&&e[n].businessObject,a=``;i?(i.$instanceOf(`dmn:InputClause`)&&(r+=` input-cell`,a=`-`),i.$instanceOf(`dmn:OutputClause`)&&(r+=` output-cell`)):r+=` annotation`,t.push(createVNode(1,`td`,r,a,0,{"data-col-index":n}))}return createVNode(1,`tfoot`,`actionable add-rule`,createVNode(1,`tr`,null,t,0),2,{onClick:this.handleClick})}};AddRuleFootComponent.$inject=[`sheet`,`translate`];var AddRule=class{constructor(e,t,n,r){e.onGetComponent(`table.foot`,()=>AddRuleFootComponent),n.on(`addRule`,(e,n)=>{let i=t.trigger(`addRule`),a=n.colIndex;i.cells[a]?r.select(i.cells[a]):r.select(i.cells[0])})}};AddRule.$inject=[`components`,`editorActions`,`eventBus`,`selection`],D();var Selection=class{constructor(e,t,n){this._elementRegistry=e,this._eventBus=t,this._renderer=n,this._selection=void 0,t.on(`diagram.clear`,()=>{this._selection=void 0})}select(e){fe(e)&&(e=this._elementRegistry.get(e));let t=this._selection;t!==e&&(this._selection=e,this._eventBus.fire(`selection.changed`,{oldSelection:t,selection:e}))}deselect(){let e=this._selection;this._selection=void 0,this._eventBus.fire(`selection.changed`,{oldSelection:e,selection:this._selection})}get(){return this._selection}hasSelection(){return!!this._selection}};Selection.$inject=[`elementRegistry`,`eventBus`,`renderer`];var SelectionBehavior=class{constructor(e,t,n,r){this._elementRegistry=e,this._renderer=n,this._selection=r,t.on([`cell.click`,`cell.contextmenu`],({id:t})=>{let n=e.get(t);n&&r.select(n)}),t.on(`row.remove`,({row:e})=>{let t=r.get();t&&e===t.row&&r.deselect()}),t.on(`col.remove`,({col:e})=>{let t=r.get();t&&e===t.col&&r.deselect()})}};SelectionBehavior.$inject=[`elementRegistry`,`eventBus`,`renderer`,`selection`];var na={__init__:[`selection`,`selectionBehavior`],selection:[`type`,Selection],selectionBehavior:[`type`,SelectionBehavior]};function _defineProperty$2(e,t,n){return(t=_toPropertyKey$2(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(_defineProperty$2,`_defineProperty`);function _toPropertyKey$2(e){var t=_toPrimitive$2(e,`string`);return typeof t==`symbol`?t:t+``}e(_toPropertyKey$2,`_toPropertyKey`);function _toPrimitive$2(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}e(_toPrimitive$2,`_toPrimitive`);var ra=[`click`,`dblclick`,`contextmenu`,`mousedown`,`mouseup`,`mouseenter`,`mouseleave`,`mouseout`,`mouseover`,`mousemove`,`focusin`,`focusout`,`drag`,`dragstart`,`dragend`,`dragover`,`dragenter`,`dragleave`,`drop`],InteractionEvents=class{constructor(e,t){_defineProperty$2(this,`_handleEvent`,e=>{let{target:t,type:n}=e,r=findClosestCell(t);if(!r)return;let i=r.getAttribute(`data-element-id`);if(i){let t=this._eventBus.createEvent({id:i,event:e,node:r,target:r});this._eventBus.fire(`cell.${n}`,t),t.defaultPrevented&&e.preventDefault(),t.cancelBubble&&e.stopPropagation()}}),this._eventBus=t,this._container=e.container,t.on(`table.init`,()=>{this._addEventListeners(ra)}),t.on(`table.destroy`,()=>{this._removeEventListeners(ra)})}_addEventListeners(e){let t=this._container;e.forEach(e=>{t.addEventListener(e,this._handleEvent)})}_removeEventListeners(e){let t=this._container;e.forEach(e=>{t.removeEventListener(e,this._handleEvent)})}};InteractionEvents.$inject=[`config.renderer`,`eventBus`];function findClosestCell(e){return B(e,`[data-element-id]`,!0)}var ia={__init__:[`interactionEvents`],interactionEvents:[`type`,InteractionEvents]},aa=t(n(((e,t,n)=>{(function(n,r){typeof e==`object`?t.exports=r(n):typeof define==`function`&&define.amd?define([],r.bind(n,n)):r(n)})(typeof global<`u`?global:n,function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var cssEscape=function(e){if(arguments.length==0)throw TypeError("`CSS.escape` requires an argument.");for(var t=String(e),n=t.length,r=-1,i,a=``,o=t.charCodeAt(0);++r<n;)i=t.charCodeAt(r),a+=i==0?`�`:i>=1&&i<=31||i==127||r==0&&i>=48&&i<=57||r==1&&i>=48&&i<=57&&o==45?`\\`+i.toString(16)+` `:r==0&&n==1&&i==45?`\\`+t.charAt(r):i>=128||i==45||i==95||i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122?t.charAt(r):`\\`+t.charAt(r);return a};return e.CSS||={},e.CSS.escape=cssEscape,cssEscape})}))());function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var oa,sa;function requireComponentXor(){if(sa)return oa;sa=1,oa=xor;function xor(e,t){return e^t}return oa}var componentProps,ca;function requireComponentProps(){if(ca)return componentProps;ca=1;var e=/\b(Array|Date|Object|Math|JSON)\b/g;componentProps=function(e,t){var n=unique(props(e));return t&&typeof t==`string`&&(t=prefixed(t)),t?map(e,n,t):n};function props(t){return t.replace(/\.\w+|\w+ *\(|"[^"]*"|'[^']*'|\/([^/]+)\//g,``).replace(e,``).match(/[a-zA-Z_]\w*/g)||[]}function map(e,t,n){return e.replace(/\.\w+|\w+ *\(|"[^"]*"|'[^']*'|\/([^/]+)\/|[a-zA-Z_]\w*/g,function(e){return e[e.length-1]==`(`||~t.indexOf(e)?n(e):e})}function unique(e){for(var t=[],n=0;n<e.length;n++)~t.indexOf(e[n])||t.push(e[n]);return t}function prefixed(e){return function(t){return e+t}}return componentProps}var la,ua;function requireDomIterator(){if(ua)return la;ua=1;var e=requireComponentXor(),t=requireComponentProps();la=Iterator;function Iterator(e,t){if(!(this instanceof Iterator))return new Iterator(e,t);if(this.node=this.start=this.peeked=e,this.root=t,this.closingTag=!1,this._revisit=!0,this._selects=[],this._rejects=[],e&&this.higher(e))throw Error(`root must be a parent or ancestor to node`)}Iterator.prototype.reset=function(e){return this.node=e||this.start,this},Iterator.prototype.revisit=function(e){return this._revisit=e??!0,this},Iterator.prototype.opening=function(){return this.node.nodeType==1&&(this.closingTag=!1),this},Iterator.prototype.atOpening=function(){return!this.closingTag},Iterator.prototype.closing=function(){return this.node.nodeType==1&&(this.closingTag=!0),this},Iterator.prototype.atClosing=function(){return this.closingTag},Iterator.prototype.next=traverse(`nextSibling`,`firstChild`),Iterator.prototype.previous=Iterator.prototype.prev=traverse(`previousSibling`,`lastChild`);function traverse(t,n){var r=t==`nextSibling`;return function walk(i,a,o){i=this.compile(i),a=a&&a>0?a:1;for(var s=this.node,c=this.closingTag,l=this._revisit;s;){if(e(r,c)&&s[n])s=s[n],c=!r;else if(s.nodeType==1&&!s[n]&&e(r,c)){if(c=r,!l)continue}else if(s[t])s=s[t],c=!r;else if(s=s.parentNode,c=r,!l)continue;if(!s||this.higher(s,this.root))break;if(i(s)&&this.selects(s,o)&&this.rejects(s,o)){if(--a)continue;return o||(this.node=s),this.closingTag=c,s}}return null}}return Iterator.prototype.select=function(e){return e=this.compile(e),this._selects.push(e),this},Iterator.prototype.selects=function(e,t){var n=this._selects,r=n.length;if(!r)return!0;for(var i=0;i<r;i++)if(n[i].call(this,e,t))return!0;return!1},Iterator.prototype.reject=function(e){return e=this.compile(e),this._rejects.push(e),this},Iterator.prototype.rejects=function(e,t){var n=this._rejects,r=n.length;if(!r)return!0;for(var i=0;i<r;i++)if(n[i].call(this,e,t))return!1;return!0},Iterator.prototype.higher=function(e){var t=this.root;if(!t)return!1;for(e=e.parentNode;e&&e!=t;)e=e.parentNode;return e!=t},Iterator.prototype.compile=function(e){switch(typeof e){case`number`:return function(t){return e==t.nodeType};case`string`:return Function(`node`,`Object.freeze(node); return `+t(e,`node.`));case`function`:return e;default:return function(){return!0}}},Iterator.prototype.peak=Iterator.prototype.peek=function(e,t){return arguments.length==1&&(t=e,e=!0),t??=1,t?t>0?this.next(e,t,!0):this.prev(e,Math.abs(t),!0):this.node},Iterator.prototype.use=function(e){return e(this),this},la}var da=getDefaultExportFromCjs(requireDomIterator()),fa=window.getSelection();function applyRange(e){fa?.removeAllRanges(),fa?.addRange(e)}function getWindowSelection(){return fa}function isSelected(e){if(!fa?.rangeCount)return null;var t=fa.focusNode;return isText(t)&&(t=t.parentNode),e==t||e.contains(t)}function setRange(e,t){applyRange(createRange$1(e,t))}function getRange(e){if(!isSelected(e))return null;var t=fa.getRangeAt(0),n=t.startContainer,r=t.endContainer,i=t.startOffset,a=t.endOffset,o=da(e.firstChild,e),s=o.node,c,l=!1,u,d=0;function isBeforeEnd(e,t){return arguments.length===1&&(t=e),e.parentNode===r&&t==r.childNodes[a]}function isBeforeStart(e,t){return arguments.length===1&&(t=e),e.parentNode===n&&t==n.childNodes[i]}for(;s&&(isBeforeStart(s)&&!l&&(u=d),!(isBeforeEnd(s)||isBr(s)&&r===s));){if(l||(isBr(s)||c&&c.nextSibling==s&&(isDiv(s)||isParagraph(s)))&&d++,isText(s)){if(n===s&&(u=d+i),r===s){d+=a;break}d+=s.textContent.length}if((isText(s)||l)&&(isBeforeStart(s,s.nextSibling)&&(u=d),isBeforeEnd(s,s.nextSibling)))break;c=s,s=o.next(),l=o.closingTag}return{start:u===void 0?d:u,end:d}}function createRange$1(e,t){for(var n=t.start,r=t.end,i=document.createRange(),a=da(e.firstChild,e),o=a.node,s=!1,c=0,l;o;){if(c===n&&(s?i.setStartAfter(o):i.setStartBefore(o)),c===r)return s?i.setEndAfter(o):i.setEndBefore(o),i;if(s||(isBr(o)||o.previousSibling&&(isDiv(o)||isParagraph(o)))&&c++,isText(o)){if(l=o.textContent.length,c<=n&&c+l>n&&i.setStart(o,n-c),c+l>r)return i.setEnd(o,r-c),i;c+=l}o=a.next(),s=a.closingTag}return c<=n&&(e.lastChild?i.setStartAfter(e.lastChild):i.setStart(e,0)),e.lastChild?i.setEndAfter(e.lastChild):i.setEnd(e,0),i}e(createRange$1,`createRange`);function isText(e){return e.nodeType===3}function isBr(e){return e.nodeType===1&&e.nodeName===`BR`}function isDiv(e){return e.nodeType===1&&e.nodeName===`DIV`}function isParagraph(e){return e.nodeType===1&&e.nodeName===`P`}var pa=`[contenteditable]`,ma=`[data-element-id]`;function getElementId(e){return e.getAttribute(`data-element-id`)}function getElementCoords(e){let t=e.getAttribute(`data-coords`);if(!t)return null;let[n,r]=t.split(`:`);return{row:n,col:r}}function getNodeByCoords(e,t){let n=`${e.row}:${e.col}`;return G(`[data-coords="${(0,aa.default)(n)}"]`,t)}function getNodeById(e,t){return G(`[data-element-id="${(0,aa.default)(e)}"]`,t)}function isUnselectableNode(e){return B(e,`.no-deselect`,!0)}function findSelectableAncestor(e){return B(e,ma,!0)}function getFocusableNode(e){let t=pa;return jn(e,t)?e:G(t,e)}function ensureFocus$1(e){let t=getFocusableNode(e);if(!t||!document.body.contains(t)||document.activeElement===t)return;t.focus();let n=getRange(t);(!n||n.end===0)&&window.getSelection().setPosition(t.firstChild,t.firstChild.length)}e(ensureFocus$1,`ensureFocus`);var ha=500,ga={above:!0,below:!0,right:!0,left:!0};function CellSelection(e,t,n,r,i){let{container:a}=e,o=null;function emit(e,n){t.fire(`selection.`+e+`.changed`,n),t.fire(`cellSelection.changed`,{elementId:e,selection:n})}function click(e){let t=e.target;if(isUnselectableNode(t))return;let n=findSelectableAncestor(t);realSelect(n&&getElementId(n),!e.defaultPrevented)}function focus(e){let t=getElementId(e.target),n=!e.defaultPrevented;return e.stopPropagation(),realSelect(t,n)}function unfocus(e){emit(getElementId(e.target),{focussed:!1})}function realSelect(e,t=!0){o!==e&&emit(o,{selected:!1,focussed:!1}),o=e,e&&emit(e,{selected:!0,focussed:t}),e?r.select(e):r.deselect()}t.on(`cell.click`,ha,click),t.on(`cell.focusin`,ha,focus),t.on(`cell.focusout`,ha,unfocus),t.on(`cellSelection.changed`,function(e){let{elementId:t,selection:n}=e,r=getNodeById(t,a);n.focussed&&r&&ensureFocus$1(r)}),t.on(`selection.changed`,function(e){let{selection:t,oldSelection:n}=e;var r=t&&t.id,i=n&&n.id;r&&r!==o?realSelect(t.id):i&&i===o&&realSelect()}),this.isCellSelected=function(){return!!o},this.getCellSelection=function(){return o},this.selectCell=function(e){if(!o)return;if(!(e in ga))throw Error(`direction must be any of { above, below, left, right }`);let t=getElementCoords(getNodeById(o,a));if(!t)return!1;let n=getNodeByCoords(getNextCoords(t,e),a);if(!n)return!1;let r=getElementId(n);return r&&realSelect(r,{focussed:!0,selected:!0}),!0},t.on(`contextMenu.close`,function(){if(o)return realSelect(o)})}CellSelection.$inject=[`config.renderer`,`eventBus`,`sheet`,`selection`,`elementRegistry`];function getNextCoords(e,t){let{row:n,col:r}=e;if(t===`above`||t===`below`){let i=parseInt(n,10);return isNaN(i)?e:{col:r,row:t===`above`?i-1:i+1}}if(t===`left`||t===`right`){let i=parseInt(r,10);return isNaN(i)?e:{row:n,col:t===`left`?i-1:i+1}}throw Error(`invalid direction <`+t+`>`)}var _a={__depends__:[ia,na],__init__:[`cellSelection`],cellSelection:[`type`,CellSelection]};D();var va=2e3,DecisionTableModelingRules=class extends Dt{constructor(e,t){super(e),this._sheet=t}init(){this.addRule(`col.move`,va,({col:e,index:t})=>{let{businessObject:n}=this._sheet.getRoot(),{input:r}=n;return isInput(e)?t<r.length:t>=r.length}),this.addRule(`col.remove`,va,({col:e})=>{let{cols:t}=this._sheet.getRoot();return!isOutput(e)||t.filter(e=>isOutput(e)).length>1}),this.addRule(`paste`,va,({data:e,target:t})=>{if(!e||!t)return!1;let{root:n}=e;return t instanceof Row?this.canPasteRows(n):t instanceof Col&&this.canPasteCols(n,t)})}canPasteRows(e){let{cols:t}=this._sheet.getRoot();return ae(e,e=>e.type!==`row`||e.cells.length!==t.length?!1:ae(e.cells,(e,n)=>isInput(t[n])?e.businessObject.$type===`dmn:UnaryTests`:e.businessObject.$type===`dmn:LiteralExpression`))}canPasteCols(e,t){let{rows:n}=this._sheet.getRoot();return ae(e,e=>e.type!==`col`||e.cells.length!==n.length?!1:isInput(t)?e.businessObject.$type===`dmn:InputClause`:e.businessObject.$type===`dmn:OutputClause`)}};DecisionTableModelingRules.$inject=[`eventBus`,`sheet`];var ya={__depends__:[{__depends__:[dn]}],__init__:[`decisionTableModelingRules`],decisionTableModelingRules:[`type`,DecisionTableModelingRules]},CutHandler=class{constructor(e,t,n){this._clipboard=e,this._modeling=t,this._sheet=n}execute(e){let{data:t}=e;return e.oldData=this._clipboard.get(),this._clipboard.set(t),this._sheet.getRoot()}postExecute(e){let{elements:t}=e;t.forEach(e=>{e instanceof Row?this._modeling.removeRow(e):e instanceof Col&&this._modeling.removeCol(e)})}revert(e){let{oldData:t}=e;return this._clipboard.set(t),this._sheet.getRoot()}};CutHandler.$inject=[`clipboard`,`modeling`,`sheet`],D();var ba=[copyTableProperties,copyBusinessObjectProperties],xa=[reviveBusinessObject,reviveTableElement];function createDescriptor(e,t,n){return n||=ba,t||={},T(e)?createDescriptors0(e,t,n):createDescriptor0(e,t,n)}function createDescriptors0(e,t,n){return E(e,(e,t)=>{var r=e.descriptorCache,i=e.root;let{root:a,descriptorCache:o}=createDescriptor0(t,r,n);return{root:[...i,a],descriptorCache:{...r,...o}}},{root:[],descriptorCache:t})}function createDescriptor0(e,t,n){var r=e.id,i={id:r},a=t.elements||{},o=a[r];if(o)return{root:o,descriptorCache:t};let s=evaluateHooks(e,i,n,{...t,elements:a});return{root:s.root,descriptorCache:{...s.descriptorCache,elements:{...s.descriptorCache.elements,[r]:s.root}}}}function evaluateHooks(e,t,n,r){function create(e,t){return createDescriptor(e,t,n)}return E(n,function(t,n){return n(e,t.root,t.descriptorCache,create)},{root:t,descriptorCache:r})}function copyTableProperties(e,t,n,r){var i=n,a={...t,type:getType(e)};if(e instanceof Row||e instanceof Col){let t=r(e.cells,i);a.cells=t.root,i=t.descriptorCache}return{root:a,descriptorCache:i}}function copyBusinessObjectProperties(e,t,n){var r=e.businessObject;if(!r)return{root:t,descriptorCache:n};var i=createBoDescriptor(r,n);return{root:{...t,businessObject:i.root},descriptorCache:i.descriptorCache}}function getType(e){if(e instanceof Row)return`row`;if(e instanceof Col)return`col`;if(e instanceof Cell)return`cell`;throw Error(`cannot deduce element type: #`+e.id)}function createBoDescriptor(e,t){var n,r,i=e.id;if(i&&(n=t.boCache||{},r=n[i],r))return{root:r,descriptorCache:t};var a={$type:e.$type};return i&&(a.id=i,n={...n,[i]:a},t={...t,boCache:n}),e.$descriptor.properties.forEach(function(n){var r=e[n.name];if(r){if(T(r)&&(r=r.map(e=>{var n=createBoDescriptor(e,t);return t=n.descriptorCache,n.root})),r.$type){let e=createBoDescriptor(r,t);t=e.descriptorCache,r=e.root}a[n.name]=r}}),{root:a,descriptorCache:t}}function reviveDescriptor(e,t,n){return n||=xa,t||={},T(e.root)?reviveDescriptors0(e,t,n):reviveDescriptor0(e,t,n)}function reviveDescriptors0(e,t,n){let r=e.root,i=e.descriptorCache;return E(r,(e,t)=>{var r=e.reviveCache,a=e.root;let{root:o,reviveCache:s}=reviveDescriptor0({root:t,descriptorCache:i},r,n);return{root:[...a,o],reviveCache:s}},{root:[],reviveCache:t})}function reviveDescriptor0(e,t,n){var r=e.root.id,i=t.elements||{},a=i[r];if(a)return{root:a,reviveCache:t};let o=evaluateReviveHooks(e,{id:r},n,{...t,elements:i});return{root:o.root,reviveCache:{...o.reviveCache,elements:{...o.reviveCache.elements,[r]:o.root}}}}function evaluateReviveHooks(e,t,n,r){function revive(e,t){return reviveDescriptor(e,t,n)}return E(n,function(t,n){return n(e,t.root,t.reviveCache,revive)},{root:t,reviveCache:r})}function reviveTableElement(e,t,n,r){var i=e.root,a=e.descriptorCache,o={...t};if(t.businessObject&&t.businessObject.id&&(o.id=t.businessObject.id),i.type===`row`||i.type===`col`){let e=r({root:i.cells,descriptorCache:a},n);o.cells=e.root,n=e.reviveCache}var s=new(getConstructor(i))(o);return s instanceof Row?s.cells.forEach(e=>{e.row=s}):s instanceof Col&&s.cells.forEach(e=>{e.col=s}),{root:s,reviveCache:n}}function reviveBusinessObject(e,t,n){var r=e.root.businessObject;if(!r)return{root:t,reviveCache:n};var i=createBo({root:r,descriptorCache:e.descriptorCache},n);return{root:{...t,businessObject:i.root},reviveCache:i.reviveCache}}function getConstructor(e){switch(e.type){case`row`:return Row;case`cell`:return Cell;case`col`:return Col;default:throw Error(`unknown element type: #`+e.type)}}function createBo(e,t){var n=e.root,r=n.id;let i,a;if(r&&(i=t.boCache||{},a=i[r],a))return{root:a,reviveCache:t};var o={};S(n).forEach(e=>{let r,a;n[e].$type?(a=createBo({root:n[e]},t),r=a.root,t=a.reviveCache,i=t.boCache||{}):r=T(n[e])?n[e].map(e=>(a=createBo({root:e},t),t=a.reviveCache,i=t.boCache||{},a.root)):n[e],o[e]=r});let s=o.$type;delete o.$type,(!t._keepIds||t._model.ids.assigned(o.id))&&delete o.id;var c=t._dmnFactory.create(s,o);return j(o,e=>{e.$type&&(e.$parent=c),T(e)&&e.forEach(e=>e.$parent=c)}),r&&(i={...i,[r]:c},t={...t,boCache:i}),{root:c,reviveCache:t}}var PasteHandler=class{constructor(e,t,n,r,i,a,o,s){this._clipboard=e,this._dmnFactory=t,this._elementFactory=n,this._elementRegistry=r,this._eventBus=i,this._model=a,this._modeling=o,this._sheet=s}postExecute(e){let{element:t,after:n}=e,r=this._clipboard.get();if(!r)throw Error(`missing clipboard data`);let i=this._sheet.getRoot(),a=reviveDescriptor(r.elements,{_dmnFactory:this._dmnFactory,_keepIds:r.keepIds,_model:this._model}).root;if(t instanceof Row){let e=i.rows.indexOf(t);if(e===-1)return;a.forEach(t=>{n&&e++,this._modeling.addRow(t,e)})}else if(t instanceof Col){let e=i.cols.indexOf(t);if(e===-1)return;a.forEach(t=>{n&&e++,this._modeling.addCol(t,e)})}return e.oldElements=this._clipboard.get(),this._sheet.getRoot()}revert(e){}};PasteHandler.$inject=[`clipboard`,`dmnFactory`,`elementFactory`,`elementRegistry`,`eventBus`,`moddle`,`modeling`,`sheet`],D();var CutPaste=class{constructor(e,t,n,r,i,a){this._clipboard=e,this._commandStack=t,this._eventBus=n,this._modeling=r,this._sheet=i,this._rules=a,t.registerHandler(`cut`,CutHandler),t.registerHandler(`paste`,PasteHandler)}copy(e){T(e)||(e=[e]);let t={elements:createDescriptor(e)};this._eventBus.fire(`copyCutPaste.copy`,{data:t}),this._clipboard.set(t)}cut(e){T(e)||(e=[e]);let t={elements:createDescriptor(e),keepIds:!0},n={elements:e,data:t};this._eventBus.fire(`copyCutPaste.cut`,{data:t}),this._commandStack.execute(`cut`,n)}pasteBefore(e){return this._paste(e,{before:!0})}pasteAfter(e){return this._paste(e,{after:!0})}_paste(e,t){let n=this._clipboard.get();if(n)return this._rules.allowed(`paste`,{data:n.elements,target:e})?(this._commandStack.execute(`paste`,{element:e,...t}),this._clipboard.clear(),!0):!1}pasteAt(e){}};CutPaste.$inject=[`clipboard`,`commandStack`,`eventBus`,`modeling`,`sheet`,`rules`];var Sa={__depends__:[Ct,ya],__init__:[`copyCutPaste`],copyCutPaste:[`type`,CutPaste]},DecisionTableEditorActions=class{constructor(e,t,n,r,i,a){let o={addRule(){return n.addRow({type:`dmn:DecisionRule`})},addRuleAbove(e){let t=e&&e.rule;if(!t&&!r.hasSelection())return;t||=r.get().row;let i=a.getRoot().rows.indexOf(t);if(i!==-1)return n.addRow({type:`dmn:DecisionRule`},i)},addRuleBelow(e){let t=e&&e.rule;if(!t&&!r.hasSelection())return;t||=r.get().row;let i=a.getRoot().rows.indexOf(t);if(i!==-1)return n.addRow({type:`dmn:DecisionRule`},i+1)},removeRule(e){let t=e&&e.rule;(t||r.hasSelection())&&(t||=r.get().row,n.removeRow(t))},addInput(){let{input:e}=a.getRoot().businessObject;return n.addCol({type:`dmn:InputClause`},e?e.length:0)},addInputLeft(e){let t=e&&e.input;if(!t&&!r.hasSelection())return;t||=r.get().col;let i=a.getRoot().cols.indexOf(t);if(i!==-1)return n.addCol({type:`dmn:InputClause`},i)},addInputRight(e){let t=e&&e.input;if(!t&&!r.hasSelection())return;t||=r.get().col;let i=a.getRoot().cols.indexOf(t);if(i!==-1)return n.addCol({type:`dmn:InputClause`},i+1)},removeInput(e){let t=e&&e.input;(t||r.hasSelection())&&(t||=r.get().col,n.removeCol(t))},addOutput(){let e=a.getRoot().businessObject,t=e.get(`input`),r=e.get(`output`);return n.addCol({type:`dmn:OutputClause`},t.length+r.length)},addOutputLeft(e){let t=e&&e.output;if(!t&&!r.hasSelection())return;t||=r.get().col;let i=a.getRoot().cols.indexOf(t);if(i!==-1)return n.addCol({type:`dmn:OutputClause`},i)},addOutputRight(e){let t=e&&e.output;if(!t&&!r.hasSelection())return;t||=r.get().col;let i=a.getRoot().cols.indexOf(t);if(i!==-1)return n.addCol({type:`dmn:OutputClause`},i+1)},removeOutput(e){let t=e&&e.output;(t||r.hasSelection())&&(t||=r.get().col,n.removeCol(t))},addClause(){if(!r.hasSelection())return;let e=r.get().col;if(is$2(e,`dmn:InputClause`))return o.addInput({input:e});if(is$2(e,`dmn:OutputClause`))return o.addOutput({output:e})},addClauseLeft(){if(!r.hasSelection())return;let e=r.get().col;if(is$2(e,`dmn:InputClause`))return o.addInputLeft({input:e});if(is$2(e,`dmn:OutputClause`))return o.addOutputLeft({output:e})},addClauseRight(){if(!r.hasSelection())return;let e=r.get().col;if(is$2(e,`dmn:InputClause`))return o.addInputRight({input:e});if(is$2(e,`dmn:OutputClause`))return o.addOutputRight({output:e})},removeClause(){if(!r.hasSelection())return;let e=r.get().col;if(is$2(e,`dmn:InputClause`))return o.removeInput({input:e});if(is$2(e,`dmn:OutputClause`))return o.removeOutput({output:e})},selectCellAbove(){return i.selectCell(`above`)},selectCellBelow(){return i.selectCell(`below`)},copy({element:t}){e.copy(t)},cut({element:t}){e.cut(t)},pasteBefore({element:t}){return e.pasteBefore(t)},pasteAfter({element:t}){return e.pasteAfter(t)}};t.register(o)}};DecisionTableEditorActions.$inject=[`copyCutPaste`,`editorActions`,`modeling`,`selection`,`cellSelection`,`sheet`],D();var Ca=`is not a registered action`,wa=`is already registered`,EditorActions$2=class{static{e(this,`EditorActions`)}constructor(e,t,n,r){this._actions={undo(){e.undo()},redo(){e.redo()},select({cell:e}){r.select(e)},deselect(){r.deselect()},addRow({attrs:e,index:t}){n.addRow(e,t)},removeRow({row:e}){n.removeRow(e)},moveRow({row:e,index:t}){n.moveRow(e,t)},addCol({attrs:e,index:t}){n.addCol(e,t)},removeCol({col:e}){n.removeCol(e)},moveCol({col:e,index:t}){n.moveCol(e,t)}}}trigger(e,t){if(!this._actions[e])throw error$2(e,Ca);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);j(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error$2(e,wa);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error$2(e,Ca);this._actions[e]=void 0}isRegistered(e){return!!this._actions[e]}};EditorActions$2.$inject=[`commandStack`,`eventBus`,`modeling`,`selection`];function error$2(e,t){return Error(e+` `+t)}e(error$2,`error`);var Ta={__depends__:[na],__init__:[`editorActions`],editorActions:[`type`,EditorActions$2]},Ea={__depends__:[_a,Sa,Ta,na],__init__:[`decisionTableEditorActions`],decisionTableEditorActions:[`type`,DecisionTableEditorActions]},Da={__depends__:[Ea],__init__:[`addRule`],addRule:[`type`,AddRule]},Oa=t(n(((e,t)=>{var n=/["'&<>]/;t.exports=escapeHtml;function escapeHtml(e){var t=``+e,r=n.exec(t);if(!r)return t;var i,a=``,o=0,s=0;for(o=r.index;o<t.length;o++){switch(t.charCodeAt(o)){case 34:i=`"`;break;case 38:i=`&`;break;case 39:i=`'`;break;case 60:i=`<`;break;case 62:i=`>`;break;default:continue}s!==o&&(a+=t.substring(s,o)),s=o+1,a+=i}return s===o?a:a+t.substring(s,o)}}))());function calculateUpdate(e,t,n){var r=e.start,i=r,a=t.substring(r);n.lastIndexOf(a)===n.length-a.length&&(t=t.substring(0,t.length-a.length),n=n.substring(0,n.length-a.length));var o=createDiff(t,n);return o&&(i=o.type===`remove`?o.newStart:o.newEnd),createRange(i)}function createDiff(e,t){var n,r,i,a=0,o,s,c=0;for(t.length>e.length?(r=t,o=e):(r=e,o=t);a<r.length;)i=r.charAt(a),s=o.charAt(c),i===s?(n&&!n.complete&&(n.l_end=a,n.s_end=c,n.complete=!0),c++,a++):(n||={l_start:a,s_start:c},a++);if(n&&!n.complete&&(n.complete=!0,n.s_end=o.length,n.l_end=r.length),n)return t.length>e.length?{newStart:n.l_start,newEnd:n.l_end,type:`add`}:{newStart:n.s_start,newEnd:n.s_end,type:t.length<e.length?`remove`:`replace`}}function createRange(e,t){return{start:e,end:t===void 0?e:t}}var ContentEditable=class extends Z{constructor(e,t){super(e,t),this.state={}}componentWillUpdate(e,t){var n=this.node,r=t.focussed&&getRange(n);this.selected=r&&{range:r,text:innerText(n)}}componentDidUpdate(){var e=this.selected;if(!e)return;let t=e.range,n=e.text,r=this.node,i=innerText(r);setRange(r,i===n?t:calculateUpdate(t,n,i))}onFocus=e=>{var t=this.props.onFocus;this.setState({focussed:!0}),typeof t==`function`&&t(e)};onBlur=e=>{let{onBlur:t,onChange:n,value:r}=this.props;if(this.setState({focussed:!1}),typeof n==`function`&&this.node){let e=innerText(this.node);e!==r&&n(e)}typeof t==`function`&&t(e)};onkeydown=e=>{if(e.which===13){if(e.preventDefault(),this.props.ctrlForNewline&&!isCmd$4(e)||this.props.singleLine)return;e.stopPropagation(),insertLineBreak(),this.onInput(e)}};onInput=e=>{var t=this.props.onInput;typeof t==`function`&&t(innerText(this.node))};onPaste=e=>{if(this.props.singleLine){let t=(e.clipboardData||window.clipboardData).getData(`text`);document.execCommand(`insertText`,!1,t.replace(/\n/g,` `)),e.preventDefault()}};getClassName(){let{className:e,placeholder:t,value:n}=this.props;return[e||``,`content-editable`,!n&&t?`placeholder`:``].join(` `)}render(e){var{label:t,value:n,placeholder:r}=e;return n=(0,Oa.default)(n).replace(/\r?\n/g,`<br/>`)+`<br/>`,createVNode(1,`div`,this.getClassName(),null,1,{"aria-label":t,role:`textbox`,"aria-multiline":!this.props.singleLine,tabIndex:`0`,contentEditable:`true`,spellCheck:`false`,"data-placeholder":r||``,onInput:this.onInput,onkeypress:this.onkeypress,onPaste:this.onPaste,onFocus:this.onFocus,onBlur:this.onBlur,onkeydown:this.onkeydown,dangerouslySetInnerHTML:{__html:n}},null,e=>this.node=e)}};function brTag(){return document.createElement(`br`)}function innerText(e){return e.innerText.replace(/\n$/,``)}function insertLineBreak(){var e=getWindowSelection().getRangeAt(0);if(e){var t=e.cloneRange(),n=brTag();t.deleteContents(),t.insertNode(n),t.setStartAfter(n),t.setEndAfter(n),applyRange(t)}}function isCmd$4(e){return e.metaKey||e.ctrlKey}e(isCmd$4,`isCmd`);var EditableComponent=class extends Z{constructor(e,t){super(e,t),this.state={changing:!1,focussed:!1};let{injector:n}=t,r=n.get(`debounceInput`);this.inputChanged=r(e=>{let{onChange:t}=this.props;typeof t==`function`&&t(e);let n=this.state.changing;this.setState({changing:n!==e&&n})}),this.onInput=e=>{var t=(this.props.validate||function(){})(e);this.setState({changing:e,invalid:t}),t||this.inputChanged(e)}}onFocus=e=>{this.setState({focussed:!0});var{onFocus:t}=this.props;typeof t==`function`&&t(e)};onBlur=e=>{this.setState({focussed:!1});let{invalid:t}=this.state;t&&this.setState({changing:!1,invalid:!1});let{onBlur:n}=this.props;typeof n==`function`&&n(e)};getClassName(){var{className:e,value:t}=this.props,{changing:n,focussed:r,invalid:i}=this.state;return e+=` editable`,r&&(e+=` focussed`),i&&(e+=` invalid`),!t&&!n&&(e+=` empty`),e}getDisplayValue(){var{value:e,placeholder:t}=this.props,{focussed:n,changing:r}=this.state;return typeof r==`string`&&(e=r),e||=n?``:t||``,e}getEditor(e={}){return createComponentVNode(2,ContentEditable,{className:e.className,ctrlForNewline:this.props.ctrlForNewline,label:this.props.label,onFocus:this.onFocus,onBlur:this.onBlur,onInput:this.onInput,value:this.getDisplayValue()})}},EditableAnnotationCell=class extends Z{constructor(e,t){super(e,t),inject(this)}componentWillMount(){let{row:e}=this.props;this.changeSupport.onElementsChanged(e.id,this.onElementsChanged)}componentWillUnmount(){let{row:e}=this.props;this.changeSupport.offElementsChanged(e.id,this.onElementsChanged)}onElementsChanged=()=>{this.forceUpdate()};setAnnotationValue=e=>{let{row:t}=this.props;this.modeling.editAnnotation(t.businessObject,e)};render(){let{row:e,rowIndex:t}=this.props,{description:n,id:r}=e.businessObject;return createComponentVNode(2,HeaderCell,{className:`annotation`,onChange:this.setAnnotationValue,coords:`${t}:annotation`,value:n,elementId:r,"data-row-id":e.id,children:createComponentVNode(2,AnnotationEditor,{label:this.translate(`Annotation`),ctrlForNewline:!0,className:`annotation-editor`,onChange:this.setAnnotationValue,value:n})})}};EditableAnnotationCell.$inject=[`changeSupport`,`modeling`,`translate`];var AnnotationEditor=class extends EditableComponent{render(){return createVNode(1,`div`,this.getClassName(),this.getEditor(),0)}};function AnnotationsEditingProvider(e){e.onGetComponent(`cell`,({cellType:e})=>{if(e===`after-label-cells`)return AnnotationHeader;if(e===`after-rule-cells`)return EditableAnnotationCell})}AnnotationsEditingProvider.$inject=[`components`],D();var ka=300;function debounceInput(e){return function _debounceInput(t){if(e!==!1){var n=pe(e)?e:ka;return ue(t,n)}return t}}debounceInput.$inject=[`config.debounceInput`];var Aa={debounceInput:[`factory`,debounceInput]},ja={__depends__:[Aa],__init__:[`annotationsProvider`],annotationsProvider:[`type`,AnnotationsEditingProvider]};D();function _defineProperty$1(e,t,n){return(t=_toPropertyKey$1(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(_defineProperty$1,`_defineProperty`);function _toPropertyKey$1(e){var t=_toPrimitive$1(e,`string`);return typeof t==`symbol`?t:t+``}e(_toPropertyKey$1,`_toPropertyKey`);function _toPrimitive$1(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}e(_toPrimitive$1,`_toPrimitive`);var Ma={position:`absolute`},ContextMenuComponent=class extends Z{constructor(e,t){super(e,t),_defineProperty$1(this,`open`,({position:e,context:t})=>{this.close(),this.setState({isOpen:!0,position:e||{x:0,y:0},context:t||{}})}),_defineProperty$1(this,`close`,()=>{this.state.isOpen&&this.setState({context:void 0,isOpen:!1,position:{x:0,y:0}})}),_defineProperty$1(this,`triggerClose`,()=>{this.eventBus.fire(`contextMenu.close`)}),this.state={isOpen:!1,position:{x:0,y:0}},inject(this)}componentDidMount(){this.eventBus.on(`contextMenu.open`,this.open),this.eventBus.on(`contextMenu.close`,this.close)}componentWillUnmount(){this.eventBus.off(`contextMenu.open`,this.open),this.eventBus.off(`contextMenu.close`,this.close)}render(){let{isOpen:e,context:t,position:n}=this.state;if(!e)return null;let r=this.components.getComponents(`context-menu`,t);return r.length?createComponentVNode(2,ContextMenu$2,{className:`context-menu no-deselect`,context:t,position:n,offset:t.offset||{x:0,y:0},autoFocus:t.autoFocus!==!1,autoClose:t.autoClose!==!1,components:r,onClose:this.triggerClose}):null}};ContextMenuComponent.$inject=[`eventBus`,`components`];var ContextMenu$2=class extends Z{static{e(this,`ContextMenu`)}constructor(e,t){super(e,t),_defineProperty$1(this,`onGlobalMouseDown`,e=>{this.checkClose(e.target)}),_defineProperty$1(this,`onGlobalKey`,e=>{var t=e.which;(t===13||t===27)&&(e.stopPropagation(),e.preventDefault(),this.close())}),_defineProperty$1(this,`onFocusChanged`,e=>{this.checkClose(e.target)}),_defineProperty$1(this,`setNode`,e=>{this.node=e;let{autoFocus:t}=this.props;e&&(this.updatePosition(),t&&ensureFocus(e))}),inject(this)}close(){let{onClose:e}=this.props;w(e)&&e()}checkClose(e){let{autoClose:t}=this.props;if(t){var n=this.node;n&&n!==e&&(n.contains(e)||this.close())}}componentDidMount(){document.addEventListener(`focusin`,this.onFocusChanged),document.addEventListener(`keydown`,this.onGlobalKey),document.addEventListener(`mousedown`,this.onGlobalMouseDown)}componentWillUnmount(){document.removeEventListener(`focusin`,this.onFocusChanged),document.removeEventListener(`keydown`,this.onGlobalKey),document.removeEventListener(`mousedown`,this.onGlobalMouseDown)}updatePosition(){let{position:e,offset:t}=this.props,{node:n}=this,r=n.getBoundingClientRect();e.width||=0,e.height||=0;let i=this.renderer.getContainer().getBoundingClientRect();i.width>i.height?(this.node.classList.add(`horizontal`),this.node.classList.remove(`vertical`)):(this.node.classList.add(`vertical`),this.node.classList.remove(`horizontal`));let{scrollLeft:a,scrollTop:o}=getTableContainerScroll$1(n),s={},c;e.align&&(c=e.align.split(`-`));let l,u;(c&&c[1]||(e.x+e.width/2>i.width/2?`left`:`right`))===`left`?(l=e.x-i.left-r.width+t.x+a,n.classList.remove(`right`),n.classList.add(`left`)):(l=-i.left+e.x+e.width-t.x+a,n.classList.remove(`left`),n.classList.add(`right`)),l=c?l:clampNumber(l,0+a,i.width-r.width+a),s.left=l+`px`,(c&&c[0]||(e.y+e.height/2>i.height/2?`top`:`bottom`))===`top`?(u=e.y-i.top-r.height+t.y+o,n.classList.remove(`bottom`),n.classList.add(`top`)):(u=-i.top+e.y-t.y+o,n.classList.remove(`top`),n.classList.add(`bottom`)),u=c?u:clampNumber(u,0+o,i.height-r.height+o),s.top=u+`px`,s.overflowY=`auto`,s.maxHeight=i.height-u+o+`px`,A(this.node.style,Ma,s)}render(){let{context:e,components:t,className:n}=this.props;return createVNode(1,`div`,n,t.map((t,n)=>createComponentVNode(2,t,{context:e},n)),0,{onContextMenu:e=>e.preventDefault()},null,this.setNode)}};ContextMenu$2.$inject=[`renderer`];function clampNumber(e,t,n){return Math.max(t,Math.min(n,e))}var Na=`
|
|
21
|
+
input[type=text],
|
|
22
|
+
input[type=number],
|
|
23
|
+
input[type=button],
|
|
24
|
+
input[type=submit],
|
|
25
|
+
[contenteditable],
|
|
26
|
+
[tabindex],
|
|
27
|
+
a[href],
|
|
28
|
+
textarea,
|
|
29
|
+
button
|
|
30
|
+
`;function ensureFocus(e){var t=G(Na,e);t&&(t.focus(),t.selectionStart&&t.type===`text`?t.selectionStart=1e5:`contentEditable`in t&&setRange(t,{start:1e5,end:1e5}))}function getTableContainerScroll$1(e){let t=B(e,`.tjs-container`);if(!t)return{scrollTop:0,scrollLeft:0};let{scrollLeft:n,scrollTop:r}=t;return{scrollTop:r,scrollLeft:n}}e(getTableContainerScroll$1,`getTableContainerScroll`);var ContextMenu$1=class{static{e(this,`ContextMenu`)}constructor(e,t,n){this._eventBus=t,e.onGetComponent(`table.before`,()=>ContextMenuComponent)}open(e,t){this._eventBus.fire(`contextMenu.open`,{position:e,context:t})}close(){this._eventBus.fire(`contextMenu.close`)}};ContextMenu$1.$inject=[`components`,`eventBus`,`renderer`];var Pa={__init__:[`contextMenu`],contextMenu:[`type`,ContextMenu$1]};function isCmd$3(e){return e.altKey?!1:e.ctrlKey||e.metaKey}e(isCmd$3,`isCmd`);function isShift$1(e){return e.shiftKey}e(isShift$1,`isShift`);var CopyPasteKeyBindings=class{constructor(e,t,n,r,i,a,o){this._clipboard=n,this._cellSelection=r,this._elementRegistry=i,this._editorActions=a,this._keyboard=e.get(`keyboard`,!1),this._renderer=o,this._keyboard&&(t.on(`keyboard.init`,this._registerBindings),t.on(`keyboard.bind`,()=>{F.bind(document,`copy`,this._clearClipboard,!0),F.bind(document,`cut`,this._clearClipboard,!0)}),t.on(`keyboard.unbind`,()=>{F.unbind(document,`copy`,this._clearClipboard,!0),F.unbind(document,`cut`,this._clearClipboard,!0)}))}_clearClipboard=()=>{this._clipboard.clear()};_getSelectedCell(){let e=this._cellSelection.getCellSelection();if(!e)return;let t=this._elementRegistry.get(e);if(!t)return;let n=getNodeById(e,this._renderer.getContainer()),r=getFocusableNode(n);if(document.activeElement!==r)return;let i=getRange(n);if(!(i&&i.start!==i.end))return t}_registerBindings=()=>{let copy=(e,t)=>{if(isCmd$3(t)&&e===67){let e=this._getSelectedCell();return e?(isShift$1(t)?this._editorActions.trigger(`copy`,{element:e.col}):this._editorActions.trigger(`copy`,{element:e.row}),!0):void 0}},cut=(e,t)=>{if(isCmd$3(t)&&e===88){let e=this._getSelectedCell();return e?(isShift$1(t)?this._editorActions.trigger(`cut`,{element:e.col}):this._editorActions.trigger(`cut`,{element:e.row}),!0):void 0}},paste=(e,t)=>{let n;if(isCmd$3(t)&&e===86){let e=this._getSelectedCell();if(!e)return;isShift$1(t)?(n=this._editorActions.trigger(`pasteAfter`,{element:e.col}),n&&this._cellSelection.selectCell(`right`)):(n=this._editorActions.trigger(`pasteAfter`,{element:e.row}),n&&this._cellSelection.selectCell(`below`))}return n!==void 0};[copy,cut,paste].forEach(e=>{this._keyboard.addListener(e)})}};CopyPasteKeyBindings.$inject=[`injector`,`eventBus`,`clipboard`,`cellSelection`,`elementRegistry`,`editorActions`,`renderer`];var Fa={__depends__:[Ct,_a],__init__:[`copyCutPasteKeyBindings`],copyCutPasteKeyBindings:[`type`,CopyPasteKeyBindings]},CreateInputsHeaderCell=class extends Z{constructor(e,t){super(e,t),inject(this)}onClick=e=>{this.editorActions.trigger(`addInput`)};render(){return createVNode(1,`th`,`input-cell create-inputs header actionable`,[this.translate(`Input`),createTextVNode(` `),createVNode(1,`button`,`add-input dmn-icon-plus action-icon`,null,1,{title:this.translate(`Add input`)})],0,{onClick:this.onClick,title:this.translate(`Add input`)})}};CreateInputsHeaderCell.$inject=[`editorActions`,`translate`];var CreateInputsCell=class extends Z{constructor(e,t){super(e,t),inject(this)}onClick=e=>{this.editorActions.trigger(`addInput`)};render(){return createVNode(1,`td`,`input-cell create-inputs`,createTextVNode(`-`),2,{onClick:this.onClick,title:this.translate(`Add input`)})}};CreateInputsCell.$inject=[`editorActions`,`translate`];var Ia=500,CreateInputsProvider=class{constructor(e,t){e.onGetComponent(`cell`,Ia,({cellType:e})=>{let{businessObject:n}=t.getRoot();if(!(n.input&&n.input.length)){if(e===`before-label-cells`)return CreateInputsHeaderCell;if(e===`before-rule-cells`)return CreateInputsCell}})}};CreateInputsProvider.$inject=[`components`,`sheet`];var La={__depends__:[Ea],__init__:[`createInputsProvider`],createInputsProvider:[`type`,CreateInputsProvider]},ContextMenu=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._contextMenu=t,this._clipboard=n,this._editorActions=r,this._elementRegistry=a,this._eventBus=i,this._modeling=o,this._selection=s,this._sheet=c,this._rules=l,this._translate=u,this._getEntries=this._getEntries.bind(this),e.onGetComponent(`context-menu`,(t={})=>{if(t.contextMenuType&&t.contextMenuType===`context-menu`){let n=this._getEntries(t),r=isCell(this._elementRegistry.get(t.id))&&e.getComponents(`context-menu-cell-additional`,t);if(r&&r.length){let e=createVNode(1,`div`,`context-menu-group context-menu-group-cell`,r,0,{role:`presentation`});n.push(e)}return()=>createVNode(1,`div`,`context-menu-flex`,n,0,{tabIndex:0,role:`menu`,"aria-label":`Decision table context menu`})}}),i.on(`cell.contextmenu`,({event:e,id:n,node:r})=>{e.preventDefault(),t.open({x:e.pageX,y:e.pageY},{contextMenuType:`context-menu`,event:e,id:n})})}_getEntries(e){let t={addRuleAbove:t=>{let n=t.cells.map(e=>e.id).indexOf(e.id),r=this._editorActions.trigger(`addRuleAbove`,{rule:t});r.cells[n]?this._selection.select(r.cells[n]):this._selection.select(r.cells[0]),this._contextMenu.close()},addRuleBelow:t=>{let n=t.cells.map(e=>e.id).indexOf(e.id),r=this._editorActions.trigger(`addRuleBelow`,{rule:t});r.cells[n]?this._selection.select(r.cells[n]):this._selection.select(r.cells[0]),this._contextMenu.close()},removeRule:e=>{this._editorActions.trigger(`removeRule`,{rule:e}),this._contextMenu.close()},addInputLeft:e=>{this._editorActions.trigger(`addInputLeft`,{input:e}),this._contextMenu.close()},addInputRight:e=>{this._editorActions.trigger(`addInputRight`,{input:e}),this._contextMenu.close()},removeInput:e=>{this._editorActions.trigger(`removeInput`,{input:e}),this._contextMenu.close()},addOutputLeft:e=>{this._editorActions.trigger(`addOutputLeft`,{output:e}),this._contextMenu.close()},addOutputRight:e=>{this._editorActions.trigger(`addOutputRight`,{output:e}),this._contextMenu.close()},removeOutput:e=>{this._editorActions.trigger(`removeOutput`,{output:e}),this._contextMenu.close()},copy:e=>{this._editorActions.trigger(`copy`,{element:e}),this._contextMenu.close()},cut:e=>{this._editorActions.trigger(`cut`,{element:e}),this._contextMenu.close()},pasteBefore:e=>{this._editorActions.trigger(`pasteBefore`,{element:e}),this._contextMenu.close()},pasteAfter:e=>{this._editorActions.trigger(`pasteAfter`,{element:e}),this._contextMenu.close()}},n=e&&e.id;if(!n)return null;let r=this._elementRegistry.get(n);if(!r)return null;let i=this._clipboard.get()||{},a=[],o=r.row||r;if(is$2(o,`dmn:DecisionRule`)){let e=this._rules.allowed(`paste`,{data:i.elements,target:o});a.push(createVNode(1,`div`,`context-menu-group`,[createVNode(1,`div`,`context-menu-group-entry context-menu-entry-copy-rule`,this._translate(`Copy rule`),0,{onClick:()=>t.copy(o),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry context-menu-entry-cut-rule`,this._translate(`Cut rule`),0,{onClick:()=>t.cut(o),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry ${e?``:`disabled`} context-menu-entry-paste-rule-above`,this._translate(`Paste rule above`),0,{onClick:()=>t.pasteBefore(o),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!e}),createVNode(1,`div`,`context-menu-group-entry ${e?``:`disabled`} context-menu-entry-paste-rule-below`,this._translate(`Paste rule below`),0,{onClick:()=>t.pasteAfter(o),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!e})],4,{role:`presentation`}),createVNode(1,`div`,`context-menu-group`,[createVNode(1,`div`,`context-menu-group-entry context-menu-entry-add-rule-above`,this._translate(`Add rule above`),0,{onClick:()=>t.addRuleAbove(o),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry context-menu-entry-add-rule-below`,this._translate(`Add rule below`),0,{onClick:()=>t.addRuleBelow(o),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry context-menu-entry-remove-rule`,this._translate(`Remove rule`),0,{onClick:()=>t.removeRule(o),tabIndex:`-1`,role:`menuitem`})],4,{role:`presentation`}))}else if(is$2(r,`dmn:InputClause`)){let e=is$2(r,`dmn:InputClause`)?r:r.col,n=this._rules.allowed(`col.remove`,{col:r.col||r}),o=this._rules.allowed(`paste`,{data:i.elements,target:r.col||r});a.push(createVNode(1,`div`,`context-menu-group`,[createVNode(1,`div`,`context-menu-group-entry context-menu-entry-copy-input`,this._translate(`Copy input column`),0,{onClick:()=>t.copy(e),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry ${n?``:`disabled`} context-menu-entry-cut-input`,this._translate(`Cut input column`),0,{onClick:()=>t.cut(e),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!n}),createVNode(1,`div`,`context-menu-group-entry ${o?``:`disabled`} context-menu-entry-paste-input-left`,this._translate(`Paste input column left`),0,{onClick:()=>t.pasteBefore(e),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!o}),createVNode(1,`div`,`context-menu-group-entry ${o?``:`disabled`} context-menu-entry-paste-input-right`,this._translate(`Paste input column right`),0,{onClick:()=>t.pasteAfter(e),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!o})],4,{role:`presentation`}),createVNode(1,`div`,`context-menu-group`,[createVNode(1,`div`,`context-menu-group-entry context-menu-entry-add-input-left`,this._translate(`Add input column left`),0,{onClick:()=>t.addInputLeft(e),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry context-menu-entry-add-input-right`,this._translate(`Add input column right`),0,{onClick:()=>t.addInputRight(e),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry ${n?``:`disabled`} context-menu-entry-remove-input`,this._translate(`Remove input column`),0,{onClick:()=>t.removeInput(e),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!n})],4,{role:`presentation`}))}else if(is$2(r,`dmn:OutputClause`)||is$2(r.col,`dmn:OutputClause`)){let e=is$2(r,`dmn:OutputClause`)?r:r.col,n=this._rules.allowed(`col.remove`,{col:r.col||r}),o=this._rules.allowed(`paste`,{data:i.elements,target:r.col||r});a.push(createVNode(1,`div`,`context-menu-group`,[createVNode(1,`div`,`context-menu-group-entry context-menu-entry-copy-output`,this._translate(`Copy output column`),0,{onClick:()=>t.copy(e),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry ${n?``:`disabled`} context-menu-entry-cut-output`,this._translate(`Cut output column`),0,{onClick:()=>t.cut(e),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!n}),createVNode(1,`div`,`context-menu-group-entry ${o?``:`disabled`} context-menu-entry-paste-output-left`,this._translate(`Paste output column left`),0,{onClick:()=>t.pasteBefore(e),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!o}),createVNode(1,`div`,`context-menu-group-entry ${o?``:`disabled`} context-menu-entry-paste-output-right`,this._translate(`Paste output column right`),0,{onClick:()=>t.pasteAfter(e),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!o})],4,{role:`presentation`}),createVNode(1,`div`,`context-menu-group`,[createVNode(1,`div`,`context-menu-group-entry context-menu-entry-add-output-left`,this._translate(`Add output column left`),0,{onClick:()=>t.addOutputLeft(e),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry context-menu-entry-add-output-right`,this._translate(`Add output column right`),0,{onClick:()=>t.addOutputRight(e),tabIndex:`-1`,role:`menuitem`}),createVNode(1,`div`,`context-menu-group-entry ${n?``:`disabled`} context-menu-entry-remove-output`,this._translate(`Remove output column`),0,{onClick:()=>t.removeOutput(e),tabIndex:`-1`,role:`menuitem`,"aria-disabled":!n})],4,{role:`presentation`}))}return a}};ContextMenu.$inject=[`components`,`contextMenu`,`clipboard`,`editorActions`,`eventBus`,`elementRegistry`,`modeling`,`selection`,`sheet`,`rules`,`translate`];function isCell(e){return e instanceof Cell}var Ra=[`row.add`,`row.remove`,`col.add`,`col.remove`],ContextMenuCloseBehavior=class{constructor(e,t){t.on(`commandStack.executed`,({command:t})=>{Ra.indexOf(t)!==-1&&e.close()}),t.on(`commandStack.reverted`,()=>{e.close()})}};ContextMenuCloseBehavior.$inject=[`contextMenu`,`eventBus`];var ContextMenuKeyboard=class{constructor(e){e.on(`contextMenu.open`,()=>this.addEventListeners()),e.on(`contextMenu.close`,()=>this.removeEventListeners()),e.on(`commandStack.executed`,()=>this.removeEventListeners())}addEventListeners=()=>{document.addEventListener(`keydown`,this.handleKeyEvent),document.addEventListener(`mouseover`,this.handleMouseOver)};removeEventListeners=()=>{document.removeEventListener(`keydown`,this.handleKeyEvent),document.removeEventListener(`mouseover`,this.handleMouseOver)};handleKeyEvent=e=>{this.getEntries().length&&(e.key===`ArrowUp`?(e.preventDefault(),this.move(e.target,-1)):e.key===`ArrowDown`?(e.preventDefault(),this.move(e.target,1)):e.key===`Enter`&&(e.preventDefault(),this.clickCurrentEntry()))};handleMouseOver=()=>{this.getEntries().forEach(e=>resetHoverStyle(e));let{focused:e}=this.getActiveEntries(document);e&&z(e).remove(`focused`)};getEntries=()=>Array.from(Sn(`.context-menu-group-entry`)).filter(e=>!z(e).has(`disabled`));getActiveEntries=e=>{let t=G(`.context-menu-group-entry:hover`,e),n=G(`.context-menu-group-entry.focused`,e);return{hover:t,focused:n,current:n||t}};move=(e,t)=>{let n=this.getEntries(),{current:r,hover:i}=this.getActiveEntries(e);if(!r){let e=n[0];if(!e)return;z(e).add(`focused`);return}let a=n.indexOf(r)+t,o=n[a];a<0&&(o=n[n.length-1]),a>=n.length&&(o=n[0]),i&&disableHoverStyle(i),z(r).remove(`focused`),z(o).add(`focused`),o.style.removeProperty(`background-color`)};clickCurrentEntry=()=>{let{current:e}=this.getActiveEntries(document);e&&e.click()}};ContextMenuKeyboard.$inject=[`eventBus`];function disableHoverStyle(e){e.style.setProperty(`pointer-events`,`none`),e.style.setProperty(`background-color`,`transparent`)}function resetHoverStyle(e){e.style.removeProperty(`background-color`),e.style.removeProperty(`pointer-events`)}var za={__depends__:[Ea,Pa,ya],__init__:[`decisionTableContextMenu`,`contextMenuCloseBehavior`,`contextMenuKeyboard`],decisionTableContextMenu:[`type`,ContextMenu],contextMenuCloseBehavior:[`type`,ContextMenuCloseBehavior],contextMenuKeyboard:[`type`,ContextMenuKeyboard]},OutputCell=class extends Z{constructor(e,t){super(e,t),mixin(this,zi),this._translate=t.injector.get(`translate`)}onClick=e=>{let{output:t}=this.props;this._eventBus.fire(`output.edit`,{event:e,output:t})};onContextmenu=e=>{let{id:t}=this.props.output;this._eventBus.fire(`cell.contextmenu`,{event:e,id:t})};onElementsChanged=()=>{this.forceUpdate()};componentWillMount(){let{injector:e}=this.context;this._changeSupport=this.context.changeSupport,this._eventBus=e.get(`eventBus`),this._elementRegistry=e.get(`elementRegistry`);let{output:t}=this.props;this._changeSupport.onElementsChanged(t.id,this.onElementsChanged)}componentWillUnmount(){let{output:e}=this.props;this._changeSupport.offElementsChanged(e.id,this.onElementsChanged)}render(){let{output:e,index:t,outputsLength:n}=this.props,{label:r,name:i,outputValues:a,typeRef:o}=e,s=e.width?e.width+`px`:`192px`;return createVNode(1,`th`,`output-cell output-editor`,[this.slotFills({type:`cell-inner`,context:{cellType:`output-cell`,col:this._elementRegistry.get(e.id),index:t,outputsLength:n},col:e}),createVNode(1,`div`,`clause`,t===0?this._translate(`Then`):this._translate(`And`),0),r?createVNode(1,`div`,`output-label`,r,0,{title:this._translate(`Output label: `)+r}):createVNode(1,`div`,`output-name`,i,0,{title:this._translate(`Output name: `)+i}),createVNode(1,`div`,`output-variable`,a&&a.text||this._translate(o||``),0,{title:a&&a.text?this._translate(`Output values`):this._translate(`Output type`)})],0,{"data-col-id":e.id,onDblClick:this.onClick,onContextMenu:this.onContextmenu,style:{width:s}})}},Input=class extends Z{constructor(e,t){super(e,t),this.state={value:e.value}}onInput=e=>{let{onInput:t}=this.props,n=e.target.value;this.setState({value:n},()=>{typeof t==`function`&&t(n)})};onChange=e=>{let{onChange:t}=this.props;typeof t==`function`&&t(e.target.value)};onKeyDown=e=>{let{onKeyDown:t}=this.props;typeof t==`function`&&t(e)};onKeyUp=e=>{let{onKeyUp:t}=this.props;typeof t==`function`&&t(e)};componentDidUpdate(e){let{value:t}=this.props;t!==e.value&&t!==this.state.value&&this.setState({value:t})}render(){let{className:e,label:t,id:n,placeholder:r,type:i}=this.props,{value:a}=this.state;return createVNode(64,`input`,[e||``,`dms-input`].join(` `),null,1,{"aria-label":t,placeholder:r||``,onChange:this.onChange,onInput:this.onInput,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,spellCheck:`false`,type:i||`text`,value:a,id:n})}},OutputEditor=class extends Z{constructor(e,t){super(e,t),this.translate=t.injector?t.injector.get(`translate`):noopTranslate,this.setName=e=>{e||=void 0,this.handleChange({name:e})},this.setLabel=e=>{e||=void 0,this.handleChange({label:e})}}handleChange(e){var{onChange:t}=this.props;typeof t==`function`&&t(e)}render(){let{name:e,label:t}=this.props;return createVNode(1,`div`,`context-menu-container ref-output-editor output-edit`,[createVNode(1,`div`,`dms-form-control`,createComponentVNode(2,ContentEditable,{label:this.translate(`Output label`),className:`dms-output-label`,value:t||``,placeholder:this.translate(`Output`),singleLine:!0,onInput:this.setLabel}),2),createVNode(1,`div`,`dms-form-control`,[createVNode(1,`label`,`dms-label`,this.translate(`Output name`),0),createComponentVNode(2,Input,{label:this.translate(`Output name`),className:`ref-output-name`,value:e||``,onInput:this.setName})],4)],4)}};function noopTranslate(e){return e}var OutputCellContextMenu=class extends Z{constructor(e,t){super(e,t),this.state={},inject(this),this.persistChanges=this.debounceInput(this.persistChanges)}persistChanges=()=>{let{output:e}=this.props.context,{unsaved:t}=this.state;t&&(this.modeling.updateProperties(e,t),this.setState({unsaved:!1}))};handleChange=e=>{this.setState({unsaved:{...this.state.unsaved,...e}},this.persistChanges)};getValue(e){let{output:t}=this.props.context,{unsaved:n}=this.state;return n&&e in n?n[e]:t.get(e)}render(){return createComponentVNode(2,OutputEditor,{name:this.getValue(`name`),label:this.getValue(`label`),onChange:this.handleChange})}};OutputCellContextMenu.$inject=[`debounceInput`,`modeling`];var OutputEditButton=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._eventBus=t.injector.get(`eventBus`)}onClick=e=>{let{col:t}=this.props;this._eventBus.fire(`output.edit`,{event:e,output:t})};render(){return createVNode(1,`button`,`edit-button dmn-icon-edit`,null,1,{"aria-label":this._translate(`Edit output`),type:`button`,onClick:this.onClick})}},OutputEditingProvider=class{constructor(e,t,n,r){e.onGetComponent(`cell`,({cellType:e})=>{if(e===`output-header`)return OutputCell}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType===`output-edit`)return OutputCellContextMenu}),e.onGetComponent(`cell-inner`,(e={})=>{let{cellType:t}=e;if(t===`output-cell`)return OutputEditButton}),n.on(`output.edit`,({event:e,output:n})=>{let{target:r}=e,i=B(r,`th`,!0),{left:a,top:o}=i.getBoundingClientRect(),s=getOffset(i);t.open({x:a,y:o,align:`bottom-right`},{contextMenuType:`output-edit`,output:n,offset:s})})}};OutputEditingProvider.$inject=[`components`,`contextMenu`,`eventBus`,`renderer`];function getOffset(e){if(!jn(e,`.output-cell + .output-cell`))return{x:-1,y:0}}var InputCell=class extends Z{constructor(e,t){super(e,t),mixin(this,zi),this._translate=t.injector.get(`translate`)}onClick=e=>{let{input:t}=this.props;this._eventBus.fire(`input.edit`,{event:e,input:t})};onContextmenu=e=>{let{id:t}=this.props.input;this._eventBus.fire(`cell.contextmenu`,{event:e,id:t})};onElementsChanged=()=>{this.forceUpdate()};componentWillMount(){let{injector:e}=this.context;this._changeSupport=this.context.changeSupport,this._sheet=e.get(`sheet`),this._eventBus=e.get(`eventBus`),this._elementRegistry=e.get(`elementRegistry`);let t=this._sheet.getRoot(),{input:n}=this.props;this._changeSupport.onElementsChanged(t.id,this.onElementsChanged),this._changeSupport.onElementsChanged(n.id,this.onElementsChanged)}componentWillUnmount(){let e=this._sheet.getRoot(),{input:t}=this.props;this._changeSupport.offElementsChanged(e.id,this.onElementsChanged),this._changeSupport.offElementsChanged(t.id,this.onElementsChanged)}render(){let{input:e,index:t,inputsLength:n}=this.props,{inputExpression:r,inputValues:i}=e,a=e.get(`label`),o=e.width?e.width+`px`:`192px`;return createVNode(1,`th`,`input-cell input-editor`,[this.slotFills({type:`cell-inner`,context:{cellType:`input-cell`,col:this._elementRegistry.get(e.id),index:t,inputsLength:n},col:e}),createVNode(1,`div`,`clause`,t===0?this._translate(`When`):this._translate(`And`),0),a?createVNode(1,`div`,`input-label`,a,0,{title:this._translate(`Input label: `)+a}):createVNode(1,`div`,`input-expression`,r.text,0,{title:this._translate(`Input expression: `)+r.text}),createVNode(1,`div`,`input-variable`,i&&i.text||this._translate(r.typeRef||``),0,{title:i&&i.text?this._translate(`Input values`):this._translate(`Input type`)})],0,{"data-col-id":e.id,onDblClick:this.onClick,onContextMenu:this.onContextmenu,style:{width:o}})}},LiteralExpression$1=class extends Z{static{e(this,`LiteralExpression`)}constructor(e,t){super(e,t),this.node=null,this.editor=null,this.state={value:e.value},this._feelLanguageContext=t.injector?.get(`feelLanguageContext`,!1)}_getFeelLanguageContext(){return this._feelLanguageContext&&this._feelLanguageContext.getConfig()}componentDidMount(){let e=this._getFeelLanguageContext();this.editor=new Ge({contentAttributes:{"aria-label":this.props.label},parserDialect:e?.parserDialect,builtins:e?.builtins,dialect:this.props.feelLanguageDialect,container:this.node,onChange:this.handleChange,value:this.state.value,variables:this.props.variables||[],extensions:[Bn.lineWrapping]}),this.node.addEventListener(`mousedown`,this.handleMouseEvent),this.node.addEventListener(`keydown`,this.handleKeyDownCapture,!0),this.node.addEventListener(`keydown`,this.handleKeyDown),this.props.autoFocus&&this.editor.focus(this.state.value.length)}componentDidUpdate(e){let{value:t}=this.props;e.value!==t&&t!==this.state.value&&this.setState({value:t},()=>{this.editor.setValue(t)}),deepEqual(e.variables,this.props.variables)||this.editor.setVariables(this.props.variables)}componentWillUnmount(){this.node.removeEventListener(`mousedown`,this.handleMouseEvent),this.node.removeEventListener(`keydown`,this.handleKeyDownCapture,!0),this.node.removeEventListener(`keydown`,this.handleKeyDown)}handleMouseEvent=e=>{e.stopPropagation()};handleKeyDownCapture=e=>{if(e.key===`Enter`){if(isAutocompleteOpen(this.node)){e.triggeredFromAutocomplete=!0;return}this.props.ctrlForNewline&&!isCmd$2(e)&&e.preventDefault(),this.props.singleLine&&e.preventDefault()}};handleKeyDown=e=>{[`Enter`,`Escape`].includes(e.key)&&e.triggeredFromAutocomplete&&e.stopPropagation()};handleChange=e=>{let{onInput:t}=this.props;this.setState({value:e}),t&&t(e)};handleBlur=()=>{let{onBlur:e,onChange:t}=this.props;t&&this.state.value!==this.props.value&&t(this.state.value),e&&e()};setNode=e=>{this.node=e};render(){return createVNode(1,`div`,[`literal-expression`,this.props.className||``].join(` `),null,1,{onClick:this.handleMouseEvent,onFocusIn:this.props.onFocus,onFocusOut:this.handleBlur},null,this.setNode)}};function isCmd$2(e){return e.metaKey||e.ctrlKey}e(isCmd$2,`isCmd`);function isAutocompleteOpen(e){return e.querySelector(`.cm-tooltip-autocomplete`)}function deepEqual(e,t){return JSON.stringify(e)===JSON.stringify(t)}var InputEditor=class extends Z{constructor(e,t){super(e,t),this.translate=t.injector.get(`translate`),this.expressionLanguages=t.injector.get(`expressionLanguages`,!1),this.variableResolver=t.injector.get(`variableResolver`,!1),this.handleValue=e=>{let t={text:e};this.handleChange(t)},this.handleLabelChange=e=>{var t=e||void 0;this.handleChange({label:t})}}handleChange(e){var{onChange:t}=this.props;typeof t==`function`&&t(e)}getExpressionEditorComponent(){return this.expressionLanguages&&this.expressionLanguages.getDefault(`inputCell`).value!==`feel`?ContentEditable:LiteralExpression$1}handleKeyDown=e=>{e.key===`Enter`&&e.stopPropagation()};_getVariables(){return this.variableResolver&&this.variableResolver.getVariables(this.props.element)}render(){let{label:e,text:t}=this.props,n=this.getExpressionEditorComponent(),r=this._getVariables();return createVNode(1,`div`,`context-menu-container ref-input-editor input-edit`,[createVNode(1,`div`,`dms-form-control`,createComponentVNode(2,ContentEditable,{label:this.translate(`Input label`),className:`dms-input-label`,value:e||``,placeholder:this.translate(`Input`),singleLine:!0,onInput:this.handleLabelChange}),2),createVNode(1,`div`,`dms-form-control`,[createVNode(1,`label`,`dms-label`,this.translate(`Expression`),0),createComponentVNode(2,n,{label:this.translate(`Input expression`),placeholder:this.translate(`Enter expression`),className:[`ref-text`,`dms-input`].join(` `),onInput:this.handleValue,value:t||``,variables:r})],4)],4,{onKeyDown:this.handleKeyDown})}},InputCellContextMenu=class extends Z{constructor(e,t){super(e,t),this.state={},inject(this),this.persistChanges=this.debounceInput(this.persistChanges)}persistChanges=()=>{let{input:e}=this.props.context,{unsaved:t}=this.state;if(!t)return;let{label:n,...r}=t;var i={};`label`in t&&(i.label=n),hasKeys(r)&&(i.inputExpression=r),this.modeling.updateProperties(e,i),this.setState({unsaved:!1})};handleChange=e=>{this.setState({unsaved:{...this.state.unsaved,...e}},this.persistChanges)};getValue(e){let{input:t}=this.props.context,{unsaved:n}=this.state,r=t;return e===`text`&&(r=r.inputExpression),n&&e in n?n[e]:r.get(e)}render(){return createComponentVNode(2,InputEditor,{label:this.getValue(`label`),text:this.getValue(`text`),element:this.props.context.input,onChange:this.handleChange})}};InputCellContextMenu.$inject=[`debounceInput`,`modeling`,`injector`];function hasKeys(e){return Object.keys(e).length}var InputEditButton=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._eventBus=t.injector.get(`eventBus`)}onClick=e=>{let{col:t}=this.props;this._eventBus.fire(`input.edit`,{event:e,input:t})};render(){return createVNode(1,`button`,`edit-button dmn-icon-edit`,null,1,{"aria-label":this._translate(`Edit input`),type:`button`,onClick:this.onClick})}},InputCellProvider=class{constructor(e,t,n,r){e.onGetComponent(`cell`,({cellType:e})=>{if(e===`input-header`)return InputCell}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType===`input-edit`)return InputCellContextMenu}),e.onGetComponent(`cell-inner`,(e={})=>{let{cellType:t}=e;if(t===`input-cell`)return InputEditButton}),n.on(`input.edit`,({event:e,input:n})=>{let{target:r}=e,{left:i,top:a}=B(r,`th`,!0).getBoundingClientRect();t.open({x:i,y:a,align:`bottom-right`},{contextMenuType:`input-edit`,input:n})})}};InputCellProvider.$inject=[`components`,`contextMenu`,`eventBus`,`renderer`],D();var InputSelect=class extends Z{constructor(e,t){super(e,t),inject(this);let{value:n}=e;this.state={value:n,optionsVisible:!1},this._portalEl=null}componentDidMount(){document.addEventListener(`mousedown`,this.onGlobalClick),document.addEventListener(`focusin`,this.onFocusChanged),this.keyboard.addListener(this.onKeyboard)}componentWillUnmount(){document.removeEventListener(`focusin`,this.onFocusChanged),document.removeEventListener(`mousedown`,this.onGlobalClick),this.keyboard.removeListener(this.onKeyboard),this.removePortalEl()}componentWillReceiveProps(e){let{value:t}=e;this.setState({value:t})}componentWillUpdate(e,t){let{optionsVisible:n}=t;n?this._portalEl||this.addPortalEl():this._portalEl&&this.removePortalEl()}componentDidUpdate(){let{optionsVisible:e}=this.state;if(!e||!this.inputNode)return;let t=this.getOptionsBounds();A(this._portalEl.style,t)}getOptionsBounds(){let e=this.renderer.getContainer(),{top:t,left:n,bottom:r}=e.getBoundingClientRect(),{top:i,left:a,width:o,height:s,bottom:c}=this.inputNode.getBoundingClientRect(),l=i+s-t+e.scrollTop,u=a-n+e.scrollLeft,d={top:`${l}px`,left:`${u}px`,width:`${o}px`,"max-height":`calc(100% - ${l}px)`};if(r-c<s){let e=r-i;d.bottom=`${e}px`,d[`max-height`]=`calc(100% - ${e})`,delete d.top}return d}addPortalEl(){this._portalEl=W(`<div class="dms-select-options"></div>`),this.renderer.getContainer().appendChild(this._portalEl),this._portalEl.addEventListener(`mousedown`,stopPropagation)}removePortalEl(){this._portalEl&&=(this._portalEl.removeEventListener(`mousedown`,stopPropagation),Nn(this._portalEl),null)}onChange=e=>{this.setState({value:e});let{onChange:t}=this.props;typeof t==`function`&&t(e)};onInputClick=e=>{e.preventDefault(),e.stopPropagation(),this.setOptionsVisible(!this.state.optionsVisible),this.focusInput()};onInput=e=>{let{value:t}=e.target;this.onChange(t)};onOptionClick=(e,t)=>{t.preventDefault(),t.stopPropagation(),this.setOptionsVisible(!1),this.onChange(e),this.focusInput()};focusInput(){let e=this.inputNode;e.focus(),`selectionStart`in e&&(e.selectionStart=1e5)}checkClose(e){this._portalEl&&!this._portalEl.contains(e)&&!this.parentNode.contains(e)&&this.setOptionsVisible(!1)}onFocusChanged=e=>{this.checkClose(e.target)};onGlobalClick=e=>{this.checkClose(e.target)};select(e){let{options:t}=this.props,{value:n}=this.state;if(!t)return;let r=t.filter(e=>e.value===n)[0],i=r?t.indexOf(r):-1,a=i===-1?e===1?0:t.length-1:(i+e)%t.length,o=t[a<0?t.length+a:a];this.onChange(o.value)}setOptionsVisible(e){this.setState({optionsVisible:e})}onKeyDown=e=>{let{optionsVisible:t}=this.state;var n=e.which;(n===40||n===38)&&(e.stopPropagation(),e.preventDefault(),t?this.select(n===40?1:-1):this.setOptionsVisible(!0)),t&&(n===13||n===27)&&(e.stopPropagation(),e.preventDefault(),this.setOptionsVisible(!1))};onKeyboard=e=>{let{optionsVisible:t}=this.state;if(t&&e===27)return this.setOptionsVisible(!1),!0};renderOptions(e,t){return createVNode(1,`div`,`options`,e.map(e=>createVNode(1,`div`,[`option`,t===e?`active`:``].join(` `),e.label,0,{"data-value":e.value,onClick:t=>this.onOptionClick(e.value,t)})),0)}render(){let{className:e,label:t,id:n,options:r,noInput:i,title:a}=this.props,{optionsVisible:o,value:s}=this.state,c=r?r.filter(e=>e.value===s)[0]:!1,l=c?c.label:s;return createVNode(1,`div`,[e||``,`dms-input-select`].join(` `),[i?createVNode(1,`div`,`dms-input`,l,0,{"aria-label":t,tabIndex:`0`,onKeyDown:this.onKeyDown},null,e=>this.inputNode=e):createVNode(64,`input`,`dms-input`,null,1,{"aria-label":t,onInput:this.onInput,onKeyDown:this.onKeyDown,spellCheck:`false`,type:`text`,value:s,id:n},null,e=>this.inputNode=e),createVNode(1,`span`,[`dms-input-select-icon`,o?`dmn-icon-up`:`dmn-icon-down`].join(` `)),o&&createPortal(this.renderOptions(r,c),this._portalEl)],0,{title:a,onClick:this.onInputClick},null,e=>this.parentNode=e)}};InputSelect.$inject=[`keyboard`,`renderer`];function stopPropagation(e){e.stopPropagation()}var TypeRefCellContextMenu=class extends Z{constructor(e,t){super(e),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`),this._dataTypes=t.injector.get(`dataTypes`)}onTypeChange=e=>{let t=this.getElement(),n=is$2(t,`dmn:LiteralExpression`)?t.$parent:t,r;isInput(n)?r={inputExpression:{typeRef:e}}:isOutput(n)&&(r={typeRef:e}),this._modeling.updateProperties(n,r)};getElement(){return this.props.context.input||this.props.context.output}render(){let e=this.getElement(),t=(is$2(e,`dmn:InputClause`)?e.inputExpression:e).typeRef,n=this._dataTypes.getAll().map(e=>({label:this._translate(e),value:e})),r=this._translate(`Type`);return createVNode(1,`div`,`type-ref-edit context-menu-container`,createVNode(1,`div`,`dms-form-control`,[createVNode(1,`label`,`dms-label`,[r,createTextVNode(`:`)],0),createComponentVNode(2,InputSelect,{className:`type-ref-edit-select`,label:r,onChange:this.onTypeChange,options:n,value:t})],4),2)}},Ba=750,TypeRef$1=class{static{e(this,`TypeRef`)}constructor(e){e.onGetComponent(`context-menu`,Ba,(e={})=>{let{contextMenuType:t}=e;if(t===`input-edit`||t===`output-edit`)return TypeRefCellContextMenu})}};TypeRef$1.$inject=[`components`];var Va={__depends__:[Pa,Ai],__init__:[`typeRefEditingProvider`],typeRefEditingProvider:[`type`,TypeRef$1]},AllowedValuesUpdateBehavior=class extends q{constructor(e,t){super(e),this.postExecuted(`element.updateProperties`,e=>{let{element:n,properties:r}=e.context,i=isInput(n)?r.inputExpression:r;if(i&&i.typeRef&&i.typeRef!==`string`){let e=is$2(n,`dmn:LiteralExpression`)?n.$parent:n;t.editAllowedValues(e,null)}})}};AllowedValuesUpdateBehavior.$inject=[`eventBus`,`modeling`],D();var Ha=`radio`,Ua=`remove dmn-icon-clear`,List=class extends Z{constructor(e,t){super(e,t);let{items:n}=e;this.state={items:n}}componentWillReceiveProps(e){let{items:t}=e;this.setState({items:t})}getRemoveClickHandler=e=>t=>{t.stopPropagation(),this.removeItem(e)};getToggleClickHandler=e=>t=>{t.stopPropagation(),this.toggleItem(e)};removeItem=e=>{let{onChange:t}=this.props,n=this.state.items.filter(t=>t!==e);this.setState({items:n}),t&&t(n)};toggleItem=e=>{let{onChange:t,type:n}=this.props,r=this.state.items.map(t=>(t===e?t.isChecked=!t.isChecked:n===Ha&&(t.isChecked=!1),t));this.setState({items:r}),t&&t(r)};render(){let{className:e,items:t,type:n,labelComponent:r}=this.props,i=[`dms-list-component`];e&&i.push(e);let a=toPairs(ce(t,`group`));return createVNode(1,`div`,i.join(` `),a.map(e=>{let t=e[0],i=e[1];return createVNode(1,`div`,`group`,[r&&r(t)||createVNode(1,`h4`,`dms-heading`,t,0),createVNode(1,`ul`,`items no-wrap`,i.map(e=>createVNode(1,`li`,`item`,[n&&createVNode(64,`input`,`item-toggle`,null,1,{type:n,checked:e.isChecked,onClick:this.getToggleClickHandler(e)}),createTextVNode(`\xA0`),e.value,e.isRemovable&&createVNode(1,`span`,Ua,null,1,{title:`Remove item`,onClick:this.getRemoveClickHandler(e)})],0)),0)],0)}),0)}};function toPairs(e){let t=[];for(let n in e)t.push([n,e[n]]);return t}var ValidatedInput=class extends Z{constructor(e,t){super(e,t);let{validate:n,value:r}=e,i=n?n(r||``):void 0;this.state={validationWarning:i,value:r},this.onInput=this.onInput.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.onKeyUp=this.onKeyUp.bind(this)}componentWillReceiveProps(e){let{validate:t,value:n}=e,r=t?t(n||``):void 0;this.setState({validationWarning:r,value:n})}onInput(e){let{onInput:t,validate:n}=this.props,r=n?n(e):void 0;this.setState({validationWarning:r,value:e}),typeof t==`function`&&t&&t({isValid:!r,value:e})}onKeyDown(e){let{target:t}=e,{value:n}=t,{onKeyDown:r,validate:i}=this.props,a=i?i(n):void 0;typeof r==`function`&&r({isValid:!a,value:n,event:e})}onKeyUp(e){let{target:t}=e,{value:n}=t,{onKeyUp:r,validate:i}=this.props,a=i?i(n):void 0;typeof r==`function`&&r({isValid:!a,value:n,event:e})}render(){let{placeholder:e,type:t,className:n,label:r}=this.props,{validationWarning:i,value:a}=this.state,o=[`dms-validated-input`,n].join(` `),s=[];return i&&s.push(`invalid`),createVNode(1,`div`,o,[createComponentVNode(2,Input,{className:s,label:r,onInput:this.onInput,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,placeholder:e||``,type:t,value:a||``}),i&&createVNode(1,`p`,`dms-hint dms-validation-warning`,i,0)],0)}};function parseString$6(e){if(!e||isEmptyString$4(e.trim()))return{values:[]};let t=e.split(`,`),n={values:[]},r=``;if(t.forEach(e=>{r+=e,/^"[^"]*"$/.test(r.trim())?(n.values.push(r.trim()),r=``):r+=`,`}),!r)return n}e(parseString$6,`parseString`);function isEmptyString$4(e){return e===``}e(isEmptyString$4,`isEmptyString`);function getValuesArray(e){return e.map(e=>e.value)}var AllowedValuesEditing=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`),this._changeSupport=t.changeSupport;let n=this.getAllowedValuesTarget(),r=parseString$6(n.inputValues&&n.inputValues.text||n.outputValues&&n.outputValues.text||``);this.state=r?{values:r.values.map(e=>({value:e,isCheckable:!1,isRemovable:!0,group:this._translate(`Predefined values`)})),inputValue:``}:{values:null,inputValue:``}}onElementsChanged=()=>{this.forceUpdate()};componentWillMount(){let e=this.getAllowedValuesTarget();this._changeSupport.onElementsChanged(e.id,this.onElementsChanged)}componentWillUnmount(){let e=this.getAllowedValuesTarget();this._changeSupport.offElementsChanged(e.id,this.onElementsChanged)}setPredefinedValues=e=>{let t=this.getAllowedValuesTarget();this.setState({values:e}),this._modeling.editAllowedValues(t,e&&getValuesArray(e))};onListChange=e=>{this.setPredefinedValues(e)};getAllowedValuesTarget(){let e=this.getElement();return is$2(e,`dmn:LiteralExpression`)?e.$parent:e}onInput=({isValid:e,value:t})=>{this.setState({inputValue:t})};onKeyDown=({isValid:e,event:t})=>{if(isEnter$1(t.keyCode)&&(t.stopPropagation(),t.preventDefault(),e)){let{inputValue:e,values:t}=this.state,n=parseString$6(e);this.onListChange((t||[]).concat(n.values.map(e=>({value:e,isCheckable:!1,isRemovable:!0,group:this._translate(`Predefined values`)})))),this.setState({inputValue:``})}};handleRemovePredifinedValuesClick=e=>{e.stopPropagation(),this.removePredefinedValues()};removePredefinedValues=()=>{this.setPredefinedValues(null)};getElement(){return this.props.context.output||this.props.context.input.inputExpression}render(){let e=this.getElement(),{inputValue:t,values:n}=this.state;return e.typeRef===`string`?createVNode(1,`div`,`context-menu-container allowed-values-edit`,createVNode(1,`div`,`dms-form-control`,[!isNull$1(n)&&n.length>0&&createComponentVNode(2,List,{labelComponent:Label,items:n,onChange:this.onListChange}),!isNull$1(n)&&!n.length&&createVNode(1,`div`,null,[createVNode(1,`label`,`dms-label`,this._translate(`Predefined values`),0),createVNode(1,`span`,`placeholder`,this._translate(`No values`),0)],4),!isNull$1(n)&&createVNode(1,`p`,`dms-hint`,createVNode(1,`button`,`del-values`,this._translate(`Clear predefined values`),0,{type:`button`,onClick:this.handleRemovePredifinedValuesClick}),2),createVNode(1,`label`,`dms-label`,this._translate(`Add predefined values`),0),createComponentVNode(2,ValidatedInput,{onInput:this.onInput,onKeyDown:this.onKeyDown,placeholder:this._translate(`"value", "value", ...`),type:`text`,validate:e=>{if(!parseString$6(e))return this._translate(`Strings must be in double quotes`)},value:t})],0),2):null}};function Label(e){return createVNode(1,`label`,`dms-label`,e,0)}function isEnter$1(e){return e===13}e(isEnter$1,`isEnter`);function isNull$1(e){return e===null}e(isNull$1,`isNull`);var Wa=500,InputOutputValues=class{constructor(e){e.onGetComponent(`context-menu`,Wa,(e={})=>{let{contextMenuType:t}=e;if(t===`input-edit`||t===`output-edit`)return AllowedValuesEditing})}};InputOutputValues.$inject=[`components`];var Ga={__init__:[`allowedValuesUpdateBehavior`,`allowedValuesEditingProvider`],allowedValuesUpdateBehavior:[`type`,AllowedValuesUpdateBehavior],allowedValuesEditingProvider:[`type`,InputOutputValues]},AddInput=class extends Z{constructor(e,t){super(e,t),this._sheet=t.injector.get(`sheet`),this._eventBus=t.injector.get(`eventBus`),this._changeSupport=t.changeSupport,this._translate=t.injector.get(`translate`)}onElementsChanged=()=>{this.forceUpdate()};componentWillMount(){let e=this.getRoot();this._changeSupport.onElementsChanged(e.id,this.onElementsChanged)}componentWillUnmount(){let e=this.getRoot();this._changeSupport.offElementsChanged(e.id,this.onElementsChanged)}getRoot(){return this._sheet.getRoot()}handleClick=e=>{e.stopPropagation(),this.add()};add=()=>{this._eventBus.fire(`addInput`)};render(){return createVNode(1,`div`,`add-input actionable`,createVNode(1,`button`,`dmn-icon-plus action-icon`,null,1,{title:this._translate(`Add input`)}),2,{onClick:this.handleClick})}},AddOutput=class extends Z{constructor(e,t){super(e,t),this._sheet=t.injector.get(`sheet`),this._eventBus=t.injector.get(`eventBus`),this._changeSupport=t.changeSupport,this._translate=t.injector.get(`translate`)}onElementsChanged=()=>{this.forceUpdate()};componentWillMount(){let e=this.getRoot();this._changeSupport.onElementsChanged(e.id,this.onElementsChanged)}componentWillUnmount(){let e=this.getRoot();this._changeSupport.offElementsChanged(e.id,this.onElementsChanged)}getRoot(){return this._sheet.getRoot()}handleClick=e=>{e.stopPropagation(),this.add()};add=()=>{this._eventBus.fire(`addOutput`)};render(){return createVNode(1,`div`,`add-output actionable`,createVNode(1,`button`,`dmn-icon-plus action-icon`,null,1,{title:this._translate(`Add output`)}),2,{onClick:this.handleClick})}};function AddInputOutputProvider(e,t,n){e.onGetComponent(`cell-inner`,(e={})=>{let{cellType:t,index:n,inputsLength:r,outputsLength:i}=e;if(t===`input-cell`&&n===r-1)return AddInput;if(t===`output-cell`&&n===i-1)return AddOutput}),n.on(`addInput`,()=>{t.trigger(`addInput`)}),n.on(`addOutput`,()=>{t.trigger(`addOutput`)})}AddInputOutputProvider.$inject=[`components`,`editorActions`,`eventBus`];var Ka={__depends__:[Ea],__init__:[`addInputOutputProvider`],addInputOutputProvider:[`type`,AddInputOutputProvider]},qa=`Keyboard binding is now implicit; explicit binding to an element got removed. For more information, see https://github.com/bpmn-io/diagram-js/pull/662`,Keyboard$1=class{static{e(this,`Keyboard`)}constructor(e,t,n,r,i){this._config=e||{},this._editorActions=n,this._eventBus=t,this._cellSelection=r,this._listeners=[],t.on(`table.destroy`,this._destroy),t.on(`table.init`,this._init),t.on(`attach`,()=>{this._config.bindTo&&console.error(`unsupported configuration <keyboard.bindTo>`,Error(qa)),this._target=i.getContainer(),this._config&&this._config.bind!==!1&&this.bind()}),t.on(`detach`,this.unbind)}_init=()=>{this._registerDefaultBindings(),this._fire(`init`)};_destroy=()=>{this._fire(`destroy`),this.unbind(),this._listeners=null};_keyHandler=e=>{var t,n,r=this._listeners,i=e.keyCode||e.charCode||-1;for(t=0;n=r[t];t++)if(n(i,e)){e.preventDefault(),e.stopPropagation();return}};bind(e){e&&console.error(`unsupported argument <node>`,Error(qa)),this.unbind(),e=this._node=this._target,F.bind(e,`keydown`,this._keyHandler),this._fire(`bind`)}getBinding(){return this._node}unbind=()=>{var e=this._node;e&&(this._fire(`unbind`),F.unbind(e,`keydown`,this._keyHandler)),this._node=null};_fire(e){this._eventBus.fire(`keyboard.`+e,{node:this._node,listeners:this._listeners})}_registerDefaultBindings(){var e=this._listeners,t=this._editorActions,n=this._cellSelection;function undo(e,n){if(isCmd$3(n)&&!isShift$1(n)&&e===90)return t.trigger(`undo`),!0}function redo(e,n){if(isCmd$3(n)&&(e===89||e===90&&isShift$1(n)))return t.trigger(`redo`),!0}e.push(undo),e.push(redo);function selectCellAbove(e,n){if(e===13&&!isCmd$3(n)&&isShift$1(n)&&findSelectableAncestor(n.target))return t.trigger(`selectCellAbove`),!0}e.push(selectCellAbove);function selectCellBelow(e,r){if(e!==13||isCmd$3(r)||isShift$1(r)||!findSelectableAncestor(r.target))return;let i=t.trigger(`selectCellBelow`),a=n.getCellSelection();if(!i&&a&&!isDecisionNameCell(a)){let e=t.trigger(`addRule`);return t.trigger(`selectCellBelow`),e}return!0}e.push(selectCellBelow)}addListener(e){this._listeners.unshift(e)}removeListener(e){this._listeners=this._listeners.filter(t=>t!==e)}};Keyboard$1.$inject=[`config.keyboard`,`eventBus`,`editorActions`,`cellSelection`,`renderer`];function isDecisionNameCell(e){return e===`__decisionProperties_name`}var $={__depends__:[Ea],__init__:[`keyboard`],keyboard:[`type`,Keyboard$1]},Ja={__depends__:[Ka,Ga,Pa,Aa,Ji,Yi,$,Va],__init__:[`inputEditingProvider`,`outputEditingProvider`],inputEditingProvider:[`type`,InputCellProvider],outputEditingProvider:[`type`,OutputEditingProvider]};function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){var t=_toPrimitive(e,`string`);return typeof t==`symbol`?t:t+``}function _toPrimitive(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Ya=`.dmn-decision-table-container td,
|
|
31
|
+
.dmn-decision-table-container th`,DragAndDrop$1=class{static{e(this,`DragAndDrop`)}constructor(e,t,n,r){_defineProperty(this,`handleDragOver`,e=>{stopEvent(e);let t=e.target,n=B(t,Ya,!0),r=!!n,{hoverEl:i}=this._dragContext;i&&i!==n&&(this._emit(`dragAndDrop.dragLeave`,e),this._dragContext.targetEl=null,this._dragContext.hoverEl=null),n&&(n!==i&&(this._dragContext.hoverEl=n,r=this._emit(`dragAndDrop.dragEnter`,e),r!==!1&&(this._dragContext.targetEl=n)),r=this._emit(`dragAndDrop.dragOver`,e)),e.dataTransfer.dropEffect=r===!1?`none`:`move`}),_defineProperty(this,`handleDrop`,e=>{stopEvent(e);let t=this._emit(`dragAndDrop.drop`,e);if(t){let{draggedElement:e}=this._dragContext;if(e instanceof Row){let{rows:n}=this._sheet.getRoot(),r=n.indexOf(t);this._modeling.moveRow(e,r)}else if(e instanceof Col){let{cols:n}=this._sheet.getRoot(),r=n.indexOf(t);this._modeling.moveCol(e,r)}}this.handleDragEnd(e)}),_defineProperty(this,`handleDragEnd`,e=>{stopEvent(e),this._unbindListeners(),this._emit(`dragAndDrop.dragEnd`,e),this._dragContext=null}),this._eventBus=e,this._renderer=t,this._modeling=n,this._sheet=r,this._dragContext=null,e.on(`table.destroy`,()=>{this._unbindListeners()})}_bindListeners(){F.bind(document,`dragover`,this.handleDragOver),F.bind(document,`drop`,this.handleDrop),F.bind(document,`dragend`,this.handleDragEnd)}_unbindListeners(){F.unbind(document,`dragover`,this.handleDragOver),F.unbind(document,`drop`,this.handleDrop),F.unbind(document,`dragend`,this.handleDragEnd)}_emit(e,t){return this._eventBus.fire(e,{dragContext:this._dragContext,originalEvent:t})}startDrag(e,t){stopEvent(t,!0),t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData&&t.dataTransfer.setData(`text`,`__DUMMY`),this._dragContext={draggedElement:e},this._bindListeners(),this._emit(`dragAndDrop.dragStart`,t)}};DragAndDrop$1.$inject=[`eventBus`,`renderer`,`modeling`,`sheet`];function stopEvent(e,t){e.stopPropagation(),t!==!0&&e.preventDefault()}var Xa={__init__:[`dragAndDrop`],dragAndDrop:[`type`,DragAndDrop$1]};D();var Za=`top`,Qa=`right`,$a=`bottom`,eo=`left`,DragAndDrop=class{constructor(e,t,n,r,i,a,o,s){this._elementRegistry=t,this._dragAndDrop=r,this._renderer=i,this._rules=a,this._sheet=o,this._translate=s,e.onGetComponent(`cell-inner`,({cellType:e,col:t,row:n})=>{if(e===`rule-index`)return()=>createVNode(1,`span`,`dmn-icon-drag vertical`,createTextVNode(`\xA0`),2,{draggable:`true`,onDragStart:e=>this.startDrag(n,e),title:this._translate(`Move rule`)});if(e===`input-cell`||e===`output-cell`){let e=`Move ${isInput(t)?`Input`:`Output`}`;return()=>createVNode(1,`span`,`dmn-icon-drag horizontal`,null,1,{draggable:`true`,onDragStart:e=>this.startDrag(t,e),title:e})}}),n.on(`dragAndDrop.dragEnter`,e=>{let{dragContext:t}=e,{draggedElement:n,hoverEl:r}=t;if(n instanceof Row)return!0;if(n instanceof Col){let e=getTargetColIndex(r,this._elementRegistry,this._sheet);return e!==-1&&this._rules.allowed(`col.move`,{col:n,index:e})}return!1}),n.on(`dragAndDrop.dragLeave`,e=>{let{dragContext:t}=e,{targetEl:n}=t;n&&removeHighlight(this._renderer.getContainer())}),n.on(`dragAndDrop.dragOver`,e=>{let{dragContext:t,originalEvent:n}=e,{draggedElement:r,lastPosition:i,targetEl:a}=t,o=this._renderer.getContainer();if(!a)return!1;let s;return r instanceof Row&&(s=getVerticalPosition(n,a)),r instanceof Col&&(s=getHorizontalPosition(n,a)),i===s||(removeHighlight(o),r instanceof Row&&(s===Za?highlightRow(a,o,`top`):highlightRow(a,o,`bottom`)),r instanceof Col&&(s===eo?highlightCol(a,o,`left`):highlightCol(a,o,`right`)),t.lastPosition=s),!0}),n.on(`dragAndDrop.drop`,e=>{let{dragContext:t,originalEvent:n}=e,{draggedElement:r,targetEl:i}=t;if(!i)return!1;if(r instanceof Row){let e=getVerticalPosition(n,i),t=i.dataset.rowId,a=this._elementRegistry.get(t);if(!a||a===r)return;let o=getTargetRow(r,a,e,this._sheet.getRoot().rows);return o===r?void 0:o}if(r instanceof Col){let e=getHorizontalPosition(n,i),t=i.dataset.colId,a=this._elementRegistry.get(t);if(!a||a===r)return;let o=getTargetCol(r,a,e,this._sheet.getRoot().cols);return o===r?void 0:o}}),n.on(`dragAndDrop.dragEnd`,this._cleanup)}startDrag(e,t){let n=this._renderer.getContainer();this._dragImage=W(`<span style="
|
|
32
|
+
visibility: hidden;
|
|
33
|
+
position: fixed;
|
|
34
|
+
top: -10000px
|
|
35
|
+
"></span>`),document.body.appendChild(this._dragImage),t.dataTransfer.setDragImage&&t.dataTransfer.setDragImage(this._dragImage,0,0),e instanceof Row?fadeOutRow(e,n):e instanceof Col&&fadeOutCol(e,n),this._dragAndDrop.startDrag(e,t)}_cleanup=()=>{let e=this._renderer.getContainer();removeHighlight(e),removeFadeOut(e),this._dragImage&&=(Nn(this._dragImage),null)}};DragAndDrop.$inject=[`components`,`elementRegistry`,`eventBus`,`dragAndDrop`,`renderer`,`rules`,`sheet`,`translate`];function getTargetColIndex(e,t,n){let r=t.get(e.dataset.colId);if(!r)return-1;let{cols:i}=n.getRoot();return i.indexOf(r)}function highlightRow(e,t,n){let r=e.dataset.rowId;if(!r)return;let i=Sn(`[data-row-id=${r}]`,t);j(i,e=>{isNode(e)&&(z(e).add(`dragover`),z(e).add(n))})}function highlightCol(e,t,n){let r=e.dataset.colId;if(!r)return;let i=Sn(`[data-col-id=${r}]`,t);j(i,e=>{isNode(e)&&(z(e).add(`dragover`),z(e).add(n))})}function removeHighlight(e){let t=Sn(`.dragover`,e);j(t,e=>{isNode(e)&&(z(e).remove(`dragover`),z(e).remove(`top`),z(e).remove(`right`),z(e).remove(`bottom`),z(e).remove(`left`))})}function fadeOutRow(e,t){let n=Sn(`[data-row-id=${e.id}]`,t);j(n,e=>{isNode(e)&&z(e).add(`dragged`)})}function fadeOutCol(e,t){let n=Sn(`[data-col-id=${e.id}]`,t);j(n,e=>{isNode(e)&&z(e).add(`dragged`)})}function removeFadeOut(e){let t=Sn(`.dragged`,e);j(t,e=>{isNode(e)&&z(e).remove(`dragged`)})}function getHorizontalPosition(e,t){let n=t.getBoundingClientRect();return e.clientX<n.left+n.width/2?eo:Qa}function getVerticalPosition(e,t){let n=t.getBoundingClientRect();return e.clientY<n.top+n.height/2?Za:$a}function getTargetRow(e,t,n,r){return r.indexOf(e)>r.indexOf(t)&&(t=getRowBelow(t,r)),n===Za?getRowAbove(t,r):t}function getTargetCol(e,t,n,r){return r.indexOf(e)>r.indexOf(t)&&(t=getColRight(t,r)),n===eo?getColLeft(t,r):t}function getRowAbove(e,t){let n=t.indexOf(e);return t[Math.max(0,n-1)]}function getRowBelow(e,t){let n=t.indexOf(e);return t[Math.min(t.length-1,n+1)]}function getColLeft(e,t){let n=t.indexOf(e);if(isOutput(e)){let e=t.filter(e=>isOutput(e))[0],r=t.indexOf(e);return t[Math.max(r,n-1)]}return t[Math.max(0,n-1)]}function getColRight(e,t){let n=t.indexOf(e);if(isInput(e)){let e=t.filter(e=>isInput(e)),r=e[e.length-1],i=t.indexOf(r);return t[Math.min(i,n+1)]}return t[Math.min(t.length-1,n+1)]}function isNode(e){return e&&(e.nodeType===1||e.nodeType==11)}var to={__depends__:[Xa,ya],__init__:[`dmnDragAndDrop`],dmnDragAndDrop:[`type`,DragAndDrop]};D();var DescriptionEditor=class extends Z{constructor(e,t){super(e,t),this._elementRegistry=t.injector.get(`elementRegistry`),this._modeling=t.injector.get(`modeling`),this._changeSupport=this.context.changeSupport;let{id:n}=this.props.context;this._element=this._elementRegistry.get(n)}onElementsChanged=()=>{this.forceUpdate()};componentWillMount(){this._element&&this._changeSupport.onElementsChanged(this._element.id,this.onElementsChanged)}componentDidMount(){let{autoFocus:e}=this.props.context;e&&this.node&&getEditor(this.node).focus()}componentWillUnmount(){if(this._element){this._changeSupport.offElementsChanged(this._element.id,this.onElementsChanged);let{businessObject:e}=this._element,{description:t}=e;fe(t)&&!t.length&&this.changeDescription(null)}}changeDescription=e=>{this._modeling.updateProperties(this._element,{description:e})};render(){if(!this._element)return;let{businessObject:e}=this._element,{description:t}=e;if(fe(t))return createVNode(1,`div`,`context-menu-container description-editor`,createComponentVNode(2,Editor$4,{className:`dms-input`,onChange:this.changeDescription,value:t}),2,null,null,e=>this.node=e)}},Editor$4=class extends EditableComponent{static{e(this,`Editor`)}render(){return createVNode(1,`div`,this.getClassName(),this.getEditor(),0)}};function getEditor(e){return G(`.content-editable`,e)}D();var no=500,ro=750,io=26,Description$1=class{static{e(this,`Description`)}constructor(e,t,n,r,i,a,o){this._contextMenu=t,this._modeling=i,this._renderer=a,this._translate=o,r.on(`cell.click`,ro,e=>{if(e.defaultPrevented)return;let{target:r,id:i}=e,o=n.get(i);if(!isAny$1(o,[`dmn:UnaryTests`,`dmn:LiteralExpression`]))return;getDescription(o)||e.preventDefault();let s=getPosition(a.getContainer(),r.getBoundingClientRect());t.open(s,{contextMenuType:`cell-description`,autoFocus:!1,id:i,offset:{x:4,y:4}})}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`cell-description`){let t=getDescription(n.get(e.id));if(fe(t))return DescriptionEditor}}),e.onGetComponent(`context-menu-cell-additional`,no,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`context-menu`){let{id:t}=e;if(!t)return;let r=n.get(t);if(!r)return;let{businessObject:i}=r,{description:a}=i,o=fe(a),s=o?`remove-description`:`add-description`,c=o?()=>this.removeDescription(r):()=>this.addDescription(r);return createVNode(1,`div`,`context-menu-group-entry ${s}`,fe(a)?this._translate(`Remove cell description`):this._translate(`Add cell description`),0,{onClick:c})}})}addDescription=e=>{this._modeling.updateProperties(e,{description:``});let t=this._renderer.getContainer(),n=getPosition(t,getNodeById(e.id,t).getBoundingClientRect());this._contextMenu.open(n,{contextMenuType:`cell-description`,id:e.id,autoFocus:!0,offset:{x:4,y:4}})};removeDescription=e=>{this._modeling.updateProperties(e,{description:null}),this._contextMenu.close()}};Description$1.$inject=[`components`,`contextMenu`,`elementRegistry`,`eventBus`,`modeling`,`renderer`,`translate`];function getPosition(e,t){let{top:n,left:r,width:i,height:a}=t;return{x:r+e.parentNode.scrollLeft-io,y:n+e.parentNode.scrollTop,width:i+52,height:a}}function getDescription(e){return e&&e.businessObject&&e.businessObject.description}var ao={__depends__:[Pa,ia],__init__:[`description`],description:[`type`,Description$1]},ExpressionLanguage$1=class{static{e(this,`ExpressionLanguage`)}constructor(e,t,n,r,i,a){this._modeling=n,this._translate=i,this._expressionLanguages=r,e.onGetComponent(`context-menu-cell-additional`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`context-menu`){let{event:n,id:r}=e;if(!r)return;let i=t.get(r);if(!i||!this._shouldDisplayContextMenuEntry(i))return;let openMenu=e=>{a.open({x:(n||e).pageX,y:(n||e).pageY},{contextMenuType:`expression-language`,id:r})};return createVNode(1,`div`,`context-menu-group-entry`,this._translate(`Change cell expression language`),0,{onClick:openMenu})}}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`expression-language`){let{id:n}=e;if(!n)return;let i=t.get(n);if(!i)return;let a=this._getElementExpressionLanguage(i),o=r.getAll(),s=this._translate(`Expression language`);return()=>createVNode(1,`div`,`context-menu-flex`,createVNode(1,`div`,`context-menu-group`,createVNode(1,`div`,`context-menu-group-entry context-menu-entry-set-expression-language`,[createVNode(1,`div`,null,s,0),createComponentVNode(2,InputSelect,{label:s,className:`expression-language`,onChange:e=>this.onChange(i,e),options:o,value:a})],4),2),2)}}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType===`input-edit`)return()=>{let{inputExpression:t}=e.input;if(!this._shouldDisplayContextMenuEntry(t))return;let n=this._getElementExpressionLanguage(t),i=r.getAll(),a=this._translate(`Expression language`);return createVNode(1,`div`,`context-menu-container ref-language`,createVNode(1,`div`,`dms-form-control`,[createVNode(1,`label`,`dms-label`,a,0),createComponentVNode(2,InputSelect,{label:a,className:`ref-language`,value:n||``,onChange:e=>this.onChange(t,e),options:i})],4),2)}})}onChange(e,t){this._modeling.editExpressionLanguage(e,t)}_shouldDisplayContextMenuEntry(e){return this._expressionLanguages.getAll().length>1||this._getElementExpressionLanguage(e)!==this._getDefaultElementExpressionLanguage(e)}_getElementExpressionLanguage(e){return getBusinessObject$1(e).expressionLanguage||this._getDefaultElementExpressionLanguage(e)}_getDefaultElementExpressionLanguage(e){return this._expressionLanguages.getDefault(isInput(e.col)?`inputCell`:`outputCell`).value}};ExpressionLanguage$1.$inject=[`components`,`elementRegistry`,`modeling`,`expressionLanguages`,`translate`,`contextMenu`];var oo={__depends__:[Ji],__init__:[`expressionLanguage`],expressionLanguage:[`type`,ExpressionLanguage$1]},DecisionTablePropertiesComponent=class extends Z{constructor(e,t){super(e,t),inject(this)}componentWillMount(){this.setupChangeListeners({bind:this.getBusinessObject().id})}componentWillUnmount(){this.setupChangeListeners({unbind:this.getBusinessObject().id})}setupChangeListeners({bind:e,unbind:t}){typeof t==`string`&&this.changeSupport.offElementsChanged(t,this.onElementsChanged),typeof e==`string`&&this.changeSupport.onElementsChanged(e,this.onElementsChanged)}getBusinessObject(){return this.sheet.getRoot().businessObject.$parent}onElementsChanged=()=>{this.forceUpdate()};setDecisionTableName=e=>{this.modeling.editDecisionTableName(e)};render(){let{name:e}=this.getBusinessObject(),t=this.components.getComponent(`hit-policy`)||NullComponent;return createVNode(1,`div`,`decision-table-properties`,[createComponentVNode(2,DecisionTableName,{label:this.translate(`Decision name`),className:`decision-table-name`,value:e,ctrlForNewline:!0,onBlur:resetScroll$1,onChange:this.setDecisionTableName,elementId:`__decisionProperties_name`,coords:`0:__decisionProperties`}),createVNode(1,`div`,`decision-table-header-separator`),createComponentVNode(2,t)],4)}};DecisionTablePropertiesComponent.$inject=[`sheet`,`modeling`,`changeSupport`,`components`,`translate`];var DecisionTableName=class extends EditableComponent{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),mixin(this,Ri)}render(){let e=this.props.value;return createVNode(1,`div`,classNames(this.getSelectionClasses(),this.getClassName()),this.getEditor(),0,{"data-element-id":this.props.elementId,"data-coords":this.props.coords,title:this._translate(`Decision name: `)+e})}};function NullComponent(){return null}function resetScroll$1(e){e.target.scroll(0,0)}e(resetScroll$1,`resetScroll`);var so=500,DecisionTableProperties=class{constructor(e){e.onGetComponent(`table.before`,so,()=>DecisionTablePropertiesComponent)}};DecisionTableProperties.$inject=[`components`];var co={__depends__:[Aa],__init__:[`decisionTableProperties`],decisionTableProperties:[`type`,DecisionTableProperties]};D();var EditableHitPolicy=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),inject(this)}onChange=({aggregation:e,hitPolicy:t})=>{this.modeling.editHitPolicy(t,e)};onElementsChanged=()=>{this.forceUpdate()};componentDidMount(){this.changeSupport.onElementsChanged(this.getRoot().id,this.onElementsChanged)}componentWillUnmount(){this.changeSupport.offElementsChanged(this.getRoot().id,this.onElementsChanged)}getRoot(){return this.sheet.getRoot()}render(){let{aggregation:e,hitPolicy:t}=this.getRoot().businessObject,n=k(Zi,n=>isEqualHitPolicy(n.value,{aggregation:e,hitPolicy:t}));return createVNode(1,`div`,`hit-policy`,[createVNode(1,`label`,`dms-label`,this._translate(`Hit policy:`),0),createComponentVNode(2,InputSelect,{className:`hit-policy-edit-policy-select`,label:this._translate(`Hit policy`),onChange:this.onChange,options:Zi.map(e=>({...e,label:this._translate(e.label)})),value:n.value,"data-hit-policy":`true`,noInput:!0})],4,{title:this._translate(n.explanation)})}};EditableHitPolicy.$inject=[`changeSupport`,`sheet`,`modeling`];function isEqualHitPolicy(e,t){return e.hitPolicy===t.hitPolicy&&e.aggregation===t.aggregation}function HitPolicyEditingProvider(e){e.onGetComponent(`hit-policy`,()=>EditableHitPolicy)}HitPolicyEditingProvider.$inject=[`components`];var lo={__depends__:[Pa],__init__:[`hitPolicyProvider`],hitPolicyProvider:[`type`,HitPolicyEditingProvider]},DmnUpdater=class extends q{constructor(e,t){super(e),this.executed([`row.add`,`row.remove`,`col.add`,`col.remove`],ifDmn(e=>{var t=e.context,n=t.row||t.col;this.updateRoot(n,t.oldRoot)})),this.reverted([`row.add`,`row.remove`,`col.add`,`col.remove`],ifDmn(e=>{var t=e.context,n=t.row||t.col;this.updateRoot(n,t.newRoot)}))}updateRoot(e,t){var n=e.root,r=e.businessObject;if(is$2(e,`dmn:DecisionRule`)){if(t){let e=t.businessObject.get(`rule`),n=e.indexOf(r);e.splice(n,1),r.$parent=null}if(n){let t=n.businessObject,i=n.rows.indexOf(e);t.get(`rule`).splice(i,0,r),r.$parent=t,e.cells.forEach((t,n)=>{this.wireCell(t,e,n)})}}if(is$2(e,`dmn:InputClause`)||is$2(e,`dmn:OutputClause`)){let i,a;if(t){let n=t.businessObject,o=n.get(`input`),s=n.get(`output`);if(is$2(e,`dmn:InputClause`)&&(i=o,a=o.indexOf(r)),is$2(e,`dmn:OutputClause`)&&(i=s,a=s.indexOf(r)),a===-1)throw Error(`inconsistent model: clause not in table`);i.splice(a,1),r.$parent=null,e.cells.forEach((e,n)=>{this.unwireCell(e,t.rows[n])})}if(n){let t=n.businessObject,i=t.get(`input`),a=t.get(`output`),o=n.cols.indexOf(e),s,c;is$2(e,`dmn:InputClause`)&&(c=i,s=o),is$2(e,`dmn:OutputClause`)&&(c=a,s=o-i.length),c.splice(s,0,r),r.$parent=t,e.cells.forEach((e,t)=>{this.wireCell(e,n.rows[t],o)})}}}unwireCell(e,t){var n=e.businessObject;let r=t.businessObject,i=r.get(`inputEntry`),a=r.get(`outputEntry`),o,s;if(is$2(e,`dmn:UnaryTests`)&&(o=i),is$2(e,`dmn:LiteralExpression`)&&(o=a),s=o.indexOf(n),s===-1)throw Error(`cell not in row`);o.splice(s,1),n.$parent=null}wireCell(e,t,n){var r=e.businessObject;let i=t.businessObject,a=i.get(`inputEntry`),o=i.get(`outputEntry`),s,c;r.$parent!==i&&(is$2(e,`dmn:UnaryTests`)&&(s=a,c=n),is$2(e,`dmn:LiteralExpression`)&&(s=o,c=n-a.length),s.splice(c,0,r),r.$parent=i)}};DmnUpdater.$inject=[`eventBus`,`sheet`];function ifDmn(e){return function(t){var n=t.context;is$2(n.row||n.col,`dmn:DMNElement`)&&e(t)}}var DmnFactory$1=class{static{e(this,`DmnFactory`)}constructor(e){this._model=e}create(e,t={}){var n=this._model.create(e,t||{});return is$2(n,`dmn:InputClause`)&&(t.inputExpression?n.inputExpression=t.inputExpression:(n.inputExpression=this.create(`dmn:LiteralExpression`,{typeRef:`string`}),n.inputExpression.$parent=n)),is$2(n,`dmn:OutputClause`)&&(n.typeRef=t.typeRef||`string`),(is$2(n,`dmn:UnaryTests`)||is$2(n,`dmn:LiteralExpression`))&&(n.text=t.text||``),this._ensureId(n),n}_needsId(e){return is$2(e,`dmn:DMNElement`)}_ensureId(e){var t=(e.$type||``).replace(/^[^:]*:/g,``)+`_`;!e.id&&this._needsId(e)&&(e.id=this._model.ids.nextPrefixed(t,e))}};DmnFactory$1.$inject=[`moddle`];var ElementFactory=class extends ElementFactory$1{constructor(e){super(),this._dmnFactory=e}create(e,t){let n=this._dmnFactory,{businessObject:r,type:i,...a}=t;if(!r){if(!i){if(e===`root`)i=`dmn:DecisionTable`;else if(e===`cell`){let{col:e}=a;is$2(e,`dmn:OutputClause`)&&(i=`dmn:LiteralExpression`),is$2(e,`dmn:InputClause`)&&(i=`dmn:UnaryTests`)}if(!i)throw Error(`cannot guess <type>`)}r=n.create(i)}return super.create(e,{businessObject:r,id:r.id,...a})}};ElementFactory.$inject=[`dmnFactory`];var AddRowHandler=class{constructor(e,t){this._sheet=e,this._elementFactory=t}execute(e){let t=this._sheet,n=this._elementFactory,r=t.getRoot(),{row:i,index:a}=e;return a===void 0&&(a=e.index=r.rows.length),e.newRoot=r,i.cells.length||r.cols.forEach((e,t)=>{let r=n.create(`cell`,{row:i,col:e});i.cells[t]=r}),t.addRow(i,a),t.getRoot()}revert(e){let{row:t}=e,n=this._sheet;return n.removeRow(t),n.getRoot()}};AddRowHandler.$inject=[`sheet`,`elementFactory`];var RemoveRowHandler=class{constructor(e){this._sheet=e}execute(e){let t=this._sheet,n=t.getRoot(),{row:r}=e,i=e.oldIndex=n.rows.indexOf(r);if(e.oldRoot=r.root,i===-1)throw Error(`row#${r.id} not in sheet`);return t.removeRow(r),t.getRoot()}revert(e){let{row:t,oldIndex:n}=e,r=this._sheet;return r.addRow(t,n),r.getRoot()}};RemoveRowHandler.$inject=[`sheet`];var MoveRowHandler=class{constructor(e){this._modeling=e}preExecute(e){let{row:t}=e;this._modeling.removeRow(t)}postExecute(e){let{row:t,index:n}=e;this._modeling.addRow(t,n)}};MoveRowHandler.$inject=[`modeling`];var AddColHandler=class{constructor(e,t){this._sheet=e,this._elementFactory=t}execute(e){let t=this._sheet,n=this._elementFactory,r=t.getRoot(),{col:i,index:a}=e;return a===void 0&&(a=e.index=r.cols.length),e.newRoot=r,i.cells.length||r.rows.forEach((e,t)=>{let r=n.create(`cell`,{row:e,col:i});i.cells[t]=r}),t.addCol(i,a),t.getRoot()}revert(e){let{col:t}=e,n=this._sheet;return n.removeCol(t),n.getRoot()}};AddColHandler.$inject=[`sheet`,`elementFactory`];var RemoveColHandler=class{constructor(e,t){this._sheet=e,this._elementFactory=t}execute(e){let t=this._sheet,{col:n}=e;if((e.oldIndex=(e.oldRoot=n.root).cols.indexOf(n))===-1)throw Error(`col#${n.id} not in sheet`);return t.removeCol(n),t.getRoot()}revert(e){let{col:t,oldIndex:n}=e,r=this._sheet;return r.addCol(t,n),r.getRoot()}};RemoveColHandler.$inject=[`sheet`,`elementFactory`];var MoveColHandler=class{constructor(e){this._modeling=e}preExecute(e){let{col:t}=e;this._modeling.removeCol(t)}postExecute(e){let{col:t,index:n}=e;this._modeling.addCol(t,n)}};MoveColHandler.$inject=[`modeling`];var EditCellHandler=class{execute(e){let{cell:t}=e;return t}revert(e){let{cell:t}=e;return t}};D();var uo=class Modeling$3{static{e(this,`Modeling`)}constructor(e,t,n){this._eventBus=e,this._elementFactory=t,this._commandStack=n,e.on(`table.init`,()=>{registerHandlers$2(this.getHandlers(),n)})}getHandlers(){return Modeling$3._getHandlers()}static _getHandlers(){return{"row.add":AddRowHandler,"row.remove":RemoveRowHandler,"row.move":MoveRowHandler,"col.add":AddColHandler,"col.remove":RemoveColHandler,"col.move":MoveColHandler,"cell.edit":EditCellHandler}}_create(e,t){return t instanceof Base?t:this._elementFactory.create(e,t)}addRow(e,t){let n=this._create(`row`,e),r={row:n,index:t};return this._commandStack.execute(`row.add`,r),n}removeRow(e){this._commandStack.execute(`row.remove`,{row:e})}moveRow(e,t){let n={row:e,index:t};this._commandStack.execute(`row.move`,n)}addCol(e,t){let n=this._create(`col`,e),r={col:n,index:t};return this._commandStack.execute(`col.add`,r),n}removeCol(e){this._commandStack.execute(`col.remove`,{col:e})}moveCol(e,t){let n={col:e,index:t};this._commandStack.execute(`col.move`,n)}editCell(e,t){let n={cell:e,...t};this._commandStack.execute(`cell.edit`,n)}};uo.$inject=[`eventBus`,`elementFactory`,`commandStack`];function registerHandlers$2(e,t){j(e,function(e,n){t.registerHandler(n,e)})}e(registerHandlers$2,`registerHandlers`);var UpdateAllowedValuesHandler=class{constructor(e,t,n){this._dmnFactory=e,this._moddle=t,this._modeling=n}execute(e){let{element:t,allowedValues:n}=e;return is$2(t,`dmn:InputClause`)?(t.inputValues?e.oldAllowedValues=t.inputValues.text:isNull(n)||(t.inputValues=this._dmnFactory.create(`dmn:UnaryTests`,{text:``})),isNull(n)?t.inputValues&&delete t.inputValues:t.inputValues.text=n.join(`,`)):(t.outputValues&&t?e.oldAllowedValues=t.outputValues.text:isNull(n)||(t.outputValues=this._dmnFactory.create(`dmn:UnaryTests`,{text:``})),isNull(n)?t.outputValues&&delete t.outputValues:t.outputValues.text=n.join(`,`)),t}revert(e){let{element:t,oldAllowedValues:n}=e;return is$2(t,`dmn:InputClause`)?n?(t.inputValues||=this._dmnFactory.create(`dmn:UnaryTests`,{text:``}),t.inputValues.text=n):delete t.inputValues:n?(t.outputValues||=this._dmnFactory.create(`dmn:UnaryTests`,{text:``}),t.outputValues.text=n):delete t.outputValues,t}};UpdateAllowedValuesHandler.$inject=[`dmnFactory`,`moddle`,`modeling`];function isNull(e){return e===null}D();var fo=`id`,EditPropertiesHandler=class{constructor(e,t){this._elementRegistry=e,this._moddle=t}execute(e){let{element:t,properties:n}=e,r=getBusinessObject$1(t),{changed:i,oldProperties:a}=this.updateProperties(r,n);return e.oldProperties=a,[...i,t]}revert(e){let{element:t,oldProperties:n}=e;var r=getBusinessObject$1(t),{changed:i}=this.updateProperties(r,n);return[...i,t]}updateProperties(e,t){let n=this._moddle.ids;return E(t,(t,r,i)=>{let a=e.get(i);if(isContainer(r)){if(!isModdleElement(a)&&!isContainer(a))throw Error(`non-existing property <${i}>: cannot update values`);let{changed:e,oldProperties:n}=this.updateProperties(a,r);return{changed:[...t.changed,...e,a],oldProperties:{...t.oldProperties,[i]:n}}}return i===fo&&isIdChange(e,r)&&(n.unclaim(e[fo]),this._elementRegistry.updateId(e,r),n.claim(r,e)),e.set(i,r),{changed:t.changed,oldProperties:{...t.oldProperties,[i]:a}}},{changed:[],oldProperties:{}})}};EditPropertiesHandler.$inject=[`elementRegistry`,`moddle`];function isIdChange(e,t){return e[fo]!==t}function isContainer(e){return le(e)&&oe(e)&&!isModdleElement(e)}function isModdleElement(e){return!!e?.$type}var IdClaimHandler=class{constructor(e){this._moddle=e}execute(e){let t=this._moddle.ids,n=e.id,r=e.element;e.claiming?t.claim(n,r):t.unclaim(n)}revert(e){let t=this._moddle.ids,n=e.id,r=e.element;e.claiming?t.unclaim(n):t.claim(n,r)}};IdClaimHandler.$inject=[`moddle`],D();var po=class Modeling$2 extends uo{static{e(this,`Modeling`)}constructor(e,t,n,r){super(e,t,n),this._eventBus=e,this._elementFactory=t,this._commandStack=n,this._sheet=r}getHandlers(){return Modeling$2._getHandlers()}static _getHandlers(){return A({},super._getHandlers(),{editAllowedValues:UpdateAllowedValuesHandler,"element.updateProperties":EditPropertiesHandler,"id.updateClaim":IdClaimHandler})}editDecisionTableName(e){let t={element:this._sheet.getRoot().businessObject.$parent,properties:{name:e}};this._commandStack.execute(`element.updateProperties`,t)}editDecisionTableId(e){let t={element:this._sheet.getRoot().businessObject.$parent,properties:{id:e}};this._commandStack.execute(`element.updateProperties`,t)}editHitPolicy(e,t){let n={element:this._sheet.getRoot().businessObject,properties:{hitPolicy:e,aggregation:t}};this._commandStack.execute(`element.updateProperties`,n)}updateProperties(e,t){let n={element:e,properties:t};this._commandStack.execute(`element.updateProperties`,n)}editInputExpression(e,t){let n={element:e,properties:t};this._commandStack.execute(`element.updateProperties`,n)}editOutputName(e,t){let n={element:e,properties:{name:t}};this._commandStack.execute(`element.updateProperties`,n)}editInputExpressionTypeRef(e,t){let n={element:e,properties:{typeRef:t}};this._commandStack.execute(`element.updateProperties`,n)}editOutputTypeRef(e,t){let n={element:e,properties:{typeRef:t}};this._commandStack.execute(`element.updateProperties`,n)}editCell(e,t){let n={element:e,properties:{text:t}};this._commandStack.execute(`element.updateProperties`,n)}editAnnotation(e,t){let n={element:e,properties:{description:t}};this._commandStack.execute(`element.updateProperties`,n)}editAllowedValues(e,t){let n={element:e,allowedValues:t};this._commandStack.execute(`editAllowedValues`,n)}editExpressionLanguage(e,t){let n={element:e,properties:{expressionLanguage:t}};this._commandStack.execute(`element.updateProperties`,n)}claimId(e,t){let n={id:e,element:t,claiming:!0};this._commandStack.execute(`id.updateClaim`,n)}unclaimId(e,t){let n={id:e,element:t};this._commandStack.execute(`id.updateClaim`,n)}};po.$inject=[`eventBus`,`elementFactory`,`commandStack`,`sheet`],D();var IdClaimBehavior=class extends q{constructor(e,t,n){super(e),this._ids=t.ids,this._modeling=n,this.preExecute([`row.add`,`col.add`],e=>{let t=e.context,n=t.row||t.col;this.claimId(n.businessObject),n.cells&&n.cells.forEach(e=>this.claimId(e.businessObject))})}claimId(e){e.id&&!this._ids.assigned(e.id)&&this._modeling.claimId(e.id,e),e.$descriptor.properties.forEach(t=>{let n=e[t.name];n&&(T(n)&&n.forEach(e=>this.claimId(e)),n.$type&&this.claimId(n))})}};IdClaimBehavior.$inject=[`eventBus`,`moddle`,`modeling`],D();var IdUnclaimBehavior=class extends q{constructor(e,t){super(e),this._modeling=t,this.preExecute([`row.remove`,`col.remove`],e=>{let t=e.context,n=t.row||t.col;this.unclaimId(n.businessObject),n.cells&&n.cells.forEach(e=>this.unclaimId(e.businessObject))})}unclaimId(e){e.id&&this._modeling.unclaimId(e.id,e),e.$descriptor.properties.forEach(t=>{let n=e[t.name];n&&(T(n)&&n.forEach(e=>this.unclaimId(e)),n.$type&&this.unclaimId(n))})}};IdUnclaimBehavior.$inject=[`eventBus`,`modeling`];var mo={__init__:[`dmnUpdater`,`idChangeBehavior`,`nameChangeBehavior`,`modeling`],__depends__:[{__init__:[`idClaimBehavior`,`idUnclaimBehavior`],idClaimBehavior:[`type`,IdClaimBehavior],idUnclaimBehavior:[`type`,IdUnclaimBehavior]},st],dmnUpdater:[`type`,DmnUpdater],dmnFactory:[`type`,DmnFactory$1],elementFactory:[`type`,ElementFactory],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],modeling:[`type`,po]};D();var DecisionRulesCellEditorComponent=class extends Z{constructor(e,t){super(e,t),this.changeCellValue=this.changeCellValue.bind(this),this.onElementsChanged=this.onElementsChanged.bind(this)}onElementsChanged(){this.forceUpdate()}componentWillMount(){let{injector:e}=this.context,{cell:t}=this.props,n=this._changeSupport=this.context.changeSupport;this._modeling=e.get(`modeling`),n.onElementsChanged(t.id,this.onElementsChanged)}componentWillUnmount(){let{cell:e}=this.props;this._changeSupport.offElementsChanged(e.id,this.onElementsChanged)}changeCellValue(e){let{cell:t}=this.props;this._modeling.editCell(t.businessObject,e)}render(){let{cell:e,rowIndex:t,row:n,col:r,colIndex:i}=this.props,a=is$2(e,`dmn:UnaryTests`),o=e.businessObject;return createComponentVNode(2,HeaderCell,{className:a?`input-cell`:`output-cell`,elementId:e.id,coords:`${t}:${i}`,"data-row-id":n.id,"data-col-id":r.id,children:createComponentVNode(2,TableCellEditor,{placeholder:a?`-`:``,onChange:this.changeCellValue,value:o.text,businessObject:o})})}},FeelEditor$2=class extends Z{static{e(this,`FeelEditor`)}constructor(e,t){super(e,t),this.state={focussed:!1},this.onFocus=this.onFocus.bind(this),this.onBlur=this.onBlur.bind(this)}onFocus(){this.setState({focussed:!0})}onBlur(){this.setState({focussed:!1})}render(){let{focussed:e}=this.state;return createVNode(1,`div`,`feel-editor${e?` focussed`:``}`,[e&&normalizeProps(createComponentVNode(2,LiteralExpression$1,{...this.props,autoFocus:!0,onBlur:this.onBlur})),normalizeProps(createComponentVNode(2,ContentEditable,{...this.props,onInput:()=>{},onFocus:this.onFocus}))],0,{onClick:this.onFocus})}},TableCellEditor=class extends Z{constructor(e,t){super(e,t),this._expressionLanguages=t.injector.get(`expressionLanguages`),this._translate=t.injector.get(`translate`),this._variableResolver=t.injector.get(`variableResolver`,!1)}isDefaultExpressionLanguage(e){let{expressionLanguage:t}=e,n=this.getDefaultExpressionLanguage().value;return!t||t===n}getDescription(e){return e.description}getExpressionLanguageLabel(e){let{expressionLanguage:t}=e,n=this.getDefaultExpressionLanguage();return this._expressionLanguages.getLabel(t)||n.label}isScript(){let{businessObject:e}=this.props,t=this.getDefaultExpressionLanguage();return this._isInputCell()?e.text.indexOf(`
|
|
36
|
+
`)!==-1||e.expressionLanguage&&e.expressionLanguage!==t:!1}_isInputCell(){return is$2(this.props.businessObject,`dmn:UnaryTests`)}getDefaultExpressionLanguage(){let e=this._isInputCell()?`inputCell`:`outputCell`;return this._expressionLanguages.getDefault(e)}getEditor(){return this.isFEEL()?FeelEditor$2:ContentEditable}isFEEL(){return this.getExpressionLanguage()===`feel`}getExpressionLanguage(){let{businessObject:e}=this.props;return e.expressionLanguage||this.getDefaultExpressionLanguage().value}_getVariables(){let{businessObject:e}=this.props;return this._variableResolver&&this._variableResolver.getVariables(e)}_getLabel(){return this._isInputCell()?this._translate(`Input`):this._translate(`Output`)}render(){let{businessObject:e,placeholder:t,value:n,onChange:r}=this.props,i=this.getDescription(e),a=this.isDefaultExpressionLanguage(e),o=this.getExpressionLanguageLabel(e),s=this.isScript(),c=this.getEditor(),l=this._getVariables();return createVNode(1,`div`,`cell-editor`,[fe(i)&&createVNode(1,`div`,`description-indicator`),createComponentVNode(2,c,{label:this._getLabel(),className:s?`script-editor`:``,ctrlForNewline:!0,onInput:r,value:n,placeholder:t,variables:l,feelLanguageDialect:`unaryTests`}),!a&&createVNode(1,`span`,`dms-badge dmn-expression-language`,[createVNode(1,`span`,`dms-badge-icon dmn-icon-file-code`),createVNode(1,`span`,`dms-badge-label`,o,0)],4,{title:this._translate(`Expression language: {expressionLanguageLabel}`,{expressionLanguageLabel:o})})],0)}},ho=1500,RulesEditor=class{constructor(e){e.onGetComponent(`cell`,ho,({cellType:e})=>{if(e===`rule`)return DecisionRulesCellEditorComponent})}};RulesEditor.$inject=[`components`];var go={__depends__:[Aa,Xi],__init__:[`decisionRulesEditor`],decisionRulesEditor:[`type`,RulesEditor]};D();var _o=4,SimpleModeButtonComponent=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this.state={top:0,left:0,isVisible:!1,isDisabled:!1,selection:null},inject(this);let{debounceInput:n}=this;this.onClick=this.onClick.bind(this),this.handleSelectionChanged=this.handleSelectionChanged.bind(this),this.hideAndShowDebounced=this.hideAndShowDebounced.bind(this),this.showDebounced=n(this.showDebounced.bind(this)),this.updatePosition=this.updatePosition.bind(this)}componentDidMount(){let{eventBus:e}=this;e.on(`cellSelection.changed`,this.handleSelectionChanged),e.on(`commandStack.changed`,this.updatePosition),e.on(`sheet.scroll`,this.hideAndShowDebounced)}componentWillUnmount(){let{eventBus:e}=this;e.off(`cellSelection.changed`,this.handleSelectionChanged),e.off(`commandStack.changed`,this.updatePosition),e.off(`sheet.scroll`,this.hideAndShowDebounced)}hideAndShowDebounced(){this.state.isVisible&&(this.hide(),this.showDebounced())}showDebounced(){this.show()}hide(e={}){this.setState({...e,isVisible:!1})}show(e={}){this.setState({...e,isVisible:!0}),this.updatePosition()}handleSelectionChanged({elementId:e}){let{elementRegistry:t,expressionLanguages:n,simpleMode:r}=this,i=t.get(e);if(!i||!r.canSimpleEdit(i)){this.hide({isDisabled:!1,selection:null});return}let a=!isDefaultExpressionLanguage(i,getExpressionLanguage(i),n);this.show({isDisabled:a,selection:i})}updatePosition(){let{selection:e}=this.state,{node:t}=this;if(!e||!t)return;let{renderer:n}=this,r=n.getContainer(),i=r.getBoundingClientRect(),a=getNodeById(e.id,r).getBoundingClientRect(),o=this.node.getBoundingClientRect(),{scrollLeft:s,scrollTop:c}=getTableContainerScroll(t),l={};l.left=a.left+a.width/2>i.width/2?-i.left+a.left-o.width+_o+s+`px`:-i.left+a.left+a.width-_o+s+`px`,l.top=a.top+a.height/2>i.height/2?-i.top+a.top-o.height+_o+c+`px`:-i.top+a.top-_o+c+`px`,A(this.node.style,l)}onClick(){let{eventBus:e}=this,{isDisabled:t}=this.state;if(t)return;let{selection:n}=this,r=n.get();r&&(e.fire(`simpleMode.open`,{element:r,node:getNodeById(r.id,this._container)}),this.hide())}render(){let{isDisabled:e,isVisible:t,top:n,left:r}=this.state,i=[`simple-mode-button`,`no-deselect`];return e&&i.push(`disabled`),t?createVNode(1,`div`,i.join(` `),createVNode(1,`span`,`dmn-icon-edit`),2,{onClick:this.onClick,style:{top:n,left:r},title:e?this._translate(`Editing not supported for set expression language`):this._translate(`Edit`)},null,e=>this.node=e):null}};SimpleModeButtonComponent.$inject=[`debounceInput`,`elementRegistry`,`eventBus`,`expressionLanguages`,`renderer`,`selection`,`simpleMode`];function getExpressionLanguage(e){return e.businessObject.expressionLanguage}function isDefaultExpressionLanguage(e,t,n){return!t||t===getDefaultExpressionLanguage(e,n)}function getDefaultExpressionLanguage(e,t){if(isInput(e.col))return t.getDefault(`inputCell`).value;if(isOutput(e.col))return t.getDefault(`outputCell`).value}function getTableContainerScroll(e){let t=B(e,`.tjs-table-container`);if(!t)return{scrollTop:0,scrollLeft:0};let{scrollLeft:n,scrollTop:r}=t;return{scrollTop:r,scrollLeft:n}}var SimpleMode=class{constructor(e,t,n,r,i){this._providers=[],e.onGetComponent(`table.before`,()=>SimpleModeButtonComponent),r.on(`simpleMode.open`,({element:e,node:n})=>{let{left:r,top:a,width:o,height:s}=n.getBoundingClientRect(),c=i.getContainer();t.open({x:r+c.parentNode.scrollLeft,y:a+c.parentNode.scrollTop,width:o,height:s},{contextMenuType:`simple-mode-edit`,element:e,offset:{x:4,y:4}})}),r.on(`cell.click`,e=>{let{event:t,node:i,id:a}=e;if(isCmd$1(t)){let t=n.get(a);t&&r.fire(`simpleMode.open`,{node:i,element:t}),e.preventDefault()}})}registerProvider(e){this._providers.push(e)}canSimpleEdit(e){return this._providers.reduce((t,n)=>t||n(e),!1)}};SimpleMode.$inject=[`components`,`contextMenu`,`elementRegistry`,`eventBus`,`renderer`];function isCmd$1(e){return e.altKey?!1:e.ctrlKey||e.metaKey}e(isCmd$1,`isCmd`);var vo={__depends__:[Pa,_a,Ji],__init__:[`simpleMode`],simpleMode:[`type`,SimpleMode]};function parseString$5(e){if(!e||isEmptyString$3(e))return`none`;if(e.trim()===`true`)return`true`;if(e.trim()===`false`)return`false`}e(parseString$5,`parseString`);function isEmptyString$3(e){return e===``}e(isEmptyString$3,`isEmptyString`);var yo=`true`,bo=`false`,xo=`none`,BooleanEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString$5(n.businessObject.text);this.state={value:r||xo},this.editCell=this.editCell.bind(this),this.onChange=this.onChange.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onChange(e){let{element:t}=this.props.context;this.editCell(t.businessObject,e===xo?``:e),this.setState({value:e})}render(){let{value:e}=this.state,t=[{label:`-`,value:xo},{label:this._translate(`Yes`),value:yo},{label:this._translate(`No`),value:bo}];return createVNode(1,`div`,`simple-boolean-edit context-menu-container`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit boolean`),0),createVNode(1,`h4`,`dms-heading`,this._translate(`Set value`),0),createComponentVNode(2,InputSelect,{label:this._translate(`Boolean value`),noInput:!0,className:`dms-block`,onChange:this.onChange,options:t,value:e})],4)}},SimpleBooleanEdit=class{constructor(e,t){t.registerProvider(e=>(isInput(e.col)||isOutput(e.col))&&getTypeRef$8(e)===`boolean`),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`simple-mode-edit`){if(!e.element)return;if(getTypeRef$8(e.element)===`boolean`)return BooleanEdit}})}};SimpleBooleanEdit.$inject=[`components`,`simpleMode`];function getTypeRef$8(e){return isInput(e.col)?e.col&&e.col.businessObject.inputExpression.typeRef:e.col&&e.col.businessObject.typeRef}e(getTypeRef$8,`getTypeRef`);var So={__depends__:[$,vo],__init__:[`simpleBooleanEdit`],simpleBooleanEdit:[`type`,SimpleBooleanEdit]},Co=/^\d{4}(?:-\d\d){2}$/,wo=/^\[date\("([^"]*)"\)..date\("([^"]*)"\)\]$/,To=/^(<|>)\s*date\("([^"]*)"\)$/,Eo=/^date\("([^"]*)"\)$/,Do=`exact`,Oo=`before`,ko=`after`,Ao=`between`;function validateISOString$2(e){if(!Co.test(e.trim()))return`Date must match pattern yyyy-MM-dd`}e(validateISOString$2,`validateISOString`);function getDateString$1(e,t){if(e===Do)return`date("${t[0]}")`;if(e===Oo)return`< date("${t[0]}")`;if(e===ko)return`> date("${t[0]}")`;if(e===Ao)return`[date("${t[0]}")..date("${t[1]}")]`}e(getDateString$1,`getDateString`);function getSampleDate$1(){let e=new Date;return e.setUTCHours(0,0,0,0),e.toISOString().slice(0,10)}e(getSampleDate$1,`getSampleDate`);function parseString$4(e){if(!e||e.trim()===``)return{type:`exact`,date:``};let t=e.match(wo);if(t)return{type:`between`,dates:[t[1],t[2]]};if(t=e.match(To),t)return{type:t[1]===`<`?`before`:`after`,date:t[2]};if(t=e.match(Eo),t)return{type:`exact`,date:t[1]}}e(parseString$4,`parseString`);var jo=`exact`,Mo=`before`,No=`after`,Po=`between`,InputDateEdit$1=class extends Z{static{e(this,`InputDateEdit`)}constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString$4(n.businessObject.text);if(r){let e;e=r.date?[r.date,``]:r.dates?r.dates:[``,``],this.state={type:r.type,dates:e}}else this.state={type:jo,dates:[``,``]};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onTypeChange=this.onTypeChange.bind(this),this.onSetStartDateTodayClick=this.onSetStartDateTodayClick.bind(this),this.onSetEndDateTodayClick=this.onSetEndDateTodayClick.bind(this),this.onStartDateInput=this.onStartDateInput.bind(this),this.onEndDateInput=this.onEndDateInput.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onTypeChange(e){let{element:t}=this.props.context,{dates:n}=this.state;this.setState({type:e}),parseString$4(getDateString$1(e,n))&&this.editCell(t.businessObject,getDateString$1(e,n))}onSetStartDateTodayClick(){let{element:e}=this.props.context,{dates:t,type:n}=this.state,r=getSampleDate$1();this.setState({dates:[r,t[1]]}),parseString$4(getDateString$1(n,[r,t[1]]))&&this.editCell(e.businessObject,getDateString$1(n,[r,t[1]]))}onSetEndDateTodayClick(){let{element:e}=this.props.context,{dates:t,type:n}=this.state,r=getSampleDate$1();this.setState({dates:[t[0],r]}),parseString$4(getDateString$1(n,[t[0],r]))&&this.editCell(e.businessObject,getDateString$1(n,[t[0],r]))}onStartDateInput({value:e}){let{element:t}=this.props.context,{dates:n,type:r}=this.state;this.setState({dates:[e,n[1]]}),this.debouncedEditCell(t.businessObject,getDateString$1(r,[e,n[1]]))}onEndDateInput({value:e}){let{element:t}=this.props.context,{dates:n,type:r}=this.state;this.setState({dates:[n[0],e]}),this.debouncedEditCell(t.businessObject,getDateString$1(r,[n[0],e]))}render(){let{dates:e,type:t}=this.state,n=[{label:this._translate(`Exactly`),value:jo},{label:this._translate(`Before`),value:Mo},{label:this._translate(`After`),value:No},{label:this._translate(`Between`),value:Po}];return createVNode(1,`div`,`context-menu-container simple-date-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit date`),0),createVNode(1,`div`,`dms-fill-row`,createComponentVNode(2,InputSelect,{label:this._translate(`Test type`),noInput:!0,onChange:this.onTypeChange,options:n,value:t}),2),createVNode(1,`h4`,`dms-heading`,t===Po?this._translate(`Edit start date`):this._translate(`Set date`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:t===Po?this._translate(`Start date`):this._translate(`Date`),className:`start-date-input dms-block`,onInput:this.onStartDateInput,placeholder:this._translate(`e.g. { sample }`,{sample:getSampleDate$1()}),validate:e=>validateISOString$2(e)&&this._translate(validateISOString$2(e)),value:e[0]}),createVNode(1,`p`,`dms-hint`,[createVNode(1,`button`,`use-today`,this._translate(`Use today`),0,{type:`button`,onClick:this.onSetStartDateTodayClick}),createTextVNode(`.`)],4)],4),t===Po&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end date`),0),t===Po&&createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:this._translate(`End date`),className:`end-date-input dms-block`,onInput:this.onEndDateInput,placeholder:this._translate(`e.g. { sample }`,{sample:getSampleDate$1()}),validate:e=>validateISOString$2(e)&&this._translate(validateISOString$2(e)),value:e[1]}),createVNode(1,`p`,`dms-hint`,[createVNode(1,`button`,`use-today`,this._translate(`Use today`),0,{type:`button`,onClick:this.onSetEndDateTodayClick}),createTextVNode(`.`)],4)],4)],0)}},OutputDateEdit$1=class extends Z{static{e(this,`OutputDateEdit`)}constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString$4(n.businessObject.text);this.state={date:r?r.date:``};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onClick=this.onClick.bind(this),this.onInput=this.onInput.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onClick(){let{element:e}=this.props.context,t=getSampleDate$1();this.setState({date:t}),this.editCell(e.businessObject,`date("${t}")`)}onInput({value:e}){let{element:t}=this.props.context;this.setState({date:e}),this.debouncedEditCell(t.businessObject,`date("${e}")`)}render(){let{date:e}=this.state;return createVNode(1,`div`,`context-menu-container simple-date-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit date`),0),createVNode(1,`h4`,`dms-heading`,this._translate(`Set date`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:this._translate(`Date value`),onInput:this.onInput,placeholder:this._translate(`e.g. { example } `,{example:getSampleDate$1()}),validate:e=>validateISOString$2(e)&&this._translate(validateISOString$2(e)),value:e,className:`dms-block`}),createVNode(1,`p`,`dms-hint`,createVNode(1,`button`,`use-today`,this._translate(`Use today`),0,{type:`button`,onClick:this.onClick}),2)],4)],4)}},SimpleDateEdit$2=class{static{e(this,`SimpleDateEdit`)}constructor(e,t){t.registerProvider(e=>{let t=getTypeRef$7(e);return(isInput(e.col)||isOutput(e.col))&&isDate(t)}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`simple-mode-edit`){if(!e.element)return;if(isDate(getTypeRef$7(e.element))){if(isInput(e.element.col))return InputDateEdit$1;if(isOutput(e.element.col))return OutputDateEdit$1}}})}};SimpleDateEdit$2.$inject=[`components`,`simpleMode`];function getTypeRef$7(e){return isInput(e.col)?e.col&&e.col.businessObject.inputExpression.typeRef:e.col&&e.col.businessObject.typeRef}e(getTypeRef$7,`getTypeRef`);function isDate(e){return e===`date`}var Fo={__depends__:[$,vo],__init__:[`simpleDateEdit`],simpleDateEdit:[`type`,SimpleDateEdit$2]},Io=/^\d{4}(?:-\d\d){2}T(?:\d\d:){2}\d\d(?:Z|(?:[@+-][^")]+))?$/,Lo=/^\[date and time\("([^"]*)"\)..date and time\("([^"]*)"\)\]$/,Ro=/^(<|>)\s*date and time\("([^"]*)"\)$/,zo=/^date and time\("([^"]*)"\)$/,Bo=`exact`,Vo=`before`,Ho=`after`,Uo=`between`;function validateISOString$1(e){if(!Io.test(e.trim()))return`Date and time must match pattern yyyy-MM-ddTHH:mm:ss[time zone]`}e(validateISOString$1,`validateISOString`);function getDateString(e,t){if(e===Bo)return`date and time("${t[0]}")`;if(e===Vo)return`< date and time("${t[0]}")`;if(e===Ho)return`> date and time("${t[0]}")`;if(e===Uo)return`[date and time("${t[0]}")..date and time("${t[1]}")]`}function getSampleDate(){let e=new Date;return e.setUTCHours(0,0,0,0),e.toISOString().replace(`.000Z`,`Z`)}function parseString$3(e){if(!e||e.trim()===``)return{type:`exact`,date:``};let t=e.match(Lo);if(t)return{type:`between`,dates:[t[1],t[2]]};if(t=e.match(Ro),t)return{type:t[1]===`<`?`before`:`after`,date:t[2]};if(t=e.match(zo),t)return{type:`exact`,date:t[1]}}e(parseString$3,`parseString`);var Wo=`exact`,Go=`before`,Ko=`after`,qo=`between`,InputDateEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString$3(n.businessObject.text);if(r){let e;e=r.date?[r.date,``]:r.dates?r.dates:[``,``],this.state={type:r.type,dates:e}}else this.state={type:Wo,dates:[``,``]};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onTypeChange=this.onTypeChange.bind(this),this.onSetStartDateTodayClick=this.onSetStartDateTodayClick.bind(this),this.onSetEndDateTodayClick=this.onSetEndDateTodayClick.bind(this),this.onStartDateInput=this.onStartDateInput.bind(this),this.onEndDateInput=this.onEndDateInput.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onTypeChange(e){let{element:t}=this.props.context,{dates:n}=this.state;this.setState({type:e}),parseString$3(getDateString(e,n))&&this.editCell(t.businessObject,getDateString(e,n))}onSetStartDateTodayClick(){let{element:e}=this.props.context,{dates:t,type:n}=this.state,r=getSampleDate();this.setState({dates:[r,t[1]]}),parseString$3(getDateString(n,[r,t[1]]))&&this.editCell(e.businessObject,getDateString(n,[r,t[1]]))}onSetEndDateTodayClick(){let{element:e}=this.props.context,{dates:t,type:n}=this.state,r=getSampleDate();this.setState({dates:[t[0],r]}),parseString$3(getDateString(n,[t[0],r]))&&this.editCell(e.businessObject,getDateString(n,[t[0],r]))}onStartDateInput({value:e}){let{element:t}=this.props.context,{dates:n,type:r}=this.state;this.setState({dates:[e,n[1]]}),this.debouncedEditCell(t.businessObject,getDateString(r,[e,n[1]]))}onEndDateInput({value:e}){let{element:t}=this.props.context,{dates:n,type:r}=this.state;this.setState({dates:[n[0],e]}),this.debouncedEditCell(t.businessObject,getDateString(r,[n[0],e]))}render(){let{dates:e,type:t}=this.state,n=[{label:this._translate(`Exactly`),value:Wo},{label:this._translate(`Before`),value:Go},{label:this._translate(`After`),value:Ko},{label:this._translate(`Between`),value:qo}];return createVNode(1,`div`,`context-menu-container simple-date-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit date and time`),0),createVNode(1,`div`,`dms-fill-row`,createComponentVNode(2,InputSelect,{label:this._translate(`Test type`),noInput:!0,onChange:this.onTypeChange,options:n,value:t}),2),createVNode(1,`h4`,`dms-heading`,t===qo?this._translate(`Edit start date and time`):this._translate(`Set date and time`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:t===qo?this._translate(`Start date and time`):this._translate(`Date and time`),className:`start-date-input dms-block`,onInput:this.onStartDateInput,placeholder:this._translate(`e.g. { sample }`,{sample:getSampleDate()}),validate:e=>validateISOString$1(e)&&this._translate(validateISOString$1(e)),value:e[0]}),createVNode(1,`p`,`dms-hint`,createVNode(1,`button`,`use-today`,this._translate(`Use today`),0,{type:`button`,onClick:this.onSetStartDateTodayClick}),2)],4),t===qo&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end date and time`),0),t===qo&&createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:this._translate(`End date and time`),className:`end-date-input dms-block`,onInput:this.onEndDateInput,placeholder:this._translate(`e.g. { sample }`,{sample:getSampleDate()}),validate:e=>validateISOString$1(e)&&this._translate(validateISOString$1(e)),value:e[1]}),createVNode(1,`p`,`dms-hint`,createVNode(1,`button`,`use-today`,this._translate(`Use today`),0,{type:`button`,onClick:this.onSetEndDateTodayClick}),2)],4)],0)}},OutputDateEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString$3(n.businessObject.text);this.state={date:r?r.date:``};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onClick=this.onClick.bind(this),this.onInput=this.onInput.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onClick(){let{element:e}=this.props.context,t=getSampleDate();this.setState({date:t}),this.editCell(e.businessObject,`date and time("${t}")`)}onInput({value:e}){let{element:t}=this.props.context;this.setState({date:e}),this.debouncedEditCell(t.businessObject,`date and time("${e}")`)}render(){let{date:e}=this.state;return createVNode(1,`div`,`context-menu-container simple-date-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit date and time`),0),createVNode(1,`h4`,`dms-heading`,this._translate(`Set date and time`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:this._translate(`Date and time value`),onInput:this.onInput,placeholder:this._translate(`e.g. { sample }`,{sample:getSampleDate()}),validate:e=>validateISOString$1(e)&&this._translate(validateISOString$1(e)),value:e,className:`dms-block`}),createVNode(1,`p`,`dms-hint`,createVNode(1,`button`,`use-today`,this._translate(`Use today`),0,{type:`button`,onClick:this.onClick}),2)],4)],4)}},SimpleDateEdit$1=class{static{e(this,`SimpleDateEdit`)}constructor(e,t){t.registerProvider(e=>{let t=getTypeRef$6(e);return(isInput(e.col)||isOutput(e.col))&&isDateTime(t)}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`simple-mode-edit`){if(!e.element)return;if(isDateTime(getTypeRef$6(e.element))){if(isInput(e.element.col))return InputDateEdit;if(isOutput(e.element.col))return OutputDateEdit}}})}};SimpleDateEdit$1.$inject=[`components`,`simpleMode`];function getTypeRef$6(e){return isInput(e.col)?e.col&&e.col.businessObject.inputExpression.typeRef:e.col&&e.col.businessObject.typeRef}e(getTypeRef$6,`getTypeRef`);function isDateTime(e){return e===`dateTime`}var Jo={__depends__:[$,vo],__init__:[`simpleDateTimeEdit`],simpleDateTimeEdit:[`type`,SimpleDateEdit$1]};D();var Yo={equals:`=`,less:`<`,lessEquals:`<=`,greater:`>`,greaterEquals:`>=`};function getOperatorName$1(e){return S(Yo).filter(t=>e===Yo[t])[0]}e(getOperatorName$1,`getOperatorName`);function parseDuration(e){if(!e||isEmptyString$2(e.trim()))return{type:`comparison`,values:[]};let t=parseComparison(e);if(t)return t;let n=parseRange(e);if(n)return n}function isEmptyString$2(e){return e===``}e(isEmptyString$2,`isEmptyString`);function getComparisonString$1(e,t){return e===`equals`?`duration("${t}")`:`${Yo[e]} duration("${t}")`}e(getComparisonString$1,`getComparisonString`);function getRangeString$1(e,t,n,r){return`${n===`exclude`?`]`:`[`}duration("${e}")..duration("${t}")${r===`exclude`?`[`:`]`}`}e(getRangeString$1,`getRangeString`);function validateDuration(e,t){if(e===`yearMonthDuration`)return validateYearMonthDuration(t);if(e===`dayTimeDuration`)return validateDayTimeDuration(t)}function validateYearMonthDuration(e){return/^P(\d+Y\d+M|\d+Y|\d+M)$/.test(e)}function validateDayTimeDuration(e){return/^P(\d+DT\d+H|\d+D|T\d+H)$/.test(e)}function withoutDurationCall(e){let t=/^duration\("([^"]*)"\)$/.exec(e);return t&&t[1]}function parseComparison(e){let t=withoutDurationCall(e);if(t)return{type:`comparison`,operator:`equals`,values:[t]};let{operator:n,value:r}=match(/^(?<operator>=|(:?<|>)=?)\s*duration\("(?<value>[^"]*)"\)$/,e);if(n&&r)return{type:`comparison`,values:[r],operator:getOperatorName$1(n)}}function parseRange(e){let{start:t,end:n,firstValue:r,secondValue:i}=match(/^(?<start>[[\]])duration\("(?<firstValue>[^"]*)"\)\.\.duration\("(?<secondValue>[^"]*)"\)(?<end>[[\]])$/,e);if(t&&n)return{type:`range`,values:[r,i],start:t===`]`?`exclude`:`include`,end:n===`[`?`exclude`:`include`}}function match(e,t){let{groups:n}=e.exec(t)||{groups:{}};return n}var Xo={yearMonthDuration:`Must match PnYnM`,dayTimeDuration:`Must match PnDTnH`},DurationInput=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._type=e.type,this.onInput=this.onInput.bind(this),this.validate=this.validate.bind(this),this.state={value:e.value}}onInput({value:e}){this.setState({value:e}),this.props.onInput(e)}validate(e){if(!validateDuration(this._type,e))return this._translate(Xo[this._type])}_getPlaceholder(){if(this._type===`yearMonthDuration`)return this._translate(`e.g. { sample }`,{sample:`P1Y2M`});this._type===`dayTimeDuration`&&this._translate(`e.g. { sample }`,{sample:`P1DT2H`})}render(){return createComponentVNode(2,ValidatedInput,{label:this.props.label,type:`text`,onInput:this.onInput,placeholder:this._getPlaceholder(),validate:this.validate,value:this.state.value,className:this.props.className})}},Zo=`comparison`,Qo=`range`,InputDurationEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context;this._type=getTypeRef$5(n);let r=parseDuration(n.businessObject.text,this._type);this.state=r?{type:r.type,comparisonOperator:r.operator||`equals`,startValue:r.values[0]||``,endValue:r.values[1]||``,rangeStartType:r.start||`include`,rangeEndType:r.end||`include`}:{type:Zo,comparisonOperator:`equals`,startValue:``,endValue:``,rangeStartType:`include`,rangeEndType:`include`};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onComparisonOperatorChange=this.onComparisonOperatorChange.bind(this),this.onComparisonValueChange=this.onComparisonValueChange.bind(this),this.onTypeChange=this.onTypeChange.bind(this),this.onRangeStartTypeChange=this.onRangeStartTypeChange.bind(this),this.onRangeStartValueChange=this.onRangeStartValueChange.bind(this),this.onRangeEndTypeChange=this.onRangeEndTypeChange.bind(this),this.onRangeEndValueChange=this.onRangeEndValueChange.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onTypeChange(e){let{element:t}=this.props.context,{comparisonOperator:n,startValue:r,endValue:i,rangeStartType:a,rangeEndType:o}=this.state;e===Zo?this.editCell(t.businessObject,getComparisonString$1(n,r)):this.editCell(t.businessObject,getRangeString$1(r,i,a,o)),this.setState({type:e})}onComparisonOperatorChange(e){let{element:t}=this.props.context,{type:n,startValue:r}=this.state;n===Zo&&(this.editCell(t.businessObject,getComparisonString$1(e,r)),this.setState({comparisonOperator:e}))}onComparisonValueChange(e){let{element:t}=this.props.context,{type:n,comparisonOperator:r}=this.state;n===Zo&&(this.debouncedEditCell(t.businessObject,getComparisonString$1(r,e)),this.setState({startValue:e}))}onRangeStartTypeChange(e){let{element:t}=this.props.context,{type:n,startValue:r,endValue:i,rangeEndType:a}=this.state;n===Qo&&(this.editCell(t.businessObject,getRangeString$1(r,i,e,a)),this.setState({rangeStartType:e}))}onRangeStartValueChange(e){let{element:t}=this.props.context,{type:n,endValue:r,rangeStartType:i,rangeEndType:a}=this.state;n===Qo&&(this.editCell(t.businessObject,getRangeString$1(e,r,i,a)),this.setState({startValue:e}))}onRangeEndTypeChange(e){let{element:t}=this.props.context,{type:n,startValue:r,endValue:i,rangeStartType:a}=this.state;n===Qo&&(this.editCell(t.businessObject,getRangeString$1(r,i,a,e)),this.setState({rangeEndType:e}))}onRangeEndValueChange(e){let{element:t}=this.props.context,{type:n,startValue:r,rangeStartType:i,rangeEndType:a}=this.state;n===Qo&&(this.editCell(t.businessObject,getRangeString$1(r,e,i,a)),this.setState({endValue:e}))}renderComparison(e,t){let n=[{label:this._translate(`Equals`),value:`equals`},{label:this._translate(`Less`),value:`less`},{label:this._translate(`Less or equals`),value:`lessEquals`},{label:this._translate(`Greater`),value:`greater`},{label:this._translate(`Greater or equals`),value:`greaterEquals`}];return createVNode(1,`div`,`comparison`,[createVNode(1,`h4`,`dms-heading`,createTextVNode(`Value`),2),createVNode(1,`div`,`dms-fill-row dms-input-duration-edit-row`,[createComponentVNode(2,InputSelect,{label:this._translate(`Comparison operator`),noInput:!0,onChange:this.onComparisonOperatorChange,options:n,value:e}),createTextVNode(`\xA0`),createComponentVNode(2,DurationInput,{label:this._translate(`Duration value`),type:this._type,className:`comparison-duration-input`,onInput:this.onComparisonValueChange,value:t})],4)],4)}renderRange(e,t,n,r){let i=[{label:this._translate(`Include`),value:`include`},{label:this._translate(`Exclude`),value:`exclude`}];return createVNode(1,`div`,`range`,[createVNode(1,`h4`,`dms-heading`,this._translate(`Start value`),0),createVNode(1,`div`,`dms-fill-row dms-input-duration-edit-row`,[createComponentVNode(2,InputSelect,{label:this._translate(`Range start operator`),noInput:!0,onChange:this.onRangeStartTypeChange,options:i,value:n}),createTextVNode(`\xA0`),createComponentVNode(2,DurationInput,{label:this._translate(`Range start value`),type:this._type,className:`range-start-duration-input`,onInput:this.onRangeStartValueChange,value:e})],4),createVNode(1,`h4`,`dms-heading`,this._translate(`End value`),0),createVNode(1,`div`,`dms-fill-row dms-input-duration-edit-row`,[createComponentVNode(2,InputSelect,{label:this._translate(`Range end operator`),noInput:!0,onChange:this.onRangeEndTypeChange,options:i,value:r}),createTextVNode(`\xA0`),createComponentVNode(2,DurationInput,{label:this._translate(`Range end value`),type:this._type,className:`range-end-duration-input`,onInput:this.onRangeEndValueChange,value:t})],4)],4)}render(){let{type:e,comparisonOperator:t,startValue:n,endValue:r,rangeStartType:i,rangeEndType:a}=this.state,o=[{label:this._translate(`Comparison`),value:Zo},{label:this._translate(`Range`),value:Qo}];return createVNode(1,`div`,`context-menu-container simple-duration-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit duration`),0),createVNode(1,`div`,`dms-fill-row`,createComponentVNode(2,InputSelect,{label:this._translate(`Test type`),noInput:!0,onChange:this.onTypeChange,options:o,value:e}),2),e===Zo&&this.renderComparison(t,n),e===Qo&&this.renderRange(n,r,i,a)],0)}};function getTypeRef$5(e){return e.col.businessObject.inputExpression.typeRef}e(getTypeRef$5,`getTypeRef`);var OutputDurationEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context;this._type=getTypeRef$4(n);let r=t.injector.get(`debounceInput`);this.debouncedEditCell=r(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onInput=this.onInput.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onInput(e){let{element:t}=this.props.context;this.debouncedEditCell(t.businessObject,`duration("${e}")`)}render(){let e=withoutDurationCall(this.props.context.element.businessObject.text,this._type);return createVNode(1,`div`,`context-menu-container simple-duration-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit duration`),0),createVNode(1,`h4`,`dms-heading`,this._translate(`Set duration`),0),createComponentVNode(2,DurationInput,{label:this._translate(`Duration value`),onInput:this.onInput,value:e,type:this._type,className:`dms-block`})],4)}};function getTypeRef$4(e){return e.col.businessObject.typeRef}e(getTypeRef$4,`getTypeRef`);var SimpleDurationEdit=class{constructor(e,t){t.registerProvider(e=>{let t=getTypeRef$3(e);return(isInput(e.col)||isOutput(e.col))&&isDuration(t)}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`simple-mode-edit`){if(!e.element)return;if(isDuration(getTypeRef$3(e.element))){if(isInput(e.element.col))return InputDurationEdit;if(isOutput(e.element.col))return OutputDurationEdit}}})}};SimpleDurationEdit.$inject=[`components`,`simpleMode`];function getTypeRef$3(e){return isInput(e.col)?e.col&&e.col.businessObject.inputExpression.typeRef:e.col&&e.col.businessObject.typeRef}e(getTypeRef$3,`getTypeRef`);var $o=[`yearMonthDuration`,`dayTimeDuration`];function isDuration(e){return $o.includes(e)}var es={__depends__:[$,vo],__init__:[`simpleDurationEdit`],simpleDurationEdit:[`type`,SimpleDurationEdit]};D();var ts=/^(-?(?:[0-9]|\.[0-9])+)$|^((?:<|>|=){0,2})\s*(-?(?:[0-9]|\.[0-9])+)$/,ns=/^(\[|\]){1}(-?(?:[0-9]|\.[0-9])+){1,}\.\.(-?(?:[0-9]|\.[0-9])+){1,}(\[|\]){1}$/,rs={equals:`=`,less:`<`,lessEquals:`<=`,greater:`>`,greaterEquals:`>=`};function getOperatorName(e){return S(rs).filter(t=>e===rs[t])[0]}function parseString$2(e){if(!e||isEmptyString$1(e.trim()))return{type:`comparison`};let t=e.match(ts),n=e.match(ns);if(t){if(isNumber$1(t))return{type:`comparison`,value:parseFloat(t[1]),operator:`equals`};if(isComparison(t))return{type:`comparison`,value:parseFloat(t[3]),operator:getOperatorName(t[2])}}else if(n)return{type:`range`,values:[n[2],n[3]].map(e=>parseFloat(e)),start:n[1]===`]`?`exclude`:`include`,end:n[4]===`[`?`exclude`:`include`}}e(parseString$2,`parseString`);function isEmptyString$1(e){return e===``}e(isEmptyString$1,`isEmptyString`);function isNumber$1(e){return e[0]&&e[1]&&!e[2]&&!e[3]}e(isNumber$1,`isNumber`);function isComparison(e){return e[0]&&!e[1]&&e[2]&&e[3]}function getComparisonString(e,t){return e===`equals`?`${t}`:`${rs[e]} ${t}`}function getRangeString(e,t,n,r){return`${n===`exclude`?`]`:`[`}${e}..${t}${r===`exclude`?`[`:`]`}`}var as=`comparison`,os=`range`,InputNumberEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString$2(n.businessObject.text);this.state=r?{type:r.type,comparisonOperator:r.operator||`equals`,comparisonValue:r.value||0,rangeStartValue:r.values?r.values[0]:0,rangeEndValue:r.values?r.values[1]:0,rangeStartType:r.start||`include`,rangeEndType:r.end||`include`}:{type:as,comparisonOperator:`equals`,comparisonValue:0,rangeStartValue:0,rangeEndValue:0,rangeStartType:`include`,rangeEndType:`include`};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onComparisonOperatorChange=this.onComparisonOperatorChange.bind(this),this.onComparisonValueChange=this.onComparisonValueChange.bind(this),this.onTypeChange=this.onTypeChange.bind(this),this.onRangeStartTypeChange=this.onRangeStartTypeChange.bind(this),this.onRangeStartValueChange=this.onRangeStartValueChange.bind(this),this.onRangeEndTypeChange=this.onRangeEndTypeChange.bind(this),this.onRangeEndValueChange=this.onRangeEndValueChange.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onTypeChange(e){let{element:t}=this.props.context,{comparisonOperator:n,comparisonValue:r,rangeStartValue:i,rangeEndValue:a,rangeStartType:o,rangeEndType:s}=this.state;e===as?this.editCell(t.businessObject,getComparisonString(n,r)):this.editCell(t.businessObject,getRangeString(i,a,o,s)),this.setState({type:e})}onComparisonOperatorChange(e){let{element:t}=this.props.context,{type:n,comparisonValue:r}=this.state;n===as&&(this.editCell(t.businessObject,getComparisonString(e,r)),this.setState({comparisonOperator:e}))}onComparisonValueChange(e){let{element:t}=this.props.context,{type:n,comparisonOperator:r}=this.state;n===as&&(this.debouncedEditCell(t.businessObject,getComparisonString(r,e)),this.setState({comparisonValue:e}))}onRangeStartTypeChange(e){let{element:t}=this.props.context,{type:n,rangeStartValue:r,rangeEndValue:i,rangeEndType:a}=this.state;n===os&&(this.editCell(t.businessObject,getRangeString(r,i,e,a)),this.setState({rangeStartType:e}))}onRangeStartValueChange(e){let{element:t}=this.props.context,{type:n,rangeEndValue:r,rangeStartType:i,rangeEndType:a}=this.state;n===os&&(this.editCell(t.businessObject,getRangeString(e,r,i,a)),this.setState({rangeStartValue:e}))}onRangeEndTypeChange(e){let{element:t}=this.props.context,{type:n,rangeStartValue:r,rangeEndValue:i,rangeStartType:a}=this.state;n===os&&(this.editCell(t.businessObject,getRangeString(r,i,a,e)),this.setState({rangeEndType:e}))}onRangeEndValueChange(e){let{element:t}=this.props.context,{type:n,rangeStartValue:r,rangeStartType:i,rangeEndType:a}=this.state;n===os&&(this.editCell(t.businessObject,getRangeString(r,e,i,a)),this.setState({rangeEndValue:e}))}renderComparison(e,t){let n=[{label:this._translate(`Equals`),value:`equals`},{label:this._translate(`Less`),value:`less`},{label:this._translate(`Less or equals`),value:`lessEquals`},{label:this._translate(`Greater`),value:`greater`},{label:this._translate(`Greater or equals`),value:`greaterEquals`}];return createVNode(1,`div`,`comparison`,[createVNode(1,`h4`,`dms-heading`,this._translate(`Value`),0),createVNode(1,`div`,`dms-fill-row`,[createComponentVNode(2,InputSelect,{label:this._translate(`Comparison operator`),noInput:!0,onChange:this.onComparisonOperatorChange,options:n,value:e}),createTextVNode(`\xA0`),createComponentVNode(2,Input,{label:this._translate(`Value`),className:`comparison-number-input`,onInput:this.onComparisonValueChange,type:`number`,value:t})],4)],4)}renderRange(e,t,n,r){let i=[{label:this._translate(`Include`),value:`include`},{label:this._translate(`Exclude`),value:`exclude`}];return createVNode(1,`div`,`range`,[createVNode(1,`h4`,`dms-heading`,this._translate(`Start value`),0),createVNode(1,`div`,`dms-fill-row`,[createComponentVNode(2,InputSelect,{label:this._translate(`Start value`),noInput:!0,onChange:this.onRangeStartTypeChange,options:i,value:n}),createTextVNode(`\xA0`),createComponentVNode(2,Input,{className:`range-start-number-input`,onInput:this.onRangeStartValueChange,type:`number`,value:e})],4),createVNode(1,`h4`,`dms-heading`,this._translate(`End value`),0),createVNode(1,`div`,`dms-fill-row`,[createComponentVNode(2,InputSelect,{label:this._translate(`End value`),noInput:!0,onChange:this.onRangeEndTypeChange,options:i,value:r}),createTextVNode(`\xA0`),createComponentVNode(2,Input,{className:`range-end-number-input`,onInput:this.onRangeEndValueChange,type:`number`,value:t})],4)],4)}render(){let{type:e,comparisonOperator:t,comparisonValue:n,rangeStartValue:r,rangeEndValue:i,rangeStartType:a,rangeEndType:o}=this.state,s=[{label:this._translate(`Comparison`),value:as},{label:this._translate(`Range`),value:os}];return createVNode(1,`div`,`context-menu-container simple-number-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit number`),0),createVNode(1,`div`,`dms-fill-row`,createComponentVNode(2,InputSelect,{label:this._translate(`Test type`),noInput:!0,onChange:this.onTypeChange,options:s,value:e}),2),e===as&&this.renderComparison(t,n),e===os&&this.renderRange(r,i,a,o)],0)}},OutputNumberEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString$2(n.businessObject.text);this.state=r?{value:r.value}:{value:``};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onInput=this.onInput.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onInput(e){let{element:t}=this.props.context;this.debouncedEditCell(t.businessObject,e),this.setState({value:e})}render(){let{value:e}=this.state;return createVNode(1,`div`,`context-menu-container simple-number-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit number`),0),createVNode(1,`h4`,`dms-heading`,this._translate(`Set value`),0),createComponentVNode(2,Input,{onInput:this.onInput,type:`number`,value:e})],4)}},SimpleNumberEdit=class{constructor(e,t){t.registerProvider(e=>{let t=getTypeRef$2(e);return(isInput(e.col)||isOutput(e.col))&&isNumber(t)}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`simple-mode-edit`){if(!e.element)return;if(isNumber(getTypeRef$2(e.element))){if(isInput(e.element.col))return InputNumberEdit;if(isOutput(e.element.col))return OutputNumberEdit}}})}};SimpleNumberEdit.$inject=[`components`,`simpleMode`];function getTypeRef$2(e){return isInput(e.col)?e.col&&e.col.businessObject.inputExpression.typeRef:e.col&&e.col.businessObject.typeRef}e(getTypeRef$2,`getTypeRef`);var ss=[`number`,`integer`,`long`,`double`];function isNumber(e){return ss.includes(e)}var cs={__depends__:[$,vo],__init__:[`simpleNumberEdit`],simpleNumberEdit:[`type`,SimpleNumberEdit]};function parseString$1(e){if(!e||isEmptyString(e.trim()))return{type:`disjunction`,values:[]};let t=e.split(`,`),n={type:`disjunction`,values:[]},r=``;if(t.forEach(e=>{r+=e,/^"[^"]*"$/.test(r.trim())?(n.values.push(r.trim()),r=``):r+=`,`}),!r)return n;n.type=`negation`,n.values=[],r=``;let i=e.match(/^\s*not\((.*)\)\s*$/);if(i&&(t=i[1].split(`,`),t.forEach(e=>{r+=e,/^"[^"]*"$/.test(r.trim())?(n.values.push(r.trim()),r=``):r+=`,`}),!r))return n}e(parseString$1,`parseString`);function getInputOrOutputValues(e){let t=isInput(e)?e.inputValues:e.outputValues;return!t||isEmptyString(t.text)?[]:t.text.split(`,`).map(e=>e.trim())}function isEmptyString(e){return e===``}var ls=`disjunction`,us=`negation`,ds=`Predefined values`,fs=`Predefined values`,ps=`Custom values`,SimpleStringEditContextMenuComponent=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let n=parseString$1(e.context.element.businessObject.text);n||={values:[],type:ls};let r=getInputOrOutputValues(e.context.element.col.businessObject),i=n.values.filter(e=>!includes(r,e)),a=isInput(e.context.element.col),o=r.map(e=>({value:e,isChecked:includes(n.values,e),isRemovable:!1,group:a?this._translate(ds):this._translate(fs)}));a&&(o=o.concat(i.map(e=>({value:e,isChecked:!0,isRemovable:!0,group:this._translate(ps)}))));let s=``;!a&&n.values.length&&!includes(r,n.values[0])&&(s=n.values[0]),this.state={items:o,unaryTestsType:n.type,inputValue:s,isOutputValueInputChecked:s!==``};let c=t.injector.get(`debounceInput`);this.debouncedEditCell=c(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.addUnaryTestsListItem=this.addUnaryTestsListItem.bind(this),this.onInput=this.onInput.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.onOutputValueInputClick=this.onOutputValueInputClick.bind(this),this.onUnaryTestsListChanged=this.onUnaryTestsListChanged.bind(this),this.onUnaryTestsTypeChange=this.onUnaryTestsTypeChange.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onUnaryTestsTypeChange(e){let{items:t}=this.state,n=getValues(t),{element:r}=this.props.context;e===ls?(this.editCell(r.businessObject,n.join(`,`)),this.setState({unaryTestsType:ls})):(this.editCell(r.businessObject,`not(${n.join(`,`)})`),this.setState({unaryTestsType:us}))}onUnaryTestsListChanged(e){let t=getValues(e),{element:n}=this.props.context,{unaryTestsType:r}=this.state;r===ls?this.editCell(n.businessObject,t.join(`,`)):this.editCell(n.businessObject,`not(${t.join(`,`)})`),this.setState({items:e,isOutputValueInputChecked:!1})}onOutputValueInputClick(){let{element:e}=this.props.context,{inputValue:t,items:n}=this.state,r=parseString$1(t);!r||r.values.length>1||(this.editCell(e.businessObject,`${r.values.join(``)}`),this.setState({items:n.map(e=>(e.isChecked=!1,e)),isOutputValueInputChecked:!0}))}onInput({isValid:e,value:t}){let{isOutputValueInputChecked:n}=this.state;this.setState({inputValue:t});let{element:r}=this.props.context;!isInput(r)&&e&&n&&this.debouncedEditCell(r.businessObject,t)}onKeyDown({isValid:e,event:t}){if(!isEnter(t.keyCode))return;let{element:n}=this.props.context,r=isInput(n.col);(r||!e)&&(t.stopPropagation(),t.preventDefault()),e&&(r?this.addUnaryTestsListItem():this.onOutputValueInputClick())}addUnaryTestsListItem(){let{inputValue:e,items:t,unaryTestsType:n}=this.state,r=parseString$1(e);if(!r)return;let{element:i}=this.props.context,a=getValues(t),o=[].concat(a,r.values);n===ls?this.editCell(i.businessObject,o.join(`,`)):this.editCell(i.businessObject,`not(${o.join(`,`)})`);let s=t.concat(r.values.map(e=>({value:e,isChecked:!0,isRemovable:!0,group:this._translate(`Custom values`)})));this.setState({items:s,inputValue:``})}render(){let{element:e}=this.props.context,{inputValue:t,isOutputValueInputChecked:n,items:r,unaryTestsType:i}=this.state,a=[{label:this._translate(`Match one`),value:ls},{label:this._translate(`Match none`),value:us}],o=isInput(e.col),s=i===us,c=!o&&r.length>0;return createVNode(1,`div`,`simple-string-edit context-menu-container`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit string`),0),o&&createVNode(1,`p`,null,createComponentVNode(2,InputSelect,{label:this._translate(`String value`),noInput:!0,onChange:this.onUnaryTestsTypeChange,options:a,value:s?us:ls},null,e=>this.selectNode=e),2),createComponentVNode(2,List,{onChange:this.onUnaryTestsListChanged,items:r,type:o?`checkbox`:`radio`}),o?createVNode(1,`h4`,`dms-heading`,this._translate(`Add values`),0):createVNode(1,`h4`,`dms-heading`,this._translate(`Set value`),0),createVNode(1,`div`,`dms-fill-row`,[c&&createVNode(64,`input`,`cursor-pointer`,null,1,{checked:n,onClick:this.onOutputValueInputClick,type:`radio`,style:{marginRight:`8px`}}),createComponentVNode(2,ValidatedInput,{label:o?this._translate(`Values`):this._translate(`Value`),className:`dms-block`,onKeyDown:this.onKeyDown,onInput:this.onInput,placeholder:o?this._translate(`"value", "value", ...`):this._translate(`"value"`),type:`text`,validate:e=>{if(!parseString$1(e))return this._translate(`Strings must be in double quotes`)},value:t})],0)],0)}};function isEnter(e){return e===13}function getValues(e){return e.filter(e=>e.isChecked).map(e=>e.value)}function includes(e,t){return e.indexOf(t)!==-1}var SimpleStringEdit=class{constructor(e,t){t.registerProvider(e=>(isInput(e.col)||isOutput(e.col))&&getTypeRef$1(e)===`string`),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`simple-mode-edit`){if(!e.element)return;if(getTypeRef$1(e.element)===`string`)return SimpleStringEditContextMenuComponent}})}};SimpleStringEdit.$inject=[`components`,`simpleMode`];function getTypeRef$1(e){return isInput(e.col)?e.col&&e.col.businessObject.inputExpression.typeRef:e.col&&e.col.businessObject.typeRef}e(getTypeRef$1,`getTypeRef`);var ms={__depends__:[$,vo],__init__:[`simpleStringEdit`],simpleStringEdit:[`type`,SimpleStringEdit]},hs=/^(?:\d\d:){2}\d\d(?:Z|(?:[@+-][^")]+))?$/,gs=/^\[time\("([^"]*)"\)..time\("([^"]*)"\)\]$/,_s=/^(<|>)\s*time\("([^"]*)"\)$/,vs=/^time\("([^"]*)"\)$/,ys=`exact`,bs=`before`,xs=`after`,Ss=`between`;function validateISOString(e){if(!hs.test(e.trim()))return`Time must match pattern hh:mm:ss[time zone]`}function getTimeString(e,t){if(e===ys)return`time("${t[0]}")`;if(e===bs)return`< time("${t[0]}")`;if(e===xs)return`> time("${t[0]}")`;if(e===Ss)return`[time("${t[0]}")..time("${t[1]}")]`}function getSampleTime(){return new Date().toISOString().slice(11,-5)+`Z`}function parseString(e){if(!e||e.trim()===``)return{type:`exact`,time:``};let t=e.match(gs);if(t)return{type:`between`,times:[t[1],t[2]]};if(t=e.match(_s),t)return{type:t[1]===`<`?`before`:`after`,time:t[2]};if(t=e.match(vs),t)return{type:`exact`,time:t[1]}}var Cs=`exact`,ws=`before`,Ts=`after`,Es=`between`,InputTimeEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString(n.businessObject.text);if(r){let e;e=r.time?[r.time,``]:r.times?r.times:[``,``],this.state={type:r.type,times:e}}else this.state={type:Cs,times:[``,``]};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onTypeChange=this.onTypeChange.bind(this),this.onSetStartTimeNowClick=this.onSetStartTimeNowClick.bind(this),this.onSetEndTimeNowClick=this.onSetEndTimeNowClick.bind(this),this.onStartTimeInput=this.onStartTimeInput.bind(this),this.onEndTimeInput=this.onEndTimeInput.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onTypeChange(e){let{element:t}=this.props.context,{times:n}=this.state;this.setState({type:e}),parseString(getTimeString(e,n))&&this.editCell(t.businessObject,getTimeString(e,n))}onSetStartTimeNowClick(){let{element:e}=this.props.context,{times:t,type:n}=this.state,r=getSampleTime();this.setState({times:[r,t[1]]}),parseString(getTimeString(n,[r,t[1]]))&&this.editCell(e.businessObject,getTimeString(n,[r,t[1]]))}onSetEndTimeNowClick(){let{element:e}=this.props.context,{times:t,type:n}=this.state,r=getSampleTime();this.setState({times:[t[0],r]}),parseString(getTimeString(n,[t[0],r]))&&this.editCell(e.businessObject,getTimeString(n,[t[0],r]))}onStartTimeInput({value:e}){let{element:t}=this.props.context,{times:n,type:r}=this.state;this.setState({times:[e,n[1]]}),this.debouncedEditCell(t.businessObject,getTimeString(r,[e,n[1]]))}onEndTimeInput({value:e}){let{element:t}=this.props.context,{times:n,type:r}=this.state;this.setState({times:[n[0],e]}),this.debouncedEditCell(t.businessObject,getTimeString(r,[n[0],e]))}render(){let{times:e,type:t}=this.state,n=[{label:this._translate(`Exactly`),value:Cs},{label:this._translate(`Before`),value:ws},{label:this._translate(`After`),value:Ts},{label:this._translate(`Between`),value:Es}];return createVNode(1,`div`,`context-menu-container simple-time-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit time`),0),createVNode(1,`div`,`dms-fill-row`,createComponentVNode(2,InputSelect,{label:this._translate(`Time`),noInput:!0,onChange:this.onTypeChange,options:n,value:t}),2),createVNode(1,`h4`,`dms-heading`,t===Es?this._translate(`Edit start time`):this._translate(`Set time`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:this._translate(`Start time`),className:`start-time-input dms-block`,onInput:this.onStartTimeInput,placeholder:this._translate(`e.g. { example } `,{example:getSampleDate$1()}),validate:e=>validateISOString(e)&&this._translate(validateISOString(e)),value:e[0]}),createVNode(1,`p`,`dms-hint`,[createVNode(1,`button`,`use-now`,this._translate(`Use now`),0,{type:`button`,onClick:this.onSetStartTimeNowClick}),createTextVNode(`.`)],4)],4),t===Es&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end time`),0),t===Es&&createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:this._translate(`End time`),className:`end-time-input dms-block`,onInput:this.onEndTimeInput,placeholder:this._translate(`e.g. { example } `,{example:getSampleDate$1()}),validate:e=>validateISOString(e)&&this._translate(validateISOString(e)),value:e[1]}),createVNode(1,`p`,`dms-hint`,[createVNode(1,`button`,`use-now`,this._translate(`Use now`),0,{type:`button`,onClick:this.onSetEndTimeNowClick}),createTextVNode(`.`)],4)],4)],0)}},OutputTimeEdit=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._modeling=t.injector.get(`modeling`);let{element:n}=this.props.context,r=parseString(n.businessObject.text);this.state={date:r?r.date:``};let i=t.injector.get(`debounceInput`);this.debouncedEditCell=i(this.editCell.bind(this)),this.editCell=this.editCell.bind(this),this.onClick=this.onClick.bind(this),this.onInput=this.onInput.bind(this)}editCell(e,t){this._modeling.editCell(e,t)}onClick(){let{element:e}=this.props.context,t=getSampleTime();this.setState({date:t}),this.editCell(e.businessObject,`time("${t}")`)}onInput({value:e}){let{element:t}=this.props.context;this.setState({date:e}),this.debouncedEditCell(t.businessObject,`time("${e}")`)}render(){let{date:e}=this.state;return createVNode(1,`div`,`context-menu-container simple-time-edit`,[createVNode(1,`h3`,`dms-heading`,this._translate(`Edit time`),0),createVNode(1,`h4`,`dms-heading`,this._translate(`Set time`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:this._translate(`Time value`),onInput:this.onInput,placeholder:this._translate(`e.g. { example } `,{example:getSampleDate$1()}),validate:e=>validateISOString(e)&&this._translate(validateISOString(e)),value:e,className:`dms-block`}),createVNode(1,`p`,`dms-hint`,[createVNode(1,`button`,`use-now`,this._translate(`Use now`),0,{type:`button`,onClick:this.onClick}),createTextVNode(`.`)],4)],4)],4)}},SimpleDateEdit=class{constructor(e,t){t.registerProvider(e=>{let t=getTypeRef(e);return(isInput(e.col)||isOutput(e.col))&&isTime(t)}),e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`simple-mode-edit`){if(!e.element)return;if(isTime(getTypeRef(e.element))){if(isInput(e.element.col))return InputTimeEdit;if(isOutput(e.element.col))return OutputTimeEdit}}})}};SimpleDateEdit.$inject=[`components`,`simpleMode`];function getTypeRef(e){return isInput(e.col)?e.col&&e.col.businessObject.inputExpression.typeRef:e.col&&e.col.businessObject.typeRef}function isTime(e){return e===`time`}var Ds={__depends__:[$,vo],__init__:[`simpleTimeEdit`],simpleTimeEdit:[`type`,SimpleDateEdit]},ResizeColumn=class extends Z{constructor(e,t){super(e,t),inject(this)}componentDidMount(){let e=this.getRoot();this.changeSupport.onElementsChanged(e,this.onElementsChanged)}componentWillUnmount(){let e=this.getRoot();this.changeSupport.offElementsChanged(e,this.onElementsChanged)}getRoot(){return this.sheet.getRoot()}onElementsChanged=()=>{this.forceUpdate()};handleMouseDown=e=>{startResize({node:B(e.target,`th`,!1),event:e,minWidth:this.props.minWidth||150,onEnd:this.saveWidth})};saveWidth=e=>{let{col:t}=this.props,n={};is$2(t,`dmn:DecisionTable`)?n.annotationsWidth=e:n.width=e,this.modeling.updateProperties(t,n)};isLastInputOrOutput(){let{col:e}=this.props,t=getBusinessObject$1(this.getRoot());if(is$2(e,`dmn:InputClause`)){let n=t.get(`input`);return n.indexOf(e)===n.length-1}if(is$2(e,`dmn:OutputClause`)){let n=t.get(`output`);return n.indexOf(e)===n.length-1}}render(){let e=this.isLastInputOrOutput()?{right:`-7px`,width:`27px`}:null;return createVNode(1,`div`,`resize-column-handle`,null,1,{onMouseDown:this.handleMouseDown,title:this.translate(`Resize`),style:e})}};ResizeColumn.$inject=[`sheet`,`changeSupport`,`translate`,`modeling`];function startResize({node:e,event:t,minWidth:n,onEnd:r=noop}){t.preventDefault();let i=e.getBoundingClientRect().width,a=t.clientX,o;document.addEventListener(`mousemove`,handleMouseMove),document.addEventListener(`mouseup`,handleMouseUp);function handleMouseMove(t){t.preventDefault();let n=getResizedWidth(t.clientX);o&&cancelAnimationFrame(o),o=requestAnimationFrame(()=>{e.style.width=n+`px`})}function handleMouseUp(e){e.preventDefault(),document.removeEventListener(`mousemove`,handleMouseMove),document.removeEventListener(`mouseup`,handleMouseUp),r(getResizedWidth(e.clientX))}function getResizedWidth(e){let t=e-a;return Math.max(i+t,n)}}function noop(){}function ColumnResizeProvider(e){e.onGetComponent(`cell-inner`,(e={})=>{let{cellType:t}=e;if(t===`input-cell`||t===`output-cell`||t===`annotations`)return ResizeColumn})}ColumnResizeProvider.$inject=[`components`];var Os={__init__:[`columnResizeProvider`],columnResizeProvider:[`type`,ColumnResizeProvider]},ks=class Editor$3 extends ta{static{e(this,`Editor`)}getModules(){return[...ta._getModules(),...Editor$3._getModules()]}static _getModules(){return[Da,ja,_a,Pa,Sa,Fa,La,Ai,za,Ea,Ja,Os,to,ao,oo,Ji,Yi,$,co,Ta,lo,ia,mo,go,na,vo,So,Fo,Jo,es,cs,ms,Ds,Mi]}},As=/^class[ {]/;function isClass(e){return As.test(e.toString())}function isArray(e){return Array.isArray(e)}function hasOwnProp(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function annotate(...e){e.length===1&&isArray(e[0])&&(e=e[0]),e=[...e];let t=e.pop();return t.$inject=e,t}var js=/constructor\s*[^(]*\(\s*([^)]*)\)/m,Ms=/^(?:async\s+)?(?:function\s*[^(]*)?(?:\(\s*([^)]*)\)|(\w+))/m,Ns=/\/\*([^*]*)\*\//m;function parseAnnotations(e){if(typeof e!=`function`)throw Error(`Cannot annotate "${e}". Expected a function!`);let t=e.toString().match(isClass(e)?js:Ms);if(!t)return[];let n=t[1]||t[2];return n&&n.split(`,`).map(e=>{let t=e.match(Ns),[n,r]=e.replace(Ns,``).split(`=`),i=(t&&t[1]||n).trim();return r!==void 0&&!i.endsWith(`?`)?i+`?`:i})||[]}function Injector(e,t){let n=t||{get:function(e,t){if(t!==!1)throw r.push(e),error(`No provider for "${e}"!`)}},r=[],i=this._providers=Object.create(n._providers||null),a=this._instances=Object.create(null),o=a.injector=this,error=function(e){let t=r.join(` -> `);return r.length=0,Error(t?`${e} (Resolving: ${t})`:e)};function get(e,t){let o=e.lastIndexOf(`?`);if(o!==-1){let t=get(e.slice(0,o),!1),n=e.slice(o+2);return n&&t==null?void 0:n?n.split(`.`).reduce((e,t)=>e[t],t):t}if(!i[e]&&e.includes(`.`)){let n=e.split(`.`),r=get(n.shift(),t);for(;n.length;){let e=n.shift();r=t===!1?r?.[e]:r[e]}return r}if(hasOwnProp(a,e))return a[e];if(hasOwnProp(i,e)){if(r.indexOf(e)!==-1)throw r.push(e),error(`Cannot resolve circular dependency!`);return r.push(e),a[e]=i[e][0](i[e][1]),r.pop(),a[e]}return n.get(e,t)}function fnDef(e,t){if(t===void 0&&(t={}),typeof e!=`function`){if(isArray(e))e=annotate(e.slice());else throw error(`Cannot invoke "${e}". Expected a function!`)}let n=(e.$inject||parseAnnotations(e)).map(e=>{let n=e.replace(/\?$/,``);return hasOwnProp(t,n)?t[n]:get(e)});return{fn:e,dependencies:n}}function instantiate(e){let{fn:t,dependencies:n}=fnDef(e);return new(Function.prototype.bind.call(t,null,...n))}function invoke(e,t,n){let{fn:r,dependencies:i}=fnDef(e,n);return r.apply(t,i)}function createPrivateInjectorFactory(e){return annotate(t=>e.get(t))}function createChild(e,t){if(t&&t.length){let n=Object.create(null),r=Object.create(null),a=[],o=[],s=[],c,l,u,d;for(let e in i)c=i[e],t.indexOf(e)!==-1&&(c[2]===`private`?(l=a.indexOf(c[3]),l===-1?(u=c[3].createChild([],t),d=createPrivateInjectorFactory(u),a.push(c[3]),o.push(u),s.push(d),n[e]=[d,e,`private`,u]):n[e]=[s[l],e,`private`,o[l]]):n[e]=[c[2],c[1]],r[e]=!0),(c[2]===`factory`||c[2]===`type`)&&c[1].$scope&&t.forEach(t=>{c[1].$scope.indexOf(t)!==-1&&(n[e]=[c[2],c[1]],r[t]=!0)});t.forEach(e=>{if(!r[e])throw Error(`No provider for "`+e+`". Cannot use provider from the parent!`)}),e.unshift(n)}return new Injector(e,o)}let s={factory:invoke,type:instantiate,value:function(e){return e}};function createInitializer(e,t){let n=e.__init__||[];return function(){n.forEach(e=>{typeof e==`string`?t.get(e):t.invoke(e)})}}function loadModule(e){let t=e.__exports__;if(t){let n=e.__modules__,r=Object.keys(e).reduce((t,n)=>(n!==`__exports__`&&n!==`__modules__`&&n!==`__init__`&&n!==`__depends__`&&(t[n]=e[n]),t),Object.create(null)),a=createChild((n||[]).concat(r)),o=annotate(function(e){return a.get(e)});t.forEach(function(e){i[e]=[o,e,`private`,a]});let s=(e.__init__||[]).slice();return s.unshift(function(){a.init()}),e=Object.assign({},e,{__init__:s}),createInitializer(e,a)}return Object.keys(e).forEach(function(t){if(t===`__init__`||t===`__depends__`)return;let n=e[t];if(n[2]===`private`){i[t]=n;return}let r=n[0],a=n[1];i[t]=[s[r],arrayUnwrap(r,a),r]}),createInitializer(e,o)}function resolveDependencies(e,t){return e.indexOf(t)!==-1||(e=(t.__depends__||[]).reduce(resolveDependencies,e),e.indexOf(t)!==-1)?e:e.concat(t)}function bootstrap(e){let t=e.reduce(resolveDependencies,[]).map(loadModule),n=!1;return function(){n||(n=!0,t.forEach(e=>e()))}}this.get=get,this.invoke=invoke,this.instantiate=instantiate,this.createChild=createChild,this.init=bootstrap(e)}function arrayUnwrap(e,t){return e!==`value`&&isArray(t)&&(t=annotate(t.slice())),t}var ChangeSupport=class{constructor(e){this._listeners={},e.on(`elements.changed`,({elements:e})=>{this.elementsChanged(e)}),e.on(`element.updateId`,({element:e,newId:t})=>{this.updateId(e.id,t)})}elementsChanged(e){let t={},n=e.length;for(let r=0;r<n;r++){let{id:n}=e[r];if(t[n])return;t[n]=!0;let i=this._listeners[n]&&this._listeners[n].length;if(i)for(let e=0;e<i;e++)this._listeners[n][e]&&this._listeners[n][e]()}}onElementsChanged(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e][this._listeners[e].length]=t}offElementsChanged(e,t){if(this._listeners[e]){if(t){let n=this._listeners[e].indexOf(t);n!==-1&&this._listeners[e].splice(n,1)}else this._listeners[e].length=0}}updateId(e,t){this._listeners[e]&&(this._listeners[t]=this._listeners[e],delete this._listeners[e])}};ChangeSupport.$inject=[`eventBus`],D();var Ps=1e3,Components=class{constructor(){this._listeners={}}getComponent(e,t){let n=this._listeners[e];if(!n)return;let r;for(let e=0;e<n.length&&(r=n[e].callback(t),!r);e++);return r}getComponents(e,t){let n=this._listeners[e];if(!n)return;let r=[];for(let e=0;e<n.length;e++){let i=n[e].callback(t);i&&r.push(i)}if(r.length)return r}onGetComponent(e,t,n){if(w(t)&&(n=t,t=Ps),!pe(t))throw Error(`priority must be a number`);let r=this._getListeners(e),i,a,o={priority:t,callback:n};for(a=0;i=r[a];a++)if(i.priority<t){r.splice(a,0,o);return}r.push(o)}offGetComponent(e,t){let n=this._getListeners(e),r,i,a;if(t)for(a=n.length-1;r=n[a];a--)i=r.callback,i===t&&n.splice(a,1);else n.length=0}_getListeners(e){let t=this._listeners[e];return t||(this._listeners[e]=t=[]),t}},ViewerComponent=class extends Z{constructor(e){super(e);let t=this._injector=e.injector;this._changeSupport=t.get(`changeSupport`),this._components=t.get(`components`),this._renderer=t.get(`renderer`)}getChildContext(){return{changeSupport:this._changeSupport,components:this._components,renderer:this._renderer,injector:this._injector}}render(){let e=this._components.getComponents(`viewer`);return createVNode(1,`div`,`viewer-container`,e&&e.map((e,t)=>createComponentVNode(2,e,null,t)),0)}},Renderer=class{constructor(e,t,n,r,i){let{container:a}=n;this._container=a,r.on(`renderer.mount`,()=>{render(createComponentVNode(2,ViewerComponent,{injector:i}),a)}),r.on(`renderer.unmount`,()=>{render(null,a)})}getContainer(){return this._container}};Renderer.$inject=[`changeSupport`,`components`,`config.renderer`,`eventBus`,`injector`];var Fs={__init__:[`changeSupport`,`components`,`renderer`],changeSupport:[`type`,ChangeSupport],components:[`type`,Components],eventBus:[`type`,In],renderer:[`type`,Renderer]},Viewer$2=class{static{e(this,`Viewer`)}constructor(e={}){let{injector:t}=e;if(!t){let{modules:n,config:r}=this._init(e);t=createInjector(r,n)}this.get=t.get,this.invoke=t.invoke,this.get(`eventBus`).fire(`viewer.init`)}_init(e){let{modules:t,...n}=e;return{modules:t,config:n}}destroy(){this.get(`eventBus`).fire(`viewer.destroy`)}clear(){this.get(`eventBus`).fire(`viewer.clear`)}};function createInjector(e,t){let n=new Injector([{config:[`value`,e]},Fs].concat(t||[]));return n.init(),n}var ElementRegistry$1=class{static{e(this,`ElementRegistry`)}constructor(e,t){this._eventBus=t,this._viewer=e}getDecision(){return this._viewer.getDecision()}updateId(e,t){if(e!==this.getDecision())throw Error(`element !== decision`);this._eventBus.fire(`element.updateId`,{element:e,newId:t}),e.id=t}};ElementRegistry$1.$inject=[`viewer`,`eventBus`];var Is={__init__:[`elementRegistry`],elementRegistry:[`type`,ElementRegistry$1]},DecisionPropertiesComponent=class extends Z{constructor(e,t){super(e,t),this._viewer=t.injector.get(`viewer`)}render(){let{name:e}=this._viewer.getDecision();return createVNode(1,`div`,`decision-properties`,createVNode(1,`h3`,`decision-name`,e,0),2)}},Ls=1500,DecisionProperties$1=class{static{e(this,`DecisionProperties`)}constructor(e){e.onGetComponent(`viewer`,Ls,()=>DecisionPropertiesComponent)}};DecisionProperties$1.$inject=[`components`];var Rs={__init__:[`decisionProperties`],decisionProperties:[`type`,DecisionProperties$1]},LiteralExpressionPropertiesComponent$1=class extends Z{static{e(this,`LiteralExpressionPropertiesComponent`)}constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._viewer=t.injector.get(`viewer`)}render(){let e=this._viewer.getDecision(),t=e.get(`decisionLogic`),n=e.get(`variable`);return createVNode(1,`div`,`literal-expression-properties`,createVNode(1,`table`,null,[createVNode(1,`tr`,null,[createVNode(1,`td`,null,this._translate(`Variable name:`),0),createVNode(1,`td`,null,createVNode(1,`span`,null,n&&n.get(`name`)||`-`,0),2)],4),createVNode(1,`tr`,null,[createVNode(1,`td`,null,this._translate(`Variable type:`),0),createVNode(1,`td`,null,createVNode(1,`span`,null,this._translate(n&&n.get(`typeRef`)||``)||`-`,0),2)],4),createVNode(1,`tr`,null,[createVNode(1,`td`,null,this._translate(`Expression language:`),0),createVNode(1,`td`,null,createVNode(1,`span`,null,t.expressionLanguage||`-`,0),2)],4)],4),2)}},zs=500,DecisionProperties=class{constructor(e){e.onGetComponent(`viewer`,zs,()=>LiteralExpressionPropertiesComponent$1)}};DecisionProperties.$inject=[`components`];var Bs={__depends__:[],__init__:[`literalExpressionProperties`],literalExpressionProperties:[`type`,DecisionProperties]},Vs=2e3,PoweredBy$1=class{static{e(this,`PoweredBy`)}constructor(e){e.onGetComponent(`viewer`,Vs,()=>PoweredByComponent)}};PoweredBy$1.$inject=[`components`];var Hs={__init__:[`poweredBy`],poweredBy:[`type`,PoweredBy$1]},TextareaComponent=class extends Z{constructor(e,t){super(e,t),this._viewer=t.injector.get(`viewer`)}render(){let{text:e}=this._viewer.getDecision().decisionLogic;return createVNode(1,`div`,`textarea`,createVNode(1,`div`,`content`,e,0),2)}},Textarea$1=class{static{e(this,`Textarea`)}constructor(e){e.onGetComponent(`viewer`,()=>TextareaComponent)}};Textarea$1.$inject=[`components`];var Us={__init__:[`textarea`],textarea:[`type`,Textarea$1]},ViewDrdComponent$1=class extends Z{static{e(this,`ViewDrdComponent`)}constructor(e,t){super(e,t);let{injector:n}=t;this._translate=n.get(`translate`),this._eventBus=n.get(`eventBus`)}onClick=()=>{this._eventBus.fire(`showDrd`)};render(){return createVNode(1,`div`,`view-drd`,createVNode(1,`button`,`view-drd-button`,this._translate(`View DRD`),0,{type:`button`,onClick:this.onClick}),2,null,null,e=>this.node=e)}};ViewDrdComponent$1.$inject=[`translate`];var Ws=2e3,ViewDrd$1=class{static{e(this,`ViewDrd`)}constructor(e,t,n,r){this._injector=r,this._viewer=t,e.onGetComponent(`viewer`,Ws,()=>{if(this.canViewDrd())return ViewDrdComponent$1}),n.on(`showDrd`,()=>{let e=r.get(`_parent`,!1),t=this.getDefinitions(),n=e.getView(t);e.open(n)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);if(!e)return;let t=this.getDefinitions();return!!e.getView(t)}getDefinitions(){return getDefinitions(this._viewer.getDecision())}};ViewDrd$1.$inject=[`components`,`viewer`,`eventBus`,`injector`];function getDefinitions(e){return e.$parent}var Gs={__init__:[`viewDrd`],viewDrd:[`type`,ViewDrd$1]};D();var Ks=class Viewer$1 extends Viewer$2{static{e(this,`Viewer`)}constructor(e={}){let t=Viewer$1._createContainer();super(A(e,{renderer:{container:t}})),this._container=t}open(e){var t=this;return new Promise(function(n,r){var i;try{t._decision&&(t.clear(),t.get(`eventBus`).fire(`renderer.unmount`)),t._decision=e,t.get(`eventBus`).fire(`import`,e),t.get(`eventBus`).fire(`renderer.mount`)}catch(e){i=e}i?(i.warnings=i.warnings||[],r(i)):n({warnings:[]})})}_init(e){let{modules:t,additionalModules:n,...r}=e,i=t||this.getModules(),a=n||[],o=[{viewer:[`value`,this]}];return{modules:[...i,...a,...o],config:r}}on(e,t,n,r){return this.get(`eventBus`).on(e,t,n,r)}off(e,t){this.get(`eventBus`).off(e,t)}_emit(e,t){return this.get(`eventBus`).fire(e,t)}getDecision(){return this._decision}attachTo(e){if(!e)throw Error(`parentNode required`);this.detach(),e.appendChild(this._container),this._emit(`attach`,{})}detach(){let e=this._container;e.parentNode&&(this._emit(`detach`,{}),Nn(e))}destroy(){super.destroy(),this.detach()}getModules(){return Viewer$1._getModules()}static _getModules(){return[Is,L,Rs,Bs,Hs,Us,Gs]}static _createContainer(){return W(`<div class="dmn-literal-expression-container bio-theme-parent"></div>`)}},DecisionPropertiesEditorComponent=class extends Z{constructor(e,t){super(e,t),this._viewer=t.injector.get(`viewer`),this._modeling=t.injector.get(`modeling`),this._translate=t.injector.get(`translate`),this.setupChangeListeners({bind:this.getDecision().id})}componentWillUnmount(){this.setupChangeListeners({unbind:this.getDecision().id})}getDecision(){return this._viewer.getDecision()}onElementsChanged=()=>{this.forceUpdate()};setupChangeListeners({bind:e,unbind:t}){let{changeSupport:n}=this.context;typeof t==`string`&&n.offElementsChanged(t,this.onElementsChanged),typeof e==`string`&&n.onElementsChanged(e,this.onElementsChanged)}setDecisionName=e=>{this._modeling.editDecisionName(e)};render(){let{name:e}=this.getDecision();return createVNode(1,`header`,`decision-properties`,createComponentVNode(2,DecisionName,{label:this._translate(`Decision name`),className:`decision-name editor`,value:e,onBlur:resetScroll,onChange:this.setDecisionName}),2)}},DecisionName=class extends EditableComponent{render(){return createVNode(1,`h3`,this.getClassName(),this.getEditor(),0)}};function resetScroll(e){e.target.scroll(0,0)}var qs=1500,DecisionPropertiesEditor=class{constructor(e){e.onGetComponent(`viewer`,qs,()=>DecisionPropertiesEditorComponent)}};DecisionPropertiesEditor.$inject=[`components`];var Js={__depends__:[Aa,L],__init__:[`decisionProperties`],decisionProperties:[`type`,DecisionPropertiesEditor]};D();var Ys=`is not a registered action`,Xs=`is already registered`,EditorActions$1=class{static{e(this,`EditorActions`)}constructor(e,t){this._actions={undo(){e.undo()},redo(){e.redo()}}}trigger(e,t){if(!this._actions[e])throw error$1(e,Ys);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);j(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error$1(e,Xs);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error$1(e,Ys);this._actions[e]=void 0}isRegistered(e){return!!this._actions[e]}};EditorActions$1.$inject=[`commandStack`,`eventBus`];function error$1(e,t){return Error(e+` `+t)}e(error$1,`error`);var Zs={__init__:[`editorActions`],editorActions:[`type`,EditorActions$1]};function isCmd(e){return e.altKey?!1:e.ctrlKey||e.metaKey}function isShift(e){return e.shiftKey}var Qs=`Keyboard binding is now implicit; explicit binding to an element got removed. For more information, see https://github.com/bpmn-io/diagram-js/pull/662`,Keyboard=class{constructor(e,t,n,r){this._config=e||{},this._eventBus=t,this._editorActions=n,this._listeners=[],t.on(`viewer.destroy`,this._destroy),t.on(`viewer.init`,this._init),t.on(`attach`,()=>{this._config.bindTo&&console.error(`unsupported configuration <keyboard.bindTo>`,Error(Qs)),this._target=r.getContainer(),this._config&&this._config.bind!==!1&&this.bind()}),t.on(`detach`,this.unbind)}_init=()=>{this._registerDefaultBindings(),this._fire(`init`)};_destroy=()=>{this._fire(`destroy`),this.unbind(),this._listeners=null};_keyHandler=e=>{var t,n,r=this._listeners,i=e.keyCode||e.charCode||-1;for(t=0;n=r[t];t++)if(n(i,e)){e.preventDefault(),e.stopPropagation();return}};bind(e){e&&console.error(`unsupported argument <node>`,Error(Qs)),this.unbind(),e=this._node=this._target,F.bind(e,`keydown`,this._keyHandler,!0),this._fire(`bind`)}getBinding(){return this._node}unbind=()=>{var e=this._node;e&&(this._fire(`unbind`),F.unbind(e,`keydown`,this._keyHandler,!0)),this._node=null};_fire(e){this._eventBus.fire(`keyboard.`+e,{node:this._node,listeners:this._listeners})}_registerDefaultBindings(){var e=this._listeners,t=this._editorActions;function undo(e,n){if(isCmd(n)&&!isShift(n)&&e===90)return t.trigger(`undo`),!0}function redo(e,n){if(isCmd(n)&&(e===89||e===90&&isShift(n)))return t.trigger(`redo`),!0}e.push(undo),e.push(redo)}addListener(e){this._listeners.unshift(e)}removeListener(e){this._listeners=this._listeners.filter(t=>t!==e)}};Keyboard.$inject=[`config.keyboard`,`eventBus`,`editorActions`,`renderer`];var $s={__depends__:[Zs],__init__:[`keyboard`],keyboard:[`type`,Keyboard]},LiteralExpressionPropertiesComponent=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._viewer=t.injector.get(`viewer`),this._modeling=t.injector.get(`modeling`),this._dataTypes=t.injector.get(`dataTypes`),this._eventBus=t.injector.get(`eventBus`);let n=this._viewer.getDecision().get(`variable`);this.state={name:n&&n.get(`name`),typeRef:n&&n.get(`typeRef`)},this.setVariableName=this.setVariableName.bind(this),this.setVariableType=this.setVariableType.bind(this)}setVariableName(e){this._modeling.editVariableName(e),this.setState({name:e})}componentWillMount(){this._eventBus.on(`elements.changed`,this.onChange)}componentWillUnmount(){this._eventBus.off(`elements.changed`,this.onChange)}onChange=()=>{let e=this._viewer.getDecision().get(`variable`);e&&this.setState({name:e.get(`name`)})};setVariableType(e){e===``?(this._modeling.editVariableType(void 0),this.setState({typeRef:void 0})):(this._modeling.editVariableType(e),this.setState({typeRef:e}))}render(){let{name:e,typeRef:t}=this.state,n=this._dataTypes.getAll().map(e=>({label:this._translate(e),value:e}));return createVNode(1,`div`,`literal-expression-properties`,createVNode(1,`table`,`variables-table`,[createVNode(1,`tr`,null,[createVNode(1,`td`,null,this._translate(`Variable name:`),0),createVNode(1,`td`,null,createComponentVNode(2,Input,{label:this._translate(`Variable name`),className:`variable-name-input`,onInput:this.setVariableName,placeholder:this._translate(`name`),value:e||``}),2)],4),createVNode(1,`tr`,null,[createVNode(1,`td`,null,this._translate(`Variable type:`),0),createVNode(1,`td`,null,createVNode(1,`div`,`dms-fill-row`,createComponentVNode(2,InputSelect,{label:this._translate(`Variable type`),onChange:this.setVariableType,options:n,value:t,className:`variable-type-select dms-block`}),2),2)],4),createComponentVNode(2,ExpressionLanguage)],4),2)}},ExpressionLanguage=class extends Z{constructor(e,t){super(e,t),this._translate=t.injector.get(`translate`),this._viewer=t.injector.get(`viewer`),this._modeling=t.injector.get(`modeling`),this._expressionLanguages=t.injector.get(`expressionLanguages`),this.setExpressionLanguage=this.setExpressionLanguage.bind(this)}setExpressionLanguage(e){e===``?this._modeling.editExpressionLanguage(void 0):this._modeling.editExpressionLanguage(e)}_getExpressionLanguage(){let e=this._viewer.getDecision().decisionLogic;return e&&e.expressionLanguage?e.expressionLanguage.toLowerCase():this._getDefaultExpressionLanguage()}_getDefaultExpressionLanguage(){return this._expressionLanguages.getDefault().value}_shouldRender(){return this._expressionLanguages.getAll().length>1||this._getExpressionLanguage()!==this._getDefaultExpressionLanguage()}render(){if(!this._shouldRender())return null;let e=this._getExpressionLanguage(),t=this._expressionLanguages.getAll();return createVNode(1,`tr`,null,[createVNode(1,`td`,null,this._translate(`Expression language:`),0),createVNode(1,`td`,null,createVNode(1,`div`,`dms-fill-row`,createComponentVNode(2,InputSelect,{label:this._translate(`Expression language`),onChange:this.setExpressionLanguage,options:t,value:e,className:`expression-language-select dms-block`}),2),2)],4)}},ec=500,LiteralExpressionPropertiesEditor=class{constructor(e){e.onGetComponent(`viewer`,ec,()=>LiteralExpressionPropertiesComponent)}};LiteralExpressionPropertiesEditor.$inject=[`components`];var tc={__depends__:[Aa,$s,Ji,Yi,Ai],__init__:[`literalExpressionProperties`],literalExpressionProperties:[`type`,LiteralExpressionPropertiesEditor]};D();var nc=class Modeling$1{static{e(this,`Modeling`)}constructor(e,t,n,r){this._commandStack=e,this._viewer=t,this._eventBus=n,this._moddle=r,n.on(`viewer.init`,()=>{registerHandlers$1(this.getHandlers(),e)})}getHandlers(){return Modeling$1._getHandlers()}static _getHandlers(){return{"element.updateProperties":EditPropertiesHandler}}getDecision(){return this._viewer.getDecision()}editDecisionName(e){let t={element:this.getDecision(),properties:{name:e}};this._commandStack.execute(`element.updateProperties`,t)}editDecisionId(e){let t={element:this.getDecision(),properties:{id:e}};this._commandStack.execute(`element.updateProperties`,t)}editLiteralExpressionText(e){let t={element:this.getDecision().decisionLogic,properties:{text:e}};this._commandStack.execute(`element.updateProperties`,t)}editExpressionLanguage(e){let t={element:this.getDecision().decisionLogic,properties:{expressionLanguage:e}};this._commandStack.execute(`element.updateProperties`,t)}editVariableName(e){let t=this.getDecision(),n=t.get(`variable`);if(!n){this._createVariable(t,{name:e});return}let r={element:n,properties:{name:e}};this._commandStack.execute(`element.updateProperties`,r)}editVariableType(e){let t=this.getDecision(),n=t.get(`variable`);if(!n){this._createVariable(t,{typeRef:e});return}let r={element:n,properties:{typeRef:e}};this._commandStack.execute(`element.updateProperties`,r)}_createVariable(e,t){let n=this._moddle.create(`dmn:InformationItem`,{name:e.get(`name`),...t});n.set(`id`,this._moddle.ids.nextPrefixed(`InformationItem_`,n)),n.$parent=e,this.updateProperties(e,{variable:n})}updateProperties(e,t){let n={element:e,properties:t};this._commandStack.execute(`element.updateProperties`,n)}};nc.$inject=[`commandStack`,`viewer`,`eventBus`,`moddle`];function registerHandlers$1(e,t){j(e,function(e,n){t.registerHandler(n,e)})}e(registerHandlers$1,`registerHandlers`);var rc={__init__:[`idChangeBehavior`,`nameChangeBehavior`,`modeling`],commandStack:[`type`,ut],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],modeling:[`type`,nc]},TextareaEditorComponent=class extends Z{constructor(e,t){super(e,t),this._modeling=t.injector.get(`modeling`),this._viewer=t.injector.get(`viewer`),this._expressionLanguages=t.injector.get(`expressionLanguages`),this._variableResolver=t.injector.get(`variableResolver`,!1),this._translate=t.injector.get(`translate`),this.editLiteralExpressionText=this.editLiteralExpressionText.bind(this),this.onElementsChanged=this.onElementsChanged.bind(this);let{id:n}=this.getLiteralExpression();t.changeSupport.onElementsChanged(n,this.onElementsChanged)}getLiteralExpression(){return this._viewer.getDecision().decisionLogic}onElementsChanged(){this.forceUpdate()}editLiteralExpressionText(e){this._modeling.editLiteralExpressionText(e)}getEditor(){return this.isFeel()?FeelEditor$1:Editor$2}isFeel(){return this.getExpressionLanguage()===`feel`}getExpressionLanguage(){return this.getLiteralExpression().expressionLanguage||this._expressionLanguages.getDefault().value}_getVariables(){let e=this.getLiteralExpression();return this._variableResolver&&this._variableResolver.getVariables(e)}render(){let{text:e}=this.getLiteralExpression(),t=this.getEditor(),n=this._getVariables();return createComponentVNode(2,t,{label:this._translate(`Literal expression editor`),className:`textarea editor`,value:e,onChange:this.editLiteralExpressionText,variables:n})}},FeelEditor$1=class extends Z{static{e(this,`FeelEditor`)}render(){return createComponentVNode(2,LiteralExpression$1,{label:this.props.label,className:this.props.className,value:this.props.value,onInput:this.props.onChange,variables:this.props.variables})}},Editor$2=class extends EditableComponent{static{e(this,`Editor`)}render(){return createVNode(1,`div`,this.getClassName(),this.getEditor(),0)}},Textarea=class{constructor(e){e.onGetComponent(`viewer`,()=>TextareaEditorComponent)}};Textarea.$inject=[`components`];var ic={__depends__:[Aa,L],__init__:[`textarea`],textarea:[`type`,Textarea]},ac=class Editor$1 extends Ks{static{e(this,`Editor`)}getModules(){return[...Ks._getModules(),...Editor$1._getModules()]}static _getModules(){return[Js,$s,tc,rc,Ji,Yi,Ai,ic,Mi]}},ViewRenderer=class{static $inject=[`components`];constructor(e){e.onGetComponent(`viewer`,()=>Header),e.onGetComponent(`viewer`,()=>Body),e.onGetComponent(`viewer`,()=>Footer)}};function Header(e,{injector:t}){let n=t.get(`components`).getComponents(`header`);return createVNode(1,`div`,`dmn-boxed-expression-section dmn-boxed-expression-header`,n&&n.map((e,t)=>createComponentVNode(2,e,null,t)),0)}function Body(e,{injector:t}){let n=t.get(`components`).getComponents(`body`);return createVNode(1,`div`,`dmn-boxed-expression-section dmn-boxed-expression-body`,n&&n.map((e,t)=>createComponentVNode(2,e,null,t)),0)}function Footer(e,{injector:t}){let n=t.get(`components`).getComponents(`footer`);return createVNode(1,`div`,`dmn-boxed-expression-section dmn-boxed-expression-footer`,n&&n.map((e,t)=>createComponentVNode(2,e,null,t)),0)}var TableJsSupport=class{static $inject=[`components`];constructor(e){e.onGetComponent(`viewer`,()=>{let t=e.getComponents(`table.before`)||[];return()=>createVNode(1,`div`,null,t.map((e,t)=>createComponentVNode(2,e,null,t)),0)})}},oc={__init__:[`viewRenderer`,`tableJsSupport`],viewRenderer:[`type`,ViewRenderer],tableJsSupport:[`type`,TableJsSupport]},sc=2e3,PoweredBy=class{constructor(e){e.onGetComponent(`viewer`,sc,()=>PoweredByComponent)}};PoweredBy.$inject=[`components`];var cc={__init__:[`poweredBy`],poweredBy:[`type`,PoweredBy]},LiteralExpressionComponentProvider=class{static $inject=[`components`];constructor(e){e.onGetComponent(`expression`,({expression:e})=>{if(is$2(e,`dmn:LiteralExpression`))return LiteralExpressionComponent})}};function LiteralExpressionComponent({expression:e},t){return createVNode(1,`div`,`textarea`,createVNode(1,`div`,`content`,t.injector.get(`literalExpression`).getText(e),0),2)}var LiteralExpression=class{getText(e){return e.get(`text`)}},lc={__init__:[`literalExpressionComponent`],literalExpressionComponent:[`type`,LiteralExpressionComponentProvider],literalExpression:[`type`,LiteralExpression]},FunctionDefinition=class{getParameters(e){return e.get(`formalParameter`)}getBody(e){return e.get(`body`)}getKind(e){return e.get(`kind`)||`FEEL`}},FunctionDefinitionComponentProvider$1=class{static{e(this,`FunctionDefinitionComponentProvider`)}static $inject=[`components`];constructor(e){e.onGetComponent(`expression`,({expression:e})=>{if(is$2(e,`dmn:FunctionDefinition`))return FunctionDefinitionComponent})}};function FunctionDefinitionComponent({expression:e},t){let n=t.injector.get(`functionDefinition`),r=n.getKind(e),i=n.getParameters(e),a=n.getBody(e);return createVNode(1,`div`,`function-definition`,[createComponentVNode(2,Kind$1,{kind:r}),createComponentVNode(2,FormalParameters$1,{parameters:i}),createComponentVNode(2,BodyExpression$1,{expression:a})],4)}var uc={FEEL:`F`,Java:`J`,PMML:`P`};function Kind$1({kind:e},t){let n=t.injector.get(`translate`);return createVNode(1,`div`,`function-definition-kind`,uc[e],0,{title:n(`Function kind: {kind}`,{kind:e})})}e(Kind$1,`Kind`);function FormalParameters$1({parameters:e}){return createVNode(1,`div`,`function-definition-parameters`,createVNode(1,`div`,null,[createTextVNode(`(`),e.reduce((e,t)=>e.concat(createComponentVNode(2,Parameter$2,{parameter:t}),`, `),[]).slice(0,-1),createTextVNode(`)`)],0),2)}e(FormalParameters$1,`FormalParameters`);function Parameter$2({parameter:e}){let{name:t,typeRef:n}=e,r=t||`<unnamed>`;return createVNode(1,`span`,null,n?`${r}: ${n}`:r,0)}e(Parameter$2,`Parameter`);function BodyExpression$1({expression:e},t){return createVNode(1,`div`,`function-definition-body`,createComponentVNode(2,t.components.getComponent(`expression`,{expression:e}),{expression:e}),2)}e(BodyExpression$1,`BodyExpression`);var dc={__init__:[`functionDefinitionComponent`],functionDefinition:[`type`,FunctionDefinition],functionDefinitionComponent:[`type`,FunctionDefinitionComponentProvider$1]},ViewDrdComponent=class extends Z{constructor(e,t){super(e,t);let{injector:n}=t;this._translate=n.get(`translate`),this._eventBus=n.get(`eventBus`)}onClick=()=>{this._eventBus.fire(`showDrd`)};render(){return createVNode(1,`div`,`view-drd`,createVNode(1,`button`,`view-drd-button`,this._translate(`View DRD`),0,{type:`button`,onClick:this.onClick}),2,null,null,e=>this.node=e)}};ViewDrdComponent.$inject=[`translate`];var fc=2e3,ViewDrd=class{constructor(e,t,n){this._injector=n,e.onGetComponent(`viewer`,fc,()=>{if(this.canViewDrd())return ViewDrdComponent}),t.on(`showDrd`,()=>{let e=n.get(`_parent`,!1),t=e.getDefinitions(),r=e.getView(t);e.open(r)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);if(!e)return;let t=e.getDefinitions();return!!e.getView(t)}};ViewDrd.$inject=[`components`,`eventBus`,`injector`];var pc={__init__:[`viewDrd`],viewDrd:[`type`,ViewDrd]};function ElementPropertiesComponent(e,t){let{name:n}=t.injector.get(`viewer`).getRootElement();return createVNode(1,`div`,`element-properties`,createVNode(1,`h2`,`element-name`,n,0),2)}var ElementProperties=class{constructor(e){e.onGetComponent(`header`,()=>ElementPropertiesComponent)}};ElementProperties.$inject=[`components`];var mc={__init__:[`elementProperties`],elementProperties:[`type`,ElementProperties]},hc=100,ElementLogic=class{static $inject=[`components`];constructor(e){e.onGetComponent(`body`,()=>LogicComponent),e.onGetComponent(`expression`,hc,()=>FallbackExpression)}};function LogicComponent(e,{injector:t}){let n=t.get(`components`),r=getLogic(t.get(`viewer`).getRootElement());return createComponentVNode(2,n.getComponent(`expression`,{expression:r}),{expression:r})}function getLogic(e){if(is$2(e,`dmn:Decision`))return e.get(`decisionLogic`);if(is$2(e,`dmn:BusinessKnowledgeModel`))return e.get(`encapsulatedLogic`)}function FallbackExpression({expression:e}){return createVNode(1,`div`,null,createVNode(1,`span`,null,[createTextVNode(`Expression of type `),e.$type,createTextVNode(` is not supported.`)],0,{style:`color:red;`}),2)}var gc={__init__:[`elementLogic`],elementLogic:[`type`,ElementLogic]},ElementVariable=class{static $inject=[`viewer`];constructor(e){this._viewer=e}getName(){let e=this.getVariable(),t=this._getElement();return(e?e.get(`name`):null)||t.get(`name`)}getType(){let e=this.getTypeHolder();return e&&e.get(`typeRef`)||`Any`}getTypeHolder(){let e=this._getElement();return is$2(e,`dmn:BusinessKnowledgeModel`)?getBoxedExpression(e):this.getVariable()}_getElement(){return this._viewer.getRootElement()}getVariable(){return this._getElement().get(`variable`)}},ElementVariableComponentProvider$1=class{static{e(this,`ElementVariableComponentProvider`)}static $inject=[`components`];constructor(e){e.onGetComponent(`footer`,()=>ElementVariableComponent$1)}};function ElementVariableComponent$1(e,t){let n=t.injector.get(`elementVariable`),r=t.injector.get(`translate`),i=n.getName(),a=n.getType();return createVNode(1,`div`,`element-variable`,[createVNode(1,`h2`,null,createTextVNode(`Result`),2),createVNode(1,`div`,`element-variable-name`,[createVNode(1,`span`,`element-variable-name-label`,r(`Variable name`),0),createVNode(1,`span`,null,i,0)],4),createVNode(1,`div`,`element-variable-type`,[createVNode(1,`span`,`element-variable-type-label`,r(`Variable type`),0),createVNode(1,`span`,null,a,0)],4)],4)}e(ElementVariableComponent$1,`ElementVariableComponent`);var _c={__init__:[`elementVariableComponent`],elementVariable:[`type`,ElementVariable],elementVariableComponent:[`type`,ElementVariableComponentProvider$1]};D();var vc=class Viewer extends Viewer$2{constructor(e={}){let t=Viewer._createContainer();super(A(e,{renderer:{container:t}})),this._container=t}open(e){let t=this.get(`eventBus`);return new Promise((n,r)=>{let i;try{this.getRootElement()&&(this.clear(),t.fire(`renderer.unmount`)),this._setRootElement(e),t.fire(`import`,e),t.fire(`renderer.mount`)}catch(e){i=e}i?(i.warnings=i.warnings||[],r(i)):n({warnings:[]})})}_init(e){let{modules:t,additionalModules:n,...r}=e,i=t||this.getModules(),a=n||[],o=[{viewer:[`value`,this]}];return{modules:[...i,...a,...o],config:r}}on(e,t,n,r){return this.get(`eventBus`).on(e,t,n,r)}off(e,t){this.get(`eventBus`).off(e,t)}_emit(e,t){return this.get(`eventBus`).fire(e,t)}getRootElement(){return this._root}_setRootElement(e){this._root=e}attachTo(e){if(!e)throw Error(`parentNode required`);this.detach(),e.appendChild(this._container),this._emit(`attach`,{})}detach(){let e=this._container;e.parentNode&&(this._emit(`detach`,{}),Nn(e))}destroy(){super.destroy(),this.detach()}getModules(){return[oc,L,cc,pc,mc,gc,dc,lc,_c]}static _createContainer(){return W(`<div class="dmn-boxed-expression-container bio-theme-parent"></div>`)}},KeyboardBindings=class{static $inject=[`editorActions`,`keyboard`];constructor(e,t){this.registerBindings(t,e)}registerBindings(e,t){function addListener(n,r){t.isRegistered(n)&&e.addListener(r)}addListener(`undo`,function(e){let n=e.keyEvent;if(ft(n))return t.trigger(`undo`),!0}),addListener(`redo`,function(e){let n=e.keyEvent;if(Gt(n))return t.trigger(`redo`),!0})}},yc={__depends__:[ht],__init__:[`keyboardBindings`],keyboardBindings:[`type`,KeyboardBindings]},NameChangeBehavior=class extends q{static $inject=[`eventBus`,`modeling`];constructor(e,t){super(e),this._modeling=t,this.postExecuted(`element.updateProperties`,this.updateName)}updateName=({context:e})=>{let{element:t,properties:n}=e;this.isNameChanged(n)&&(this.isVariable(t)?this.handleVariableNameChange(t):this.isVariableContainer(t)&&this.handleVariableContainerNameChange(t))};isNameChanged(e){return`name`in e}isVariable(e){let t=getParent(e);return is$2(e,`dmn:InformationItem`)&&t&&t.get(`variable`)===e}isVariableContainer(e){let t=e.get(`variable`);return t&&is$2(t,`dmn:InformationItem`)}handleVariableNameChange(e){let t=getParent(e),n=e.get(`name`);n!==t.get(`name`)&&this._modeling.updateProperties(t,{name:n})}handleVariableContainerNameChange(e){let t=e.get(`variable`),n=e.get(`name`);t&&n!==t.get(`name`)&&this._modeling.updateProperties(t,{name:n})}};function getParent(e){return e.$parent}D();var Modeling=class{constructor(e,t,n){this._commandStack=e,this._viewer=t,this._eventBus=n,registerHandlers(this._getHandlers(),e)}_getHandlers(){return{"element.updateProperties":EditPropertiesHandler}}updateProperties(e,t){let n={element:e,properties:t};this._commandStack.execute(`element.updateProperties`,n)}};Modeling.$inject=[`commandStack`,`viewer`,`eventBus`];function registerHandlers(e,t){j(e,function(e,n){t.registerHandler(n,e)})}var bc={__init__:[`idChangeBehavior`,`modeling`,`nameChangeBehavior`],commandStack:[`type`,ut],idChangeBehavior:[`type`,IdChangeBehavior],modeling:[`type`,Modeling],nameChangeBehavior:[`type`,NameChangeBehavior]};function withChangeSupport(e,t){return function(n){return normalizeProps(createComponentVNode(2,Wrapper,{...n,_component:e,_selectDependencies:t}))}}var Wrapper=class extends Z{constructor(e,t){super(e,t),this._eventBus=t.injector.get(`eventBus`)}componentDidMount(){this._subscribe()}componentWillUnmount(){this._unsubscribe()}_subscribe(){this._eventBus.on(`elements.changed`,this.onChange)}_unsubscribe(){this._eventBus.off(`elements.changed`,this.onChange)}onChange=({elements:e})=>{this.props._selectDependencies(this.props).some(t=>e.includes(t))&&this.forceUpdate()};render(){let e=this.props._component;return normalizeProps(createComponentVNode(2,e,{...this.props}))}},_LiteralExpressionEditorComponent=class extends Z{constructor(e,t){super(e,t),this._literalExpression=t.injector.get(`literalExpression`),this._translate=t.injector.get(`translate`),this._expressionLanguages=t.injector.get(`expressionLanguages`),this._variableResolver=t.injector.get(`variableResolver`,!1)}getLiteralExpression(){return this.props.expression}editLiteralExpressionText=e=>{let t=this.getLiteralExpression();this._literalExpression.setText(t,e)};getEditor(){return this.isFeel()?FeelEditor:TextEditor}isFeel(){return isFeel(this.getLiteralExpression())}_getVariables(){let e=this.getLiteralExpression();return this._variableResolver&&this._variableResolver.getVariables(e)}render(){let{text:e}=this.getLiteralExpression(),t=this.getEditor(),n=this._getVariables();return createComponentVNode(2,t,{label:this._translate(`Literal expression`),className:`textarea editor`,value:e,onChange:this.editLiteralExpressionText,variables:n})}};function FeelEditor(e){return normalizeProps(createComponentVNode(2,LiteralExpression$1,{...e,onChange:e.onChange}))}var TextEditor=class extends EditableComponent{render(){return createVNode(1,`div`,this.getClassName(),this.getEditor(),0)}},xc=withChangeSupport(_LiteralExpressionEditorComponent,e=>[e.expression]),LiteralExpressionEditorComponentProvider=class{static $inject=[`components`];constructor(e){e.onGetComponent(`expression`,({expression:e})=>{if(is$2(e,`dmn:LiteralExpression`))return xc})}},LiteralExpressionEditor=class extends LiteralExpression{constructor(e){super(),this._modeling=e}setText(e,t){this._modeling.updateProperties(e,{text:t})}};LiteralExpressionEditor.$inject=[`modeling`];var Sc={__init__:[`literalExpressionComponent`],literalExpressionComponent:[`type`,LiteralExpressionEditorComponentProvider],literalExpression:[`type`,LiteralExpressionEditor]},FunctionDefinitionEditor=class extends FunctionDefinition{static $inject=[`modeling`,`dmnFactory`];constructor(e,t){super(),this._modeling=e,this._dmnFactory=t}addParameter(e){this._modeling.updateProperties(e,{formalParameter:[...this.getParameters(e),this._dmnFactory.create(`dmn:InformationItem`,{name:``,typeRef:``})]})}removeParameter(e,t){this._modeling.updateProperties(e,{formalParameter:this.getParameters(e).filter(e=>e!==t)})}updateParameter(e,t){this._modeling.updateProperties(e,t)}setKind(e,t){this._modeling.updateProperties(e,{kind:t})}};function EditButton({label:e,onClick:t}){return createVNode(1,`button`,`edit-button dmn-icon-edit`,null,1,{"aria-label":e,type:`button`,onClick:t})}var FunctionDefinitionComponentProvider=class{static $inject=[`components`];constructor(e){e.onGetComponent(`expression`,({expression:e})=>{if(is$2(e,`dmn:FunctionDefinition`))return Cc})}},Cc=withChangeSupport(_FunctionDefinitionEditorComponent,e=>[e.expression]);function _FunctionDefinitionEditorComponent({expression:e},t){let n=t.injector.get(`functionDefinition`),r=t.injector.get(`contextMenu`),i=n.getKind(e),a=n.getParameters(e),o=n.getBody(e),openKindEditor=t=>{let n=getParentPosition(t);r.open(n,{contextMenuType:`kind-editor`,expression:e})},openFormalParametersEditor=t=>{let n=getParentPosition(t);r.open(n,{contextMenuType:`formal-parameters-editor`,expression:e})};return createVNode(1,`div`,`function-definition`,[createComponentVNode(2,Kind,{kind:i,openEditor:openKindEditor}),createComponentVNode(2,FormalParameters,{parameters:a,openEditor:openFormalParametersEditor}),createComponentVNode(2,Ec,{expression:o,parameters:a})],4)}var wc={FEEL:`F`,Java:`J`,PMML:`P`};function Kind({kind:e,openEditor:t},n){let r=n.injector.get(`translate`);return createVNode(1,`div`,`function-definition-kind`,[wc[e],createComponentVNode(2,EditButton,{label:r(`Edit function kind`),onClick:t})],0)}function FormalParameters({openEditor:e,parameters:t},n){let r=n.injector.get(`translate`);return createVNode(1,`div`,`function-definition-parameters`,[createVNode(1,`div`,null,[createTextVNode(`(`),t.reduce((e,t)=>e.concat(createComponentVNode(2,Tc,{parameter:t}),`, `),[]).slice(0,-1),createTextVNode(`)`)],0),createComponentVNode(2,EditButton,{label:r(`Edit formal parameters`),onClick:e})],4)}var Tc=withChangeSupport(_Parameter,e=>[e.parameter]);function _Parameter({parameter:e}){let{name:t,typeRef:n}=e,r=t||`<unnamed>`;return createVNode(1,`span`,null,n?`${r}: ${n}`:r,0)}var Ec=withChangeSupport(_BodyExpression,e=>e.parameters);function _BodyExpression({expression:e,parameters:t},n){return createVNode(1,`div`,`function-definition-body`,createComponentVNode(2,n.components.getComponent(`expression`,{expression:e}),{expression:e,parameters:t}),2)}function getParentPosition(e){let t=e.target.parentElement.getBoundingClientRect();return{x:t.x,y:t.y}}var Dc=[{value:`FEEL`,label:`FEEL`},{value:`Java`,label:`Java`},{value:`PMML`,label:`PMML`}],KindEditorProvider=class{static $inject=[`components`];constructor(e){e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`kind-editor`)return KindEditor})}};function KindEditor({context:{expression:e}},t){let n=t.injector.get(`functionDefinition`),r=t.injector.get(`translate`),i=n.getKind(e),setKind=t=>{n.setKind(e,t)};return createVNode(1,`div`,`context-menu-container`,[createVNode(1,`h3`,`dms-heading`,r(`Edit function kind`),0),createComponentVNode(2,InputSelect,{label:r(`Kind`),options:Dc,value:i,onChange:setKind,noInput:!0})],4)}var FormalParametersEditorProvider=class{static $inject=[`components`];constructor(e){e.onGetComponent(`context-menu`,(e={})=>{if(e.contextMenuType&&e.contextMenuType===`formal-parameters-editor`)return Oc})}},Oc=withChangeSupport(_FormalParametersEditor,e=>[e.context.expression]);function _FormalParametersEditor({context:{expression:e}},t){let n=t.injector.get(`functionDefinition`),r=t.injector.get(`translate`),i=n.getParameters(e),remove=t=>{n.removeParameter(e,t)},add=()=>{n.addParameter(e)};return createVNode(1,`div`,`context-menu-container formal-parameters`,[createVNode(1,`h3`,`dms-heading`,r(`Edit formal parameters`),0),i.length?createVNode(1,`table`,null,[createVNode(1,`thead`,null,createVNode(1,`tr`,null,[createVNode(1,`th`,null,createTextVNode(`Name`),2),createVNode(1,`th`,null,createTextVNode(`Type`),2)],4),2),createVNode(1,`tbody`,null,i.map((e,t)=>createComponentVNode(2,kc,{parameter:e,remove:()=>remove(e)},t)),0)],4):null,createVNode(1,`button`,`add-parameter`,r(`Add parameter`),0,{type:`button`,onClick:add})],0)}var kc=withChangeSupport(function({parameter:e,remove:t},n){let r=n.injector.get(`dataTypes`),i=n.injector.get(`translate`),a=n.injector.get(`functionDefinition`),{name:o,typeRef:s}=e,onNameChange=t=>{a.updateParameter(e,{name:t})},onTypeRefChange=t=>{a.updateParameter(e,{typeRef:t})},c=r.getAll().map(e=>({label:i(e),value:e}));return createVNode(1,`tr`,`function-definition-parameter`,[createVNode(1,`td`,null,createComponentVNode(2,Input,{onChange:onNameChange,value:o}),2),createVNode(1,`td`,null,createComponentVNode(2,InputSelect,{onChange:onTypeRefChange,value:s,options:c}),2),createVNode(1,`td`,null,createVNode(1,`button`,`dmn-icon-trash`,null,1,{type:`button`,onClick:t,"aria-label":i(`Remove parameter`)}),2)],4)},e=>[e.parameter]),Ac={__init__:[`formalParametersEditorComponent`,`functionDefinitionComponent`,`kindEditorComponent`],__depends__:[Pa],formalParametersEditorComponent:[`type`,FormalParametersEditorProvider],functionDefinition:[`type`,FunctionDefinitionEditor],functionDefinitionComponent:[`type`,FunctionDefinitionComponentProvider],kindEditorComponent:[`type`,KindEditorProvider]},ElementNameEditor=class extends EditableComponent{render(){return createVNode(1,`h2`,this.getClassName(),this.getEditor(),0)}},jc=withChangeSupport(function(e,t){let{element:n}=e,r=t.injector.get(`modeling`),i=t.injector.get(`translate`),a=n.get(`name`),onChange=e=>{r.updateProperties(n,{name:e})};return createComponentVNode(2,ElementNameEditor,{label:i(`Element name`),className:`element-name editor`,value:a,onChange})},e=>[e.element]);function ElementPropertiesEditorComponent(e,t){return createVNode(1,`div`,`element-properties`,createComponentVNode(2,jc,{element:t.injector.get(`viewer`).getRootElement()}),2)}var ElementPropertiesEditor=class{constructor(e){e.onGetComponent(`header`,()=>ElementPropertiesEditorComponent)}};ElementPropertiesEditor.$inject=[`components`];var Mc={__depends__:[Aa],__init__:[`elementProperties`],elementProperties:[`type`,ElementPropertiesEditor]},ElementRegistry=class{constructor(e,t){this._eventBus=t,this._viewer=e}updateId(e,t){if(e!==this._viewer.getRootElement())throw Error(`element !== rootElement`);this._eventBus.fire(`element.updateId`,{element:e,newId:t}),e.id=t}};ElementRegistry.$inject=[`viewer`,`eventBus`];var DmnFactory=class{static $inject=[`moddle`];constructor(e){this._moddle=e}create(e,t={}){return this._moddle.create(e,t)}},Nc={__init__:[`elementRegistry`],elementRegistry:[`type`,ElementRegistry],dmnFactory:[`type`,DmnFactory]},ElementVariableEditor=class extends ElementVariable{static $inject=[`viewer`,`modeling`,`dmnFactory`];constructor(e,t,n){super(e),this._modeling=t,this._dmnFactory=n}setType(e){let t=this._getElement();if(is$2(t,`dmn:BusinessKnowledgeModel`)){this._modeling.updateProperties(this.getTypeHolder(),{typeRef:e});return}let n=this.getVariable();if(n)this._modeling.updateProperties(n,{typeRef:e});else{let n=this._dmnFactory.create(`dmn:InformationItem`,{name:t.get(`name`),typeRef:e});n.$parent=t,this._modeling.updateProperties(t,{variable:n})}}},Pc=`dmn-boxed-expression-variable-type`,ElementVariableComponentProvider=class{static $inject=[`components`,`elementVariable`];constructor(e,t){let n=withChangeSupport(ElementVariableComponent,()=>[t.getVariable(),t.getTypeHolder()]);e.onGetComponent(`footer`,()=>n)}};function ElementVariableComponent(e,t){let n=t.injector.get(`elementVariable`),r=t.injector.get(`translate`),i=n.getName();return createVNode(1,`div`,`element-variable`,[createVNode(1,`h2`,null,createTextVNode(`Result`),2),createVNode(1,`div`,`element-variable-name`,[createVNode(1,`span`,`element-variable-name-label`,r(`Variable name`),0),createVNode(1,`span`,null,i,0)],4),createVNode(1,`div`,`element-variable-type`,[createVNode(1,`label`,`element-variable-type-label`,createTextVNode(`Result type`),2,{for:Pc}),createComponentVNode(2,VariableTypeEditor)],4)],4)}function VariableTypeEditor(e,t){let n=t.injector.get(`elementVariable`),r=t.injector.get(`dataTypes`),i=t.injector.get(`translate`),a=n.getType(),onChange=e=>n.setType(e);return createComponentVNode(2,InputSelect,{value:a,onChange,options:r.getAll().map(e=>({label:i(e),value:e})),id:Pc})}var Fc={__init__:[`elementVariableComponent`],elementVariable:[`type`,ElementVariableEditor],elementVariableComponent:[`type`,ElementVariableComponentProvider]};D();var Ic=`is not a registered action`,Lc=`is already registered`,EditorActions=class{constructor(e,t){this._actions={undo(){e.undo()},redo(){e.redo()}}}trigger(e,t){if(!this._actions[e])throw error(e,Ic);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);j(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error(e,Lc);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error(e,Ic);this._actions[e]=void 0}isRegistered(e){return!!this._actions[e]}};EditorActions.$inject=[`commandStack`,`eventBus`];function error(e,t){return Error(e+` `+t)}var Rc={__init__:[`editorActions`],editorActions:[`type`,EditorActions]},Editor=class extends vc{getModules(){return[...super.getModules(),Nc,bc,Rc,Mc,Ac,Ji,Yi,Sc,yc,Ai,Fc,Mi]}};D();var Modeler=class extends EditingManager{_getViewProviders(){return[{id:`drd`,constructor:Modeler$1,opens:`dmn:Definitions`},{id:`decisionTable`,constructor:ks,opens(e){return is$2(e,`dmn:Decision`)&&is$2(e.decisionLogic,`dmn:DecisionTable`)}},{id:`literalExpression`,constructor:ac,opens(e){return is$2(e,`dmn:Decision`)&&is$2(e.decisionLogic,`dmn:LiteralExpression`)}},{id:`boxedExpression`,constructor:Editor,opens(e){return is$2(e,`dmn:BusinessKnowledgeModel`)&&getBoxedExpression(e)}}]}_getInitialView(e,...t){let n=super._getInitialView(e,...t);if(!n)return;let r=n.element;return is$2(r,`dmn:Definitions`)&&!containsDi(r)&&(n=k(e,e=>!is$2(e.element,`dmn:Definitions`))||n),n}},zc={name:`zeebe`,prefix:`zeebe`,uri:`http://camunda.org/schema/zeebe/1.0`,xml:{tagAlias:`lowerCase`},associations:[],types:[{name:`VersionTag`,superClass:[`Element`],meta:{allowedIn:[`dmn:Decision`]},properties:[{name:`value`,type:`String`,isAttr:!0}]}]};D();var Bc=rn({selectedElement:null,injector:null,getService:()=>null});function is(e,t){var n=getBusinessObject(e);return n&&typeof n.$instanceOf==`function`&&n.$instanceOf(t)}function getBusinessObject(e){return e&&e.businessObject||e}function isAny(e,t){return ne(t,function(t){return is(e,t)})}function getLabelAttr(e){if(is(e,`dmn:Decision`)||is(e,`dmn:BusinessKnowledgeModel`)||is(e,`dmn:InputData`)||is(e,`dmn:KnowledgeSource`))return`name`;if(is(e,`dmn:TextAnnotation`))return`text`}function getLabel(e){var t=e.businessObject,n=getLabelAttr(t);if(n)return t[n]||``}var Vc;function _extends$9(){return _extends$9=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$9.apply(null,arguments)}var Hc=function SvgDmnIconAssociation(e){return P(`svg`,_extends$9({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Vc||=P(`path`,{fill:`none`,stroke:`#000`,strokeDasharray:`3.3,6`,strokeLinecap:`square`,strokeWidth:2,d:`m1.5 30.5 29-29`}))},Uc;function _extends$8(){return _extends$8=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$8.apply(null,arguments)}var Wc=function SvgDmnIconAuthorityRequirement(e){return P(`svg`,_extends$8({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Uc||=P(`path`,{fillRule:`evenodd`,d:`m6.364 24.235 1.414 1.414-6.364 6.364L0 30.598l6.364-6.363Zm8-8 1.414 1.414-6.364 6.364L8 22.598l6.364-6.363Zm8-8 1.414 1.414-6.364 6.364L16 14.598l6.364-6.363ZM28 0a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z`}))},Gc;function _extends$7(){return _extends$7=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$7.apply(null,arguments)}var Kc=function SvgDmnIconBusinessKnowledge(e){return P(`svg`,_extends$7({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Gc||=P(`path`,{d:`M6.258 8 0 15.358l.001.325.028 8.259h25.977L32 16.518V8H6.258Zm.812 1.756h23.174v6.142l-5.077 6.288H1.779L1.759 16l5.31-6.245Z`}))},qc;function _extends$6(){return _extends$6=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$6.apply(null,arguments)}var Jc=function SvgDmnIconDecision(e){return P(`svg`,_extends$6({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),qc||=P(`path`,{fillRule:`evenodd`,d:`M0 6v20.711h32V6H0Zm1.697 1.697h28.606v17.317H1.697V7.697Z`}))},Yc;function _extends$5(){return _extends$5=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$5.apply(null,arguments)}var Xc=function SvgDmnIconDrd(e){return P(`svg`,_extends$5({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Yc||=P(`path`,{d:`M3.563 0A3.554 3.554 0 0 0 .01 3.552L0 28.446A3.554 3.554 0 0 0 3.555 32h24.882a3.554 3.554 0 0 0 3.554-3.552L32 3.554A3.554 3.554 0 0 0 28.445 0H3.563ZM14 14l15 .016V20l-15-.016V14Zm0-11 15 .022V11l-15-.022V3Zm-3 16.992L3 20v-5.992L11 14v5.992Zm0-9.003L3 11V3.01L11 3v7.99ZM3 23.008 11 23v5.992L3 29v-5.992Zm11 5.984V23l15 .016V29l-15-.008Z`}))},Zc;function _extends$4(){return _extends$4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$4.apply(null,arguments)}var Qc=function SvgDmnIconInformationRequirement(e){return P(`svg`,_extends$4({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Zc||=P(`path`,{d:`M32 .06S20.33 6.015 14.403 8.8c1.27 1.16 2.451 2.41 3.676 3.615L0 30.734 1.325 32l18.08-18.32c1.227 1.223 2.448 2.453 3.676 3.676C26.247 11.121 32 .06 32 .06Z`}))},$c;function _extends$3(){return _extends$3=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$3.apply(null,arguments)}var el=function SvgDmnIconInputData(e){return P(`svg`,_extends$3({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),$c||=P(`path`,{d:`M6.384 8c-1.825 0-3.458.945-4.587 2.382C.667 11.82 0 13.756 0 15.88c0 2.125.667 4.062 1.797 5.499 1.13 1.437 2.762 2.382 4.587 2.382h19.232c1.825 0 3.458-.945 4.587-2.382C31.333 19.942 32 18.005 32 15.88c0-2.124-.667-4.06-1.797-5.498C29.073 8.945 27.441 8 25.616 8H6.384Zm0 1.763h19.232c1.223 0 2.342.616 3.201 1.709.86 1.093 1.42 2.656 1.42 4.408 0 1.753-.56 3.316-1.42 4.409-.86 1.093-1.978 1.708-3.2 1.708H6.383c-1.223 0-2.342-.615-3.201-1.708-.86-1.093-1.42-2.656-1.42-4.409 0-1.752.56-3.315 1.42-4.408.86-1.093 1.978-1.709 3.2-1.709Z`}))},tl;function _extends$2(){return _extends$2=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$2.apply(null,arguments)}var nl=function SvgDmnIconKnowledgeRequirement(e){return P(`svg`,_extends$2({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),tl||=P(`path`,{fillRule:`evenodd`,d:`m6.364 24.235 1.414 1.414-6.364 6.364L0 30.598l6.364-6.363Zm8-8 1.414 1.414-6.364 6.364L8 22.598l6.364-6.363Zm8-8 1.414 1.414-6.364 6.364L16 14.598l6.364-6.363ZM32 12.06h-2V3.426l-4.586 4.587L24 6.598l4.537-4.538H20v-2h12v12Z`}))},rl;function _extends$1(){return _extends$1=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends$1.apply(null,arguments)}var il=function SvgDmnIconKnowledgeSource(e){return P(`svg`,_extends$1({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),rl||=P(`path`,{d:`M0 5V23.376l.348.23c4.812 3.182 8.946 2.865 12.41 1.63 3.464-1.235 6.366-3.239 8.999-3.589l.02-.003.021-.003c3.576-.675 5.681.439 9.126 1.88l1.076.45V5.064L0 5Zm1.553 1.557 28.894.059v15.016c-2.89-1.22-5.358-2.187-8.918-1.521-3.199.433-6.1 2.523-9.293 3.662C9.12 24.884 5.83 25.23 1.553 22.535V6.557Z`}))},al;function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends.apply(null,arguments)}var ol={Association:Hc,AuthorityRequirement:Wc,BusinessKnowledgeModel:Kc,Decision:Jc,DecisionTable:Xc,Definitions:Xc,DRD:Xc,InformationRequirement:Qc,InputData:el,KnowledgeRequirement:nl,KnowledgeSource:il,TextAnnotation:function SvgDmnIconTextAnnotation(e){return P(`svg`,_extends({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),al||=P(`path`,{d:`M22.087 0v31.647H32v-1.788h-8.125V1.788H32V0h-9.913Zm-2.924 13.999-2.737 2.167 2.167 2.738 2.738-2.167-2.168-2.738Zm-5.475 4.335L10.95 20.5l2.168 2.738 2.737-2.168-2.167-2.737Zm-5.475 4.335-2.738 2.167 2.168 2.738 2.737-2.168-2.167-2.737Zm-5.476 4.335L0 29.17l2.167 2.738 2.738-2.168-2.168-2.737Z`}))}};function getConcreteType(e){let{type:t}=e;return getRawType(t)}var sl={getElementLabel:e=>is(e,`dmn:Definitions`)?getBusinessObject(e).get(`name`):getLabel(e),getElementIcon:e=>ol[getConcreteType(e)],getTypeLabel:e=>getConcreteType(e).replace(/(\B[A-Z])/g,` $1`).replace(/(\bNon Interrupting)/g,`($1)`)};function getRawType(e){return e.split(`:`)[1]}var cl={getEmpty:()=>({text:`Select an element to edit its properties.`,icon:null}),getMultiple:()=>({text:`Multiple elements are selected. Select a single element to edit its properties.`,icon:null})};function DmnPropertiesPanel(e){let{element:t,injector:n,getProviders:r,layoutConfig:i,descriptionConfig:a,tooltipConfig:o}=e,s=n.get(`canvas`),c=n.get(`elementRegistry`),l=n.get(`eventBus`),[u,d]=tn({selectedElement:t}),f=u.selectedElement,_update=e=>{if(!e)return;let t=e;t&&t.type===`label`&&(t=t.labelTarget),d({...u,selectedElement:t}),l.fire(`propertiesPanel.updated`,{element:t})};sn(()=>{let onSelectionChanged=e=>{let{newSelection:t=[]}=e;if(t.length>1)return _update(t);let n=t[0],r=s.getRootElement();isImplicitRoot$1(r)||_update(n||r)};return l.on(`selection.changed`,onSelectionChanged),()=>{l.off(`selection.changed`,onSelectionChanged)}},[]),sn(()=>{let onElementsChanged=e=>{let t=e.elements,n=findElement(t,f);n&&elementExists(n,c)&&_update(n)};return l.on(`elements.changed`,onElementsChanged),()=>{l.off(`elements.changed`,onElementsChanged)}},[f]),sn(()=>{let onImportDone=()=>{let e=s.getRootElement();_update(e)};return l.on(`import.done`,onImportDone),()=>{l.off(`import.done`,onImportDone)}},[]),sn(()=>{let onProvidersChanged=()=>{_update(f)};return l.on(`propertiesPanel.providersChanged`,onProvidersChanged),()=>{l.off(`propertiesPanel.providersChanged`,onProvidersChanged)}},[f]);let p={selectedElement:f,injector:n,getService(e,t){return n.get(e,t)}},m=r(f),h=At(()=>E(m,function(e,t){return T(f)?[]:t.getGroups(f)(e)},[]),[m,f]),onLayoutChanged=e=>{l.fire(`propertiesPanel.layoutChanged`,{layout:e})},onDescriptionLoaded=e=>{l.fire(`propertiesPanel.descriptionLoaded`,{description:e})},onTooltipLoaded=e=>{l.fire(`propertiesPanel.tooltipLoaded`,{tooltip:e})};return ln(Bc.Provider,{value:p,children:ln(gt,{element:f,headerProvider:sl,placeholderProvider:cl,groups:h,layoutConfig:i,layoutChanged:onLayoutChanged,descriptionConfig:a,descriptionLoaded:onDescriptionLoaded,tooltipConfig:o,tooltipLoaded:onTooltipLoaded,eventBus:l})})}function isImplicitRoot$1(e){return e&&e.isImplicit}function findElement(e,t){return k(e,e=>e===t)}function elementExists(e,t){return e&&t.get(e.id)}var ll=1e3,DmnPropertiesPanelRenderer=class{constructor(e,t,n,r){let{parent:i,layout:a,description:o,tooltip:s}=e||{};this._eventBus=n,this._injector=t,this._layoutConfig=a,this._descriptionConfig=o,this._tooltipConfig=s,this._container=W(`<div style="height: 100%" tabindex="-1" class="bio-properties-panel-container"></div>`);var c=t.get(`commandStack`,!1);c&&setupKeyboard(this._container,n,c),n.on(`diagram.destroy`,()=>{this.detach()}),n.on(`import.done`,e=>{let{element:t}=e;i&&this.attachTo(i),this._render(t)}),n.on(`detach`,e=>{this.detach()}),r.on(`detach`,()=>{this.detach()})}attachTo(e){if(!e)throw Error(`container required`);e.get&&e.constructor.prototype.jquery&&(e=e.get(0)),typeof e==`string`&&(e=G(e)),this.detach(),e.appendChild(this._container),this._eventBus.fire(`propertiesPanel.attach`)}detach(){let e=this._container.parentNode;e&&(e.removeChild(this._container),this._eventBus.fire(`propertiesPanel.detach`))}registerProvider(e,t){t||(t=e,e=ll),typeof t.getGroups==`function`?(this._eventBus.on(`propertiesPanel.getProviders`,e,function(e){e.providers.push(t)}),this._eventBus.fire(`propertiesPanel.providersChanged`)):console.error(`Properties provider does not implement #getGroups(element) API`)}_getProviders(){let e=this._eventBus.createEvent({type:`propertiesPanel.getProviders`,providers:[]});return this._eventBus.fire(e),e.providers}_render(e){let t=this._injector.get(`canvas`);e||=t.getRootElement(),!isImplicitRoot(e)&&(It(ln(DmnPropertiesPanel,{element:e,injector:this._injector,getProviders:this._getProviders.bind(this),layoutConfig:this._layoutConfig,descriptionConfig:this._descriptionConfig,tooltipConfig:this._tooltipConfig}),this._container),this._eventBus.fire(`propertiesPanel.rendered`))}_destroy(){this._container&&(It(null,this._container),this._eventBus.fire(`propertiesPanel.destroyed`))}};DmnPropertiesPanelRenderer.$inject=[`config.propertiesPanel`,`injector`,`eventBus`,`_parent`];function isImplicitRoot(e){return e&&e.isImplicit}function setupKeyboard(e,t,n){function cancel(e){e.preventDefault(),e.stopPropagation()}function handleKeys(e){if(ft(e))return n.undo(),cancel(e);if(Gt(e))return n.redo(),cancel(e)}t.on(`keyboard.bind`,function(){F.bind(e,`keydown`,handleKeys)}),t.on(`keyboard.unbind`,function(){F.unbind(e,`keydown`,handleKeys)})}var MultiCommandHandler=class{constructor(e){this._commandStack=e}preExecute(e){let t=this._commandStack;j(e,function(e){t.execute(e.cmd,e.context)})}};MultiCommandHandler.$inject=[`commandStack`];var ul={"properties-panel.multi-command-executor":MultiCommandHandler};function CommandInitializer(e,t){e.on(`diagram.init`,function(){j(ul,function(e,n){t.registerHandler(n,e)})})}CommandInitializer.$inject=[`eventBus`,`commandStack`];var dl={__depends__:[{__init__:[CommandInitializer]},ct,wt],__init__:[`propertiesPanel`],propertiesPanel:[`type`,DmnPropertiesPanelRenderer]},fl=[`string`,`boolean`,`number`,`date`,`time`,`dateTime`,`dayTimeDuration`,`yearMonthDuration`,`Any`],DataTypes=class{constructor(e){this._dataTypes=e||fl}getAll(){return this._dataTypes}};DataTypes.$inject=[`config.dataTypes`];var pl={__init__:[`dataTypes`],dataTypes:[`type`,DataTypes]};function useService(e,t){let{getService:n}=Xt(Bc);return n(e,t)}function DocumentationProps(e){let{element:t}=e;if(!is(t,`dmn:DMNElement`))return[];let n=[{id:`description`,component:Description,element:t,isEdited:Et}];return is(t,`dmn:Decision`)?n.concat([{id:`question`,component:Question,element:t,isEdited:Et},{id:`allowedAnswers`,component:AllowedAnswers,element:t,isEdited:Et}]):n}function Description(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`debounceInput`),a={element:t,id:n,label:useService(`translate`)(`Description`),debounce:i,getValue:e=>getBusinessObject(e).get(`description`),setValue:e=>{r.updateProperties(t,{description:e})}};return dt(a)}function Question(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`debounceInput`),a={element:t,id:n,label:useService(`translate`)(`Question`),debounce:i,getValue:e=>getBusinessObject(e).get(`question`),setValue:e=>{r.updateProperties(t,{question:e})}};return dt(a)}function AllowedAnswers(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`debounceInput`),a={element:t,id:n,label:useService(`translate`)(`Allowed answers`),debounce:i,getValue:e=>getBusinessObject(e).get(`allowedAnswers`),setValue:e=>{r.updateProperties(t,{allowedAnswers:e})}};return dt(a)}var ml=/\s/,hl=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,gl=/^[a-z_][\w-.]*$/i;function isIdValid(e,t,n){let r=e.$model.ids.assigned(t);return t?r&&r!==e?n(`ID must be unique.`):validateId(t,n):n(`ID must not be empty.`)}function validateId(e,t){if(containsSpace(e))return t(`ID must not contain spaces.`);if(!gl.test(e))return hl.test(e)?t(`ID must not contain prefix.`):t(`ID must be a valid QName.`)}function containsSpace(e){return ml.test(e)}function IdProps$1(e){let{element:t}=e;return[{id:`id`,component:Id$1,element:t,isEdited:St}]}function Id$1(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`debounceInput`),a=useService(`translate`),setValue=(e,n)=>{n||r.updateProperties(t,{id:e})},o=Nt(e=>getBusinessObject(e).id,[t]),s=Nt(e=>isIdValid(getBusinessObject(t),e,a),[t,a]);return vt({element:t,id:n,label:a(`ID`),getValue:o,setValue,debounce:i,validate:s})}function NameProps(e){let{element:t}=e;return isAny(t,[`dmn:DRGElement`,`dmn:Definitions`,`dmn:TextAnnotation`])?[{id:`name`,component:Name,element:t,isEdited:Et}]:[]}function Name(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`debounceInput`),a={element:t,id:n,label:useService(`translate`)(`Name`),debounce:i,getValue:e=>getBusinessObject(e).get(`name`),setValue:e=>{r.updateProperties(t,{name:e})},autoResize:!0};return is(t,`dmn:TextAnnotation`)&&(a={...a,getValue:e=>getBusinessObject(e).get(`text`),setValue:e=>{r.updateProperties(t,{text:e})}}),dt(a)}function TypeRefProps(e){let{element:t}=e;return isAny(t,[`dmn:Decision`,`dmn:InputData`])?[{id:`typeRef`,component:TypeRef,element:t,isEdited:e=>e.value!==`Any`}]:[]}function TypeRef(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`debounceInput`),a=useService(`translate`),o=useService(`dataTypes`),s=useService(`drdFactory`),c=getBusinessObject(t),getValue=()=>c.get(`variable`)?.get(`typeRef`)||`Any`,setValue=e=>{let n=c.get(`variable`);n?r.updateModdleProperties(t,n,{typeRef:e}):r.updateProperties(t,{variable:s.create(`dmn:InformationItem`,{name:c.get(`name`)||``,typeRef:e})})},getOptions=()=>o.getAll().map(e=>({value:e,label:e}));return ot({element:t,id:n,label:a(`Type`),getValue,setValue,getOptions,debounce:i})}var DmnPropertiesProvider=class{constructor(e){e.registerProvider(this)}getGroups(e){return t=>[...t,...getGroups(e)]}};DmnPropertiesProvider.$inject=[`propertiesPanel`];function getGroups(e){return[GeneralGroup(e),DocumentationGroup(e),VariableGroup(e)].filter(e=>e!==null)}function GeneralGroup(e){return{id:`general`,label:`General`,entries:[...NameProps({element:e}),...IdProps$1({element:e})],component:nt}}function DocumentationGroup(e){let t=[...DocumentationProps({element:e})];return t.length?{id:`documentation`,label:`Documentation`,entries:t,component:nt}:null}function VariableGroup(e){let t=[...TypeRefProps({element:e})];return t.length?{id:`variable`,label:`Variable`,entries:t,component:nt}:null}var _l={__depends__:[pl],__init__:[`dmnPropertiesProvider`],dmnPropertiesProvider:[`type`,DmnPropertiesProvider]};function VersionTagProps$1(e){let{element:t}=e;return is(t,`dmn:Decision`)?[{id:`versionTag`,component:VersionTag$1,element:t,isEdited:St}]:[]}function VersionTag$1(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`translate`),a=useService(`debounceInput`),getValue=()=>getBusinessObject(t).get(`camunda:versionTag`),setValue=e=>{r.updateProperties(t,{"camunda:versionTag":e})};return vt({element:t,id:n,label:i(`Version tag`),getValue,setValue,debounce:a})}function HistoryCleanupProps(e){let{element:t}=e;return is(t,`dmn:Decision`)?[{id:`historyTimeToLive`,component:HistoryTimeToLive,element:t,isEdited:St}]:[]}function HistoryTimeToLive(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`translate`),a=useService(`debounceInput`),getValue=()=>getBusinessObject(t).get(`camunda:historyTimeToLive`),setValue=e=>{r.updateProperties(t,{"camunda:historyTimeToLive":e})};return vt({element:t,id:n,label:i(`Time to live`),tooltip:ln(`div`,{children:ln(`p`,{children:[i(`Number of days before this resource is being cleaned up. If specified, takes precedence over the engine configuration.`),` `,ln(`a`,{href:`https://docs.camunda.org/manual/latest/user-guide/process-engine/history/`,target:`_blank`,rel:`noopener noreferrer`,children:i(`Learn more`)})]})}),getValue,setValue,debounce:a})}function IdProps(e){let{element:t}=e;return[{id:`id`,component:Id,element:t,isEdited:St}]}function Id(e){let{element:t,id:n}=e,r=useService(`modeling`),i=useService(`debounceInput`),a=useService(`translate`),setValue=(e,n)=>{n||r.updateProperties(t,{id:e})},o=Nt(e=>getBusinessObject(e).id,[t]),s=Nt(e=>isIdValid(getBusinessObject(t),e,a),[t,a]),c=is(t,`dmn:Decision`)?a(`This maps to the decision definition key.`):null;return vt({element:t,id:n,label:a(`ID`),getValue:o,setValue,debounce:i,validate:s,description:c})}var vl=500,yl=[HistoryCleanupGroup],CamundaPropertiesProvider=class{constructor(e,t){e.registerProvider(vl,this),this._injector=t}getGroups(e){return t=>(t=t.concat(this._getGroups(e)),updateGeneralGroup$1(t,e),t)}_getGroups(e){return yl.map(t=>t(e,this._injector)).filter(e=>e!==null)}};CamundaPropertiesProvider.$inject=[`propertiesPanel`,`injector`];function updateGeneralGroup$1(e,t){let n=findGroup$1(e,`general`);if(!n)return;let{entries:r}=n,i=se(r,e=>e.id===`id`);r.splice(i,1,...IdProps({element:t})),r.splice(i+1,0,...VersionTagProps$1({element:t}))}function HistoryCleanupGroup(e){let t={label:`History cleanup`,id:`Camunda__HistoryCleanup`,component:nt,entries:[...HistoryCleanupProps({element:e})]};return t.entries.length?t:null}function findGroup$1(e,t){return e.find(e=>e.id===t)}var bl={__init__:[`CamundaPropertiesProvider`],CamundaPropertiesProvider:[`type`,CamundaPropertiesProvider]};function createElement(e,t,n,r){let i=r.create(e,t);return n&&(i.$parent=n),i}function getExtensionElementsList(e,t=void 0){let n=e.get(`extensionElements`);if(!n)return[];let r=n.get(`values`);return!r||!r.length?[]:t?r.filter(e=>is(e,t)):r}function VersionTagProps(e){let{element:t}=e;return is(t,`dmn:Decision`)?[{id:`versionTag`,component:VersionTag,isEdited:St}]:[]}function VersionTag(e){let{element:t}=e,n=useService(`drdFactory`),r=useService(`commandStack`),i=useService(`debounceInput`),a=useService(`translate`),getValue=()=>{let e=getVersionTag(t);if(e)return e.get(`value`)},setValue=e=>{let i=[],a=getBusinessObject(t),o=a.get(`extensionElements`);o||(o=createElement(`dmn:ExtensionElements`,{values:[]},a,n),i.push({cmd:`element.updateModdleProperties`,context:{element:t,moddleElement:a,properties:{extensionElements:o}}}));let s=getVersionTag(t);s||(s=createElement(`zeebe:VersionTag`,{},o,n),i.push({cmd:`element.updateModdleProperties`,context:{element:t,moddleElement:o,properties:{values:[...o.get(`values`),s]}}})),i.push({cmd:`element.updateModdleProperties`,context:{element:t,moddleElement:s,properties:{value:e}}}),r.execute(`properties-panel.multi-command-executor`,i)};return vt({element:t,id:`versionTag`,label:a(`Version tag`),getValue,setValue,debounce:i})}function getVersionTag(e){return getExtensionElementsList(getBusinessObject(e),`zeebe:VersionTag`)[0]}var xl=500,ZeebePropertiesProvider=class{constructor(e,t){e.registerProvider(xl,this),this._injector=t}getGroups(e){return t=>(updateGeneralGroup(t,e),t)}};ZeebePropertiesProvider.$inject=[`propertiesPanel`,`injector`];function updateGeneralGroup(e,t){let n=findGroup(e,`general`);if(!n)return;let{entries:r}=n,i=se(r,e=>e.id===`id`);r.splice(i+1,0,...VersionTagProps({element:t}))}function findGroup(e,t){return e.find(e=>e.id===t)}var Sl={__init__:[`zeebePropertiesProvider`],zeebePropertiesProvider:[`type`,ZeebePropertiesProvider]};function panelKindOf(e){let t=he(e);return t?.family===`camunda-8`?`zeebe`:t?.family===`camunda-7`&&t.key!==`operaton`?`camunda`:`base`}function panelShownFor(e){return e===`drd`}var Cl=/^[A-Za-z_][\w.]*$/,wl=/^\d{4}-\d{2}-\d{2}(?:T[\d:.]+(?:Z|[+-]\d{2}:?\d{2})?)?$/,Tl=new Map;function rememberTryValues(e,t){Tl.set(e,t)}function rememberedTryValues(e){return Tl.get(e)??{}}function tryTypeOf(e){let t=(e??``).toLowerCase();return/bool/.test(t)?`boolean`:/date|time/.test(t)?`date`:/int|long|double|number|decimal/.test(t)?`number`:`string`}function valuesOf$1(e){let t=(e??``).trim();if(t)return[...t.matchAll(/"(?:[^"\\]|\\.)*"|[^,\s][^,]*/g)].map(e=>e[0].trim())}e(valuesOf$1,`valuesOf`);function outputOf(e,t){let n=e.name?.trim()||e.label?.trim()||`output ${t+1}`,r=valuesOf$1(e.outputValues?.text);return{name:n,...e.typeRef?{typeRef:e.typeRef}:{},...r?{values:r}:{}}}function tryTableOf(e){let t=e.decisionLogic;return e.$type!==`dmn:Decision`||t?.$type!==`dmn:DecisionTable`||!e.id?null:{decisionId:e.id,name:e.name?.trim()||e.id,hitPolicy:(t.hitPolicy??`UNIQUE`).toUpperCase(),...t.aggregation?{aggregation:t.aggregation.toUpperCase()}:{},inputs:(t.input??[]).map((e,t)=>{let n=e.inputExpression?.text?.trim()??``;return{label:e.label?.trim()||n||`input ${t+1}`,expression:n,type:tryTypeOf(e.inputExpression?.typeRef)}}),outputs:(t.output??[]).map(outputOf),rules:(t.rule??[]).map((e,t)=>({id:e.id??`rule-${t+1}`,inputs:(e.inputEntry??[]).map(e=>(e.text??``).trim()),outputs:(e.outputEntry??[]).map(e=>(e.text??``).trim()),...e.description?{description:e.description}:{}})).filter(e=>[...e.inputs,...e.outputs].some(e=>e!==``))}}function readTryTables(e){return((e??{}).drgElement??[]).flatMap(e=>{let t=tryTableOf(e);return t?[t]:[]})}function byId(e){return new Map(((e??{}).drgElement??[]).flatMap(e=>e.id?[[e.id,e]]:[]))}function hrefOf(e){let t=e?.href;return typeof t==`string`?t.replace(/^#/,``):null}function typedValue(e,t){let n=e.trim();if(n!==``){if(t===`number`){let e=Number(n);return Number.isFinite(e)?e:null}return t===`boolean`?/^true$/i.test(n)?!0:!/^false$/i.test(n)&&null:t===`date`?wl.test(n)?n:null:n}}function readable(e,t){let n={},r=[],i=[];for(let a of e.inputs){if(!Cl.test(a.expression)){i.push(a.expression);continue}let e=t[a.expression];if(e===void 0)continue;let o=typedValue(String(e),a.type);o===null?i.push(a.expression):(n[a.expression]=o,r.push({name:a.expression,type:a.type,text:String(e)}))}return{values:n,typed:r,wrong:i}}function requirementsOf(e,t){return(byId(e).get(t)?.informationRequirement??[]).flatMap(e=>{let t=hrefOf(e.requiredDecision);return t?[{decision:t,input:hrefOf(e.requiredInput)}]:[]})}function fedInputsOf(e,t,n){return requirementsOf(e,n).flatMap(e=>{let n=e.input??t.find(t=>t.decisionId===e.decision)?.outputs[0]?.name;return n?[n]:[]})}function decisionOrder(e,t,n){let r=new Map(t.map(e=>[e.decisionId,e])),i=new Set,a=[],visit=t=>{if(!i.has(t)&&r.has(t)){i.add(t);for(let n of requirementsOf(e,t))visit(n.decision);a.push(r.get(t))}};return visit(n),a}function tryStep(e,t){let n=e.inputs.filter(e=>Cl.test(e.expression)&&t[e.expression]===void 0).map(e=>e.expression),{values:r,typed:i,wrong:a}=readable(e,t),o=ee(e,r);if(a.length>0){o.rules=[],o.matching=[],o.outputs={};let t=a.map(t=>{let n=e.inputs.find(e=>e.expression===t);return f(`app.try.shouldBe`,{name:t,wanted:Cl.test(t)?f(`app.try.aValueOf`,{type:n?.type??f(`app.try.value`)}):f(`app.try.aNamePenstockCanRead`)})}).join(`; `);o.why=f(`app.try.noRuleWasCompared`,{table:e.name,names:t}),o.problems=[]}let s=[...new Set(o.unreadCells)];return s.length>0&&(o.why=f(`app.try.penstockCannotEvaluateHere`,{why:o.why,cells:s.join(`, `)})),{match:o,typed:i,unreadable:s,wrong:a,needs:n}}function known(e,t){let n=f(e);return n===e?t():n}var El=/^[A-Za-z_][\w.]*$/;function errorOf(e,t){let n=t.trim();return n===``?null:e===`number`&&!Number.isFinite(Number(n))?f(`app.dmn.thisShouldBeANumber`):e===`boolean`&&!/^(true|false)$/i.test(n)?f(`app.dmn.thisShouldBeTrueOr`):e===`date`&&!/^\d{4}-\d{2}-\d{2}$/.test(n)?f(`app.dmn.thisShouldBeADate`):null}function ValueField({label:e,type:t,value:n,onType:r}){let i=errorOf(t,n);return t===`boolean`?u(qe,{label:e,error:i,class:`dmn-try__check`,children:e=>u(`input`,{...e,type:`checkbox`,checked:/^(true|false)$/i.test(n),onChange:e=>r(e.currentTarget.checked?`true`:`false`)})}):u(qe,{label:e,error:i,children:e=>u(`input`,{...e,type:t===`date`?`date`:t===`number`?`number`:`text`,value:n,onInput:e=>r(e.currentTarget.value)})})}function RuleTable({table:e,matching:t,winning:n}){let r=new Set(t),i=new Set(n);return u(`div`,{class:`dmn-try__table-wrap`,children:u(`table`,{class:`dmn-try__table`,children:[u(`thead`,{children:u(`tr`,{children:[u(`th`,{scope:`col`,children:`#`}),e.inputs.map(e=>u(`th`,{scope:`col`,class:`dmn-try__input-head`,children:e.label},e.expression)),e.outputs.map(e=>u(`th`,{scope:`col`,class:`dmn-try__output-head`,children:e.name},e.name))]})}),u(`tbody`,{children:e.rules.map((e,t)=>u(`tr`,{"data-rule":t+1,class:`dmn-try__row${r.has(t+1)?` is-match`:``}`,"aria-current":i.has(t+1)?`true`:void 0,children:[u(`td`,{class:`dmn-try__index`,children:t+1}),e.inputs.map((e,t)=>u(`td`,{class:`dmn-try__cell`,children:e||`-`},t)),e.outputs.map((e,t)=>u(`td`,{class:`dmn-try__cell dmn-try__output-cell`,children:e},t))]},e.id))})]})})}function bindResult(e,t,n){if(!El.test(t)||n===void 0)return;let r=t.split(`.`),i=e;for(let e of r.slice(0,-1))(typeof i[e]!=`object`||i[e]===null)&&(i[e]={}),i=i[e];i[r[r.length-1]]=n}function shownFor(e,t,n,r){let i={...r};return n.map((r,a)=>{let o=new Set(fedInputsOf(e,t,r.decisionId)),s=r.inputs.filter(e=>El.test(e.expression)&&!o.has(e.expression)),c=tryStep(r,i),l=c.needs.length===0;if(l){let n=r.outputs[0];n&&bindResult(i,n.name,c.match.outputs[n.name]);for(let n of requirementsOf(e,r.decisionId)){let e=t.find(e=>e.decisionId===n.decision)?.outputs[0];e&&bindResult(i,n.input??e.name,c.match.outputs[e.name])}}return{table:r,asked:s,run:c,answered:l,last:a===n.length-1}})}function TryTab({definitions:e,decisionId:t}){let n=l(()=>e?readTryTables(e):[],[e]),i=l(()=>e&&t?decisionOrder(e,n,t):[],[e,n,t]),[a,o]=r(()=>({...t?rememberedTryValues(t):{}}));if(d(()=>{o({...t?rememberedTryValues(t):{}})},[t]),!t||i.length===0)return u(`div`,{class:`dmn-try`,children:u(Ye,{title:f(`app.dmn.selectADecisionTableTo`),hint:f(`app.dmn.openADecisionTableEnter`),guide:`try`})});let onType=(e,n)=>{let r={...a,[e]:n};o(r),rememberTryValues(t,r)},c=shownFor(e,n,i,a);return u(`div`,{class:`dmn-try`,children:c.map(e=>u(`section`,{class:`dmn-try__step${e.last?``:` dmn-try__upstream`}`,children:[u(`header`,{class:`dmn-try__step-head`,children:[u(`h3`,{class:`dmn-try__step-name`,children:e.table.name}),u(`span`,{class:`dmn-try__policy`,children:[known(`app.try.policy.${e.table.hitPolicy}`,()=>f(`app.dmn.hitPolicy`,{hitPolicy:e.table.hitPolicy})),e.table.aggregation?f(`app.try.aggregated`,{aggregation:known(`app.try.aggregation.${e.table.aggregation}`,()=>e.table.aggregation??``)}):``]})]}),e.asked.length>0&&u(`div`,{class:`dmn-try__fields`,children:e.asked.map(e=>u(ValueField,{label:e.label,type:e.type,value:String(a[e.expression]??``),onType:t=>onType(e.expression,t)},e.expression))}),!e.answered&&u(`p`,{class:`dmn-try__waiting`,children:f(`app.try.tableNeedsAValueFor`,{table:e.table.name,names:e.run.needs.join(`, `)})}),e.answered&&u(s,{children:[u(RuleTable,{table:e.table,matching:e.run.match.matching,winning:e.run.match.rules}),u(`p`,{class:`dmn-try__result`,children:e.run.match.why}),e.run.match.problems.map(e=>u(`p`,{class:`dmn-try__problem`,children:e},e)),e.run.unreadable.length>0&&u(`p`,{class:`dmn-try__note`,children:f(`app.try.cannotEvaluateTheseCells`,{cells:e.run.unreadable.join(`, `)})}),e.last&&e.run.match.problems.length===0&&e.table.outputs.length>0&&u(`ul`,{class:`dmn-try__outputs`,children:e.table.outputs.map(t=>u(`li`,{children:[u(`span`,{class:`dmn-try__output-name`,children:t.name}),u(`span`,{class:`dmn-try__output-value`,children:_(e.run.match.outputs[t.name])})]},t.name))})]})]},e.table.decisionId))})}var Dl=o(null),Ol=Dl.Provider;function facts(){let e=a(Dl);if(!e)throw Error(`the DMN tabs need their facts`);return e}function DmnPropertiesTab(){let{panelHost:e,activeViewType:t,openRequirementsDiagram:n}=facts(),r=panelShownFor(t);return u(`div`,{class:`sidebar-properties dmn-sidebar-properties`,children:[u(Pe,{host:e,id:`dmn-properties-panel`,class:`properties-panel-parent`,shown:r}),!r&&u(Ye,{title:f(`app.dmn.thePropertiesOfADecision`),hint:f(`app.dmn.openTheRequirementsDiagramTo`),guide:`properties`,actions:[{label:f(`app.dmn.openTheRequirementsDiagram`),run:n}]})]})}function DmnTryTab(){let{definitions:e,activeDecisionId:t}=facts();return u(TryTab,{definitions:e,decisionId:t})}function DmnProblemsTab(){let{findings:e,onRecheck:t,onPick:n}=facts();return u(Jn,{findings:e,waiting:f(`app.dmn.checkTheDecisionsToSee`),clean:f(`app.dmnMode.noRulesOverlapAndEvery`),onRecheck:t,onPick:n})}var kl=Un([{id:`properties`,icon:`properties`,component:DmnPropertiesTab},Hn,{id:`problems`,icon:`problems`,component:DmnProblemsTab,padded:!0},{id:`try`,icon:`scenarios`,component:DmnTryTab}]);function viewLabel(e){return e?e.type===`drd`?f(`app.dmn.requirements`):e.element?.name||e.element?.id||e.id||``:``}function viewTooltip(e){if(!e)return``;let t=`app.dmn.view.${e.type}`,n=f(t),r=n===t?e.type??``:n;return e.type===`drd`?r:f(`app.dmn.viewTooltip`,{kind:r,label:viewLabel(e)})}var Al=`decisionTable.replaceRules`,jl=new WeakSet;function rowsOf(e){return e.getRoot()?.rows??[]}function textsOf(e){return rowsOf(e).map(e=>e.cells.map(e=>String(e.businessObject.text??``)))}function inputsOf(e){return(e.getRoot()?.cols??[]).filter(e=>e?.type===`dmn:InputClause`).length}function valuesOf(e,t){return{inputs:e.slice(0,t),outputs:e.slice(t)}}function planBetween(e,t,n=0){let r=Math.min(e.length,t.length),i=[];for(let n=0;n<r;n+=1)t[n].forEach((t,r)=>{(e[n][r]??``)!==t&&i.push({rule:n+1,column:r,from:e[n][r]??``,to:t})});return{writes:i,adds:t.slice(e.length).map((t,r)=>({at:e.length+r+1,...valuesOf(t,n)})),removes:e.slice(t.length).map((e,n)=>t.length+n+1),problems:[],summary:``}}function applyRulePlan(e,t,n){for(let r of[...n.removes].sort((e,t)=>t-e)){let n=rowsOf(t)[r-1];n&&e.removeRow(n)}for(let t of n.adds){let n=e.addRow({type:`dmn:DecisionRule`},t.at-1);[...t.inputs??[],...t.outputs??[]].forEach((t,r)=>{let i=n?.cells[r];i&&t!==``&&String(i.businessObject.text??``)!==t&&e.editCell(i,t)})}for(let r of n.writes){let n=rowsOf(t)[r.rule-1]?.cells[r.column];n&&String(n.businessObject.text??``)!==r.to&&e.editCell(n,r.to)}}function tableTextsIn(e){let t=e.get(`sheet`),n=t?.getRoot();if(!t||!n)return null;let r=textsOf(t);return{rows:r,columns:r[0]?.length??n.cols?.length??0,inputs:inputsOf(t)}}function replaceRulesIn(e,t){let n=e.get(`commandStack`),r=e.get(`modeling`),i=e.get(`sheet`),a=e.get(`eventBus`),o=i?.getRoot();if(!n||!r||!i||!a||!o)return!1;if(!jl.has(n)){jl.add(n);let e=null,settle=t=>{if(t.trigger!==`undo`||!e)return;let n=e;e=null,applyRulePlan(r,i,n)};a.on(`commandStack.changed`,settle),n.register(Al,{execute(e){return e.before=textsOf(i),[e.root]},postExecute(e){applyRulePlan(r,i,e.plan)},revert(t){e=planBetween(textsOf(i),t.before??[],inputsOf(i))}})}return n.execute(Al,{plan:t,root:o}),!0}function fieldAt(e,t){if(e[t]===`"`){let n=``,r=t+1;for(;r<e.length;)if(e[r]!==`"`)n+=e[r],r+=1;else if(e[r+1]===`"`)n+=`"`,r+=2;else break;let i=e[r+1];if(r<e.length&&(i===void 0||i===` `||i===`
|
|
37
|
+
`||i===`\r`)&&(n.includes(`"`)||/[\t\n]/.test(n)))return{value:n,next:r+1}}let n=t;for(;n<e.length&&e[n]!==` `&&e[n]!==`
|
|
38
|
+
`;)n+=1;return{value:e.slice(t,n),next:n}}function gridOfClipboard(e){let t=e.replace(/\r?\n$/,``);if(!/[\t\n]/.test(t))return null;let n=[],r=[],i=0;for(;;){let e=fieldAt(t,i);for(r.push(e.value.trim()),i=e.next;t[i]===`\r`;)i+=1;if(i>=t.length||t[i]===`
|
|
39
|
+
`){if(n.push(r),r=[],i>=t.length||(i+=1,i>=t.length))break}else i+=1}return n.filter(e=>e.some(e=>e!==``))}function pasteGridPlan(e,t,n,r,i){let a=Math.max(0,t-i.column),o=r.reduce((e,t)=>Math.max(e,t.length),0),s=Math.max(0,o-a),c=[],l=[];return r.forEach((r,a)=>{let o=i.row+a,s=Array.from({length:t},(e,t)=>{let a=r[t-i.column];return t<i.column||a===void 0?null:a===``&&t<n?`-`:a});if(o>=e.length){let e=s.map(e=>e??``);l.push({at:o+1,inputs:e.slice(0,n),outputs:e.slice(n)})}else s.forEach((t,n)=>{if(t===null)return;let r=e[o][n]??``;r!==t&&c.push({rule:o+1,column:n,from:r,to:t})})}),{plan:{writes:c,adds:l,removes:[],problems:[],summary:``},dropped:s}}function cellAt(e){let t=e instanceof Element?e.closest(`td`):null;if(!t)return null;let n=t.getAttribute(`data-coords`);if(n!==null){let[e,t]=n.split(`:`).map(Number);return Number.isInteger(e)&&Number.isInteger(t)?{row:e,column:t}:null}if(!t.classList.contains(`add-rule`))return null;let r=Number(t.getAttribute(`data-col-index`)),i=t.closest(`table`)?.querySelectorAll(`td.rule-index`).length??0;return Number.isInteger(r)?{row:i,column:r}:null}function pasteGridInto(e,t,n){let r=tableTextsIn(e);if(!r)return 0;let{plan:i,dropped:a}=pasteGridPlan(r.rows,r.columns,r.inputs,t,n);return(i.writes.length>0||i.adds.length>0)&&replaceRulesIn(e,i),a}function bindTablePaste(e,t,n){let onPaste=e=>{let r=cellAt(e.target);if(!r)return;let i=gridOfClipboard(e.clipboardData?.getData(`text/plain`)??``),a=t();if(!i||!a)return;e.preventDefault(),document.activeElement?.blur();let o=pasteGridInto(a,i,r);o>0&&n(f(`app.dmn.pasteColumnsLeftOut`,{count:o}))};return e.addEventListener(`paste`,onPaste,!0),()=>e.removeEventListener(`paste`,onPaste,!0)}var Ml=`.dms-select-options`;function keepFocusOnOptionPress(e){let keep=e=>{e.target instanceof Element&&e.target.closest(Ml)&&e.preventDefault()};return e.addEventListener(`mousedown`,keep,!0),()=>e.removeEventListener(`mousedown`,keep,!0)}typeof TextDecoder==`function`&&new TextDecoder(`utf-8`,{ignoreBOM:!0}),typeof TextEncoder==`function`&&new TextEncoder;var Nl=Array.prototype.slice.call(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`);(e=>{let t={};return e.forEach((e,n)=>t[e]=n),t})(Nl);var Pl=String.fromCharCode.bind(String);typeof Uint8Array.from==`function`&&Uint8Array.from.bind(Uint8Array);var _mkUriSafe=e=>e.replace(/=/g,``).replace(/[+\/]/g,e=>e==`+`?`-`:`_`),btoaPolyfill=e=>{let t,n,r,i,a=``,o=e.length%3;for(let o=0;o<e.length;){if((n=e.charCodeAt(o++))>255||(r=e.charCodeAt(o++))>255||(i=e.charCodeAt(o++))>255)throw TypeError(`invalid character found`);t=n<<16|r<<8|i,a+=Nl[t>>18&63]+Nl[t>>12&63]+Nl[t>>6&63]+Nl[t&63]}return o?a.slice(0,o-3)+`===`.substring(o):a},Fl=typeof btoa==`function`?e=>btoa(e):btoaPolyfill,Il=typeof Uint8Array.prototype.toBase64==`function`?e=>e.toBase64():e=>{let t=4096,n=[];for(let r=0,i=e.length;r<i;r+=t)n.push(Pl.apply(null,e.subarray(r,r+t)));return Fl(n.join(``))},fromUint8Array=(e,t=!1)=>t?_mkUriSafe(Il(e)):Il(e);Uint8Array.fromBase64;var SpreadsheetError=class extends Error{},Ll=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/></Types>`,Rl=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>`,zl=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/></Relationships>`,Bl=`http://schemas.openxmlformats.org/spreadsheetml/2006/main`;function escapeXml(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function columnName(e){let t=``;for(let n=e+1;n>0;n=Math.floor((n-1)/26))t=String.fromCharCode(65+(n-1)%26)+t;return t}function sheetName(e){let t=(e??f(`app.dmn.sheetName`)).replace(/[\\/?*[\]:]/g,` `).trim();return(t===``?f(`app.dmn.sheetName`):t).slice(0,31)}function numberish(e){return/^-?\d+(\.\d+)?$/.test(e)?e:``}function tableToGrid(e){return{title:e.name,header:[...e.inputs.map(e=>e.label),...e.outputs.map(e=>e.name)],rows:e.rules.map(e=>[...e.inputs,...e.outputs])}}function gridToCsv(e){let cell=e=>/[",\n\r]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e;return`${[e.header,...e.rows].map(e=>e.map(cell).join(`,`)).join(`
|
|
40
|
+
`)}\n`}function gridToXlsx(e){let t=[e.header,...e.rows].map((e,t)=>{let n=e.map((e,n)=>{let r=`${columnName(n)}${t+1}`;if(e===``)return`<c r="${r}"/>`;let i=numberish(e);return i===``?`<c r="${r}" t="inlineStr"><is><t xml:space="preserve">${escapeXml(e)}</t></is></c>`:`<c r="${r}"><v>${escapeXml(i)}</v></c>`});return`<row r="${t+1}">${n.join(``)}</row>`}).join(``);return be({"[Content_Types].xml":Se(Ll),"_rels/.rels":Se(Rl),"xl/workbook.xml":Se(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="${Bl}" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><sheets><sheet name="${escapeXml(sheetName(e.title))}" sheetId="1" r:id="rId1"/></sheets></workbook>`),"xl/_rels/workbook.xml.rels":Se(zl),"xl/worksheets/sheet1.xml":Se(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="${Bl}"><sheetData>${t}</sheetData></worksheet>`)})}function splitCsv(e){let t=[],n=[],r=``,i=!1,endCell=()=>{n.push(r),r=``},endRow=()=>{endCell(),(n.length>1||n[0]!==``)&&t.push(n),n=[]};for(let t=0;t<e.length;t+=1){let n=e[t];i?n===`"`?e[t+1]===`"`?(r+=`"`,t+=1):i=!1:r+=n:n===`"`&&r===``?i=!0:n===`,`?endCell():n===`
|
|
41
|
+
`?endRow():n!==`\r`&&(r+=n)}return(r!==``||n.length>0)&&endRow(),t}function decodeEntities(e){return e.replace(/&(lt|gt|amp|quot|apos|#\d+|#x[0-9a-fA-F]+);/g,(e,t)=>t===`lt`?`<`:t===`gt`?`>`:t===`amp`?`&`:t===`quot`?`"`:t===`apos`?`'`:t.startsWith(`#x`)?String.fromCodePoint(Number.parseInt(t.slice(2),16)):String.fromCodePoint(Number(t.slice(1))))}function sharedStrings(e){return[...e.matchAll(/<si\b[^>]*>([\s\S]*?)<\/si>/g)].map(e=>[...e[1].matchAll(/<t\b[^>]*>([\s\S]*?)<\/t>/g)].map(e=>decodeEntities(e[1])).join(``))}function cellColumn(e){let t=/^([A-Z]+)/.exec(e)?.[1]??``,n=0;for(let e of t)n=n*26+(e.charCodeAt(0)-64);return n-1}function readSheet(e,t){let n=[];for(let r of e.matchAll(/<row\b([^>]*)>([\s\S]*?)<\/row>/g)){let e=[];for(let n of r[2].matchAll(/<c\b([^>]*?)(?:\/>|>([\s\S]*?)<\/c>)/g)){let r=n[1]??``,i=n[2]??``,a=/t="([^"]+)"/.exec(r)?.[1]??`n`,o=cellColumn(/r="([A-Z]+\d+)"/.exec(r)?.[1]??`A`);e[o]=a===`inlineStr`?[...i.matchAll(/<t\b[^>]*>([\s\S]*?)<\/t>/g)].map(e=>decodeEntities(e[1])).join(``):a===`s`?t[Number(/<v>([\s\S]*?)<\/v>/.exec(i)?.[1]??-1)]??``:decodeEntities(/<v>([\s\S]*?)<\/v>/.exec(i)?.[1]??``).trim()}n.push(e)}return n}function ofGrid(e){let t=(e[0]??[]).map(e=>e.trim());if(t.length===0||t.every(e=>e===``))throw new SpreadsheetError(f(`app.dmn.noHeaderRow`));return{header:t,rows:e.slice(1).filter(e=>e.some(e=>e.trim()!==``)).map(e=>t.map((t,n)=>(e[n]??``).trim()))}}function readSpreadsheet(e,t){if(e.length===0)throw new SpreadsheetError(f(`app.dmn.theFileIsEmpty`));let n=e[0]===80&&e[1]===75;if(!n&&/\.xlsx?$/i.test(t))throw new SpreadsheetError(f(`app.dmn.namedLikeAWorkbook`,{file:t}));if(!n)return ofGrid(splitCsv(new TextDecoder().decode(e).replace(/^/,``)));let r;try{r=we(e,{filter:e=>e.name.endsWith(`.xml`)||e.name.endsWith(`.rels`)})}catch{throw new SpreadsheetError(f(`app.dmn.workbookNotOpened`))}let i=Object.keys(r),a=i.find(e=>/^xl\/worksheets\/sheet\d+\.xml$/.test(e))??i.find(e=>/^xl\/worksheets\//.test(e));if(!a)throw new SpreadsheetError(f(`app.dmn.workbookHasNoSheet`));let o=i.find(e=>e===`xl/sharedStrings.xml`),s=o?sharedStrings(new TextDecoder().decode(r[o])):[],c=i.find(e=>e===`xl/workbook.xml`),l=c?/<sheet\b[^>]*name="([^"]*)"/.exec(new TextDecoder().decode(r[c]))?.[1]:void 0;return{...ofGrid(readSheet(new TextDecoder().decode(r[a]),s)),...l?{title:decodeEntities(l)}:{}}}function gridToTable(e,t,n){let r=[...n.inputs.map(e=>e.label),...n.outputs.map(e=>e.name)];if(e.header.length!==r.length||r.some((t,n)=>e.header[n]!==t))return{rules:[],problems:[f(`app.dmn.headerNeeds`,{header:e.header.join(`, `),wanted:r.join(`, `)})]};let i=[];return{rules:e.rows.map((e,t)=>({inputs:n.inputs.map((n,r)=>{let a=e[r]??``;return a!==``&&!v(a)&&i.push(f(`app.dmn.rowCannotBeRead`,{line:t+1,cell:a})),a===``?`-`:a}),outputs:n.outputs.map((t,r)=>e[n.inputs.length+r]??``)})),problems:[...new Set(i)]}}function cellsOf(e,t){let n=e.rules[t];return n?[...n.inputs,...n.outputs]:[]}function previewImport(e,t){if(!e){let e=t.rows.map(e=>[...e]),n=t.rows.flatMap((e,t)=>e.slice(0,Math.max(0,e.length-1)).filter(e=>e!==``&&!v(e)).map(e=>f(`app.dmn.rowCannotBeRead`,{line:t+1,cell:e})));return{added:e.map((e,t)=>[t+1,e]),changed:[],unchanged:[],removed:[],rules:[],problems:[...new Set(n)]}}let n=gridToTable(t,e,e),r=[],i=[];return n.rules.forEach((t,n)=>{if(n>=e.rules.length)return;let a=cellsOf(e,n),o=[...t.inputs,...t.outputs];o.every((e,t)=>a[t]===e)?i.push(n+1):o.forEach((e,t)=>{a[t]!==e&&r.push([n+1,t,a[t]??``,e])})}),{added:n.rules.slice(e.rules.length).map((t,n)=>[e.rules.length+n+1,[...t.inputs,...t.outputs]]),changed:r,unchanged:i,removed:e.rules.slice(n.rules.length).map((e,t)=>n.rules.length+t+1),rules:n.rules,problems:n.problems}}function nothing(e){return{writes:[],adds:[],removes:[],problems:e,summary:f(`app.dmn.nothingChanges`)}}async function exportTableTo(e,t,n){try{let r=`${t.name||`decision-table`}.${n}`.replace(/[\\/:*?"<>|]/g,`-`),i=await e.chooseFile(n,{title:f(n===`csv`?`app.dmn.saveAsCsv`:`app.dmn.saveAsWorkbook`),description:f(n===`csv`?`app.dmn.csvIsOneCellPerColumn`:`app.dmn.workbookHasInputsAndOutputsFirst`),mode:`save`,defaultFileName:r});if(!i)return null;let a=tableToGrid(t);return n===`csv`?(await e.saveFile(i,gridToCsv(a)),i):(await e.saveFile(i,fromUint8Array(gridToXlsx(a)),{isBase64:!0}),i)}catch(t){try{await e.notifyUser(t instanceof Error?t.message:f(`app.dmn.workbookNotOpened`),!0)}catch{}return null}}async function importTableFrom(e,t,n){try{let r=await e.chooseFile(`xlsx,csv`,{title:f(n===`create`?`app.dmn.createFromSpreadsheet`:`app.dmn.importIntoTheTable`),description:f(`app.dmn.spreadsheetNamesTheInputs`),mode:`open`,selectFiles:!0,selectFolders:!1,multiSelect:!1});if(!r)return null;let i=r.split(/[\\/]/).pop()??r,a;try{a=readSpreadsheet(await e.readFileBytes(r),i)}catch(t){return await e.notifyUser(t instanceof Error?t.message:f(`app.dmn.notReadAsASpreadsheet`),!0),null}let o=n===`create`?null:t,s=previewImport(o,a);return{source:i,mode:n,table:t,columns:a.header,preview:s,plan:planRules(o,s.rules,s.problems)}}catch(t){try{await e.notifyUser(t instanceof Error?t.message:f(`app.dmn.notReadAsASpreadsheet`),!0)}catch{}return null}}function planRules(e,t,n=[]){if(!e)return{writes:[],adds:t.map((e,t)=>({at:t+1,inputs:[...e.inputs],outputs:[...e.outputs]})),removes:[],problems:n,summary:f(`app.dmn.aNewTableWith`,{rules:f(`app.dmn.count.rule`,{count:t.length})})};let r=[],i=Math.min(e.rules.length,t.length);for(let n=0;n<i;n+=1){let i=[...e.rules[n].inputs,...e.rules[n].outputs];[...t[n].inputs,...t[n].outputs].forEach((e,t)=>{i[t]!==e&&r.push({rule:n+1,column:t,from:i[t]??``,to:e})})}let a=t.slice(e.rules.length).map((t,n)=>({at:e.rules.length+n+1,inputs:[...t.inputs],outputs:[...t.outputs]})),o=[];for(let n=t.length;n<e.rules.length;n+=1)o.push(n+1);if(r.length===0&&a.length===0&&o.length===0)return nothing(n);let s=new Set(r.map(e=>e.rule)).size,c=[];return s>0&&c.push(f(`app.dmn.ruleChanges`,{count:s})),a.length>0&&c.push(f(`app.dmn.rulesAreAdded`,{count:a.length})),o.length>0&&c.push(f(`app.dmn.rulesAreRemoved`,{count:o.length})),{writes:r,adds:a,removes:o,problems:n,summary:c.join(`, `)}}function cellName(e,t){return e[t]??f(`app.import.cellOf`,{number:t+1})}function linesOf(e){let{preview:t,columns:n}=e,r=[];for(let[e,i]of t.added)i.forEach((t,i)=>r.push({rule:e,cell:cellName(n,i),text:f(`app.import.addedAs`,{cell:t||`-`})}));for(let[e,i,a,o]of t.changed)r.push({rule:e,cell:cellName(n,i),text:`${a||`-`} → ${o||`-`}`});for(let e of t.removed)r.push({rule:e,cell:f(`app.import.theRule`),text:f(`app.import.removed`)});return r}function ImportPreviewDialog({pending:e,busy:t,onApply:n,onClose:r}){let{plan:i,source:a,mode:o}=e,c=i.problems.length>0||i.summary===f(`app.dmn.nothingChanges`),l=linesOf(e),d=[{id:`cancel`,label:f(`app.common.cancel`),role:`cancel`,onClick:r},{id:`import`,label:f(o===`create`?`app.dmn.addRules`:`app.dmn.importAction`),role:`primary`,disabled:c,busy:t,onClick:n}];return u(Ke,{title:f(o===`create`?`app.dmn.addRulesFrom`:`app.dmn.import`,{source:a}),size:`medium`,onClose:r,onSubmit:c?void 0:n,footer:u(Je,{actions:d}),children:[u(`p`,{class:`dmn-import__summary`,children:[f(o===`create`?`app.dmn.intoTheOpenDecisionTable`:`app.dmn.intoTheSelectedTable`),u(`strong`,{children:i.summary})]}),i.problems.length>0?u(`ul`,{class:`dmn-import__problems`,children:i.problems.map(e=>u(`li`,{children:e},e))}):i.summary===f(`app.dmn.nothingChanges`)?u(`p`,{class:`dmn-import__summary`,children:f(`app.dmn.theTableAlreadySays`)}):u(s,{children:[u(`div`,{class:`dmn-try__table-wrap`,children:u(`table`,{class:`dmn-try__table dmn-import__table`,children:[u(`thead`,{children:u(`tr`,{children:[u(`th`,{scope:`col`,children:f(`app.dmn.rule`)}),u(`th`,{scope:`col`,children:f(`app.dmn.cell`)}),u(`th`,{scope:`col`,children:f(`app.dmn.change`)})]})}),u(`tbody`,{children:l.map((e,t)=>u(`tr`,{class:`dmn-try__row`,children:[u(`td`,{class:`dmn-try__index`,children:e.rule}),u(`td`,{class:`dmn-try__cell`,children:e.cell}),u(`td`,{class:`dmn-try__cell`,children:e.text})]},`${e.rule}-${e.cell}-${t}`))})]})}),u(`p`,{class:`dmn-import__note`,children:f(`app.dmn.oneUndoTakesTheImport`)})]})]})}function isElement(e){return!!e&&typeof e==`object`&&typeof e.$type==`string`}function prefixOf(e){return`${e.replace(/^[^:]*:/,``)}_`}function copyTree(e,t,n){let r=e.create(t.$type);t.id&&r.set(`id`,n.fresh?e.ids.nextPrefixed(prefixOf(t.$type),r):t.id);let copyValue=t=>{if(!isElement(t))return t;let i=copyTree(e,t,{fresh:n.fresh,skip:[]});return i.$parent=r,i};for(let e of r.$descriptor.properties){if(e.isReference||e.name===`id`||n.skip.includes(e.name))continue;let i=t[e.name];i!=null&&(e.isMany?Array.isArray(i)&&r.set(e.name,i.map(copyValue)):r.set(e.name,copyValue(i)))}return r}var Vl=`-dmn-names`,Hl=`.djs-palette, .djs-context-pad`;function descriptorsOf(e){return Object.values(e??{}).flatMap(e=>Array.isArray(e)?e:[])}function pointerPoint(e,t){let n=e.getContainer().getBoundingClientRect();if(!(n.width>0&&n.height>0))return;let r=e.viewbox();return{x:r.x+(t.clientX-n.left)/n.width*r.width,y:r.y+(t.clientY-n.top)/n.height*r.height}}function holdsElements(e){return!!e&&descriptorsOf(e).length>0}function freshName(e,t){let n=e;for(let r=2;t.has(n);r++)n=`${e} ${r}`;return t.add(n),n}var DrdCopyPaste=class extends $e{static $inject=[`canvas`,`create`,`clipboard`,`elementFactory`,`eventBus`,`modeling`,`mouse`,`rules`,`moddle`];canvas;moddle;pointer=null;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r,i,a,o,s),this.canvas=e,this.moddle=c;let l=e.getContainer(),move=e=>{let t=e.target;this.pointer=t?.closest?.(Hl)?null:{clientX:e.clientX,clientY:e.clientY}},leave=()=>{this.pointer=null};l.addEventListener(`mousemove`,move),l.addEventListener(`mouseleave`,leave),i.on(`diagram.destroy`,()=>{l.removeEventListener(`mousemove`,move),l.removeEventListener(`mouseleave`,leave)}),i.on(`copyPaste.copyElement`,e=>{let{descriptor:t,element:n}=e;n.businessObject&&(t.type=n.type,t.businessObject=copyTree(this.moddle,n.businessObject,{fresh:!1,skip:on(n.businessObject.$type)}))}),i.on(`copyPaste.pasteElement`,e=>{let{cache:t,descriptor:n}=e,r=n.businessObject;if(!r)return;let i=copyTree(this.moddle,r,{fresh:!0,skip:on(r.$type)});if(kt.some(e=>e===i.$type)&&typeof i.name==`string`){let e=this.takenNames(t),n=freshName(i.name,e);i.variable&&r.variable?.name===r.name&&i.variable.set(`name`,n),i.set(`name`,n)}n.businessObject=i,n.type=i.$type}),i.on(`copyPaste.pasteElements`,t=>{if(!holdsElements(t.tree))return!1;if(t.element&&t.point)return;let n=(this.pointer&&pointerPoint(e,this.pointer))??cn(t.tree)??{x:20,y:20};t.element=e.getRootElement(),t.point=n})}takenNames(e){if(!e[Vl]){let t=(this.canvas.getRootElement().businessObject.get(`drgElement`)??[]).map(e=>e.name).filter(e=>typeof e==`string`);e[Vl]=new Set(t)}return e[Vl]}},DrdCopyRules=class extends Dt{static $inject=[`eventBus`];init(){this.addRule(`element.copy`,({element:e})=>en(e))}},Ul={__depends__:[Ct,lt,Tt,dn],__init__:[`copyPaste`,`drdCopyRules`],copyPaste:[`type`,DrdCopyPaste],drdCopyRules:[`type`,DrdCopyRules]};function tableAbove(e){for(let t=e.$parent;t;t=t.$parent)if(t.$instanceOf?.(`dmn:DecisionTable`))return t}var DecisionInputVariables=class{static $inject=[`variableResolver`];constructor(e){e.registerProvider(this)}getVariables(e,t){let n=t;if(!n?.$instanceOf?.(`dmn:LiteralExpression`))return e;let r=tableAbove(n);if(!r)return e;let i=new Set(e.map(e=>e.name)),a=(r.input??[]).map(e=>e.inputExpression?.text?.trim()??``).filter((e,t,n)=>e!==``&&!i.has(e)&&n.indexOf(e)===t);return[...e,...a.map(e=>({name:e}))]}},Wl={__init__:[`decisionInputVariables`],decisionInputVariables:[`type`,DecisionInputVariables]},Gl=kl.map(e=>e.id);function DmnEditor({xml:e,options:t}){let{client:n,engine:a,fileName:o,file:s}=t,_=Kn({kind:`dmn`,file:s,fallbackName:o}),v=c(null),[ee]=r(je),S=Oe(Gl,`dmn`),ne=Wn(_.key,S.shownTab),C=c(null),[re,ie]=r([]),[w,ae]=r(),[oe,se]=r(null),[ce,le]=r(null),[T,E]=r(null),D=c(Vt()),[O,ue]=r(null),[k,A]=r(null),[j,de]=r(null),[fe,pe]=r({undo:!1,redo:!1}),[me,he]=r(),M=c(e),be=c(null),Se=c(null),we=c(null),Pe=c(null),Le=c(void 0),ze=c(new WeakSet),Ge=i(e=>{let t=e?.get(`canvas`,!1);if(!t||ze.current.has(t))return;ze.current.add(t);let n=Pt(t,{insetLeft:()=>{let e=v.current?.querySelector(`.djs-palette`),t=v.current?.getBoundingClientRect();return e&&t?e.getBoundingClientRect().right-t.left+16:0},insetBottom:()=>Vn(v.current)});Pe.current={canvas:t,fit:n};let r=e?.get(`keyboard`,!1);r&&un(r,n.fit),requestAnimationFrame(()=>{t.resized?.(),n.firstView()})},[]),Ke=i(()=>{let e=Pe.current?.canvas;e&&requestAnimationFrame(()=>e.resized?.())},[]),qe=i(()=>{let e=C.current?.getActiveViewer(),t=e?.get(`elementRegistry`,!1),n=e?.get(`graphicsFactory`,!1);return t&&n?{registry:t,graphics:n}:null},[]);d(()=>{let repaint=()=>{let e=qe();if(!e)return;let{registry:t,graphics:n}=e;D.current=Vt(),Zt(n,()=>D.current),t.getAll().forEach(e=>{let r=t.getGraphics(e);r&&n.update(e.waypoints?`connection`:`shape`,e,r)})};return repaint(),window.addEventListener(`bpmn-theme-changed`,repaint),()=>window.removeEventListener(`bpmn-theme-changed`,repaint)},[qe]);let Je=Re(o,async()=>(await C.current?.saveXML({format:!0}))?.xml),share=async()=>{let e=await C.current?.saveXML({format:!0});e&&await Me(`dmn`,e.xml,o)},Ye=w?.type===`decisionTable`?w.element.id??null:null,Ze=l(()=>O?readTryTables(O):[],[O]).find(e=>e.decisionId===Ye)??null,Qe=i(async e=>{if(!Ze)return;let t=await exportTableTo(x(),Ze,e);t&&await x().notifyUser(f(`app.dmnMode.theDecisionTableWasSaved`,{saved:t}))},[Ze]),$e=i(async e=>{if(!Ze){de(f(`app.dmnMode.noDecisionTableIsOpen`));return}let t=await importTableFrom(x(),e===`replace`?Ze:null,e);t&&A(t)},[Ze]),et=i(()=>{if(!k||k.plan.summary===f(`app.dmn.nothingChanges`)){A(null);return}let e=C.current?.getActiveViewer(),t=e?replaceRulesIn(e,k.plan):!1;A(null),de(t?k.mode===`create`?f(`app.dmnMode.theRulesWereAddedTo`):f(`app.dmnMode.theRulesWereReplacedUndo`):f(`app.dmnMode.noDecisionTableIsOpen2`))},[k]),tt=i(()=>{let e=C.current?.getDefinitions();E(e?te(e):[])},[]),nt=S.state.tab===`problems`&&!S.state.hidden,rt=T!==null&&!nt,check=async()=>{T!==null||nt?(E(null),nt&&S.select(`properties`)):await x().requestFeature(p.FLOW_ANALYSIS)&&tt()},it=i(e=>{let t=C.current?.getViews().find(t=>t.type===`decisionTable`&&(t.element.name??t.element.id)===e.decision);t&&C.current?.open(t)},[]),at=i(()=>{let e=C.current?.getViews().find(e=>e.type===`drd`);e&&C.current?.open(e)},[]),ot=Ne(S.toggle);d(()=>{if(!v.current)return;let e=Vt();D.current=e;let t=panelKindOf(a),r=t===`camunda`?[bl]:t===`zeebe`?[Sl]:[];He();let i=new Modeler({container:v.current,drd:{propertiesPanel:{parent:ee},additionalModules:[Ut,Rt,Ul,Xe,dl,_l,...r,Zn],drdRenderer:{defaultFillColor:e.fill,defaultStrokeColor:e.stroke}},decisionTable:{additionalModules:[Xe,Wl]},literalExpression:{additionalModules:[Xe]},boxedExpression:{additionalModules:[Xe]},moddleExtensions:t===`zeebe`?{zeebe:zc}:{camunda:ve}});C.current=i;let s=we.current;we.current=null;let c=ke({save:e=>n.bpmn.saveBpmnXml(e),onFailure:e=>console.error(`Failed to save DMN:`,e)}),l,readHistory=()=>pe(qn(l?.get(`commandStack`,!1))),selected=e=>he(e.newSelection?.[0]?.id),changed=()=>{readHistory(),i.saveXML({format:!0}).then(({xml:e})=>{M.current=e,c.edited(e)}).catch(e=>console.error(`Failed to serialise DMN:`,e))},watch=()=>{l?.off(`commandStack.changed`,changed),l?.off(`selection.changed`,selected),Le.current?.(),l=i.getActiveViewer(),l?.on(`commandStack.changed`,changed),l?.on(`selection.changed`,selected),Le.current=l?an(l,x()):void 0,l&&$t(l),readHistory()};i.on(`views.changed`,e=>{let t=e.activeView??i.getActiveView();ie(e.views??i.getViews()),ae(t),t&&(Se.current={id:t.id,type:t.type}),watch(),Ge(i.getActiveViewer())});let u=0,d=new ResizeObserver(()=>{cancelAnimationFrame(u),u=requestAnimationFrame(Ke)});d.observe(v.current);let f=bindTablePaste(v.current,()=>i.getActiveViewer(),e=>void x().notifyUser(e,!0)),p=keepFocusOnOptionPress(v.current),m=!0,importInto=async()=>{let e=i.getViews().find(e=>e.id===Se.current?.id&&e.type===Se.current?.type);e&&await i.open(e);let t=i.getActiveView(),n=i.getActiveViewer();s?.view&&n&&t?.id===s.id&&t.type===s.type&&Yt(n.get(`canvas`,!1),n.get(`selection`,!1),n.get(`elementRegistry`,!1),s.view),ie(i.getViews()),ae(i.getActiveView()),ue(i.getDefinitions()),se(null),watch(),Ge(i.getActiveViewer())};h(M.current).then(({xml:e,from:t})=>{if(!m)return;t&&(M.current=e,le(y(t,o)));let n=g(M.current);if(n)throw n;return i.importXML(M.current)}).then(()=>m?importInto():void 0).catch(e=>m&&se(e.message));let reimport=e=>{M.current=e;let t=g(e);t?se(t.message):i.importXML(e).then(()=>importInto()).catch(e=>se(e.message))};be.current=reimport;let _=n.bridge.onDocumentChanged?.(e=>{m&&e!==M.current&&(c.reloaded(e),reimport(e))});return()=>{m=!1,be.current=null,_?.(),Le.current?.(),Le.current=void 0,d.disconnect(),f(),p(),Pe.current=null,l?.off(`commandStack.changed`,changed);let e=i.getActiveView(),t=i.getActiveViewer();we.current=e&&t?{id:e.id,type:e.type,view:Mt(t.get(`canvas`,!1),t.get(`selection`,!1))}:null,i.destroy()}},[n,o,a,Ge,Ke]);let st=re.map((e,t)=>({id:`view-${e.type}-${e.id}`,title:viewLabel(e),section:`View`,icon:`dmn`,keywords:[],place:`bar`,listed:!1,slot:`view`,order:t,presentation:`text`,tooltip:viewTooltip(e),enabled:!0,checked:w?.id===e.id&&w?.type===e.type,run:()=>void C.current?.open(e)})),ct=C.current?.getActiveViewer()?.get(`commandStack`,!1),lt=i(()=>{let e=C.current?.getActiveViewer(),t=(e?.get(`selection`,!1)?.get()??[]).filter(Boolean),n=e?.get(`copyPaste`,!1);t.length>0&&n&&n.copy(t)},[]),ut=i(()=>{let e=C.current?.getActiveViewer();e&&Wt(e,x()).catch(e=>console.error(`Failed to paste from the clipboard:`,e))},[]),undo=()=>ct?.undo(),redo=()=>ct?.redo(),cutDiagramSelection=()=>xe(C.current?.getActiveViewer()),selectAllDiagramElements=()=>Ce(C.current?.getActiveViewer()),dt=w?.type===`drd`?{undo,redo,cut:cutDiagramSelection,copy:lt,paste:ut,selectAll:selectAllDiagramElements}:{undo,redo},ft=l(()=>w?.type===`drd`?C.current?.getActiveViewer():void 0,[w,O]),pt=i((e,t)=>Ue(e,t,Be),[]),mt=i((e,t)=>We(O,e,t),[O]),ht=i((e,t)=>Ve(O,e,t),[O]),N=Te({viewer:ft,origin:me,traceable:pt,read:mt,paint:ht}),gt={hasEngine:_e(a),hasTable:Ze!==null,open:{check:T!==null||nt,sidebar:!S.state.hidden,trace:N.tracing,traceable:N.traceable},deploy:Ae(Je),history:fe,drd:w?.type===`drd`,chat:ne,commands:{chat:()=>S.pressTab(Hn.id),undo,redo,copy:lt,paste:ut,toggleSidebar:ot,focusCanvas:Gn,check:()=>void check(),share:()=>void share(),exportTable:e=>void Qe(e),importTable:()=>void $e(`replace`),importTableAsNew:()=>void $e(`create`),toggleTrace:N.toggle,showLicence:n.bridge.showLicence?()=>void n.bridge.showLicence?.():void 0,chooseTheme:ye(n.bridge,`editorTheme`)?b:void 0}},_t=Ee(m,gt),vt=Fe([...st,..._t]),yt=rt&&T?{title:f(`app.dmnMode.decisionCheck`),tally:De(T.length),isError:T.length>0,findings:T,clean:f(`app.dmnMode.noRulesOverlapAndEvery`),onRecheck:tt,onClose:()=>E(null),onShowAll:()=>S.select(`problems`),onPick:e=>it(T[e])}:void 0,bt=N.tracing&&N.reading?{label:N.reading.label,before:N.reading.before,after:N.reading.after,followMessages:N.followMessages,showMessages:N.supportsMessages,onFollowMessages:N.setFollowMessages,onClose:N.close}:void 0,xt=ce??j;return u(Ol,{value:{panelHost:ee,activeViewType:w?.type,activeDecisionId:w?.type===`decisionTable`?w.element.id??null:null,definitions:O,openRequirementsDiagram:at,findings:T,onRecheck:tt,onPick:e=>it(T[e])},children:u(Ie,{className:`dmn-editor`,toolbarItems:vt,tabs:kl,sidebar:S,edit:dt,badges:{problems:T?.length||void 0},notice:xt?{text:xt,dismiss:()=>{le(null),de(null)}}:null,deploy:{deploy:Je,engine:ge(a)??`camunda-7`},check:yt,assistant:_,trace:bt,shortcuts:{editor:`dmn`,mode:w?.type===`decisionTable`?`table`:`drd`,actions:_t},children:[u(`div`,{class:`resource-editor__canvas${oe?` is-unreadable`:``}`,ref:v}),u(Yn,{message:oe,kind:`decision`,client:n,onReload:e=>be.current?.(e)}),k&&u(ImportPreviewDialog,{pending:k,onApply:et,onClose:()=>A(null)})]})})}function DmnDocument({handle:e}){let t=l(()=>new ze(Le(x(),e)),[e]),n=c(e.initialText),r=window.appConfig?.engine??void 0;return u(DmnEditor,{xml:n.current,options:{client:t,engine:r,fileName:e.name,file:e.rel}})}export{DmnDocument};
|