@kern0x1b/penstock-cli 26.11.1 → 26.11.2

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 (302) hide show
  1. package/THIRD-PARTY-NOTICES.md +16 -16
  2. package/dist/chunk-account-BaYNvO18.js +1 -0
  3. package/dist/{chunk-agentLaunch-D21uPuMr.js → chunk-agentLaunch-BnrpVME4.js} +1 -1
  4. package/dist/chunk-agentServe-BeOh1rjE.js +10 -0
  5. package/dist/chunk-agents-CZJoU2u2.js +1 -0
  6. package/dist/chunk-agentsMigrate-DnrqoXNz.js +2 -0
  7. package/dist/{chunk-analyze-BG-rlggA.js → chunk-analyze-ClE2LBCj.js} +1 -1
  8. package/dist/chunk-analyze-DgQqzEgb.js +1 -0
  9. package/dist/{chunk-analyzeFlow-2cYPgjh-.js → chunk-analyzeFlow-F2ZFmJhv.js} +1 -1
  10. package/dist/chunk-apiTemplates-Cl_z63FA.js +1 -0
  11. package/dist/{chunk-bot-DlhStBoG.js → chunk-bot-C2k8yaXA.js} +5 -5
  12. package/dist/chunk-cmmnFindings-DKpYqUZN.js +1 -0
  13. package/dist/{chunk-codeFactSet-LxSnQy8K.js → chunk-codeFactSet-DiAYqvbb.js} +1 -1
  14. package/dist/{chunk-codeIndex-N1gnP_sW.js → chunk-codeIndex-vStNh6Bm.js} +1 -1
  15. package/dist/chunk-codeLinks-BVpn4_Sr.js +1 -0
  16. package/dist/chunk-codeLinks-BrGduhsm.js +1 -0
  17. package/dist/chunk-command-8s6m3ZUw.js +5 -0
  18. package/dist/chunk-command-aMxPQdiV.js +1 -0
  19. package/dist/chunk-command-vH1_y5F0.js +1 -0
  20. package/dist/chunk-commands-B8YVT41b.js +5 -0
  21. package/dist/{chunk-commands-DcjlDt7B.js → chunk-commands-CJCSznbv.js} +1 -1
  22. package/dist/chunk-compose-BUJTvoFX.js +4 -0
  23. package/dist/chunk-connections-Drr67X9U.js +1 -0
  24. package/dist/chunk-connectors-DcMqy0u8.js +1 -0
  25. package/dist/chunk-convert-Ce1MZmsE.js +3 -0
  26. package/dist/chunk-convert-FkMnlxyi.js +1 -0
  27. package/dist/chunk-deploy-BHg8pB9x.js +1 -0
  28. package/dist/chunk-deploy-DZgCTgaY.js +6 -0
  29. package/dist/{chunk-diagrams-BukAOL0g.js → chunk-diagrams-CtGMGTa8.js} +1 -1
  30. package/dist/chunk-diff-9hjavV6V.js +1 -0
  31. package/dist/chunk-diff-Dp3fUALc.js +1 -0
  32. package/dist/chunk-dispatch-o-eqJb9Y.js +7 -0
  33. package/dist/chunk-dmnTests-BOxutoRs.js +1 -0
  34. package/dist/{chunk-dmnTests-ChwX1YVo.js → chunk-dmnTests-BzNA-u2k.js} +1 -1
  35. package/dist/{chunk-docs-D7yEDpa4.js → chunk-docs-B3C3pZpY.js} +17 -17
  36. package/dist/chunk-doctor-CRxbsAm7.js +1 -0
  37. package/dist/{chunk-editPreview-CC2vwhIW.js → chunk-editPreview-DCUnMkTU.js} +1 -1
  38. package/dist/chunk-evidence-ny_2ltVe.js +23 -0
  39. package/dist/{chunk-examples-0HkF-frb.js → chunk-examples-BG0lGXcZ.js} +9 -9
  40. package/dist/chunk-export-Blwjf23H.js +1 -0
  41. package/dist/chunk-export-kt3sBTZu.js +20 -0
  42. package/dist/{chunk-facts-DSVaURw5.js → chunk-facts-Dl5lLriU.js} +1 -1
  43. package/dist/chunk-failure-BRyRvObj.js +1 -0
  44. package/dist/{chunk-file-BswMa3FN.js → chunk-file-1YhfNmPn.js} +1 -1
  45. package/dist/chunk-import-Dh3az4BC.js +6 -0
  46. package/dist/chunk-importCommand-Dhikkmo0.js +1 -0
  47. package/dist/chunk-incident-LJe2-ohi.js +1 -0
  48. package/dist/chunk-init-D34Q4YA8.js +227 -0
  49. package/dist/chunk-lint-CnEhoYRB.js +1 -0
  50. package/dist/{chunk-lsp-7vA_mIt1.js → chunk-lsp-BzeJkpmf.js} +1 -1
  51. package/dist/chunk-main-BZF-ErAx.js +1 -0
  52. package/dist/chunk-mcp-B_B9bet5.js +95 -0
  53. package/dist/{chunk-mcpLaunch-LyfmIF_Z.js → chunk-mcpLaunch-BS709697.js} +1 -1
  54. package/dist/chunk-migrate-DVfXC-iJ.js +1 -0
  55. package/dist/chunk-migrate-DwWg0k5_.js +16 -0
  56. package/dist/{chunk-migrateApply-CzOkgKhB.js → chunk-migrateApply-e8O9oZXP.js} +3 -3
  57. package/dist/chunk-migrateVerify-oIBf-PM3.js +1 -0
  58. package/dist/{chunk-model-f8AzYUK7.js → chunk-model-BulEKnY1.js} +2 -2
  59. package/dist/{chunk-parse-B-uKGDy-.js → chunk-parse-DiOcpdOU.js} +1 -1
  60. package/dist/{chunk-penstockCli-CKMvaZ0O.js → chunk-penstockCli-C41P_G7i.js} +1 -1
  61. package/dist/chunk-policy-BVb7c7G_.js +1 -0
  62. package/dist/chunk-policyGate-BOgKsqLq.js +2 -0
  63. package/dist/chunk-pr-1jKcTNnP.js +1 -0
  64. package/dist/{chunk-project-DBYOlYRi.js → chunk-project-COaBZhMt.js} +1 -1
  65. package/dist/chunk-project-lO_6DX8G.js +1 -0
  66. package/dist/chunk-promotion-CTMPjXjZ.js +2 -0
  67. package/dist/chunk-promotion-DDLrgBqZ.js +1 -0
  68. package/dist/{chunk-promotion-DchO6xoC.js → chunk-promotion-NeRj4uTP.js} +1 -1
  69. package/dist/chunk-receipt-C4NqnSkH.js +1 -0
  70. package/dist/chunk-receiptDeps-B7MehyHT.js +1 -0
  71. package/dist/chunk-receiptGate-BZCKCMTV.js +1 -0
  72. package/dist/chunk-receiptGate-DRcw327y.js +1 -0
  73. package/dist/{chunk-receiptSnapshot-B6ruXw8z.js → chunk-receiptSnapshot-CHSk3_4N.js} +1 -1
  74. package/dist/{chunk-receiptStore-Cy-L0H1u.js → chunk-receiptStore-DhROtI2h.js} +1 -1
  75. package/dist/chunk-refactor-CO3qyIEv.js +17 -0
  76. package/dist/chunk-refactor-CWeCOl7w.js +1 -0
  77. package/dist/{chunk-render-Ci5d6mg4.js → chunk-render-DZd5hScS.js} +1 -1
  78. package/dist/chunk-report-w7YZwhyg.js +1 -0
  79. package/dist/chunk-review-DYMgFDSy.js +1 -0
  80. package/dist/chunk-say-CP1IyOSv.js +1 -0
  81. package/dist/{chunk-security-VgKwtohm.js → chunk-security-pgip-kdY.js} +2 -2
  82. package/dist/chunk-serve-CKt2rO05.js +10 -0
  83. package/dist/{chunk-share-CBV2FuKq.js → chunk-share-rsL0itIM.js} +18 -18
  84. package/dist/chunk-stages-B2sBBxUc.js +3 -0
  85. package/dist/chunk-systemError-O3vQ8hLb.js +1 -0
  86. package/dist/chunk-systemError-n2E6isvg.js +1 -0
  87. package/dist/chunk-taskTest-DWoME1mY.js +2 -0
  88. package/dist/chunk-taskTest-JErgWO6t.js +1 -0
  89. package/dist/{chunk-templateDiagnostics-BwH7RNkz.js → chunk-templateDiagnostics-6txfKwas.js} +2 -2
  90. package/dist/chunk-templates-Y3xfCO_3.js +1 -0
  91. package/dist/chunk-testCases-BwimUfDC.js +4 -0
  92. package/dist/chunk-testCases-DO2Rkyvd.js +1 -0
  93. package/dist/chunk-tests-Cy325OGw.js +1 -0
  94. package/dist/chunk-tests-DNkORsqB.js +23 -0
  95. package/dist/{chunk-trust-DXcsUJaK.js → chunk-trust-DSX-k3by.js} +1 -1
  96. package/dist/{chunk-trust-DubjEjlN.js → chunk-trust-Di4EYPah.js} +1 -1
  97. package/dist/{chunk-variableChecks-KnECGMR3.js → chunk-variableChecks-CBDpmI4d.js} +1 -1
  98. package/dist/{chunk-workerVariables-CajAcbwl.js → chunk-workerVariables-CNnCRijJ.js} +1 -1
  99. package/dist/{chunk-workerVariables-DIDoUpHF.js → chunk-workerVariables-CulLc3YH.js} +1 -1
  100. package/dist/chunk-wrapper-CGYED7G2.js +1 -0
  101. package/dist/chunk-wrapper-CK7Xtes6.js +3 -0
  102. package/dist/grammars/web-tree-sitter.wasm +0 -0
  103. package/dist/penstock.js +1 -1
  104. package/dist/web/assets/{AgentSettings-Cn5Vcph3.js → AgentSettings-D24jOuht.js} +1 -1
  105. package/dist/web/assets/{AgentsDialog-C6WqzlxZ.js → AgentsDialog-BMWv3Gyk.js} +1 -1
  106. package/dist/web/assets/{AgentsDialog-dpbwVSxk.js → AgentsDialog-DbY2O6O5.js} +1 -1
  107. package/dist/web/assets/{AgentsTab-C34OhVkw.js → AgentsTab-D6LbK6sG.js} +2 -2
  108. package/dist/web/assets/{BpmnCanvas-yur9daZa.js → BpmnCanvas-BcQRQ2Br.js} +27 -27
  109. package/dist/web/assets/BpmnDocument-Ce5F4K1e.js +27 -0
  110. package/dist/web/assets/CmmnDocument-C_UlPowC.js +17 -0
  111. package/dist/web/assets/{ConflictDialog-Bb5kduaR.js → ConflictDialog-DfFp8F7n.js} +1 -1
  112. package/dist/web/assets/{ConnectionsDialog-qtF7yDFw.js → ConnectionsDialog-BaYtHD5h.js} +1 -1
  113. package/dist/web/assets/{DiffDocument-LHOif5Ac.js → DiffDocument-BOPdBEN3.js} +1 -1
  114. package/dist/web/assets/{DmnDocument-0f5uS67x.css → DmnDocument-DZ9u2uk2.css} +1 -1
  115. package/dist/web/assets/DmnDocument-vtnARy7Q.js +41 -0
  116. package/dist/web/assets/{DriftDialog-Chl6BX6k.js → DriftDialog-dIbCbSK2.js} +1 -1
  117. package/dist/web/assets/FormDocument-B0q8DF9v.css +1 -0
  118. package/dist/web/assets/FormDocument-DHBUBUzO.js +32 -0
  119. package/dist/web/assets/FormStepView-CbHb32_8.js +1 -0
  120. package/dist/web/assets/{GraphAwareLayoutService-wsos3yPD.js → GraphAwareLayoutService-C5N8K9dm.js} +1 -1
  121. package/dist/web/assets/{MigrationDialog-CBJU7Oe3.js → MigrationDialog-DA3Vrzgw.js} +1 -1
  122. package/dist/web/assets/{NewFileDialog-B7075LWG.js → NewFileDialog-Dev41oA1.js} +1 -1
  123. package/dist/web/assets/PolicyDialog-qR19Csji.js +1 -0
  124. package/dist/web/assets/{QuickOpen-DJQrI7Od.js → QuickOpen-ps-rMjiS.js} +1 -1
  125. package/dist/web/assets/ScriptPane-BQLMNYzc.js +2 -0
  126. package/dist/web/assets/{ScriptRunDialog-BwE4cXnp.js → ScriptRunDialog-YivjHB6j.js} +1 -1
  127. package/dist/web/assets/{SettingsDialog-c307wPsg.js → SettingsDialog-DI0vZ6Ay.js} +1 -1
  128. package/dist/web/assets/ShortcutsDialog-DLXnv4Vm.js +1 -0
  129. package/dist/web/assets/SourceDocument-Cj8cGsoS.js +1 -0
  130. package/dist/web/assets/TemplateDocument-BRyFsofH.js +7 -0
  131. package/dist/web/assets/TextDocument-DB2hEuMA.js +1 -0
  132. package/dist/web/assets/{UnreadableFileLayer-CUP_30X8.js → UnreadableFileLayer-CRW3MM7w.js} +1 -1
  133. package/dist/web/assets/{UploadDialog-CaVBOxUL.js → UploadDialog-D-X6GG98.js} +1 -1
  134. package/dist/web/assets/Viewer-BcpDlvg_.js +4 -0
  135. package/dist/web/assets/apply-Nsj6ek02.js +1 -0
  136. package/dist/web/assets/{bpmnTheme-CZ7xp4R5.js → bpmnTheme-pKgl9Mrn.js} +2 -2
  137. package/dist/web/assets/{data-ZauKnQ2Z.js → data-CdiToGOq.js} +2 -2
  138. package/dist/web/assets/{data-Da5Nxzev.js → data-wU6sw6RY.js} +1 -1
  139. package/dist/web/assets/{dialog-DSLu1Bbo.js → dialog-BDJ5dDiU.js} +1 -1
  140. package/dist/web/assets/{diff-C4hitkRR.js → diff-BhYqTg4l.js} +1 -1
  141. package/dist/web/assets/dist-27z6Phtg.js +23 -0
  142. package/dist/web/assets/{dist-CofBTWz1.js → dist-B7TL-7R3.js} +4 -4
  143. package/dist/web/assets/dist-BEpeEbIu.js +1 -0
  144. package/dist/web/assets/{dist-CYCbBoYQ.js → dist-BTf7NfeQ.js} +1 -1
  145. package/dist/web/assets/{dist-CJKVV2_S.js → dist-BqGv7f4M.js} +10 -10
  146. package/dist/web/assets/dist-C-q1IWjr.js +6 -0
  147. package/dist/web/assets/{dist-Blylfrak.js → dist-CJx_2eBF.js} +2 -2
  148. package/dist/web/assets/dist-COUY_jv5.js +1 -0
  149. package/dist/web/assets/{dist-DpDu6Wz_.js → dist-CWjAtsKe.js} +1 -1
  150. package/dist/web/assets/{dist-gb3IfUZi.js → dist-Cv8_A_95.js} +2 -2
  151. package/dist/web/assets/dist-DDE6BjgI.js +5 -0
  152. package/dist/web/assets/{dist-7VC_hKpw.js → dist-DDNYYQtV.js} +1 -1
  153. package/dist/web/assets/dist-DW-S9iZN.js +1 -0
  154. package/dist/web/assets/dist-OnU5n5o1.js +1 -0
  155. package/dist/web/assets/dmn-Cgoh6wXm.js +3 -0
  156. package/dist/web/assets/{documentBridge-1Eg7H9yI.js → documentBridge-CHw4XsZH.js} +3 -3
  157. package/dist/web/assets/{documents-LG-7CTrn.js → documents-CEtohzAC.js} +1 -1
  158. package/dist/web/assets/duplicate-D_ic-m62.js +342 -0
  159. package/dist/web/assets/{engines-DhO6OW1S.js → engines-lyEvb0pH.js} +1 -1
  160. package/dist/web/assets/{executable-BTarDLry.js → executable--4381_Lf.js} +1 -1
  161. package/dist/web/assets/{file-CIeVSOHy.js → file-BbVBUuIH.js} +1 -1
  162. package/dist/web/assets/formChecks-CSClH9sH.js +1 -0
  163. package/dist/web/assets/frontend-uXAWaalt.js +1 -0
  164. package/dist/web/assets/{httpHost-DBSjdVth.js → httpHost-C973OTRe.js} +1 -1
  165. package/dist/web/assets/{index.es-pigASDxC.js → index.es-CMvq8Bhe.js} +3 -3
  166. package/dist/web/assets/index.es-GbdJvMnO.js +78 -0
  167. package/dist/web/assets/{index.esm-CTLpq4ik.js → index.esm-Ba6q0zSu.js} +1 -1
  168. package/dist/web/assets/{intelligence-_1C71hkQ.js → intelligence-DNqJNmdB.js} +3 -3
  169. package/dist/web/assets/{jspdf.es.min-PgZzOmkT.js → jspdf.es.min-C0L4zezU.js} +6 -6
  170. package/dist/web/assets/{kind-X3_nabTt.js → kind-DDHnk6dW.js} +1 -1
  171. package/dist/web/assets/{lib-BmLAen_d.js → lib-DrkEMJ65.js} +1 -1
  172. package/dist/web/assets/{list-DovB9lWV.js → list-TmXvCwja.js} +1 -1
  173. package/dist/web/assets/{migrationHost-BcguK4K5.js → migrationHost-DCWBb3L6.js} +1 -1
  174. package/dist/web/assets/moddle-f0Q4Guwd.js +1 -0
  175. package/dist/web/assets/{model--Bj28IOj.js → model-afHgSxJs.js} +1 -1
  176. package/dist/web/assets/{nudges-UF9_cBuO.js → nudges-DPG3WpyV.js} +1 -1
  177. package/dist/web/assets/{open-C9Kt9JLw.js → open-Vkx72dYx.js} +1 -1
  178. package/dist/web/assets/platform-G53Cenyw.js +2 -0
  179. package/dist/web/assets/{preload-helper-VRuDKI9K.js → preload-helper-DExCAR_V.js} +1 -1
  180. package/dist/web/assets/{run-BZgz1U9U.js → run-BMfRBe5O.js} +1 -1
  181. package/dist/web/assets/samples-BL3jA_Vd.js +1 -0
  182. package/dist/web/assets/{say-WvEHqIbO.js → say-BkdZMivA.js} +1 -1
  183. package/dist/web/assets/{say-ChFGKK2E.js → say-C7KqKcFr.js} +1 -1
  184. package/dist/web/assets/{sections-N6WYk7b8.js → sections-LJKSRDTS.js} +1 -1
  185. package/dist/web/assets/sharedReader-BsXfiBT8.js +1 -0
  186. package/dist/web/assets/{source-frame-DcptKpVq.js → source-frame-DC4W0A5-.js} +2 -2
  187. package/dist/web/assets/{syntax-DW10Wzg4.js → syntax-00Hk6Xv7.js} +4 -4
  188. package/dist/web/assets/{template-CMl68jPp.js → template-BQP7ZXdK.js} +1 -1
  189. package/dist/web/assets/testCaseRuns-liAhWMg7.js +1 -0
  190. package/dist/web/assets/{trace-DLziNpe2.js → trace-DXQU2N_l.js} +1 -1
  191. package/dist/web/assets/{translator-DLDFsUlE.js → translator-BLCeE6UY.js} +1 -1
  192. package/dist/web/assets/ui-BLtm3Y1J.js +1 -0
  193. package/dist/web/assets/{useTrace-UYBskc2k.js → useTrace-dZdQ805W.js} +1 -1
  194. package/dist/web/assets/web-C4k0NLZ9.js +982 -0
  195. package/dist/web/assets/web-CnDpD6qy.css +1 -0
  196. package/dist/web/assets/{workerVariables-DURgyUbG.js → workerVariables-O6VqwDzr.js} +1 -1
  197. package/dist/web/assets/xml-DIWt4von.js +1 -0
  198. package/dist/web/index.html +39 -40
  199. package/package.json +5 -5
  200. package/dist/chunk-account-CpZu-RTg.js +0 -1
  201. package/dist/chunk-agentServe-BYRtgGGD.js +0 -10
  202. package/dist/chunk-agents-B9oxdPTA.js +0 -1
  203. package/dist/chunk-agentsMigrate-BV8TeRXq.js +0 -2
  204. package/dist/chunk-analyze-pgzR-Cx-.js +0 -1
  205. package/dist/chunk-apiTemplates-cU7C8vap.js +0 -1
  206. package/dist/chunk-cmmnFindings-S2TGSnEp.js +0 -1
  207. package/dist/chunk-codeLinks-C8N6e8k3.js +0 -1
  208. package/dist/chunk-codeLinks-o0a8tBGk.js +0 -1
  209. package/dist/chunk-command-Bqlbgo-2.js +0 -1
  210. package/dist/chunk-command-DT84ioJb.js +0 -5
  211. package/dist/chunk-command-DrGP2kg8.js +0 -1
  212. package/dist/chunk-commands-B4PoZbpX.js +0 -5
  213. package/dist/chunk-compose-CWKKVtN5.js +0 -4
  214. package/dist/chunk-connections-DQpKbIGD.js +0 -1
  215. package/dist/chunk-connectors-PtAvE91B.js +0 -1
  216. package/dist/chunk-convert-CpgtOlZk.js +0 -1
  217. package/dist/chunk-convert-HbFpg8ab.js +0 -3
  218. package/dist/chunk-deploy-l4MdFfn8.js +0 -6
  219. package/dist/chunk-deploy-qRaaKGZb.js +0 -1
  220. package/dist/chunk-diff-BhTFlCE3.js +0 -1
  221. package/dist/chunk-diff-kBF83vzM.js +0 -1
  222. package/dist/chunk-dispatch-BnO-QhMh.js +0 -7
  223. package/dist/chunk-dmnTests-0x_yUH6S.js +0 -1
  224. package/dist/chunk-doctor-BuHK1dTm.js +0 -1
  225. package/dist/chunk-evidence-oLw_C6j8.js +0 -23
  226. package/dist/chunk-export-cIFHDXug.js +0 -1
  227. package/dist/chunk-export-jBVxtmCH.js +0 -20
  228. package/dist/chunk-failure-D5brrYW2.js +0 -1
  229. package/dist/chunk-import-BBOe-5RZ.js +0 -6
  230. package/dist/chunk-importCommand-DRjYoljA.js +0 -1
  231. package/dist/chunk-incident-BK1h37CD.js +0 -1
  232. package/dist/chunk-init-_OALJuKm.js +0 -227
  233. package/dist/chunk-lint-7KJFxyCN.js +0 -1
  234. package/dist/chunk-main-Cw2JXCil.js +0 -1
  235. package/dist/chunk-mcp-K63bhqnF.js +0 -95
  236. package/dist/chunk-migrate-BMwBV5sc.js +0 -16
  237. package/dist/chunk-migrate-CxfVmKt0.js +0 -1
  238. package/dist/chunk-migrateVerify-DSEXSpfR.js +0 -1
  239. package/dist/chunk-policy-BX0Ftdws.js +0 -1
  240. package/dist/chunk-policyGate-dmcufnwB.js +0 -2
  241. package/dist/chunk-pr-ByrGcfam.js +0 -1
  242. package/dist/chunk-project-DA3KnAZH.js +0 -1
  243. package/dist/chunk-promotion-Boedyq43.js +0 -1
  244. package/dist/chunk-promotion-D8Ti-vxp.js +0 -2
  245. package/dist/chunk-receipt-CusJaqNn.js +0 -1
  246. package/dist/chunk-receiptDeps-oVbX156d.js +0 -1
  247. package/dist/chunk-receiptGate-DrGChj7i.js +0 -1
  248. package/dist/chunk-receiptGate-xldHKMyJ.js +0 -1
  249. package/dist/chunk-refactor-B1W_MGTp.js +0 -1
  250. package/dist/chunk-refactor-BJXxEtVs.js +0 -17
  251. package/dist/chunk-report-D9pM09Nu.js +0 -1
  252. package/dist/chunk-review-UcqS5AAi.js +0 -1
  253. package/dist/chunk-say-CYb4HeJD.js +0 -1
  254. package/dist/chunk-serve-Dmqen1yd.js +0 -10
  255. package/dist/chunk-stages-BTQJrAMF.js +0 -3
  256. package/dist/chunk-systemError-BYrMzp2o.js +0 -1
  257. package/dist/chunk-systemError-CXvnhNPK.js +0 -1
  258. package/dist/chunk-taskTest-9gMsx0zu.js +0 -2
  259. package/dist/chunk-taskTest-BjXYpG5p.js +0 -1
  260. package/dist/chunk-templates-D3ouIwHD.js +0 -1
  261. package/dist/chunk-testCases-9jwT_Y7z.js +0 -4
  262. package/dist/chunk-testCases-BcpBPg9L.js +0 -1
  263. package/dist/chunk-tests-CEEXnWOp.js +0 -23
  264. package/dist/chunk-tests-CRVosdWp.js +0 -1
  265. package/dist/chunk-wrapper-B2WnOIoB.js +0 -3
  266. package/dist/chunk-wrapper-DiKCKZti.js +0 -1
  267. package/dist/web/assets/BpmnDocument-C247Rqim.js +0 -27
  268. package/dist/web/assets/CmmnDocument-Dj48bsUd.js +0 -17
  269. package/dist/web/assets/DmnDocument-Cb9Zi9fS.js +0 -41
  270. package/dist/web/assets/FormDocument-DoZaxWd-.js +0 -32
  271. package/dist/web/assets/FormDocument-URLcKn84.css +0 -1
  272. package/dist/web/assets/FormStepView-D8MFcpeI.js +0 -1
  273. package/dist/web/assets/PolicyDialog-CGdglmDn.js +0 -1
  274. package/dist/web/assets/ScriptPane-T6M5f6fc.js +0 -2
  275. package/dist/web/assets/ShortcutsDialog-BAoL9EHu.js +0 -1
  276. package/dist/web/assets/SourceDocument-C9KIzBA5.js +0 -1
  277. package/dist/web/assets/TemplateDocument-CNt2turg.js +0 -7
  278. package/dist/web/assets/TextDocument-CtkHoEqN.js +0 -1
  279. package/dist/web/assets/Viewer-DZske1C5.js +0 -4
  280. package/dist/web/assets/apply-nnKP9HIM.js +0 -1
  281. package/dist/web/assets/dist--PmHUHDp.js +0 -1
  282. package/dist/web/assets/dist-BoPrKCf2.js +0 -5
  283. package/dist/web/assets/dist-C1m02xAO.js +0 -1
  284. package/dist/web/assets/dist-CLqJMzT-.js +0 -1
  285. package/dist/web/assets/dist-D3jqq0XS.js +0 -1
  286. package/dist/web/assets/dist-DA-9F0U9.js +0 -1
  287. package/dist/web/assets/dist-DojzF5q2.js +0 -6
  288. package/dist/web/assets/dist-yvjzrXXf.js +0 -23
  289. package/dist/web/assets/dmn-DwdcYXGr.js +0 -3
  290. package/dist/web/assets/duplicate-D-ilQqKz.js +0 -342
  291. package/dist/web/assets/formChecks-CGox1z7R.js +0 -1
  292. package/dist/web/assets/frontend-Qq5hBH0U.js +0 -1
  293. package/dist/web/assets/index.es-CcNNw3VB.js +0 -78
  294. package/dist/web/assets/moddle-DJxj0oEU.js +0 -1
  295. package/dist/web/assets/platform-BLPhsye9.js +0 -2
  296. package/dist/web/assets/samples-oeXBsJ9Y.js +0 -1
  297. package/dist/web/assets/sharedReader-Bopy7Uk9.js +0 -1
  298. package/dist/web/assets/testCaseRuns-B_XdqGFh.js +0 -1
  299. package/dist/web/assets/ui-BTKMbWYG.js +0 -1
  300. package/dist/web/assets/web-FzNBw1kZ.css +0 -1
  301. package/dist/web/assets/web-jPMZVwbQ.js +0 -982
  302. package/dist/web/assets/xml-DTgZ-B-l.js +0 -1
@@ -0,0 +1,41 @@
1
+ import{i as e,o as t,t as n}from"./rolldown-runtime-B8BYMn-z.js";import{c as r,d as i,f as a,g as o,h as s,i as c,o as l,r as u,u as d}from"./vendor-NJP34MHU.js";import{_ as f,p,w as m}from"./descriptors-B5VIyY5g.js";import{$ as h,$t as g,Bt as _,C as v,Ft as y,Ht as b,It as x,Mt as S,Pt as C,Qt as w,Rt as T,S as E,St as ee,Vt as D,Wt as te,X as ne,Xt as O,Yt as re,a as ie,an as k,b as ae,en as A,in as j,it as oe,lt as M,nn as N,nt as P,ot as F,qt as I,r as se,rn as L,s as ce,tn as le,tt as ue,ut as R,v as z,wt as de,y as fe}from"./Viewer-BcpDlvg_.js";import{o as pe,s as me}from"./moddle-f0Q4Guwd.js";import{t as B}from"./bridgeInstance-qzSInqLW.js";import{C as he,M as ge,N as _e,O as ve,P as ye,_ as be,a as V,b as xe,c as Se,f as Ce,g as we,h as H,k as U,m as W,o as Te,r as Ee,s as G,t as K,u as q,w as De,x as Oe,y as ke}from"./dist-CRJyslwo.js";import{t as Ae}from"./dist-BqwyxNP3.js";import{i as je}from"./lib-DrkEMJ65.js";import{At as Me,Bt as Ne,Ct as Pe,Dn as Fe,Dt as Ie,En as Le,Et as Re,F as ze,Fn as Be,G as Ve,Gt as He,H as Ue,Ht as We,I as Ge,In as Ke,It as qe,Lt as Je,Mn as Ye,Mt as Xe,Nn as Ze,Nt as Qe,O as $e,On as et,Ot as tt,Pn as nt,Pt as rt,R as it,Sn as at,St as ot,Tn as st,Tt as ct,U as lt,Ut as ut,Vt as dt,W as ft,Wt as pt,_n as mt,_t as ht,a as gt,bn as _t,bt as vt,c as yt,ct as bt,d as xt,en as St,f as Ct,fn as wt,ft as Tt,gn as Et,gt as Dt,h as Ot,hn as kt,ht as J,i as At,jn as jt,jt as Mt,kt as Nt,l as Pt,lt as Ft,m as It,mn as Lt,mt as Rt,n as zt,nn as Bt,nt as Vt,o as Ht,ot as Ut,pn as Wt,r as Gt,s as Kt,st as qt,t as Jt,tn as Yt,u as Xt,ut as Zt,vn as Qt,vt as $t,wt as en,xn as tn,xt as nn,yn as rn,z as an}from"./duplicate-D_ic-m62.js";import{i as on,s as sn}from"./bpmnTheme-pKgl9Mrn.js";import{I as cn}from"./dist-BrFvWnvj.js";import{d as ln,h as un,m as dn,s as fn}from"./ui-BLtm3Y1J.js";import{C as pn,T as mn,_ as hn,b as gn,c as _n,i as vn,l as yn,n as bn,r as xn,s as Sn,t as Cn,v as wn,w as Tn}from"./useTrace-dZdQ805W.js";import{C as En,D as Dn,E as On,O as kn,S as An,T as jn,a as Mn,b as Nn,f as Pn,g as Fn,i as In,k as Ln,m as Rn,n as zn,o as Bn,p as Vn,r as Hn,s as Un,t as Wn,v as Gn,w as Kn,x as qn,y as Jn}from"./documentBridge-CHw4XsZH.js";import{i as Y}from"./translator-BLCeE6UY.js";import{a as Yn,n as Xn,o as Zn,r as Qn,t as $n}from"./open-Vkx72dYx.js";import{t as er}from"./platform-G53Cenyw.js";import{a as tr,c as nr,o as rr,p as ir,r as ar}from"./trace-DXQU2N_l.js";import{n as or,t as sr}from"./nudges-DPG3WpyV.js";import{C as cr,D as lr,Y as ur,_t as dr,k as fr,l as pr}from"./web-C4k0NLZ9.js";import{n as mr,r as hr,t as gr}from"./UnreadableFileLayer-CRW3MM7w.js";import{C as _r}from"./frontend-uXAWaalt.js";import{o as vr,s as yr,t as br}from"./dmn-Cgoh6wXm.js";import{n as xr}from"./dockLayout-CxOMo-Nl.js";var Sr=1,GroupLabelsTranslator=class{static $inject=[`propertiesPanel`,`translate`];translate;constructor(e,t){this.translate=t,e.registerProvider(Sr,this)}getGroups(){return e=>e.map(e=>e.label?{...e,label:this.translate(e.label)}:e)}},Cr={__init__:[`groupLabelsTranslator`],groupLabelsTranslator:[`type`,GroupLabelsTranslator]},wr=[Ln(e=>e.history.undo),On(e=>e.history.redo),{id:`diagram-check`,l10n:`dmn-check`,title:`Check`,section:`Check & run`,icon:`diagram-check`,keywords:[`lint`,`validate`,`problems`,`errors`,`warnings`,`decisions`],place:`pinned`,presentation:`text`,tooltip:`Check decisions`,checked:e=>e.open.check,run:e=>e.commands.check()},Zn(e=>e.hasEngine),{id:`export-table-workbook`,title:`Export decision table as a workbook…`,section:`File`,icon:`export`,keywords:[`xlsx`,`excel`,`spreadsheet`,`decision table`,`rules`,`save`],place:`menu`,available:e=>e.hasTable,tooltip:`Save the inputs, the outputs and every rule as an Excel workbook`,run:e=>e.commands.exportTable(`xlsx`)},{id:`export-table-csv`,title:`Export decision table as CSV…`,section:`File`,icon:`export`,keywords:[`csv`,`comma`,`spreadsheet`,`decision table`,`rules`,`save`],place:`menu`,available:e=>e.hasTable,tooltip:`Save the inputs, the outputs and every rule as comma separated values`,run:e=>e.commands.exportTable(`csv`)},{id:`import-table`,title:`Import decision table…`,section:`File`,icon:`import`,keywords:[`xlsx`,`csv`,`excel`,`spreadsheet`,`rules`,`read`],place:`menu`,available:e=>e.hasTable,tooltip:`Replace the rules of the selected table with those in a workbook or CSV`,run:e=>e.commands.importTable()},{id:`import-table-new`,title:`Add rules from spreadsheet…`,section:`File`,icon:`import`,keywords:[`xlsx`,`csv`,`excel`,`spreadsheet`,`new table`,`rules`],place:`menu`,tooltip:`Fill the open decision table with the rules in a workbook or CSV`,run:e=>e.commands.importTableAsNew()},kn(),jn(),{id:`trace-paths`,l10n:`dmn-trace-paths`,title:`Trace paths`,section:`View`,icon:`trace-paths`,keywords:[`requirements`,`needs`,`depends on`,`information requirements`,`upstream`,`downstream`,`highlight`],place:`menu`,shortcut:gn,keymap:!0,tooltip:e=>e.open.traceable?Y(`app.actions.dmn-trace-paths.tooltipOn`):Y(`app.actions.dmn-trace-paths.tooltipOff`),enabled:e=>e.open.traceable,checked:e=>e.open.trace,run:e=>e.commands.toggleTrace()},Dn(),{id:`copy`,title:`Copy`,section:`Edit`,icon:`copy`,keywords:[`duplicate`],place:`menu`,enabled:e=>e.drd,run:e=>e.commands.copy()},{id:`paste`,title:`Paste`,section:`Edit`,icon:`paste`,keywords:[],place:`menu`,enabled:e=>e.drd,run:e=>e.commands.paste()},Yn(),An(),qn(),Kn(),Nn(),Gn(),Jn()];W();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&&be(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 `,``)}W();var Tr={width:`100%`,height:`100%`,position:`relative`},Manager=class{constructor(e={}){this._eventBus=new ue,this._viewsChanged=Ee(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=N(e)),e.appendChild(this._container),this._emit(`attach`,{})}detach(){this._emit(`detach`,{}),L(this._container)}destroy(){Object.keys(this._viewers).forEach(e=>{var t=this._viewers[e];safeExecute(t,`destroy`)}),L(this._container)}_init(e){this._options=e,this._moddle=this._createModdle(e),this._viewers={},this._views=[];let t=j(`<div class="dmn-js-parent bio-theme-parent"></div>`),n=K({},Tr,e);K(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=G(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=G(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||!V(i,function(e){return G(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=G(e,function(e){return viewsEqual(e,t)})||G(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=G(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+(ke(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 we(e)?we(t)?e.element===t.element||e.id===t.id:!1:!we(t)}function viewNameChanged(e,t){return!e||!t||e.name!==t.name}function safeExecute(e,t){be(e[t])&&e[t]()}W();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 ge(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 Er=`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===Er||/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 Ae([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}W();var Dr=new oe({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){q(e,function(e){is$2(e,`dmn:DecisionService`)?handleDecisionService(e):is$2(e,`dmn:Decision`)?handleDecision(e):visitIfDi(e)}),q(e,function(e){handleRequirements(e)})}function handleArtifacts(e){q(e,function(e){is$2(e,`dmn:Association`)?handleAssociation(e):visitIfDi(e)})}function handleAssociation(e){defer(function(){visitIfDi(e)})}function handleRequirements(e){q([`informationRequirement`,`knowledgeRequirement`,`authorityRequirement`],function(t){q(e[t],function(e){defer(function(){visitIfDi(e)})})})}function handleDecisionService(e){visitIfDi(e),q(e.get(`encapsulatedDecision`),function(t){mapRefToParent(t,e)}),q(e.get(`outputDecision`),function(t){mapRefToParent(t,e)})}function handleDecision(e){defer(function(){visitIfDi(e,r.get(e.id))})}function handleDiagram(e){q(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}):(Dr.bind(t,`di`),t.di=e):logError(`no DMN element referenced in element`,{element:e})}function defer(e){n.push(e)}function handleDeferred(){q(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 Or=`$NO_OP`,kr=`a runtime error occured! Use Inferno in development environment to find the error.`,Ar=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||=kr,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 jr=`$`;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+jr+n;if(Ar(a))_normalizeVNodes(a,t,0,o);else{if(isStringOrNumber(a))a=createTextVNode(a,o);else{var s=a.key,c=isString(s)&&s[0]===jr;(!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(Ar(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)||Ar(o)){n||=t.slice(0,a),_normalizeVNodes(t,n,a,``);break}if(isStringOrNumber(o))n||=t.slice(0,a),n.push(createTextVNode(o,jr+a));else{var s=o.key,c=isNull$2(o.dom),l=isNull$2(s),u=!l&&isString(s)&&s[0]===jr;!c||l||u?(n||=t.slice(0,a),(!c||u)&&(o=directClone(o)),(l||u)&&(o.key=jr+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`,Nr=`http://www.w3.org/XML/1998/namespace`,Pr=`http://www.w3.org/2000/svg`,Fr={"xlink:actuate":Mr,"xlink:arcrole":Mr,"xlink:href":Mr,"xlink:role":Mr,"xlink:show":Mr,"xlink:title":Mr,"xlink:type":Mr,"xml:base":Nr,"xml:lang":Nr,"xml:space":Nr},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(Pr,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 Ir={},Lr={};function handleEvent(e,t,n){var r=Ir[e],i=n.$EV;t?(r||(Lr[e]=attachEventToDocument(e),Ir[e]=0),i||=n.$EV={},i[e]||Ir[e]++,i[e]=t):i&&i[e]&&(Ir[e]--,r===1&&(document.removeEventListener(normalizeEventName(e),Lr[e]),Lr[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 Rr=createWrappedFunction(`onInput`,applyValueInput),zr=createWrappedFunction([`onClick`,`onChange`],applyValueInput);function emptywrapper(e){e.stopPropagation()}emptywrapper.wrapped=!0;function inputEvents(e,t){isCheckedType(t.type)?(e.onchange=zr,e.onclick=emptywrapper):e.oninput=Rr}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,Ar(t)&&t.indexOf(n.value)!==-1||n.value===t?r.selected=!0:isNullOrUndef(t)&&isNullOrUndef(n.selected)||(r.selected=n.selected||!1)}var Br=createWrappedFunction(`onChange`,applyValueSelect);function selectEvents(e){e.onchange=Br}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 Vr=createWrappedFunction(`onInput`,applyValueTextArea),Hr=createWrappedFunction(`onChange`);function textAreaEvents(e,t){e.oninput=Vr,t.onChange&&(e.onchange=Hr)}function applyValueTextArea(e,t,n){var r=e.value,i=t.value;if(isNullOrUndef(r)){if(n){var a=e.defaultValue;!isNullOrUndef(a)&&a!==i&&(t.defaultValue=a,t.value=a)}}else i!==r&&(t.defaultValue=r,t.value=r)}function processElement(e,t,n,r,i,a){e&64?applyValueInput(r,n):e&256?applyValueSelect(r,n,i,t):e&128&&applyValueTextArea(r,n,i),a&&(n.$V=t)}function addFormElementEventHandlers(e,t,n){e&64?inputEvents(t,n):e&256?selectEvents(t):e&128&&textAreaEvents(t,n)}function isControlledFormElement(e){return e.type&&isCheckedType(e.type)?!isNullOrUndef(e.checked):!isNullOrUndef(e.value)}function remove(e,t){unmount(e),t&&e.dom&&(removeChild(t,e.dom),e.dom=null)}function unmount(e){var t=e.flags;if(t&481){var n=e.ref,r=e.props;isFunction(n)&&n(null);var i=e.children,a=e.childFlags;if(a&12?unmountAllChildren(i):a===2&&unmount(i),!isNull$2(r))for(var o in r)switch(o){case`onClick`:case`onDblClick`:case`onFocusIn`:case`onFocusOut`:case`onKeyDown`:case`onKeyPress`:case`onKeyUp`:case`onMouseDown`:case`onMouseMove`:case`onMouseUp`:case`onSubmit`:case`onTouchEnd`:case`onTouchMove`:case`onTouchStart`:handleEvent(o,null,e.dom)}}else{var s=e.children;if(s){if(t&14){var c=e.ref;t&4?(isFunction(s.componentWillUnmount)&&s.componentWillUnmount(),isFunction(c)&&c(null),s.$UN=!0,s.$LI&&unmount(s.$LI)):(!isNullOrUndef(c)&&isFunction(c.onComponentWillUnmount)&&c.onComponentWillUnmount(e.dom,e.props||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&&Fr[e]?r.setAttributeNS(Fr[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,x=e.className,S=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),x!==S&&(isNullOrUndef(S)?s.removeAttribute(`class`):i?s.setAttribute(`class`,S):s.className=S),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!==Or,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,x=!1,S=0,C=0;if(o<4||(_|v)<32)for(l=h;l<=s;l++)if(d=e[l],C<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);S>u?x=!0:S=u,f.dom&&(t[u]=f=directClone(f)),patch(d,f,n,r,i),C++;break}!b&&u>c&&remove(d,n)}else b||remove(d,n);else{var w={};for(l=g;l<=c;l++)w[t[l].key]=l;for(l=h;l<=s;l++)if(d=e[l],C<v){if(u=w[d.key],u!==void 0){if(b)for(b=!1;l>h;)remove(e[h++],n);f=t[u],y[u-g]=l+1,S>u?x=!0:S=u,f.dom&&(t[u]=f=directClone(f)),patch(d,f,n,r,i),C++}else b||remove(d,n)}else b||remove(d,n)}if(b)removeAllChildren(n,e),mountArrayChildren(t,n,r,i);else if(x){var T=lis_algorithm(y);for(u=T.length-1,l=v-1;l>=0;l--)y[l]===0?(S=l+g,f=t[S],f.dom&&(t[S]=f=directClone(f)),p=S+1,insertOrAppend(n,mount(f,null,r,i),p<o?t[p].dom:null)):u<0||l!==T[u]?(S=l+g,f=t[S],p=S+1,insertOrAppend(n,f.dom,p<o?t[p].dom:null)):u--}else if(C!==v)for(l=v-1;l>=0;l--)y[l]===0&&(S=l+g,f=t[S],f.dom&&(t[S]=f=directClone(f)),p=S+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 Ur=typeof Promise>`u`?null:Promise.resolve(),Wr=typeof requestAnimationFrame>`u`?setTimeout:requestAnimationFrame.bind(window);function nextTick(e){return Ur?Ur.then(e):Wr(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 Gr=`<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;">`+Gr+`</a>`,n=j(t);e.appendChild(n),A.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 Kr=css([`z-index: 1001`,`position: fixed`,`top: 0`,`left: 0`,`right: 0`,`bottom: 0`]),qr=css([`width: 100%`,`height: 100%`,`background: rgba(40,40,40,0.2)`]),Jr=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`]),Yr=`<div class="bjs-powered-by-lightbox" style="`+Kr+`"><div class="backdrop" style="`+qr+`"></div><div class="notice" style="`+Jr+`"><a href="https://bpmn.io" target="_blank" rel="noopener" style="margin: 15px 20px 15px 10px; align-self: center;">`+Gr+`</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>`,Xr;function open(){Xr||(Xr=j(Yr),g.bind(Xr,`.backdrop`,`click`,function(e){document.body.removeChild(Xr)})),document.body.appendChild(Xr)}W();var Zr=new Ae,Qr=`hsl(225, 10%, 15%)`,$r=.95;function DrdRenderer(e,t,n,r,i,a){C.call(this,t);var o=Zr.next(),s=r.computeStyle,c={},l=e&&e.defaultFillColor||`white`,u=e&&e.defaultStrokeColor||Qr,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=K({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`);T(t.element,n),x(o,t.element),T(o,{id:e,viewBox:`0 0 20 20`,refX:r.x,refY:r.y,markerWidth:20*i,markerHeight:20*i,orient:`auto`});var s=N(`defs`,a._svg);s||(s=b(`defs`),x(a._svg,s)),x(s,o),c[e]=o}function createMarker(e,t,n,r){if(t===`association-start`){var i=b(`path`);T(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`);T(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`);T(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`);T(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`);T(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){xe(i)&&(a=i,i=0),i||=0,a=s(a,{stroke:Qr,strokeWidth:2,fill:`white`});var o=b(`rect`);return T(o,{x:i,y:i,width:t-i*2,height:n-i*2,rx:r,ry:r}),T(o,a),x(e,o),o}function renderLabel(e,t,n){var r=i.createText(t||``,n);return re(r,`class`,`djs-label`),x(e,r),r}function renderEmbeddedLabel(e,t,n,r){var i=getName(t);return r=K({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:Qr});var r=b(`path`);return T(r,{d:t}),T(r,n),x(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:$r}),r=t.height*getDecisionServiceDividerRatio(t.businessObject),i=b(`line`);T(i,{x1:0,y1:r,x2:t.width,y2:r,stroke:getStrokeColor(t,u),strokeWidth:2}),re(i,`class`,`dmn-decision-service-divider`),x(e,i);var a=b(`text`);T(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`,re(a,`class`,`djs-label dmn-decision-service-label`),re(a,`display`,`none`),x(e,a);var o=b(`text`);return T(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`,re(o,`class`,`djs-label dmn-decision-service-label`),re(o,`display`,`none`),x(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):C.prototype.drawShape.apply(this,[e,t])}function drawConnection(e,t){var n=f[t.type];return n?n(e,t):C.prototype.drawConnection.apply(this,[e,t])}function drawLine(e,t,n){n=s(n,[`no-fill`],{stroke:Qr,strokeWidth:2,fill:`none`});var r=S(t,n);return x(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}k(DrdRenderer,C),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))}W();var ei=12,ti=1.2,ni=30;function TextRenderer(e){var t=K({fontFamily:`Arial, sans-serif`,fontSize:ei,fontWeight:`normal`,lineHeight:ti},e&&e.defaultStyle||{}),n=parseInt(t.fontSize,10)-1,r=K({},t,{fontSize:n},e&&e.externalStyle||{}),i=new v({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(ni,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 ri=/\{([^{}]+)\}/g,ii=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;function replacer(e,t,n){var r=n;return t.replace(ii,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(ri,function(e,n){return replacer(e,n,t)})}var ai={__init__:[`drdRenderer`],drdRenderer:[`type`,DrdRenderer],textRenderer:[`type`,TextRenderer],pathMap:[`type`,PathMap]};W();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 K({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 K({original:t},t)})}var oi={__depends__:[ai,{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=j(this.HTML_MARKUP);n.appendChild(r),this.nameElement=N(`.dmn-definitions-name`,this._container),this.idElement=N(`.dmn-definitions-id`,this._container),g.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();O(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 si={__depends__:[E],__init__:[`definitionPropertiesView`,`definitionPropertiesPaletteAdapter`],definitionPropertiesView:[`type`,DefinitionPropertiesView],definitionPropertiesPaletteAdapter:[`type`,PaletteAdapter]},ci=[{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<ci.length;t++){let{matches:n,className:r,title:i}=ci[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&&(O(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;g.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 li={__depends__:[ae,E],__init__:[`drillDown`],drillDown:[`type`,DrillDown]},ui=5,di=`djs-outline-hidden`;function Viewer$4(e){this._container=this._createContainer(),addProjectLogo(this._container),this._init(this._container,e)}e(Viewer$4,`Viewer`),k(Viewer$4,ne),Viewer$4.prototype.saveSVG=wrapForCompatibility(function(e){var t=this;return new Promise(function(e){var n=t.get(`canvas`),r=n.getActiveLayer(),i=N(`defs`,n._svg),a=te(r),o=i&&i.outerHTML||``,s=n.getContainer();O(s).add(di);var c;try{c=r.getBBox()}finally{O(s).remove(di)}var l=c.x-ui,u=c.y-ui,d=c.width+10,f=c.height+10;e({svg:`<?xml version="1.0" encoding="utf-8"?>
2
+ <!-- created with dmn-js / http://bpmn.io -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="`+d+`" height="`+f+`" viewBox="`+l+` `+u+` `+d+` `+f+`" version="1.1">`+o+a+`</svg>`})})}),Viewer$4.prototype.getModules=function(){return this._modules},Viewer$4.prototype.destroy=function(){ne.prototype.destroy.call(this),L(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};ne.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 j(`<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=[oi,E,se,ae,si,li];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}W();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=Te(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=Te(n,function(e){return hasMatched(e.primaryTokens)||hasMatched(e.secondaryTokens)}),n=_e(n,function(e){return getLabel$1(e.element)+e.element.id}),n};function hasMatched(e){return Te(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 fi={__depends__:[ht],__init__:[`dmnSearch`],dmnSearch:[`type`,DmnSearchProvider]};function NavigatedViewer(e){Viewer$4.call(this,e)}k(NavigatedViewer,Viewer$4),NavigatedViewer.prototype._navigationModules=[Fe,et,fi],NavigatedViewer.prototype._modules=[].concat(NavigatedViewer.prototype._modules,NavigatedViewer.prototype._navigationModules),W();var pi={width:135,height:46},mi={width:180,height:80},hi={width:320,height:320},gi={width:125,height:45},_i={width:100,height:63};function ElementFactory$2(e){P.call(this),this._drdFactory=e}e(ElementFactory$2,`ElementFactory`),k(ElementFactory$2,P),ElementFactory$2.$inject=[`drdFactory`],ElementFactory$2.prototype.baseCreate=P.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=K({businessObject:i,id:i.id},r,t),this.baseCreate(e,t)},ElementFactory$2.prototype._getDefaultSize=function(e){return is$2(e,`dmn:BusinessKnowledgeModel`)?pi:is$2(e,`dmn:Decision`)?mi:is$2(e,`dmn:DecisionService`)?hi:is$2(e,`dmn:InputData`)?gi:is$2(e,`dmn:KnowledgeSource`)?_i:{width:100,height:80}};var vi=`left`,yi=`right`,bi=60,xi=mi.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=F(e),r={x:n.right+t.width/2,y:n.top-50-t.height/2};return Qt(e,t,r,rn({y:{margin:-30,minDistance:20}}))}function getDRGElementPosition(e,t){var n=F(e),r=M(e);function getWeight(t){return t.target===e?1:-1}var i=_t(e,{defaultDistance:180,direction:`s`,getWeight,filter,reference:`center`}),a={x:r.x,y:n.bottom+i};return Qt(e,t,a,generateGetNextDRGElementPosition(e))}function filter(e){return!is$2(e,`dmn:Association`)}function getHorizontalDistance(e,t){return Math.abs(t.x-e.x)}function generateGetNextDRGElementPosition(e){var t=M(e),n,r;return function(e,i,a){var o;return n?(i.x<t.x?n=a:r=a,o=getHorizontalDistance(t,M(n))<getHorizontalDistance(t,M(r))?vi:yi):(n=a,r=a,o=M(a).x-t.x>0?vi:yi),o===vi?{x:Math.min(M(n).x-xi-bi,F(n).left-bi-e.width/2),y:i.y}:{x:Math.max(M(r).x+xi+bi,F(r).right+bi+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 Si={__depends__:[mt],__init__:[`dmnAutoPlace`],dmnAutoPlace:[`type`,AutoPlace]},Ci={__init__:[`autoResize`],autoResize:[`type`,Et]};W();function DrdRules(e){e.invoke(tn,this)}k(DrdRules,tn),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 H(e)||(e=[e]),!t||V(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`)?V(e,function(e){return is$2(e,`dmn:Decision`)}):!1}function isLabel(e){return!!e.labelTarget}var wi={__depends__:[wt],__init__:[`drdRules`],drdRules:[`type`,DrdRules]};function DrdAutoResizeProvider(e){kt.call(this,e)}DrdAutoResizeProvider.$inject=[`eventBus`],k(DrdAutoResizeProvider,kt),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(Et,this)}DrdAutoResize.$inject=[`injector`],k(DrdAutoResize,Et),DrdAutoResize.prototype.getPadding=function(e){return is$2(e,`dmn:DecisionService`)?{top:20,right:20,bottom:20,left:20}:Et.prototype.getPadding.call(this,e)};var Ti={__depends__:[Ci,wi],__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 Ei={__depends__:[Ne,se],drdReplace:[`type`,DrdReplace]},Di={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}}]};W();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=Te(Di.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=Te(Di.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 q(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 Oi={__depends__:[E,at,Ei],__init__:[`replaceMenuProvider`],replaceMenuProvider:[`type`,ReplaceMenuProvider]};W();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(ie(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(K({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(K({type:e},a));l.append(r,i,getAppendHints(r))}:appendStart}}}isAny$1(d,[`dmn:Decision`,`dmn:DecisionService`])&&K(u,{"append.decision":appendAction(`dmn:Decision`,`dmn-icon-decision`,c(`Append decision`))}),isAny$1(d,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:KnowledgeSource`])&&K(u,{"append.knowledge-source":appendAction(`dmn:KnowledgeSource`,`dmn-icon-knowledge-source`,c(`Append knowledge source`))}),isAny$1(d,[`dmn:BusinessKnowledgeModel`,`dmn:Decision`,`dmn:DecisionService`])&&K(u,{"append.business-knowledge-model":appendAction(`dmn:BusinessKnowledgeModel`,`dmn-icon-business-knowledge`,c(`Append business knowledge model`))}),isAny$1(d,[`dmn:Decision`,`dmn:KnowledgeSource`])&&K(u,{"append.input-data":appendAction(`dmn:InputData`,`dmn-icon-input-data`,c(`Append input data`))}),is$2(d,`dmn:DRGElement`)&&K(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`)&&K(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`)||K(u,{replace:{group:`edit`,className:`dmn-icon-screw-wrench`,title:c(`Change type`),action:{click:function(e,t){var n=K(getReplaceMenuPosition(t),{cursor:{x:e.x,y:e.y}});a.open(t,`dmn-replace`,n)}}}});var f=s.allowed(`elements.delete`,{elements:[e]});return H(f)&&(f=f[0]===e),f&&K(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)&&K(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 H(t)?V(e,e=>t.includes(e)):t};var ki={__depends__:[E,st,se,Yt,ut,Oi],__init__:[`contextPadProvider`],contextPadProvider:[`type`,ContextPadProvider]},Ai=/\s/,ji=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,Mi=/^[a-z_][\w-.]*$/i,Ni=/\$\{([^}]*)\}/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 ji.test(e)?`Id must not contain prefix.`:`Id must be a valid QName.`}function containsSpace$1(e){return Ai.test(e)}e(containsSpace$1,`containsSpace`);function stripPlaceholders(e){return e.replace(Ni,`$1`)}W();var Pi=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=N(`.dmn-definitions-name`,this._container),n=N(`.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`,Ee(function(e){var r=e.target.value||e.target.textContent;n.update(t,r.trim())},Pi)),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=N(`.dmn-definitions-id`,this._container);this._clearErrorMessage(),O(n).add(`dmn-definitions-error`),n.parentElement.appendChild(j(t))},DefinitionIdEdit.prototype._clearErrorMessage=function(){var e=N(`.dmn-definitions-id`,this._container);if(O(e).has(`dmn-definitions-error`)){O(e).remove(`dmn-definitions-error`);let t=N(`.dmn-definitions-error-message`,this._container);e.parentNode.removeChild(t)}};var Fi={__depends__:[si],__init__:[`definitionPropertiesEdit`,`definitionPropertiesPaletteAdapter`],definitionPropertiesEdit:[`type`,DefinitionIdEdit],definitionPropertiesPaletteAdapter:[`type`,PaletteAdapter]};W();function DrdDistributeElements(e){e.registerFilter(function(e){return Te(e,function(e){var t=isAny$1(e,[`dmn:AuthorityRequirement`,`dmn:InformationRequirement`,`dmn:KnowledgeRequirement`,`dmn:Association`,`dmn:TextAnnotation`]);return!(e.labelTarget||t)})})}DrdDistributeElements.$inject=[`distributeElements`];var Ii={__depends__:[Me],__init__:[`drdDistributeElements`],drdDistributeElements:[`type`,DrdDistributeElements]};function DrdEditorActions(e){e.invoke(Nt,this)}k(DrdEditorActions,Nt),DrdEditorActions.$inject=[`injector`],DrdEditorActions.prototype._registerDefaultActions=function(e){Nt.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 Li={__depends__:[tt],editorActions:[`type`,DrdEditorActions]};function containsDi(e){return e.dmnDI&&e.dmnDI.diagrams&&e.dmnDI.diagrams[0]}var Ri=mi.height+40,zi=14,Bi=8,Vi=`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,Vi),r&&s._handle){var i=D(r);T(i,{y1:0,y2:0}),x(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&&nt(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&&h(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,Vi),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*Ri)return;var n=b(`g`,{class:`djs-divider-handle`});x(n,b(`rect`,{class:`djs-divider-handle-hit`,x:Bi,y:-zi/2,width:Math.max(0,e.width-2*Bi),height:zi})),h(n,e.x,getDividerY(e)),x(this._getLayer(),n),this._handle=n;function startDrag(n){ce(n)&&t.activate(n,e)}n.addEventListener(`mousedown`,startDrag),n.addEventListener(`touchstart`,startDrag,{passive:!0})},DecisionServiceDivider.prototype._removeHandle=function(){_(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+Ri,r=e.y+e.height-Ri;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)}}W();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;q(o,function(e){is$2(e,`dmn:DecisionService`)&&q([`outputDecision`,`encapsulatedDecision`],function(t){q(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 q(e.get(t),function(e){var t=getIdFromHref(e.href),r=G(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(Ri,20+e*(mi.height+20))}function createDecisionsDi(e,t,n,r){q(e,function(e,i){createShapeDi(e,{x:t+(r-mi.width)/2,y:n+20+i*(mi.height+20),width:mi.width,height:mi.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,mi.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;q(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 Hi={__init__:[`diGenerator`],diGenerator:[`type`,DiGenerator]};function DrdKeyboardBindings(e){e.invoke(Ze,this)}k(DrdKeyboardBindings,Ze),DrdKeyboardBindings.$inject=[`injector`],DrdKeyboardBindings.prototype.registerBindings=function(e,t){Ze.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 Ui={__depends__:[Ye],__init__:[`keyboardBindings`],keyboardBindings:[`type`,DrdKeyboardBindings]};W();var Wi=`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,Wi)}})}LabelEditingProvider.$inject=[`canvas`,`directEditing`,`eventBus`,`modeling`,`textRenderer`],LabelEditingProvider.prototype.activate=function(e){var t=getLabel$1(e);if(we(t)){var n={text:t},r=this.getEditingBBox(e);K(n,r);var i={},a=n.style||{};return is$2(e,`dmn:DRGElement`)&&(is$2(e,`dmn:DecisionService`)||K(i,{centerVertically:!0}),K(a,{backgroundColor:null,border:null})),is$2(e,`dmn:TextAnnotation`)&&K(i,{resizable:!0}),K(n,{options:i,style:a}),this._canvas.addMarker(e,Wi),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`)&&(K(i,{width:r.width,height:r.height}),K(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`)&&(K(i,{width:r.width,height:r.height,minWidth:30*a,minHeight:10*a}),K(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 Gi={__depends__:[qe,fe,Mt],__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(z,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`],k(CreateConnectionBehavior,z);function DecisionServiceBehavior(e,t,n){t.invoke(z,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`],k(DecisionServiceBehavior,z),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&&ee(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)})||ee(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&&ee(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&&de(n,r)),n=t.get(`outputDecision`),n&&(r=n.find(function(t){return refersTo(t,e.id)}),r&&de(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]=[]),ee(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,ee(e[t],a)}});var s=[];a.forEach(function(e){var t=getIdFromHref(e.href);n.has(t)||s.push(e)}),s.forEach(function(n){de(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){de(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(z,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`],k(CreateShapeBehavior,z),W();var Ki=500;function LayoutConnectionBehavior(e,t,n,r){e.invoke(z,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=R(n,i);e.hints||={},K(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),q(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=R(n,r),a=r.incoming.filter(e=>{var t=R(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=R(n,r),a=r.incoming.filter(e=>{var n=R(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`,Ki,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`],k(LayoutConnectionBehavior,z);function getConnectionHints(e,t,n){var r=M(e),i=M(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=M(a),s=F(a),c=F(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=R(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 M(e.source)[n]-M(t.source)[n]})}function ReplaceConnectionBehavior(e,t,n){e.invoke(z,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)}k(ReplaceConnectionBehavior,z),ReplaceConnectionBehavior.$inject=[`injector`,`modeling`,`rules`];function ReplaceElementBehaviour(e,t,n){z.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)})}k(ReplaceElementBehaviour,z),ReplaceElementBehaviour.$inject=[`eventBus`,`modeling`,`selection`],W();var qi=`id`,IdChangeBehavior=class extends z{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 qi in e&&qi 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){q({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){q({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 z{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 Ji={__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]};W();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`,K({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`,ve(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)})},W();function DrdUpdater(e,t,n,r,i,a){a.invoke(z,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)}k(DrdUpdater,z),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),K(r,{x:e.x,y:e.y,width:e.width,height:e.height}),a&&(K(i.waypoint[0],{x:e.x,y:t}),K(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),de(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,ee(r,e)):(e.$parent=null,de(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 Yi=[`requiredDecision`,`requiredInput`,`requiredKnowledge`,`requiredAuthority`];function getRequirementProperty(e){return G(Yi,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+Ri,r=e.y+e.height-Ri;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}W();var Xi=`name`,Zi=`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,he(n));return isIdChange$1(n,o)&&(a.unclaim(o[Zi]),i.updateId(t,n[Zi]),a.claim(n[Zi],o)),Xi 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[Zi]),a.updateId(t,r[Zi]),o.claim(r[Zi],i)),e.changed};function isIdChange$1(e,t){return Zi in e&&e[Zi]!==t[Zi]}e(isIdChange$1,`isIdChange`);function getProperties(e,t){return U(t,function(t,n){return t[n]=e.get(n),t},{})}function setProperties(e,t){q(t,function(t,n){e.set(n,t)})}W();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,he(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 U(t,function(t,n){return t[n]=e.get(n),t},{})}function setModdleProperties(e,t){q(t,function(t,n){e.set(n,t)})}function Modeling$4(e,t,n){this._canvas=e,this._drdRules=t,n.invoke(rt,this)}e(Modeling$4,`Modeling`),k(Modeling$4,rt),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=rt.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||{}})},W();var Qi=20;function DrdLayouter(e){this._connectionDocking=e}k(DrdLayouter,Qe),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=R(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(K({},e,{waypoints:a}),r,i);s=l.pop();var u={x:s.x,y:s.y};return c.includes(`bottom`)?u.y+=Qi:c.includes(`top`)?u.y-=Qi:c.includes(`right`)?u.x+=Qi:u.x-=Qi,a=l.concat([u,s]),a}return[o,s]};function getConnectionDocking(e,t){return e?e.original||e:M(t)}var $i={__init__:[`modeling`,`drdUpdater`],__depends__:[Ji,wi,si,qe,se,fe],drdFactory:[`type`,DrdFactory],drdUpdater:[`type`,DrdUpdater],elementFactory:[`type`,ElementFactory$2],modeling:[`type`,Modeling$4],layouter:[`type`,DrdLayouter],connectionDocking:[`type`,Xe]};W();function DmnOrderingProvider(e,t){He.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=G(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`],k(DmnOrderingProvider,He);var ea={__init__:[`dmnOrderingProvider`],dmnOrderingProvider:[`type`,DmnOrderingProvider]},ta=`
5
+ M2.45221 16.0068L18.7175 1.74436L18.0615 0.996331L18.7175 1.74436C19.2646 1.26455 19.9676
6
+ 1 20.6953 1H140.926C142.583 1 143.926 2.34295 143.926 3.99967L143.93 37.5457C143.93
7
+ 38.3668 143.593 39.152 142.999 39.7183L143.689 40.4424L142.999 39.7183L127.299
8
+ 54.6723C126.741 55.2036 126 55.5 125.23 55.5H4.53787C2.88599 55.5 1.54491 54.1646 1.5379
9
+ 52.5127L1.43066 27.229L1.43065 27.2248L1.4301 18.2626C1.43005
10
+ 17.3986 1.80255 16.5765 2.45221 16.0068Z
11
+ `,na=`
12
+ M1.79494 63.0032L1.2941 63.6423L1.79493 63.0032C1.71778 62.9427 1.6428 62.8741 1.57288
13
+ 62.8L1.01736 63.3241L1.57288 62.8C1.20495 62.41 1 61.8941 1 61.3579V2.65067C1 1.74066
14
+ 1.73867 1.00345 2.64868 1.00526L108.006 1.2145C109.66 1.21778 111 2.55996 111
15
+ 4.21449V21.7015V61.6762C111 63.3188 109.679 64.656 108.037 64.676L107.06 64.6879C106.66
16
+ 64.6927 106.26 64.6165 105.89 64.4652C105.04 64.1176 104.222 63.78 103.43
17
+ 63.4531C93.4866 59.3517 87.6891 56.9603 76.3991 58.1057C71.7035 58.5821 66.8747 60.74
18
+ 61.5721 63.1744C61.3243 63.2881 61.0753 63.4026 60.825 63.5177C55.6712 65.8868 49.9696
19
+ 68.5077 43.2365 70.3468C31.101 73.6617 15.2135 73.5179 1.79494 63.0032Z
20
+ `,ra={width:135,height:46},ia={width:100,height:63};function createPath(e,t,n){return b(`path`,{d:e,strokeWidth:2,transform:`translate(${t.x}, ${t.y})`,...n})}W();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`),T(n,K({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(ta,{x:-6,y:-6},t):is$2(e,`dmn:KnowledgeSource`)&&isStandardSize(e,`dmn:KnowledgeSource`)&&(n=createPath(na,{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=ra:t===`dmn:KnowledgeSource`&&(n=ia),e.width===n.width&&e.height===n.height}var aa={__depends__:[en],__init__:[`outlineProvider`],outlineProvider:[`type`,OutlineProvider]};W();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(K({type:e},o));n.start(t,i)}return{group:t,className:i,title:a,action:{dragstart:createListener,click:createListener}}}return K(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 oa={__depends__:[E,ot,ut,nn,vt],__init__:[`paletteProvider`],paletteProvider:[`type`,PaletteProvider]},sa=`reconnectStart`,ca=`reconnectEnd`,la=2e3;function DrdBendpointSnapping(e){e.on([`bendpoint.move.move`,`bendpoint.move.end`],la,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===sa||o===ca,c=R(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=F(e),r=M(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=F(e),r=M(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 ua=250;function DrdConnectSnapping(e){e.on([`connect.hover`,`connect.move`,`connect.end`],ua,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=R(i,a);t.connectionStart=M(i),t.connectionEnd=r===i?M(a):{x:e.x,y:e.y},o.includes(`bottom`)?(t.connectionStart.y=F(i).top,t.connectionEnd.y=F(a).bottom):o.includes(`top`)?(t.connectionStart.y=F(i).bottom,t.connectionEnd.y=F(a).top):o.includes(`right`)?(t.connectionStart.x=F(i).left,t.connectionEnd.x=F(a).right):(t.connectionStart.x=F(i).right,t.connectionEnd.x=F(a).left)}else delete t.connectionStart,delete t.connectionEnd})}DrdConnectSnapping.$inject=[`eventBus`];var da={__depends__:[$t],__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 fa=[`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||fa.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 pa={__depends__:[E],__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 ma={__depends__:[pa,ae,E],__init__:[`typeRefDropdown`],typeRefDropdown:[`type`,TypeRefDropdown]},ha={__depends__:[Lt,Ie],__init__:[`decisionServiceDivider`],decisionServiceDivider:[`type`,DecisionServiceDivider]};function Modeler$1(e){NavigatedViewer.call(this,e)}e(Modeler$1,`Modeler`),k(Modeler$1,NavigatedViewer),Modeler$1.prototype._modelingModules=[Le,Si,Ti,Wt,Bt,ki,St,ha,Fi,Ii,Li,Hi,Ie,Ui,jt,Re,Gi,$i,Pe,aa,ea,oa,ct,da,ma],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),[])}},ga={__init__:[`dmnVariableProvider`],dmnVariableProvider:[`type`,DmnVariableProvider],variableResolver:[`type`,VariableResolver]};W();var Base=class{constructor(e){K(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})}},_a={root:Root,row:Row,col:Col,cell:Cell};function create(e,t){let n=_a[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`],W();var va=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(be(t)&&(n=t,t=va),!ke(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 ya={__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)}W();function ThrottleFactory(e=!0){let t=typeof e==`number`?e:e?300:0;return t?e=>ye(e,t):e=>e}ThrottleFactory.$inject=[`config.throttle`];var ba={__depends__:[ya],__init__:[`elementFactory`,`sheet`],elementFactory:[`type`,ElementFactory$1],elementRegistry:[`type`,ElementRegistry$2],eventBus:[`type`,ue],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]},ba].concat(t||[]),r=new y(n);return r.init(),r}e(createInjector$1,`createInjector`);var xa=Table;function elementToString(e){if(!e)return`<null>`;let t=e.id?` id="${e.id}"`:``;return`<${e.$type}${t} />`}W();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){q(e,function(e){visit(e,t,n)})}function handleRules(e,t,n){q(e,function(e){visit(e,t,n),handleEntry(e.inputEntry,e),handleEntry(e.outputEntry,e)})}function handleEntry(e,t,n){q(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 Sa={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)}};Sa.$inject=[`eventBus`];var BaseCell=class extends ${constructor(e,t){super(e,t),mixin(this,Sa),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`)}))}},Ca={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})))}};Ca.$inject=[`components`];var wa=400,AnnotationHeader=class extends ${constructor(e,t){super(e,t),mixin(this,Ca),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`)||wa)+`px`;return createVNode(1,`th`,`annotation header`,[this.slotFills({type:`cell-inner`,context:{cellType:`annotations`,col:this.sheet.getRoot(),minWidth:wa}}),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 Ta={__init__:[`annotationsProvider`],annotationsProvider:[`type`,AnnotationsProvider]};W();function elementData(e,t){return K({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(K(elementData(e),{cells:n})),this._sheet.addRow(t)}return this._eventBus.fire(`dmnElement.added`,{element:t}),t}};TableImporter.$inject=[`elementFactory`,`eventBus`,`sheet`];var Ea={__depends__:[{__depends__:[E],tableImporter:[`type`,TableImporter]},ya]},DecisionTableHead=class extends ${constructor(e,t){super(e,t),mixin(this,Ca),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 Da={__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 Oa=500,DecisionTableProperties$1=class{static{e(this,`DecisionTableProperties`)}constructor(e){e.onGetComponent(`table.before`,Oa,()=>DecisionTablePropertiesComponent$1)}};DecisionTableProperties$1.$inject=[`components`];var ka={__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 Aa={__init__:[`decisionRuleIndices`],decisionRuleIndices:[`type`,DecisionRuleIndices]};W();var ja=[{label:`FEEL`,value:`feel`}],ExpressionLanguages=class{constructor(e){this._injector=e;let t=e.get(`config.expressionLanguages`)||{};this._config={options:ja,defaults:{editor:`feel`}},t.options&&(this._config.options=t.options);let n=this._getLegacyDefaults();K(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 G(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 Na={__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,Ca)}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 Pa={__depends__:[Ma,Na],__init__:[`decisionRules`],decisionRules:[`type`,Rules]},Fa=[{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`}];W();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=G(Fa,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 Ia={__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 La={__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 Ra={__init__:[`poweredBy`],poweredBy:[`type`,PoweredBy$2]};W();var za=class Viewer$3 extends xa{static{e(this,`Viewer`)}constructor(e={}){let t=Viewer$3._createContainer();super(K(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:[Ra,...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`,{}),L(e))}destroy(){super.destroy(),this.detach()}getModules(){return Viewer$3._getModules()}static _getModules(){return[Ta,Ea,E,Da,ka,Aa,Pa,Ia,La]}static _createContainer(){return j(`<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`],W();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){Oe(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 Ba={__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 Va=[`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(Va)}),t.on(`table.destroy`,()=>{this._removeEventListeners(Va)})}_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 w(e,`[data-element-id]`,!0)}var Ha={__init__:[`interactionEvents`],interactionEvents:[`type`,InteractionEvents]},Ua=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 Wa,Ga;function requireComponentXor(){if(Ga)return Wa;Ga=1,Wa=xor;function xor(e,t){return e^t}return Wa}var componentProps,Ka;function requireComponentProps(){if(Ka)return componentProps;Ka=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 qa,Ja;function requireDomIterator(){if(Ja)return qa;Ja=1;var e=requireComponentXor(),t=requireComponentProps();qa=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},qa}var Ya=getDefaultExportFromCjs(requireDomIterator()),Xa=window.getSelection();function applyRange(e){Xa?.removeAllRanges(),Xa?.addRange(e)}function getWindowSelection(){return Xa}function isSelected(e){if(!Xa?.rangeCount)return null;var t=Xa.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=Xa.getRangeAt(0),n=t.startContainer,r=t.endContainer,i=t.startOffset,a=t.endOffset,o=Ya(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=Ya(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 Za=`[contenteditable]`,Qa=`[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 N(`[data-coords="${(0,Ua.default)(n)}"]`,t)}function getNodeById(e,t){return N(`[data-element-id="${(0,Ua.default)(e)}"]`,t)}function isUnselectableNode(e){return w(e,`.no-deselect`,!0)}function findSelectableAncestor(e){return w(e,Qa,!0)}function getFocusableNode(e){let t=Za;return le(e,t)?e:N(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 $a=500,eo={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`,$a,click),t.on(`cell.focusin`,$a,focus),t.on(`cell.focusout`,$a,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 eo))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 to={__depends__:[Ha,Ba],__init__:[`cellSelection`],cellSelection:[`type`,CellSelection]};W();var no=2e3,DecisionTableModelingRules=class extends tn{constructor(e,t){super(e),this._sheet=t}init(){this.addRule(`col.move`,no,({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`,no,({col:e})=>{let{cols:t}=this._sheet.getRoot();return!isOutput(e)||t.filter(e=>isOutput(e)).length>1}),this.addRule(`paste`,no,({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 V(e,e=>e.type!==`row`||e.cells.length!==t.length?!1:V(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 V(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 ro={__depends__:[{__depends__:[wt]}],__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`],W();var io=[copyTableProperties,copyBusinessObjectProperties],ao=[reviveBusinessObject,reviveTableElement];function createDescriptor(e,t,n){return n||=io,t||={},H(e)?createDescriptors0(e,t,n):createDescriptor0(e,t,n)}function createDescriptors0(e,t,n){return U(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 U(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(H(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||=ao,t||={},H(e.root)?reviveDescriptors0(e,t,n):reviveDescriptor0(e,t,n)}function reviveDescriptors0(e,t,n){let r=e.root,i=e.descriptorCache;return U(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 U(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={};he(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=H(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 q(o,e=>{e.$type&&(e.$parent=c),H(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`],W();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){H(e)||(e=[e]);let t={elements:createDescriptor(e)};this._eventBus.fire(`copyCutPaste.copy`,{data:t}),this._clipboard.set(t)}cut(e){H(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 oo={__depends__:[pt,ro],__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`],W();var so=`is not a registered action`,co=`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,so);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);q(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error$2(e,co);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error$2(e,so);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 lo={__depends__:[Ba],__init__:[`editorActions`],editorActions:[`type`,EditorActions$2]},uo={__depends__:[to,oo,lo,Ba],__init__:[`decisionTableEditorActions`],decisionTableEditorActions:[`type`,DecisionTableEditorActions]},fo={__depends__:[uo],__init__:[`addRule`],addRule:[`type`,AddRule]},po=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,po.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`],W();var mo=300;function debounceInput(e){return function _debounceInput(t){if(e!==!1){var n=ke(e)?e:mo;return Ee(t,n)}return t}}debounceInput.$inject=[`config.debounceInput`];var ho={debounceInput:[`factory`,debounceInput]},go={__depends__:[ho],__init__:[`annotationsProvider`],annotationsProvider:[`type`,AnnotationsEditingProvider]};W();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 _o={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;be(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`,K(this.node.style,_o,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 vo=`
21
+ input[type=text],
22
+ input[type=number],
23
+ input[type=button],
24
+ input[type=submit],
25
+ [contenteditable],
26
+ [tabindex],
27
+ a[href],
28
+ textarea,
29
+ button
30
+ `;function ensureFocus(e){var t=N(vo,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=w(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 yo={__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`,()=>{A.bind(document,`copy`,this._clearClipboard,!0),A.bind(document,`cut`,this._clearClipboard,!0)}),t.on(`keyboard.unbind`,()=>{A.unbind(document,`copy`,this._clearClipboard,!0),A.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 bo={__depends__:[pt,to],__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 xo=500,CreateInputsProvider=class{constructor(e,t){e.onGetComponent(`cell`,xo,({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 So={__depends__:[uo],__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 Co=[`row.add`,`row.remove`,`col.add`,`col.remove`],ContextMenuCloseBehavior=class{constructor(e,t){t.on(`commandStack.executed`,({command:t})=>{Co.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&&O(e).remove(`focused`)};getEntries=()=>Array.from(I(`.context-menu-group-entry`)).filter(e=>!O(e).has(`disabled`));getActiveEntries=e=>{let t=N(`.context-menu-group-entry:hover`,e),n=N(`.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;O(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),O(r).remove(`focused`),O(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 wo={__depends__:[uo,yo,ro],__init__:[`decisionTableContextMenu`,`contextMenuCloseBehavior`,`contextMenuKeyboard`],decisionTableContextMenu:[`type`,ContextMenu],contextMenuCloseBehavior:[`type`,ContextMenuCloseBehavior],contextMenuKeyboard:[`type`,ContextMenuKeyboard]},OutputCell=class extends ${constructor(e,t){super(e,t),mixin(this,Ca),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=w(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(!le(e,`.output-cell + .output-cell`))return{x:-1,y:0}}var InputCell=class extends ${constructor(e,t){super(e,t),mixin(this,Ca),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 sn({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:[cn.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}=w(r,`th`,!0).getBoundingClientRect();t.open({x:i,y:a,align:`bottom-right`},{contextMenuType:`input-edit`,input:n})})}};InputCellProvider.$inject=[`components`,`contextMenu`,`eventBus`,`renderer`],W();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();K(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=j(`<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),L(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)}},To=750,TypeRef$1=class{static{e(this,`TypeRef`)}constructor(e){e.onGetComponent(`context-menu`,To,(e={})=>{let{contextMenuType:t}=e;if(t===`input-edit`||t===`output-edit`)return TypeRefCellContextMenu})}};TypeRef$1.$inject=[`components`];var Eo={__depends__:[yo,pa],__init__:[`typeRefEditingProvider`],typeRefEditingProvider:[`type`,TypeRef$1]},AllowedValuesUpdateBehavior=class extends z{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`],W();var Do=`radio`,Oo=`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===Do&&(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`,Oo,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 ko=500,InputOutputValues=class{constructor(e){e.onGetComponent(`context-menu`,ko,(e={})=>{let{contextMenuType:t}=e;if(t===`input-edit`||t===`output-edit`)return AllowedValuesEditing})}};InputOutputValues.$inject=[`components`];var Ao={__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 jo={__depends__:[uo],__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,A.bind(e,`keydown`,this._keyHandler),this._fire(`bind`)}getBinding(){return this._node}unbind=()=>{var e=this._node;e&&(this._fire(`unbind`),A.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 No={__depends__:[uo],__init__:[`keyboard`],keyboard:[`type`,Keyboard$1]},Po={__depends__:[jo,Ao,yo,ho,Ma,Na,No,Eo],__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 Fo=`.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=w(t,Fo,!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(){A.bind(document,`dragover`,this.handleDragOver),A.bind(document,`drop`,this.handleDrop),A.bind(document,`dragend`,this.handleDragEnd)}_unbindListeners(){A.unbind(document,`dragover`,this.handleDragOver),A.unbind(document,`drop`,this.handleDrop),A.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 Io={__init__:[`dragAndDrop`],dragAndDrop:[`type`,DragAndDrop$1]};W();var Lo=`top`,Ro=`right`,zo=`bottom`,Bo=`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===Lo?highlightRow(a,o,`top`):highlightRow(a,o,`bottom`)),r instanceof Col&&(s===Bo?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=j(`<span style="
32
+ visibility: hidden;
33
+ position: fixed;
34
+ top: -10000px
35
+ "></span>`),document.body.appendChild(this._dragImage),t.dataTransfer.setDragImage&&t.dataTransfer.setDragImage(this._dragImage,0,0),e instanceof Row?fadeOutRow(e,n):e instanceof Col&&fadeOutCol(e,n),this._dragAndDrop.startDrag(e,t)}_cleanup=()=>{let e=this._renderer.getContainer();removeHighlight(e),removeFadeOut(e),this._dragImage&&=(L(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=I(`[data-row-id=${r}]`,t);q(i,e=>{isNode(e)&&(O(e).add(`dragover`),O(e).add(n))})}function highlightCol(e,t,n){let r=e.dataset.colId;if(!r)return;let i=I(`[data-col-id=${r}]`,t);q(i,e=>{isNode(e)&&(O(e).add(`dragover`),O(e).add(n))})}function removeHighlight(e){let t=I(`.dragover`,e);q(t,e=>{isNode(e)&&(O(e).remove(`dragover`),O(e).remove(`top`),O(e).remove(`right`),O(e).remove(`bottom`),O(e).remove(`left`))})}function fadeOutRow(e,t){let n=I(`[data-row-id=${e.id}]`,t);q(n,e=>{isNode(e)&&O(e).add(`dragged`)})}function fadeOutCol(e,t){let n=I(`[data-col-id=${e.id}]`,t);q(n,e=>{isNode(e)&&O(e).add(`dragged`)})}function removeFadeOut(e){let t=I(`.dragged`,e);q(t,e=>{isNode(e)&&O(e).remove(`dragged`)})}function getHorizontalPosition(e,t){let n=t.getBoundingClientRect();return e.clientX<n.left+n.width/2?Bo:Ro}function getVerticalPosition(e,t){let n=t.getBoundingClientRect();return e.clientY<n.top+n.height/2?Lo:zo}function getTargetRow(e,t,n,r){return r.indexOf(e)>r.indexOf(t)&&(t=getRowBelow(t,r)),n===Lo?getRowAbove(t,r):t}function getTargetCol(e,t,n,r){return r.indexOf(e)>r.indexOf(t)&&(t=getColRight(t,r)),n===Bo?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 Vo={__depends__:[Io,ro],__init__:[`dmnDragAndDrop`],dmnDragAndDrop:[`type`,DragAndDrop]};W();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;Oe(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(Oe(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 N(`.content-editable`,e)}W();var Ho=500,Uo=750,Wo=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`,Uo,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(Oe(t))return DescriptionEditor}}),e.onGetComponent(`context-menu-cell-additional`,Ho,(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=Oe(a),s=o?`remove-description`:`add-description`,c=o?()=>this.removeDescription(r):()=>this.addDescription(r);return createVNode(1,`div`,`context-menu-group-entry ${s}`,Oe(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-Wo,y:n+e.parentNode.scrollTop,width:i+52,height:a}}function getDescription(e){return e&&e.businessObject&&e.businessObject.description}var Go={__depends__:[yo,Ha],__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 Ko={__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,Sa)}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 qo=500,DecisionTableProperties=class{constructor(e){e.onGetComponent(`table.before`,qo,()=>DecisionTablePropertiesComponent)}};DecisionTableProperties.$inject=[`components`];var Jo={__depends__:[ho],__init__:[`decisionTableProperties`],decisionTableProperties:[`type`,DecisionTableProperties]};W();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=G(Fa,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:Fa.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 Yo={__depends__:[yo],__init__:[`hitPolicyProvider`],hitPolicyProvider:[`type`,HitPolicyEditingProvider]},DmnUpdater=class extends z{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}};W();var Xo=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)}};Xo.$inject=[`eventBus`,`elementFactory`,`commandStack`];function registerHandlers$2(e,t){q(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}W();var Zo=`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 U(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===Zo&&isIdChange(e,r)&&(n.unclaim(e[Zo]),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[Zo]!==t}function isContainer(e){return we(e)&&xe(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`],W();var Qo=class Modeling$2 extends Xo{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 K({},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)}};Qo.$inject=[`eventBus`,`elementFactory`,`commandStack`,`sheet`],W();var IdClaimBehavior=class extends z{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&&(H(n)&&n.forEach(e=>this.claimId(e)),n.$type&&this.claimId(n))})}};IdClaimBehavior.$inject=[`eventBus`,`moddle`,`modeling`],W();var IdUnclaimBehavior=class extends z{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&&(H(n)&&n.forEach(e=>this.unclaimId(e)),n.$type&&this.unclaimId(n))})}};IdUnclaimBehavior.$inject=[`eventBus`,`modeling`];var $o={__init__:[`dmnUpdater`,`idChangeBehavior`,`nameChangeBehavior`,`modeling`],__depends__:[{__init__:[`idClaimBehavior`,`idUnclaimBehavior`],idClaimBehavior:[`type`,IdClaimBehavior],idUnclaimBehavior:[`type`,IdUnclaimBehavior]},qe],dmnUpdater:[`type`,DmnUpdater],dmnFactory:[`type`,DmnFactory$1],elementFactory:[`type`,ElementFactory],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],modeling:[`type`,Qo]};W();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`,[Oe(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)}},es=1500,RulesEditor=class{constructor(e){e.onGetComponent(`cell`,es,({cellType:e})=>{if(e===`rule`)return DecisionRulesCellEditorComponent})}};RulesEditor.$inject=[`components`];var ts={__depends__:[ho,Pa],__init__:[`decisionRulesEditor`],decisionRulesEditor:[`type`,RulesEditor]};W();var ns=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+ns+s+`px`:-i.left+a.left+a.width-ns+s+`px`,l.top=a.top+a.height/2>i.height/2?-i.top+a.top-o.height+ns+c+`px`:-i.top+a.top-ns+c+`px`,K(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=w(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 rs={__depends__:[yo,to,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 as=`true`,os=`false`,ss=`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||ss},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===ss?``:e),this.setState({value:e})}render(){let{value:e}=this.state,t=[{label:`-`,value:ss},{label:this._translate(`Yes`),value:as},{label:this._translate(`No`),value:os}];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 cs={__depends__:[No,rs],__init__:[`simpleBooleanEdit`],simpleBooleanEdit:[`type`,SimpleBooleanEdit]},ls=/^\d{4}(?:-\d\d){2}$/,us=/^\[date\("([^"]*)"\)..date\("([^"]*)"\)\]$/,ds=/^(<|>)\s*date\("([^"]*)"\)$/,fs=/^date\("([^"]*)"\)$/,ps=`exact`,ms=`before`,hs=`after`,gs=`between`;function validateISOString$2(e){if(!ls.test(e.trim()))return`Date must match pattern yyyy-MM-dd`}e(validateISOString$2,`validateISOString`);function getDateString$1(e,t){if(e===ps)return`date("${t[0]}")`;if(e===ms)return`< date("${t[0]}")`;if(e===hs)return`> date("${t[0]}")`;if(e===gs)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(us);if(t)return{type:`between`,dates:[t[1],t[2]]};if(t=e.match(ds),t)return{type:t[1]===`<`?`before`:`after`,date:t[2]};if(t=e.match(fs),t)return{type:`exact`,date:t[1]}}e(parseString$4,`parseString`);var _s=`exact`,vs=`before`,ys=`after`,bs=`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:_s,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:_s},{label:this._translate(`Before`),value:vs},{label:this._translate(`After`),value:ys},{label:this._translate(`Between`),value:bs}];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===bs?this._translate(`Edit start date`):this._translate(`Set date`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:t===bs?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===bs&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end date`),0),t===bs&&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 xs={__depends__:[No,rs],__init__:[`simpleDateEdit`],simpleDateEdit:[`type`,SimpleDateEdit$2]},Ss=/^\d{4}(?:-\d\d){2}T(?:\d\d:){2}\d\d(?:Z|(?:[@+-][^")]+))?$/,Cs=/^\[date and time\("([^"]*)"\)..date and time\("([^"]*)"\)\]$/,ws=/^(<|>)\s*date and time\("([^"]*)"\)$/,Ts=/^date and time\("([^"]*)"\)$/,Es=`exact`,Ds=`before`,Os=`after`,ks=`between`;function validateISOString$1(e){if(!Ss.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===Es)return`date and time("${t[0]}")`;if(e===Ds)return`< date and time("${t[0]}")`;if(e===Os)return`> date and time("${t[0]}")`;if(e===ks)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(Cs);if(t)return{type:`between`,dates:[t[1],t[2]]};if(t=e.match(ws),t)return{type:t[1]===`<`?`before`:`after`,date:t[2]};if(t=e.match(Ts),t)return{type:`exact`,date:t[1]}}e(parseString$3,`parseString`);var As=`exact`,js=`before`,Ms=`after`,Ns=`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:As,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:As},{label:this._translate(`Before`),value:js},{label:this._translate(`After`),value:Ms},{label:this._translate(`Between`),value:Ns}];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===Ns?this._translate(`Edit start date and time`):this._translate(`Set date and time`),0),createVNode(1,`div`,null,[createComponentVNode(2,ValidatedInput,{label:t===Ns?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===Ns&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end date and time`),0),t===Ns&&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 Ps={__depends__:[No,rs],__init__:[`simpleDateTimeEdit`],simpleDateTimeEdit:[`type`,SimpleDateEdit$1]};W();var Fs={equals:`=`,less:`<`,lessEquals:`<=`,greater:`>`,greaterEquals:`>=`};function getOperatorName$1(e){return he(Fs).filter(t=>e===Fs[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}")`:`${Fs[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 Is=[`years and months duration`,`yearMonthDuration`],Ls=[`days and time duration`,`dayTimeDuration`];function isYearsMonthsDuration(e){return Is.includes(e)}function isDaysTimeDuration(e){return Ls.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})}},Rs=`comparison`,zs=`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:Rs,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===Rs?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===Rs&&(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===Rs&&(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===zs&&(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===zs&&(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===zs&&(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===zs&&(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:Rs},{label:this._translate(`Range`),value:zs}];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===Rs&&this.renderComparison(t,n),e===zs&&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 Bs={__depends__:[No,rs],__init__:[`simpleDurationEdit`],simpleDurationEdit:[`type`,SimpleDurationEdit]};W();var Vs=/^(-?(?:[0-9]|\.[0-9])+)$|^((?:<|>|=){0,2})\s*(-?(?:[0-9]|\.[0-9])+)$/,Hs=/^(\[|\])(-?(?:[0-9]|\.[0-9])+)\.\.(-?(?:[0-9]|\.[0-9])+)(\[|\])$/,Us={equals:`=`,less:`<`,lessEquals:`<=`,greater:`>`,greaterEquals:`>=`};function getOperatorName(e){return he(Us).filter(t=>e===Us[t])[0]}function parseString$2(e){if(!e||isEmptyString$1(e.trim()))return{type:`comparison`};let t=e.match(Vs),n=e.match(Hs);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}`:`${Us[e]} ${t}`}function getRangeString(e,t,n,r){return`${n===`exclude`?`]`:`[`}${e}..${t}${r===`exclude`?`[`:`]`}`}var Ws=`comparison`,Gs=`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:Ws,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===Ws?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===Ws&&(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===Ws&&(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===Gs&&(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===Gs&&(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===Gs&&(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===Gs&&(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:Ws},{label:this._translate(`Range`),value:Gs}];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===Ws&&this.renderComparison(t,n),e===Gs&&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 Ks=[`number`,`integer`,`long`,`double`];function isNumber(e){return Ks.includes(e)}var qs={__depends__:[No,rs],__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 Js=`disjunction`,Ys=`negation`,Xs=`Predefined values`,Zs=`Predefined values`,Qs=`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:Js};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(Xs):this._translate(Zs)}));a&&(o=o.concat(i.map(e=>({value:e,isChecked:!0,isRemovable:!0,group:this._translate(Qs)}))));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===Js?(this.editCell(r.businessObject,n.join(`,`)),this.setState({unaryTestsType:Js})):(this.editCell(r.businessObject,`not(${n.join(`,`)})`),this.setState({unaryTestsType:Ys}))}onUnaryTestsListChanged(e){let t=getValues(e),{element:n}=this.props.context,{unaryTestsType:r}=this.state;r===Js?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===Js?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:Js},{label:this._translate(`Match none`),value:Ys}],o=isInput(e.col),s=i===Ys,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?Ys:Js},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 $s={__depends__:[No,rs],__init__:[`simpleStringEdit`],simpleStringEdit:[`type`,SimpleStringEdit]},ec=/^(?:\d\d:){2}\d\d(?:Z|(?:[@+-][^")]+))?$/,tc=/^\[time\("([^"]*)"\)..time\("([^"]*)"\)\]$/,nc=/^(<|>)\s*time\("([^"]*)"\)$/,rc=/^time\("([^"]*)"\)$/,ic=`exact`,ac=`before`,oc=`after`,sc=`between`;function validateISOString(e){if(!ec.test(e.trim()))return`Time must match pattern hh:mm:ss[time zone]`}function getTimeString(e,t){if(e===ic)return`time("${t[0]}")`;if(e===ac)return`< time("${t[0]}")`;if(e===oc)return`> time("${t[0]}")`;if(e===sc)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(tc);if(t)return{type:`between`,times:[t[1],t[2]]};if(t=e.match(nc),t)return{type:t[1]===`<`?`before`:`after`,time:t[2]};if(t=e.match(rc),t)return{type:`exact`,time:t[1]}}var cc=`exact`,lc=`before`,uc=`after`,dc=`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:cc,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:cc},{label:this._translate(`Before`),value:lc},{label:this._translate(`After`),value:uc},{label:this._translate(`Between`),value:dc}];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===dc?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===dc&&createVNode(1,`h4`,`dms-heading`,this._translate(`Edit end time`),0),t===dc&&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 fc={__depends__:[No,rs],__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:w(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 pc={__init__:[`columnResizeProvider`],columnResizeProvider:[`type`,ColumnResizeProvider]},mc=class Editor$3 extends za{static{e(this,`Editor`)}getModules(){return[...za._getModules(),...Editor$3._getModules()]}static _getModules(){return[fo,go,to,yo,oo,bo,So,pa,wo,uo,Po,pc,Vo,Go,Ko,Ma,Na,No,Jo,lo,Yo,Ha,$o,ts,Ba,rs,cs,xs,Ps,Bs,qs,$s,fc,ga]}},hc=/^class[ {]/;function isClass(e){return hc.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 gc=/constructor\s*[^(]*\(\s*([^)]*)\)/m,_c=/^(?:async\s+)?(?:function\s*[^(]*)?(?:\(\s*([^)]*)\)|(\w+))/m,vc=/\/\*([^*]*)\*\//m;function parseAnnotations(e){if(typeof e!=`function`)throw Error(`Cannot annotate "${e}". Expected a function!`);let t=e.toString().match(isClass(e)?gc:_c);if(!t)return[];let n=t[1]||t[2];return n&&n.split(`,`).map(e=>{let t=e.match(vc),[n,r]=e.replace(vc,``).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`],W();var yc=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(be(t)&&(n=t,t=yc),!ke(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 bc={__init__:[`changeSupport`,`components`,`renderer`],changeSupport:[`type`,ChangeSupport],components:[`type`,Components],eventBus:[`type`,ue],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]},bc].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 xc={__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)}},Sc=1500,DecisionProperties$1=class{static{e(this,`DecisionProperties`)}constructor(e){e.onGetComponent(`viewer`,Sc,()=>DecisionPropertiesComponent)}};DecisionProperties$1.$inject=[`components`];var Cc={__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)}},wc=500,DecisionProperties=class{constructor(e){e.onGetComponent(`viewer`,wc,()=>LiteralExpressionPropertiesComponent$1)}};DecisionProperties.$inject=[`components`];var Tc={__depends__:[],__init__:[`literalExpressionProperties`],literalExpressionProperties:[`type`,DecisionProperties]},Ec=2e3,PoweredBy$1=class{static{e(this,`PoweredBy`)}constructor(e){e.onGetComponent(`viewer`,Ec,()=>PoweredByComponent)}};PoweredBy$1.$inject=[`components`];var Dc={__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 Oc={__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 kc=2e3,ViewDrd$1=class{static{e(this,`ViewDrd`)}constructor(e,t,n,r){this._injector=r,this._viewer=t,e.onGetComponent(`viewer`,kc,()=>{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 Ac={__init__:[`viewDrd`],viewDrd:[`type`,ViewDrd$1]};W();var jc=class Viewer$1 extends Viewer$2{static{e(this,`Viewer`)}constructor(e={}){let t=Viewer$1._createContainer();super(K(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`,{}),L(e))}destroy(){super.destroy(),this.detach()}getModules(){return Viewer$1._getModules()}static _getModules(){return[xc,E,Cc,Tc,Dc,Oc,Ac]}static _createContainer(){return j(`<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 Nc={__depends__:[ho,E],__init__:[`decisionProperties`],decisionProperties:[`type`,DecisionPropertiesEditor]};W();var Pc=`is not a registered action`,Fc=`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,Pc);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);q(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error$1(e,Fc);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error$1(e,Pc);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 Ic={__init__:[`editorActions`],editorActions:[`type`,EditorActions$1]};function isCmd(e){return e.altKey?!1:e.ctrlKey||e.metaKey}function isShift(e){return e.shiftKey}var Lc=`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(Lc)),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(Lc)),this.unbind(),e=this._node=this._target,A.bind(e,`keydown`,this._keyHandler,!0),this._fire(`bind`)}getBinding(){return this._node}unbind=()=>{var e=this._node;e&&(this._fire(`unbind`),A.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 Rc={__depends__:[Ic],__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)}},zc=500,LiteralExpressionPropertiesEditor=class{constructor(e){e.onGetComponent(`viewer`,zc,()=>LiteralExpressionPropertiesComponent)}};LiteralExpressionPropertiesEditor.$inject=[`components`];var Bc={__depends__:[ho,Rc,Ma,Na,pa],__init__:[`literalExpressionProperties`],literalExpressionProperties:[`type`,LiteralExpressionPropertiesEditor]};W();var Vc=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)}};Vc.$inject=[`commandStack`,`viewer`,`eventBus`,`moddle`];function registerHandlers$1(e,t){q(e,function(e,n){t.registerHandler(n,e)})}e(registerHandlers$1,`registerHandlers`);var Hc={__init__:[`idChangeBehavior`,`nameChangeBehavior`,`modeling`],commandStack:[`type`,Je],idChangeBehavior:[`type`,IdChangeBehavior],nameChangeBehavior:[`type`,NameChangeBehavior$1],modeling:[`type`,Vc]},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 Uc={__depends__:[ho,E],__init__:[`textarea`],textarea:[`type`,Textarea]},Wc=class Editor$1 extends jc{static{e(this,`Editor`)}getModules(){return[...jc._getModules(),...Editor$1._getModules()]}static _getModules(){return[Nc,Rc,Bc,Hc,Ma,Na,pa,Uc,ga]}},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)})}},Gc={__init__:[`viewRenderer`,`tableJsSupport`],viewRenderer:[`type`,ViewRenderer],tableJsSupport:[`type`,TableJsSupport]},Kc=2e3,PoweredBy=class{constructor(e){e.onGetComponent(`viewer`,Kc,()=>PoweredByComponent)}};PoweredBy.$inject=[`components`];var qc={__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`)}},Jc={__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 Yc={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`,Yc[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 Xc={__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 Zc=2e3,ViewDrd=class{constructor(e,t,n,r){this._injector=n,this._viewer=r,e.onGetComponent(`viewer`,Zc,()=>{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 Qc={__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 $c={__init__:[`elementProperties`],elementProperties:[`type`,ElementProperties]},el=100,ElementLogic=class{static $inject=[`components`];constructor(e){e.onGetComponent(`body`,()=>LogicComponent),e.onGetComponent(`expression`,el,()=>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 tl={__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 nl={__init__:[`elementVariableComponent`],elementVariable:[`type`,ElementVariable],elementVariableComponent:[`type`,ElementVariableComponentProvider$1]};W();var rl=class Viewer extends Viewer$2{constructor(e={}){let t=Viewer._createContainer();super(K(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`,{}),L(e))}destroy(){super.destroy(),this.detach()}getModules(){return[Gc,E,qc,Qc,$c,tl,Xc,Jc,nl]}static _createContainer(){return j(`<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(Ke(n))return t.trigger(`undo`),!0}),addListener(`redo`,function(e){let n=e.keyEvent;if(Be(n))return t.trigger(`redo`),!0})}},il={__depends__:[Ye],__init__:[`keyboardBindings`],keyboardBindings:[`type`,KeyboardBindings]},NameChangeBehavior=class extends z{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}W();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){q(e,function(e,n){t.registerHandler(n,e)})}var al={__init__:[`idChangeBehavior`,`modeling`,`nameChangeBehavior`],commandStack:[`type`,Je],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)}},ol=withChangeSupport(_LiteralExpressionEditorComponent,e=>[e.expression]),LiteralExpressionEditorComponentProvider=class{static $inject=[`components`];constructor(e){e.onGetComponent(`expression`,({expression:e})=>{if(is$2(e,`dmn:LiteralExpression`))return ol})}},LiteralExpressionEditor=class extends LiteralExpression{constructor(e){super(),this._modeling=e}setText(e,t){this._modeling.updateProperties(e,{text:t})}};LiteralExpressionEditor.$inject=[`modeling`];var sl={__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 cl})}},cl=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,dl,{expression:o,parameters:a})],4)}var ll={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`,[ll[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,ul,{parameter:t}),`, `),[]).slice(0,-1),createTextVNode(`)`)],0),createComponentVNode(2,EditButton,{label:r(`Edit formal parameters`),onClick:e})],4)}var ul=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 dl=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 fl=[{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:fl,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 pl})}},pl=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,ml,{parameter:e,remove:()=>remove(e)},t)),0)],4):null,createVNode(1,`button`,`add-parameter`,r(`Add parameter`),0,{type:`button`,onClick:add})],0)}var ml=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]),hl={__init__:[`formalParametersEditorComponent`,`functionDefinitionComponent`,`kindEditorComponent`],__depends__:[yo],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)}},gl=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,gl,{element:t.injector.get(`viewer`).getRootElement()}),2)}var ElementPropertiesEditor=class{constructor(e){e.onGetComponent(`header`,()=>ElementPropertiesEditorComponent)}};ElementPropertiesEditor.$inject=[`components`];var _l={__depends__:[ho],__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)}},vl={__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})}}},yl=`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:yl}),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:yl})}var bl={__init__:[`elementVariableComponent`],elementVariable:[`type`,ElementVariableEditor],elementVariableComponent:[`type`,ElementVariableComponentProvider]};W();var xl=`is not a registered action`,Sl=`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,xl);return this._actions[e](t)}register(e,t){if(typeof e==`string`)return this._registerAction(e,t);q(e,(e,t)=>{this._registerAction(t,e)},this)}_registerAction(e,t){if(this.isRegistered(e))throw error(e,Sl);this._actions[e]=t}unregister(e){if(!this.isRegistered(e))throw error(e,xl);this._actions[e]=void 0}isRegistered(e){return!!this._actions[e]}};EditorActions.$inject=[`commandStack`,`eventBus`];function error(e,t){return Error(e+` `+t)}var Cl={__init__:[`editorActions`],editorActions:[`type`,EditorActions]},Editor=class extends rl{getModules(){return[...super.getModules(),vl,al,Cl,_l,hl,Ma,Na,sl,il,pa,bl,ga]}};W();var Modeler=class extends EditingManager{_getViewProviders(){return[{id:`drd`,constructor:Modeler$1,opens:`dmn:Definitions`},{id:`decisionTable`,constructor:mc,opens(e){return is$2(e,`dmn:Decision`)&&is$2(e.decisionLogic,`dmn:DecisionTable`)}},{id:`literalExpression`,constructor:Wc,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=G(e,e=>!is$2(e.element,`dmn:Definitions`))||n),n}},wl={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}]}]};W();var Tl=Rt({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 ge(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 El;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 Dl=function SvgDmnIconAssociation(e){return J(`svg`,_extends$a({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),El||=J(`path`,{fill:`none`,stroke:`#000`,strokeDasharray:`3.3,6`,strokeLinecap:`square`,strokeWidth:2,d:`m1.5 30.5 29-29`}))},Ol;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 kl=function SvgDmnIconAuthorityRequirement(e){return J(`svg`,_extends$9({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Ol||=J(`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`}))},Al;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 jl=function SvgDmnIconBusinessKnowledge(e){return J(`svg`,_extends$8({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Al||=J(`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 Nl=function SvgDmnIconDecision(e){return J(`svg`,_extends$7({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Ml||=J(`path`,{fillRule:`evenodd`,d:`M0 6v20.711h32V6H0Zm1.697 1.697h28.606v17.317H1.697V7.697Z`}))},Pl,Fl;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 Il=function SvgDmnIconDecisionService(e){return J(`svg`,_extends$6({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32,viewBox:`0 0 30 30`},e),Pl||=J(`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`}),Fl||=J(`path`,{d:`M1 14.25h28v1.5H1z`}))},Ll;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 Rl=function SvgDmnIconDrd(e){return J(`svg`,_extends$5({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Ll||=J(`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`}))},zl;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 Bl=function SvgDmnIconInformationRequirement(e){return J(`svg`,_extends$4({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),zl||=J(`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`}))},Vl;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 Hl=function SvgDmnIconInputData(e){return J(`svg`,_extends$3({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Vl||=J(`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`}))},Ul;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 Wl=function SvgDmnIconKnowledgeRequirement(e){return J(`svg`,_extends$2({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Ul||=J(`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`}))},Gl;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 Kl=function SvgDmnIconKnowledgeSource(e){return J(`svg`,_extends$1({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),Gl||=J(`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`}))},ql;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 Jl={Association:Dl,AuthorityRequirement:kl,BusinessKnowledgeModel:jl,Decision:Nl,DecisionService:Il,DecisionTable:Rl,Definitions:Rl,DRD:Rl,InformationRequirement:Bl,InputData:Hl,KnowledgeRequirement:Wl,KnowledgeSource:Kl,TextAnnotation:function SvgDmnIconTextAnnotation(e){return J(`svg`,_extends({xmlns:`http://www.w3.org/2000/svg`,width:32,height:32},e),ql||=J(`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 Yl={getElementLabel:e=>is(e,`dmn:Definitions`)?getBusinessObject(e).get(`name`):getLabel(e),getElementIcon:e=>Jl[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 Xl={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]=qt({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})};bt(()=>{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)}},[]),bt(()=>{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]),bt(()=>{let onImportDone=()=>{let e=s.getRootElement();_update(e)};return l.on(`import.done`,onImportDone),()=>{l.off(`import.done`,onImportDone)}},[]),bt(()=>{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=Ut(()=>U(m,function(e,t){return H(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 Vt(Tl.Provider,{value:p,children:Vt(ze,{element:f,headerProvider:Yl,placeholderProvider:Xl,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 G(e,e=>e===t)}function elementExists(e,t){return e&&t.get(e.id)}var Zl=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=j(`<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=N(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=Zl),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)||(Tt(Vt(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&&(Tt(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(Ke(e))return n.undo(),cancel(e);if(Be(e))return n.redo(),cancel(e)}t.on(`keyboard.bind`,function(){A.bind(e,`keydown`,handleKeys)}),t.on(`keyboard.unbind`,function(){A.unbind(e,`keydown`,handleKeys)})}var MultiCommandHandler=class{constructor(e){this._commandStack=e}preExecute(e){let t=this._commandStack;q(e,function(e){t.execute(e.cmd,e.context)})}};MultiCommandHandler.$inject=[`commandStack`];var Ql={"properties-panel.multi-command-executor":MultiCommandHandler};function CommandInitializer(e,t){e.on(`diagram.init`,function(){q(Ql,function(e,n){t.registerHandler(n,e)})})}CommandInitializer.$inject=[`eventBus`,`commandStack`];var $l={__depends__:[{__init__:[CommandInitializer]},lt,Ue],__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 eu=[`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||eu.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 tu={__depends__:[E],__init__:[`dataTypes`,`defaultDataTypesProvider`,`modelDataTypesProvider`],dataTypes:[`type`,DataTypes],defaultDataTypesProvider:[`type`,DefaultDataTypesProvider],modelDataTypesProvider:[`type`,ModelDataTypesProvider]};function useService(e,t){let{getService:n}=Zt(Tl);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:Ve}];return is(t,`dmn:Decision`)?n.concat([{id:`question`,component:Question,element:t,isEdited:Ve},{id:`allowedAnswers`,component:AllowedAnswers,element:t,isEdited:Ve}]):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 it(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 it(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 it(a)}var nu=/\s/,ru=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,iu=/^[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(!iu.test(e))return ru.test(e)?t(`ID must not contain prefix.`):t(`ID must be a valid QName.`)}function containsSpace(e){return nu.test(e)}function IdProps$1(e){let{element:t}=e;return[{id:`id`,component:Id$1,element:t,isEdited:ft}]}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=Ft(e=>getBusinessObject(e).id,[t]),s=Ft(e=>isIdValid(getBusinessObject(t),e,a),[t,a]);return an({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:Ve}]:[]}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})}}),it(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 Ge({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:$e}}function DocumentationGroup(e){let t=[...DocumentationProps({element:e})];return t.length?{id:`documentation`,label:`Documentation`,entries:t,component:$e}:null}function VariableGroup(e){let t=[...TypeRefProps({element:e})];return t.length?{id:`variable`,label:`Variable`,entries:t,component:$e}:null}var au={__depends__:[tu],__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:ft}]:[]}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 an({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:ft}]:[]}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 an({element:t,id:n,label:i(`Time to live`),tooltip:Vt(`div`,{children:Vt(`p`,{children:[i(`Number of days before this resource is being cleaned up. If specified, takes precedence over the engine configuration.`),` `,Vt(`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:ft}]}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=Ft(e=>getBusinessObject(e).id,[t]),s=Ft(e=>isIdValid(getBusinessObject(t),e,a),[t,a]),c=is(t,`dmn:Decision`)?a(`This maps to the decision definition key.`):null;return an({element:t,id:n,label:a(`ID`),getValue:o,setValue,debounce:i,validate:s,description:c})}var ou=500,su=[HistoryCleanupGroup],CamundaPropertiesProvider=class{constructor(e,t){e.registerProvider(ou,this),this._injector=t}getGroups(e){return t=>(t=t.concat(this._getGroups(e)),updateGeneralGroup$1(t,e),t)}_getGroups(e){return su.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:$e,entries:[...HistoryCleanupProps({element:e})]};return t.entries.length?t:null}function findGroup$1(e,t){return e.find(e=>e.id===t)}var cu={__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:ft}]:[]}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 an({element:t,id:`versionTag`,label:a(`Version tag`),getValue,setValue,debounce:i})}function getVersionTag(e){return getExtensionElementsList(getBusinessObject(e),`zeebe:VersionTag`)[0]}var lu=500,ZeebePropertiesProvider=class{constructor(e,t){e.registerProvider(lu,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 uu={__init__:[`zeebePropertiesProvider`],zeebePropertiesProvider:[`type`,ZeebePropertiesProvider]};function panelKindOf(e){let t=m(e);return t?.family===`camunda-8`?`zeebe`:t?.family===`camunda-7`&&t.key!==`operaton`?`camunda`:`base`}function panelShownFor(e){return e===`drd`}var du=/^[A-Za-z_][\w.]*$/,fu=/^\d{4}-\d{2}-\d{2}(?:T[\d:.]+(?:Z|[+-]\d{2}:?\d{2})?)?$/;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 isPlain(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function bind(e,t,n){if(!du.test(t))return;let r=t.split(`.`),i=e;for(let e of r.slice(0,-1)){if(!isPlain(i))return;e in i||(i[e]={}),i=i[e]}isPlain(i)&&(i[r[r.length-1]]=n)}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`?fu.test(n)?n:null:n}}function readable(e,t){let n={},r=[],i=[];for(let a of e.inputs){if(!du.test(a.expression)){i.push(a.expression);continue}let e=hn(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=>du.test(e.expression)&&hn(t,e.expression)===void 0).map(e=>e.expression),{values:r,typed:i,wrong:a}=readable(e,t),o=vn(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 Y(`app.try.shouldBe`,{name:t,wanted:du.test(t)?Y(`app.try.aValueOf`,{type:n?.type??Y(`app.try.value`)}):Y(`app.try.aNamePenstockCanRead`)})}).join(`; `);o.why=Y(`app.try.noRuleWasCompared`,{table:e.name,names:t}),o.problems=[]}let s=[...new Set(o.unreadCells)];return s.length>0&&(o.why=Y(`app.try.penstockCannotEvaluateHere`,{why:o.why,cells:s.join(`, `)})),{match:o,typed:i,unreadable:s,wrong:a,needs:n}}function bindRequiredInputs(e,t,n,r){for(let i of requirementsOf(e,n)){let e=t.find(e=>e.decisionId===i.decision)?.outputs[0];e&&i.input&&bind(r,i.input,hn(r,e.name))}}function tryDecision(e,t,n,r){let i={...r},a=[],o=[];for(let r of decisionOrder(e,t,n)){bindRequiredInputs(e,t,r.decisionId,i);let s=tryStep(r,i);if(s.needs.length>0){let e=Y(`app.try.needsAValueFor`,{names:s.needs.join(`, `)});if(o.push(Y(`app.try.tableNeeds`,{table:r.name,skipped:e})),a.push({decisionId:r.decisionId,name:r.name,table:r,match:s.match,skipped:e,unreadable:[]}),r.decisionId===n)return{order:a,result:a[a.length-1],unreadable:[],typed:[],outputs:[],waiting:o};continue}if(r.decisionId===n){let e={decisionId:r.decisionId,name:r.name,table:r,match:s.match,skipped:null,unreadable:s.unreadable};return a.push(e),{order:a,result:e,unreadable:s.unreadable,typed:s.typed,outputs:r.outputs.map(e=>({name:e.name,value:s.match.outputs[e.name],type:e.typeRef})),waiting:o}}let c=r.outputs[0]?s.match.outputs[r.outputs[0].name]:void 0;c!==void 0&&r.outputs.length===1&&bind(i,r.outputs[0].name,c),a.push({decisionId:r.decisionId,name:r.name,table:r,match:s.match,skipped:null,unreadable:s.unreadable})}return{order:a,result:null,unreadable:[],typed:[],outputs:[],waiting:o}}var pu=`penstock-dmn-tests/1`,mu=`.dmn.tests.json`,hu=1e3,gu=2097152;function testsPathFor(e){return`${e.replace(/\.dmn$/i,``)}${mu}`}function emptyTests(){return{schema:pu,cases:[]}}var _u=16,vu=20,yu=new Set([`__proto__`,`constructor`,`prototype`]),Stop=class extends Error{};function kindOf(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function fits(e,t){return e===`integer`?typeof t==`number`&&Number.isInteger(t):e===`number`?typeof t==`number`&&Number.isFinite(t):kindOf(t)===e}function check(e,t,n,r,i,a){if(r>_u)throw i.push({at:n||`$`,code:`deep`}),new Stop;let add=(e,t,r)=>{if(i.push({at:r===void 0?n||`$`:n?`${n}.${r}`:r,code:e,...t===void 0?{}:{expected:t}}),i.length>=vu)throw new Stop};if(e.$ref!==void 0){let o=e.$ref.replace(/^#\/\$defs\//,``),s=a.$defs!==void 0&&Object.hasOwn(a.$defs,o)?a.$defs[o]:void 0;return s?check(s,t,n,r+1,i,a):add(`reference`)}if(e.oneOf)e.oneOf.filter(e=>{let i=[];try{check(e,t,n,r+1,i,a)}catch(e){if(!(e instanceof Stop))throw e}return i.length===0}).length!==1&&add(`choice`);else{if(e.const!==void 0&&t!==e.const)return add(`const`,JSON.stringify(e.const));if(e.enum&&!e.enum.includes(t))return add(`enum`,e.enum.join(`, `));if(e.type&&!fits(e.type,t))return add(`type`,e.type);if(typeof t==`string`&&(e.minLength!==void 0&&t.length<e.minLength&&add(`tooShort`),e.maxLength!==void 0&&t.length>e.maxLength&&add(`tooLong`),e.pattern!==void 0&&!new RegExp(e.pattern).test(t)&&add(`shape`)),typeof t==`number`&&(e.minimum!==void 0&&t<e.minimum&&add(`range`,String(e.minimum)),e.maximum!==void 0&&t>e.maximum&&add(`range`,String(e.maximum))),Array.isArray(t)){if(e.maxItems!==void 0&&t.length>e.maxItems)return add(`tooMany`,String(e.maxItems));e.minItems!==void 0&&t.length<e.minItems&&add(`tooFew`,String(e.minItems)),e.items&&t.forEach((t,o)=>check(e.items,t,`${n}[${o}]`,r+1,i,a))}else if(kindOf(t)===`object`){let o=t,s=Object.keys(o);if(e.maxProperties!==void 0&&s.length>e.maxProperties)return add(`tooMany`,String(e.maxProperties));let c=e.properties??{};for(let t of e.required??[])Object.hasOwn(o,t)||add(`missing`,void 0,t);for(let t of s){let s=n?`${n}.${t}`:t;yu.has(t)?add(`forbidden`,void 0,t.slice(0,40)):Object.hasOwn(c,t)?check(c[t],o[t],s,r+1,i,a):e.additionalProperties===void 0||e.additionalProperties===!1?add(`unknown`,void 0,t.slice(0,40)):(e.propertyNames&&t.length>e.propertyNames.maxLength&&add(`tooLong`,String(e.propertyNames.maxLength),t.slice(0,40)),typeof e.additionalProperties==`object`&&check(e.additionalProperties,o[t],s,r+1,i,a))}}}}function problemsOfSchema(e,t){let n=[];try{check(e,t,``,0,n,e)}catch(e){if(!(e instanceof Stop))throw e}return n}function parseJsonBounded(e,t){if(e.length>t)return{problem:`tooLarge`};try{return{value:JSON.parse(e)}}catch{return{problem:`notJson`}}}var bu={type:`object`,maxProperties:100,propertyNames:{maxLength:200},additionalProperties:{}},xu={$schema:`http://json-schema.org/draft-07/schema#`,$id:`https://raw.githubusercontent.com/kern0x1b/penstock-release/main/docs/schema/penstock-dmn-tests.schema.json`,title:`Penstock DMN test cases`,description:`Saved test cases for the decision tables of a DMN file, kept next to it as <name>.dmn.tests.json. Penstock runs them on the decision table and shows which rules each case matched.`,type:`object`,additionalProperties:!1,required:[`schema`,`cases`],properties:{$schema:{type:`string`,maxLength:300,description:`The address of this schema, for editors.`},schema:{const:pu,description:`The version of this format.`},cases:{type:`array`,maxItems:hu,description:`One entry per test case, run in this order.`,items:{type:`object`,additionalProperties:!1,required:[`name`,`decision`,`inputs`,`expected`],properties:{name:{type:`string`,minLength:1,maxLength:200,description:`What the case shows.`},decision:{type:`string`,minLength:1,maxLength:200,description:`The id of the decision, which can be a decision table or a decision that requires others.`},inputs:{...bu,description:`The values the decision starts with, by the input expression of each decision table; a name with a dot reaches into an object.`},expected:{...bu,description:`The outputs the decision must give, by output name. Only the outputs listed are compared; none listed means no rule may match.`},rules:{type:`array`,maxItems:500,items:{type:`integer`,minimum:1,maximum:500},description:`Optional: the numbers of the rules that must be the ones applied, counted from 1.`}}}}}},Su=new Set([`__proto__`,`constructor`,`prototype`]);function cleanJson(e,t){if(!(t>8)){if(e===null||typeof e==`boolean`||typeof e==`string`)return e;if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(Array.isArray(e)){if(e.length>100)return;let n=[];for(let r of e){let e=cleanJson(r,t+1);if(e===void 0)return;n.push(e)}return n}if(typeof e==`object`){let n=Object.keys(e);if(n.length>100)return;let r=Object.create(null);for(let i of n){if(Su.has(i))return;let n=cleanJson(e[i],t+1);if(n===void 0)return;r[i]=n}return r}}}function cleanValues(e){let t=cleanJson(e,0);return t!==void 0&&typeof t==`object`&&t&&!Array.isArray(t)?t:null}function parseDmnTests(e){let t=parseJsonBounded(e,gu);if(`problem`in t)return{problems:[{at:`$`,code:t.problem}]};let n=problemsOfSchema(xu,t.value);if(n.length>0)return{problems:n};let r=[],i=t.value.cases;for(let[e,t]of i.entries()){let n=cleanValues(t.inputs),i=cleanValues(t.expected);if(n===null||i===null)return{problems:[{at:`cases[${e}]`,code:`deep`}]};r.push({name:t.name,decision:t.decision,inputs:n,expected:i,...Array.isArray(t.rules)?{rules:t.rules}:{}})}return{file:{schema:pu,cases:r}}}function serializeDmnTests(e){let t={$schema:xu.$id,schema:pu,cases:e.cases.map(e=>({name:e.name,decision:e.decision,inputs:e.inputs,expected:e.expected,...e.rules&&e.rules.length>0?{rules:e.rules}:{}}))};return`${JSON.stringify(t,null,2)}\n`}var Cu=new Set;function onTestsChanged(e){return Cu.add(e),()=>Cu.delete(e)}function announce(){for(let e of[...Cu])e()}function reasonOf(e){return e instanceof Error?e.message:String(e)}async function readTests(e,t){try{let n=await e.readFileIfPresent(testsPathFor(t));if(n===null)return{file:emptyTests()};let r=parseDmnTests(n);return`problems`in r?{problem:Y(`app.dmnTests.ui.loadFailed`,{reason:r.problems.map(e=>e.at).join(`, `)})}:r}catch(e){return{problem:Y(`app.dmnTests.ui.loadFailed`,{reason:reasonOf(e)})}}}async function writeTests(e,t,n){try{return await e.saveFile(testsPathFor(t),serializeDmnTests(n)),announce(),null}catch(e){return Y(`app.dmnTests.ui.saveFailed`,{reason:reasonOf(e)})}}async function isLicensed(e){try{return ur(await e.getLicense())}catch{return!1}}function plainOutputs(e){return cleanValues(e)??{}}async function addCase(e,t,n){let r=await readTests(e,t);if(`problem`in r)return{problem:r.problem};let i=r.file,a=i.cases.findIndex(e=>e.name===n.name&&e.decision===n.decision),o=i.cases.filter(e=>e.decision===n.decision).length;if(a<0&&i.cases.length>=1e3)return{problem:Y(`app.dmnTests.tooMany`,{max:hu})};if(a<0&&o>=3&&!await isLicensed(e)&&!await e.requestFeature(_r.DMN_TESTS))return{problem:Y(`app.dmnTests.ui.freeLimit`),limited:!0};a>=0?i.cases[a]=n:i.cases.push(n);let s=await writeTests(e,t,i);return s?{problem:s}:{saved:n,total:i.cases.length}}var wu=new Map;function rememberTryValues(e,t){wu.set(e,t)}function rememberedTryValues(e){return wu.get(e)??{}}function known(e,t){let n=Y(e);return n===e?t():n}var Tu=/^[A-Za-z_][\w.]*$/;function errorOf(e,t){let n=t.trim();return n===``?null:e===`number`&&!Number.isFinite(Number(n))?Y(`app.dmn.thisShouldBeANumber`):e===`boolean`&&!/^(true|false)$/i.test(n)?Y(`app.dmn.thisShouldBeTrueOr`):e===`date`&&!/^\d{4}-\d{2}-\d{2}$/.test(n)?Y(`app.dmn.thisShouldBeADate`):null}function ValueField({label:e,type:t,value:n,onType:r}){let i=errorOf(t,n);return t===`boolean`?u(ln,{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(ln,{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 typedInputs(e,t){let n=Object.create(null);for(let r of e)for(let e of r.asked){let r=String(t[e.expression]??``).trim();r!==``&&(n[e.expression]=e.type===`number`?Number(r):e.type===`boolean`?r.toLowerCase()===`true`:r)}return{...n}}function SaveAsTest({file:e,decisionId:t,shown:n,values:i}){let[a,o]=r(``),[s,c]=r(null),l=typedInputs(n,i),d=n[n.length-1],save=async()=>{if(Object.keys(l).length===0){c({text:Y(`app.dmnTests.ui.nothingToSave`),failed:!0});return}let n=B(),r=await readTests(n,e),i=`file`in r?r.file.cases.length:0,o=a.trim()||Y(`app.dmnTests.ui.defaultName`,{number:i+1}),s=await addCase(n,e,{name:o,decision:t,inputs:l,expected:plainOutputs(d.run.match.outputs)});c(`problem`in s?{text:s.problem,failed:!0}:{text:Y(`app.dmnTests.ui.saved`,{name:o}),failed:!1})};return u(`div`,{class:`dmn-try__save`,children:[u(ln,{label:Y(`app.dmnTests.ui.testName`),children:e=>u(`input`,{...e,type:`text`,value:a,maxLength:200,onInput:e=>o(e.currentTarget.value)})}),u(`button`,{type:`button`,class:`ui-button`,"data-save-test":!0,onClick:()=>void save(),children:Y(`app.dmnTests.ui.saveAsTest`)}),s&&u(`p`,{class:s.failed?`dmn-try__problem`:`dmn-try__note`,role:`status`,children:s.text})]})}function bindResult(e,t,n){if(!Tu.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=>Tu.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,file:n}){let i=l(()=>e?readTryTables(e):[],[e]),a=l(()=>e&&t?decisionOrder(e,i,t):[],[e,i,t]),[o,c]=r(()=>({...t?rememberedTryValues(t):{}}));if(d(()=>{c({...t?rememberedTryValues(t):{}})},[t]),!t||a.length===0)return u(`div`,{class:`dmn-try`,children:u(fn,{title:Y(`app.dmn.selectADecisionTableTo`),hint:Y(`app.dmn.openADecisionTableEnter`),guide:`try`})});let onType=(e,n)=>{let r={...o,[e]:n};c(r),rememberTryValues(t,r)},f=shownFor(e,i,a,o);return u(`div`,{class:`dmn-try`,children:f.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}`,()=>Y(`app.dmn.hitPolicy`,{hitPolicy:e.table.hitPolicy})),e.table.aggregation?Y(`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(o[e.expression]??``),onType:t=>onType(e.expression,t)},e.expression))}),!e.answered&&u(`p`,{class:`dmn-try__waiting`,children:Y(`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:Y(`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:wn(e.run.match.outputs[t.name])})]},t.name))}),e.last&&n&&e.run.match.problems.length===0&&e.table.outputs.length>0&&u(SaveAsTest,{file:n,decisionId:t,shown:f,values:o})]})]},e.table.decisionId))})}function numeric(e){return typeof e==`number`?e:typeof e==`string`&&/^-?\d+(\.\d+)?$/.test(e.trim())?Number(e):null}function sameValue(e,t){if(e===t)return!0;let n=numeric(e),r=numeric(t);if(n!==null&&r!==null)return n===r;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>sameValue(e,t[n]));if(typeof e==`object`&&e&&typeof t==`object`&&t){let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Object.hasOwn(t,n)&&sameValue(e[n],t[n]))}return!1}function sameRules(e,t){let n=[...e].sort((e,t)=>e-t),r=[...t].sort((e,t)=>e-t);return n.length===r.length&&n.every((e,t)=>e===r[t])}function plain(e){return structuredClone(Object.fromEntries(Object.entries(e)))}function runCase(e,t,n){let r=new Map,i=new Map,a={name:n.name,decision:n.decision,status:`error`,rules:[],matching:[],actual:{},diffs:[],rulesDiff:null,why:``,message:null};if(!t.some(e=>e.decisionId===n.decision))return{result:{...a,message:Y(`app.dmnTests.unknownDecision`,{decision:n.decision})},applied:r,hit:i};let o=tryDecision(e,t,n.decision,plain(n.inputs)),s=o.result;if(s===null)return{result:{...a,message:Y(`app.dmnTests.notEvaluated`,{decision:n.decision})},applied:r,hit:i};if(o.waiting.length>0)return{result:{...a,why:s.match.why,message:o.waiting.join(`; `)},applied:r,hit:i};if(s.unreadable.length>0)return{result:{...a,why:s.match.why,message:Y(`app.dmnTests.unreadableCells`,{cells:s.unreadable.join(`, `)})},applied:r,hit:i};if(s.match.problems.length>0)return{result:{...a,why:s.match.why,message:s.match.problems.join(` `)},applied:r,hit:i};for(let e of o.order)e.skipped===null&&(r.set(e.decisionId,e.match.rules),i.set(e.decisionId,e.match.matching));let c=s.match.outputs,l=[],u=Object.keys(n.expected);for(let e of u)sameValue(n.expected[e],c[e])||l.push({output:e,expected:n.expected[e],...c[e]===void 0?{}:{actual:c[e]}});if(u.length===0)for(let e of Object.keys(c))l.push({output:e,actual:c[e]});let d=n.rules!==void 0&&!sameRules(n.rules,s.match.rules)?{expected:n.rules,actual:s.match.rules}:null,f=l.length>0||d!==null,p=f?failureWords(l,d):null;return{result:{...a,status:f?`failed`:`passed`,rules:s.match.rules,matching:s.match.matching,actual:c,diffs:l,rulesDiff:d,why:s.match.why,message:p},applied:r,hit:i}}function failureWords(e,t){let n=e.map(e=>Y(`app.dmnTests.outputDiffers`,{output:e.output,expected:e.expected===void 0?Y(`app.dmnTests.nothing`):wn(e.expected),actual:e.actual===void 0?Y(`app.dmnTests.nothing`):wn(e.actual)}));return t&&n.push(Y(`app.dmnTests.rulesDiffer`,{expected:t.expected.join(`, `)||Y(`app.dmnTests.nothing`),actual:t.actual.join(`, `)||Y(`app.dmnTests.nothing`)})),n.join(`; `)}var sorted=e=>[...new Set(e)].sort((e,t)=>e-t);function coverageOf(e,t){let n=t.filter(e=>e.result.status!==`error`),r=e.map(e=>{let t=new Set,r=new Set;for(let i of n){for(let n of i.applied.get(e.decisionId)??[])t.add(n);for(let t of i.hit.get(e.decisionId)??[])r.add(t)}let i=e.rules.map((e,t)=>t+1),a=sorted(i.filter(e=>t.has(e)));return{decisionId:e.decisionId,name:e.name,hitPolicy:e.hitPolicy,aggregation:e.aggregation??null,rules:i.length,covered:a,notCovered:i.filter(e=>!t.has(e)),shadowed:sorted([...r].filter(e=>!t.has(e))),percent:i.length===0?100:Math.round(a.length/i.length*1e3)/10}}),i=r.reduce((e,t)=>e+t.rules,0),a=r.reduce((e,t)=>e+t.covered.length,0);return{coverage:r,total:{covered:a,total:i,percent:i===0?100:Math.round(a/i*1e3)/10}}}function limitCases(e,t){if(t)return{run:e,skipped:0};let n=new Map,r=e.filter(e=>{let t=n.get(e.decision)??0;return n.set(e.decision,t+1),t<3});return{run:r,skipped:e.length-r.length}}function runDmnCases(e,t,n={licensed:!0}){let r=readTryTables(e),i=limitCases(t.cases,n.licensed),a=n.only===void 0?null:t.cases[n.only],o=a==null?i.run:i.run.filter(e=>e===a),s=a==null?i.skipped:+(a!==void 0&&!o.includes(a)),c=o.map(t=>runCase(e,r,t)),{coverage:l,total:u}=coverageOf(r,c);return{results:c.map(e=>e.result),coverage:l,total:u,skipped:s}}var Eu={passed:`app.dmnTests.ui.passed`,failed:`app.dmnTests.ui.failed`,error:`app.dmnTests.ui.errored`};function keysOf(e,t){let n=[];for(let r of e)for(let e of Object.keys(r[t]))n.includes(e)||n.push(e);return n}function cell(e,t){return Object.hasOwn(e,t)?wn(e[t]):``}function TestsTab({definitions:e,decisionId:t,file:n}){let a=B(),[o,c]=r(null),[f,p]=r(null),[m,h]=r(!1),[g,_]=r({}),v=l(()=>e?readTryTables(e):[],[e]),y=l(()=>e&&t?decisionOrder(e,v,t):[],[e,v,t]),b=i(async()=>{if(!n)return;let e=await readTests(a,n);h(await isLicensed(a)),`problem`in e?(p(e.problem),c(emptyTests())):(p(null),c(e.file))},[a,n]);d(()=>(b(),onTestsChanged(()=>void b())),[b]);let x=l(()=>o?o.cases.filter(e=>e.decision===t):[],[o,t]),S=l(()=>({...emptyTests(),cases:x}),[x]),C=l(()=>e&&t&&y.length>0?runDmnCases(e,S,{licensed:m}):null,[e,t,y,S,m]);if(d(()=>{if(!C){_({});return}let e=limitCases(x,m).run,t={};e.forEach((e,n)=>{t[x.indexOf(e)]=C.results[n]}),_(t)},[C,x,m]),!n)return u(`div`,{class:`dmn-tests`,children:u(fn,{title:Y(`app.dmnTests.ui.noFileTitle`),hint:Y(`app.dmnTests.ui.noFileHint`),guide:`try`})});if(!t||y.length===0)return u(`div`,{class:`dmn-tests`,children:u(fn,{title:Y(`app.dmnTests.ui.noDecisionTitle`),hint:Y(`app.dmnTests.ui.noDecisionHint`),guide:`try`})});let w=y[y.length-1],T=keysOf(x,`inputs`),E=keysOf(x,`expected`),runOne=t=>{if(!e)return;let n=runDmnCases(e,S,{licensed:m,only:t});n.results[0]&&_(e=>({...e,[t]:n.results[0]}))},save=async e=>{if(!n)return;let t=await writeTests(a,n,e);p(t),t||c(e)},remove=e=>{o&&save({...o,cases:o.cases.filter(t=>t!==e)})},useActual=(e,t)=>{if(!o)return;let n={...e,expected:plainOutputs(t.actual),...e.rules?{rules:t.rules}:{}};save({...o,cases:o.cases.map(t=>t===e?n:t)})},addFromRule=async t=>{if(!e||!n)return;let r=Sn(w,t-1);if(!r){p(Y(`app.dmnTests.ui.noSample`,{rule:t}));return}let i={name:Y(`app.dmnTests.ui.defaultName`,{number:(o?.cases.length??0)+1}),decision:w.decisionId,inputs:plainOutputs(r),expected:{}},s=runCase(e,v,i).result;if(s.status===`error`){p(Y(`app.dmnTests.ui.noSample`,{rule:t}));return}let c=await addCase(a,n,{...i,expected:plainOutputs(s.actual),rules:s.rules});p(`problem`in c?c.problem:null)},ee=C?C.coverage.filter(e=>y.some(t=>t.decisionId===e.decisionId)):[],D=!m&&x.length>3;return u(`div`,{class:`dmn-tests`,children:[u(`header`,{class:`dmn-tests__head`,children:[u(`h3`,{class:`dmn-tests__title`,children:Y(`app.dmnTests.ui.title`,{decision:w.name})}),u(`span`,{class:`dmn-tests__count`,children:Y(`app.dmnTests.ui.cases`,{count:x.length})}),u(`button`,{type:`button`,class:`ui-button`,disabled:x.length===0,onClick:()=>void b(),children:Y(`app.dmnTests.ui.runAll`)})]}),f&&u(`p`,{class:`dmn-try__problem`,role:`alert`,children:f}),D&&u(`p`,{class:`dmn-try__note`,children:Y(`app.dmnTests.ui.freeLimit`)}),x.length===0&&o!==null&&u(fn,{title:Y(`app.dmnTests.ui.emptyTitle`),hint:Y(`app.dmnTests.ui.emptyHint`),guide:`try`}),x.length>0&&u(`div`,{class:`dmn-try__table-wrap`,children:u(`table`,{class:`dmn-try__table dmn-tests__table`,children:[u(`thead`,{children:u(`tr`,{children:[u(`th`,{scope:`col`,children:Y(`app.dmnTests.ui.status`)}),u(`th`,{scope:`col`,children:Y(`app.dmnTests.ui.name`)}),T.map(e=>u(`th`,{scope:`col`,class:`dmn-try__input-head`,children:e},`in-${e}`)),E.map(e=>u(`th`,{scope:`col`,class:`dmn-try__output-head`,children:e},`out-${e}`))]})}),u(`tbody`,{children:x.map((e,t)=>{let n=g[t],r=Y(n?Eu[n.status]:`app.dmnTests.ui.notRun`);return u(s,{children:[u(`tr`,{class:`dmn-tests__row is-${n?.status??`idle`}`,"data-status":n?.status??`idle`,children:[u(`td`,{class:`dmn-tests__status`,children:r}),u(`td`,{class:`dmn-try__cell dmn-tests__name`,children:[u(`span`,{children:e.name}),u(`span`,{class:`dmn-tests__actions`,children:[u(`button`,{type:`button`,class:`ui-button`,"data-run":t,onClick:()=>runOne(t),children:Y(`app.dmnTests.ui.run`)}),u(`button`,{type:`button`,class:`ui-button`,"data-remove":t,onClick:()=>remove(e),children:Y(`app.dmnTests.ui.remove`)})]})]}),T.map(t=>u(`td`,{class:`dmn-try__cell`,children:cell(e.inputs,t)},`in-${t}`)),E.map(t=>u(`td`,{class:`dmn-try__cell dmn-try__output-cell`,children:cell(e.expected,t)},`out-${t}`))]},`${e.name}-${t}`),n&&u(`tr`,{class:`dmn-tests__more`,children:u(`td`,{colSpan:2+T.length+E.length,children:[u(`p`,{class:`dmn-tests__matched`,children:n.rules.length>0?Y(`app.dmnTests.ui.matched`,{rules:n.rules.join(`, `)}):Y(`app.dmnTests.ui.noRule`)}),n.message&&n.status!==`passed`&&u(`p`,{class:`dmn-try__problem`,children:n.message}),n.status===`failed`&&u(`button`,{type:`button`,class:`ui-button`,"data-use-actual":t,onClick:()=>useActual(e,n),children:Y(`app.dmnTests.ui.useActual`)})]})},`${e.name}-${t}-more`)]},`${e.name}-${t}`)})})]})}),ee.map(e=>u(`section`,{class:`dmn-tests__coverage`,children:[u(`h4`,{class:`dmn-tests__subtitle`,children:[Y(`app.dmnTests.ui.coverageTitle`),`: `,e.name]}),u(`p`,{class:`dmn-try__policy`,children:Y(`app.dmnTests.coverage`,{covered:e.covered.length,total:e.rules,percent:e.percent})}),u(`p`,{class:`dmn-try__policy`,children:Y(`app.dmnTests.ui.policyNote`,{policy:e.hitPolicy})}),e.notCovered.length===0?u(`p`,{class:`dmn-try__result`,children:Y(`app.dmnTests.ui.allCovered`)}):u(`div`,{class:`dmn-tests__uncovered`,children:[u(`span`,{class:`dmn-tests__subtitle`,children:Y(`app.dmnTests.ui.notCoveredTitle`)}),u(`ul`,{class:`dmn-tests__rules`,children:e.notCovered.map(t=>u(`li`,{children:[u(`span`,{class:`dmn-try__index`,children:t}),e.decisionId===w.decisionId&&u(`button`,{type:`button`,class:`ui-button`,"data-add-rule":t,onClick:()=>void addFromRule(t),children:Y(`app.dmnTests.ui.addCase`,{rule:t})})]},t))}),e.shadowed.length>0&&u(`p`,{class:`dmn-try__note`,children:Y(`app.dmnTests.shadowed`,{rules:e.shadowed.join(`, `)})})]})]},e.decisionId))]})}var Du=o(null),Ou=Du.Provider;function facts(){let e=a(Du);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(Pn,{host:e,id:`dmn-properties-panel`,class:`properties-panel-parent`,shown:r}),!r&&u(fn,{title:Y(`app.dmn.thePropertiesOfADecision`),hint:Y(`app.dmn.openTheRequirementsDiagramTo`),guide:`properties`,actions:[{label:Y(`app.dmn.openTheRequirementsDiagram`),run:n}]})]})}function DmnTryTab(){let{definitions:e,activeDecisionId:t,file:n}=facts();return u(TryTab,{definitions:e,decisionId:t,file:n})}function DmnTestsTab(){let{definitions:e,activeDecisionId:t,file:n}=facts();return u(TestsTab,{definitions:e,decisionId:t,file:n})}function DmnProblemsTab(){let{findings:e,onRecheck:t,onPick:n}=facts();return u(hr,{findings:e,waiting:Y(`app.dmn.checkTheDecisionsToSee`),clean:Y(`app.dmnMode.noRulesOverlapAndEvery`),onRecheck:t,onPick:n})}var ku=dr([{id:`properties`,icon:`properties`,component:DmnPropertiesTab},fr,{id:`problems`,icon:`problems`,component:DmnProblemsTab,padded:!0},{id:`try`,icon:`scenarios`,component:DmnTryTab},{id:`tests`,icon:`tests`,component:DmnTestsTab}]);function viewLabel(e){return e?e.type===`drd`?Y(`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=Y(t),r=n===t?e.type??``:n;return e.type===`drd`?r:Y(`app.dmn.viewTooltip`,{kind:r,label:viewLabel(e)})}var Au=`decisionTable.replaceRules`,ju=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(!ju.has(n)){ju.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(Au,{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(Au,{plan:t,root:o}),!0}function fieldAt(e,t){if(e[t]===`"`){let n=``,r=t+1;for(;r<e.length;)if(e[r]!==`"`)n+=e[r],r+=1;else if(e[r+1]===`"`)n+=`"`,r+=2;else break;let i=e[r+1];if(r<e.length&&(i===void 0||i===` `||i===`
37
+ `||i===`\r`)&&(n.includes(`"`)||/[\t\n]/.test(n)))return{value:n,next:r+1}}let n=t;for(;n<e.length&&e[n]!==` `&&e[n]!==`
38
+ `;)n+=1;return{value:e.slice(t,n),next:n}}function gridOfClipboard(e){let t=e.replace(/\r?\n$/,``);if(!/[\t\n]/.test(t))return null;let n=[],r=[],i=0;for(;;){let e=fieldAt(t,i);for(r.push(e.value.trim()),i=e.next;t[i]===`\r`;)i+=1;if(i>=t.length||t[i]===`
39
+ `){if(n.push(r),r=[],i>=t.length||(i+=1,i>=t.length))break}else i+=1}return n.filter(e=>e.some(e=>e!==``))}function pasteGridPlan(e,t,n,r,i){let a=Math.max(0,t-i.column),o=r.reduce((e,t)=>Math.max(e,t.length),0),s=Math.max(0,o-a),c=[],l=[];return r.forEach((r,a)=>{let o=i.row+a,s=Array.from({length:t},(e,t)=>{let a=r[t-i.column];return t<i.column||a===void 0?null:a===``&&t<n?`-`:a});if(o>=e.length){let e=s.map(e=>e??``);l.push({at:o+1,inputs:e.slice(0,n),outputs:e.slice(n)})}else s.forEach((t,n)=>{if(t===null)return;let r=e[o][n]??``;r!==t&&c.push({rule:o+1,column:n,from:r,to:t})})}),{plan:{writes:c,adds:l,removes:[],problems:[],summary:``},dropped:s}}function cellAt(e){let t=e instanceof Element?e.closest(`td`):null;if(!t)return null;let n=t.getAttribute(`data-coords`);if(n!==null){let e=/^(\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(Y(`app.dmn.pasteColumnsLeftOut`,{count:o}))};return e.addEventListener(`paste`,onPaste,!0),()=>e.removeEventListener(`paste`,onPaste,!0)}var Mu=`.dms-select-options`;function keepFocusOnOptionPress(e){let keep=e=>{e.target instanceof Element&&e.target.closest(Mu)&&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 Nu=Array.prototype.slice.call(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`);(e=>{let t={};return e.forEach((e,n)=>t[e]=n),t})(Nu);var Pu=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+=Nu[t>>18&63]+Nu[t>>12&63]+Nu[t>>6&63]+Nu[t&63]}return o?a.slice(0,o-3)+`===`.substring(o):a},Fu=typeof btoa==`function`?e=>btoa(e):btoaPolyfill,Iu=typeof Uint8Array.prototype.toBase64==`function`?Function.prototype.call.bind(Uint8Array.prototype.toBase64):e=>{let t=4096,n=[];for(let r=0,i=e.length;r<i;r+=t)n.push(Pu.apply(null,e.subarray(r,r+t)));return Fu(n.join(``))},fromUint8Array=(e,t=!1)=>t?_mkUriSafe(Iu(e)):Iu(e);Uint8Array.fromBase64;var SpreadsheetError=class extends Error{},Lu=`<?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>`,Ru=`<?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>`,zu=`<?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>`,Bu=`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??Y(`app.dmn.sheetName`)).replace(/[\\/?*[\]:]/g,` `).trim();return(t===``?Y(`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 mn({"[Content_Types].xml":pn(Lu),"_rels/.rels":pn(Ru),"xl/workbook.xml":pn(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="${Bu}" 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":pn(zu),"xl/worksheets/sheet1.xml":pn(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="${Bu}"><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(Y(`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(Y(`app.dmn.theFileIsEmpty`));let n=e[0]===80&&e[1]===75;if(!n&&/\.xlsx?$/i.test(t))throw new SpreadsheetError(Y(`app.dmn.namedLikeAWorkbook`,{file:t}));if(!n)return ofGrid(splitCsv(new TextDecoder().decode(e).replace(/^/,``)));let r;try{r=Tn(e,{filter:e=>e.name.endsWith(`.xml`)||e.name.endsWith(`.rels`)})}catch{throw new SpreadsheetError(Y(`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(Y(`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:[Y(`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!==``&&!yn(a)&&i.push(Y(`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!==``&&!yn(e)).map(e=>Y(`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:Y(`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:Y(n===`csv`?`app.dmn.saveAsCsv`:`app.dmn.saveAsWorkbook`),description:Y(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:Y(`app.dmn.workbookNotOpened`),!0)}catch{}return null}}async function importTableFrom(e,t,n){try{let r=await e.chooseFile(`xlsx,csv`,{title:Y(n===`create`?`app.dmn.createFromSpreadsheet`:`app.dmn.importIntoTheTable`),description:Y(`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:Y(`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:Y(`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:Y(`app.dmn.aNewTableWith`,{rules:Y(`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(Y(`app.dmn.ruleChanges`,{count:s})),a.length>0&&c.push(Y(`app.dmn.rulesAreAdded`,{count:a.length})),o.length>0&&c.push(Y(`app.dmn.rulesAreRemoved`,{count:o.length})),{writes:r,adds:a,removes:o,problems:n,summary:c.join(`, `)}}function cellName(e,t){return e[t]??Y(`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:Y(`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:Y(`app.import.theRule`),text:Y(`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===Y(`app.dmn.nothingChanges`),l=linesOf(e),d=[{id:`cancel`,label:Y(`app.common.cancel`),role:`cancel`,onClick:r},{id:`import`,label:Y(o===`create`?`app.dmn.addRules`:`app.dmn.importAction`),role:`primary`,disabled:c,busy:t,onClick:n}];return u(dn,{title:Y(o===`create`?`app.dmn.addRulesFrom`:`app.dmn.import`,{source:a}),size:`medium`,onClose:r,onSubmit:c?void 0:n,footer:u(un,{actions:d}),children:[u(`p`,{class:`dmn-import__summary`,children:[Y(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===Y(`app.dmn.nothingChanges`)?u(`p`,{class:`dmn-import__summary`,children:Y(`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:Y(`app.dmn.rule`)}),u(`th`,{scope:`col`,children:Y(`app.dmn.cell`)}),u(`th`,{scope:`col`,children:Y(`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:Y(`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 Vu=`-dmn-names`,Hu=`.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 dt{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?.(Hu)?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:Kt(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:Kt(r.$type)});if(gt.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))??Jt(t.tree)??{x:20,y:20};t.element=e.getRootElement(),t.point=n})}takenNames(e){if(!e[Vu]){let t=(this.canvas.getRootElement().businessObject.get(`drgElement`)??[]).map(e=>e.name).filter(e=>typeof e==`string`);e[Vu]=new Set(t)}return e[Vu]}},DrdCopyRules=class extends tn{static $inject=[`eventBus`];init(){this.addRule(`element.copy`,({element:e})=>Ht(e))}},Uu={__depends__:[pt,ut,We,wt],__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}))]}},Wu={__init__:[`decisionInputVariables`],decisionInputVariables:[`type`,DecisionInputVariables]},Gu=ku.map(e=>e.id);function DmnEditor({xml:e,options:t}){let{client:n,engine:a,fileName:o,file:s}=t,m=lr({kind:`dmn`,file:s,fallbackName:o}),h=c(null),[g]=r(Vn),_=Rn(Gu,`dmn`),v=cr(m.key,_.shownTab),y=c(null),[b,x]=r([]),[S,C]=r(),[w,T]=r(null),[E,ee]=r(null),[D,te]=r(null),ne=c(Ot()),[O,re]=r(null),[ie,k]=r(null),[ae,A]=r(null),[j,oe]=r({undo:!1,redo:!1}),[M,N]=r(),P=c(e),F=c(null),I=c(null),se=c(null),L=c(null),ce=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=xt(t,{insetLeft:()=>{let e=h.current?.querySelector(`.djs-palette`),t=h.current?.getBoundingClientRect();return e&&t?e.getBoundingClientRect().right-t.left+16:0},insetBottom:()=>xr(h.current)});L.current={canvas:t,fit:n};let r=e?.get(`keyboard`,!1);r&&Xt(r,n.fit),requestAnimationFrame(()=>{t.resized?.(),n.firstView()})},[]),R=i(()=>{let e=L.current?.canvas;e&&requestAnimationFrame(()=>e.resized?.())},[]),z=i(()=>{let e=y.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=z();if(!e)return;let{registry:t,graphics:n}=e;ne.current=Ot(),It(n,()=>ne.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)},[z]);let de=Un(o,async()=>(await y.current?.saveXML({format:!0}))?.xml),share=async()=>{let e=await y.current?.saveXML({format:!0});e&&await Qn(`dmn`,e.xml,o)},fe=S?.type===`decisionTable`?S.element.id??null:null,me=l(()=>O?readTryTables(O):[],[O]).find(e=>e.decisionId===fe)??null,he=i(async e=>{if(!me)return;let t=await exportTableTo(B(),me,e);t&&await B().notifyUser(Y(`app.dmnMode.theDecisionTableWasSaved`,{saved:t}))},[me]),ge=i(async e=>{if(!me){A(Y(`app.dmnMode.noDecisionTableIsOpen`));return}let t=await importTableFrom(B(),e===`replace`?me:null,e);t&&k(t)},[me]),_e=i(()=>{if(!ie||ie.plan.summary===Y(`app.dmn.nothingChanges`)){k(null);return}let e=y.current?.getActiveViewer(),t=e?replaceRulesIn(e,ie.plan):!1;k(null),A(t?ie.mode===`create`?Y(`app.dmnMode.theRulesWereAddedTo`):Y(`app.dmnMode.theRulesWereReplacedUndo`):Y(`app.dmnMode.noDecisionTableIsOpen2`))},[ie]),ve=i(()=>{let e=y.current?.getDefinitions();te(e?_n(e):[])},[]),ye=_.state.tab===`problems`&&!_.state.hidden,be=D!==null&&!ye,check=async()=>{D!==null||ye?(te(null),ye&&_.select(`properties`)):await B().requestFeature(_r.FLOW_ANALYSIS)&&ve()},V=i(e=>{let t=y.current?.getViews().find(t=>t.type===`decisionTable`&&(t.element.name??t.element.id)===e.decision);t&&y.current?.open(t)},[]),xe=i(()=>{let e=y.current?.getViews().find(e=>e.type===`drd`);e&&y.current?.open(e)},[]),Se=Hn(_.toggle);d(()=>{if(!h.current)return;let e=Ot();ne.current=e;let t=panelKindOf(a),r=t===`camunda`?[cu]:t===`zeebe`?[uu]:[];on();let i=new Modeler({container:h.current,drd:{propertiesPanel:{parent:g},additionalModules:[Dt,Ct,Uu,je,$l,au,...r,Cr],drdRenderer:{defaultFillColor:e.fill,defaultStrokeColor:e.stroke}},decisionTable:{additionalModules:[je,Wu]},literalExpression:{additionalModules:[je]},boxedExpression:{additionalModules:[je]},moddleExtensions:t===`zeebe`?{zeebe:wl}:{camunda:pe}});y.current=i;let s=se.current;se.current=null;let c=or({save:e=>n.bpmn.saveBpmnXml(e),onFailure:e=>console.error(`Failed to save DMN:`,e)}),l,readHistory=()=>oe(mr(l?.get(`commandStack`,!1))),selected=e=>N(e.newSelection?.[0]?.id),changed=()=>{readHistory(),i.saveXML({format:!0}).then(({xml:e})=>{P.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),ce.current?.(),l=i.getActiveViewer(),l?.on(`commandStack.changed`,changed),l?.on(`selection.changed`,selected),ce.current=l?Gt(l,B()):void 0,l&&zt(l),readHistory()};i.on(`views.changed`,e=>{let t=e.activeView??i.getActiveView();x(e.views??i.getViews()),C(t),t&&(I.current={id:t.id,type:t.type}),watch(),ue(i.getActiveViewer())});let u=0,d=new ResizeObserver(()=>{cancelAnimationFrame(u),u=requestAnimationFrame(R)});d.observe(h.current);let f=bindTablePaste(h.current,()=>i.getActiveViewer(),e=>void B().notifyUser(e,!0)),p=keepFocusOnOptionPress(h.current),m=!0,importInto=async()=>{let e=i.getViews().find(e=>e.id===I.current?.id&&e.type===I.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&&Pt(n.get(`canvas`,!1),n.get(`selection`,!1),n.get(`elementRegistry`,!1),s.view),x(i.getViews()),C(i.getActiveView()),re(i.getDefinitions()),T(null),watch(),ue(i.getActiveViewer())};vr(P.current).then(({xml:e,from:t})=>{if(!m)return;t&&(P.current=e,ee(yr(t,o)));let n=br(P.current);if(n)throw n;return i.importXML(P.current)}).then(()=>m?importInto():void 0).catch(e=>m&&T(e.message));let reimport=e=>{P.current=e;let t=br(e);t?T(t.message):i.importXML(e).then(()=>importInto()).catch(e=>T(e.message))};F.current=reimport;let _=n.bridge.onDocumentChanged?.(e=>{m&&e!==P.current&&(c.reloaded(e),reimport(e))});return()=>{m=!1,F.current=null,_?.(),ce.current?.(),ce.current=void 0,d.disconnect(),f(),p(),L.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:yt(t.get(`canvas`,!1),t.get(`selection`,!1))}:null,i.destroy()}},[n,o,a,ue,R]);let Ce=b.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:S?.id===e.id&&S?.type===e.type,run:()=>void y.current?.open(e)})),we=y.current?.getActiveViewer()?.get(`commandStack`,!1),H=i(()=>{let e=y.current?.getActiveViewer(),t=(e?.get(`selection`,!1)?.get()??[]).filter(Boolean),n=e?.get(`copyPaste`,!1);t.length>0&&n&&n.copy(t)},[]),U=i(()=>{let e=y.current?.getActiveViewer();e&&At(e,B()).catch(e=>console.error(`Failed to paste from the clipboard:`,e))},[]),undo=()=>we?.undo(),redo=()=>we?.redo(),cutDiagramSelection=()=>bn(y.current?.getActiveViewer()),selectAllDiagramElements=()=>xn(y.current?.getActiveViewer()),W=S?.type===`drd`?{undo,redo,cut:cutDiagramSelection,copy:H,paste:U,selectAll:selectAllDiagramElements}:{undo,redo},Te=l(()=>S?.type===`drd`?y.current?.getActiveViewer():void 0,[S,O]),Ee=i((e,t)=>rr(e,t,tr),[]),G=i((e,t)=>ar(O,e,t),[O]),K=i((e,t)=>nr(O,e,t),[O]),q=Cn({viewer:Te,origin:M,traceable:Ee,read:G,paint:K}),De={hasEngine:f(a),hasTable:me!==null,open:{check:D!==null||ye,sidebar:!_.state.hidden,trace:q.tracing,traceable:q.traceable},deploy:Bn(de),history:j,drd:S?.type===`drd`,chat:v,commands:{chat:()=>_.pressTab(fr.id),undo,redo,copy:H,paste:U,toggleSidebar:Se,focusCanvas:pr,check:()=>void check(),share:()=>void share(),exportTable:e=>void he(e),importTable:()=>void ge(`replace`),importTableAsNew:()=>void ge(`create`),toggleTrace:q.toggle,showLicence:n.bridge.showLicence?()=>void n.bridge.showLicence?.():void 0,createEvidencePack:Xn(n.bridge),openRefactor:$n(n.bridge),chooseTheme:er(n.bridge,`editorTheme`)?En:void 0}},Oe=Fn(wr,De),ke=zn([...Ce,...Oe]),Ae=be&&D?{title:Y(`app.dmnMode.decisionCheck`),tally:Mn(D.length),isError:D.length>0,findings:D,clean:Y(`app.dmnMode.noRulesOverlapAndEvery`),onRecheck:ve,onClose:()=>te(null),onShowAll:()=>_.select(`problems`),onPick:e=>V(D[e])}:void 0,Me=q.tracing&&q.reading?{label:q.reading.label,before:q.reading.before,after:q.reading.after,followMessages:q.followMessages,showMessages:q.supportsMessages,onFollowMessages:q.setFollowMessages,onClose:q.close}:void 0,Ne=sr({ready:w===null,suspended:!1}),Pe=E??ae;return u(Ou,{value:{panelHost:g,activeViewType:S?.type,activeDecisionId:S?.type===`decisionTable`?S.element.id??null:null,definitions:O,file:s,openRequirementsDiagram:xe,findings:D,onRecheck:ve,onPick:e=>V(D[e])},children:u(In,{className:`dmn-editor`,toolbarItems:ke,tabs:ku,sidebar:_,edit:W,badges:{problems:D?.length||void 0},notice:Pe?{text:Pe,dismiss:()=>{ee(null),A(null)}}:Ne,deploy:{deploy:de,engine:p(a)??`camunda-7`},check:Ae,assistant:m,trace:Me,shortcuts:{editor:`dmn`,mode:S?.type===`decisionTable`?`table`:`drd`,actions:Oe},children:[u(`div`,{class:`resource-editor__canvas${w?` is-unreadable`:``}`,ref:h}),u(gr,{message:w,kind:`decision`,client:n,onReload:e=>F.current?.(e)}),ie&&u(ImportPreviewDialog,{pending:ie,onApply:_e,onClose:()=>k(null)})]})})}function DmnDocument({handle:e}){let t=l(()=>new ir(Wn(B(),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};