@kern0x1b/penstock-cli 26.10.3 → 26.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/licensing.json +1 -1
  2. package/dist/penstock.js +458 -197
  3. package/dist/web/assets/{AgentSettings-C-1YBic4.js → AgentSettings-BvzT4Itb.js} +1 -1
  4. package/dist/web/assets/{AgentsDialog-CSu8pyh7.js → AgentsDialog-BqY3wKcV.js} +1 -1
  5. package/dist/web/assets/BpmnCanvas-BTdM1l9l.js +1905 -0
  6. package/dist/web/assets/BpmnDocument-uifU3NGG.js +24 -0
  7. package/dist/web/assets/{ConflictDialog-nygfF7Dn.js → ConflictDialog-C4A9-Psr.js} +1 -1
  8. package/dist/web/assets/{DiffDocument-DUrje9io.js → DiffDocument-BMTSevd7.js} +1 -1
  9. package/dist/web/assets/{DmnDocument-fn7AH7P1.js → DmnDocument-B8wWuhfX.js} +9 -9
  10. package/dist/web/assets/{FormDocument-BbyRqjib.js → FormDocument-bQ5VRsrh.js} +1 -1
  11. package/dist/web/assets/{FormStepView-BYRMBW0U.js → FormStepView-DbMCFSO1.js} +1 -1
  12. package/dist/web/assets/{GraphAwareLayoutService-BiLVDmB7.js → GraphAwareLayoutService-CePcz6pL.js} +1 -1
  13. package/dist/web/assets/NewFileDialog-DsoFURD9.js +47 -0
  14. package/dist/web/assets/{QuickOpen-D-u9hdSt.js → QuickOpen-mzlfRqvG.js} +1 -1
  15. package/dist/web/assets/{ScriptPane-BQorfmyv.js → ScriptPane-C9q5wLfO.js} +2 -2
  16. package/dist/web/assets/{ScriptRunDialog-DjBW0LRD.js → ScriptRunDialog-Dm-_0H1Z.js} +1 -1
  17. package/dist/web/assets/{SettingsDialog-DvYUAKpH.js → SettingsDialog-Bhwwtyg7.js} +1 -1
  18. package/dist/web/assets/{ShortcutsDialog-BQ5BYHj3.js → ShortcutsDialog-BXP0h7Tp.js} +1 -1
  19. package/dist/web/assets/{SourceDocument-BfHVXxuk.js → SourceDocument-DgrNCprS.js} +1 -1
  20. package/dist/web/assets/{TextDocument-BPepqeGu.js → TextDocument-D8N0uaQa.js} +1 -1
  21. package/dist/web/assets/{UnreadableFileLayer-D5B6nixz.js → UnreadableFileLayer-D2Rcxnt7.js} +1 -1
  22. package/dist/web/assets/{UploadDialog-BzIvQ1YS.js → UploadDialog-Dinga4TP.js} +1 -1
  23. package/dist/web/assets/apply-CzXxiRWK.js +1 -0
  24. package/dist/web/assets/{bpmnTheme-Divwrkjy.js → bpmnTheme-db4tYvop.js} +1 -1
  25. package/dist/web/assets/bridgeInstance-BPwbITOf.js +850 -0
  26. package/dist/web/assets/{commands-N2yKHjf_.js → commands-BAnBjEk3.js} +1 -1
  27. package/dist/web/assets/de-Cd75cvcZ.js +1 -0
  28. package/dist/web/assets/{dialog-DSf66Ory.js → dialog-KVjfqSrB.js} +1 -1
  29. package/dist/web/assets/{diff-DkfgVbKD.js → diff-Cw0ENHJR.js} +1 -1
  30. package/dist/web/assets/{documentBridge-DSWBQZRP.js → documentBridge-D5SaBThP.js} +8 -8
  31. package/dist/web/assets/{documents-C4vr2KnQ.js → documents-Dkor36oS.js} +1 -1
  32. package/dist/web/assets/{duplicate-C-AiqE1T.js → duplicate-ud-StKuO.js} +1 -1
  33. package/dist/web/assets/{engines-DG8KgTeX.js → engines-BQRXHtW8.js} +1 -1
  34. package/dist/web/assets/es-D2PUEg_Z.js +1 -0
  35. package/dist/web/assets/{formChecks-B_ZFz9DR.js → formChecks-DFrCuO4I.js} +1 -1
  36. package/dist/web/assets/fr-DkGYGarc.js +1 -0
  37. package/dist/web/assets/{frontend-BLfXy4OQ.js → frontend-B05iyhCp.js} +1 -1
  38. package/dist/web/assets/{httpHost-Cll6HteE.js → httpHost-DX-P_FDg.js} +1 -1
  39. package/dist/web/assets/{index.es-DQAdm_u9.js → index.es-DR-czZl7.js} +1 -1
  40. package/dist/web/assets/{index.es-B0wi5_fv.js → index.es-dFUgH_-g.js} +1 -1
  41. package/dist/web/assets/{intelligence-glU4hcHy.js → intelligence-BkxcJMU_.js} +1 -1
  42. package/dist/web/assets/ja-De4NAvK-.js +1 -0
  43. package/dist/web/assets/{jspdf.es.min-xdeBAA_m.js → jspdf.es.min-BMfOi0te.js} +3 -3
  44. package/dist/web/assets/ko-Ci27KQ5n.js +1 -0
  45. package/dist/web/assets/{lib-DJ1i09sd.js → lib-C3uYnGWx.js} +1 -1
  46. package/dist/web/assets/{engine-BPUfS3r2.js → moddle-CGpeSs3G.js} +1 -1
  47. package/dist/web/assets/{platform-BS7bgwr3.js → platform-zEAtGnYc.js} +1 -1
  48. package/dist/web/assets/preferences-K6VRM9Ah.js +1 -0
  49. package/dist/web/assets/pt-BR-CNmIseZJ.js +1 -0
  50. package/dist/web/assets/ru-BtK7W4xW.js +1 -0
  51. package/dist/web/assets/{run-Df8AD_as.js → run-fV7AmV4q.js} +1 -1
  52. package/dist/web/assets/{samples-chRLnLcq.js → samples-D-3Bquy_.js} +1 -1
  53. package/dist/web/assets/testCaseRuns-C-0blM3d.js +1 -0
  54. package/dist/web/assets/translator-Dvvasoz-.js +1 -0
  55. package/dist/web/assets/{ui-AICOEtWR.js → ui-TBzvKaKQ.js} +1 -1
  56. package/dist/web/assets/{useTrace-B3gDUL0X.js → useTrace-BgpeAcQR.js} +1 -1
  57. package/dist/web/assets/{web-BtxFF0jJ.js → web-qJCedJJw.js} +8 -8
  58. package/dist/web/assets/zh-DxI_A5kC.js +1 -0
  59. package/dist/web/index.html +20 -20
  60. package/package.json +4 -1
  61. package/dist/web/assets/BpmnCanvas-DnBLxMNQ.js +0 -1905
  62. package/dist/web/assets/BpmnDocument-BPpyqTzJ.js +0 -24
  63. package/dist/web/assets/NewFileDialog-Ce_cTeOv.js +0 -34
  64. package/dist/web/assets/apply-B0vauBJn.js +0 -1
  65. package/dist/web/assets/bridgeInstance-D0bzpNGz.js +0 -600
  66. package/dist/web/assets/de-izeWpfua.js +0 -1
  67. package/dist/web/assets/es-CRMYEYWD.js +0 -1
  68. package/dist/web/assets/fr-8pTyPyAI.js +0 -1
  69. package/dist/web/assets/ja-I1fjeFMy.js +0 -1
  70. package/dist/web/assets/ko-CFd9C-RA.js +0 -1
  71. package/dist/web/assets/preferences-C_EXTz45.js +0 -1
  72. package/dist/web/assets/pt-BR-Dl_APu95.js +0 -1
  73. package/dist/web/assets/ru-_vhcOTod.js +0 -1
  74. package/dist/web/assets/testCaseRuns-DLEqANBi.js +0 -1
  75. package/dist/web/assets/translator-CS9eR0My.js +0 -1
  76. package/dist/web/assets/zh-Do_q1RZ2.js +0 -1
@@ -1,7 +1,7 @@
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-CS9eR0My.js";import{x as p}from"./frontend-BLfXy4OQ.js";import{H as m,Hn as h,I as g,In as ee,N as _,P as v,S as y,Vn as te,b,t as x,x as ne}from"./bridgeInstance-D0bzpNGz.js";import{C as re,M as S,N as ie,O as ae,P as C,_ as oe,a as w,b as se,c as ce,f as le,g as T,h as E,k as D,m as O,o as ue,r as k,s as A,t as j,u as M,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 ye}from"./dist-BqwyxNP3.js";import{t as be}from"./platform-BS7bgwr3.js";import{c as xe,n as Se,o as Ce,r as we,s as Te,t as Ee}from"./useTrace-B3gDUL0X.js";import{a as De,c as Oe,d as ke,g as Ae,h as je,i as Me,l as Ne,m as Pe,n as Fe,r as Ie,s as Le,t as Re,u as ze,v as Be}from"./documentBridge-DSWBQZRP.js";import{c as Ve,d as He,g as Ue,k as We,l as Ge,o as Ke,y as qe}from"./bpmnTheme-Divwrkjy.js";import{f as Je,l as Ye,p as Xe,s as N}from"./ui-AICOEtWR.js";import{i as Ze}from"./lib-DJ1i09sd.js";import{At as Qe,Bt as $e,Ct as et,Dn as tt,Dt as nt,En as rt,Et as it,F as at,Fn as ot,G as st,Gt as ct,H as lt,Ht as ut,I as dt,In as ft,It as pt,Lt as mt,Mn as ht,Mt as P,Nn as gt,Nt as _t,O as vt,On as yt,Ot as bt,Pn as xt,Pt as St,R as Ct,Sn as wt,St as Tt,Tn as Et,Tt as Dt,U as Ot,Ut as kt,Vt as At,W as jt,Wt as Mt,_n as Nt,_t as Pt,a as Ft,bn as It,bt as Lt,c as Rt,ct as zt,d as Bt,en as Vt,f as Ht,fn as Ut,ft as Wt,gn as Gt,gt as Kt,h as qt,hn as Jt,ht as F,i as Yt,jn as Xt,jt as Zt,kt as Qt,l as $t,lt as en,m as tn,mn as nn,mt as rn,n as an,nn as on,nt as sn,o as cn,ot as ln,pn as un,r as dn,s as fn,st as pn,t as mn,tn as hn,u as gn,ut as _n,vn,vt as yn,wt as bn,xn,xt as Sn,yn as Cn,z as wn}from"./duplicate-C-AiqE1T.js";import{$ as Tn,$t as I,Bt as En,C as Dn,Ft as L,Jt as On,Kt as kn,Lt as R,Mt as An,Pt as jn,Qt as Mn,S as z,St as Nn,Ut as Pn,Vt as B,X as Fn,Yt as V,Zt as H,a as In,b as Ln,en as Rn,in as U,it as zn,lt as W,nn as Bn,nt as Vn,ot as G,r as Hn,rn as K,s as Un,tn as q,tt as Wn,ut as J,v as Y,wt as Gn,y as Kn,zt as qn}from"./Viewer-CZiVl0t6.js";import{t as Jn}from"./dist--PmHUHDp.js";import{I as Yn}from"./dist-CsBP6QjA.js";import{n as Xn}from"./dockLayout-CxOMo-Nl.js";import{Ct as Zn,E as Qn,b as $n,o as er,w as tr}from"./web-BtxFF0jJ.js";import{n as nr,r as rr,t as ir}from"./UnreadableFileLayer-D5B6nixz.js";var ar=1,GroupLabelsTranslator=class{static $inject=[`propertiesPanel`,`translate`];translate;constructor(e,t){this.translate=t,e.registerProvider(ar,this)}getGroups(){return e=>e.map(e=>e.label?{...e,label:this.translate(e.label)}:e)}},or={__init__:[`groupLabelsTranslator`],groupLabelsTranslator:[`type`,GroupLabelsTranslator]};O();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&&oe(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 `,``)}O();var sr={width:`100%`,height:`100%`,position:`relative`},Manager=class{constructor(e={}){this._eventBus=new Wn,this._viewsChanged=k(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=q(e)),e.appendChild(this._container),this._emit(`attach`,{})}detach(){this._emit(`detach`,{}),Bn(this._container)}destroy(){Object.keys(this._viewers).forEach(e=>{var t=this._viewers[e];safeExecute(t,`destroy`)}),Bn(this._container)}_init(e){this._options=e,this._moddle=this._createModdle(e),this._viewers={},this._views=[];let t=K(`<div class="dmn-js-parent bio-theme-parent"></div>`),n=j({},sr,e);j(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=A(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=A(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||!w(i,function(e){return A(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=A(e,function(e){return viewsEqual(e,t)})||A(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=A(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 T(e)?T(t)?e.element===t.element||e.id===t.id:!1:!T(t)}function viewNameChanged(e,t){return!e||!t||e.name!==t.name}function safeExecute(e,t){oe(e[t])&&e[t]()}O();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 S(t,function(t){return is$2(e,t)})}e(isAny$1,`isAny`);function getDefinitions$1(e){let t=getBusinessObject$1(e);for(;t&&!is$2(t,`dmn:Definitions`);)t=t.$parent;return t}e(getDefinitions$1,`getDefinitions`);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 cr=`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===cr||/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 ye([32,36,1]),t}};function getIdFromHref(e){return e.split(`#`).pop()}function refersTo(e,t){return!!e.href&&getIdFromHref(e.href)===t}function replaceIdInHref(e,t){return e.slice(0,e.lastIndexOf(`#`)+1)+t}O();var lr=new zn({name:`dmnElementRef`,enumerable:!0},{name:`di`,configurable:!0});function DRDTreeWalker(e,t){var n=[],r=new Map;function mapRefToParent(e,t){r.set(getIdFromHref(e.href),t)}function visit(t,n){if(t.gfx)throw Error(`already rendered `+t.id);return e.element(t,n)}function visitRoot(t){return e.root(t)}function visitIfDi(e,t){try{return e.di&&visit(e,t)}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){M(e,function(e){is$2(e,`dmn:DecisionService`)?handleDecisionService(e):is$2(e,`dmn:Decision`)?handleDecision(e):visitIfDi(e)}),M(e,function(e){handleRequirements(e)})}function handleArtifacts(e){M(e,function(e){is$2(e,`dmn:Association`)?handleAssociation(e):visitIfDi(e)})}function handleAssociation(e){defer(function(){visitIfDi(e)})}function handleRequirements(e){M([`informationRequirement`,`knowledgeRequirement`,`authorityRequirement`],function(t){M(e[t],function(e){defer(function(){visitIfDi(e)})})})}function handleDecisionService(e){visitIfDi(e),M(e.get(`encapsulatedDecision`),function(t){mapRefToParent(t,e)}),M(e.get(`outputDecision`),function(t){mapRefToParent(t,e)})}function handleDecision(e){defer(function(){visitIfDi(e,r.get(e.id))})}function handleDiagram(e){M(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}):(lr.bind(t,`di`),t.di=e):logError(`no DMN element referenced in element`,{element:e})}function defer(e){n.push(e)}function handleDeferred(){M(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 ur=`$NO_OP`,dr=`a runtime error occured! Use Inferno in development environment to find the error.`,fr=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||=dr,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 pr=`$`;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=X.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=X.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+pr+n;if(fr(a))_normalizeVNodes(a,t,0,o);else{if(isStringOrNumber(a))a=createTextVNode(a,o);else{var s=a.key,c=isString(s)&&s[0]===pr;(!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(fr(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)||fr(o)){n||=t.slice(0,a),_normalizeVNodes(t,n,a,``);break}if(isStringOrNumber(o))n||=t.slice(0,a),n.push(createTextVNode(o,pr+a));else{var s=o.key,c=isNull$2(o.dom),l=isNull$2(s),u=!l&&isString(s)&&s[0]===pr;!c||l||u?(n||=t.slice(0,a),(!c||u)&&(o=directClone(o)),(l||u)&&(o.key=pr+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 X={afterRender:null,beforeRender:null,createVNode:null,renderComplete:null},mr=`http://www.w3.org/1999/xlink`,hr=`http://www.w3.org/XML/1998/namespace`,gr=`http://www.w3.org/2000/svg`,_r={"xlink:actuate":mr,"xlink:arcrole":mr,"xlink:href":mr,"xlink:role":mr,"xlink:show":mr,"xlink:title":mr,"xlink:type":mr,"xml:base":hr,"xml:lang":hr,"xml:space":hr},Z={},Q=[];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(gr,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 vr={},yr={};function handleEvent(e,t,n){var r=vr[e],i=n.$EV;t?(r||(yr[e]=attachEventToDocument(e),vr[e]=0),i||=n.$EV={},i[e]||vr[e]++,i[e]=t):i&&i[e]&&(vr[e]--,r===1&&(document.removeEventListener(normalizeEventName(e),yr[e]),yr[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||Z,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||Z,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 br=createWrappedFunction(`onInput`,applyValueInput),xr=createWrappedFunction([`onClick`,`onChange`],applyValueInput);function emptywrapper(e){e.stopPropagation()}emptywrapper.wrapped=!0;function inputEvents(e,t){isCheckedType(t.type)?(e.onchange=xr,e.onclick=emptywrapper):e.oninput=br}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||Z,r=e.dom;r.value=n.value,fr(t)&&t.indexOf(n.value)!==-1||n.value===t?r.selected=!0:isNullOrUndef(t)&&isNullOrUndef(n.selected)||(r.selected=n.selected||!1)}var Sr=createWrappedFunction(`onChange`,applyValueSelect);function selectEvents(e){e.onchange=Sr}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 Cr=createWrappedFunction(`onInput`,applyValueTextArea),wr=createWrappedFunction(`onChange`);function textAreaEvents(e,t){e.oninput=Cr,t.onChange&&(e.onchange=wr)}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||Z),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&&_r[e]?r.setAttributeNS(_r[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===Z&&(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(X.beforeRender)&&X.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(X.afterRender)&&X.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||Z,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)&&Q.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)&&Q.push(createOnMountCallback(t,n,e)))}function mountRef(e,t){Q.push(function(){return t(e)})}function hydrateComponent(e,t,n,r,i){var a=e.type,o=e.ref,s=e.props||Z;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,Z,!1),r=t.firstChild;r=r.nextSibling;)t.removeChild(r);Q.length>0&&callAll(Q),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||Z;if(f=l||Z,f!==Z)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!==Z)for(var ee in p)!f.hasOwnProperty(ee)&&!isNullOrUndef(p[ee])&&patchProp(ee,p[ee],null,s,i,d,e)}var _=e.children,v=t.children,y=t.ref,te=e.className,b=t.className;a&4096?patchContentEditableChildren(s,v):patchChildren(e.childFlags,t.childFlags,_,v,s,r,i&&o!==`foreignObject`),u&&processElement(a,t,s,f,!1,d),te!==b&&(isNullOrUndef(b)?s.removeAttribute(`class`):i?s.setAttribute(`class`,b):s.className=b),isFunction(y)&&e.ref!==y&&mountRef(s,y)}}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===Z){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(X.beforeRender)&&X.beforeRender(e),d=e.render(r,t,a),isFunction(X.afterRender)&&X.afterRender(e);var p=d!==ur,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||Z;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,ee=s-u+1,_=c-u+1,v=[];for(l=0;l<_;l++)v.push(0);var y=ee===a,te=!1,b=0,x=0;if(o<4||(ee|_)<32)for(l=h;l<=s;l++)if(d=e[l],x<_){for(u=g;u<=c;u++)if(f=t[u],d.key===f.key){if(v[u-g]=l+1,y)for(y=!1;l>h;)remove(e[h++],n);b>u?te=!0:b=u,f.dom&&(t[u]=f=directClone(f)),patch(d,f,n,r,i),x++;break}!y&&u>c&&remove(d,n)}else y||remove(d,n);else{var ne={};for(l=g;l<=c;l++)ne[t[l].key]=l;for(l=h;l<=s;l++)if(d=e[l],x<_){if(u=ne[d.key],u!==void 0){if(y)for(y=!1;l>h;)remove(e[h++],n);f=t[u],v[u-g]=l+1,b>u?te=!0:b=u,f.dom&&(t[u]=f=directClone(f)),patch(d,f,n,r,i),x++}else y||remove(d,n)}else y||remove(d,n)}if(y)removeAllChildren(n,e),mountArrayChildren(t,n,r,i);else if(te){var re=lis_algorithm(v);for(u=re.length-1,l=_-1;l>=0;l--)v[l]===0?(b=l+g,f=t[b],f.dom&&(t[b]=f=directClone(f)),p=b+1,insertOrAppend(n,mount(f,null,r,i),p<o?t[p].dom:null)):u<0||l!==re[u]?(b=l+g,f=t[b],p=b+1,insertOrAppend(n,f.dom,p<o?t[p].dom:null)):u--}else if(x!==_)for(l=_-1;l>=0;l--)v[l]===0&&(b=l+g,f=t[b],f.dom&&(t[b]=f=directClone(f)),p=b+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,Z,!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,Z,!1),r=t.$V=e),Q.length>0&&callAll(Q),isFunction(n)&&n(),isFunction(X.renderComplete)&&X.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 Tr=typeof Promise>`u`?null:Promise.resolve(),Er=typeof requestAnimationFrame>`u`?setTimeout:requestAnimationFrame.bind(window);function nextTick(e){return Tr?Tr.then(e):Er(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)&&Q.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);Q.length>0&&callAll(Q)}else e.state=e.$PS,e.$PS=null;isFunction(n)&&n.call(e)}}var $=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||Z,this.context=t||Z}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}();$.defaultProps=void 0;var Dr=`<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;">`+Dr+`</a>`,n=K(t);e.appendChild(n),I.bind(n,`click`,function(e){open(),e.preventDefault()})}var PoweredByComponent=class extends ${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 Or=css([`z-index: 1001`,`position: fixed`,`top: 0`,`left: 0`,`right: 0`,`bottom: 0`]),kr=css([`width: 100%`,`height: 100%`,`background: rgba(40,40,40,0.2)`]),Ar=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`]),jr=`<div class="bjs-powered-by-lightbox" style="`+Or+`"><div class="backdrop" style="`+kr+`"></div><div class="notice" style="`+Ar+`"><a href="https://bpmn.io" target="_blank" rel="noopener" style="margin: 15px 20px 15px 10px; align-self: center;">`+Dr+`</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>`,Mr;function open(){Mr||(Mr=K(jr),Mn.bind(Mr,`.backdrop`,`click`,function(e){document.body.removeChild(Mr)})),document.body.appendChild(Mr)}O();var Nr=new ye,Pr=`hsl(225, 10%, 15%)`,Fr=.95;function DrdRenderer(e,t,n,r,i,a){jn.call(this,t);var o=Nr.next(),s=r.computeStyle,c={},l=e&&e.defaultFillColor||`white`,u=e&&e.defaultStrokeColor||Pr,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=j({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=B(`marker`);R(t.element,n),L(o,t.element),R(o,{id:e,viewBox:`0 0 20 20`,refX:r.x,refY:r.y,markerWidth:20*i,markerHeight:20*i,orient:`auto`});var s=q(`defs`,a._svg);s||(s=B(`defs`),L(a._svg,s)),L(s,o),c[e]=o}function createMarker(e,t,n,r){if(t===`association-start`){var i=B(`path`);R(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=B(`path`);R(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=B(`path`);R(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=B(`path`);R(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=B(`circle`);R(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){se(i)&&(a=i,i=0),i||=0,a=s(a,{stroke:Pr,strokeWidth:2,fill:`white`});var o=B(`rect`);return R(o,{x:i,y:i,width:t-i*2,height:n-i*2,rx:r,ry:r}),R(o,a),L(e,o),o}function renderLabel(e,t,n){var r=i.createText(t||``,n);return On(r,`class`,`djs-label`),L(e,r),r}function renderEmbeddedLabel(e,t,n,r){var i=getName(t);return r=j({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:Pr});var r=B(`path`);return R(r,{d:t}),R(r,n),L(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:DecisionService":function(e,t){var n=drawRect(e,t.width,t.height,12,{stroke:getStrokeColor(t,u),strokeWidth:4,fill:getFillColor(t,l),fillOpacity:Fr}),r=t.height*getDecisionServiceDividerRatio(t.businessObject),i=B(`line`);R(i,{x1:0,y1:r,x2:t.width,y2:r,stroke:getStrokeColor(t,u),strokeWidth:2}),On(i,`class`,`dmn-decision-service-divider`),L(e,i);var a=B(`text`);R(a,{x:t.width/2,y:r-10,fill:getLabelColor(t,d,u),"font-family":`Arial, sans-serif`,"font-weight":`bold`,"font-size":`12px`,"text-anchor":`middle`,"dominant-baseline":`middle`}),a.textContent=`OUTPUT`,On(a,`class`,`djs-label dmn-decision-service-label`),On(a,`display`,`none`),L(e,a);var o=B(`text`);return R(o,{x:t.width/2,y:r+10,fill:getLabelColor(t,d,u),"font-family":`Arial, sans-serif`,"font-weight":`bold`,"font-size":`12px`,"text-anchor":`middle`,"dominant-baseline":`middle`}),o.textContent=`ENCAPSULATED`,On(o,`class`,`djs-label dmn-decision-service-label`),On(o,`display`,`none`),L(e,o),renderEmbeddedLabel(e,t,`center-top`,{padding:10}),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):jn.prototype.drawShape.apply(this,[e,t])}function drawConnection(e,t){var n=f[t.type];return n?n(e,t):jn.prototype.drawConnection.apply(this,[e,t])}function drawLine(e,t,n){n=s(n,[`no-fill`],{stroke:Pr,strokeWidth:2,fill:`none`});var r=An(t,n);return L(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}U(DrdRenderer,jn),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)}function getDecisionServiceDividerRatio(e){var t=e&&e.di,n=t&&t.decisionServiceDividerLine,r=t&&t.bounds;if(!n||!n.waypoint||n.waypoint.length!==2||!r||!r.height)return .5;var i=(n.waypoint[0].y-r.y)/r.height;return Math.max(0,Math.min(1,i))}O();var Ir=12,Lr=1.2,Rr=30;function TextRenderer(e){var t=j({fontFamily:`Arial, sans-serif`,fontSize:Ir,fontWeight:`normal`,lineHeight:Lr},e&&e.defaultStyle||{}),n=parseInt(t.fontSize,10)-1,r=j({},t,{fontSize:n},e&&e.externalStyle||{}),i=new Dn({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(Rr,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 zr=/\{([^{}]+)\}/g,Br=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;function replacer(e,t,n){var r=n;return t.replace(Br,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(zr,function(e,n){return replacer(e,n,t)})}var Vr={__init__:[`drdRenderer`],drdRenderer:[`type`,DrdRenderer],textRenderer:[`type`,TextRenderer],pathMap:[`type`,PathMap]};O();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,t){var n=this._elementFactory,r=this._canvas,i=this._eventBus,a=e.di,o=t&&this._getShape(t.id),s,c,l,u,d,f;if(a.$instanceOf(`dmndi:DMNShape`))f=a.bounds,d=elementData$1(e,{x:Math.round(f.x),y:Math.round(f.y),width:Math.round(f.width),height:Math.round(f.height)}),s=n.createShape(d),r.addShape(s,o),i.fire(`drdElement.added`,{element:s,di:a});else if(a.$instanceOf(`dmndi:DMNEdge`))c=collectWaypoints(a),l=this._getSource(e),u=this._getTarget(e),l&&u&&(d=elementData$1(e,{hidden:!1,source:l,target:u,waypoints:c}),s=n.createConnection(d),r.addConnection(s),i.fire(`drdElement.added`,{element:s,di:a}));else throw Error(`unknown di for element `+e.id);return s},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 j({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 j({original:t},t)})}var Hr={__depends__:[Vr,{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=K(this.HTML_MARKUP);n.appendChild(r),this.nameElement=q(`.dmn-definitions-name`,this._container),this.idElement=q(`.dmn-definitions-id`,this._container),Mn.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();V(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 Ur={__depends__:[z],__init__:[`definitionPropertiesView`,`definitionPropertiesPaletteAdapter`],definitionPropertiesView:[`type`,DefinitionPropertiesView],definitionPropertiesPaletteAdapter:[`type`,PaletteAdapter]},Wr=[{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<Wr.length;t++){let{matches:n,className:r,title:i}=Wr[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&&(V(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;Mn.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 Gr={__depends__:[Ln,z],__init__:[`drillDown`],drillDown:[`type`,DrillDown]},Kr=5,qr=`djs-outline-hidden`;function Viewer$4(e){this._container=this._createContainer(),addProjectLogo(this._container),this._init(this._container,e)}e(Viewer$4,`Viewer`),U(Viewer$4,Fn),Viewer$4.prototype.saveSVG=wrapForCompatibility(function(e){var t=this;return new Promise(function(e){var n=t.get(`canvas`),r=n.getActiveLayer(),i=q(`defs`,n._svg),a=Pn(r),o=i&&i.outerHTML||``,s=n.getContainer();V(s).add(qr);var c;try{c=r.getBBox()}finally{V(s).remove(qr)}var l=c.x-Kr,u=c.y-Kr,d=c.width+10,f=c.height+10;e({svg:`<?xml version="1.0" encoding="utf-8"?>
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-Dvvasoz-.js";import{x as p}from"./frontend-B05iyhCp.js";import{H as m,I as h,N as g,P as _,Rn as v,S as y,Un as b,Wn as ee,b as x,t as S,x as te}from"./bridgeInstance-BPwbITOf.js";import{C as ne,M as C,N as re,O as ie,P as w,_ as ae,a as T,b as oe,c as se,f as ce,g as E,h as D,k as O,m as k,o as le,r as A,s as j,t as M,u as N,w as ue,x as de,y as fe}from"./dist-CRJyslwo.js";import{C as pe,M as me,P as he,f as ge,g as _e}from"./moddle-CGpeSs3G.js";import{t as ve}from"./dist-BqwyxNP3.js";import{t as ye}from"./platform-zEAtGnYc.js";import{c as be,n as xe,o as Se,r as Ce,s as we,t as Te}from"./useTrace-BgpeAcQR.js";import{a as Ee,c as De,d as Oe,g as ke,h as Ae,i as je,l as Me,m as Ne,n as Pe,r as Fe,s as Ie,t as Le,u as Re,v as ze}from"./documentBridge-D5SaBThP.js";import{c as Be,d as Ve,g as He,k as Ue,l as We,o as Ge,y as Ke}from"./bpmnTheme-db4tYvop.js";import{f as qe,l as Je,p as Ye,s as P}from"./ui-TBzvKaKQ.js";import{i as Xe}from"./lib-C3uYnGWx.js";import{At as Ze,Bt as Qe,Ct as $e,Dn as et,Dt as tt,En as nt,Et as rt,F as it,Fn as at,G as ot,Gt as st,H as ct,Ht as lt,I as ut,In as dt,It as ft,Lt as pt,Mn as mt,Mt as F,Nn as ht,Nt as gt,O as _t,On as vt,Ot as yt,Pn as bt,Pt as xt,R as St,Sn as Ct,St as wt,Tn as Tt,Tt as Et,U as Dt,Ut as Ot,Vt as kt,W as At,Wt as jt,_n as Mt,_t as Nt,a as Pt,bn as Ft,bt as It,c as Lt,ct as Rt,d as zt,en as Bt,f as Vt,fn as Ht,ft as Ut,gn as Wt,gt as Gt,h as Kt,hn as qt,ht as I,i as Jt,jn as Yt,jt as Xt,kt as Zt,l as Qt,lt as $t,m as en,mn as tn,mt as nn,n as rn,nn as an,nt as on,o as sn,ot as cn,pn as ln,r as un,s as dn,st as fn,t as pn,tn as mn,u as hn,ut as gn,vn as _n,vt as vn,wt as yn,xn as bn,xt as xn,yn as Sn,z as Cn}from"./duplicate-ud-StKuO.js";import{$ as wn,$t as L,Bt as Tn,C as En,Ft as R,Jt as Dn,Kt as On,Lt as z,Mt as kn,Pt as An,Qt as jn,S as B,St as Mn,Ut as Nn,Vt as V,X as Pn,Yt as H,Zt as U,a as Fn,b as In,en as Ln,in as W,it as Rn,lt as G,nn as zn,nt as Bn,ot as K,r as Vn,rn as q,s as Hn,tn as J,tt as Un,ut as Wn,v as Y,wt as Gn,y as Kn,zt as qn}from"./Viewer-CZiVl0t6.js";import{t as Jn}from"./dist--PmHUHDp.js";import{I as Yn}from"./dist-CsBP6QjA.js";import{n as Xn}from"./dockLayout-CxOMo-Nl.js";import{Ct as Zn,E as Qn,b as $n,o as er,w as tr}from"./web-qJCedJJw.js";import{n as nr,r as rr,t as ir}from"./UnreadableFileLayer-D2Rcxnt7.js";var ar=1,GroupLabelsTranslator=class{static $inject=[`propertiesPanel`,`translate`];translate;constructor(e,t){this.translate=t,e.registerProvider(ar,this)}getGroups(){return e=>e.map(e=>e.label?{...e,label:this.translate(e.label)}:e)}},or={__init__:[`groupLabelsTranslator`],groupLabelsTranslator:[`type`,GroupLabelsTranslator]};k();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&&ae(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 `,``)}k();var sr={width:`100%`,height:`100%`,position:`relative`},Manager=class{constructor(e={}){this._eventBus=new Un,this._viewsChanged=A(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=J(e)),e.appendChild(this._container),this._emit(`attach`,{})}detach(){this._emit(`detach`,{}),zn(this._container)}destroy(){Object.keys(this._viewers).forEach(e=>{var t=this._viewers[e];safeExecute(t,`destroy`)}),zn(this._container)}_init(e){this._options=e,this._moddle=this._createModdle(e),this._viewers={},this._views=[];let t=q(`<div class="dmn-js-parent bio-theme-parent"></div>`),n=M({},sr,e);M(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=j(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=j(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||!T(i,function(e){return j(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=j(e,function(e){return viewsEqual(e,t)})||j(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=j(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 he(e.moddleExtensions)}_getViewProviders(){return[]}};function ensureUnit(e){return e+(fe(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 E(e)?E(t)?e.element===t.element||e.id===t.id:!1:!E(t)}function viewNameChanged(e,t){return!e||!t||e.name!==t.name}function safeExecute(e,t){ae(e[t])&&e[t]()}k();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 C(t,function(t){return is$2(e,t)})}e(isAny$1,`isAny`);function getDefinitions$1(e){let t=getBusinessObject$1(e);for(;t&&!is$2(t,`dmn:Definitions`);)t=t.$parent;return t}e(getDefinitions$1,`getDefinitions`);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 cr=`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===cr||/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 ve([32,36,1]),t}};function getIdFromHref(e){return e.split(`#`).pop()}function refersTo(e,t){return!!e.href&&getIdFromHref(e.href)===t}function replaceIdInHref(e,t){return e.slice(0,e.lastIndexOf(`#`)+1)+t}k();var lr=new Rn({name:`dmnElementRef`,enumerable:!0},{name:`di`,configurable:!0});function DRDTreeWalker(e,t){var n=[],r=new Map;function mapRefToParent(e,t){r.set(getIdFromHref(e.href),t)}function visit(t,n){if(t.gfx)throw Error(`already rendered `+t.id);return e.element(t,n)}function visitRoot(t){return e.root(t)}function visitIfDi(e,t){try{return e.di&&visit(e,t)}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){N(e,function(e){is$2(e,`dmn:DecisionService`)?handleDecisionService(e):is$2(e,`dmn:Decision`)?handleDecision(e):visitIfDi(e)}),N(e,function(e){handleRequirements(e)})}function handleArtifacts(e){N(e,function(e){is$2(e,`dmn:Association`)?handleAssociation(e):visitIfDi(e)})}function handleAssociation(e){defer(function(){visitIfDi(e)})}function handleRequirements(e){N([`informationRequirement`,`knowledgeRequirement`,`authorityRequirement`],function(t){N(e[t],function(e){defer(function(){visitIfDi(e)})})})}function handleDecisionService(e){visitIfDi(e),N(e.get(`encapsulatedDecision`),function(t){mapRefToParent(t,e)}),N(e.get(`outputDecision`),function(t){mapRefToParent(t,e)})}function handleDecision(e){defer(function(){visitIfDi(e,r.get(e.id))})}function handleDiagram(e){N(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}):(lr.bind(t,`di`),t.di=e):logError(`no DMN element referenced in element`,{element:e})}function defer(e){n.push(e)}function handleDeferred(){N(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 ur=`$NO_OP`,dr=`a runtime error occured! Use Inferno in development environment to find the error.`,fr=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||=dr,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 pr=`$`;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=X.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=X.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+pr+n;if(fr(a))_normalizeVNodes(a,t,0,o);else{if(isStringOrNumber(a))a=createTextVNode(a,o);else{var s=a.key,c=isString(s)&&s[0]===pr;(!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(fr(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)||fr(o)){n||=t.slice(0,a),_normalizeVNodes(t,n,a,``);break}if(isStringOrNumber(o))n||=t.slice(0,a),n.push(createTextVNode(o,pr+a));else{var s=o.key,c=isNull$2(o.dom),l=isNull$2(s),u=!l&&isString(s)&&s[0]===pr;!c||l||u?(n||=t.slice(0,a),(!c||u)&&(o=directClone(o)),(l||u)&&(o.key=pr+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 X={afterRender:null,beforeRender:null,createVNode:null,renderComplete:null},mr=`http://www.w3.org/1999/xlink`,hr=`http://www.w3.org/XML/1998/namespace`,gr=`http://www.w3.org/2000/svg`,_r={"xlink:actuate":mr,"xlink:arcrole":mr,"xlink:href":mr,"xlink:role":mr,"xlink:show":mr,"xlink:title":mr,"xlink:type":mr,"xml:base":hr,"xml:lang":hr,"xml:space":hr},Z={},Q=[];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(gr,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 vr={},yr={};function handleEvent(e,t,n){var r=vr[e],i=n.$EV;t?(r||(yr[e]=attachEventToDocument(e),vr[e]=0),i||=n.$EV={},i[e]||vr[e]++,i[e]=t):i&&i[e]&&(vr[e]--,r===1&&(document.removeEventListener(normalizeEventName(e),yr[e]),yr[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||Z,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||Z,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 br=createWrappedFunction(`onInput`,applyValueInput),xr=createWrappedFunction([`onClick`,`onChange`],applyValueInput);function emptywrapper(e){e.stopPropagation()}emptywrapper.wrapped=!0;function inputEvents(e,t){isCheckedType(t.type)?(e.onchange=xr,e.onclick=emptywrapper):e.oninput=br}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||Z,r=e.dom;r.value=n.value,fr(t)&&t.indexOf(n.value)!==-1||n.value===t?r.selected=!0:isNullOrUndef(t)&&isNullOrUndef(n.selected)||(r.selected=n.selected||!1)}var Sr=createWrappedFunction(`onChange`,applyValueSelect);function selectEvents(e){e.onchange=Sr}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 Cr=createWrappedFunction(`onInput`,applyValueTextArea),wr=createWrappedFunction(`onChange`);function textAreaEvents(e,t){e.oninput=Cr,t.onChange&&(e.onchange=wr)}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||Z),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&&_r[e]?r.setAttributeNS(_r[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===Z&&(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(X.beforeRender)&&X.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(X.afterRender)&&X.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||Z,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)&&Q.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)&&Q.push(createOnMountCallback(t,n,e)))}function mountRef(e,t){Q.push(function(){return t(e)})}function hydrateComponent(e,t,n,r,i){var a=e.type,o=e.ref,s=e.props||Z;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,Z,!1),r=t.firstChild;r=r.nextSibling;)t.removeChild(r);Q.length>0&&callAll(Q),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||Z;if(f=l||Z,f!==Z)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!==Z)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===Z){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(X.beforeRender)&&X.beforeRender(e),d=e.render(r,t,a),isFunction(X.afterRender)&&X.afterRender(e);var p=d!==ur,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||Z;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,S=0;if(o<4||(_|v)<32)for(l=h;l<=s;l++)if(d=e[l],S<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),S++;break}!b&&u>c&&remove(d,n)}else b||remove(d,n);else{var te={};for(l=g;l<=c;l++)te[t[l].key]=l;for(l=h;l<=s;l++)if(d=e[l],S<v){if(u=te[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),S++}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(S!==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,Z,!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,Z,!1),r=t.$V=e),Q.length>0&&callAll(Q),isFunction(n)&&n(),isFunction(X.renderComplete)&&X.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 Tr=typeof Promise>`u`?null:Promise.resolve(),Er=typeof requestAnimationFrame>`u`?setTimeout:requestAnimationFrame.bind(window);function nextTick(e){return Tr?Tr.then(e):Er(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)&&Q.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);Q.length>0&&callAll(Q)}else e.state=e.$PS,e.$PS=null;isFunction(n)&&n.call(e)}}var $=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||Z,this.context=t||Z}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}();$.defaultProps=void 0;var Dr=`<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;">`+Dr+`</a>`,n=q(t);e.appendChild(n),L.bind(n,`click`,function(e){open(),e.preventDefault()})}var PoweredByComponent=class extends ${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 Or=css([`z-index: 1001`,`position: fixed`,`top: 0`,`left: 0`,`right: 0`,`bottom: 0`]),kr=css([`width: 100%`,`height: 100%`,`background: rgba(40,40,40,0.2)`]),Ar=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`]),jr=`<div class="bjs-powered-by-lightbox" style="`+Or+`"><div class="backdrop" style="`+kr+`"></div><div class="notice" style="`+Ar+`"><a href="https://bpmn.io" target="_blank" rel="noopener" style="margin: 15px 20px 15px 10px; align-self: center;">`+Dr+`</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>`,Mr;function open(){Mr||(Mr=q(jr),jn.bind(Mr,`.backdrop`,`click`,function(e){document.body.removeChild(Mr)})),document.body.appendChild(Mr)}k();var Nr=new ve,Pr=`hsl(225, 10%, 15%)`,Fr=.95;function DrdRenderer(e,t,n,r,i,a){An.call(this,t);var o=Nr.next(),s=r.computeStyle,c={},l=e&&e.defaultFillColor||`white`,u=e&&e.defaultStrokeColor||Pr,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=M({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=V(`marker`);z(t.element,n),R(o,t.element),z(o,{id:e,viewBox:`0 0 20 20`,refX:r.x,refY:r.y,markerWidth:20*i,markerHeight:20*i,orient:`auto`});var s=J(`defs`,a._svg);s||(s=V(`defs`),R(a._svg,s)),R(s,o),c[e]=o}function createMarker(e,t,n,r){if(t===`association-start`){var i=V(`path`);z(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=V(`path`);z(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=V(`path`);z(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=V(`path`);z(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=V(`circle`);z(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:Pr,strokeWidth:2,fill:`white`});var o=V(`rect`);return z(o,{x:i,y:i,width:t-i*2,height:n-i*2,rx:r,ry:r}),z(o,a),R(e,o),o}function renderLabel(e,t,n){var r=i.createText(t||``,n);return Dn(r,`class`,`djs-label`),R(e,r),r}function renderEmbeddedLabel(e,t,n,r){var i=getName(t);return r=M({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:Pr});var r=V(`path`);return z(r,{d:t}),z(r,n),R(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:DecisionService":function(e,t){var n=drawRect(e,t.width,t.height,12,{stroke:getStrokeColor(t,u),strokeWidth:4,fill:getFillColor(t,l),fillOpacity:Fr}),r=t.height*getDecisionServiceDividerRatio(t.businessObject),i=V(`line`);z(i,{x1:0,y1:r,x2:t.width,y2:r,stroke:getStrokeColor(t,u),strokeWidth:2}),Dn(i,`class`,`dmn-decision-service-divider`),R(e,i);var a=V(`text`);z(a,{x:t.width/2,y:r-10,fill:getLabelColor(t,d,u),"font-family":`Arial, sans-serif`,"font-weight":`bold`,"font-size":`12px`,"text-anchor":`middle`,"dominant-baseline":`middle`}),a.textContent=`OUTPUT`,Dn(a,`class`,`djs-label dmn-decision-service-label`),Dn(a,`display`,`none`),R(e,a);var o=V(`text`);return z(o,{x:t.width/2,y:r+10,fill:getLabelColor(t,d,u),"font-family":`Arial, sans-serif`,"font-weight":`bold`,"font-size":`12px`,"text-anchor":`middle`,"dominant-baseline":`middle`}),o.textContent=`ENCAPSULATED`,Dn(o,`class`,`djs-label dmn-decision-service-label`),Dn(o,`display`,`none`),R(e,o),renderEmbeddedLabel(e,t,`center-top`,{padding:10}),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):An.prototype.drawShape.apply(this,[e,t])}function drawConnection(e,t){var n=f[t.type];return n?n(e,t):An.prototype.drawConnection.apply(this,[e,t])}function drawLine(e,t,n){n=s(n,[`no-fill`],{stroke:Pr,strokeWidth:2,fill:`none`});var r=kn(t,n);return R(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}W(DrdRenderer,An),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)}function getDecisionServiceDividerRatio(e){var t=e&&e.di,n=t&&t.decisionServiceDividerLine,r=t&&t.bounds;if(!n||!n.waypoint||n.waypoint.length!==2||!r||!r.height)return .5;var i=(n.waypoint[0].y-r.y)/r.height;return Math.max(0,Math.min(1,i))}k();var Ir=12,Lr=1.2,Rr=30;function TextRenderer(e){var t=M({fontFamily:`Arial, sans-serif`,fontSize:Ir,fontWeight:`normal`,lineHeight:Lr},e&&e.defaultStyle||{}),n=parseInt(t.fontSize,10)-1,r=M({},t,{fontSize:n},e&&e.externalStyle||{}),i=new En({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(Rr,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 zr=/\{([^{}]+)\}/g,Br=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;function replacer(e,t,n){var r=n;return t.replace(Br,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(zr,function(e,n){return replacer(e,n,t)})}var Vr={__init__:[`drdRenderer`],drdRenderer:[`type`,DrdRenderer],textRenderer:[`type`,TextRenderer],pathMap:[`type`,PathMap]};k();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,t){var n=this._elementFactory,r=this._canvas,i=this._eventBus,a=e.di,o=t&&this._getShape(t.id),s,c,l,u,d,f;if(a.$instanceOf(`dmndi:DMNShape`))f=a.bounds,d=elementData$1(e,{x:Math.round(f.x),y:Math.round(f.y),width:Math.round(f.width),height:Math.round(f.height)}),s=n.createShape(d),r.addShape(s,o),i.fire(`drdElement.added`,{element:s,di:a});else if(a.$instanceOf(`dmndi:DMNEdge`))c=collectWaypoints(a),l=this._getSource(e),u=this._getTarget(e),l&&u&&(d=elementData$1(e,{hidden:!1,source:l,target:u,waypoints:c}),s=n.createConnection(d),r.addConnection(s),i.fire(`drdElement.added`,{element:s,di:a}));else throw Error(`unknown di for element `+e.id);return s},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 M({id:e.id,type:e.$type,businessObject:e},t)}e(elementData$1,`elementData`);function collectWaypoints(e){var t=e.waypoint;if(t)return ue(t,function(e){var t={x:e.x,y:e.y};return M({original:t},t)})}var Hr={__depends__:[Vr,{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=q(this.HTML_MARKUP);n.appendChild(r),this.nameElement=J(`.dmn-definitions-name`,this._container),this.idElement=J(`.dmn-definitions-id`,this._container),jn.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();H(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 Ur={__depends__:[B],__init__:[`definitionPropertiesView`,`definitionPropertiesPaletteAdapter`],definitionPropertiesView:[`type`,DefinitionPropertiesView],definitionPropertiesPaletteAdapter:[`type`,PaletteAdapter]},Wr=[{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<Wr.length;t++){let{matches:n,className:r,title:i}=Wr[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&&(H(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;jn.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 Gr={__depends__:[In,B],__init__:[`drillDown`],drillDown:[`type`,DrillDown]},Kr=5,qr=`djs-outline-hidden`;function Viewer$4(e){this._container=this._createContainer(),addProjectLogo(this._container),this._init(this._container,e)}e(Viewer$4,`Viewer`),W(Viewer$4,Pn),Viewer$4.prototype.saveSVG=wrapForCompatibility(function(e){var t=this;return new Promise(function(e){var n=t.get(`canvas`),r=n.getActiveLayer(),i=J(`defs`,n._svg),a=Nn(r),o=i&&i.outerHTML||``,s=n.getContainer();H(s).add(qr);var c;try{c=r.getBBox()}finally{H(s).remove(qr)}var l=c.x-Kr,u=c.y-Kr,d=c.width+10,f=c.height+10;e({svg:`<?xml version="1.0" encoding="utf-8"?>
2
2
  <!-- created with dmn-js / http://bpmn.io -->
3
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(){Fn.prototype.destroy.call(this),Bn(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=[{viewer:[`value`,this]},...a,...n||[]],s={...i,canvas:{...r,container:e},modules:o};Fn.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 K(`<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.getDefinitions=function(){return this._definitions},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=[Hr,z,Hn,Ln,Ur,Gr];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`)||is$2(e,`dmn:DecisionService`))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}O();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=ue(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=ue(n,function(e){return hasMatched(e.primaryTokens)||hasMatched(e.secondaryTokens)}),n=ie(n,function(e){return getLabel$1(e.element)+e.element.id}),n};function hasMatched(e){return ue(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 Jr={__depends__:[Pt],__init__:[`dmnSearch`],dmnSearch:[`type`,DmnSearchProvider]};function NavigatedViewer(e){Viewer$4.call(this,e)}U(NavigatedViewer,Viewer$4),NavigatedViewer.prototype._navigationModules=[tt,yt,Jr],NavigatedViewer.prototype._modules=[].concat(NavigatedViewer.prototype._modules,NavigatedViewer.prototype._navigationModules),O();var Yr={width:135,height:46},Xr={width:180,height:80},Zr={width:320,height:320},Qr={width:125,height:45},$r={width:100,height:63};function ElementFactory$2(e){Vn.call(this),this._drdFactory=e}e(ElementFactory$2,`ElementFactory`),U(ElementFactory$2,Vn),ElementFactory$2.$inject=[`drdFactory`],ElementFactory$2.prototype.baseCreate=Vn.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)}if(!i.di){if(e===`connection`)i.di=n.createDiEdge(i,[]);else if(e===`shape`&&(i.di=n.createDiShape(i,{}),is$2(i,`dmn:DecisionService`))){r=this._getDefaultSize(i);var a=(t.y||0)+r.height/2,o=[{x:t.x||0,y:a},{x:(t.x||0)+r.width,y:a}],s=n.createDiDividerLine(o);if(s.$parent=i.di,i.di.decisionServiceDividerLine=s,i.name||(i.name=`New Decision Service`),!i.variable){var c=n.create(`dmn:InformationItem`,{name:i.name});i.variable=c,c.$parent=i}}}return r=this._getDefaultSize(i),t=j({businessObject:i,id:i.id},r,t),this.baseCreate(e,t)},ElementFactory$2.prototype._getDefaultSize=function(e){return is$2(e,`dmn:BusinessKnowledgeModel`)?Yr:is$2(e,`dmn:Decision`)?Xr:is$2(e,`dmn:DecisionService`)?Zr:is$2(e,`dmn:InputData`)?Qr:is$2(e,`dmn:KnowledgeSource`)?$r:{width:100,height:80}};var ei=`left`,ti=`right`,ni=60,ri=Xr.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=G(e),r={x:n.right+t.width/2,y:n.top-50-t.height/2};return vn(e,t,r,Cn({y:{margin:-30,minDistance:20}}))}function getDRGElementPosition(e,t){var n=G(e),r=W(e);function getWeight(t){return t.target===e?1:-1}var i=It(e,{defaultDistance:180,direction:`s`,getWeight,filter,reference:`center`}),a={x:r.x,y:n.bottom+i};return vn(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=W(e),n,r;return function(e,i,a){var o;return n?(i.x<t.x?n=a:r=a,o=getHorizontalDistance(t,W(n))<getHorizontalDistance(t,W(r))?ei:ti):(n=a,r=a,o=W(a).x-t.x>0?ei:ti),o===ei?{x:Math.min(W(n).x-ri-ni,G(n).left-ni-e.width/2),y:i.y}:{x:Math.max(W(r).x+ri+ni,G(r).right+ni+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 ii={__depends__:[Nt],__init__:[`dmnAutoPlace`],dmnAutoPlace:[`type`,AutoPlace]},ai={__init__:[`autoResize`],autoResize:[`type`,Gt]};O();function DrdRules(e){e.invoke(xn,this)}U(DrdRules,xn),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 isAny$1(t,[`dmn:TextAnnotation`,`dmn:DecisionService`])})},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:DecisionService`)&&isAny$1(t,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`])?{type:`dmn:KnowledgeRequirement`}: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:DecisionService`,`dmn:InputData`,`dmn:KnowledgeSource`,`dmn:TextAnnotation`])&&is$2(t,`dmn:Definitions`)||is$2(e,`dmn:Decision`)&&is$2(t,`dmn:DecisionService`))}function canMove(e,t){return E(e)||(e=[e]),!t||w(e,function(e){return isAny$1(e,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:DecisionService`,`dmn:InputData`,`dmn:KnowledgeSource`,`dmn:TextAnnotation`,`dmn:InformationRequirement`,`dmn:AuthorityRequirement`,`dmn:KnowledgeRequirement`,`dmn:Association`])})&&is$2(t,`dmn:Definitions`)?!0:is$2(t,`dmn:DecisionService`)?w(e,function(e){return is$2(e,`dmn:Decision`)}):!1}function isLabel(e){return!!e.labelTarget}var oi={__depends__:[Ut],__init__:[`drdRules`],drdRules:[`type`,DrdRules]};function DrdAutoResizeProvider(e){Jt.call(this,e)}DrdAutoResizeProvider.$inject=[`eventBus`],U(DrdAutoResizeProvider,Jt),DrdAutoResizeProvider.prototype.canResize=function(e,t){return is$2(t,`dmn:DecisionService`)?e.every(function(e){return is$2(e,`dmn:Decision`)&&!e.labelTarget}):!1};function DrdAutoResize(e){e.invoke(Gt,this)}DrdAutoResize.$inject=[`injector`],U(DrdAutoResize,Gt),DrdAutoResize.prototype.getPadding=function(e){return is$2(e,`dmn:DecisionService`)?{top:20,right:20,bottom:20,left:20}:Gt.prototype.getPadding.call(this,e)};var si={__depends__:[ai,oi],__init__:[`drdAutoResizeProvider`],autoResize:[`type`,DrdAutoResize],drdAutoResizeProvider:[`type`,DrdAutoResizeProvider]};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 ci={__depends__:[$e,Hn],drdReplace:[`type`,DrdReplace]},li={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}}]};O();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=ue(li.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=ue(li.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 M(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 ui={__depends__:[z,wt,ci],__init__:[`replaceMenuProvider`],replaceMenuProvider:[`type`,ReplaceMenuProvider]};O();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(In(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 getAppendHints(e){return is$2(e,`dmn:DecisionService`)?{}:{connectionTarget:e}}function appendAction(e,t,r,a){function appendStart(t,r){var o=n.createShape(j({type:e},a));i.start(t,o,{source:r,hints:getAppendHints(r)})}return{group:`model`,className:t,title:r,action:{dragstart:appendStart,click:l?function(t,r){var i=n.createShape(j({type:e},a));l.append(r,i,getAppendHints(r))}:appendStart}}}isAny$1(d,[`dmn:Decision`,`dmn:DecisionService`])&&j(u,{"append.decision":appendAction(`dmn:Decision`,`dmn-icon-decision`,c(`Append decision`))}),isAny$1(d,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:KnowledgeSource`])&&j(u,{"append.knowledge-source":appendAction(`dmn:KnowledgeSource`,`dmn-icon-knowledge-source`,c(`Append knowledge source`))}),isAny$1(d,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:DecisionService`])&&j(u,{"append.business-knowledge-model":appendAction(`dmn:BusinessKnowledgeModel`,`dmn-icon-business-knowledge`,c(`Append business knowledge model`))}),isAny$1(d,[`dmn:Decision`,`dmn:KnowledgeSource`])&&j(u,{"append.input-data":appendAction(`dmn:InputData`,`dmn-icon-input-data`,c(`Append input data`))}),is$2(d,`dmn:DRGElement`)&&j(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`)&&j(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`)||j(u,{replace:{group:`edit`,className:`dmn-icon-screw-wrench`,title:c(`Change type`),action:{click:function(e,t){var n=j(getReplaceMenuPosition(t),{cursor:{x:e.x,y:e.y}});a.open(t,`dmn-replace`,n)}}}});var f=s.allowed(`elements.delete`,{elements:[e]});return E(f)&&(f=f[0]===e),f&&j(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)&&j(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 E(t)?w(e,e=>t.includes(e)):t};var di={__depends__:[z,Et,Hn,hn,kt,ui],__init__:[`contextPadProvider`],contextPadProvider:[`type`,ContextPadProvider]},fi=/\s/,pi=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,mi=/^[a-z_][\w-.]*$/i,hi=/\$\{([^}]*)\}/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(!mi.test(e))return pi.test(e)?`Id must not contain prefix.`:`Id must be a valid QName.`}function containsSpace$1(e){return fi.test(e)}e(containsSpace$1,`containsSpace`);function stripPlaceholders(e){return e.replace(hi,`$1`)}O();var gi=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=q(`.dmn-definitions-name`,this._container),n=q(`.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`,k(function(e){var r=e.target.value||e.target.textContent;n.update(t,r.trim())},gi)),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=q(`.dmn-definitions-id`,this._container);this._clearErrorMessage(),V(n).add(`dmn-definitions-error`),n.parentElement.appendChild(K(t))},DefinitionIdEdit.prototype._clearErrorMessage=function(){var e=q(`.dmn-definitions-id`,this._container);if(V(e).has(`dmn-definitions-error`)){V(e).remove(`dmn-definitions-error`);let t=q(`.dmn-definitions-error-message`,this._container);e.parentNode.removeChild(t)}};var _i={__depends__:[Ur],__init__:[`definitionPropertiesEdit`,`definitionPropertiesPaletteAdapter`],definitionPropertiesEdit:[`type`,DefinitionIdEdit],definitionPropertiesPaletteAdapter:[`type`,PaletteAdapter]};O();function DrdDistributeElements(e){e.registerFilter(function(e){return ue(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 vi={__depends__:[Qe],__init__:[`drdDistributeElements`],drdDistributeElements:[`type`,DrdDistributeElements]};function DrdEditorActions(e){e.invoke(Qt,this)}U(DrdEditorActions,Qt),DrdEditorActions.$inject=[`injector`],DrdEditorActions.prototype._registerDefaultActions=function(e){Qt.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 yi={__depends__:[bt],editorActions:[`type`,DrdEditorActions]};function containsDi(e){return e.dmnDI&&e.dmnDI.diagrams&&e.dmnDI.diagrams[0]}var bi=Xr.height+40,xi=14,Si=8,Ci=`djs-divider-dragging`;function DecisionServiceDivider(e,t,n,r,i,a,o){var s=this;this._canvas=e,this._dragging=t,this._handle=null,r.on(`selection.changed`,function(e){var t=e.newSelection;s._removeHandle(),t.length===1&&s._addHandle(t[0])}),r.on(`shape.changed`,function(e){var t=e.element;o.isSelected(t)&&(s._removeHandle(),s._addHandle(t))}),r.on(`decisionService.divider.start`,function(t){var n=t.context.shape,r=e.getGraphics(n).querySelector(`.dmn-decision-service-divider`);if(e.addMarker(n,Ci),r&&s._handle){var i=En(r);R(i,{y1:0,y2:0}),L(s._handle,i)}}),r.on(`decisionService.divider.move`,function(e){var t=e.context,n=t.shape,r=getDividerRange(n,t.dividerYAtStart),a=e.y;i.isActive()&&!(e.originalEvent&&xt(e.originalEvent))&&(a=i.snapValue(a,{min:r.min,max:r.max})),t.dividerY=Math.max(r.min,Math.min(r.max,a)),s._handle&&Tn(s._handle,n.x,t.dividerY)}),r.on(`decisionService.divider.end`,function(e){var t=e.context,r=t.shape,i=t.dividerY;i!==t.dividerYAtStart&&a.updateModdleProperties(r,r.businessObject.di.decisionServiceDividerLine,{waypoint:n.createDiWaypoints([{x:r.x,y:i},{x:r.x+r.width,y:i}])})}),r.on(`decisionService.divider.cleanup`,function(t){var n=t.context.shape;e.removeMarker(n,Ci),s._removeHandle(),o.isSelected(n)&&s._addHandle(n)})}DecisionServiceDivider.$inject=[`canvas`,`dragging`,`drdFactory`,`eventBus`,`gridSnapping`,`modeling`,`selection`],DecisionServiceDivider.prototype.activate=function(e,t){var n=getDividerY(t);this._dragging.init(e,{x:t.x,y:n},`decisionService.divider`,{autoActivate:!0,cursor:`resize-ns`,keepSelection:!0,data:{context:{shape:t,dividerY:n,dividerYAtStart:n}}})},DecisionServiceDivider.prototype._addHandle=function(e){var t=this;if(!is$2(e,`dmn:DecisionService`)||!e.businessObject.di.decisionServiceDividerLine||e.height<2*bi)return;var n=B(`g`,{class:`djs-divider-handle`});L(n,B(`rect`,{class:`djs-divider-handle-hit`,x:Si,y:-xi/2,width:Math.max(0,e.width-2*Si),height:xi})),Tn(n,e.x,getDividerY(e)),L(this._getLayer(),n),this._handle=n;function startDrag(n){Un(n)&&t.activate(n,e)}n.addEventListener(`mousedown`,startDrag),n.addEventListener(`touchstart`,startDrag,{passive:!0})},DecisionServiceDivider.prototype._removeHandle=function(){qn(this._getLayer()),this._handle=null},DecisionServiceDivider.prototype._getLayer=function(){return this._canvas.getLayer(`dividers`)};function getDividerY(e){return e.y+e.height*getDecisionServiceDividerRatio(e.businessObject)}function getDividerRange(e,t){var n=e.y+bi,r=e.y+e.height-bi;return(e.children||[]).forEach(function(e){is$2(e,`dmn:Decision`)&&!e.labelTarget&&(e.y+e.height/2<t?n=Math.max(n,e.y+e.height):r=Math.min(r,e.y))}),{min:Math.min(n,t),max:Math.max(r,t)}}O();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=n.get(`drgElement`),s=new Set,c=new Set;M(o,function(e){is$2(e,`dmn:DecisionService`)&&M([`outputDecision`,`encapsulatedDecision`],function(t){M(e.get(t),function(e){s.add(getIdFromHref(e.href))})})});function createShapeDi(t,n){var i=e.createDiShape(t,n);return r.updateDiParent(i,a),i}function getMembers(e,t){var n=[];return M(e.get(t),function(e){var t=getIdFromHref(e.href),r=A(o,function(e){return e.id===t&&is$2(e,`dmn:Decision`)});r&&!c.has(t)&&(c.add(t),n.push(r))}),n}function getSectionHeight(e){return Math.max(bi,20+e*(Xr.height+20))}function createDecisionsDi(e,t,n,r){M(e,function(e,i){createShapeDi(e,{x:t+(r-Xr.width)/2,y:n+20+i*(Xr.height+20),width:Xr.width,height:Xr.height})})}function createDecisionServiceDi(n,r,i){var a=getMembers(n,`outputDecision`),o=getMembers(n,`encapsulatedDecision`),s=getSectionHeight(a.length),c=Math.max(t._getDefaultSize(n).width,Xr.width+40),l=i+s,u=createShapeDi(n,{x:r,y:i,width:c,height:s+getSectionHeight(o.length)}),d=e.createDiDividerLine([{x:r,y:l},{x:r+c,y:l}]);d.$parent=u,u.decisionServiceDividerLine=d,createDecisionsDi(a,r,i,c),createDecisionsDi(o,r,l,c)}var l=0;M(o,function(e){if((is$2(e,`dmn:Decision`)||is$2(e,`dmn:DecisionService`))&&!s.has(e.id)){var n=150+l*30,r=150+l*30;if(is$2(e,`dmn:DecisionService`))createDecisionServiceDi(e,n,r);else{var i=t._getDefaultSize(e);createShapeDi(e,{x:n,y:r,width:i.width,height:i.height})}l++}})}n.on(`import.start`,({definitions:e})=>{containsDi(e)||createDi(e)})}DiGenerator.$inject=[`drdFactory`,`elementFactory`,`eventBus`,`drdUpdater`];var wi={__init__:[`diGenerator`],diGenerator:[`type`,DiGenerator]};function DrdKeyboardBindings(e){e.invoke(gt,this)}U(DrdKeyboardBindings,gt),DrdKeyboardBindings.$inject=[`injector`],DrdKeyboardBindings.prototype.registerBindings=function(e,t){gt.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 Ti={__depends__:[ht],__init__:[`keyboardBindings`],keyboardBindings:[`type`,DrdKeyboardBindings]};O();var Ei=`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,Ei)}})}LabelEditingProvider.$inject=[`canvas`,`directEditing`,`eventBus`,`modeling`,`textRenderer`],LabelEditingProvider.prototype.activate=function(e){var t=getLabel$1(e);if(T(t)){var n={text:t},r=this.getEditingBBox(e);j(n,r);var i={},a=n.style||{};return is$2(e,`dmn:DRGElement`)&&(is$2(e,`dmn:DecisionService`)||j(i,{centerVertically:!0}),j(a,{backgroundColor:null,border:null})),is$2(e,`dmn:TextAnnotation`)&&j(i,{resizable:!0}),j(n,{options:i,style:a}),this._canvas.addMarker(e,Ei),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`)&&(j(i,{width:r.width,height:r.height}),j(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`)&&(j(i,{width:r.width,height:r.height,minWidth:30*a,minHeight:10*a}),j(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 Di={__depends__:[pt,Kn,Zt],__init__:[`labelEditingProvider`],labelEditingProvider:[`type`,LabelEditingProvider]};function getRequirementType(e){if(is$2(e,`dmn:BusinessKnowledgeModel`)||is$2(e,`dmn:DecisionService`))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(Y,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`],U(CreateConnectionBehavior,Y);function DecisionServiceBehavior(e,t,n){t.invoke(Y,this),this._drdFactory=e,this._injector=t,this._canvas=n,this._elementRegistry=null;var r=this;this.executed(`element.updateProperties`,function(e){var t=e.context;r._updateReferencesAfterIdChange(t.element,t.oldProperties,t.properties)}),this.reverted(`element.updateProperties`,function(e){var t=e.context;r._updateReferencesAfterIdChange(t.element,t.properties,t.oldProperties)})}DecisionServiceBehavior.$inject=[`drdFactory`,`injector`,`canvas`],U(DecisionServiceBehavior,Y),DecisionServiceBehavior.prototype._getElementRegistry=function(){return this._elementRegistry||=this._injector.get(`elementRegistry`),this._elementRegistry},DecisionServiceBehavior.prototype._updateReferencesAfterIdChange=function(e,t,n){if(`id`in t&&`id`in n&&t.id!==n.id){var r=getBusinessObject$1(e);(is$2(r,`dmn:Decision`)||is$2(r,`dmn:InputData`))&&(this._canvas.getRootElement().businessObject.get(`drgElement`)||[]).forEach(function(e){is$2(e,`dmn:DecisionService`)&&[`outputDecision`,`encapsulatedDecision`,`inputDecision`,`inputData`].forEach(function(r){(e.get(r)||[]).forEach(function(e){refersTo(e,t.id)&&(e.href=replaceIdInHref(e.href,n.id))})})})}},DecisionServiceBehavior.prototype._getDrgElementsById=function(){var e=this._canvas.getRootElement().businessObject,t=new Map;return(e.get(`drgElement`)||[]).forEach(function(e){t.set(e.id,e)}),t},DecisionServiceBehavior.prototype._getDividerPosition=function(e){var t=getDecisionServiceDividerRatio(e.businessObject);return e.y+e.height*t},DecisionServiceBehavior.prototype.isOutputDecision=function(e,t){var n=this._getElementRegistry().get(t.id);if(!n)return!1;var r=this._getDividerPosition(n);return e.y+e.height/2<r},DecisionServiceBehavior.prototype.addDecisionToService=function(e,t,n){var r;n&&(r=n.get(`drgElement`),r||=(n.drgElement=[],n.drgElement),r.indexOf(e)===-1&&Nn(r,e),e.$parent=n);var i=this._getElementRegistry().get(e.id);this.isOutputDecision(i,t)?(r=t.get(`outputDecision`),r||=(t.outputDecision=[],t.outputDecision)):(r=t.get(`encapsulatedDecision`),r||=(t.encapsulatedDecision=[],t.encapsulatedDecision));var a=this._drdFactory.create(`dmn:DMNElementReference`,{href:`#`+e.id});a.$parent=t,r.find(function(t){return refersTo(t,e.id)})||Nn(r,a),this.updateInputsFromOutputDecisions(t)},DecisionServiceBehavior.prototype.removeDecisionFromServices=function(e,t){var n=this,r=t.get(`drgElement`);r&&r.forEach(function(t){is$2(t,`dmn:DecisionService`)&&n.removeDecisionFromService(e,t)});var i=t.get(`drgElement`);i&&i.indexOf(e)===-1&&Nn(i,e),e.$parent=t},DecisionServiceBehavior.prototype.removeDecisionFromService=function(e,t){var n=t.get(`encapsulatedDecision`),r;n&&(r=n.find(function(t){return refersTo(t,e.id)}),r&&Gn(n,r)),n=t.get(`outputDecision`),n&&(r=n.find(function(t){return refersTo(t,e.id)}),r&&Gn(n,r)),this.updateInputsFromOutputDecisions(t)},DecisionServiceBehavior.prototype.updateDecisionSection=function(e,t){var n=e.businessObject,r=this.isOutputDecision(e,t)?`outputDecision`:`encapsulatedDecision`;if(!(t.get(r)||[]).some(function(e){return refersTo(e,n.id)})){var i=this._canvas.getRootElement().businessObject;this.removeElementFromAllServices(n.id,i);var a=this._drdFactory.create(`dmn:DMNElementReference`,{href:`#`+n.id});a.$parent=t,t[r]||(t[r]=[]),Nn(t[r],a),this.updateInputsFromOutputDecisions(t)}},DecisionServiceBehavior.prototype.updateInputsFromOutputDecisions=function(e){var t=this._getDrgElementsById(),n=e.get(`outputDecision`)||[],r=e.get(`encapsulatedDecision`)||[],i=new Set;n.forEach(function(e){i.add(getIdFromHref(e.href))}),r.forEach(function(e){i.add(getIdFromHref(e.href))});var a=new Set,o=new Set,traverseDecision=function(e,n){if(!n.has(e)){n.add(e);var r=t.get(e);r&&(r.get(`informationRequirement`)||[]).forEach(function(e){if(e.requiredDecision){var t=getIdFromHref(e.requiredDecision.href);i.has(t)?traverseDecision(t,n):a.add(t)}if(e.requiredInput){var r=getIdFromHref(e.requiredInput.href);o.add(r)}})}},s=new Set;n.forEach(function(e){traverseDecision(getIdFromHref(e.href),s)}),this._updateReferenceCollection(e,`inputDecision`,a,t),this._updateReferenceCollection(e,`inputData`,o,t)},DecisionServiceBehavior.prototype._updateReferenceCollection=function(e,t,n,r){var i=this,a=e.get(t)||[],o=new Set;a.forEach(function(e){o.add(getIdFromHref(e.href))}),n.forEach(function(n){if(!o.has(n)&&r.has(n)){e[t]||(e[t]=[]);var a=i._drdFactory.create(`dmn:DMNElementReference`,{href:`#`+n});a.$parent=e,Nn(e[t],a)}});var s=[];a.forEach(function(e){var t=getIdFromHref(e.href);n.has(t)||s.push(e)}),s.forEach(function(n){Gn(e[t],n)})},DecisionServiceBehavior.prototype.updateServicesContainingDecision=function(e,t){if(e&&is$2(e.businessObject,`dmn:Decision`)&&t&&is$2(t,`dmn:Definitions`)){var n=t.get(`drgElement`)||[],r=e.businessObject.id,i=this;n.forEach(function(e){if(is$2(e,`dmn:DecisionService`)){var t=e.get(`outputDecision`)||[],n=e.get(`encapsulatedDecision`)||[];(t.some(function(e){return refersTo(e,r)})||n.some(function(e){return refersTo(e,r)}))&&i.updateInputsFromOutputDecisions(e)}})}},DecisionServiceBehavior.prototype.removeElementFromAllServices=function(e,t){if(e&&t&&is$2(t,`dmn:Definitions`)){var n=t.get(`drgElement`)||[],r=this;n.forEach(function(t){if(is$2(t,`dmn:DecisionService`)){var n=!1,removeFromCollection=function(r){var i=(t.get(r)||[]).filter(function(t){return refersTo(t,e)});i.length>0&&(i.forEach(function(e){Gn(t[r],e)}),n=!0)};removeFromCollection(`outputDecision`),removeFromCollection(`encapsulatedDecision`),removeFromCollection(`inputDecision`),removeFromCollection(`inputData`),n&&r.updateInputsFromOutputDecisions(t)}})}},DecisionServiceBehavior.prototype.updateAllServices=function(e){if(e&&is$2(e,`dmn:Definitions`)){var t=e.get(`drgElement`)||[],n=this;t.forEach(function(e){is$2(e,`dmn:DecisionService`)&&n.updateInputsFromOutputDecisions(e)})}};function CreateShapeBehavior(e,t){t.invoke(Y,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`],U(CreateShapeBehavior,Y),O();var Oi=500;function LayoutConnectionBehavior(e,t,n,r){e.invoke(Y,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=J(n,i);e.hints||={},j(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),M(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=J(n,r),a=r.incoming.filter(e=>{var t=J(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=J(n,r),a=r.incoming.filter(e=>{var n=J(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`,Oi,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`],U(LayoutConnectionBehavior,Y);function getConnectionHints(e,t,n){var r=W(e),i=W(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=W(a),s=G(a),c=G(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=J(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 W(e.source)[n]-W(t.source)[n]})}function ReplaceConnectionBehavior(e,t,n){e.invoke(Y,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)}U(ReplaceConnectionBehavior,Y),ReplaceConnectionBehavior.$inject=[`injector`,`modeling`,`rules`];function ReplaceElementBehaviour(e,t,n){Y.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)})}U(ReplaceElementBehaviour,Y),ReplaceElementBehaviour.$inject=[`eventBus`,`modeling`,`selection`],O();var ki=`id`,IdChangeBehavior=class extends Y{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(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 ki in e&&ki in t}e(isIdChange$2,`isIdChange`);function getDefinitions(e){let t=e;for(;!is$2(t,`dmn:Definitions`);)t=t.$parent;return t}function updateElementReferences(e,t,n){M({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){M({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 Y{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`)||is$2(t,`dmn:DecisionService`))&&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 Ai={__init__:[`createConnectionBehavior`,`decisionServiceBehavior`,`createShapeBehavior`,`idChangeBehavior`,`nameChangeBehavior`,`layoutConnectionBehavior`,`replaceConnectionBehavior`,`replaceElementBehavior`],createConnectionBehavior:[`type`,CreateConnectionBehavior],decisionServiceBehavior:[`type`,DecisionServiceBehavior],createShapeBehavior:[`type`,CreateShapeBehavior],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],layoutConnectionBehavior:[`type`,LayoutConnectionBehavior],replaceConnectionBehavior:[`type`,ReplaceConnectionBehavior],replaceElementBehavior:[`type`,ReplaceElementBehaviour]};O();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`,j({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`,ae(e,[`x`,`y`]))},DrdFactory.prototype.createExtensionElements=function(){return this.create(`dmn:ExtensionElements`,{values:[]})},DrdFactory.prototype.createDiDividerLine=function(e){return this.create(`dmndi:DMNDecisionServiceDividerLine`,{waypoint:this.createDiWaypoints(e)})},O();function DrdUpdater(e,t,n,r,i,a){a.invoke(Y,this),this._definitionPropertiesView=n,this._drdFactory=r,this._drdRules=i,this._injector=a,this._decisionServiceBehavior=t;var o=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),o.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),o.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`))&&o.updateBounds(t)}this.executed([`shape.create`,`shape.move`],updateBounds,!0),this.reverted([`shape.create`,`shape.move`],updateBounds,!0),this.executed(`shape.resize`,function(e){var t=e.shape;(is$2(t,`dmn:DRGElement`)||is$2(t,`dmn:TextAnnotation`))&&(e.dividerY===void 0&&(e.dividerY=o.getDividerY(t)),o.updateBounds(t,constrainDividerY(t,e.dividerY)))},!0),this.reverted(`shape.resize`,function(e){var t=e.shape;(is$2(t,`dmn:DRGElement`)||is$2(t,`dmn:TextAnnotation`))&&o.updateBounds(t,e.dividerY)},!0);var s=new WeakMap;this.executed(`shape.move`,function(e,t,n){is$2(e.shape,`dmn:DecisionService`)&&s.set(e.shape,{id:n.id,delta:e.delta})},!0);function isCarriedByService(e,t){var n=s.get(e.shape.parent);return!!n&&n.id===t.id&&n.delta.x===e.delta.x&&n.delta.y===e.delta.y}function updateDecisionSection(e,t,n){var r=e.shape;if(r&&is$2(r,`dmn:Decision`)&&(e.carriedByService===void 0&&(e.carriedByService=isCarriedByService(e,n)),!e.carriedByService)){var i=r.parent,a=r.businessObject;i&&is$2(i,`dmn:DecisionService`)?o._decisionServiceBehavior.updateDecisionSection(r,i.businessObject):i&&is$2(i,`dmn:Definitions`)&&o._decisionServiceBehavior.removeDecisionFromServices(a,i.businessObject)}}this.executed([`shape.move`],updateDecisionSection,!0),this.reverted([`shape.move`],updateDecisionSection,!0);function updateConnectionWaypoints(e){o.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,i=r.businessObject;is$2(t,`dmn:Association`)?updateParent(e):(o.updateSemanticParent(n,i),is$2(t,`dmn:InformationRequirement`)&&o.updateDecisionServicesForTarget(r))},!0),this.reverted(`connection.create`,function(e){reverseUpdateParent(e);var t=e.connection,n=e.target;is$2(t,`dmn:InformationRequirement`)&&o.updateDecisionServicesForTarget(n)},!0),this.executed(`connection.delete`,function(e){var t=e.connection,n=e.target;is$2(t,`dmn:InformationRequirement`)&&o.updateDecisionServicesForTarget(n)},!0),this.reverted(`connection.delete`,function(e){var t=e.connection,n=e.target;is$2(t,`dmn:InformationRequirement`)&&o.updateDecisionServicesForTarget(n)},!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&&o.updateAssociationRef(n,`sourceRef`,t.source.businessObject),i&&o.updateAssociationRef(n,`targetRef`,t.target.businessObject)):(o.updateSemanticParent(n,t.target.businessObject),r&&o.updateRequirementSource(n,t.source.businessObject),is$2(t,`dmn:InformationRequirement`)&&(i&&o.updateDecisionServicesForTarget(e.oldTarget),o.updateDecisionServicesForTarget(t.target)))}this.executed(`connection.reconnect`,updateReconnected,!0),this.reverted(`connection.reconnect`,updateReconnected,!0),this.executed(`shape.delete`,function(e){var t=e.shape;isAny$1(t,[`dmn:Decision`,`dmn:InputData`])&&o.removeElementFromAllDecisionServices(t)},!0),this.reverted(`shape.create`,function(e){var t=e.shape;isAny$1(t,[`dmn:Decision`,`dmn:InputData`])&&o.removeElementFromAllDecisionServices(t)},!0),this.reverted(`shape.delete`,function(e){var t=e.shape;isAny$1(t,[`dmn:Decision`,`dmn:InputData`])&&o.updateAllDecisionServices()},!0),this.executed(`element.updateProperties`,function(e){n.update()},!0),this.reverted(`element.updateProperties`,function(e){n.update()},!0)}U(DrdUpdater,Y),DrdUpdater.$inject=[`connectionDocking`,`decisionServiceBehavior`,`definitionPropertiesView`,`drdFactory`,`drdRules`,`injector`],DrdUpdater.prototype.getDividerY=function(e){var t=is$2(e,`dmn:DecisionService`)&&e.businessObject.di.decisionServiceDividerLine;return hasWaypoints(t)?t.waypoint[0].y:void 0},DrdUpdater.prototype.updateBounds=function(e,t){var n=e.businessObject,r=n.di.bounds,i=is$2(e,`dmn:DecisionService`)&&n.di.decisionServiceDividerLine,a=hasWaypoints(i);a&&t===void 0&&(t=r.height?i.waypoint[0].y+(e.y-r.y):e.y+e.height/2),j(r,{x:e.x,y:e.y,width:e.width,height:e.height}),a&&(j(i.waypoint[0],{x:e.x,y:t}),j(i.waypoint[1],{x:e.x+e.width,y:t}))},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;if(e.$parent!==t){if(is$2(e,`dmn:Decision`)&&t&&is$2(t,`dmn:DecisionService`)){var i=t.$parent;i&&this._decisionServiceBehavior.removeDecisionFromServices(e,i),this._decisionServiceBehavior.addDecisionToService(e,t,i)}else is$2(e,`dmn:Decision`)&&t&&is$2(t,`dmn:Definitions`)?this._decisionServiceBehavior.removeDecisionFromServices(e,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),Gn(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,Nn(r,e)):(e.$parent=null,Gn(r,e))}else throw Error(`unsupported`)}},DrdUpdater.prototype.updateDecisionServicesForTarget=function(e){var t=this._injector.get(`canvas`).getRootElement().businessObject;this._decisionServiceBehavior.updateServicesContainingDecision(e,t)},DrdUpdater.prototype.removeElementFromAllDecisionServices=function(e){if(e&&e.businessObject){var t=this._injector.get(`canvas`).getRootElement().businessObject,n=e.businessObject.id;this._decisionServiceBehavior.removeElementFromAllServices(n,t)}},DrdUpdater.prototype.updateAllDecisionServices=function(){var e=this._injector.get(`canvas`).getRootElement().businessObject;this._decisionServiceBehavior.updateAllServices(e)};var ji=[`requiredDecision`,`requiredInput`,`requiredKnowledge`,`requiredAuthority`];function getRequirementProperty(e){return A(ji,function(t){return e.get(t)})}function hasWaypoints(e){return!!(e&&e.waypoint&&e.waypoint.length===2)}function constrainDividerY(e,t){if(t===void 0)return t;var n=e.y+bi,r=e.y+e.height-bi;return n>r?e.y+e.height/2:Math.max(n,Math.min(r,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}O();var Mi=`name`,Ni=`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,re(n));return isIdChange$1(n,o)&&(a.unclaim(o[Ni]),i.updateId(t,n[Ni]),a.claim(n[Ni],o)),Mi 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[Ni]),a.updateId(t,r[Ni]),o.claim(r[Ni],i)),e.changed};function isIdChange$1(e,t){return Ni in e&&e[Ni]!==t[Ni]}e(isIdChange$1,`isIdChange`);function getProperties(e,t){return D(t,function(t,n){return t[n]=e.get(n),t},{})}function setProperties(e,t){M(t,function(t,n){e.set(n,t)})}O();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,re(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 D(t,function(t,n){return t[n]=e.get(n),t},{})}function setModdleProperties(e,t){M(t,function(t,n){e.set(n,t)})}function Modeling$4(e,t,n){this._canvas=e,this._drdRules=t,n.invoke(St,this)}e(Modeling$4,`Modeling`),U(Modeling$4,St),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=St.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||{}})},O();var Pi=20;function DrdLayouter(e){this._connectionDocking=e}U(DrdLayouter,_t),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=J(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(j({},e,{waypoints:a}),r,i);s=l.pop();var u={x:s.x,y:s.y};return c.includes(`bottom`)?u.y+=Pi:c.includes(`top`)?u.y-=Pi:c.includes(`right`)?u.x+=Pi:u.x-=Pi,a=l.concat([u,s]),a}return[o,s]};function getConnectionDocking(e,t){return e?e.original||e:W(t)}var Fi={__init__:[`modeling`,`drdUpdater`],__depends__:[Ai,oi,Ur,pt,Hn,Kn],drdFactory:[`type`,DrdFactory],drdUpdater:[`type`,DrdUpdater],elementFactory:[`type`,ElementFactory$2],modeling:[`type`,Modeling$4],layouter:[`type`,DrdLayouter],connectionDocking:[`type`,P]};O();function DmnOrderingProvider(e,t){ct.call(this,e);let n=[{type:`dmn:Association`,order:{level:9}},{type:`dmn:AuthorityRequirement`,order:{level:9}},{type:`dmn:InformationRequirement`,order:{level:9}},{type:`dmn:KnowledgeRequirement`,order:{level:9}},{type:`dmn:Artifact`,order:{level:8}},{type:`dmn:DRGElement`,order:{level:2}}];function computeOrder(e){let t=A(n,function(t){return isAny$1(e,[t.type])});return t&&t.order||{level:1}}function getOrder(e){let t=e.order;if(t||(e.order=t=computeOrder(e)),!t)throw Error(`no order for <${e.id}>`);return t}this.getOrdering=function(e,n){if(e.labelTarget||is$2(e,`dmn:TextAnnotation`))return{parent:t.findRoot(n)||t.getRootElement(),index:-1};let r=getOrder(e),i=n.children.indexOf(e),a=ce(n.children,function(t){return!e.labelTarget&&t.labelTarget?!1:r.level<getOrder(t).level});return a!==-1&&i!==-1&&i<a&&--a,{index:a,parent:n}}}DmnOrderingProvider.$inject=[`eventBus`,`canvas`],U(DmnOrderingProvider,ct);var Ii={__init__:[`dmnOrderingProvider`],dmnOrderingProvider:[`type`,DmnOrderingProvider]},Li=`
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(){Pn.prototype.destroy.call(this),zn(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=[{viewer:[`value`,this]},...a,...n||[]],s={...i,canvas:{...r,container:e},modules:o};Pn.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 q(`<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.getDefinitions=function(){return this._definitions},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=[Hr,B,Vn,In,Ur,Gr];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`)||is$2(e,`dmn:DecisionService`))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}k();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=le(n,function(e){return e!==t}),n=ue(n,function(t){return{primaryTokens:matchAndSplit(getLabel$1(t),e),secondaryTokens:matchAndSplit(t.id,e),element:t}}),n=le(n,function(e){return hasMatched(e.primaryTokens)||hasMatched(e.secondaryTokens)}),n=re(n,function(e){return getLabel$1(e.element)+e.element.id}),n};function hasMatched(e){return le(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 Jr={__depends__:[Nt],__init__:[`dmnSearch`],dmnSearch:[`type`,DmnSearchProvider]};function NavigatedViewer(e){Viewer$4.call(this,e)}W(NavigatedViewer,Viewer$4),NavigatedViewer.prototype._navigationModules=[et,vt,Jr],NavigatedViewer.prototype._modules=[].concat(NavigatedViewer.prototype._modules,NavigatedViewer.prototype._navigationModules),k();var Yr={width:135,height:46},Xr={width:180,height:80},Zr={width:320,height:320},Qr={width:125,height:45},$r={width:100,height:63};function ElementFactory$2(e){Bn.call(this),this._drdFactory=e}e(ElementFactory$2,`ElementFactory`),W(ElementFactory$2,Bn),ElementFactory$2.$inject=[`drdFactory`],ElementFactory$2.prototype.baseCreate=Bn.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)}if(!i.di){if(e===`connection`)i.di=n.createDiEdge(i,[]);else if(e===`shape`&&(i.di=n.createDiShape(i,{}),is$2(i,`dmn:DecisionService`))){r=this._getDefaultSize(i);var a=(t.y||0)+r.height/2,o=[{x:t.x||0,y:a},{x:(t.x||0)+r.width,y:a}],s=n.createDiDividerLine(o);if(s.$parent=i.di,i.di.decisionServiceDividerLine=s,i.name||(i.name=`New Decision Service`),!i.variable){var c=n.create(`dmn:InformationItem`,{name:i.name});i.variable=c,c.$parent=i}}}return r=this._getDefaultSize(i),t=M({businessObject:i,id:i.id},r,t),this.baseCreate(e,t)},ElementFactory$2.prototype._getDefaultSize=function(e){return is$2(e,`dmn:BusinessKnowledgeModel`)?Yr:is$2(e,`dmn:Decision`)?Xr:is$2(e,`dmn:DecisionService`)?Zr:is$2(e,`dmn:InputData`)?Qr:is$2(e,`dmn:KnowledgeSource`)?$r:{width:100,height:80}};var ei=`left`,ti=`right`,ni=60,ri=Xr.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=K(e),r={x:n.right+t.width/2,y:n.top-50-t.height/2};return _n(e,t,r,Sn({y:{margin:-30,minDistance:20}}))}function getDRGElementPosition(e,t){var n=K(e),r=G(e);function getWeight(t){return t.target===e?1:-1}var i=Ft(e,{defaultDistance:180,direction:`s`,getWeight,filter,reference:`center`}),a={x:r.x,y:n.bottom+i};return _n(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=G(e),n,r;return function(e,i,a){var o;return n?(i.x<t.x?n=a:r=a,o=getHorizontalDistance(t,G(n))<getHorizontalDistance(t,G(r))?ei:ti):(n=a,r=a,o=G(a).x-t.x>0?ei:ti),o===ei?{x:Math.min(G(n).x-ri-ni,K(n).left-ni-e.width/2),y:i.y}:{x:Math.max(G(r).x+ri+ni,K(r).right+ni+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 ii={__depends__:[Mt],__init__:[`dmnAutoPlace`],dmnAutoPlace:[`type`,AutoPlace]},ai={__init__:[`autoResize`],autoResize:[`type`,Wt]};k();function DrdRules(e){e.invoke(bn,this)}W(DrdRules,bn),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 isAny$1(t,[`dmn:TextAnnotation`,`dmn:DecisionService`])})},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:DecisionService`)&&isAny$1(t,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`])?{type:`dmn:KnowledgeRequirement`}: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:DecisionService`,`dmn:InputData`,`dmn:KnowledgeSource`,`dmn:TextAnnotation`])&&is$2(t,`dmn:Definitions`)||is$2(e,`dmn:Decision`)&&is$2(t,`dmn:DecisionService`))}function canMove(e,t){return D(e)||(e=[e]),!t||T(e,function(e){return isAny$1(e,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:DecisionService`,`dmn:InputData`,`dmn:KnowledgeSource`,`dmn:TextAnnotation`,`dmn:InformationRequirement`,`dmn:AuthorityRequirement`,`dmn:KnowledgeRequirement`,`dmn:Association`])})&&is$2(t,`dmn:Definitions`)?!0:is$2(t,`dmn:DecisionService`)?T(e,function(e){return is$2(e,`dmn:Decision`)}):!1}function isLabel(e){return!!e.labelTarget}var oi={__depends__:[Ht],__init__:[`drdRules`],drdRules:[`type`,DrdRules]};function DrdAutoResizeProvider(e){qt.call(this,e)}DrdAutoResizeProvider.$inject=[`eventBus`],W(DrdAutoResizeProvider,qt),DrdAutoResizeProvider.prototype.canResize=function(e,t){return is$2(t,`dmn:DecisionService`)?e.every(function(e){return is$2(e,`dmn:Decision`)&&!e.labelTarget}):!1};function DrdAutoResize(e){e.invoke(Wt,this)}DrdAutoResize.$inject=[`injector`],W(DrdAutoResize,Wt),DrdAutoResize.prototype.getPadding=function(e){return is$2(e,`dmn:DecisionService`)?{top:20,right:20,bottom:20,left:20}:Wt.prototype.getPadding.call(this,e)};var si={__depends__:[ai,oi],__init__:[`drdAutoResizeProvider`],autoResize:[`type`,DrdAutoResize],drdAutoResizeProvider:[`type`,DrdAutoResizeProvider]};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 ci={__depends__:[Qe,Vn],drdReplace:[`type`,DrdReplace]},li={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}}]};k();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=le(li.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=le(li.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 N(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 ui={__depends__:[B,Ct,ci],__init__:[`replaceMenuProvider`],replaceMenuProvider:[`type`,ReplaceMenuProvider]};k();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(Fn(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 getAppendHints(e){return is$2(e,`dmn:DecisionService`)?{}:{connectionTarget:e}}function appendAction(e,t,r,a){function appendStart(t,r){var o=n.createShape(M({type:e},a));i.start(t,o,{source:r,hints:getAppendHints(r)})}return{group:`model`,className:t,title:r,action:{dragstart:appendStart,click:l?function(t,r){var i=n.createShape(M({type:e},a));l.append(r,i,getAppendHints(r))}:appendStart}}}isAny$1(d,[`dmn:Decision`,`dmn:DecisionService`])&&M(u,{"append.decision":appendAction(`dmn:Decision`,`dmn-icon-decision`,c(`Append decision`))}),isAny$1(d,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:KnowledgeSource`])&&M(u,{"append.knowledge-source":appendAction(`dmn:KnowledgeSource`,`dmn-icon-knowledge-source`,c(`Append knowledge source`))}),isAny$1(d,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:DecisionService`])&&M(u,{"append.business-knowledge-model":appendAction(`dmn:BusinessKnowledgeModel`,`dmn-icon-business-knowledge`,c(`Append business knowledge model`))}),isAny$1(d,[`dmn:Decision`,`dmn:KnowledgeSource`])&&M(u,{"append.input-data":appendAction(`dmn:InputData`,`dmn-icon-input-data`,c(`Append input data`))}),is$2(d,`dmn:DRGElement`)&&M(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`)&&M(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`)||M(u,{replace:{group:`edit`,className:`dmn-icon-screw-wrench`,title:c(`Change type`),action:{click:function(e,t){var n=M(getReplaceMenuPosition(t),{cursor:{x:e.x,y:e.y}});a.open(t,`dmn-replace`,n)}}}});var f=s.allowed(`elements.delete`,{elements:[e]});return D(f)&&(f=f[0]===e),f&&M(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)&&M(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 D(t)?T(e,e=>t.includes(e)):t};var di={__depends__:[B,Tt,Vn,mn,Ot,ui],__init__:[`contextPadProvider`],contextPadProvider:[`type`,ContextPadProvider]},fi=/\s/,pi=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,mi=/^[a-z_][\w-.]*$/i,hi=/\$\{([^}]*)\}/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(!mi.test(e))return pi.test(e)?`Id must not contain prefix.`:`Id must be a valid QName.`}function containsSpace$1(e){return fi.test(e)}e(containsSpace$1,`containsSpace`);function stripPlaceholders(e){return e.replace(hi,`$1`)}k();var gi=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=J(`.dmn-definitions-name`,this._container),n=J(`.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`,A(function(e){var r=e.target.value||e.target.textContent;n.update(t,r.trim())},gi)),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=J(`.dmn-definitions-id`,this._container);this._clearErrorMessage(),H(n).add(`dmn-definitions-error`),n.parentElement.appendChild(q(t))},DefinitionIdEdit.prototype._clearErrorMessage=function(){var e=J(`.dmn-definitions-id`,this._container);if(H(e).has(`dmn-definitions-error`)){H(e).remove(`dmn-definitions-error`);let t=J(`.dmn-definitions-error-message`,this._container);e.parentNode.removeChild(t)}};var _i={__depends__:[Ur],__init__:[`definitionPropertiesEdit`,`definitionPropertiesPaletteAdapter`],definitionPropertiesEdit:[`type`,DefinitionIdEdit],definitionPropertiesPaletteAdapter:[`type`,PaletteAdapter]};k();function DrdDistributeElements(e){e.registerFilter(function(e){return le(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 vi={__depends__:[Ze],__init__:[`drdDistributeElements`],drdDistributeElements:[`type`,DrdDistributeElements]};function DrdEditorActions(e){e.invoke(Zt,this)}W(DrdEditorActions,Zt),DrdEditorActions.$inject=[`injector`],DrdEditorActions.prototype._registerDefaultActions=function(e){Zt.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 yi={__depends__:[yt],editorActions:[`type`,DrdEditorActions]};function containsDi(e){return e.dmnDI&&e.dmnDI.diagrams&&e.dmnDI.diagrams[0]}var bi=Xr.height+40,xi=14,Si=8,Ci=`djs-divider-dragging`;function DecisionServiceDivider(e,t,n,r,i,a,o){var s=this;this._canvas=e,this._dragging=t,this._handle=null,r.on(`selection.changed`,function(e){var t=e.newSelection;s._removeHandle(),t.length===1&&s._addHandle(t[0])}),r.on(`shape.changed`,function(e){var t=e.element;o.isSelected(t)&&(s._removeHandle(),s._addHandle(t))}),r.on(`decisionService.divider.start`,function(t){var n=t.context.shape,r=e.getGraphics(n).querySelector(`.dmn-decision-service-divider`);if(e.addMarker(n,Ci),r&&s._handle){var i=Tn(r);z(i,{y1:0,y2:0}),R(s._handle,i)}}),r.on(`decisionService.divider.move`,function(e){var t=e.context,n=t.shape,r=getDividerRange(n,t.dividerYAtStart),a=e.y;i.isActive()&&!(e.originalEvent&&bt(e.originalEvent))&&(a=i.snapValue(a,{min:r.min,max:r.max})),t.dividerY=Math.max(r.min,Math.min(r.max,a)),s._handle&&wn(s._handle,n.x,t.dividerY)}),r.on(`decisionService.divider.end`,function(e){var t=e.context,r=t.shape,i=t.dividerY;i!==t.dividerYAtStart&&a.updateModdleProperties(r,r.businessObject.di.decisionServiceDividerLine,{waypoint:n.createDiWaypoints([{x:r.x,y:i},{x:r.x+r.width,y:i}])})}),r.on(`decisionService.divider.cleanup`,function(t){var n=t.context.shape;e.removeMarker(n,Ci),s._removeHandle(),o.isSelected(n)&&s._addHandle(n)})}DecisionServiceDivider.$inject=[`canvas`,`dragging`,`drdFactory`,`eventBus`,`gridSnapping`,`modeling`,`selection`],DecisionServiceDivider.prototype.activate=function(e,t){var n=getDividerY(t);this._dragging.init(e,{x:t.x,y:n},`decisionService.divider`,{autoActivate:!0,cursor:`resize-ns`,keepSelection:!0,data:{context:{shape:t,dividerY:n,dividerYAtStart:n}}})},DecisionServiceDivider.prototype._addHandle=function(e){var t=this;if(!is$2(e,`dmn:DecisionService`)||!e.businessObject.di.decisionServiceDividerLine||e.height<2*bi)return;var n=V(`g`,{class:`djs-divider-handle`});R(n,V(`rect`,{class:`djs-divider-handle-hit`,x:Si,y:-xi/2,width:Math.max(0,e.width-2*Si),height:xi})),wn(n,e.x,getDividerY(e)),R(this._getLayer(),n),this._handle=n;function startDrag(n){Hn(n)&&t.activate(n,e)}n.addEventListener(`mousedown`,startDrag),n.addEventListener(`touchstart`,startDrag,{passive:!0})},DecisionServiceDivider.prototype._removeHandle=function(){qn(this._getLayer()),this._handle=null},DecisionServiceDivider.prototype._getLayer=function(){return this._canvas.getLayer(`dividers`)};function getDividerY(e){return e.y+e.height*getDecisionServiceDividerRatio(e.businessObject)}function getDividerRange(e,t){var n=e.y+bi,r=e.y+e.height-bi;return(e.children||[]).forEach(function(e){is$2(e,`dmn:Decision`)&&!e.labelTarget&&(e.y+e.height/2<t?n=Math.max(n,e.y+e.height):r=Math.min(r,e.y))}),{min:Math.min(n,t),max:Math.max(r,t)}}k();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=n.get(`drgElement`),s=new Set,c=new Set;N(o,function(e){is$2(e,`dmn:DecisionService`)&&N([`outputDecision`,`encapsulatedDecision`],function(t){N(e.get(t),function(e){s.add(getIdFromHref(e.href))})})});function createShapeDi(t,n){var i=e.createDiShape(t,n);return r.updateDiParent(i,a),i}function getMembers(e,t){var n=[];return N(e.get(t),function(e){var t=getIdFromHref(e.href),r=j(o,function(e){return e.id===t&&is$2(e,`dmn:Decision`)});r&&!c.has(t)&&(c.add(t),n.push(r))}),n}function getSectionHeight(e){return Math.max(bi,20+e*(Xr.height+20))}function createDecisionsDi(e,t,n,r){N(e,function(e,i){createShapeDi(e,{x:t+(r-Xr.width)/2,y:n+20+i*(Xr.height+20),width:Xr.width,height:Xr.height})})}function createDecisionServiceDi(n,r,i){var a=getMembers(n,`outputDecision`),o=getMembers(n,`encapsulatedDecision`),s=getSectionHeight(a.length),c=Math.max(t._getDefaultSize(n).width,Xr.width+40),l=i+s,u=createShapeDi(n,{x:r,y:i,width:c,height:s+getSectionHeight(o.length)}),d=e.createDiDividerLine([{x:r,y:l},{x:r+c,y:l}]);d.$parent=u,u.decisionServiceDividerLine=d,createDecisionsDi(a,r,i,c),createDecisionsDi(o,r,l,c)}var l=0;N(o,function(e){if((is$2(e,`dmn:Decision`)||is$2(e,`dmn:DecisionService`))&&!s.has(e.id)){var n=150+l*30,r=150+l*30;if(is$2(e,`dmn:DecisionService`))createDecisionServiceDi(e,n,r);else{var i=t._getDefaultSize(e);createShapeDi(e,{x:n,y:r,width:i.width,height:i.height})}l++}})}n.on(`import.start`,({definitions:e})=>{containsDi(e)||createDi(e)})}DiGenerator.$inject=[`drdFactory`,`elementFactory`,`eventBus`,`drdUpdater`];var wi={__init__:[`diGenerator`],diGenerator:[`type`,DiGenerator]};function DrdKeyboardBindings(e){e.invoke(ht,this)}W(DrdKeyboardBindings,ht),DrdKeyboardBindings.$inject=[`injector`],DrdKeyboardBindings.prototype.registerBindings=function(e,t){ht.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 Ti={__depends__:[mt],__init__:[`keyboardBindings`],keyboardBindings:[`type`,DrdKeyboardBindings]};k();var Ei=`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,Ei)}})}LabelEditingProvider.$inject=[`canvas`,`directEditing`,`eventBus`,`modeling`,`textRenderer`],LabelEditingProvider.prototype.activate=function(e){var t=getLabel$1(e);if(E(t)){var n={text:t},r=this.getEditingBBox(e);M(n,r);var i={},a=n.style||{};return is$2(e,`dmn:DRGElement`)&&(is$2(e,`dmn:DecisionService`)||M(i,{centerVertically:!0}),M(a,{backgroundColor:null,border:null})),is$2(e,`dmn:TextAnnotation`)&&M(i,{resizable:!0}),M(n,{options:i,style:a}),this._canvas.addMarker(e,Ei),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`)&&(M(i,{width:r.width,height:r.height}),M(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`)&&(M(i,{width:r.width,height:r.height,minWidth:30*a,minHeight:10*a}),M(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 Di={__depends__:[ft,Kn,Xt],__init__:[`labelEditingProvider`],labelEditingProvider:[`type`,LabelEditingProvider]};function getRequirementType(e){if(is$2(e,`dmn:BusinessKnowledgeModel`)||is$2(e,`dmn:DecisionService`))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(Y,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`],W(CreateConnectionBehavior,Y);function DecisionServiceBehavior(e,t,n){t.invoke(Y,this),this._drdFactory=e,this._injector=t,this._canvas=n,this._elementRegistry=null;var r=this;this.executed(`element.updateProperties`,function(e){var t=e.context;r._updateReferencesAfterIdChange(t.element,t.oldProperties,t.properties)}),this.reverted(`element.updateProperties`,function(e){var t=e.context;r._updateReferencesAfterIdChange(t.element,t.properties,t.oldProperties)})}DecisionServiceBehavior.$inject=[`drdFactory`,`injector`,`canvas`],W(DecisionServiceBehavior,Y),DecisionServiceBehavior.prototype._getElementRegistry=function(){return this._elementRegistry||=this._injector.get(`elementRegistry`),this._elementRegistry},DecisionServiceBehavior.prototype._updateReferencesAfterIdChange=function(e,t,n){if(`id`in t&&`id`in n&&t.id!==n.id){var r=getBusinessObject$1(e);(is$2(r,`dmn:Decision`)||is$2(r,`dmn:InputData`))&&(this._canvas.getRootElement().businessObject.get(`drgElement`)||[]).forEach(function(e){is$2(e,`dmn:DecisionService`)&&[`outputDecision`,`encapsulatedDecision`,`inputDecision`,`inputData`].forEach(function(r){(e.get(r)||[]).forEach(function(e){refersTo(e,t.id)&&(e.href=replaceIdInHref(e.href,n.id))})})})}},DecisionServiceBehavior.prototype._getDrgElementsById=function(){var e=this._canvas.getRootElement().businessObject,t=new Map;return(e.get(`drgElement`)||[]).forEach(function(e){t.set(e.id,e)}),t},DecisionServiceBehavior.prototype._getDividerPosition=function(e){var t=getDecisionServiceDividerRatio(e.businessObject);return e.y+e.height*t},DecisionServiceBehavior.prototype.isOutputDecision=function(e,t){var n=this._getElementRegistry().get(t.id);if(!n)return!1;var r=this._getDividerPosition(n);return e.y+e.height/2<r},DecisionServiceBehavior.prototype.addDecisionToService=function(e,t,n){var r;n&&(r=n.get(`drgElement`),r||=(n.drgElement=[],n.drgElement),r.indexOf(e)===-1&&Mn(r,e),e.$parent=n);var i=this._getElementRegistry().get(e.id);this.isOutputDecision(i,t)?(r=t.get(`outputDecision`),r||=(t.outputDecision=[],t.outputDecision)):(r=t.get(`encapsulatedDecision`),r||=(t.encapsulatedDecision=[],t.encapsulatedDecision));var a=this._drdFactory.create(`dmn:DMNElementReference`,{href:`#`+e.id});a.$parent=t,r.find(function(t){return refersTo(t,e.id)})||Mn(r,a),this.updateInputsFromOutputDecisions(t)},DecisionServiceBehavior.prototype.removeDecisionFromServices=function(e,t){var n=this,r=t.get(`drgElement`);r&&r.forEach(function(t){is$2(t,`dmn:DecisionService`)&&n.removeDecisionFromService(e,t)});var i=t.get(`drgElement`);i&&i.indexOf(e)===-1&&Mn(i,e),e.$parent=t},DecisionServiceBehavior.prototype.removeDecisionFromService=function(e,t){var n=t.get(`encapsulatedDecision`),r;n&&(r=n.find(function(t){return refersTo(t,e.id)}),r&&Gn(n,r)),n=t.get(`outputDecision`),n&&(r=n.find(function(t){return refersTo(t,e.id)}),r&&Gn(n,r)),this.updateInputsFromOutputDecisions(t)},DecisionServiceBehavior.prototype.updateDecisionSection=function(e,t){var n=e.businessObject,r=this.isOutputDecision(e,t)?`outputDecision`:`encapsulatedDecision`;if(!(t.get(r)||[]).some(function(e){return refersTo(e,n.id)})){var i=this._canvas.getRootElement().businessObject;this.removeElementFromAllServices(n.id,i);var a=this._drdFactory.create(`dmn:DMNElementReference`,{href:`#`+n.id});a.$parent=t,t[r]||(t[r]=[]),Mn(t[r],a),this.updateInputsFromOutputDecisions(t)}},DecisionServiceBehavior.prototype.updateInputsFromOutputDecisions=function(e){var t=this._getDrgElementsById(),n=e.get(`outputDecision`)||[],r=e.get(`encapsulatedDecision`)||[],i=new Set;n.forEach(function(e){i.add(getIdFromHref(e.href))}),r.forEach(function(e){i.add(getIdFromHref(e.href))});var a=new Set,o=new Set,traverseDecision=function(e,n){if(!n.has(e)){n.add(e);var r=t.get(e);r&&(r.get(`informationRequirement`)||[]).forEach(function(e){if(e.requiredDecision){var t=getIdFromHref(e.requiredDecision.href);i.has(t)?traverseDecision(t,n):a.add(t)}if(e.requiredInput){var r=getIdFromHref(e.requiredInput.href);o.add(r)}})}},s=new Set;n.forEach(function(e){traverseDecision(getIdFromHref(e.href),s)}),this._updateReferenceCollection(e,`inputDecision`,a,t),this._updateReferenceCollection(e,`inputData`,o,t)},DecisionServiceBehavior.prototype._updateReferenceCollection=function(e,t,n,r){var i=this,a=e.get(t)||[],o=new Set;a.forEach(function(e){o.add(getIdFromHref(e.href))}),n.forEach(function(n){if(!o.has(n)&&r.has(n)){e[t]||(e[t]=[]);var a=i._drdFactory.create(`dmn:DMNElementReference`,{href:`#`+n});a.$parent=e,Mn(e[t],a)}});var s=[];a.forEach(function(e){var t=getIdFromHref(e.href);n.has(t)||s.push(e)}),s.forEach(function(n){Gn(e[t],n)})},DecisionServiceBehavior.prototype.updateServicesContainingDecision=function(e,t){if(e&&is$2(e.businessObject,`dmn:Decision`)&&t&&is$2(t,`dmn:Definitions`)){var n=t.get(`drgElement`)||[],r=e.businessObject.id,i=this;n.forEach(function(e){if(is$2(e,`dmn:DecisionService`)){var t=e.get(`outputDecision`)||[],n=e.get(`encapsulatedDecision`)||[];(t.some(function(e){return refersTo(e,r)})||n.some(function(e){return refersTo(e,r)}))&&i.updateInputsFromOutputDecisions(e)}})}},DecisionServiceBehavior.prototype.removeElementFromAllServices=function(e,t){if(e&&t&&is$2(t,`dmn:Definitions`)){var n=t.get(`drgElement`)||[],r=this;n.forEach(function(t){if(is$2(t,`dmn:DecisionService`)){var n=!1,removeFromCollection=function(r){var i=(t.get(r)||[]).filter(function(t){return refersTo(t,e)});i.length>0&&(i.forEach(function(e){Gn(t[r],e)}),n=!0)};removeFromCollection(`outputDecision`),removeFromCollection(`encapsulatedDecision`),removeFromCollection(`inputDecision`),removeFromCollection(`inputData`),n&&r.updateInputsFromOutputDecisions(t)}})}},DecisionServiceBehavior.prototype.updateAllServices=function(e){if(e&&is$2(e,`dmn:Definitions`)){var t=e.get(`drgElement`)||[],n=this;t.forEach(function(e){is$2(e,`dmn:DecisionService`)&&n.updateInputsFromOutputDecisions(e)})}};function CreateShapeBehavior(e,t){t.invoke(Y,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`],W(CreateShapeBehavior,Y),k();var Oi=500;function LayoutConnectionBehavior(e,t,n,r){e.invoke(Y,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=Wn(n,i);e.hints||={},M(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),N(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=Wn(n,r),a=r.incoming.filter(e=>{var t=Wn(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=Wn(n,r),a=r.incoming.filter(e=>{var n=Wn(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`,Oi,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`],W(LayoutConnectionBehavior,Y);function getConnectionHints(e,t,n){var r=G(e),i=G(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=G(a),s=K(a),c=K(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=Wn(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 G(e.source)[n]-G(t.source)[n]})}function ReplaceConnectionBehavior(e,t,n){e.invoke(Y,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)}W(ReplaceConnectionBehavior,Y),ReplaceConnectionBehavior.$inject=[`injector`,`modeling`,`rules`];function ReplaceElementBehaviour(e,t,n){Y.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)})}W(ReplaceElementBehaviour,Y),ReplaceElementBehaviour.$inject=[`eventBus`,`modeling`,`selection`],k();var ki=`id`,IdChangeBehavior=class extends Y{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(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 ki in e&&ki in t}e(isIdChange$2,`isIdChange`);function getDefinitions(e){let t=e;for(;!is$2(t,`dmn:Definitions`);)t=t.$parent;return t}function updateElementReferences(e,t,n){N({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){N({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 Y{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`)||is$2(t,`dmn:DecisionService`))&&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 Ai={__init__:[`createConnectionBehavior`,`decisionServiceBehavior`,`createShapeBehavior`,`idChangeBehavior`,`nameChangeBehavior`,`layoutConnectionBehavior`,`replaceConnectionBehavior`,`replaceElementBehavior`],createConnectionBehavior:[`type`,CreateConnectionBehavior],decisionServiceBehavior:[`type`,DecisionServiceBehavior],createShapeBehavior:[`type`,CreateShapeBehavior],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],layoutConnectionBehavior:[`type`,LayoutConnectionBehavior],replaceConnectionBehavior:[`type`,ReplaceConnectionBehavior],replaceElementBehavior:[`type`,ReplaceElementBehaviour]};k();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`,M({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`,ie(e,[`x`,`y`]))},DrdFactory.prototype.createExtensionElements=function(){return this.create(`dmn:ExtensionElements`,{values:[]})},DrdFactory.prototype.createDiDividerLine=function(e){return this.create(`dmndi:DMNDecisionServiceDividerLine`,{waypoint:this.createDiWaypoints(e)})},k();function DrdUpdater(e,t,n,r,i,a){a.invoke(Y,this),this._definitionPropertiesView=n,this._drdFactory=r,this._drdRules=i,this._injector=a,this._decisionServiceBehavior=t;var o=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),o.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),o.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`))&&o.updateBounds(t)}this.executed([`shape.create`,`shape.move`],updateBounds,!0),this.reverted([`shape.create`,`shape.move`],updateBounds,!0),this.executed(`shape.resize`,function(e){var t=e.shape;(is$2(t,`dmn:DRGElement`)||is$2(t,`dmn:TextAnnotation`))&&(e.dividerY===void 0&&(e.dividerY=o.getDividerY(t)),o.updateBounds(t,constrainDividerY(t,e.dividerY)))},!0),this.reverted(`shape.resize`,function(e){var t=e.shape;(is$2(t,`dmn:DRGElement`)||is$2(t,`dmn:TextAnnotation`))&&o.updateBounds(t,e.dividerY)},!0);var s=new WeakMap;this.executed(`shape.move`,function(e,t,n){is$2(e.shape,`dmn:DecisionService`)&&s.set(e.shape,{id:n.id,delta:e.delta})},!0);function isCarriedByService(e,t){var n=s.get(e.shape.parent);return!!n&&n.id===t.id&&n.delta.x===e.delta.x&&n.delta.y===e.delta.y}function updateDecisionSection(e,t,n){var r=e.shape;if(r&&is$2(r,`dmn:Decision`)&&(e.carriedByService===void 0&&(e.carriedByService=isCarriedByService(e,n)),!e.carriedByService)){var i=r.parent,a=r.businessObject;i&&is$2(i,`dmn:DecisionService`)?o._decisionServiceBehavior.updateDecisionSection(r,i.businessObject):i&&is$2(i,`dmn:Definitions`)&&o._decisionServiceBehavior.removeDecisionFromServices(a,i.businessObject)}}this.executed([`shape.move`],updateDecisionSection,!0),this.reverted([`shape.move`],updateDecisionSection,!0);function updateConnectionWaypoints(e){o.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,i=r.businessObject;is$2(t,`dmn:Association`)?updateParent(e):(o.updateSemanticParent(n,i),is$2(t,`dmn:InformationRequirement`)&&o.updateDecisionServicesForTarget(r))},!0),this.reverted(`connection.create`,function(e){reverseUpdateParent(e);var t=e.connection,n=e.target;is$2(t,`dmn:InformationRequirement`)&&o.updateDecisionServicesForTarget(n)},!0),this.executed(`connection.delete`,function(e){var t=e.connection,n=e.target;is$2(t,`dmn:InformationRequirement`)&&o.updateDecisionServicesForTarget(n)},!0),this.reverted(`connection.delete`,function(e){var t=e.connection,n=e.target;is$2(t,`dmn:InformationRequirement`)&&o.updateDecisionServicesForTarget(n)},!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&&o.updateAssociationRef(n,`sourceRef`,t.source.businessObject),i&&o.updateAssociationRef(n,`targetRef`,t.target.businessObject)):(o.updateSemanticParent(n,t.target.businessObject),r&&o.updateRequirementSource(n,t.source.businessObject),is$2(t,`dmn:InformationRequirement`)&&(i&&o.updateDecisionServicesForTarget(e.oldTarget),o.updateDecisionServicesForTarget(t.target)))}this.executed(`connection.reconnect`,updateReconnected,!0),this.reverted(`connection.reconnect`,updateReconnected,!0),this.executed(`shape.delete`,function(e){var t=e.shape;isAny$1(t,[`dmn:Decision`,`dmn:InputData`])&&o.removeElementFromAllDecisionServices(t)},!0),this.reverted(`shape.create`,function(e){var t=e.shape;isAny$1(t,[`dmn:Decision`,`dmn:InputData`])&&o.removeElementFromAllDecisionServices(t)},!0),this.reverted(`shape.delete`,function(e){var t=e.shape;isAny$1(t,[`dmn:Decision`,`dmn:InputData`])&&o.updateAllDecisionServices()},!0),this.executed(`element.updateProperties`,function(e){n.update()},!0),this.reverted(`element.updateProperties`,function(e){n.update()},!0)}W(DrdUpdater,Y),DrdUpdater.$inject=[`connectionDocking`,`decisionServiceBehavior`,`definitionPropertiesView`,`drdFactory`,`drdRules`,`injector`],DrdUpdater.prototype.getDividerY=function(e){var t=is$2(e,`dmn:DecisionService`)&&e.businessObject.di.decisionServiceDividerLine;return hasWaypoints(t)?t.waypoint[0].y:void 0},DrdUpdater.prototype.updateBounds=function(e,t){var n=e.businessObject,r=n.di.bounds,i=is$2(e,`dmn:DecisionService`)&&n.di.decisionServiceDividerLine,a=hasWaypoints(i);a&&t===void 0&&(t=r.height?i.waypoint[0].y+(e.y-r.y):e.y+e.height/2),M(r,{x:e.x,y:e.y,width:e.width,height:e.height}),a&&(M(i.waypoint[0],{x:e.x,y:t}),M(i.waypoint[1],{x:e.x+e.width,y:t}))},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;if(e.$parent!==t){if(is$2(e,`dmn:Decision`)&&t&&is$2(t,`dmn:DecisionService`)){var i=t.$parent;i&&this._decisionServiceBehavior.removeDecisionFromServices(e,i),this._decisionServiceBehavior.addDecisionToService(e,t,i)}else is$2(e,`dmn:Decision`)&&t&&is$2(t,`dmn:Definitions`)?this._decisionServiceBehavior.removeDecisionFromServices(e,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),Gn(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,Mn(r,e)):(e.$parent=null,Gn(r,e))}else throw Error(`unsupported`)}},DrdUpdater.prototype.updateDecisionServicesForTarget=function(e){var t=this._injector.get(`canvas`).getRootElement().businessObject;this._decisionServiceBehavior.updateServicesContainingDecision(e,t)},DrdUpdater.prototype.removeElementFromAllDecisionServices=function(e){if(e&&e.businessObject){var t=this._injector.get(`canvas`).getRootElement().businessObject,n=e.businessObject.id;this._decisionServiceBehavior.removeElementFromAllServices(n,t)}},DrdUpdater.prototype.updateAllDecisionServices=function(){var e=this._injector.get(`canvas`).getRootElement().businessObject;this._decisionServiceBehavior.updateAllServices(e)};var ji=[`requiredDecision`,`requiredInput`,`requiredKnowledge`,`requiredAuthority`];function getRequirementProperty(e){return j(ji,function(t){return e.get(t)})}function hasWaypoints(e){return!!(e&&e.waypoint&&e.waypoint.length===2)}function constrainDividerY(e,t){if(t===void 0)return t;var n=e.y+bi,r=e.y+e.height-bi;return n>r?e.y+e.height/2:Math.max(n,Math.min(r,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}k();var Mi=`name`,Ni=`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,ne(n));return isIdChange$1(n,o)&&(a.unclaim(o[Ni]),i.updateId(t,n[Ni]),a.claim(n[Ni],o)),Mi 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[Ni]),a.updateId(t,r[Ni]),o.claim(r[Ni],i)),e.changed};function isIdChange$1(e,t){return Ni in e&&e[Ni]!==t[Ni]}e(isIdChange$1,`isIdChange`);function getProperties(e,t){return O(t,function(t,n){return t[n]=e.get(n),t},{})}function setProperties(e,t){N(t,function(t,n){e.set(n,t)})}k();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,ne(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 O(t,function(t,n){return t[n]=e.get(n),t},{})}function setModdleProperties(e,t){N(t,function(t,n){e.set(n,t)})}function Modeling$4(e,t,n){this._canvas=e,this._drdRules=t,n.invoke(xt,this)}e(Modeling$4,`Modeling`),W(Modeling$4,xt),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=xt.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||{}})},k();var Pi=20;function DrdLayouter(e){this._connectionDocking=e}W(DrdLayouter,gt),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=Wn(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(M({},e,{waypoints:a}),r,i);s=l.pop();var u={x:s.x,y:s.y};return c.includes(`bottom`)?u.y+=Pi:c.includes(`top`)?u.y-=Pi:c.includes(`right`)?u.x+=Pi:u.x-=Pi,a=l.concat([u,s]),a}return[o,s]};function getConnectionDocking(e,t){return e?e.original||e:G(t)}var Fi={__init__:[`modeling`,`drdUpdater`],__depends__:[Ai,oi,Ur,ft,Vn,Kn],drdFactory:[`type`,DrdFactory],drdUpdater:[`type`,DrdUpdater],elementFactory:[`type`,ElementFactory$2],modeling:[`type`,Modeling$4],layouter:[`type`,DrdLayouter],connectionDocking:[`type`,F]};k();function DmnOrderingProvider(e,t){st.call(this,e);let n=[{type:`dmn:Association`,order:{level:9}},{type:`dmn:AuthorityRequirement`,order:{level:9}},{type:`dmn:InformationRequirement`,order:{level:9}},{type:`dmn:KnowledgeRequirement`,order:{level:9}},{type:`dmn:Artifact`,order:{level:8}},{type:`dmn:DRGElement`,order:{level:2}}];function computeOrder(e){let t=j(n,function(t){return isAny$1(e,[t.type])});return t&&t.order||{level:1}}function getOrder(e){let t=e.order;if(t||(e.order=t=computeOrder(e)),!t)throw Error(`no order for <${e.id}>`);return t}this.getOrdering=function(e,n){if(e.labelTarget||is$2(e,`dmn:TextAnnotation`))return{parent:t.findRoot(n)||t.getRootElement(),index:-1};let r=getOrder(e),i=n.children.indexOf(e),a=se(n.children,function(t){return!e.labelTarget&&t.labelTarget?!1:r.level<getOrder(t).level});return a!==-1&&i!==-1&&i<a&&--a,{index:a,parent:n}}}DmnOrderingProvider.$inject=[`eventBus`,`canvas`],W(DmnOrderingProvider,st);var Ii={__init__:[`dmnOrderingProvider`],dmnOrderingProvider:[`type`,DmnOrderingProvider]},Li=`
5
5
  M2.45221 16.0068L18.7175 1.74436L18.0615 0.996331L18.7175 1.74436C19.2646 1.26455 19.9676
6
6
  1 20.6953 1H140.926C142.583 1 143.926 2.34295 143.926 3.99967L143.93 37.5457C143.93
7
7
  38.3668 143.593 39.152 142.999 39.7183L143.689 40.4424L142.999 39.7183L127.299
@@ -17,7 +17,7 @@ M1.79494 63.0032L1.2941 63.6423L1.79493 63.0032C1.71778 62.9427 1.6428 62.8741 1
17
17
  63.4531C93.4866 59.3517 87.6891 56.9603 76.3991 58.1057C71.7035 58.5821 66.8747 60.74
18
18
  61.5721 63.1744C61.3243 63.2881 61.0753 63.4026 60.825 63.5177C55.6712 65.8868 49.9696
19
19
  68.5077 43.2365 70.3468C31.101 73.6617 15.2135 73.5179 1.79494 63.0032Z
20
- `,zi={width:135,height:46},Bi={width:100,height:63};function createPath(e,t,n){return B(`path`,{d:e,strokeWidth:2,transform:`translate(${t.x}, ${t.y})`,...n})}O();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=B(`rect`),R(n,j({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(Li,{x:-6,y:-6},t):is$2(e,`dmn:KnowledgeSource`)&&isStandardSize(e,`dmn:KnowledgeSource`)&&(n=createPath(Ri,{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=zi:t===`dmn:KnowledgeSource`&&(n=Bi),e.width===n.width&&e.height===n.height}var Vi={__depends__:[bn],__init__:[`outlineProvider`],outlineProvider:[`type`,OutlineProvider]};O();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(j({type:e},o));n.start(t,i)}return{group:t,className:i,title:a,action:{dragstart:createListener,click:createListener}}}return j(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`)),"create.decision-service":createAction(`dmn:DecisionService`,`drd`,`dmn-icon-decision-service`,o(`Create decision service`))}),t};var Hi={__depends__:[z,Tt,kt,Sn,Lt],__init__:[`paletteProvider`],paletteProvider:[`type`,PaletteProvider]},Ui=`reconnectStart`,Wi=`reconnectEnd`,Gi=2e3;function DrdBendpointSnapping(e){e.on([`bendpoint.move.move`,`bendpoint.move.end`],Gi,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===Ui||o===Wi,c=J(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=G(e),r=W(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=G(e),r=W(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 Ki=250;function DrdConnectSnapping(e){e.on([`connect.hover`,`connect.move`,`connect.end`],Ki,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=J(i,a);t.connectionStart=W(i),t.connectionEnd=r===i?W(a):{x:e.x,y:e.y},o.includes(`bottom`)?(t.connectionStart.y=G(i).top,t.connectionEnd.y=G(a).bottom):o.includes(`top`)?(t.connectionStart.y=G(i).bottom,t.connectionEnd.y=G(a).top):o.includes(`right`)?(t.connectionStart.x=G(i).left,t.connectionEnd.x=G(a).right):(t.connectionStart.x=G(i).right,t.connectionEnd.x=G(a).left)}else delete t.connectionStart,delete t.connectionEnd})}DrdConnectSnapping.$inject=[`eventBus`];var qi={__depends__:[yn],__init__:[`bendpointSnapping`,`connectSnapping`],bendpointSnapping:[`type`,DrdBendpointSnapping],connectSnapping:[`type`,DrdConnectSnapping]},DataTypes$1=class{static{e(this,`DataTypes`)}constructor(e){this._eventBus=e}registerProvider(e,t){t||(t=e,e=null);let callback=function(e){e.providers.push(t)};e===null?this._eventBus.on(`dataTypes.getProviders`,callback):this._eventBus.on(`dataTypes.getProviders`,e,callback)}getAll(){let e=this._eventBus.createEvent({type:`dataTypes.getProviders`,providers:[]});this._eventBus.fire(e);let t=[];for(let n of e.providers)t=normalize$1(n.getDataTypes(t));return t}};DataTypes$1.$inject=[`eventBus`];function normalize$1(e){let t=new Map;return e.forEach(({name:e,label:n,group:r})=>{let i={name:e,label:n??e};if(r){let{id:e,name:t=e}=typeof r==`string`?{id:r}:r;i.group={id:e,name:t}}t.set(e,i)}),[...t.values()]}e(normalize$1,`normalize`);var Ji=[`string`,`boolean`,`number`,`date`,`time`,`date and time`,`days and time duration`,`years and months duration`,`Any`],DefaultDataTypesProvider$1=class{static{e(this,`DefaultDataTypesProvider`)}constructor(e,t,n){this._translate=n,this._dataTypes=e||Ji.map(e=>({name:e,group:{id:`built-in`,name:`Built-ins`}})),t.registerProvider(this)}getDataTypes(e){return[...e,...this._dataTypes.map(e=>this._translateDataType(e))]}_translateDataType(e){let t=this._translate,{name:n,label:r=n,group:i}=typeof e==`string`?{name:e}:e,a={name:n,label:t(r)};if(i){let{id:e,name:n}=typeof i==`string`?{id:i}:i;a.group={id:e,name:n?t(n):e}}return a}};DefaultDataTypesProvider$1.$inject=[`config.dataTypes`,`dataTypes`,`translate`];var ModelDataTypesProvider$1=class{static{e(this,`ModelDataTypesProvider`)}constructor(e,t,n){this._injector=t,this._translate=n,e.registerProvider(500,this)}getDataTypes(e){let t=this._injector.get(`viewer`,!1),n=t&&t.getDefinitions();if(!n)return e;let r={id:`custom`,name:this._translate(`Custom`)},i=new Set(e.map(({name:e})=>e)),a=[];for(let{name:e}of n.get(`itemDefinition`))e&&!i.has(e)&&(i.add(e),a.push({name:e,group:r}));return[...e,...a]}};ModelDataTypesProvider$1.$inject=[`dataTypes`,`injector`,`translate`];var Yi={__depends__:[z],__init__:[`dataTypes`,`defaultDataTypesProvider`,`modelDataTypesProvider`],dataTypes:[`type`,DataTypes$1],defaultDataTypesProvider:[`type`,DefaultDataTypesProvider$1],modelDataTypesProvider:[`type`,ModelDataTypesProvider$1]};function groupDataTypes(e){let t={types:[]},n=[];e.forEach(e=>{if(!e.group)return t.types.push(e);let{id:r,name:i}=e.group,a=n.find(e=>e.id===r);a||(a={id:r,name:i,types:[]},n.push(a)),a.types.push(e)});let r=t.types.length?[t,...n]:n;return r.length<2?r.map(e=>({...e,name:void 0})):r}function getTypeRefOptions$1(e){return groupDataTypes(e).flatMap(({id:e,name:t,types:n})=>n.map(n=>({label:n.label,value:n.name,group:e===void 0?void 0:{id:e,name:t}})))}e(getTypeRefOptions$1,`getTypeRefOptions`);var 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.some(e=>e.name===r)||n.appendChild(this._createOption({name:r,label:r})),groupDataTypes(i).forEach(({name:e,types:t})=>{let r=n;e&&(r=document.createElement(`optgroup`),r.label=e,n.appendChild(r)),t.forEach(e=>r.appendChild(this._createOption(e)))}),n.value=r,t.appendChild(n),n.addEventListener(`change`,t=>{this._setTypeRef(e,t.target.value)}),t}_createOption(e){let t=document.createElement(`option`);return t.value=e.name,t.textContent=e.label,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 Xi={__depends__:[Yi,Ln,z],__init__:[`typeRefDropdown`],typeRefDropdown:[`type`,TypeRefDropdown]},Zi={__depends__:[nn,nt],__init__:[`decisionServiceDivider`],decisionServiceDivider:[`type`,DecisionServiceDivider]};function Modeler$1(e){NavigatedViewer.call(this,e)}e(Modeler$1,`Modeler`),U(Modeler$1,NavigatedViewer),Modeler$1.prototype._modelingModules=[rt,ii,si,un,on,di,Vt,Zi,_i,vi,yi,wi,nt,Ti,Xt,it,Di,Fi,et,Vi,Ii,Hi,Dt,qi,Xi],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),[])}},Qi={__init__:[`dmnVariableProvider`],dmnVariableProvider:[`type`,DmnVariableProvider],variableResolver:[`type`,VariableResolver]};O();var Base=class{constructor(e){j(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})}},$i={root:Root,row:Row,col:Col,cell:Cell};function create(e,t){let n=$i[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`],O();var ea=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(oe(t)&&(n=t,t=ea),!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 ${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 ta={__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)}O();function ThrottleFactory(e=!0){let t=typeof e==`number`?e:e?300:0;return t?e=>C(e,t):e=>e}ThrottleFactory.$inject=[`config.throttle`];var na={__depends__:[ta],__init__:[`elementFactory`,`sheet`],elementFactory:[`type`,ElementFactory$1],elementRegistry:[`type`,ElementRegistry$2],eventBus:[`type`,Wn],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]},na].concat(t||[]),r=new Jn(n);return r.init(),r}e(createInjector$1,`createInjector`);var ra=Table;function elementToString(e){if(!e)return`<null>`;let t=e.id?` id="${e.id}"`:``;return`<${e.$type}${t} />`}O();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){M(e,function(e){visit(e,t,n)})}function handleRules(e,t,n){M(e,function(e){visit(e,t,n),handleEntry(e.inputEntry,e),handleEntry(e.outputEntry,e)})}function handleEntry(e,t,n){M(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 ia={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)}};ia.$inject=[`eventBus`];var BaseCell=class extends ${constructor(e,t){super(e,t),mixin(this,ia),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`)}))}},aa={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})))}};aa.$inject=[`components`];var oa=400,AnnotationHeader=class extends ${constructor(e,t){super(e,t),mixin(this,aa),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`)||oa)+`px`;return createVNode(1,`th`,`annotation header`,[this.slotFills({type:`cell-inner`,context:{cellType:`annotations`,col:this.sheet.getRoot(),minWidth:oa}}),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 sa={__init__:[`annotationsProvider`],annotationsProvider:[`type`,AnnotationsProvider]};O();function elementData(e,t){return j({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(j(elementData(e),{cells:n})),this._sheet.addRow(t)}return this._eventBus.fire(`dmnElement.added`,{element:t}),t}};TableImporter.$inject=[`elementFactory`,`eventBus`,`sheet`];var ca={__depends__:[{__depends__:[z],tableImporter:[`type`,TableImporter]},ta]},DecisionTableHead=class extends ${constructor(e,t){super(e,t),mixin(this,aa),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 la={__init__:[`decisionTableHeadProvider`],decisionTableHeadProvider:[`type`,DecisionTableHeadProvider]},DecisionTablePropertiesComponent$1=class extends ${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 ua=500,DecisionTableProperties$1=class{static{e(this,`DecisionTableProperties`)}constructor(e){e.onGetComponent(`table.before`,ua,()=>DecisionTablePropertiesComponent$1)}};DecisionTableProperties$1.$inject=[`components`];var da={__init__:[`decisionTableProperties`],decisionTableProperties:[`type`,DecisionTableProperties$1]},DecisionRulesIndexCellComponent=class extends ${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 fa={__init__:[`decisionRuleIndices`],decisionRuleIndices:[`type`,DecisionRuleIndices]};O();var pa=[{label:`FEEL`,value:`feel`}],ExpressionLanguages=class{constructor(e){this._injector=e;let t=e.get(`config.expressionLanguages`)||{};this._config={options:pa,defaults:{editor:`feel`}},t.options&&(this._config.options=t.options);let n=this._getLegacyDefaults();j(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 A(this.getAll(),t=>e===t.value)}};ExpressionLanguages.$inject=[`injector`];var ma={__init__:[`expressionLanguages`],expressionLanguages:[`type`,ExpressionLanguages]},FeelLanguageContext=class{constructor(e){this._feelLanguageContext=e}getConfig(){return this._feelLanguageContext}};FeelLanguageContext.$inject=[`config.feelLanguageContext`];var ha={__init__:[`feelLanguageContext`],feelLanguageContext:[`type`,FeelLanguageContext]},DecisionRulesBodyComponent=class extends ${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 ${constructor(e,t){super(e,t),mixin(this,aa)}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 ${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 ga={__depends__:[ma,ha],__init__:[`decisionRules`],decisionRules:[`type`,Rules]},_a=[{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`}];O();var HitPolicy=class extends ${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=A(_a,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 va={__init__:[`hitPolicyProvider`],hitPolicyProvider:[`type`,HitPolicyProvider]},ViewDrdComponent$2=class extends ${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._viewer=r,e.onGetComponent(`table.before`,()=>{if(this.canViewDrd())return ViewDrdComponent$2}),t.on(`showDrd`,()=>{let e=n.get(`_parent`,!1),t=r.getDefinitions();if(!t)return;let i=e.getView(t);e.open(i)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);return e?!!e.getView(this._viewer.getDefinitions()):!1}};ViewDrd$2.$inject=[`components`,`eventBus`,`injector`,`viewer`];var ya={__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 ba={__init__:[`poweredBy`],poweredBy:[`type`,PoweredBy$2]};O();var xa=class Viewer$3 extends ra{static{e(this,`Viewer`)}constructor(e={}){let t=Viewer$3._createContainer();super(j(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:[]})})}getDefinitions(){return getDefinitions$1(this._decision)}_init(e){let{modules:t,additionalModules:n,...r}=e,i=t||this.getModules(),a=n||[],o=[{viewer:[`value`,this]}];return{modules:[ba,...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`,{}),Bn(e))}destroy(){super.destroy(),this.detach()}getModules(){return Viewer$3._getModules()}static _getModules(){return[sa,ca,z,la,da,fa,ga,va,ya]}static _createContainer(){return K(`<div class="dmn-decision-table-container bio-theme-parent"></div>`)}},AddRuleFootComponent=class extends ${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`],O();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 Sa={__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 Ca=[`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(Ca)}),t.on(`table.destroy`,()=>{this._removeEventListeners(Ca)})}_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 H(e,`[data-element-id]`,!0)}var wa={__init__:[`interactionEvents`],interactionEvents:[`type`,InteractionEvents]},Ta=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 Ea,Da;function requireComponentXor(){if(Da)return Ea;Da=1,Ea=xor;function xor(e,t){return e^t}return Ea}var componentProps,Oa;function requireComponentProps(){if(Oa)return componentProps;Oa=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 ka,Aa;function requireDomIterator(){if(Aa)return ka;Aa=1;var e=requireComponentXor(),t=requireComponentProps();ka=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},ka}var ja=getDefaultExportFromCjs(requireDomIterator()),Ma=window.getSelection();function applyRange(e){Ma?.removeAllRanges(),Ma?.addRange(e)}function getWindowSelection(){return Ma}function isSelected(e){if(!Ma?.rangeCount)return null;var t=Ma.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=Ma.getRangeAt(0),n=t.startContainer,r=t.endContainer,i=t.startOffset,a=t.endOffset,o=ja(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=ja(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 Na=`[contenteditable]`,Pa=`[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 q(`[data-coords="${(0,Ta.default)(n)}"]`,t)}function getNodeById(e,t){return q(`[data-element-id="${(0,Ta.default)(e)}"]`,t)}function isUnselectableNode(e){return H(e,`.no-deselect`,!0)}function findSelectableAncestor(e){return H(e,Pa,!0)}function getFocusableNode(e){let t=Na;return Rn(e,t)?e:q(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 Fa=500,Ia={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`,Fa,click),t.on(`cell.focusin`,Fa,focus),t.on(`cell.focusout`,Fa,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 Ia))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 La={__depends__:[wa,Sa],__init__:[`cellSelection`],cellSelection:[`type`,CellSelection]};O();var Ra=2e3,DecisionTableModelingRules=class extends xn{constructor(e,t){super(e),this._sheet=t}init(){this.addRule(`col.move`,Ra,({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`,Ra,({col:e})=>{let{cols:t}=this._sheet.getRoot();return!isOutput(e)||t.filter(e=>isOutput(e)).length>1}),this.addRule(`paste`,Ra,({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 w(e,e=>e.type!==`row`||e.cells.length!==t.length?!1:w(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 w(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 za={__depends__:[{__depends__:[Ut]}],__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`],O();var Ba=[copyTableProperties,copyBusinessObjectProperties],Va=[reviveBusinessObject,reviveTableElement];function createDescriptor(e,t,n){return n||=Ba,t||={},E(e)?createDescriptors0(e,t,n):createDescriptor0(e,t,n)}function createDescriptors0(e,t,n){return D(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 D(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(E(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||=Va,t||={},E(e.root)?reviveDescriptors0(e,t,n):reviveDescriptor0(e,t,n)}function reviveDescriptors0(e,t,n){let r=e.root,i=e.descriptorCache;return D(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 D(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={};re(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=E(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 M(o,e=>{e.$type&&(e.$parent=c),E(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`],O();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){E(e)||(e=[e]);let t={elements:createDescriptor(e)};this._eventBus.fire(`copyCutPaste.copy`,{data:t}),this._clipboard.set(t)}cut(e){E(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 Ha={__depends__:[Mt,za],__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`],O();var Ua=`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,Ua);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);M(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,Ua);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 Ga={__depends__:[Sa],__init__:[`editorActions`],editorActions:[`type`,EditorActions$2]},Ka={__depends__:[La,Ha,Ga,Sa],__init__:[`decisionTableEditorActions`],decisionTableEditorActions:[`type`,DecisionTableEditorActions]},qa={__depends__:[Ka],__init__:[`addRule`],addRule:[`type`,AddRule]},Ja=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=`&quot;`;break;case 38:i=`&amp;`;break;case 39:i=`&#39;`;break;case 60:i=`&lt;`;break;case 62:i=`&gt;`;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 ${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,Ja.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 ${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 ${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`],O();var Ya=300;function debounceInput(e){return function _debounceInput(t){if(e!==!1){var n=pe(e)?e:Ya;return k(t,n)}return t}}debounceInput.$inject=[`config.debounceInput`];var Xa={debounceInput:[`factory`,debounceInput]},Za={__depends__:[Xa],__init__:[`annotationsProvider`],annotationsProvider:[`type`,AnnotationsEditingProvider]};O();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 Qa={position:`absolute`},ContextMenuComponent=class extends ${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 ${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;oe(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`,j(this.node.style,Qa,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 $a=`
20
+ `,zi={width:135,height:46},Bi={width:100,height:63};function createPath(e,t,n){return V(`path`,{d:e,strokeWidth:2,transform:`translate(${t.x}, ${t.y})`,...n})}k();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=V(`rect`),z(n,M({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(Li,{x:-6,y:-6},t):is$2(e,`dmn:KnowledgeSource`)&&isStandardSize(e,`dmn:KnowledgeSource`)&&(n=createPath(Ri,{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=zi:t===`dmn:KnowledgeSource`&&(n=Bi),e.width===n.width&&e.height===n.height}var Vi={__depends__:[yn],__init__:[`outlineProvider`],outlineProvider:[`type`,OutlineProvider]};k();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(M({type:e},o));n.start(t,i)}return{group:t,className:i,title:a,action:{dragstart:createListener,click:createListener}}}return M(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`)),"create.decision-service":createAction(`dmn:DecisionService`,`drd`,`dmn-icon-decision-service`,o(`Create decision service`))}),t};var Hi={__depends__:[B,wt,Ot,xn,It],__init__:[`paletteProvider`],paletteProvider:[`type`,PaletteProvider]},Ui=`reconnectStart`,Wi=`reconnectEnd`,Gi=2e3;function DrdBendpointSnapping(e){e.on([`bendpoint.move.move`,`bendpoint.move.end`],Gi,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===Ui||o===Wi,c=Wn(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=K(e),r=G(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=K(e),r=G(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 Ki=250;function DrdConnectSnapping(e){e.on([`connect.hover`,`connect.move`,`connect.end`],Ki,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=Wn(i,a);t.connectionStart=G(i),t.connectionEnd=r===i?G(a):{x:e.x,y:e.y},o.includes(`bottom`)?(t.connectionStart.y=K(i).top,t.connectionEnd.y=K(a).bottom):o.includes(`top`)?(t.connectionStart.y=K(i).bottom,t.connectionEnd.y=K(a).top):o.includes(`right`)?(t.connectionStart.x=K(i).left,t.connectionEnd.x=K(a).right):(t.connectionStart.x=K(i).right,t.connectionEnd.x=K(a).left)}else delete t.connectionStart,delete t.connectionEnd})}DrdConnectSnapping.$inject=[`eventBus`];var qi={__depends__:[vn],__init__:[`bendpointSnapping`,`connectSnapping`],bendpointSnapping:[`type`,DrdBendpointSnapping],connectSnapping:[`type`,DrdConnectSnapping]},DataTypes$1=class{static{e(this,`DataTypes`)}constructor(e){this._eventBus=e}registerProvider(e,t){t||(t=e,e=null);let callback=function(e){e.providers.push(t)};e===null?this._eventBus.on(`dataTypes.getProviders`,callback):this._eventBus.on(`dataTypes.getProviders`,e,callback)}getAll(){let e=this._eventBus.createEvent({type:`dataTypes.getProviders`,providers:[]});this._eventBus.fire(e);let t=[];for(let n of e.providers)t=normalize$1(n.getDataTypes(t));return t}};DataTypes$1.$inject=[`eventBus`];function normalize$1(e){let t=new Map;return e.forEach(({name:e,label:n,group:r})=>{let i={name:e,label:n??e};if(r){let{id:e,name:t=e}=typeof r==`string`?{id:r}:r;i.group={id:e,name:t}}t.set(e,i)}),[...t.values()]}e(normalize$1,`normalize`);var Ji=[`string`,`boolean`,`number`,`date`,`time`,`date and time`,`days and time duration`,`years and months duration`,`Any`],DefaultDataTypesProvider$1=class{static{e(this,`DefaultDataTypesProvider`)}constructor(e,t,n){this._translate=n,this._dataTypes=e||Ji.map(e=>({name:e,group:{id:`built-in`,name:`Built-ins`}})),t.registerProvider(this)}getDataTypes(e){return[...e,...this._dataTypes.map(e=>this._translateDataType(e))]}_translateDataType(e){let t=this._translate,{name:n,label:r=n,group:i}=typeof e==`string`?{name:e}:e,a={name:n,label:t(r)};if(i){let{id:e,name:n}=typeof i==`string`?{id:i}:i;a.group={id:e,name:n?t(n):e}}return a}};DefaultDataTypesProvider$1.$inject=[`config.dataTypes`,`dataTypes`,`translate`];var ModelDataTypesProvider$1=class{static{e(this,`ModelDataTypesProvider`)}constructor(e,t,n){this._injector=t,this._translate=n,e.registerProvider(500,this)}getDataTypes(e){let t=this._injector.get(`viewer`,!1),n=t&&t.getDefinitions();if(!n)return e;let r={id:`custom`,name:this._translate(`Custom`)},i=new Set(e.map(({name:e})=>e)),a=[];for(let{name:e}of n.get(`itemDefinition`))e&&!i.has(e)&&(i.add(e),a.push({name:e,group:r}));return[...e,...a]}};ModelDataTypesProvider$1.$inject=[`dataTypes`,`injector`,`translate`];var Yi={__depends__:[B],__init__:[`dataTypes`,`defaultDataTypesProvider`,`modelDataTypesProvider`],dataTypes:[`type`,DataTypes$1],defaultDataTypesProvider:[`type`,DefaultDataTypesProvider$1],modelDataTypesProvider:[`type`,ModelDataTypesProvider$1]};function groupDataTypes(e){let t={types:[]},n=[];e.forEach(e=>{if(!e.group)return t.types.push(e);let{id:r,name:i}=e.group,a=n.find(e=>e.id===r);a||(a={id:r,name:i,types:[]},n.push(a)),a.types.push(e)});let r=t.types.length?[t,...n]:n;return r.length<2?r.map(e=>({...e,name:void 0})):r}function getTypeRefOptions$1(e){return groupDataTypes(e).flatMap(({id:e,name:t,types:n})=>n.map(n=>({label:n.label,value:n.name,group:e===void 0?void 0:{id:e,name:t}})))}e(getTypeRefOptions$1,`getTypeRefOptions`);var 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.some(e=>e.name===r)||n.appendChild(this._createOption({name:r,label:r})),groupDataTypes(i).forEach(({name:e,types:t})=>{let r=n;e&&(r=document.createElement(`optgroup`),r.label=e,n.appendChild(r)),t.forEach(e=>r.appendChild(this._createOption(e)))}),n.value=r,t.appendChild(n),n.addEventListener(`change`,t=>{this._setTypeRef(e,t.target.value)}),t}_createOption(e){let t=document.createElement(`option`);return t.value=e.name,t.textContent=e.label,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 Xi={__depends__:[Yi,In,B],__init__:[`typeRefDropdown`],typeRefDropdown:[`type`,TypeRefDropdown]},Zi={__depends__:[tn,tt],__init__:[`decisionServiceDivider`],decisionServiceDivider:[`type`,DecisionServiceDivider]};function Modeler$1(e){NavigatedViewer.call(this,e)}e(Modeler$1,`Modeler`),W(Modeler$1,NavigatedViewer),Modeler$1.prototype._modelingModules=[nt,ii,si,ln,an,di,Bt,Zi,_i,vi,yi,wi,tt,Ti,Yt,rt,Di,Fi,$e,Vi,Ii,Hi,Et,qi,Xi],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),[])}},Qi={__init__:[`dmnVariableProvider`],dmnVariableProvider:[`type`,DmnVariableProvider],variableResolver:[`type`,VariableResolver]};k();var Base=class{constructor(e){M(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})}},$i={root:Root,row:Row,col:Col,cell:Cell};function create(e,t){let n=$i[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`],k();var ea=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(ae(t)&&(n=t,t=ea),!fe(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 ${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 ta={__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)}k();function ThrottleFactory(e=!0){let t=typeof e==`number`?e:e?300:0;return t?e=>w(e,t):e=>e}ThrottleFactory.$inject=[`config.throttle`];var na={__depends__:[ta],__init__:[`elementFactory`,`sheet`],elementFactory:[`type`,ElementFactory$1],elementRegistry:[`type`,ElementRegistry$2],eventBus:[`type`,Un],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]},na].concat(t||[]),r=new Jn(n);return r.init(),r}e(createInjector$1,`createInjector`);var ra=Table;function elementToString(e){if(!e)return`<null>`;let t=e.id?` id="${e.id}"`:``;return`<${e.$type}${t} />`}k();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){N(e,function(e){visit(e,t,n)})}function handleRules(e,t,n){N(e,function(e){visit(e,t,n),handleEntry(e.inputEntry,e),handleEntry(e.outputEntry,e)})}function handleEntry(e,t,n){N(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 ia={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)}};ia.$inject=[`eventBus`];var BaseCell=class extends ${constructor(e,t){super(e,t),mixin(this,ia),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`)}))}},aa={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})))}};aa.$inject=[`components`];var oa=400,AnnotationHeader=class extends ${constructor(e,t){super(e,t),mixin(this,aa),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`)||oa)+`px`;return createVNode(1,`th`,`annotation header`,[this.slotFills({type:`cell-inner`,context:{cellType:`annotations`,col:this.sheet.getRoot(),minWidth:oa}}),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 sa={__init__:[`annotationsProvider`],annotationsProvider:[`type`,AnnotationsProvider]};k();function elementData(e,t){return M({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(M(elementData(e),{cells:n})),this._sheet.addRow(t)}return this._eventBus.fire(`dmnElement.added`,{element:t}),t}};TableImporter.$inject=[`elementFactory`,`eventBus`,`sheet`];var ca={__depends__:[{__depends__:[B],tableImporter:[`type`,TableImporter]},ta]},DecisionTableHead=class extends ${constructor(e,t){super(e,t),mixin(this,aa),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 la={__init__:[`decisionTableHeadProvider`],decisionTableHeadProvider:[`type`,DecisionTableHeadProvider]},DecisionTablePropertiesComponent$1=class extends ${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 ua=500,DecisionTableProperties$1=class{static{e(this,`DecisionTableProperties`)}constructor(e){e.onGetComponent(`table.before`,ua,()=>DecisionTablePropertiesComponent$1)}};DecisionTableProperties$1.$inject=[`components`];var da={__init__:[`decisionTableProperties`],decisionTableProperties:[`type`,DecisionTableProperties$1]},DecisionRulesIndexCellComponent=class extends ${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 fa={__init__:[`decisionRuleIndices`],decisionRuleIndices:[`type`,DecisionRuleIndices]};k();var pa=[{label:`FEEL`,value:`feel`}],ExpressionLanguages=class{constructor(e){this._injector=e;let t=e.get(`config.expressionLanguages`)||{};this._config={options:pa,defaults:{editor:`feel`}},t.options&&(this._config.options=t.options);let n=this._getLegacyDefaults();M(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 j(this.getAll(),t=>e===t.value)}};ExpressionLanguages.$inject=[`injector`];var ma={__init__:[`expressionLanguages`],expressionLanguages:[`type`,ExpressionLanguages]},FeelLanguageContext=class{constructor(e){this._feelLanguageContext=e}getConfig(){return this._feelLanguageContext}};FeelLanguageContext.$inject=[`config.feelLanguageContext`];var ha={__init__:[`feelLanguageContext`],feelLanguageContext:[`type`,FeelLanguageContext]},DecisionRulesBodyComponent=class extends ${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 ${constructor(e,t){super(e,t),mixin(this,aa)}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 ${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 ga={__depends__:[ma,ha],__init__:[`decisionRules`],decisionRules:[`type`,Rules]},_a=[{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`}];k();var HitPolicy=class extends ${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=j(_a,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 va={__init__:[`hitPolicyProvider`],hitPolicyProvider:[`type`,HitPolicyProvider]},ViewDrdComponent$2=class extends ${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._viewer=r,e.onGetComponent(`table.before`,()=>{if(this.canViewDrd())return ViewDrdComponent$2}),t.on(`showDrd`,()=>{let e=n.get(`_parent`,!1),t=r.getDefinitions();if(!t)return;let i=e.getView(t);e.open(i)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);return e?!!e.getView(this._viewer.getDefinitions()):!1}};ViewDrd$2.$inject=[`components`,`eventBus`,`injector`,`viewer`];var ya={__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 ba={__init__:[`poweredBy`],poweredBy:[`type`,PoweredBy$2]};k();var xa=class Viewer$3 extends ra{static{e(this,`Viewer`)}constructor(e={}){let t=Viewer$3._createContainer();super(M(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:[]})})}getDefinitions(){return getDefinitions$1(this._decision)}_init(e){let{modules:t,additionalModules:n,...r}=e,i=t||this.getModules(),a=n||[],o=[{viewer:[`value`,this]}];return{modules:[ba,...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`,{}),zn(e))}destroy(){super.destroy(),this.detach()}getModules(){return Viewer$3._getModules()}static _getModules(){return[sa,ca,B,la,da,fa,ga,va,ya]}static _createContainer(){return q(`<div class="dmn-decision-table-container bio-theme-parent"></div>`)}},AddRuleFootComponent=class extends ${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`],k();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){de(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 Sa={__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 Ca=[`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(Ca)}),t.on(`table.destroy`,()=>{this._removeEventListeners(Ca)})}_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 U(e,`[data-element-id]`,!0)}var wa={__init__:[`interactionEvents`],interactionEvents:[`type`,InteractionEvents]},Ta=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 Ea,Da;function requireComponentXor(){if(Da)return Ea;Da=1,Ea=xor;function xor(e,t){return e^t}return Ea}var componentProps,Oa;function requireComponentProps(){if(Oa)return componentProps;Oa=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 ka,Aa;function requireDomIterator(){if(Aa)return ka;Aa=1;var e=requireComponentXor(),t=requireComponentProps();ka=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},ka}var ja=getDefaultExportFromCjs(requireDomIterator()),Ma=window.getSelection();function applyRange(e){Ma?.removeAllRanges(),Ma?.addRange(e)}function getWindowSelection(){return Ma}function isSelected(e){if(!Ma?.rangeCount)return null;var t=Ma.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=Ma.getRangeAt(0),n=t.startContainer,r=t.endContainer,i=t.startOffset,a=t.endOffset,o=ja(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=ja(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 Na=`[contenteditable]`,Pa=`[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 J(`[data-coords="${(0,Ta.default)(n)}"]`,t)}function getNodeById(e,t){return J(`[data-element-id="${(0,Ta.default)(e)}"]`,t)}function isUnselectableNode(e){return U(e,`.no-deselect`,!0)}function findSelectableAncestor(e){return U(e,Pa,!0)}function getFocusableNode(e){let t=Na;return Ln(e,t)?e:J(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 Fa=500,Ia={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`,Fa,click),t.on(`cell.focusin`,Fa,focus),t.on(`cell.focusout`,Fa,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 Ia))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 La={__depends__:[wa,Sa],__init__:[`cellSelection`],cellSelection:[`type`,CellSelection]};k();var Ra=2e3,DecisionTableModelingRules=class extends bn{constructor(e,t){super(e),this._sheet=t}init(){this.addRule(`col.move`,Ra,({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`,Ra,({col:e})=>{let{cols:t}=this._sheet.getRoot();return!isOutput(e)||t.filter(e=>isOutput(e)).length>1}),this.addRule(`paste`,Ra,({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 T(e,e=>e.type!==`row`||e.cells.length!==t.length?!1:T(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 T(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 za={__depends__:[{__depends__:[Ht]}],__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`],k();var Ba=[copyTableProperties,copyBusinessObjectProperties],Va=[reviveBusinessObject,reviveTableElement];function createDescriptor(e,t,n){return n||=Ba,t||={},D(e)?createDescriptors0(e,t,n):createDescriptor0(e,t,n)}function createDescriptors0(e,t,n){return O(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 O(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(D(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||=Va,t||={},D(e.root)?reviveDescriptors0(e,t,n):reviveDescriptor0(e,t,n)}function reviveDescriptors0(e,t,n){let r=e.root,i=e.descriptorCache;return O(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 O(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={};ne(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=D(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 N(o,e=>{e.$type&&(e.$parent=c),D(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`],k();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){D(e)||(e=[e]);let t={elements:createDescriptor(e)};this._eventBus.fire(`copyCutPaste.copy`,{data:t}),this._clipboard.set(t)}cut(e){D(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 Ha={__depends__:[jt,za],__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`],k();var Ua=`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,Ua);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);N(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,Ua);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 Ga={__depends__:[Sa],__init__:[`editorActions`],editorActions:[`type`,EditorActions$2]},Ka={__depends__:[La,Ha,Ga,Sa],__init__:[`decisionTableEditorActions`],decisionTableEditorActions:[`type`,DecisionTableEditorActions]},qa={__depends__:[Ka],__init__:[`addRule`],addRule:[`type`,AddRule]},Ja=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=`&quot;`;break;case 38:i=`&amp;`;break;case 39:i=`&#39;`;break;case 60:i=`&lt;`;break;case 62:i=`&gt;`;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 ${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,Ja.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 ${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 ${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`],k();var Ya=300;function debounceInput(e){return function _debounceInput(t){if(e!==!1){var n=fe(e)?e:Ya;return A(t,n)}return t}}debounceInput.$inject=[`config.debounceInput`];var Xa={debounceInput:[`factory`,debounceInput]},Za={__depends__:[Xa],__init__:[`annotationsProvider`],annotationsProvider:[`type`,AnnotationsEditingProvider]};k();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 Qa={position:`absolute`},ContextMenuComponent=class extends ${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 ${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;ae(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`,M(this.node.style,Qa,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 $a=`
21
21
  input[type=text],
22
22
  input[type=number],
23
23
  input[type=button],
@@ -27,15 +27,15 @@ M1.79494 63.0032L1.2941 63.6423L1.79493 63.0032C1.71778 62.9427 1.6428 62.8741 1
27
27
  a[href],
28
28
  textarea,
29
29
  button
30
- `;function ensureFocus(e){var t=q($a,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=H(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 eo={__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`,()=>{I.bind(document,`copy`,this._clearClipboard,!0),I.bind(document,`cut`,this._clearClipboard,!0)}),t.on(`keyboard.unbind`,()=>{I.unbind(document,`copy`,this._clearClipboard,!0),I.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 to={__depends__:[Mt,La],__init__:[`copyCutPasteKeyBindings`],copyCutPasteKeyBindings:[`type`,CopyPasteKeyBindings]},CreateInputsHeaderCell=class extends ${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 ${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 no=500,CreateInputsProvider=class{constructor(e,t){e.onGetComponent(`cell`,no,({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 ro={__depends__:[Ka],__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 io=[`row.add`,`row.remove`,`col.add`,`col.remove`],ContextMenuCloseBehavior=class{constructor(e,t){t.on(`commandStack.executed`,({command:t})=>{io.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&&V(e).remove(`focused`)};getEntries=()=>Array.from(kn(`.context-menu-group-entry`)).filter(e=>!V(e).has(`disabled`));getActiveEntries=e=>{let t=q(`.context-menu-group-entry:hover`,e),n=q(`.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;V(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),V(r).remove(`focused`),V(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 ao={__depends__:[Ka,eo,za],__init__:[`decisionTableContextMenu`,`contextMenuCloseBehavior`,`contextMenuKeyboard`],decisionTableContextMenu:[`type`,ContextMenu],contextMenuCloseBehavior:[`type`,ContextMenuCloseBehavior],contextMenuKeyboard:[`type`,ContextMenuKeyboard]},OutputCell=class extends ${constructor(e,t){super(e,t),mixin(this,aa),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 ${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 ${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 ${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 ${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=H(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(!Rn(e,`.output-cell + .output-cell`))return{x:-1,y:0}}var InputCell=class extends ${constructor(e,t){super(e,t),mixin(this,aa),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 ${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 qe({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:[Yn.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 ${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`,onInput:this.handleValue,value:t||``,variables:r})],4)],4,{onKeyDown:this.handleKeyDown})}},InputCellContextMenu=class extends ${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 ${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}=H(r,`th`,!0).getBoundingClientRect();t.open({x:i,y:a,align:`bottom-right`},{contextMenuType:`input-edit`,input:n})})}};InputCellProvider.$inject=[`components`,`contextMenu`,`eventBus`,`renderer`],O();var InputSelect=class extends ${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();j(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=K(`<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),Bn(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){let{label:n}=this.props,renderOption=e=>createVNode(1,`div`,[`option`,t===e?`active`:``].join(` `),e.label,0,{role:`option`,"aria-selected":t===e,"data-value":e.value,onClick:t=>this.onOptionClick(e.value,t)});return createVNode(1,`div`,`options`,groupOptions(e).flatMap(({group:e,options:t})=>!e||!e.name?t.map(renderOption):createVNode(1,`div`,null,[createVNode(1,`div`,`group-label`,e.name,0,{"aria-hidden":`true`}),t.map(renderOption)],0,{role:`group`,"aria-label":e.name})),0,{role:`listbox`,"aria-label":n})}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()}function groupOptions(e){let t=[];return e.forEach(e=>{let n=t[t.length-1];if(n&&getGroupId(n.group)===getGroupId(e.group))return n.options.push(e);t.push({group:e.group,options:[e]})}),t}function getGroupId(e){return e&&e.id}var TypeRefCellContextMenu=class extends ${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=getTypeRefOptions$1(this._dataTypes.getAll()),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)}},oo=750,TypeRef$1=class{static{e(this,`TypeRef`)}constructor(e){e.onGetComponent(`context-menu`,oo,(e={})=>{let{contextMenuType:t}=e;if(t===`input-edit`||t===`output-edit`)return TypeRefCellContextMenu})}};TypeRef$1.$inject=[`components`];var so={__depends__:[eo,Yi],__init__:[`typeRefEditingProvider`],typeRefEditingProvider:[`type`,TypeRef$1]},AllowedValuesUpdateBehavior=class extends Y{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`],O();var co=`radio`,lo=`remove dmn-icon-clear`,List=class extends ${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===co&&(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(le(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`,lo,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 ${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 ${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 uo=500,InputOutputValues=class{constructor(e){e.onGetComponent(`context-menu`,uo,(e={})=>{let{contextMenuType:t}=e;if(t===`input-edit`||t===`output-edit`)return AllowedValuesEditing})}};InputOutputValues.$inject=[`components`];var fo={__init__:[`allowedValuesUpdateBehavior`,`allowedValuesEditingProvider`],allowedValuesUpdateBehavior:[`type`,AllowedValuesUpdateBehavior],allowedValuesEditingProvider:[`type`,InputOutputValues]},AddInput=class extends ${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 ${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 po={__depends__:[Ka],__init__:[`addInputOutputProvider`],addInputOutputProvider:[`type`,AddInputOutputProvider]},mo=`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(mo)),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(mo)),this.unbind(),e=this._node=this._target,I.bind(e,`keydown`,this._keyHandler),this._fire(`bind`)}getBinding(){return this._node}unbind=()=>{var e=this._node;e&&(this._fire(`unbind`),I.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 ho={__depends__:[Ka],__init__:[`keyboard`],keyboard:[`type`,Keyboard$1]},go={__depends__:[po,fo,eo,Xa,ma,ha,ho,so],__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 _o=`.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=H(t,_o,!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(){I.bind(document,`dragover`,this.handleDragOver),I.bind(document,`drop`,this.handleDrop),I.bind(document,`dragend`,this.handleDragEnd)}_unbindListeners(){I.unbind(document,`dragover`,this.handleDragOver),I.unbind(document,`drop`,this.handleDrop),I.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 vo={__init__:[`dragAndDrop`],dragAndDrop:[`type`,DragAndDrop$1]};O();var yo=`top`,bo=`right`,xo=`bottom`,So=`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===yo?highlightRow(a,o,`top`):highlightRow(a,o,`bottom`)),r instanceof Col&&(s===So?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=K(`<span style="
30
+ `;function ensureFocus(e){var t=J($a,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=U(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 eo={__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`,()=>{L.bind(document,`copy`,this._clearClipboard,!0),L.bind(document,`cut`,this._clearClipboard,!0)}),t.on(`keyboard.unbind`,()=>{L.unbind(document,`copy`,this._clearClipboard,!0),L.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 to={__depends__:[jt,La],__init__:[`copyCutPasteKeyBindings`],copyCutPasteKeyBindings:[`type`,CopyPasteKeyBindings]},CreateInputsHeaderCell=class extends ${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 ${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 no=500,CreateInputsProvider=class{constructor(e,t){e.onGetComponent(`cell`,no,({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 ro={__depends__:[Ka],__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 io=[`row.add`,`row.remove`,`col.add`,`col.remove`],ContextMenuCloseBehavior=class{constructor(e,t){t.on(`commandStack.executed`,({command:t})=>{io.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&&H(e).remove(`focused`)};getEntries=()=>Array.from(On(`.context-menu-group-entry`)).filter(e=>!H(e).has(`disabled`));getActiveEntries=e=>{let t=J(`.context-menu-group-entry:hover`,e),n=J(`.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;H(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),H(r).remove(`focused`),H(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 ao={__depends__:[Ka,eo,za],__init__:[`decisionTableContextMenu`,`contextMenuCloseBehavior`,`contextMenuKeyboard`],decisionTableContextMenu:[`type`,ContextMenu],contextMenuCloseBehavior:[`type`,ContextMenuCloseBehavior],contextMenuKeyboard:[`type`,ContextMenuKeyboard]},OutputCell=class extends ${constructor(e,t){super(e,t),mixin(this,aa),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 ${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 ${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 ${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 ${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=U(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(!Ln(e,`.output-cell + .output-cell`))return{x:-1,y:0}}var InputCell=class extends ${constructor(e,t){super(e,t),mixin(this,aa),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 ${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 Ke({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:[Yn.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 ${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`,onInput:this.handleValue,value:t||``,variables:r})],4)],4,{onKeyDown:this.handleKeyDown})}},InputCellContextMenu=class extends ${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 ${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}=U(r,`th`,!0).getBoundingClientRect();t.open({x:i,y:a,align:`bottom-right`},{contextMenuType:`input-edit`,input:n})})}};InputCellProvider.$inject=[`components`,`contextMenu`,`eventBus`,`renderer`],k();var InputSelect=class extends ${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();M(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=q(`<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),zn(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){let{label:n}=this.props,renderOption=e=>createVNode(1,`div`,[`option`,t===e?`active`:``].join(` `),e.label,0,{role:`option`,"aria-selected":t===e,"data-value":e.value,onClick:t=>this.onOptionClick(e.value,t)});return createVNode(1,`div`,`options`,groupOptions(e).flatMap(({group:e,options:t})=>!e||!e.name?t.map(renderOption):createVNode(1,`div`,null,[createVNode(1,`div`,`group-label`,e.name,0,{"aria-hidden":`true`}),t.map(renderOption)],0,{role:`group`,"aria-label":e.name})),0,{role:`listbox`,"aria-label":n})}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()}function groupOptions(e){let t=[];return e.forEach(e=>{let n=t[t.length-1];if(n&&getGroupId(n.group)===getGroupId(e.group))return n.options.push(e);t.push({group:e.group,options:[e]})}),t}function getGroupId(e){return e&&e.id}var TypeRefCellContextMenu=class extends ${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=getTypeRefOptions$1(this._dataTypes.getAll()),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)}},oo=750,TypeRef$1=class{static{e(this,`TypeRef`)}constructor(e){e.onGetComponent(`context-menu`,oo,(e={})=>{let{contextMenuType:t}=e;if(t===`input-edit`||t===`output-edit`)return TypeRefCellContextMenu})}};TypeRef$1.$inject=[`components`];var so={__depends__:[eo,Yi],__init__:[`typeRefEditingProvider`],typeRefEditingProvider:[`type`,TypeRef$1]},AllowedValuesUpdateBehavior=class extends Y{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`],k();var co=`radio`,lo=`remove dmn-icon-clear`,List=class extends ${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===co&&(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`,lo,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 ${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 ${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 uo=500,InputOutputValues=class{constructor(e){e.onGetComponent(`context-menu`,uo,(e={})=>{let{contextMenuType:t}=e;if(t===`input-edit`||t===`output-edit`)return AllowedValuesEditing})}};InputOutputValues.$inject=[`components`];var fo={__init__:[`allowedValuesUpdateBehavior`,`allowedValuesEditingProvider`],allowedValuesUpdateBehavior:[`type`,AllowedValuesUpdateBehavior],allowedValuesEditingProvider:[`type`,InputOutputValues]},AddInput=class extends ${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 ${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 po={__depends__:[Ka],__init__:[`addInputOutputProvider`],addInputOutputProvider:[`type`,AddInputOutputProvider]},mo=`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(mo)),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(mo)),this.unbind(),e=this._node=this._target,L.bind(e,`keydown`,this._keyHandler),this._fire(`bind`)}getBinding(){return this._node}unbind=()=>{var e=this._node;e&&(this._fire(`unbind`),L.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 ho={__depends__:[Ka],__init__:[`keyboard`],keyboard:[`type`,Keyboard$1]},go={__depends__:[po,fo,eo,Xa,ma,ha,ho,so],__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 _o=`.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=U(t,_o,!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(){L.bind(document,`dragover`,this.handleDragOver),L.bind(document,`drop`,this.handleDrop),L.bind(document,`dragend`,this.handleDragEnd)}_unbindListeners(){L.unbind(document,`dragover`,this.handleDragOver),L.unbind(document,`drop`,this.handleDrop),L.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 vo={__init__:[`dragAndDrop`],dragAndDrop:[`type`,DragAndDrop$1]};k();var yo=`top`,bo=`right`,xo=`bottom`,So=`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===yo?highlightRow(a,o,`top`):highlightRow(a,o,`bottom`)),r instanceof Col&&(s===So?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=q(`<span style="
32
32
  visibility: hidden;
33
33
  position: fixed;
34
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&&=(Bn(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=kn(`[data-row-id=${r}]`,t);M(i,e=>{isNode(e)&&(V(e).add(`dragover`),V(e).add(n))})}function highlightCol(e,t,n){let r=e.dataset.colId;if(!r)return;let i=kn(`[data-col-id=${r}]`,t);M(i,e=>{isNode(e)&&(V(e).add(`dragover`),V(e).add(n))})}function removeHighlight(e){let t=kn(`.dragover`,e);M(t,e=>{isNode(e)&&(V(e).remove(`dragover`),V(e).remove(`top`),V(e).remove(`right`),V(e).remove(`bottom`),V(e).remove(`left`))})}function fadeOutRow(e,t){let n=kn(`[data-row-id=${e.id}]`,t);M(n,e=>{isNode(e)&&V(e).add(`dragged`)})}function fadeOutCol(e,t){let n=kn(`[data-col-id=${e.id}]`,t);M(n,e=>{isNode(e)&&V(e).add(`dragged`)})}function removeFadeOut(e){let t=kn(`.dragged`,e);M(t,e=>{isNode(e)&&V(e).remove(`dragged`)})}function getHorizontalPosition(e,t){let n=t.getBoundingClientRect();return e.clientX<n.left+n.width/2?So:bo}function getVerticalPosition(e,t){let n=t.getBoundingClientRect();return e.clientY<n.top+n.height/2?yo:xo}function getTargetRow(e,t,n,r){return r.indexOf(e)>r.indexOf(t)&&(t=getRowBelow(t,r)),n===yo?getRowAbove(t,r):t}function getTargetCol(e,t,n,r){return r.indexOf(e)>r.indexOf(t)&&(t=getColRight(t,r)),n===So?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 Co={__depends__:[vo,za],__init__:[`dmnDragAndDrop`],dmnDragAndDrop:[`type`,DragAndDrop]};O();var DescriptionEditor=class extends ${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 q(`.content-editable`,e)}O();var wo=500,To=750,Eo=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`,To,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`,wo,(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-Eo,y:n+e.parentNode.scrollTop,width:i+52,height:a}}function getDescription(e){return e&&e.businessObject&&e.businessObject.description}var Do={__depends__:[eo,wa],__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__:[ma],__init__:[`expressionLanguage`],expressionLanguage:[`type`,ExpressionLanguage$1]},DecisionTablePropertiesComponent=class extends ${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,ia)}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 ko=500,DecisionTableProperties=class{constructor(e){e.onGetComponent(`table.before`,ko,()=>DecisionTablePropertiesComponent)}};DecisionTableProperties.$inject=[`components`];var Ao={__depends__:[Xa],__init__:[`decisionTableProperties`],decisionTableProperties:[`type`,DecisionTableProperties]};O();var EditableHitPolicy=class extends ${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=A(_a,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:_a.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 jo={__depends__:[eo],__init__:[`hitPolicyProvider`],hitPolicyProvider:[`type`,HitPolicyEditingProvider]},DmnUpdater=class extends Y{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}};O();var Mo=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)}};Mo.$inject=[`eventBus`,`elementFactory`,`commandStack`];function registerHandlers$2(e,t){M(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}O();var No=`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 D(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===No&&isIdChange(e,r)&&(n.unclaim(e[No]),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[No]!==t}function isContainer(e){return T(e)&&se(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`],O();var Po=class Modeling$2 extends Mo{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 j({},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`],O();var IdClaimBehavior=class extends Y{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&&(E(n)&&n.forEach(e=>this.claimId(e)),n.$type&&this.claimId(n))})}};IdClaimBehavior.$inject=[`eventBus`,`moddle`,`modeling`],O();var IdUnclaimBehavior=class extends Y{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&&(E(n)&&n.forEach(e=>this.unclaimId(e)),n.$type&&this.unclaimId(n))})}};IdUnclaimBehavior.$inject=[`eventBus`,`modeling`];var Fo={__init__:[`dmnUpdater`,`idChangeBehavior`,`nameChangeBehavior`,`modeling`],__depends__:[{__init__:[`idClaimBehavior`,`idUnclaimBehavior`],idClaimBehavior:[`type`,IdClaimBehavior],idUnclaimBehavior:[`type`,IdUnclaimBehavior]},pt],dmnUpdater:[`type`,DmnUpdater],dmnFactory:[`type`,DmnFactory$1],elementFactory:[`type`,ElementFactory],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],modeling:[`type`,Po]};O();var DecisionRulesCellEditorComponent=class extends ${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 ${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 ${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)}},Io=1500,RulesEditor=class{constructor(e){e.onGetComponent(`cell`,Io,({cellType:e})=>{if(e===`rule`)return DecisionRulesCellEditorComponent})}};RulesEditor.$inject=[`components`];var Lo={__depends__:[Xa,ga],__init__:[`decisionRulesEditor`],decisionRulesEditor:[`type`,RulesEditor]};O();var Ro=4,SimpleModeButtonComponent=class extends ${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+Ro+s+`px`:-i.left+a.left+a.width-Ro+s+`px`,l.top=a.top+a.height/2>i.height/2?-i.top+a.top-o.height+Ro+c+`px`:-i.top+a.top-Ro+c+`px`,j(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=H(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 zo={__depends__:[eo,La,ma],__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 Bo=`true`,Vo=`false`,Ho=`none`,BooleanEdit=class extends ${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||Ho},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===Ho?``:e),this.setState({value:e})}render(){let{value:e}=this.state,t=[{label:`-`,value:Ho},{label:this._translate(`Yes`),value:Bo},{label:this._translate(`No`),value:Vo}];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 Uo={__depends__:[ho,zo],__init__:[`simpleBooleanEdit`],simpleBooleanEdit:[`type`,SimpleBooleanEdit]},Wo=/^\d{4}(?:-\d\d){2}$/,Go=/^\[date\("([^"]*)"\)..date\("([^"]*)"\)\]$/,Ko=/^(<|>)\s*date\("([^"]*)"\)$/,qo=/^date\("([^"]*)"\)$/,Jo=`exact`,Yo=`before`,Xo=`after`,Zo=`between`;function validateISOString$2(e){if(!Wo.test(e.trim()))return`Date must match pattern yyyy-MM-dd`}e(validateISOString$2,`validateISOString`);function getDateString$1(e,t){if(e===Jo)return`date("${t[0]}")`;if(e===Yo)return`< date("${t[0]}")`;if(e===Xo)return`> date("${t[0]}")`;if(e===Zo)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(Go);if(t)return{type:`between`,dates:[t[1],t[2]]};if(t=e.match(Ko),t)return{type:t[1]===`<`?`before`:`after`,date:t[2]};if(t=e.match(qo),t)return{type:`exact`,date:t[1]}}e(parseString$4,`parseString`);var Qo=`exact`,$o=`before`,es=`after`,ts=`between`,InputDateEdit$1=class extends ${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:Qo,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:Qo},{label:this._translate(`Before`),value:$o},{label:this._translate(`After`),value:es},{label:this._translate(`Between`),value:ts}];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===ts?this._translate(`Edit start date`):this._translate(`Set date`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:t===ts?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===ts&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end date`),0),t===ts&&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 ${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. {sample}`,{sample: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 ns={__depends__:[ho,zo],__init__:[`simpleDateEdit`],simpleDateEdit:[`type`,SimpleDateEdit$2]},rs=/^\d{4}(?:-\d\d){2}T(?:\d\d:){2}\d\d(?:Z|(?:[@+-][^")]+))?$/,as=/^\[date and time\("([^"]*)"\)..date and time\("([^"]*)"\)\]$/,os=/^(<|>)\s*date and time\("([^"]*)"\)$/,ss=/^date and time\("([^"]*)"\)$/,cs=`exact`,ls=`before`,us=`after`,ds=`between`;function validateISOString$1(e){if(!rs.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===cs)return`date and time("${t[0]}")`;if(e===ls)return`< date and time("${t[0]}")`;if(e===us)return`> date and time("${t[0]}")`;if(e===ds)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(as);if(t)return{type:`between`,dates:[t[1],t[2]]};if(t=e.match(os),t)return{type:t[1]===`<`?`before`:`after`,date:t[2]};if(t=e.match(ss),t)return{type:`exact`,date:t[1]}}e(parseString$3,`parseString`);var fs=`exact`,ps=`before`,ms=`after`,hs=`between`,InputDateEdit=class extends ${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:fs,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:fs},{label:this._translate(`Before`),value:ps},{label:this._translate(`After`),value:ms},{label:this._translate(`Between`),value:hs}];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===hs?this._translate(`Edit start date and time`):this._translate(`Set date and time`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:t===hs?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===hs&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end date and time`),0),t===hs&&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 ${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===`date and time`||e===`dateTime`}var gs={__depends__:[ho,zo],__init__:[`simpleDateTimeEdit`],simpleDateTimeEdit:[`type`,SimpleDateEdit$1]};O();var _s={equals:`=`,less:`<`,lessEquals:`<=`,greater:`>`,greaterEquals:`>=`};function getOperatorName$1(e){return re(_s).filter(t=>e===_s[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}")`:`${_s[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`);var vs=[`years and months duration`,`yearMonthDuration`],ys=[`days and time duration`,`dayTimeDuration`];function isYearsMonthsDuration(e){return vs.includes(e)}function isDaysTimeDuration(e){return ys.includes(e)}function isDuration(e){return isYearsMonthsDuration(e)||isDaysTimeDuration(e)}function validateDuration(e,t){if(isYearsMonthsDuration(e))return validateYearMonthDuration(t);if(isDaysTimeDuration(e))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 DurationInput=class extends ${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(isYearsMonthsDuration(this._type)?`Must match PnYnM`:`Must match PnDTnH`)}_getPlaceholder(){if(isYearsMonthsDuration(this._type))return this._translate(`e.g. {sample}`,{sample:`P1Y2M`});if(isDaysTimeDuration(this._type))return 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})}},bs=`comparison`,xs=`range`,InputDurationEdit=class extends ${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:bs,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===bs?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===bs&&(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===bs&&(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===xs&&(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===xs&&(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===xs&&(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===xs&&(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:bs},{label:this._translate(`Range`),value:xs}];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===bs&&this.renderComparison(t,n),e===xs&&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 ${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 Ss={__depends__:[ho,zo],__init__:[`simpleDurationEdit`],simpleDurationEdit:[`type`,SimpleDurationEdit]};O();var Cs=/^(-?(?:[0-9]|\.[0-9])+)$|^((?:<|>|=){0,2})\s*(-?(?:[0-9]|\.[0-9])+)$/,ws=/^(\[|\]){1}(-?(?:[0-9]|\.[0-9])+){1,}\.\.(-?(?:[0-9]|\.[0-9])+){1,}(\[|\]){1}$/,Ts={equals:`=`,less:`<`,lessEquals:`<=`,greater:`>`,greaterEquals:`>=`};function getOperatorName(e){return re(Ts).filter(t=>e===Ts[t])[0]}function parseString$2(e){if(!e||isEmptyString$1(e.trim()))return{type:`comparison`};let t=e.match(Cs),n=e.match(ws);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}`:`${Ts[e]} ${t}`}function getRangeString(e,t,n,r){return`${n===`exclude`?`]`:`[`}${e}..${t}${r===`exclude`?`[`:`]`}`}var Es=`comparison`,Ds=`range`,InputNumberEdit=class extends ${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:Es,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===Es?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===Es&&(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===Es&&(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===Ds&&(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===Ds&&(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===Ds&&(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===Ds&&(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:Es},{label:this._translate(`Range`),value:Ds}];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===Es&&this.renderComparison(t,n),e===Ds&&this.renderRange(r,i,a,o)],0)}},OutputNumberEdit=class extends ${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 Os=[`number`,`integer`,`long`,`double`];function isNumber(e){return Os.includes(e)}var ks={__depends__:[ho,zo],__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 As=`disjunction`,js=`negation`,Ms=`Predefined values`,Ns=`Predefined values`,Ps=`Custom values`,SimpleStringEditContextMenuComponent=class extends ${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:As};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(Ms):this._translate(Ns)}));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===As?(this.editCell(r.businessObject,n.join(`,`)),this.setState({unaryTestsType:As})):(this.editCell(r.businessObject,`not(${n.join(`,`)})`),this.setState({unaryTestsType:js}))}onUnaryTestsListChanged(e){let t=getValues(e),{element:n}=this.props.context,{unaryTestsType:r}=this.state;r===As?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===As?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:As},{label:this._translate(`Match none`),value:js}],o=isInput(e.col),s=i===js,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?js:As},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 Fs={__depends__:[ho,zo],__init__:[`simpleStringEdit`],simpleStringEdit:[`type`,SimpleStringEdit]},Is=/^(?:\d\d:){2}\d\d(?:Z|(?:[@+-][^")]+))?$/,Ls=/^\[time\("([^"]*)"\)..time\("([^"]*)"\)\]$/,Rs=/^(<|>)\s*time\("([^"]*)"\)$/,zs=/^time\("([^"]*)"\)$/,Bs=`exact`,Vs=`before`,Hs=`after`,Us=`between`;function validateISOString(e){if(!Is.test(e.trim()))return`Time must match pattern hh:mm:ss[time zone]`}function getTimeString(e,t){if(e===Bs)return`time("${t[0]}")`;if(e===Vs)return`< time("${t[0]}")`;if(e===Hs)return`> time("${t[0]}")`;if(e===Us)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(Ls);if(t)return{type:`between`,times:[t[1],t[2]]};if(t=e.match(Rs),t)return{type:t[1]===`<`?`before`:`after`,time:t[2]};if(t=e.match(zs),t)return{type:`exact`,time:t[1]}}var Ws=`exact`,Gs=`before`,Ks=`after`,qs=`between`,InputTimeEdit=class extends ${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:Ws,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:Ws},{label:this._translate(`Before`),value:Gs},{label:this._translate(`After`),value:Ks},{label:this._translate(`Between`),value:qs}];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===qs?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. {sample}`,{sample: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===qs&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end time`),0),t===qs&&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. {sample}`,{sample: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 ${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. {sample}`,{sample: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 Js={__depends__:[ho,zo],__init__:[`simpleTimeEdit`],simpleTimeEdit:[`type`,SimpleDateEdit]},ResizeColumn=class extends ${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:H(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 Ys={__init__:[`columnResizeProvider`],columnResizeProvider:[`type`,ColumnResizeProvider]},Xs=class Editor$3 extends xa{static{e(this,`Editor`)}getModules(){return[...xa._getModules(),...Editor$3._getModules()]}static _getModules(){return[qa,Za,La,eo,Ha,to,ro,Yi,ao,Ka,go,Ys,Co,Do,Oo,ma,ha,ho,Ao,Ga,jo,wa,Fo,Lo,Sa,zo,Uo,ns,gs,Ss,ks,Fs,Js,Qi]}},Zs=/^class[ {]/;function isClass(e){return Zs.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 Qs=/constructor\s*[^(]*\(\s*([^)]*)\)/m,$s=/^(?:async\s+)?(?:function\s*[^(]*)?(?:\(\s*([^)]*)\)|(\w+))/m,ec=/\/\*([^*]*)\*\//m;function parseAnnotations(e){if(typeof e!=`function`)throw Error(`Cannot annotate "${e}". Expected a function!`);let t=e.toString().match(isClass(e)?Qs:$s);if(!t)return[];let n=t[1]||t[2];return n&&n.split(`,`).map(e=>{let t=e.match(ec),[n,r]=e.replace(ec,``).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`],O();var tc=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(oe(t)&&(n=t,t=tc),!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 ${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 nc={__init__:[`changeSupport`,`components`,`renderer`],changeSupport:[`type`,ChangeSupport],components:[`type`,Components],eventBus:[`type`,Wn],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]},nc].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 rc={__init__:[`elementRegistry`],elementRegistry:[`type`,ElementRegistry$1]},DecisionPropertiesComponent=class extends ${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)}},ic=1500,DecisionProperties$1=class{static{e(this,`DecisionProperties`)}constructor(e){e.onGetComponent(`viewer`,ic,()=>DecisionPropertiesComponent)}};DecisionProperties$1.$inject=[`components`];var ac={__init__:[`decisionProperties`],decisionProperties:[`type`,DecisionProperties$1]},LiteralExpressionPropertiesComponent$1=class extends ${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)}},oc=500,DecisionProperties=class{constructor(e){e.onGetComponent(`viewer`,oc,()=>LiteralExpressionPropertiesComponent$1)}};DecisionProperties.$inject=[`components`];var sc={__depends__:[],__init__:[`literalExpressionProperties`],literalExpressionProperties:[`type`,DecisionProperties]},cc=2e3,PoweredBy$1=class{static{e(this,`PoweredBy`)}constructor(e){e.onGetComponent(`viewer`,cc,()=>PoweredByComponent)}};PoweredBy$1.$inject=[`components`];var lc={__init__:[`poweredBy`],poweredBy:[`type`,PoweredBy$1]},TextareaComponent=class extends ${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 uc={__init__:[`textarea`],textarea:[`type`,Textarea$1]},ViewDrdComponent$1=class extends ${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 dc=2e3,ViewDrd$1=class{static{e(this,`ViewDrd`)}constructor(e,t,n,r){this._injector=r,this._viewer=t,e.onGetComponent(`viewer`,dc,()=>{if(this.canViewDrd())return ViewDrdComponent$1}),n.on(`showDrd`,()=>{let e=r.get(`_parent`,!1),n=t.getDefinitions(),i=e.getView(n);e.open(i)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);if(e)return!!e.getView(this._viewer.getDefinitions())}};ViewDrd$1.$inject=[`components`,`viewer`,`eventBus`,`injector`];var fc={__init__:[`viewDrd`],viewDrd:[`type`,ViewDrd$1]};O();var pc=class Viewer$1 extends Viewer$2{static{e(this,`Viewer`)}constructor(e={}){let t=Viewer$1._createContainer();super(j(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}getDefinitions(){return getDefinitions$1(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`,{}),Bn(e))}destroy(){super.destroy(),this.detach()}getModules(){return Viewer$1._getModules()}static _getModules(){return[rc,z,ac,sc,lc,uc,fc]}static _createContainer(){return K(`<div class="dmn-literal-expression-container bio-theme-parent"></div>`)}},DecisionPropertiesEditorComponent=class extends ${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 mc=1500,DecisionPropertiesEditor=class{constructor(e){e.onGetComponent(`viewer`,mc,()=>DecisionPropertiesEditorComponent)}};DecisionPropertiesEditor.$inject=[`components`];var hc={__depends__:[Xa,z],__init__:[`decisionProperties`],decisionProperties:[`type`,DecisionPropertiesEditor]};O();var gc=`is not a registered action`,_c=`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,gc);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);M(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error$1(e,_c);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error$1(e,gc);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 vc={__init__:[`editorActions`],editorActions:[`type`,EditorActions$1]};function isCmd(e){return e.altKey?!1:e.ctrlKey||e.metaKey}function isShift(e){return e.shiftKey}var yc=`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(yc)),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(yc)),this.unbind(),e=this._node=this._target,I.bind(e,`keydown`,this._keyHandler,!0),this._fire(`bind`)}getBinding(){return this._node}unbind=()=>{var e=this._node;e&&(this._fire(`unbind`),I.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 bc={__depends__:[vc],__init__:[`keyboard`],keyboard:[`type`,Keyboard]},LiteralExpressionPropertiesComponent=class extends ${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=getTypeRefOptions$1(this._dataTypes.getAll());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 ${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)}},xc=500,LiteralExpressionPropertiesEditor=class{constructor(e){e.onGetComponent(`viewer`,xc,()=>LiteralExpressionPropertiesComponent)}};LiteralExpressionPropertiesEditor.$inject=[`components`];var Sc={__depends__:[Xa,bc,ma,ha,Yi],__init__:[`literalExpressionProperties`],literalExpressionProperties:[`type`,LiteralExpressionPropertiesEditor]};O();var Cc=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)}};Cc.$inject=[`commandStack`,`viewer`,`eventBus`,`moddle`];function registerHandlers$1(e,t){M(e,function(e,n){t.registerHandler(n,e)})}e(registerHandlers$1,`registerHandlers`);var wc={__init__:[`idChangeBehavior`,`nameChangeBehavior`,`modeling`],commandStack:[`type`,mt],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],modeling:[`type`,Cc]},TextareaEditorComponent=class extends ${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 ${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 Tc={__depends__:[Xa,z],__init__:[`textarea`],textarea:[`type`,Textarea]},Ec=class Editor$1 extends pc{static{e(this,`Editor`)}getModules(){return[...pc._getModules(),...Editor$1._getModules()]}static _getModules(){return[hc,bc,Sc,wc,ma,ha,Yi,Tc,Qi]}},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)})}},Dc={__init__:[`viewRenderer`,`tableJsSupport`],viewRenderer:[`type`,ViewRenderer],tableJsSupport:[`type`,TableJsSupport]},Oc=2e3,PoweredBy=class{constructor(e){e.onGetComponent(`viewer`,Oc,()=>PoweredByComponent)}};PoweredBy.$inject=[`components`];var kc={__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`)}},Ac={__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 jc={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`,jc[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 Mc={__init__:[`functionDefinitionComponent`],functionDefinition:[`type`,FunctionDefinition],functionDefinitionComponent:[`type`,FunctionDefinitionComponentProvider$1]},ViewDrdComponent=class extends ${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 Nc=2e3,ViewDrd=class{constructor(e,t,n,r){this._injector=n,this._viewer=r,e.onGetComponent(`viewer`,Nc,()=>{if(this.canViewDrd())return ViewDrdComponent}),t.on(`showDrd`,()=>{let e=n.get(`_parent`,!1),t=r.getDefinitions(),i=e.getView(t);e.open(i)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);if(e)return!!e.getView(this._viewer.getDefinitions())}};ViewDrd.$inject=[`components`,`eventBus`,`injector`,`viewer`];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 Fc={__init__:[`elementProperties`],elementProperties:[`type`,ElementProperties]},Ic=100,ElementLogic=class{static $inject=[`components`];constructor(e){e.onGetComponent(`body`,()=>LogicComponent),e.onGetComponent(`expression`,Ic,()=>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 Lc={__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 Rc={__init__:[`elementVariableComponent`],elementVariable:[`type`,ElementVariable],elementVariableComponent:[`type`,ElementVariableComponentProvider$1]};O();var zc=class Viewer extends Viewer$2{constructor(e={}){let t=Viewer._createContainer();super(j(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}getDefinitions(){return getDefinitions$1(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`,{}),Bn(e))}destroy(){super.destroy(),this.detach()}getModules(){return[Dc,z,kc,Pc,Fc,Lc,Mc,Ac,Rc]}static _createContainer(){return K(`<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(ot(n))return t.trigger(`redo`),!0})}},Bc={__depends__:[ht],__init__:[`keyboardBindings`],keyboardBindings:[`type`,KeyboardBindings]},NameChangeBehavior=class extends Y{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}O();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){M(e,function(e,n){t.registerHandler(n,e)})}var Vc={__init__:[`idChangeBehavior`,`modeling`,`nameChangeBehavior`],commandStack:[`type`,mt],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 ${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 ${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)}},Hc=withChangeSupport(_LiteralExpressionEditorComponent,e=>[e.expression]),LiteralExpressionEditorComponentProvider=class{static $inject=[`components`];constructor(e){e.onGetComponent(`expression`,({expression:e})=>{if(is$2(e,`dmn:LiteralExpression`))return Hc})}},LiteralExpressionEditor=class extends LiteralExpression{constructor(e){super(),this._modeling=e}setText(e,t){this._modeling.updateProperties(e,{text:t})}};LiteralExpressionEditor.$inject=[`modeling`];var Uc={__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 Wc})}},Wc=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,qc,{expression:o,parameters:a})],4)}var Gc={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`,[Gc[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,Kc,{parameter:t}),`, `),[]).slice(0,-1),createTextVNode(`)`)],0),createComponentVNode(2,EditButton,{label:r(`Edit formal parameters`),onClick:e})],4)}var Kc=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 qc=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 Jc=[{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:Jc,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 Yc})}},Yc=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,Xc,{parameter:e,remove:()=>remove(e)},t)),0)],4):null,createVNode(1,`button`,`add-parameter`,r(`Add parameter`),0,{type:`button`,onClick:add})],0)}var Xc=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=getTypeRefOptions$1(r.getAll());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]),Zc={__init__:[`formalParametersEditorComponent`,`functionDefinitionComponent`,`kindEditorComponent`],__depends__:[eo],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)}},Qc=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,Qc,{element:t.injector.get(`viewer`).getRootElement()}),2)}var ElementPropertiesEditor=class{constructor(e){e.onGetComponent(`header`,()=>ElementPropertiesEditorComponent)}};ElementPropertiesEditor.$inject=[`components`];var $c={__depends__:[Xa],__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)}},el={__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(e||=void 0,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{if(!e)return;let n=this._dmnFactory.create(`dmn:InformationItem`,{name:t.get(`name`),typeRef:e});n.$parent=t,this._modeling.updateProperties(t,{variable:n})}}},tl=`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:tl}),createComponentVNode(2,VariableTypeEditor)],4)],4)}function VariableTypeEditor(e,t){let n=t.injector.get(`elementVariable`),r=t.injector.get(`dataTypes`),i=n.getType(),onChange=e=>n.setType(e);return createComponentVNode(2,InputSelect,{value:i,onChange,options:getTypeRefOptions$1(r.getAll()),id:tl})}var nl={__init__:[`elementVariableComponent`],elementVariable:[`type`,ElementVariableEditor],elementVariableComponent:[`type`,ElementVariableComponentProvider]};O();var rl=`is not a registered action`,il=`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,rl);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);M(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error(e,il);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error(e,rl);this._actions[e]=void 0}isRegistered(e){return!!this._actions[e]}};EditorActions.$inject=[`commandStack`,`eventBus`];function error(e,t){return Error(e+` `+t)}var al={__init__:[`editorActions`],editorActions:[`type`,EditorActions]},Editor=class extends zc{getModules(){return[...super.getModules(),el,Vc,al,$c,Zc,ma,ha,Uc,Bc,Yi,nl,Qi]}};O();var Modeler=class extends EditingManager{_getViewProviders(){return[{id:`drd`,constructor:Modeler$1,opens:`dmn:Definitions`},{id:`decisionTable`,constructor:Xs,opens(e){return is$2(e,`dmn:Decision`)&&is$2(e.decisionLogic,`dmn:DecisionTable`)}},{id:`literalExpression`,constructor:Ec,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=A(e,e=>!is$2(e.element,`dmn:Definitions`))||n),n}},ol={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}]}]};O();var sl=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 S(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`)||is(e,`dmn:DecisionService`))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 cl;function _extends$a(){return _extends$a=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$a.apply(null,arguments)}var ll=function SvgDmnIconAssociation(e){return F(`svg`,_extends$a({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),cl||=F(`path`,{fill:`none`,stroke:`#000`,strokeDasharray:`3.3,6`,strokeLinecap:`square`,strokeWidth:2,d:`m1.5 30.5 29-29`}))},ul;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 dl=function SvgDmnIconAuthorityRequirement(e){return F(`svg`,_extends$9({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),ul||=F(`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`}))},fl;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 pl=function SvgDmnIconBusinessKnowledge(e){return F(`svg`,_extends$8({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),fl||=F(`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`}))},ml;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 hl=function SvgDmnIconDecision(e){return F(`svg`,_extends$7({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),ml||=F(`path`,{fillRule:`evenodd`,d:`M0 6v20.711h32V6H0Zm1.697 1.697h28.606v17.317H1.697V7.697Z`}))},gl,_l;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 vl=function SvgDmnIconDecisionService(e){return F(`svg`,_extends$6({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32,viewBox:`0 0 30 30`},e),gl||=F(`path`,{fillRule:`evenodd`,d:`M4 5.25h22A3.75 3.75 0 0 1 29.75 9v12A3.75 3.75 0 0 1 26 24.75H4A3.75 3.75 0 0 1 .25 21V9A3.75 3.75 0 0 1 4 5.25Zm0 1.5A2.25 2.25 0 0 0 1.75 9v12A2.25 2.25 0 0 0 4 23.25h22A2.25 2.25 0 0 0 28.25 21V9A2.25 2.25 0 0 0 26 6.75H4Z`}),_l||=F(`path`,{d:`M1 14.25h28v1.5H1z`}))},yl;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 bl=function SvgDmnIconDrd(e){return F(`svg`,_extends$5({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),yl||=F(`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`}))},xl;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 Sl=function SvgDmnIconInformationRequirement(e){return F(`svg`,_extends$4({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),xl||=F(`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`}))},Cl;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 wl=function SvgDmnIconInputData(e){return F(`svg`,_extends$3({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Cl||=F(`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 El=function SvgDmnIconKnowledgeRequirement(e){return F(`svg`,_extends$2({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Tl||=F(`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`}))},Dl;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 Ol=function SvgDmnIconKnowledgeSource(e){return F(`svg`,_extends$1({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Dl||=F(`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`}))},kl;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 Al={Association:ll,AuthorityRequirement:dl,BusinessKnowledgeModel:pl,Decision:hl,DecisionService:vl,DecisionTable:bl,Definitions:bl,DRD:bl,InformationRequirement:Sl,InputData:wl,KnowledgeRequirement:El,KnowledgeSource:Ol,TextAnnotation:function SvgDmnIconTextAnnotation(e){return F(`svg`,_extends({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),kl||=F(`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 jl={getElementLabel:e=>is(e,`dmn:Definitions`)?getBusinessObject(e).get(`name`):getLabel(e),getElementIcon:e=>Al[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 Ml={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]=pn({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})};zt(()=>{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)}},[]),zt(()=>{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]),zt(()=>{let onImportDone=()=>{let e=s.getRootElement();_update(e)};return l.on(`import.done`,onImportDone),()=>{l.off(`import.done`,onImportDone)}},[]),zt(()=>{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=ln(()=>D(m,function(e,t){return E(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 sn(sl.Provider,{value:p,children:sn(at,{element:f,headerProvider:jl,placeholderProvider:Ml,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 A(e,e=>e===t)}function elementExists(e,t){return e&&t.get(e.id)}var Nl=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=K(`<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=q(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=Nl),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)&&(Wt(sn(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&&(Wt(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(ot(e))return n.redo(),cancel(e)}t.on(`keyboard.bind`,function(){I.bind(e,`keydown`,handleKeys)}),t.on(`keyboard.unbind`,function(){I.unbind(e,`keydown`,handleKeys)})}var MultiCommandHandler=class{constructor(e){this._commandStack=e}preExecute(e){let t=this._commandStack;M(e,function(e){t.execute(e.cmd,e.context)})}};MultiCommandHandler.$inject=[`commandStack`];var Pl={"properties-panel.multi-command-executor":MultiCommandHandler};function CommandInitializer(e,t){e.on(`diagram.init`,function(){M(Pl,function(e,n){t.registerHandler(n,e)})})}CommandInitializer.$inject=[`eventBus`,`commandStack`];var Fl={__depends__:[{__init__:[CommandInitializer]},Ot,lt],__init__:[`propertiesPanel`],propertiesPanel:[`type`,DmnPropertiesPanelRenderer]},DataTypes=class{constructor(e){this._eventBus=e}registerProvider(e,t){t||(t=e,e=null);let callback=function(e){e.providers.push(t)};e===null?this._eventBus.on(`dataTypes.getProviders`,callback):this._eventBus.on(`dataTypes.getProviders`,e,callback)}getAll(){let e=this._eventBus.createEvent({type:`dataTypes.getProviders`,providers:[]});this._eventBus.fire(e);let t=[];for(let n of e.providers)t=normalize(n.getDataTypes(t));return t}};DataTypes.$inject=[`eventBus`];function normalize(e){let t=new Map;return e.forEach(({name:e,label:n,group:r})=>{let i={name:e,label:n??e};if(r){let{id:e,name:t=e}=typeof r==`string`?{id:r}:r;i.group={id:e,name:t}}t.set(e,i)}),[...t.values()]}var Il=[`string`,`boolean`,`number`,`date`,`time`,`date and time`,`days and time duration`,`years and months duration`,`Any`],DefaultDataTypesProvider=class{constructor(e,t,n){this._translate=n,this._dataTypes=e||Il.map(e=>({name:e,group:{id:`built-in`,name:`Built-ins`}})),t.registerProvider(this)}getDataTypes(e){return[...e,...this._dataTypes.map(e=>this._translateDataType(e))]}_translateDataType(e){let t=this._translate,{name:n,label:r=n,group:i}=typeof e==`string`?{name:e}:e,a={name:n,label:t(r)};if(i){let{id:e,name:n}=typeof i==`string`?{id:i}:i;a.group={id:e,name:n?t(n):e}}return a}};DefaultDataTypesProvider.$inject=[`config.dataTypes`,`dataTypes`,`translate`];var ModelDataTypesProvider=class{constructor(e,t,n){this._injector=t,this._translate=n,e.registerProvider(500,this)}getDataTypes(e){let t=this._injector.get(`viewer`,!1),n=t&&t.getDefinitions();if(!n)return e;let r={id:`custom`,name:this._translate(`Custom`)},i=new Set(e.map(({name:e})=>e)),a=[];for(let{name:e}of n.get(`itemDefinition`))e&&!i.has(e)&&(i.add(e),a.push({name:e,group:r}));return[...e,...a]}};ModelDataTypesProvider.$inject=[`dataTypes`,`injector`,`translate`];var Ll={__depends__:[z],__init__:[`dataTypes`,`defaultDataTypesProvider`,`modelDataTypesProvider`],dataTypes:[`type`,DataTypes],defaultDataTypesProvider:[`type`,DefaultDataTypesProvider],modelDataTypesProvider:[`type`,ModelDataTypesProvider]};function useService(e,t){let{getService:n}=_n(sl);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:st}];return is(t,`dmn:Decision`)?n.concat([{id:`question`,component:Question,element:t,isEdited:st},{id:`allowedAnswers`,component:AllowedAnswers,element:t,isEdited:st}]):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 Ct(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 Ct(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 Ct(a)}var Rl=/\s/,zl=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,Bl=/^[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(!Bl.test(e))return zl.test(e)?t(`ID must not contain prefix.`):t(`ID must be a valid QName.`)}function containsSpace(e){return Rl.test(e)}function IdProps$1(e){let{element:t}=e;return[{id:`id`,component:Id$1,element:t,isEdited:jt}]}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=en(e=>getBusinessObject(e).id,[t]),s=en(e=>isIdValid(getBusinessObject(t),e,a),[t,a]);return wn({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:st}]:[]}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})}}),Ct(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=()=>getTypeRefOptions(o.getAll());return dt({element:t,id:n,label:a(`Type`),getValue,setValue,getOptions,debounce:i})}function getTypeRefOptions(e){let t=[],n=[];return e.forEach(e=>{let{name:r,label:i=r,group:a}=typeof e==`string`?{name:e}:e,o={value:r,label:i};if(!a)return t.push(o);let s=n.find(({id:e})=>e===a.id);s||(s={id:a.id,name:a.name,options:[]},n.push(s)),s.options.push(o)}),n.length+ +!!t.length<2?[...t,...n.flatMap(({options:e})=>e)]:[...t,...n.map(({name:e,options:t})=>({label:e,children:t}))]}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:vt}}function DocumentationGroup(e){let t=[...DocumentationProps({element:e})];return t.length?{id:`documentation`,label:`Documentation`,entries:t,component:vt}:null}function VariableGroup(e){let t=[...TypeRefProps({element:e})];return t.length?{id:`variable`,label:`Variable`,entries:t,component:vt}:null}var Vl={__depends__:[Ll],__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:jt}]:[]}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 wn({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:jt}]:[]}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 wn({element:t,id:n,label:i(`Time to live`),tooltip:sn(`div`,{children:sn(`p`,{children:[i(`Number of days before this resource is being cleaned up. If specified, takes precedence over the engine configuration.`),` `,sn(`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:jt}]}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=en(e=>getBusinessObject(e).id,[t]),s=en(e=>isIdValid(getBusinessObject(t),e,a),[t,a]),c=is(t,`dmn:Decision`)?a(`This maps to the decision definition key.`):null;return wn({element:t,id:n,label:a(`ID`),getValue:o,setValue,debounce:i,validate:s,description:c})}var Hl=500,Ul=[HistoryCleanupGroup],CamundaPropertiesProvider=class{constructor(e,t){e.registerProvider(Hl,this),this._injector=t}getGroups(e){return t=>(t=t.concat(this._getGroups(e)),updateGeneralGroup$1(t,e),t)}_getGroups(e){return Ul.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=ce(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:vt,entries:[...HistoryCleanupProps({element:e})]};return t.entries.length?t:null}function findGroup$1(e,t){return e.find(e=>e.id===t)}var Wl={__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:jt}]:[]}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 wn({element:t,id:`versionTag`,label:a(`Version tag`),getValue,setValue,debounce:i})}function getVersionTag(e){return getExtensionElementsList(getBusinessObject(e),`zeebe:VersionTag`)[0]}var Gl=500,ZeebePropertiesProvider=class{constructor(e,t){e.registerProvider(Gl,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=ce(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 Kl={__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 ql=/^[A-Za-z_][\w.]*$/,Jl=/^\d{4}-\d{2}-\d{2}(?:T[\d:.]+(?:Z|[+-]\d{2}:?\d{2})?)?$/,Yl=new Map;function rememberTryValues(e,t){Yl.set(e,t)}function rememberedTryValues(e){return Yl.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`?Jl.test(n)?n:null:n}}function readable(e,t){let n={},r=[],i=[];for(let a of e.inputs){if(!ql.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=>ql.test(e.expression)&&_(t,e.expression)===void 0).map(e=>e.expression),{values:r,typed:i,wrong:a}=readable(e,t),o=b(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:ql.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 Xl=/^[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(Ye,{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(Ye,{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(!Xl.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=>Xl.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(N,{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:v(e.run.match.outputs[t.name])})]},t.name))})]})]},e.table.decisionId))})}var Zl=o(null),Ql=Zl.Provider;function facts(){let e=a(Zl);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(N,{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(rr,{findings:e,waiting:f(`app.dmn.checkTheDecisionsToSee`),clean:f(`app.dmnMode.noRulesOverlapAndEvery`),onRecheck:t,onPick:n})}var $l=Zn([{id:`properties`,icon:`properties`,component:DmnPropertiesTab},Qn,{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 eu=`decisionTable.replaceRules`,tu=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(!tu.has(n)){tu.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(eu,{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(eu,{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===`
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&&=(zn(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=On(`[data-row-id=${r}]`,t);N(i,e=>{isNode(e)&&(H(e).add(`dragover`),H(e).add(n))})}function highlightCol(e,t,n){let r=e.dataset.colId;if(!r)return;let i=On(`[data-col-id=${r}]`,t);N(i,e=>{isNode(e)&&(H(e).add(`dragover`),H(e).add(n))})}function removeHighlight(e){let t=On(`.dragover`,e);N(t,e=>{isNode(e)&&(H(e).remove(`dragover`),H(e).remove(`top`),H(e).remove(`right`),H(e).remove(`bottom`),H(e).remove(`left`))})}function fadeOutRow(e,t){let n=On(`[data-row-id=${e.id}]`,t);N(n,e=>{isNode(e)&&H(e).add(`dragged`)})}function fadeOutCol(e,t){let n=On(`[data-col-id=${e.id}]`,t);N(n,e=>{isNode(e)&&H(e).add(`dragged`)})}function removeFadeOut(e){let t=On(`.dragged`,e);N(t,e=>{isNode(e)&&H(e).remove(`dragged`)})}function getHorizontalPosition(e,t){let n=t.getBoundingClientRect();return e.clientX<n.left+n.width/2?So:bo}function getVerticalPosition(e,t){let n=t.getBoundingClientRect();return e.clientY<n.top+n.height/2?yo:xo}function getTargetRow(e,t,n,r){return r.indexOf(e)>r.indexOf(t)&&(t=getRowBelow(t,r)),n===yo?getRowAbove(t,r):t}function getTargetCol(e,t,n,r){return r.indexOf(e)>r.indexOf(t)&&(t=getColRight(t,r)),n===So?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 Co={__depends__:[vo,za],__init__:[`dmnDragAndDrop`],dmnDragAndDrop:[`type`,DragAndDrop]};k();var DescriptionEditor=class extends ${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;de(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(de(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 J(`.content-editable`,e)}k();var wo=500,To=750,Eo=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`,To,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(de(t))return DescriptionEditor}}),e.onGetComponent(`context-menu-cell-additional`,wo,(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=de(a),s=o?`remove-description`:`add-description`,c=o?()=>this.removeDescription(r):()=>this.addDescription(r);return createVNode(1,`div`,`context-menu-group-entry ${s}`,de(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-Eo,y:n+e.parentNode.scrollTop,width:i+52,height:a}}function getDescription(e){return e&&e.businessObject&&e.businessObject.description}var Do={__depends__:[eo,wa],__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__:[ma],__init__:[`expressionLanguage`],expressionLanguage:[`type`,ExpressionLanguage$1]},DecisionTablePropertiesComponent=class extends ${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,ia)}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 ko=500,DecisionTableProperties=class{constructor(e){e.onGetComponent(`table.before`,ko,()=>DecisionTablePropertiesComponent)}};DecisionTableProperties.$inject=[`components`];var Ao={__depends__:[Xa],__init__:[`decisionTableProperties`],decisionTableProperties:[`type`,DecisionTableProperties]};k();var EditableHitPolicy=class extends ${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=j(_a,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:_a.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 jo={__depends__:[eo],__init__:[`hitPolicyProvider`],hitPolicyProvider:[`type`,HitPolicyEditingProvider]},DmnUpdater=class extends Y{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}};k();var Mo=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)}};Mo.$inject=[`eventBus`,`elementFactory`,`commandStack`];function registerHandlers$2(e,t){N(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}k();var No=`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 O(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===No&&isIdChange(e,r)&&(n.unclaim(e[No]),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[No]!==t}function isContainer(e){return E(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`],k();var Po=class Modeling$2 extends Mo{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 M({},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`],k();var IdClaimBehavior=class extends Y{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&&(D(n)&&n.forEach(e=>this.claimId(e)),n.$type&&this.claimId(n))})}};IdClaimBehavior.$inject=[`eventBus`,`moddle`,`modeling`],k();var IdUnclaimBehavior=class extends Y{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&&(D(n)&&n.forEach(e=>this.unclaimId(e)),n.$type&&this.unclaimId(n))})}};IdUnclaimBehavior.$inject=[`eventBus`,`modeling`];var Fo={__init__:[`dmnUpdater`,`idChangeBehavior`,`nameChangeBehavior`,`modeling`],__depends__:[{__init__:[`idClaimBehavior`,`idUnclaimBehavior`],idClaimBehavior:[`type`,IdClaimBehavior],idUnclaimBehavior:[`type`,IdUnclaimBehavior]},ft],dmnUpdater:[`type`,DmnUpdater],dmnFactory:[`type`,DmnFactory$1],elementFactory:[`type`,ElementFactory],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],modeling:[`type`,Po]};k();var DecisionRulesCellEditorComponent=class extends ${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 ${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 ${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`,[de(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)}},Io=1500,RulesEditor=class{constructor(e){e.onGetComponent(`cell`,Io,({cellType:e})=>{if(e===`rule`)return DecisionRulesCellEditorComponent})}};RulesEditor.$inject=[`components`];var Lo={__depends__:[Xa,ga],__init__:[`decisionRulesEditor`],decisionRulesEditor:[`type`,RulesEditor]};k();var Ro=4,SimpleModeButtonComponent=class extends ${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+Ro+s+`px`:-i.left+a.left+a.width-Ro+s+`px`,l.top=a.top+a.height/2>i.height/2?-i.top+a.top-o.height+Ro+c+`px`:-i.top+a.top-Ro+c+`px`,M(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=U(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 zo={__depends__:[eo,La,ma],__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 Bo=`true`,Vo=`false`,Ho=`none`,BooleanEdit=class extends ${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||Ho},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===Ho?``:e),this.setState({value:e})}render(){let{value:e}=this.state,t=[{label:`-`,value:Ho},{label:this._translate(`Yes`),value:Bo},{label:this._translate(`No`),value:Vo}];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 Uo={__depends__:[ho,zo],__init__:[`simpleBooleanEdit`],simpleBooleanEdit:[`type`,SimpleBooleanEdit]},Wo=/^\d{4}(?:-\d\d){2}$/,Go=/^\[date\("([^"]*)"\)..date\("([^"]*)"\)\]$/,Ko=/^(<|>)\s*date\("([^"]*)"\)$/,qo=/^date\("([^"]*)"\)$/,Jo=`exact`,Yo=`before`,Xo=`after`,Zo=`between`;function validateISOString$2(e){if(!Wo.test(e.trim()))return`Date must match pattern yyyy-MM-dd`}e(validateISOString$2,`validateISOString`);function getDateString$1(e,t){if(e===Jo)return`date("${t[0]}")`;if(e===Yo)return`< date("${t[0]}")`;if(e===Xo)return`> date("${t[0]}")`;if(e===Zo)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(Go);if(t)return{type:`between`,dates:[t[1],t[2]]};if(t=e.match(Ko),t)return{type:t[1]===`<`?`before`:`after`,date:t[2]};if(t=e.match(qo),t)return{type:`exact`,date:t[1]}}e(parseString$4,`parseString`);var Qo=`exact`,$o=`before`,es=`after`,ts=`between`,InputDateEdit$1=class extends ${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:Qo,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:Qo},{label:this._translate(`Before`),value:$o},{label:this._translate(`After`),value:es},{label:this._translate(`Between`),value:ts}];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===ts?this._translate(`Edit start date`):this._translate(`Set date`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:t===ts?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===ts&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end date`),0),t===ts&&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 ${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. {sample}`,{sample: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 ns={__depends__:[ho,zo],__init__:[`simpleDateEdit`],simpleDateEdit:[`type`,SimpleDateEdit$2]},rs=/^\d{4}(?:-\d\d){2}T(?:\d\d:){2}\d\d(?:Z|(?:[@+-][^")]+))?$/,as=/^\[date and time\("([^"]*)"\)..date and time\("([^"]*)"\)\]$/,os=/^(<|>)\s*date and time\("([^"]*)"\)$/,ss=/^date and time\("([^"]*)"\)$/,cs=`exact`,ls=`before`,us=`after`,ds=`between`;function validateISOString$1(e){if(!rs.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===cs)return`date and time("${t[0]}")`;if(e===ls)return`< date and time("${t[0]}")`;if(e===us)return`> date and time("${t[0]}")`;if(e===ds)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(as);if(t)return{type:`between`,dates:[t[1],t[2]]};if(t=e.match(os),t)return{type:t[1]===`<`?`before`:`after`,date:t[2]};if(t=e.match(ss),t)return{type:`exact`,date:t[1]}}e(parseString$3,`parseString`);var fs=`exact`,ps=`before`,ms=`after`,hs=`between`,InputDateEdit=class extends ${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:fs,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:fs},{label:this._translate(`Before`),value:ps},{label:this._translate(`After`),value:ms},{label:this._translate(`Between`),value:hs}];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===hs?this._translate(`Edit start date and time`):this._translate(`Set date and time`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:t===hs?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===hs&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end date and time`),0),t===hs&&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 ${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===`date and time`||e===`dateTime`}var gs={__depends__:[ho,zo],__init__:[`simpleDateTimeEdit`],simpleDateTimeEdit:[`type`,SimpleDateEdit$1]};k();var _s={equals:`=`,less:`<`,lessEquals:`<=`,greater:`>`,greaterEquals:`>=`};function getOperatorName$1(e){return ne(_s).filter(t=>e===_s[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}")`:`${_s[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`);var vs=[`years and months duration`,`yearMonthDuration`],ys=[`days and time duration`,`dayTimeDuration`];function isYearsMonthsDuration(e){return vs.includes(e)}function isDaysTimeDuration(e){return ys.includes(e)}function isDuration(e){return isYearsMonthsDuration(e)||isDaysTimeDuration(e)}function validateDuration(e,t){if(isYearsMonthsDuration(e))return validateYearMonthDuration(t);if(isDaysTimeDuration(e))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 DurationInput=class extends ${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(isYearsMonthsDuration(this._type)?`Must match PnYnM`:`Must match PnDTnH`)}_getPlaceholder(){if(isYearsMonthsDuration(this._type))return this._translate(`e.g. {sample}`,{sample:`P1Y2M`});if(isDaysTimeDuration(this._type))return 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})}},bs=`comparison`,xs=`range`,InputDurationEdit=class extends ${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:bs,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===bs?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===bs&&(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===bs&&(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===xs&&(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===xs&&(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===xs&&(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===xs&&(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:bs},{label:this._translate(`Range`),value:xs}];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===bs&&this.renderComparison(t,n),e===xs&&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 ${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 Ss={__depends__:[ho,zo],__init__:[`simpleDurationEdit`],simpleDurationEdit:[`type`,SimpleDurationEdit]};k();var Cs=/^(-?(?:[0-9]|\.[0-9])+)$|^((?:<|>|=){0,2})\s*(-?(?:[0-9]|\.[0-9])+)$/,ws=/^(\[|\]){1}(-?(?:[0-9]|\.[0-9])+){1,}\.\.(-?(?:[0-9]|\.[0-9])+){1,}(\[|\]){1}$/,Ts={equals:`=`,less:`<`,lessEquals:`<=`,greater:`>`,greaterEquals:`>=`};function getOperatorName(e){return ne(Ts).filter(t=>e===Ts[t])[0]}function parseString$2(e){if(!e||isEmptyString$1(e.trim()))return{type:`comparison`};let t=e.match(Cs),n=e.match(ws);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}`:`${Ts[e]} ${t}`}function getRangeString(e,t,n,r){return`${n===`exclude`?`]`:`[`}${e}..${t}${r===`exclude`?`[`:`]`}`}var Es=`comparison`,Ds=`range`,InputNumberEdit=class extends ${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:Es,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===Es?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===Es&&(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===Es&&(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===Ds&&(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===Ds&&(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===Ds&&(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===Ds&&(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:Es},{label:this._translate(`Range`),value:Ds}];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===Es&&this.renderComparison(t,n),e===Ds&&this.renderRange(r,i,a,o)],0)}},OutputNumberEdit=class extends ${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 Os=[`number`,`integer`,`long`,`double`];function isNumber(e){return Os.includes(e)}var ks={__depends__:[ho,zo],__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 As=`disjunction`,js=`negation`,Ms=`Predefined values`,Ns=`Predefined values`,Ps=`Custom values`,SimpleStringEditContextMenuComponent=class extends ${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:As};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(Ms):this._translate(Ns)}));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===As?(this.editCell(r.businessObject,n.join(`,`)),this.setState({unaryTestsType:As})):(this.editCell(r.businessObject,`not(${n.join(`,`)})`),this.setState({unaryTestsType:js}))}onUnaryTestsListChanged(e){let t=getValues(e),{element:n}=this.props.context,{unaryTestsType:r}=this.state;r===As?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===As?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:As},{label:this._translate(`Match none`),value:js}],o=isInput(e.col),s=i===js,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?js:As},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 Fs={__depends__:[ho,zo],__init__:[`simpleStringEdit`],simpleStringEdit:[`type`,SimpleStringEdit]},Is=/^(?:\d\d:){2}\d\d(?:Z|(?:[@+-][^")]+))?$/,Ls=/^\[time\("([^"]*)"\)..time\("([^"]*)"\)\]$/,Rs=/^(<|>)\s*time\("([^"]*)"\)$/,zs=/^time\("([^"]*)"\)$/,Bs=`exact`,Vs=`before`,Hs=`after`,Us=`between`;function validateISOString(e){if(!Is.test(e.trim()))return`Time must match pattern hh:mm:ss[time zone]`}function getTimeString(e,t){if(e===Bs)return`time("${t[0]}")`;if(e===Vs)return`< time("${t[0]}")`;if(e===Hs)return`> time("${t[0]}")`;if(e===Us)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(Ls);if(t)return{type:`between`,times:[t[1],t[2]]};if(t=e.match(Rs),t)return{type:t[1]===`<`?`before`:`after`,time:t[2]};if(t=e.match(zs),t)return{type:`exact`,time:t[1]}}var Ws=`exact`,Gs=`before`,Ks=`after`,qs=`between`,InputTimeEdit=class extends ${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:Ws,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:Ws},{label:this._translate(`Before`),value:Gs},{label:this._translate(`After`),value:Ks},{label:this._translate(`Between`),value:qs}];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===qs?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. {sample}`,{sample: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===qs&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end time`),0),t===qs&&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. {sample}`,{sample: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 ${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. {sample}`,{sample: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 Js={__depends__:[ho,zo],__init__:[`simpleTimeEdit`],simpleTimeEdit:[`type`,SimpleDateEdit]},ResizeColumn=class extends ${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:U(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 Ys={__init__:[`columnResizeProvider`],columnResizeProvider:[`type`,ColumnResizeProvider]},Xs=class Editor$3 extends xa{static{e(this,`Editor`)}getModules(){return[...xa._getModules(),...Editor$3._getModules()]}static _getModules(){return[qa,Za,La,eo,Ha,to,ro,Yi,ao,Ka,go,Ys,Co,Do,Oo,ma,ha,ho,Ao,Ga,jo,wa,Fo,Lo,Sa,zo,Uo,ns,gs,Ss,ks,Fs,Js,Qi]}},Zs=/^class[ {]/;function isClass(e){return Zs.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 Qs=/constructor\s*[^(]*\(\s*([^)]*)\)/m,$s=/^(?:async\s+)?(?:function\s*[^(]*)?(?:\(\s*([^)]*)\)|(\w+))/m,ec=/\/\*([^*]*)\*\//m;function parseAnnotations(e){if(typeof e!=`function`)throw Error(`Cannot annotate "${e}". Expected a function!`);let t=e.toString().match(isClass(e)?Qs:$s);if(!t)return[];let n=t[1]||t[2];return n&&n.split(`,`).map(e=>{let t=e.match(ec),[n,r]=e.replace(ec,``).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`],k();var tc=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(ae(t)&&(n=t,t=tc),!fe(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 ${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 nc={__init__:[`changeSupport`,`components`,`renderer`],changeSupport:[`type`,ChangeSupport],components:[`type`,Components],eventBus:[`type`,Un],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]},nc].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 rc={__init__:[`elementRegistry`],elementRegistry:[`type`,ElementRegistry$1]},DecisionPropertiesComponent=class extends ${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)}},ic=1500,DecisionProperties$1=class{static{e(this,`DecisionProperties`)}constructor(e){e.onGetComponent(`viewer`,ic,()=>DecisionPropertiesComponent)}};DecisionProperties$1.$inject=[`components`];var ac={__init__:[`decisionProperties`],decisionProperties:[`type`,DecisionProperties$1]},LiteralExpressionPropertiesComponent$1=class extends ${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)}},oc=500,DecisionProperties=class{constructor(e){e.onGetComponent(`viewer`,oc,()=>LiteralExpressionPropertiesComponent$1)}};DecisionProperties.$inject=[`components`];var sc={__depends__:[],__init__:[`literalExpressionProperties`],literalExpressionProperties:[`type`,DecisionProperties]},cc=2e3,PoweredBy$1=class{static{e(this,`PoweredBy`)}constructor(e){e.onGetComponent(`viewer`,cc,()=>PoweredByComponent)}};PoweredBy$1.$inject=[`components`];var lc={__init__:[`poweredBy`],poweredBy:[`type`,PoweredBy$1]},TextareaComponent=class extends ${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 uc={__init__:[`textarea`],textarea:[`type`,Textarea$1]},ViewDrdComponent$1=class extends ${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 dc=2e3,ViewDrd$1=class{static{e(this,`ViewDrd`)}constructor(e,t,n,r){this._injector=r,this._viewer=t,e.onGetComponent(`viewer`,dc,()=>{if(this.canViewDrd())return ViewDrdComponent$1}),n.on(`showDrd`,()=>{let e=r.get(`_parent`,!1),n=t.getDefinitions(),i=e.getView(n);e.open(i)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);if(e)return!!e.getView(this._viewer.getDefinitions())}};ViewDrd$1.$inject=[`components`,`viewer`,`eventBus`,`injector`];var fc={__init__:[`viewDrd`],viewDrd:[`type`,ViewDrd$1]};k();var pc=class Viewer$1 extends Viewer$2{static{e(this,`Viewer`)}constructor(e={}){let t=Viewer$1._createContainer();super(M(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}getDefinitions(){return getDefinitions$1(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`,{}),zn(e))}destroy(){super.destroy(),this.detach()}getModules(){return Viewer$1._getModules()}static _getModules(){return[rc,B,ac,sc,lc,uc,fc]}static _createContainer(){return q(`<div class="dmn-literal-expression-container bio-theme-parent"></div>`)}},DecisionPropertiesEditorComponent=class extends ${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 mc=1500,DecisionPropertiesEditor=class{constructor(e){e.onGetComponent(`viewer`,mc,()=>DecisionPropertiesEditorComponent)}};DecisionPropertiesEditor.$inject=[`components`];var hc={__depends__:[Xa,B],__init__:[`decisionProperties`],decisionProperties:[`type`,DecisionPropertiesEditor]};k();var gc=`is not a registered action`,_c=`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,gc);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);N(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error$1(e,_c);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error$1(e,gc);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 vc={__init__:[`editorActions`],editorActions:[`type`,EditorActions$1]};function isCmd(e){return e.altKey?!1:e.ctrlKey||e.metaKey}function isShift(e){return e.shiftKey}var yc=`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(yc)),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(yc)),this.unbind(),e=this._node=this._target,L.bind(e,`keydown`,this._keyHandler,!0),this._fire(`bind`)}getBinding(){return this._node}unbind=()=>{var e=this._node;e&&(this._fire(`unbind`),L.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 bc={__depends__:[vc],__init__:[`keyboard`],keyboard:[`type`,Keyboard]},LiteralExpressionPropertiesComponent=class extends ${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=getTypeRefOptions$1(this._dataTypes.getAll());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 ${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)}},xc=500,LiteralExpressionPropertiesEditor=class{constructor(e){e.onGetComponent(`viewer`,xc,()=>LiteralExpressionPropertiesComponent)}};LiteralExpressionPropertiesEditor.$inject=[`components`];var Sc={__depends__:[Xa,bc,ma,ha,Yi],__init__:[`literalExpressionProperties`],literalExpressionProperties:[`type`,LiteralExpressionPropertiesEditor]};k();var Cc=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)}};Cc.$inject=[`commandStack`,`viewer`,`eventBus`,`moddle`];function registerHandlers$1(e,t){N(e,function(e,n){t.registerHandler(n,e)})}e(registerHandlers$1,`registerHandlers`);var wc={__init__:[`idChangeBehavior`,`nameChangeBehavior`,`modeling`],commandStack:[`type`,pt],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],modeling:[`type`,Cc]},TextareaEditorComponent=class extends ${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 ${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 Tc={__depends__:[Xa,B],__init__:[`textarea`],textarea:[`type`,Textarea]},Ec=class Editor$1 extends pc{static{e(this,`Editor`)}getModules(){return[...pc._getModules(),...Editor$1._getModules()]}static _getModules(){return[hc,bc,Sc,wc,ma,ha,Yi,Tc,Qi]}},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)})}},Dc={__init__:[`viewRenderer`,`tableJsSupport`],viewRenderer:[`type`,ViewRenderer],tableJsSupport:[`type`,TableJsSupport]},Oc=2e3,PoweredBy=class{constructor(e){e.onGetComponent(`viewer`,Oc,()=>PoweredByComponent)}};PoweredBy.$inject=[`components`];var kc={__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`)}},Ac={__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 jc={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`,jc[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 Mc={__init__:[`functionDefinitionComponent`],functionDefinition:[`type`,FunctionDefinition],functionDefinitionComponent:[`type`,FunctionDefinitionComponentProvider$1]},ViewDrdComponent=class extends ${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 Nc=2e3,ViewDrd=class{constructor(e,t,n,r){this._injector=n,this._viewer=r,e.onGetComponent(`viewer`,Nc,()=>{if(this.canViewDrd())return ViewDrdComponent}),t.on(`showDrd`,()=>{let e=n.get(`_parent`,!1),t=r.getDefinitions(),i=e.getView(t);e.open(i)})}canViewDrd(){let e=this._injector.get(`_parent`,!1);if(e)return!!e.getView(this._viewer.getDefinitions())}};ViewDrd.$inject=[`components`,`eventBus`,`injector`,`viewer`];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 Fc={__init__:[`elementProperties`],elementProperties:[`type`,ElementProperties]},Ic=100,ElementLogic=class{static $inject=[`components`];constructor(e){e.onGetComponent(`body`,()=>LogicComponent),e.onGetComponent(`expression`,Ic,()=>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 Lc={__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 Rc={__init__:[`elementVariableComponent`],elementVariable:[`type`,ElementVariable],elementVariableComponent:[`type`,ElementVariableComponentProvider$1]};k();var zc=class Viewer extends Viewer$2{constructor(e={}){let t=Viewer._createContainer();super(M(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}getDefinitions(){return getDefinitions$1(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`,{}),zn(e))}destroy(){super.destroy(),this.detach()}getModules(){return[Dc,B,kc,Pc,Fc,Lc,Mc,Ac,Rc]}static _createContainer(){return q(`<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(dt(n))return t.trigger(`undo`),!0}),addListener(`redo`,function(e){let n=e.keyEvent;if(at(n))return t.trigger(`redo`),!0})}},Bc={__depends__:[mt],__init__:[`keyboardBindings`],keyboardBindings:[`type`,KeyboardBindings]},NameChangeBehavior=class extends Y{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}k();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){N(e,function(e,n){t.registerHandler(n,e)})}var Vc={__init__:[`idChangeBehavior`,`modeling`,`nameChangeBehavior`],commandStack:[`type`,pt],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 ${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 ${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)}},Hc=withChangeSupport(_LiteralExpressionEditorComponent,e=>[e.expression]),LiteralExpressionEditorComponentProvider=class{static $inject=[`components`];constructor(e){e.onGetComponent(`expression`,({expression:e})=>{if(is$2(e,`dmn:LiteralExpression`))return Hc})}},LiteralExpressionEditor=class extends LiteralExpression{constructor(e){super(),this._modeling=e}setText(e,t){this._modeling.updateProperties(e,{text:t})}};LiteralExpressionEditor.$inject=[`modeling`];var Uc={__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 Wc})}},Wc=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,qc,{expression:o,parameters:a})],4)}var Gc={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`,[Gc[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,Kc,{parameter:t}),`, `),[]).slice(0,-1),createTextVNode(`)`)],0),createComponentVNode(2,EditButton,{label:r(`Edit formal parameters`),onClick:e})],4)}var Kc=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 qc=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 Jc=[{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:Jc,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 Yc})}},Yc=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,Xc,{parameter:e,remove:()=>remove(e)},t)),0)],4):null,createVNode(1,`button`,`add-parameter`,r(`Add parameter`),0,{type:`button`,onClick:add})],0)}var Xc=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=getTypeRefOptions$1(r.getAll());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]),Zc={__init__:[`formalParametersEditorComponent`,`functionDefinitionComponent`,`kindEditorComponent`],__depends__:[eo],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)}},Qc=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,Qc,{element:t.injector.get(`viewer`).getRootElement()}),2)}var ElementPropertiesEditor=class{constructor(e){e.onGetComponent(`header`,()=>ElementPropertiesEditorComponent)}};ElementPropertiesEditor.$inject=[`components`];var $c={__depends__:[Xa],__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)}},el={__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(e||=void 0,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{if(!e)return;let n=this._dmnFactory.create(`dmn:InformationItem`,{name:t.get(`name`),typeRef:e});n.$parent=t,this._modeling.updateProperties(t,{variable:n})}}},tl=`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:tl}),createComponentVNode(2,VariableTypeEditor)],4)],4)}function VariableTypeEditor(e,t){let n=t.injector.get(`elementVariable`),r=t.injector.get(`dataTypes`),i=n.getType(),onChange=e=>n.setType(e);return createComponentVNode(2,InputSelect,{value:i,onChange,options:getTypeRefOptions$1(r.getAll()),id:tl})}var nl={__init__:[`elementVariableComponent`],elementVariable:[`type`,ElementVariableEditor],elementVariableComponent:[`type`,ElementVariableComponentProvider]};k();var rl=`is not a registered action`,il=`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,rl);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);N(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error(e,il);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error(e,rl);this._actions[e]=void 0}isRegistered(e){return!!this._actions[e]}};EditorActions.$inject=[`commandStack`,`eventBus`];function error(e,t){return Error(e+` `+t)}var al={__init__:[`editorActions`],editorActions:[`type`,EditorActions]},Editor=class extends zc{getModules(){return[...super.getModules(),el,Vc,al,$c,Zc,ma,ha,Uc,Bc,Yi,nl,Qi]}};k();var Modeler=class extends EditingManager{_getViewProviders(){return[{id:`drd`,constructor:Modeler$1,opens:`dmn:Definitions`},{id:`decisionTable`,constructor:Xs,opens(e){return is$2(e,`dmn:Decision`)&&is$2(e.decisionLogic,`dmn:DecisionTable`)}},{id:`literalExpression`,constructor:Ec,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=j(e,e=>!is$2(e.element,`dmn:Definitions`))||n),n}},ol={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}]}]};k();var sl=nn({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 C(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`)||is(e,`dmn:DecisionService`))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 cl;function _extends$a(){return _extends$a=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$a.apply(null,arguments)}var ll=function SvgDmnIconAssociation(e){return I(`svg`,_extends$a({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),cl||=I(`path`,{fill:`none`,stroke:`#000`,strokeDasharray:`3.3,6`,strokeLinecap:`square`,strokeWidth:2,d:`m1.5 30.5 29-29`}))},ul;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 dl=function SvgDmnIconAuthorityRequirement(e){return I(`svg`,_extends$9({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),ul||=I(`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`}))},fl;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 pl=function SvgDmnIconBusinessKnowledge(e){return I(`svg`,_extends$8({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),fl||=I(`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`}))},ml;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 hl=function SvgDmnIconDecision(e){return I(`svg`,_extends$7({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),ml||=I(`path`,{fillRule:`evenodd`,d:`M0 6v20.711h32V6H0Zm1.697 1.697h28.606v17.317H1.697V7.697Z`}))},gl,_l;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 vl=function SvgDmnIconDecisionService(e){return I(`svg`,_extends$6({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32,viewBox:`0 0 30 30`},e),gl||=I(`path`,{fillRule:`evenodd`,d:`M4 5.25h22A3.75 3.75 0 0 1 29.75 9v12A3.75 3.75 0 0 1 26 24.75H4A3.75 3.75 0 0 1 .25 21V9A3.75 3.75 0 0 1 4 5.25Zm0 1.5A2.25 2.25 0 0 0 1.75 9v12A2.25 2.25 0 0 0 4 23.25h22A2.25 2.25 0 0 0 28.25 21V9A2.25 2.25 0 0 0 26 6.75H4Z`}),_l||=I(`path`,{d:`M1 14.25h28v1.5H1z`}))},yl;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 bl=function SvgDmnIconDrd(e){return I(`svg`,_extends$5({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),yl||=I(`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`}))},xl;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 Sl=function SvgDmnIconInformationRequirement(e){return I(`svg`,_extends$4({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),xl||=I(`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`}))},Cl;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 wl=function SvgDmnIconInputData(e){return I(`svg`,_extends$3({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Cl||=I(`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 El=function SvgDmnIconKnowledgeRequirement(e){return I(`svg`,_extends$2({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Tl||=I(`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`}))},Dl;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 Ol=function SvgDmnIconKnowledgeSource(e){return I(`svg`,_extends$1({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Dl||=I(`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`}))},kl;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 Al={Association:ll,AuthorityRequirement:dl,BusinessKnowledgeModel:pl,Decision:hl,DecisionService:vl,DecisionTable:bl,Definitions:bl,DRD:bl,InformationRequirement:Sl,InputData:wl,KnowledgeRequirement:El,KnowledgeSource:Ol,TextAnnotation:function SvgDmnIconTextAnnotation(e){return I(`svg`,_extends({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),kl||=I(`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 jl={getElementLabel:e=>is(e,`dmn:Definitions`)?getBusinessObject(e).get(`name`):getLabel(e),getElementIcon:e=>Al[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 Ml={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]=fn({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})};Rt(()=>{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)}},[]),Rt(()=>{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]),Rt(()=>{let onImportDone=()=>{let e=s.getRootElement();_update(e)};return l.on(`import.done`,onImportDone),()=>{l.off(`import.done`,onImportDone)}},[]),Rt(()=>{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=cn(()=>O(m,function(e,t){return D(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 on(sl.Provider,{value:p,children:on(it,{element:f,headerProvider:jl,placeholderProvider:Ml,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 j(e,e=>e===t)}function elementExists(e,t){return e&&t.get(e.id)}var Nl=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=q(`<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=J(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=Nl),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)&&(Ut(on(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&&(Ut(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(dt(e))return n.undo(),cancel(e);if(at(e))return n.redo(),cancel(e)}t.on(`keyboard.bind`,function(){L.bind(e,`keydown`,handleKeys)}),t.on(`keyboard.unbind`,function(){L.unbind(e,`keydown`,handleKeys)})}var MultiCommandHandler=class{constructor(e){this._commandStack=e}preExecute(e){let t=this._commandStack;N(e,function(e){t.execute(e.cmd,e.context)})}};MultiCommandHandler.$inject=[`commandStack`];var Pl={"properties-panel.multi-command-executor":MultiCommandHandler};function CommandInitializer(e,t){e.on(`diagram.init`,function(){N(Pl,function(e,n){t.registerHandler(n,e)})})}CommandInitializer.$inject=[`eventBus`,`commandStack`];var Fl={__depends__:[{__init__:[CommandInitializer]},Dt,ct],__init__:[`propertiesPanel`],propertiesPanel:[`type`,DmnPropertiesPanelRenderer]},DataTypes=class{constructor(e){this._eventBus=e}registerProvider(e,t){t||(t=e,e=null);let callback=function(e){e.providers.push(t)};e===null?this._eventBus.on(`dataTypes.getProviders`,callback):this._eventBus.on(`dataTypes.getProviders`,e,callback)}getAll(){let e=this._eventBus.createEvent({type:`dataTypes.getProviders`,providers:[]});this._eventBus.fire(e);let t=[];for(let n of e.providers)t=normalize(n.getDataTypes(t));return t}};DataTypes.$inject=[`eventBus`];function normalize(e){let t=new Map;return e.forEach(({name:e,label:n,group:r})=>{let i={name:e,label:n??e};if(r){let{id:e,name:t=e}=typeof r==`string`?{id:r}:r;i.group={id:e,name:t}}t.set(e,i)}),[...t.values()]}var Il=[`string`,`boolean`,`number`,`date`,`time`,`date and time`,`days and time duration`,`years and months duration`,`Any`],DefaultDataTypesProvider=class{constructor(e,t,n){this._translate=n,this._dataTypes=e||Il.map(e=>({name:e,group:{id:`built-in`,name:`Built-ins`}})),t.registerProvider(this)}getDataTypes(e){return[...e,...this._dataTypes.map(e=>this._translateDataType(e))]}_translateDataType(e){let t=this._translate,{name:n,label:r=n,group:i}=typeof e==`string`?{name:e}:e,a={name:n,label:t(r)};if(i){let{id:e,name:n}=typeof i==`string`?{id:i}:i;a.group={id:e,name:n?t(n):e}}return a}};DefaultDataTypesProvider.$inject=[`config.dataTypes`,`dataTypes`,`translate`];var ModelDataTypesProvider=class{constructor(e,t,n){this._injector=t,this._translate=n,e.registerProvider(500,this)}getDataTypes(e){let t=this._injector.get(`viewer`,!1),n=t&&t.getDefinitions();if(!n)return e;let r={id:`custom`,name:this._translate(`Custom`)},i=new Set(e.map(({name:e})=>e)),a=[];for(let{name:e}of n.get(`itemDefinition`))e&&!i.has(e)&&(i.add(e),a.push({name:e,group:r}));return[...e,...a]}};ModelDataTypesProvider.$inject=[`dataTypes`,`injector`,`translate`];var Ll={__depends__:[B],__init__:[`dataTypes`,`defaultDataTypesProvider`,`modelDataTypesProvider`],dataTypes:[`type`,DataTypes],defaultDataTypesProvider:[`type`,DefaultDataTypesProvider],modelDataTypesProvider:[`type`,ModelDataTypesProvider]};function useService(e,t){let{getService:n}=gn(sl);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:ot}];return is(t,`dmn:Decision`)?n.concat([{id:`question`,component:Question,element:t,isEdited:ot},{id:`allowedAnswers`,component:AllowedAnswers,element:t,isEdited:ot}]):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 St(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 St(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 St(a)}var Rl=/\s/,zl=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,Bl=/^[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(!Bl.test(e))return zl.test(e)?t(`ID must not contain prefix.`):t(`ID must be a valid QName.`)}function containsSpace(e){return Rl.test(e)}function IdProps$1(e){let{element:t}=e;return[{id:`id`,component:Id$1,element:t,isEdited:At}]}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=$t(e=>getBusinessObject(e).id,[t]),s=$t(e=>isIdValid(getBusinessObject(t),e,a),[t,a]);return Cn({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:ot}]:[]}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})}}),St(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=()=>getTypeRefOptions(o.getAll());return ut({element:t,id:n,label:a(`Type`),getValue,setValue,getOptions,debounce:i})}function getTypeRefOptions(e){let t=[],n=[];return e.forEach(e=>{let{name:r,label:i=r,group:a}=typeof e==`string`?{name:e}:e,o={value:r,label:i};if(!a)return t.push(o);let s=n.find(({id:e})=>e===a.id);s||(s={id:a.id,name:a.name,options:[]},n.push(s)),s.options.push(o)}),n.length+ +!!t.length<2?[...t,...n.flatMap(({options:e})=>e)]:[...t,...n.map(({name:e,options:t})=>({label:e,children:t}))]}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:_t}}function DocumentationGroup(e){let t=[...DocumentationProps({element:e})];return t.length?{id:`documentation`,label:`Documentation`,entries:t,component:_t}:null}function VariableGroup(e){let t=[...TypeRefProps({element:e})];return t.length?{id:`variable`,label:`Variable`,entries:t,component:_t}:null}var Vl={__depends__:[Ll],__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:At}]:[]}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 Cn({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:At}]:[]}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 Cn({element:t,id:n,label:i(`Time to live`),tooltip:on(`div`,{children:on(`p`,{children:[i(`Number of days before this resource is being cleaned up. If specified, takes precedence over the engine configuration.`),` `,on(`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:At}]}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=$t(e=>getBusinessObject(e).id,[t]),s=$t(e=>isIdValid(getBusinessObject(t),e,a),[t,a]),c=is(t,`dmn:Decision`)?a(`This maps to the decision definition key.`):null;return Cn({element:t,id:n,label:a(`ID`),getValue:o,setValue,debounce:i,validate:s,description:c})}var Hl=500,Ul=[HistoryCleanupGroup],CamundaPropertiesProvider=class{constructor(e,t){e.registerProvider(Hl,this),this._injector=t}getGroups(e){return t=>(t=t.concat(this._getGroups(e)),updateGeneralGroup$1(t,e),t)}_getGroups(e){return Ul.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:_t,entries:[...HistoryCleanupProps({element:e})]};return t.entries.length?t:null}function findGroup$1(e,t){return e.find(e=>e.id===t)}var Wl={__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:At}]:[]}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 Cn({element:t,id:`versionTag`,label:a(`Version tag`),getValue,setValue,debounce:i})}function getVersionTag(e){return getExtensionElementsList(getBusinessObject(e),`zeebe:VersionTag`)[0]}var Gl=500,ZeebePropertiesProvider=class{constructor(e,t){e.registerProvider(Gl,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 Kl={__init__:[`zeebePropertiesProvider`],zeebePropertiesProvider:[`type`,ZeebePropertiesProvider]};function panelKindOf(e){let t=pe(e);return t?.family===`camunda-8`?`zeebe`:t?.family===`camunda-7`&&t.key!==`operaton`?`camunda`:`base`}function panelShownFor(e){return e===`drd`}var ql=/^[A-Za-z_][\w.]*$/,Jl=/^\d{4}-\d{2}-\d{2}(?:T[\d:.]+(?:Z|[+-]\d{2}:?\d{2})?)?$/,Yl=new Map;function rememberTryValues(e,t){Yl.set(e,t)}function rememberedTryValues(e){return Yl.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`?Jl.test(n)?n:null:n}}function readable(e,t){let n={},r=[],i=[];for(let a of e.inputs){if(!ql.test(a.expression)){i.push(a.expression);continue}let e=g(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=>ql.test(e.expression)&&g(t,e.expression)===void 0).map(e=>e.expression),{values:r,typed:i,wrong:a}=readable(e,t),o=x(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:ql.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 Xl=/^[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(Je,{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(Je,{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(!Xl.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=>Xl.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(P,{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 Zl=o(null),Ql=Zl.Provider;function facts(){let e=a(Zl);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(Ne,{host:e,id:`dmn-properties-panel`,class:`properties-panel-parent`,shown:r}),!r&&u(P,{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(rr,{findings:e,waiting:f(`app.dmn.checkTheDecisionsToSee`),clean:f(`app.dmnMode.noRulesOverlapAndEvery`),onRecheck:t,onPick:n})}var $l=Zn([{id:`properties`,icon:`properties`,component:DmnPropertiesTab},Qn,{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 eu=`decisionTable.replaceRules`,tu=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(!tu.has(n)){tu.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(eu,{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(eu,{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
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
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
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=/^(\d+):(\d+)$/.exec(n);return e?{row:Number(e[1]),column:Number(e[2])}: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 nu=`.dms-select-options`;function keepFocusOnOptionPress(e){let keep=e=>{e.target instanceof Element&&e.target.closest(nu)&&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 ru=Array.prototype.slice.call(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`);(e=>{let t={};return e.forEach((e,n)=>t[e]=n),t})(ru);var iu=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+=ru[t>>18&63]+ru[t>>12&63]+ru[t>>6&63]+ru[t&63]}return o?a.slice(0,o-3)+`===`.substring(o):a},au=typeof btoa==`function`?e=>btoa(e):btoaPolyfill,ou=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(iu.apply(null,e.subarray(r,r+t)));return au(n.join(``))},fromUint8Array=(e,t=!1)=>t?_mkUriSafe(ou(e)):ou(e);Uint8Array.fromBase64;var SpreadsheetError=class extends Error{},su=`<?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>`,cu=`<?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>`,lu=`<?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>`,uu=`http://schemas.openxmlformats.org/spreadsheetml/2006/main`;function escapeXml(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}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 xe({"[Content_Types].xml":Ce(su),"_rels/.rels":Ce(cu),"xl/workbook.xml":Ce(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="${uu}" 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":Ce(lu),"xl/worksheets/sheet1.xml":Ce(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="${uu}"><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=Te(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!==``&&!y(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 ruleOfRow(e){return{inputs:e.slice(0,-1),outputs:e.slice(-1)}}function previewImport(e,t){if(!e){let e=t.rows.map(ruleOfRow),n=e.flatMap((e,t)=>e.inputs.filter(e=>e!==``&&!y(e)).map(e=>f(`app.dmn.rowCannotBeRead`,{line:t+1,cell:e})));return{added:t.rows.map((e,t)=>[t+1,[...e]]),changed:[],unchanged:[],removed:[],rules:e,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(Je,{title:f(o===`create`?`app.dmn.addRulesFrom`:`app.dmn.import`,{source:a}),size:`medium`,onClose:r,onSubmit:c?void 0:n,footer:u(Xe,{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 du=`-dmn-names`,fu=`.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 At{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?.(fu)?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:fn(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:fn(r.$type)});if(Ft.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))??mn(t.tree)??{x:20,y:20};t.element=e.getRootElement(),t.point=n})}takenNames(e){if(!e[du]){let t=(this.canvas.getRootElement().businessObject.get(`drgElement`)??[]).map(e=>e.name).filter(e=>typeof e==`string`);e[du]=new Set(t)}return e[du]}},DrdCopyRules=class extends xn{static $inject=[`eventBus`];init(){this.addRule(`element.copy`,({element:e})=>cn(e))}},pu={__depends__:[Mt,kt,ut,Ut],__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}))]}},mu={__init__:[`decisionInputVariables`],decisionInputVariables:[`type`,DecisionInputVariables]},hu=$l.map(e=>e.id);function DmnEditor({xml:e,options:t}){let{client:n,engine:a,fileName:o,file:s}=t,_=tr({kind:`dmn`,file:s,fallbackName:o}),v=c(null),[y]=r(je),b=Ae(hu,`dmn`),re=$n(_.key,b.shownTab),S=c(null),[ie,ae]=r([]),[C,oe]=r(),[w,se]=r(null),[ce,le]=r(null),[T,E]=r(null),D=c(qt()),[O,ue]=r(null),[k,A]=r(null),[j,M]=r(null),[de,fe]=r({undo:!1,redo:!1}),[pe,me]=r(),he=c(e),ye=c(null),xe=c(null),Ce=c(null),Te=c(null),Pe=c(void 0),Re=c(new WeakSet),We=i(e=>{let t=e?.get(`canvas`,!1);if(!t||Re.current.has(t))return;Re.current.add(t);let n=Bt(t,{insetLeft:()=>{let e=v.current?.querySelector(`.djs-palette`),t=v.current?.getBoundingClientRect();return e&&t?e.getBoundingClientRect().right-t.left+16:0},insetBottom:()=>Xn(v.current)});Te.current={canvas:t,fit:n};let r=e?.get(`keyboard`,!1);r&&gn(r,n.fit),requestAnimationFrame(()=>{t.resized?.(),n.firstView()})},[]),qe=i(()=>{let e=Te.current?.canvas;e&&requestAnimationFrame(()=>e.resized?.())},[]),Je=i(()=>{let e=S.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=Je();if(!e)return;let{registry:t,graphics:n}=e;D.current=qt(),tn(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)},[Je]);let Ye=ke(o,async()=>(await S.current?.saveXML({format:!0}))?.xml),share=async()=>{let e=await S.current?.saveXML({format:!0});e&&await Ie(`dmn`,e.xml,o)},Xe=C?.type===`decisionTable`?C.element.id??null:null,N=l(()=>O?readTryTables(O):[],[O]).find(e=>e.decisionId===Xe)??null,Qe=i(async e=>{if(!N)return;let t=await exportTableTo(x(),N,e);t&&await x().notifyUser(f(`app.dmnMode.theDecisionTableWasSaved`,{saved:t}))},[N]),$e=i(async e=>{if(!N){M(f(`app.dmnMode.noDecisionTableIsOpen`));return}let t=await importTableFrom(x(),e===`replace`?N:null,e);t&&A(t)},[N]),et=i(()=>{if(!k||k.plan.summary===f(`app.dmn.nothingChanges`)){A(null);return}let e=S.current?.getActiveViewer(),t=e?replaceRulesIn(e,k.plan):!1;A(null),M(t?k.mode===`create`?f(`app.dmnMode.theRulesWereAddedTo`):f(`app.dmnMode.theRulesWereReplacedUndo`):f(`app.dmnMode.noDecisionTableIsOpen2`))},[k]),tt=i(()=>{let e=S.current?.getDefinitions();E(e?ne(e):[])},[]),nt=b.state.tab===`problems`&&!b.state.hidden,rt=T!==null&&!nt,check=async()=>{T!==null||nt?(E(null),nt&&b.select(`properties`)):await x().requestFeature(p.FLOW_ANALYSIS)&&tt()},it=i(e=>{let t=S.current?.getViews().find(t=>t.type===`decisionTable`&&(t.element.name??t.element.id)===e.decision);t&&S.current?.open(t)},[]),at=i(()=>{let e=S.current?.getViews().find(e=>e.type===`drd`);e&&S.current?.open(e)},[]),ot=Le(b.toggle);d(()=>{if(!v.current)return;let e=qt();D.current=e;let t=panelKindOf(a),r=t===`camunda`?[Wl]:t===`zeebe`?[Kl]:[];Ue();let i=new Modeler({container:v.current,drd:{propertiesPanel:{parent:y},additionalModules:[Kt,Ht,pu,Ze,Fl,Vl,...r,or],drdRenderer:{defaultFillColor:e.fill,defaultStrokeColor:e.stroke}},decisionTable:{additionalModules:[Ze,mu]},literalExpression:{additionalModules:[Ze]},boxedExpression:{additionalModules:[Ze]},moddleExtensions:t===`zeebe`?{zeebe:ol}:{camunda:ve}});S.current=i;let s=Ce.current;Ce.current=null;let c=De({save:e=>n.bpmn.saveBpmnXml(e),onFailure:e=>console.error(`Failed to save DMN:`,e)}),l,readHistory=()=>fe(nr(l?.get(`commandStack`,!1))),selected=e=>me(e.newSelection?.[0]?.id),changed=()=>{readHistory(),i.saveXML({format:!0}).then(({xml:e})=>{he.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),Pe.current?.(),l=i.getActiveViewer(),l?.on(`commandStack.changed`,changed),l?.on(`selection.changed`,selected),Pe.current=l?dn(l,x()):void 0,l&&an(l),readHistory()};i.on(`views.changed`,e=>{let t=e.activeView??i.getActiveView();ae(e.views??i.getViews()),oe(t),t&&(xe.current={id:t.id,type:t.type}),watch(),We(i.getActiveViewer())});let u=0,d=new ResizeObserver(()=>{cancelAnimationFrame(u),u=requestAnimationFrame(qe)});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===xe.current?.id&&e.type===xe.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&&$t(n.get(`canvas`,!1),n.get(`selection`,!1),n.get(`elementRegistry`,!1),s.view),ae(i.getViews()),oe(i.getActiveView()),ue(i.getDefinitions()),se(null),watch(),We(i.getActiveViewer())};te(he.current).then(({xml:e,from:t})=>{if(!m)return;t&&(he.current=e,le(h(t,o)));let n=ee(he.current);if(n)throw n;return i.importXML(he.current)}).then(()=>m?importInto():void 0).catch(e=>m&&se(e.message));let reimport=e=>{he.current=e;let t=ee(e);t?se(t.message):i.importXML(e).then(()=>importInto()).catch(e=>se(e.message))};ye.current=reimport;let g=n.bridge.onDocumentChanged?.(e=>{m&&e!==he.current&&(c.reloaded(e),reimport(e))});return()=>{m=!1,ye.current=null,g?.(),Pe.current?.(),Pe.current=void 0,d.disconnect(),f(),p(),Te.current=null,l?.off(`commandStack.changed`,changed);let e=i.getActiveView(),t=i.getActiveViewer();Ce.current=e&&t?{id:e.id,type:e.type,view:Rt(t.get(`canvas`,!1),t.get(`selection`,!1))}:null,i.destroy()}},[n,o,a,We,qe]);let st=ie.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:C?.id===e.id&&C?.type===e.type,run:()=>void S.current?.open(e)})),ct=S.current?.getActiveViewer()?.get(`commandStack`,!1),lt=i(()=>{let e=S.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=S.current?.getActiveViewer();e&&Yt(e,x()).catch(e=>console.error(`Failed to paste from the clipboard:`,e))},[]),undo=()=>ct?.undo(),redo=()=>ct?.redo(),cutDiagramSelection=()=>Se(S.current?.getActiveViewer()),selectAllDiagramElements=()=>we(S.current?.getActiveViewer()),dt=C?.type===`drd`?{undo,redo,cut:cutDiagramSelection,copy:lt,paste:ut,selectAll:selectAllDiagramElements}:{undo,redo},ft=l(()=>C?.type===`drd`?S.current?.getActiveViewer():void 0,[C,O]),pt=i((e,t)=>Ge(e,t,Ve),[]),mt=i((e,t)=>Ke(O,e,t),[O]),ht=i((e,t)=>He(O,e,t),[O]),P=Ee({viewer:ft,origin:pe,traceable:pt,read:mt,paint:ht}),gt={hasEngine:_e(a),hasTable:N!==null,open:{check:T!==null||nt,sidebar:!b.state.hidden,trace:P.tracing,traceable:P.traceable},deploy:ze(Ye),history:de,drd:C?.type===`drd`,chat:re,commands:{chat:()=>b.pressTab(Qn.id),undo,redo,copy:lt,paste:ut,toggleSidebar:ot,focusCanvas:er,check:()=>void check(),share:()=>void share(),exportTable:e=>void Qe(e),importTable:()=>void $e(`replace`),importTableAsNew:()=>void $e(`create`),toggleTrace:P.toggle,showLicence:n.bridge.showLicence?()=>void n.bridge.showLicence?.():void 0,chooseTheme:be(n.bridge,`editorTheme`)?m:void 0}},_t=Be(g,gt),vt=Me([...st,..._t]),yt=rt&&T?{title:f(`app.dmnMode.decisionCheck`),tally:Ne(T.length),isError:T.length>0,findings:T,clean:f(`app.dmnMode.noRulesOverlapAndEvery`),onRecheck:tt,onClose:()=>E(null),onShowAll:()=>b.select(`problems`),onPick:e=>it(T[e])}:void 0,bt=P.tracing&&P.reading?{label:P.reading.label,before:P.reading.before,after:P.reading.after,followMessages:P.followMessages,showMessages:P.supportsMessages,onFollowMessages:P.setFollowMessages,onClose:P.close}:void 0,xt=Fe({ready:w===null,suspended:!1}),St=ce??j;return u(Ql,{value:{panelHost:y,activeViewType:C?.type,activeDecisionId:C?.type===`decisionTable`?C.element.id??null:null,definitions:O,openRequirementsDiagram:at,findings:T,onRecheck:tt,onPick:e=>it(T[e])},children:u(Oe,{className:`dmn-editor`,toolbarItems:vt,tabs:$l,sidebar:b,edit:dt,badges:{problems:T?.length||void 0},notice:St?{text:St,dismiss:()=>{le(null),M(null)}}:xt,deploy:{deploy:Ye,engine:ge(a)??`camunda-7`},check:yt,assistant:_,trace:bt,shortcuts:{editor:`dmn`,mode:C?.type===`decisionTable`?`table`:`drd`,actions:_t},children:[u(`div`,{class:`resource-editor__canvas${w?` is-unreadable`:``}`,ref:v}),u(ir,{message:w,kind:`decision`,client:n,onReload:e=>ye.current?.(e)}),k&&u(ImportPreviewDialog,{pending:k,onApply:et,onClose:()=>A(null)})]})})}function DmnDocument({handle:e}){let t=l(()=>new We(Re(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};
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(su),"_rels/.rels":Se(cu),"xl/workbook.xml":Se(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="${uu}" 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(lu),"xl/worksheets/sheet1.xml":Se(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="${uu}"><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!==``&&!y(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 ruleOfRow(e){return{inputs:e.slice(0,-1),outputs:e.slice(-1)}}function previewImport(e,t){if(!e){let e=t.rows.map(ruleOfRow),n=e.flatMap((e,t)=>e.inputs.filter(e=>e!==``&&!y(e)).map(e=>f(`app.dmn.rowCannotBeRead`,{line:t+1,cell:e})));return{added:t.rows.map((e,t)=>[t+1,[...e]]),changed:[],unchanged:[],removed:[],rules:e,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(qe,{title:f(o===`create`?`app.dmn.addRulesFrom`:`app.dmn.import`,{source:a}),size:`medium`,onClose:r,onSubmit:c?void 0:n,footer:u(Ye,{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 du=`-dmn-names`,fu=`.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 kt{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?.(fu)?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:dn(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:dn(r.$type)});if(Pt.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))??pn(t.tree)??{x:20,y:20};t.element=e.getRootElement(),t.point=n})}takenNames(e){if(!e[du]){let t=(this.canvas.getRootElement().businessObject.get(`drgElement`)??[]).map(e=>e.name).filter(e=>typeof e==`string`);e[du]=new Set(t)}return e[du]}},DrdCopyRules=class extends bn{static $inject=[`eventBus`];init(){this.addRule(`element.copy`,({element:e})=>sn(e))}},pu={__depends__:[jt,Ot,lt,Ht],__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}))]}},mu={__init__:[`decisionInputVariables`],decisionInputVariables:[`type`,DecisionInputVariables]},hu=$l.map(e=>e.id);function DmnEditor({xml:e,options:t}){let{client:n,engine:a,fileName:o,file:s}=t,g=tr({kind:`dmn`,file:s,fallbackName:o}),_=c(null),[y]=r(Ae),x=ke(hu,`dmn`),ne=$n(g.key,x.shownTab),C=c(null),[re,ie]=r([]),[w,ae]=r(),[T,oe]=r(null),[se,ce]=r(null),[E,D]=r(null),O=c(Kt()),[k,le]=r(null),[A,j]=r(null),[M,N]=r(null),[ue,de]=r({undo:!1,redo:!1}),[fe,pe]=r(),he=c(e),ve=c(null),be=c(null),Se=c(null),we=c(null),Ne=c(void 0),Le=c(new WeakSet),Ue=i(e=>{let t=e?.get(`canvas`,!1);if(!t||Le.current.has(t))return;Le.current.add(t);let n=zt(t,{insetLeft:()=>{let e=_.current?.querySelector(`.djs-palette`),t=_.current?.getBoundingClientRect();return e&&t?e.getBoundingClientRect().right-t.left+16:0},insetBottom:()=>Xn(_.current)});we.current={canvas:t,fit:n};let r=e?.get(`keyboard`,!1);r&&hn(r,n.fit),requestAnimationFrame(()=>{t.resized?.(),n.firstView()})},[]),Ke=i(()=>{let e=we.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;O.current=Kt(),en(n,()=>O.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=Oe(o,async()=>(await C.current?.saveXML({format:!0}))?.xml),share=async()=>{let e=await C.current?.saveXML({format:!0});e&&await Fe(`dmn`,e.xml,o)},Ye=w?.type===`decisionTable`?w.element.id??null:null,P=l(()=>k?readTryTables(k):[],[k]).find(e=>e.decisionId===Ye)??null,Ze=i(async e=>{if(!P)return;let t=await exportTableTo(S(),P,e);t&&await S().notifyUser(f(`app.dmnMode.theDecisionTableWasSaved`,{saved:t}))},[P]),Qe=i(async e=>{if(!P){N(f(`app.dmnMode.noDecisionTableIsOpen`));return}let t=await importTableFrom(S(),e===`replace`?P:null,e);t&&j(t)},[P]),$e=i(()=>{if(!A||A.plan.summary===f(`app.dmn.nothingChanges`)){j(null);return}let e=C.current?.getActiveViewer(),t=e?replaceRulesIn(e,A.plan):!1;j(null),N(t?A.mode===`create`?f(`app.dmnMode.theRulesWereAddedTo`):f(`app.dmnMode.theRulesWereReplacedUndo`):f(`app.dmnMode.noDecisionTableIsOpen2`))},[A]),et=i(()=>{let e=C.current?.getDefinitions();D(e?te(e):[])},[]),tt=x.state.tab===`problems`&&!x.state.hidden,nt=E!==null&&!tt,check=async()=>{E!==null||tt?(D(null),tt&&x.select(`properties`)):await S().requestFeature(p.FLOW_ANALYSIS)&&et()},rt=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)},[]),it=i(()=>{let e=C.current?.getViews().find(e=>e.type===`drd`);e&&C.current?.open(e)},[]),at=Ie(x.toggle);d(()=>{if(!_.current)return;let e=Kt();O.current=e;let t=panelKindOf(a),r=t===`camunda`?[Wl]:t===`zeebe`?[Kl]:[];He();let i=new Modeler({container:_.current,drd:{propertiesPanel:{parent:y},additionalModules:[Gt,Vt,pu,Xe,Fl,Vl,...r,or],drdRenderer:{defaultFillColor:e.fill,defaultStrokeColor:e.stroke}},decisionTable:{additionalModules:[Xe,mu]},literalExpression:{additionalModules:[Xe]},boxedExpression:{additionalModules:[Xe]},moddleExtensions:t===`zeebe`?{zeebe:ol}:{camunda:me}});C.current=i;let s=Se.current;Se.current=null;let c=Ee({save:e=>n.bpmn.saveBpmnXml(e),onFailure:e=>console.error(`Failed to save DMN:`,e)}),l,readHistory=()=>de(nr(l?.get(`commandStack`,!1))),selected=e=>pe(e.newSelection?.[0]?.id),changed=()=>{readHistory(),i.saveXML({format:!0}).then(({xml:e})=>{he.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),Ne.current?.(),l=i.getActiveViewer(),l?.on(`commandStack.changed`,changed),l?.on(`selection.changed`,selected),Ne.current=l?un(l,S()):void 0,l&&rn(l),readHistory()};i.on(`views.changed`,e=>{let t=e.activeView??i.getActiveView();ie(e.views??i.getViews()),ae(t),t&&(be.current={id:t.id,type:t.type}),watch(),Ue(i.getActiveViewer())});let u=0,d=new ResizeObserver(()=>{cancelAnimationFrame(u),u=requestAnimationFrame(Ke)});d.observe(_.current);let f=bindTablePaste(_.current,()=>i.getActiveViewer(),e=>void S().notifyUser(e,!0)),p=keepFocusOnOptionPress(_.current),m=!0,importInto=async()=>{let e=i.getViews().find(e=>e.id===be.current?.id&&e.type===be.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&&Qt(n.get(`canvas`,!1),n.get(`selection`,!1),n.get(`elementRegistry`,!1),s.view),ie(i.getViews()),ae(i.getActiveView()),le(i.getDefinitions()),oe(null),watch(),Ue(i.getActiveViewer())};b(he.current).then(({xml:e,from:t})=>{if(!m)return;t&&(he.current=e,ce(ee(t,o)));let n=v(he.current);if(n)throw n;return i.importXML(he.current)}).then(()=>m?importInto():void 0).catch(e=>m&&oe(e.message));let reimport=e=>{he.current=e;let t=v(e);t?oe(t.message):i.importXML(e).then(()=>importInto()).catch(e=>oe(e.message))};ve.current=reimport;let h=n.bridge.onDocumentChanged?.(e=>{m&&e!==he.current&&(c.reloaded(e),reimport(e))});return()=>{m=!1,ve.current=null,h?.(),Ne.current?.(),Ne.current=void 0,d.disconnect(),f(),p(),we.current=null,l?.off(`commandStack.changed`,changed);let e=i.getActiveView(),t=i.getActiveViewer();Se.current=e&&t?{id:e.id,type:e.type,view:Lt(t.get(`canvas`,!1),t.get(`selection`,!1))}:null,i.destroy()}},[n,o,a,Ue,Ke]);let ot=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)})),st=C.current?.getActiveViewer()?.get(`commandStack`,!1),ct=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)},[]),lt=i(()=>{let e=C.current?.getActiveViewer();e&&Jt(e,S()).catch(e=>console.error(`Failed to paste from the clipboard:`,e))},[]),undo=()=>st?.undo(),redo=()=>st?.redo(),cutDiagramSelection=()=>xe(C.current?.getActiveViewer()),selectAllDiagramElements=()=>Ce(C.current?.getActiveViewer()),ut=w?.type===`drd`?{undo,redo,cut:cutDiagramSelection,copy:ct,paste:lt,selectAll:selectAllDiagramElements}:{undo,redo},dt=l(()=>w?.type===`drd`?C.current?.getActiveViewer():void 0,[w,k]),ft=i((e,t)=>We(e,t,Be),[]),pt=i((e,t)=>Ge(k,e,t),[k]),mt=i((e,t)=>Ve(k,e,t),[k]),F=Te({viewer:dt,origin:fe,traceable:ft,read:pt,paint:mt}),ht={hasEngine:_e(a),hasTable:P!==null,open:{check:E!==null||tt,sidebar:!x.state.hidden,trace:F.tracing,traceable:F.traceable},deploy:Re(Je),history:ue,drd:w?.type===`drd`,chat:ne,commands:{chat:()=>x.pressTab(Qn.id),undo,redo,copy:ct,paste:lt,toggleSidebar:at,focusCanvas:er,check:()=>void check(),share:()=>void share(),exportTable:e=>void Ze(e),importTable:()=>void Qe(`replace`),importTableAsNew:()=>void Qe(`create`),toggleTrace:F.toggle,showLicence:n.bridge.showLicence?()=>void n.bridge.showLicence?.():void 0,chooseTheme:ye(n.bridge,`editorTheme`)?m:void 0}},gt=ze(h,ht),_t=je([...ot,...gt]),vt=nt&&E?{title:f(`app.dmnMode.decisionCheck`),tally:Me(E.length),isError:E.length>0,findings:E,clean:f(`app.dmnMode.noRulesOverlapAndEvery`),onRecheck:et,onClose:()=>D(null),onShowAll:()=>x.select(`problems`),onPick:e=>rt(E[e])}:void 0,yt=F.tracing&&F.reading?{label:F.reading.label,before:F.reading.before,after:F.reading.after,followMessages:F.followMessages,showMessages:F.supportsMessages,onFollowMessages:F.setFollowMessages,onClose:F.close}:void 0,bt=Pe({ready:T===null,suspended:!1}),xt=se??M;return u(Ql,{value:{panelHost:y,activeViewType:w?.type,activeDecisionId:w?.type===`decisionTable`?w.element.id??null:null,definitions:k,openRequirementsDiagram:it,findings:E,onRecheck:et,onPick:e=>rt(E[e])},children:u(De,{className:`dmn-editor`,toolbarItems:_t,tabs:$l,sidebar:x,edit:ut,badges:{problems:E?.length||void 0},notice:xt?{text:xt,dismiss:()=>{ce(null),N(null)}}:bt,deploy:{deploy:Je,engine:ge(a)??`camunda-7`},check:vt,assistant:g,trace:yt,shortcuts:{editor:`dmn`,mode:w?.type===`decisionTable`?`table`:`drd`,actions:gt},children:[u(`div`,{class:`resource-editor__canvas${T?` is-unreadable`:``}`,ref:_}),u(ir,{message:T,kind:`decision`,client:n,onReload:e=>ve.current?.(e)}),A&&u(ImportPreviewDialog,{pending:A,onApply:$e,onClose:()=>j(null)})]})})}function DmnDocument({handle:e}){let t=l(()=>new Ue(Le(S(),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};