/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/@bpmn-io/element-templates-validator/dist/index.esm.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@bpmn-io/element-templates-validator/dist/index.esm.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getSchemaVersion\": () => (/* binding */ getSchemaVersion),\n/* harmony export */ \"validate\": () => (/* binding */ validate),\n/* harmony export */ \"validateAll\": () => (/* binding */ validateAll)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\nvar escapedChars = {\n 'b': '\\b',\n 'f': '\\f',\n 'n': '\\n',\n 'r': '\\r',\n 't': '\\t',\n '\"': '\"',\n '/': '/',\n '\\\\': '\\\\'\n};\n\nvar A_CODE = 'a'.charCodeAt();\n\n\nvar parse = function (source, _, options) {\n var pointers = {};\n var line = 0;\n var column = 0;\n var pos = 0;\n var bigint = options && options.bigint && typeof BigInt != 'undefined';\n return {\n data: _parse('', true),\n pointers: pointers\n };\n\n function _parse(ptr, topLevel) {\n whitespace();\n var data;\n map(ptr, 'value');\n var char = getChar();\n switch (char) {\n case 't': read('rue'); data = true; break;\n case 'f': read('alse'); data = false; break;\n case 'n': read('ull'); data = null; break;\n case '\"': data = parseString(); break;\n case '[': data = parseArray(ptr); break;\n case '{': data = parseObject(ptr); break;\n default:\n backChar();\n if ('-0123456789'.indexOf(char) >= 0)\n data = parseNumber();\n else\n unexpectedToken();\n }\n map(ptr, 'valueEnd');\n whitespace();\n if (topLevel && pos < source.length) unexpectedToken();\n return data;\n }\n\n function whitespace() {\n loop:\n while (pos < source.length) {\n switch (source[pos]) {\n case ' ': column++; break;\n case '\\t': column += 4; break;\n case '\\r': column = 0; break;\n case '\\n': column = 0; line++; break;\n default: break loop;\n }\n pos++;\n }\n }\n\n function parseString() {\n var str = '';\n var char;\n while (true) {\n char = getChar();\n if (char == '\"') {\n break;\n } else if (char == '\\\\') {\n char = getChar();\n if (char in escapedChars)\n str += escapedChars[char];\n else if (char == 'u')\n str += getCharCode();\n else\n wasUnexpectedToken();\n } else {\n str += char;\n }\n }\n return str;\n }\n\n function parseNumber() {\n var numStr = '';\n var integer = true;\n if (source[pos] == '-') numStr += getChar();\n\n numStr += source[pos] == '0'\n ? getChar()\n : getDigits();\n\n if (source[pos] == '.') {\n numStr += getChar() + getDigits();\n integer = false;\n }\n\n if (source[pos] == 'e' || source[pos] == 'E') {\n numStr += getChar();\n if (source[pos] == '+' || source[pos] == '-') numStr += getChar();\n numStr += getDigits();\n integer = false;\n }\n\n var result = +numStr;\n return bigint && integer && (result > Number.MAX_SAFE_INTEGER || result < Number.MIN_SAFE_INTEGER)\n ? BigInt(numStr)\n : result;\n }\n\n function parseArray(ptr) {\n whitespace();\n var arr = [];\n var i = 0;\n if (getChar() == ']') return arr;\n backChar();\n\n while (true) {\n var itemPtr = ptr + '/' + i;\n arr.push(_parse(itemPtr));\n whitespace();\n var char = getChar();\n if (char == ']') break;\n if (char != ',') wasUnexpectedToken();\n whitespace();\n i++;\n }\n return arr;\n }\n\n function parseObject(ptr) {\n whitespace();\n var obj = {};\n if (getChar() == '}') return obj;\n backChar();\n\n while (true) {\n var loc = getLoc();\n if (getChar() != '\"') wasUnexpectedToken();\n var key = parseString();\n var propPtr = ptr + '/' + escapeJsonPointer(key);\n mapLoc(propPtr, 'key', loc);\n map(propPtr, 'keyEnd');\n whitespace();\n if (getChar() != ':') wasUnexpectedToken();\n whitespace();\n obj[key] = _parse(propPtr);\n whitespace();\n var char = getChar();\n if (char == '}') break;\n if (char != ',') wasUnexpectedToken();\n whitespace();\n }\n return obj;\n }\n\n function read(str) {\n for (var i=0; i= 'a' && char <= 'f')\n code += char.charCodeAt() - A_CODE + 10;\n else if (char >= '0' && char <= '9')\n code += +char;\n else\n wasUnexpectedToken();\n }\n return String.fromCharCode(code);\n }\n\n function getDigits() {\n var digits = '';\n while (source[pos] >= '0' && source[pos] <= '9')\n digits += getChar();\n\n if (digits.length) return digits;\n checkUnexpectedEnd();\n unexpectedToken();\n }\n\n function map(ptr, prop) {\n mapLoc(ptr, prop, getLoc());\n }\n\n function mapLoc(ptr, prop, loc) {\n pointers[ptr] = pointers[ptr] || {};\n pointers[ptr][prop] = loc;\n }\n\n function getLoc() {\n return {\n line: line,\n column: column,\n pos: pos\n };\n }\n\n function unexpectedToken() {\n throw new SyntaxError('Unexpected token ' + source[pos] + ' in JSON at position ' + pos);\n }\n\n function wasUnexpectedToken() {\n backChar();\n unexpectedToken();\n }\n\n function checkUnexpectedEnd() {\n if (pos >= source.length)\n throw new SyntaxError('Unexpected end of JSON input');\n }\n};\n\n\nvar stringify = function (data, _, options) {\n if (!validType(data)) return;\n var wsLine = 0;\n var wsPos, wsColumn;\n var whitespace = typeof options == 'object'\n ? options.space\n : options;\n switch (typeof whitespace) {\n case 'number':\n var len = whitespace > 10\n ? 10\n : whitespace < 0\n ? 0\n : Math.floor(whitespace);\n whitespace = len && repeat(len, ' ');\n wsPos = len;\n wsColumn = len;\n break;\n case 'string':\n whitespace = whitespace.slice(0, 10);\n wsPos = 0;\n wsColumn = 0;\n for (var j=0; j= 0;\n}\n\n\nvar ESC_QUOTE = /\"|\\\\/g;\nvar ESC_B = /[\\b]/g;\nvar ESC_F = /\\f/g;\nvar ESC_N = /\\n/g;\nvar ESC_R = /\\r/g;\nvar ESC_T = /\\t/g;\nfunction quoted(str) {\n str = str.replace(ESC_QUOTE, '\\\\$&')\n .replace(ESC_F, '\\\\f')\n .replace(ESC_B, '\\\\b')\n .replace(ESC_N, '\\\\n')\n .replace(ESC_R, '\\\\r')\n .replace(ESC_T, '\\\\t');\n return '\"' + str + '\"';\n}\n\n\nvar ESC_0 = /~/g;\nvar ESC_1 = /\\//g;\nfunction escapeJsonPointer(str) {\n return str.replace(ESC_0, '~0')\n .replace(ESC_1, '~1');\n}\n\nvar jsonSourceMap = {\n\tparse: parse,\n\tstringify: stringify\n};\n\nvar version = \"0.3.1\";\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nvar fastDeepEqual = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\n// do NOT remove this file - it would break pre-compiled schemas\n// https://github.com/ajv-validator/ajv/issues/889\nvar equal = fastDeepEqual;\n\nvar standaloneValidator = validate14;var _default = validate14;const schema17 = {\"type\":\"object\",\"required\":[\"name\",\"id\",\"appliesTo\",\"properties\"],\"properties\":{\"name\":{\"$id\":\"#/name\",\"type\":\"string\",\"title\":\"element template name\",\"description\":\"The name of the element template\"},\"id\":{\"$id\":\"#/id\",\"type\":\"string\",\"title\":\"element template id\",\"description\":\"The identifier of the element template\"},\"description\":{\"$id\":\"#/description\",\"type\":\"string\",\"title\":\"element template description\",\"description\":\"The description of the element template\"},\"version\":{\"$id\":\"#/version\",\"type\":\"number\",\"title\":\"element template version\",\"description\":\"The version of the element template\"},\"isDefault\":{\"$id\":\"#/isDefault\",\"type\":\"boolean\",\"title\":\"element template is default\",\"description\":\"Indicates whether the element template is a default template\"},\"appliesTo\":{\"$id\":\"#/appliesTo\",\"type\":\"array\",\"title\":\"element template applies to\",\"description\":\"The definition for which element types the element template can be applied\",\"default\":[],\"items\":{\"$id\":\"#/appliesTo/items\",\"type\":\"string\",\"pattern\":\"^(.*?:)\",\"errorMessage\":{\"pattern\":\"invalid item for \\\"appliesTo\\\", should contain namespaced property, example: \\\"bpmn:Task\\\"\"}}},\"properties\":{\"$ref\":\"#/definitions/properties\",\"$id\":\"#/properties\"},\"metadata\":{\"$id\":\"#/metadata\",\"type\":\"object\",\"title\":\"element template metadata\",\"description\":\"Some metadata for further configuration\"},\"scopes\":{\"oneOf\":[{\"$ref\":\"#/definitions/scopes_old\"},{\"$ref\":\"#/definitions/scopes\"}]},\"entriesVisible\":{\"$id\":\"#/entriesVisible\",\"deprecated\":true,\"type\":[\"object\",\"boolean\"],\"title\":\"element template entries visible\",\"description\":\"@Deprecated - Select which entries are visible in the properties panel\"}},\"errorMessage\":{\"required\":{\"name\":\"missing template name\",\"id\":\"missing template id\",\"appliesTo\":\"missing appliesTo=[]\",\"properties\":\"missing properties=[]\"}}};const schema18 = {\"type\":\"array\",\"title\":\"element template properties\",\"description\":\"The properties of the element template\",\"default\":[],\"items\":{\"$id\":\"#/properties/property\",\"type\":\"object\",\"title\":\"element template property\",\"description\":\"A property defined for the element template\",\"default\":{},\"required\":[\"binding\"],\"errorMessage\":{\"required\":{\"binding\":\"missing binding for property \\\"${0#}\\\"\"}},\"allOf\":[{\"if\":{\"properties\":{\"type\":{\"const\":\"Dropdown\"}},\"required\":[\"type\"]},\"then\":{\"required\":[\"choices\"],\"errorMessage\":\"must provide choices=[] with \\\"Dropdown\\\" type\"}},{\"if\":{\"properties\":{\"binding\":{\"properties\":{\"type\":{\"const\":\"property\"}},\"required\":[\"type\"]}},\"required\":[\"binding\"]},\"then\":{\"properties\":{\"type\":{\"enum\":[\"String\",\"Text\",\"Hidden\",\"Dropdown\",\"Boolean\"],\"errorMessage\":\"invalid property type ${0} for binding type \\\"property\\\"; must be any of { String, Text, Hidden, Dropdown, Boolean }\"}}}},{\"if\":{\"properties\":{\"binding\":{\"properties\":{\"type\":{\"const\":\"camunda:executionListener\"}},\"required\":[\"type\"]}},\"required\":[\"binding\"]},\"then\":{\"properties\":{\"type\":{\"enum\":[\"Hidden\"],\"errorMessage\":\"invalid property type ${1/type} for binding type \\\"camunda:executionListener\\\"; must be \\\"Hidden\\\"\"}}}},{\"if\":{\"properties\":{\"binding\":{\"properties\":{\"type\":{\"enum\":[\"camunda:property\",\"camunda:outputParameter\",\"camunda:in\",\"camunda:in:businessKey\",\"camunda:out\",\"camunda:errorEventDefinition\"]}},\"required\":[\"type\"]}},\"required\":[\"binding\"]},\"then\":{\"properties\":{\"type\":{\"enum\":[\"String\",\"Hidden\",\"Dropdown\"],\"errorMessage\":\"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Hidden, Dropdown }\"}}}},{\"if\":{\"properties\":{\"binding\":{\"properties\":{\"type\":{\"enum\":[\"camunda:inputParameter\",\"camunda:field\"]}},\"required\":[\"type\"]}},\"required\":[\"binding\"]},\"then\":{\"properties\":{\"type\":{\"enum\":[\"String\",\"Text\",\"Hidden\",\"Dropdown\"],\"errorMessage\":\"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }\"}}}}],\"properties\":{\"value\":{\"$id\":\"#/properties/property/value\",\"type\":[\"string\",\"boolean\"],\"title\":\"property value\",\"description\":\"The value of the control field for the property\"},\"description\":{\"$id\":\"#/properties/property/description\",\"type\":\"string\",\"title\":\"property description\",\"description\":\"The description of the control field\"},\"label\":{\"$id\":\"#/properties/property/label\",\"type\":\"string\",\"title\":\"property label\",\"description\":\"The label of the control field for the property\"},\"type\":{\"$id\":\"#/properties/property/type\",\"type\":\"string\",\"title\":\"property type\",\"description\":\"The type of the control field\"},\"editable\":{\"$id\":\"#/properties/property/editable\",\"type\":\"boolean\",\"title\":\"property editable\",\"description\":\"Indicates whether the property is editable or not\"},\"choices\":{\"$id\":\"#/properties/property/choices\",\"type\":\"array\",\"title\":\"property choices\",\"description\":\"The choices for dropdown properties\",\"items\":{\"$id\":\"#/properties/property/choices/item\",\"type\":\"object\",\"properties\":{\"name\":{\"$id\":\"#/properties/property/choices/item/name\",\"type\":\"string\",\"title\":\"choice name\",\"description\":\"The name of the choice\"},\"value\":{\"$id\":\"#/properties/property/choices/item/value\",\"type\":\"string\",\"title\":\"choice value\",\"description\":\"The value of the choice\"}},\"required\":[\"value\",\"name\"],\"errorMessage\":\"{ name, value } must be specified for \\\"Dropdown\\\" choices\"}},\"binding\":{\"$id\":\"#/properties/property/binding\",\"type\":\"object\",\"title\":\"property binding\",\"description\":\"A binding to a BPMN 2.0 property\",\"required\":[\"type\"],\"allOf\":[{\"if\":{\"properties\":{\"type\":{\"enum\":[\"property\",\"camunda:property\",\"camunda:inputParameter\",\"camunda:field\"]}},\"required\":[\"type\"]},\"then\":{\"required\":[\"name\"],\"errorMessage\":\"property.binding ${0/type} requires name\"}},{\"if\":{\"properties\":{\"type\":{\"const\":\"camunda:outputParameter\"}},\"required\":[\"type\"]},\"then\":{\"required\":[\"source\"],\"errorMessage\":\"property.binding ${0/type} requires source\"}},{\"if\":{\"properties\":{\"type\":{\"const\":\"camunda:in\"}},\"required\":[\"type\"]},\"then\":{\"oneOf\":[{\"required\":[\"variables\"]},{\"required\":[\"target\"]}],\"errorMessage\":\"property.binding ${0/type} requires variables or target\"}},{\"if\":{\"properties\":{\"type\":{\"const\":\"camunda:out\"}},\"required\":[\"type\"]},\"then\":{\"oneOf\":[{\"required\":[\"variables\"]},{\"required\":[\"source\"]},{\"required\":[\"sourceExpression\"]}],\"errorMessage\":\"property.binding ${0/type} requires variables, sourceExpression or source\"}},{\"if\":{\"properties\":{\"type\":{\"const\":\"camunda:errorEventDefinition\"}},\"required\":[\"type\"]},\"then\":{\"oneOf\":[{\"required\":[\"errorRef\"]}],\"errorMessage\":\"property.binding ${0/type} requires errorRef\"}}],\"properties\":{\"type\":{\"$id\":\"#/properties/property/binding/type\",\"type\":\"string\",\"title\":\"property binding type\",\"enum\":[\"property\",\"camunda:property\",\"camunda:inputParameter\",\"camunda:outputParameter\",\"camunda:in\",\"camunda:out\",\"camunda:in:businessKey\",\"camunda:executionListener\",\"camunda:field\",\"camunda:errorEventDefinition\"],\"errorMessage\":\"invalid property.binding type ${0}; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }\",\"description\":\"The type of the property binding\"},\"name\":{\"$id\":\"#/properties/property/binding/name\",\"type\":\"string\",\"title\":\"property binding name\",\"description\":\"The name of binding xml property\"},\"event\":{\"$id\":\"#/properties/property/binding/event\",\"type\":\"string\",\"title\":\"property binding event\",\"description\":\"The event type of an execution listener binding\"},\"scriptFormat\":{\"$id\":\"#/properties/property/binding/scriptFormat\",\"type\":\"string\",\"title\":\"property binding script format\",\"description\":\"The format of a script property binding (camunda:outputParameter, camunda:inputParameter)\"},\"source\":{\"$id\":\"#/properties/property/binding/source\",\"type\":\"string\",\"title\":\"property binding source\",\"description\":\"The source value of a property binding (camunda:outputParameter, camunda:out)\"},\"target\":{\"$id\":\"#/properties/property/binding/target\",\"type\":\"string\",\"title\":\"property binding target\",\"description\":\"The target value to be mapped to (camunda:in)\"},\"expression\":{\"$id\":\"#/properties/property/binding/expression\",\"type\":\"boolean\",\"title\":\"property binding expression\",\"description\":\"True indicates that the control field value is an expression (camunda:in, camunda:field)\"},\"variables\":{\"$id\":\"#/properties/property/binding/variables\",\"type\":\"string\",\"title\":\"property binding variables\",\"enum\":[\"all\",\"local\"],\"description\":\"Either all or local indicating the variable mapping (camunda:in)\"},\"sourceExpression\":{\"$id\":\"#/properties/property/binding/sourceExpression\",\"type\":\"string\",\"title\":\"property binding source expression\",\"description\":\"The string containing the expression for the source attribute (camunda:out)\"}}},\"constraints\":{\"$id\":\"#/properties/property/constraints\",\"type\":\"object\",\"title\":\"property constraints\",\"description\":\"The validation constraints\",\"properties\":{\"notEmpty\":{\"$id\":\"#/properties/property/constraints/notEmpty\",\"type\":\"boolean\",\"title\":\"property constraints not empty\",\"description\":\"The control field must not be empty\"},\"minLength\":{\"$id\":\"#/properties/property/constraints/minLength\",\"type\":\"number\",\"title\":\"property constraints min length\",\"description\":\"The minimal length for the control field value\"},\"maxLength\":{\"$id\":\"#/properties/property/constraints/maxLength\",\"type\":\"number\",\"title\":\"property constraints max length\",\"description\":\"The maximal length for the control field value\"},\"pattern\":{\"$id\":\"#/properties/property/constraints/pattern\",\"title\":\"property constraints pattern\",\"description\":\"A regular expression pattern for the constraints\",\"oneOf\":[{\"type\":\"object\",\"properties\":{\"value\":{\"$id\":\"#/properties/property/constraints/pattern/value\",\"type\":\"string\",\"title\":\"property constraints pattern value\",\"description\":\"The regular expression of the pattern constraint\"},\"message\":{\"$id\":\"#/properties/property/constraints/pattern/message\",\"type\":\"string\",\"title\":\"property constraints pattern message\",\"description\":\"The validation message of the pattern constraint\"}}},{\"type\":\"string\"}]}}}}}};const pattern0 = new RegExp(\"^(.*?:)\", \"u\");const obj0 = {\"required\":\"missingProperty\",\"dependencies\":\"property\",\"dependentRequired\":\"property\"};function validate16(data, {dataPath=\"\", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == \"object\" && !Array.isArray(data)){for(const key0 in data){if(!(key0 === \"camunda:Connector\")){const err0 = {keyword:\"not\",dataPath:dataPath+\"/\" + key0.replace(/~/g, \"~0\").replace(/\\//g, \"~1\"),schemaPath:\"#/additionalProperties/not\",params:{},message:\"should NOT be valid\"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;if(errors > 0){const emErrs0 = [];for(const err1 of vErrors){if(((((err1.keyword !== \"errorMessage\") && (!err1.emUsed)) && ((err1.dataPath === dataPath+\"/\" + key0.replace(/~/g, \"~0\").replace(/\\//g, \"~1\")) || ((err1.dataPath.indexOf(dataPath+\"/\" + key0.replace(/~/g, \"~0\").replace(/\\//g, \"~1\")) === 0) && (err1.dataPath[dataPath+\"/\" + key0.replace(/~/g, \"~0\").replace(/\\//g, \"~1\").length] === \"/\")))) && (err1.schemaPath.indexOf(\"#/additionalProperties\") === 0)) && (err1.schemaPath[\"#/additionalProperties\".length] === \"/\")){emErrs0.push(err1);err1.emUsed = true;}}if(emErrs0.length){const err2 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + key0.replace(/~/g, \"~0\").replace(/\\//g, \"~1\"),schemaPath:\"#/additionalProperties/errorMessage\",params:{errors: emErrs0},message:\"invalid scope \" + JSON.stringify(key0) + \", object descriptor is only supported for \\\"camunda:Connector\\\"\"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}const emErrs1 = [];for(const err3 of vErrors){if(!err3.emUsed){emErrs1.push(err3);}}vErrors = emErrs1;errors = emErrs1.length;}}}if(data[\"camunda:Connector\"] !== undefined){let data1 = data[\"camunda:Connector\"];if(data1 && typeof data1 == \"object\" && !Array.isArray(data1)){if(data1.properties !== undefined){let data2 = data1.properties;if(Array.isArray(data2)){const len0 = data2.length;for(let i0=0; i0 0){const emErrs2 = [];for(const err7 of vErrors){if(((((err7.keyword !== \"errorMessage\") && (!err7.emUsed)) && ((err7.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0) || ((err7.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0) === 0) && (err7.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0.length] === \"/\")))) && (err7.schemaPath.indexOf(\"#/definitions/properties/items/allOf/0/then\") === 0)) && (err7.schemaPath[\"#/definitions/properties/items/allOf/0/then\".length] === \"/\")){emErrs2.push(err7);err7.emUsed = true;}}if(emErrs2.length){const err8 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/allOf/0/then/errorMessage\",params:{errors: emErrs2},message:\"must provide choices=[] with \\\"Dropdown\\\" type\"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}const emErrs3 = [];for(const err9 of vErrors){if(!err9.emUsed){emErrs3.push(err9);}}vErrors = emErrs3;errors = emErrs3.length;}var _valid0 = _errs15 === errors;valid7 = _valid0;}if(!valid7){const err10 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/allOf/0/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}const _errs17 = errors;let valid9 = true;const _errs18 = errors;if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if((data3.binding === undefined) && (\"binding\")){const err11 = {};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {if(data3.binding !== undefined){let data5 = data3.binding;if(data5 && typeof data5 == \"object\" && !Array.isArray(data5)){if((data5.type === undefined) && (\"type\")){const err12 = {};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}else {if(data5.type !== undefined){if(!equal(data5.type, \"property\")){const err13 = {};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}}}}}var _valid1 = _errs18 === errors;errors = _errs17;if(vErrors !== null){if(_errs17){vErrors.length = _errs17;}else {vErrors = null;}}if(_valid1){const _errs21 = errors;if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if(data3.type !== undefined){let data7 = data3.type;if(!(((((data7 === \"String\") || (data7 === \"Text\")) || (data7 === \"Hidden\")) || (data7 === \"Dropdown\")) || (data7 === \"Boolean\"))){const err14 = {keyword:\"enum\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/1/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[1].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(errors > 0){const emErrs4 = [];for(const err15 of vErrors){if(((((err15.keyword !== \"errorMessage\") && (!err15.emUsed)) && ((err15.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\") || ((err15.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\") === 0) && (err15.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\".length] === \"/\")))) && (err15.schemaPath.indexOf(\"#/definitions/properties/items/allOf/1/then/properties/type\") === 0)) && (err15.schemaPath[\"#/definitions/properties/items/allOf/1/then/properties/type\".length] === \"/\")){emErrs4.push(err15);err15.emUsed = true;}}if(emErrs4.length){const err16 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/1/then/properties/type/errorMessage\",params:{errors: emErrs4},message:\"invalid property type \" + JSON.stringify(data7) + \" for binding type \\\"property\\\"; must be any of { String, Text, Hidden, Dropdown, Boolean }\"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}const emErrs5 = [];for(const err17 of vErrors){if(!err17.emUsed){emErrs5.push(err17);}}vErrors = emErrs5;errors = emErrs5.length;}}}var _valid1 = _errs21 === errors;valid9 = _valid1;}if(!valid9){const err18 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/allOf/1/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}const _errs24 = errors;let valid13 = true;const _errs25 = errors;if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if((data3.binding === undefined) && (\"binding\")){const err19 = {};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {if(data3.binding !== undefined){let data8 = data3.binding;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if((data8.type === undefined) && (\"type\")){const err20 = {};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}else {if(data8.type !== undefined){if(!equal(data8.type, \"camunda:executionListener\")){const err21 = {};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}}}}}var _valid2 = _errs25 === errors;errors = _errs24;if(vErrors !== null){if(_errs24){vErrors.length = _errs24;}else {vErrors = null;}}if(_valid2){const _errs28 = errors;if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if(data3.type !== undefined){if(!(data3.type === \"Hidden\")){const err22 = {keyword:\"enum\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/2/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[2].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}if(errors > 0){const emErrs6 = [];for(const err23 of vErrors){if(((((err23.keyword !== \"errorMessage\") && (!err23.emUsed)) && ((err23.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\") || ((err23.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\") === 0) && (err23.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\".length] === \"/\")))) && (err23.schemaPath.indexOf(\"#/definitions/properties/items/allOf/2/then/properties/type\") === 0)) && (err23.schemaPath[\"#/definitions/properties/items/allOf/2/then/properties/type\".length] === \"/\")){emErrs6.push(err23);err23.emUsed = true;}}if(emErrs6.length){const err24 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/2/then/properties/type/errorMessage\",params:{errors: emErrs6},message:\"invalid property type \" + JSON.stringify(data3 && data3.type) + \" for binding type \\\"camunda:executionListener\\\"; must be \\\"Hidden\\\"\"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}const emErrs7 = [];for(const err25 of vErrors){if(!err25.emUsed){emErrs7.push(err25);}}vErrors = emErrs7;errors = emErrs7.length;}}}var _valid2 = _errs28 === errors;valid13 = _valid2;}if(!valid13){const err26 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/allOf/2/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}const _errs31 = errors;let valid17 = true;const _errs32 = errors;if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if((data3.binding === undefined) && (\"binding\")){const err27 = {};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}else {if(data3.binding !== undefined){let data11 = data3.binding;if(data11 && typeof data11 == \"object\" && !Array.isArray(data11)){if((data11.type === undefined) && (\"type\")){const err28 = {};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {if(data11.type !== undefined){let data12 = data11.type;if(!((((((data12 === \"camunda:property\") || (data12 === \"camunda:outputParameter\")) || (data12 === \"camunda:in\")) || (data12 === \"camunda:in:businessKey\")) || (data12 === \"camunda:out\")) || (data12 === \"camunda:errorEventDefinition\"))){const err29 = {};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}}}}}}var _valid3 = _errs32 === errors;errors = _errs31;if(vErrors !== null){if(_errs31){vErrors.length = _errs31;}else {vErrors = null;}}if(_valid3){const _errs35 = errors;if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if(data3.type !== undefined){let data13 = data3.type;if(!(((data13 === \"String\") || (data13 === \"Hidden\")) || (data13 === \"Dropdown\"))){const err30 = {keyword:\"enum\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/3/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[3].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}if(errors > 0){const emErrs8 = [];for(const err31 of vErrors){if(((((err31.keyword !== \"errorMessage\") && (!err31.emUsed)) && ((err31.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\") || ((err31.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\") === 0) && (err31.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\".length] === \"/\")))) && (err31.schemaPath.indexOf(\"#/definitions/properties/items/allOf/3/then/properties/type\") === 0)) && (err31.schemaPath[\"#/definitions/properties/items/allOf/3/then/properties/type\".length] === \"/\")){emErrs8.push(err31);err31.emUsed = true;}}if(emErrs8.length){const err32 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/3/then/properties/type/errorMessage\",params:{errors: emErrs8},message:\"invalid property type \" + JSON.stringify(data13) + \" for binding type \" + JSON.stringify(data3 && data3.binding && data3.binding.type) + \"; must be any of { String, Hidden, Dropdown }\"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}const emErrs9 = [];for(const err33 of vErrors){if(!err33.emUsed){emErrs9.push(err33);}}vErrors = emErrs9;errors = emErrs9.length;}}}var _valid3 = _errs35 === errors;valid17 = _valid3;}if(!valid17){const err34 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/allOf/3/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}const _errs38 = errors;let valid21 = true;const _errs39 = errors;if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if((data3.binding === undefined) && (\"binding\")){const err35 = {};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}else {if(data3.binding !== undefined){let data14 = data3.binding;if(data14 && typeof data14 == \"object\" && !Array.isArray(data14)){if((data14.type === undefined) && (\"type\")){const err36 = {};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}else {if(data14.type !== undefined){let data15 = data14.type;if(!((data15 === \"camunda:inputParameter\") || (data15 === \"camunda:field\"))){const err37 = {};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}}}}}var _valid4 = _errs39 === errors;errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}if(_valid4){const _errs42 = errors;if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if(data3.type !== undefined){let data16 = data3.type;if(!((((data16 === \"String\") || (data16 === \"Text\")) || (data16 === \"Hidden\")) || (data16 === \"Dropdown\"))){const err38 = {keyword:\"enum\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/4/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[4].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}if(errors > 0){const emErrs10 = [];for(const err39 of vErrors){if(((((err39.keyword !== \"errorMessage\") && (!err39.emUsed)) && ((err39.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\") || ((err39.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\") === 0) && (err39.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\".length] === \"/\")))) && (err39.schemaPath.indexOf(\"#/definitions/properties/items/allOf/4/then/properties/type\") === 0)) && (err39.schemaPath[\"#/definitions/properties/items/allOf/4/then/properties/type\".length] === \"/\")){emErrs10.push(err39);err39.emUsed = true;}}if(emErrs10.length){const err40 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/4/then/properties/type/errorMessage\",params:{errors: emErrs10},message:\"invalid property type \" + JSON.stringify(data16) + \" for binding type \" + JSON.stringify(data3 && data3.binding && data3.binding.type) + \"; must be any of { String, Text, Hidden, Dropdown }\"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}const emErrs11 = [];for(const err41 of vErrors){if(!err41.emUsed){emErrs11.push(err41);}}vErrors = emErrs11;errors = emErrs11.length;}}}var _valid4 = _errs42 === errors;valid21 = _valid4;}if(!valid21){const err42 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/allOf/4/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}if(data3 && typeof data3 == \"object\" && !Array.isArray(data3)){if(data3.binding === undefined){const err43 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/required\",params:{missingProperty: \"binding\"},message:\"should have required property '\"+\"binding\"+\"'\"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}if(data3.value !== undefined){let data17 = data3.value;if((typeof data17 !== \"string\") && (typeof data17 !== \"boolean\")){const err44 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/value\",schemaPath:\"#/definitions/properties/items/properties/value/type\",params:{type: schema18.items.properties.value.type},message:\"should be string,boolean\"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data3.description !== undefined){if(typeof data3.description !== \"string\"){const err45 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/description\",schemaPath:\"#/definitions/properties/items/properties/description/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data3.label !== undefined){if(typeof data3.label !== \"string\"){const err46 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/label\",schemaPath:\"#/definitions/properties/items/properties/label/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(data3.type !== undefined){if(typeof data3.type !== \"string\"){const err47 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/type\",schemaPath:\"#/definitions/properties/items/properties/type/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data3.editable !== undefined){if(typeof data3.editable !== \"boolean\"){const err48 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/editable\",schemaPath:\"#/definitions/properties/items/properties/editable/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}if(data3.choices !== undefined){let data22 = data3.choices;if(Array.isArray(data22)){const len1 = data22.length;for(let i1=0; i1 0){const emErrs12 = [];for(const err54 of vErrors){if(((((err54.keyword !== \"errorMessage\") && (!err54.emUsed)) && ((err54.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/choices/\" + i1) || ((err54.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/choices/\" + i1) === 0) && (err54.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/choices/\" + i1.length] === \"/\")))) && (err54.schemaPath.indexOf(\"#/definitions/properties/items/properties/choices/items\") === 0)) && (err54.schemaPath[\"#/definitions/properties/items/properties/choices/items\".length] === \"/\")){emErrs12.push(err54);err54.emUsed = true;}}if(emErrs12.length){const err55 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/choices/\" + i1,schemaPath:\"#/definitions/properties/items/properties/choices/items/errorMessage\",params:{errors: emErrs12},message:\"{ name, value } must be specified for \\\"Dropdown\\\" choices\"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}const emErrs13 = [];for(const err56 of vErrors){if(!err56.emUsed){emErrs13.push(err56);}}vErrors = emErrs13;errors = emErrs13.length;}}}else {const err57 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/choices\",schemaPath:\"#/definitions/properties/items/properties/choices/type\",params:{type: \"array\"},message:\"should be array\"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}if(data3.binding !== undefined){let data26 = data3.binding;const _errs65 = errors;let valid30 = true;const _errs66 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if((data26.type === undefined) && (\"type\")){const err58 = {};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}else {if(data26.type !== undefined){let data27 = data26.type;if(!((((data27 === \"property\") || (data27 === \"camunda:property\")) || (data27 === \"camunda:inputParameter\")) || (data27 === \"camunda:field\"))){const err59 = {};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}}}var _valid5 = _errs66 === errors;errors = _errs65;if(vErrors !== null){if(_errs65){vErrors.length = _errs65;}else {vErrors = null;}}if(_valid5){const _errs68 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.name === undefined){const err60 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/then/required\",params:{missingProperty: \"name\"},message:\"should have required property '\"+\"name\"+\"'\"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(errors > 0){const emErrs14 = [];for(const err61 of vErrors){if(((((err61.keyword !== \"errorMessage\") && (!err61.emUsed)) && ((err61.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") || ((err61.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") === 0) && (err61.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\".length] === \"/\")))) && (err61.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/0/then\") === 0)) && (err61.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/0/then\".length] === \"/\")){emErrs14.push(err61);err61.emUsed = true;}}if(emErrs14.length){const err62 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/then/errorMessage\",params:{errors: emErrs14},message:\"property.binding \" + JSON.stringify(data26 && data26.type) + \" requires name\"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}const emErrs15 = [];for(const err63 of vErrors){if(!err63.emUsed){emErrs15.push(err63);}}vErrors = emErrs15;errors = emErrs15.length;}var _valid5 = _errs68 === errors;valid30 = _valid5;}if(!valid30){const err64 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}const _errs70 = errors;let valid32 = true;const _errs71 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if((data26.type === undefined) && (\"type\")){const err65 = {};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}else {if(data26.type !== undefined){if(!equal(data26.type, \"camunda:outputParameter\")){const err66 = {};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}}}var _valid6 = _errs71 === errors;errors = _errs70;if(vErrors !== null){if(_errs70){vErrors.length = _errs70;}else {vErrors = null;}}if(_valid6){const _errs73 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.source === undefined){const err67 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/then/required\",params:{missingProperty: \"source\"},message:\"should have required property '\"+\"source\"+\"'\"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(errors > 0){const emErrs16 = [];for(const err68 of vErrors){if(((((err68.keyword !== \"errorMessage\") && (!err68.emUsed)) && ((err68.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") || ((err68.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") === 0) && (err68.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\".length] === \"/\")))) && (err68.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/1/then\") === 0)) && (err68.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/1/then\".length] === \"/\")){emErrs16.push(err68);err68.emUsed = true;}}if(emErrs16.length){const err69 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/then/errorMessage\",params:{errors: emErrs16},message:\"property.binding \" + JSON.stringify(data26 && data26.type) + \" requires source\"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}const emErrs17 = [];for(const err70 of vErrors){if(!err70.emUsed){emErrs17.push(err70);}}vErrors = emErrs17;errors = emErrs17.length;}var _valid6 = _errs73 === errors;valid32 = _valid6;}if(!valid32){const err71 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}const _errs75 = errors;let valid34 = true;const _errs76 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if((data26.type === undefined) && (\"type\")){const err72 = {};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}else {if(data26.type !== undefined){if(!equal(data26.type, \"camunda:in\")){const err73 = {};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}}}var _valid7 = _errs76 === errors;errors = _errs75;if(vErrors !== null){if(_errs75){vErrors.length = _errs75;}else {vErrors = null;}}if(_valid7){const _errs78 = errors;const _errs79 = errors;let valid36 = false;let passing0 = null;const _errs80 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.variables === undefined){const err74 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf/0/required\",params:{missingProperty: \"variables\"},message:\"should have required property '\"+\"variables\"+\"'\"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}var _valid8 = _errs80 === errors;if(_valid8){valid36 = true;passing0 = 0;}const _errs81 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.target === undefined){const err75 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf/1/required\",params:{missingProperty: \"target\"},message:\"should have required property '\"+\"target\"+\"'\"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}}var _valid8 = _errs81 === errors;if(_valid8 && valid36){valid36 = false;passing0 = [passing0, 1];}else {if(_valid8){valid36 = true;passing0 = 1;}}if(!valid36){const err76 = {keyword:\"oneOf\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf\",params:{passingSchemas: passing0},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}else {errors = _errs79;if(vErrors !== null){if(_errs79){vErrors.length = _errs79;}else {vErrors = null;}}}if(errors > 0){const emErrs18 = [];for(const err77 of vErrors){if(((((err77.keyword !== \"errorMessage\") && (!err77.emUsed)) && ((err77.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") || ((err77.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") === 0) && (err77.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\".length] === \"/\")))) && (err77.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/2/then\") === 0)) && (err77.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/2/then\".length] === \"/\")){emErrs18.push(err77);err77.emUsed = true;}}if(emErrs18.length){const err78 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/errorMessage\",params:{errors: emErrs18},message:\"property.binding \" + JSON.stringify(data26 && data26.type) + \" requires variables or target\"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}const emErrs19 = [];for(const err79 of vErrors){if(!err79.emUsed){emErrs19.push(err79);}}vErrors = emErrs19;errors = emErrs19.length;}var _valid7 = _errs78 === errors;valid34 = _valid7;}if(!valid34){const err80 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}const _errs83 = errors;let valid37 = true;const _errs84 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if((data26.type === undefined) && (\"type\")){const err81 = {};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}else {if(data26.type !== undefined){if(!equal(data26.type, \"camunda:out\")){const err82 = {};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}}}var _valid9 = _errs84 === errors;errors = _errs83;if(vErrors !== null){if(_errs83){vErrors.length = _errs83;}else {vErrors = null;}}if(_valid9){const _errs86 = errors;const _errs87 = errors;let valid39 = false;let passing1 = null;const _errs88 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.variables === undefined){const err83 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/0/required\",params:{missingProperty: \"variables\"},message:\"should have required property '\"+\"variables\"+\"'\"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}var _valid10 = _errs88 === errors;if(_valid10){valid39 = true;passing1 = 0;}const _errs89 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.source === undefined){const err84 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/1/required\",params:{missingProperty: \"source\"},message:\"should have required property '\"+\"source\"+\"'\"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}var _valid10 = _errs89 === errors;if(_valid10 && valid39){valid39 = false;passing1 = [passing1, 1];}else {if(_valid10){valid39 = true;passing1 = 1;}const _errs90 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.sourceExpression === undefined){const err85 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/2/required\",params:{missingProperty: \"sourceExpression\"},message:\"should have required property '\"+\"sourceExpression\"+\"'\"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}var _valid10 = _errs90 === errors;if(_valid10 && valid39){valid39 = false;passing1 = [passing1, 2];}else {if(_valid10){valid39 = true;passing1 = 2;}}}if(!valid39){const err86 = {keyword:\"oneOf\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf\",params:{passingSchemas: passing1},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}else {errors = _errs87;if(vErrors !== null){if(_errs87){vErrors.length = _errs87;}else {vErrors = null;}}}if(errors > 0){const emErrs20 = [];for(const err87 of vErrors){if(((((err87.keyword !== \"errorMessage\") && (!err87.emUsed)) && ((err87.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") || ((err87.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") === 0) && (err87.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\".length] === \"/\")))) && (err87.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/3/then\") === 0)) && (err87.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/3/then\".length] === \"/\")){emErrs20.push(err87);err87.emUsed = true;}}if(emErrs20.length){const err88 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/errorMessage\",params:{errors: emErrs20},message:\"property.binding \" + JSON.stringify(data26 && data26.type) + \" requires variables, sourceExpression or source\"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}const emErrs21 = [];for(const err89 of vErrors){if(!err89.emUsed){emErrs21.push(err89);}}vErrors = emErrs21;errors = emErrs21.length;}var _valid9 = _errs86 === errors;valid37 = _valid9;}if(!valid37){const err90 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}const _errs92 = errors;let valid40 = true;const _errs93 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if((data26.type === undefined) && (\"type\")){const err91 = {};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}else {if(data26.type !== undefined){if(!equal(data26.type, \"camunda:errorEventDefinition\")){const err92 = {};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}}}var _valid11 = _errs93 === errors;errors = _errs92;if(vErrors !== null){if(_errs92){vErrors.length = _errs92;}else {vErrors = null;}}if(_valid11){const _errs95 = errors;const _errs96 = errors;let valid42 = false;let passing2 = null;const _errs97 = errors;if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.errorRef === undefined){const err93 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/oneOf/0/required\",params:{missingProperty: \"errorRef\"},message:\"should have required property '\"+\"errorRef\"+\"'\"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}var _valid12 = _errs97 === errors;if(_valid12){valid42 = true;passing2 = 0;}if(!valid42){const err94 = {keyword:\"oneOf\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/oneOf\",params:{passingSchemas: passing2},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}else {errors = _errs96;if(vErrors !== null){if(_errs96){vErrors.length = _errs96;}else {vErrors = null;}}}if(errors > 0){const emErrs22 = [];for(const err95 of vErrors){if(((((err95.keyword !== \"errorMessage\") && (!err95.emUsed)) && ((err95.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") || ((err95.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\") === 0) && (err95.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\".length] === \"/\")))) && (err95.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/4/then\") === 0)) && (err95.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/4/then\".length] === \"/\")){emErrs22.push(err95);err95.emUsed = true;}}if(emErrs22.length){const err96 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/errorMessage\",params:{errors: emErrs22},message:\"property.binding \" + JSON.stringify(data26 && data26.type) + \" requires errorRef\"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}const emErrs23 = [];for(const err97 of vErrors){if(!err97.emUsed){emErrs23.push(err97);}}vErrors = emErrs23;errors = emErrs23.length;}var _valid11 = _errs95 === errors;valid40 = _valid11;}if(!valid40){const err98 = {keyword:\"if\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}if(data26 && typeof data26 == \"object\" && !Array.isArray(data26)){if(data26.type === undefined){const err99 = {keyword:\"required\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/required\",params:{missingProperty: \"type\"},message:\"should have required property '\"+\"type\"+\"'\"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}if(data26.type !== undefined){let data32 = data26.type;if(typeof data32 !== \"string\"){const err100 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}if(!((((((((((data32 === \"property\") || (data32 === \"camunda:property\")) || (data32 === \"camunda:inputParameter\")) || (data32 === \"camunda:outputParameter\")) || (data32 === \"camunda:in\")) || (data32 === \"camunda:out\")) || (data32 === \"camunda:in:businessKey\")) || (data32 === \"camunda:executionListener\")) || (data32 === \"camunda:field\")) || (data32 === \"camunda:errorEventDefinition\"))){const err101 = {keyword:\"enum\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/enum\",params:{allowedValues: schema18.items.properties.binding.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}if(errors > 0){const emErrs24 = [];for(const err102 of vErrors){if(((((err102.keyword !== \"errorMessage\") && (!err102.emUsed)) && ((err102.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/type\") || ((err102.dataPath.indexOf(dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/type\") === 0) && (err102.dataPath[dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/type\".length] === \"/\")))) && (err102.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/properties/type\") === 0)) && (err102.schemaPath[\"#/definitions/properties/items/properties/binding/properties/type\".length] === \"/\")){emErrs24.push(err102);err102.emUsed = true;}}if(emErrs24.length){const err103 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/errorMessage\",params:{errors: emErrs24},message:\"invalid property.binding type \" + JSON.stringify(data32) + \"; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }\"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}const emErrs25 = [];for(const err104 of vErrors){if(!err104.emUsed){emErrs25.push(err104);}}vErrors = emErrs25;errors = emErrs25.length;}}if(data26.name !== undefined){if(typeof data26.name !== \"string\"){const err105 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/name\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/name/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}if(data26.event !== undefined){if(typeof data26.event !== \"string\"){const err106 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/event\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/event/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}}if(data26.scriptFormat !== undefined){if(typeof data26.scriptFormat !== \"string\"){const err107 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/scriptFormat\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/scriptFormat/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}if(data26.source !== undefined){if(typeof data26.source !== \"string\"){const err108 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/source\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/source/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}}if(data26.target !== undefined){if(typeof data26.target !== \"string\"){const err109 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/target\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/target/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}if(data26.expression !== undefined){if(typeof data26.expression !== \"boolean\"){const err110 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/expression\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/expression/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}if(data26.variables !== undefined){let data39 = data26.variables;if(typeof data39 !== \"string\"){const err111 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/variables\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/variables/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}if(!((data39 === \"all\") || (data39 === \"local\"))){const err112 = {keyword:\"enum\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/variables\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/variables/enum\",params:{allowedValues: schema18.items.properties.binding.properties.variables.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}if(data26.sourceExpression !== undefined){if(typeof data26.sourceExpression !== \"string\"){const err113 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding/sourceExpression\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/sourceExpression/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}}else {const err114 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}if(data3.constraints !== undefined){let data41 = data3.constraints;if(data41 && typeof data41 == \"object\" && !Array.isArray(data41)){if(data41.notEmpty !== undefined){if(typeof data41.notEmpty !== \"boolean\"){const err115 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints/notEmpty\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/notEmpty/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data41.minLength !== undefined){if(!(typeof data41.minLength == \"number\")){const err116 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints/minLength\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/minLength/type\",params:{type: \"number\"},message:\"should be number\"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}if(data41.maxLength !== undefined){if(!(typeof data41.maxLength == \"number\")){const err117 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints/maxLength\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/maxLength/type\",params:{type: \"number\"},message:\"should be number\"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data41.pattern !== undefined){let data45 = data41.pattern;const _errs125 = errors;let valid45 = false;let passing3 = null;const _errs126 = errors;if(data45 && typeof data45 == \"object\" && !Array.isArray(data45)){if(data45.value !== undefined){if(typeof data45.value !== \"string\"){const err118 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints/pattern/value\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}if(data45.message !== undefined){if(typeof data45.message !== \"string\"){const err119 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints/pattern/message\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}}else {const err120 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}var _valid13 = _errs126 === errors;if(_valid13){valid45 = true;passing3 = 0;}const _errs132 = errors;if(typeof data45 !== \"string\"){const err121 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/1/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}var _valid13 = _errs132 === errors;if(_valid13 && valid45){valid45 = false;passing3 = [passing3, 1];}else {if(_valid13){valid45 = true;passing3 = 1;}}if(!valid45){const err122 = {keyword:\"oneOf\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf\",params:{passingSchemas: passing3},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {errors = _errs125;if(vErrors !== null){if(_errs125){vErrors.length = _errs125;}else {vErrors = null;}}}}}else {const err123 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0+\"/constraints\",schemaPath:\"#/definitions/properties/items/properties/constraints/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}else {const err124 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}if(errors > 0){const emErrors0 = {\"required\":{\"binding\":[]}};const templates0 = {required:{binding:function(){return \"missing binding for property \\\"\" + JSON.stringify(i0) + \"\\\"\"}}};let emPropParams0;let emParamsErrors0;for(const err125 of vErrors){if((((((err125.keyword !== \"errorMessage\") && (!err125.emUsed)) && (err125.dataPath === dataPath+\"/camunda:Connector/properties/\" + i0)) && (err125.keyword in emErrors0)) && (err125.schemaPath.indexOf(\"#/definitions/properties/items\") === 0)) && (/^\\/[^\\/]*$/.test(err125.schemaPath.slice(30)))){emPropParams0 = obj0[err125.keyword];emParamsErrors0 = emErrors0[err125.keyword][err125.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err125);err125.emUsed = true;}}}for(const key1 in emErrors0){for(const keyProp0 in emErrors0[key1]){emParamsErrors0 = emErrors0[key1][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates0[key1] && templates0[key1][keyProp0];const err126 = {keyword:\"errorMessage\",dataPath:dataPath+\"/camunda:Connector/properties/\" + i0,schemaPath:\"#/definitions/properties/items/errorMessage\",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema18.items.errorMessage[key1][keyProp0]};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}}const emErrs26 = [];for(const err127 of vErrors){if(!err127.emUsed){emErrs26.push(err127);}}vErrors = emErrs26;errors = emErrs26.length;}}}else {const err128 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector/properties\",schemaPath:\"#/definitions/properties/type\",params:{type: \"array\"},message:\"should be array\"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}}else {const err129 = {keyword:\"type\",dataPath:dataPath+\"/camunda:Connector\",schemaPath:\"#/properties/camunda%3AConnector/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}}else {const err130 = {keyword:\"type\",dataPath,schemaPath:\"#/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}validate16.errors = vErrors;return errors === 0;}const schema21 = {\"$id\":\"#/definitions/scopes\",\"type\":\"array\",\"title\":\"element template scope\",\"description\":\"Special scoped bindings that allow you to configure nested elements\",\"items\":{\"$id\":\"#/scopes/item\",\"type\":\"object\",\"title\":\"element template scope item\",\"description\":\"Scoped binding to configure nested elements\",\"properties\":{\"type\":{\"$id\":\"#scopes/item/type\",\"type\":\"string\",\"enum\":[\"camunda:Connector\",\"bpmn:Error\"],\"errorMessage\":\"invalid scope type ${0}; must be any of { camunda:Connector, bpmn:Error }\"},\"properties\":{\"$ref\":\"#/definitions/properties\"}},\"required\":[\"type\",\"properties\"],\"errorMessage\":{\"required\":{\"type\":\"invalid scope, missing type\",\"properties\":\"invalid scope ${0/type}, missing properties=[]\"}},\"allOf\":[{\"if\":{\"properties\":{\"type\":{\"enum\":[\"bpmn:Error\"]}},\"required\":[\"type\"]},\"then\":{\"required\":[\"id\"],\"errorMessage\":\"invalid scope ${0/type}, missing id\"}}]}};function validate18(data, {dataPath=\"\", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0 0){const emErrs0 = [];for(const err3 of vErrors){if(((((err3.keyword !== \"errorMessage\") && (!err3.emUsed)) && ((err3.dataPath === dataPath+\"/\" + i0) || ((err3.dataPath.indexOf(dataPath+\"/\" + i0) === 0) && (err3.dataPath[dataPath+\"/\" + i0.length] === \"/\")))) && (err3.schemaPath.indexOf(\"#/items/allOf/0/then\") === 0)) && (err3.schemaPath[\"#/items/allOf/0/then\".length] === \"/\")){emErrs0.push(err3);err3.emUsed = true;}}if(emErrs0.length){const err4 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0,schemaPath:\"#/items/allOf/0/then/errorMessage\",params:{errors: emErrs0},message:\"invalid scope \" + JSON.stringify(data0 && data0.type) + \", missing id\"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}const emErrs1 = [];for(const err5 of vErrors){if(!err5.emUsed){emErrs1.push(err5);}}vErrors = emErrs1;errors = emErrs1.length;}var _valid0 = _errs7 === errors;valid3 = _valid0;}if(!valid3){const err6 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0,schemaPath:\"#/items/allOf/0/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data0 && typeof data0 == \"object\" && !Array.isArray(data0)){if(data0.type === undefined){const err7 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0,schemaPath:\"#/items/required\",params:{missingProperty: \"type\"},message:\"should have required property '\"+\"type\"+\"'\"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}if(data0.properties === undefined){const err8 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0,schemaPath:\"#/items/required\",params:{missingProperty: \"properties\"},message:\"should have required property '\"+\"properties\"+\"'\"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if(data0.type !== undefined){let data2 = data0.type;if(typeof data2 !== \"string\"){const err9 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/type\",schemaPath:\"#/items/properties/type/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(!((data2 === \"camunda:Connector\") || (data2 === \"bpmn:Error\"))){const err10 = {keyword:\"enum\",dataPath:dataPath+\"/\" + i0+\"/type\",schemaPath:\"#/items/properties/type/enum\",params:{allowedValues: schema21.items.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(errors > 0){const emErrs2 = [];for(const err11 of vErrors){if(((((err11.keyword !== \"errorMessage\") && (!err11.emUsed)) && ((err11.dataPath === dataPath+\"/\" + i0+\"/type\") || ((err11.dataPath.indexOf(dataPath+\"/\" + i0+\"/type\") === 0) && (err11.dataPath[dataPath+\"/\" + i0+\"/type\".length] === \"/\")))) && (err11.schemaPath.indexOf(\"#/items/properties/type\") === 0)) && (err11.schemaPath[\"#/items/properties/type\".length] === \"/\")){emErrs2.push(err11);err11.emUsed = true;}}if(emErrs2.length){const err12 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/type\",schemaPath:\"#/items/properties/type/errorMessage\",params:{errors: emErrs2},message:\"invalid scope type \" + JSON.stringify(data2) + \"; must be any of { camunda:Connector, bpmn:Error }\"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}const emErrs3 = [];for(const err13 of vErrors){if(!err13.emUsed){emErrs3.push(err13);}}vErrors = emErrs3;errors = emErrs3.length;}}if(data0.properties !== undefined){let data3 = data0.properties;if(Array.isArray(data3)){const len1 = data3.length;for(let i1=0; i1 0){const emErrs4 = [];for(const err17 of vErrors){if(((((err17.keyword !== \"errorMessage\") && (!err17.emUsed)) && ((err17.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1) || ((err17.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1) === 0) && (err17.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1.length] === \"/\")))) && (err17.schemaPath.indexOf(\"#/definitions/properties/items/allOf/0/then\") === 0)) && (err17.schemaPath[\"#/definitions/properties/items/allOf/0/then\".length] === \"/\")){emErrs4.push(err17);err17.emUsed = true;}}if(emErrs4.length){const err18 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/0/then/errorMessage\",params:{errors: emErrs4},message:\"must provide choices=[] with \\\"Dropdown\\\" type\"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}const emErrs5 = [];for(const err19 of vErrors){if(!err19.emUsed){emErrs5.push(err19);}}vErrors = emErrs5;errors = emErrs5.length;}var _valid1 = _errs19 === errors;valid10 = _valid1;}if(!valid10){const err20 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/0/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}const _errs21 = errors;let valid12 = true;const _errs22 = errors;if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if((data4.binding === undefined) && (\"binding\")){const err21 = {};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {if(data4.binding !== undefined){let data6 = data4.binding;if(data6 && typeof data6 == \"object\" && !Array.isArray(data6)){if((data6.type === undefined) && (\"type\")){const err22 = {};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}else {if(data6.type !== undefined){if(!equal(data6.type, \"property\")){const err23 = {};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}}}}}var _valid2 = _errs22 === errors;errors = _errs21;if(vErrors !== null){if(_errs21){vErrors.length = _errs21;}else {vErrors = null;}}if(_valid2){const _errs25 = errors;if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if(data4.type !== undefined){let data8 = data4.type;if(!(((((data8 === \"String\") || (data8 === \"Text\")) || (data8 === \"Hidden\")) || (data8 === \"Dropdown\")) || (data8 === \"Boolean\"))){const err24 = {keyword:\"enum\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/1/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[1].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}if(errors > 0){const emErrs6 = [];for(const err25 of vErrors){if(((((err25.keyword !== \"errorMessage\") && (!err25.emUsed)) && ((err25.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\") || ((err25.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\") === 0) && (err25.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\".length] === \"/\")))) && (err25.schemaPath.indexOf(\"#/definitions/properties/items/allOf/1/then/properties/type\") === 0)) && (err25.schemaPath[\"#/definitions/properties/items/allOf/1/then/properties/type\".length] === \"/\")){emErrs6.push(err25);err25.emUsed = true;}}if(emErrs6.length){const err26 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/1/then/properties/type/errorMessage\",params:{errors: emErrs6},message:\"invalid property type \" + JSON.stringify(data8) + \" for binding type \\\"property\\\"; must be any of { String, Text, Hidden, Dropdown, Boolean }\"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}const emErrs7 = [];for(const err27 of vErrors){if(!err27.emUsed){emErrs7.push(err27);}}vErrors = emErrs7;errors = emErrs7.length;}}}var _valid2 = _errs25 === errors;valid12 = _valid2;}if(!valid12){const err28 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/1/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}const _errs28 = errors;let valid16 = true;const _errs29 = errors;if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if((data4.binding === undefined) && (\"binding\")){const err29 = {};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}else {if(data4.binding !== undefined){let data9 = data4.binding;if(data9 && typeof data9 == \"object\" && !Array.isArray(data9)){if((data9.type === undefined) && (\"type\")){const err30 = {};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {if(data9.type !== undefined){if(!equal(data9.type, \"camunda:executionListener\")){const err31 = {};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}}}}}}var _valid3 = _errs29 === errors;errors = _errs28;if(vErrors !== null){if(_errs28){vErrors.length = _errs28;}else {vErrors = null;}}if(_valid3){const _errs32 = errors;if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if(data4.type !== undefined){if(!(data4.type === \"Hidden\")){const err32 = {keyword:\"enum\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/2/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[2].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}if(errors > 0){const emErrs8 = [];for(const err33 of vErrors){if(((((err33.keyword !== \"errorMessage\") && (!err33.emUsed)) && ((err33.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\") || ((err33.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\") === 0) && (err33.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\".length] === \"/\")))) && (err33.schemaPath.indexOf(\"#/definitions/properties/items/allOf/2/then/properties/type\") === 0)) && (err33.schemaPath[\"#/definitions/properties/items/allOf/2/then/properties/type\".length] === \"/\")){emErrs8.push(err33);err33.emUsed = true;}}if(emErrs8.length){const err34 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/2/then/properties/type/errorMessage\",params:{errors: emErrs8},message:\"invalid property type \" + JSON.stringify(data4 && data4.type) + \" for binding type \\\"camunda:executionListener\\\"; must be \\\"Hidden\\\"\"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}const emErrs9 = [];for(const err35 of vErrors){if(!err35.emUsed){emErrs9.push(err35);}}vErrors = emErrs9;errors = emErrs9.length;}}}var _valid3 = _errs32 === errors;valid16 = _valid3;}if(!valid16){const err36 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/2/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}const _errs35 = errors;let valid20 = true;const _errs36 = errors;if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if((data4.binding === undefined) && (\"binding\")){const err37 = {};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}else {if(data4.binding !== undefined){let data12 = data4.binding;if(data12 && typeof data12 == \"object\" && !Array.isArray(data12)){if((data12.type === undefined) && (\"type\")){const err38 = {};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}else {if(data12.type !== undefined){let data13 = data12.type;if(!((((((data13 === \"camunda:property\") || (data13 === \"camunda:outputParameter\")) || (data13 === \"camunda:in\")) || (data13 === \"camunda:in:businessKey\")) || (data13 === \"camunda:out\")) || (data13 === \"camunda:errorEventDefinition\"))){const err39 = {};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}}}}}}var _valid4 = _errs36 === errors;errors = _errs35;if(vErrors !== null){if(_errs35){vErrors.length = _errs35;}else {vErrors = null;}}if(_valid4){const _errs39 = errors;if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if(data4.type !== undefined){let data14 = data4.type;if(!(((data14 === \"String\") || (data14 === \"Hidden\")) || (data14 === \"Dropdown\"))){const err40 = {keyword:\"enum\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/3/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[3].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}if(errors > 0){const emErrs10 = [];for(const err41 of vErrors){if(((((err41.keyword !== \"errorMessage\") && (!err41.emUsed)) && ((err41.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\") || ((err41.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\") === 0) && (err41.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\".length] === \"/\")))) && (err41.schemaPath.indexOf(\"#/definitions/properties/items/allOf/3/then/properties/type\") === 0)) && (err41.schemaPath[\"#/definitions/properties/items/allOf/3/then/properties/type\".length] === \"/\")){emErrs10.push(err41);err41.emUsed = true;}}if(emErrs10.length){const err42 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/3/then/properties/type/errorMessage\",params:{errors: emErrs10},message:\"invalid property type \" + JSON.stringify(data14) + \" for binding type \" + JSON.stringify(data4 && data4.binding && data4.binding.type) + \"; must be any of { String, Hidden, Dropdown }\"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}const emErrs11 = [];for(const err43 of vErrors){if(!err43.emUsed){emErrs11.push(err43);}}vErrors = emErrs11;errors = emErrs11.length;}}}var _valid4 = _errs39 === errors;valid20 = _valid4;}if(!valid20){const err44 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/3/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}const _errs42 = errors;let valid24 = true;const _errs43 = errors;if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if((data4.binding === undefined) && (\"binding\")){const err45 = {};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}else {if(data4.binding !== undefined){let data15 = data4.binding;if(data15 && typeof data15 == \"object\" && !Array.isArray(data15)){if((data15.type === undefined) && (\"type\")){const err46 = {};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}else {if(data15.type !== undefined){let data16 = data15.type;if(!((data16 === \"camunda:inputParameter\") || (data16 === \"camunda:field\"))){const err47 = {};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}}}}}}var _valid5 = _errs43 === errors;errors = _errs42;if(vErrors !== null){if(_errs42){vErrors.length = _errs42;}else {vErrors = null;}}if(_valid5){const _errs46 = errors;if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if(data4.type !== undefined){let data17 = data4.type;if(!((((data17 === \"String\") || (data17 === \"Text\")) || (data17 === \"Hidden\")) || (data17 === \"Dropdown\"))){const err48 = {keyword:\"enum\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/4/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[4].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}if(errors > 0){const emErrs12 = [];for(const err49 of vErrors){if(((((err49.keyword !== \"errorMessage\") && (!err49.emUsed)) && ((err49.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\") || ((err49.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\") === 0) && (err49.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\".length] === \"/\")))) && (err49.schemaPath.indexOf(\"#/definitions/properties/items/allOf/4/then/properties/type\") === 0)) && (err49.schemaPath[\"#/definitions/properties/items/allOf/4/then/properties/type\".length] === \"/\")){emErrs12.push(err49);err49.emUsed = true;}}if(emErrs12.length){const err50 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/4/then/properties/type/errorMessage\",params:{errors: emErrs12},message:\"invalid property type \" + JSON.stringify(data17) + \" for binding type \" + JSON.stringify(data4 && data4.binding && data4.binding.type) + \"; must be any of { String, Text, Hidden, Dropdown }\"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}const emErrs13 = [];for(const err51 of vErrors){if(!err51.emUsed){emErrs13.push(err51);}}vErrors = emErrs13;errors = emErrs13.length;}}}var _valid5 = _errs46 === errors;valid24 = _valid5;}if(!valid24){const err52 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/4/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}if(data4 && typeof data4 == \"object\" && !Array.isArray(data4)){if(data4.binding === undefined){const err53 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/required\",params:{missingProperty: \"binding\"},message:\"should have required property '\"+\"binding\"+\"'\"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}if(data4.value !== undefined){let data18 = data4.value;if((typeof data18 !== \"string\") && (typeof data18 !== \"boolean\")){const err54 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/value\",schemaPath:\"#/definitions/properties/items/properties/value/type\",params:{type: schema18.items.properties.value.type},message:\"should be string,boolean\"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data4.description !== undefined){if(typeof data4.description !== \"string\"){const err55 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/description\",schemaPath:\"#/definitions/properties/items/properties/description/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}if(data4.label !== undefined){if(typeof data4.label !== \"string\"){const err56 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/label\",schemaPath:\"#/definitions/properties/items/properties/label/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}if(data4.type !== undefined){if(typeof data4.type !== \"string\"){const err57 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/properties/type/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}if(data4.editable !== undefined){if(typeof data4.editable !== \"boolean\"){const err58 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/editable\",schemaPath:\"#/definitions/properties/items/properties/editable/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data4.choices !== undefined){let data23 = data4.choices;if(Array.isArray(data23)){const len2 = data23.length;for(let i2=0; i2 0){const emErrs14 = [];for(const err64 of vErrors){if(((((err64.keyword !== \"errorMessage\") && (!err64.emUsed)) && ((err64.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/choices/\" + i2) || ((err64.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/choices/\" + i2) === 0) && (err64.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/choices/\" + i2.length] === \"/\")))) && (err64.schemaPath.indexOf(\"#/definitions/properties/items/properties/choices/items\") === 0)) && (err64.schemaPath[\"#/definitions/properties/items/properties/choices/items\".length] === \"/\")){emErrs14.push(err64);err64.emUsed = true;}}if(emErrs14.length){const err65 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/choices/\" + i2,schemaPath:\"#/definitions/properties/items/properties/choices/items/errorMessage\",params:{errors: emErrs14},message:\"{ name, value } must be specified for \\\"Dropdown\\\" choices\"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}const emErrs15 = [];for(const err66 of vErrors){if(!err66.emUsed){emErrs15.push(err66);}}vErrors = emErrs15;errors = emErrs15.length;}}}else {const err67 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/choices\",schemaPath:\"#/definitions/properties/items/properties/choices/type\",params:{type: \"array\"},message:\"should be array\"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data4.binding !== undefined){let data27 = data4.binding;const _errs69 = errors;let valid33 = true;const _errs70 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if((data27.type === undefined) && (\"type\")){const err68 = {};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}else {if(data27.type !== undefined){let data28 = data27.type;if(!((((data28 === \"property\") || (data28 === \"camunda:property\")) || (data28 === \"camunda:inputParameter\")) || (data28 === \"camunda:field\"))){const err69 = {};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}}var _valid6 = _errs70 === errors;errors = _errs69;if(vErrors !== null){if(_errs69){vErrors.length = _errs69;}else {vErrors = null;}}if(_valid6){const _errs72 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.name === undefined){const err70 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/then/required\",params:{missingProperty: \"name\"},message:\"should have required property '\"+\"name\"+\"'\"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}if(errors > 0){const emErrs16 = [];for(const err71 of vErrors){if(((((err71.keyword !== \"errorMessage\") && (!err71.emUsed)) && ((err71.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") || ((err71.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") === 0) && (err71.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err71.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/0/then\") === 0)) && (err71.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/0/then\".length] === \"/\")){emErrs16.push(err71);err71.emUsed = true;}}if(emErrs16.length){const err72 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/then/errorMessage\",params:{errors: emErrs16},message:\"property.binding \" + JSON.stringify(data27 && data27.type) + \" requires name\"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}const emErrs17 = [];for(const err73 of vErrors){if(!err73.emUsed){emErrs17.push(err73);}}vErrors = emErrs17;errors = emErrs17.length;}var _valid6 = _errs72 === errors;valid33 = _valid6;}if(!valid33){const err74 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}const _errs74 = errors;let valid35 = true;const _errs75 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if((data27.type === undefined) && (\"type\")){const err75 = {};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}else {if(data27.type !== undefined){if(!equal(data27.type, \"camunda:outputParameter\")){const err76 = {};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}}}}var _valid7 = _errs75 === errors;errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}if(_valid7){const _errs77 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.source === undefined){const err77 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/then/required\",params:{missingProperty: \"source\"},message:\"should have required property '\"+\"source\"+\"'\"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}}if(errors > 0){const emErrs18 = [];for(const err78 of vErrors){if(((((err78.keyword !== \"errorMessage\") && (!err78.emUsed)) && ((err78.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") || ((err78.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") === 0) && (err78.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err78.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/1/then\") === 0)) && (err78.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/1/then\".length] === \"/\")){emErrs18.push(err78);err78.emUsed = true;}}if(emErrs18.length){const err79 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/then/errorMessage\",params:{errors: emErrs18},message:\"property.binding \" + JSON.stringify(data27 && data27.type) + \" requires source\"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}const emErrs19 = [];for(const err80 of vErrors){if(!err80.emUsed){emErrs19.push(err80);}}vErrors = emErrs19;errors = emErrs19.length;}var _valid7 = _errs77 === errors;valid35 = _valid7;}if(!valid35){const err81 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}const _errs79 = errors;let valid37 = true;const _errs80 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if((data27.type === undefined) && (\"type\")){const err82 = {};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}else {if(data27.type !== undefined){if(!equal(data27.type, \"camunda:in\")){const err83 = {};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}}}var _valid8 = _errs80 === errors;errors = _errs79;if(vErrors !== null){if(_errs79){vErrors.length = _errs79;}else {vErrors = null;}}if(_valid8){const _errs82 = errors;const _errs83 = errors;let valid39 = false;let passing0 = null;const _errs84 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.variables === undefined){const err84 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf/0/required\",params:{missingProperty: \"variables\"},message:\"should have required property '\"+\"variables\"+\"'\"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}var _valid9 = _errs84 === errors;if(_valid9){valid39 = true;passing0 = 0;}const _errs85 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.target === undefined){const err85 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf/1/required\",params:{missingProperty: \"target\"},message:\"should have required property '\"+\"target\"+\"'\"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}var _valid9 = _errs85 === errors;if(_valid9 && valid39){valid39 = false;passing0 = [passing0, 1];}else {if(_valid9){valid39 = true;passing0 = 1;}}if(!valid39){const err86 = {keyword:\"oneOf\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf\",params:{passingSchemas: passing0},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}else {errors = _errs83;if(vErrors !== null){if(_errs83){vErrors.length = _errs83;}else {vErrors = null;}}}if(errors > 0){const emErrs20 = [];for(const err87 of vErrors){if(((((err87.keyword !== \"errorMessage\") && (!err87.emUsed)) && ((err87.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") || ((err87.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") === 0) && (err87.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err87.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/2/then\") === 0)) && (err87.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/2/then\".length] === \"/\")){emErrs20.push(err87);err87.emUsed = true;}}if(emErrs20.length){const err88 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/errorMessage\",params:{errors: emErrs20},message:\"property.binding \" + JSON.stringify(data27 && data27.type) + \" requires variables or target\"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}const emErrs21 = [];for(const err89 of vErrors){if(!err89.emUsed){emErrs21.push(err89);}}vErrors = emErrs21;errors = emErrs21.length;}var _valid8 = _errs82 === errors;valid37 = _valid8;}if(!valid37){const err90 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}const _errs87 = errors;let valid40 = true;const _errs88 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if((data27.type === undefined) && (\"type\")){const err91 = {};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}else {if(data27.type !== undefined){if(!equal(data27.type, \"camunda:out\")){const err92 = {};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}}}var _valid10 = _errs88 === errors;errors = _errs87;if(vErrors !== null){if(_errs87){vErrors.length = _errs87;}else {vErrors = null;}}if(_valid10){const _errs90 = errors;const _errs91 = errors;let valid42 = false;let passing1 = null;const _errs92 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.variables === undefined){const err93 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/0/required\",params:{missingProperty: \"variables\"},message:\"should have required property '\"+\"variables\"+\"'\"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}var _valid11 = _errs92 === errors;if(_valid11){valid42 = true;passing1 = 0;}const _errs93 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.source === undefined){const err94 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/1/required\",params:{missingProperty: \"source\"},message:\"should have required property '\"+\"source\"+\"'\"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}var _valid11 = _errs93 === errors;if(_valid11 && valid42){valid42 = false;passing1 = [passing1, 1];}else {if(_valid11){valid42 = true;passing1 = 1;}const _errs94 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.sourceExpression === undefined){const err95 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/2/required\",params:{missingProperty: \"sourceExpression\"},message:\"should have required property '\"+\"sourceExpression\"+\"'\"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}var _valid11 = _errs94 === errors;if(_valid11 && valid42){valid42 = false;passing1 = [passing1, 2];}else {if(_valid11){valid42 = true;passing1 = 2;}}}if(!valid42){const err96 = {keyword:\"oneOf\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf\",params:{passingSchemas: passing1},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}else {errors = _errs91;if(vErrors !== null){if(_errs91){vErrors.length = _errs91;}else {vErrors = null;}}}if(errors > 0){const emErrs22 = [];for(const err97 of vErrors){if(((((err97.keyword !== \"errorMessage\") && (!err97.emUsed)) && ((err97.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") || ((err97.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") === 0) && (err97.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err97.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/3/then\") === 0)) && (err97.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/3/then\".length] === \"/\")){emErrs22.push(err97);err97.emUsed = true;}}if(emErrs22.length){const err98 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/errorMessage\",params:{errors: emErrs22},message:\"property.binding \" + JSON.stringify(data27 && data27.type) + \" requires variables, sourceExpression or source\"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}const emErrs23 = [];for(const err99 of vErrors){if(!err99.emUsed){emErrs23.push(err99);}}vErrors = emErrs23;errors = emErrs23.length;}var _valid10 = _errs90 === errors;valid40 = _valid10;}if(!valid40){const err100 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const _errs96 = errors;let valid43 = true;const _errs97 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if((data27.type === undefined) && (\"type\")){const err101 = {};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}else {if(data27.type !== undefined){if(!equal(data27.type, \"camunda:errorEventDefinition\")){const err102 = {};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}}}var _valid12 = _errs97 === errors;errors = _errs96;if(vErrors !== null){if(_errs96){vErrors.length = _errs96;}else {vErrors = null;}}if(_valid12){const _errs99 = errors;const _errs100 = errors;let valid45 = false;let passing2 = null;const _errs101 = errors;if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.errorRef === undefined){const err103 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/oneOf/0/required\",params:{missingProperty: \"errorRef\"},message:\"should have required property '\"+\"errorRef\"+\"'\"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}var _valid13 = _errs101 === errors;if(_valid13){valid45 = true;passing2 = 0;}if(!valid45){const err104 = {keyword:\"oneOf\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/oneOf\",params:{passingSchemas: passing2},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}else {errors = _errs100;if(vErrors !== null){if(_errs100){vErrors.length = _errs100;}else {vErrors = null;}}}if(errors > 0){const emErrs24 = [];for(const err105 of vErrors){if(((((err105.keyword !== \"errorMessage\") && (!err105.emUsed)) && ((err105.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") || ((err105.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\") === 0) && (err105.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err105.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/4/then\") === 0)) && (err105.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/4/then\".length] === \"/\")){emErrs24.push(err105);err105.emUsed = true;}}if(emErrs24.length){const err106 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/errorMessage\",params:{errors: emErrs24},message:\"property.binding \" + JSON.stringify(data27 && data27.type) + \" requires errorRef\"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}const emErrs25 = [];for(const err107 of vErrors){if(!err107.emUsed){emErrs25.push(err107);}}vErrors = emErrs25;errors = emErrs25.length;}var _valid12 = _errs99 === errors;valid43 = _valid12;}if(!valid43){const err108 = {keyword:\"if\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}if(data27 && typeof data27 == \"object\" && !Array.isArray(data27)){if(data27.type === undefined){const err109 = {keyword:\"required\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/required\",params:{missingProperty: \"type\"},message:\"should have required property '\"+\"type\"+\"'\"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}if(data27.type !== undefined){let data33 = data27.type;if(typeof data33 !== \"string\"){const err110 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}if(!((((((((((data33 === \"property\") || (data33 === \"camunda:property\")) || (data33 === \"camunda:inputParameter\")) || (data33 === \"camunda:outputParameter\")) || (data33 === \"camunda:in\")) || (data33 === \"camunda:out\")) || (data33 === \"camunda:in:businessKey\")) || (data33 === \"camunda:executionListener\")) || (data33 === \"camunda:field\")) || (data33 === \"camunda:errorEventDefinition\"))){const err111 = {keyword:\"enum\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/enum\",params:{allowedValues: schema18.items.properties.binding.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}if(errors > 0){const emErrs26 = [];for(const err112 of vErrors){if(((((err112.keyword !== \"errorMessage\") && (!err112.emUsed)) && ((err112.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/type\") || ((err112.dataPath.indexOf(dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/type\") === 0) && (err112.dataPath[dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/type\".length] === \"/\")))) && (err112.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/properties/type\") === 0)) && (err112.schemaPath[\"#/definitions/properties/items/properties/binding/properties/type\".length] === \"/\")){emErrs26.push(err112);err112.emUsed = true;}}if(emErrs26.length){const err113 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/errorMessage\",params:{errors: emErrs26},message:\"invalid property.binding type \" + JSON.stringify(data33) + \"; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }\"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}const emErrs27 = [];for(const err114 of vErrors){if(!err114.emUsed){emErrs27.push(err114);}}vErrors = emErrs27;errors = emErrs27.length;}}if(data27.name !== undefined){if(typeof data27.name !== \"string\"){const err115 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/name\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/name/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data27.event !== undefined){if(typeof data27.event !== \"string\"){const err116 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/event\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/event/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}if(data27.scriptFormat !== undefined){if(typeof data27.scriptFormat !== \"string\"){const err117 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/scriptFormat\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/scriptFormat/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data27.source !== undefined){if(typeof data27.source !== \"string\"){const err118 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/source\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/source/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}if(data27.target !== undefined){if(typeof data27.target !== \"string\"){const err119 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/target\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/target/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}if(data27.expression !== undefined){if(typeof data27.expression !== \"boolean\"){const err120 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/expression\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/expression/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}if(data27.variables !== undefined){let data40 = data27.variables;if(typeof data40 !== \"string\"){const err121 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/variables\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/variables/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}if(!((data40 === \"all\") || (data40 === \"local\"))){const err122 = {keyword:\"enum\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/variables\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/variables/enum\",params:{allowedValues: schema18.items.properties.binding.properties.variables.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}}if(data27.sourceExpression !== undefined){if(typeof data27.sourceExpression !== \"string\"){const err123 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding/sourceExpression\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/sourceExpression/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}else {const err124 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}if(data4.constraints !== undefined){let data42 = data4.constraints;if(data42 && typeof data42 == \"object\" && !Array.isArray(data42)){if(data42.notEmpty !== undefined){if(typeof data42.notEmpty !== \"boolean\"){const err125 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints/notEmpty\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/notEmpty/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data42.minLength !== undefined){if(!(typeof data42.minLength == \"number\")){const err126 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints/minLength\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/minLength/type\",params:{type: \"number\"},message:\"should be number\"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}if(data42.maxLength !== undefined){if(!(typeof data42.maxLength == \"number\")){const err127 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints/maxLength\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/maxLength/type\",params:{type: \"number\"},message:\"should be number\"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}if(data42.pattern !== undefined){let data46 = data42.pattern;const _errs129 = errors;let valid48 = false;let passing3 = null;const _errs130 = errors;if(data46 && typeof data46 == \"object\" && !Array.isArray(data46)){if(data46.value !== undefined){if(typeof data46.value !== \"string\"){const err128 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints/pattern/value\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data46.message !== undefined){if(typeof data46.message !== \"string\"){const err129 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints/pattern/message\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}}else {const err130 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}var _valid14 = _errs130 === errors;if(_valid14){valid48 = true;passing3 = 0;}const _errs136 = errors;if(typeof data46 !== \"string\"){const err131 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/1/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}var _valid14 = _errs136 === errors;if(_valid14 && valid48){valid48 = false;passing3 = [passing3, 1];}else {if(_valid14){valid48 = true;passing3 = 1;}}if(!valid48){const err132 = {keyword:\"oneOf\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf\",params:{passingSchemas: passing3},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}else {errors = _errs129;if(vErrors !== null){if(_errs129){vErrors.length = _errs129;}else {vErrors = null;}}}}}else {const err133 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1+\"/constraints\",schemaPath:\"#/definitions/properties/items/properties/constraints/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}}else {const err134 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}if(errors > 0){const emErrors0 = {\"required\":{\"binding\":[]}};const templates0 = {required:{binding:function(){return \"missing binding for property \\\"\" + JSON.stringify(i1) + \"\\\"\"}}};let emPropParams0;let emParamsErrors0;for(const err135 of vErrors){if((((((err135.keyword !== \"errorMessage\") && (!err135.emUsed)) && (err135.dataPath === dataPath+\"/\" + i0+\"/properties/\" + i1)) && (err135.keyword in emErrors0)) && (err135.schemaPath.indexOf(\"#/definitions/properties/items\") === 0)) && (/^\\/[^\\/]*$/.test(err135.schemaPath.slice(30)))){emPropParams0 = obj0[err135.keyword];emParamsErrors0 = emErrors0[err135.keyword][err135.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err135);err135.emUsed = true;}}}for(const key0 in emErrors0){for(const keyProp0 in emErrors0[key0]){emParamsErrors0 = emErrors0[key0][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates0[key0] && templates0[key0][keyProp0];const err136 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/errorMessage\",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema18.items.errorMessage[key0][keyProp0]};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}}const emErrs28 = [];for(const err137 of vErrors){if(!err137.emUsed){emErrs28.push(err137);}}vErrors = emErrs28;errors = emErrs28.length;}}}else {const err138 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0+\"/properties\",schemaPath:\"#/definitions/properties/type\",params:{type: \"array\"},message:\"should be array\"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}}else {const err139 = {keyword:\"type\",dataPath:dataPath+\"/\" + i0,schemaPath:\"#/items/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}if(errors > 0){const emErrors1 = {\"required\":{\"type\":[],\"properties\":[]}};const templates1 = {required:{properties:function(){return \"invalid scope \" + JSON.stringify(data0 && data0.type) + \", missing properties=[]\"}}};let emPropParams1;let emParamsErrors1;for(const err140 of vErrors){if((((((err140.keyword !== \"errorMessage\") && (!err140.emUsed)) && (err140.dataPath === dataPath+\"/\" + i0)) && (err140.keyword in emErrors1)) && (err140.schemaPath.indexOf(\"#/items\") === 0)) && (/^\\/[^\\/]*$/.test(err140.schemaPath.slice(7)))){emPropParams1 = obj0[err140.keyword];emParamsErrors1 = emErrors1[err140.keyword][err140.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err140);err140.emUsed = true;}}}for(const key1 in emErrors1){for(const keyProp1 in emErrors1[key1]){emParamsErrors1 = emErrors1[key1][keyProp1];if(emParamsErrors1.length){const tmpl1 = templates1[key1] && templates1[key1][keyProp1];const err141 = {keyword:\"errorMessage\",dataPath:dataPath+\"/\" + i0,schemaPath:\"#/items/errorMessage\",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema21.items.errorMessage[key1][keyProp1]};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}}}const emErrs29 = [];for(const err142 of vErrors){if(!err142.emUsed){emErrs29.push(err142);}}vErrors = emErrs29;errors = emErrs29.length;}}}else {const err143 = {keyword:\"type\",dataPath,schemaPath:\"#/type\",params:{type: \"array\"},message:\"should be array\"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}validate18.errors = vErrors;return errors === 0;}function validate15(data, {dataPath=\"\", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == \"object\" && !Array.isArray(data)){if(data.name === undefined){const err0 = {keyword:\"required\",dataPath,schemaPath:\"#/required\",params:{missingProperty: \"name\"},message:\"should have required property '\"+\"name\"+\"'\"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.id === undefined){const err1 = {keyword:\"required\",dataPath,schemaPath:\"#/required\",params:{missingProperty: \"id\"},message:\"should have required property '\"+\"id\"+\"'\"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.appliesTo === undefined){const err2 = {keyword:\"required\",dataPath,schemaPath:\"#/required\",params:{missingProperty: \"appliesTo\"},message:\"should have required property '\"+\"appliesTo\"+\"'\"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.properties === undefined){const err3 = {keyword:\"required\",dataPath,schemaPath:\"#/required\",params:{missingProperty: \"properties\"},message:\"should have required property '\"+\"properties\"+\"'\"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.name !== undefined){if(typeof data.name !== \"string\"){const err4 = {keyword:\"type\",dataPath:dataPath+\"/name\",schemaPath:\"#/properties/name/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.id !== undefined){if(typeof data.id !== \"string\"){const err5 = {keyword:\"type\",dataPath:dataPath+\"/id\",schemaPath:\"#/properties/id/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.description !== undefined){if(typeof data.description !== \"string\"){const err6 = {keyword:\"type\",dataPath:dataPath+\"/description\",schemaPath:\"#/properties/description/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.version !== undefined){if(!(typeof data.version == \"number\")){const err7 = {keyword:\"type\",dataPath:dataPath+\"/version\",schemaPath:\"#/properties/version/type\",params:{type: \"number\"},message:\"should be number\"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.isDefault !== undefined){if(typeof data.isDefault !== \"boolean\"){const err8 = {keyword:\"type\",dataPath:dataPath+\"/isDefault\",schemaPath:\"#/properties/isDefault/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.appliesTo !== undefined){let data5 = data.appliesTo;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0 0){const emErrors0 = {\"pattern\":[]};const templates0 = {};for(const err11 of vErrors){if((((((err11.keyword !== \"errorMessage\") && (!err11.emUsed)) && (err11.dataPath === dataPath+\"/appliesTo/\" + i0)) && (err11.keyword in emErrors0)) && (err11.schemaPath.indexOf(\"#/properties/appliesTo/items\") === 0)) && (/^\\/[^\\/]*$/.test(err11.schemaPath.slice(28)))){emErrors0[err11.keyword].push(err11);err11.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err12 = {keyword:\"errorMessage\",dataPath:dataPath+\"/appliesTo/\" + i0,schemaPath:\"#/properties/appliesTo/items/errorMessage\",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema17.properties.appliesTo.items.errorMessage[key0]};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}const emErrs0 = [];for(const err13 of vErrors){if(!err13.emUsed){emErrs0.push(err13);}}vErrors = emErrs0;errors = emErrs0.length;}}}else {const err14 = {keyword:\"type\",dataPath:dataPath+\"/appliesTo\",schemaPath:\"#/properties/appliesTo/type\",params:{type: \"array\"},message:\"should be array\"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.properties !== undefined){let data7 = data.properties;if(Array.isArray(data7)){const len1 = data7.length;for(let i1=0; i1 0){const emErrs1 = [];for(const err18 of vErrors){if(((((err18.keyword !== \"errorMessage\") && (!err18.emUsed)) && ((err18.dataPath === dataPath+\"/properties/\" + i1) || ((err18.dataPath.indexOf(dataPath+\"/properties/\" + i1) === 0) && (err18.dataPath[dataPath+\"/properties/\" + i1.length] === \"/\")))) && (err18.schemaPath.indexOf(\"#/definitions/properties/items/allOf/0/then\") === 0)) && (err18.schemaPath[\"#/definitions/properties/items/allOf/0/then\".length] === \"/\")){emErrs1.push(err18);err18.emUsed = true;}}if(emErrs1.length){const err19 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/0/then/errorMessage\",params:{errors: emErrs1},message:\"must provide choices=[] with \\\"Dropdown\\\" type\"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}const emErrs2 = [];for(const err20 of vErrors){if(!err20.emUsed){emErrs2.push(err20);}}vErrors = emErrs2;errors = emErrs2.length;}var _valid0 = _errs24 === errors;valid7 = _valid0;}if(!valid7){const err21 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/0/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}const _errs26 = errors;let valid9 = true;const _errs27 = errors;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if((data8.binding === undefined) && (\"binding\")){const err22 = {};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}else {if(data8.binding !== undefined){let data10 = data8.binding;if(data10 && typeof data10 == \"object\" && !Array.isArray(data10)){if((data10.type === undefined) && (\"type\")){const err23 = {};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}else {if(data10.type !== undefined){if(!equal(data10.type, \"property\")){const err24 = {};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}}}}}var _valid1 = _errs27 === errors;errors = _errs26;if(vErrors !== null){if(_errs26){vErrors.length = _errs26;}else {vErrors = null;}}if(_valid1){const _errs30 = errors;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if(data8.type !== undefined){let data12 = data8.type;if(!(((((data12 === \"String\") || (data12 === \"Text\")) || (data12 === \"Hidden\")) || (data12 === \"Dropdown\")) || (data12 === \"Boolean\"))){const err25 = {keyword:\"enum\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/1/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[1].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}if(errors > 0){const emErrs3 = [];for(const err26 of vErrors){if(((((err26.keyword !== \"errorMessage\") && (!err26.emUsed)) && ((err26.dataPath === dataPath+\"/properties/\" + i1+\"/type\") || ((err26.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/type\") === 0) && (err26.dataPath[dataPath+\"/properties/\" + i1+\"/type\".length] === \"/\")))) && (err26.schemaPath.indexOf(\"#/definitions/properties/items/allOf/1/then/properties/type\") === 0)) && (err26.schemaPath[\"#/definitions/properties/items/allOf/1/then/properties/type\".length] === \"/\")){emErrs3.push(err26);err26.emUsed = true;}}if(emErrs3.length){const err27 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/1/then/properties/type/errorMessage\",params:{errors: emErrs3},message:\"invalid property type \" + JSON.stringify(data12) + \" for binding type \\\"property\\\"; must be any of { String, Text, Hidden, Dropdown, Boolean }\"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}const emErrs4 = [];for(const err28 of vErrors){if(!err28.emUsed){emErrs4.push(err28);}}vErrors = emErrs4;errors = emErrs4.length;}}}var _valid1 = _errs30 === errors;valid9 = _valid1;}if(!valid9){const err29 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/1/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}const _errs33 = errors;let valid13 = true;const _errs34 = errors;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if((data8.binding === undefined) && (\"binding\")){const err30 = {};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {if(data8.binding !== undefined){let data13 = data8.binding;if(data13 && typeof data13 == \"object\" && !Array.isArray(data13)){if((data13.type === undefined) && (\"type\")){const err31 = {};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}else {if(data13.type !== undefined){if(!equal(data13.type, \"camunda:executionListener\")){const err32 = {};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}}}}}}var _valid2 = _errs34 === errors;errors = _errs33;if(vErrors !== null){if(_errs33){vErrors.length = _errs33;}else {vErrors = null;}}if(_valid2){const _errs37 = errors;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if(data8.type !== undefined){if(!(data8.type === \"Hidden\")){const err33 = {keyword:\"enum\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/2/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[2].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}if(errors > 0){const emErrs5 = [];for(const err34 of vErrors){if(((((err34.keyword !== \"errorMessage\") && (!err34.emUsed)) && ((err34.dataPath === dataPath+\"/properties/\" + i1+\"/type\") || ((err34.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/type\") === 0) && (err34.dataPath[dataPath+\"/properties/\" + i1+\"/type\".length] === \"/\")))) && (err34.schemaPath.indexOf(\"#/definitions/properties/items/allOf/2/then/properties/type\") === 0)) && (err34.schemaPath[\"#/definitions/properties/items/allOf/2/then/properties/type\".length] === \"/\")){emErrs5.push(err34);err34.emUsed = true;}}if(emErrs5.length){const err35 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/2/then/properties/type/errorMessage\",params:{errors: emErrs5},message:\"invalid property type \" + JSON.stringify(data8 && data8.type) + \" for binding type \\\"camunda:executionListener\\\"; must be \\\"Hidden\\\"\"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}const emErrs6 = [];for(const err36 of vErrors){if(!err36.emUsed){emErrs6.push(err36);}}vErrors = emErrs6;errors = emErrs6.length;}}}var _valid2 = _errs37 === errors;valid13 = _valid2;}if(!valid13){const err37 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/2/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}const _errs40 = errors;let valid17 = true;const _errs41 = errors;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if((data8.binding === undefined) && (\"binding\")){const err38 = {};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}else {if(data8.binding !== undefined){let data16 = data8.binding;if(data16 && typeof data16 == \"object\" && !Array.isArray(data16)){if((data16.type === undefined) && (\"type\")){const err39 = {};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}else {if(data16.type !== undefined){let data17 = data16.type;if(!((((((data17 === \"camunda:property\") || (data17 === \"camunda:outputParameter\")) || (data17 === \"camunda:in\")) || (data17 === \"camunda:in:businessKey\")) || (data17 === \"camunda:out\")) || (data17 === \"camunda:errorEventDefinition\"))){const err40 = {};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}}}}}}var _valid3 = _errs41 === errors;errors = _errs40;if(vErrors !== null){if(_errs40){vErrors.length = _errs40;}else {vErrors = null;}}if(_valid3){const _errs44 = errors;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if(data8.type !== undefined){let data18 = data8.type;if(!(((data18 === \"String\") || (data18 === \"Hidden\")) || (data18 === \"Dropdown\"))){const err41 = {keyword:\"enum\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/3/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[3].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}if(errors > 0){const emErrs7 = [];for(const err42 of vErrors){if(((((err42.keyword !== \"errorMessage\") && (!err42.emUsed)) && ((err42.dataPath === dataPath+\"/properties/\" + i1+\"/type\") || ((err42.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/type\") === 0) && (err42.dataPath[dataPath+\"/properties/\" + i1+\"/type\".length] === \"/\")))) && (err42.schemaPath.indexOf(\"#/definitions/properties/items/allOf/3/then/properties/type\") === 0)) && (err42.schemaPath[\"#/definitions/properties/items/allOf/3/then/properties/type\".length] === \"/\")){emErrs7.push(err42);err42.emUsed = true;}}if(emErrs7.length){const err43 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/3/then/properties/type/errorMessage\",params:{errors: emErrs7},message:\"invalid property type \" + JSON.stringify(data18) + \" for binding type \" + JSON.stringify(data8 && data8.binding && data8.binding.type) + \"; must be any of { String, Hidden, Dropdown }\"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}const emErrs8 = [];for(const err44 of vErrors){if(!err44.emUsed){emErrs8.push(err44);}}vErrors = emErrs8;errors = emErrs8.length;}}}var _valid3 = _errs44 === errors;valid17 = _valid3;}if(!valid17){const err45 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/3/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}const _errs47 = errors;let valid21 = true;const _errs48 = errors;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if((data8.binding === undefined) && (\"binding\")){const err46 = {};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}else {if(data8.binding !== undefined){let data19 = data8.binding;if(data19 && typeof data19 == \"object\" && !Array.isArray(data19)){if((data19.type === undefined) && (\"type\")){const err47 = {};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}else {if(data19.type !== undefined){let data20 = data19.type;if(!((data20 === \"camunda:inputParameter\") || (data20 === \"camunda:field\"))){const err48 = {};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}}}}}}var _valid4 = _errs48 === errors;errors = _errs47;if(vErrors !== null){if(_errs47){vErrors.length = _errs47;}else {vErrors = null;}}if(_valid4){const _errs51 = errors;if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if(data8.type !== undefined){let data21 = data8.type;if(!((((data21 === \"String\") || (data21 === \"Text\")) || (data21 === \"Hidden\")) || (data21 === \"Dropdown\"))){const err49 = {keyword:\"enum\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/4/then/properties/type/enum\",params:{allowedValues: schema18.items.allOf[4].then.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}if(errors > 0){const emErrs9 = [];for(const err50 of vErrors){if(((((err50.keyword !== \"errorMessage\") && (!err50.emUsed)) && ((err50.dataPath === dataPath+\"/properties/\" + i1+\"/type\") || ((err50.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/type\") === 0) && (err50.dataPath[dataPath+\"/properties/\" + i1+\"/type\".length] === \"/\")))) && (err50.schemaPath.indexOf(\"#/definitions/properties/items/allOf/4/then/properties/type\") === 0)) && (err50.schemaPath[\"#/definitions/properties/items/allOf/4/then/properties/type\".length] === \"/\")){emErrs9.push(err50);err50.emUsed = true;}}if(emErrs9.length){const err51 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/allOf/4/then/properties/type/errorMessage\",params:{errors: emErrs9},message:\"invalid property type \" + JSON.stringify(data21) + \" for binding type \" + JSON.stringify(data8 && data8.binding && data8.binding.type) + \"; must be any of { String, Text, Hidden, Dropdown }\"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}const emErrs10 = [];for(const err52 of vErrors){if(!err52.emUsed){emErrs10.push(err52);}}vErrors = emErrs10;errors = emErrs10.length;}}}var _valid4 = _errs51 === errors;valid21 = _valid4;}if(!valid21){const err53 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/allOf/4/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}if(data8 && typeof data8 == \"object\" && !Array.isArray(data8)){if(data8.binding === undefined){const err54 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/required\",params:{missingProperty: \"binding\"},message:\"should have required property '\"+\"binding\"+\"'\"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}if(data8.value !== undefined){let data22 = data8.value;if((typeof data22 !== \"string\") && (typeof data22 !== \"boolean\")){const err55 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/value\",schemaPath:\"#/definitions/properties/items/properties/value/type\",params:{type: schema18.items.properties.value.type},message:\"should be string,boolean\"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}if(data8.description !== undefined){if(typeof data8.description !== \"string\"){const err56 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/description\",schemaPath:\"#/definitions/properties/items/properties/description/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}if(data8.label !== undefined){if(typeof data8.label !== \"string\"){const err57 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/label\",schemaPath:\"#/definitions/properties/items/properties/label/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}if(data8.type !== undefined){if(typeof data8.type !== \"string\"){const err58 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/type\",schemaPath:\"#/definitions/properties/items/properties/type/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data8.editable !== undefined){if(typeof data8.editable !== \"boolean\"){const err59 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/editable\",schemaPath:\"#/definitions/properties/items/properties/editable/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}if(data8.choices !== undefined){let data27 = data8.choices;if(Array.isArray(data27)){const len2 = data27.length;for(let i2=0; i2 0){const emErrs11 = [];for(const err65 of vErrors){if(((((err65.keyword !== \"errorMessage\") && (!err65.emUsed)) && ((err65.dataPath === dataPath+\"/properties/\" + i1+\"/choices/\" + i2) || ((err65.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/choices/\" + i2) === 0) && (err65.dataPath[dataPath+\"/properties/\" + i1+\"/choices/\" + i2.length] === \"/\")))) && (err65.schemaPath.indexOf(\"#/definitions/properties/items/properties/choices/items\") === 0)) && (err65.schemaPath[\"#/definitions/properties/items/properties/choices/items\".length] === \"/\")){emErrs11.push(err65);err65.emUsed = true;}}if(emErrs11.length){const err66 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/choices/\" + i2,schemaPath:\"#/definitions/properties/items/properties/choices/items/errorMessage\",params:{errors: emErrs11},message:\"{ name, value } must be specified for \\\"Dropdown\\\" choices\"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}const emErrs12 = [];for(const err67 of vErrors){if(!err67.emUsed){emErrs12.push(err67);}}vErrors = emErrs12;errors = emErrs12.length;}}}else {const err68 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/choices\",schemaPath:\"#/definitions/properties/items/properties/choices/type\",params:{type: \"array\"},message:\"should be array\"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data8.binding !== undefined){let data31 = data8.binding;const _errs74 = errors;let valid30 = true;const _errs75 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if((data31.type === undefined) && (\"type\")){const err69 = {};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}else {if(data31.type !== undefined){let data32 = data31.type;if(!((((data32 === \"property\") || (data32 === \"camunda:property\")) || (data32 === \"camunda:inputParameter\")) || (data32 === \"camunda:field\"))){const err70 = {};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}}var _valid5 = _errs75 === errors;errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}if(_valid5){const _errs77 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.name === undefined){const err71 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/then/required\",params:{missingProperty: \"name\"},message:\"should have required property '\"+\"name\"+\"'\"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(errors > 0){const emErrs13 = [];for(const err72 of vErrors){if(((((err72.keyword !== \"errorMessage\") && (!err72.emUsed)) && ((err72.dataPath === dataPath+\"/properties/\" + i1+\"/binding\") || ((err72.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/binding\") === 0) && (err72.dataPath[dataPath+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err72.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/0/then\") === 0)) && (err72.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/0/then\".length] === \"/\")){emErrs13.push(err72);err72.emUsed = true;}}if(emErrs13.length){const err73 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/then/errorMessage\",params:{errors: emErrs13},message:\"property.binding \" + JSON.stringify(data31 && data31.type) + \" requires name\"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}const emErrs14 = [];for(const err74 of vErrors){if(!err74.emUsed){emErrs14.push(err74);}}vErrors = emErrs14;errors = emErrs14.length;}var _valid5 = _errs77 === errors;valid30 = _valid5;}if(!valid30){const err75 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/0/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}const _errs79 = errors;let valid32 = true;const _errs80 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if((data31.type === undefined) && (\"type\")){const err76 = {};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}else {if(data31.type !== undefined){if(!equal(data31.type, \"camunda:outputParameter\")){const err77 = {};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}}}}var _valid6 = _errs80 === errors;errors = _errs79;if(vErrors !== null){if(_errs79){vErrors.length = _errs79;}else {vErrors = null;}}if(_valid6){const _errs82 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.source === undefined){const err78 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/then/required\",params:{missingProperty: \"source\"},message:\"should have required property '\"+\"source\"+\"'\"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}}if(errors > 0){const emErrs15 = [];for(const err79 of vErrors){if(((((err79.keyword !== \"errorMessage\") && (!err79.emUsed)) && ((err79.dataPath === dataPath+\"/properties/\" + i1+\"/binding\") || ((err79.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/binding\") === 0) && (err79.dataPath[dataPath+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err79.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/1/then\") === 0)) && (err79.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/1/then\".length] === \"/\")){emErrs15.push(err79);err79.emUsed = true;}}if(emErrs15.length){const err80 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/then/errorMessage\",params:{errors: emErrs15},message:\"property.binding \" + JSON.stringify(data31 && data31.type) + \" requires source\"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}const emErrs16 = [];for(const err81 of vErrors){if(!err81.emUsed){emErrs16.push(err81);}}vErrors = emErrs16;errors = emErrs16.length;}var _valid6 = _errs82 === errors;valid32 = _valid6;}if(!valid32){const err82 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/1/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}const _errs84 = errors;let valid34 = true;const _errs85 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if((data31.type === undefined) && (\"type\")){const err83 = {};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}else {if(data31.type !== undefined){if(!equal(data31.type, \"camunda:in\")){const err84 = {};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}}}var _valid7 = _errs85 === errors;errors = _errs84;if(vErrors !== null){if(_errs84){vErrors.length = _errs84;}else {vErrors = null;}}if(_valid7){const _errs87 = errors;const _errs88 = errors;let valid36 = false;let passing0 = null;const _errs89 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.variables === undefined){const err85 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf/0/required\",params:{missingProperty: \"variables\"},message:\"should have required property '\"+\"variables\"+\"'\"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}var _valid8 = _errs89 === errors;if(_valid8){valid36 = true;passing0 = 0;}const _errs90 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.target === undefined){const err86 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf/1/required\",params:{missingProperty: \"target\"},message:\"should have required property '\"+\"target\"+\"'\"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}var _valid8 = _errs90 === errors;if(_valid8 && valid36){valid36 = false;passing0 = [passing0, 1];}else {if(_valid8){valid36 = true;passing0 = 1;}}if(!valid36){const err87 = {keyword:\"oneOf\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/oneOf\",params:{passingSchemas: passing0},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}else {errors = _errs88;if(vErrors !== null){if(_errs88){vErrors.length = _errs88;}else {vErrors = null;}}}if(errors > 0){const emErrs17 = [];for(const err88 of vErrors){if(((((err88.keyword !== \"errorMessage\") && (!err88.emUsed)) && ((err88.dataPath === dataPath+\"/properties/\" + i1+\"/binding\") || ((err88.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/binding\") === 0) && (err88.dataPath[dataPath+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err88.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/2/then\") === 0)) && (err88.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/2/then\".length] === \"/\")){emErrs17.push(err88);err88.emUsed = true;}}if(emErrs17.length){const err89 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/then/errorMessage\",params:{errors: emErrs17},message:\"property.binding \" + JSON.stringify(data31 && data31.type) + \" requires variables or target\"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}const emErrs18 = [];for(const err90 of vErrors){if(!err90.emUsed){emErrs18.push(err90);}}vErrors = emErrs18;errors = emErrs18.length;}var _valid7 = _errs87 === errors;valid34 = _valid7;}if(!valid34){const err91 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/2/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}const _errs92 = errors;let valid37 = true;const _errs93 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if((data31.type === undefined) && (\"type\")){const err92 = {};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}else {if(data31.type !== undefined){if(!equal(data31.type, \"camunda:out\")){const err93 = {};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}}}var _valid9 = _errs93 === errors;errors = _errs92;if(vErrors !== null){if(_errs92){vErrors.length = _errs92;}else {vErrors = null;}}if(_valid9){const _errs95 = errors;const _errs96 = errors;let valid39 = false;let passing1 = null;const _errs97 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.variables === undefined){const err94 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/0/required\",params:{missingProperty: \"variables\"},message:\"should have required property '\"+\"variables\"+\"'\"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}var _valid10 = _errs97 === errors;if(_valid10){valid39 = true;passing1 = 0;}const _errs98 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.source === undefined){const err95 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/1/required\",params:{missingProperty: \"source\"},message:\"should have required property '\"+\"source\"+\"'\"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}var _valid10 = _errs98 === errors;if(_valid10 && valid39){valid39 = false;passing1 = [passing1, 1];}else {if(_valid10){valid39 = true;passing1 = 1;}const _errs99 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.sourceExpression === undefined){const err96 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf/2/required\",params:{missingProperty: \"sourceExpression\"},message:\"should have required property '\"+\"sourceExpression\"+\"'\"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}var _valid10 = _errs99 === errors;if(_valid10 && valid39){valid39 = false;passing1 = [passing1, 2];}else {if(_valid10){valid39 = true;passing1 = 2;}}}if(!valid39){const err97 = {keyword:\"oneOf\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/oneOf\",params:{passingSchemas: passing1},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}else {errors = _errs96;if(vErrors !== null){if(_errs96){vErrors.length = _errs96;}else {vErrors = null;}}}if(errors > 0){const emErrs19 = [];for(const err98 of vErrors){if(((((err98.keyword !== \"errorMessage\") && (!err98.emUsed)) && ((err98.dataPath === dataPath+\"/properties/\" + i1+\"/binding\") || ((err98.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/binding\") === 0) && (err98.dataPath[dataPath+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err98.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/3/then\") === 0)) && (err98.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/3/then\".length] === \"/\")){emErrs19.push(err98);err98.emUsed = true;}}if(emErrs19.length){const err99 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/then/errorMessage\",params:{errors: emErrs19},message:\"property.binding \" + JSON.stringify(data31 && data31.type) + \" requires variables, sourceExpression or source\"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}const emErrs20 = [];for(const err100 of vErrors){if(!err100.emUsed){emErrs20.push(err100);}}vErrors = emErrs20;errors = emErrs20.length;}var _valid9 = _errs95 === errors;valid37 = _valid9;}if(!valid37){const err101 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/3/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}const _errs101 = errors;let valid40 = true;const _errs102 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if((data31.type === undefined) && (\"type\")){const err102 = {};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}else {if(data31.type !== undefined){if(!equal(data31.type, \"camunda:errorEventDefinition\")){const err103 = {};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}}var _valid11 = _errs102 === errors;errors = _errs101;if(vErrors !== null){if(_errs101){vErrors.length = _errs101;}else {vErrors = null;}}if(_valid11){const _errs104 = errors;const _errs105 = errors;let valid42 = false;let passing2 = null;const _errs106 = errors;if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.errorRef === undefined){const err104 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/oneOf/0/required\",params:{missingProperty: \"errorRef\"},message:\"should have required property '\"+\"errorRef\"+\"'\"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}var _valid12 = _errs106 === errors;if(_valid12){valid42 = true;passing2 = 0;}if(!valid42){const err105 = {keyword:\"oneOf\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/oneOf\",params:{passingSchemas: passing2},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}else {errors = _errs105;if(vErrors !== null){if(_errs105){vErrors.length = _errs105;}else {vErrors = null;}}}if(errors > 0){const emErrs21 = [];for(const err106 of vErrors){if(((((err106.keyword !== \"errorMessage\") && (!err106.emUsed)) && ((err106.dataPath === dataPath+\"/properties/\" + i1+\"/binding\") || ((err106.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/binding\") === 0) && (err106.dataPath[dataPath+\"/properties/\" + i1+\"/binding\".length] === \"/\")))) && (err106.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/allOf/4/then\") === 0)) && (err106.schemaPath[\"#/definitions/properties/items/properties/binding/allOf/4/then\".length] === \"/\")){emErrs21.push(err106);err106.emUsed = true;}}if(emErrs21.length){const err107 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/then/errorMessage\",params:{errors: emErrs21},message:\"property.binding \" + JSON.stringify(data31 && data31.type) + \" requires errorRef\"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}const emErrs22 = [];for(const err108 of vErrors){if(!err108.emUsed){emErrs22.push(err108);}}vErrors = emErrs22;errors = emErrs22.length;}var _valid11 = _errs104 === errors;valid40 = _valid11;}if(!valid40){const err109 = {keyword:\"if\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/allOf/4/if\",params:{failingKeyword: \"then\"},message:\"should match \\\"then\\\" schema\"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}if(data31 && typeof data31 == \"object\" && !Array.isArray(data31)){if(data31.type === undefined){const err110 = {keyword:\"required\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/required\",params:{missingProperty: \"type\"},message:\"should have required property '\"+\"type\"+\"'\"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}if(data31.type !== undefined){let data37 = data31.type;if(typeof data37 !== \"string\"){const err111 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}if(!((((((((((data37 === \"property\") || (data37 === \"camunda:property\")) || (data37 === \"camunda:inputParameter\")) || (data37 === \"camunda:outputParameter\")) || (data37 === \"camunda:in\")) || (data37 === \"camunda:out\")) || (data37 === \"camunda:in:businessKey\")) || (data37 === \"camunda:executionListener\")) || (data37 === \"camunda:field\")) || (data37 === \"camunda:errorEventDefinition\"))){const err112 = {keyword:\"enum\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/enum\",params:{allowedValues: schema18.items.properties.binding.properties.type.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}if(errors > 0){const emErrs23 = [];for(const err113 of vErrors){if(((((err113.keyword !== \"errorMessage\") && (!err113.emUsed)) && ((err113.dataPath === dataPath+\"/properties/\" + i1+\"/binding/type\") || ((err113.dataPath.indexOf(dataPath+\"/properties/\" + i1+\"/binding/type\") === 0) && (err113.dataPath[dataPath+\"/properties/\" + i1+\"/binding/type\".length] === \"/\")))) && (err113.schemaPath.indexOf(\"#/definitions/properties/items/properties/binding/properties/type\") === 0)) && (err113.schemaPath[\"#/definitions/properties/items/properties/binding/properties/type\".length] === \"/\")){emErrs23.push(err113);err113.emUsed = true;}}if(emErrs23.length){const err114 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/type\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/type/errorMessage\",params:{errors: emErrs23},message:\"invalid property.binding type \" + JSON.stringify(data37) + \"; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }\"};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}const emErrs24 = [];for(const err115 of vErrors){if(!err115.emUsed){emErrs24.push(err115);}}vErrors = emErrs24;errors = emErrs24.length;}}if(data31.name !== undefined){if(typeof data31.name !== \"string\"){const err116 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/name\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/name/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}if(data31.event !== undefined){if(typeof data31.event !== \"string\"){const err117 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/event\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/event/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data31.scriptFormat !== undefined){if(typeof data31.scriptFormat !== \"string\"){const err118 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/scriptFormat\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/scriptFormat/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}if(data31.source !== undefined){if(typeof data31.source !== \"string\"){const err119 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/source\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/source/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}if(data31.target !== undefined){if(typeof data31.target !== \"string\"){const err120 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/target\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/target/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}if(data31.expression !== undefined){if(typeof data31.expression !== \"boolean\"){const err121 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/expression\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/expression/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}if(data31.variables !== undefined){let data44 = data31.variables;if(typeof data44 !== \"string\"){const err122 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/variables\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/variables/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}if(!((data44 === \"all\") || (data44 === \"local\"))){const err123 = {keyword:\"enum\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/variables\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/variables/enum\",params:{allowedValues: schema18.items.properties.binding.properties.variables.enum},message:\"should be equal to one of the allowed values\"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}if(data31.sourceExpression !== undefined){if(typeof data31.sourceExpression !== \"string\"){const err124 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding/sourceExpression\",schemaPath:\"#/definitions/properties/items/properties/binding/properties/sourceExpression/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}}else {const err125 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/binding\",schemaPath:\"#/definitions/properties/items/properties/binding/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data8.constraints !== undefined){let data46 = data8.constraints;if(data46 && typeof data46 == \"object\" && !Array.isArray(data46)){if(data46.notEmpty !== undefined){if(typeof data46.notEmpty !== \"boolean\"){const err126 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints/notEmpty\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/notEmpty/type\",params:{type: \"boolean\"},message:\"should be boolean\"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}if(data46.minLength !== undefined){if(!(typeof data46.minLength == \"number\")){const err127 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints/minLength\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/minLength/type\",params:{type: \"number\"},message:\"should be number\"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}if(data46.maxLength !== undefined){if(!(typeof data46.maxLength == \"number\")){const err128 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints/maxLength\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/maxLength/type\",params:{type: \"number\"},message:\"should be number\"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data46.pattern !== undefined){let data50 = data46.pattern;const _errs134 = errors;let valid45 = false;let passing3 = null;const _errs135 = errors;if(data50 && typeof data50 == \"object\" && !Array.isArray(data50)){if(data50.value !== undefined){if(typeof data50.value !== \"string\"){const err129 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints/pattern/value\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}if(data50.message !== undefined){if(typeof data50.message !== \"string\"){const err130 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints/pattern/message\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}}else {const err131 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/0/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}var _valid13 = _errs135 === errors;if(_valid13){valid45 = true;passing3 = 0;}const _errs141 = errors;if(typeof data50 !== \"string\"){const err132 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf/1/type\",params:{type: \"string\"},message:\"should be string\"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}var _valid13 = _errs141 === errors;if(_valid13 && valid45){valid45 = false;passing3 = [passing3, 1];}else {if(_valid13){valid45 = true;passing3 = 1;}}if(!valid45){const err133 = {keyword:\"oneOf\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints/pattern\",schemaPath:\"#/definitions/properties/items/properties/constraints/properties/pattern/oneOf\",params:{passingSchemas: passing3},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}else {errors = _errs134;if(vErrors !== null){if(_errs134){vErrors.length = _errs134;}else {vErrors = null;}}}}}else {const err134 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1+\"/constraints\",schemaPath:\"#/definitions/properties/items/properties/constraints/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}}else {const err135 = {keyword:\"type\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}if(errors > 0){const emErrors1 = {\"required\":{\"binding\":[]}};const templates1 = {required:{binding:function(){return \"missing binding for property \\\"\" + JSON.stringify(i1) + \"\\\"\"}}};let emPropParams0;let emParamsErrors0;for(const err136 of vErrors){if((((((err136.keyword !== \"errorMessage\") && (!err136.emUsed)) && (err136.dataPath === dataPath+\"/properties/\" + i1)) && (err136.keyword in emErrors1)) && (err136.schemaPath.indexOf(\"#/definitions/properties/items\") === 0)) && (/^\\/[^\\/]*$/.test(err136.schemaPath.slice(30)))){emPropParams0 = obj0[err136.keyword];emParamsErrors0 = emErrors1[err136.keyword][err136.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err136);err136.emUsed = true;}}}for(const key1 in emErrors1){for(const keyProp0 in emErrors1[key1]){emParamsErrors0 = emErrors1[key1][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates1[key1] && templates1[key1][keyProp0];const err137 = {keyword:\"errorMessage\",dataPath:dataPath+\"/properties/\" + i1,schemaPath:\"#/definitions/properties/items/errorMessage\",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema18.items.errorMessage[key1][keyProp0]};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}}}const emErrs25 = [];for(const err138 of vErrors){if(!err138.emUsed){emErrs25.push(err138);}}vErrors = emErrs25;errors = emErrs25.length;}}}else {const err139 = {keyword:\"type\",dataPath:dataPath+\"/properties\",schemaPath:\"#/definitions/properties/type\",params:{type: \"array\"},message:\"should be array\"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}}if(data.metadata !== undefined){let data53 = data.metadata;if(!(data53 && typeof data53 == \"object\" && !Array.isArray(data53))){const err140 = {keyword:\"type\",dataPath:dataPath+\"/metadata\",schemaPath:\"#/properties/metadata/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}if(data.scopes !== undefined){let data54 = data.scopes;const _errs146 = errors;let valid47 = false;let passing4 = null;const _errs147 = errors;if(!(validate16(data54, {dataPath:dataPath+\"/scopes\",parentData:data,parentDataProperty:\"scopes\",rootData}))){vErrors = vErrors === null ? validate16.errors : vErrors.concat(validate16.errors);errors = vErrors.length;}var _valid14 = _errs147 === errors;if(_valid14){valid47 = true;passing4 = 0;}const _errs148 = errors;if(!(validate18(data54, {dataPath:dataPath+\"/scopes\",parentData:data,parentDataProperty:\"scopes\",rootData}))){vErrors = vErrors === null ? validate18.errors : vErrors.concat(validate18.errors);errors = vErrors.length;}var _valid14 = _errs148 === errors;if(_valid14 && valid47){valid47 = false;passing4 = [passing4, 1];}else {if(_valid14){valid47 = true;passing4 = 1;}}if(!valid47){const err141 = {keyword:\"oneOf\",dataPath:dataPath+\"/scopes\",schemaPath:\"#/properties/scopes/oneOf\",params:{passingSchemas: passing4},message:\"should match exactly one schema in oneOf\"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}else {errors = _errs146;if(vErrors !== null){if(_errs146){vErrors.length = _errs146;}else {vErrors = null;}}}}if(data.entriesVisible !== undefined){let data55 = data.entriesVisible;if((!(data55 && typeof data55 == \"object\" && !Array.isArray(data55))) && (typeof data55 !== \"boolean\")){const err142 = {keyword:\"type\",dataPath:dataPath+\"/entriesVisible\",schemaPath:\"#/properties/entriesVisible/type\",params:{type: schema17.properties.entriesVisible.type},message:\"should be object,boolean\"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}}}else {const err143 = {keyword:\"type\",dataPath,schemaPath:\"#/type\",params:{type: \"object\"},message:\"should be object\"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}if(errors > 0){const emErrors2 = {\"required\":{\"name\":[],\"id\":[],\"appliesTo\":[],\"properties\":[]}};const templates2 = {required:{}};let emPropParams1;let emParamsErrors1;for(const err144 of vErrors){if((((((err144.keyword !== \"errorMessage\") && (!err144.emUsed)) && (err144.dataPath === dataPath)) && (err144.keyword in emErrors2)) && (err144.schemaPath.indexOf(\"#\") === 0)) && (/^\\/[^\\/]*$/.test(err144.schemaPath.slice(1)))){emPropParams1 = obj0[err144.keyword];emParamsErrors1 = emErrors2[err144.keyword][err144.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err144);err144.emUsed = true;}}}for(const key2 in emErrors2){for(const keyProp1 in emErrors2[key2]){emParamsErrors1 = emErrors2[key2][keyProp1];if(emParamsErrors1.length){const tmpl1 = templates2[key2] && templates2[key2][keyProp1];const err145 = {keyword:\"errorMessage\",dataPath,schemaPath:\"#/errorMessage\",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema17.errorMessage[key2][keyProp1]};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}}const emErrs26 = [];for(const err146 of vErrors){if(!err146.emUsed){emErrs26.push(err146);}}vErrors = emErrs26;errors = emErrs26.length;}validate15.errors = vErrors;return errors === 0;}function validate14(data, {dataPath=\"\", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(!(validate15(data, {dataPath,parentData,parentDataProperty,rootData}))){vErrors = vErrors === null ? validate15.errors : vErrors.concat(validate15.errors);errors = vErrors.length;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs2 = errors;if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0 extensions produces a couple of\n // unnecessary errors when using an attribute.\n // Therefore, we should flatten the produced errors a bit to not\n // confuse the consumer of this library.\n\n // (1) wrap raw errors in case of custom errorMessage attribute\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(errors, wrapRawErrors);\n\n // (2) ignore supportive error messages (e.g. \"if-then-rules\")\n errors = ignoreSupportiveErrors(errors);\n\n // (3) set data pointer for each error\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(errors, function(error) {\n setDataPointer(error, dataPointerMap);\n });\n }\n\n return {\n valid: valid,\n object: object,\n errors: errors\n };\n}\n\n/**\n * Validate a list of objects\n *\n * @param {Object[]} objects\n * @return {Object} list validation result\n */\nfunction validateAll(objects) {\n\n const results = [];\n\n let allValid = true;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(objects, function(object) {\n const result = validate(object);\n\n if (!result.valid) {\n allValid = false;\n }\n\n results.push(result);\n });\n\n return {\n valid: allValid,\n results: results\n };\n}\n\n\n// helper //////////////\nfunction wrapRawErrors(error) {\n const params = error.params;\n\n if (params && params.errors) {\n params.rawErrors = params.errors;\n delete params.errors;\n }\n}\n\nfunction setDataPointer(error, dataPointerMap) {\n const dataPath = error.dataPath;\n\n const pointer = dataPointerMap[dataPath];\n\n error.dataPointer = pointer;\n}\n\nfunction ignoreSupportiveErrors(errors) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(errors, function(error) {\n return error.keyword !== 'if';\n });\n}\n\n/**\n * Generates a key-pointer map for the object.\n *\n * Example:\n *\n * {\n * foo: 'bar'\n * }\n *\n * =>\n *\n * {\n * '': {\n * value: { line: 0, column: 0, pos: 0 },\n * valueEnd: { line: 2, column: 1, pos: 18 }\n * },\n * '/foo': {\n * key: { line: 1, column: 2, pos: 4 },\n * keyEnd: { line: 1, column: 7, pos: 9 },\n * value: { line: 1, column: 9, pos: 11 },\n * valueEnd: { line: 1, column: 14, pos: 16 }\n * }\n * }\n *\n * @param {Object} object\n * @return {Object}\n */\nfunction generateDataPointerMap(object) {\n return jsonSourceMap.stringify(object, null, 2).pointers;\n}\n\n\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/@bpmn-io/element-templates-validator/dist/index.esm.js?");
/***/ }),
/***/ "./node_modules/@bpmn-io/extract-process-variables/dist/index.esm.js":
/*!***************************************************************************!*\
!*** ./node_modules/@bpmn-io/extract-process-variables/dist/index.esm.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getProcessVariables\": () => (/* binding */ getProcessVariables),\n/* harmony export */ \"getVariablesForScope\": () => (/* binding */ getVariablesForScope)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n/**\n * Get a inputOutput from the business object\n *\n * @param {ModdleElement} element\n *\n * @return {ModdleElement} the inputOutput object\n */\nfunction getInputOutput(element) {\n return (getElements(element, 'camunda:InputOutput') || [])[0];\n}\n\n/**\n * Return all input parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} a list of input parameter objects\n */\nfunction getInputParameters(element) {\n return getParameters(element, 'inputParameters');\n}\n\n/**\n * Return all output parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {ModdleElement} element\n * @param {boolean} insideConnector\n *\n * @return {Array} a list of output parameter objects\n */\nfunction getOutputParameters(element) {\n return getParameters(element, 'outputParameters');\n}\n\n/**\n * Return all form fields existing in the business object, and\n * an empty array if none exist.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} a list of form fields\n */\nfunction getFormFields(element) {\n var formData = getFormData(element);\n return (formData && formData.get('fields')) || [];\n}\n\n/**\n * Return form data existing in the business object\n *\n * @param {ModdleElement} element\n *\n * @return {ModdleElement}\n */\nfunction getFormData(element) {\n return (getElements(element, 'camunda:FormData') || [])[0];\n}\n\n/**\n * Return out mappings existing in the business object\n *\n * @param {ModdleElement} element\n *\n * @return {Array}\n */\nfunction getOutMappings(element) {\n return getElements(element, 'camunda:Out') || [];\n}\n\n\n// helpers //////////\n\nfunction getElements(element, type, property) {\n var elements = getExtensionElements(element, type) || [];\n\n return !property ? elements : (elements[0] || {})[property] || [];\n}\n\nfunction getParameters(element, property) {\n var inputOutput = getInputOutput(element);\n\n return (inputOutput && inputOutput.get(property)) || [];\n}\n\nfunction getExtensionElements(element, type) {\n var extensionElements = element.get('extensionElements');\n\n if (typeof extensionElements !== 'undefined') {\n var extensionValues = extensionElements.get('values');\n\n if (typeof extensionValues !== 'undefined') {\n var elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(extensionValues, function(value) {\n return is(value, type);\n });\n\n if (elements.length) {\n return elements;\n }\n }\n }\n}\n\nfunction is(element, type) {\n return (\n element &&\n typeof element.$instanceOf === 'function' &&\n element.$instanceOf(type)\n );\n}\n\n/**\n * Get all parent elements for a given element.\n *\n * @param {ModdleElement|string} element\n *\n * @returns {Array}\n */\nfunction getParents(element) {\n var parents = [];\n var current = element;\n\n while (current.$parent) {\n parents.push(current.$parent);\n current = current.$parent;\n }\n\n return parents;\n}\n\n/**\n * Iterate over each element in a collection, calling the iterator function `fn`\n * with (element, index, recursionDepth).\n *\n * Recurse into all elements that are returned by `fn`.\n *\n * @param {Object|Array} elements\n * @param {Function} fn iterator function called with (element, index, recursionDepth)\n * @param {number} [depth] maximum recursion depth\n */\nfunction eachElement(elements, fn, depth) {\n depth = depth || 0;\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements)) {\n elements = [elements];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(s, i) {\n var filter = fn(s, i, depth);\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(filter) && filter.length) {\n eachElement(filter, fn, depth + 1);\n }\n });\n}\n\n/**\n * Adds an element to a collection and returns true if the\n * element was added.\n *\n * @param {Array} elements\n * @param {Object} e\n * @param {boolean} unique\n */\nfunction add(elements, e, unique) {\n var canAdd = !unique || elements.indexOf(e) === -1;\n\n if (canAdd) {\n elements.push(e);\n }\n\n return canAdd;\n}\n\n/**\n * Collects self + flow elements up to a given depth from a list of elements.\n *\n * @param {ModdleElement|Array} elements the elements to select the flowElements from\n * @param {boolean} unique whether to return a unique result set (no duplicates)\n * @param {number} maxDepth the depth to search through or -1 for infinite\n *\n * @return {Array} found elements\n */\nfunction selfAndFlowElements(elements, unique, maxDepth) {\n var result = [],\n processedFlowElements = [];\n\n eachElement(elements, function(element, i, depth) {\n add(result, element, unique);\n\n var flowElements = element.flowElements;\n\n // max traversal depth not reached yet\n if (maxDepth === -1 || depth < maxDepth) {\n\n // flowElements exist && flowElements not yet processed\n if (flowElements && add(processedFlowElements, flowElements, unique)) {\n return flowElements;\n }\n }\n });\n\n return result;\n}\n\n/**\n * Return self + ALL flowElements for a number of elements\n *\n * @param {Array} elements to query\n * @param {boolean} allowDuplicates to allow duplicates in the result set\n *\n * @return {Array} the collected elements\n */\nfunction selfAndAllFlowElements(elements, allowDuplicates) {\n return selfAndFlowElements(elements, !allowDuplicates, -1);\n}\n\n/**\n * Return full moddle element for given element id\n *\n * @param {string} elementId\n * @param {ModdleElement} rootElement\n *\n * @returns {ModdleElement}\n */\nfunction getElement(elementId, rootElement) {\n var allElements = selfAndAllFlowElements(rootElement);\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(allElements, function(element) {\n return element.id === elementId;\n });\n}\n\nfunction addVariableToList(variablesList, newVariable) {\n var foundIdx = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.findIndex)(variablesList, function(variable) {\n return (\n variable.name === newVariable.name && variable.scope === newVariable.scope\n );\n });\n\n if (foundIdx >= 0) {\n variablesList[foundIdx].origin = combineArrays(\n variablesList[foundIdx].origin,\n newVariable.origin\n );\n } else {\n variablesList.push(newVariable);\n }\n}\n\n/**\n * Creates new process variable definition object\n * Identifies correct (highest) scope, in which variable is available\n *\n * @param {ModdleElement} flowElement\n * @param {String} name\n * @param {ModdleElement} defaultScope\n *\n * @returns {ProcessVariable}\n */\nfunction createProcessVariable(flowElement, name, defaultScope) {\n var scope = getScope(flowElement, defaultScope, name);\n\n return {\n name: name,\n origin: [flowElement],\n scope: scope,\n };\n}\n\n\n// helpers ////////////////////\n\n/**\n * Set parent container if it defines it's own scope for the variable, so\n * when it defines an input mapping for it. Otherwise returns the default global scope\n */\nfunction getScope(element, globalScope, variableName) {\n var parents = getParents(element);\n\n var scopedParent = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(parents, function(parent) {\n return (\n is$1(parent, 'bpmn:SubProcess') && hasInputParameter(parent, variableName)\n );\n });\n\n return scopedParent ? scopedParent : globalScope;\n}\n\nfunction is$1(element, type) {\n return (\n element &&\n typeof element.$instanceOf === 'function' &&\n element.$instanceOf(type)\n );\n}\n\nfunction hasInputParameter(element, name) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(getInputParameters(element), function(input) {\n return input.name === name;\n });\n}\n\nfunction combineArrays(a, b) {\n return a.concat(b);\n}\n\n/**\n * Retrieves process variables defined in output parameters, e.g.\n *\n * \n * 200 \n * ${myLocalVar + 20} \n * \n *\n * => Adds two variables \"variable1\" & \"variable2\" to the list.\n *\n */\nfunction extractOutputParameters(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements)) {\n elements = [ elements ];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n\n // variables are created by output parameters\n var outputParameters = getOutputParameters(element);\n\n // extract all variables with correct scope\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(outputParameters, function(parameter) {\n var newVariable = createProcessVariable(\n element,\n parameter.name,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n });\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves process variables defined in result variables, e.g.\n *\n * \n *\n * => Adds one variable \"variable1\"to the list.\n *\n */\nfunction extractResultVariables(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements)) {\n elements = [ elements ];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n\n var resultVariable = getResultVariable(element);\n\n if (resultVariable) {\n var newVariable = createProcessVariable(\n element,\n resultVariable,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n }\n });\n\n return processVariables;\n}\n\n\n// helpers ///////////////////////\n\nfunction getResultVariable(element) {\n return element.get('camunda:resultVariable');\n}\n\n/**\n * Retrieves process variables defined in form fields, e.g.\n *\n * \n * \n * \n * \n *\n * => Adds two variables \"variable1\" & \"variable2\" to the list.\n *\n */\nfunction extractFormFields(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements)) {\n elements = [ elements ];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n\n var formFields = getFormFields(element);\n\n // extract all variables with correct scope\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(formFields, function(field) {\n var newVariable = createProcessVariable(\n element,\n field.id,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n });\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves process variables defined in output mappings and\n * ignores local variables, e.g.\n *\n * \n * \n * \n * \n *\n * => Adds one variable \"variable1\" to the list.\n *\n */\nfunction extractOutMappings(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements)) {\n elements = [ elements ];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n\n var outMappings = getOutMappings(element);\n\n // extract all variables with correct scope\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(outMappings, function(mapping) {\n\n // do not use variables marked as \n if (mapping.local) {\n return;\n }\n\n var newVariable = createProcessVariable(\n element,\n mapping.target,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n });\n });\n\n return processVariables;\n}\n\n/**\n *\n * @param {ModdleElement} element\n * @param {string} [type] - optional\n *\n * @return {Array|undefined} collection of event definitions or none\n */\nfunction getEventDefinitions(element, type) {\n var eventDefinitions = element.eventDefinitions;\n\n if (!eventDefinitions || !type) {\n return eventDefinitions;\n }\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(eventDefinitions, function(definition) {\n return is$2(definition, type);\n });\n}\n\n/**\n * Returns error event definitions for a given element.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} collection of error event definitions\n */\nfunction getErrorEventDefinitions(element) {\n return getEventDefinitions(element, 'bpmn:ErrorEventDefinition');\n}\n\n/**\n * Returns escalation event definitions for a given element.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} collection of escalation event definitions\n */\nfunction getEscalationEventDefinitions(element) {\n return getEventDefinitions(element, 'bpmn:EscalationEventDefinition');\n}\n\n\n// helper ////////////////\n\nfunction is$2(element, type) {\n return (\n element &&\n typeof element.$instanceOf === 'function' &&\n element.$instanceOf(type)\n );\n}\n\n/**\n * Retrieves process variables defined in event definitions, e.g.\n *\n * \n *\n * => Adds one variable \"variable1\" to the list.\n *\n * \n *\n * => Adds two variables \"variable2\" & \"variable3\" to the list.\n *\n */\nfunction extractEventDefinitionVariables(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n var addVariable = function(element, name) {\n var newVariable = createProcessVariable(\n element,\n name,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n };\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements)) {\n elements = [ elements ];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n\n // (1) error event code + message variable\n var errorEventDefinitions = getErrorEventDefinitions(element);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(errorEventDefinitions, function(definition) {\n\n var errorCodeVariable = definition.get('errorCodeVariable'),\n errorMessageVariable = definition.get('errorMessageVariable');\n\n if (errorCodeVariable) {\n addVariable(element, errorCodeVariable);\n }\n\n if (errorMessageVariable) {\n addVariable(element, errorMessageVariable);\n }\n });\n\n // (2) escalation code variable\n var escalationEventDefinitions = getEscalationEventDefinitions(element);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(escalationEventDefinitions, function(definition) {\n\n var escalationCodeVariable = definition.get('escalationCodeVariable');\n\n if (escalationCodeVariable) {\n addVariable(element, escalationCodeVariable);\n }\n });\n\n });\n\n return processVariables;\n}\n\nvar extractors = [\n extractOutputParameters,\n extractResultVariables,\n extractFormFields,\n extractOutMappings,\n extractEventDefinitionVariables\n];\n\n/**\n * @typedef {Object} ProcessVariable\n * @property {string} name\n * @property {Array} origin\n * @property {ModdleElement} scope\n */\n\n// api /////////////////////////\n\n/**\n * Retrieves all process variables for a given container element.\n * @param {ModdleElement} containerElement\n *\n * @returns {Array}\n */\nfunction getProcessVariables(containerElement) {\n var processVariables = [];\n\n // (1) extract all flow elements inside the container\n var elements = selfAndAllFlowElements([containerElement], false);\n\n // (2) extract all variables from the extractors\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(extractors, function(extractor) {\n extractor({\n elements: elements,\n containerElement: containerElement,\n processVariables: processVariables\n });\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves all variables which are available in the given scope\n *\n * * Exclude variables which are only available in other scopes\n * * Exclude variables which are produced by the given element\n * * Include variables which are available in parent scopes\n *\n * @param {string} scope\n * @param {ModdleElement} rootElement element from where to extract all variables\n *\n * @returns {Array}\n */\nfunction getVariablesForScope(scope, rootElement) {\n\n var allVariables = getProcessVariables(rootElement);\n\n var scopeElement = getElement(scope, rootElement);\n\n // (1) get variables for given scope\n var scopeVariables = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(allVariables, function(variable) {\n return variable.scope.id === scopeElement.id;\n });\n\n // (2) get variables for parent scopes\n var parents = getParents(scopeElement);\n\n var parentsScopeVariables = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(allVariables, function(variable) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(parents, function(parent) {\n return parent.id === variable.scope.id;\n });\n });\n\n return combineArrays$1(scopeVariables, parentsScopeVariables);\n}\n\n// helpers ////////////////////\n\nfunction combineArrays$1(a, b) {\n return a.concat(b);\n}\n\n\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/@bpmn-io/extract-process-variables/dist/index.esm.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/index.js":
/*!********************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/index.js ***!
\********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("module.exports = __webpack_require__(/*! ./lib */ \"./node_modules/bpmn-js-properties-panel/lib/index.js\");\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/PropertiesActivator.js":
/*!**************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/PropertiesActivator.js ***!
\**************************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\nvar DEFAULT_PRIORITY = 1000;\n\n\n/**\n * A component that decides upon the visibility / editable\n * state of properties in the properties panel.\n *\n * Implementors must subclass this component and override\n * {@link PropertiesActivator#isEntryVisible} and\n * {@link PropertiesActivator#isPropertyEditable} to provide\n * custom behavior.\n *\n * @class\n * @constructor\n *\n * @param {EventBus} eventBus\n * @param {Number} [priority] at which priority to hook into the activation\n */\nfunction PropertiesActivator(eventBus, priority) {\n var self = this;\n\n priority = priority || DEFAULT_PRIORITY;\n\n eventBus.on('propertiesPanel.isEntryVisible', priority, function(context) {\n var element = context.element,\n entry = context.entry,\n group = context.group,\n tab = context.tab;\n\n return self.isEntryVisible(element, entry, group, tab);\n });\n\n eventBus.on('propertiesPanel.isPropertyEditable', priority, function(context) {\n var element = context.element,\n entry = context.entry,\n group = context.group,\n propertyName = context.propertyName,\n tab = context.tab;\n\n return self.isPropertyEditable(propertyName, element, entry, group, tab);\n });\n}\n\nPropertiesActivator.$inject = [ 'eventBus' ];\n\nmodule.exports = PropertiesActivator;\n\n\n/**\n * Should the given entry be visible for the specified element.\n *\n * @method PropertiesActivator#isEntryVisible\n *\n * @param {ModdleElement} element\n * @param {Object} entry\n * @param {Object} group\n * @param {Object} tab\n *\n * @returns {boolean}\n */\nPropertiesActivator.prototype.isEntryVisible = function(element, entry, group, tab) {\n return true;\n};\n\n/**\n * Should the given property be editable for the specified element\n *\n * @method PropertiesActivator#isPropertyEditable\n *\n * @param {string} propertyName\n * @param {ModdleElement} element\n * @param {Object} entry\n * @param {Object} group\n * @param {Object} tab\n *\n * @returns {boolean}\n */\nPropertiesActivator.prototype.isPropertyEditable = function(propertyName, element, entry, group, tab) {\n return true;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/PropertiesActivator.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/PropertiesPanel.js":
/*!**********************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/PropertiesPanel.js ***!
\**********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar createDropdown = __webpack_require__(/*! ./Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").createDropdown,\n escapeHTML = __webpack_require__(/*! ./Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query,\n domQueryAll = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").queryAll,\n domRemove = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").remove,\n domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes,\n domClosest = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").closest,\n domAttr = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").attr,\n domDelegate = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").delegate,\n domMatches = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").matches;\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\"),\n filter = __webpack_require__(/*! lodash/filter */ \"./node_modules/lodash/filter.js\"),\n get = __webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"),\n keys = __webpack_require__(/*! lodash/keys */ \"./node_modules/lodash/keys.js\"),\n isEmpty = __webpack_require__(/*! lodash/isEmpty */ \"./node_modules/lodash/isEmpty.js\"),\n isArray = __webpack_require__(/*! lodash/isArray */ \"./node_modules/lodash/isArray.js\"),\n isFunction = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"),\n isObject = __webpack_require__(/*! lodash/isObject */ \"./node_modules/lodash/isObject.js\"),\n xor = __webpack_require__(/*! lodash/xor */ \"./node_modules/lodash/xor.js\"),\n debounce = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\"),\n flattenDeep = __webpack_require__(/*! lodash/flattenDeep */ \"./node_modules/lodash/flattenDeep.js\"),\n keyBy = __webpack_require__(/*! lodash/keyBy */ \"./node_modules/lodash/keyBy.js\"),\n map = __webpack_require__(/*! lodash/map */ \"./node_modules/lodash/map.js\"),\n reduce = __webpack_require__(/*! lodash/reduce */ \"./node_modules/lodash/reduce.js\");\n\nvar updateSelection = __webpack_require__(/*! selection-update */ \"./node_modules/selection-update/index.js\");\n\nvar scrollTabs = __webpack_require__(/*! scroll-tabs */ \"./node_modules/scroll-tabs/index.js\").default;\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar HIDE_CLASS = 'bpp-hidden';\nvar DEBOUNCE_DELAY = 300;\n\nvar DEFAULT_PRIORITY = 1000;\n\nfunction isToggle(node) {\n return node.type === 'checkbox' || node.type === 'radio';\n}\n\nfunction isSelect(node) {\n return node.type === 'select-one';\n}\n\nfunction isContentEditable(node) {\n return domAttr(node, 'contenteditable');\n}\n\nfunction getPropertyPlaceholders(node) {\n var selector = 'input[name], textarea[name], [data-value], [contenteditable]';\n var placeholders = domQueryAll(selector, node);\n if ((!placeholders || !placeholders.length) && domMatches(node, selector)) {\n placeholders = [ node ];\n }\n return placeholders;\n}\n\n/**\n * Return all active form controls.\n * This excludes the invisible controls unless all is true\n *\n * @param {Element} node\n * @param {Boolean} [all=false]\n */\nfunction getFormControls(node, all) {\n var controls = domQueryAll('input[name], textarea[name], select[name], [contenteditable]', node);\n\n if (!controls || !controls.length) {\n controls = domMatches(node, 'option') ? [ node ] : controls;\n }\n\n if (!all) {\n controls = filter(controls, function(node) {\n return !domClosest(node, '.' + HIDE_CLASS);\n });\n }\n\n return controls;\n}\n\nfunction getFormControlValuesInScope(entryNode) {\n var values = {};\n\n var controlNodes = getFormControls(entryNode);\n\n forEach(controlNodes, function(controlNode) {\n var value = controlNode.value;\n\n var name = domAttr(controlNode, 'name') || domAttr(controlNode, 'data-name');\n\n // take toggle state into account for radio / checkboxes\n if (isToggle(controlNode)) {\n if (controlNode.checked) {\n if (!domAttr(controlNode, 'value')) {\n value = true;\n } else {\n value = controlNode.value;\n }\n } else {\n value = null;\n }\n } else\n if (isContentEditable(controlNode)) {\n value = controlNode.innerText;\n }\n\n if (value !== null) {\n\n // return the actual value\n // handle serialization in entry provider\n // (ie. if empty string should be serialized or not)\n values[name] = value;\n }\n });\n\n return values;\n\n}\n\n/**\n * Extract input values from entry node\n *\n * @param {DOMElement} entryNode\n * @returns {Object}\n */\nfunction getFormControlValues(entryNode) {\n\n var values;\n\n var listContainer = domQuery('[data-list-entry-container]', entryNode);\n if (listContainer) {\n values = [];\n var listNodes = listContainer.children || [];\n forEach(listNodes, function(listNode) {\n values.push(getFormControlValuesInScope(listNode));\n });\n } else {\n values = getFormControlValuesInScope(entryNode);\n }\n\n return values;\n}\n\n/**\n * Return true if the given form extracted value equals\n * to an old cached version.\n *\n * @param {Object} value\n * @param {Object} oldValue\n * @return {Boolean}\n */\nfunction valueEqual(value, oldValue) {\n\n if (value && !oldValue) {\n return false;\n }\n\n var allKeys = keys(value).concat(keys(oldValue));\n\n return allKeys.every(function(key) {\n return value[key] === oldValue[key];\n });\n}\n\n/**\n * Return true if the given form extracted value(s)\n * equal an old cached version.\n *\n * @param {Array|Object} values\n * @param {Array|Object} oldValues\n * @return {Boolean}\n */\nfunction valuesEqual(values, oldValues) {\n\n if (isArray(values)) {\n\n if (values.length !== oldValues.length) {\n return false;\n }\n\n return values.every(function(v, idx) {\n return valueEqual(v, oldValues[idx]);\n });\n }\n\n return valueEqual(values, oldValues);\n}\n\n/**\n * Return a mapping of { id: entry } for all entries in the given groups in the given tabs.\n *\n * @param {Object} tabs\n * @return {Object}\n */\nfunction extractEntries(tabs) {\n return keyBy(flattenDeep(map(flattenDeep(map(tabs, 'groups')), 'entries')), 'id');\n}\n\n/**\n * Return a mapping of { id: group } for all groups in the given tabs.\n *\n * @param {Object} tabs\n * @return {Object}\n */\nfunction extractGroups(tabs) {\n return keyBy(flattenDeep(map(tabs, 'groups')), 'id');\n}\n\n/**\n * A properties panel implementation.\n *\n * To use it provide a `propertiesProvider` component that knows\n * about which properties to display.\n *\n * Properties edit state / visibility can be intercepted\n * via a custom {@link PropertiesActivator}.\n *\n * @class\n * @constructor\n *\n * @param {Object} config\n * @param {didi.Injector} injector\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n * @param {Canvas} canvas\n * @param {CommandStack} commandStack\n */\nfunction PropertiesPanel(config, injector, eventBus, modeling, commandStack, canvas) {\n\n this._eventBus = eventBus;\n this._modeling = modeling;\n this._commandStack = commandStack;\n this._canvas = canvas;\n\n var propertiesProvider = injector.get('propertiesProvider', false);\n\n if (propertiesProvider) {\n this.registerProvider(propertiesProvider);\n }\n\n this._init(config);\n}\n\nPropertiesPanel.$inject = [\n 'config.propertiesPanel',\n 'injector',\n 'eventBus',\n 'modeling',\n 'commandStack',\n 'canvas'\n];\n\nmodule.exports = PropertiesPanel;\n\n/**\n * @param {number} [priority]\n * @param { { getTabs: any[] | (any) => (any[]) => any[]) } } provider\n */\nPropertiesPanel.prototype.registerProvider = function(priority, provider) {\n\n if (!provider) {\n provider = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n this._eventBus.on('propertiesPanel.getProviders', priority, function(event) {\n event.providers.push(provider);\n });\n\n this._eventBus.fire('propertiesPanel.providersChanged');\n};\n\nPropertiesPanel.prototype._init = function(config) {\n\n var canvas = this._canvas,\n eventBus = this._eventBus;\n\n var self = this;\n\n /**\n * Select the root element once it is added to the canvas\n */\n eventBus.on('root.added', function(e) {\n var element = e.element;\n\n if (isImplicitRoot(element)) {\n return;\n }\n\n self.update(element);\n });\n\n eventBus.on('selection.changed', function(e) {\n var newElement = e.newSelection[0];\n\n var rootElement = canvas.getRootElement();\n\n if (isImplicitRoot(rootElement)) {\n return;\n }\n\n self.update(newElement);\n });\n\n // add / update tab-bar scrolling\n eventBus.on([\n 'propertiesPanel.changed',\n 'propertiesPanel.resized'\n ], function(event) {\n\n var tabBarNode = domQuery('.bpp-properties-tab-bar', self._container);\n\n if (!tabBarNode) {\n return;\n }\n\n var scroller = scrollTabs.get(tabBarNode);\n\n if (!scroller) {\n\n // we did not initialize yet, do that\n // now and make sure we select the active\n // tab on scroll update\n scroller = scrollTabs(tabBarNode, {\n selectors: {\n tabsContainer: '.bpp-properties-tabs-links',\n tab: '.bpp-properties-tabs-links li',\n ignore: '.bpp-hidden',\n active: '.bpp-active'\n }\n });\n\n\n scroller.on('scroll', function(newActiveNode, oldActiveNode, direction) {\n\n var linkNode = domQuery('[data-tab-target]', newActiveNode);\n\n var tabId = domAttr(linkNode, 'data-tab-target');\n\n self.activateTab(tabId);\n });\n }\n\n // react on tab changes and or tabContainer resize\n // and make sure the active tab is shown completely\n scroller.update();\n });\n\n eventBus.on('elements.changed', function(e) {\n\n var current = self._current;\n var element = current && current.element;\n\n if (element) {\n if (e.elements.indexOf(element) !== -1) {\n self.update(element);\n }\n }\n });\n\n eventBus.on([\n 'elementTemplates.changed',\n 'propertiesPanel.providersChanged'\n ], function() {\n var current = self._current;\n var element = current && current.element;\n\n if (element) {\n self.update(element);\n }\n });\n\n eventBus.on('diagram.destroy', function() {\n self.detach();\n });\n\n this._container = domify('
');\n\n this._bindListeners(this._container);\n\n if (config && config.parent) {\n this.attachTo(config.parent);\n }\n};\n\n\nPropertiesPanel.prototype.attachTo = function(parentNode) {\n\n if (!parentNode) {\n throw new Error('parentNode required');\n }\n\n // ensure we detach from the\n // previous, old parent\n this.detach();\n\n // unwrap jQuery if provided\n if (parentNode.get && parentNode.constructor.prototype.jquery) {\n parentNode = parentNode.get(0);\n }\n\n if (typeof parentNode === 'string') {\n parentNode = domQuery(parentNode);\n }\n\n var container = this._container;\n\n parentNode.appendChild(container);\n\n this._emit('attach');\n};\n\nPropertiesPanel.prototype.detach = function() {\n\n var container = this._container,\n parentNode = container.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n this._emit('detach');\n\n parentNode.removeChild(container);\n};\n\n\n/**\n * Activate tab. Fall back to first visible tab.\n *\n * @param {Object|string} tabId\n */\nPropertiesPanel.prototype.activateTab = function(tabId) {\n if (isObject(tabId)) {\n tabId = tabId.id;\n }\n\n var tabs = domQueryAll('.bpp-properties-tab', this._current.panel),\n tabLinks = domQueryAll('.bpp-properties-tab-link', this._current.panel);\n\n // (1) Deactivate all tabs\n forEach(tabs, function(tab) {\n domClasses(tab).remove('bpp-active');\n });\n\n forEach(tabLinks, function(tabLink) {\n domClasses(tabLink).remove('bpp-active');\n });\n\n // (2) Activate tab, fall back to first visible tab\n var visibleTabs = filter(tabs, function(tab) {\n return !domClasses(tab).has(HIDE_CLASS);\n });\n\n var activeTab = reduce(visibleTabs, function(activeTab, tab) {\n if (domAttr(tab, 'data-tab') === tabId) {\n return tab;\n }\n\n return activeTab;\n }, visibleTabs[ 0 ]);\n\n if (activeTab) {\n domClasses(activeTab).add('bpp-active');\n }\n\n var visibleTabLinks = filter(tabLinks, function(tabLink) {\n return !domClasses(tabLink).has(HIDE_CLASS);\n });\n\n var activeTabLink = reduce(visibleTabLinks, function(activeTabLink, tabLink) {\n if (domAttr(domQuery('a[data-tab-target]', tabLink), 'data-tab-target') === tabId) {\n return tabLink;\n }\n\n return activeTabLink;\n }, visibleTabLinks[ 0 ]);\n\n if (activeTabLink) {\n domClasses(activeTabLink).add('bpp-active');\n }\n};\n\nPropertiesPanel.prototype._getProviders = function() {\n\n var event = this._eventBus.createEvent({\n type: 'propertiesPanel.getProviders',\n providers: []\n });\n\n this._eventBus.fire(event);\n\n return event.providers;\n};\n\nPropertiesPanel.prototype._getTabs = function(element) {\n var providers = this._getProviders();\n\n // loop through all providers and their entries.\n // group entries by id so that overriding an entry is possible\n return reduce(providers, function(tabs, provider) {\n var tabsOrUpdater = provider.getTabs(element);\n\n if (isFunction(tabsOrUpdater)) {\n return tabsOrUpdater(tabs);\n } else {\n return tabsOrUpdater;\n }\n }, []);\n};\n\n/**\n * Update properties panel to show properties of element. Create new properties panel if no previous\n * properties panel, element has changed or element has not changed but entries have.\n *\n * @param {ModdleElement|undefined} element\n */\nPropertiesPanel.prototype.update = function(element) {\n\n // (1) Fall back to root element\n if (!element) {\n element = this._canvas.getRootElement();\n }\n\n // (2) Get tabs\n var tabs = this._getTabs(element);\n\n var activeTabId,\n activeTabNode;\n\n if (this._current) {\n activeTabNode = domQuery('.bpp-properties-tab.bpp-active', this._current.panel);\n\n if (activeTabNode) {\n activeTabId = domAttr(activeTabNode, 'data-tab');\n }\n }\n\n // (3) Create new properties panel if necessary\n if (!this._current\n || this._current.element !== element\n || this._entriesChanged(this._current.entries, extractEntries(tabs))) {\n\n if (this._current) {\n domRemove(this._current.panel);\n }\n\n this._current = this._create(element, tabs);\n }\n\n // (4) Update visibility of tabs, groups and entries\n this._updateActivation(this._current);\n\n // (5) Update active tab\n if (activeTabId) {\n this.activateTab(activeTabId);\n } else {\n this.activateTab(this._current.tabs[ 0 ]);\n }\n\n this._emit('changed');\n};\n\n\n/**\n * Check whether entries have changes.\n *\n * @param {Array} prevEntries\n * @param {Array} entries\n *\n * @returns {Boolean}\n */\nPropertiesPanel.prototype._entriesChanged = function(prevEntries, entries) {\n var prevEntryIds = keys(prevEntries),\n entryIds = keys(entries);\n\n return !isEmpty(xor(prevEntryIds, entryIds));\n};\n\nPropertiesPanel.prototype._emit = function(event) {\n this._eventBus.fire('propertiesPanel.' + event, { panel: this, current: this._current });\n};\n\nPropertiesPanel.prototype._bindListeners = function(container) {\n\n var self = this;\n\n // handles a change for a given event\n var handleChange = function handleChange(event) {\n\n // see if we handle a change inside a [data-entry] element.\n // if not, drop out\n var inputNode = event.delegateTarget,\n entryNode = domClosest(inputNode, '[data-entry]'),\n entryId, entry;\n\n // change from outside a [data-entry] element, simply ignore\n if (!entryNode) {\n return;\n }\n\n entryId = domAttr(entryNode, 'data-entry');\n entry = self.getEntry(entryId);\n\n var values = getFormControlValues(entryNode);\n\n if (event.type === 'change') {\n\n // - if the \"data-on-change\" attribute is present and a value is changed,\n // then the associated action is performed.\n // - if the associated action returns \"true\" then an update to the business\n // object is done\n // - if it does not return \"true\", then only the DOM content is updated\n var onChangeAction = domAttr(inputNode, 'data-on-change');\n\n if (onChangeAction) {\n var isEntryDirty = self.executeAction(entry, entryNode, onChangeAction, event);\n\n if (!isEntryDirty) {\n return self.update(self._current.element);\n }\n }\n }\n self.applyChanges(entry, values, entryNode);\n self.updateState(entry, entryNode);\n };\n\n // debounce update only elements that are target of key events,\n // i.e. INPUT and TEXTAREA. SELECTs will trigger an immediate update anyway.\n domDelegate.bind(container, 'input, textarea, [contenteditable]', 'input', debounce(handleChange, DEBOUNCE_DELAY));\n domDelegate.bind(container, 'input, textarea, select, [contenteditable]', 'change', handleChange);\n\n // paste as plain text only\n domDelegate.bind(container, '[contenteditable]', 'paste', handlePaste);\n\n function handlePaste(event) {\n var text = (event.clipboardData || window.clipboardData).getData('text');\n document.execCommand('insertText', false, text);\n\n event.preventDefault();\n }\n\n // handle key events\n domDelegate.bind(container, 'select', 'keydown', function(e) {\n\n // DEL\n if (e.keyCode === 46) {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n\n function handleSuggestItems(event) {\n\n // triggers on all inputs\n var inputNode = event.delegateTarget;\n\n var entryNode = domClosest(inputNode, '[data-entry]');\n\n // only work on data entries\n if (!entryNode) {\n return;\n }\n\n var action = domAttr(inputNode, 'data-auto-suggest'),\n entryId = domAttr(entryNode, 'data-entry');\n\n var entry = self.getEntry(entryId);\n\n self.executeAction(entry, entryNode, action, event);\n }\n\n domDelegate.bind(container, '[data-auto-suggest]', 'input', handleSuggestItems, true);\n\n domDelegate.bind(container, '[data-action]', 'click', function onClick(event) {\n\n // triggers on all inputs\n var inputNode = event.delegateTarget,\n entryNode = domClosest(inputNode, '[data-entry]');\n\n var actionId = domAttr(inputNode, 'data-action'),\n entryId = domAttr(entryNode, 'data-entry');\n\n var entry = self.getEntry(entryId);\n\n var isEntryDirty = self.executeAction(entry, entryNode, actionId, event);\n\n if (!isEntryDirty) {\n return self.update(self._current.element);\n }\n\n var values = getFormControlValues(entryNode);\n\n self.applyChanges(entry, values, entryNode);\n self.updateState(entry, entryNode);\n });\n\n function handleInput(event, element) {\n\n // triggers on all inputs\n var inputNode = event.delegateTarget;\n\n var entryNode = domClosest(inputNode, '[data-entry]');\n\n // only work on data entries\n if (!entryNode) {\n return;\n }\n\n var eventHandlerId = domAttr(inputNode, 'data-blur'),\n entryId = domAttr(entryNode, 'data-entry');\n\n var entry = self.getEntry(entryId);\n\n var isEntryDirty = self.executeAction(entry, entryNode, eventHandlerId, event);\n\n if (isEntryDirty) {\n var values = getFormControlValues(entryNode);\n\n self.applyChanges(entry, values, entryNode);\n }\n\n self.updateState(entry, entryNode);\n }\n\n domDelegate.bind(container, '[data-blur]', 'blur', handleInput, true);\n\n // make tab links interactive\n domDelegate.bind(container, '.bpp-properties-tabs-links [data-tab-target]', 'click', function(event) {\n event.preventDefault();\n\n var delegateTarget = event.delegateTarget;\n\n var tabId = domAttr(delegateTarget, 'data-tab-target');\n\n // activate tab on link click\n self.activateTab(tabId);\n });\n\n};\n\nPropertiesPanel.prototype.updateState = function(entry, entryNode) {\n this.updateShow(entry, entryNode);\n this.updateDisable(entry, entryNode);\n};\n\n/**\n * Update the visibility of the entry node in the DOM\n */\nPropertiesPanel.prototype.updateShow = function(entry, node) {\n\n var current = this._current;\n\n if (!current) {\n return;\n }\n\n var showNodes = domQueryAll('[data-show]', node) || [];\n\n forEach(showNodes, function(showNode) {\n\n var expr = domAttr(showNode, 'data-show');\n var fn = get(entry, expr);\n if (fn) {\n var scope = domClosest(showNode, '[data-scope]') || node;\n var shouldShow = fn(current.element, node, showNode, scope) || false;\n if (shouldShow) {\n domClasses(showNode).remove(HIDE_CLASS);\n } else {\n domClasses(showNode).add(HIDE_CLASS);\n }\n }\n });\n};\n\n/**\n * Evaluates a given function. If it returns true, then the\n * node is marked as \"disabled\".\n */\nPropertiesPanel.prototype.updateDisable = function(entry, node) {\n var current = this._current;\n\n if (!current) {\n return;\n }\n\n var nodes = domQueryAll('[data-disable]', node) || [];\n\n forEach(nodes, function(currentNode) {\n var expr = domAttr(currentNode, 'data-disable');\n var fn = get(entry, expr);\n if (fn) {\n var scope = domClosest(currentNode, '[data-scope]') || node;\n var shouldDisable = fn(current.element, node, currentNode, scope) || false;\n domAttr(currentNode, 'disabled', shouldDisable ? '' : null);\n }\n });\n};\n\nPropertiesPanel.prototype.executeAction = function(entry, entryNode, actionId, event) {\n var current = this._current;\n\n if (!current) {\n return;\n }\n\n var fn = get(entry, actionId);\n if (fn) {\n var scopeNode = domClosest(event.target, '[data-scope]') || entryNode;\n return fn.apply(entry, [ current.element, entryNode, event, scopeNode ]);\n }\n};\n\n/**\n * Apply changes to the business object by executing a command\n */\nPropertiesPanel.prototype.applyChanges = function(entry, values, containerElement) {\n\n var element = this._current.element;\n\n // ensure we only update the model if we got dirty changes\n if (valuesEqual(values, entry.oldValues)) {\n return;\n }\n\n var command = entry.set(element, values, containerElement);\n\n var commandToExecute;\n\n if (isArray(command)) {\n if (command.length) {\n commandToExecute = {\n cmd: 'properties-panel.multi-command-executor',\n context: flattenDeep(command)\n };\n }\n } else {\n commandToExecute = command;\n }\n\n if (commandToExecute) {\n this._commandStack.execute(commandToExecute.cmd, commandToExecute.context || { element : element });\n } else {\n this.update(element);\n }\n};\n\n\n/**\n * apply validation errors in the DOM and show or remove an error message near the entry node.\n */\nPropertiesPanel.prototype.applyValidationErrors = function(validationErrors, entryNode) {\n\n var valid = true;\n\n var controlNodes = getFormControls(entryNode, true);\n\n forEach(controlNodes, function(controlNode) {\n\n var name = domAttr(controlNode, 'name') || domAttr(controlNode, 'data-name');\n\n var error = validationErrors && validationErrors[name];\n\n var errorMessageNode = domQuery('.bpp-error-message', controlNode.parentNode);\n\n if (error) {\n valid = false;\n\n if (!errorMessageNode) {\n errorMessageNode = domify('
');\n\n domClasses(errorMessageNode).add('bpp-error-message');\n\n // insert errorMessageNode after controlNode\n controlNode.parentNode.insertBefore(errorMessageNode, controlNode.nextSibling);\n }\n\n errorMessageNode.textContent = error;\n\n domClasses(controlNode).add('invalid');\n } else {\n domClasses(controlNode).remove('invalid');\n\n if (errorMessageNode) {\n controlNode.parentNode.removeChild(errorMessageNode);\n }\n }\n });\n\n return valid;\n};\n\n\n/**\n * Check if the entry contains valid input\n */\nPropertiesPanel.prototype.validate = function(entry, values, entryNode) {\n var self = this;\n\n var current = this._current;\n\n var valid = true;\n\n entryNode = entryNode || domQuery('[data-entry=\"' + entry.id + '\"]', current.panel);\n\n if (values instanceof Array) {\n var listContainer = domQuery('[data-list-entry-container]', entryNode),\n listEntryNodes = listContainer.children || [];\n\n // create new elements\n for (var i = 0; i < values.length; i++) {\n var listValue = values[i];\n\n if (entry.validateListItem) {\n\n var validationErrors = entry.validateListItem(current.element, listValue, entryNode, i),\n listEntryNode = listEntryNodes[i];\n\n valid = self.applyValidationErrors(validationErrors, listEntryNode) && valid;\n }\n }\n } else {\n if (entry.validate) {\n this.validationErrors = entry.validate(current.element, values, entryNode);\n\n valid = self.applyValidationErrors(this.validationErrors, entryNode) && valid;\n }\n }\n\n return valid;\n};\n\nPropertiesPanel.prototype.getEntry = function(id) {\n return this._current && this._current.entries[id];\n};\n\nPropertiesPanel.prototype._create = function(element, tabs) {\n\n if (!element) {\n return null;\n }\n\n var containerNode = this._container;\n\n var panelNode = this._createPanel(element, tabs);\n\n containerNode.appendChild(panelNode);\n\n var entries = extractEntries(tabs);\n var groups = extractGroups(tabs);\n\n return {\n tabs: tabs,\n groups: groups,\n entries: entries,\n element: element,\n panel: panelNode\n };\n};\n\n/**\n * Update variable parts of the entry node on element changes.\n *\n * @param {djs.model.Base} element\n * @param {EntryDescriptor} entry\n * @param {Object} values\n * @param {HTMLElement} entryNode\n * @param {Number} idx\n */\nPropertiesPanel.prototype._bindTemplate = function(element, entry, values, entryNode, idx) {\n\n var eventBus = this._eventBus;\n\n function isPropertyEditable(entry, propertyName) {\n return eventBus.fire('propertiesPanel.isPropertyEditable', {\n entry: entry,\n propertyName: propertyName,\n element: element\n });\n }\n\n var inputNodes = getPropertyPlaceholders(entryNode);\n\n forEach(inputNodes, function(node) {\n\n var name,\n newValue,\n editable;\n\n // we deal with an input element\n if ('value' in node || isContentEditable(node) === 'true') {\n name = domAttr(node, 'name') || domAttr(node, 'data-name');\n newValue = values[name];\n\n editable = isPropertyEditable(entry, name);\n if (editable && entry.editable) {\n editable = entry.editable(element, entryNode, node, name, newValue, idx);\n }\n\n domAttr(node, 'readonly', editable ? null : '');\n domAttr(node, 'disabled', editable ? null : '');\n\n // take full control over setting the value\n // and possibly updating the input in entry#setControlValue\n if (entry.setControlValue) {\n entry.setControlValue(element, entryNode, node, name, newValue, idx);\n } else if (isToggle(node)) {\n setToggleValue(node, newValue);\n } else if (isSelect(node)) {\n setSelectValue(node, newValue);\n } else {\n setInputValue(node, newValue);\n }\n }\n\n // we deal with some non-editable html element\n else {\n name = domAttr(node, 'data-value');\n newValue = values[name];\n if (entry.setControlValue) {\n entry.setControlValue(element, entryNode, node, name, newValue, idx);\n } else {\n setTextValue(node, newValue);\n }\n }\n });\n};\n\n// TODO(nikku): WTF freaking name? Change / clarify.\nPropertiesPanel.prototype._updateActivation = function(current) {\n var self = this;\n\n var eventBus = this._eventBus;\n\n var element = current.element;\n\n function isEntryVisible(entry, group, tab) {\n return eventBus.fire('propertiesPanel.isEntryVisible', {\n element: element,\n entry: entry,\n group: group,\n tab: tab\n });\n }\n\n function isGroupVisible(group, element, groupNode) {\n if (isFunction(group.enabled)) {\n return group.enabled(element, groupNode);\n } else {\n return true;\n }\n }\n\n function isTabVisible(tab, element) {\n if (isFunction(tab.enabled)) {\n return tab.enabled(element);\n } else {\n return true;\n }\n }\n\n function toggleVisible(node, visible) {\n domClasses(node).toggle(HIDE_CLASS, !visible);\n }\n\n function updateLabel(element, selector, text) {\n var labelNode = domQuery(selector, element);\n\n if (!labelNode) {\n return;\n }\n\n labelNode.textContent = text;\n }\n\n var panelNode = current.panel;\n\n forEach(current.tabs, function(tab) {\n\n var tabNode = domQuery('[data-tab=' + tab.id + ']', panelNode);\n var tabLinkNode = domQuery('[data-tab-target=' + tab.id + ']', panelNode).parentNode;\n\n var tabVisible = false;\n\n forEach(tab.groups, function(group) {\n\n var groupVisible = false;\n\n var groupNode = domQuery('[data-group=' + group.id + ']', tabNode);\n\n forEach(group.entries, function(entry) {\n\n var entryNode = domQuery('[data-entry=\"' + entry.id + '\"]', groupNode);\n\n var entryVisible = isEntryVisible(entry, group, tab);\n\n groupVisible = groupVisible || entryVisible;\n\n toggleVisible(entryNode, entryVisible);\n\n var values = 'get' in entry ? entry.get(element, entryNode) : {};\n\n if (values instanceof Array) {\n var listEntryContainer = domQuery('[data-list-entry-container]', entryNode);\n var existingElements = listEntryContainer.children || [];\n\n for (var i = 0; i < values.length; i++) {\n var listValue = values[i];\n var listItemNode = existingElements[i];\n if (!listItemNode) {\n listItemNode = domify(entry.createListEntryTemplate(listValue, i, listEntryContainer));\n listEntryContainer.appendChild(listItemNode);\n }\n domAttr(listItemNode, 'data-index', i);\n\n self._bindTemplate(element, entry, listValue, listItemNode, i);\n }\n\n var entriesToRemove = existingElements.length - values.length;\n\n for (var j = 0; j < entriesToRemove; j++) {\n\n // remove orphaned element\n listEntryContainer.removeChild(listEntryContainer.lastChild);\n }\n\n } else {\n self._bindTemplate(element, entry, values, entryNode);\n }\n\n // update conditionally visible elements\n self.updateState(entry, entryNode);\n self.validate(entry, values, entryNode);\n\n // remember initial state for later dirty checking\n entry.oldValues = getFormControlValues(entryNode);\n });\n\n if (typeof group.label === 'function') {\n updateLabel(groupNode, '.group-label', group.label(element, groupNode));\n }\n\n groupVisible = groupVisible && isGroupVisible(group, element, groupNode);\n\n tabVisible = tabVisible || groupVisible;\n\n toggleVisible(groupNode, groupVisible);\n });\n\n tabVisible = tabVisible && isTabVisible(tab, element);\n\n toggleVisible(tabNode, tabVisible);\n toggleVisible(tabLinkNode, tabVisible);\n });\n\n // inject elements id into header\n updateLabel(panelNode, '[data-label-id]', getBusinessObject(element).id || '');\n};\n\nPropertiesPanel.prototype._createPanel = function(element, tabs) {\n var self = this;\n\n var panelNode = domify('
'),\n headerNode = domify(''),\n tabBarNode = domify('
'),\n tabLinksNode = domify(''),\n tabContainerNode = domify('
');\n\n panelNode.appendChild(headerNode);\n\n forEach(tabs, function(tab, tabIndex) {\n\n if (!tab.id) {\n throw new Error('tab must have an id');\n }\n\n var tabNode = domify('
'),\n tabLinkNode = domify('' +\n '' + escapeHTML(tab.label) + ' ' +\n ' ');\n\n var groups = tab.groups;\n\n forEach(groups, function(group) {\n\n if (!group.id) {\n throw new Error('group must have an id');\n }\n\n var groupNode = domify('' +\n ' ' +\n '' +\n '
');\n\n if (group.dropdown) {\n domQuery('.group-header', groupNode).appendChild(createDropdown(group.dropdown));\n }\n\n // TODO(nre): use event delegation to handle that...\n groupNode.querySelector('.group-toggle').addEventListener('click', function(evt) {\n domClasses(groupNode).toggle('group-closed');\n evt.preventDefault();\n evt.stopPropagation();\n });\n groupNode.addEventListener('click', function(evt) {\n if (!evt.defaultPrevented && domClasses(groupNode).has('group-closed')) {\n domClasses(groupNode).remove('group-closed');\n }\n });\n\n forEach(group.entries, function(entry) {\n\n if (!entry.id) {\n throw new Error('entry must have an id');\n }\n\n var html = entry.html;\n\n if (typeof html === 'string') {\n html = domify(html);\n }\n\n // unwrap jquery\n if (html.get && html.constructor.prototype.jquery) {\n html = html.get(0);\n }\n\n var entryNode = domify('
');\n\n forEach(entry.cssClasses || [], function(cssClass) {\n domClasses(entryNode).add(cssClass);\n });\n\n entryNode.appendChild(html);\n\n groupNode.appendChild(entryNode);\n\n // update conditionally visible elements\n self.updateState(entry, entryNode);\n });\n\n tabNode.appendChild(groupNode);\n });\n\n tabLinksNode.appendChild(tabLinkNode);\n tabContainerNode.appendChild(tabNode);\n });\n\n tabBarNode.appendChild(tabLinksNode);\n\n panelNode.appendChild(tabBarNode);\n panelNode.appendChild(tabContainerNode);\n\n return panelNode;\n};\n\n\n\nfunction setInputValue(node, value) {\n\n var contentEditable = isContentEditable(node);\n\n var oldValue = contentEditable ? node.innerText : node.value;\n\n var selection;\n\n // prevents input fields from having the value 'undefined'\n if (value === undefined) {\n value = '';\n }\n\n if (oldValue === value) {\n return;\n }\n\n // update selection on undo/redo\n if (document.activeElement === node) {\n selection = updateSelection(getSelection(node), oldValue, value);\n }\n\n if (contentEditable) {\n node.innerText = value;\n } else {\n node.value = value;\n }\n\n if (selection) {\n setSelection(node, selection);\n }\n}\n\nfunction setSelectValue(node, value) {\n if (value !== undefined) {\n node.value = value;\n }\n}\n\nfunction setToggleValue(node, value) {\n var nodeValue = node.value;\n\n node.checked = (value === nodeValue) || (!domAttr(node, 'value') && value);\n}\n\nfunction setTextValue(node, value) {\n node.textContent = value;\n}\n\nfunction getSelection(node) {\n\n return isContentEditable(node) ? getContentEditableSelection(node) : {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n}\n\nfunction getContentEditableSelection(node) {\n\n var selection = window.getSelection();\n\n var focusNode = selection.focusNode,\n focusOffset = selection.focusOffset,\n anchorOffset = selection.anchorOffset;\n\n if (!focusNode) {\n throw new Error('not selected');\n }\n\n // verify we have selection on the current element\n if (!node.contains(focusNode)) {\n throw new Error('not selected');\n }\n\n return {\n start: Math.min(focusOffset, anchorOffset),\n end: Math.max(focusOffset, anchorOffset)\n };\n}\n\nfunction setSelection(node, selection) {\n\n if (isContentEditable(node)) {\n setContentEditableSelection(node, selection);\n } else {\n node.selectionStart = selection.start;\n node.selectionEnd = selection.end;\n }\n}\n\nfunction setContentEditableSelection(node, selection) {\n\n var focusNode,\n domRange,\n domSelection;\n\n focusNode = node.firstChild || node,\n domRange = document.createRange();\n domRange.setStart(focusNode, selection.start);\n domRange.setEnd(focusNode, selection.end);\n\n domSelection = window.getSelection();\n domSelection.removeAllRanges();\n domSelection.addRange(domRange);\n}\n\nfunction isImplicitRoot(element) {\n return element.id === '__implicitroot';\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/PropertiesPanel.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/Utils.js":
/*!************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/Utils.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query,\n domClear = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").clear,\n domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\"),\n domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n Ids = __webpack_require__(/*! ids */ \"./node_modules/ids/dist/index.esm.js\").default;\n\nvar SPACE_REGEX = /\\s/;\n\n// for QName validation as per http://www.w3.org/TR/REC-xml/#NT-NameChar\nvar QNAME_REGEX = /^([a-z][\\w-.]*:)?[a-z_][\\w-.]*$/i;\n\n// for ID validation as per BPMN Schema (QName - Namespace)\nvar ID_REGEX = /^[a-z_][\\w-.]*$/i;\n\nvar HTML_ESCAPE_MAP = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\n\nfunction selectedOption(selectBox) {\n if (selectBox.selectedIndex >= 0) {\n return selectBox.options[selectBox.selectedIndex].value;\n }\n}\n\nmodule.exports.selectedOption = selectedOption;\n\n\nfunction selectedType(elementSyntax, inputNode) {\n var typeSelect = domQuery(elementSyntax, inputNode);\n return selectedOption(typeSelect);\n}\n\nmodule.exports.selectedType = selectedType;\n\n\n/**\n * Retrieve the root element the document this\n * business object is contained in.\n *\n * @return {ModdleElement}\n */\nfunction getRoot(businessObject) {\n var parent = businessObject;\n while (parent.$parent) {\n parent = parent.$parent;\n }\n return parent;\n}\n\nmodule.exports.getRoot = getRoot;\n\n\n/**\n * filters all elements in the list which have a given type.\n * removes a new list\n */\nfunction filterElementsByType(objectList, type) {\n var list = objectList || [];\n var result = [];\n forEach(list, function(obj) {\n if (is(obj, type)) {\n result.push(obj);\n }\n });\n return result;\n}\n\nmodule.exports.filterElementsByType = filterElementsByType;\n\n\nfunction findRootElementsByType(businessObject, referencedType) {\n var root = getRoot(businessObject);\n\n return filterElementsByType(root.rootElements, referencedType);\n}\n\nmodule.exports.findRootElementsByType = findRootElementsByType;\n\n\nfunction removeAllChildren(domElement) {\n while (domElement.firstChild) {\n domElement.removeChild(domElement.firstChild);\n }\n}\n\nmodule.exports.removeAllChildren = removeAllChildren;\n\n\n/**\n * adds an empty option to the list\n */\nfunction addEmptyParameter(list) {\n return list.push({ 'label': '', 'value': '', 'name': '' });\n}\n\nmodule.exports.addEmptyParameter = addEmptyParameter;\n\n\n/**\n * returns a dropdown option label depending on the defined event attributes\n */\nfunction getOptionLabel(obj) {\n var label = obj.name || '';\n\n if (obj.errorCode)\n label += ' (code=' + obj.errorCode + ')';\n if (obj.escalationCode)\n label += ' (code=' + obj.escalationCode + ')';\n\n return label;\n}\n\n/**\n * returns a list with all root elements for the given parameter 'referencedType'\n */\nfunction refreshOptionsModel(businessObject, referencedType) {\n var model = [];\n var referableObjects = findRootElementsByType(businessObject, referencedType);\n forEach(referableObjects, function(obj) {\n model.push({\n label: getOptionLabel(obj),\n value: obj.id,\n name: obj.name\n });\n });\n return model;\n}\n\nmodule.exports.refreshOptionsModel = refreshOptionsModel;\n\n\n/**\n * fills the drop down with options\n */\nfunction updateOptionsDropDown(domSelector, businessObject, referencedType, entryNode) {\n var options = refreshOptionsModel(businessObject, referencedType);\n addEmptyParameter(options);\n var selectBox = domQuery(domSelector, entryNode);\n domClear(selectBox);\n\n forEach(options, function(option) {\n var optionEntry = domify('' + escapeHTML(option.label) + ' ');\n selectBox.appendChild(optionEntry);\n });\n return options;\n}\n\nmodule.exports.updateOptionsDropDown = updateOptionsDropDown;\n\n\n/**\n * checks whether the id value is valid\n *\n * @param {ModdleElement} bo\n * @param {String} idValue\n * @param {Function} translate\n *\n * @return {String} error message\n */\nfunction isIdValid(bo, idValue, translate) {\n var assigned = bo.$model.ids.assigned(idValue);\n\n var idExists = assigned && assigned !== bo;\n\n if (!idValue || idExists) {\n return translate('Element must have an unique id.');\n }\n\n return validateId(idValue, translate);\n}\n\nmodule.exports.isIdValid = isIdValid;\n\n\nfunction validateId(idValue, translate) {\n\n if (containsSpace(idValue)) {\n return translate('Id must not contain spaces.');\n }\n\n if (!ID_REGEX.test(idValue)) {\n\n if (QNAME_REGEX.test(idValue)) {\n return translate('Id must not contain prefix.');\n }\n\n return translate('Id must be a valid QName.');\n }\n}\n\nmodule.exports.validateId = validateId;\n\n\nfunction containsSpace(value) {\n return SPACE_REGEX.test(value);\n}\n\nmodule.exports.containsSpace = containsSpace;\n\n/**\n * generate a semantic id with given prefix\n */\nfunction nextId(prefix) {\n var ids = new Ids([32,32,1]);\n\n return ids.nextPrefixed(prefix);\n}\n\nmodule.exports.nextId = nextId;\n\n\nfunction triggerClickEvent(element) {\n var evt;\n var eventType = 'click';\n\n if (document.createEvent) {\n try {\n\n // Chrome, Safari, Firefox\n evt = new MouseEvent((eventType), { view: window, bubbles: true, cancelable: true });\n } catch (e) {\n\n // IE 11, PhantomJS (wat!)\n evt = document.createEvent('MouseEvent');\n\n evt.initEvent((eventType), true, true);\n }\n return element.dispatchEvent(evt);\n } else {\n\n // Welcome IE\n evt = document.createEventObject();\n\n return element.fireEvent('on' + eventType, evt);\n }\n}\n\nmodule.exports.triggerClickEvent = triggerClickEvent;\n\n\nfunction escapeHTML(str) {\n str = '' + str;\n\n return str && str.replace(/[&<>\"']/g, function(match) {\n return HTML_ESCAPE_MAP[match];\n });\n}\n\nmodule.exports.escapeHTML = escapeHTML;\n\nfunction createDropdown(dropdown) {\n var menu = dropdown.menu;\n\n var dropdownNode = domify(\n '' +\n '
' +\n ' ' +\n ' ' +\n '' +\n '
'\n );\n\n var buttonNode = domQuery('.group__dropdown-button', dropdownNode),\n menuNode = domQuery('.group__dropdown-menu', dropdownNode);\n\n buttonNode.addEventListener('click', function(event) {\n domClasses(dropdownNode).toggle('group__dropdown--open');\n\n createOnGlobalClick(event);\n });\n\n forEach(menu, function(menuItem) {\n var menuItemNode = domify('');\n\n menuItemNode.addEventListener('click', function() {\n menuItem.onClick();\n\n domClasses(dropdownNode).remove('group__dropdown--open');\n });\n\n menuNode.appendChild(menuItemNode);\n });\n\n var _onGlobalClick;\n\n function createOnGlobalClick(_event) {\n function onGlobalClick(event) {\n if (event === _event) {\n return;\n }\n\n var target = event.target;\n\n if (menuNode !== target && !menuNode.contains(target)) {\n domClasses(dropdownNode).remove('group__dropdown--open');\n\n document.removeEventListener('click', onGlobalClick);\n }\n }\n\n if (_onGlobalClick) {\n document.removeEventListener('click', _onGlobalClick);\n }\n\n document.addEventListener('click', onGlobalClick);\n\n _onGlobalClick = onGlobalClick;\n }\n\n return dropdownNode;\n}\n\nmodule.exports.createDropdown = createDropdown;\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/Utils.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/cmd/CreateAndReferenceHandler.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/cmd/CreateAndReferenceHandler.js ***!
\************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar elementHelper = __webpack_require__(/*! ../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\");\n\n/**\n * A handler capable of creating a new element under a provided parent\n * and updating / creating a reference to it in one atomic action.\n *\n * @class\n * @constructor\n */\nfunction CreateAndReferenceElementHandler(elementRegistry, bpmnFactory) {\n this._elementRegistry = elementRegistry;\n this._bpmnFactory = bpmnFactory;\n}\n\nCreateAndReferenceElementHandler.$inject = [ 'elementRegistry', 'bpmnFactory' ];\n\nmodule.exports = CreateAndReferenceElementHandler;\n\n\n// api ////////////////////\n\n/**\n * Creates a new element under a provided parent and updates / creates a reference to it in\n * one atomic action.\n *\n * @method CreateAndReferenceElementHandler#execute\n *\n * @param {Object} context\n * @param {djs.model.Base} context.element which is the context for the reference\n * @param {moddle.referencingObject} context.referencingObject the object which creates the reference\n * @param {String} context.referenceProperty the property of the referencingObject which makes the reference\n * @param {moddle.newObject} context.newObject the new object to add\n * @param {moddle.newObjectContainer} context.newObjectContainer the container for the new object\n *\n * @returns {Array} the updated element\n */\nCreateAndReferenceElementHandler.prototype.execute = function(context) {\n\n var referencingObject = ensureNotNull(context.referencingObject, 'referencingObject'),\n referenceProperty = ensureNotNull(context.referenceProperty, 'referenceProperty'),\n newObject = ensureNotNull(context.newObject, 'newObject'),\n newObjectContainer = ensureNotNull(context.newObjectContainer, 'newObjectContainer'),\n newObjectParent = ensureNotNull(context.newObjectParent, 'newObjectParent'),\n changed = [ context.element ]; // this will not change any diagram-js elements\n\n // create new object\n var referencedObject = elementHelper\n .createElement(newObject.type, newObject.properties, newObjectParent, this._bpmnFactory);\n context.referencedObject = referencedObject;\n\n // add to containing list\n newObjectContainer.push(referencedObject);\n\n // adjust reference attribute\n context.previousReference = referencingObject[referenceProperty];\n referencingObject[referenceProperty] = referencedObject;\n\n context.changed = changed;\n\n // indicate changed on objects affected by the update\n return changed;\n};\n\n/**\n * Reverts the update\n *\n * @method CreateAndReferenceElementHandler#revert\n *\n * @param {Object} context\n *\n * @returns {djs.mode.Base} the updated element\n */\nCreateAndReferenceElementHandler.prototype.revert = function(context) {\n\n var referencingObject = context.referencingObject,\n referenceProperty = context.referenceProperty,\n previousReference = context.previousReference,\n referencedObject = context.referencedObject,\n newObjectContainer = context.newObjectContainer;\n\n // reset reference\n referencingObject.set(referenceProperty, previousReference);\n\n // remove new element\n newObjectContainer.splice(newObjectContainer.indexOf(referencedObject), 1);\n\n return context.changed;\n};\n\n\n\n// helpers //////////////\n\nfunction ensureNotNull(prop, name) {\n if (!prop) {\n throw new Error(name + ' required');\n }\n return prop;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/cmd/CreateAndReferenceHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/cmd/CreateBusinessObjectListHandler.js":
/*!******************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/cmd/CreateBusinessObjectListHandler.js ***!
\******************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nvar elementHelper = __webpack_require__(/*! ../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\");\n\n/**\n * A handler that implements a BPMN 2.0 property update\n * for business objects which are not represented in the\n * diagram.\n *\n * This is useful in the context of the properties panel in\n * order to update child elements of elements visible in\n * the diagram.\n *\n * Example: perform an update of a specific event definition\n * of an intermediate event.\n *\n * @class\n * @constructor\n */\nfunction CreateBusinessObjectListHandler(elementRegistry, bpmnFactory) {\n this._elementRegistry = elementRegistry;\n this._bpmnFactory = bpmnFactory;\n}\n\nCreateBusinessObjectListHandler.$inject = [ 'elementRegistry', 'bpmnFactory' ];\n\nmodule.exports = CreateBusinessObjectListHandler;\n\nfunction ensureNotNull(prop, name) {\n if (!prop) {\n throw new Error(name + ' required');\n }\n return prop;\n\n}\nfunction ensureList(prop, name) {\n if (!prop || Object.prototype.toString.call(prop) !== '[object Array]') {\n throw new Error(name + ' needs to be a list');\n }\n return prop;\n}\n\n// api /////////////////////////////////////////////\n\n/**\n * Creates a new element under a provided parent and updates / creates a reference to it in\n * one atomic action.\n *\n * @method CreateBusinessObjectListHandler#execute\n *\n * @param {Object} context\n * @param {djs.model.Base} context.element which is the context for the reference\n * @param {moddle.referencingObject} context.referencingObject the object which creates the reference\n * @param {String} context.referenceProperty the property of the referencingObject which makes the reference\n * @param {moddle.newObject} context.newObject the new object to add\n * @param {moddle.newObjectContainer} context.newObjectContainer the container for the new object\n *\n * @return {Array} the updated element\n */\nCreateBusinessObjectListHandler.prototype.execute = function(context) {\n\n var currentObject = ensureNotNull(context.currentObject, 'currentObject'),\n propertyName = ensureNotNull(context.propertyName, 'propertyName'),\n newObjects = ensureList(context.newObjects, 'newObjects'),\n changed = [ context.element ]; // this will not change any diagram-js elements\n\n\n var childObjects = [];\n var self = this;\n\n // create new array of business objects\n forEach(newObjects, function(obj) {\n var element = elementHelper.createElement(obj.type, obj.properties, currentObject, self._bpmnFactory);\n\n childObjects.push(element);\n });\n context.childObject = childObjects;\n\n // adjust array reference in the parent business object\n context.previousChilds = currentObject[propertyName];\n currentObject[propertyName] = childObjects;\n\n context.changed = changed;\n\n // indicate changed on objects affected by the update\n return changed;\n};\n\n/**\n * Reverts the update\n *\n * @method CreateBusinessObjectListHandler#revert\n *\n * @param {Object} context\n *\n * @return {djs.mode.Base} the updated element\n */\nCreateBusinessObjectListHandler.prototype.revert = function(context) {\n\n var currentObject = context.currentObject,\n propertyName = context.propertyName,\n previousChilds = context.previousChilds;\n\n // remove new element\n currentObject.set(propertyName, previousChilds);\n\n return context.changed;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/cmd/CreateBusinessObjectListHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/cmd/MultiCommandHandler.js":
/*!******************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/cmd/MultiCommandHandler.js ***!
\******************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\n/**\n * A handler that combines and executes multiple commands.\n *\n * All updates are bundled on the command stack and executed in one step.\n * This also makes it possible to revert the changes in one step.\n *\n * Example use case: remove the camunda:formKey attribute and in addition\n * add all form fields needed for the camunda:formData property.\n *\n * @class\n * @constructor\n */\nfunction MultiCommandHandler(commandStack) {\n this._commandStack = commandStack;\n}\n\nMultiCommandHandler.$inject = [ 'commandStack' ];\n\nmodule.exports = MultiCommandHandler;\n\nMultiCommandHandler.prototype.preExecute = function(context) {\n\n var commandStack = this._commandStack;\n\n forEach(context, function(command) {\n commandStack.execute(command.cmd, command.context);\n });\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/cmd/MultiCommandHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/cmd/UpdateBusinessObjectHandler.js":
/*!**************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/cmd/UpdateBusinessObjectHandler.js ***!
\**************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar reduce = __webpack_require__(/*! lodash/transform */ \"./node_modules/lodash/transform.js\"),\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n keys = __webpack_require__(/*! lodash/keys */ \"./node_modules/lodash/keys.js\"),\n forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\n/**\n * A handler that implements a BPMN 2.0 property update\n * for business objects which are not represented in the\n * diagram.\n *\n * This is useful in the context of the properties panel in\n * order to update child elements of elements visible in\n * the diagram.\n *\n * Example: perform an update of a specific event definition\n * of an intermediate event.\n *\n * @class\n * @constructor\n */\nfunction UpdateBusinessObjectHandler(elementRegistry) {\n this._elementRegistry = elementRegistry;\n}\n\nUpdateBusinessObjectHandler.$inject = [ 'elementRegistry' ];\n\nmodule.exports = UpdateBusinessObjectHandler;\n\n/**\n * returns the root element\n */\nfunction getRoot(businessObject) {\n var parent = businessObject;\n while (parent.$parent) {\n parent = parent.$parent;\n }\n return parent;\n}\n\nfunction getProperties(businessObject, propertyNames) {\n return reduce(propertyNames, function(result, key) {\n result[key] = businessObject.get(key);\n return result;\n }, {});\n}\n\n\nfunction setProperties(businessObject, properties) {\n forEach(properties, function(value, key) {\n businessObject.set(key, value);\n });\n}\n\n\n// api /////////////////////////////////////////////\n\n/**\n * Updates a business object with a list of new properties\n *\n * @method UpdateBusinessObjectHandler#execute\n *\n * @param {Object} context\n * @param {djs.model.Base} context.element the element which has a child business object updated\n * @param {moddle.businessObject} context.businessObject the businessObject to update\n * @param {Object} context.properties a list of properties to set on the businessObject\n *\n * @return {Array} the updated element\n */\nUpdateBusinessObjectHandler.prototype.execute = function(context) {\n\n var element = context.element,\n businessObject = context.businessObject,\n rootElements = getRoot(businessObject).rootElements,\n referenceType = context.referenceType,\n referenceProperty = context.referenceProperty,\n changed = [ element ]; // this will not change any diagram-js elements\n\n if (!element) {\n throw new Error('element required');\n }\n\n if (!businessObject) {\n throw new Error('businessObject required');\n }\n\n var properties = context.properties,\n oldProperties = context.oldProperties || getProperties(businessObject, keys(properties));\n\n // check if there the update needs an external element for reference\n if (typeof referenceType !== 'undefined' && typeof referenceProperty !== 'undefined') {\n forEach(rootElements, function(rootElement) {\n if (is(rootElement, referenceType)) {\n if (rootElement.id === properties[referenceProperty]) {\n properties[referenceProperty] = rootElement;\n }\n }\n });\n }\n\n // update properties\n setProperties(businessObject, properties);\n\n // store old values\n context.oldProperties = oldProperties;\n context.changed = changed;\n\n // indicate changed on objects affected by the update\n return changed;\n};\n\n/**\n * Reverts the update\n *\n * @method UpdateBusinessObjectHandler#revert\n *\n * @param {Object} context\n *\n * @return {djs.mode.Base} the updated element\n */\nUpdateBusinessObjectHandler.prototype.revert = function(context) {\n\n var oldProperties = context.oldProperties,\n businessObject = context.businessObject;\n\n // update properties\n setProperties(businessObject, oldProperties);\n\n return context.changed;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/cmd/UpdateBusinessObjectHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/cmd/UpdateBusinessObjectListHandler.js":
/*!******************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/cmd/UpdateBusinessObjectListHandler.js ***!
\******************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\n/**\n * A handler that implements a BPMN 2.0 property update\n * for business object lists which are not represented in the\n * diagram.\n *\n * This is useful in the context of the properties panel in\n * order to update child elements of elements visible in\n * the diagram.\n *\n * Example: perform an update of a specific event definition\n * of an intermediate event.\n *\n * @class\n * @constructor\n */\nfunction UpdateBusinessObjectListHandler(elementRegistry, bpmnFactory) {\n this._elementRegistry = elementRegistry;\n this._bpmnFactory = bpmnFactory;\n}\n\nUpdateBusinessObjectListHandler.$inject = [ 'elementRegistry', 'bpmnFactory' ];\n\nmodule.exports = UpdateBusinessObjectListHandler;\n\nfunction ensureNotNull(prop, name) {\n if (!prop) {\n throw new Error(name + 'required');\n }\n return prop;\n}\n\n// api /////////////////////////////////////////////\n\n/**\n * Updates a element under a provided parent.\n */\nUpdateBusinessObjectListHandler.prototype.execute = function(context) {\n\n var currentObject = ensureNotNull(context.currentObject, 'currentObject'),\n propertyName = ensureNotNull(context.propertyName, 'propertyName'),\n updatedObjectList = context.updatedObjectList,\n objectsToRemove = context.objectsToRemove || [],\n objectsToAdd = context.objectsToAdd || [],\n objectsToPrepend = context.objectsToPrepend || [],\n changed = [ context.element], // this will not change any diagram-js elements\n referencePropertyName;\n\n if (context.referencePropertyName) {\n referencePropertyName = context.referencePropertyName;\n }\n\n var objectList = currentObject[propertyName];\n\n // adjust array reference in the parent business object\n context.previousList = currentObject[propertyName];\n\n if (updatedObjectList) {\n currentObject[propertyName] = updatedObjectList;\n } else {\n\n // start with objects to prepend\n var listCopy = objectsToPrepend.slice();\n\n // remove all objects which should be removed\n forEach(objectList, function(object) {\n if (objectsToRemove.indexOf(object) == -1) {\n listCopy.push(object);\n }\n });\n\n // add all objects which should be added\n listCopy = listCopy.concat(objectsToAdd);\n\n // set property to new list\n if (listCopy.length > 0 || !referencePropertyName) {\n\n // as long as there are elements in the list update the list\n currentObject[propertyName] = listCopy;\n } else if (referencePropertyName) {\n\n // remove the list when it is empty\n var parentObject = currentObject.$parent;\n parentObject.set(referencePropertyName, undefined);\n }\n }\n\n context.changed = changed;\n\n // indicate changed on objects affected by the update\n return changed;\n};\n\n/**\n * Reverts the update\n *\n * @method CreateBusinessObjectListHandler#revert\n *\n * @param {Object} context\n *\n * @return {djs.mode.Base} the updated element\n */\nUpdateBusinessObjectListHandler.prototype.revert = function(context) {\n\n var currentObject = context.currentObject,\n propertyName = context.propertyName,\n previousList = context.previousList,\n parentObject = currentObject.$parent;\n\n if (context.referencePropertyName) {\n parentObject.set(context.referencePropertyName, currentObject);\n }\n\n // remove new element\n currentObject.set(propertyName, previousList);\n\n return context.changed;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/cmd/UpdateBusinessObjectListHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/cmd/index.js":
/*!****************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/cmd/index.js ***!
\****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nvar HANDLERS = {\n 'properties-panel.update-businessobject': __webpack_require__(/*! ./UpdateBusinessObjectHandler */ \"./node_modules/bpmn-js-properties-panel/lib/cmd/UpdateBusinessObjectHandler.js\"),\n 'properties-panel.create-and-reference': __webpack_require__(/*! ./CreateAndReferenceHandler */ \"./node_modules/bpmn-js-properties-panel/lib/cmd/CreateAndReferenceHandler.js\"),\n 'properties-panel.create-businessobject-list': __webpack_require__(/*! ./CreateBusinessObjectListHandler */ \"./node_modules/bpmn-js-properties-panel/lib/cmd/CreateBusinessObjectListHandler.js\"),\n 'properties-panel.update-businessobject-list': __webpack_require__(/*! ./UpdateBusinessObjectListHandler */ \"./node_modules/bpmn-js-properties-panel/lib/cmd/UpdateBusinessObjectListHandler.js\"),\n 'properties-panel.multi-command-executor': __webpack_require__(/*! ./MultiCommandHandler */ \"./node_modules/bpmn-js-properties-panel/lib/cmd/MultiCommandHandler.js\")\n};\n\n\nfunction CommandInitializer(eventBus, commandStack) {\n\n eventBus.on('diagram.init', function() {\n forEach(HANDLERS, function(handler, id) {\n commandStack.registerHandler(id, handler);\n });\n });\n}\n\nCommandInitializer.$inject = [ 'eventBus', 'commandStack' ];\n\nmodule.exports = {\n __init__: [ CommandInitializer ]\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/cmd/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/AutoSuggestTextBoxFactory.js":
/*!****************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/AutoSuggestTextBoxFactory.js ***!
\****************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes,\n domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar assign = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").assign,\n find = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").find,\n forEach = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").forEach,\n debounce = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").debounce;\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\nvar CLASS_ACTIVE = 'active';\n\nvar FOCUS_LEAVE_DELAY = '150';\n\nvar TEXT_NODE_NAME = '#text';\n\nvar SUGGESTION_LIST_BOX_THRESHOLD = 15;\n\nvar noop = function() {};\n\n\nvar autoSuggestTextBox = function(translate, options, defaultParameters) {\n\n var resource = defaultParameters,\n label = options.label || resource.id,\n canBeShown = !!options.show && typeof options.show === 'function',\n description = options.description;\n\n resource.html =\n domify('' + label + ' ' +\n '');\n\n if (description) {\n domQuery('.bpp-field-wrapper', resource.html).appendChild(entryFieldDescription(translate, description));\n }\n\n if (canBeShown) {\n resource.isShown = function() {\n return options.show.apply(resource, arguments);\n };\n }\n\n /**\n * Ensure selected item got recognized before list got hidden\n */\n resource.handleFocusLeave = debounce(function(element, entryNode) {\n clearSuggestionList(entryNode);\n hideSuggestionList(entryNode);\n }, FOCUS_LEAVE_DELAY);\n\n /**\n * Fill the suggestion list relative to the current word under the cursor.\n *\n * @param {djs.model.Base} element\n * @param {HTMLElement} entryNode\n * @param {Event} event\n */\n resource.suggestItems = function(element, entryNode, event) {\n var editorNode = event.delegateTarget,\n range = getSelectionRange(),\n focusNode = range.focusNode,\n caretPosition = getCaretPosition(range.range),\n canSuggest = options.canSuggest || noop,\n getItems = options.getItems;\n\n function updateSuggestionList(items) {\n var listNode = domQuery('.bpp-autosuggest-list', entryNode);\n\n // (1) clear list before\n clearSuggestionList(entryNode);\n\n // (2) keep list invisible if no items\n if (!items.length) {\n return;\n }\n\n domClasses(listNode).add(CLASS_ACTIVE);\n\n // (3) create new items\n forEach(items, function(item) {\n createSuggestionItem(listNode, item);\n });\n\n // (4) place list relative to cursor\n var position = getSuggestionListPosition(listNode, document.body).position;\n setPosition(listNode, position.x, position.y);\n }\n\n function createSuggestionItem(parentNode, value) {\n var itemNode = domify('
');\n itemNode.innerText = escapeHTML(value);\n\n parentNode.appendChild(itemNode);\n\n itemNode.addEventListener('click', handleItemClick);\n }\n\n function handleItemClick(event) {\n var value = event.target.innerText,\n wordIndex = currentWord.index,\n start = wordIndex,\n end = wordIndex + currentWord[0].length;\n\n selectRange(focusNode, start, end);\n\n document.execCommand('insertText', false, value);\n\n clearSuggestionList(entryNode);\n hideSuggestionList(entryNode);\n }\n\n hideSuggestionList(entryNode);\n\n var currentWord = (getWordUnderCursor(focusNode, caretPosition) || []);\n\n if (currentWord && canSuggest(currentWord, editorNode, focusNode)) {\n var items = getItems(element, entryNode),\n results = [],\n value = currentWord[0];\n\n // sort matches by\n // (1) item starts with value (case insensitive)\n // (2) value is inside suggested item (case insensitive)\n forEach(items, function(item) {\n var itemLowerCase = item.toLowerCase(),\n valueLowerCase = value && value.toLowerCase();\n\n if (itemLowerCase.indexOf(valueLowerCase) === 0) {\n results.push(item);\n }\n });\n\n forEach(items, function(item) {\n var itemLowerCase = item.toLowerCase(item),\n valueLowerCase = value && value.toLowerCase();\n\n if (itemLowerCase.indexOf(valueLowerCase) >= 1) {\n results.push(item);\n }\n });\n\n updateSuggestionList(results);\n }\n };\n\n /**\n * Calculates the position coordinates of the suggestion list,\n * dependant on position of cursor\n *\n * @return {Object} coordinates\n */\n function getSuggestionListPosition(listNode, container) {\n var range = getSelectionRange().range,\n cursorBounds = range.getBoundingClientRect(),\n clientBounds = container.getBoundingClientRect(),\n listBounds = listNode.getBoundingClientRect();\n\n var coordinates = {\n 'top-left': {\n x: cursorBounds.right - listBounds.width,\n y: cursorBounds.top - listBounds.height\n },\n 'top-right': {\n x: cursorBounds.right,\n y: cursorBounds.top - listBounds.height\n },\n 'bottom-left': {\n x: cursorBounds.right - listBounds.width,\n y: cursorBounds.top + SUGGESTION_LIST_BOX_THRESHOLD\n },\n 'bottom-right': {\n x: cursorBounds.right,\n y: cursorBounds.top + SUGGESTION_LIST_BOX_THRESHOLD\n }\n };\n\n var orientation = '';\n\n if (cursorBounds.top + SUGGESTION_LIST_BOX_THRESHOLD + listBounds.height > (clientBounds.height + clientBounds.top)) {\n orientation = 'top-';\n } else {\n orientation = 'bottom-';\n }\n\n if (cursorBounds.right + listBounds.width > (clientBounds.width + clientBounds.left)) {\n orientation += 'left';\n } else {\n orientation += 'right';\n }\n\n return { orientation: orientation, position: coordinates[orientation] };\n }\n\n resource.getSuggestionListPosition = getSuggestionListPosition;\n\n\n resource.cssClasses = ['bpp-autosuggest-textbox'];\n\n return resource;\n};\n\nmodule.exports = autoSuggestTextBox;\n\n\n// helpers /////////////////////////////\n\nfunction getSelectionRange() {\n var selection = document.getSelection();\n\n return {\n range: selection.getRangeAt(0),\n focusNode: selection.focusNode\n };\n}\n\nfunction getCaretPosition(range) {\n return range.startOffset;\n}\n\nfunction selectRange(focusNode, start, end) {\n var range = document.createRange(),\n selection = window.getSelection();\n\n range.setStart(focusNode, start);\n range.setEnd(focusNode, end);\n\n selection.removeAllRanges();\n\n selection.addRange(range);\n}\n\nfunction hideSuggestionList(entryNode) {\n var listNode = domQuery('.bpp-autosuggest-list', entryNode);\n domClasses(listNode).remove(CLASS_ACTIVE);\n}\n\nfunction clearSuggestionList(entryNode) {\n var listNode = domQuery('.bpp-autosuggest-list', entryNode);\n while (listNode.firstChild) {\n listNode.removeChild(listNode.firstChild);\n }\n}\n\nfunction getWordUnderCursor(node, currentCursorPositon) {\n var value = node.nodeName === TEXT_NODE_NAME ? node.wholeText : node.innerText,\n allWords = findWords(value);\n\n return find(allWords, function(word) {\n var matchValue = word[0],\n wordStart = word.index,\n wordEnd = wordStart + matchValue.length - 1;\n\n return (\n wordStart <= (currentCursorPositon - 1) &&\n wordEnd >= (currentCursorPositon - 1)\n );\n });\n}\n\n/**\n * Retrieves all words inside a text (also inside clauses and after operators)\n *\n * @param {string} value\n *\n * @return {Array}\n */\nfunction findWords(value) {\n\n // eslint-disable-next-line no-useless-escape\n return matchAll(value, /[^\\s\\r\\(\\)\\,\\+\\-\\*\\/\\{\\}]+/g);\n}\n\nfunction matchAll(value, regex) {\n var regexp = RegExp(regex),\n match,\n matches = [];\n\n while ((match = regexp.exec(value)) !== null) {\n matches.push(match);\n }\n\n return matches;\n}\n\nfunction setPosition(el, x, y) {\n assign(el.style, { left: x + 'px', top: y + 'px' });\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/AutoSuggestTextBoxFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/CheckboxEntryFactory.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/CheckboxEntryFactory.js ***!
\***********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify;\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n cmdHelper = __webpack_require__(/*! ../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\n\nvar checkbox = function(translate, options, defaultParameters) {\n var resource = defaultParameters,\n id = resource.id,\n label = options.label || id,\n canBeDisabled = !!options.disabled && typeof options.disabled === 'function',\n canBeHidden = !!options.hidden && typeof options.hidden === 'function',\n description = options.description;\n\n resource.html =\n domify(' ' +\n '' + escapeHTML(label) + ' ');\n\n // add description below checkbox entry field\n if (description) {\n resource.html.appendChild(entryFieldDescription(translate, description, { show: canBeHidden && 'isHidden' }));\n }\n\n resource.get = function(element) {\n var bo = getBusinessObject(element),\n res = {};\n\n res[options.modelProperty] = bo.get(options.modelProperty);\n\n return res;\n };\n\n resource.set = function(element, values) {\n var res = {};\n\n res[options.modelProperty] = !!values[options.modelProperty];\n\n return cmdHelper.updateProperties(element, res);\n };\n\n if (typeof options.set === 'function') {\n resource.set = options.set;\n }\n\n if (typeof options.get === 'function') {\n resource.get = options.get;\n }\n\n if (canBeDisabled) {\n resource.isDisabled = function() {\n return options.disabled.apply(resource, arguments);\n };\n }\n\n if (canBeHidden) {\n resource.isHidden = function() {\n return !options.hidden.apply(resource, arguments);\n };\n }\n\n resource.cssClasses = ['bpp-checkbox'];\n\n return resource;\n};\n\nmodule.exports = checkbox;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/CheckboxEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/CollapsibleEntryFactory.js":
/*!**************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/CollapsibleEntryFactory.js ***!
\**************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\n\n/**\n * @param {object} options\n * @param {string} options.id\n * @param {string} [options.title='']\n * @param {string} [options.description='']\n * @param {boolean} [options.open=false]\n * @param {Function} [options.onToggle]\n * @param {Function} [options.onRemove]\n *\n * @return {object}\n */\nfunction Collapsible(options) {\n\n var id = options.id,\n title = options.title || '',\n description = options.description || '',\n open = !!options.open || false,\n onToggle = options.onToggle || noop,\n onRemove = options.onRemove,\n cssClasses = options.cssClasses || [];\n\n\n var collapsibleEntry = {\n id: id,\n toggle: toggle,\n isOpen: isOpen,\n set: set,\n setOpen: setOpen,\n get: get\n };\n\n if (typeof onRemove === 'function') {\n collapsibleEntry.onRemove = function(entry, entryNode, actionId, event) {\n var commands = onRemove(entry, entryNode, actionId, event);\n\n if (commands) {\n scheduleCommands(commands, entryNode);\n return true;\n }\n };\n }\n\n function get(element, entryNode) {\n if (options.get) {\n return options.get(element, entryNode);\n }\n\n return {\n title: title || '',\n description: description || ''\n };\n }\n\n function set() {\n var commands = this._commands;\n\n if (commands) {\n delete this._commands;\n return commands;\n }\n }\n\n function toggle(element, entryNode, event, scope) {\n var value = !open;\n\n setOpen(value, entryNode);\n onToggle(value, entryNode);\n }\n\n /**\n * Set entry's open state.\n *\n * @param {boolean} value\n * @param {HTMLElement} entryNode\n */\n function setOpen(value, entryNode) {\n open = value;\n entryNode.classList.toggle('bpp-collapsible--collapsed', !value);\n }\n\n function isOpen() {\n return open;\n }\n\n /**\n * Schedule commands to be run with next `set` method call.\n *\n * @param {Array} commands\n * @param {HTMLElement} entryNode\n */\n function scheduleCommands(commands, entryNode) {\n collapsibleEntry._commands = commands;\n\n // @barmac: hack to make properties panel call `set`\n var input = domQuery('input[type=\"hidden\"]', entryNode);\n input.value = 1;\n }\n\n collapsibleEntry.html = ' ' +\n ' ' +\n '' + escapeHTML(title) + ' ' +\n '' + escapeHTML(description) + ' ' +\n (onRemove ? ' ' : '') +\n '
';\n\n collapsibleEntry.cssClasses = cssClasses.concat(open ?\n [ 'bpp-collapsible' ] : [ 'bpp-collapsible', 'bpp-collapsible--collapsed' ]\n );\n\n return collapsibleEntry;\n}\n\nmodule.exports = Collapsible;\n\nfunction noop() {}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/CollapsibleEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/ComboEntryFactory.js":
/*!********************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/ComboEntryFactory.js ***!
\********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\"),\n find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\");\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar selectEntryFactory = __webpack_require__(/*! ./SelectEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/SelectEntryFactory.js\"),\n entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\n\n/**\n * The combo box is a special implementation of the select entry and adds the option 'custom' to the\n * select box. If 'custom' is selected, an additional text input field is shown which allows to define\n * a custom value.\n *\n * @param {Object} options\n * @param {string} options.id\n * @param {string} options.label\n * @param {Array} options.selectOptions list of name/value pairs\n * @param {string} options.modelProperty\n * @param {function} options.get\n * @param {function} options.set\n * @param {string} [options.customValue] custom select option value (default: 'custom')\n * @param {string} [options.customName] custom select option name visible in the select box (default: 'custom')\n *\n * @return {Object}\n */\nvar comboBox = function(translate, options) {\n\n var selectOptions = options.selectOptions,\n modelProperty = options.modelProperty,\n customValue = options.customValue || 'custom',\n customName = options.customName || 'custom ' + modelProperty,\n description = options.description;\n\n // check if a value is not a built in value\n var isCustomValue = function(value) {\n if (typeof value[modelProperty] === 'undefined') {\n return false;\n }\n\n var isCustom = !find(selectOptions, function(option) {\n return value[modelProperty] === option.value;\n });\n\n return isCustom;\n };\n\n var comboOptions = assign({}, options);\n\n // true if the selected value in the select box is customValue\n comboOptions.showCustomInput = function(element, node) {\n var selectBox = domQuery('[data-entry=\"'+ options.id +'\"] select', node.parentNode);\n\n if (selectBox) {\n return selectBox.value === customValue;\n }\n\n return false;\n };\n\n comboOptions.get = function(element, node) {\n var value = options.get(element, node);\n\n var modifiedValues = {};\n\n if (!isCustomValue(value)) {\n modifiedValues[modelProperty] = value[modelProperty] || '';\n\n return modifiedValues;\n }\n\n modifiedValues[modelProperty] = customValue;\n modifiedValues['custom-'+modelProperty] = value[modelProperty];\n\n return modifiedValues;\n };\n\n comboOptions.set = function(element, values, node) {\n var modifiedValues = {};\n\n // if the custom select option has been selected\n // take the value from the text input field\n if (values[modelProperty] === customValue) {\n modifiedValues[modelProperty] = values['custom-' + modelProperty] || '';\n }\n else if (options.emptyParameter && values[modelProperty] === '') {\n modifiedValues[modelProperty] = undefined;\n } else {\n modifiedValues[modelProperty] = values[modelProperty];\n }\n return options.set(element, modifiedValues, node);\n };\n\n comboOptions.selectOptions.push({ name: customName, value: customValue });\n\n var comboBoxEntry = assign({}, selectEntryFactory(translate, comboOptions, comboOptions));\n\n var fragment = document.createDocumentFragment();\n\n fragment.appendChild(comboBoxEntry.html);\n\n comboBoxEntry.html = fragment;\n\n comboBoxEntry.html.appendChild(domify('' +\n ' ' +\n '
'));\n\n // add description below combo box entry field\n if (description) {\n comboBoxEntry.html.appendChild(entryFieldDescription(translate, description, { show: 'showCustomInput' }));\n }\n\n return comboBoxEntry;\n};\n\nmodule.exports = comboBox;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/ComboEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js":
/*!***************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js ***!
\***************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\n// input entities\nvar textInputField = __webpack_require__(/*! ./TextInputEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/TextInputEntryFactory.js\"),\n checkboxField = __webpack_require__(/*! ./CheckboxEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/CheckboxEntryFactory.js\"),\n selectBoxField = __webpack_require__(/*! ./SelectEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/SelectEntryFactory.js\"),\n comboBoxField = __webpack_require__(/*! ./ComboEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/ComboEntryFactory.js\"),\n textBoxField = __webpack_require__(/*! ./TextBoxEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/TextBoxEntryFactory.js\"),\n validationAwareTextInputField = __webpack_require__(/*! ./ValidationAwareTextInput */ \"./node_modules/bpmn-js-properties-panel/lib/factory/ValidationAwareTextInput.js\"),\n tableField = __webpack_require__(/*! ./TableEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/TableEntryFactory.js\"),\n labelEntry = __webpack_require__(/*! ./LabelFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/LabelFactory.js\"),\n link = __webpack_require__(/*! ./LinkEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/LinkEntryFactory.js\"),\n autoSuggestTextBoxField = __webpack_require__(/*! ./AutoSuggestTextBoxFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/AutoSuggestTextBoxFactory.js\"),\n collapsible = __webpack_require__(/*! ./CollapsibleEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/CollapsibleEntryFactory.js\"),\n toggleSwitch = __webpack_require__(/*! ./ToggleSwitchEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/ToggleSwitchEntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\n// helpers ////////////////////////////////////////\n\nfunction ensureNotNull(prop) {\n if (!prop) {\n throw new Error(prop + ' must be set.');\n }\n\n return prop;\n}\n\n/**\n * sets the default parameters which are needed to create an entry\n *\n * @param options\n * @returns {{id: *, description: (*|string), get: (*|Function), set: (*|Function),\n * validate: (*|Function), html: string}}\n */\nvar setDefaultParameters = function(options) {\n\n // default method to fetch the current value of the input field\n var defaultGet = function(element) {\n var bo = getBusinessObject(element),\n res = {},\n prop = ensureNotNull(options.modelProperty);\n res[prop] = bo.get(prop);\n\n return res;\n };\n\n // default method to set a new value to the input field\n var defaultSet = function(element, values) {\n var res = {},\n prop = ensureNotNull(options.modelProperty);\n if (values[prop] !== '') {\n res[prop] = values[prop];\n } else {\n res[prop] = undefined;\n }\n\n return cmdHelper.updateProperties(element, res);\n };\n\n // default validation method\n var defaultValidate = function() {\n return {};\n };\n\n return {\n id : options.id,\n description : (options.description || ''),\n get : (options.get || defaultGet),\n set : (options.set || defaultSet),\n validate : (options.validate || defaultValidate),\n html: ''\n };\n};\n\nfunction EntryFactory() {\n\n}\n\n/**\n * Generates an text input entry object for a property panel.\n * options are:\n * - id: id of the entry - String\n *\n * - description: description of the property - String\n *\n * - label: label for the input field - String\n *\n * - set: setter method - Function\n *\n * - get: getter method - Function\n *\n * - validate: validation mehtod - Function\n *\n * - modelProperty: name of the model property - String\n *\n * - buttonAction: Object which contains the following properties: - Object\n * ---- name: name of the [data-action] callback - String\n * ---- method: callback function for [data-action] - Function\n *\n * - buttonShow: Object which contains the following properties: - Object\n * ---- name: name of the [data-show] callback - String\n * ---- method: callback function for [data-show] - Function\n *\n * @param options\n * @returns the propertyPanel entry resource object\n */\nEntryFactory.textField = function(translate, options) {\n return textInputField(translate, options, setDefaultParameters(options));\n};\n\nEntryFactory.validationAwareTextField = function(translate, options) {\n return validationAwareTextInputField(translate, options, setDefaultParameters(options));\n};\n\n/**\n * Generates a checkbox input entry object for a property panel.\n * options are:\n * - id: id of the entry - String\n *\n * - description: description of the property - String\n *\n * - label: label for the input field - String\n *\n * - set: setter method - Function\n *\n * - get: getter method - Function\n *\n * - validate: validation method - Function\n *\n * - modelProperty: name of the model property - String\n *\n * @param options\n * @returns the propertyPanel entry resource object\n */\nEntryFactory.checkbox = function(translate, options) {\n return checkboxField(translate, options, setDefaultParameters(options));\n};\n\nEntryFactory.textBox = function(translate, options) {\n return textBoxField(translate, options, setDefaultParameters(options));\n};\n\nEntryFactory.selectBox = function(translate, options) {\n return selectBoxField(translate, options, setDefaultParameters(options));\n};\n\nEntryFactory.comboBox = function(translate, options) {\n return comboBoxField(translate, options);\n};\n\nEntryFactory.table = function(translate, options) {\n return tableField(translate, options);\n};\n\nEntryFactory.label = function(options) {\n return labelEntry(options);\n};\n\nEntryFactory.link = function(translate, options) {\n return link(translate, options);\n};\n\nEntryFactory.autoSuggest = function(translate, options) {\n return autoSuggestTextBoxField(translate, options, setDefaultParameters(options));\n};\n\nEntryFactory.collapsible = function(options) {\n return collapsible(options);\n};\n\nEntryFactory.toggleSwitch = function(translate, options) {\n return toggleSwitch(translate, options, setDefaultParameters(options));\n};\n\nmodule.exports = EntryFactory;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js ***!
\************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes,\n domEvent = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").event;\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar MAX_DESCRIPTION_LENGTH = 200;\n\n/**\n * Create a linkified and HTML escaped entry field description.\n *\n * As a special feature, this description may contain both markdown,\n * plain links and \n *\n * @param {string} description\n * @param {object} [options]\n * @param {string} [options.show] - name of callback to determine whether description is shown\n */\nmodule.exports = function entryFieldDescription(translate, description, options) {\n var show = options && options.show;\n\n // we tokenize the description to extract text, HTML and markdown links\n // text, links and new lines are handled seperately\n\n var escaped = [];\n\n // match markdown [{TEXT}]({URL}) and HTML links {TEXT} \n var pattern = /(?:\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\))|(?:(.+?(?=<\\/))<\\/a>)/gi;\n\n var index = 0;\n var match;\n var link, text;\n\n while ((match = pattern.exec(description))) {\n\n // escape + insert text before match\n if (match.index > index) {\n escaped.push(escapeText(description.substring(index, match.index)));\n }\n\n link = match[2] && encodeURI(match[2]) || match[3];\n text = match[1] || match[4];\n\n // insert safe link\n escaped.push(' ' + escapeText(text) + ' ');\n\n index = match.index + match[0].length;\n }\n\n // escape and insert text after last match\n if (index < description.length) {\n escaped.push(escapeText(description.substring(index)));\n }\n\n description = escaped.join('');\n\n var html = domify(\n '' : '>') +\n '
'\n );\n\n var descriptionText = domify('' + description + ' ');\n\n html.appendChild(descriptionText);\n\n function toggleExpanded(expanded) {\n if (expanded) {\n domClasses(html).add('description--expanded');\n\n descriptionText.textContent = description + ' ';\n\n expand.textContent = translate('Less');\n } else {\n domClasses(html).remove('description--expanded');\n\n descriptionText.textContent = descriptionShortened + ' ... ';\n\n expand.textContent = translate('More');\n }\n }\n\n var descriptionShortened,\n expand,\n expanded = false;\n\n if (description.length > MAX_DESCRIPTION_LENGTH) {\n descriptionShortened = description.slice(0, MAX_DESCRIPTION_LENGTH);\n\n expand = domify(\n '' +\n translate('More') +\n ' '\n );\n\n domEvent.bind(expand, 'click', function() {\n expanded = !expanded;\n\n toggleExpanded(expanded);\n });\n\n html.appendChild(expand);\n\n toggleExpanded(expanded);\n }\n\n return html;\n};\n\nfunction escapeText(text) {\n var match, index = 0, escaped = [];\n\n // match new line etc.\n var pattern = / /gi;\n\n while ((match = pattern.exec(text))) {\n\n if (match.index > index) {\n escaped.push(escapeHTML(text.substring(index, match.index)));\n }\n\n escaped.push(' ');\n\n index = match.index + match[0].length;\n }\n\n if (index < text.length) {\n escaped.push(escapeHTML(text.substring(index)));\n }\n\n return escaped.join('');\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/LabelFactory.js":
/*!***************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/LabelFactory.js ***!
\***************************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\n/**\n * The label factory provides a label entry. For the label text\n * it expects either a string provided by the options.labelText\n * parameter or it could be generated programmatically using a\n * function passed as the options.get parameter.\n *\n * @param {Object} options\n * @param {string} options.id\n * @param {string} [options.labelText]\n * @param {Function} [options.get]\n * @param {Function} [options.showLabel]\n * @param {Boolean} [options.divider] adds a divider at the top of the label if true; default: false\n */\nvar label = function(options) {\n return {\n id: options.id,\n html: '' +\n ' ',\n get: function(element, node) {\n if (typeof options.get === 'function') {\n return options.get(element, node);\n }\n return { label: options.labelText };\n },\n showLabel: function(element, node) {\n if (typeof options.showLabel === 'function') {\n return options.showLabel(element, node);\n }\n return true;\n }\n };\n};\n\nmodule.exports = label;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/LabelFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/LinkEntryFactory.js":
/*!*******************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/LinkEntryFactory.js ***!
\*******************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify;\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\nvar bind = __webpack_require__(/*! lodash/bind */ \"./node_modules/lodash/bind.js\");\n\n/**\n * An entry that renders a clickable link.\n *\n * A passed {@link options#handleClick} handler is responsible\n * to process the click.\n *\n * The link may be conditionally shown or hidden. This can be\n * controlled via the {@link options.showLink}.\n *\n * @param {Object} options\n * @param {String} options.id\n * @param {String} [options.buttonLabel]\n * @param {Function} options.handleClick\n * @param {Function} [options.showLink] returning false to hide link\n * @param {String} [options.description]\n *\n * @example\n *\n * var linkEntry = link({\n * id: 'foo',\n * description: 'Some Description',\n * handleClick: function(element, node, event) { ... },\n * showLink: function(element, node) { ... }\n * });\n *\n * @return {Entry} the newly created entry\n */\nfunction link(translate, options) {\n\n var id = options.id,\n buttonLabel = options.buttonLabel || id,\n showLink = options.showLink,\n handleClick = options.handleClick,\n description = options.description,\n label = options.label;\n\n if (showLink && typeof showLink !== 'function') {\n throw new Error('options.showLink must be a function');\n }\n\n if (typeof handleClick !== 'function') {\n throw new Error('options.handleClick must be a function');\n }\n\n var resource = {\n id: id,\n html: document.createDocumentFragment()\n };\n\n if (label) {\n resource.html.appendChild(domify(''+ escapeHTML(label) +' '));\n }\n\n resource.html.appendChild(domify(''));\n\n\n // add description below link entry field\n if (description) {\n resource.html.appendChild(entryFieldDescription(translate, description, { show: 'showLink' }));\n }\n\n resource.handleClick = bind(handleClick, resource);\n\n if (typeof showLink === 'function') {\n resource.showLink = function() {\n return showLink.apply(resource, arguments);\n };\n }\n\n return resource;\n}\n\nmodule.exports = link;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/LinkEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/SelectEntryFactory.js":
/*!*********************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/SelectEntryFactory.js ***!
\*********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nvar entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\n\nvar isList = function(list) {\n return !(!list || Object.prototype.toString.call(list) !== '[object Array]');\n};\n\nvar addEmptyParameter = function(list) {\n return list.concat([ { name: '', value: '' } ]);\n};\n\nvar createOption = function(option) {\n return '' + option.name + ' ';\n};\n\n/**\n * @param {Object} options\n * @param {string} options.id\n * @param {string} [options.label]\n * @param {Array} options.selectOptions\n * @param {string} options.modelProperty\n * @param {boolean} options.emptyParameter\n * @param {function} options.disabled\n * @param {function} options.hidden\n * @param {Object} defaultParameters\n *\n * @return {Object}\n */\nvar selectbox = function(translate, options, defaultParameters) {\n var resource = defaultParameters,\n label = options.label || resource.id,\n selectOptions = options.selectOptions || [ { name: '', value: '' } ],\n modelProperty = options.modelProperty,\n emptyParameter = options.emptyParameter,\n canBeDisabled = !!options.disabled && typeof options.disabled === 'function',\n canBeHidden = !!options.hidden && typeof options.hidden === 'function',\n description = options.description;\n\n\n if (emptyParameter) {\n selectOptions = addEmptyParameter(selectOptions);\n }\n\n\n resource.html =\n domify('' + escapeHTML(label) + ' ' +\n ' ');\n\n var select = domQuery('select', resource.html);\n\n if (isList(selectOptions)) {\n forEach(selectOptions, function(option) {\n select.appendChild(\n domify(\n '' +\n (option.name ? escapeHTML(option.name) : '') +\n ' '\n )\n );\n });\n }\n\n // add description below select box entry field\n if (description && typeof options.showCustomInput !== 'function') {\n resource.html.appendChild(entryFieldDescription(translate, description, { show: canBeHidden && 'isHidden' }));\n }\n\n /**\n * Fill the select box options dynamically.\n *\n * Calls the defined function #selectOptions in the entry to get the\n * values for the options and set the value to the inputNode.\n *\n * @param {djs.model.Base} element\n * @param {HTMLElement} entryNode\n * @param {EntryDescriptor} inputNode\n * @param {Object} inputName\n * @param {Object} newValue\n */\n resource.setControlValue = function(element, entryNode, inputNode, inputName, newValue) {\n if (typeof selectOptions === 'function') {\n\n var options = selectOptions(element, inputNode);\n\n if (options) {\n\n // remove existing options\n while (inputNode.firstChild) {\n inputNode.removeChild(inputNode.firstChild);\n }\n\n // add options\n forEach(options, function(option) {\n var template = domify(createOption(option));\n\n inputNode.appendChild(template);\n });\n\n\n }\n }\n\n // set select value\n if (newValue !== undefined) {\n inputNode.value = newValue;\n }\n\n };\n\n if (canBeDisabled) {\n resource.isDisabled = function() {\n return options.disabled.apply(resource, arguments);\n };\n }\n\n if (canBeHidden) {\n resource.isHidden = function() {\n return !options.hidden.apply(resource, arguments);\n };\n }\n\n resource.cssClasses = ['bpp-dropdown'];\n\n return resource;\n};\n\nmodule.exports = selectbox;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/SelectEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/TableEntryFactory.js":
/*!********************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/TableEntryFactory.js ***!
\********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar cmdHelper = __webpack_require__(/*! ../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query,\n domAttr = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").attr,\n domClosest = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").closest;\n\nvar filter = __webpack_require__(/*! lodash/filter */ \"./node_modules/lodash/filter.js\"),\n forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\"),\n keys = __webpack_require__(/*! lodash/keys */ \"./node_modules/lodash/keys.js\");\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify;\n\nvar entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\nvar updateSelection = __webpack_require__(/*! selection-update */ \"./node_modules/selection-update/index.js\");\n\nvar TABLE_ROW_DIV_SNIPPET = '';\nvar DELETE_ROW_BUTTON_SNIPPET = '' +\n 'X ' +\n ' ';\n\nfunction createInputRowTemplate(properties, canRemove) {\n var template = TABLE_ROW_DIV_SNIPPET;\n template += createInputTemplate(properties, canRemove);\n template += canRemove ? DELETE_ROW_BUTTON_SNIPPET : '';\n template += '
';\n\n return template;\n}\n\nfunction createInputTemplate(properties, canRemove) {\n var columns = properties.length;\n var template = '';\n forEach(properties, function(prop) {\n template += ' ';\n });\n return template;\n}\n\nfunction createLabelRowTemplate(labels) {\n var template = TABLE_ROW_DIV_SNIPPET;\n template += createLabelTemplate(labels);\n template += '';\n\n return template;\n}\n\nfunction createLabelTemplate(labels) {\n var columns = labels.length;\n var template = '';\n forEach(labels, function(label) {\n template += '' + escapeHTML(label) + ' ';\n });\n return template;\n}\n\nfunction pick(elements, properties) {\n return (elements || []).map(function(elem) {\n var newElement = {};\n forEach(properties, function(prop) {\n newElement[prop] = elem[prop] || '';\n });\n return newElement;\n });\n}\n\nfunction diff(element, node, values, oldValues, editable) {\n return filter(values, function(value, idx) {\n return !valueEqual(element, node, value, oldValues[idx], editable, idx);\n });\n}\n\nfunction valueEqual(element, node, value, oldValue, editable, idx) {\n if (value && !oldValue) {\n return false;\n }\n var allKeys = keys(value).concat(keys(oldValue));\n\n return allKeys.every(function(key) {\n var n = value[key] || undefined;\n var o = oldValue[key] || undefined;\n return !editable(element, node, key, idx) || n === o;\n });\n}\n\nfunction getEntryNode(node) {\n return domClosest(node, '[data-entry]', true);\n}\n\nfunction getContainer(node) {\n return domQuery('div[data-list-entry-container]', node);\n}\n\nfunction getSelection(node) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n}\n\nfunction setSelection(node, selection) {\n node.selectionStart = selection.start;\n node.selectionEnd = selection.end;\n}\n\n/**\n * @param {Object} options\n * @param {string} options.id\n * @param {string} options.description\n * @param {Array} options.modelProperties\n * @param {Array} options.labels\n * @param {Function} options.getElements - this callback function must return a list of business object items\n * @param {Function} options.removeElement\n * @param {Function} options.addElement\n * @param {Function} options.updateElement\n * @param {Function} options.editable\n * @param {Function} options.setControlValue\n * @param {Function} options.show\n *\n * @return {Object}\n */\nmodule.exports = function(translate, options) {\n\n var id = options.id,\n modelProperties = options.modelProperties,\n labels = options.labels,\n description = options.description;\n\n var labelRow = createLabelRowTemplate(labels);\n\n var getElements = options.getElements;\n\n var removeElement = options.removeElement,\n canRemove = typeof removeElement === 'function';\n\n var addElement = options.addElement,\n canAdd = typeof addElement === 'function',\n addLabel = options.addLabel || 'Add Value';\n\n var updateElement = options.updateElement,\n canUpdate = typeof updateElement === 'function';\n\n var editable = options.editable || function() { return true; },\n setControlValue = options.setControlValue;\n\n var show = options.show,\n canBeShown = typeof show === 'function';\n\n var elements = function(element, node) {\n return pick(getElements(element, node), modelProperties);\n };\n\n var html = domify((canAdd ?\n '' +\n '' + escapeHTML(addLabel) + ' ' +\n '+ ' +\n '
' : '') +\n '' +\n '
' +\n labelRow +\n '
' +\n '
' +\n '
' +\n '
');\n\n if (description) {\n html.appendChild(entryFieldDescription(translate, description, { show: 'showTable' }));\n }\n\n var factory = {\n id: id,\n html: html,\n\n get: function(element, node) {\n var boElements = elements(element, node, this.__invalidValues);\n\n var invalidValues = this.__invalidValues;\n\n delete this.__invalidValues;\n\n forEach(invalidValues, function(value, idx) {\n var element = boElements[idx];\n\n forEach(modelProperties, function(prop) {\n element[prop] = value[prop];\n });\n });\n\n return boElements;\n },\n\n set: function(element, values, node) {\n var action = this.__action || {};\n delete this.__action;\n\n if (action.id === 'delete-element') {\n return removeElement(element, node, action.idx);\n }\n else if (action.id === 'add-element') {\n return addElement(element, node);\n }\n else if (canUpdate) {\n var commands = [],\n valuesToValidate = values;\n\n if (typeof options.validate !== 'function') {\n valuesToValidate = diff(element, node, values, elements(element, node), editable);\n }\n\n var self = this;\n\n forEach(valuesToValidate, function(value) {\n var validationError,\n idx = values.indexOf(value);\n\n if (typeof options.validate === 'function') {\n validationError = options.validate(element, value, node, idx);\n }\n\n if (!validationError) {\n var cmd = updateElement(element, value, node, idx);\n\n if (cmd) {\n commands.push(cmd);\n }\n } else {\n\n // cache invalid value in an object by index as key\n self.__invalidValues = self.__invalidValues || {};\n self.__invalidValues[idx] = value;\n\n // execute a command, which does not do anything\n commands.push(cmdHelper.updateProperties(element, {}));\n }\n });\n\n return commands;\n }\n },\n createListEntryTemplate: function(value, index, selectBox) {\n return createInputRowTemplate(modelProperties, canRemove);\n },\n\n addElement: function(element, node, event, scopeNode) {\n var template = domify(createInputRowTemplate(modelProperties, canRemove));\n\n var container = getContainer(node);\n container.appendChild(template);\n\n this.__action = {\n id: 'add-element'\n };\n\n return true;\n },\n\n deleteElement: function(element, node, event, scopeNode) {\n var container = getContainer(node);\n var rowToDelete = event.delegateTarget.parentNode;\n var idx = parseInt(domAttr(rowToDelete, 'data-index'), 10);\n\n container.removeChild(rowToDelete);\n\n this.__action = {\n id: 'delete-element',\n idx: idx\n };\n\n return true;\n },\n\n editable: function(element, rowNode, input, prop, value, idx) {\n var entryNode = domClosest(rowNode, '[data-entry]');\n return editable(element, entryNode, prop, idx);\n },\n\n show: function(element, entryNode, node, scopeNode) {\n entryNode = getEntryNode(entryNode);\n return show(element, entryNode, node, scopeNode);\n },\n\n showTable: function(element, entryNode, node, scopeNode) {\n entryNode = getEntryNode(entryNode);\n var elems = elements(element, entryNode);\n return elems && elems.length && (!canBeShown || show(element, entryNode, node, scopeNode));\n },\n\n validateListItem: function(element, value, node, idx) {\n if (typeof options.validate === 'function') {\n return options.validate(element, value, node, idx);\n }\n }\n\n };\n\n // Update/set the selection on the correct position.\n // It's the same code like for an input value in the PropertiesPanel.js.\n if (setControlValue) {\n factory.setControlValue = function(element, rowNode, input, prop, value, idx) {\n var entryNode = getEntryNode(rowNode);\n\n var isReadOnly = domAttr(input, 'readonly');\n var oldValue = input.value;\n\n var selection;\n\n // prevents input fields from having the value 'undefined'\n if (value === undefined) {\n value = '';\n }\n\n // when the attribute 'readonly' exists, ignore the comparison\n // with 'oldValue' and 'value'\n if (!!isReadOnly && oldValue === value) {\n return;\n }\n\n // update selection on undo/redo\n if (document.activeElement === input) {\n selection = updateSelection(getSelection(input), oldValue, value);\n }\n\n setControlValue(element, entryNode, input, prop, value, idx);\n\n if (selection) {\n setSelection(input, selection);\n }\n\n };\n }\n\n return factory;\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/TableEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/TextBoxEntryFactory.js":
/*!**********************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/TextBoxEntryFactory.js ***!
\**********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify;\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\n\nvar textBox = function(translate, options, defaultParameters) {\n\n var resource = defaultParameters,\n label = options.label || resource.id,\n canBeShown = !!options.show && typeof options.show === 'function',\n description = options.description;\n\n resource.html =\n domify('' + label + ' ' +\n '');\n\n // add description below text box entry field\n if (description) {\n resource.html.appendChild(entryFieldDescription(translate, description, { show: canBeShown && 'isShown' }));\n }\n\n if (canBeShown) {\n resource.isShown = function() {\n return options.show.apply(resource, arguments);\n };\n }\n\n resource.cssClasses = ['bpp-textbox'];\n\n return resource;\n};\n\nmodule.exports = textBox;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/TextBoxEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/TextInputEntryFactory.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/TextInputEntryFactory.js ***!
\************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\n\nvar textField = function(translate, options, defaultParameters) {\n\n // Default action for the button next to the input-field\n var defaultButtonAction = function(element, inputNode) {\n var input = domQuery('input[name=\"' + options.modelProperty + '\"]', inputNode);\n input.value = '';\n\n return true;\n };\n\n // default method to determine if the button should be visible\n var defaultButtonShow = function(element, inputNode) {\n var input = domQuery('input[name=\"' + options.modelProperty + '\"]', inputNode);\n\n return input.value !== '';\n };\n\n\n var resource = defaultParameters,\n label = options.label || resource.id,\n dataValueLabel = options.dataValueLabel,\n buttonLabel = (options.buttonLabel || 'X'),\n actionName = (typeof options.buttonAction != 'undefined') ? options.buttonAction.name : 'clear',\n actionMethod = (typeof options.buttonAction != 'undefined') ? options.buttonAction.method : defaultButtonAction,\n showName = (typeof options.buttonShow != 'undefined') ? options.buttonShow.name : 'canClear',\n showMethod = (typeof options.buttonShow != 'undefined') ? options.buttonShow.method : defaultButtonShow,\n canBeDisabled = !!options.disabled && typeof options.disabled === 'function',\n canBeHidden = !!options.hidden && typeof options.hidden === 'function',\n description = options.description;\n\n resource.html =\n domify(''+ escapeHTML(label) +' ' +\n '' +\n ' ' +\n '' +\n '' + escapeHTML(buttonLabel) + ' ' +\n ' ' +\n '
');\n\n // add description below text input entry field\n if (description) {\n resource.html.appendChild(entryFieldDescription(translate, description, { show: canBeHidden && 'isHidden' }));\n }\n\n resource[actionName] = actionMethod;\n resource[showName] = showMethod;\n\n if (canBeDisabled) {\n resource.isDisabled = function() {\n return options.disabled.apply(resource, arguments);\n };\n }\n\n if (canBeHidden) {\n resource.isHidden = function() {\n return !options.hidden.apply(resource, arguments);\n };\n }\n\n resource.cssClasses = ['bpp-textfield'];\n\n return resource;\n};\n\nmodule.exports = textField;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/TextInputEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/ToggleSwitchEntryFactory.js":
/*!***************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/ToggleSwitchEntryFactory.js ***!
\***************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n cmdHelper = __webpack_require__(/*! ../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n escapeHTML = __webpack_require__(/*! ../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar entryFieldDescription = __webpack_require__(/*! ./EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\nvar domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify;\n\nvar toggleSwitch = function(translate, options, defaultParameters) {\n var resource = defaultParameters,\n id = resource.id,\n label = options.label || id,\n canBeHidden = !!options.hidden && typeof options.hidden === 'function',\n isOn = options.isOn,\n descriptionOn = options.descriptionOn,\n descriptionOff = options.descriptionOff,\n labelOn = options.labelOn,\n labelOff = options.labelOff;\n\n resource.html = document.createDocumentFragment();\n\n resource.html.appendChild(domify('' + escapeHTML(label) + ' ' +\n '' +\n '
' +\n ' ' +\n ' ' +\n ' ' +\n '
' +\n escapeHTML(labelOn) +\n '
' +\n '
' +\n escapeHTML(labelOff) +\n '
' +\n '
'));\n\n if (descriptionOn) {\n resource.html.appendChild(entryFieldDescription(translate, descriptionOn, { show: 'isOn' }));\n }\n\n if (descriptionOff) {\n resource.html.appendChild(entryFieldDescription(translate, descriptionOff, { show: 'isOff' }));\n }\n\n resource.get = function(element) {\n var bo = getBusinessObject(element),\n res = {};\n\n res[options.modelProperty] = bo.get(options.modelProperty);\n\n return res;\n };\n\n resource.set = function(element, values) {\n var res = {};\n\n res[options.modelProperty] = !!values[options.modelProperty];\n\n return cmdHelper.updateProperties(element, res);\n };\n\n if (typeof options.set === 'function') {\n resource.set = options.set;\n }\n\n if (typeof options.get === 'function') {\n resource.get = options.get;\n }\n\n if (canBeHidden) {\n resource.shouldShow = function() {\n return !options.hidden.apply(resource, arguments);\n };\n }\n\n resource.isOn = function() {\n if (canBeHidden && !resource.shouldShow()) {\n return false;\n }\n\n return isOn.apply(resource, arguments);\n };\n\n resource.isOff = function() {\n if (canBeHidden && !resource.shouldShow()) {\n return false;\n }\n\n return !resource.isOn();\n };\n\n resource.cssClasses = ['bpp-toggle-switch'];\n\n return resource;\n};\n\nmodule.exports = toggleSwitch;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/ToggleSwitchEntryFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/factory/ValidationAwareTextInput.js":
/*!***************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/factory/ValidationAwareTextInput.js ***!
\***************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar textField = __webpack_require__(/*! ./TextInputEntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/TextInputEntryFactory.js\");\n\n/**\n * This function is a wrapper around TextInputEntryFactory.\n * It adds functionality to cache an invalid value entered in the\n * text input, instead of setting it on the business object.\n */\nvar validationAwareTextField = function(translate, options, defaultParameters) {\n\n var modelProperty = options.modelProperty;\n\n defaultParameters.get = function(element, node) {\n var value = this.__lastInvalidValue;\n\n delete this.__lastInvalidValue;\n\n var properties = {};\n\n properties[modelProperty] = value !== undefined ? value : options.getProperty(element, node);\n\n return properties;\n };\n\n defaultParameters.set = function(element, values, node) {\n var validationErrors = validate.apply(this, [ element, values, node ]),\n propertyValue = values[modelProperty];\n\n // make sure we do not update the id\n if (validationErrors && validationErrors[modelProperty]) {\n this.__lastInvalidValue = propertyValue;\n\n return options.setProperty(element, {}, node);\n } else {\n var properties = {};\n\n properties[modelProperty] = propertyValue;\n\n return options.setProperty(element, properties, node);\n }\n };\n\n var validate = defaultParameters.validate = function(element, values, node) {\n var value = values[modelProperty] || this.__lastInvalidValue;\n\n var property = {};\n property[modelProperty] = value;\n\n return options.validate(element, property, node);\n };\n\n return textField(translate, options, defaultParameters);\n};\n\nmodule.exports = validationAwareTextField;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/factory/ValidationAwareTextInput.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/AsyncCapableHelper.js":
/*!********************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/AsyncCapableHelper.js ***!
\********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar map = __webpack_require__(/*! lodash/map */ \"./node_modules/lodash/map.js\");\n\nvar extensionElementsHelper = __webpack_require__(/*! ./ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\");\n\n/**\n * Returns true if the attribute 'camunda:asyncBefore' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isAsyncBefore(bo) {\n return !!(bo.get('camunda:asyncBefore') || bo.get('camunda:async'));\n}\n\nmodule.exports.isAsyncBefore = isAsyncBefore;\n\n/**\n * Returns true if the attribute 'camunda:asyncAfter' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isAsyncAfter(bo) {\n return !!bo.get('camunda:asyncAfter');\n}\n\nmodule.exports.isAsyncAfter = isAsyncAfter;\n\n/**\n * Returns true if the attribute 'camunda:exclusive' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isExclusive(bo) {\n return !!bo.get('camunda:exclusive');\n}\n\nmodule.exports.isExclusive = isExclusive;\n\n/**\n * Get first 'camunda:FailedJobRetryTimeCycle' from the business object.\n *\n * @param {ModdleElement} bo\n *\n * @return {Array} a list of 'camunda:FailedJobRetryTimeCycle'\n */\nfunction getFailedJobRetryTimeCycle(bo) {\n return extensionElementsHelper.getExtensionElements(bo, 'camunda:FailedJobRetryTimeCycle')[0];\n}\n\nmodule.exports.getFailedJobRetryTimeCycle = getFailedJobRetryTimeCycle;\n\n/**\n * Removes all existing 'camunda:FailedJobRetryTimeCycle' from the business object\n *\n * @param {ModdleElement} bo\n *\n * @return {Array} a list of 'camunda:FailedJobRetryTimeCycle'\n */\nfunction removeFailedJobRetryTimeCycle(bo, element) {\n var retryTimeCycles = extensionElementsHelper.getExtensionElements(bo, 'camunda:FailedJobRetryTimeCycle');\n return map(retryTimeCycles, function(cycle) {\n return extensionElementsHelper.removeEntry(bo, element, cycle);\n });\n}\n\nmodule.exports.removeFailedJobRetryTimeCycle = removeFailedJobRetryTimeCycle;\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/AsyncCapableHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/CategoryHelper.js":
/*!****************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/CategoryHelper.js ***!
\****************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar collectionAdd = __webpack_require__(/*! diagram-js/lib/util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\").add,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar CategoryHelper = {};\n\nmodule.exports = CategoryHelper;\n\n/**\n * Creates a new bpmn:CategoryValue inside a new bpmn:Category\n *\n * @param {ModdleElement} definitions\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement} categoryValue.\n */\nCategoryHelper.createCategoryValue = function(definitions, bpmnFactory) {\n var categoryValue = bpmnFactory.create('bpmn:CategoryValue'),\n category = bpmnFactory.create('bpmn:Category', {\n categoryValue: [ categoryValue ]\n });\n\n // add to correct place\n collectionAdd(definitions.get('rootElements'), category);\n getBusinessObject(category).$parent = definitions;\n getBusinessObject(categoryValue).$parent = category;\n\n return categoryValue;\n\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/CategoryHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js":
/*!***********************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js ***!
\***********************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\nvar CmdHelper = {};\nmodule.exports = CmdHelper;\n\nCmdHelper.updateProperties = function(element, properties) {\n return {\n cmd: 'element.updateProperties',\n context: { element: element, properties: properties }\n };\n};\n\nCmdHelper.updateBusinessObject = function(element, businessObject, newProperties) {\n return {\n cmd: 'properties-panel.update-businessobject',\n context: {\n element: element,\n businessObject: businessObject,\n properties: newProperties\n }\n };\n};\n\nCmdHelper.addElementsTolist = function(element, businessObject, listPropertyName, objectsToAdd, objectsToPrepend) {\n return {\n cmd: 'properties-panel.update-businessobject-list',\n context: {\n element: element,\n currentObject: businessObject,\n propertyName: listPropertyName,\n objectsToPrepend: objectsToPrepend,\n objectsToAdd: objectsToAdd\n }\n };\n};\n\nCmdHelper.removeElementsFromList = function(element, businessObject, listPropertyName, referencePropertyName, objectsToRemove) {\n\n return {\n cmd: 'properties-panel.update-businessobject-list',\n context: {\n element: element,\n currentObject: businessObject,\n propertyName: listPropertyName,\n referencePropertyName: referencePropertyName,\n objectsToRemove: objectsToRemove\n }\n };\n};\n\n\nCmdHelper.addAndRemoveElementsFromList = function(element, businessObject, listPropertyName, referencePropertyName, objectsToAdd, objectsToRemove) {\n\n return {\n cmd: 'properties-panel.update-businessobject-list',\n context: {\n element: element,\n currentObject: businessObject,\n propertyName: listPropertyName,\n referencePropertyName: referencePropertyName,\n objectsToAdd: objectsToAdd,\n objectsToRemove: objectsToRemove\n }\n };\n};\n\n\nCmdHelper.setList = function(element, businessObject, listPropertyName, updatedObjectList) {\n return {\n cmd: 'properties-panel.update-businessobject-list',\n context: {\n element: element,\n currentObject: businessObject,\n propertyName: listPropertyName,\n updatedObjectList: updatedObjectList\n }\n };\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js":
/*!***************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js ***!
\***************************************************************************/
/***/ ((module) => {
"use strict";
eval("\n\nvar ElementHelper = {};\nmodule.exports = ElementHelper;\n\n/**\n * Creates a new element and set the parent to it\n *\n * @method ElementHelper#createElement\n *\n * @param {String} elementType of the new element\n * @param {Object} properties of the new element in key-value pairs\n * @param {moddle.object} parent of the new element\n * @param {BpmnFactory} factory which creates the new element\n *\n * @returns {djs.model.Base} element which is created\n */\nElementHelper.createElement = function(elementType, properties, parent, factory) {\n var element = factory.create(elementType, properties);\n element.$parent = parent;\n\n return element;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js ***!
\***********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nvar EventDefinitionHelper = {};\n\nmodule.exports = EventDefinitionHelper;\n\nEventDefinitionHelper.getEventDefinition = function(element, eventType) {\n\n var bo = getBusinessObject(element),\n eventDefinition = null;\n\n if (bo.eventDefinitions) {\n forEach(bo.eventDefinitions, function(event) {\n if (is(event, eventType)) {\n eventDefinition = event;\n }\n });\n }\n\n return eventDefinition;\n};\n\nEventDefinitionHelper.getTimerEventDefinition = function(element) {\n return this.getEventDefinition(element, 'bpmn:TimerEventDefinition');\n};\n\nEventDefinitionHelper.getMessageEventDefinition = function(element) {\n return this.getEventDefinition(element, 'bpmn:MessageEventDefinition');\n};\n\nEventDefinitionHelper.getSignalEventDefinition = function(element) {\n return this.getEventDefinition(element, 'bpmn:SignalEventDefinition');\n};\n\nEventDefinitionHelper.getErrorEventDefinition = function(element) {\n return this.getEventDefinition(element, 'bpmn:ErrorEventDefinition');\n};\n\nEventDefinitionHelper.getEscalationEventDefinition = function(element) {\n return this.getEventDefinition(element, 'bpmn:EscalationEventDefinition');\n};\n\nEventDefinitionHelper.getCompensateEventDefinition = function(element) {\n return this.getEventDefinition(element, 'bpmn:CompensateEventDefinition');\n};\n\nEventDefinitionHelper.getLinkEventDefinition = function(element) {\n return this.getEventDefinition(element, 'bpmn:LinkEventDefinition');\n};\n\nEventDefinitionHelper.getConditionalEventDefinition = function(element) {\n return this.getEventDefinition(element, 'bpmn:ConditionalEventDefinition');\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js":
/*!*************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js ***!
\*************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar cmdHelper = __webpack_require__(/*! ./CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n elementHelper = __webpack_require__(/*! ./ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\");\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar ExtensionElementsHelper = {};\n\nExtensionElementsHelper.getExtensionElements = function(bo, type) {\n var elements = [];\n var extensionElements = bo.get('extensionElements');\n\n if (typeof extensionElements !== 'undefined') {\n var extensionValues = extensionElements.get('values');\n if (typeof extensionValues !== 'undefined') {\n elements = extensionValues.filter(function(value) {\n return is(value, type);\n });\n }\n }\n\n return elements;\n};\n\nExtensionElementsHelper.addEntry = function(bo, element, entry, bpmnFactory) {\n var extensionElements = bo.get('extensionElements');\n\n // if there is no extensionElements list, create one\n if (!extensionElements) {\n\n // TODO: Ask Daniel which operation costs more\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [entry] }, bo, bpmnFactory);\n return { extensionElements : extensionElements };\n } else {\n\n // add new failedJobRetryExtensionElement to existing extensionElements list\n return cmdHelper.addElementsTolist(element, extensionElements, 'values', [entry]);\n }\n};\n\nExtensionElementsHelper.removeEntry = function(bo, element, entry) {\n var extensionElements = bo.get('extensionElements');\n\n if (!extensionElements) {\n\n // return an empty command when there is no extensionElements list\n return {};\n }\n\n return cmdHelper.removeElementsFromList(element, extensionElements, 'values', 'extensionElements', [entry]);\n};\n\nmodule.exports = ExtensionElementsHelper;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/FormHelper.js":
/*!************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/FormHelper.js ***!
\************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n getExtensionElements = __webpack_require__(/*! ./ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\").getExtensionElements;\n\nvar FormHelper = {};\n\nmodule.exports = FormHelper;\n\n/**\n * Return form data from business object or undefined if none exist\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement|undefined} formData\n */\nFormHelper.getFormData = function(element) {\n var bo = getBusinessObject(element);\n\n var formData = getExtensionElements(bo, 'camunda:FormData');\n\n return formData[0];\n};\n\n\n/**\n * Return all form fields existing in the business object, and\n * an empty array if none exist.\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of form field objects\n */\nFormHelper.getFormFields = function(element) {\n var formData = this.getFormData(element);\n\n if (typeof formData === 'undefined') {\n return [];\n }\n\n return formData.fields || [];\n};\n\n\n/**\n * Get a form field from the business object at given index\n *\n * @param {djs.model.Base} element\n * @param {number} idx\n *\n * @return {ModdleElement} the form field\n */\nFormHelper.getFormField = function(element, idx) {\n\n var formFields = this.getFormFields(element);\n\n return formFields[idx];\n};\n\n\n/**\n * Get all constraints for a specific form field from the business object\n *\n * @param {ModdleElement} formField\n *\n * @return {Array} a list of constraint objects\n */\nFormHelper.getConstraints = function(formField) {\n if (formField && formField.validation && formField.validation.constraints) {\n return formField.validation.constraints;\n }\n return [];\n};\n\n\n/**\n * Get all camunda:value objects for a specific form field from the business object\n *\n * @param {ModdleElement} formField\n *\n * @return {Array} a list of camunda:value objects\n */\nFormHelper.getEnumValues = function(formField) {\n if (formField && formField.values) {\n return formField.values;\n }\n return [];\n};\n\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/FormHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js":
/*!**************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js ***!
\**************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar ModelUtil = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\"),\n is = ModelUtil.is,\n getBusinessObject = ModelUtil.getBusinessObject;\n\nvar eventDefinitionHelper = __webpack_require__(/*! ./EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\");\nvar extensionsElementHelper = __webpack_require__(/*! ./ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\");\n\nvar ImplementationTypeHelper = {};\n\nmodule.exports = ImplementationTypeHelper;\n\n/**\n * Returns 'true' if the given element is 'camunda:ServiceTaskLike'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nImplementationTypeHelper.isServiceTaskLike = function(element) {\n return is(element, 'camunda:ServiceTaskLike');\n};\n\n/**\n * Returns 'true' if the given element is 'camunda:DmnCapable'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nImplementationTypeHelper.isDmnCapable = function(element) {\n return is(element, 'camunda:DmnCapable');\n};\n\n/**\n * Returns 'true' if the given element is 'camunda:ExternalCapable'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nImplementationTypeHelper.isExternalCapable = function(element) {\n return is(element, 'camunda:ExternalCapable');\n};\n\n/**\n * Returns 'true' if the given element is 'camunda:TaskListener'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nImplementationTypeHelper.isTaskListener = function(element) {\n return is(element, 'camunda:TaskListener');\n};\n\n/**\n * Returns 'true' if the given element is 'camunda:ExecutionListener'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nImplementationTypeHelper.isExecutionListener = function(element) {\n return is(element, 'camunda:ExecutionListener');\n};\n\n/**\n * Returns 'true' if the given element is 'camunda:ExecutionListener' or\n * 'camunda:TaskListener'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nImplementationTypeHelper.isListener = function(element) {\n return this.isTaskListener(element) || this.isExecutionListener(element);\n};\n\n/**\n * Returns 'true' if the given element is 'bpmn:SequenceFlow'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nImplementationTypeHelper.isSequenceFlow = function(element) {\n return is(element, 'bpmn:SequenceFlow');\n};\n\n/**\n * Get a 'camunda:ServiceTaskLike' business object.\n *\n * If the given element is not a 'camunda:ServiceTaskLike', then 'false'\n * is returned.\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement} the 'camunda:ServiceTaskLike' business object\n */\nImplementationTypeHelper.getServiceTaskLikeBusinessObject = function(element) {\n\n if (is(element, 'bpmn:IntermediateThrowEvent') || is(element, 'bpmn:EndEvent')) {\n\n // change business object to 'messageEventDefinition' when\n // the element is a message intermediate throw event or message end event\n // because the camunda extensions (e.g. camunda:class) are in the message\n // event definition tag and not in the intermediate throw event or end event tag\n var messageEventDefinition = eventDefinitionHelper.getMessageEventDefinition(element);\n if (messageEventDefinition) {\n element = messageEventDefinition;\n }\n }\n\n return this.isServiceTaskLike(element) && getBusinessObject(element);\n\n};\n\n/**\n * Returns the implementation type of the given element.\n *\n * Possible implementation types are:\n * - dmn\n * - connector\n * - external\n * - class\n * - expression\n * - delegateExpression\n * - script\n * - or undefined, when no matching implementation type is found\n *\n * @param {djs.model.Base} element\n *\n * @return {String} the implementation type\n */\nImplementationTypeHelper.getImplementationType = function(element) {\n\n var bo = this.getServiceTaskLikeBusinessObject(element);\n\n if (!bo) {\n if (this.isListener(element)) {\n bo = element;\n } else {\n return;\n }\n }\n\n if (this.isDmnCapable(bo)) {\n var decisionRef = bo.get('camunda:decisionRef');\n if (typeof decisionRef !== 'undefined') {\n return 'dmn';\n }\n }\n\n if (this.isServiceTaskLike(bo)) {\n var connectors = extensionsElementHelper.getExtensionElements(bo, 'camunda:Connector');\n if (connectors.length) {\n return 'connector';\n }\n }\n\n if (this.isExternalCapable(bo)) {\n var type = bo.get('camunda:type');\n if (type === 'external') {\n return 'external';\n }\n }\n\n var cls = bo.get('camunda:class');\n if (typeof cls !== 'undefined') {\n return 'class';\n }\n\n var expression = bo.get('camunda:expression');\n if (typeof expression !== 'undefined') {\n return 'expression';\n }\n\n var delegateExpression = bo.get('camunda:delegateExpression');\n if (typeof delegateExpression !== 'undefined') {\n return 'delegateExpression';\n }\n\n if (this.isListener(bo)) {\n var script = bo.get('script');\n if (typeof script !== 'undefined') {\n return 'script';\n }\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/InputOutputHelper.js":
/*!*******************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/InputOutputHelper.js ***!
\*******************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar ModelUtil = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\"),\n is = ModelUtil.is,\n getBusinessObject = ModelUtil.getBusinessObject;\n\nvar extensionElementsHelper = __webpack_require__(/*! ./ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n implementationTypeHelper = __webpack_require__(/*! ./ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\");\n\nvar InputOutputHelper = {};\n\nmodule.exports = InputOutputHelper;\n\nfunction getElements(bo, type, prop) {\n var elems = extensionElementsHelper.getExtensionElements(bo, type);\n return !prop ? elems : (elems[0] || {})[prop] || [];\n}\n\nfunction getParameters(element, prop, insideConnector) {\n var inputOutput = InputOutputHelper.getInputOutput(element, insideConnector);\n return (inputOutput && inputOutput.get(prop)) || [];\n}\n\n/**\n * Get a inputOutput from the business object\n *\n * @param {djs.model.Base} element\n * @param {boolean} insideConnector\n *\n * @return {ModdleElement} the inputOutput object\n */\nInputOutputHelper.getInputOutput = function(element, insideConnector) {\n if (!insideConnector) {\n var bo = getBusinessObject(element);\n return (getElements(bo, 'camunda:InputOutput') || [])[0];\n }\n var connector = this.getConnector(element);\n return connector && connector.get('inputOutput');\n};\n\n/**\n * Get a connector from the business object\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement} the connector object\n */\nInputOutputHelper.getConnector = function(element) {\n var bo = implementationTypeHelper.getServiceTaskLikeBusinessObject(element);\n return bo && (getElements(bo, 'camunda:Connector') || [])[0];\n};\n\n/**\n * Return all input parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {djs.model.Base} element\n * @param {boolean} insideConnector\n *\n * @return {Array} a list of input parameter objects\n */\nInputOutputHelper.getInputParameters = function(element, insideConnector) {\n return getParameters.apply(this, [ element, 'inputParameters', insideConnector ]);\n};\n\n/**\n * Return all output parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {djs.model.Base} element\n * @param {boolean} insideConnector\n *\n * @return {Array} a list of output parameter objects\n */\nInputOutputHelper.getOutputParameters = function(element, insideConnector) {\n return getParameters.apply(this, [ element, 'outputParameters', insideConnector ]);\n};\n\n/**\n * Get a input parameter from the business object at given index\n *\n * @param {djs.model.Base} element\n * @param {boolean} insideConnector\n * @param {number} idx\n *\n * @return {ModdleElement} input parameter\n */\nInputOutputHelper.getInputParameter = function(element, insideConnector, idx) {\n return this.getInputParameters(element, insideConnector)[idx];\n};\n\n/**\n * Get a output parameter from the business object at given index\n *\n * @param {djs.model.Base} element\n * @param {boolean} insideConnector\n * @param {number} idx\n *\n * @return {ModdleElement} output parameter\n */\nInputOutputHelper.getOutputParameter = function(element, insideConnector, idx) {\n return this.getOutputParameters(element, insideConnector)[idx];\n};\n\n/**\n * Returns 'true' if the given element supports inputOutput\n *\n * @param {djs.model.Base} element\n * @param {boolean} insideConnector\n *\n * @return {boolean} a boolean value\n */\nInputOutputHelper.isInputOutputSupported = function(element, insideConnector) {\n\n if (insideConnector) {\n return true;\n }\n\n var bo = getBusinessObject(element);\n\n return (\n is(bo, 'bpmn:FlowNode') && !(\n is(bo, 'bpmn:StartEvent') ||\n is(bo, 'bpmn:Gateway') ||\n is(bo, 'bpmn:BoundaryEvent') ||\n (\n is(bo, 'bpmn:SubProcess') && bo.get('triggeredByEvent')\n )\n )\n );\n};\n\n/**\n * Returns 'true' if the given element supports output parameters\n *\n * @param {djs.model.Base} element\n * @param {boolean} insideConnector\n *\n * @return {boolean} a boolean value\n */\nInputOutputHelper.areOutputParametersSupported = function(element, insideConnector) {\n var bo = getBusinessObject(element);\n return insideConnector || (!is(bo, 'bpmn:EndEvent') && !bo.loopCharacteristics);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/InputOutputHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/helper/ParticipantHelper.js":
/*!*******************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/helper/ParticipantHelper.js ***!
\*******************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n cmdHelper = __webpack_require__(/*! ./CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\n\nvar ParticipantHelper = {};\n\nmodule.exports = ParticipantHelper;\n\nParticipantHelper.modifyProcessBusinessObject = function(element, property, values) {\n if (!is(element, 'bpmn:Participant')) {\n return {};\n }\n\n var bo = getBusinessObject(element).get('processRef'),\n properties = {};\n\n properties[property] = values[property];\n\n return cmdHelper.updateBusinessObject(element, bo, properties);\n};\n\nParticipantHelper.getProcessBusinessObject = function(element, propertyName) {\n if (!is(element, 'bpmn:Participant')) {\n return {};\n }\n\n var bo = getBusinessObject(element).get('processRef'),\n properties = {};\n\n properties[propertyName] = bo.get(propertyName);\n\n return properties;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/helper/ParticipantHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/index.js":
/*!************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/index.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("module.exports = {\n __depends__: [\n __webpack_require__(/*! ./cmd */ \"./node_modules/bpmn-js-properties-panel/lib/cmd/index.js\"),\n __webpack_require__(/*! diagram-js/lib/i18n/translate */ \"./node_modules/diagram-js/lib/i18n/translate/index.js\").default\n ],\n __init__: [ 'propertiesPanel' ],\n propertiesPanel: [ 'type', __webpack_require__(/*! ./PropertiesPanel */ \"./node_modules/bpmn-js-properties-panel/lib/PropertiesPanel.js\") ]\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/DocumentationProps.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/DocumentationProps.js ***!
\*********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar ModelUtil = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\"),\n is = ModelUtil.is,\n getBusinessObject = ModelUtil.getBusinessObject;\n\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var getValue = function(businessObject) {\n return function(element) {\n var documentations = businessObject && businessObject.get('documentation'),\n text = (documentations && documentations.length > 0) ? documentations[0].text : '';\n\n return { documentation: text };\n };\n };\n\n var setValue = function(businessObject) {\n return function(element, values) {\n var newObjectList = [];\n\n if (typeof values.documentation !== 'undefined' && values.documentation !== '') {\n newObjectList.push(bpmnFactory.create('bpmn:Documentation', {\n text: values.documentation\n }));\n }\n\n return cmdHelper.setList(element, businessObject, 'documentation', newObjectList);\n };\n };\n\n // Element Documentation\n var elementDocuEntry = entryFactory.textBox(translate, {\n id: 'documentation',\n label: translate('Element Documentation'),\n modelProperty: 'documentation'\n });\n\n elementDocuEntry.set = setValue(getBusinessObject(element));\n\n elementDocuEntry.get = getValue(getBusinessObject(element));\n\n group.entries.push(elementDocuEntry);\n\n\n var processRef;\n\n // Process Documentation when having a Collaboration Diagram\n if (is(element, 'bpmn:Participant')) {\n\n processRef = getBusinessObject(element).processRef;\n\n // do not show for collapsed Pools/Participants\n if (processRef) {\n var processDocuEntry = entryFactory.textBox(translate, {\n id: 'process-documentation',\n label: translate('Process Documentation'),\n modelProperty: 'documentation'\n });\n\n processDocuEntry.set = setValue(processRef);\n\n processDocuEntry.get = getValue(processRef);\n\n group.entries.push(processDocuEntry);\n }\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/DocumentationProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps.js":
/*!*************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps.js ***!
\*************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n eventDefinitionHelper = __webpack_require__(/*! ../../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\");\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nvar message = __webpack_require__(/*! ./implementation/MessageEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/MessageEventDefinition.js\"),\n signal = __webpack_require__(/*! ./implementation/SignalEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/SignalEventDefinition.js\"),\n error = __webpack_require__(/*! ./implementation/ErrorEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ErrorEventDefinition.js\"),\n escalation = __webpack_require__(/*! ./implementation/EscalationEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EscalationEventDefinition.js\"),\n timer = __webpack_require__(/*! ./implementation/TimerEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/TimerEventDefinition.js\"),\n compensation = __webpack_require__(/*! ./implementation/CompensateEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/CompensateEventDefinition.js\"),\n condition = __webpack_require__(/*! ./implementation/ConditionalEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ConditionalEventDefinition.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, elementRegistry, translate) {\n var events = [\n 'bpmn:StartEvent',\n 'bpmn:EndEvent',\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:IntermediateCatchEvent'\n ];\n\n // Message and Signal Event Definition\n forEach(events, function(event) {\n if (is(element, event)) {\n\n var messageEventDefinition = eventDefinitionHelper.getMessageEventDefinition(element),\n signalEventDefinition = eventDefinitionHelper.getSignalEventDefinition(element);\n\n if (messageEventDefinition) {\n message(group, element, bpmnFactory, messageEventDefinition, translate);\n }\n\n if (signalEventDefinition) {\n signal(group, element, bpmnFactory, signalEventDefinition, translate);\n }\n\n }\n });\n\n // Special Case: Receive Task\n if (is(element, 'bpmn:ReceiveTask')) {\n message(group, element, bpmnFactory, getBusinessObject(element), translate);\n }\n\n // Error Event Definition\n var errorEvents = [\n 'bpmn:StartEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:EndEvent'\n ];\n\n forEach(errorEvents, function(event) {\n if (is(element, event)) {\n\n var errorEventDefinition = eventDefinitionHelper.getErrorEventDefinition(element);\n\n if (errorEventDefinition) {\n\n error(group, element, bpmnFactory, errorEventDefinition, translate);\n }\n }\n });\n\n // Escalation Event Definition\n var escalationEvents = [\n 'bpmn:StartEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:EndEvent'\n ];\n\n forEach(escalationEvents, function(event) {\n if (is(element, event)) {\n\n var showEscalationCodeVariable = is(element, 'bpmn:StartEvent') || is(element, 'bpmn:BoundaryEvent');\n\n // get business object\n var escalationEventDefinition = eventDefinitionHelper.getEscalationEventDefinition(element);\n\n if (escalationEventDefinition) {\n escalation(group, element, bpmnFactory, escalationEventDefinition, showEscalationCodeVariable,\n translate);\n }\n }\n\n });\n\n // Timer Event Definition\n var timerEvents = [\n 'bpmn:StartEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:IntermediateCatchEvent'\n ];\n\n forEach(timerEvents, function(event) {\n if (is(element, event)) {\n\n // get business object\n var timerEventDefinition = eventDefinitionHelper.getTimerEventDefinition(element);\n\n if (timerEventDefinition) {\n timer(group, element, bpmnFactory, timerEventDefinition, translate);\n }\n }\n });\n\n // Compensate Event Definition\n var compensationEvents = [\n 'bpmn:EndEvent',\n 'bpmn:IntermediateThrowEvent'\n ];\n\n forEach(compensationEvents, function(event) {\n if (is(element, event)) {\n\n // get business object\n var compensateEventDefinition = eventDefinitionHelper.getCompensateEventDefinition(element);\n\n if (compensateEventDefinition) {\n compensation(group, element, bpmnFactory, compensateEventDefinition, elementRegistry, translate);\n }\n }\n });\n\n\n // Conditional Event Definition\n var conditionalEvents = [\n 'bpmn:StartEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:IntermediateCatchEvent'\n ];\n\n if (isAny(element, conditionalEvents)) {\n\n // get business object\n var conditionalEventDefinition = eventDefinitionHelper.getConditionalEventDefinition(element);\n\n if (conditionalEventDefinition) {\n condition(group, element, bpmnFactory, conditionalEventDefinition, elementRegistry, translate);\n }\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/ExecutableProps.js":
/*!******************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/ExecutableProps.js ***!
\******************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar participantHelper = __webpack_require__(/*! ../../../helper/ParticipantHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ParticipantHelper.js\");\n\nmodule.exports = function(group, element, translate) {\n\n var bo = getBusinessObject(element);\n\n if (!bo) {\n return;\n }\n\n if (is(element, 'bpmn:Process') || (is(element, 'bpmn:Participant') && bo.get('processRef'))) {\n\n var executableEntry = entryFactory.checkbox(translate, {\n id: 'process-is-executable',\n label: translate('Executable'),\n modelProperty: 'isExecutable'\n });\n\n // in participants we have to change the default behavior of set and get\n if (is(element, 'bpmn:Participant')) {\n executableEntry.get = function(element) {\n return participantHelper.getProcessBusinessObject(element, 'isExecutable');\n };\n\n executableEntry.set = function(element, values) {\n return participantHelper.modifyProcessBusinessObject(element, 'isExecutable', values);\n };\n }\n\n group.entries.push(executableEntry);\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/ExecutableProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps.js":
/*!**********************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps.js ***!
\**********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n utils = __webpack_require__(/*! ../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nmodule.exports = function(group, element, translate, options) {\n if (!options) {\n options = {};\n }\n\n // Id\n group.entries.push(entryFactory.validationAwareTextField(translate, {\n id: options.id || 'id',\n label: translate(options.label || 'Id'),\n description: options.description && translate(options.description),\n modelProperty: 'id',\n getProperty: function(element) {\n return getBusinessObject(element).id;\n },\n setProperty: function(element, properties) {\n\n element = element.labelTarget || element;\n\n return cmdHelper.updateProperties(element, properties);\n },\n validate: function(element, values) {\n var idValue = values.id;\n\n var bo = getBusinessObject(element);\n\n var idError = utils.isIdValid(bo, idValue, translate);\n\n return idError ? { id: idError } : {};\n }\n }));\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps.js ***!
\************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nfunction getLinkEventDefinition(element) {\n\n var bo = getBusinessObject(element);\n\n var linkEventDefinition = null;\n if (bo.eventDefinitions) {\n forEach(bo.eventDefinitions, function(eventDefinition) {\n if (is(eventDefinition, 'bpmn:LinkEventDefinition')) {\n linkEventDefinition = eventDefinition;\n }\n });\n }\n\n return linkEventDefinition;\n}\n\nmodule.exports = function(group, element, translate) {\n var linkEvents = [ 'bpmn:IntermediateThrowEvent', 'bpmn:IntermediateCatchEvent' ];\n\n forEach(linkEvents, function(event) {\n if (is(element, event)) {\n\n var linkEventDefinition = getLinkEventDefinition(element);\n\n if (linkEventDefinition) {\n var entry = entryFactory.textField(translate, {\n id: 'link-event',\n label: translate('Link Name'),\n modelProperty: 'link-name'\n });\n\n entry.get = function() {\n return { 'link-name': linkEventDefinition.get('name') };\n };\n\n entry.set = function(element, values) {\n var newProperties = {\n name: values['link-name']\n };\n return cmdHelper.updateBusinessObject(element, linkEventDefinition, newProperties);\n };\n\n group.entries.push(entry);\n }\n }\n });\n};\n\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps.js ***!
\************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar nameEntryFactory = __webpack_require__(/*! ./implementation/Name */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/Name.js\"),\n createCategoryValue = __webpack_require__(/*! ../../../helper/CategoryHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CategoryHelper.js\").createCategoryValue,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nmodule.exports = function(group, element, bpmnFactory, canvas, translate, options) {\n if (!options) {\n options = {};\n }\n\n function initializeCategory(semantic) {\n var rootElement = canvas.getRootElement(),\n definitions = getBusinessObject(rootElement).$parent,\n categoryValue = createCategoryValue(definitions, bpmnFactory);\n\n semantic.categoryValueRef = categoryValue;\n\n }\n\n function setGroupName(element, values) {\n var bo = getBusinessObject(element),\n categoryValueRef = bo.categoryValueRef;\n\n if (!categoryValueRef) {\n initializeCategory(bo);\n }\n\n // needs direct call to update categoryValue properly\n return {\n cmd: 'element.updateLabel',\n context: {\n element: element,\n newLabel: values.categoryValue\n }\n };\n }\n\n function getGroupName(element) {\n var bo = getBusinessObject(element),\n value = (bo.categoryValueRef || {}).value;\n\n return { categoryValue: value };\n }\n\n if (!is(element, 'bpmn:Collaboration')) {\n var nameOptions = {\n id: options.id,\n label: options.label && translate(options.label)\n };\n\n if (is(element, 'bpmn:TextAnnotation')) {\n nameOptions.modelProperty = 'text';\n nameOptions.label = translate('Text');\n } else if (is(element, 'bpmn:Group')) {\n nameOptions.modelProperty = 'categoryValue';\n nameOptions.label = translate('Category Value');\n nameOptions.get = getGroupName;\n nameOptions.set = setGroupName;\n }\n\n // name\n group.entries = group.entries.concat(nameEntryFactory(element, nameOptions, translate));\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps.js":
/*!***************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps.js ***!
\***************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n participantHelper = __webpack_require__(/*! ../../../helper/ParticipantHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ParticipantHelper.js\"),\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n nameEntryFactory = __webpack_require__(/*! ./implementation/Name */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/Name.js\"),\n utils = __webpack_require__(/*! ../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nmodule.exports = function(group, element, translate, options) {\n var businessObject = getBusinessObject(element);\n\n var processIdDescription = options && options.processIdDescription;\n\n if (is(element, 'bpmn:Process') || (is(element, 'bpmn:Participant') && businessObject.get('processRef'))) {\n\n /**\n * processId\n */\n if (is(element, 'bpmn:Participant')) {\n var idEntry = entryFactory.validationAwareTextField(translate, {\n id: 'process-id',\n label: translate('Process Id'),\n description: processIdDescription && translate(processIdDescription),\n modelProperty: 'processId'\n });\n\n // in participants we have to change the default behavior of set and get\n idEntry.get = function(element) {\n var properties = participantHelper.getProcessBusinessObject(element, 'id');\n return { processId: properties.id };\n };\n\n idEntry.set = function(element, values) {\n return participantHelper.modifyProcessBusinessObject(element, 'id', { id: values.processId });\n };\n\n idEntry.validate = function(element, values) {\n var idValue = values.processId;\n\n var bo = getBusinessObject(element);\n\n var processIdError = utils.isIdValid(bo.processRef, idValue, translate);\n\n return processIdError ? { processId: processIdError } : {};\n };\n\n group.entries.push(idEntry);\n\n\n /**\n * process name\n */\n var processNameEntry = nameEntryFactory(element, {\n id: 'process-name',\n label: translate('Process Name')\n })[0];\n\n // in participants we have to change the default behavior of set and get\n processNameEntry.get = function(element) {\n return participantHelper.getProcessBusinessObject(element, 'name');\n };\n\n processNameEntry.set = function(element, values) {\n return participantHelper.modifyProcessBusinessObject(element, 'name', values);\n };\n\n group.entries.push(processNameEntry);\n }\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/CompensateEventDefinition.js":
/*!*******************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/CompensateEventDefinition.js ***!
\*******************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n eventDefinitionHelper = __webpack_require__(/*! ../../../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\"),\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\"),\n find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\"),\n filter = __webpack_require__(/*! lodash/filter */ \"./node_modules/lodash/filter.js\");\n\n\nfunction getContainedActivities(element) {\n return getFlowElements(element, 'bpmn:Activity');\n}\n\nfunction getContainedBoundaryEvents(element) {\n return getFlowElements(element, 'bpmn:BoundaryEvent');\n}\n\nfunction getFlowElements(element, type) {\n return utils.filterElementsByType(element.flowElements, type);\n}\n\nfunction isCompensationEventAttachedToActivity(activity, boundaryEvents) {\n var activityId = activity.id;\n var boundaryEvent = find(boundaryEvents, function(boundaryEvent) {\n var compensateEventDefinition = eventDefinitionHelper.getCompensateEventDefinition(boundaryEvent);\n var attachedToRef = boundaryEvent.attachedToRef;\n return compensateEventDefinition && attachedToRef && attachedToRef.id === activityId;\n });\n return !!boundaryEvent;\n}\n\n// subprocess: only when it is not triggeredByEvent\n// activity: only when it attach a compensation boundary event\n// callActivity: no limitation\nfunction canActivityBeCompensated(activity, boundaryEvents) {\n return (is(activity, 'bpmn:SubProcess') && !activity.triggeredByEvent) ||\n is(activity, 'bpmn:CallActivity') ||\n isCompensationEventAttachedToActivity(activity, boundaryEvents);\n}\n\nfunction getActivitiesForCompensation(element) {\n var boundaryEvents = getContainedBoundaryEvents(element);\n return filter(getContainedActivities(element), function(activity) {\n return canActivityBeCompensated(activity, boundaryEvents);\n });\n}\n\nfunction getActivitiesForActivityRef(element) {\n var bo = getBusinessObject(element);\n var parent = bo.$parent;\n\n var activitiesForActivityRef = getActivitiesForCompensation(parent);\n\n // if throwing compensation event is in an event sub process:\n // get also all activities outside of the event sub process\n if (is(parent, 'bpmn:SubProcess') && parent.triggeredByEvent) {\n parent = parent.$parent;\n if (parent) {\n activitiesForActivityRef = activitiesForActivityRef.concat(getActivitiesForCompensation(parent));\n }\n\n }\n\n return activitiesForActivityRef;\n}\n\nfunction createActivityRefOptions(element) {\n var options = [ { value: '' } ];\n\n var activities = getActivitiesForActivityRef(element);\n forEach(activities, function(activity) {\n var activityId = activity.id;\n var name = (activity.name ? (activity.name + ' ') : '') + '(id=' + activityId + ')';\n options.push({ value: activityId, name: name });\n });\n\n return options;\n}\n\n\nmodule.exports = function(group, element, bpmnFactory, compensateEventDefinition, elementRegistry, translate) {\n\n group.entries.push(entryFactory.checkbox(translate, {\n id: 'wait-for-completion',\n label: translate('Wait for Completion'),\n modelProperty: 'waitForCompletion',\n\n get: function(element, node) {\n return {\n waitForCompletion: compensateEventDefinition.waitForCompletion\n };\n },\n\n set: function(element, values) {\n values.waitForCompletion = values.waitForCompletion || false;\n return cmdHelper.updateBusinessObject(element, compensateEventDefinition, values);\n }\n }));\n\n group.entries.push(entryFactory.selectBox(translate, {\n id: 'activity-ref',\n label: translate('Activity Ref'),\n selectOptions: createActivityRefOptions(element),\n modelProperty: 'activityRef',\n\n get: function(element, node) {\n var activityRef = compensateEventDefinition.activityRef;\n activityRef = activityRef && activityRef.id;\n return {\n activityRef: activityRef || ''\n };\n },\n\n set: function(element, values) {\n var activityRef = values.activityRef || undefined;\n activityRef = activityRef && getBusinessObject(elementRegistry.get(activityRef));\n return cmdHelper.updateBusinessObject(element, compensateEventDefinition, {\n activityRef: activityRef\n });\n }\n }));\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/CompensateEventDefinition.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ConditionalEventDefinition.js":
/*!********************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ConditionalEventDefinition.js ***!
\********************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n isEventSubProcess = __webpack_require__(/*! bpmn-js/lib/util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\").isEventSubProcess;\n\nmodule.exports = function(group, element, bpmnFactory, conditionalEventDefinition, elementRegistry, translate) {\n\n var getValue = function(modelProperty) {\n return function(element) {\n var modelPropertyValue = conditionalEventDefinition.get('camunda:' + modelProperty);\n var value = {};\n\n value[modelProperty] = modelPropertyValue;\n return value;\n };\n };\n\n var setValue = function(modelProperty) {\n return function(element, values) {\n var props = {};\n\n props['camunda:' + modelProperty] = values[modelProperty] || undefined;\n\n return cmdHelper.updateBusinessObject(element, conditionalEventDefinition, props);\n };\n };\n\n group.entries.push(entryFactory.textField(translate, {\n id: 'variableName',\n label: translate('Variable Name'),\n modelProperty : 'variableName',\n\n get: getValue('variableName'),\n set: setValue('variableName')\n }));\n\n var isConditionalStartEvent =\n is(element, 'bpmn:StartEvent') && !isEventSubProcess(element.parent);\n\n if (!isConditionalStartEvent) {\n group.entries.push(entryFactory.textField(translate, {\n id: 'variableEvents',\n label: translate('Variable Events'),\n description: translate('Specify more than one variable change event as a comma separated list.'),\n modelProperty : 'variableEvents',\n\n get: getValue('variableEvents'),\n set: setValue('variableEvents')\n }));\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ConditionalEventDefinition.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js":
/*!******************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js ***!
\******************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\n/**\n * Create an entry to modify a property of an element which\n * is referenced by a event definition.\n *\n * @param {djs.model.Base} element\n * @param {ModdleElement} definition\n * @param {BpmnFactory} bpmnFactory\n * @param {Object} options\n * @param {string} options.id the id of the entry\n * @param {string} options.label the label of the entry\n * @param {string} options.referenceProperty the name of referencing property\n * @param {string} options.modelProperty the name of property to modify\n * @param {string} options.shouldValidate a flag indicate whether to validate or not\n *\n * @return {Array} return an array containing the entries\n */\nmodule.exports = function(element, definition, bpmnFactory, translate, options) {\n\n var id = options.id || 'element-property';\n var label = options.label;\n var referenceProperty = options.referenceProperty;\n var modelProperty = options.modelProperty || 'name';\n var shouldValidate = options.shouldValidate || false;\n var description = options.description;\n var canBeHidden = !!options.hidden && typeof options.hidden === 'function';\n\n var entry = entryFactory.textField(translate, {\n id: id,\n label: label,\n modelProperty: modelProperty,\n description: description,\n\n get: function(element, node) {\n var reference = definition.get(referenceProperty);\n var props = {};\n props[modelProperty] = reference && reference.get(modelProperty);\n return props;\n },\n\n set: function(element, values, node) {\n var reference = definition.get(referenceProperty);\n var props = {};\n props[modelProperty] = values[modelProperty] || undefined;\n return cmdHelper.updateBusinessObject(element, reference, props);\n },\n\n hidden: function(element, node) {\n if (canBeHidden) {\n return options.hidden.apply(definition, arguments) || !definition.get(referenceProperty);\n }\n return !definition.get(referenceProperty);\n }\n });\n\n if (shouldValidate) {\n entry.validate = function(element, values, node) {\n var reference = definition.get(referenceProperty);\n if (reference && !values[modelProperty]) {\n var validationErrors = {};\n validationErrors[modelProperty] = 'Must provide a value';\n return validationErrors;\n }\n };\n }\n\n return [ entry ];\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ErrorEventDefinition.js":
/*!**************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ErrorEventDefinition.js ***!
\**************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar eventDefinitionReference = __webpack_require__(/*! ./EventDefinitionReference */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EventDefinitionReference.js\"),\n elementReferenceProperty = __webpack_require__(/*! ./ElementReferenceProperty */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, errorEventDefinition, translate) {\n\n\n group.entries = group.entries.concat(eventDefinitionReference(element, errorEventDefinition, bpmnFactory, {\n label: translate('Global Error referenced'),\n elementName: 'error',\n elementType: 'bpmn:Error',\n referenceProperty: 'errorRef',\n newElementIdPrefix: 'Error_'\n }));\n\n\n group.entries = group.entries.concat(\n elementReferenceProperty(element, errorEventDefinition, bpmnFactory, translate, {\n id: 'error-element-name',\n label: translate('Name'),\n referenceProperty: 'errorRef',\n modelProperty: 'name',\n shouldValidate: true\n })\n );\n\n\n group.entries = group.entries.concat(\n elementReferenceProperty(element, errorEventDefinition, bpmnFactory, translate, {\n id: 'error-element-code',\n label: translate('Code'),\n referenceProperty: 'errorRef',\n modelProperty: 'errorCode'\n })\n );\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ErrorEventDefinition.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EscalationEventDefinition.js":
/*!*******************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EscalationEventDefinition.js ***!
\*******************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nvar eventDefinitionReference = __webpack_require__(/*! ./EventDefinitionReference */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EventDefinitionReference.js\"),\n elementReferenceProperty = __webpack_require__(/*! ./ElementReferenceProperty */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, escalationEventDefinition, showEscalationCodeVariable, translate) {\n\n group.entries = group.entries.concat(eventDefinitionReference(element, escalationEventDefinition, bpmnFactory, {\n label: translate('Global Escalation referenced'),\n elementName: 'escalation',\n elementType: 'bpmn:Escalation',\n referenceProperty: 'escalationRef',\n newElementIdPrefix: 'Escalation_'\n }));\n\n\n group.entries = group.entries.concat(\n elementReferenceProperty(element, escalationEventDefinition, bpmnFactory, translate, {\n id: 'escalation-element-name',\n label: translate('Global Escalation Name'),\n referenceProperty: 'escalationRef',\n modelProperty: 'name',\n shouldValidate: true\n })\n );\n\n\n group.entries = group.entries.concat(\n elementReferenceProperty(element, escalationEventDefinition, bpmnFactory, translate, {\n id: 'escalation-element-code',\n label: translate('Global Escalation Code'),\n referenceProperty: 'escalationRef',\n modelProperty: 'escalationCode'\n })\n );\n\n\n if (showEscalationCodeVariable) {\n group.entries.push(entryFactory.validationAwareTextField(translate, {\n id : 'escalationCodeVariable',\n label : translate('Escalation Code Variable'),\n modelProperty : 'escalationCodeVariable',\n description: translate('Define the name of the variable that will contain the escalation code'),\n\n getProperty: function(element) {\n var codeVariable = escalationEventDefinition.get('camunda:escalationCodeVariable');\n\n return codeVariable;\n },\n\n setProperty: function(element, values) {\n if (values.escalationCodeVariable === '')\n values.escalationCodeVariable = undefined;\n\n return cmdHelper.updateBusinessObject(element, escalationEventDefinition, values);\n },\n\n validate: function(element, values) {\n var validation = {},\n targetValue = values.escalationCodeVariable;\n\n if (utils.containsSpace(targetValue)) {\n validation.escalationCodeVariable = translate('Escalation code variable must not contain spaces.');\n }\n\n return validation;\n }\n }));\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EscalationEventDefinition.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EventDefinitionReference.js":
/*!******************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EventDefinitionReference.js ***!
\******************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query,\n domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domAttr = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").attr;\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\"),\n find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\");\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\");\nvar utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\"),\n escapeHTML = utils.escapeHTML;\n\nvar selector = 'select[name=selectedElement]';\n\n/**\n * Get select box containing all elements.\n *\n * @param {DOMElement} node\n *\n * @return {DOMElement} the select box\n */\nfunction getSelectBox(node) {\n return domQuery(selector, node);\n}\n\n/**\n * Find element by given id.\n *\n * @param {ModdleElement} eventDefinition\n *\n * @return {ModdleElement} an element\n */\nfunction findElementById(eventDefinition, type, id) {\n var elements = utils.findRootElementsByType(eventDefinition, type);\n return find(elements, function(element) {\n return element.id === id;\n });\n}\n\n/**\n * Create an entry to modify the reference to an element from an\n * event definition.\n *\n * @param {djs.model.Base} element\n * @param {ModdleElement} definition\n * @param {BpmnFactory} bpmnFactory\n * @param {Object} options\n * @param {string} options.label the label of the entry\n * @param {string} options.description the description of the entry\n * @param {string} options.elementName the name of the element\n * @param {string} options.elementType the type of the element\n * @param {string} options.referenceProperty the name of referencing property\n * @param {string} options.newElementIdPrefix the prefix of a new created element\n *\n * @return {Array} return an array containing the entries\n */\nmodule.exports = function(element, definition, bpmnFactory, options) {\n\n var elementName = options.elementName || '',\n elementType = options.elementType,\n referenceProperty = options.referenceProperty;\n\n var newElementIdPrefix = options.newElementIdPrefix || 'elem_';\n\n var label = options.label || '',\n description = options.description || '';\n\n var entries = [];\n\n var canBeHidden = !!options.hidden && typeof options.hidden === 'function';\n\n entries.push({\n\n id: options.id || 'event-definitions-' + elementName,\n description: description,\n isShown: function() {\n if (canBeHidden) {\n return !options.hidden.apply(definition, arguments);\n }\n return !options.hidden;\n },\n html: '' +\n '
' + escapeHTML(label) + ' ' +\n '
' +\n '' +\n ' ' +\n '+ ' +\n '
' +\n '
',\n\n get: function(element, entryNode) {\n utils.updateOptionsDropDown(selector, definition, elementType, entryNode);\n var reference = definition.get(referenceProperty);\n return {\n selectedElement: (reference && reference.id) || ''\n };\n },\n\n set: function(element, values) {\n var selection = values.selectedElement;\n\n var props = {};\n\n if (!selection || typeof selection === 'undefined') {\n\n // remove reference to element\n props[referenceProperty] = undefined;\n return cmdHelper.updateBusinessObject(element, definition, props);\n }\n\n var commands = [];\n\n var selectedElement = findElementById(definition, elementType, selection);\n if (!selectedElement) {\n var root = utils.getRoot(definition);\n\n // create a new element\n selectedElement = elementHelper.createElement(elementType, { name: selection }, root, bpmnFactory);\n commands.push(cmdHelper.addAndRemoveElementsFromList(element, root, 'rootElements', null, [ selectedElement ]));\n }\n\n // update reference to element\n props[referenceProperty] = selectedElement;\n commands.push(cmdHelper.updateBusinessObject(element, definition, props));\n\n return commands;\n },\n\n addElement: function(element, inputNode) {\n\n // note: this generated id will be used as name\n // of the element and not as id\n var id = utils.nextId(newElementIdPrefix);\n\n var optionTemplate = domify(' (id='+escapeHTML(id)+')' + ' ');\n\n // add new option\n var selectBox = getSelectBox(inputNode);\n selectBox.insertBefore(optionTemplate, selectBox.firstChild);\n\n // select new element in the select box\n forEach(selectBox, function(option) {\n if (option.value === id) {\n domAttr(option, 'selected', 'selected');\n } else {\n domAttr(option, 'selected', null);\n }\n });\n\n return true;\n }\n\n });\n\n return entries;\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EventDefinitionReference.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/MessageEventDefinition.js":
/*!****************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/MessageEventDefinition.js ***!
\****************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar eventDefinitionReference = __webpack_require__(/*! ./EventDefinitionReference */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EventDefinitionReference.js\"),\n elementReferenceProperty = __webpack_require__(/*! ./ElementReferenceProperty */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, messageEventDefinition, translate) {\n\n group.entries = group.entries.concat(eventDefinitionReference(element, messageEventDefinition, bpmnFactory, {\n label: translate('Global Message referenced'),\n elementName: 'message',\n elementType: 'bpmn:Message',\n referenceProperty: 'messageRef',\n newElementIdPrefix: 'Message_'\n }));\n\n\n group.entries = group.entries.concat(\n elementReferenceProperty(element, messageEventDefinition, bpmnFactory, translate, {\n id: 'message-element-name',\n label: translate('Global Message Name'),\n referenceProperty: 'messageRef',\n modelProperty: 'name',\n shouldValidate: true\n })\n );\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/MessageEventDefinition.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/Name.js":
/*!**********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/Name.js ***!
\**********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\n/**\n * Create an entry to modify the name of an an element.\n *\n * @param {djs.model.Base} element\n * @param {Object} options\n * @param {string} options.id the id of the entry\n * @param {string} options.label the label of the entry\n *\n * @return {Array} return an array containing\n * the entry to modify the name\n */\nmodule.exports = function(element, options, translate) {\n\n options = options || {};\n var id = options.id || 'name',\n label = options.label || translate('Name'),\n modelProperty = options.modelProperty || 'name';\n\n var nameEntry = entryFactory.textBox(translate, {\n id: id,\n label: label,\n modelProperty: modelProperty,\n get: options.get,\n set: options.set\n });\n\n return [ nameEntry ];\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/Name.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/SignalEventDefinition.js":
/*!***************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/SignalEventDefinition.js ***!
\***************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar eventDefinitionReference = __webpack_require__(/*! ./EventDefinitionReference */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EventDefinitionReference.js\"),\n elementReferenceProperty = __webpack_require__(/*! ./ElementReferenceProperty */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, signalEventDefinition, translate) {\n\n group.entries = group.entries.concat(eventDefinitionReference(element, signalEventDefinition, bpmnFactory, {\n label: translate('Global Signal referenced'),\n elementName: 'signal',\n elementType: 'bpmn:Signal',\n referenceProperty: 'signalRef',\n newElementIdPrefix: 'Signal_'\n }));\n\n\n group.entries = group.entries.concat(\n elementReferenceProperty(element, signalEventDefinition, bpmnFactory, translate, {\n id: 'signal-element-name',\n label: translate('Global Signal Name'),\n referenceProperty: 'signalRef',\n modelProperty: 'name',\n shouldValidate: true\n })\n );\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/SignalEventDefinition.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/TimerEventDefinition.js":
/*!**************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/TimerEventDefinition.js ***!
\**************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\n/**\n * Get the timer definition type for a given timer event definition.\n *\n * @param {ModdleElement} timer\n *\n * @return {string|undefined} the timer definition type\n */\nfunction getTimerDefinitionType(timer) {\n\n if (!timer) {\n return;\n }\n\n var timeDate = timer.get('timeDate');\n if (typeof timeDate !== 'undefined') {\n return 'timeDate';\n }\n\n var timeCycle = timer.get('timeCycle');\n if (typeof timeCycle !== 'undefined') {\n return 'timeCycle';\n }\n\n var timeDuration = timer.get('timeDuration');\n if (typeof timeDuration !== 'undefined') {\n return 'timeDuration';\n }\n}\n\n/**\n * Get the actual timer event definition based on option, whether it's a getter\n * to fetch the timer event definition or the exact event definition itself\n *\n * @param {ModdleElement|Function} timerOrFunction\n * @param {Shape} element\n * @param {HTMLElement} node\n *\n * @return ModdleElement\n */\nfunction getTimerDefinition(timerOrFunction, element, node) {\n if (typeof timerOrFunction === 'function') {\n return timerOrFunction(element, node);\n }\n\n return timerOrFunction;\n}\n\n/**\n * Creates 'bpmn:FormalExpression' element.\n *\n * @param {ModdleElement} parent\n * @param {string} body\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement} a formal expression\n */\nfunction createFormalExpression(parent, body, bpmnFactory) {\n body = body || undefined;\n return elementHelper.createElement('bpmn:FormalExpression', { body: body }, parent, bpmnFactory);\n}\n\nfunction TimerEventDefinition(group, element, bpmnFactory, timerEventDefinition, translate, options) {\n\n var selectOptions = [\n { value: 'timeDate', name: translate('Date') },\n { value: 'timeDuration', name: translate('Duration') },\n { value: 'timeCycle', name: translate('Cycle') }\n ];\n\n var prefix = options && options.idPrefix,\n createTimerEventDefinition = options && options.createTimerEventDefinition;\n\n\n group.entries.push(entryFactory.selectBox(translate, {\n id: prefix + 'timer-event-definition-type',\n label: translate('Timer Definition Type'),\n selectOptions: selectOptions,\n emptyParameter: true,\n modelProperty: 'timerDefinitionType',\n\n get: function(element, node) {\n var timerDefinition = getTimerDefinition(timerEventDefinition, element, node);\n\n return {\n timerDefinitionType: getTimerDefinitionType(timerDefinition) || ''\n };\n },\n\n set: function(element, values, node) {\n var props = {\n timeDuration: undefined,\n timeDate: undefined,\n timeCycle: undefined\n };\n\n\n var timerDefinition = getTimerDefinition(timerEventDefinition, element, node),\n newType = values.timerDefinitionType;\n\n if (!timerDefinition && typeof createTimerEventDefinition === 'function') {\n timerDefinition = createTimerEventDefinition(element, node);\n }\n\n if (values.timerDefinitionType) {\n var oldType = getTimerDefinitionType(timerDefinition);\n\n var value;\n if (oldType) {\n var definition = timerDefinition.get(oldType);\n value = definition.get('body');\n }\n\n props[newType] = createFormalExpression(timerDefinition, value, bpmnFactory);\n }\n\n return cmdHelper.updateBusinessObject(element, timerDefinition, props);\n },\n\n hidden: function(element, node) {\n return getTimerDefinition(timerEventDefinition, element, node) === undefined;\n }\n\n }));\n\n\n group.entries.push(entryFactory.textField(translate, {\n id: prefix + 'timer-event-definition',\n label: translate('Timer Definition'),\n modelProperty: 'timerDefinition',\n\n get: function(element, node) {\n var timerDefinition = getTimerDefinition(timerEventDefinition, element, node),\n type = getTimerDefinitionType(timerDefinition),\n definition = type && timerDefinition.get(type),\n value = definition && definition.get('body');\n\n return {\n timerDefinition: value\n };\n },\n\n set: function(element, values, node) {\n var timerDefinition = getTimerDefinition(timerEventDefinition, element, node),\n type = getTimerDefinitionType(timerDefinition),\n definition = type && timerDefinition.get(type);\n\n if (definition) {\n return cmdHelper.updateBusinessObject(element, definition, {\n body: values.timerDefinition || undefined\n });\n }\n },\n\n validate: function(element, node) {\n var timerDefinition = getTimerDefinition(timerEventDefinition, element, node),\n type = getTimerDefinitionType(timerDefinition),\n definition = type && timerDefinition.get(type);\n\n if (definition) {\n var value = definition.get('body');\n if (!value) {\n return {\n timerDefinition: translate('Must provide a value')\n };\n }\n }\n },\n\n hidden: function(element, node) {\n var timerDefinition = getTimerDefinition(timerEventDefinition, element, node);\n\n return !getTimerDefinitionType(timerDefinition);\n }\n\n }));\n\n}\n\nmodule.exports = TimerEventDefinition;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/TimerEventDefinition.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/CamundaPropertiesProvider.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/CamundaPropertiesProvider.js ***!
\*************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar PropertiesActivator = __webpack_require__(/*! ../../PropertiesActivator */ \"./node_modules/bpmn-js-properties-panel/lib/PropertiesActivator.js\");\n\nvar asyncCapableHelper = __webpack_require__(/*! ../../helper/AsyncCapableHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/AsyncCapableHelper.js\"),\n ImplementationTypeHelper = __webpack_require__(/*! ../../helper/ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\");\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\n// bpmn properties\nvar processProps = __webpack_require__(/*! ../bpmn/parts/ProcessProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/ProcessProps.js\"),\n eventProps = __webpack_require__(/*! ../bpmn/parts/EventProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/EventProps.js\"),\n linkProps = __webpack_require__(/*! ../bpmn/parts/LinkProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/LinkProps.js\"),\n documentationProps = __webpack_require__(/*! ../bpmn/parts/DocumentationProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/DocumentationProps.js\"),\n idProps = __webpack_require__(/*! ../bpmn/parts/IdProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/IdProps.js\"),\n nameProps = __webpack_require__(/*! ../bpmn/parts/NameProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/NameProps.js\"),\n executableProps = __webpack_require__(/*! ../bpmn/parts/ExecutableProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/ExecutableProps.js\");\n\n// camunda properties\nvar serviceTaskDelegateProps = __webpack_require__(/*! ./parts/ServiceTaskDelegateProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ServiceTaskDelegateProps.js\"),\n userTaskProps = __webpack_require__(/*! ./parts/UserTaskProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/UserTaskProps.js\"),\n asynchronousContinuationProps = __webpack_require__(/*! ./parts/AsynchronousContinuationProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/AsynchronousContinuationProps.js\"),\n callActivityProps = __webpack_require__(/*! ./parts/CallActivityProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/CallActivityProps.js\"),\n multiInstanceProps = __webpack_require__(/*! ./parts/MultiInstanceLoopProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/MultiInstanceLoopProps.js\"),\n conditionalProps = __webpack_require__(/*! ./parts/ConditionalProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConditionalProps.js\"),\n scriptProps = __webpack_require__(/*! ./parts/ScriptTaskProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ScriptTaskProps.js\"),\n errorProps = __webpack_require__(/*! ./parts/ErrorEventProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ErrorEventProps.js\"),\n formProps = __webpack_require__(/*! ./parts/FormProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/FormProps.js\"),\n startEventInitiator = __webpack_require__(/*! ./parts/StartEventInitiator */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/StartEventInitiator.js\"),\n variableMapping = __webpack_require__(/*! ./parts/VariableMappingProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/VariableMappingProps.js\"),\n versionTag = __webpack_require__(/*! ./parts/VersionTagProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/VersionTagProps.js\"),\n processVariablesProps = __webpack_require__(/*! ./parts/ProcessVariablesProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ProcessVariablesProps.js\");\n\nvar listenerProps = __webpack_require__(/*! ./parts/ListenerProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerProps.js\"),\n listenerDetails = __webpack_require__(/*! ./parts/ListenerDetailProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerDetailProps.js\"),\n listenerFields = __webpack_require__(/*! ./parts/ListenerFieldInjectionProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerFieldInjectionProps.js\");\n\n// element template properties\nvar elementTemplateDescriptionProps = __webpack_require__(/*! ./element-templates/parts/DescriptionProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/DescriptionProps.js\"),\n elementTemplateChooserProps = __webpack_require__(/*! ./element-templates/parts/ChooserProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/ChooserProps.js\"),\n elementTemplateCustomProps = __webpack_require__(/*! ./element-templates/parts/CustomProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/CustomProps.js\"),\n elementTemplateInputParametersProps = __webpack_require__(/*! ./element-templates/parts/InputParametersProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/InputParametersProps.js\"),\n elementTemplateOutputParametersProps = __webpack_require__(/*! ./element-templates/parts/OutputParametersProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/OutputParametersProps.js\"),\n elementTemplateErrorsProps = __webpack_require__(/*! ./element-templates/parts/ErrorsProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/ErrorsProps.js\"),\n getTemplateId = __webpack_require__(/*! ./element-templates/Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").getTemplateId;\n\n// Input/Output\nvar inputParameters = __webpack_require__(/*! ./parts/InputParametersProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/InputParametersProps.js\"),\n outputParameters = __webpack_require__(/*! ./parts/OutputParametersProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/OutputParametersProps.js\"),\n errorsProps = __webpack_require__(/*! ./parts/ErrorsProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ErrorsProps.js\");\n\n// Connector\nvar connectorDetails = __webpack_require__(/*! ./parts/ConnectorDetailProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorDetailProps.js\"),\n connectorInputParameters = __webpack_require__(/*! ./parts/ConnectorInputParametersProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorInputParametersProps.js\"),\n connectorOutputParameters = __webpack_require__(/*! ./parts/ConnectorOutputParametersProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorOutputParametersProps.js\");\n\n// properties\nvar properties = __webpack_require__(/*! ./parts/PropertiesProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/PropertiesProps.js\");\n\n// job configuration\nvar jobConfiguration = __webpack_require__(/*! ./parts/JobConfigurationProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/JobConfigurationProps.js\");\n\n// history time to live\nvar historyTimeToLive = __webpack_require__(/*! ./parts/HistoryTimeToLiveProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/HistoryTimeToLiveProps.js\");\n\n// candidate starter groups/users\nvar candidateStarter = __webpack_require__(/*! ./parts/CandidateStarterProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/CandidateStarterProps.js\");\n\n// tasklist\nvar tasklist = __webpack_require__(/*! ./parts/TasklistProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/TasklistProps.js\");\n\n// external task configuration\nvar externalTaskConfiguration = __webpack_require__(/*! ./parts/ExternalTaskConfigurationProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ExternalTaskConfigurationProps.js\");\n\n// field injection\nvar fieldInjections = __webpack_require__(/*! ./parts/FieldInjectionProps */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/FieldInjectionProps.js\");\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n eventDefinitionHelper = __webpack_require__(/*! ../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\"),\n implementationTypeHelper = __webpack_require__(/*! ../../helper/ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\");\n\n// helpers ////////////////////////////////////////\n\nvar isExternalTaskPriorityEnabled = function(element) {\n var businessObject = getBusinessObject(element);\n\n // show only if element is a process, a participant ...\n if (is(element, 'bpmn:Process') || is(element, 'bpmn:Participant') && businessObject.get('processRef')) {\n return true;\n }\n\n var externalBo = ImplementationTypeHelper.getServiceTaskLikeBusinessObject(element),\n isExternalTask = ImplementationTypeHelper.getImplementationType(externalBo) === 'external';\n\n // ... or an external task with selected external implementation type\n return !!ImplementationTypeHelper.isExternalCapable(externalBo) && isExternalTask;\n};\n\nvar isJobConfigEnabled = function(element) {\n var businessObject = getBusinessObject(element);\n\n if (is(element, 'bpmn:Process') || is(element, 'bpmn:Participant') && businessObject.get('processRef')) {\n return true;\n }\n\n // async behavior\n var bo = getBusinessObject(element);\n if (asyncCapableHelper.isAsyncBefore(bo) || asyncCapableHelper.isAsyncAfter(bo)) {\n return true;\n }\n\n // timer definition\n if (is(element, 'bpmn:Event')) {\n return !!eventDefinitionHelper.getTimerEventDefinition(element);\n }\n\n return false;\n};\n\nvar getListenerLabel = function(param, translate) {\n\n if (is(param, 'camunda:ExecutionListener')) {\n return translate('Execution Listener');\n }\n\n if (is(param, 'camunda:TaskListener')) {\n return translate('Task Listener');\n }\n\n return '';\n};\n\nvar PROCESS_KEY_HINT = 'This maps to the process definition key.';\nvar TASK_KEY_HINT = 'This maps to the task definition key.';\n\nfunction getIdOptions(element) {\n\n if (is(element, 'bpmn:Participant')) {\n return { id: 'participant-id', label: 'Participant Id' };\n }\n\n if (is(element, 'bpmn:Process')) {\n return { description: PROCESS_KEY_HINT };\n }\n\n if (is(element, 'bpmn:UserTask')) {\n return { description: TASK_KEY_HINT };\n }\n}\n\nfunction getNameOptions(element) {\n if (is(element, 'bpmn:Participant')) {\n return { id: 'participant-name', label: 'Participant Name' };\n }\n}\n\nfunction getProcessOptions(element) {\n if (is(element, 'bpmn:Participant')) {\n return { processIdDescription: PROCESS_KEY_HINT };\n }\n}\n\nfunction createElementTemplateGroups(\n element,\n bpmnFactory,\n canvas,\n commandStack,\n elementTemplates,\n modeling,\n replace,\n selection,\n translate) {\n var templateId = getTemplateId(element);\n\n if (!templateId) {\n return [];\n }\n\n var descriptionGroup = elementTemplateDescriptionProps(\n element, commandStack, elementTemplates, modeling, replace, selection, translate);\n\n var idOptions = getIdOptions(element) || {};\n\n idOptions.id = 'element-template-element-id';\n\n var nameOptions = { id: 'element-template-element-name' };\n\n idProps(descriptionGroup, element, translate, idOptions);\n nameProps(descriptionGroup, element, bpmnFactory, canvas, translate, nameOptions);\n processProps(descriptionGroup, element, translate, getProcessOptions(element));\n\n var elementTemplateInputParametersGroup = {\n id: 'template-inputs',\n label: translate('Input Parameters'),\n entries: []\n };\n elementTemplateInputParametersProps(elementTemplateInputParametersGroup, element, elementTemplates, bpmnFactory, translate);\n\n var elementTemplateOutputParametersGroup = {\n id: 'template-outputs',\n label: translate('Output Parameters'),\n entries: []\n };\n elementTemplateOutputParametersProps(elementTemplateOutputParametersGroup, element, elementTemplates, bpmnFactory, translate);\n\n\n var elementTemplateErrorsGroup = {\n id: 'template-errors',\n label: translate('Errors'),\n entries: []\n };\n elementTemplateErrorsProps(elementTemplateErrorsGroup, element, elementTemplates, bpmnFactory, translate);\n\n var customFieldsGroups = elementTemplateCustomProps(element, elementTemplates, bpmnFactory, translate);\n\n return [\n descriptionGroup,\n elementTemplateInputParametersGroup,\n elementTemplateOutputParametersGroup,\n elementTemplateErrorsGroup\n ].concat(customFieldsGroups);\n}\n\nfunction createGeneralTabGroups(\n element, canvas, bpmnFactory,\n elementRegistry, elementTemplates, translate) {\n\n // refer to target element for external labels\n element = element.labelTarget || element;\n\n var generalGroup = {\n id: 'general',\n label: translate('General'),\n entries: []\n };\n\n idProps(generalGroup, element, translate, getIdOptions(element));\n nameProps(generalGroup, element, bpmnFactory, canvas, translate, getNameOptions(element));\n processProps(generalGroup, element, translate, getProcessOptions(element));\n versionTag(generalGroup, element, translate);\n executableProps(generalGroup, element, translate);\n elementTemplateChooserProps(generalGroup, element, elementTemplates, translate);\n\n var detailsGroup = {\n id: 'details',\n label: translate('Details'),\n entries: []\n };\n serviceTaskDelegateProps(detailsGroup, element, bpmnFactory, translate);\n userTaskProps(detailsGroup, element, translate);\n scriptProps(detailsGroup, element, bpmnFactory, translate);\n linkProps(detailsGroup, element, translate);\n callActivityProps(detailsGroup, element, bpmnFactory, translate);\n eventProps(detailsGroup, element, bpmnFactory, elementRegistry, translate);\n errorProps(detailsGroup, element, bpmnFactory, translate);\n conditionalProps(detailsGroup, element, bpmnFactory, translate);\n startEventInitiator(detailsGroup, element, translate); // this must be the last element of the details group!\n\n var multiInstanceGroup = {\n id: 'multiInstance',\n label: translate('Multi Instance'),\n entries: []\n };\n multiInstanceProps(multiInstanceGroup, element, bpmnFactory, translate);\n\n var asyncGroup = {\n id : 'async',\n label: translate('Asynchronous Continuations'),\n entries : []\n };\n asynchronousContinuationProps(asyncGroup, element, bpmnFactory, translate);\n\n var jobConfigurationGroup = {\n id : 'jobConfiguration',\n label : translate('Job Configuration'),\n entries : [],\n enabled: isJobConfigEnabled\n };\n jobConfiguration(jobConfigurationGroup, element, bpmnFactory, translate);\n\n var externalTaskGroup = {\n id : 'externalTaskConfiguration',\n label : translate('External Task Configuration'),\n entries : [],\n enabled: isExternalTaskPriorityEnabled\n };\n externalTaskConfiguration(externalTaskGroup, element, bpmnFactory, translate);\n\n\n var candidateStarterGroup = {\n id: 'candidateStarterConfiguration',\n label: translate('Candidate Starter Configuration'),\n entries: []\n };\n candidateStarter(candidateStarterGroup, element, bpmnFactory, translate);\n\n var historyTimeToLiveGroup = {\n id: 'historyConfiguration',\n label: translate('History Configuration'),\n entries: []\n };\n historyTimeToLive(historyTimeToLiveGroup, element, bpmnFactory, translate);\n\n var tasklistGroup = {\n id: 'tasklist',\n label: translate('Tasklist Configuration'),\n entries: []\n };\n tasklist(tasklistGroup, element, bpmnFactory, translate);\n\n var documentationGroup = {\n id: 'documentation',\n label: translate('Documentation'),\n entries: []\n };\n documentationProps(documentationGroup, element, bpmnFactory, translate);\n\n var groups = [];\n groups.push(generalGroup);\n groups.push(detailsGroup);\n groups.push(externalTaskGroup);\n groups.push(multiInstanceGroup);\n groups.push(asyncGroup);\n groups.push(jobConfigurationGroup);\n groups.push(candidateStarterGroup);\n groups.push(historyTimeToLiveGroup);\n groups.push(tasklistGroup);\n groups.push(documentationGroup);\n\n return groups;\n}\n\nfunction createVariablesTabGroups(element, bpmnFactory, elementRegistry, translate) {\n var variablesGroup = {\n id : 'variables',\n label : translate('Variables'),\n entries: []\n };\n variableMapping(variablesGroup, element, bpmnFactory, translate);\n\n return [\n variablesGroup\n ];\n}\n\nfunction createProcessVariablesTabGroups(element, translate) {\n var processVariablesGroup = {\n id : 'process-variables',\n label : translate('Variables'),\n entries: []\n };\n\n processVariablesProps(processVariablesGroup, element, translate);\n\n return [\n processVariablesGroup\n ];\n}\n\nfunction createFormsTabGroups(element, bpmnFactory, elementRegistry, translate) {\n var formGroup = {\n id : 'forms',\n label : translate('Forms'),\n entries: []\n };\n formProps(formGroup, element, bpmnFactory, translate);\n\n return [\n formGroup\n ];\n}\n\nfunction createListenersTabGroups(element, bpmnFactory, elementRegistry, translate) {\n\n var listenersGroup = {\n id : 'listeners',\n label: translate('Listeners'),\n entries: []\n };\n\n var options = listenerProps(listenersGroup, element, bpmnFactory, translate);\n\n var listenerDetailsGroup = {\n id: 'listener-details',\n entries: [],\n enabled: function(element, node) {\n return options.getSelectedListener(element, node);\n },\n label: function(element, node) {\n var param = options.getSelectedListener(element, node);\n return getListenerLabel(param, translate);\n }\n };\n\n listenerDetails(listenerDetailsGroup, element, bpmnFactory, options, translate);\n\n var listenerFieldsGroup = {\n id: 'listener-fields',\n label: translate('Field Injection'),\n entries: [],\n enabled: function(element, node) {\n return options.getSelectedListener(element, node);\n }\n };\n\n listenerFields(listenerFieldsGroup, element, bpmnFactory, options, translate);\n\n return [\n listenersGroup,\n listenerDetailsGroup,\n listenerFieldsGroup\n ];\n}\n\nfunction createInputOutputTabGroups(element, bpmnFactory, elementTemplates, translate) {\n\n var inputParametersGroup = {\n id: 'input-parameters',\n label: translate('Input Parameters'),\n entries: []\n };\n\n inputParameters(inputParametersGroup, element, bpmnFactory, elementTemplates, translate);\n\n var outputParametersGroup = {\n id: 'output-parameters',\n label: translate('Output Parameters'),\n entries: []\n };\n\n outputParameters(outputParametersGroup, element, bpmnFactory, elementTemplates, translate);\n\n var errorsGroup = {\n id: 'errors',\n label: translate('Errors'),\n entries: [],\n\n enabled: function(element, node) {\n var businessObject = getBusinessObject(element);\n var isExternal = ImplementationTypeHelper.getImplementationType(businessObject) === 'external';\n\n return is(element, 'bpmn:ServiceTask') && isExternal;\n },\n };\n\n errorsProps(errorsGroup, element, bpmnFactory, elementTemplates, translate);\n\n return [\n inputParametersGroup,\n outputParametersGroup,\n errorsGroup\n ];\n}\n\nfunction createConnectorTabGroups(element, bpmnFactory, elementRegistry, translate) {\n var connectorDetailsGroup = {\n id: 'connector-details',\n label: translate('Details'),\n entries: []\n };\n\n connectorDetails(connectorDetailsGroup, element, bpmnFactory, translate);\n\n var connectorInputParametersGroup = {\n id: 'connector-input-parameters',\n label: translate('Input Parameters'),\n entries: []\n };\n\n connectorInputParameters(connectorInputParametersGroup, element, bpmnFactory, translate);\n\n var connectorOutputParametersGroup = {\n id: 'connector-output-parameters',\n label: translate('Output Parameters'),\n entries: []\n };\n\n connectorOutputParameters(connectorOutputParametersGroup, element, bpmnFactory, translate);\n\n return [\n connectorDetailsGroup,\n connectorInputParametersGroup,\n connectorOutputParametersGroup\n ];\n}\n\nfunction createFieldInjectionsTabGroups(element, bpmnFactory, elementRegistry, translate) {\n\n var fieldGroup = {\n id: 'field-injections-properties',\n label: translate('Field Injections'),\n entries: []\n };\n\n fieldInjections(fieldGroup, element, bpmnFactory, translate);\n\n return [\n fieldGroup\n ];\n}\n\nfunction createExtensionElementsGroups(element, bpmnFactory, elementRegistry, translate) {\n\n var propertiesGroup = {\n id : 'extensionElements-properties',\n label: translate('Properties'),\n entries: []\n };\n properties(propertiesGroup, element, bpmnFactory, translate);\n\n return [\n propertiesGroup\n ];\n}\n\n// Camunda Properties Provider /////////////////////////////////////\n\n\n/**\n * A properties provider for Camunda related properties.\n *\n * @param {BpmnFactory} bpmnFactory\n * @param {Canvas} canvas\n * @param {ElementRegistry} elementRegistry\n * @param {ElementTemplates} elementTemplates\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n * @param {Replace} replace\n * @param {Selection} selection\n * @param {Translate} translate\n */\nfunction CamundaPropertiesProvider(\n bpmnFactory,\n canvas,\n commandStack,\n elementRegistry,\n elementTemplates,\n eventBus,\n modeling,\n replace,\n selection,\n translate\n) {\n PropertiesActivator.call(this, eventBus);\n\n this.getTabs = function(element) {\n\n var generalTab = {\n id: 'general',\n label: translate('General'),\n groups: createGeneralTabGroups(\n element, canvas, bpmnFactory,\n elementRegistry, elementTemplates, translate)\n };\n\n var elementTemplateTab = {\n id: 'element-template',\n label: translate('Template'),\n groups: createElementTemplateGroups(\n element,\n bpmnFactory,\n canvas,\n commandStack,\n elementTemplates,\n modeling,\n replace,\n selection,\n translate\n )\n };\n\n var variablesTab = {\n id: 'variables',\n label: translate('Variables'),\n groups: createVariablesTabGroups(element, bpmnFactory, elementRegistry, translate)\n };\n\n var processVariablesTab = {\n id: 'process-variables',\n label: translate('Variables'),\n groups: createProcessVariablesTabGroups(element, translate)\n };\n\n var formsTab = {\n id: 'forms',\n label: translate('Forms'),\n groups: createFormsTabGroups(element, bpmnFactory, elementRegistry, translate)\n };\n\n var listenersTab = {\n id: 'listeners',\n label: translate('Listeners'),\n groups: createListenersTabGroups(element, bpmnFactory, elementRegistry, translate),\n enabled: function(element) {\n return !eventDefinitionHelper.getLinkEventDefinition(element)\n || (!is(element, 'bpmn:IntermediateThrowEvent')\n && eventDefinitionHelper.getLinkEventDefinition(element));\n }\n };\n\n var inputOutputTab = {\n id: 'input-output',\n label: translate('Input/Output'),\n groups: createInputOutputTabGroups(element, bpmnFactory, elementTemplates, translate)\n };\n\n var connectorTab = {\n id: 'connector',\n label: translate('Connector'),\n groups: createConnectorTabGroups(element, bpmnFactory, elementRegistry, translate),\n enabled: function(element) {\n var bo = implementationTypeHelper.getServiceTaskLikeBusinessObject(element);\n return bo && implementationTypeHelper.getImplementationType(bo) === 'connector';\n }\n };\n\n var fieldInjectionsTab = {\n id: 'field-injections',\n label: translate('Field Injections'),\n groups: createFieldInjectionsTabGroups(element, bpmnFactory, elementRegistry, translate)\n };\n\n var extensionsTab = {\n id: 'extensionElements',\n label: translate('Extensions'),\n groups: createExtensionElementsGroups(element, bpmnFactory, elementRegistry, translate)\n };\n\n return [\n generalTab,\n elementTemplateTab,\n variablesTab,\n processVariablesTab,\n connectorTab,\n formsTab,\n listenersTab,\n inputOutputTab,\n fieldInjectionsTab,\n extensionsTab\n ];\n };\n\n}\n\nCamundaPropertiesProvider.$inject = [\n 'bpmnFactory',\n 'canvas',\n 'commandStack',\n 'elementRegistry',\n 'elementTemplates',\n 'eventBus',\n 'modeling',\n 'replace',\n 'selection',\n 'translate'\n];\n\ninherits(CamundaPropertiesProvider, PropertiesActivator);\n\nmodule.exports = CamundaPropertiesProvider;\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/CamundaPropertiesProvider.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js":
/*!******************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js ***!
\******************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\");\n\nvar nextId = __webpack_require__(/*! ../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").nextId;\n\n/**\n * Create an input parameter representing the given\n * binding and value.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createInputParameter(binding, value, bpmnFactory) {\n var scriptFormat = binding.scriptFormat,\n parameterValue,\n parameterDefinition;\n\n if (scriptFormat) {\n parameterDefinition = bpmnFactory.create('camunda:Script', {\n scriptFormat: scriptFormat,\n value: value\n });\n } else {\n parameterValue = value;\n }\n\n return bpmnFactory.create('camunda:InputParameter', {\n name: binding.name,\n value: parameterValue,\n definition: parameterDefinition\n });\n}\n\nmodule.exports.createInputParameter = createInputParameter;\n\n\n/**\n * Create an output parameter representing the given\n * binding and value.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createOutputParameter(binding, value, bpmnFactory) {\n var scriptFormat = binding.scriptFormat,\n parameterValue,\n parameterDefinition;\n\n if (scriptFormat) {\n parameterDefinition = bpmnFactory.create('camunda:Script', {\n scriptFormat: scriptFormat,\n value: binding.source\n });\n } else {\n parameterValue = binding.source;\n }\n\n return bpmnFactory.create('camunda:OutputParameter', {\n name: value,\n value: parameterValue,\n definition: parameterDefinition\n });\n}\n\nmodule.exports.createOutputParameter = createOutputParameter;\n\n\n/**\n * Create camunda property from the given binding.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createCamundaProperty(binding, value, bpmnFactory) {\n return bpmnFactory.create('camunda:Property', {\n name: binding.name,\n value: value || ''\n });\n}\n\nmodule.exports.createCamundaProperty = createCamundaProperty;\n\n\n/**\n * Create camunda:in element from given binding.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createCamundaIn(binding, value, bpmnFactory) {\n\n var properties = createCamundaInOutAttrs(binding, value);\n\n return bpmnFactory.create('camunda:In', properties);\n}\n\nmodule.exports.createCamundaIn = createCamundaIn;\n\n\n/**\n * Create camunda:in with businessKey element from given binding.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createCamundaInWithBusinessKey(binding, value, bpmnFactory) {\n return bpmnFactory.create('camunda:In', {\n businessKey: value\n });\n}\n\nmodule.exports.createCamundaInWithBusinessKey = createCamundaInWithBusinessKey;\n\n\n/**\n * Create camunda:out element from given binding.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createCamundaOut(binding, value, bpmnFactory) {\n var properties = createCamundaInOutAttrs(binding, value);\n\n return bpmnFactory.create('camunda:Out', properties);\n}\n\nmodule.exports.createCamundaOut = createCamundaOut;\n\n\n/**\n * Create camunda:executionListener element containing an inline script from given binding.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createCamundaExecutionListenerScript(binding, value, bpmnFactory) {\n var scriptFormat = binding.scriptFormat,\n parameterValue,\n parameterDefinition;\n\n if (scriptFormat) {\n parameterDefinition = bpmnFactory.create('camunda:Script', {\n scriptFormat: scriptFormat,\n value: value\n });\n } else {\n parameterValue = value;\n }\n\n return bpmnFactory.create('camunda:ExecutionListener', {\n event: binding.event,\n value: parameterValue,\n script: parameterDefinition\n });\n}\n\nmodule.exports.createCamundaExecutionListenerScript = createCamundaExecutionListenerScript;\n\n/**\n * Create camunda:field element containing string or expression from given binding.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createCamundaFieldInjection(binding, value, bpmnFactory) {\n var DEFAULT_PROPS = {\n 'string': undefined,\n 'expression': undefined,\n 'name': undefined\n };\n\n var props = assign({}, DEFAULT_PROPS);\n\n if (!binding.expression) {\n props.string = value;\n } else {\n props.expression = value;\n }\n props.name = binding.name;\n\n return bpmnFactory.create('camunda:Field', props);\n}\n\nmodule.exports.createCamundaFieldInjection = createCamundaFieldInjection;\n\n/**\n * Create camunda:errorEventDefinition element containing expression and errorRef\n * from given binding.\n *\n * @param {PropertyBinding} binding\n * @param {String} value\n * @param {ModdleElement} error\n * @param {ModdleElement} parent\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement}\n */\nfunction createCamundaErrorEventDefinition(binding, value, error, parent, bpmnFactory) {\n var errorRef = error,\n expression = value;\n\n var newErrorEventDefinition = bpmnFactory.create('camunda:ErrorEventDefinition', {\n expression: expression,\n errorRef: errorRef\n });\n\n newErrorEventDefinition.$parent = parent;\n\n return newErrorEventDefinition;\n}\n\nmodule.exports.createCamundaErrorEventDefinition = createCamundaErrorEventDefinition;\n\n/**\n * Create bpmn:error element containing a specific error id given by a binding.\n *\n * @param {String} bindingErrorRef\n * @param {ModdleElement} parent\n * @param {BpmnFactory} bpmnFactory\n *\n * @return { ModdleElement }\n */\nfunction createError(bindingErrorRef, parent, bpmnFactory) {\n var error = bpmnFactory.create('bpmn:Error', {\n\n // we need to later retrieve the error from a binding\n id: nextId('Error_' + bindingErrorRef + '_')\n });\n\n error.$parent = parent;\n\n return error;\n}\n\nmodule.exports.createError = createError;\n\n// helpers ////////////////////////////\n\n/**\n * Create properties for camunda:in and camunda:out types.\n */\nfunction createCamundaInOutAttrs(binding, value) {\n\n var properties = {};\n\n // camunda:in source(Expression) target\n if (binding.target) {\n\n properties.target = binding.target;\n\n if (binding.expression) {\n properties.sourceExpression = value;\n } else {\n properties.source = value;\n }\n } else\n\n // camunda:(in|out) variables local\n if (binding.variables) {\n properties.variables = 'all';\n\n if (binding.variables === 'local') {\n properties.local = true;\n }\n }\n\n // camunda:out source(Expression) target\n else {\n properties.target = value;\n\n [ 'source', 'sourceExpression' ].forEach(function(k) {\n if (binding[k]) {\n properties[k] = binding[k];\n }\n });\n }\n\n return properties;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CustomElementsPropertiesActivator.js":
/*!***************************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CustomElementsPropertiesActivator.js ***!
\***************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar getTemplateId = __webpack_require__(/*! ./Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").getTemplateId;\n\nvar isBoolean = __webpack_require__(/*! lodash/isBoolean */ \"./node_modules/lodash/isBoolean.js\");\n\nvar find = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").find,\n isNumber = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").isNumber;\n\nvar handleLegacyScopes = __webpack_require__(/*! ./util/handleLegacyScopes */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/util/handleLegacyScopes.js\");\n\nvar PropertiesActivator = __webpack_require__(/*! ../../../PropertiesActivator */ \"./node_modules/bpmn-js-properties-panel/lib/PropertiesActivator.js\");\n\nvar HIGHER_PRIORITY = 1100;\n\n/**\n * Decides what entries are visible and editable. When an element template is applied only entries\n * in the element template tab are visible. Override this behavior through a properties activator\n * with higher priority or by specifying `entriesVisible`.\n *\n * @param {EventBus} eventBus\n * @param {ElementTemplates} elementTemplates\n */\nfunction CustomElementsPropertiesActivator(eventBus, elementTemplates) {\n PropertiesActivator.call(this, eventBus, HIGHER_PRIORITY);\n\n this.isEntryVisible = function(element, entry, group, tab) {\n var template = elementTemplates.get(element),\n templateId = getTemplateId(element);\n\n if (templateId && !isEntryVisible(entry, tab, template)) {\n return false;\n }\n };\n\n this.isPropertyEditable = function(propertyName, element, entry, group, tab) {\n var template = elementTemplates.get(element);\n\n if (template && !isEntryEditable(entry, template)) {\n return false;\n }\n };\n}\n\nCustomElementsPropertiesActivator.$inject = [ 'eventBus', 'elementTemplates' ];\n\ninherits(CustomElementsPropertiesActivator, PropertiesActivator);\n\nmodule.exports = CustomElementsPropertiesActivator;\n\n\n\n// helpers //////////\n\n\nvar CUSTOM_PROPERTIES_PATTERN = /^custom-/;\n\nvar DEFAULT_ENTRIES_VISIBLE = {\n _all: false\n};\n\nfunction isCustomEntry(entry) {\n return CUSTOM_PROPERTIES_PATTERN.test(entry.id);\n}\n\nfunction isEntryVisible(entry, tab, template) {\n var entryId = entry.id;\n\n if (tab.id === 'element-template') {\n return true;\n }\n\n var entriesVisible = template && template.entriesVisible || DEFAULT_ENTRIES_VISIBLE;\n\n if (isBoolean(entriesVisible)) {\n return entriesVisible;\n }\n\n var defaultVisible = entriesVisible._all || false,\n entryVisible = entriesVisible[ entryId ];\n\n if (defaultVisible) {\n return entryVisible !== false;\n } else {\n return entryVisible === true;\n }\n}\n\nfunction isEntryEditable(entry, template) {\n\n var property;\n\n if (isCustomEntry(entry)) {\n property = getProperty(template, entry);\n\n return property && property.editable !== false;\n }\n\n return true;\n}\n\nfunction getProperty(template, entry) {\n\n var idxAsNumber,\n scope,\n scopeName;\n\n var throwError = function() {\n throw new Error('cannot extract property index for entry <' + entry.id + '>');\n };\n\n // (0) retrieve raw property idx from entry\n var idxOrScope = entry.id.replace('custom-' + template.id + '-', '');\n\n // (1) handle custom props entries\n // e.g. custom-com.example.template-{idx}\n if (!idxOrScope.includes('-')) {\n idxAsNumber = parseInt(idxOrScope, 10);\n\n if (!isNumber(idxAsNumber)) {\n throwError();\n }\n\n return template.properties[idxAsNumber];\n }\n\n // (2) handle scope entries\n // e.g. custom-com.example.template-camunda_Connector-{idx}\n var entryParts = idxOrScope.split('-');\n\n if (entryParts.length == 2) {\n scopeName = entryParts[0].replace(/_/g, ':');\n\n idxAsNumber = parseInt(entryParts[1], 10);\n\n if (scopeName && isNumber(idxAsNumber)) {\n scope = findScopeForName(handleLegacyScopes(template.scopes), scopeName);\n\n return scope.properties[idxAsNumber];\n }\n\n }\n\n throwError();\n}\n\nfunction findScopeForName(scopes, scopeName) {\n return find(scopes, function(scope) {\n return scope.type === scopeName;\n });\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CustomElementsPropertiesActivator.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ElementTemplates.js":
/*!**********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ElementTemplates.js ***!
\**********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar flatten = __webpack_require__(/*! lodash/flatten */ \"./node_modules/lodash/flatten.js\"),\n find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\"),\n isString = __webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\"),\n isUndefined = __webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"),\n values = __webpack_require__(/*! lodash/values */ \"./node_modules/lodash/values.js\");\n\nvar getTemplateId = __webpack_require__(/*! ./Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").getTemplateId,\n getTemplateVersion = __webpack_require__(/*! ./Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").getTemplateVersion;\n\nvar isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny;\n\n/**\n * Registry for element templates.\n */\nfunction ElementTemplates() {\n this._templates = {};\n}\n\n/**\n * Get template with given ID and optional version or for element.\n *\n * @param {String|djs.model.Base} id\n * @param {number} [version]\n *\n * @return {ElementTemplate}\n */\nElementTemplates.prototype.get = function(id, version) {\n var templates = this._templates,\n element;\n\n if (isUndefined(id)) {\n return null;\n } else if (isString(id)) {\n\n if (isUndefined(version)) {\n version = '_';\n }\n\n if (templates[ id ] && templates[ id ][ version ]) {\n return templates[ id ][ version ];\n } else {\n return null;\n }\n } else {\n element = id;\n\n return this.get(getTemplateId(element), getTemplateVersion(element));\n }\n};\n\n/**\n * Get default template for given element.\n *\n * @param {djs.model.Base} element\n *\n * @return {ElementTemplate}\n */\nElementTemplates.prototype.getDefault = function(element) {\n return find(this.getAll(), function(template) {\n return isAny(element, template.appliesTo) && template.isDefault;\n }) || null;\n};\n\n/**\n * Get all templates (with given ID).\n *\n * @param {string} [id]\n *\n * @return {Array}\n */\nElementTemplates.prototype.getAll = function(id) {\n if (!isUndefined(id) && this._templates[ id ]) {\n return values(this._templates[ id ]);\n }\n\n return flatten(values(this._templates).map(values));\n};\n\n/**\n * Set templates.\n *\n * @param {Array} templates\n */\nElementTemplates.prototype.set = function(templates) {\n var self = this;\n\n this._templates = {};\n\n templates.forEach(function(template) {\n var id = template.id,\n version = isUndefined(template.version) ? '_' : template.version;\n\n if (!self._templates[ id ]) {\n self._templates[ id ] = {};\n }\n\n self._templates[ id ][ version ] = template;\n });\n};\n\nmodule.exports = ElementTemplates;\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ElementTemplates.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ElementTemplatesLoader.js":
/*!****************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ElementTemplatesLoader.js ***!
\****************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar Validator = __webpack_require__(/*! ./Validator */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Validator.js\");\n\n/**\n * The guy responsible for template loading.\n *\n * Provide the actual templates via the `config.elementTemplates`.\n *\n * That configuration can either be an array of template\n * descriptors or a node style callback to retrieve\n * the templates asynchronously.\n *\n * @param {Array|Function} loadTemplates\n * @param {EventBus} eventBus\n * @param {ElementTemplates} elementTemplates\n */\nfunction ElementTemplatesLoader(loadTemplates, eventBus, elementTemplates) {\n this._loadTemplates = loadTemplates;\n this._eventBus = eventBus;\n this._elementTemplates = elementTemplates;\n\n var self = this;\n\n eventBus.on('diagram.init', function() {\n self.reload();\n });\n}\n\nmodule.exports = ElementTemplatesLoader;\n\nElementTemplatesLoader.$inject = [\n 'config.elementTemplates',\n 'eventBus',\n 'elementTemplates'\n];\n\n\nElementTemplatesLoader.prototype.reload = function() {\n\n var self = this;\n\n var loadTemplates = this._loadTemplates;\n\n // no templates specified\n if (typeof loadTemplates === 'undefined') {\n return;\n }\n\n // template loader function specified\n if (typeof loadTemplates === 'function') {\n\n return loadTemplates(function(err, templates) {\n\n if (err) {\n return self.templateErrors([ err ]);\n }\n\n self.setTemplates(templates);\n });\n }\n\n // templates array specified\n if (loadTemplates.length) {\n return this.setTemplates(loadTemplates);\n }\n\n};\n\nElementTemplatesLoader.prototype.setTemplates = function(templates) {\n\n var elementTemplates = this._elementTemplates;\n\n var validator = new Validator().addAll(templates);\n\n var errors = validator.getErrors(),\n validTemplates = validator.getValidTemplates();\n\n elementTemplates.set(validTemplates);\n\n if (errors.length) {\n this.templateErrors(errors);\n }\n\n this.templatesChanged();\n};\n\nElementTemplatesLoader.prototype.templatesChanged = function() {\n this._eventBus.fire('elementTemplates.changed');\n};\n\nElementTemplatesLoader.prototype.templateErrors = function(errors) {\n this._eventBus.fire('elementTemplates.errors', {\n errors: errors\n });\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ElementTemplatesLoader.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js":
/*!************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js ***!
\************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny;\n\nvar find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\");\n\nvar TEMPLATE_ID_ATTR = 'camunda:modelerTemplate',\n TEMPLATE_VERSION_ATTR = 'camunda:modelerTemplateVersion';\n\n/**\n * The BPMN 2.0 extension attribute name under\n * which the element template ID is stored.\n *\n * @type {String}\n */\nmodule.exports.TEMPLATE_ID_ATTR = TEMPLATE_ID_ATTR;\n\n/**\n * The BPMN 2.0 extension attribute name under\n * which the element template version is stored.\n *\n * @type {String}\n */\nmodule.exports.TEMPLATE_VERSION_ATTR = TEMPLATE_VERSION_ATTR;\n\n\n/**\n * Get template id for a given diagram element.\n *\n * @param {djs.model.Base} element\n *\n * @return {String}\n */\nfunction getTemplateId(element) {\n\n var bo = getBusinessObject(element);\n\n if (bo) {\n return bo.get(TEMPLATE_ID_ATTR);\n }\n}\n\nmodule.exports.getTemplateId = getTemplateId;\n\n/**\n * Get template version for a given diagram element.\n *\n * @param {djs.model.Base} element\n *\n * @return {String}\n */\nfunction getTemplateVersion(element) {\n\n var bo = getBusinessObject(element);\n\n if (bo) {\n return bo.get(TEMPLATE_VERSION_ATTR);\n }\n}\n\nmodule.exports.getTemplateVersion = getTemplateVersion;\n\n\n/**\n * Find extension with given type in\n * BPMN element, diagram element or ExtensionElement.\n *\n * @param {ModdleElement|djs.model.Base} element\n * @param {String} type\n *\n * @return {ModdleElement} the extension\n */\nfunction findExtension(element, type) {\n var bo = getBusinessObject(element);\n\n var extensionElements;\n\n if (is(bo, 'bpmn:ExtensionElements')) {\n extensionElements = bo;\n } else {\n extensionElements = bo.extensionElements;\n }\n\n if (!extensionElements) {\n return null;\n }\n\n return find(extensionElements.get('values'), function(e) {\n return is(e, type);\n });\n}\n\nmodule.exports.findExtension = findExtension;\n\n\nfunction findExtensions(element, types) {\n var extensionElements = getExtensionElements(element);\n\n if (!extensionElements) {\n return [];\n }\n\n return extensionElements.get('values').filter(function(e) {\n return isAny(e, types);\n });\n}\n\nmodule.exports.findExtensions = findExtensions;\n\n\nfunction findCamundaInOut(element, binding) {\n\n var extensionElements = getExtensionElements(element);\n\n if (!extensionElements) {\n return;\n }\n\n var matcher;\n\n if (binding.type === 'camunda:in') {\n matcher = function(e) {\n return is(e, 'camunda:In') && isInOut(e, binding);\n };\n } else\n if (binding.type === 'camunda:out') {\n matcher = function(e) {\n return is(e, 'camunda:Out') && isInOut(e, binding);\n };\n } else\n if (binding.type === 'camunda:in:businessKey') {\n matcher = function(e) {\n return is(e, 'camunda:In') && 'businessKey' in e;\n };\n }\n\n return find(extensionElements.get('values'), matcher);\n}\n\nmodule.exports.findCamundaInOut = findCamundaInOut;\n\nfunction findCamundaProperty(camundaProperties, binding) {\n return find(camundaProperties.get('values'), function(p) {\n return p.name === binding.name;\n });\n}\n\nmodule.exports.findCamundaProperty = findCamundaProperty;\n\n\nfunction findInputParameter(inputOutput, binding) {\n var parameters = inputOutput.get('inputParameters');\n\n return find(parameters, function(p) {\n return p.name === binding.name;\n });\n}\n\nmodule.exports.findInputParameter = findInputParameter;\n\n\nfunction findOutputParameter(inputOutput, binding) {\n var parameters = inputOutput.get('outputParameters');\n\n return find(parameters, function(p) {\n var value = p.value;\n\n if (!binding.scriptFormat) {\n return value === binding.source;\n }\n\n var definition = p.definition;\n\n if (!definition || binding.scriptFormat !== definition.scriptFormat) {\n return false;\n }\n\n return definition.value === binding.source;\n });\n}\n\nmodule.exports.findOutputParameter = findOutputParameter;\n\n\nfunction findCamundaErrorEventDefinition(element, bindingErrorRef) {\n var errorEventDefinitions = findExtensions(element, [ 'camunda:ErrorEventDefinition' ]),\n error;\n\n // error id has to start with \n return find(errorEventDefinitions, function(definition) {\n error = definition.errorRef;\n\n if (error) {\n return error.id.indexOf('Error_' + bindingErrorRef) == 0;\n }\n });\n}\n\nmodule.exports.findCamundaErrorEventDefinition = findCamundaErrorEventDefinition;\n\n\n\n// helpers /////////////////////////////////\n\nfunction getExtensionElements(element) {\n var bo = getBusinessObject(element);\n\n if (is(bo, 'bpmn:ExtensionElements')) {\n return bo;\n } else {\n return bo.extensionElements;\n }\n}\n\n\nfunction isInOut(element, binding) {\n\n if (binding.type === 'camunda:in') {\n\n // find based on target attribute\n if (binding.target) {\n return element.target === binding.target;\n }\n }\n\n if (binding.type === 'camunda:out') {\n\n // find based on source / sourceExpression\n if (binding.source) {\n return element.source === binding.source;\n }\n\n if (binding.sourceExpression) {\n return element.sourceExpression === binding.sourceExpression;\n }\n }\n\n // find based variables / local combination\n if (binding.variables) {\n return element.variables === 'all' && (\n binding.variables !== 'local' || element.local\n );\n }\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ReplaceBehavior.js":
/*!*********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ReplaceBehavior.js ***!
\*********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\n/**\n * This function catches the event\n * and only allows the copy of the modelerTemplate property\n * if the element's type or its parent's is in\n * the list of elements the template applies to.\n */\nfunction ReplaceBehavior(elementTemplates, eventBus) {\n eventBus.on('moddleCopy.canCopyProperty', function(context) {\n var parent = context.parent;\n var property = context.property;\n var propertyName = context.propertyName;\n\n if (propertyName !== 'modelerTemplate') {\n return;\n }\n\n var elementTemplate = elementTemplates.get(property);\n\n if (!elementTemplate) {\n return false;\n }\n\n var appliesTo = elementTemplate.appliesTo;\n\n var allowed = appliesTo.reduce(function(allowed, type) {\n return allowed || is(parent, type);\n }, false);\n\n if (!allowed) {\n return false;\n }\n });\n}\n\nReplaceBehavior.$inject = ['elementTemplates', 'eventBus'];\n\nmodule.exports = ReplaceBehavior;\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ReplaceBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Validator.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Validator.js ***!
\***************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar isArray = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").isArray,\n filter = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").filter;\n\nvar semver = __webpack_require__(/*! semver */ \"./node_modules/semver/semver.js\");\n\nvar validateAgainstSchema = __webpack_require__(/*! @bpmn-io/element-templates-validator */ \"./node_modules/@bpmn-io/element-templates-validator/dist/index.esm.js\").validate,\n getTemplateSchemaVersion = __webpack_require__(/*! @bpmn-io/element-templates-validator */ \"./node_modules/@bpmn-io/element-templates-validator/dist/index.esm.js\").getSchemaVersion;\n\nvar SUPPORTED_SCHEMA_VERSION = getTemplateSchemaVersion();\n\n\n/**\n * A element template validator.\n */\nfunction Validator() {\n\n this._templatesById = {};\n\n this._validTemplates = [];\n this._errors = [];\n\n /**\n * Adds the templates.\n *\n * @param {Array} templates\n *\n * @return {Validator} self\n */\n this.addAll = function(templates) {\n\n if (!isArray(templates)) {\n this._logError('templates must be []');\n } else {\n templates.forEach(this.add, this);\n }\n\n return this;\n };\n\n /**\n * Add the given element template, if it is valid.\n *\n * @param {TemplateDescriptor} template\n *\n * @return {Validator} self\n */\n this.add = function(template) {\n\n var err = this._validateTemplate(template);\n\n var id, version;\n\n if (!err) {\n id = template.id;\n version = template.version || '_';\n\n if (!this._templatesById[ id ]) {\n this._templatesById[ id ] = {};\n }\n\n this._templatesById[ id ][ version ] = template;\n\n this._validTemplates.push(template);\n }\n\n return this;\n };\n\n /**\n * Validate given template and return error (if any).\n *\n * @param {TemplateDescriptor} template\n *\n * @return {Error} validation error, if any\n */\n this._validateTemplate = function(template) {\n\n var err,\n id = template.id,\n version = template.version || '_',\n schemaVersion = template.$schema && getSchemaVersion(template.$schema),\n self = this;\n\n // (1) Compatibility\n if (schemaVersion &&\n (semver.compare(SUPPORTED_SCHEMA_VERSION, schemaVersion) < 0)) {\n return this._logError('unsupported element template schema version <' + schemaVersion +\n '>. Your installation only supports up to version <' + SUPPORTED_SCHEMA_VERSION +\n '>. Please update your installation', template);\n }\n\n // (2) Versioning\n if (this._templatesById[ id ] && this._templatesById[ id ][ version ]) {\n if (version === '_') {\n return this._logError('template id <' + id + '> already used', template);\n } else {\n return this._logError('template id <' + id + '> and version <' + version + '> already used', template);\n }\n }\n\n // (3) JSON Schema compliant\n var validationResult = validateAgainstSchema(template),\n valid = validationResult.valid,\n errors = validationResult.errors;\n\n if (!valid) {\n err = new Error('invalid template');\n\n filteredSchemaErrors(errors).forEach(function(error) {\n self._logError(error.message, template);\n });\n }\n\n return err;\n };\n\n /**\n * Log an error for the given template\n *\n * @param {(String|Error)} err\n * @param {TemplateDescriptor} template\n *\n * @return {Error} logged validation errors\n */\n this._logError = function(err, template) {\n\n if (typeof err === 'string') {\n\n if (template) {\n err = 'template(id: <' + template.id + '>, name: <' + template.name + '>): ' + err;\n }\n\n err = new Error(err);\n }\n\n this._errors.push(err);\n\n return err;\n };\n\n this.getErrors = function() {\n return this._errors;\n };\n\n this.getValidTemplates = function() {\n return this._validTemplates;\n };\n}\n\nmodule.exports = Validator;\n\n\n// helpers ///////////////////////////////////\n\n/**\n * Extract schema version from schema URI\n *\n * @param {String} schemaUri - for example https://unpkg.com/@camunda/element-templates-json-schema@99.99.99/resources/schema.json\n *\n * @return {String} for example '99.99.99'\n */\nfunction getSchemaVersion(schemaUri) {\n var re = /\\d+\\.\\d+\\.\\d+/g;\n\n var match = schemaUri.match(re);\n\n return match === null ? undefined : match[0];\n}\n\n/**\n * Extract only relevant errors of the validation result.\n *\n * The JSON Schema we use under the hood produces more errors than we need for a\n * detected schema violation (for example, unmatched sub-schemas, if-then-rules,\n * `oneOf`-definitions ...).\n *\n * We call these errors \"relevant\" that have a custom error message defined by us OR\n * are basic data type errors.\n *\n * @param {Array} schemaErrors\n *\n * @return {Array}\n */\nfunction filteredSchemaErrors(schemaErrors) {\n return filter(schemaErrors, function(err) {\n\n // (1) regular errors are customized from the schema\n if (err.keyword === 'errorMessage') {\n return true;\n }\n\n // (2) data type errors are relevant, except for\n // (scope) root level data type errors due to basic schema errors\n if (err.keyword === 'type' && err.dataPath && err.dataPath !== '/scopes') {\n return true;\n }\n\n return false;\n });\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Validator.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/cmd/ChangeElementTemplateHandler.js":
/*!**************************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/cmd/ChangeElementTemplateHandler.js ***!
\**************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar findExtension = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findExtension,\n findExtensions = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findExtensions,\n findCamundaErrorEventDefinition = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findCamundaErrorEventDefinition;\n\nvar handleLegacyScopes = __webpack_require__(/*! ../util/handleLegacyScopes */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/util/handleLegacyScopes.js\");\n\nvar createCamundaExecutionListenerScript = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaExecutionListenerScript,\n createCamundaFieldInjection = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaFieldInjection,\n createCamundaIn = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaIn,\n createCamundaInWithBusinessKey = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaInWithBusinessKey,\n createCamundaOut = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaOut,\n createCamundaProperty = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaProperty,\n createInputParameter = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createInputParameter,\n createOutputParameter = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createOutputParameter,\n createCamundaErrorEventDefinition = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaErrorEventDefinition,\n createError = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createError;\n\nvar EventDefinitionHelper = __webpack_require__(/*! ../../../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\");\n\nvar getRoot = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").getRoot;\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny;\n\nvar find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\"),\n forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\"),\n isString = __webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\"),\n keys = __webpack_require__(/*! lodash/keys */ \"./node_modules/lodash/keys.js\"),\n remove = __webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.js\");\n\nvar CAMUNDA_SERVICE_TASK_LIKE = [\n 'camunda:class',\n 'camunda:delegateExpression',\n 'camunda:expression'\n];\n\n/**\n * Applies an element template to an element. Sets `camunda:modelerTemplate` and\n * `camunda:modelerTemplateVersion`.\n */\nfunction ChangeElementTemplateHandler(bpmnFactory, commandStack, modeling) {\n this._bpmnFactory = bpmnFactory;\n this._commandStack = commandStack;\n this._modeling = modeling;\n}\n\nChangeElementTemplateHandler.$inject = [\n 'bpmnFactory',\n 'commandStack',\n 'modeling'\n];\n\nmodule.exports = ChangeElementTemplateHandler;\n\n/**\n * Change an element's template and update its properties as specified in `newTemplate`. Specify\n * `oldTemplate` to update from one template to another. If `newTemplate` isn't specified the\n * `camunda:modelerTemplate` and `camunda:modelerTemplateVersion` properties will be removed from\n * the element.\n *\n * @param {Object} context\n * @param {Object} context.element\n * @param {Object} [context.oldTemplate]\n * @param {Object} [context.newTemplate]\n */\nChangeElementTemplateHandler.prototype.preExecute = function(context) {\n var element = context.element,\n newTemplate = context.newTemplate,\n oldTemplate = context.oldTemplate;\n\n var self = this;\n\n // Update camunda:modelerTemplate attribute\n this._updateCamundaModelerTemplate(element, newTemplate);\n\n if (newTemplate) {\n\n // Update properties\n this._updateProperties(element, oldTemplate, newTemplate);\n\n // Update camunda:ExecutionListener properties\n this._updateCamundaExecutionListenerProperties(element, newTemplate);\n\n // Update camunda:Field properties\n this._updateCamundaFieldProperties(element, oldTemplate, newTemplate);\n\n // Update camunda:In and camunda:Out properties\n this._updateCamundaInOutProperties(element, oldTemplate, newTemplate);\n\n // Update camunda:InputParameter and camunda:OutputParameter properties\n this._updateCamundaInputOutputParameterProperties(element, oldTemplate, newTemplate);\n\n // Update camunda:Property properties\n this._updateCamundaPropertyProperties(element, oldTemplate, newTemplate);\n\n // Update camunda:ErrorEventDefinition properties\n this._updateCamundaErrorEventDefinitionProperties(element, oldTemplate, newTemplate);\n\n // Update properties for each scope\n forEach(handleLegacyScopes(newTemplate.scopes), function(newScopeTemplate) {\n self._updateScopeProperties(element, oldTemplate, newScopeTemplate, newTemplate);\n });\n\n }\n};\n\nChangeElementTemplateHandler.prototype._getOrCreateExtensionElements = function(element) {\n var bpmnFactory = this._bpmnFactory,\n modeling = this._modeling;\n\n var businessObject = getBusinessObject(element);\n\n var extensionElements = businessObject.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = bpmnFactory.create('bpmn:ExtensionElements', {\n values: []\n });\n\n extensionElements.$parent = businessObject;\n\n modeling.updateProperties(element, {\n extensionElements: extensionElements\n });\n }\n\n return extensionElements;\n};\n\n/**\n * Update `camunda:ErrorEventDefinition` properties of specified business object. Event\n * definitions can only exist in `bpmn:ExtensionElements`.\n *\n * Ensures an bpmn:Error exists for the event definition.\n *\n * @param {djs.model.Base} element\n * @param {Object} oldTemplate\n * @param {Object} newTemplate\n */\nChangeElementTemplateHandler.prototype._updateCamundaErrorEventDefinitionProperties = function(element, oldTemplate, newTemplate) {\n var bpmnFactory = this._bpmnFactory,\n commandStack = this._commandStack;\n\n var newProperties = newTemplate.properties.filter(function(newProperty) {\n var newBinding = newProperty.binding,\n newBindingType = newBinding.type;\n\n return newBindingType === 'camunda:errorEventDefinition';\n });\n\n // (1) Do not override if no updates\n if (!newProperties.length) {\n return;\n }\n\n var businessObject = this._getOrCreateExtensionElements(element);\n\n var oldErrorEventDefinitions = findExtensions(element, [ 'camunda:ErrorEventDefinition' ]);\n\n newProperties.forEach(function(newProperty) {\n var oldProperty = findOldProperty(oldTemplate, newProperty),\n oldEventDefinition = oldProperty && findOldBusinessObject(businessObject, oldProperty),\n newBinding = newProperty.binding;\n\n // (2) Update old event definitions\n if (oldProperty && oldEventDefinition) {\n\n if (!propertyChanged(oldEventDefinition, oldProperty)) {\n commandStack.execute('properties-panel.update-businessobject', {\n element: element,\n businessObject: oldEventDefinition,\n properties: {\n expression: newProperty.value\n }\n });\n }\n\n remove(oldErrorEventDefinitions, oldEventDefinition);\n }\n\n // (3) Create new event definition + error\n else {\n var rootElement = getRoot(getBusinessObject(element)),\n newError = createError(newBinding.errorRef, rootElement, bpmnFactory),\n newEventDefinition =\n createCamundaErrorEventDefinition(newBinding, newProperty.value, newError, businessObject, bpmnFactory);\n\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: rootElement,\n propertyName: 'rootElements',\n objectsToAdd: [ newError ],\n objectsToRemove: []\n });\n\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: 'values',\n objectsToAdd: [ newEventDefinition ],\n objectsToRemove: []\n });\n }\n\n });\n\n // (4) Remove old event definitions\n if (oldErrorEventDefinitions.length) {\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: 'values',\n objectsToAdd: [],\n objectsToRemove: oldErrorEventDefinitions\n });\n }\n};\n\n/**\n * Update `camunda:ExecutionListener` properties of specified business object. Execution listeners\n * will always be overridden. Execution listeners can only exist in `bpmn:ExtensionElements`.\n *\n * @param {djs.model.Base} element\n * @param {Object} newTemplate\n */\nChangeElementTemplateHandler.prototype._updateCamundaExecutionListenerProperties = function(element, newTemplate) {\n var bpmnFactory = this._bpmnFactory,\n commandStack = this._commandStack;\n\n var newProperties = newTemplate.properties.filter(function(newProperty) {\n var newBinding = newProperty.binding,\n newBindingType = newBinding.type;\n\n return newBindingType === 'camunda:executionListener';\n });\n\n // (1) Do not override old execution listeners if no new execution listeners specified\n if (!newProperties.length) {\n return;\n }\n\n var businessObject = this._getOrCreateExtensionElements(element);\n\n // (2) Remove old execution listeners\n var oldExecutionListeners = findExtensions(element, [ 'camunda:ExecutionListener' ]);\n\n // (3) Add new execution listeners\n var newExecutionListeners = newProperties.map(function(newProperty) {\n var newBinding = newProperty.binding,\n propertyValue = newProperty.value;\n\n return createCamundaExecutionListenerScript(newBinding, propertyValue, bpmnFactory);\n });\n\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: 'values',\n objectsToAdd: newExecutionListeners,\n objectsToRemove: oldExecutionListeners\n });\n};\n\n/**\n * Update `camunda:Field` properties of specified business object.\n * If business object is `camunda:ExecutionListener` or `camunda:TaskListener` `fields` property\n * will be updated. Otherwise `extensionElements.values` property will be updated.\n *\n * @param {djs.model.Base} element\n * @param {Object} oldTemplate\n * @param {Object} newTemplate\n * @param {ModdleElement} businessObject\n */\nChangeElementTemplateHandler.prototype._updateCamundaFieldProperties = function(element, oldTemplate, newTemplate, businessObject) {\n var bpmnFactory = this._bpmnFactory,\n commandStack = this._commandStack;\n\n var newProperties = newTemplate.properties.filter(function(newProperty) {\n var newBinding = newProperty.binding,\n newBindingType = newBinding.type;\n\n return newBindingType === 'camunda:field';\n });\n\n // (1) Do not override old fields if no new fields specified\n if (!newProperties.length) {\n return;\n }\n\n if (!businessObject) {\n businessObject = this._getOrCreateExtensionElements(element);\n }\n\n var propertyName = isAny(businessObject, [ 'camunda:ExecutionListener', 'camunda:TaskListener' ])\n ? 'fields'\n : 'values';\n\n var oldFields = findExtensions(element, [ 'camunda:Field' ]);\n\n newProperties.forEach(function(newProperty) {\n var oldProperty = findOldProperty(oldTemplate, newProperty),\n oldField = oldProperty && findOldBusinessObject(businessObject, oldProperty),\n newBinding = newProperty.binding;\n\n // (2) Update old fields\n if (oldProperty && oldField) {\n\n if (!propertyChanged(oldField, oldProperty)) {\n commandStack.execute('properties-panel.update-businessobject', {\n element: element,\n businessObject: oldField,\n properties: {\n string: newProperty.value\n }\n });\n }\n\n remove(oldFields, oldField);\n }\n\n // (3) Add new fields\n else {\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: propertyName,\n objectsToAdd: [ createCamundaFieldInjection(newBinding, newProperty.value, bpmnFactory) ],\n objectsToRemove: []\n });\n }\n });\n\n // (4) Remove old fields\n if (oldFields.length) {\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: propertyName,\n objectsToAdd: [],\n objectsToRemove: oldFields\n });\n }\n};\n\n/**\n * Update `camunda:In` and `camunda:Out` properties of specified business object. Only\n * `bpmn:CallActivity` and events with `bpmn:SignalEventDefinition` can have ins. Only\n * `camunda:CallActivity` can have outs.\n *\n * @param {djs.model.Base} element\n * @param {Object} oldTemplate\n * @param {Object} newTemplate\n */\nChangeElementTemplateHandler.prototype._updateCamundaInOutProperties = function(element, oldTemplate, newTemplate) {\n var bpmnFactory = this._bpmnFactory,\n commandStack = this._commandStack;\n\n var newProperties = newTemplate.properties.filter(function(newProperty) {\n var newBinding = newProperty.binding,\n newBindingType = newBinding.type;\n\n return newBindingType === 'camunda:in'\n || newBindingType === 'camunda:in:businessKey'\n || newBindingType === 'camunda:out';\n });\n\n // (1) Do not override old fields if no new fields specified\n if (!newProperties.length) {\n return;\n }\n\n // Get extension elements of either signal event definition or call activity\n var businessObject = this._getOrCreateExtensionElements(\n EventDefinitionHelper.getSignalEventDefinition(element) || element);\n\n var oldInsAndOuts = findExtensions(businessObject, [ 'camunda:In', 'camunda:Out' ]);\n\n newProperties.forEach(function(newProperty) {\n var oldProperty = findOldProperty(oldTemplate, newProperty),\n oldBinding = oldProperty && oldProperty.binding,\n oldInOurOut = oldProperty && findOldBusinessObject(businessObject, oldProperty),\n newPropertyValue = newProperty.value,\n newBinding = newProperty.binding,\n newBindingType = newBinding.type,\n newInOrOut,\n properties = {};\n\n // (2) Update old ins and outs\n if (oldProperty && oldInOurOut) {\n\n if (!propertyChanged(oldInOurOut, oldProperty)) {\n if (newBindingType === 'camunda:in') {\n if (newBinding.expression) {\n properties[ 'camunda:sourceExpression' ] = newPropertyValue;\n } else {\n properties[ 'camunda:source' ] = newPropertyValue;\n }\n } else if (newBindingType === 'camunda:in:businessKey') {\n properties[ 'camunda:businessKey' ] = newPropertyValue;\n } else if (newBindingType === 'camunda:out') {\n properties[ 'camunda:target' ] = newPropertyValue;\n }\n }\n\n // Update `camunda:local` property if it changed\n if ((oldBinding.local && !newBinding.local) || !oldBinding.local && newBinding.local) {\n properties.local = newBinding.local;\n }\n\n if (keys(properties)) {\n commandStack.execute('properties-panel.update-businessobject', {\n element: element,\n businessObject: oldInOurOut,\n properties: properties\n });\n }\n\n remove(oldInsAndOuts, oldInOurOut);\n }\n\n // (3) Add new ins and outs\n else {\n if (newBindingType === 'camunda:in') {\n newInOrOut = createCamundaIn(newBinding, newPropertyValue, bpmnFactory);\n } else if (newBindingType === 'camunda:out') {\n newInOrOut = createCamundaOut(newBinding, newPropertyValue, bpmnFactory);\n } else if (newBindingType === 'camunda:in:businessKey') {\n newInOrOut = createCamundaInWithBusinessKey(newBinding, newPropertyValue, bpmnFactory);\n }\n\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: 'values',\n objectsToAdd: [ newInOrOut ],\n objectsToRemove: []\n });\n }\n });\n\n // (4) Remove old ins and outs\n if (oldInsAndOuts.length) {\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: 'values',\n objectsToAdd: [],\n objectsToRemove: oldInsAndOuts\n });\n }\n};\n\n/**\n * Update `camunda:InputParameter` and `camunda:OutputParameter` properties of specified business\n * object. Both can only exist in `camunda:InputOutput` which can exist in `bpmn:ExtensionElements`\n * or `camunda:Connector`.\n *\n * @param {djs.model.Base} element\n * @param {Object} oldTemplate\n * @param {Object} newTemplate\n */\nChangeElementTemplateHandler.prototype._updateCamundaInputOutputParameterProperties = function(element, oldTemplate, newTemplate, businessObject) {\n var bpmnFactory = this._bpmnFactory,\n commandStack = this._commandStack;\n\n var newProperties = newTemplate.properties.filter(function(newProperty) {\n var newBinding = newProperty.binding,\n newBindingType = newBinding.type;\n\n return newBindingType === 'camunda:inputParameter' || newBindingType === 'camunda:outputParameter';\n });\n\n // (1) Do not override old inputs and outputs if no new inputs and outputs specified\n if (!newProperties.length) {\n return;\n }\n\n if (!businessObject) {\n businessObject = this._getOrCreateExtensionElements(element);\n }\n\n var inputOutput;\n\n if (is(businessObject, 'camunda:Connector')) {\n inputOutput = businessObject.get('camunda:inputOutput');\n\n if (!inputOutput) {\n inputOutput = bpmnFactory.create('camunda:InputOutput');\n\n commandStack.execute('properties-panel.update-businessobject', {\n element: element,\n businessObject: businessObject,\n properties: {\n inputOutput: inputOutput\n }\n });\n }\n } else {\n inputOutput = findExtension(businessObject, 'camunda:InputOutput');\n\n if (!inputOutput) {\n inputOutput = bpmnFactory.create('camunda:InputOutput');\n\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: 'values',\n objectsToAdd: [ inputOutput ],\n objectsToRemove: []\n });\n }\n }\n\n var oldInputs = inputOutput.get('camunda:inputParameters')\n ? inputOutput.get('camunda:inputParameters').slice()\n : [];\n\n var oldOutputs = inputOutput.get('camunda:outputParameters')\n ? inputOutput.get('camunda:outputParameters').slice()\n : [];\n\n var propertyName;\n\n newProperties.forEach(function(newProperty) {\n var oldProperty = findOldProperty(oldTemplate, newProperty),\n oldInputOrOutput = oldProperty && findOldBusinessObject(businessObject, oldProperty),\n newPropertyValue = newProperty.value,\n newBinding = newProperty.binding,\n newBindingType = newBinding.type;\n\n var newInputOrOutput,\n properties;\n\n // (2) Update old inputs and outputs\n if (oldProperty && oldInputOrOutput) {\n\n if (!propertyChanged(oldInputOrOutput, oldProperty)) {\n if (is(oldInputOrOutput, 'camunda:InputParameter')) {\n properties = {\n value: newPropertyValue\n };\n } else {\n properties = {\n name: newPropertyValue\n };\n }\n\n commandStack.execute('properties-panel.update-businessobject', {\n element: element,\n businessObject: oldInputOrOutput,\n properties: properties\n });\n }\n\n if (is(oldInputOrOutput, 'camunda:InputParameter')) {\n remove(oldInputs, oldInputOrOutput);\n } else {\n remove(oldOutputs, oldInputOrOutput);\n }\n }\n\n // (3) Add new inputs and outputs\n else {\n if (newBindingType === 'camunda:inputParameter') {\n propertyName = 'inputParameters';\n\n newInputOrOutput = createInputParameter(newBinding, newPropertyValue, bpmnFactory);\n } else {\n propertyName = 'outputParameters';\n\n newInputOrOutput = createOutputParameter(newBinding, newPropertyValue, bpmnFactory);\n }\n\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: inputOutput,\n propertyName: propertyName,\n objectsToAdd: [ newInputOrOutput ],\n objectsToRemove: []\n });\n }\n });\n\n // (4) Remove old inputs and outputs\n if (oldInputs.length) {\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: inputOutput,\n propertyName: 'inputParameters',\n objectsToAdd: [],\n objectsToRemove: oldInputs\n });\n }\n\n if (oldOutputs.length) {\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: inputOutput,\n propertyName: 'outputParameters',\n objectsToAdd: [],\n objectsToRemove: oldOutputs\n });\n }\n};\n\nChangeElementTemplateHandler.prototype._updateCamundaModelerTemplate = function(element, newTemplate) {\n var modeling = this._modeling;\n\n modeling.updateProperties(element, {\n 'camunda:modelerTemplate': newTemplate && newTemplate.id,\n 'camunda:modelerTemplateVersion': newTemplate && newTemplate.version\n });\n};\n\n/**\n * Update `camunda:Property` properties of specified business object. `camunda:Property` can only\n * exist in `camunda:Properties`.\n *\n * @param {djs.model.Base} element\n * @param {Object} oldTemplate\n * @param {Object} newTemplate\n * @param {ModdleElement} businessObject\n */\nChangeElementTemplateHandler.prototype._updateCamundaPropertyProperties = function(element, oldTemplate, newTemplate, businessObject) {\n var bpmnFactory = this._bpmnFactory,\n commandStack = this._commandStack;\n\n var newProperties = newTemplate.properties.filter(function(newProperty) {\n var newBinding = newProperty.binding,\n newBindingType = newBinding.type;\n\n return newBindingType === 'camunda:property';\n });\n\n // (1) Do not override old properties if no new properties specified\n if (!newProperties.length) {\n return;\n }\n\n if (businessObject) {\n businessObject = this._getOrCreateExtensionElements(businessObject);\n } else {\n businessObject = this._getOrCreateExtensionElements(element);\n }\n\n var camundaProperties = findExtension(businessObject, 'camunda:Properties');\n\n if (!camundaProperties) {\n camundaProperties = bpmnFactory.create('camunda:Properties');\n\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: businessObject,\n propertyName: 'values',\n objectsToAdd: [ camundaProperties ],\n objectsToRemove: []\n });\n }\n\n var oldCamundaProperties = camundaProperties.get('camunda:values')\n ? camundaProperties.get('camunda:values').slice()\n : [];\n\n newProperties.forEach(function(newProperty) {\n var oldProperty = findOldProperty(oldTemplate, newProperty),\n oldCamundaProperty = oldProperty && findOldBusinessObject(businessObject, oldProperty),\n newPropertyValue = newProperty.value,\n newBinding = newProperty.binding;\n\n // (2) Update old properties\n if (oldProperty && oldCamundaProperty) {\n\n if (!propertyChanged(oldCamundaProperty, oldProperty)) {\n commandStack.execute('properties-panel.update-businessobject', {\n element: element,\n businessObject: oldCamundaProperty,\n properties: {\n value: newPropertyValue\n }\n });\n }\n\n remove(oldCamundaProperties, oldCamundaProperty);\n }\n\n // (3) Add new properties\n else {\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: camundaProperties,\n propertyName: 'values',\n objectsToAdd: [ createCamundaProperty(newBinding, newPropertyValue, bpmnFactory) ],\n objectsToRemove: []\n });\n }\n });\n\n // (4) Remove old properties\n if (oldCamundaProperties.length) {\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: camundaProperties,\n propertyName: 'values',\n objectsToAdd: [],\n objectsToRemove: oldCamundaProperties\n });\n }\n};\n\n/**\n * Update `bpmn:conditionExpression` property of specified element. Since condition expression is\n * is not primitive it needs special handling.\n *\n * @param {djs.model.Base} element\n * @param {Object} oldProperty\n * @param {Object} newProperty\n */\nChangeElementTemplateHandler.prototype._updateConditionExpression = function(element, oldProperty, newProperty) {\n var bpmnFactory = this._bpmnFactory,\n commandStack = this._commandStack,\n modeling = this._modeling;\n\n var newBinding = newProperty.binding,\n newPropertyValue = newProperty.value;\n\n if (!oldProperty) {\n modeling.updateProperties(element, {\n conditionExpression: bpmnFactory.create('bpmn:FormalExpression', {\n body: newPropertyValue,\n language: newBinding.scriptFormat\n })\n });\n\n return;\n }\n\n var oldBinding = oldProperty.binding,\n oldPropertyValue = oldProperty.value;\n\n var businessObject = getBusinessObject(element),\n conditionExpression = businessObject.get('bpmn:conditionExpression');\n\n var properties = {};\n\n if (conditionExpression.get('body') === oldPropertyValue) {\n properties.body = newPropertyValue;\n }\n\n if (conditionExpression.get('language') === oldBinding.scriptFormat) {\n properties.language = newBinding.scriptFormat;\n }\n\n if (!keys(properties).length) {\n return;\n }\n\n commandStack.execute('properties-panel.update-businessobject', {\n element: element,\n businessObject: conditionExpression,\n properties: properties\n });\n};\n\nChangeElementTemplateHandler.prototype._updateProperties = function(element, oldTemplate, newTemplate, businessObject) {\n var self = this;\n\n var commandStack = this._commandStack;\n\n var newProperties = newTemplate.properties.filter(function(newProperty) {\n var newBinding = newProperty.binding,\n newBindingType = newBinding.type;\n\n return newBindingType === 'property';\n });\n\n if (!newProperties.length) {\n return;\n }\n\n if (!businessObject) {\n businessObject = getBusinessObject(element);\n }\n\n newProperties.forEach(function(newProperty) {\n var oldProperty = findOldProperty(oldTemplate, newProperty),\n newBinding = newProperty.binding,\n newBindingName = newBinding.name,\n newPropertyValue = newProperty.value,\n changedElement,\n properties;\n\n if (newBindingName === 'conditionExpression') {\n self._updateConditionExpression(element, oldProperty, newProperty);\n } else {\n\n if (is(businessObject, 'bpmn:Error')) {\n changedElement = businessObject;\n } else {\n changedElement = element;\n }\n\n if (oldProperty && propertyChanged(changedElement, oldProperty)) {\n return;\n }\n\n properties = {};\n\n properties[ newBindingName ] = newPropertyValue;\n\n // Only one of `camunda:class`, `camunda:delegateExpression` and `camunda:expression` can be\n // set\n // TODO(philippfromme): ensuring only one of these properties is set at a time should be\n // implemented in a behavior and not in this handler and properties panel UI\n if (CAMUNDA_SERVICE_TASK_LIKE.indexOf(newBindingName) !== -1) {\n CAMUNDA_SERVICE_TASK_LIKE.forEach(function(camundaServiceTaskLikeProperty) {\n if (camundaServiceTaskLikeProperty !== newBindingName) {\n properties[ camundaServiceTaskLikeProperty ] = undefined;\n }\n });\n }\n\n commandStack.execute('properties-panel.update-businessobject', {\n element: element,\n businessObject: businessObject,\n properties: properties\n });\n }\n });\n};\n\n/**\n * Update properties for a specified scope.\n *\n * @param {djs.model.Base} element\n * @param {Object} oldTemplate\n * @param {Object} newScopeTemplate\n * @param {Object} newTemplate\n */\nChangeElementTemplateHandler.prototype._updateScopeProperties = function(element, oldTemplate, newScopeTemplate, newTemplate) {\n var bpmnFactory = this._bpmnFactory,\n commandStack = this._commandStack;\n\n var scopeName = newScopeTemplate.type;\n\n var scopeElement;\n\n scopeElement = findOldScopeElement(element, newScopeTemplate, newTemplate);\n\n if (!scopeElement) {\n\n scopeElement = bpmnFactory.create(scopeName);\n }\n\n var oldScopeTemplate = findOldScopeTemplate(newScopeTemplate, oldTemplate);\n\n // Update properties\n this._updateProperties(element, oldScopeTemplate, newScopeTemplate, scopeElement);\n\n // Update camunda:ExecutionListener properties\n this._updateCamundaExecutionListenerProperties(element, newScopeTemplate);\n\n // Update camunda:In and camunda:Out properties\n this._updateCamundaInOutProperties(element, oldScopeTemplate, newScopeTemplate);\n\n // Update camunda:InputParameter and camunda:OutputParameter properties\n this._updateCamundaInputOutputParameterProperties(element, oldScopeTemplate, newScopeTemplate, scopeElement);\n\n // Update camunda:Field properties\n this._updateCamundaFieldProperties(element, oldScopeTemplate, newScopeTemplate, scopeElement);\n\n // Update camunda:Property properties\n this._updateCamundaPropertyProperties(element, oldScopeTemplate, newScopeTemplate, scopeElement);\n\n // Assume: root elements were already been created in root by referenced event\n // definition binding\n if (isRootElementScope(scopeName)) {\n return;\n }\n\n var extensionElements = this._getOrCreateExtensionElements(element);\n\n commandStack.execute('properties-panel.update-businessobject-list', {\n element: element,\n currentObject: extensionElements,\n propertyName: 'values',\n objectsToAdd: [ scopeElement ],\n objectsToRemove: []\n });\n};\n\n// helpers //////////\n\n/**\n * Find old business object matching specified old property.\n *\n * @param {djs.model.Base|ModdleElement} element\n * @param {Object} oldProperty\n *\n * @returns {ModdleElement}\n */\nfunction findOldBusinessObject(element, oldProperty) {\n var businessObject = getBusinessObject(element),\n propertyName;\n\n var oldBinding = oldProperty.binding,\n oldBindingType = oldBinding.type;\n\n if (oldBindingType === 'camunda:field') {\n\n if (isAny(businessObject, [ 'camunda:ExecutionListener', 'camunda:TaskListener' ])) {\n propertyName = 'camunda:fields';\n } else {\n propertyName = 'bpmn:values';\n }\n\n if (!businessObject || !businessObject.get(propertyName) || !businessObject.get(propertyName).length) {\n return;\n }\n\n return find(businessObject.get(propertyName), function(oldBusinessObject) {\n return oldBusinessObject.get('camunda:name') === oldBinding.name;\n });\n }\n\n if (oldBindingType === 'camunda:in') {\n return find(businessObject.get('values'), function(oldBusinessObject) {\n return oldBusinessObject.get('target') === oldBinding.target;\n });\n }\n\n if (oldBindingType === 'camunda:in:businessKey') {\n return find(businessObject.get('values'), function(oldBusinessObject) {\n return isString(oldBusinessObject.get('businessKey'));\n });\n }\n\n if (oldBindingType === 'camunda:out') {\n return find(businessObject.get('values'), function(oldBusinessObject) {\n return oldBusinessObject.get('source') === oldBinding.source ||\n oldBusinessObject.get('sourceExpression') || oldBinding.sourceExpression;\n });\n }\n\n if (oldBindingType === 'camunda:inputParameter' || oldBindingType === 'camunda:outputParameter') {\n\n if (is(businessObject, 'camunda:Connector')) {\n businessObject = businessObject.get('camunda:inputOutput');\n\n if (!businessObject) {\n return;\n }\n } else {\n businessObject = findExtension(businessObject, 'camunda:InputOutput');\n\n if (!businessObject) {\n return;\n }\n }\n\n if (oldBindingType === 'camunda:inputParameter') {\n return find(businessObject.get('camunda:inputParameters'), function(oldBusinessObject) {\n return oldBusinessObject.get('camunda:name') === oldBinding.name;\n });\n } else {\n return find(businessObject.get('camunda:outputParameters'), function(oldBusinessObject) {\n var definition;\n\n if (oldBinding.scriptFormat) {\n definition = oldBusinessObject.get('camunda:definition');\n\n return definition && definition.get('camunda:value') === oldBinding.source;\n } else {\n return oldBusinessObject.get('camunda:value') === oldBinding.source;\n }\n });\n }\n\n }\n\n if (oldBindingType === 'camunda:property') {\n if (!businessObject || !businessObject.get('values') || !businessObject.get('values').length) {\n return;\n }\n\n businessObject = findExtension(businessObject, 'camunda:Properties');\n\n if (!businessObject) {\n return;\n }\n\n return find(businessObject.get('values'), function(oldBusinessObject) {\n return oldBusinessObject.get('camunda:name') === oldBinding.name;\n });\n }\n\n if (oldBindingType === 'camunda:errorEventDefinition') {\n return findCamundaErrorEventDefinition(element, oldBinding.errorRef);\n }\n}\n\n/**\n * Find old property matching specified new property.\n *\n * @param {Object} oldTemplate\n * @param {Object} newProperty\n *\n * @returns {Object}\n */\nfunction findOldProperty(oldTemplate, newProperty) {\n if (!oldTemplate) {\n return;\n }\n\n var oldProperties = oldTemplate.properties,\n newBinding = newProperty.binding,\n newBindingName = newBinding.name,\n newBindingType = newBinding.type;\n\n if (newBindingType === 'property') {\n return find(oldProperties, function(oldProperty) {\n var oldBinding = oldProperty.binding,\n oldBindingName = oldBinding.name,\n oldBindingType = oldBinding.type;\n\n return oldBindingType === 'property' && oldBindingName === newBindingName;\n });\n }\n\n if (newBindingType === 'camunda:field') {\n return find(oldProperties, function(oldProperty) {\n var oldBinding = oldProperty.binding,\n oldBindingName = oldBinding.name,\n oldBindingType = oldBinding.type;\n\n return oldBindingType === 'camunda:field' && oldBindingName === newBindingName;\n });\n }\n\n if (newBindingType === 'camunda:in') {\n return find(oldProperties, function(oldProperty) {\n var oldBinding = oldProperty.binding,\n oldBindingType = oldBinding.type;\n\n if (oldBindingType !== 'camunda:in') {\n return;\n }\n\n // Always override if change from source to source expression or vice versa\n if ((oldBinding.expression && !newBinding.expression) ||\n !oldBinding.expression && newBinding.expression) {\n return;\n }\n\n return oldBinding.target === newBinding.target;\n });\n }\n\n if (newBindingType === 'camunda:in:businessKey') {\n return find(oldProperties, function(oldProperty) {\n var oldBinding = oldProperty.binding,\n oldBindingType = oldBinding.type;\n\n return oldBindingType === 'camunda:in:businessKey';\n });\n }\n\n if (newBindingType === 'camunda:out') {\n return find(oldProperties, function(oldProperty) {\n var oldBinding = oldProperty.binding,\n oldBindingType = oldBinding.type;\n\n return oldBindingType === 'camunda:out' && (\n oldBinding.source === newBinding.source ||\n oldBinding.sourceExpression === newBinding.sourceExpression\n );\n });\n }\n\n if (newBindingType === 'camunda:inputParameter') {\n return find(oldProperties, function(oldProperty) {\n var oldBinding = oldProperty.binding,\n oldBindingName = oldBinding.name,\n oldBindingType = oldBinding.type;\n\n if (oldBindingType !== 'camunda:inputParameter') {\n return;\n }\n\n return oldBindingName === newBindingName\n && oldBinding.scriptFormat === newBinding.scriptFormat;\n });\n }\n\n if (newBindingType === 'camunda:outputParameter') {\n return find(oldProperties, function(oldProperty) {\n var oldBinding = oldProperty.binding,\n oldBindingType = oldBinding.type;\n\n if (oldBindingType !== 'camunda:outputParameter') {\n return;\n }\n\n return oldBinding.source === newBinding.source\n && oldBinding.scriptFormat === newBinding.scriptFormat;\n });\n }\n\n if (newBindingType === 'camunda:property') {\n return find(oldProperties, function(oldProperty) {\n var oldBinding = oldProperty.binding,\n oldBindingName = oldBinding.name,\n oldBindingType = oldBinding.type;\n\n return oldBindingType === 'camunda:property' && oldBindingName === newBindingName;\n });\n }\n\n if (newBindingType === 'camunda:errorEventDefinition') {\n return find(oldProperties, function(oldProperty) {\n var newBindingRef = newBinding.errorRef,\n oldBinding = oldProperty.binding,\n oldBindingRef = oldBinding.errorRef,\n oldBindingType = oldBinding.type;\n\n return oldBindingType === 'camunda:errorEventDefinition'\n && oldBindingRef === newBindingRef;\n });\n }\n}\n\nfunction findOldScopeElement(element, scopeTemplate, template) {\n var scopeName = scopeTemplate.type,\n id = scopeTemplate.id;\n\n if (scopeName === 'camunda:Connector') {\n return findExtension(element, 'camunda:Connector');\n }\n\n if (scopeName === 'bpmn:Error') {\n\n // (1) find by error event definition binding\n var errorEventDefinitionBinding = findErrorEventDefinitionBinding(template, id);\n\n if (!errorEventDefinitionBinding) {\n return;\n }\n\n // (2) find error event definition\n var errorEventDefinition = findOldBusinessObject(element, errorEventDefinitionBinding);\n\n if (!errorEventDefinition) {\n return;\n }\n\n // (3) retrieve referenced error\n return errorEventDefinition.errorRef;\n }\n}\n\nfunction isRootElementScope(scopeName) {\n return [ 'bpmn:Error' ].includes(scopeName);\n}\n\nfunction findOldScopeTemplate(scopeTemplate, oldTemplate) {\n var scopeName = scopeTemplate.type,\n scopeId = scopeTemplate.id,\n scopes = oldTemplate && handleLegacyScopes(oldTemplate.scopes);\n\n return scopes && find(scopes, function(scope) {\n\n if (isRootElementScope(scopeName)) {\n return scope.id === scopeId;\n }\n\n return scope.type === scopeName;\n });\n}\n\nfunction findErrorEventDefinitionBinding(template, templateErrorId) {\n return find(template.properties, function(property) {\n return property.binding.errorRef === templateErrorId;\n });\n}\n\n/**\n * Check whether property was changed after being set by template.\n *\n * @param {djs.model.Base|ModdleElement} element\n * @param {Object} oldProperty\n *\n * @returns {boolean}\n */\nfunction propertyChanged(element, oldProperty) {\n var businessObject = getBusinessObject(element);\n\n var oldBinding = oldProperty.binding,\n oldBindingName = oldBinding.name,\n oldBindingType = oldBinding.type,\n oldPropertyValue = oldProperty.value,\n conditionExpression,\n definition;\n\n if (oldBindingType === 'property') {\n if (oldBindingName === 'conditionExpression') {\n conditionExpression = businessObject.get('bpmn:conditionExpression');\n\n return conditionExpression.get('bpmn:body') !== oldPropertyValue;\n }\n\n return businessObject.get(oldBindingName) !== oldPropertyValue;\n }\n\n if (oldBindingType === 'camunda:field') {\n return businessObject.get('camunda:string') !== oldPropertyValue;\n }\n\n if (oldBindingType === 'camunda:in') {\n if (oldBinding.expression) {\n return businessObject.get('sourceExpression') !== oldPropertyValue;\n } else {\n return businessObject.get('camunda:source') !== oldPropertyValue;\n }\n }\n\n if (oldBindingType === 'camunda:in:businessKey') {\n return businessObject.get('camunda:businessKey') !== oldPropertyValue;\n }\n\n if (oldBindingType === 'camunda:out') {\n return businessObject.get('camunda:target') !== oldPropertyValue;\n }\n\n if (oldBindingType === 'camunda:inputParameter') {\n if (oldBinding.scriptFormat) {\n definition = businessObject.get('camunda:definition');\n\n return definition && definition.get('camunda:value') !== oldPropertyValue;\n } else {\n return businessObject.get('camunda:value') !== oldPropertyValue;\n }\n }\n\n if (oldBindingType === 'camunda:outputParameter') {\n return businessObject.get('camunda:name') !== oldPropertyValue;\n }\n\n if (oldBindingType === 'camunda:property') {\n return businessObject.get('camunda:value') !== oldPropertyValue;\n }\n\n if (oldBindingType === 'camunda:errorEventDefinition') {\n return businessObject.get('expression') !== oldPropertyValue;\n }\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/cmd/ChangeElementTemplateHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/cmd/index.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/cmd/index.js ***!
\***************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar ChangeElementTemplateHandler = __webpack_require__(/*! ./ChangeElementTemplateHandler */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/cmd/ChangeElementTemplateHandler.js\");\n\nfunction registerHandlers(commandStack, elementTemplates, eventBus) {\n commandStack.registerHandler(\n 'propertiesPanel.camunda.changeTemplate',\n ChangeElementTemplateHandler\n );\n\n // apply default element templates on shape creation\n eventBus.on([ 'commandStack.shape.create.postExecuted' ], function(context) {\n applyDefaultTemplate(context.context.shape, elementTemplates, commandStack);\n });\n\n // apply default element templates on connection creation\n eventBus.on([ 'commandStack.connection.create.postExecuted' ], function(context) {\n applyDefaultTemplate(context.context.connection, elementTemplates, commandStack);\n });\n}\n\nregisterHandlers.$inject = [ 'commandStack', 'elementTemplates', 'eventBus' ];\n\n\nmodule.exports = {\n __init__: [ registerHandlers ]\n};\n\n\nfunction applyDefaultTemplate(element, elementTemplates, commandStack) {\n\n if (!elementTemplates.get(element) && elementTemplates.getDefault(element)) {\n\n var command = 'propertiesPanel.camunda.changeTemplate';\n var commandContext = {\n element: element,\n newTemplate: elementTemplates.getDefault(element)\n };\n\n commandStack.execute(command, commandContext);\n }\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/cmd/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/index.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/index.js ***!
\***********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("module.exports = {\n __depends__: [\n __webpack_require__(/*! ./cmd */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/cmd/index.js\"),\n __webpack_require__(/*! diagram-js/lib/i18n/translate */ \"./node_modules/diagram-js/lib/i18n/translate/index.js\").default\n ],\n __init__: [\n 'customElementsPropertiesActivator',\n 'elementTemplatesLoader',\n 'replaceBehavior'\n ],\n customElementsPropertiesActivator: [ 'type', __webpack_require__(/*! ./CustomElementsPropertiesActivator */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CustomElementsPropertiesActivator.js\") ],\n elementTemplates: [ 'type', __webpack_require__(/*! ./ElementTemplates */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ElementTemplates.js\") ],\n elementTemplatesLoader: [ 'type', __webpack_require__(/*! ./ElementTemplatesLoader */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ElementTemplatesLoader.js\") ],\n replaceBehavior: [ 'type', __webpack_require__(/*! ./ReplaceBehavior */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/ReplaceBehavior.js\") ],\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/ChooserProps.js":
/*!************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/ChooserProps.js ***!
\************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar getOption = __webpack_require__(/*! ./Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/Helper.js\").getOption,\n getOptions = __webpack_require__(/*! ./Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/Helper.js\").getOptions,\n getTemplateId = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").getTemplateId,\n ELEMENT_TEMPLATE_OPTION_EMPTY = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").ELEMENT_TEMPLATE_OPTION_EMPTY;\n\nvar isNull = __webpack_require__(/*! lodash/isNull */ \"./node_modules/lodash/isNull.js\"),\n isUndefined = __webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"),\n pick = __webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\");\n\nmodule.exports = function(group, element, elementTemplates, translate) {\n if (!isUndefined(getTemplateId(element)) && !isNull(getTemplateId(element))) {\n return;\n }\n\n var options = getOptions(element, elementTemplates, translate);\n\n // Return if empty option is only option\n if (options.length === 1) {\n return;\n }\n\n var selectOptions = options.map(function(option) {\n return pick(option, [ 'name', 'value' ]);\n });\n\n // select element template (via dropdown)\n group.entries.push(entryFactory.selectBox(translate, {\n id: 'elementTemplate-chooser',\n label: translate('Element Template'),\n modelProperty: 'elementTemplateOption',\n selectOptions: selectOptions,\n get: function(element) {\n return {\n elementTemplateOption: ELEMENT_TEMPLATE_OPTION_EMPTY\n };\n },\n set: function(element, properties) {\n var optionId = properties['elementTemplateOption'];\n\n var option = getOption(optionId, options);\n\n var id = option.id,\n version = option.version;\n\n var newTemplate = elementTemplates.get(id, version);\n\n return applyTemplate(element, newTemplate, elementTemplates);\n }\n }));\n\n};\n\n\n// helpers //////////\n\nfunction applyTemplate(element, newTemplate, elementTemplates) {\n var oldTemplate = elementTemplates.get(element);\n\n if (oldTemplate === newTemplate) {\n return;\n }\n\n return {\n cmd: 'propertiesPanel.camunda.changeTemplate',\n context: {\n element: element,\n oldTemplate: oldTemplate,\n newTemplate: newTemplate\n }\n };\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/ChooserProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/CustomProps.js":
/*!***********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/CustomProps.js ***!
\***********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\");\n\nvar findExtension = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findExtension,\n findExtensions = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findExtensions,\n findInputParameter = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findInputParameter,\n findOutputParameter = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findOutputParameter,\n findCamundaProperty = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findCamundaProperty,\n findCamundaInOut = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findCamundaInOut,\n findCamundaErrorEventDefinition = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findCamundaErrorEventDefinition;\n\nvar createCamundaProperty = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaProperty,\n createInputParameter = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createInputParameter,\n createOutputParameter = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createOutputParameter,\n createCamundaIn = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaIn,\n createCamundaOut = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaOut,\n createCamundaInWithBusinessKey = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaInWithBusinessKey,\n createCamundaFieldInjection = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaFieldInjection,\n createCamundaErrorEventDefinition = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createCamundaErrorEventDefinition,\n createError = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createError;\n\nvar handleLegacyScopes = __webpack_require__(/*! ../util/handleLegacyScopes */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/util/handleLegacyScopes.js\");\n\nvar getRoot = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").getRoot;\n\nvar PROPERTY_TYPE = 'property',\n CAMUNDA_PROPERTY_TYPE = 'camunda:property',\n CAMUNDA_INPUT_PARAMETER_TYPE = 'camunda:inputParameter',\n CAMUNDA_OUTPUT_PARAMETER_TYPE = 'camunda:outputParameter',\n CAMUNDA_IN_TYPE = 'camunda:in',\n CAMUNDA_OUT_TYPE = 'camunda:out',\n CAMUNDA_IN_BUSINESS_KEY_TYPE = 'camunda:in:businessKey',\n CAMUNDA_EXECUTION_LISTENER_TYPE = 'camunda:executionListener',\n CAMUNDA_FIELD = 'camunda:field',\n CAMUNDA_ERROR_EVENT_DEFINITION = 'camunda:errorEventDefinition';\n\nvar BASIC_MODDLE_TYPES = [\n 'Boolean',\n 'Integer',\n 'String'\n];\n\nvar EXTENSION_BINDING_TYPES = [\n CAMUNDA_PROPERTY_TYPE,\n CAMUNDA_INPUT_PARAMETER_TYPE,\n CAMUNDA_OUTPUT_PARAMETER_TYPE,\n CAMUNDA_IN_TYPE,\n CAMUNDA_OUT_TYPE,\n CAMUNDA_IN_BUSINESS_KEY_TYPE,\n CAMUNDA_FIELD,\n CAMUNDA_ERROR_EVENT_DEFINITION\n];\n\nvar IO_BINDING_TYPES = [\n CAMUNDA_INPUT_PARAMETER_TYPE,\n CAMUNDA_OUTPUT_PARAMETER_TYPE\n];\n\nvar IN_OUT_BINDING_TYPES = [\n CAMUNDA_IN_TYPE,\n CAMUNDA_OUT_TYPE,\n CAMUNDA_IN_BUSINESS_KEY_TYPE\n];\n\n/**\n * Injects custom properties into the given group.\n *\n * @param {djs.model.Base} element\n * @param {ElementTemplates} elementTemplates\n * @param {BpmnFactory} bpmnFactory\n * @param {Function} translate\n */\nmodule.exports = function(element, elementTemplates, bpmnFactory, translate) {\n\n var template = elementTemplates.get(element);\n\n if (!template) {\n return [];\n }\n\n var renderCustomField = function(id, p, idx) {\n var propertyType = p.type;\n\n var entryOptions = {\n id: id,\n description: p.description,\n label: p.label ? translate(p.label) : p.label,\n modelProperty: id,\n get: propertyGetter(id, p),\n set: propertySetter(id, p, bpmnFactory),\n validate: propertyValidator(id, p, translate)\n };\n\n var entry;\n\n if (!propertyType) {\n propertyType = getDefaultType(p);\n }\n\n if (propertyType === 'Boolean') {\n entry = entryFactory.checkbox(translate, entryOptions);\n }\n\n if (propertyType === 'String') {\n entry = entryFactory.textField(translate, entryOptions);\n }\n\n if (propertyType === 'Text') {\n entry = entryFactory.textBox(translate, entryOptions);\n }\n\n if (propertyType === 'Dropdown') {\n entryOptions.selectOptions = p.choices;\n\n entry = entryFactory.selectBox(translate, entryOptions);\n }\n\n return entry;\n };\n\n var groups = [];\n var id, entry;\n\n var customFieldsGroup = {\n id: 'customField',\n label: translate('Custom Fields'),\n entries: []\n };\n template.properties.forEach(function(p, idx) {\n\n id = 'custom-' + template.id + '-' + idx;\n\n entry = renderCustomField(id, p, idx);\n if (entry) {\n customFieldsGroup.entries.push(entry);\n }\n });\n if (customFieldsGroup.entries.length > 0) {\n groups.push(customFieldsGroup);\n }\n\n if (template.scopes) {\n\n handleLegacyScopes(template.scopes).forEach(function(scope) {\n\n var scopeType = scope.type;\n\n var idScopeName = scopeType.replace(/:/g, '_');\n\n var customScopeFieldsGroup = {\n id: 'customField-' + idScopeName,\n label: translate('Custom Fields for scope: ') + scopeType,\n entries: []\n };\n\n scope.properties.forEach(function(p, idx) {\n\n var propertyId = 'custom-' + template.id + '-' + idScopeName + '-' + idx;\n\n var scopedProperty = propertyWithScope(p, scope);\n\n entry = renderCustomField(propertyId, scopedProperty, idx);\n if (entry) {\n customScopeFieldsGroup.entries.push(entry);\n }\n });\n\n if (customScopeFieldsGroup.entries.length > 0) {\n groups.push(customScopeFieldsGroup);\n }\n });\n }\n\n return groups;\n};\n\n\n// getters, setters and validators ///////////////\n\n\n/**\n * Return a getter that retrieves the given property.\n *\n * @param {String} name\n * @param {PropertyDescriptor} property\n *\n * @return {Function}\n */\nfunction propertyGetter(name, property) {\n\n /* getter */\n return function get(element) {\n var value = getPropertyValue(element, property);\n\n return objectWithKey(name, value);\n };\n}\n\n/**\n * Return a setter that updates the given property.\n *\n * @param {String} name\n * @param {PropertyDescriptor} property\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {Function}\n */\nfunction propertySetter(name, property, bpmnFactory) {\n\n /* setter */\n return function set(element, values) {\n\n var value = values[name];\n\n return setPropertyValue(element, property, value, bpmnFactory);\n };\n}\n\n/**\n * Return a validator that ensures the property is ok.\n *\n * @param {String} name\n * @param {PropertyDescriptor} property\n * @param {Function} translate\n *\n * @return {Function}\n */\nfunction propertyValidator(name, property, translate) {\n\n /* validator */\n return function validate(element, values) {\n var value = values[name];\n\n var error = validateValue(value, property, translate);\n\n if (error) {\n return objectWithKey(name, error);\n }\n };\n}\n\n\n// get, set and validate helpers ///////////////////\n\n/**\n * Return the value of the specified property descriptor,\n * on the passed diagram element.\n *\n * @param {djs.model.Base} element\n * @param {PropertyDescriptor} property\n *\n * @return {Any}\n */\nfunction getPropertyValue(element, property) {\n\n var bo = getBusinessObject(element);\n\n var binding = property.binding,\n scope = property.scope;\n\n var bindingType = binding.type,\n bindingName = binding.name;\n\n var propertyValue = property.value || '';\n\n if (scope) {\n bo = findScopeElement(bo, scope);\n if (!bo) {\n return propertyValue;\n }\n }\n\n // property\n if (bindingType === 'property') {\n\n var value = bo.get(bindingName);\n\n if (bindingName === 'conditionExpression') {\n if (value) {\n return value.body;\n } else {\n\n // return defined default\n return propertyValue;\n }\n } else {\n\n // return value; default to defined default\n return typeof value !== 'undefined' ? value : propertyValue;\n }\n }\n\n var camundaProperties,\n camundaProperty;\n\n if (bindingType === CAMUNDA_PROPERTY_TYPE) {\n if (scope) {\n camundaProperties = bo.get('properties');\n } else {\n camundaProperties = findExtension(bo, 'camunda:Properties');\n }\n\n if (camundaProperties) {\n camundaProperty = findCamundaProperty(camundaProperties, binding);\n\n if (camundaProperty) {\n return camundaProperty.value;\n }\n }\n\n return propertyValue;\n }\n\n var inputOutput,\n ioParameter;\n\n if (IO_BINDING_TYPES.indexOf(bindingType) !== -1) {\n\n if (scope) {\n inputOutput = bo.get('inputOutput');\n } else {\n inputOutput = findExtension(bo, 'camunda:InputOutput');\n }\n\n if (!inputOutput) {\n\n // ioParameter cannot exist yet, return property value\n return propertyValue;\n }\n }\n\n // camunda input parameter\n if (bindingType === CAMUNDA_INPUT_PARAMETER_TYPE) {\n ioParameter = findInputParameter(inputOutput, binding);\n\n if (ioParameter) {\n if (binding.scriptFormat) {\n if (ioParameter.definition) {\n return ioParameter.definition.value;\n }\n } else {\n return ioParameter.value || '';\n }\n }\n\n return propertyValue;\n }\n\n // camunda output parameter\n if (binding.type === CAMUNDA_OUTPUT_PARAMETER_TYPE) {\n ioParameter = findOutputParameter(inputOutput, binding);\n\n if (ioParameter) {\n return ioParameter.name;\n }\n\n return propertyValue;\n }\n\n\n var ioElement;\n\n if (IN_OUT_BINDING_TYPES.indexOf(bindingType) != -1) {\n ioElement = findCamundaInOut(bo, binding);\n\n if (ioElement) {\n if (bindingType === CAMUNDA_IN_BUSINESS_KEY_TYPE) {\n return ioElement.businessKey;\n } else\n if (bindingType === CAMUNDA_OUT_TYPE) {\n return ioElement.target;\n } else\n if (bindingType === CAMUNDA_IN_TYPE) {\n return ioElement[binding.expression ? 'sourceExpression' : 'source'];\n }\n }\n\n return propertyValue;\n }\n\n if (bindingType === CAMUNDA_EXECUTION_LISTENER_TYPE) {\n var executionListener;\n if (scope) {\n executionListener = bo.get('executionListener');\n } else {\n executionListener = findExtension(bo, 'camunda:ExecutionListener');\n }\n\n return executionListener.script.value;\n }\n\n var fieldInjection;\n if (CAMUNDA_FIELD === bindingType) {\n var fieldInjections = findExtensions(bo, [ 'camunda:Field' ]);\n fieldInjections.forEach(function(item) {\n if (item.name === binding.name) {\n fieldInjection = item;\n }\n });\n if (fieldInjection) {\n return fieldInjection.string || fieldInjection.expression;\n } else {\n return '';\n }\n }\n\n var errorEventDefinition;\n if (CAMUNDA_ERROR_EVENT_DEFINITION === bindingType) {\n errorEventDefinition = findCamundaErrorEventDefinition(bo, binding.errorRef);\n\n if (errorEventDefinition) {\n return errorEventDefinition.expression;\n } else {\n return '';\n }\n }\n\n throw unknownPropertyBinding(property);\n}\n\nmodule.exports.getPropertyValue = getPropertyValue;\n\n\n/**\n * Return an update operation that changes the diagram\n * element's custom property to the given value.\n *\n * The response of this method will be processed via\n * {@link PropertiesPanel#applyChanges}.\n *\n * @param {djs.model.Base} element\n * @param {PropertyDescriptor} property\n * @param {String} value\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {Object|Array} results to be processed\n */\nfunction setPropertyValue(element, property, value, bpmnFactory) {\n var bo = getBusinessObject(element);\n\n var binding = property.binding,\n scope = property.scope;\n\n var bindingType = binding.type,\n bindingName = binding.name;\n\n var rootElement = getRoot(bo);\n\n var propertyValue;\n\n var updates = [];\n\n var extensionElements;\n\n if (EXTENSION_BINDING_TYPES.indexOf(bindingType) !== -1) {\n extensionElements = bo.get('extensionElements');\n\n // create extension elements, if they do not exist (yet)\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', null, element, bpmnFactory);\n\n updates.push(cmdHelper.updateBusinessObject(\n element, bo, objectWithKey('extensionElements', extensionElements)\n ));\n }\n }\n\n if (scope) {\n bo = findScopeElement(bo, scope);\n if (!bo) {\n\n // bpmn:Error\n if (scope.name === 'bpmn:Error') {\n bo = createError(scope.id, rootElement, bpmnFactory);\n\n updates.push(cmdHelper.addElementsTolist(\n bo, rootElement, 'rootElements', [ bo ]\n ));\n } else {\n bo = elementHelper.createElement(scope.name, null, element, bpmnFactory);\n\n updates.push(cmdHelper.addElementsTolist(\n bo, extensionElements, 'values', [ bo ]\n ));\n }\n }\n }\n\n // property\n if (bindingType === 'property') {\n\n if (bindingName === 'conditionExpression') {\n\n propertyValue = elementHelper.createElement('bpmn:FormalExpression', {\n body: value,\n language: binding.scriptFormat\n }, bo, bpmnFactory);\n } else {\n\n var moddlePropertyDescriptor = bo.$descriptor.propertiesByName[bindingName];\n\n var moddleType = moddlePropertyDescriptor.type;\n\n // make sure we only update String, Integer, Real and\n // Boolean properties (do not accidentally override complex objects...)\n if (BASIC_MODDLE_TYPES.indexOf(moddleType) === -1) {\n throw new Error('cannot set moddle type <' + moddleType + '>');\n }\n\n if (moddleType === 'Boolean') {\n propertyValue = !!value;\n } else\n if (moddleType === 'Integer') {\n propertyValue = parseInt(value, 10);\n\n if (isNaN(propertyValue)) {\n\n // do not write NaN value\n propertyValue = undefined;\n }\n } else {\n propertyValue = value;\n }\n }\n\n if (propertyValue !== undefined) {\n updates.push(cmdHelper.updateBusinessObject(\n element, bo, objectWithKey(bindingName, propertyValue)\n ));\n }\n }\n\n // camunda:property\n var camundaProperties,\n existingCamundaProperty,\n newCamundaProperty;\n\n if (bindingType === CAMUNDA_PROPERTY_TYPE) {\n\n if (scope) {\n camundaProperties = bo.get('properties');\n } else {\n camundaProperties = findExtension(extensionElements, 'camunda:Properties');\n }\n\n if (!camundaProperties) {\n camundaProperties = elementHelper.createElement('camunda:Properties', null, bo, bpmnFactory);\n\n if (scope) {\n updates.push(cmdHelper.updateBusinessObject(\n element, bo, { properties: camundaProperties }\n ));\n }\n else {\n updates.push(cmdHelper.addElementsTolist(\n element, extensionElements, 'values', [ camundaProperties ]\n ));\n }\n }\n\n existingCamundaProperty = findCamundaProperty(camundaProperties, binding);\n\n newCamundaProperty = createCamundaProperty(binding, value, bpmnFactory);\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n camundaProperties,\n 'values',\n null,\n [ newCamundaProperty ],\n existingCamundaProperty ? [ existingCamundaProperty ] : []\n ));\n }\n\n // camunda:inputParameter\n // camunda:outputParameter\n var inputOutput,\n existingIoParameter,\n newIoParameter;\n\n if (IO_BINDING_TYPES.indexOf(bindingType) !== -1) {\n\n if (scope) {\n inputOutput = bo.get('inputOutput');\n } else {\n inputOutput = findExtension(extensionElements, 'camunda:InputOutput');\n }\n\n // create inputOutput element, if it do not exist (yet)\n if (!inputOutput) {\n inputOutput = elementHelper.createElement('camunda:InputOutput', null, bo, bpmnFactory);\n\n if (scope) {\n updates.push(cmdHelper.updateBusinessObject(\n element, bo, { inputOutput: inputOutput }\n ));\n }\n else {\n updates.push(cmdHelper.addElementsTolist(\n element, extensionElements, 'values', inputOutput\n ));\n }\n }\n }\n\n if (bindingType === CAMUNDA_INPUT_PARAMETER_TYPE) {\n\n existingIoParameter = findInputParameter(inputOutput, binding);\n\n newIoParameter = createInputParameter(binding, value, bpmnFactory);\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n inputOutput,\n 'inputParameters',\n null,\n [ newIoParameter ],\n existingIoParameter ? [ existingIoParameter ] : []\n ));\n }\n\n if (bindingType === CAMUNDA_OUTPUT_PARAMETER_TYPE) {\n\n existingIoParameter = findOutputParameter(inputOutput, binding);\n\n newIoParameter = createOutputParameter(binding, value, bpmnFactory);\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n inputOutput,\n 'outputParameters',\n null,\n [ newIoParameter ],\n existingIoParameter ? [ existingIoParameter ] : []\n ));\n }\n\n\n // camunda:in\n // camunda:out\n // camunda:in:businessKey\n var existingInOut,\n newInOut;\n\n if (IN_OUT_BINDING_TYPES.indexOf(bindingType) !== -1) {\n\n existingInOut = findCamundaInOut(bo, binding);\n\n if (bindingType === CAMUNDA_IN_TYPE) {\n newInOut = createCamundaIn(binding, value, bpmnFactory);\n } else\n if (bindingType === CAMUNDA_OUT_TYPE) {\n newInOut = createCamundaOut(binding, value, bpmnFactory);\n } else {\n newInOut = createCamundaInWithBusinessKey(binding, value, bpmnFactory);\n }\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n null,\n [ newInOut ],\n existingInOut ? [ existingInOut ] : []\n ));\n }\n\n if (bindingType === CAMUNDA_FIELD) {\n var existingFieldInjections = findExtensions(bo, [ 'camunda:Field' ]);\n var newFieldInjections = [];\n\n if (existingFieldInjections.length > 0) {\n existingFieldInjections.forEach(function(item) {\n if (item.name === binding.name) {\n newFieldInjections.push(createCamundaFieldInjection(binding, value, bpmnFactory));\n } else {\n newFieldInjections.push(item);\n }\n });\n } else {\n newFieldInjections.push(createCamundaFieldInjection(binding, value, bpmnFactory));\n }\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n null,\n newFieldInjections,\n existingFieldInjections ? existingFieldInjections : []\n ));\n }\n\n // camunda:errorEventDefinition\n if (bindingType === CAMUNDA_ERROR_EVENT_DEFINITION) {\n var existingErrorEventDefinition = findCamundaErrorEventDefinition(bo, binding.errorRef);\n\n if (existingErrorEventDefinition) {\n updates.push(cmdHelper.updateBusinessObject(\n element, existingErrorEventDefinition, { expression: value }\n ));\n } else {\n\n var newError = createError(binding.errorRef, rootElement, bpmnFactory),\n newEventDefinition =\n createCamundaErrorEventDefinition(binding, value, newError, extensionElements, bpmnFactory);\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n rootElement,\n 'rootElements',\n null,\n [ newError ],\n []\n ));\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n null,\n [ newEventDefinition ],\n []\n ));\n }\n\n }\n\n if (updates.length) {\n return updates;\n }\n\n // quick warning for better debugging\n console.warn('no update', element, property, value);\n}\n\nmodule.exports.setPropertyValue = setPropertyValue;\n\n/**\n * Validate value of a given property.\n *\n * @param {String} value\n * @param {PropertyDescriptor} property\n * @param {Function} translate\n *\n * @return {Object} with validation errors\n */\nfunction validateValue(value, property, translate) {\n\n var constraints = property.constraints || {};\n\n if (constraints.notEmpty && isEmpty(value)) {\n return translate('Must not be empty');\n }\n\n if (constraints.maxLength && value.length > constraints.maxLength) {\n return translate('Must have max length {length}', { length: constraints.maxLength });\n }\n\n if (constraints.minLength && value.length < constraints.minLength) {\n return translate('Must have min length {length}', { length: constraints.minLength });\n }\n\n var pattern = constraints.pattern,\n message;\n\n if (pattern) {\n\n if (typeof pattern !== 'string') {\n message = pattern.message;\n pattern = pattern.value;\n }\n\n if (!matchesPattern(value, pattern)) {\n return message || translate('Must match pattern {pattern}', { pattern: pattern });\n }\n }\n}\n\n\n// misc helpers ///////////////////////////////\n\nfunction propertyWithScope(property, scope) {\n var scopeName = scope.type,\n scopeId = scope.id;\n\n if (!scopeName) {\n return property;\n }\n\n return assign({}, property, {\n scope: {\n name: scopeName,\n id: scopeId\n }\n });\n}\n\n/**\n * Return an object with a single key -> value association.\n *\n * @param {String} key\n * @param {Any} value\n *\n * @return {Object}\n */\nfunction objectWithKey(key, value) {\n var obj = {};\n\n obj[key] = value;\n\n return obj;\n}\n\n/**\n * Does the given string match the specified pattern?\n *\n * @param {String} str\n * @param {String} pattern\n *\n * @return {Boolean}\n */\nfunction matchesPattern(str, pattern) {\n var regexp = new RegExp(pattern);\n\n return regexp.test(str);\n}\n\nfunction isEmpty(str) {\n return !str || /^\\s*$/.test(str);\n}\n\n/**\n * Create a new {@link Error} indicating an unknown\n * property binding.\n *\n * @param {PropertyDescriptor} property\n *\n * @return {Error}\n */\nfunction unknownPropertyBinding(property) {\n var binding = property.binding;\n\n return new Error('unknown binding: <' + binding.type + '>');\n}\n\nfunction getDefaultType(property) {\n var binding = property.binding,\n bindingType = binding.type;\n\n if (bindingType === PROPERTY_TYPE ||\n bindingType === CAMUNDA_PROPERTY_TYPE ||\n bindingType === CAMUNDA_IN_TYPE ||\n bindingType === CAMUNDA_IN_BUSINESS_KEY_TYPE ||\n bindingType === CAMUNDA_OUT_TYPE ||\n bindingType === CAMUNDA_FIELD) {\n return 'String';\n }\n\n if (bindingType === CAMUNDA_EXECUTION_LISTENER_TYPE) {\n return 'Hidden';\n }\n}\n\nfunction findScopeElement(businessObject, scope) {\n\n var scopeName = scope.name,\n scopeId = scope.id;\n\n if (scopeName === 'bpmn:Error') {\n\n // retrieve error over referenced error event definition\n var errorEventDefinition = findCamundaErrorEventDefinition(businessObject, scopeId);\n\n if (errorEventDefinition) {\n return errorEventDefinition.errorRef;\n }\n }\n\n return findExtension(businessObject, scopeName);\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/CustomProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/DescriptionProps.js":
/*!****************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/DescriptionProps.js ***!
\****************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("var escapeHTML = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\r\n\r\nvar getTemplateId = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").getTemplateId;\r\n\r\nvar domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes,\r\n domEvent = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").event,\r\n domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\r\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\r\n\r\nvar isUndefined = __webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\");\r\n\r\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\r\n\r\nvar getVersionOrDateFromTemplate = __webpack_require__(/*! ./Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/Helper.js\").getVersionOrDateFromTemplate;\r\n\r\nvar MAX_DESCRIPTION_LENGTH = 200;\r\n\r\nmodule.exports = function(\r\n element,\r\n commandStack,\r\n elementTemplates,\r\n modeling,\r\n replace,\r\n selection,\r\n translate) {\r\n var currentElementTemplate = elementTemplates.get(element);\r\n\r\n var entries = [];\r\n\r\n var description,\r\n newestElementTemplate;\r\n\r\n if (currentElementTemplate) {\r\n newestElementTemplate = findNewestElementTemplate(elementTemplates, currentElementTemplate);\r\n\r\n if (newestElementTemplate) {\r\n entries.push({\r\n id: 'element-template-update',\r\n cssClasses: [ 'bpp-entry--warning' ],\r\n html: createUpdateTemplateEntry(element, currentElementTemplate, newestElementTemplate, commandStack, translate)\r\n });\r\n }\r\n\r\n description = currentElementTemplate.description;\r\n\r\n if (description) {\r\n entries.push(createDescriptionEntry(description, translate));\r\n }\r\n } else {\r\n entries.push({\r\n id: 'element-template-not-found',\r\n cssClasses: [ 'bpp-entry--warning' ],\r\n html: createTemplateNotFoundEntry(element, modeling, translate)\r\n });\r\n }\r\n\r\n if (currentElementTemplate && currentElementTemplate.version) {\r\n entries.push({\r\n id: 'element-template-version',\r\n html: '' + getVersionOrDateFromTemplate(currentElementTemplate) + '
'\r\n });\r\n }\r\n\r\n return {\r\n id: 'elementTemplateDescription',\r\n label: currentElementTemplate ? currentElementTemplate.name : translate('Missing Template'),\r\n dropdown: {\r\n menu: [\r\n {\r\n id: 'element-template-unlink',\r\n label: translate('Unlink'),\r\n onClick: function() {\r\n modeling.updateProperties(element, {\r\n 'camunda:modelerTemplate': null,\r\n 'camunda:modelerTemplateVersion': null\r\n });\r\n }\r\n },\r\n {\r\n id: 'element-template-remove',\r\n label: translate('Remove'),\r\n onClick: function() {\r\n var businessObject = getBusinessObject(element);\r\n\r\n var type = businessObject.$type,\r\n eventDefinitionType = getEventDefinitionType(businessObject);\r\n\r\n var newElement = replace.replaceElement(element, {\r\n type: type,\r\n eventDefinitionType: eventDefinitionType\r\n });\r\n\r\n selection.select(newElement);\r\n }\r\n }\r\n ]\r\n },\r\n entries: entries\r\n };\r\n};\r\n\r\n// helpers //////////\r\n\r\nfunction createDescriptionEntry(description, translate) {\r\n description = escapeHTML(description);\r\n\r\n var html = domify('
');\r\n\r\n var descriptionText = domify('' + description + ' ');\r\n\r\n html.appendChild(descriptionText);\r\n\r\n function toggleExpanded(expanded) {\r\n if (expanded) {\r\n domClasses(html).add('description--expanded');\r\n\r\n descriptionText.textContent = description + ' ';\r\n\r\n expand.textContent = translate('Less');\r\n } else {\r\n domClasses(html).remove('description--expanded');\r\n\r\n descriptionText.textContent = descriptionShortened + ' ... ';\r\n\r\n expand.textContent = translate('More');\r\n }\r\n }\r\n\r\n var descriptionShortened,\r\n expand,\r\n expanded = false;\r\n\r\n if (description.length > MAX_DESCRIPTION_LENGTH) {\r\n descriptionShortened = description.slice(0, MAX_DESCRIPTION_LENGTH);\r\n\r\n expand = domify(\r\n '' +\r\n translate('More') +\r\n ' '\r\n );\r\n\r\n domEvent.bind(expand, 'click', function() {\r\n expanded = !expanded;\r\n\r\n toggleExpanded(expanded);\r\n });\r\n\r\n html.appendChild(expand);\r\n\r\n toggleExpanded(expanded);\r\n }\r\n\r\n return {\r\n id: 'element-template-description',\r\n html: html\r\n };\r\n}\r\n\r\nfunction getEventDefinitionType(businessObject) {\r\n if (!businessObject.eventDefinitions) {\r\n return null;\r\n }\r\n\r\n var eventDefinition = businessObject.eventDefinitions[ 0 ];\r\n\r\n if (!eventDefinition) {\r\n return null;\r\n }\r\n\r\n return eventDefinition.$type;\r\n}\r\n\r\nfunction createTemplateNotFoundEntry(element, modeling, translate) {\r\n var templateId = getTemplateId(element);\r\n\r\n var html = domify(\r\n '' +\r\n translate(\r\n 'The applied Template <{templateId}> was not found and therefore its data is not accessible.' +\r\n ' ' +\r\n ' ' +\r\n 'Unlink in order to access the data.', { templateId: templateId }\r\n ) +\r\n '
' +\r\n '' +\r\n 'Unlink ' +\r\n '
'\r\n );\r\n\r\n domQuery('.bpp-entry-link', html).addEventListener('click', function() {\r\n modeling.updateProperties(element, {\r\n 'camunda:modelerTemplate': null\r\n });\r\n });\r\n\r\n return html;\r\n}\r\n\r\nfunction createUpdateTemplateEntry(element, oldElementTemplate, newElementTemplate, commandStack, translate) {\r\n var newElementTemplateVersion = getVersionOrDateFromTemplate(newElementTemplate);\r\n\r\n var html = domify(\r\n '' +\r\n translate(\r\n 'A new version of the Template ({newElementTemplateVersion}) is available.',\r\n { newElementTemplateVersion: newElementTemplateVersion }\r\n ) +\r\n '
' +\r\n '' +\r\n 'Update ' +\r\n '
'\r\n );\r\n\r\n domQuery('.bpp-entry-link', html).addEventListener('click', function() {\r\n commandStack.execute('propertiesPanel.camunda.changeTemplate', {\r\n element: element,\r\n newTemplate: newElementTemplate,\r\n oldTemplate: oldElementTemplate\r\n });\r\n });\r\n\r\n return html;\r\n}\r\n\r\nfunction findNewestElementTemplate(elementTemplates, currentElementTemplate) {\r\n if (isUndefined(currentElementTemplate.version)) {\r\n return null;\r\n }\r\n\r\n return elementTemplates\r\n .getAll()\r\n .filter(function(elementTemplate) {\r\n return currentElementTemplate.id === elementTemplate.id && !isUndefined(elementTemplate.version);\r\n })\r\n .reduce(function(newestElementTemplate, elementTemplate) {\r\n if (currentElementTemplate.version < elementTemplate.version) {\r\n return elementTemplate;\r\n }\r\n\r\n if (newestElementTemplate && newestElementTemplate.version < elementTemplate.version) {\r\n return elementTemplate;\r\n }\r\n\r\n return newestElementTemplate;\r\n }, null);\r\n}\r\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/DescriptionProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/ErrorsProps.js":
/*!***********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/ErrorsProps.js ***!
\***********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar forEach = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").forEach,\n filter = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").filter,\n flatten = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").flatten,\n findIndex = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").findIndex;\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar findExtensions = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findExtensions,\n findCamundaErrorEventDefinition = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findCamundaErrorEventDefinition;\n\nvar ErrorEntries = __webpack_require__(/*! ../../parts/implementation/ErrorsEntries */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorsEntries.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar CAMUNDA_ERROR_EVENT_DEFINITION_TYPE = 'camunda:errorEventDefinition';\n\nvar EMPTY_ERROR = {\n get: function() {},\n set: function() {},\n errorRef: {}\n};\n\n/**\n * Injects element template errors into the given group.\n *\n * @param {Object} group\n * @param {djs.model.Base} element\n * @param {ElementTemplates} elementTemplates\n * @param {BpmnFactory} bpmnFactory\n * @param {Function} translate\n */\nmodule.exports = function(group, element, elementTemplates, bpmnFactory, translate) {\n var template = elementTemplates.get(element);\n\n if (!template) {\n return [];\n }\n\n var errorEntries = [];\n\n function onToggle(value, entryNode) {\n if (!value) {\n return;\n }\n\n var currentEntryId = entryNode.dataset.entry;\n\n // collapse all other items\n errorEntries.forEach(function(entries) {\n var collapsible = entries[0];\n\n if (collapsible.id === currentEntryId) {\n return;\n }\n\n var entryNode = domQuery('[data-entry=\"' + collapsible.id + '\"]');\n collapsible.setOpen(false, entryNode);\n });\n }\n\n\n function renderError(id, templateProperty) {\n var binding = templateProperty.binding,\n bindingErrorRef = binding.errorRef,\n errorEntries = [],\n collapsibleEntry;\n\n // find error event definition first\n var bo = getBusinessObject(element),\n errorEventDefinitions = findExtensions(bo, [ 'camunda:ErrorEventDefinition' ]);\n\n if (!errorEventDefinitions) {\n return errorEntries;\n }\n\n var getError = function() {\n var definition = findCamundaErrorEventDefinition(element, bindingErrorRef);\n\n if (!definition) {\n return EMPTY_ERROR;\n }\n\n return definition;\n };\n\n var error = getError();\n\n var isOpen = function() {\n return collapsibleEntry.isOpen();\n };\n\n var options = {\n idPrefix: id + '-',\n onToggle: onToggle,\n getError: getError,\n isOpen: function() {\n return isOpen();\n }\n };\n\n // (1) use errors implementation\n var errorImplementation = ErrorEntries(error, bpmnFactory, element, options, translate);\n errorEntries = errorImplementation.entries;\n\n var errorReferenceIdx = findEntry(errorEntries, id + '-error-reference');\n\n collapsibleEntry = errorEntries[findEntry(errorEntries, id + '-collapsible')];\n\n // (2) replace validated expression entry by a simple, disabled entry\n var expressionIdx = findEntry(errorEntries, id + '-error-expression');\n removeEntry(errorEntries, expressionIdx);\n\n var expressionEntry = entryFactory.textField(translate, {\n id: id + '-error-expression',\n label: translate('Throw Expression'),\n modelProperty: 'expression',\n\n get: function() {\n return { expression: getError().expression };\n },\n\n buttonShow: {\n method: function() {\n return false;\n }\n },\n\n hidden: function() {\n return !isOpen();\n },\n disabled: function() {\n return true;\n }\n });\n\n errorEntries.splice(expressionIdx, 0, expressionEntry);\n\n // (3) remove error selection\n removeEntry(errorEntries, errorReferenceIdx);\n\n return errorEntries;\n }\n\n // filter specific errors from template\n var errors = filter(template.properties, function(p) {\n return !p.type && p.binding.type === CAMUNDA_ERROR_EVENT_DEFINITION_TYPE;\n });\n\n forEach(errors, function(property, idx) {\n var id = 'template-errors-' + template.id + '-' + idx;\n errorEntries.push(renderError(id, property));\n });\n\n group.entries = group.entries.concat(flatten(errorEntries));\n};\n\n\n// helper //////////////////////////\n\nfunction findEntry(entries, id) {\n return findIndex(entries, function(entry) {\n return entry.id === id;\n });\n}\n\nfunction removeEntry(entries, idx) {\n entries.splice(idx, 1);\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/ErrorsProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/Helper.js":
/*!******************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/Helper.js ***!
\******************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\r\n\r\nvar find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\"),\r\n isUndefined = __webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\");\r\n\r\nvar isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny;\r\n\r\nvar ELEMENT_TEMPLATE_OPTION_EMPTY = 'element-template-option-empty';\r\n\r\nmodule.exports.ELEMENT_TEMPLATE_OPTION_EMPTY = ELEMENT_TEMPLATE_OPTION_EMPTY;\r\n\r\nvar emptyOption = {\r\n name: '',\r\n value: ELEMENT_TEMPLATE_OPTION_EMPTY\r\n};\r\n\r\n/**\r\n * Get options for given element and templates.\r\n *\r\n * @param {dj.model.Base} element\r\n * @param {ElementTemplates} elementTemplates\r\n * @param {Translate} translate\r\n */\r\nfunction getOptions(element, elementTemplates, translate) {\r\n var options = [ emptyOption ];\r\n\r\n var defaultTemplate = elementTemplates.getDefault(element);\r\n\r\n if (defaultTemplate) {\r\n options.push(option('element-template-option-0', defaultTemplate, translate));\r\n\r\n return options;\r\n }\r\n\r\n var index = 0;\r\n\r\n elementTemplates.getAll().forEach(function(template) {\r\n if (!isAny(element, template.appliesTo)) {\r\n return;\r\n }\r\n\r\n options.push(option('element-template-option-' + index, template, translate));\r\n\r\n index++;\r\n });\r\n\r\n return options;\r\n}\r\n\r\nmodule.exports.getOptions = getOptions;\r\n\r\nfunction getOption(optionId, options) {\r\n return find(options, function(option) {\r\n return optionId === option.value;\r\n });\r\n}\r\n\r\nmodule.exports.getOption = getOption;\r\n\r\nfunction option(value, template, translate) {\r\n var name = translate(template.name);\r\n\r\n if (template.version) {\r\n name += ' (v' + template.version + ')';\r\n }\r\n\r\n var option = {\r\n id: template.id,\r\n name: name,\r\n value: value\r\n };\r\n\r\n if (template.version) {\r\n option.version = template.version;\r\n }\r\n\r\n return option;\r\n}\r\n\r\nmodule.exports.getVersionOrDateFromTemplate = function(template) {\r\n var metadata = template.metadata,\r\n version = template.version;\r\n\r\n if (metadata) {\r\n if (!isUndefined(metadata.created)) {\r\n return 'Version ' + toDateString(metadata.created);\r\n } else if (!isUndefined(metadata.updated)) {\r\n return 'Version ' + toDateString(metadata.updated);\r\n }\r\n }\r\n\r\n if (isUndefined(version)) {\r\n return null;\r\n }\r\n\r\n return 'Version ' + version;\r\n};\r\n\r\nfunction toDateString(timestamp) {\r\n var date = new Date(timestamp);\r\n\r\n var year = date.getFullYear();\r\n\r\n var month = leftPad(String(date.getMonth() + 1), 2, '0');\r\n\r\n var day = leftPad(String(date.getDate()), 2, '0');\r\n\r\n return day + '.' + month + '.' + year;\r\n}\r\n\r\nfunction leftPad(string, length, character) {\r\n while (string.length < length) {\r\n string = character + string;\r\n }\r\n\r\n return string;\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/Helper.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/InputParametersProps.js":
/*!********************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/InputParametersProps.js ***!
\********************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar assign = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").assign,\n flatten = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").flatten,\n filter = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").filter,\n findIndex = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").findIndex,\n forEach = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").forEach;\n\nvar domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes,\n domEvent = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").event,\n domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar findExtension = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findExtension,\n findInputParameter = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findInputParameter;\n\nvar createInputParameter = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createInputParameter;\n\nvar escapeHTML = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\");\n\nvar InputOutputParameter = __webpack_require__(/*! ../../parts/implementation/InputOutputParameter */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputOutputParameter.js\");\n\nvar CAMUNDA_INPUT_PARAMETER_TYPE = 'camunda:inputParameter';\n\nvar MAX_DESCRIPTION_LENGTH = 200;\n\nvar EMPTY_PARAMETER = {\n get: function() {},\n set: function() {}\n};\n\n\n/**\n * Injects element template input parameters into the given group.\n *\n * @param {Object} group\n * @param {djs.model.Base} element\n * @param {ElementTemplates} elementTemplates\n * @param {BpmnFactory} bpmnFactory\n * @param {Function} translate\n */\nmodule.exports = function(group, element, elementTemplates, bpmnFactory, translate) {\n\n var template = elementTemplates.get(element);\n\n if (!template) {\n return [];\n }\n\n var inputEntries = [];\n\n\n function onToggle(value, entryNode) {\n if (!value) {\n return;\n }\n\n var currentEntryId = entryNode.dataset.entry;\n\n // collapse all other items\n inputEntries.forEach(function(entries) {\n var collapsible = entries[0];\n\n if (collapsible.id === currentEntryId) {\n return;\n }\n\n var entryNode = domQuery('[data-entry=\"' + collapsible.id + '\"]');\n collapsible.setOpen(false, entryNode);\n });\n }\n\n function renderInputParameter(id, templateProperty) {\n\n var parameterEntries = [],\n collapsibleEntry;\n\n var bo = getBusinessObject(element),\n inputOutput = findExtension(bo, 'camunda:InputOutput');\n\n if (!inputOutput) {\n return parameterEntries;\n }\n\n var getParameter = function() {\n return findInputParameter(inputOutput, templateProperty.binding) || EMPTY_PARAMETER;\n };\n\n var parameter = getParameter();\n\n var isOpen = function() {\n return collapsibleEntry.isOpen();\n };\n\n var assignmentIsOn = function() {\n var inputOutput = findExtension(getBusinessObject(element), 'camunda:InputOutput'),\n parameter = findInputParameter(inputOutput, templateProperty.binding);\n\n return !!parameter;\n };\n\n var options = {\n idPrefix: id + '-',\n onToggle: onToggle,\n getParameter: getParameter,\n isOpen: function() {\n return isOpen() && assignmentIsOn();\n }\n };\n\n\n // (1) use input parameter implementation\n var inputImplementation = InputOutputParameter(parameter, bpmnFactory, options, translate);\n parameterEntries = inputImplementation.entries;\n\n var nameIdx = findEntry(parameterEntries, id + '-parameterName');\n\n collapsibleEntry = parameterEntries[findEntry(parameterEntries, id + '-collapsible')];\n\n // (2) update title getter\n var defaultGet = collapsibleEntry.get;\n collapsibleEntry.get = function() {\n return assign(defaultGet(), {\n title: templateProperty.label ?\n translate(templateProperty.label) :\n templateProperty.binding.name\n });\n };\n\n // (3) remove name property entry\n removeEntry(parameterEntries, nameIdx);\n\n // (4) add description entry\n if (templateProperty.description) {\n parameterEntries.splice(1, 0, createDescriptionEntry(\n templateProperty.description,\n id,\n collapsibleEntry.isOpen,\n translate\n ));\n }\n\n // (5) add parameter toggle\n parameterEntries.splice(templateProperty.description ? 2 : 1, 0, entryFactory.toggleSwitch(translate, {\n id: id + '-assignment-toggle',\n label: translate('Local Variable Assignment'),\n modelProperty: 'isActive',\n labelOn: translate('On'),\n labelOff: translate('Off'),\n descriptionOff: translate('The parameter won\\'t be created as local variable.'),\n isOn: assignmentIsOn,\n get: function(element, node) {\n return { isActive: assignmentIsOn() };\n },\n set: function(element, values, node) {\n var isActive = values.isActive || false;\n\n if (isActive) {\n return createNewInputParameter(element, templateProperty.binding, bpmnFactory);\n } else {\n return removeInputParameter(element, templateProperty.binding);\n }\n\n },\n hidden: function(element, node) {\n return !isOpen();\n }\n }));\n\n return parameterEntries;\n }\n\n\n // filter specific input parameters from template\n var inputParameters = filter(template.properties, function(p) {\n return !p.type && p.binding.type === CAMUNDA_INPUT_PARAMETER_TYPE;\n });\n\n forEach(inputParameters, function(property, idx) {\n var id = 'template-inputs-' + template.id + '-' + idx;\n inputEntries.push(renderInputParameter(id, property));\n });\n\n group.entries = group.entries.concat(flatten(inputEntries));\n};\n\n\n// helper ///////////////////////\n\nfunction findEntry(entries, id) {\n return findIndex(entries, function(entry) {\n return entry.id === id;\n });\n}\n\nfunction removeEntry(entries, idx) {\n entries.splice(idx, 1);\n}\n\nfunction createDescriptionEntry(description, id, show, translate) {\n description = escapeHTML(description);\n\n var html = domify('
');\n\n var descriptionText = domify('' + description + ' ');\n\n html.appendChild(descriptionText);\n\n function toggleExpanded(expanded) {\n if (expanded) {\n domClasses(html).add('description--expanded');\n\n descriptionText.textContent = description + ' ';\n\n expand.textContent = translate('Less');\n } else {\n domClasses(html).remove('description--expanded');\n\n descriptionText.textContent = descriptionShortened + ' ... ';\n\n expand.textContent = translate('More');\n }\n }\n\n var descriptionShortened,\n expand,\n expanded = false;\n\n if (description.length > MAX_DESCRIPTION_LENGTH) {\n descriptionShortened = description.slice(0, MAX_DESCRIPTION_LENGTH);\n\n expand = domify(\n '' +\n translate('More') +\n ' '\n );\n\n domEvent.bind(expand, 'click', function() {\n expanded = !expanded;\n\n toggleExpanded(expanded);\n });\n\n html.appendChild(expand);\n\n toggleExpanded(expanded);\n }\n\n return {\n id: id + '-description',\n html: html,\n show: show\n };\n}\n\nfunction removeInputParameter(element, binding) {\n var bo = getBusinessObject(element),\n updates = [],\n extensionElements = bo.get('extensionElements');\n\n if (!extensionElements) {\n return updates;\n }\n\n var inputOutput = findExtension(extensionElements, 'camunda:InputOutput');\n\n if (!inputOutput) {\n return updates;\n }\n\n var inputParameter = findInputParameter(inputOutput, binding);\n\n if (!inputParameter) {\n return updates;\n }\n\n updates.push(cmdHelper.removeElementsFromList(element, inputOutput, 'inputParameters', null, [inputParameter]));\n\n return updates;\n}\n\nfunction createNewInputParameter(element, binding, bpmnFactory) {\n var bo = getBusinessObject(element),\n updates = [],\n extensionElements = bo.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', null, element, bpmnFactory);\n\n updates.push(cmdHelper.updateBusinessObject(\n element, bo, { extensionElements: extensionElements }\n ));\n }\n\n var inputOutput = findExtension(extensionElements, 'camunda:InputOutput');\n\n // (2) ensure inputOutput element\n if (!inputOutput) {\n inputOutput = elementHelper.createElement('camunda:InputOutput', null, bo, bpmnFactory);\n\n updates.push(cmdHelper.addElementsTolist(\n element, extensionElements, 'values', inputOutput\n ));\n }\n\n // (3) create input parameter\n var inputParameter = createInputParameter(binding, null, bpmnFactory);\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n inputOutput,\n 'inputParameters',\n null,\n [ inputParameter ],\n [ ]\n ));\n\n return updates;\n}\n\n\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/InputParametersProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/OutputParametersProps.js":
/*!*********************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/OutputParametersProps.js ***!
\*********************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar flatten = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").flatten,\n filter = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").filter,\n forEach = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").forEach;\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\");\n\nvar findExtension = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findExtension,\n findOutputParameter = __webpack_require__(/*! ../Helper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/Helper.js\").findOutputParameter;\n\nvar createOutputParameter = __webpack_require__(/*! ../CreateHelper */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/CreateHelper.js\").createOutputParameter;\n\nvar domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes,\n domEvent = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").event,\n domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar escapeHTML = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nvar CAMUNDA_OUTPUT_PARAMETER_TYPE = 'camunda:outputParameter';\n\nvar MAX_DESCRIPTION_LENGTH = 200;\n\nvar EMPTY_PARAMETER = {\n get: function() {},\n set: function() {}\n};\n\n/**\n * Injects element template output parameters into the given group.\n *\n * @param {Object} group\n * @param {djs.model.Base} element\n * @param {ElementTemplates} elementTemplates\n * @param {BpmnFactory} bpmnFactory\n * @param {Function} translate\n */\nmodule.exports = function(group, element, elementTemplates, bpmnFactory, translate) {\n\n var template = elementTemplates.get(element);\n\n if (!template) {\n return [];\n }\n\n var outputEntries = [];\n\n\n function onToggle(value, entryNode) {\n if (!value) {\n return;\n }\n\n var currentEntryId = entryNode.dataset.entry;\n\n // collapse all other items\n outputEntries.forEach(function(entries) {\n var collapsible = entries[0];\n\n if (collapsible.id === currentEntryId) {\n return;\n }\n\n var entryNode = domQuery('[data-entry=\"' + collapsible.id + '\"]');\n collapsible.setOpen(false, entryNode);\n });\n }\n\n function renderOutputParameter(id, templateProperty) {\n\n var parameterEntries = [];\n\n // find input parameter first\n var bo = getBusinessObject(element),\n inputOutput = findExtension(bo, 'camunda:InputOutput');\n\n if (!inputOutput) {\n return parameterEntries;\n }\n\n var getParameter = function() {\n return findOutputParameter(inputOutput, templateProperty.binding) || EMPTY_PARAMETER;\n };\n\n // (1) add collapsible header\n var collapsible = entryFactory.collapsible({\n id: id + '-collapsible',\n title: translate(templateProperty.label),\n cssClasses: [\n 'bpp-collapsible--with-mapping',\n 'bpp-collapsible--with-template-out'\n ],\n onToggle: onToggle,\n open: false,\n get: function() {\n return {\n title: translate(templateProperty.label),\n description: getParameter().name\n };\n }\n });\n parameterEntries.push(collapsible);\n\n var isOpen = collapsible.isOpen;\n\n var assignmentIsOn = function() {\n var inputOutput = findExtension(getBusinessObject(element), 'camunda:InputOutput'),\n parameter = findOutputParameter(inputOutput, templateProperty.binding);\n\n return !!parameter;\n };\n\n // (2) add description\n if (templateProperty.description) {\n parameterEntries.push(createDescriptionEntry(\n templateProperty.description,\n id,\n isOpen,\n translate\n ));\n }\n\n // (3) add parameter toggle\n parameterEntries.splice(templateProperty.description ? 2 : 1, 0, entryFactory.toggleSwitch(translate, {\n id: id + '-assignment-toggle',\n label: translate('Process Variable Assignment'),\n modelProperty: 'isActive',\n labelOn: translate('On'),\n labelOff: translate('Off'),\n descriptionOff: translate('The parameter won\\'t be available in the process scope.'),\n isOn: assignmentIsOn,\n get: function(element, node) {\n return { isActive: assignmentIsOn() };\n },\n set: function(element, values, node) {\n var isActive = values.isActive || false;\n\n if (isActive) {\n return createNewOutputParameter(element, templateProperty.binding, bpmnFactory);\n } else {\n return removeOutputParameter(element, templateProperty.binding);\n }\n\n },\n hidden: function(element, node) {\n return !isOpen();\n }\n }));\n\n // (4) add process variable name field\n parameterEntries.push(entryFactory.validationAwareTextField(translate, {\n id: id + '-variableName',\n label: translate('Assign to Process Variable'),\n modelProperty: 'variableName',\n getProperty: function(element) {\n return getParameter().name;\n },\n setProperty: function(element, values) {\n return cmdHelper.updateBusinessObject(element, getParameter(), { name: values.variableName });\n },\n validate: function(element, values) {\n var validation = {},\n nameValue = values.variableName;\n\n if (nameValue) {\n if (utils.containsSpace(nameValue)) {\n validation.variableName = translate('Process Variable Name must not contain spaces.');\n }\n } else {\n validation.variableName = translate('Process Variable Name must not be empty.');\n }\n\n return validation;\n },\n hidden: function(element, node) {\n return !isOpen() || !assignmentIsOn();\n }\n }));\n\n return parameterEntries;\n }\n\n // filter specific output parameters from template\n var outputParameters = filter(template.properties, function(p) {\n return !p.type && p.binding.type === CAMUNDA_OUTPUT_PARAMETER_TYPE;\n });\n\n forEach(outputParameters, function(property, idx) {\n var id = 'template-outputs-' + template.id + '-' + idx;\n outputEntries.push(renderOutputParameter(id, property));\n });\n\n group.entries = group.entries.concat(flatten(outputEntries));\n};\n\n// helpers ///////////////\n\nfunction createDescriptionEntry(description, id, show, translate) {\n description = escapeHTML(description);\n\n var html = domify('
');\n\n var descriptionText = domify('' + description + ' ');\n\n html.appendChild(descriptionText);\n\n function toggleExpanded(expanded) {\n if (expanded) {\n domClasses(html).add('description--expanded');\n\n descriptionText.textContent = description + ' ';\n\n expand.textContent = translate('Less');\n } else {\n domClasses(html).remove('description--expanded');\n\n descriptionText.textContent = descriptionShortened + ' ... ';\n\n expand.textContent = translate('More');\n }\n }\n\n var descriptionShortened,\n expand,\n expanded = false;\n\n if (description.length > MAX_DESCRIPTION_LENGTH) {\n descriptionShortened = description.slice(0, MAX_DESCRIPTION_LENGTH);\n\n expand = domify(\n '' +\n translate('More') +\n ' '\n );\n\n domEvent.bind(expand, 'click', function() {\n expanded = !expanded;\n\n toggleExpanded(expanded);\n });\n\n html.appendChild(expand);\n\n toggleExpanded(expanded);\n }\n\n return {\n id: id + '-description',\n html: html,\n show: show\n };\n}\n\nfunction removeOutputParameter(element, binding) {\n var bo = getBusinessObject(element),\n updates = [],\n extensionElements = bo.get('extensionElements');\n\n if (!extensionElements) {\n return updates;\n }\n\n var inputOutput = findExtension(extensionElements, 'camunda:InputOutput');\n\n if (!inputOutput) {\n return updates;\n }\n\n var outputParameter = findOutputParameter(inputOutput, binding);\n\n if (!outputParameter) {\n return updates;\n }\n\n updates.push(cmdHelper.removeElementsFromList(element, inputOutput, 'outputParameters', null, [outputParameter]));\n\n return updates;\n}\n\nfunction createNewOutputParameter(element, binding, bpmnFactory) {\n var bo = getBusinessObject(element),\n updates = [],\n extensionElements = bo.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', null, element, bpmnFactory);\n\n updates.push(cmdHelper.updateBusinessObject(\n element, bo, { extensionElements: extensionElements }\n ));\n }\n\n var inputOutput = findExtension(extensionElements, 'camunda:InputOutput');\n\n // (2) ensure inputOutput element\n if (!inputOutput) {\n inputOutput = elementHelper.createElement('camunda:InputOutput', null, bo, bpmnFactory);\n\n updates.push(cmdHelper.addElementsTolist(\n element, extensionElements, 'values', inputOutput\n ));\n }\n\n // (3) create output parameter\n var outputParameter = createOutputParameter(binding, null, bpmnFactory);\n\n updates.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n inputOutput,\n 'outputParameters',\n null,\n [ outputParameter ],\n [ ]\n ));\n\n return updates;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/parts/OutputParametersProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/util/handleLegacyScopes.js":
/*!*****************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/util/handleLegacyScopes.js ***!
\*****************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar assign = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").assign,\n forEach = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").forEach,\n keys = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").keys,\n isObject = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").isObject;\n\n/**\n * Converts legacy scopes descriptor to newer supported array structure.\n *\n * For example, it transforms\n *\n * scopes: {\n * 'camunda:Connector':\n * { properties: []\n * }\n * }\n *\n * to\n *\n * scopes: [\n * {\n * type: 'camunda:Connector',\n * properties: []\n * }\n * ]\n *\n * @param {ScopesDescriptor} scopes\n *\n * @returns {Array}\n */\nmodule.exports = function handleLegacyScopes(scopes) {\n var scopesAsArray = [];\n\n if (!isObject(scopes)) {\n return scopes;\n }\n\n forEach(keys(scopes), function(scopeName) {\n scopesAsArray.push(assign({\n type: scopeName\n }, scopes[scopeName]));\n });\n\n return scopesAsArray;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/util/handleLegacyScopes.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/index.js":
/*!*****************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/index.js ***!
\*****************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("module.exports = {\n __depends__: [\n __webpack_require__(/*! ./element-templates */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/element-templates/index.js\"),\n __webpack_require__(/*! diagram-js/lib/i18n/translate */ \"./node_modules/diagram-js/lib/i18n/translate/index.js\").default\n ],\n __init__: [ 'propertiesProvider' ],\n propertiesProvider: [ 'type', __webpack_require__(/*! ./CamundaPropertiesProvider */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/CamundaPropertiesProvider.js\") ]\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/AsynchronousContinuationProps.js":
/*!***********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/AsynchronousContinuationProps.js ***!
\***********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n asyncContinuation = __webpack_require__(/*! ./implementation/AsyncContinuation */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/AsyncContinuation.js\");\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n if (is(element, 'camunda:AsyncCapable')) {\n\n group.entries = group.entries.concat(asyncContinuation(element, bpmnFactory, {\n getBusinessObject: getBusinessObject\n }, translate));\n\n }\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/AsynchronousContinuationProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/CallActivityProps.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/CallActivityProps.js ***!
\***********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar callable = __webpack_require__(/*! ./implementation/Callable */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Callable.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar flattenDeep = __webpack_require__(/*! lodash/flattenDeep */ \"./node_modules/lodash/flattenDeep.js\");\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\");\n\nfunction getCallableType(element) {\n var bo = getBusinessObject(element);\n\n var boCalledElement = bo.get('calledElement'),\n boCaseRef = bo.get('camunda:caseRef');\n\n var callActivityType = '';\n if (typeof boCalledElement !== 'undefined') {\n callActivityType = 'bpmn';\n } else\n\n if (typeof boCaseRef !== 'undefined') {\n callActivityType = 'cmmn';\n }\n\n return callActivityType;\n}\n\nvar DEFAULT_PROPS = {\n calledElement: undefined,\n 'camunda:calledElementBinding': 'latest',\n 'camunda:calledElementVersion': undefined,\n 'camunda:calledElementTenantId': undefined,\n 'camunda:variableMappingClass' : undefined,\n 'camunda:variableMappingDelegateExpression' : undefined,\n 'camunda:caseRef': undefined,\n 'camunda:caseBinding': 'latest',\n 'camunda:caseVersion': undefined,\n 'camunda:caseTenantId': undefined\n};\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n if (!is(element, 'camunda:CallActivity')) {\n return;\n }\n\n group.entries.push(entryFactory.selectBox(translate, {\n id : 'callActivity',\n label: translate('CallActivity Type'),\n selectOptions: [\n { name: 'BPMN', value: 'bpmn' },\n { name: 'CMMN', value: 'cmmn' }\n ],\n emptyParameter: true,\n modelProperty: 'callActivityType',\n\n get: function(element, node) {\n return {\n callActivityType: getCallableType(element)\n };\n },\n\n set: function(element, values, node) {\n var type = values.callActivityType;\n\n var props = assign({}, DEFAULT_PROPS);\n\n if (type === 'bpmn') {\n props.calledElement = '';\n }\n else if (type === 'cmmn') {\n props['camunda:caseRef'] = '';\n }\n\n return cmdHelper.updateProperties(element, props);\n }\n\n }));\n\n group.entries.push(callable(element, bpmnFactory, {\n getCallableType: getCallableType\n }, translate));\n\n group.entries = flattenDeep(group.entries);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/CallActivityProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/CandidateStarterProps.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/CandidateStarterProps.js ***!
\***************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar candidateStarter = __webpack_require__(/*! ./implementation/CandidateStarter */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/CandidateStarter.js\");\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n var businessObject = getBusinessObject(element);\n\n if (is(element, 'camunda:Process') ||\n is(element, 'bpmn:Participant') && businessObject.get('processRef')) {\n\n group.entries = group.entries.concat(candidateStarter(element, bpmnFactory, {\n getBusinessObject: function(element) {\n var bo = getBusinessObject(element);\n\n if (!is(bo, 'bpmn:Participant')) {\n return bo;\n }\n\n return bo.get('processRef');\n }\n }, translate));\n\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/CandidateStarterProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConditionalProps.js":
/*!**********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConditionalProps.js ***!
\**********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n escapeHTML = __webpack_require__(/*! ../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML,\n domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query,\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n elementHelper = __webpack_require__(/*! ../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n eventDefinitionHelper = __webpack_require__(/*! ../../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\"),\n scriptImplementation = __webpack_require__(/*! ./implementation/Script */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Script.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n var bo = getBusinessObject(element);\n\n if (!bo) {\n return;\n }\n\n var conditionalEventDefinition = eventDefinitionHelper.getConditionalEventDefinition(element);\n\n if (!(is(element, 'bpmn:SequenceFlow') && isConditionalSource(element.source))\n && !conditionalEventDefinition) {\n return;\n }\n\n var script = scriptImplementation('language', 'body', true, translate);\n group.entries.push({\n id: 'condition',\n label: translate('Condition'),\n html: '' +\n '
'+ escapeHTML(translate('Condition Type')) + ' ' +\n '
' +\n '' +\n ''+ escapeHTML(translate('Expression')) + ' ' +\n ''+ escapeHTML(translate('Script')) + ' ' +\n ' ' +\n ' ' +\n '
' +\n '
' +\n\n // expression\n '' +\n '
' + escapeHTML(translate('Expression')) + ' ' +\n '
' +\n ' ' +\n '' +\n 'X ' +\n ' ' +\n '
' +\n '
' +\n script.template +\n '
' +\n '
',\n\n get: function(element, propertyName) {\n var conditionalEventDefinition = eventDefinitionHelper.getConditionalEventDefinition(element);\n\n var conditionExpression = conditionalEventDefinition\n ? conditionalEventDefinition.condition\n : bo.conditionExpression;\n\n var values = {},\n conditionType = '';\n\n if (conditionExpression) {\n var conditionLanguage = conditionExpression.language;\n if (typeof conditionLanguage !== 'undefined') {\n conditionType = 'script';\n values = script.get(element, conditionExpression);\n } else {\n conditionType = 'expression';\n values.condition = conditionExpression.get('body');\n }\n }\n\n values.conditionType = conditionType;\n\n return values;\n\n },\n\n set: function(element, values, containerElement) {\n var conditionType = values.conditionType;\n var commands = [];\n\n var conditionProps = {\n body: undefined\n };\n\n if (conditionType === 'script') {\n conditionProps = script.set(element, values, containerElement);\n } else {\n var condition = values.condition;\n\n conditionProps.body = condition;\n }\n\n var conditionOrConditionExpression;\n\n if (conditionType) {\n conditionOrConditionExpression = elementHelper.createElement(\n 'bpmn:FormalExpression',\n conditionProps,\n conditionalEventDefinition || bo,\n bpmnFactory\n );\n\n var source = element.source;\n\n // if default-flow, remove default-property from source\n if (source && source.businessObject.default === bo) {\n commands.push(cmdHelper.updateProperties(source, { 'default': undefined }));\n }\n }\n\n var update = conditionalEventDefinition\n ? { condition: conditionOrConditionExpression }\n : { conditionExpression: conditionOrConditionExpression };\n\n commands.push(cmdHelper.updateBusinessObject(element, conditionalEventDefinition || bo, update));\n\n return commands;\n },\n\n validate: function(element, values) {\n var validationResult = {};\n\n if (!values.condition && values.conditionType === 'expression') {\n validationResult.condition = translate('Must provide a value');\n }\n else if (values.conditionType === 'script') {\n validationResult = script.validate(element, values);\n }\n\n return validationResult;\n },\n\n isExpression: function(element, inputNode) {\n var conditionType = domQuery('select[name=conditionType]', inputNode);\n if (conditionType.selectedIndex >= 0) {\n return conditionType.options[conditionType.selectedIndex].value === 'expression';\n }\n },\n\n isScript: function(element, inputNode) {\n var conditionType = domQuery('select[name=conditionType]', inputNode);\n if (conditionType.selectedIndex >= 0) {\n return conditionType.options[conditionType.selectedIndex].value === 'script';\n }\n },\n\n clear: function(element, inputNode) {\n\n // clear text input\n domQuery('input[name=condition]', inputNode).value='';\n\n return true;\n },\n\n canClear: function(element, inputNode) {\n var input = domQuery('input[name=condition]', inputNode);\n\n return input.value !== '';\n },\n\n script : script,\n\n cssClasses: [ 'bpp-textfield' ]\n });\n};\n\n\n// utilities //////////////////////////\n\nvar CONDITIONAL_SOURCES = [\n 'bpmn:Activity',\n 'bpmn:ExclusiveGateway',\n 'bpmn:InclusiveGateway',\n 'bpmn:ComplexGateway'\n];\n\nfunction isConditionalSource(element) {\n return isAny(element, CONDITIONAL_SOURCES);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConditionalProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorDetailProps.js":
/*!**************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorDetailProps.js ***!
\**************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar ImplementationTypeHelper = __webpack_require__(/*! ../../../helper/ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\"),\n InputOutputHelper = __webpack_require__(/*! ../../../helper/InputOutputHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/InputOutputHelper.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nfunction getImplementationType(element) {\n return ImplementationTypeHelper.getImplementationType(element);\n}\n\nfunction getBusinessObject(element) {\n return ImplementationTypeHelper.getServiceTaskLikeBusinessObject(element);\n}\n\nfunction getConnector(bo) {\n return InputOutputHelper.getConnector(bo);\n}\n\nfunction isConnector(element) {\n return getImplementationType(element) === 'connector';\n}\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n group.entries.push(entryFactory.textField(translate, {\n id: 'connectorId',\n label: translate('Connector Id'),\n modelProperty: 'connectorId',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n var connector = bo && getConnector(bo);\n var value = connector && connector.get('connectorId');\n return { connectorId: value };\n },\n\n set: function(element, values, node) {\n var bo = getBusinessObject(element);\n var connector = getConnector(bo);\n return cmdHelper.updateBusinessObject(element, connector, {\n connectorId: values.connectorId || undefined\n });\n },\n\n validate: function(element, values, node) {\n return isConnector(element) && !values.connectorId ? { connectorId: translate('Must provide a value') } : {};\n },\n\n hidden: function(element, node) {\n return !isConnector(element);\n }\n\n }));\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorDetailProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorInputParametersProps.js":
/*!***********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorInputParametersProps.js ***!
\***********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar inputParameters = __webpack_require__(/*! ./implementation/InputParameters */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputParameters.js\");\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var inputParametersEntry = inputParameters(element, bpmnFactory, {\n idPrefix: 'connector-',\n insideConnector: true\n }, translate);\n\n group.entries = group.entries.concat(inputParametersEntry.entries);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorInputParametersProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorOutputParametersProps.js":
/*!************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorOutputParametersProps.js ***!
\************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar outputParameters = __webpack_require__(/*! ./implementation/OutputParameters */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/OutputParameters.js\");\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var outputParametersEntry = outputParameters(element, bpmnFactory, {\n idPrefix: 'connector-',\n insideConnector: true\n }, translate);\n\n group.entries = group.entries.concat(outputParametersEntry.entries);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ConnectorOutputParametersProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ErrorEventProps.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ErrorEventProps.js ***!
\*********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n eventDefinitionHelper = __webpack_require__(/*! ../../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\"),\n error = __webpack_require__(/*! ./implementation/ErrorEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorEventDefinition.js\");\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var errorEvents = [\n 'bpmn:StartEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:EndEvent'\n ];\n\n forEach(errorEvents, function(event) {\n if (is(element, event)) {\n\n var errorEventDefinition = eventDefinitionHelper.getErrorEventDefinition(element);\n\n if (errorEventDefinition) {\n var isCatchingErrorEvent = is(element, 'bpmn:StartEvent') || is (element, 'bpmn:BoundaryEvent');\n\n var showErrorCodeVariable = isCatchingErrorEvent,\n showErrorMessageVariable = isCatchingErrorEvent;\n\n error(\n group,\n element,\n bpmnFactory,\n errorEventDefinition,\n showErrorCodeVariable,\n showErrorMessageVariable,\n translate);\n }\n }\n });\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ErrorEventProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ErrorsProps.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ErrorsProps.js ***!
\*****************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar errors = __webpack_require__(/*! ./implementation/Errors */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Errors.js\");\n\nmodule.exports = function(group, element, bpmnFactory, elementTemplates, translate) {\n\n var template = elementTemplates.get(element);\n\n if (template) {\n return;\n }\n\n var errorsEntry = errors(element, bpmnFactory, {}, translate);\n\n group.entries = group.entries.concat(errorsEntry.entries);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ErrorsProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ExternalTaskConfigurationProps.js":
/*!************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ExternalTaskConfigurationProps.js ***!
\************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar ImplementationTypeHelper = __webpack_require__(/*! ../../../helper/ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\");\n\nvar externalTaskPriority = __webpack_require__(/*! ./implementation/ExternalTaskPriority */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExternalTaskPriority.js\");\n\nfunction getServiceTaskLikeBusinessObject(element) {\n var bo = ImplementationTypeHelper.getServiceTaskLikeBusinessObject(element);\n\n // if the element is not a serviceTaskLike element, fetch the normal business object\n // This avoids the loss of the process / participant business object\n if (!bo) {\n bo = getBusinessObject(element);\n }\n\n return bo;\n}\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var bo = getServiceTaskLikeBusinessObject(element);\n\n if (!bo) {\n return;\n }\n\n if (is(bo, 'camunda:TaskPriorized') || (is(bo, 'bpmn:Participant')) && bo.get('processRef')) {\n group.entries = group.entries.concat(externalTaskPriority(element, bpmnFactory, {\n getBusinessObject: function(element) {\n if (!is(bo, 'bpmn:Participant')) {\n return bo;\n }\n return bo.get('processRef');\n }\n }, translate));\n }\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ExternalTaskConfigurationProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/FieldInjectionProps.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/FieldInjectionProps.js ***!
\*************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar ImplementationTypeHelper = __webpack_require__(/*! ../../../helper/ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\");\n\nvar fieldInjection = __webpack_require__(/*! ./implementation/FieldInjection */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/FieldInjection.js\");\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var bo = ImplementationTypeHelper.getServiceTaskLikeBusinessObject(element);\n\n if (!bo) {\n return;\n }\n\n var fieldInjectionEntry = fieldInjection(element, bpmnFactory, translate, { businessObject: bo });\n\n if (fieldInjectionEntry && fieldInjectionEntry.length > 0) {\n group.entries = group.entries.concat(fieldInjectionEntry);\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/FieldInjectionProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/FormProps.js":
/*!***************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/FormProps.js ***!
\***************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n getExtensionElements = __webpack_require__(/*! ../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\").getExtensionElements,\n removeEntry = __webpack_require__(/*! ../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\").removeEntry,\n extensionElements = __webpack_require__(/*! ./implementation/ExtensionElements */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExtensionElements.js\"),\n properties = __webpack_require__(/*! ./implementation/Properties */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Properties.js\"),\n entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n elementHelper = __webpack_require__(/*! ../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n formHelper = __webpack_require__(/*! ../../../helper/FormHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/FormHelper.js\"),\n utils = __webpack_require__(/*! ../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\"),\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\"),\n each = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nfunction generateValueId() {\n return utils.nextId('Value_');\n}\n\n/**\n * Generate a form field specific textField using entryFactory.\n *\n * @param {Function} translate\n * @param {string} options.id\n * @param {string} options.label\n * @param {string} options.modelProperty\n * @param {Function} options.validate\n *\n * @return {Object} an entryFactory.textField object\n */\nfunction formFieldTextField(translate, options, getSelectedFormField) {\n\n var id = options.id,\n label = options.label,\n modelProperty = options.modelProperty,\n validate = options.validate;\n\n return entryFactory.textField(translate, {\n id: id,\n label: label,\n modelProperty: modelProperty,\n get: function(element, node) {\n var selectedFormField = getSelectedFormField(element, node) || {},\n values = {};\n\n values[modelProperty] = selectedFormField[modelProperty];\n\n return values;\n },\n\n set: function(element, values, node) {\n var commands = [];\n\n if (typeof options.set === 'function') {\n var cmd = options.set(element, values, node);\n\n if (cmd) {\n commands.push(cmd);\n }\n }\n\n var formField = getSelectedFormField(element, node),\n properties = {};\n\n properties[modelProperty] = values[modelProperty] || undefined;\n\n commands.push(cmdHelper.updateBusinessObject(element, formField, properties));\n\n return commands;\n },\n hidden: function(element, node) {\n return !getSelectedFormField(element, node);\n },\n validate: validate\n });\n}\n\nfunction ensureFormKeyAndDataSupported(element) {\n return (\n is(element, 'bpmn:StartEvent') && !is(element.parent, 'bpmn:SubProcess')\n ) || is(element, 'bpmn:UserTask');\n}\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n if (!ensureFormKeyAndDataSupported(element)) {\n return;\n }\n\n\n /**\n * Return the currently selected form field querying the form field select box\n * from the DOM.\n *\n * @param {djs.model.Base} element\n * @param {DOMElement} node - DOM element of any form field text input\n *\n * @return {ModdleElement} the currently selected form field\n */\n function getSelectedFormField(element, node) {\n var selected = formFieldsEntry.getSelected(element, node.parentNode);\n\n if (selected.idx === -1) {\n return;\n }\n\n return formHelper.getFormField(element, selected.idx);\n }\n\n // [FormKey] form key text input field\n group.entries.push(entryFactory.textField(translate, {\n id : 'form-key',\n label : translate('Form Key'),\n modelProperty: 'formKey',\n get: function(element, node) {\n var bo = getBusinessObject(element);\n\n return {\n formKey: bo.get('camunda:formKey')\n };\n },\n set: function(element, values, node) {\n var bo = getBusinessObject(element),\n formKey = values.formKey || undefined;\n\n return cmdHelper.updateBusinessObject(element, bo, { 'camunda:formKey': formKey });\n }\n }));\n\n // [FormData] form field select box\n var formFieldsEntry = extensionElements(element, bpmnFactory, {\n id: 'form-fields',\n label: translate('Form Fields'),\n modelProperty: 'id',\n prefix: 'FormField',\n createExtensionElement: function(element, extensionElements, value) {\n var bo = getBusinessObject(element), commands = [];\n\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);\n commands.push(cmdHelper.updateProperties(element, { extensionElements: extensionElements }));\n }\n\n var formData = formHelper.getFormData(element);\n\n if (!formData) {\n formData = elementHelper.createElement('camunda:FormData', { fields: [] }, extensionElements, bpmnFactory);\n commands.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n 'extensionElements',\n [formData],\n []\n ));\n }\n\n var field = elementHelper.createElement('camunda:FormField', { id: value }, formData, bpmnFactory);\n if (typeof formData.fields !== 'undefined') {\n commands.push(cmdHelper.addElementsTolist(element, formData, 'fields', [ field ]));\n } else {\n commands.push(cmdHelper.updateBusinessObject(element, formData, {\n fields: [ field ]\n }));\n }\n return commands;\n },\n removeExtensionElement: function(element, extensionElements, value, idx) {\n var formData = getExtensionElements(getBusinessObject(element), 'camunda:FormData')[0],\n entry = formData.fields[idx],\n commands = [];\n\n if (formData.fields.length < 2) {\n commands.push(removeEntry(getBusinessObject(element), element, formData));\n } else {\n commands.push(cmdHelper.removeElementsFromList(element, formData, 'fields', null, [entry]));\n\n if (entry.id === formData.get('businessKey')) {\n commands.push(cmdHelper.updateBusinessObject(element, formData, { 'businessKey': undefined }));\n }\n }\n\n return commands;\n },\n getExtensionElements: function(element) {\n return formHelper.getFormFields(element);\n },\n hideExtensionElements: function(element, node) {\n return false;\n }\n });\n group.entries.push(formFieldsEntry);\n\n // [FormData] business key form field select box\n var formBusinessKeyFormFieldEntry = entryFactory.selectBox(translate, {\n id: 'form-business-key',\n label: translate('Business Key'),\n modelProperty: 'businessKey',\n selectOptions: function(element, inputNode) {\n var selectOptions = [{ name: '', value: '' }];\n var formFields = formHelper.getFormFields(element);\n each(formFields, function(field) {\n if (field.type !== 'boolean') {\n selectOptions.push({ name: field.id, value: field.id });\n }\n });\n return selectOptions;\n },\n get: function(element, node) {\n var result = { businessKey: '' };\n var bo = getBusinessObject(element);\n var formDataExtension = getExtensionElements(bo, 'camunda:FormData');\n if (formDataExtension.length) {\n var formData = formDataExtension[0];\n var storedValue = formData.get('businessKey');\n result = { businessKey: storedValue };\n }\n return result;\n },\n set: function(element, values, node) {\n var formData = getExtensionElements(getBusinessObject(element), 'camunda:FormData')[0];\n return cmdHelper.updateBusinessObject(element, formData, { 'businessKey': values.businessKey || undefined });\n },\n hidden: function(element, node) {\n var isStartEvent = is(element,'bpmn:StartEvent');\n return !(isStartEvent && formHelper.getFormFields(element).length > 0);\n }\n });\n group.entries.push(formBusinessKeyFormFieldEntry);\n\n // [FormData] Form Field label\n group.entries.push(entryFactory.label({\n id: 'form-field-header',\n labelText: translate('Form Field'),\n showLabel: function(element, node) {\n return !!getSelectedFormField(element, node);\n }\n }));\n\n // [FormData] form field id text input field\n group.entries.push(entryFactory.validationAwareTextField(translate, {\n id: 'form-field-id',\n label: translate('ID (process variable name)'),\n modelProperty: 'id',\n\n getProperty: function(element, node) {\n var selectedFormField = getSelectedFormField(element, node) || {};\n\n return selectedFormField.id;\n },\n\n setProperty: function(element, properties, node) {\n var formField = getSelectedFormField(element, node);\n\n return cmdHelper.updateBusinessObject(element, formField, properties);\n },\n\n hidden: function(element, node) {\n return !getSelectedFormField(element, node);\n },\n\n validate: function(element, values, node) {\n\n var formField = getSelectedFormField(element, node);\n\n if (formField) {\n\n var idValue = values.id;\n\n if (!idValue || idValue.trim() === '') {\n return { id: 'Form field id must not be empty' };\n }\n\n var formFields = formHelper.getFormFields(element);\n\n var existingFormField = find(formFields, function(f) {\n return f !== formField && f.id === idValue;\n });\n\n if (existingFormField) {\n return { id: 'Form field id already used in form data.' };\n }\n }\n }\n }));\n\n // [FormData] form field type combo box\n group.entries.push(entryFactory.comboBox(translate, {\n id: 'form-field-type',\n label: translate('Type'),\n selectOptions: [\n { name: 'string', value: 'string' },\n { name: 'long', value: 'long' },\n { name: 'boolean', value: 'boolean' },\n { name: 'date', value: 'date' },\n { name: 'enum', value: 'enum' }\n ],\n modelProperty: 'type',\n emptyParameter: true,\n\n get: function(element, node) {\n var selectedFormField = getSelectedFormField(element, node);\n\n if (selectedFormField) {\n return { type: selectedFormField.type };\n } else {\n return {};\n }\n },\n set: function(element, values, node) {\n var selectedFormField = getSelectedFormField(element, node),\n formData = getExtensionElements(getBusinessObject(element), 'camunda:FormData')[0],\n commands = [];\n\n if (selectedFormField.type === 'enum' && values.type !== 'enum') {\n\n // delete camunda:value objects from formField.values when switching from type enum\n commands.push(cmdHelper.updateBusinessObject(element, selectedFormField, { values: undefined }));\n }\n if (values.type === 'boolean' && selectedFormField.get('id') === formData.get('businessKey')) {\n commands.push(cmdHelper.updateBusinessObject(element, formData, { 'businessKey': undefined }));\n }\n commands.push(cmdHelper.updateBusinessObject(element, selectedFormField, values));\n\n return commands;\n },\n hidden: function(element, node) {\n return !getSelectedFormField(element, node);\n }\n }));\n\n // [FormData] form field label text input field\n group.entries.push(formFieldTextField(translate, {\n id: 'form-field-label',\n label: translate('Label'),\n modelProperty: 'label'\n }, getSelectedFormField));\n\n // [FormData] form field defaultValue text input field\n group.entries.push(formFieldTextField(translate, {\n id: 'form-field-defaultValue',\n label: translate('Default Value'),\n modelProperty: 'defaultValue'\n }, getSelectedFormField));\n\n\n // [FormData] form field enum values label\n group.entries.push(entryFactory.label({\n id: 'form-field-enum-values-header',\n labelText: translate('Values'),\n divider: true,\n showLabel: function(element, node) {\n var selectedFormField = getSelectedFormField(element, node);\n\n return selectedFormField && selectedFormField.type === 'enum';\n }\n }));\n\n // [FormData] form field enum values table\n group.entries.push(entryFactory.table(translate, {\n id: 'form-field-enum-values',\n labels: [ translate('Id'), translate('Name') ],\n modelProperties: [ 'id', 'name' ],\n show: function(element, node) {\n var selectedFormField = getSelectedFormField(element, node);\n\n return selectedFormField && selectedFormField.type === 'enum';\n },\n getElements: function(element, node) {\n var selectedFormField = getSelectedFormField(element, node);\n\n return formHelper.getEnumValues(selectedFormField);\n },\n addElement: function(element, node) {\n var selectedFormField = getSelectedFormField(element, node),\n id = generateValueId();\n\n var enumValue = elementHelper.createElement(\n 'camunda:Value',\n { id: id, name: undefined },\n getBusinessObject(element),\n bpmnFactory\n );\n\n return cmdHelper.addElementsTolist(element, selectedFormField, 'values', [enumValue]);\n },\n removeElement: function(element, node, idx) {\n var selectedFormField = getSelectedFormField(element, node),\n enumValue = selectedFormField.values[idx];\n\n return cmdHelper.removeElementsFromList(element, selectedFormField, 'values', null, [enumValue]);\n },\n updateElement: function(element, value, node, idx) {\n var selectedFormField = getSelectedFormField(element, node),\n enumValue = selectedFormField.values[idx];\n\n value.name = value.name || undefined;\n return cmdHelper.updateBusinessObject(element, enumValue, value);\n },\n validate: function(element, value, node, idx) {\n\n var selectedFormField = getSelectedFormField(element, node),\n enumValue = selectedFormField.values[idx];\n\n if (enumValue) {\n\n // check if id is valid\n var validationError = utils.isIdValid(enumValue, value.id, translate);\n\n if (validationError) {\n return { id: validationError };\n }\n }\n }\n }));\n\n // [FormData] Validation label\n group.entries.push(entryFactory.label({\n id: 'form-field-validation-header',\n labelText: translate('Validation'),\n divider: true,\n showLabel: function(element, node) {\n return !!getSelectedFormField(element, node);\n }\n }));\n\n // [FormData] form field constraints table\n group.entries.push(entryFactory.table(translate, {\n id: 'constraints-list',\n modelProperties: [ 'name', 'config' ],\n labels: [ translate('Name'), translate('Config') ],\n addLabel: translate('Add Constraint'),\n getElements: function(element, node) {\n var formField = getSelectedFormField(element, node);\n\n return formHelper.getConstraints(formField);\n },\n addElement: function(element, node) {\n\n var commands = [],\n formField = getSelectedFormField(element, node),\n validation = formField.validation;\n\n if (!validation) {\n\n // create validation business object and add it to form data, if it doesn't exist\n validation = elementHelper.createElement('camunda:Validation', {}, getBusinessObject(element), bpmnFactory);\n\n commands.push(cmdHelper.updateBusinessObject(element, formField, { 'validation': validation }));\n }\n\n var newConstraint = elementHelper.createElement(\n 'camunda:Constraint',\n { name: undefined, config: undefined },\n validation,\n bpmnFactory\n );\n\n commands.push(cmdHelper.addElementsTolist(element, validation, 'constraints', [ newConstraint ]));\n\n return commands;\n },\n updateElement: function(element, value, node, idx) {\n var formField = getSelectedFormField(element, node),\n constraint = formHelper.getConstraints(formField)[idx];\n\n value.name = value.name || undefined;\n value.config = value.config || undefined;\n\n return cmdHelper.updateBusinessObject(element, constraint, value);\n },\n removeElement: function(element, node, idx) {\n var commands = [],\n formField = getSelectedFormField(element, node),\n constraints = formHelper.getConstraints(formField),\n currentConstraint = constraints[idx];\n\n commands.push(cmdHelper.removeElementsFromList(\n element,\n formField.validation,\n 'constraints',\n null,\n [ currentConstraint ]\n ));\n\n if (constraints.length === 1) {\n\n // remove camunda:validation if the last existing constraint has been removed\n commands.push(cmdHelper.updateBusinessObject(element, formField, { validation: undefined }));\n }\n\n return commands;\n },\n show: function(element, node) {\n return !!getSelectedFormField(element, node);\n }\n }));\n\n // [FormData] Properties label\n group.entries.push(entryFactory.label({\n id: 'form-field-properties-header',\n labelText: translate('Properties'),\n divider: true,\n showLabel: function(element, node) {\n return !!getSelectedFormField(element, node);\n }\n }));\n\n // [FormData] camunda:properties table\n group.entries.push(properties(element, bpmnFactory, {\n id: 'form-field-properties',\n modelProperties: [ 'id', 'value' ],\n labels: [ translate('Id'), translate('Value') ],\n getParent: function(element, node) {\n return getSelectedFormField(element, node);\n },\n show: function(element, node) {\n return !!getSelectedFormField(element, node);\n }\n }, translate));\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/FormProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/HistoryTimeToLiveProps.js":
/*!****************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/HistoryTimeToLiveProps.js ***!
\****************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar historyTimeToLive = __webpack_require__(/*! ./implementation/HistoryTimeToLive */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/HistoryTimeToLive.js\");\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n var businessObject = getBusinessObject(element);\n\n if (is(element, 'camunda:Process') ||\n is(element, 'bpmn:Participant') && businessObject.get('processRef')) {\n\n group.entries = group.entries.concat(historyTimeToLive(element, bpmnFactory, {\n getBusinessObject: function(element) {\n var bo = getBusinessObject(element);\n\n if (!is(bo, 'bpmn:Participant')) {\n return bo;\n }\n\n return bo.get('processRef');\n }\n }, translate));\n\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/HistoryTimeToLiveProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/InputParametersProps.js":
/*!**************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/InputParametersProps.js ***!
\**************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar inputParameters = __webpack_require__(/*! ./implementation/InputParameters */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputParameters.js\");\n\nmodule.exports = function(group, element, bpmnFactory, elementTemplates, translate) {\n\n var template = elementTemplates.get(element);\n\n if (template) {\n return;\n }\n\n var inputParametersEntry = inputParameters(element, bpmnFactory, {}, translate);\n\n group.entries = group.entries.concat(inputParametersEntry.entries);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/InputParametersProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/JobConfigurationProps.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/JobConfigurationProps.js ***!
\***************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar jobPriority = __webpack_require__(/*! ./implementation/JobPriority */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobPriority.js\"),\n jobRetryTimeCycle = __webpack_require__(/*! ./implementation/JobRetryTimeCycle */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobRetryTimeCycle.js\");\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n var businessObject = getBusinessObject(element);\n\n if (is(element, 'camunda:JobPriorized') ||\n is(element, 'bpmn:Participant') && businessObject.get('processRef')) {\n\n group.entries = group.entries.concat(jobPriority(element, bpmnFactory, {\n getBusinessObject: function(element) {\n var bo = getBusinessObject(element);\n\n if (!is(bo, 'bpmn:Participant')) {\n return bo;\n }\n\n return bo.get('processRef');\n }\n }, translate));\n }\n\n if (is(element, 'camunda:AsyncCapable')) {\n group.entries = group.entries.concat(jobRetryTimeCycle(element, bpmnFactory, {\n getBusinessObject: getBusinessObject\n }, translate));\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/JobConfigurationProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerDetailProps.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerDetailProps.js ***!
\*************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar find = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").find;\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n ImplementationTypeHelper = __webpack_require__(/*! ../../../helper/ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\"),\n scriptImplementation = __webpack_require__(/*! ./implementation/Script */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Script.js\"),\n timerImplementation = __webpack_require__(/*! ../../bpmn/parts/implementation/TimerEventDefinition */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/TimerEventDefinition.js\");\n\nmodule.exports = function(group, element, bpmnFactory, options, translate) {\n\n var LISTENER_TYPE_LABEL = {\n class: translate('Java Class'),\n expression: translate('Expression'),\n delegateExpression: translate('Delegate Expression'),\n script: translate('Script')\n };\n\n options = options || {};\n\n var getSelectedListener = options.getSelectedListener;\n\n var classProp = 'class',\n expressionProp = 'expression',\n delegateExpressionProp = 'delegateExpression',\n scriptProp = 'script';\n\n var executionListenerEventTypeOptions = ImplementationTypeHelper.isSequenceFlow(element) ? [\n { name: translate('take'), value: 'take' }\n ] : [\n { name: translate('start'), value: 'start' },\n { name: translate('end'), value: 'end' }\n ];\n\n var taskListenerEventTypeOptions = [\n { name: translate('create'), value: 'create' },\n { name: translate('assignment'), value: 'assignment' },\n { name: translate('complete'), value: 'complete' },\n { name: translate('delete'), value: 'delete' },\n { name: translate('update'), value: 'update' },\n { name: translate('timeout'), value: 'timeout' }\n ];\n\n var isSelected = function(element, node) {\n return getSelectedListener(element, node);\n };\n\n\n // eventType ////////////////\n group.entries.push(entryFactory.selectBox(translate, {\n id: 'listener-event-type',\n label: translate('Event Type'),\n modelProperty: 'eventType',\n emptyParameter: false,\n\n get: function(element, node) {\n\n var listener = getSelectedListener(element, node);\n\n var eventType = listener && listener.get('event');\n\n return {\n eventType: eventType\n };\n },\n\n set: function(element, values, node) {\n var eventType = values.eventType,\n listener = getSelectedListener(element, node),\n eventDefinitions = listener && listener.eventDefinitions;\n\n // ensure only timeout events can have timer event definitions\n if (eventDefinitions && eventType !== 'timeout') {\n eventDefinitions = [];\n }\n\n return cmdHelper.updateBusinessObject(element, listener,\n {\n event: eventType,\n eventDefinitions: eventDefinitions\n }\n );\n },\n\n selectOptions: function(element, node) {\n var eventTypeOptions;\n\n var selectedListener = getSelectedListener(element, node);\n if (ImplementationTypeHelper.isTaskListener(selectedListener)) {\n eventTypeOptions = taskListenerEventTypeOptions;\n } else if (ImplementationTypeHelper.isExecutionListener(selectedListener)) {\n eventTypeOptions = executionListenerEventTypeOptions;\n }\n\n return eventTypeOptions;\n\n },\n\n hidden: function(element, node) {\n return !isSelected(element, node);\n }\n\n }));\n\n\n // listenerId ///////////////\n group.entries.push(entryFactory.textField(translate, {\n id: 'listener-id',\n label: translate('Listener Id'),\n modelProperty: 'listenerId',\n\n get: function(element, node) {\n var value = {},\n listener = getSelectedListener(element, node);\n\n value.listenerId = (listener && listener.get('id')) || undefined;\n\n return value;\n },\n\n set: function(element, values, node) {\n var update = {},\n listener = getSelectedListener(element, node);\n\n update['id'] = values.listenerId || '';\n\n return cmdHelper.updateBusinessObject(element, listener, update);\n },\n\n hidden: function(element, node) {\n var listener = getSelectedListener(element, node);\n\n return !ImplementationTypeHelper.isTaskListener(listener);\n },\n\n validate: function(element, values, node) {\n var value = values.listenerId,\n listener = getSelectedListener(element, node),\n validate = {};\n\n if (!value && isTimeoutTaskListener(listener)) {\n validate.listenerId = translate('Must provide a value for timeout task listener');\n }\n\n return validate;\n }\n\n }));\n\n\n // listenerType ///////////////\n group.entries.push(entryFactory.selectBox(translate, {\n id: 'listener-type',\n label: translate('Listener Type'),\n selectOptions: [\n { value: classProp, name: translate('Java Class') },\n { value: expressionProp, name: translate('Expression') },\n { value: delegateExpressionProp, name: translate('Delegate Expression') },\n { value: scriptProp, name: translate('Script') }\n ],\n modelProperty: 'listenerType',\n emptyParameter: false,\n\n get: function(element, node) {\n var listener = getSelectedListener(element, node);\n return {\n listenerType: ImplementationTypeHelper.getImplementationType(listener)\n };\n },\n\n set: function(element, values, node) {\n var listener = getSelectedListener(element, node),\n listenerType = values.listenerType || undefined,\n update = {};\n\n update[classProp] = listenerType === classProp ? '' : undefined;\n update[expressionProp] = listenerType === expressionProp ? '' : undefined;\n update[delegateExpressionProp] = listenerType === delegateExpressionProp ? '' : undefined;\n update[scriptProp] = listenerType === scriptProp ? bpmnFactory.create('camunda:Script') : undefined;\n\n return cmdHelper.updateBusinessObject(element, listener, update);\n },\n\n hidden: function(element, node) {\n return !isSelected(element, node);\n }\n\n }));\n\n\n // listenerValue //////////////\n group.entries.push(entryFactory.textField(translate, {\n id: 'listener-value',\n dataValueLabel: 'listenerValueLabel',\n modelProperty: 'listenerValue',\n\n get: function(element, node) {\n var value = {},\n listener = getSelectedListener(element, node),\n listenerType = ImplementationTypeHelper.getImplementationType(listener);\n\n value.listenerValueLabel = LISTENER_TYPE_LABEL[listenerType] || '';\n value.listenerValue = (listener && listener.get(listenerType)) || undefined;\n\n return value;\n },\n\n set: function(element, values, node) {\n var update = {},\n listener = getSelectedListener(element, node),\n listenerType = ImplementationTypeHelper.getImplementationType(listener);\n\n update[listenerType] = values.listenerValue || '';\n\n return cmdHelper.updateBusinessObject(element, listener, update);\n },\n\n hidden: function(element, node) {\n var listener = getSelectedListener(element, node);\n return !listener || listener.script;\n },\n\n validate: function(element, values) {\n var value = values.listenerValue,\n validate = {};\n\n if (!value) {\n validate.listenerValue = translate('Must provide a value');\n }\n\n return validate;\n }\n\n }));\n\n\n // script ////////////////////\n var script = scriptImplementation('scriptFormat', 'value', true, translate);\n\n group.entries.push({\n id: 'listener-script-value',\n html: '' +\n script.template +\n '
',\n\n get: function(element, node) {\n var listener = getSelectedListener(element, node);\n return listener && listener.script ? script.get(element, listener.script) : {};\n },\n\n set: function(element, values, node) {\n var listener = getSelectedListener(element, node);\n var update = script.set(element, values, listener);\n return cmdHelper.updateBusinessObject(element, listener.script, update);\n },\n\n validate: function(element, values, node) {\n var listener = getSelectedListener(element, node);\n return listener && listener.script ? script.validate(element, values) : {};\n },\n\n isScript: function(element, node) {\n var listener = getSelectedListener(element, node);\n return listener && listener.script;\n },\n\n script: script\n\n });\n\n\n // timerEventDefinition //////\n var timerEventDefinitionHandler = function(element, node) {\n var listener = getSelectedListener(element, node);\n\n if (!listener || !isTimeoutTaskListener(listener)) {\n return;\n }\n\n var timerEventDefinition = getTimerEventDefinition(listener);\n\n if (!timerEventDefinition) {\n return false;\n }\n\n return timerEventDefinition;\n };\n\n function createTimerEventDefinition(element, node) {\n\n var listener = getSelectedListener(element, node);\n\n if (!listener || !isTimeoutTaskListener(listener)) {\n return;\n }\n\n var eventDefinitions = listener.get('eventDefinitions') || [],\n timerEventDefinition = bpmnFactory.create('bpmn:TimerEventDefinition');\n\n eventDefinitions.push(timerEventDefinition);\n\n listener.eventDefinitions = eventDefinitions;\n\n return timerEventDefinition;\n }\n\n var timerOptions = {\n idPrefix: 'listener-',\n createTimerEventDefinition: createTimerEventDefinition\n };\n\n timerImplementation(group, element, bpmnFactory, timerEventDefinitionHandler, translate, timerOptions);\n\n};\n\n\n// helpers //////////////\n\nfunction isTimeoutTaskListener(listener) {\n var eventType = listener && listener.event;\n return eventType === 'timeout';\n}\n\nfunction getTimerEventDefinition(bo) {\n var eventDefinitions = bo.eventDefinitions || [];\n\n return find(eventDefinitions, function(event) {\n return is(event, 'bpmn:TimerEventDefinition');\n });\n\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerDetailProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerFieldInjectionProps.js":
/*!*********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerFieldInjectionProps.js ***!
\*********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\");\n\nvar fieldInjection = __webpack_require__(/*! ./implementation/FieldInjection */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/FieldInjection.js\");\n\nmodule.exports = function(group, element, bpmnFactory, options, translate) {\n\n options = assign({\n idPrefix: 'listener-',\n insideListener: true\n }, options);\n\n var fieldInjectionEntry = fieldInjection(element, bpmnFactory, translate, options);\n\n if (fieldInjectionEntry && fieldInjectionEntry.length > 0) {\n group.entries = group.entries.concat(fieldInjectionEntry);\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerFieldInjectionProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerProps.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerProps.js ***!
\*******************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar listener = __webpack_require__(/*! ./implementation/Listener */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Listener.js\");\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var listenerEntry = listener(element, bpmnFactory, {}, translate);\n\n group.entries = group.entries.concat(listenerEntry.entries);\n\n return {\n getSelectedListener: listenerEntry.getSelectedListener\n };\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ListenerProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/MultiInstanceLoopProps.js":
/*!****************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/MultiInstanceLoopProps.js ***!
\****************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar multiInstanceLoopCharacteristics = __webpack_require__(/*! ./implementation/MultiInstanceLoopCharacteristics */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/MultiInstanceLoopCharacteristics.js\");\n\nvar jobRetryTimeCycle = __webpack_require__(/*! ./implementation/JobRetryTimeCycle */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobRetryTimeCycle.js\"),\n asyncContinuation = __webpack_require__(/*! ./implementation/AsyncContinuation */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/AsyncContinuation.js\");\n\n\nfunction getLoopCharacteristics(element) {\n var bo = getBusinessObject(element);\n return bo.loopCharacteristics;\n}\n\n\nfunction ensureMultiInstanceSupported(element) {\n var loopCharacteristics = getLoopCharacteristics(element);\n return !!loopCharacteristics && is(loopCharacteristics, 'camunda:Collectable');\n}\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n if (!ensureMultiInstanceSupported(element)) {\n return;\n }\n\n // multi instance properties\n group.entries = group.entries.concat(multiInstanceLoopCharacteristics(element, bpmnFactory, translate));\n\n // async continuation ///////////////////////////////////////////////////////\n group.entries = group.entries.concat(asyncContinuation(element, bpmnFactory, {\n getBusinessObject: getLoopCharacteristics,\n idPrefix: 'multiInstance-',\n labelPrefix: translate('Multi Instance ')\n }, translate));\n\n\n // retry time cycle //////////////////////////////////////////////////////////\n group.entries = group.entries.concat(jobRetryTimeCycle(element, bpmnFactory, {\n getBusinessObject: getLoopCharacteristics,\n idPrefix: 'multiInstance-',\n labelPrefix: translate('Multi Instance ')\n }, translate));\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/MultiInstanceLoopProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/OutputParametersProps.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/OutputParametersProps.js ***!
\***************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar outputParameters = __webpack_require__(/*! ./implementation/OutputParameters */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/OutputParameters.js\");\n\nmodule.exports = function(group, element, bpmnFactory, elementTemplates, translate) {\n\n var template = elementTemplates.get(element);\n\n if (template) {\n return;\n }\n\n var outputParametersEntry = outputParameters(element, bpmnFactory, {}, translate);\n\n group.entries = group.entries.concat(outputParametersEntry.entries);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/OutputParametersProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ProcessVariablesProps.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ProcessVariablesProps.js ***!
\***************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar processVariables = __webpack_require__(/*! ./implementation/ProcessVariables */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ProcessVariables.js\");\n\nmodule.exports = function(group, element, translate) {\n if (canHaveOverview(element)) {\n var processVariablesEntries = processVariables(element, translate);\n\n group.entries = group.entries.concat(processVariablesEntries);\n }\n};\n\n\n// helpers //////////\n\nfunction canHaveOverview(element) {\n var businessObject = getBusinessObject(element);\n\n return (\n isAny(element, ['bpmn:Process', 'bpmn:SubProcess']) ||\n (is(element, 'bpmn:Participant') && businessObject.get('processRef'))\n );\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ProcessVariablesProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/PropertiesProps.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/PropertiesProps.js ***!
\*********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar properties = __webpack_require__(/*! ./implementation/Properties */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Properties.js\"),\n elementHelper = __webpack_require__(/*! ../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var propertiesEntry = properties(element, bpmnFactory, {\n id: 'properties',\n modelProperties: [ 'name', 'value' ],\n labels: [ translate('Name'), translate('Value') ],\n\n getParent: function(element, node, bo) {\n return bo.extensionElements;\n },\n\n createParent: function(element, bo) {\n var parent = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);\n var cmd = cmdHelper.updateBusinessObject(element, bo, { extensionElements: parent });\n return {\n cmd: cmd,\n parent: parent\n };\n }\n }, translate);\n\n if (propertiesEntry) {\n group.entries.push(propertiesEntry);\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/PropertiesProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ScriptTaskProps.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ScriptTaskProps.js ***!
\*********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n scriptImplementation = __webpack_require__(/*! ./implementation/Script */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Script.js\");\n\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n var bo;\n\n if (is(element, 'bpmn:ScriptTask')) {\n bo = getBusinessObject(element);\n }\n\n if (!bo) {\n return;\n }\n\n var script = scriptImplementation('scriptFormat', 'script', false, translate);\n group.entries.push({\n id: 'script-implementation',\n label: translate('Script'),\n html: script.template,\n\n get: function(element) {\n return script.get(element, bo);\n },\n\n set: function(element, values, containerElement) {\n var properties = script.set(element, values, containerElement);\n\n return cmdHelper.updateProperties(element, properties);\n },\n\n validate: function(element, values) {\n return script.validate(element, values);\n },\n\n script : script,\n\n cssClasses: ['bpp-textfield']\n\n });\n\n group.entries.push(entryFactory.textField(translate, {\n id : 'scriptResultVariable',\n label : translate('Result Variable'),\n modelProperty : 'scriptResultVariable',\n\n get: function(element, propertyName) {\n var boResultVariable = bo.get('camunda:resultVariable');\n\n return { scriptResultVariable : boResultVariable };\n },\n\n set: function(element, values, containerElement) {\n return cmdHelper.updateProperties(element, {\n 'camunda:resultVariable': values.scriptResultVariable.length\n ? values.scriptResultVariable\n : undefined\n });\n }\n\n }));\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ScriptTaskProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ServiceTaskDelegateProps.js":
/*!******************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ServiceTaskDelegateProps.js ***!
\******************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar ImplementationTypeHelper = __webpack_require__(/*! ../../../helper/ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\"),\n InputOutputHelper = __webpack_require__(/*! ../../../helper/InputOutputHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/InputOutputHelper.js\");\n\nvar utils = __webpack_require__(/*! ../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\"),\n escapeHTML = utils.escapeHTML,\n triggerClickEvent = utils.triggerClickEvent;\n\nvar implementationType = __webpack_require__(/*! ./implementation/ImplementationType */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ImplementationType.js\"),\n delegate = __webpack_require__(/*! ./implementation/Delegate */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Delegate.js\"),\n external = __webpack_require__(/*! ./implementation/External */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/External.js\"),\n callable = __webpack_require__(/*! ./implementation/Callable */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Callable.js\"),\n resultVariable = __webpack_require__(/*! ./implementation/ResultVariable */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ResultVariable.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query,\n domClosest = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").closest,\n domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes;\n\nfunction getImplementationType(element) {\n return ImplementationTypeHelper.getImplementationType(element);\n}\n\nfunction getBusinessObject(element) {\n return ImplementationTypeHelper.getServiceTaskLikeBusinessObject(element);\n}\n\nfunction isDmnCapable(element) {\n return ImplementationTypeHelper.isDmnCapable(element);\n}\n\nfunction isExternalCapable(element) {\n return ImplementationTypeHelper.isExternalCapable(element);\n}\n\nfunction isServiceTaskLike(element) {\n return ImplementationTypeHelper.isServiceTaskLike(element);\n}\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n if (!isServiceTaskLike(getBusinessObject(element))) {\n return;\n }\n\n var hasDmnSupport = isDmnCapable(element);\n var hasExternalSupport = isExternalCapable(getBusinessObject(element));\n\n // implementation type ////////////////////////////////////\n\n group.entries = group.entries.concat(implementationType(element, bpmnFactory, {\n getBusinessObject: getBusinessObject,\n getImplementationType: getImplementationType,\n hasDmnSupport: hasDmnSupport,\n hasExternalSupport: hasExternalSupport,\n hasServiceTaskLikeSupport: true\n }, translate));\n\n\n // delegate (class, expression, delegateExpression) //////////\n\n group.entries = group.entries.concat(delegate(element, bpmnFactory, {\n getBusinessObject: getBusinessObject,\n getImplementationType: getImplementationType\n }, translate));\n\n\n // result variable /////////////////////////////////////////\n\n group.entries = group.entries.concat(resultVariable(element, bpmnFactory, {\n getBusinessObject: getBusinessObject,\n getImplementationType: getImplementationType,\n hideResultVariable: function(element, node) {\n return getImplementationType(element) !== 'expression';\n }\n }, translate));\n\n // external //////////////////////////////////////////////////\n\n if (hasExternalSupport) {\n group.entries = group.entries.concat(external(element, bpmnFactory, {\n getBusinessObject: getBusinessObject,\n getImplementationType: getImplementationType\n }, translate));\n }\n\n\n // dmn ////////////////////////////////////////////////////////\n\n if (hasDmnSupport) {\n group.entries = group.entries.concat(callable(element, bpmnFactory, {\n getCallableType: getImplementationType\n }, translate));\n }\n\n\n // connector ////////////////////////////////////////////////\n\n var isConnector = function(element) {\n return getImplementationType(element) === 'connector';\n };\n\n group.entries.push(entryFactory.link(translate, {\n id: 'configureConnectorLink',\n buttonLabel: translate('Configure Connector'),\n handleClick: function(element, node, event) {\n\n var connectorTabEl = getTabNode(node, 'connector');\n\n if (connectorTabEl) {\n triggerClickEvent(connectorTabEl);\n }\n\n // suppress actual link click\n return false;\n },\n showLink: function(element, node) {\n var link = domQuery('a', node);\n link.textContent = '';\n\n domClasses(link).remove('bpp-error-message');\n\n if (isConnector(element)) {\n var connectorId = InputOutputHelper.getConnector(element).get('connectorId');\n if (connectorId) {\n link.textContent = translate('Configure Connector');\n } else {\n link.innerHTML = ' ' + escapeHTML(translate('Must configure Connector'));\n domClasses(link).add('bpp-error-message');\n }\n\n return true;\n }\n\n return false;\n }\n }));\n\n};\n\n\n\n// helpers ///////////////////////////\n\nfunction getTabNode(el, id) {\n var containerEl = domClosest(el, '.bpp-properties-panel');\n\n return domQuery('a[data-tab-target=\"' + id + '\"]', containerEl);\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/ServiceTaskDelegateProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/StartEventInitiator.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/StartEventInitiator.js ***!
\*************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\n\nmodule.exports = function(group, element, translate) {\n\n var bo = getBusinessObject(element);\n\n if (!bo) {\n return;\n }\n\n if (is(element, 'camunda:Initiator') && !is(element.parent, 'bpmn:SubProcess')) {\n group.entries.push(entryFactory.textField(translate, {\n id: 'initiator',\n label: translate('Initiator'),\n modelProperty: 'initiator'\n }));\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/StartEventInitiator.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/TasklistProps.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/TasklistProps.js ***!
\*******************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\r\n\r\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\r\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\r\n\r\nvar tasklist = __webpack_require__(/*! ./implementation/Tasklist */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Tasklist.js\");\r\n\r\nmodule.exports = function(group, element, bpmnFactory, translate) {\r\n var businessObject = getBusinessObject(element);\r\n\r\n if (is(element, 'camunda:Process') ||\r\n is(element, 'bpmn:Participant') && businessObject.get('processRef')) {\r\n\r\n group.entries = group.entries.concat(tasklist(element, bpmnFactory, {\r\n getBusinessObject: function(element) {\r\n var bo = getBusinessObject(element);\r\n\r\n if (!is(bo, 'bpmn:Participant')) {\r\n return bo;\r\n }\r\n\r\n return bo.get('processRef');\r\n }\r\n }, translate));\r\n\r\n }\r\n};\r\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/TasklistProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/UserTaskProps.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/UserTaskProps.js ***!
\*******************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\n\nmodule.exports = function(group, element, translate) {\n if (is(element, 'camunda:Assignable')) {\n\n // Assignee\n group.entries.push(entryFactory.textField(translate, {\n id : 'assignee',\n label : translate('Assignee'),\n modelProperty : 'assignee'\n }));\n\n // Candidate Users\n group.entries.push(entryFactory.textField(translate, {\n id : 'candidateUsers',\n label : translate('Candidate Users'),\n modelProperty : 'candidateUsers'\n }));\n\n // Candidate Groups\n group.entries.push(entryFactory.textField(translate, {\n id : 'candidateGroups',\n label : translate('Candidate Groups'),\n modelProperty : 'candidateGroups'\n }));\n\n // Due Date\n group.entries.push(entryFactory.textField(translate, {\n id : 'dueDate',\n description : translate('The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)'),\n label : translate('Due Date'),\n modelProperty : 'dueDate'\n }));\n\n // FollowUp Date\n group.entries.push(entryFactory.textField(translate, {\n id : 'followUpDate',\n description : translate('The follow up date as an EL expression (e.g. ${someDate} or an ' +\n 'ISO date (e.g. 2015-06-26T09:54:00)'),\n label : translate('Follow Up Date'),\n modelProperty : 'followUpDate'\n }));\n\n // priority\n group.entries.push(entryFactory.textField(translate, {\n id : 'priority',\n label : translate('Priority'),\n modelProperty : 'priority'\n }));\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/UserTaskProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/VariableMappingProps.js":
/*!**************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/VariableMappingProps.js ***!
\**************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar filter = __webpack_require__(/*! lodash/filter */ \"./node_modules/lodash/filter.js\");\n\nvar extensionElementsHelper = __webpack_require__(/*! ../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n elementHelper = __webpack_require__(/*! ../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n eventDefinitionHelper = __webpack_require__(/*! ../../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\");\n\nvar extensionElementsEntry = __webpack_require__(/*! ./implementation/ExtensionElements */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExtensionElements.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\n/**\n * return depend on parameter 'type' camunda:in or camunda:out extension elements\n */\nfunction getCamundaInOutMappings(element, type) {\n var bo = getBusinessObject(element);\n\n var signalEventDefinition = eventDefinitionHelper.getSignalEventDefinition(bo);\n\n return extensionElementsHelper.getExtensionElements(signalEventDefinition || bo, type);\n}\n\n/**\n * return depend on parameter 'type' camunda:in or camunda:out extension elements\n * with source or sourceExpression attribute\n */\nfunction getVariableMappings(element, type) {\n var camundaMappings = getCamundaInOutMappings(element, type);\n\n return filter(camundaMappings, function(mapping) {\n return !mapping.businessKey;\n });\n}\n\nfunction getInOutType(mapping) {\n var inOutType = 'source';\n\n if (mapping.variables === 'all') {\n inOutType = 'variables';\n }\n else if (typeof mapping.source !== 'undefined') {\n inOutType = 'source';\n }\n else if (typeof mapping.sourceExpression !== 'undefined') {\n inOutType = 'sourceExpression';\n }\n\n return inOutType;\n}\n\nvar CAMUNDA_IN_EXTENSION_ELEMENT = 'camunda:In',\n CAMUNDA_OUT_EXTENSION_ELEMENT = 'camunda:Out';\n\nvar WHITESPACE_REGEX = /\\s/;\n\n\nmodule.exports = function(group, element, bpmnFactory, translate) {\n\n var inOutTypeOptions = [\n {\n name: translate('Source'),\n value: 'source'\n },\n {\n name: translate('Source Expression'),\n value: 'sourceExpression'\n },\n {\n name: translate('All'),\n value: 'variables'\n }\n ];\n\n var signalEventDefinition = eventDefinitionHelper.getSignalEventDefinition(element);\n\n if (!is(element, 'camunda:CallActivity') && !signalEventDefinition) {\n return;\n }\n\n if (signalEventDefinition && !(isAny(element, [\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:EndEvent'\n ]))) {\n return;\n }\n\n var isSelected = function(element, node) {\n return !!getSelected(element, node);\n };\n\n var getSelected = function(element, node) {\n var parentNode = node.parentNode;\n var selection = inEntry.getSelected(element, parentNode);\n\n var parameter = getVariableMappings(element, CAMUNDA_IN_EXTENSION_ELEMENT)[selection.idx];\n\n if (!parameter && outEntry) {\n selection = outEntry.getSelected(element, parentNode);\n parameter = getVariableMappings(element, CAMUNDA_OUT_EXTENSION_ELEMENT)[selection.idx];\n }\n\n return parameter;\n };\n\n var setOptionLabelValue = function(type) {\n return function(element, node, option, property, value, idx) {\n var variableMappings = getVariableMappings(element, type);\n var mappingValue = variableMappings[idx];\n var label = (mappingValue.target || '') + ' := ';\n var mappingType = getInOutType(mappingValue);\n\n if (mappingType === 'variables') {\n label = 'all';\n }\n else if (mappingType === 'source') {\n label = label + (mappingValue.source || '');\n }\n else if (mappingType === 'sourceExpression') {\n label = label + (mappingValue.sourceExpression || '');\n } else {\n label = label + '';\n }\n\n option.text = label;\n };\n };\n\n var newElement = function(type) {\n return function(element, extensionElements, value) {\n var newElem = elementHelper.createElement(type, { source: '' }, extensionElements, bpmnFactory);\n\n return cmdHelper.addElementsTolist(element, extensionElements, 'values', [ newElem ]);\n };\n };\n\n var removeElement = function(type) {\n return function(element, extensionElements, value, idx) {\n var variablesMappings= getVariableMappings(element, type);\n var mapping = variablesMappings[idx];\n\n if (mapping) {\n return extensionElementsHelper\n .removeEntry(signalEventDefinition || getBusinessObject(element), element, mapping);\n }\n };\n };\n\n // in mapping for source and sourceExpression ///////////////////////////////////////////////////////////////\n\n var inEntry = extensionElementsEntry(element, bpmnFactory, {\n id: 'variableMapping-in',\n label: translate('In Mapping'),\n modelProperty: 'source',\n prefix: 'In',\n idGeneration: false,\n resizable: true,\n businessObject: signalEventDefinition || getBusinessObject(element),\n\n createExtensionElement: newElement(CAMUNDA_IN_EXTENSION_ELEMENT),\n removeExtensionElement: removeElement(CAMUNDA_IN_EXTENSION_ELEMENT),\n\n getExtensionElements: function(element) {\n return getVariableMappings(element, CAMUNDA_IN_EXTENSION_ELEMENT);\n },\n\n onSelectionChange: function(element, node, event, scope) {\n outEntry && outEntry.deselect(element, node.parentNode);\n },\n\n setOptionLabelValue: setOptionLabelValue(CAMUNDA_IN_EXTENSION_ELEMENT)\n });\n group.entries.push(inEntry);\n\n // out mapping for source and sourceExpression ///////////////////////////////////////////////////////\n\n if (!signalEventDefinition) {\n var outEntry = extensionElementsEntry(element, bpmnFactory, {\n id: 'variableMapping-out',\n label: translate('Out Mapping'),\n modelProperty: 'source',\n prefix: 'Out',\n idGeneration: false,\n resizable: true,\n\n createExtensionElement: newElement(CAMUNDA_OUT_EXTENSION_ELEMENT),\n removeExtensionElement: removeElement(CAMUNDA_OUT_EXTENSION_ELEMENT),\n\n getExtensionElements: function(element) {\n return getVariableMappings(element, CAMUNDA_OUT_EXTENSION_ELEMENT);\n },\n\n onSelectionChange: function(element, node, event, scope) {\n inEntry.deselect(element, node.parentNode);\n },\n\n setOptionLabelValue: setOptionLabelValue(CAMUNDA_OUT_EXTENSION_ELEMENT)\n });\n group.entries.push(outEntry);\n }\n\n // label for selected mapping ///////////////////////////////////////////////////////\n\n group.entries.push(entryFactory.label({\n id: 'variableMapping-typeLabel',\n get: function(element, node) {\n var mapping = getSelected(element, node);\n\n var value = '';\n if (is(mapping, CAMUNDA_IN_EXTENSION_ELEMENT)) {\n value = translate('In Mapping');\n }\n else if (is(mapping, CAMUNDA_OUT_EXTENSION_ELEMENT)) {\n value = translate('Out Mapping');\n }\n\n return {\n label: value\n };\n },\n\n showLabel: function(element, node) {\n return isSelected(element, node);\n }\n }));\n\n\n group.entries.push(entryFactory.selectBox(translate, {\n id: 'variableMapping-inOutType',\n label: translate('Type'),\n selectOptions: inOutTypeOptions,\n modelProperty: 'inOutType',\n get: function(element, node) {\n var mapping = getSelected(element, node) || {};\n return {\n inOutType: getInOutType(mapping)\n };\n },\n set: function(element, values, node) {\n var inOutType = values.inOutType;\n\n var props = {\n 'source' : undefined,\n 'sourceExpression' : undefined,\n 'variables' : undefined\n };\n\n if (inOutType === 'source') {\n props.source = '';\n }\n else if (inOutType === 'sourceExpression') {\n props.sourceExpression = '';\n }\n else if (inOutType === 'variables') {\n props.variables = 'all';\n props.target = undefined;\n }\n\n var mapping = getSelected(element, node);\n return cmdHelper.updateBusinessObject(element, mapping, props);\n },\n hidden: function(element, node) {\n return !isSelected(element, node);\n }\n\n }));\n\n\n group.entries.push(entryFactory.textField(translate, {\n id: 'variableMapping-source',\n dataValueLabel: 'sourceLabel',\n modelProperty: 'source',\n get: function(element, node) {\n var mapping = getSelected(element, node) || {};\n\n var label = '';\n var inOutType = getInOutType(mapping);\n if (inOutType === 'source') {\n label = translate('Source');\n }\n else if (inOutType === 'sourceExpression') {\n label = translate('Source Expression');\n }\n\n return {\n source: mapping[inOutType],\n sourceLabel: label\n };\n },\n set: function(element, values, node) {\n values.source = values.source || undefined;\n\n var mapping = getSelected(element, node);\n var inOutType = getInOutType(mapping);\n\n var props = {};\n props[inOutType] = values.source || '';\n\n return cmdHelper.updateBusinessObject(element, mapping, props);\n },\n\n // one of both (source or sourceExpression) must have a value to make\n // the configuration easier and more understandable\n // it is not engine conform\n validate: function(element, values, node) {\n var mapping = getSelected(element, node);\n\n var validation = {};\n if (mapping) {\n if (!values.source) {\n validation.source =\n validation.source = values.sourceLabel ?\n translate('Mapping must have a {value}', { value: values.sourceLabel.toLowerCase() }) :\n translate('Mapping must have a value');\n }\n\n var inOutType = getInOutType(mapping);\n\n if (WHITESPACE_REGEX.test(values.source) && inOutType !== 'sourceExpression') {\n validation.source = translate('{label} must not contain whitespace', { label: values.sourceLabel });\n }\n }\n\n return validation;\n },\n hidden: function(element, node) {\n var selectedMapping = getSelected(element, node);\n return !selectedMapping || (selectedMapping && selectedMapping.variables);\n }\n }));\n\n\n group.entries.push(entryFactory.textField(translate, {\n id: 'variableMapping-target',\n label: translate('Target'),\n modelProperty: 'target',\n get: function(element, node) {\n return {\n target: (getSelected(element, node) || {}).target\n };\n },\n set: function(element, values, node) {\n values.target = values.target || undefined;\n var mapping = getSelected(element, node);\n return cmdHelper.updateBusinessObject(element, mapping, values);\n },\n validate: function(element, values, node) {\n var mapping = getSelected(element, node);\n\n var validation = {};\n if (mapping) {\n var mappingType = getInOutType(mapping);\n\n if (!values.target && mappingType !== 'variables') {\n validation.target = translate('Mapping must have a target');\n }\n\n if (values.target\n && WHITESPACE_REGEX.test(values.target)\n && mappingType !== 'variables') {\n validation.target = translate('Target must not contain whitespace');\n }\n }\n\n return validation;\n },\n hidden: function(element, node) {\n var selectedMapping = getSelected(element, node);\n return !selectedMapping || (selectedMapping && selectedMapping.variables);\n }\n }));\n\n\n group.entries.push(entryFactory.checkbox(translate, {\n id: 'variableMapping-local',\n label: translate('Local'),\n modelProperty: 'local',\n get: function(element, node) {\n return {\n local: (getSelected(element, node) || {}).local\n };\n },\n set: function(element, values, node) {\n values.local = values.local || false;\n var mapping = getSelected(element, node);\n return cmdHelper.updateBusinessObject(element, mapping, values);\n },\n hidden: function(element, node) {\n return !isSelected(element, node);\n }\n }));\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/VariableMappingProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/VersionTagProps.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/VersionTagProps.js ***!
\*********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nmodule.exports = function(group, element, translate) {\n\n var bo = getBusinessObject(element);\n\n if (!bo) {\n return;\n }\n\n if (is(element, 'bpmn:Process') || is(element, 'bpmn:Participant') && bo.get('processRef')) {\n var versionTagEntry = entryFactory.textField(translate, {\n id: 'versionTag',\n label: translate('Version Tag'),\n modelProperty: 'versionTag'\n });\n\n // in participants we have to change the default behavior of set and get\n if (is(element, 'bpmn:Participant')) {\n versionTagEntry.get = function(element) {\n var processBo = bo.get('processRef');\n\n return {\n versionTag: processBo.get('camunda:versionTag')\n };\n };\n\n versionTagEntry.set = function(element, values) {\n var processBo = bo.get('processRef');\n\n return cmdHelper.updateBusinessObject(element, processBo, {\n 'camunda:versionTag': values.versionTag || undefined\n });\n };\n }\n\n group.entries.push(versionTagEntry);\n\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/VersionTagProps.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/AsyncContinuation.js":
/*!**************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/AsyncContinuation.js ***!
\**************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar asyncCapableHelper = __webpack_require__(/*! ../../../../helper/AsyncCapableHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/AsyncCapableHelper.js\"),\n eventDefinitionHelper = __webpack_require__(/*! ../../../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nfunction isAsyncBefore(bo) {\n return asyncCapableHelper.isAsyncBefore(bo);\n}\n\nfunction isAsyncAfter(bo) {\n return asyncCapableHelper.isAsyncAfter(bo);\n}\n\nfunction isExclusive(bo) {\n return asyncCapableHelper.isExclusive(bo);\n}\n\nfunction removeFailedJobRetryTimeCycle(bo, element) {\n return asyncCapableHelper.removeFailedJobRetryTimeCycle(bo, element);\n}\n\nfunction canRemoveFailedJobRetryTimeCycle(element) {\n return !eventDefinitionHelper.getTimerEventDefinition(element);\n}\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getBusinessObject = options.getBusinessObject;\n\n var idPrefix = options.idPrefix || '',\n labelPrefix = options.labelPrefix || '';\n\n\n var asyncBeforeEntry = entryFactory.checkbox(translate, {\n id: idPrefix + 'asyncBefore',\n label: labelPrefix + translate('Asynchronous Before'),\n modelProperty: 'asyncBefore',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n return {\n asyncBefore: isAsyncBefore(bo)\n };\n },\n\n set: function(element, values) {\n var bo = getBusinessObject(element);\n var asyncBefore = !!values.asyncBefore;\n\n var props = {\n 'camunda:asyncBefore': asyncBefore,\n 'camunda:async': false\n };\n\n var commands = [];\n if (!isAsyncAfter(bo) && !asyncBefore) {\n props = assign({ 'camunda:exclusive' : true }, props);\n if (canRemoveFailedJobRetryTimeCycle(element)) {\n commands.push(removeFailedJobRetryTimeCycle(bo, element));\n }\n }\n\n commands.push(cmdHelper.updateBusinessObject(element, bo, props));\n return commands;\n }\n });\n\n\n var asyncAfterEntry = entryFactory.checkbox(translate, {\n id: idPrefix + 'asyncAfter',\n label: labelPrefix + translate('Asynchronous After'),\n modelProperty: 'asyncAfter',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n return {\n asyncAfter: isAsyncAfter(bo)\n };\n },\n\n set: function(element, values) {\n var bo = getBusinessObject(element);\n var asyncAfter = !!values.asyncAfter;\n\n var props = {\n 'camunda:asyncAfter': asyncAfter\n };\n\n var commands = [];\n if (!isAsyncBefore(bo) && !asyncAfter) {\n props = assign({ 'camunda:exclusive' : true }, props);\n if (canRemoveFailedJobRetryTimeCycle(element)) {\n commands.push(removeFailedJobRetryTimeCycle(bo, element));\n }\n }\n\n commands.push(cmdHelper.updateBusinessObject(element, bo, props));\n return commands;\n }\n });\n\n\n var exclusiveEntry = entryFactory.checkbox(translate, {\n id: idPrefix + 'exclusive',\n label: labelPrefix + translate('Exclusive'),\n modelProperty: 'exclusive',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n return { exclusive: isExclusive(bo) };\n },\n\n set: function(element, values) {\n var bo = getBusinessObject(element);\n return cmdHelper.updateBusinessObject(element, bo, { 'camunda:exclusive': !!values.exclusive });\n },\n\n hidden: function(element) {\n var bo = getBusinessObject(element);\n return bo && !isAsyncAfter(bo) && !isAsyncBefore(bo);\n }\n });\n\n return [ asyncBeforeEntry, asyncAfterEntry, exclusiveEntry ];\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/AsyncContinuation.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Callable.js":
/*!*****************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Callable.js ***!
\*****************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n extensionElementsHelper = __webpack_require__(/*! ../../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\");\n\n\nvar resultVariable = __webpack_require__(/*! ./ResultVariable */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ResultVariable.js\");\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nvar attributeInfo = {\n bpmn: {\n element: 'calledElement',\n binding: 'camunda:calledElementBinding',\n version: 'camunda:calledElementVersion',\n versionTag: 'camunda:calledElementVersionTag',\n tenantId: 'camunda:calledElementTenantId'\n },\n\n cmmn: {\n element: 'camunda:caseRef',\n binding: 'camunda:caseBinding',\n version: 'camunda:caseVersion',\n tenantId: 'camunda:caseTenantId'\n },\n\n dmn: {\n element: 'camunda:decisionRef',\n binding: 'camunda:decisionRefBinding',\n version: 'camunda:decisionRefVersion',\n versionTag: 'camunda:decisionRefVersionTag',\n tenantId: 'camunda:decisionRefTenantId'\n }\n};\n\nvar mapDecisionResultOptions = [\n {\n name: 'singleEntry (TypedValue)',\n value: 'singleEntry'\n },\n {\n name:'singleResult (Map)',\n value:'singleResult'\n },\n {\n name:'collectEntries (List)',\n value:'collectEntries'\n },\n {\n name:'resultList (List>)',\n value:'resultList'\n }\n];\n\nvar delegateVariableMappingOptions = [\n {\n name: 'variableMappingClass',\n value: 'variableMappingClass'\n },\n {\n name: 'variableMappingDelegateExpression',\n value: 'variableMappingDelegateExpression'\n }\n];\n\nfunction getCamundaInWithBusinessKey(element) {\n var camundaIn = [],\n bo = getBusinessObject(element);\n\n var camundaInParams = extensionElementsHelper.getExtensionElements(bo, 'camunda:In');\n\n forEach(camundaInParams, function(param) {\n if (param.businessKey !== undefined) {\n camundaIn.push(param);\n }\n });\n\n return camundaIn;\n}\n\nfunction setBusinessKey(element, text, bpmnFactory) {\n var commands = [];\n\n var camundaInWithBusinessKey = getCamundaInWithBusinessKey(element);\n\n if (camundaInWithBusinessKey.length) {\n commands.push(cmdHelper.updateBusinessObject(element, camundaInWithBusinessKey[0], {\n businessKey: text\n }));\n } else {\n var bo = getBusinessObject(element),\n extensionElements = bo.extensionElements;\n\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);\n commands.push(cmdHelper.updateProperties(element, { extensionElements: extensionElements }));\n }\n\n var camundaIn = elementHelper.createElement(\n 'camunda:In',\n { 'businessKey': text },\n extensionElements,\n bpmnFactory\n );\n\n commands.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n 'extensionElements',\n [ camundaIn ],[]\n ));\n }\n\n return commands;\n}\n\nfunction deleteBusinessKey(element) {\n var camundaInExtensions = getCamundaInWithBusinessKey(element);\n var commands = [];\n forEach(camundaInExtensions, function(elem) {\n commands.push(extensionElementsHelper.removeEntry(getBusinessObject(element), element, elem));\n });\n return commands;\n}\n\nfunction isSupportedCallableType(type) {\n return [ 'bpmn', 'cmmn', 'dmn' ].indexOf(type) !== -1;\n}\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var bindingOptions = [\n {\n name: translate('latest'),\n value: 'latest'\n },\n {\n name: translate('deployment'),\n value: 'deployment'\n },\n {\n name: translate('version'),\n value: 'version'\n },\n {\n name: translate('versionTag'),\n value: 'versionTag'\n }\n ];\n\n var getCallableType = options.getCallableType;\n\n var entries = [];\n\n function getAttribute(element, prop) {\n var type = getCallableType(element);\n return (attributeInfo[type] || {})[prop];\n }\n\n function getCallActivityBindingValue(element) {\n var type = getCallableType(element);\n var bo = getBusinessObject(element);\n var attr = (attributeInfo[type] || {}).binding;\n return bo.get(attr);\n }\n\n function getDelegateVariableMappingType(element) {\n var bo = getBusinessObject(element);\n\n var boVariableMappingClass = bo.get('camunda:variableMappingClass'),\n boVariableMappingDelegateExpression = bo.get('camunda:variableMappingDelegateExpression');\n\n var delegateVariableMappingType = '';\n if (typeof boVariableMappingClass !== 'undefined') {\n delegateVariableMappingType = 'variableMappingClass';\n } else\n\n if (typeof boVariableMappingDelegateExpression !== 'undefined') {\n delegateVariableMappingType = 'variableMappingDelegateExpression';\n }\n\n return delegateVariableMappingType;\n }\n\n\n entries.push(entryFactory.textField(translate, {\n id: 'callable-element-ref',\n dataValueLabel: 'callableElementLabel',\n modelProperty: 'callableElementRef',\n\n get: function(element, node) {\n var callableElementRef;\n\n var attr = getAttribute(element, 'element');\n if (attr) {\n var bo = getBusinessObject(element);\n callableElementRef = bo.get(attr);\n }\n\n var label = '';\n var type = getCallableType(element);\n if (type === 'bpmn') {\n label = translate('Called Element');\n }\n else if (type === 'cmmn') {\n label = translate('Case Ref');\n }\n else if (type === 'dmn') {\n label = translate('Decision Ref');\n }\n\n return {\n callableElementRef: callableElementRef,\n callableElementLabel: label\n };\n },\n\n set: function(element, values, node) {\n var newCallableElementRef = values.callableElementRef;\n var attr = getAttribute(element, 'element');\n\n var props = {};\n props[attr] = newCallableElementRef || '';\n\n return cmdHelper.updateProperties(element, props);\n },\n\n validate: function(element, values, node) {\n var elementRef = values.callableElementRef;\n var type = getCallableType(element);\n return isSupportedCallableType(type) && !elementRef ? { callableElementRef: translate('Must provide a value') } : {};\n },\n\n hidden: function(element, node) {\n return !isSupportedCallableType(getCallableType(element));\n }\n\n }));\n\n entries.push(entryFactory.selectBox(translate, {\n id: 'callable-binding',\n label: translate('Binding'),\n selectOptions: function(element) {\n var type = getCallableType(element);\n var options;\n\n if (type === 'cmmn') {\n options = bindingOptions.filter(function(bindingOption) {\n return bindingOption.value !== 'versionTag';\n });\n } else {\n options = bindingOptions;\n }\n return options;\n },\n modelProperty: 'callableBinding',\n\n get: function(element, node) {\n var callableBinding;\n\n var attr = getAttribute(element, 'binding');\n if (attr) {\n var bo = getBusinessObject(element);\n callableBinding = bo.get(attr) || 'latest';\n }\n\n return {\n callableBinding: callableBinding\n };\n },\n\n set: function(element, values, node) {\n var binding = values.callableBinding;\n var attr = getAttribute(element, 'binding'),\n attrVer = getAttribute(element, 'version'),\n attrVerTag = getAttribute(element, 'versionTag');\n\n var props = {};\n props[attr] = binding;\n\n // set version and versionTag values always to undefined to delete the existing value\n props[attrVer] = undefined;\n props[attrVerTag] = undefined;\n\n return cmdHelper.updateProperties(element, props);\n },\n\n hidden: function(element, node) {\n return !isSupportedCallableType(getCallableType(element));\n }\n\n }));\n\n entries.push(entryFactory.textField(translate, {\n id: 'callable-version',\n label: translate('Version'),\n modelProperty: 'callableVersion',\n\n get: function(element, node) {\n var callableVersion;\n\n var attr = getAttribute(element, 'version');\n if (attr) {\n var bo = getBusinessObject(element);\n callableVersion = bo.get(attr);\n }\n\n return {\n callableVersion: callableVersion\n };\n },\n\n set: function(element, values, node) {\n var version = values.callableVersion;\n var attr = getAttribute(element, 'version');\n\n var props = {};\n props[attr] = version || undefined;\n\n return cmdHelper.updateProperties(element, props);\n },\n\n validate: function(element, values, node) {\n var version = values.callableVersion;\n\n var type = getCallableType(element);\n return (\n isSupportedCallableType(type) &&\n getCallActivityBindingValue(element) === 'version' && (\n !version ? { callableVersion: translate('Must provide a value') } : {}\n )\n );\n },\n\n hidden: function(element, node) {\n var type = getCallableType(element);\n return !isSupportedCallableType(type) || getCallActivityBindingValue(element) !== 'version';\n }\n\n }));\n\n entries.push(entryFactory.textField(translate, {\n id: 'callable-version-tag',\n label: translate('Version Tag'),\n modelProperty: 'versionTag',\n\n get: function(element, node) {\n var versionTag;\n\n var attr = getAttribute(element, 'versionTag');\n\n if (attr) {\n var bo = getBusinessObject(element);\n\n versionTag = bo.get(attr);\n }\n\n return {\n versionTag: versionTag\n };\n },\n\n set: function(element, values, node) {\n var versionTag = values.versionTag;\n\n var attr = getAttribute(element, 'versionTag');\n\n var props = {};\n\n props[attr] = versionTag || undefined;\n\n return cmdHelper.updateProperties(element, props);\n },\n\n validate: function(element, values, node) {\n var versionTag = values.versionTag;\n\n var type = getCallableType(element);\n\n return (\n isSupportedCallableType(type) &&\n getCallActivityBindingValue(element) === 'versionTag' && (\n !versionTag ? { versionTag: translate('Must provide a value') } : {}\n )\n );\n },\n\n hidden: function(element, node) {\n var type = getCallableType(element);\n\n return !isSupportedCallableType(type) || getCallActivityBindingValue(element) !== 'versionTag';\n }\n\n }));\n\n entries.push(entryFactory.textField(translate, {\n id: 'tenant-id',\n label: translate('Tenant Id'),\n modelProperty: 'tenantId',\n\n get: function(element, node) {\n var tenantId;\n\n var attr = getAttribute(element, 'tenantId');\n if (attr) {\n var bo = getBusinessObject(element);\n tenantId = bo.get(attr);\n }\n\n return {\n tenantId: tenantId\n };\n },\n\n set: function(element, values, node) {\n var tenantId = values.tenantId;\n var attr = getAttribute(element, 'tenantId');\n\n var props = {};\n props[attr] = tenantId || undefined;\n\n return cmdHelper.updateProperties(element, props);\n },\n\n hidden: function(element, node) {\n var type = getCallableType(element);\n return !isSupportedCallableType(type);\n }\n\n }));\n\n if (is(getBusinessObject(element), 'bpmn:CallActivity')) {\n entries.push(entryFactory.checkbox(translate, {\n id: 'callable-business-key',\n label: translate('Business Key'),\n modelProperty: 'callableBusinessKey',\n\n get: function(element, node) {\n var camundaIn = getCamundaInWithBusinessKey(element);\n\n return {\n callableBusinessKey: !!(camundaIn && camundaIn.length > 0)\n };\n },\n\n set: function(element, values, node) {\n if (values.callableBusinessKey) {\n return setBusinessKey(element, '#{execution.processBusinessKey}', bpmnFactory);\n } else {\n return deleteBusinessKey(element);\n }\n }\n }));\n }\n\n entries.push(entryFactory.textField(translate, {\n id: 'business-key-expression',\n label: translate('Business Key Expression'),\n modelProperty: 'businessKey',\n\n get: function(element, node) {\n var camundaInWithBusinessKey = getCamundaInWithBusinessKey(element);\n\n return {\n businessKey: (\n camundaInWithBusinessKey.length ?\n camundaInWithBusinessKey[0].get('camunda:businessKey') :\n undefined\n )\n };\n },\n\n set: function(element, values, node) {\n var businessKey = values.businessKey;\n\n return setBusinessKey(element, businessKey, bpmnFactory);\n },\n\n validate: function(element, values, node) {\n var businessKey = values.businessKey;\n\n return businessKey === '' ? { businessKey: translate('Must provide a value') } : {};\n },\n\n hidden: function(element, node) {\n return !getCamundaInWithBusinessKey(element).length;\n }\n\n }));\n\n entries = entries.concat(resultVariable(element, bpmnFactory, {\n id: 'dmn-resultVariable',\n getBusinessObject: getBusinessObject,\n getImplementationType: getCallableType,\n hideResultVariable: function(element, node) {\n return getCallableType(element) !== 'dmn';\n }\n }, translate));\n\n entries.push(entryFactory.selectBox(translate, {\n id: 'dmn-map-decision-result',\n label: translate('Map Decision Result'),\n selectOptions: mapDecisionResultOptions,\n modelProperty: 'mapDecisionResult',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n return {\n mapDecisionResult: bo.get('camunda:mapDecisionResult') || 'resultList'\n };\n },\n\n set: function(element, values, node) {\n return cmdHelper.updateProperties(element, {\n 'camunda:mapDecisionResult': values.mapDecisionResult || 'resultList'\n });\n },\n\n hidden: function(element, node) {\n var bo = getBusinessObject(element);\n var resultVariable = bo.get('camunda:resultVariable');\n return !(getCallableType(element) === 'dmn' && typeof resultVariable !== 'undefined');\n }\n\n }));\n\n\n entries.push(entryFactory.selectBox(translate, {\n id: 'delegateVariableMappingType',\n label: translate('Delegate Variable Mapping'),\n selectOptions: delegateVariableMappingOptions,\n emptyParameter: true,\n modelProperty: 'delegateVariableMappingType',\n\n get: function(element, node) {\n return {\n delegateVariableMappingType : getDelegateVariableMappingType(element)\n };\n },\n\n set: function(element, values, node) {\n var delegateVariableMappingType = values.delegateVariableMappingType;\n\n var props = {\n 'camunda:variableMappingClass' : undefined,\n 'camunda:variableMappingDelegateExpression' : undefined\n };\n\n if (delegateVariableMappingType === 'variableMappingClass') {\n props['camunda:variableMappingClass'] = '';\n }\n else if (delegateVariableMappingType === 'variableMappingDelegateExpression') {\n props['camunda:variableMappingDelegateExpression'] = '';\n }\n\n return cmdHelper.updateProperties(element, props);\n },\n\n hidden: function(element, node) {\n return (getCallableType(element) !== 'bpmn');\n }\n\n }));\n\n entries.push(entryFactory.textField(translate, {\n id: 'delegateVariableMapping',\n dataValueLabel: 'delegateVariableMappingLabel',\n modelProperty: 'delegateVariableMapping',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n\n var label = '';\n var delegateVariableMapping = undefined;\n var type = getDelegateVariableMappingType(element);\n\n if (type === 'variableMappingClass') {\n label = translate('Class');\n delegateVariableMapping = bo.get('camunda:variableMappingClass');\n }\n else if (type === 'variableMappingDelegateExpression') {\n label = translate('Delegate Expression');\n delegateVariableMapping = bo.get('camunda:variableMappingDelegateExpression');\n }\n\n return {\n delegateVariableMapping: delegateVariableMapping,\n delegateVariableMappingLabel: label\n };\n },\n\n set: function(element, values, node) {\n var delegateVariableMapping = values.delegateVariableMapping;\n\n var attr = 'camunda:' + getDelegateVariableMappingType(element);\n\n var props = {};\n props[attr] = delegateVariableMapping || undefined;\n\n return cmdHelper.updateProperties(element, props);\n },\n\n validate: function(element, values, node) {\n var delegateVariableMapping = values.delegateVariableMapping;\n return (\n getCallableType(element) === 'bpmn' && (\n !delegateVariableMapping ? { delegateVariableMapping: translate('Must provide a value') } : {}\n )\n );\n },\n\n hidden: function(element, node) {\n return !(getCallableType(element) === 'bpmn' && getDelegateVariableMappingType(element) !== '');\n }\n\n }));\n\n return entries;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Callable.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/CandidateStarter.js":
/*!*************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/CandidateStarter.js ***!
\*************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getBusinessObject = options.getBusinessObject;\n\n var candidateStarterGroupsEntry = entryFactory.textField(translate, {\n id: 'candidateStarterGroups',\n label: translate('Candidate Starter Groups'),\n modelProperty: 'candidateStarterGroups',\n description: translate('Specify more than one group as a comma separated list.'),\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n var candidateStarterGroups = bo.get('camunda:candidateStarterGroups');\n\n return {\n candidateStarterGroups: candidateStarterGroups ? candidateStarterGroups : ''\n };\n },\n\n set: function(element, values) {\n var bo = getBusinessObject(element);\n return cmdHelper.updateBusinessObject(element, bo, {\n 'camunda:candidateStarterGroups': values.candidateStarterGroups || undefined\n });\n }\n\n });\n\n var candidateStarterUsersEntry = entryFactory.textField(translate, {\n id: 'candidateStarterUsers',\n label: translate('Candidate Starter Users'),\n modelProperty: 'candidateStarterUsers',\n description: translate('Specify more than one user as a comma separated list.'),\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n var candidateStarterUsers = bo.get('camunda:candidateStarterUsers');\n\n return {\n candidateStarterUsers: candidateStarterUsers ? candidateStarterUsers : ''\n };\n },\n\n set: function(element, values) {\n var bo = getBusinessObject(element);\n return cmdHelper.updateBusinessObject(element, bo, {\n 'camunda:candidateStarterUsers': values.candidateStarterUsers || undefined\n });\n }\n\n });\n\n return [\n candidateStarterGroupsEntry,\n candidateStarterUsersEntry\n ];\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/CandidateStarter.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Delegate.js":
/*!*****************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Delegate.js ***!
\*****************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar DELEGATE_TYPES = [\n 'class',\n 'expression',\n 'delegateExpression'\n];\n\nvar PROPERTIES = {\n class: 'camunda:class',\n expression: 'camunda:expression',\n delegateExpression: 'camunda:delegateExpression'\n};\n\nfunction isDelegate(type) {\n return DELEGATE_TYPES.indexOf(type) !== -1;\n}\n\nfunction getAttribute(type) {\n return PROPERTIES[type];\n}\n\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getImplementationType = options.getImplementationType,\n getBusinessObject = options.getBusinessObject;\n\n function getDelegationLabel(type) {\n switch (type) {\n case 'class':\n return translate('Java Class');\n case 'expression':\n return translate('Expression');\n case 'delegateExpression':\n return translate('Delegate Expression');\n default:\n return '';\n }\n }\n\n var delegateEntry = entryFactory.textField(translate, {\n id: 'delegate',\n label: translate('Value'),\n dataValueLabel: 'delegationLabel',\n modelProperty: 'delegate',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n var type = getImplementationType(element);\n var attr = getAttribute(type);\n var label = getDelegationLabel(type);\n return {\n delegate: bo.get(attr),\n delegationLabel: label\n };\n },\n\n set: function(element, values, node) {\n var bo = getBusinessObject(element);\n var type = getImplementationType(element);\n var attr = getAttribute(type);\n var prop = {};\n prop[attr] = values.delegate || '';\n return cmdHelper.updateBusinessObject(element, bo, prop);\n },\n\n validate: function(element, values, node) {\n return isDelegate(getImplementationType(element)) && !values.delegate ? { delegate: translate('Must provide a value') } : {};\n },\n\n hidden: function(element, node) {\n return !isDelegate(getImplementationType(element));\n }\n\n });\n\n return [ delegateEntry ];\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Delegate.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorEventDefinition.js":
/*!*****************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorEventDefinition.js ***!
\*****************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n elementReferenceProperty = __webpack_require__(/*! ../../../bpmn/parts/implementation/ElementReferenceProperty */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js\"),\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nmodule.exports = function(\n group, element, bpmnFactory, errorEventDefinition,\n showErrorCodeVariable, showErrorMessageVariable, translate\n) {\n\n\n var getValue = function(modelProperty) {\n return function(element) {\n var modelPropertyValue = errorEventDefinition.get('camunda:' + modelProperty);\n\n return modelPropertyValue;\n };\n };\n\n var setValue = function(modelProperty) {\n return function(element, values) {\n if (values[modelProperty] === '')\n values[modelProperty] = undefined;\n\n return cmdHelper.updateBusinessObject(element, errorEventDefinition, values);\n };\n };\n\n\n group.entries = group.entries.concat(\n elementReferenceProperty(element, errorEventDefinition, bpmnFactory, translate, {\n id: 'error-element-message',\n label: translate('Message'),\n referenceProperty: 'errorRef',\n modelProperty: 'errorMessage'\n })\n );\n\n if (showErrorCodeVariable) {\n group.entries.push(entryFactory.validationAwareTextField(translate, {\n id: 'errorCodeVariable',\n label: translate('Code Variable'),\n modelProperty : 'errorCodeVariable',\n description: translate('Define the name of the variable that will contain the error code'),\n\n getProperty: getValue('errorCodeVariable'),\n setProperty: setValue('errorCodeVariable'),\n\n validate: function(element, values) {\n var validation = {},\n targetValue = values.errorCodeVariable;\n\n if (utils.containsSpace(targetValue)) {\n validation.errorCodeVariable = translate('Error code variable must not contain spaces.');\n }\n\n return validation;\n }\n }));\n }\n\n if (showErrorMessageVariable) {\n group.entries.push(entryFactory.validationAwareTextField(translate, {\n id: 'errorMessageVariable',\n label: translate('Message Variable'),\n modelProperty: 'errorMessageVariable',\n\n getProperty: getValue('errorMessageVariable'),\n setProperty: setValue('errorMessageVariable'),\n description: translate('Define the name of the variable that will contain the error message'),\n\n validate: function(element, values) {\n var validation = {},\n targetValue = values.errorMessageVariable;\n\n if (utils.containsSpace(targetValue)) {\n validation.errorMessageVariable = translate('Error message variable must not contain spaces.');\n }\n\n return validation;\n }\n }));\n }\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorEventDefinition.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Errors.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Errors.js ***!
\***************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\n\nvar entryFieldDescription = __webpack_require__(/*! ../../../../factory/EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n extensionElementsHelper = __webpack_require__(/*! ../../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar ErrorsEntries = __webpack_require__(/*! ./ErrorsEntries */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorsEntries.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n options = options || {};\n\n var result = {};\n\n var entries = result.entries = [];\n\n entries.push(\n getErrorsHeading(element, bpmnFactory, {\n type: 'camunda:ErrorEventDefinition',\n prop: 'errorEventDefinition',\n prefix: 'Error'\n }));\n\n append(entries,\n getErrorsEntries(element, bpmnFactory, {}, translate)\n );\n\n return result;\n};\n\nfunction getErrorsHeading(element, bpmnFactory, options) {\n var prefix = options.prefix;\n\n var entry = {\n id: prefix + '-heading',\n cssClasses: [ 'bpp-error' ],\n html: '' +\n '' +\n ' ' +\n '
'\n };\n\n entry.createElement = function(_, entryNode) {\n var commands = createElement();\n\n if (commands) {\n scheduleCommands(commands, entryNode);\n return true;\n }\n };\n\n entry.set = function() {\n var commands = entry._commands;\n\n if (commands) {\n delete entry._commands;\n return commands;\n }\n };\n\n function createElement() {\n var commands = [];\n var bo = getBusinessObject(element);\n var extensionElements = bo.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);\n commands.push(cmdHelper.updateBusinessObject(element, bo, { extensionElements: extensionElements }));\n }\n var newElem = elementHelper.createElement('camunda:ErrorEventDefinition', {}, extensionElements, bpmnFactory);\n commands.push(cmdHelper.addElementsTolist(element, extensionElements, 'values', [ newElem ]));\n\n return commands;\n }\n\n /**\n * Schedule commands to be run with next `set` method call.\n *\n * @param {Array} commands\n * @param {HTMLElement} entryNode\n */\n function scheduleCommands(commands, entryNode) {\n entry._commands = commands;\n\n // @barmac: hack to make properties panel call `set`\n var input = domQuery('input[type=\"hidden\"]', entryNode);\n input.value = 1;\n }\n\n return entry;\n}\n\nfunction getErrors(bo) {\n return extensionElementsHelper.getExtensionElements(bo, 'camunda:ErrorEventDefinition') || [];\n}\n\n\nfunction getErrorsEntries(element, bpmnFactory, options, translate) {\n var idPrefix = options.idPrefix || '',\n bo = getBusinessObject(element),\n errorEventDefinitions = getErrors(bo),\n extensionElements = bo.get('extensionElements'),\n entries;\n\n if (errorEventDefinitions && !errorEventDefinitions.length) {\n var description = entryFieldDescription(translate, translate('No errors defined.'));\n\n return [{\n id: idPrefix + 'error-placeholder',\n cssClasses: [ 'bpp-error-placeholder' ],\n html: description\n }];\n }\n\n var errorsEntries = errorEventDefinitions.map(function(definition, index) {\n\n function onRemove() {\n var commands = [];\n\n commands.push(cmdHelper.removeElementsFromList(element, extensionElements, 'values', 'extensionElements', [definition]));\n return commands;\n }\n\n return ErrorsEntries(definition, bpmnFactory, element,\n {\n idPrefix: idPrefix + 'error-' + index,\n onRemove: onRemove,\n onToggle: onToggle\n }, translate);\n\n /**\n * Close remaining collapsible entries within group.\n *\n * @param {boolean} value\n * @param {HTMLElement} entryNode\n */\n function onToggle(value, entryNode) {\n if (!value) {\n return;\n }\n\n var currentEntryId = entryNode.dataset.entry;\n\n errorsEntries.forEach(function(entry) {\n if (entry.entries[0].id === currentEntryId) {\n return;\n }\n\n entry.setOpen(false);\n });\n\n }\n });\n\n entries = errorsEntries.map(function(input) {\n return input.entries;\n });\n\n return flatten(entries);\n}\n\nfunction flatten(arrays) {\n return Array.prototype.concat.apply([], arrays);\n}\n\nfunction append(array, items) {\n Array.prototype.push.apply(array, items);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Errors.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorsEntries.js":
/*!**********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorsEntries.js ***!
\**********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar eventDefinitionReference = __webpack_require__(/*! ../../../bpmn/parts/implementation/EventDefinitionReference */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/EventDefinitionReference.js\"),\n elementReferenceProperty = __webpack_require__(/*! ../../../bpmn/parts/implementation/ElementReferenceProperty */ \"./node_modules/bpmn-js-properties-panel/lib/provider/bpmn/parts/implementation/ElementReferenceProperty.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nmodule.exports = function(error, bpmnFactory, element, options, translate) {\n\n options = options || {};\n\n var idPrefix = options.idPrefix || '';\n\n var getError =\n (options.getError && typeof options.getError === 'function') ?\n function() {\n return options.getError();\n } :\n function() {\n return error;\n };\n\n var result = {},\n entries = [];\n\n result.entries = entries;\n\n var getCollapsibleTitle = function() {\n var error = getError();\n var title = 'No Error referenced';\n\n if (error.errorRef) {\n title = error.errorRef.name;\n if (error.errorRef.errorCode) {\n title += ' (code = ' + error.errorRef.errorCode + ')';\n }\n }\n return title;\n };\n\n // heading ////////////////////////////////////////////////////////\n var collapsible = entryFactory.collapsible({\n id: idPrefix + 'collapsible',\n title: getCollapsibleTitle(),\n description: getError().expression || '',\n cssClasses: [ 'bpp-collapsible-error' ],\n open: false,\n onRemove: options.onRemove,\n onToggle: options.onToggle,\n get: function() {\n return {\n title: getCollapsibleTitle(),\n description: getError().expression || '',\n };\n }\n });\n\n var isOpen = options.isOpen || collapsible.isOpen;\n\n result.setOpen = function(value) {\n var entryNode = domQuery('[data-entry=\"' + collapsible.id + '\"]');\n collapsible.setOpen(value, entryNode);\n };\n\n entries.push(collapsible);\n\n entries.push(entryFactory.validationAwareTextField(translate, {\n id: idPrefix + 'error-expression',\n label: translate('Throw Expression'),\n modelProperty: 'expression',\n\n getProperty: function(element, node) {\n return error.expression;\n },\n\n setProperty: function(element, values, node) {\n return cmdHelper.updateBusinessObject(element, error, values);\n },\n\n validate: function(element, values, node) {\n var validation = {};\n var expressionValue = values.expression;\n\n if (!expressionValue) {\n validation.expression = translate('Error must have an expression');\n }\n\n return validation;\n },\n\n hidden: function(element, node) {\n return !isOpen();\n }\n }));\n\n\n entries.push.apply(entries, eventDefinitionReference(element, error, bpmnFactory, {\n id: idPrefix + 'error-reference',\n label: translate('Global Error referenced'),\n elementName: 'error',\n elementType: 'bpmn:Error',\n referenceProperty: 'errorRef',\n newElementIdPrefix: 'Error_',\n\n hidden: function(element, node) {\n return !isOpen();\n }\n }));\n\n\n entries.push.apply(entries, elementReferenceProperty(element, error, bpmnFactory, translate, {\n id: idPrefix + 'error-element-name',\n label: translate('Name'),\n referenceProperty: 'errorRef',\n modelProperty: 'name',\n shouldValidate: true,\n\n hidden: function(element, node) {\n return !isOpen();\n }\n }));\n\n\n entries.push.apply(entries, elementReferenceProperty(element, error, bpmnFactory, translate, {\n id: idPrefix + 'error-element-code',\n label: translate('Code'),\n referenceProperty: 'errorRef',\n modelProperty: 'errorCode',\n shouldValidate: true,\n\n hidden: function(element, node) {\n return !isOpen();\n }\n }));\n\n\n entries.push.apply(entries, elementReferenceProperty(element, error, bpmnFactory, translate, {\n id: idPrefix + 'error-element-message',\n label: translate('Message'),\n referenceProperty: 'errorRef',\n modelProperty: 'errorMessage',\n\n hidden: function(element, node) {\n return !isOpen();\n }\n }));\n\n return result;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ErrorsEntries.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExtensionElements.js":
/*!**************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExtensionElements.js ***!
\**************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query,\n domClosest = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").closest,\n domify = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").domify,\n forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\"),\n escapeHTML = utils.escapeHTML;\n\nfunction getSelectBox(node, id) {\n var currentTab = domClosest(node, 'div.bpp-properties-tab');\n var query = 'select[name=selectedExtensionElement]' + (id ? '[id=cam-extensionElements-' + id + ']' : '');\n return domQuery(query, currentTab);\n}\n\nfunction getSelected(node, id) {\n var selectBox = getSelectBox(node, id);\n return {\n value: (selectBox || {}).value,\n idx: (selectBox || {}).selectedIndex\n };\n}\n\nfunction generateElementId(prefix) {\n prefix = prefix + '_';\n return utils.nextId(prefix);\n}\n\nvar CREATE_EXTENSION_ELEMENT_ACTION = 'create-extension-element',\n REMOVE_EXTENSION_ELEMENT_ACTION = 'remove-extension-element';\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var id = options.id,\n prefix = options.prefix || 'elem',\n label = options.label || id,\n idGeneration = (options.idGeneration === false) ? options.idGeneration : true,\n businessObject = options.businessObject || getBusinessObject(element);\n\n var modelProperty = options.modelProperty || 'id';\n\n var getElements = options.getExtensionElements;\n\n var createElement = options.createExtensionElement,\n canCreate = typeof createElement === 'function';\n\n var removeElement = options.removeExtensionElement,\n canRemove = typeof removeElement === 'function';\n\n var onSelectionChange = options.onSelectionChange;\n\n var hideElements = options.hideExtensionElements,\n canBeHidden = typeof hideElements === 'function';\n\n var setOptionLabelValue = options.setOptionLabelValue;\n\n var defaultSize = options.size || 5,\n resizable = options.resizable;\n\n var reference = options.reference || undefined;\n\n var selectionChanged = function(element, node, event, scope) {\n if (typeof onSelectionChange === 'function') {\n return onSelectionChange(element, node, event, scope);\n }\n };\n\n var createOption = function(value) {\n return '' + escapeHTML(value) + ' ';\n };\n\n var initSelectionSize = function(selectBox, optionsLength) {\n if (resizable) {\n selectBox.size = optionsLength > defaultSize ? optionsLength : defaultSize;\n }\n };\n\n return {\n id: id,\n html: '' +\n '
' + escapeHTML(label) + ' ' +\n '
' +\n '' +\n ' ' +\n (canCreate ? '' +\n '+ ' +\n ' ' : '') +\n (canRemove ? '' +\n '- ' +\n ' ' : '') +\n '
' +\n '
',\n\n get: function(element, node) {\n var elements = getElements(element, node);\n\n var result = [];\n forEach(elements, function(elem) {\n result.push({\n extensionElementValue: elem.get(modelProperty)\n });\n });\n\n var selectBox = getSelectBox(node.parentNode, id);\n initSelectionSize(selectBox, result.length);\n\n return result;\n },\n\n set: function(element, values, node) {\n var action = this.__action;\n delete this.__action;\n\n businessObject = businessObject || getBusinessObject(element);\n\n var bo =\n (reference && businessObject.get(reference))\n ? businessObject.get(reference)\n : businessObject;\n\n var extensionElements = bo.get('extensionElements');\n\n if (action.id === CREATE_EXTENSION_ELEMENT_ACTION) {\n var commands = [];\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);\n commands.push(cmdHelper.updateBusinessObject(element, bo, { extensionElements: extensionElements }));\n }\n commands.push(createElement(element, extensionElements, action.value, node));\n return commands;\n\n }\n else if (action.id === REMOVE_EXTENSION_ELEMENT_ACTION) {\n return removeElement(element, extensionElements, action.value, action.idx, node);\n }\n\n },\n\n createListEntryTemplate: function(value, index, selectBox) {\n initSelectionSize(selectBox, selectBox.options.length + 1);\n return createOption(value.extensionElementValue);\n },\n\n deselect: function(element, node) {\n var selectBox = getSelectBox(node, id);\n selectBox.selectedIndex = -1;\n },\n\n getSelected: function(element, node) {\n return getSelected(node, id);\n },\n\n setControlValue: function(element, node, option, property, value, idx) {\n node.value = value;\n\n if (!setOptionLabelValue) {\n node.text = value;\n } else {\n setOptionLabelValue(element, node, option, property, value, idx);\n }\n },\n\n createElement: function(element, node) {\n\n // create option template\n var generatedId;\n if (idGeneration) {\n generatedId = generateElementId(prefix);\n }\n\n var selectBox = getSelectBox(node, id);\n var template = domify(createOption(generatedId));\n\n // add new empty option as last child element\n selectBox.appendChild(template);\n\n // select last child element\n selectBox.lastChild.selected = 'selected';\n selectionChanged(element, node);\n\n // update select box size\n initSelectionSize(selectBox, selectBox.options.length);\n\n this.__action = {\n id: CREATE_EXTENSION_ELEMENT_ACTION,\n value: generatedId\n };\n\n return true;\n },\n\n removeElement: function(element, node) {\n var selection = getSelected(node, id);\n\n var selectBox = getSelectBox(node, id);\n selectBox.removeChild(selectBox.options[selection.idx]);\n\n // update select box size\n initSelectionSize(selectBox, selectBox.options.length);\n\n this.__action = {\n id: REMOVE_EXTENSION_ELEMENT_ACTION,\n value: selection.value,\n idx: selection.idx\n };\n\n return true;\n },\n\n hideElements: function(element, entryNode, node, scopeNode) {\n return !hideElements(element, entryNode, node, scopeNode);\n },\n\n disableRemove: function(element, entryNode, node, scopeNode) {\n return (getSelected(entryNode, id) || {}).idx < 0;\n },\n\n selectElement: selectionChanged\n };\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExtensionElements.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/External.js":
/*!*****************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/External.js ***!
\*****************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getImplementationType = options.getImplementationType,\n getBusinessObject = options.getBusinessObject;\n\n function isExternal(element) {\n return getImplementationType(element) === 'external';\n }\n\n var topicEntry = entryFactory.textField(translate, {\n id: 'externalTopic',\n label: translate('Topic'),\n modelProperty: 'externalTopic',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n return { externalTopic: bo.get('camunda:topic') };\n },\n\n set: function(element, values, node) {\n var bo = getBusinessObject(element);\n return cmdHelper.updateBusinessObject(element, bo, {\n 'camunda:topic': values.externalTopic\n });\n },\n\n validate: function(element, values, node) {\n return isExternal(element) && !values.externalTopic ? { externalTopic: translate('Must provide a value') } : {};\n },\n\n hidden: function(element, node) {\n return !isExternal(element);\n }\n\n });\n\n return [ topicEntry ];\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/External.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExternalTaskPriority.js":
/*!*****************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExternalTaskPriority.js ***!
\*****************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getBusinessObject = options.getBusinessObject;\n\n var externalTaskPriorityEntry = entryFactory.textField(translate, {\n id: 'externalTaskPriority',\n label: translate('Task Priority'),\n modelProperty: 'taskPriority',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n return {\n taskPriority: bo.get('camunda:taskPriority')\n };\n },\n\n set: function(element, values) {\n var bo = getBusinessObject(element);\n return cmdHelper.updateBusinessObject(element, bo, {\n 'camunda:taskPriority': values.taskPriority || undefined\n });\n }\n\n });\n\n return [ externalTaskPriorityEntry ];\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExternalTaskPriority.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/FieldInjection.js":
/*!***********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/FieldInjection.js ***!
\***********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar extensionElementsHelper = __webpack_require__(/*! ../../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar extensionElementsEntry = __webpack_require__(/*! ./ExtensionElements */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExtensionElements.js\");\n\nvar ModelUtil = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\"),\n getBusinessObject = ModelUtil.getBusinessObject;\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\");\n\n\nvar DEFAULT_PROPS = {\n 'stringValue': undefined,\n 'string': undefined,\n 'expression': undefined\n};\n\nvar CAMUNDA_FIELD_EXTENSION_ELEMENT = 'camunda:Field';\n\nmodule.exports = function(element, bpmnFactory, translate, options) {\n\n options = options || {};\n\n var insideListener = !!options.insideListener,\n idPrefix = options.idPrefix || '',\n getSelectedListener = options.getSelectedListener,\n businessObject = options.businessObject || getBusinessObject(element);\n\n var entries = [];\n\n var isSelected = function(element, node) {\n return getSelectedField(element, node);\n };\n\n function getSelectedField(element, node) {\n var selected = fieldEntry.getSelected(element, node.parentNode);\n\n if (selected.idx === -1) {\n return;\n }\n\n var fields = getCamundaFields(element, node);\n\n return fields[selected.idx];\n }\n\n function getCamundaFields(element, node) {\n if (!insideListener) {\n return (\n businessObject &&\n extensionElementsHelper.getExtensionElements(businessObject, CAMUNDA_FIELD_EXTENSION_ELEMENT)\n );\n }\n return getCamundaListenerFields(element, node);\n }\n\n function getCamundaListenerFields(element, node) {\n var selectedListener = getSelectedListener(element, node);\n return selectedListener && selectedListener.fields || [];\n }\n\n function getFieldType(bo) {\n var fieldType = 'string';\n\n var expressionValue = bo && bo.expression;\n var stringValue = bo && (bo.string || bo.stringValue);\n\n if (typeof stringValue !== 'undefined') {\n fieldType = 'string';\n } else if (typeof expressionValue !== 'undefined') {\n fieldType = 'expression';\n }\n\n return fieldType;\n }\n\n var setOptionLabelValue = function() {\n return function(element, node, option, property, value, idx) {\n var camundaFields = getCamundaFields(element, node);\n var field = camundaFields[idx];\n\n value = (field.name) ? field.name : '';\n\n var label = idx + ' : ' + value;\n\n option.text = label;\n };\n };\n\n var newElement = function() {\n return function(element, extensionElements, value, node) {\n\n var props = {\n name: '',\n string: ''\n };\n\n var newFieldElem;\n\n if (!insideListener) {\n\n newFieldElem = elementHelper.createElement(CAMUNDA_FIELD_EXTENSION_ELEMENT, props, extensionElements, bpmnFactory);\n return cmdHelper.addElementsTolist(element, extensionElements, 'values', [ newFieldElem ]);\n\n } else {\n\n var selectedListener = getSelectedListener(element, node);\n newFieldElem = elementHelper.createElement(CAMUNDA_FIELD_EXTENSION_ELEMENT, props, selectedListener, bpmnFactory);\n return cmdHelper.addElementsTolist(element, selectedListener, 'fields', [ newFieldElem ]);\n\n }\n\n };\n };\n\n var removeElement = function() {\n return function(element, extensionElements, value, idx, node) {\n var camundaFields= getCamundaFields(element, node);\n var field = camundaFields[idx];\n if (field) {\n if (!insideListener) {\n return extensionElementsHelper.removeEntry(businessObject, element, field);\n }\n var selectedListener = getSelectedListener(element, node);\n return cmdHelper.removeElementsFromList(element, selectedListener, 'fields', null, [ field ]);\n }\n };\n };\n\n\n var fieldEntry = extensionElementsEntry(element, bpmnFactory, {\n id : idPrefix + 'fields',\n label : translate('Fields'),\n modelProperty: 'fieldName',\n idGeneration: 'false',\n\n businessObject: businessObject,\n\n createExtensionElement: newElement(),\n removeExtensionElement: removeElement(),\n\n getExtensionElements: function(element, node) {\n return getCamundaFields(element, node);\n },\n\n setOptionLabelValue: setOptionLabelValue()\n\n });\n entries.push(fieldEntry);\n\n\n entries.push(entryFactory.validationAwareTextField(translate, {\n id: idPrefix + 'field-name',\n label: translate('Name'),\n modelProperty: 'fieldName',\n\n getProperty: function(element, node) {\n return (getSelectedField(element, node) || {}).name;\n },\n\n setProperty: function(element, values, node) {\n var selectedField = getSelectedField(element, node);\n return cmdHelper.updateBusinessObject(element, selectedField, { name : values.fieldName });\n },\n\n validate: function(element, values, node) {\n var bo = getSelectedField(element, node);\n\n var validation = {};\n if (bo) {\n var nameValue = values.fieldName;\n\n if (nameValue) {\n if (utils.containsSpace(nameValue)) {\n validation.fieldName = translate('Name must not contain spaces');\n }\n } else {\n validation.fieldName = translate('Parameter must have a name');\n }\n }\n\n return validation;\n },\n\n hidden: function(element, node) {\n return !isSelected(element, node);\n }\n\n }));\n\n var fieldTypeOptions = [\n {\n name: translate('String'),\n value: 'string'\n },\n {\n name: translate('Expression'),\n value: 'expression'\n }\n ];\n\n entries.push(entryFactory.selectBox(translate, {\n id: idPrefix + 'field-type',\n label: translate('Type'),\n selectOptions: fieldTypeOptions,\n modelProperty: 'fieldType',\n\n get: function(element, node) {\n var bo = getSelectedField(element, node);\n\n var fieldType = getFieldType(bo);\n\n return {\n fieldType: fieldType\n };\n },\n\n set: function(element, values, node) {\n var props = assign({}, DEFAULT_PROPS);\n\n var fieldType = values.fieldType;\n\n if (fieldType === 'string') {\n props.string = '';\n }\n else if (fieldType === 'expression') {\n props.expression = '';\n }\n\n return cmdHelper.updateBusinessObject(element, getSelectedField(element, node), props);\n },\n\n hidden: function(element, node) {\n return !isSelected(element, node);\n }\n\n }));\n\n\n entries.push(entryFactory.textBox(translate, {\n id: idPrefix + 'field-value',\n label: translate('Value'),\n modelProperty: 'fieldValue',\n\n get: function(element, node) {\n var bo = getSelectedField(element, node);\n var fieldType = getFieldType(bo);\n\n var fieldValue;\n\n if (fieldType === 'string') {\n fieldValue = bo && (bo.string || bo.stringValue);\n }\n else if (fieldType === 'expression') {\n fieldValue = bo && bo.expression;\n }\n\n return {\n fieldValue: fieldValue\n };\n },\n\n set: function(element, values, node) {\n var bo = getSelectedField(element, node);\n var fieldType = getFieldType(bo);\n\n var props = assign({}, DEFAULT_PROPS);\n\n var fieldValue = values.fieldValue || undefined;\n\n if (fieldType === 'string') {\n props.string = fieldValue;\n }\n else if (fieldType === 'expression') {\n props.expression = fieldValue;\n }\n\n return cmdHelper.updateBusinessObject(element, bo, props);\n\n },\n\n validate: function(element, values, node) {\n var bo = getSelectedField(element, node);\n\n var validation = {};\n if (bo) {\n if (!values.fieldValue) {\n validation.fieldValue = translate('Must provide a value');\n }\n }\n\n return validation;\n },\n\n show: function(element, node) {\n return isSelected(element, node);\n }\n\n }));\n\n return entries;\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/FieldInjection.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/HistoryTimeToLive.js":
/*!**************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/HistoryTimeToLive.js ***!
\**************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getBusinessObject = options.getBusinessObject;\n\n var historyTimeToLiveEntry = entryFactory.textField(translate, {\n id: 'historyTimeToLive',\n label: translate('History Time To Live'),\n modelProperty: 'historyTimeToLive',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n var historyTimeToLive = bo.get('camunda:historyTimeToLive');\n\n return {\n historyTimeToLive: historyTimeToLive ? historyTimeToLive : ''\n };\n },\n\n set: function(element, values) {\n var bo = getBusinessObject(element);\n return cmdHelper.updateBusinessObject(element, bo, {\n 'camunda:historyTimeToLive': values.historyTimeToLive || undefined\n });\n }\n\n });\n\n return [ historyTimeToLiveEntry ];\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/HistoryTimeToLive.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ImplementationType.js":
/*!***************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ImplementationType.js ***!
\***************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n extensionElementsHelper = __webpack_require__(/*! ../../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\");\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\");\nvar map = __webpack_require__(/*! lodash/map */ \"./node_modules/lodash/map.js\");\n\nvar DEFAULT_DELEGATE_PROPS = [ 'class', 'expression', 'delegateExpression' ];\n\nvar DELEGATE_PROPS = {\n 'camunda:class': undefined,\n 'camunda:expression': undefined,\n 'camunda:delegateExpression': undefined,\n 'camunda:resultVariable': undefined\n};\n\nvar DMN_CAPABLE_PROPS = {\n 'camunda:decisionRef': undefined,\n 'camunda:decisionRefBinding': 'latest',\n 'camunda:decisionRefVersion': undefined,\n 'camunda:mapDecisionResult': 'resultList',\n 'camunda:decisionRefTenantId': undefined\n};\n\n\nvar EXTERNAL_CAPABLE_PROPS = {\n 'camunda:type': undefined,\n 'camunda:topic': undefined\n};\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var DEFAULT_OPTIONS = [\n { value: 'class', name: translate('Java Class') },\n { value: 'expression', name: translate('Expression') },\n { value: 'delegateExpression', name: translate('Delegate Expression') }\n ];\n\n var DMN_OPTION = [\n { value: 'dmn', name: translate('DMN') }\n ];\n\n var EXTERNAL_OPTION = [\n { value: 'external', name: translate('External') }\n ];\n\n var CONNECTOR_OPTION = [\n { value: 'connector', name: translate('Connector') }\n ];\n\n var SCRIPT_OPTION = [\n { value: 'script', name: translate('Script') }\n ];\n\n var getType = options.getImplementationType,\n getBusinessObject = options.getBusinessObject;\n\n var hasDmnSupport = options.hasDmnSupport,\n hasExternalSupport = options.hasExternalSupport,\n hasServiceTaskLikeSupport = options.hasServiceTaskLikeSupport,\n hasScriptSupport = options.hasScriptSupport;\n\n var entries = [];\n\n var selectOptions = DEFAULT_OPTIONS.concat([]);\n\n if (hasDmnSupport) {\n selectOptions = selectOptions.concat(DMN_OPTION);\n }\n\n if (hasExternalSupport) {\n selectOptions = selectOptions.concat(EXTERNAL_OPTION);\n }\n\n if (hasServiceTaskLikeSupport) {\n selectOptions = selectOptions.concat(CONNECTOR_OPTION);\n }\n\n if (hasScriptSupport) {\n selectOptions = selectOptions.concat(SCRIPT_OPTION);\n }\n\n selectOptions.push({ value: '' });\n\n entries.push(entryFactory.selectBox(translate, {\n id : 'implementation',\n label: translate('Implementation'),\n selectOptions: selectOptions,\n modelProperty: 'implType',\n\n get: function(element, node) {\n return {\n implType: getType(element) || ''\n };\n },\n\n set: function(element, values, node) {\n var bo = getBusinessObject(element);\n var oldType = getType(element);\n var newType = values.implType;\n\n var props = assign({}, DELEGATE_PROPS);\n\n if (DEFAULT_DELEGATE_PROPS.indexOf(newType) !== -1) {\n\n var newValue = '';\n if (DEFAULT_DELEGATE_PROPS.indexOf(oldType) !== -1) {\n newValue = bo.get('camunda:' + oldType);\n }\n props['camunda:' + newType] = newValue;\n }\n\n if (hasDmnSupport) {\n props = assign(props, DMN_CAPABLE_PROPS);\n if (newType === 'dmn') {\n props['camunda:decisionRef'] = '';\n }\n }\n\n if (hasExternalSupport) {\n props = assign(props, EXTERNAL_CAPABLE_PROPS);\n if (newType === 'external') {\n props['camunda:type'] = 'external';\n props['camunda:topic'] = '';\n }\n }\n\n if (hasScriptSupport) {\n props['camunda:script'] = undefined;\n\n if (newType === 'script') {\n props['camunda:script'] = elementHelper.createElement('camunda:Script', {}, bo, bpmnFactory);\n }\n }\n\n var commands = [];\n commands.push(cmdHelper.updateBusinessObject(element, bo, props));\n\n if (oldType === 'external' && newType !== 'external') {\n var errorEventDefinitions = extensionElementsHelper.getExtensionElements(bo, 'camunda:ErrorEventDefinition');\n commands.push(map(errorEventDefinitions, function(errorEventDefinition) {\n return extensionElementsHelper.removeEntry(bo, element, errorEventDefinition);\n }));\n }\n\n if (hasServiceTaskLikeSupport) {\n var connectors = extensionElementsHelper.getExtensionElements(bo, 'camunda:Connector');\n commands.push(map(connectors, function(connector) {\n return extensionElementsHelper.removeEntry(bo, element, connector);\n }));\n\n if (newType === 'connector') {\n var extensionElements = bo.get('extensionElements');\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);\n commands.push(cmdHelper.updateBusinessObject(element, bo, { extensionElements: extensionElements }));\n }\n var connector = elementHelper.createElement('camunda:Connector', {}, extensionElements, bpmnFactory);\n commands.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n 'extensionElements',\n [ connector ],\n []\n ));\n }\n }\n\n return commands;\n\n }\n }));\n\n return entries;\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ImplementationType.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputOutputParameter.js":
/*!*****************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputOutputParameter.js ***!
\*****************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny;\n\nvar getVariablesForScope = __webpack_require__(/*! @bpmn-io/extract-process-variables */ \"./node_modules/@bpmn-io/extract-process-variables/dist/index.esm.js\").getVariablesForScope;\n\nvar filter = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").filter,\n map = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").map,\n sortBy = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").sortBy;\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n scriptImplementation = __webpack_require__(/*! ./Script */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Script.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nmodule.exports = function(parameter, bpmnFactory, options, translate) {\n\n var typeInfo = {\n 'camunda:Map': {\n value: 'map',\n label: translate('Map')\n },\n 'camunda:List': {\n value: 'list',\n label: translate('List')\n },\n 'camunda:Script': {\n value: 'script',\n label: translate('Script')\n }\n };\n\n options = options || {};\n\n var idPrefix = options.idPrefix || '';\n\n var getParameter =\n (options.getParameter && typeof options.getParameter === 'function') ?\n function() {\n return options.getParameter();\n } :\n function() {\n return parameter;\n };\n\n var result = {},\n entries = [];\n\n result.entries = entries;\n\n // heading ////////////////////////////////////////////////////////\n var collapsible = entryFactory.collapsible({\n id: idPrefix + 'collapsible',\n title: parameter.name,\n description: getDescription(parameter),\n cssClasses: [ 'bpp-collapsible--with-mapping' ],\n open: false,\n onRemove: options.onRemove,\n onToggle: options.onToggle,\n get: function() {\n return {\n title: getParameter().name,\n description: getDescription(getParameter())\n };\n }\n });\n\n var isOpen = options.isOpen || collapsible.isOpen;\n\n result.setOpen = function(value) {\n var entryNode = domQuery('[data-entry=\"' + collapsible.id + '\"]');\n collapsible.setOpen(value, entryNode);\n };\n\n entries.push(collapsible);\n\n // parameter name ////////////////////////////////////////////////////////\n entries.push(entryFactory.validationAwareTextField(translate, {\n id: idPrefix + 'parameterName',\n label: is(parameter, 'camunda:InputParameter') ?\n translate('Local Variable Name') : translate('Process Variable Name'),\n modelProperty: 'name',\n\n getProperty: function(element, node) {\n return parameter.name;\n },\n\n setProperty: function(element, values, node) {\n return cmdHelper.updateBusinessObject(element, parameter, values);\n },\n\n validate: function(element, values, node) {\n var validation = {};\n var nameValue = values.name;\n\n if (nameValue) {\n if (utils.containsSpace(nameValue)) {\n validation.name = translate('Name must not contain spaces');\n }\n } else {\n validation.name = translate('Parameter must have a name');\n }\n\n return validation;\n },\n\n hidden: function(element, node) {\n return !isOpen();\n }\n }));\n\n\n // parameter type //////////////////////////////////////////////////////\n\n var selectOptions = [\n { value: 'text', name: translate('String or Expression') },\n { value: 'script', name: translate('Script') },\n { value: 'list', name: translate('List') },\n { value: 'map', name: translate('Map') }\n ];\n\n entries.push(entryFactory.selectBox(translate, {\n id : idPrefix + 'parameterType',\n label: translate('Variable Assignment Type'),\n selectOptions: selectOptions,\n modelProperty: 'parameterType',\n\n get: function(element, node) {\n var parameterType = 'text';\n\n var definition = getParameter().get('definition');\n if (typeof definition !== 'undefined') {\n var type = definition.$type;\n parameterType = typeInfo[type].value;\n }\n\n return {\n parameterType: parameterType\n };\n },\n\n set: function(element, values, node) {\n var properties = {\n value: undefined,\n definition: undefined\n };\n\n var createParameterTypeElem = function(type) {\n return createElement(type, getParameter(), bpmnFactory);\n };\n\n var parameterType = values.parameterType;\n\n if (parameterType === 'script') {\n properties.definition = createParameterTypeElem('camunda:Script');\n }\n else if (parameterType === 'list') {\n properties.definition = createParameterTypeElem('camunda:List');\n }\n else if (parameterType === 'map') {\n properties.definition = createParameterTypeElem('camunda:Map');\n }\n\n return cmdHelper.updateBusinessObject(element, getParameter(), properties);\n },\n\n hidden: function(element, node) {\n return !isOpen();\n }\n\n }));\n\n\n // parameter value (type = text) ///////////////////////////////////////////////////////\n\n entries.push(entryFactory.autoSuggest(translate, {\n id : idPrefix + 'parameterType-text',\n label : translate('Variable Assignment Value'),\n description: translate('Start typing \"${}\" to create an expression.'),\n modelProperty: 'value',\n get: function(element, node) {\n return {\n value: getParameter().value\n };\n },\n\n set: function(element, values, node) {\n values.value = values.value || undefined;\n return cmdHelper.updateBusinessObject(element, getParameter(), values);\n },\n\n show: function(element, node) {\n return isOpen() && !getParameter().definition;\n },\n\n getItems: function(element) {\n var scope = getScope(element),\n rootElement = getRootElement(element);\n\n // (1) get all available variables for the current scope\n var variables = getVariablesForScope(scope, rootElement);\n\n // (2) ignore all variables which are (only) written in the current element\n variables = filter(variables, function(variable) {\n var origin = variable.origin,\n withOutCurrent = filter(origin, function(o) {\n return o.id !== element.id;\n });\n\n return !!withOutCurrent.length;\n });\n\n // (3) sort by name\n var sorted = sortByName(variables);\n\n // (4) retrieve names as suggestion items\n return map(sorted, function(variable) {\n return variable.name;\n });\n },\n\n canSuggest: function(word, editorNode, focusNode) {\n var globalIndex = findWordInContentEditable(word, editorNode, focusNode);\n\n if (isInsideExpression(editorNode.innerText, globalIndex)) {\n return true;\n }\n\n if (isInsideUnclosedExpression(editorNode.innerText, globalIndex)) {\n return true;\n }\n\n return false;\n }\n\n }));\n\n\n // parameter value (type = script) ///////////////////////////////////////////////////////\n var script = scriptImplementation('scriptFormat', 'value', true, translate, { idPrefix: idPrefix });\n entries.push({\n id: idPrefix + 'parameterType-script',\n html: '' +\n script.template +\n '
',\n get: function(element, node) {\n return isScript(getParameter().definition) ? script.get(element, getParameter().definition) : {};\n },\n\n set: function(element, values, node) {\n var update = script.set(element, values);\n return cmdHelper.updateBusinessObject(element, getParameter().definition, update);\n },\n\n validate: function(element, values, node) {\n return isScript(getParameter().definition) ? script.validate(element, getParameter().definition) : {};\n },\n\n script: script,\n show: function(element, node) {\n return isOpen() && getParameter().definition && isScript(getParameter().definition);\n }\n });\n\n\n // parameter value (type = list) ///////////////////////////////////////////////////////\n\n entries.push(entryFactory.table(translate, {\n id: idPrefix + 'parameterType-list',\n modelProperties: [ 'value' ],\n labels: [ translate('Value') ],\n addLabel: translate('Add Value'),\n\n getElements: function(element, node) {\n\n if (isList(getParameter().definition)) {\n return getParameter().definition.items;\n }\n\n return [];\n },\n\n updateElement: function(element, values, node, idx) {\n var item = getParameter().definition.items[idx];\n return cmdHelper.updateBusinessObject(element, item, values);\n },\n\n addElement: function(element, node) {\n var newValue = createElement('camunda:Value', getParameter().definition, bpmnFactory, { value: undefined });\n return cmdHelper.addElementsTolist(element, getParameter().definition, 'items', [ newValue ]);\n },\n\n removeElement: function(element, node, idx) {\n return cmdHelper.removeElementsFromList(element, getParameter().definition, 'items', null, [ getParameter().definition.items[idx] ]);\n },\n\n editable: function(element, node, prop, idx) {\n var item = getParameter().definition.items[idx];\n return !isMap(item) && !isList(item) && !isScript(item);\n },\n\n setControlValue: function(element, node, input, prop, value, idx) {\n var item = getParameter().definition.items[idx];\n\n if (!isMap(item) && !isList(item) && !isScript(item)) {\n input.value = value;\n } else {\n input.value = typeInfo[item.$type].label;\n }\n },\n\n show: function(element, node) {\n return isOpen() && getParameter().definition && isList(getParameter().definition);\n }\n\n }));\n\n\n // parameter value (type = map) ///////////////////////////////////////////////////////\n\n entries.push(entryFactory.table(translate, {\n id: idPrefix + 'parameterType-map',\n modelProperties: [ 'key', 'value' ],\n labels: [ translate('Key'), translate('Value') ],\n addLabel: translate('Add Entry'),\n\n getElements: function(element, node) {\n\n if (getParameter() && isMap(getParameter().definition)) {\n return getParameter().definition.entries;\n }\n\n return [];\n },\n\n updateElement: function(element, values, node, idx) {\n var entry = getParameter().definition.entries[idx];\n\n if (isMap(entry.definition) || isList(entry.definition) || isScript(entry.definition)) {\n values = {\n key: values.key\n };\n }\n\n return cmdHelper.updateBusinessObject(element, entry, values);\n },\n\n addElement: function(element, node) {\n var newEntry = createElement('camunda:Entry', getParameter().definition, bpmnFactory, { key: undefined, value: undefined });\n return cmdHelper.addElementsTolist(element, getParameter().definition, 'entries', [ newEntry ]);\n },\n\n removeElement: function(element, node, idx) {\n return cmdHelper.removeElementsFromList(element, getParameter().definition, 'entries', null, [ getParameter().definition.entries[idx] ]);\n },\n\n editable: function(element, node, prop, idx) {\n var entry = getParameter().definition.entries[idx];\n return prop === 'key' || (!isMap(entry.definition) && !isList(entry.definition) && !isScript(entry.definition));\n },\n\n setControlValue: function(element, node, input, prop, value, idx) {\n var entry = getParameter().definition.entries[idx];\n\n if (prop === 'key' || (!isMap(entry.definition) && !isList(entry.definition) && !isScript(entry.definition))) {\n input.value = value;\n } else {\n input.value = typeInfo[entry.definition.$type].label;\n }\n },\n\n show: function(element, node) {\n return isOpen() && getParameter().definition && isMap(getParameter().definition);\n }\n\n }));\n\n return result;\n};\n\n\n\n// helper /////////////////////\n\nfunction createElement(type, parent, factory, properties) {\n return elementHelper.createElement(type, properties, parent, factory);\n}\n\nfunction isScript(elem) {\n return is(elem, 'camunda:Script');\n}\n\nfunction isList(elem) {\n return is(elem, 'camunda:List');\n}\n\nfunction isMap(elem) {\n return is(elem, 'camunda:Map');\n}\n\nfunction sortByName(variables) {\n return sortBy(variables, function(variable) {\n return variable.name;\n });\n}\n\nfunction getScope(element) {\n var businessObject = getBusinessObject(element);\n\n if (isAny(businessObject, [ 'bpmn:Process', 'bpmn:SubProcess' ])) {\n return businessObject.id;\n }\n\n // look for processes or sub process in parents\n var parent = businessObject;\n\n while (parent.$parent && !isAny(parent, [ 'bpmn:Process', 'bpmn:SubProcess' ])) {\n parent = parent.$parent;\n }\n\n return parent.id;\n}\n\nfunction getRootElement(element) {\n var businessObject = getBusinessObject(element),\n parent = businessObject;\n\n while (parent.$parent && !is(parent, 'bpmn:Process')) {\n parent = parent.$parent;\n }\n\n return parent;\n}\n\nfunction isInsideExpression(value, index) {\n var openIndex = value.indexOf('${'),\n closeIndex = value.indexOf('}');\n\n return (\n openIndex > -1 && openIndex <= index &&\n closeIndex > -1 && index < closeIndex\n );\n}\n\nfunction isInsideUnclosedExpression(value, index) {\n var closeIndex = value.lastIndexOf('}', index),\n openIndex = value.indexOf('${', closeIndex + 1);\n\n return (\n openIndex > -1 && openIndex <= index\n );\n}\n\nfunction findWordInContentEditable(word, editorNode, focusNode) {\n\n // retrieve value before focusNode (row)\n var children = editorNode.childNodes,\n textBefore = '';\n\n for (var i = 0; i <= children.length - 1; i++) {\n var child = children[i];\n\n if (child.contains(focusNode)) {\n break;\n }\n\n textBefore += (child.innerText || child.wholeText) + '\\n';\n }\n\n return textBefore.length + (word.index || 0);\n}\n\nfunction getDescription(parameter) {\n var definition = parameter.get('definition');\n\n if (!definition) {\n return parameter.value;\n }\n\n if (isScript(definition)) {\n return definition.value;\n } else if (isList(definition)) {\n return 'List';\n } else if (isMap(definition)) {\n return 'Map';\n }\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputOutputParameter.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputParameters.js":
/*!************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputParameters.js ***!
\************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n extensionElementsHelper = __webpack_require__(/*! ../../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n inputOutputHelper = __webpack_require__(/*! ../../../../helper/InputOutputHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/InputOutputHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nvar entryFieldDescription = __webpack_require__(/*! ../../../../factory/EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar InputOutputParameter = __webpack_require__(/*! ./InputOutputParameter */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputOutputParameter.js\");\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n options = options || {};\n\n var insideConnector = !!options.insideConnector,\n idPrefix = options.idPrefix || '';\n\n var result = {};\n\n var entries = result.entries = [];\n\n if (!inputOutputHelper.isInputOutputSupported(element, insideConnector)) {\n return result;\n }\n\n var parametersOptions = {\n insideConnector: insideConnector,\n idPrefix: idPrefix\n };\n\n // input parameters ///////////////////////////////////////////////////////////////\n entries.push(\n getParametersHeading(element, bpmnFactory, {\n idPrefix: idPrefix,\n insideConnector: insideConnector,\n type: 'camunda:InputParameter',\n prop: 'inputParameters',\n prefix: 'Input'\n }));\n\n append(entries,\n getInputParameterEntries(element, bpmnFactory, parametersOptions, translate)\n );\n\n return result;\n};\n\nfunction getParametersHeading(element, bpmnFactory, options) {\n var idPrefix = options.idPrefix || '',\n prefix = options.prefix,\n type = options.type,\n prop = options.prop,\n insideConnector = options.insideConnector;\n\n var entry = {\n id: idPrefix + prefix + '-heading',\n cssClasses: [ 'bpp-input-output' ],\n html: '' +\n '' +\n ' ' +\n '
'\n };\n\n entry.createElement = function(_, entryNode) {\n var commands = createElement();\n\n if (commands) {\n scheduleCommands(commands, entryNode);\n return true;\n }\n };\n\n entry.set = function() {\n var commands = entry._commands;\n\n if (commands) {\n delete entry._commands;\n return commands;\n }\n };\n\n function createElement() {\n var commands = [];\n var bo = getBusinessObject(element);\n var extensionElements = bo.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);\n commands.push(cmdHelper.updateBusinessObject(element, bo, { extensionElements: extensionElements }));\n }\n\n var inputOutput = getInputOutput(element, insideConnector);\n if (!inputOutput) {\n var parent = !insideConnector ? extensionElements : getConnector(element);\n inputOutput = createInputOutput(parent, bpmnFactory, {\n inputParameters: [],\n outputParameters: []\n });\n\n if (!insideConnector) {\n commands.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n 'extensionElements',\n [ inputOutput ],\n []\n ));\n } else {\n commands.push(cmdHelper.updateBusinessObject(element, parent, { inputOutput: inputOutput }));\n }\n }\n\n var newElem = createParameter(type, inputOutput, bpmnFactory, { name: generateElementId(prefix) });\n commands.push(cmdHelper.addElementsTolist(element, inputOutput, prop, [], [ newElem ]));\n\n return commands;\n }\n\n /**\n * Schedule commands to be run with next `set` method call.\n *\n * @param {Array} commands\n * @param {HTMLElement} entryNode\n */\n function scheduleCommands(commands, entryNode) {\n entry._commands = commands;\n\n // @barmac: hack to make properties panel call `set`\n var input = domQuery('input[type=\"hidden\"]', entryNode);\n input.value = 1;\n }\n\n return entry;\n}\n\nfunction getInputParameterEntries(element, bpmnFactory, options, translate) {\n var idPrefix = options.idPrefix,\n insideConnector = options.insideConnector,\n inputOutput = getInputOutput(element, insideConnector),\n params = getInputParameters(element, insideConnector),\n entries;\n\n if (!params.length) {\n var description = entryFieldDescription(translate, translate('No variables defined.'));\n\n return [{\n id: idPrefix + 'input-parameter' + '-placeholder',\n cssClasses: [ 'bpp-input-output-placeholder' ],\n html: description\n }];\n }\n\n var inputParameters = params.map(function(param, index) {\n function onRemove() {\n var commands = [];\n commands.push(cmdHelper.removeElementsFromList(element, inputOutput, 'inputParameters', null, [param]));\n\n // remove inputOutput if there are no input/output parameters anymore\n if (inputOutput.get('inputParameters').length === 1 && (inputOutput.get('outputParameters') || []).length === 0) {\n\n if (!insideConnector) {\n commands.push(extensionElementsHelper.removeEntry(getBusinessObject(element), element, inputOutput));\n }\n else {\n var connector = getConnector(element);\n commands.push(cmdHelper.updateBusinessObject(element, connector, { inputOutput: undefined }));\n }\n }\n\n return commands;\n }\n\n return InputOutputParameter(param, bpmnFactory,\n {\n idPrefix: idPrefix + 'input-parameter-' + index,\n onRemove: onRemove,\n onToggle: onToggle\n }, translate);\n });\n\n /**\n * Close remaining collapsible entries within group.\n *\n * @param {boolean} value\n * @param {HTMLElement} entryNode\n */\n function onToggle(value, entryNode) {\n if (!value) {\n return;\n }\n\n var currentEntryId = entryNode.dataset.entry;\n\n inputParameters.forEach(function(inputParameter) {\n if (inputParameter.entries[0].id === currentEntryId) {\n return;\n }\n\n inputParameter.setOpen(false);\n });\n }\n\n entries = inputParameters.map(function(input) {\n return input.entries;\n });\n\n return flatten(entries);\n}\n\n\nfunction append(array, items) {\n Array.prototype.push.apply(array, items);\n}\n\nfunction flatten(arrays) {\n return Array.prototype.concat.apply([], arrays);\n}\n\nfunction generateElementId(prefix) {\n prefix = prefix + '_';\n return utils.nextId(prefix);\n}\n\nfunction getInputOutput(element, insideConnector) {\n return inputOutputHelper.getInputOutput(element, insideConnector);\n}\n\nfunction getConnector(element) {\n return inputOutputHelper.getConnector(element);\n}\n\nfunction getInputParameters(element, insideConnector) {\n return inputOutputHelper.getInputParameters(element, insideConnector);\n}\n\nfunction createElement(type, parent, factory, properties) {\n return elementHelper.createElement(type, properties, parent, factory);\n}\n\nfunction createInputOutput(parent, bpmnFactory, properties) {\n return createElement('camunda:InputOutput', parent, bpmnFactory, properties);\n}\n\nfunction createParameter(type, parent, bpmnFactory, properties) {\n return createElement(type, parent, bpmnFactory, properties);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputParameters.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobPriority.js":
/*!********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobPriority.js ***!
\********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getBusinessObject = options.getBusinessObject;\n\n var jobPriorityEntry = entryFactory.textField(translate, {\n id: 'jobPriority',\n label: translate('Job Priority'),\n modelProperty: 'jobPriority',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n return {\n jobPriority: bo.get('camunda:jobPriority')\n };\n },\n\n set: function(element, values) {\n var bo = getBusinessObject(element);\n return cmdHelper.updateBusinessObject(element, bo, {\n 'camunda:jobPriority': values.jobPriority || undefined\n });\n }\n\n });\n\n return [ jobPriorityEntry ];\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobPriority.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobRetryTimeCycle.js":
/*!**************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobRetryTimeCycle.js ***!
\**************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar asyncCapableHelper = __webpack_require__(/*! ../../../../helper/AsyncCapableHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/AsyncCapableHelper.js\");\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n eventDefinitionHelper = __webpack_require__(/*! ../../../../helper/EventDefinitionHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/EventDefinitionHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nfunction isAsyncBefore(bo) {\n return asyncCapableHelper.isAsyncBefore(bo);\n}\n\nfunction isAsyncAfter(bo) {\n return asyncCapableHelper.isAsyncAfter(bo);\n}\n\nfunction getFailedJobRetryTimeCycle(bo) {\n return asyncCapableHelper.getFailedJobRetryTimeCycle(bo);\n}\n\nfunction removeFailedJobRetryTimeCycle(bo, element) {\n return asyncCapableHelper.removeFailedJobRetryTimeCycle(bo, element);\n}\n\nfunction createExtensionElements(parent, bpmnFactory) {\n return elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, parent, bpmnFactory);\n}\n\nfunction createFailedJobRetryTimeCycle(parent, bpmnFactory, cycle) {\n return elementHelper.createElement('camunda:FailedJobRetryTimeCycle', { body: cycle }, parent, bpmnFactory);\n}\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getBusinessObject = options.getBusinessObject;\n\n var idPrefix = options.idPrefix || '',\n labelPrefix = options.labelPrefix || '';\n\n var retryTimeCycleEntry = entryFactory.textField(translate, {\n id: idPrefix + 'retryTimeCycle',\n label: labelPrefix + translate('Retry Time Cycle'),\n modelProperty: 'cycle',\n\n get: function(element, node) {\n var retryTimeCycle = getFailedJobRetryTimeCycle(getBusinessObject(element));\n var value = retryTimeCycle && retryTimeCycle.get('body');\n return {\n cycle: value\n };\n },\n\n set: function(element, values, node) {\n var newCycle = values.cycle;\n var bo = getBusinessObject(element);\n\n if (newCycle === '' || typeof newCycle === 'undefined') {\n\n // remove retry time cycle element(s)\n return removeFailedJobRetryTimeCycle(bo, element);\n }\n\n var retryTimeCycle = getFailedJobRetryTimeCycle(bo);\n\n if (!retryTimeCycle) {\n\n // add new retry time cycle element\n var commands = [];\n\n var extensionElements = bo.get('extensionElements');\n if (!extensionElements) {\n extensionElements = createExtensionElements(bo, bpmnFactory);\n commands.push(cmdHelper.updateBusinessObject(element, bo, { extensionElements: extensionElements }));\n }\n\n retryTimeCycle = createFailedJobRetryTimeCycle(extensionElements, bpmnFactory, newCycle);\n commands.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n 'extensionElements',\n [ retryTimeCycle ],\n []\n ));\n\n return commands;\n }\n\n // update existing retry time cycle element\n return cmdHelper.updateBusinessObject(element, retryTimeCycle, { body: newCycle });\n },\n\n hidden: function(element) {\n var bo = getBusinessObject(element);\n\n if (bo && (isAsyncBefore(bo) || isAsyncAfter(bo))) {\n return false;\n }\n\n if (is(element, 'bpmn:Event')) {\n return !eventDefinitionHelper.getTimerEventDefinition(element);\n }\n\n return true;\n }\n\n });\n\n return [ retryTimeCycleEntry ];\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/JobRetryTimeCycle.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Listener.js":
/*!*****************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Listener.js ***!
\*****************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar extensionElementsEntry = __webpack_require__(/*! ./ExtensionElements */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ExtensionElements.js\"),\n extensionElementsHelper = __webpack_require__(/*! ../../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n ImplementationTypeHelper = __webpack_require__(/*! ../../../../helper/ImplementationTypeHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper.js\");\n\n\nfunction getListeners(bo, type) {\n return bo && extensionElementsHelper.getExtensionElements(bo, type) || [];\n}\n\nvar CAMUNDA_EXECUTION_LISTENER_ELEMENT = 'camunda:ExecutionListener';\nvar CAMUNDA_TASK_LISTENER_ELEMENT = 'camunda:TaskListener';\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var LISTENER_TYPE_LABEL = {\n class: translate('Java Class'),\n expression: translate('Expression'),\n delegateExpression: translate('Delegate Expression'),\n script: translate('Script')\n };\n\n var bo;\n\n var result = {\n getSelectedListener: getSelectedListener\n };\n\n var entries = result.entries = [];\n\n var isSequenceFlow = ImplementationTypeHelper.isSequenceFlow(element);\n\n function getSelectedListener(element, node) {\n var selection = (executionListenerEntry && executionListenerEntry.getSelected(element, node)) || { idx: -1 };\n\n var listener = getListeners(bo, CAMUNDA_EXECUTION_LISTENER_ELEMENT)[selection.idx];\n if (!listener && taskListenerEntry) {\n selection = taskListenerEntry.getSelected(element, node);\n listener = getListeners(bo, CAMUNDA_TASK_LISTENER_ELEMENT)[selection.idx];\n }\n return listener;\n }\n\n var setOptionLabelValue = function(type) {\n return function(element, node, option, property, value, idx) {\n var listeners = getListeners(bo, type);\n var listener = listeners[idx];\n var listenerType = ImplementationTypeHelper.getImplementationType(listener);\n\n var event = (listener.get('event')) ? listener.get('event') : '';\n\n var label = (event || '*') + ' : ' + (LISTENER_TYPE_LABEL[listenerType] || '');\n\n option.text = label;\n };\n };\n\n var newElement = function(element, type, initialEvent) {\n return function(element, extensionElements, value) {\n var props = {\n event: initialEvent,\n class: ''\n };\n\n var newElem = elementHelper.createElement(type, props, extensionElements, bpmnFactory);\n\n return cmdHelper.addElementsTolist(element, extensionElements, 'values', [ newElem ]);\n };\n };\n\n var removeElement = function(element, type) {\n return function(element, extensionElements, value, idx) {\n var listeners = getListeners(bo, type);\n var listener = listeners[idx];\n if (listener) {\n return extensionElementsHelper.removeEntry(bo, element, listener);\n }\n };\n };\n\n\n // Execution Listener\n\n if (is(element, 'bpmn:FlowElement') || is(element, 'bpmn:Process') || is(element, 'bpmn:Participant')) {\n bo = getBusinessObject(element);\n if (is(element, 'bpmn:Participant')) {\n element = element.processRef;\n bo = bo.get('processRef');\n }\n\n if (bo) {\n\n var executionListenerEntry = extensionElementsEntry(element, bpmnFactory, {\n id : 'executionListeners',\n label : translate('Execution Listener'),\n modelProperty: 'name',\n idGeneration: 'false',\n reference: 'processRef',\n\n createExtensionElement: newElement(element, CAMUNDA_EXECUTION_LISTENER_ELEMENT, (isSequenceFlow) ? 'take' : 'start'),\n removeExtensionElement: removeElement(element, CAMUNDA_EXECUTION_LISTENER_ELEMENT),\n\n getExtensionElements: function(element) {\n return getListeners(bo, CAMUNDA_EXECUTION_LISTENER_ELEMENT);\n },\n\n onSelectionChange: function(element, node, event, scope) {\n taskListenerEntry && taskListenerEntry.deselect(element, node);\n },\n\n setOptionLabelValue: setOptionLabelValue(CAMUNDA_EXECUTION_LISTENER_ELEMENT)\n\n });\n entries.push(executionListenerEntry);\n\n }\n }\n\n\n // Task Listener\n\n if (is(element, 'bpmn:UserTask')) {\n bo = getBusinessObject(element);\n\n var taskListenerEntry = extensionElementsEntry(element, bpmnFactory, {\n id : 'taskListeners',\n label : translate('Task Listener'),\n modelProperty: 'name',\n idGeneration: 'false',\n\n createExtensionElement: newElement(element, CAMUNDA_TASK_LISTENER_ELEMENT, 'create'),\n removeExtensionElement: removeElement(element, CAMUNDA_TASK_LISTENER_ELEMENT),\n\n getExtensionElements: function(element) {\n return getListeners(bo, CAMUNDA_TASK_LISTENER_ELEMENT);\n },\n\n onSelectionChange: function(element, node, event, scope) {\n executionListenerEntry.deselect(element, node);\n },\n\n setOptionLabelValue: setOptionLabelValue(CAMUNDA_TASK_LISTENER_ELEMENT)\n\n });\n entries.push(taskListenerEntry);\n }\n\n return result;\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Listener.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/MultiInstanceLoopCharacteristics.js":
/*!*****************************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/MultiInstanceLoopCharacteristics.js ***!
\*****************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n escapeHTML = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nvar domClasses = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").classes;\n\n/**\n * Get a property value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n * @param {string} propertyName\n *\n * @return {any} the property value\n */\nfunction getProperty(element, propertyName) {\n var loopCharacteristics = getLoopCharacteristics(element);\n return loopCharacteristics && loopCharacteristics.get(propertyName);\n}\n\n/**\n * Get the body of a given expression.\n *\n * @param {ModdleElement} expression\n *\n * @return {string} the body (value) of the expression\n */\nfunction getBody(expression) {\n return expression && expression.get('body');\n}\n\n\n/**\n * Get the loop characteristics of an element.\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement} the loop characteristics\n */\nfunction getLoopCharacteristics(element) {\n var bo = getBusinessObject(element);\n return bo.loopCharacteristics;\n}\n\n/**\n * Get the loop cardinality of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement} an expression representing the loop cardinality\n */\nfunction getLoopCardinality(element) {\n return getProperty(element, 'loopCardinality');\n}\n\n/**\n * Get the loop cardinality value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {string} the loop cardinality value\n */\nfunction getLoopCardinalityValue(element) {\n var loopCardinality = getLoopCardinality(element);\n return getBody(loopCardinality);\n}\n\n/**\n * Get the completion condition of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement} an expression representing the completion condition\n */\nfunction getCompletionCondition(element) {\n return getProperty(element, 'completionCondition');\n}\n\n/**\n * Get the completion condition value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {string} the completion condition value\n */\nfunction getCompletionConditionValue(element) {\n var completionCondition = getCompletionCondition(element);\n return getBody(completionCondition);\n}\n\n/**\n * Get the 'camunda:collection' attribute value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {string} the 'camunda:collection' value\n */\nfunction getCollection(element) {\n return getProperty(element, 'camunda:collection');\n}\n\n/**\n * Get the 'camunda:elementVariable' attribute value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {string} the 'camunda:elementVariable' value\n */\nfunction getElementVariable(element) {\n return getProperty(element, 'camunda:elementVariable');\n}\n\n\n/**\n * Creates 'bpmn:FormalExpression' element.\n *\n * @param {ModdleElement} parent\n * @param {string} body\n * @param {BpmnFactory} bpmnFactory\n *\n * @result {ModdleElement} a formal expression\n */\nfunction createFormalExpression(parent, body, bpmnFactory) {\n return elementHelper.createElement('bpmn:FormalExpression', { body: body }, parent, bpmnFactory);\n}\n\n/**\n * Updates a specific formal expression of the loop characteristics.\n *\n * @param {djs.model.Base} element\n * @param {string} propertyName\n * @param {string} newValue\n * @param {BpmnFactory} bpmnFactory\n */\nfunction updateFormalExpression(element, propertyName, newValue, bpmnFactory) {\n var loopCharacteristics = getLoopCharacteristics(element);\n\n var expressionProps = {};\n\n if (!newValue) {\n\n // remove formal expression\n expressionProps[propertyName] = undefined;\n return cmdHelper.updateBusinessObject(element, loopCharacteristics, expressionProps);\n }\n\n var existingExpression = loopCharacteristics.get(propertyName);\n\n if (!existingExpression) {\n\n // add formal expression\n expressionProps[propertyName] = createFormalExpression(loopCharacteristics, newValue, bpmnFactory);\n return cmdHelper.updateBusinessObject(element, loopCharacteristics, expressionProps);\n }\n\n // edit existing formal expression\n return cmdHelper.updateBusinessObject(element, existingExpression, {\n body: newValue\n });\n}\n\n\nmodule.exports = function(element, bpmnFactory, translate) {\n\n var entries = [];\n\n // error message /////////////////////////////////////////////////////////////////\n\n entries.push({\n id: 'multiInstance-errorMessage',\n html: '' +\n ' ' +\n escapeHTML(translate('Must provide either loop cardinality or collection')) +\n '
',\n\n isValid: function(element, node, notification, scope) {\n var loopCharacteristics = getLoopCharacteristics(element);\n\n var isValid = true;\n if (loopCharacteristics) {\n var loopCardinality = getLoopCardinalityValue(element);\n var collection = getCollection(element);\n\n isValid = !loopCardinality && !collection;\n }\n\n domClasses(node).toggle('bpp-hidden', !isValid);\n domClasses(notification).toggle('bpp-error-message', isValid);\n\n return isValid;\n }\n });\n\n // loop cardinality //////////////////////////////////////////////////////////////\n\n entries.push(entryFactory.textField(translate, {\n id: 'multiInstance-loopCardinality',\n label: translate('Loop Cardinality'),\n modelProperty: 'loopCardinality',\n\n get: function(element, node) {\n return {\n loopCardinality: getLoopCardinalityValue(element)\n };\n },\n\n set: function(element, values) {\n return updateFormalExpression(element, 'loopCardinality', values.loopCardinality, bpmnFactory);\n }\n }));\n\n\n // collection //////////////////////////////////////////////////////////////////\n\n entries.push(entryFactory.textField(translate, {\n id: 'multiInstance-collection',\n label: translate('Collection'),\n modelProperty: 'collection',\n\n get: function(element, node) {\n return {\n collection: getCollection(element)\n };\n },\n\n set: function(element, values) {\n var loopCharacteristics = getLoopCharacteristics(element);\n return cmdHelper.updateBusinessObject(element, loopCharacteristics, {\n 'camunda:collection': values.collection || undefined\n });\n },\n\n validate: function(element, values, node) {\n var collection = getCollection(element);\n var elementVariable = getElementVariable(element);\n\n if (!collection && elementVariable) {\n return { collection : 'Must provide a value' };\n }\n }\n }));\n\n\n // element variable ////////////////////////////////////////////////////////////\n\n entries.push(entryFactory.textField(translate, {\n id: 'multiInstance-elementVariable',\n label: translate('Element Variable'),\n modelProperty: 'elementVariable',\n\n get: function(element, node) {\n return {\n elementVariable: getElementVariable(element)\n };\n },\n\n set: function(element, values) {\n var loopCharacteristics = getLoopCharacteristics(element);\n return cmdHelper.updateBusinessObject(element, loopCharacteristics, {\n 'camunda:elementVariable': values.elementVariable || undefined\n });\n }\n }));\n\n\n // Completion Condition //////////////////////////////////////////////////////\n\n entries.push(entryFactory.textField(translate, {\n id: 'multiInstance-completionCondition',\n label: translate('Completion Condition'),\n modelProperty: 'completionCondition',\n\n get: function(element) {\n return {\n completionCondition: getCompletionConditionValue(element)\n };\n },\n\n set: function(element, values) {\n return updateFormalExpression(element, 'completionCondition', values.completionCondition, bpmnFactory);\n }\n }));\n\n return entries;\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/MultiInstanceLoopCharacteristics.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/OutputParameters.js":
/*!*************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/OutputParameters.js ***!
\*************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n extensionElementsHelper = __webpack_require__(/*! ../../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n inputOutputHelper = __webpack_require__(/*! ../../../../helper/InputOutputHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/InputOutputHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nvar entryFieldDescription = __webpack_require__(/*! ../../../../factory/EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query;\n\nvar InputOutputParameter = __webpack_require__(/*! ./InputOutputParameter */ \"./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/InputOutputParameter.js\");\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n options = options || {};\n\n var insideConnector = !!options.insideConnector,\n idPrefix = options.idPrefix || '';\n\n var result = {};\n\n var entries = result.entries = [];\n\n if (!inputOutputHelper.isInputOutputSupported(element, insideConnector) ||\n !inputOutputHelper.areOutputParametersSupported(element, insideConnector)) {\n return result;\n }\n\n var parametersOptions = {\n insideConnector: insideConnector,\n idPrefix: idPrefix\n };\n\n // output parameters ///////////////////////////////////////////////////////\n entries.push(\n getParametersHeading(element, bpmnFactory, {\n idPrefix: idPrefix,\n insideConnector: insideConnector,\n type: 'camunda:OutputParameter',\n prop: 'outputParameters',\n prefix: 'Output'\n }));\n\n append(entries,\n getOutputParameterEntries(element, bpmnFactory, parametersOptions, translate)\n );\n\n return result;\n};\n\nfunction getParametersHeading(element, bpmnFactory, options) {\n var idPrefix = options.idPrefix || '',\n prefix = options.prefix,\n type = options.type,\n prop = options.prop,\n insideConnector = options.insideConnector;\n\n var entry = {\n id: idPrefix + prefix + '-heading',\n cssClasses: [ 'bpp-input-output' ],\n html: '' +\n '' +\n ' ' +\n '
'\n };\n\n entry.createElement = function(_, entryNode) {\n var commands = createElement();\n\n if (commands) {\n scheduleCommands(commands, entryNode);\n return true;\n }\n };\n\n entry.set = function() {\n var commands = entry._commands;\n\n if (commands) {\n delete entry._commands;\n return commands;\n }\n };\n\n function createElement() {\n var commands = [];\n var bo = getBusinessObject(element);\n var extensionElements = bo.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);\n commands.push(cmdHelper.updateBusinessObject(element, bo, { extensionElements: extensionElements }));\n }\n\n var inputOutput = getInputOutput(element, insideConnector);\n if (!inputOutput) {\n var parent = !insideConnector ? extensionElements : getConnector(element);\n inputOutput = createInputOutput(parent, bpmnFactory, {\n inputParameters: [],\n outputParameters: []\n });\n\n if (!insideConnector) {\n commands.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n extensionElements,\n 'values',\n 'extensionElements',\n [ inputOutput ],\n []\n ));\n } else {\n commands.push(cmdHelper.updateBusinessObject(element, parent, { inputOutput: inputOutput }));\n }\n }\n\n var newElem = createParameter(type, inputOutput, bpmnFactory, { name: generateElementId(prefix) });\n commands.push(cmdHelper.addElementsTolist(element, inputOutput, prop, [], [ newElem ]));\n\n return commands;\n }\n\n /**\n * Schedule commands to be run with next `set` method call.\n *\n * @param {Array} commands\n * @param {HTMLElement} entryNode\n */\n function scheduleCommands(commands, entryNode) {\n entry._commands = commands;\n\n // @barmac: hack to make properties panel call `set`\n var input = domQuery('input[type=\"hidden\"]', entryNode);\n input.value = 1;\n }\n\n return entry;\n}\n\nfunction getOutputParameterEntries(element, bpmnFactory, options, translate) {\n var idPrefix = options.idPrefix,\n insideConnector = options.insideConnector,\n inputOutput = getInputOutput(element, insideConnector),\n params = getOutputParameters(element, insideConnector),\n entries;\n\n if (!params.length) {\n var description = entryFieldDescription(translate, translate('No variables defined.'));\n\n return [{\n id: idPrefix + 'output-parameter' + '-placeholder',\n cssClasses: [ 'bpp-input-output-placeholder' ],\n html: description\n }];\n }\n\n var outputParameters = params.map(function(param, index) {\n function onRemove() {\n var commands = [];\n commands.push(cmdHelper.removeElementsFromList(element, inputOutput, 'outputParameters', null, [param]));\n\n // remove inputOutput if there are no input/output parameters anymore\n if (inputOutput.get('outputParameters').length === 1 && (inputOutput.get('inputParameters') || []).length === 0) {\n\n if (!insideConnector) {\n commands.push(extensionElementsHelper.removeEntry(getBusinessObject(element), element, inputOutput));\n }\n else {\n var connector = getConnector(element);\n commands.push(cmdHelper.updateBusinessObject(element, connector, { inputOutput: undefined }));\n }\n }\n\n return commands;\n }\n\n return InputOutputParameter(param, bpmnFactory,\n {\n idPrefix: idPrefix + 'output-parameter-' + index,\n onRemove: onRemove,\n onToggle: onToggle\n }, translate);\n });\n\n /**\n * Close remaining collapsible entries within group.\n *\n * @param {boolean} value\n * @param {HTMLElement} entryNode\n */\n function onToggle(value, entryNode) {\n if (!value) {\n return;\n }\n\n var currentEntryId = entryNode.dataset.entry;\n\n outputParameters.forEach(function(outputParameter) {\n if (outputParameter.entries[0].id === currentEntryId) {\n return;\n }\n\n outputParameter.setOpen(false);\n });\n }\n\n entries = outputParameters.map(function(input) {\n return input.entries;\n });\n\n return flatten(entries);\n}\n\nfunction append(array, items) {\n Array.prototype.push.apply(array, items);\n}\n\nfunction flatten(arrays) {\n return Array.prototype.concat.apply([], arrays);\n}\n\nfunction generateElementId(prefix) {\n prefix = prefix + '_';\n return utils.nextId(prefix);\n}\n\nfunction getInputOutput(element, insideConnector) {\n return inputOutputHelper.getInputOutput(element, insideConnector);\n}\n\nfunction getConnector(element) {\n return inputOutputHelper.getConnector(element);\n}\n\nfunction getOutputParameters(element, insideConnector) {\n return inputOutputHelper.getOutputParameters(element, insideConnector);\n}\n\nfunction createElement(type, parent, factory, properties) {\n return elementHelper.createElement(type, properties, parent, factory);\n}\n\nfunction createInputOutput(parent, bpmnFactory, properties) {\n return createElement('camunda:InputOutput', parent, bpmnFactory, properties);\n}\n\nfunction createParameter(type, parent, bpmnFactory, properties) {\n return createElement(type, parent, bpmnFactory, properties);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/OutputParameters.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ProcessVariables.js":
/*!*************************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ProcessVariables.js ***!
\*************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("var getVariablesForScope = __webpack_require__(/*! @bpmn-io/extract-process-variables */ \"./node_modules/@bpmn-io/extract-process-variables/dist/index.esm.js\").getVariablesForScope;\n\nvar groupBy = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").groupBy,\n flatten = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").flatten,\n forEach = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").forEach,\n keys = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").keys,\n map = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").map,\n sortBy = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").sortBy;\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n isAny = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\").isAny;\n\nvar escapeHTML = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML;\n\nvar factory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar entryFieldDescription = __webpack_require__(/*! ../../../../factory/EntryFieldDescription */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFieldDescription.js\");\n\n\nmodule.exports = function(element, translate) {\n\n var entries = [];\n\n function createVariablesList(variables, scope) {\n var scopePrefix = scope ? scope + '-' : '';\n\n return flatten(map(variables, function(variable, idx) {\n\n var name = variable.name,\n origin = variable.origin,\n variableEntries = [];\n\n // title ///////////////////\n\n var collapsible = factory.collapsible({\n id: scopePrefix + 'variable- ' + idx + '-collapsible',\n title: escapeHTML(name),\n description: origin.toString(),\n open: false,\n get: function() {\n return {\n title: escapeHTML(name),\n description: origin.toString()\n };\n }\n });\n\n var isOpen = collapsible.isOpen;\n\n variableEntries.push(collapsible);\n\n // created in //////////////////\n\n var createdInHtml = '' +\n '' + escapeHTML(translate('Created in')) + ' ' +\n createdInList(origin) +\n '
';\n\n variableEntries.push({\n id: scopePrefix + 'variable- ' + idx + '-created-in',\n html: createdInHtml,\n cssClasses: [\n 'bpp-process-variables',\n 'bpp-process-variables__created-in'\n ],\n show: function() {\n return isOpen();\n }\n });\n\n return variableEntries;\n }));\n }\n\n\n if (!canHaveProcessVariables(element)) {\n return entries;\n }\n\n var businessObject = getBusinessObject(element),\n rootElement = getRootElement(businessObject),\n scope = getScope(element);\n\n var variables = getVariablesForScope(scope, rootElement),\n sorted = sortByName(variables),\n withNames = populateElementNames(sorted),\n byScope = groupByScope(withNames);\n\n // (1) tab description entry\n var description = entryFieldDescription(translate, translate('Available process variables, identified in the diagram.'));\n\n entries.push({\n id: 'process-variables-description',\n html: description,\n cssClasses: [\n 'bpp-process-variables',\n 'bpp-process-variables__description'\n ]\n });\n\n // (2) empty list placeholder\n if (!withNames.length) {\n var placeholder = entryFieldDescription(translate, translate('No variables found.'));\n\n entries.push({\n id: 'process-variables-placeholder',\n html: placeholder\n });\n\n return entries;\n }\n\n if (keys(byScope).length > 1) {\n\n // (3a) multiple scopes variables lists\n\n // assumption: variables extractor fetches parent variables first\n forEach(reverse(keys(byScope)), function(scope) {\n var variables = byScope[scope];\n\n entries.push({\n id: scope + '-scope-title',\n html: '' + escapeHTML(translate('Scope: ')) + scope + '
',\n cssClasses: [\n 'bpp-process-variables',\n 'bpp-process-variables__scope-title',\n 'bpp-collapsible-break'\n ]\n });\n\n entries = entries.concat(createVariablesList(variables, scope));\n });\n } else {\n\n // (3b) single scope variables list\n entries = entries.concat(createVariablesList(withNames));\n }\n\n\n return entries;\n};\n\n\n// helpers //////////\n\nfunction getRootElement(element) {\n var businessObject = getBusinessObject(element);\n\n if (is(businessObject, 'bpmn:Participant')) {\n return businessObject.processRef;\n }\n\n if (is(businessObject, 'bpmn:Process')) {\n return businessObject;\n }\n\n var parent = businessObject;\n\n while (parent.$parent && !is(parent, 'bpmn:Process')) {\n parent = parent.$parent;\n }\n\n return parent;\n}\n\nfunction getScope(element) {\n if (is(element, 'bpmn:Participant')) {\n return getBusinessObject(element).processRef.id;\n }\n\n return element.id;\n}\n\nfunction sortByName(variables) {\n return sortBy(variables, function(variable) {\n return variable.name;\n });\n}\n\nfunction populateElementNames(variables) {\n forEach(variables, function(variable) {\n var names = map(variable.origin, function(element) {\n return element.name || element.id;\n });\n\n variable.origin = names;\n variable.scope = variable.scope.name || variable.scope.id;\n });\n\n return variables;\n}\n\nfunction canHaveProcessVariables(element) {\n var businessObject = getBusinessObject(element);\n\n return (\n isAny(element, ['bpmn:Process', 'bpmn:SubProcess']) ||\n (is(element, 'bpmn:Participant') && businessObject.get('processRef'))\n );\n}\n\nfunction groupByScope(variables) {\n return groupBy(variables, 'scope');\n}\n\nfunction createdInList(origin) {\n var html = '';\n\n forEach(origin, function(o) {\n html += '' + o + '
';\n });\n return html;\n}\n\nfunction reverse(array) {\n return map(array, function(a, i) {\n return array[array.length - 1 - i];\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ProcessVariables.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Properties.js":
/*!*******************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Properties.js ***!
\*******************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar getBusinessObject = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject,\n is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar factory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\n\nvar elementHelper = __webpack_require__(/*! ../../../../helper/ElementHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ElementHelper.js\"),\n extensionElementsHelper = __webpack_require__(/*! ../../../../helper/ExtensionElementsHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/ExtensionElementsHelper.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\"),\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\"),\n forEach = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\"),\n find = __webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\");\n\nfunction generatePropertyId() {\n return utils.nextId('Property_');\n}\n\n/**\n * Get all camunda:property objects for a specific business object\n *\n * @param {ModdleElement} parent\n *\n * @return {Array} a list of camunda:property objects\n */\nfunction getPropertyValues(parent) {\n var properties = parent && getPropertiesElement(parent);\n if (properties && properties.values) {\n return properties.values;\n }\n return [];\n}\n\n/**\n * Get all camunda:Properties object for a specific business object\n *\n * @param {ModdleElement} parent\n *\n * @return {ModdleElement} a camunda:Properties object\n */\nfunction getPropertiesElement(element) {\n if (!isExtensionElements(element)) {\n return element.properties;\n } else {\n return getPropertiesElementInsideExtensionElements(element);\n }\n}\n\n/**\n * Get first camunda:Properties object for a specific bpmn:ExtensionElements\n * business object.\n *\n * @param {ModdleElement} extensionElements\n *\n * @return {ModdleElement} a camunda:Properties object\n */\nfunction getPropertiesElementInsideExtensionElements(extensionElements) {\n return find(extensionElements.values, function(elem) {\n return is(elem, 'camunda:Properties');\n });\n}\n\n/**\n * Returns true, if the given business object is a bpmn:ExtensionElements.\n *\n * @param {ModdleElement} element\n *\n * @return {boolean} a boolean value\n */\nfunction isExtensionElements(element) {\n return is(element, 'bpmn:ExtensionElements');\n}\n\n/**\n * Create a camunda:property entry using tableEntryFactory\n *\n * @param {djs.model.Base} element\n * @param {BpmnFactory} bpmnFactory\n * @param {Object} options\n * @param {string} options.id\n * @param {Array} options.modelProperties\n * @param {Array} options.labels\n * @param {function} options.getParent Gets the parent business object\n * @param {function} options.show Indicate when the entry will be shown, should return boolean\n */\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getParent = options.getParent;\n\n var modelProperties = options.modelProperties,\n createParent = options.createParent;\n\n var bo = getBusinessObject(element);\n if (is(element, 'bpmn:Participant')) {\n bo = bo.get('processRef');\n }\n\n // build properties group only when the participant have a processRef\n if (!bo) {\n return;\n }\n\n assign(options, {\n addLabel: translate('Add Property'),\n getElements: function(element, node) {\n var parent = getParent(element, node, bo);\n return getPropertyValues(parent);\n },\n addElement: function(element, node) {\n var commands = [],\n parent = getParent(element, node, bo);\n\n if (!parent && typeof createParent === 'function') {\n var result = createParent(element, bo);\n parent = result.parent;\n commands.push(result.cmd);\n }\n\n var properties = getPropertiesElement(parent);\n if (!properties) {\n properties = elementHelper.createElement('camunda:Properties', {}, parent, bpmnFactory);\n\n if (!isExtensionElements(parent)) {\n commands.push(cmdHelper.updateBusinessObject(element, parent, { 'properties': properties }));\n } else {\n commands.push(cmdHelper.addAndRemoveElementsFromList(\n element,\n parent,\n 'values',\n 'extensionElements',\n [ properties ],\n []\n ));\n }\n }\n\n var propertyProps = {};\n forEach(modelProperties, function(prop) {\n propertyProps[prop] = undefined;\n });\n\n // create id if necessary\n if (modelProperties.indexOf('id') >= 0) {\n propertyProps.id = generatePropertyId();\n }\n\n var property = elementHelper.createElement('camunda:Property', propertyProps, properties, bpmnFactory);\n commands.push(cmdHelper.addElementsTolist(element, properties, 'values', [ property ]));\n\n return commands;\n },\n updateElement: function(element, value, node, idx) {\n var parent = getParent(element, node, bo),\n property = getPropertyValues(parent)[idx];\n\n forEach(modelProperties, function(prop) {\n value[prop] = value[prop] || undefined;\n });\n\n return cmdHelper.updateBusinessObject(element, property, value);\n },\n validate: function(element, value, node, idx) {\n\n // validate id if necessary\n if (modelProperties.indexOf('id') >= 0) {\n\n var parent = getParent(element, node, bo),\n properties = getPropertyValues(parent),\n property = properties[idx];\n\n if (property) {\n\n // check if id is valid\n var validationError = utils.isIdValid(property, value.id, translate);\n\n if (validationError) {\n return { id: validationError };\n }\n }\n }\n },\n removeElement: function(element, node, idx) {\n var commands = [],\n parent = getParent(element, node, bo),\n properties = getPropertiesElement(parent),\n propertyValues = getPropertyValues(parent),\n currentProperty = propertyValues[idx];\n\n commands.push(cmdHelper.removeElementsFromList(element, properties, 'values', null, [ currentProperty ]));\n\n if (propertyValues.length === 1) {\n\n // remove camunda:properties if the last existing property has been removed\n if (!isExtensionElements(parent)) {\n commands.push(cmdHelper.updateBusinessObject(element, parent, { properties: undefined }));\n } else {\n forEach(parent.values, function(value) {\n if (is(value, 'camunda:Properties')) {\n commands.push(extensionElementsHelper.removeEntry(bo, element, value));\n }\n });\n }\n }\n\n return commands;\n }\n });\n\n return factory.table(translate, options);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Properties.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ResultVariable.js":
/*!***********************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ResultVariable.js ***!
\***********************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar is = __webpack_require__(/*! bpmn-js/lib/util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is;\n\nvar assign = __webpack_require__(/*! lodash/assign */ \"./node_modules/lodash/assign.js\");\n\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\"),\n cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\n\nmodule.exports = function(element, bpmnFactory, options, translate) {\n\n var getBusinessObject = options.getBusinessObject,\n hideResultVariable = options.hideResultVariable,\n id = options.id || 'resultVariable';\n\n\n var resultVariableEntry = entryFactory.textField(translate, {\n id: id,\n label: translate('Result Variable'),\n modelProperty: 'resultVariable',\n\n get: function(element, node) {\n var bo = getBusinessObject(element);\n return { resultVariable: bo.get('camunda:resultVariable') };\n },\n\n set: function(element, values, node) {\n var bo = getBusinessObject(element);\n\n var resultVariable = values.resultVariable || undefined;\n\n var props = {\n 'camunda:resultVariable': resultVariable\n };\n\n if (is(bo, 'camunda:DmnCapable') && !resultVariable) {\n props = assign({ 'camunda:mapDecisionResult': 'resultList' }, props);\n }\n\n return cmdHelper.updateBusinessObject(element, bo, props);\n },\n\n hidden: function(element, node) {\n if (typeof hideResultVariable === 'function') {\n return hideResultVariable.apply(resultVariableEntry, arguments);\n }\n }\n\n });\n\n return [ resultVariableEntry ];\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/ResultVariable.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Script.js":
/*!***************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Script.js ***!
\***************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar domQuery = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\").query,\n escapeHTML = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\").escapeHTML,\n utils = __webpack_require__(/*! ../../../../Utils */ \"./node_modules/bpmn-js-properties-panel/lib/Utils.js\");\n\n\nfunction getScriptType(node, idPrefix) {\n\n // if we have an idPrefix, work with specific selector\n var selector;\n\n if (idPrefix && idPrefix != '') {\n selector = 'select[id=\"' + idPrefix + 'cam-script-type\"]';\n } else {\n selector = 'select[name=\"scriptType\"]';\n }\n\n return utils.selectedType(selector, node.parentElement);\n}\n\n\nmodule.exports = function(scriptLanguagePropName, scriptValuePropName, isFormatRequired, translate, options) {\n var idPrefix = options && options.idPrefix || '';\n\n return {\n template:\n '' +\n '
' + escapeHTML(translate('Script Format')) + ' ' +\n '
' +\n ' ' +\n '' +\n 'X ' +\n ' ' +\n '
' +\n '
' +\n\n '' +\n '
' + escapeHTML(translate('Script Type')) + ' ' +\n '
' +\n '' +\n '' + escapeHTML(translate('Inline Script')) + ' ' +\n '' + escapeHTML(translate('External Resource')) + ' ' +\n ' ' +\n '
' +\n '
' +\n\n '' +\n '
' + escapeHTML(translate('Resource')) + ' ' +\n '
' +\n ' ' +\n '' +\n 'X ' +\n ' ' +\n '
' +\n '
' +\n\n '' +\n '
' + escapeHTML(translate('Script')) + ' ' +\n '
' +\n '' +\n '
'+\n '
',\n\n get: function(element, bo) {\n var values = {};\n\n // read values from xml:\n var boScriptResource = bo.get('camunda:resource'),\n boScript = bo.get(scriptValuePropName),\n boScriptFormat = bo.get(scriptLanguagePropName);\n\n if (typeof boScriptResource !== 'undefined') {\n values.scriptResourceValue = boScriptResource;\n values.scriptType = 'scriptResource';\n } else {\n values.scriptValue = boScript;\n values.scriptType = 'script';\n }\n\n values.scriptFormat = boScriptFormat;\n\n return values;\n },\n\n set: function(element, values, containerElement) {\n var scriptFormat = values.scriptFormat,\n scriptType = values.scriptType,\n scriptResourceValue = values.scriptResourceValue,\n scriptValue = values.scriptValue;\n\n // init update\n var update = {\n 'camunda:resource': undefined\n };\n update[scriptValuePropName] = undefined;\n update[scriptLanguagePropName] = undefined;\n\n if (isFormatRequired) {\n\n // always set language\n update[scriptLanguagePropName] = scriptFormat || '';\n } else\n\n // set language only when scriptFormat has a value\n if (scriptFormat !== '') {\n update[scriptLanguagePropName] = scriptFormat;\n }\n\n // set either inline script or resource\n if ('scriptResource' === scriptType) {\n update['camunda:resource'] = scriptResourceValue || '';\n } else {\n update[scriptValuePropName] = scriptValue || '';\n }\n\n return update;\n },\n\n validate: function(element, values) {\n var validationResult = {};\n\n if (values.scriptType === 'script' && !values.scriptValue) {\n validationResult.scriptValue = translate('Must provide a value');\n }\n\n if (values.scriptType === 'scriptResource' && !values.scriptResourceValue) {\n validationResult.scriptResourceValue = translate('Must provide a value');\n }\n\n if (isFormatRequired && (!values.scriptFormat || values.scriptFormat.length === 0)) {\n validationResult.scriptFormat = translate('Must provide a value');\n }\n\n return validationResult;\n },\n\n clearScriptFormat: function(element, inputNode, btnNode, scopeNode) {\n domQuery('input[name=scriptFormat]', scopeNode).value='';\n\n return true;\n },\n\n canClearScriptFormat: function(element, inputNode, btnNode, scopeNode) {\n var input = domQuery('input[name=scriptFormat]', scopeNode);\n\n return input.value !== '';\n },\n\n clearScriptResource: function(element, inputNode, btnNode, scopeNode) {\n domQuery('input[name=scriptResourceValue]', scopeNode).value='';\n\n return true;\n },\n\n canClearScriptResource: function(element, inputNode, btnNode, scopeNode) {\n var input = domQuery('input[name=scriptResourceValue]', scopeNode);\n\n return input.value !== '';\n },\n\n clearScript: function(element, inputNode, btnNode, scopeNode) {\n domQuery('textarea[name=scriptValue]', scopeNode).value='';\n\n return true;\n },\n\n canClearScript: function(element, inputNode, btnNode, scopeNode) {\n var input = domQuery('textarea[name=scriptValue]', scopeNode);\n\n return input.value !== '';\n },\n\n isScriptResource: function(element, inputNode, btnNode, scopeNode) {\n var scriptType = getScriptType(scopeNode, idPrefix);\n return scriptType === 'scriptResource';\n },\n\n isScript: function(element, inputNode, btnNode, scopeNode) {\n var scriptType = getScriptType(scopeNode, idPrefix);\n return scriptType === 'script';\n }\n\n };\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Script.js?");
/***/ }),
/***/ "./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Tasklist.js":
/*!*****************************************************************************************************!*\
!*** ./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Tasklist.js ***!
\*****************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\r\n\r\nvar entryFactory = __webpack_require__(/*! ../../../../factory/EntryFactory */ \"./node_modules/bpmn-js-properties-panel/lib/factory/EntryFactory.js\");\r\n\r\nvar cmdHelper = __webpack_require__(/*! ../../../../helper/CmdHelper */ \"./node_modules/bpmn-js-properties-panel/lib/helper/CmdHelper.js\");\r\n\r\nmodule.exports = function(element, bpmnFactory, options, translate) {\r\n\r\n var getBusinessObject = options.getBusinessObject;\r\n\r\n var isStartableInTasklistEntry = entryFactory.checkbox(translate, {\r\n id: 'isStartableInTasklist',\r\n label: translate('Startable'),\r\n modelProperty: 'isStartableInTasklist',\r\n\r\n get: function(element, node) {\r\n var bo = getBusinessObject(element);\r\n var isStartableInTasklist = bo.get('camunda:isStartableInTasklist');\r\n\r\n return {\r\n isStartableInTasklist: isStartableInTasklist ? isStartableInTasklist : ''\r\n };\r\n },\r\n\r\n set: function(element, values) {\r\n var bo = getBusinessObject(element);\r\n return cmdHelper.updateBusinessObject(element, bo, {\r\n 'camunda:isStartableInTasklist': !!values.isStartableInTasklist\r\n });\r\n }\r\n\r\n });\r\n\r\n return [\r\n isStartableInTasklistEntry\r\n ];\r\n};\r\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js-properties-panel/lib/provider/camunda/parts/implementation/Tasklist.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/BaseModeler.js":
/*!*************************************************!*\
!*** ./node_modules/bpmn-js/lib/BaseModeler.js ***!
\*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BaseModeler)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ids__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ids */ \"./node_modules/ids/dist/index.esm.js\");\n/* harmony import */ var _BaseViewer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BaseViewer */ \"./node_modules/bpmn-js/lib/BaseViewer.js\");\n\n\n\n\n\n\n\n/**\n * A base modeler for BPMN 2.0 diagrams.\n *\n * Have a look at {@link Modeler} for a bundle that includes actual features.\n *\n * @param {Object} [options] configuration options to pass to the viewer\n * @param {DOMElement} [options.container] the container to render the viewer in, defaults to body.\n * @param {string|number} [options.width] the width of the viewer\n * @param {string|number} [options.height] the height of the viewer\n * @param {Object} [options.moddleExtensions] extension packages to provide\n * @param {Array} [options.modules] a list of modules to override the default modules\n * @param {Array} [options.additionalModules] a list of modules to use with the default modules\n */\nfunction BaseModeler(options) {\n _BaseViewer__WEBPACK_IMPORTED_MODULE_2__.default.call(this, options);\n\n // hook ID collection into the modeler\n this.on('import.parse.complete', function(event) {\n if (!event.error) {\n this._collectIds(event.definitions, event.elementsById);\n }\n }, this);\n\n this.on('diagram.destroy', function() {\n this.get('moddle').ids.clear();\n }, this);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BaseModeler, _BaseViewer__WEBPACK_IMPORTED_MODULE_2__.default);\n\n\n/**\n * Create a moddle instance, attaching ids to it.\n *\n * @param {Object} options\n */\nBaseModeler.prototype._createModdle = function(options) {\n var moddle = _BaseViewer__WEBPACK_IMPORTED_MODULE_2__.default.prototype._createModdle.call(this, options);\n\n // attach ids to moddle to be able to track\n // and validated ids in the BPMN 2.0 XML document\n // tree\n moddle.ids = new ids__WEBPACK_IMPORTED_MODULE_1__.default([ 32, 36, 1 ]);\n\n return moddle;\n};\n\n/**\n * Collect ids processed during parsing of the\n * definitions object.\n *\n * @param {ModdleElement} definitions\n * @param {Context} context\n */\nBaseModeler.prototype._collectIds = function(definitions, elementsById) {\n\n var moddle = definitions.$model,\n ids = moddle.ids,\n id;\n\n // remove references from previous import\n ids.clear();\n\n for (id in elementsById) {\n ids.claim(id, elementsById[id]);\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/BaseModeler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/BaseViewer.js":
/*!************************************************!*\
!*** ./node_modules/bpmn-js/lib/BaseViewer.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BaseViewer)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var diagram_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js */ \"./node_modules/diagram-js/lib/Diagram.js\");\n/* harmony import */ var bpmn_moddle__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! bpmn-moddle */ \"./node_modules/bpmn-moddle/dist/index.esm.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _import_Importer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./import/Importer */ \"./node_modules/bpmn-js/lib/import/Importer.js\");\n/* harmony import */ var _util_CompatibilityUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util/CompatibilityUtil */ \"./node_modules/bpmn-js/lib/util/CompatibilityUtil.js\");\n/* harmony import */ var _util_PoweredByUtil__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./util/PoweredByUtil */ \"./node_modules/bpmn-js/lib/util/PoweredByUtil.js\");\n/**\n * The code in the area\n * must not be changed.\n *\n * @see http://bpmn.io/license for more information.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A base viewer for BPMN 2.0 diagrams.\n *\n * Have a look at {@link Viewer}, {@link NavigatedViewer} or {@link Modeler} for\n * bundles that include actual features.\n *\n * @param {Object} [options] configuration options to pass to the viewer\n * @param {DOMElement} [options.container] the container to render the viewer in, defaults to body.\n * @param {string|number} [options.width] the width of the viewer\n * @param {string|number} [options.height] the height of the viewer\n * @param {Object} [options.moddleExtensions] extension packages to provide\n * @param {Array} [options.modules] a list of modules to override the default modules\n * @param {Array} [options.additionalModules] a list of modules to use with the default modules\n */\nfunction BaseViewer(options) {\n\n options = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({}, DEFAULT_OPTIONS, options);\n\n this._moddle = this._createModdle(options);\n\n this._container = this._createContainer(options);\n\n /* */\n\n addProjectLogo(this._container);\n\n /* */\n\n this._init(this._container, this._moddle, options);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BaseViewer, diagram_js__WEBPACK_IMPORTED_MODULE_2__.default);\n\n/**\n* The importXML result.\n*\n* @typedef {Object} ImportXMLResult\n*\n* @property {Array} warnings\n*/\n\n/**\n* The importXML error.\n*\n* @typedef {Error} ImportXMLError\n*\n* @property {Array} warnings\n*/\n\n/**\n * Parse and render a BPMN 2.0 diagram.\n *\n * Once finished the viewer reports back the result to the\n * provided callback function with (err, warnings).\n *\n * ## Life-Cycle Events\n *\n * During import the viewer will fire life-cycle events:\n *\n * * import.parse.start (about to read model from xml)\n * * import.parse.complete (model read; may have worked or not)\n * * import.render.start (graphical import start)\n * * import.render.complete (graphical import finished)\n * * import.done (everything done)\n *\n * You can use these events to hook into the life-cycle.\n *\n * @param {string} xml the BPMN 2.0 xml\n * @param {ModdleElement|string} [bpmnDiagram] BPMN diagram or id of diagram to render (if not provided, the first one will be rendered)\n *\n * Returns {Promise}\n */\nBaseViewer.prototype.importXML = (0,_util_CompatibilityUtil__WEBPACK_IMPORTED_MODULE_3__.wrapForCompatibility)(function importXML(xml, bpmnDiagram) {\n\n var self = this;\n\n function ParseCompleteEvent(data) {\n\n var event = self.get('eventBus').createEvent(data);\n\n // TODO(nikku): remove with future bpmn-js version\n Object.defineProperty(event, 'context', {\n enumerable: true,\n get: function() {\n\n console.warn(new Error(\n 'import.parse.complete is deprecated ' +\n 'and will be removed in future library versions'\n ));\n\n return {\n warnings: data.warnings,\n references: data.references,\n elementsById: data.elementsById\n };\n }\n });\n\n return event;\n }\n\n return new Promise(function(resolve, reject) {\n\n // hook in pre-parse listeners +\n // allow xml manipulation\n xml = self._emit('import.parse.start', { xml: xml }) || xml;\n\n self._moddle.fromXML(xml, 'bpmn:Definitions').then(function(result) {\n var definitions = result.rootElement;\n var references = result.references;\n var parseWarnings = result.warnings;\n var elementsById = result.elementsById;\n\n // hook in post parse listeners +\n // allow definitions manipulation\n definitions = self._emit('import.parse.complete', ParseCompleteEvent({\n error: null,\n definitions: definitions,\n elementsById: elementsById,\n references: references,\n warnings: parseWarnings\n })) || definitions;\n\n self.importDefinitions(definitions, bpmnDiagram).then(function(result) {\n var allWarnings = [].concat(parseWarnings, result.warnings || []);\n\n self._emit('import.done', { error: null, warnings: allWarnings });\n\n return resolve({ warnings: allWarnings });\n }).catch(function(err) {\n var allWarnings = [].concat(parseWarnings, err.warnings || []);\n\n self._emit('import.done', { error: err, warnings: allWarnings });\n\n return reject(addWarningsToError(err, allWarnings));\n });\n }).catch(function(err) {\n\n self._emit('import.parse.complete', {\n error: err\n });\n\n err = checkValidationError(err);\n\n self._emit('import.done', { error: err, warnings: err.warnings });\n\n return reject(err);\n });\n });\n});\n\n/**\n* The importDefinitions result.\n*\n* @typedef {Object} ImportDefinitionsResult\n*\n* @property {Array} warnings\n*/\n\n/**\n* The importDefinitions error.\n*\n* @typedef {Error} ImportDefinitionsError\n*\n* @property {Array} warnings\n*/\n\n/**\n * Import parsed definitions and render a BPMN 2.0 diagram.\n *\n * Once finished the viewer reports back the result to the\n * provided callback function with (err, warnings).\n *\n * ## Life-Cycle Events\n *\n * During import the viewer will fire life-cycle events:\n *\n * * import.render.start (graphical import start)\n * * import.render.complete (graphical import finished)\n *\n * You can use these events to hook into the life-cycle.\n *\n * @param {ModdleElement} definitions parsed BPMN 2.0 definitions\n * @param {ModdleElement|string} [bpmnDiagram] BPMN diagram or id of diagram to render (if not provided, the first one will be rendered)\n *\n * Returns {Promise}\n */\nBaseViewer.prototype.importDefinitions = (0,_util_CompatibilityUtil__WEBPACK_IMPORTED_MODULE_3__.wrapForCompatibility)(function importDefinitions(definitions, bpmnDiagram) {\n\n var self = this;\n\n return new Promise(function(resolve, reject) {\n\n self._setDefinitions(definitions);\n\n self.open(bpmnDiagram).then(function(result) {\n\n var warnings = result.warnings;\n\n return resolve({ warnings: warnings });\n }).catch(function(err) {\n\n return reject(err);\n });\n });\n});\n\n/**\n * The open result.\n *\n * @typedef {Object} OpenResult\n *\n * @property {Array} warnings\n */\n\n/**\n* The open error.\n*\n* @typedef {Error} OpenError\n*\n* @property {Array} warnings\n*/\n\n/**\n * Open diagram of previously imported XML.\n *\n * Once finished the viewer reports back the result to the\n * provided callback function with (err, warnings).\n *\n * ## Life-Cycle Events\n *\n * During switch the viewer will fire life-cycle events:\n *\n * * import.render.start (graphical import start)\n * * import.render.complete (graphical import finished)\n *\n * You can use these events to hook into the life-cycle.\n *\n * @param {string|ModdleElement} [bpmnDiagramOrId] id or the diagram to open\n *\n * Returns {Promise}\n */\nBaseViewer.prototype.open = (0,_util_CompatibilityUtil__WEBPACK_IMPORTED_MODULE_3__.wrapForCompatibility)(function open(bpmnDiagramOrId) {\n\n var definitions = this._definitions;\n var bpmnDiagram = bpmnDiagramOrId;\n\n var self = this;\n\n return new Promise(function(resolve, reject) {\n if (!definitions) {\n var err1 = new Error('no XML imported');\n\n return reject(addWarningsToError(err1, []));\n }\n\n if (typeof bpmnDiagramOrId === 'string') {\n bpmnDiagram = findBPMNDiagram(definitions, bpmnDiagramOrId);\n\n if (!bpmnDiagram) {\n var err2 = new Error('BPMNDiagram <' + bpmnDiagramOrId + '> not found');\n\n return reject(addWarningsToError(err2, []));\n }\n }\n\n // clear existing rendered diagram\n // catch synchronous exceptions during #clear()\n try {\n self.clear();\n } catch (error) {\n\n return reject(addWarningsToError(error, []));\n }\n\n // perform graphical import\n (0,_import_Importer__WEBPACK_IMPORTED_MODULE_4__.importBpmnDiagram)(self, definitions, bpmnDiagram).then(function(result) {\n\n var warnings = result.warnings;\n\n return resolve({ warnings: warnings });\n }).catch(function(err) {\n\n return reject(err);\n });\n });\n});\n\n/**\n * The saveXML result.\n *\n * @typedef {Object} SaveXMLResult\n *\n * @property {string} xml\n */\n\n/**\n * Export the currently displayed BPMN 2.0 diagram as\n * a BPMN 2.0 XML document.\n *\n * ## Life-Cycle Events\n *\n * During XML saving the viewer will fire life-cycle events:\n *\n * * saveXML.start (before serialization)\n * * saveXML.serialized (after xml generation)\n * * saveXML.done (everything done)\n *\n * You can use these events to hook into the life-cycle.\n *\n * @param {Object} [options] export options\n * @param {boolean} [options.format=false] output formatted XML\n * @param {boolean} [options.preamble=true] output preamble\n *\n * Returns {Promise}\n */\nBaseViewer.prototype.saveXML = (0,_util_CompatibilityUtil__WEBPACK_IMPORTED_MODULE_3__.wrapForCompatibility)(function saveXML(options) {\n\n options = options || {};\n\n var self = this;\n\n var definitions = this._definitions;\n\n return new Promise(function(resolve) {\n\n if (!definitions) {\n return resolve({\n error: new Error('no definitions loaded')\n });\n }\n\n // allow to fiddle around with definitions\n definitions = self._emit('saveXML.start', {\n definitions: definitions\n }) || definitions;\n\n self._moddle.toXML(definitions, options).then(function(result) {\n\n var xml = result.xml;\n\n xml = self._emit('saveXML.serialized', {\n xml: xml\n }) || xml;\n\n return resolve({\n xml: xml\n });\n });\n }).catch(function(error) {\n return { error: error };\n }).then(function(result) {\n\n self._emit('saveXML.done', result);\n\n var error = result.error;\n\n if (error) {\n return Promise.reject(error);\n }\n\n return result;\n });\n});\n\n/**\n * The saveSVG result.\n *\n * @typedef {Object} SaveSVGResult\n *\n * @property {string} svg\n */\n\n/**\n * Export the currently displayed BPMN 2.0 diagram as\n * an SVG image.\n *\n * ## Life-Cycle Events\n *\n * During SVG saving the viewer will fire life-cycle events:\n *\n * * saveSVG.start (before serialization)\n * * saveSVG.done (everything done)\n *\n * You can use these events to hook into the life-cycle.\n *\n * @param {Object} [options]\n *\n * Returns {Promise}\n */\nBaseViewer.prototype.saveSVG = (0,_util_CompatibilityUtil__WEBPACK_IMPORTED_MODULE_3__.wrapForCompatibility)(function saveSVG(options) {\n\n options = options || {};\n\n var self = this;\n\n return new Promise(function(resolve, reject) {\n\n self._emit('saveSVG.start');\n\n var svg, err;\n\n try {\n var canvas = self.get('canvas');\n\n var contentNode = canvas.getDefaultLayer(),\n defsNode = (0,min_dom__WEBPACK_IMPORTED_MODULE_5__.query)('defs', canvas._svg);\n\n var contents = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_6__.innerSVG)(contentNode),\n defs = defsNode ? '' + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_6__.innerSVG)(defsNode) + ' ' : '';\n\n var bbox = contentNode.getBBox();\n\n svg =\n '\\n' +\n '\\n' +\n '\\n' +\n '' +\n defs + contents +\n ' ';\n } catch (e) {\n err = e;\n }\n\n self._emit('saveSVG.done', {\n error: err,\n svg: svg\n });\n\n if (!err) {\n return resolve({ svg: svg });\n }\n\n return reject(err);\n });\n});\n\n/**\n * Get a named diagram service.\n *\n * @example\n *\n * var elementRegistry = viewer.get('elementRegistry');\n * var startEventShape = elementRegistry.get('StartEvent_1');\n *\n * @param {string} name\n *\n * @return {Object} diagram service instance\n *\n * @method BaseViewer#get\n */\n\n/**\n * Invoke a function in the context of this viewer.\n *\n * @example\n *\n * viewer.invoke(function(elementRegistry) {\n * var startEventShape = elementRegistry.get('StartEvent_1');\n * });\n *\n * @param {Function} fn to be invoked\n *\n * @return {Object} the functions return value\n *\n * @method BaseViewer#invoke\n */\n\n\nBaseViewer.prototype._setDefinitions = function(definitions) {\n this._definitions = definitions;\n};\n\nBaseViewer.prototype.getModules = function() {\n return this._modules;\n};\n\n/**\n * Remove all drawn elements from the viewer.\n *\n * After calling this method the viewer can still\n * be reused for opening another diagram.\n *\n * @method BaseViewer#clear\n */\nBaseViewer.prototype.clear = function() {\n if (!this.getDefinitions()) {\n\n // no diagram to clear\n return;\n }\n\n // remove businessObject#di binding\n //\n // this is necessary, as we establish the bindings\n // in the BpmnTreeWalker (and assume none are given\n // on reimport)\n this.get('elementRegistry').forEach(function(element) {\n var bo = element.businessObject;\n\n if (bo && bo.di) {\n delete bo.di;\n }\n });\n\n // remove drawn elements\n diagram_js__WEBPACK_IMPORTED_MODULE_2__.default.prototype.clear.call(this);\n};\n\n/**\n * Destroy the viewer instance and remove all its\n * remainders from the document tree.\n */\nBaseViewer.prototype.destroy = function() {\n\n // diagram destroy\n diagram_js__WEBPACK_IMPORTED_MODULE_2__.default.prototype.destroy.call(this);\n\n // dom detach\n (0,min_dom__WEBPACK_IMPORTED_MODULE_5__.remove)(this._container);\n};\n\n/**\n * Register an event listener\n *\n * Remove a previously added listener via {@link #off(event, callback)}.\n *\n * @param {string} event\n * @param {number} [priority]\n * @param {Function} callback\n * @param {Object} [that]\n */\nBaseViewer.prototype.on = function(event, priority, callback, target) {\n return this.get('eventBus').on(event, priority, callback, target);\n};\n\n/**\n * De-register an event listener\n *\n * @param {string} event\n * @param {Function} callback\n */\nBaseViewer.prototype.off = function(event, callback) {\n this.get('eventBus').off(event, callback);\n};\n\nBaseViewer.prototype.attachTo = function(parentNode) {\n\n if (!parentNode) {\n throw new Error('parentNode required');\n }\n\n // ensure we detach from the\n // previous, old parent\n this.detach();\n\n // unwrap jQuery if provided\n if (parentNode.get && parentNode.constructor.prototype.jquery) {\n parentNode = parentNode.get(0);\n }\n\n if (typeof parentNode === 'string') {\n parentNode = (0,min_dom__WEBPACK_IMPORTED_MODULE_5__.query)(parentNode);\n }\n\n parentNode.appendChild(this._container);\n\n this._emit('attach', {});\n\n this.get('canvas').resized();\n};\n\nBaseViewer.prototype.getDefinitions = function() {\n return this._definitions;\n};\n\nBaseViewer.prototype.detach = function() {\n\n var container = this._container,\n parentNode = container.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n this._emit('detach', {});\n\n parentNode.removeChild(container);\n};\n\nBaseViewer.prototype._init = function(container, moddle, options) {\n\n var baseModules = options.modules || this.getModules(),\n additionalModules = options.additionalModules || [],\n staticModules = [\n {\n bpmnjs: [ 'value', this ],\n moddle: [ 'value', moddle ]\n }\n ];\n\n var diagramModules = [].concat(staticModules, baseModules, additionalModules);\n\n var diagramOptions = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.omit)(options, [ 'additionalModules' ]), {\n canvas: (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({}, options.canvas, { container: container }),\n modules: diagramModules\n });\n\n // invoke diagram constructor\n diagram_js__WEBPACK_IMPORTED_MODULE_2__.default.call(this, diagramOptions);\n\n if (options && options.container) {\n this.attachTo(options.container);\n }\n};\n\n/**\n * Emit an event on the underlying {@link EventBus}\n *\n * @param {string} type\n * @param {Object} event\n *\n * @return {Object} event processing result (if any)\n */\nBaseViewer.prototype._emit = function(type, event) {\n return this.get('eventBus').fire(type, event);\n};\n\nBaseViewer.prototype._createContainer = function(options) {\n\n var container = (0,min_dom__WEBPACK_IMPORTED_MODULE_5__.domify)('
');\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(container.style, {\n width: ensureUnit(options.width),\n height: ensureUnit(options.height),\n position: options.position\n });\n\n return container;\n};\n\nBaseViewer.prototype._createModdle = function(options) {\n var moddleOptions = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({}, this._moddleExtensions, options.moddleExtensions);\n\n return new bpmn_moddle__WEBPACK_IMPORTED_MODULE_7__.default(moddleOptions);\n};\n\nBaseViewer.prototype._modules = [];\n\n// helpers ///////////////\n\nfunction addWarningsToError(err, warningsAry) {\n err.warnings = warningsAry;\n return err;\n}\n\nfunction checkValidationError(err) {\n\n // check if we can help the user by indicating wrong BPMN 2.0 xml\n // (in case he or the exporting tool did not get that right)\n\n var pattern = /unparsable content <([^>]+)> detected([\\s\\S]*)$/;\n var match = pattern.exec(err.message);\n\n if (match) {\n err.message =\n 'unparsable content <' + match[1] + '> detected; ' +\n 'this may indicate an invalid BPMN 2.0 diagram file' + match[2];\n }\n\n return err;\n}\n\nvar DEFAULT_OPTIONS = {\n width: '100%',\n height: '100%',\n position: 'relative'\n};\n\n\n/**\n * Ensure the passed argument is a proper unit (defaulting to px)\n */\nfunction ensureUnit(val) {\n return val + ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isNumber)(val) ? 'px' : '');\n}\n\n\n/**\n * Find BPMNDiagram in definitions by ID\n *\n * @param {ModdleElement} definitions\n * @param {string} diagramId\n *\n * @return {ModdleElement|null}\n */\nfunction findBPMNDiagram(definitions, diagramId) {\n if (!diagramId) {\n return null;\n }\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.find)(definitions.diagrams, function(element) {\n return element.id === diagramId;\n }) || null;\n}\n\n\n/* */\n\n\n\n\n\n/**\n * Adds the project logo to the diagram container as\n * required by the bpmn.io license.\n *\n * @see http://bpmn.io/license\n *\n * @param {Element} container\n */\nfunction addProjectLogo(container) {\n var img = _util_PoweredByUtil__WEBPACK_IMPORTED_MODULE_8__.BPMNIO_IMG;\n\n var linkMarkup =\n '' +\n img +\n ' ';\n\n var linkElement = (0,min_dom__WEBPACK_IMPORTED_MODULE_5__.domify)(linkMarkup);\n\n container.appendChild(linkElement);\n\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(linkElement, 'click', function(event) {\n (0,_util_PoweredByUtil__WEBPACK_IMPORTED_MODULE_8__.open)();\n\n event.preventDefault();\n });\n}\n\n/* */\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/BaseViewer.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/Modeler.js":
/*!*********************************************!*\
!*** ./node_modules/bpmn-js/lib/Modeler.js ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Modeler)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _BaseModeler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseModeler */ \"./node_modules/bpmn-js/lib/BaseModeler.js\");\n/* harmony import */ var _Viewer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Viewer */ \"./node_modules/bpmn-js/lib/Viewer.js\");\n/* harmony import */ var _NavigatedViewer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NavigatedViewer */ \"./node_modules/bpmn-js/lib/NavigatedViewer.js\");\n/* harmony import */ var diagram_js_lib_navigation_keyboard_move__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/navigation/keyboard-move */ \"./node_modules/diagram-js/lib/navigation/keyboard-move/index.js\");\n/* harmony import */ var diagram_js_lib_navigation_movecanvas__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! diagram-js/lib/navigation/movecanvas */ \"./node_modules/diagram-js/lib/navigation/movecanvas/index.js\");\n/* harmony import */ var diagram_js_lib_navigation_touch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! diagram-js/lib/navigation/touch */ \"./node_modules/diagram-js/lib/navigation/touch/index.js\");\n/* harmony import */ var diagram_js_lib_navigation_zoomscroll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! diagram-js/lib/navigation/zoomscroll */ \"./node_modules/diagram-js/lib/navigation/zoomscroll/index.js\");\n/* harmony import */ var diagram_js_lib_features_align_elements__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! diagram-js/lib/features/align-elements */ \"./node_modules/diagram-js/lib/features/align-elements/index.js\");\n/* harmony import */ var _features_auto_place__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./features/auto-place */ \"./node_modules/bpmn-js/lib/features/auto-place/index.js\");\n/* harmony import */ var _features_auto_resize__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./features/auto-resize */ \"./node_modules/bpmn-js/lib/features/auto-resize/index.js\");\n/* harmony import */ var diagram_js_lib_features_auto_scroll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! diagram-js/lib/features/auto-scroll */ \"./node_modules/diagram-js/lib/features/auto-scroll/index.js\");\n/* harmony import */ var diagram_js_lib_features_bendpoints__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! diagram-js/lib/features/bendpoints */ \"./node_modules/diagram-js/lib/features/bendpoints/index.js\");\n/* harmony import */ var diagram_js_lib_features_connect__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! diagram-js/lib/features/connect */ \"./node_modules/diagram-js/lib/features/connect/index.js\");\n/* harmony import */ var diagram_js_lib_features_connection_preview__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! diagram-js/lib/features/connection-preview */ \"./node_modules/diagram-js/lib/features/connection-preview/index.js\");\n/* harmony import */ var _features_context_pad__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./features/context-pad */ \"./node_modules/bpmn-js/lib/features/context-pad/index.js\");\n/* harmony import */ var _features_copy_paste__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./features/copy-paste */ \"./node_modules/bpmn-js/lib/features/copy-paste/index.js\");\n/* harmony import */ var diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! diagram-js/lib/features/create */ \"./node_modules/diagram-js/lib/features/create/index.js\");\n/* harmony import */ var _features_distribute_elements__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./features/distribute-elements */ \"./node_modules/bpmn-js/lib/features/distribute-elements/index.js\");\n/* harmony import */ var _features_editor_actions__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./features/editor-actions */ \"./node_modules/bpmn-js/lib/features/editor-actions/index.js\");\n/* harmony import */ var _features_grid_snapping__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./features/grid-snapping */ \"./node_modules/bpmn-js/lib/features/grid-snapping/index.js\");\n/* harmony import */ var _features_interaction_events__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./features/interaction-events */ \"./node_modules/bpmn-js/lib/features/interaction-events/index.js\");\n/* harmony import */ var _features_keyboard__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./features/keyboard */ \"./node_modules/bpmn-js/lib/features/keyboard/index.js\");\n/* harmony import */ var diagram_js_lib_features_keyboard_move_selection__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! diagram-js/lib/features/keyboard-move-selection */ \"./node_modules/diagram-js/lib/features/keyboard-move-selection/index.js\");\n/* harmony import */ var _features_label_editing__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./features/label-editing */ \"./node_modules/bpmn-js/lib/features/label-editing/index.js\");\n/* harmony import */ var _features_modeling__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./features/modeling */ \"./node_modules/bpmn-js/lib/features/modeling/index.js\");\n/* harmony import */ var diagram_js_lib_features_move__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! diagram-js/lib/features/move */ \"./node_modules/diagram-js/lib/features/move/index.js\");\n/* harmony import */ var _features_palette__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./features/palette */ \"./node_modules/bpmn-js/lib/features/palette/index.js\");\n/* harmony import */ var _features_replace_preview__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./features/replace-preview */ \"./node_modules/bpmn-js/lib/features/replace-preview/index.js\");\n/* harmony import */ var diagram_js_lib_features_resize__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! diagram-js/lib/features/resize */ \"./node_modules/diagram-js/lib/features/resize/index.js\");\n/* harmony import */ var _features_snapping__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./features/snapping */ \"./node_modules/bpmn-js/lib/features/snapping/index.js\");\n/* harmony import */ var _features_search__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./features/search */ \"./node_modules/bpmn-js/lib/features/search/index.js\");\n/* harmony import */ var _util_CompatibilityUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util/CompatibilityUtil */ \"./node_modules/bpmn-js/lib/util/CompatibilityUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar initialDiagram =\n '' +\n '' +\n '' +\n '' +\n ' ' +\n '' +\n '' +\n '' +\n '' +\n ' ' +\n ' ' +\n ' ' +\n ' ';\n\n\n/**\n * A modeler for BPMN 2.0 diagrams.\n *\n *\n * ## Extending the Modeler\n *\n * In order to extend the viewer pass extension modules to bootstrap via the\n * `additionalModules` option. An extension module is an object that exposes\n * named services.\n *\n * The following example depicts the integration of a simple\n * logging component that integrates with interaction events:\n *\n *\n * ```javascript\n *\n * // logging component\n * function InteractionLogger(eventBus) {\n * eventBus.on('element.hover', function(event) {\n * console.log()\n * })\n * }\n *\n * InteractionLogger.$inject = [ 'eventBus' ]; // minification save\n *\n * // extension module\n * var extensionModule = {\n * __init__: [ 'interactionLogger' ],\n * interactionLogger: [ 'type', InteractionLogger ]\n * };\n *\n * // extend the viewer\n * var bpmnModeler = new Modeler({ additionalModules: [ extensionModule ] });\n * bpmnModeler.importXML(...);\n * ```\n *\n *\n * ## Customizing / Replacing Components\n *\n * You can replace individual diagram components by redefining them in override modules.\n * This works for all components, including those defined in the core.\n *\n * Pass in override modules via the `options.additionalModules` flag like this:\n *\n * ```javascript\n * function CustomContextPadProvider(contextPad) {\n *\n * contextPad.registerProvider(this);\n *\n * this.getContextPadEntries = function(element) {\n * // no entries, effectively disable the context pad\n * return {};\n * };\n * }\n *\n * CustomContextPadProvider.$inject = [ 'contextPad' ];\n *\n * var overrideModule = {\n * contextPadProvider: [ 'type', CustomContextPadProvider ]\n * };\n *\n * var bpmnModeler = new Modeler({ additionalModules: [ overrideModule ]});\n * ```\n *\n * @param {Object} [options] configuration options to pass to the viewer\n * @param {DOMElement} [options.container] the container to render the viewer in, defaults to body.\n * @param {string|number} [options.width] the width of the viewer\n * @param {string|number} [options.height] the height of the viewer\n * @param {Object} [options.moddleExtensions] extension packages to provide\n * @param {Array} [options.modules] a list of modules to override the default modules\n * @param {Array} [options.additionalModules] a list of modules to use with the default modules\n */\nfunction Modeler(options) {\n _BaseModeler__WEBPACK_IMPORTED_MODULE_1__.default.call(this, options);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(Modeler, _BaseModeler__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\nModeler.Viewer = _Viewer__WEBPACK_IMPORTED_MODULE_2__.default;\nModeler.NavigatedViewer = _NavigatedViewer__WEBPACK_IMPORTED_MODULE_3__.default;\n\n/**\n* The createDiagram result.\n*\n* @typedef {Object} CreateDiagramResult\n*\n* @property {Array} warnings\n*/\n\n/**\n* The createDiagram error.\n*\n* @typedef {Error} CreateDiagramError\n*\n* @property {Array} warnings\n*/\n\n/**\n * Create a new diagram to start modeling.\n *\n * Returns {Promise}\n */\nModeler.prototype.createDiagram = (0,_util_CompatibilityUtil__WEBPACK_IMPORTED_MODULE_4__.wrapForCompatibility)(function createDiagram() {\n return this.importXML(initialDiagram);\n});\n\n\nModeler.prototype._interactionModules = [\n\n // non-modeling components\n diagram_js_lib_navigation_keyboard_move__WEBPACK_IMPORTED_MODULE_5__.default,\n diagram_js_lib_navigation_movecanvas__WEBPACK_IMPORTED_MODULE_6__.default,\n diagram_js_lib_navigation_touch__WEBPACK_IMPORTED_MODULE_7__.default,\n diagram_js_lib_navigation_zoomscroll__WEBPACK_IMPORTED_MODULE_8__.default\n];\n\nModeler.prototype._modelingModules = [\n\n // modeling components\n diagram_js_lib_features_align_elements__WEBPACK_IMPORTED_MODULE_9__.default,\n _features_auto_place__WEBPACK_IMPORTED_MODULE_10__.default,\n diagram_js_lib_features_auto_scroll__WEBPACK_IMPORTED_MODULE_11__.default,\n _features_auto_resize__WEBPACK_IMPORTED_MODULE_12__.default,\n diagram_js_lib_features_bendpoints__WEBPACK_IMPORTED_MODULE_13__.default,\n diagram_js_lib_features_connect__WEBPACK_IMPORTED_MODULE_14__.default,\n diagram_js_lib_features_connection_preview__WEBPACK_IMPORTED_MODULE_15__.default,\n _features_context_pad__WEBPACK_IMPORTED_MODULE_16__.default,\n _features_copy_paste__WEBPACK_IMPORTED_MODULE_17__.default,\n diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_18__.default,\n _features_distribute_elements__WEBPACK_IMPORTED_MODULE_19__.default,\n _features_editor_actions__WEBPACK_IMPORTED_MODULE_20__.default,\n _features_grid_snapping__WEBPACK_IMPORTED_MODULE_21__.default,\n _features_interaction_events__WEBPACK_IMPORTED_MODULE_22__.default,\n _features_keyboard__WEBPACK_IMPORTED_MODULE_23__.default,\n diagram_js_lib_features_keyboard_move_selection__WEBPACK_IMPORTED_MODULE_24__.default,\n _features_label_editing__WEBPACK_IMPORTED_MODULE_25__.default,\n _features_modeling__WEBPACK_IMPORTED_MODULE_26__.default,\n diagram_js_lib_features_move__WEBPACK_IMPORTED_MODULE_27__.default,\n _features_palette__WEBPACK_IMPORTED_MODULE_28__.default,\n _features_replace_preview__WEBPACK_IMPORTED_MODULE_29__.default,\n diagram_js_lib_features_resize__WEBPACK_IMPORTED_MODULE_30__.default,\n _features_snapping__WEBPACK_IMPORTED_MODULE_31__.default,\n _features_search__WEBPACK_IMPORTED_MODULE_32__.default\n];\n\n\n// modules the modeler is composed of\n//\n// - viewer modules\n// - interaction modules\n// - modeling modules\n\nModeler.prototype._modules = [].concat(\n _Viewer__WEBPACK_IMPORTED_MODULE_2__.default.prototype._modules,\n Modeler.prototype._interactionModules,\n Modeler.prototype._modelingModules\n);\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/Modeler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/NavigatedViewer.js":
/*!*****************************************************!*\
!*** ./node_modules/bpmn-js/lib/NavigatedViewer.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ NavigatedViewer)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Viewer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Viewer */ \"./node_modules/bpmn-js/lib/Viewer.js\");\n/* harmony import */ var diagram_js_lib_navigation_keyboard_move__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/navigation/keyboard-move */ \"./node_modules/diagram-js/lib/navigation/keyboard-move/index.js\");\n/* harmony import */ var diagram_js_lib_navigation_movecanvas__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/navigation/movecanvas */ \"./node_modules/diagram-js/lib/navigation/movecanvas/index.js\");\n/* harmony import */ var diagram_js_lib_navigation_zoomscroll__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/navigation/zoomscroll */ \"./node_modules/diagram-js/lib/navigation/zoomscroll/index.js\");\n\n\n\n\n\n\n\n\n\n/**\n * A viewer that includes mouse navigation facilities\n *\n * @param {Object} options\n */\nfunction NavigatedViewer(options) {\n _Viewer__WEBPACK_IMPORTED_MODULE_1__.default.call(this, options);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(NavigatedViewer, _Viewer__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\nNavigatedViewer.prototype._navigationModules = [\n diagram_js_lib_navigation_keyboard_move__WEBPACK_IMPORTED_MODULE_2__.default,\n diagram_js_lib_navigation_movecanvas__WEBPACK_IMPORTED_MODULE_3__.default,\n diagram_js_lib_navigation_zoomscroll__WEBPACK_IMPORTED_MODULE_4__.default\n];\n\nNavigatedViewer.prototype._modules = [].concat(\n _Viewer__WEBPACK_IMPORTED_MODULE_1__.default.prototype._modules,\n NavigatedViewer.prototype._navigationModules\n);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/NavigatedViewer.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/Viewer.js":
/*!********************************************!*\
!*** ./node_modules/bpmn-js/lib/Viewer.js ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Viewer)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./core */ \"./node_modules/bpmn-js/lib/core/index.js\");\n/* harmony import */ var diagram_js_lib_i18n_translate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/i18n/translate */ \"./node_modules/diagram-js/lib/i18n/translate/index.js\");\n/* harmony import */ var diagram_js_lib_features_selection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/features/selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var diagram_js_lib_features_overlays__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/features/overlays */ \"./node_modules/diagram-js/lib/features/overlays/index.js\");\n/* harmony import */ var _BaseViewer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseViewer */ \"./node_modules/bpmn-js/lib/BaseViewer.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * A viewer for BPMN 2.0 diagrams.\n *\n * Have a look at {@link NavigatedViewer} or {@link Modeler} for bundles that include\n * additional features.\n *\n *\n * ## Extending the Viewer\n *\n * In order to extend the viewer pass extension modules to bootstrap via the\n * `additionalModules` option. An extension module is an object that exposes\n * named services.\n *\n * The following example depicts the integration of a simple\n * logging component that integrates with interaction events:\n *\n *\n * ```javascript\n *\n * // logging component\n * function InteractionLogger(eventBus) {\n * eventBus.on('element.hover', function(event) {\n * console.log()\n * })\n * }\n *\n * InteractionLogger.$inject = [ 'eventBus' ]; // minification save\n *\n * // extension module\n * var extensionModule = {\n * __init__: [ 'interactionLogger' ],\n * interactionLogger: [ 'type', InteractionLogger ]\n * };\n *\n * // extend the viewer\n * var bpmnViewer = new Viewer({ additionalModules: [ extensionModule ] });\n * bpmnViewer.importXML(...);\n * ```\n *\n * @param {Object} [options] configuration options to pass to the viewer\n * @param {DOMElement} [options.container] the container to render the viewer in, defaults to body.\n * @param {string|number} [options.width] the width of the viewer\n * @param {string|number} [options.height] the height of the viewer\n * @param {Object} [options.moddleExtensions] extension packages to provide\n * @param {Array} [options.modules] a list of modules to override the default modules\n * @param {Array} [options.additionalModules] a list of modules to use with the default modules\n */\nfunction Viewer(options) {\n _BaseViewer__WEBPACK_IMPORTED_MODULE_1__.default.call(this, options);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(Viewer, _BaseViewer__WEBPACK_IMPORTED_MODULE_1__.default);\n\n// modules the viewer is composed of\nViewer.prototype._modules = [\n _core__WEBPACK_IMPORTED_MODULE_2__.default,\n diagram_js_lib_i18n_translate__WEBPACK_IMPORTED_MODULE_3__.default,\n diagram_js_lib_features_selection__WEBPACK_IMPORTED_MODULE_4__.default,\n diagram_js_lib_features_overlays__WEBPACK_IMPORTED_MODULE_5__.default\n];\n\n// default moddle extensions the viewer is composed of\nViewer.prototype._moddleExtensions = {};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/Viewer.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/core/index.js":
/*!************************************************!*\
!*** ./node_modules/bpmn-js/lib/core/index.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _draw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../draw */ \"./node_modules/bpmn-js/lib/draw/index.js\");\n/* harmony import */ var _import__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../import */ \"./node_modules/bpmn-js/lib/import/index.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _draw__WEBPACK_IMPORTED_MODULE_0__.default,\n _import__WEBPACK_IMPORTED_MODULE_1__.default\n ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/core/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/draw/BpmnRenderUtil.js":
/*!*********************************************************!*\
!*** ./node_modules/bpmn-js/lib/draw/BpmnRenderUtil.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isTypedEvent\": () => (/* binding */ isTypedEvent),\n/* harmony export */ \"isThrowEvent\": () => (/* binding */ isThrowEvent),\n/* harmony export */ \"isCollection\": () => (/* binding */ isCollection),\n/* harmony export */ \"getDi\": () => (/* binding */ getDi),\n/* harmony export */ \"getSemantic\": () => (/* binding */ getSemantic),\n/* harmony export */ \"getFillColor\": () => (/* binding */ getFillColor),\n/* harmony export */ \"getStrokeColor\": () => (/* binding */ getStrokeColor),\n/* harmony export */ \"getLabelColor\": () => (/* binding */ getLabelColor),\n/* harmony export */ \"getCirclePath\": () => (/* binding */ getCirclePath),\n/* harmony export */ \"getRoundRectPath\": () => (/* binding */ getRoundRectPath),\n/* harmony export */ \"getDiamondPath\": () => (/* binding */ getDiamondPath),\n/* harmony export */ \"getRectPath\": () => (/* binding */ getRectPath)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/util/RenderUtil */ \"./node_modules/diagram-js/lib/util/RenderUtil.js\");\n\n\n\n\n\n// element utils //////////////////////\n\n/**\n * Checks if eventDefinition of the given element matches with semantic type.\n *\n * @return {boolean} true if element is of the given semantic type\n */\nfunction isTypedEvent(event, eventDefinitionType, filter) {\n\n function matches(definition, filter) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.every)(filter, function(val, key) {\n\n // we want a == conversion here, to be able to catch\n // undefined == false and friends\n /* jshint -W116 */\n return definition[key] == val;\n });\n }\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.some)(event.eventDefinitions, function(definition) {\n return definition.$type === eventDefinitionType && matches(event, filter);\n });\n}\n\nfunction isThrowEvent(event) {\n return (event.$type === 'bpmn:IntermediateThrowEvent') || (event.$type === 'bpmn:EndEvent');\n}\n\nfunction isCollection(element) {\n var dataObject = element.dataObjectRef;\n\n return element.isCollection || (dataObject && dataObject.isCollection);\n}\n\nfunction getDi(element) {\n return element.businessObject.di;\n}\n\nfunction getSemantic(element) {\n return element.businessObject;\n}\n\n\n// color access //////////////////////\n\nfunction getFillColor(element, defaultColor) {\n var di = getDi(element);\n\n return di.get('color:background-color') || di.get('bioc:fill') || defaultColor || 'white';\n}\n\nfunction getStrokeColor(element, defaultColor) {\n var di = getDi(element);\n\n return di.get('color:border-color') || di.get('bioc:stroke') || defaultColor || 'black';\n}\n\nfunction getLabelColor(element, defaultColor, defaultStrokeColor) {\n var di = getDi(element),\n label = di.get('label');\n\n return label && label.get('color:color') || defaultColor ||\n getStrokeColor(element, defaultStrokeColor);\n}\n\n// cropping path customizations //////////////////////\n\nfunction getCirclePath(shape) {\n\n var cx = shape.x + shape.width / 2,\n cy = shape.y + shape.height / 2,\n radius = shape.width / 2;\n\n var circlePath = [\n ['M', cx, cy],\n ['m', 0, -radius],\n ['a', radius, radius, 0, 1, 1, 0, 2 * radius],\n ['a', radius, radius, 0, 1, 1, 0, -2 * radius],\n ['z']\n ];\n\n return (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_1__.componentsToPath)(circlePath);\n}\n\nfunction getRoundRectPath(shape, borderRadius) {\n\n var x = shape.x,\n y = shape.y,\n width = shape.width,\n height = shape.height;\n\n var roundRectPath = [\n ['M', x + borderRadius, y],\n ['l', width - borderRadius * 2, 0],\n ['a', borderRadius, borderRadius, 0, 0, 1, borderRadius, borderRadius],\n ['l', 0, height - borderRadius * 2],\n ['a', borderRadius, borderRadius, 0, 0, 1, -borderRadius, borderRadius],\n ['l', borderRadius * 2 - width, 0],\n ['a', borderRadius, borderRadius, 0, 0, 1, -borderRadius, -borderRadius],\n ['l', 0, borderRadius * 2 - height],\n ['a', borderRadius, borderRadius, 0, 0, 1, borderRadius, -borderRadius],\n ['z']\n ];\n\n return (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_1__.componentsToPath)(roundRectPath);\n}\n\nfunction getDiamondPath(shape) {\n\n var width = shape.width,\n height = shape.height,\n x = shape.x,\n y = shape.y,\n halfWidth = width / 2,\n halfHeight = height / 2;\n\n var diamondPath = [\n ['M', x + halfWidth, y],\n ['l', halfWidth, halfHeight],\n ['l', -halfWidth, halfHeight],\n ['l', -halfWidth, -halfHeight],\n ['z']\n ];\n\n return (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_1__.componentsToPath)(diamondPath);\n}\n\nfunction getRectPath(shape) {\n var x = shape.x,\n y = shape.y,\n width = shape.width,\n height = shape.height;\n\n var rectPath = [\n ['M', x, y],\n ['l', width, 0],\n ['l', 0, height],\n ['l', -width, 0],\n ['z']\n ];\n\n return (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_1__.componentsToPath)(rectPath);\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/draw/BpmnRenderUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/draw/BpmnRenderer.js":
/*!*******************************************************!*\
!*** ./node_modules/bpmn-js/lib/draw/BpmnRenderer.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnRenderer)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_draw_BaseRenderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/draw/BaseRenderer */ \"./node_modules/diagram-js/lib/draw/BaseRenderer.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _features_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../features/label-editing/LabelUtil */ \"./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! diagram-js/lib/util/RenderUtil */ \"./node_modules/diagram-js/lib/util/RenderUtil.js\");\n/* harmony import */ var _BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./BpmnRenderUtil */ \"./node_modules/bpmn-js/lib/draw/BpmnRenderUtil.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! diagram-js/lib/util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n/* harmony import */ var ids__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ids */ \"./node_modules/ids/dist/index.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar RENDERER_IDS = new ids__WEBPACK_IMPORTED_MODULE_1__.default();\n\nvar TASK_BORDER_RADIUS = 10;\nvar INNER_OUTER_DIST = 3;\n\nvar DEFAULT_FILL_OPACITY = .95,\n HIGH_FILL_OPACITY = .35;\n\nvar ELEMENT_LABEL_DISTANCE = 10;\n\nfunction BpmnRenderer(\n config, eventBus, styles, pathMap,\n canvas, textRenderer, priority) {\n\n diagram_js_lib_draw_BaseRenderer__WEBPACK_IMPORTED_MODULE_2__.default.call(this, eventBus, priority);\n\n var defaultFillColor = config && config.defaultFillColor,\n defaultStrokeColor = config && config.defaultStrokeColor,\n defaultLabelColor = config && config.defaultLabelColor;\n\n var rendererId = RENDERER_IDS.next();\n\n var markers = {};\n\n var computeStyle = styles.computeStyle;\n\n function addMarker(id, options) {\n var attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({\n fill: 'black',\n strokeWidth: 1,\n strokeLinecap: 'round',\n strokeDasharray: 'none'\n }, options.attrs);\n\n var ref = options.ref || { x: 0, y: 0 };\n\n var scale = options.scale || 1;\n\n // fix for safari / chrome / firefox bug not correctly\n // resetting stroke dash array\n if (attrs.strokeDasharray === 'none') {\n attrs.strokeDasharray = [10000, 1];\n }\n\n var marker = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('marker');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(options.element, attrs);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(marker, options.element);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(marker, {\n id: id,\n viewBox: '0 0 20 20',\n refX: ref.x,\n refY: ref.y,\n markerWidth: 20 * scale,\n markerHeight: 20 * scale,\n orient: 'auto'\n });\n\n var defs = (0,min_dom__WEBPACK_IMPORTED_MODULE_5__.query)('defs', canvas._svg);\n\n if (!defs) {\n defs = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('defs');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(canvas._svg, defs);\n }\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(defs, marker);\n\n markers[id] = marker;\n }\n\n function colorEscape(str) {\n\n // only allow characters and numbers\n return str.replace(/[^0-9a-zA-z]+/g, '_');\n }\n\n function marker(type, fill, stroke) {\n var id = type + '-' + colorEscape(fill) + '-' + colorEscape(stroke) + '-' + rendererId;\n\n if (!markers[id]) {\n createMarker(id, type, fill, stroke);\n }\n\n return 'url(#' + id + ')';\n }\n\n function createMarker(id, type, fill, stroke) {\n\n if (type === 'sequenceflow-end') {\n var sequenceflowEnd = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('path');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(sequenceflowEnd, { d: 'M 1 5 L 11 10 L 1 15 Z' });\n\n addMarker(id, {\n element: sequenceflowEnd,\n ref: { x: 11, y: 10 },\n scale: 0.5,\n attrs: {\n fill: stroke,\n stroke: stroke\n }\n });\n }\n\n if (type === 'messageflow-start') {\n var messageflowStart = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('circle');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(messageflowStart, { cx: 6, cy: 6, r: 3.5 });\n\n addMarker(id, {\n element: messageflowStart,\n attrs: {\n fill: fill,\n stroke: stroke\n },\n ref: { x: 6, y: 6 }\n });\n }\n\n if (type === 'messageflow-end') {\n var messageflowEnd = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('path');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(messageflowEnd, { d: 'm 1 5 l 0 -3 l 7 3 l -7 3 z' });\n\n addMarker(id, {\n element: messageflowEnd,\n attrs: {\n fill: fill,\n stroke: stroke,\n strokeLinecap: 'butt'\n },\n ref: { x: 8.5, y: 5 }\n });\n }\n\n if (type === 'association-start') {\n var associationStart = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('path');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(associationStart, { d: 'M 11 5 L 1 10 L 11 15' });\n\n addMarker(id, {\n element: associationStart,\n attrs: {\n fill: 'none',\n stroke: stroke,\n strokeWidth: 1.5\n },\n ref: { x: 1, y: 10 },\n scale: 0.5\n });\n }\n\n if (type === 'association-end') {\n var associationEnd = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('path');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(associationEnd, { d: 'M 1 5 L 11 10 L 1 15' });\n\n addMarker(id, {\n element: associationEnd,\n attrs: {\n fill: 'none',\n stroke: stroke,\n strokeWidth: 1.5\n },\n ref: { x: 12, y: 10 },\n scale: 0.5\n });\n }\n\n if (type === 'conditional-flow-marker') {\n var conditionalflowMarker = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('path');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(conditionalflowMarker, { d: 'M 0 10 L 8 6 L 16 10 L 8 14 Z' });\n\n addMarker(id, {\n element: conditionalflowMarker,\n attrs: {\n fill: fill,\n stroke: stroke\n },\n ref: { x: -1, y: 10 },\n scale: 0.5\n });\n }\n\n if (type === 'conditional-default-flow-marker') {\n var conditionaldefaultflowMarker = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('path');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(conditionaldefaultflowMarker, { d: 'M 6 4 L 10 16' });\n\n addMarker(id, {\n element: conditionaldefaultflowMarker,\n attrs: {\n stroke: stroke\n },\n ref: { x: 0, y: 10 },\n scale: 0.5\n });\n }\n }\n\n function drawCircle(parentGfx, width, height, offset, attrs) {\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_3__.isObject)(offset)) {\n attrs = offset;\n offset = 0;\n }\n\n offset = offset || 0;\n\n attrs = computeStyle(attrs, {\n stroke: 'black',\n strokeWidth: 2,\n fill: 'white'\n });\n\n if (attrs.fill === 'none') {\n delete attrs.fillOpacity;\n }\n\n var cx = width / 2,\n cy = height / 2;\n\n var circle = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('circle');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(circle, {\n cx: cx,\n cy: cy,\n r: Math.round((width + height) / 4 - offset)\n });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(circle, attrs);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(parentGfx, circle);\n\n return circle;\n }\n\n function drawRect(parentGfx, width, height, r, offset, attrs) {\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_3__.isObject)(offset)) {\n attrs = offset;\n offset = 0;\n }\n\n offset = offset || 0;\n\n attrs = computeStyle(attrs, {\n stroke: 'black',\n strokeWidth: 2,\n fill: 'white'\n });\n\n var rect = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('rect');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(rect, {\n x: offset,\n y: offset,\n width: width - offset * 2,\n height: height - offset * 2,\n rx: r,\n ry: r\n });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(rect, attrs);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(parentGfx, rect);\n\n return rect;\n }\n\n function drawDiamond(parentGfx, width, height, attrs) {\n\n var x_2 = width / 2;\n var y_2 = height / 2;\n\n var points = [{ x: x_2, y: 0 }, { x: width, y: y_2 }, { x: x_2, y: height }, { x: 0, y: y_2 }];\n\n var pointsString = points.map(function(point) {\n return point.x + ',' + point.y;\n }).join(' ');\n\n attrs = computeStyle(attrs, {\n stroke: 'black',\n strokeWidth: 2,\n fill: 'white'\n });\n\n var polygon = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('polygon');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(polygon, {\n points: pointsString\n });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(polygon, attrs);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(parentGfx, polygon);\n\n return polygon;\n }\n\n function drawLine(parentGfx, waypoints, attrs) {\n attrs = computeStyle(attrs, [ 'no-fill' ], {\n stroke: 'black',\n strokeWidth: 2,\n fill: 'none'\n });\n\n var line = (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_6__.createLine)(waypoints, attrs);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(parentGfx, line);\n\n return line;\n }\n\n function drawPath(parentGfx, d, attrs) {\n\n attrs = computeStyle(attrs, [ 'no-fill' ], {\n strokeWidth: 2,\n stroke: 'black'\n });\n\n var path = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('path');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(path, { d: d });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(path, attrs);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(parentGfx, path);\n\n return path;\n }\n\n function drawMarker(type, parentGfx, path, attrs) {\n return drawPath(parentGfx, path, (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({ 'data-marker': type }, attrs));\n }\n\n function as(type) {\n return function(parentGfx, element) {\n return handlers[type](parentGfx, element);\n };\n }\n\n function renderer(type) {\n return handlers[type];\n }\n\n function renderEventContent(element, parentGfx) {\n\n var event = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n var isThrowing = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isThrowEvent)(event);\n\n if (event.eventDefinitions && event.eventDefinitions.length>1) {\n if (event.parallelMultiple) {\n return renderer('bpmn:ParallelMultipleEventDefinition')(parentGfx, element, isThrowing);\n }\n else {\n return renderer('bpmn:MultipleEventDefinition')(parentGfx, element, isThrowing);\n }\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:MessageEventDefinition')) {\n return renderer('bpmn:MessageEventDefinition')(parentGfx, element, isThrowing);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:TimerEventDefinition')) {\n return renderer('bpmn:TimerEventDefinition')(parentGfx, element, isThrowing);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:ConditionalEventDefinition')) {\n return renderer('bpmn:ConditionalEventDefinition')(parentGfx, element);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:SignalEventDefinition')) {\n return renderer('bpmn:SignalEventDefinition')(parentGfx, element, isThrowing);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:EscalationEventDefinition')) {\n return renderer('bpmn:EscalationEventDefinition')(parentGfx, element, isThrowing);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:LinkEventDefinition')) {\n return renderer('bpmn:LinkEventDefinition')(parentGfx, element, isThrowing);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:ErrorEventDefinition')) {\n return renderer('bpmn:ErrorEventDefinition')(parentGfx, element, isThrowing);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:CancelEventDefinition')) {\n return renderer('bpmn:CancelEventDefinition')(parentGfx, element, isThrowing);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:CompensateEventDefinition')) {\n return renderer('bpmn:CompensateEventDefinition')(parentGfx, element, isThrowing);\n }\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isTypedEvent)(event, 'bpmn:TerminateEventDefinition')) {\n return renderer('bpmn:TerminateEventDefinition')(parentGfx, element, isThrowing);\n }\n\n return null;\n }\n\n function renderLabel(parentGfx, label, options) {\n\n options = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({\n size: {\n width: 100\n }\n }, options);\n\n var text = textRenderer.createText(label || '', options);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.classes)(text).add('djs-label');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(parentGfx, text);\n\n return text;\n }\n\n function renderEmbeddedLabel(parentGfx, element, align) {\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n return renderLabel(parentGfx, semantic.name, {\n box: element,\n align: align,\n padding: 5,\n style: {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getLabelColor)(element, defaultLabelColor, defaultStrokeColor)\n }\n });\n }\n\n function renderExternalLabel(parentGfx, element) {\n\n var box = {\n width: 90,\n height: 30,\n x: element.width / 2 + element.x,\n y: element.height / 2 + element.y\n };\n\n return renderLabel(parentGfx, (0,_features_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_8__.getLabel)(element), {\n box: box,\n fitBox: true,\n style: (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(\n {},\n textRenderer.getExternalStyle(),\n {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getLabelColor)(element, defaultLabelColor, defaultStrokeColor)\n }\n )\n });\n }\n\n function renderLaneLabel(parentGfx, text, element) {\n var textBox = renderLabel(parentGfx, text, {\n box: {\n height: 30,\n width: element.height\n },\n align: 'center-middle',\n style: {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getLabelColor)(element, defaultLabelColor, defaultStrokeColor)\n }\n });\n\n var top = -1 * element.height;\n\n (0,diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_9__.transform)(textBox, 0, -top, 270);\n }\n\n function createPathFromConnection(connection) {\n var waypoints = connection.waypoints;\n\n var pathData = 'm ' + waypoints[0].x + ',' + waypoints[0].y;\n for (var i = 1; i < waypoints.length; i++) {\n pathData += 'L' + waypoints[i].x + ',' + waypoints[i].y + ' ';\n }\n return pathData;\n }\n\n var handlers = this.handlers = {\n 'bpmn:Event': function(parentGfx, element, attrs) {\n\n if (!('fillOpacity' in attrs)) {\n attrs.fillOpacity = DEFAULT_FILL_OPACITY;\n }\n\n return drawCircle(parentGfx, element.width, element.height, attrs);\n },\n 'bpmn:StartEvent': function(parentGfx, element) {\n var attrs = {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n if (!semantic.isInterrupting) {\n attrs = {\n strokeDasharray: '6',\n strokeLinecap: 'round',\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n }\n\n var circle = renderer('bpmn:Event')(parentGfx, element, attrs);\n\n renderEventContent(element, parentGfx);\n\n return circle;\n },\n 'bpmn:MessageEventDefinition': function(parentGfx, element, isThrowing) {\n var pathData = pathMap.getScaledPath('EVENT_MESSAGE', {\n xScaleFactor: 0.9,\n yScaleFactor: 0.9,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.235,\n my: 0.315\n }\n });\n\n var fill = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor) : (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor);\n var stroke = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor) : (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor);\n\n var messagePath = drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: fill,\n stroke: stroke\n });\n\n return messagePath;\n },\n 'bpmn:TimerEventDefinition': function(parentGfx, element) {\n var circle = drawCircle(parentGfx, element.width, element.height, 0.2 * element.height, {\n strokeWidth: 2,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n var pathData = pathMap.getScaledPath('EVENT_TIMER_WH', {\n xScaleFactor: 0.75,\n yScaleFactor: 0.75,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.5,\n my: 0.5\n }\n });\n\n drawPath(parentGfx, pathData, {\n strokeWidth: 2,\n strokeLinecap: 'square',\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n for (var i = 0;i < 12; i++) {\n\n var linePathData = pathMap.getScaledPath('EVENT_TIMER_LINE', {\n xScaleFactor: 0.75,\n yScaleFactor: 0.75,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.5,\n my: 0.5\n }\n });\n\n var width = element.width / 2;\n var height = element.height / 2;\n\n drawPath(parentGfx, linePathData, {\n strokeWidth: 1,\n strokeLinecap: 'square',\n transform: 'rotate(' + (i * 30) + ',' + height + ',' + width + ')',\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n }\n\n return circle;\n },\n 'bpmn:EscalationEventDefinition': function(parentGfx, event, isThrowing) {\n var pathData = pathMap.getScaledPath('EVENT_ESCALATION', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.5,\n my: 0.2\n }\n });\n\n var fill = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor) : 'none';\n\n return drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: fill,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor)\n });\n },\n 'bpmn:ConditionalEventDefinition': function(parentGfx, event) {\n var pathData = pathMap.getScaledPath('EVENT_CONDITIONAL', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.5,\n my: 0.222\n }\n });\n\n return drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor)\n });\n },\n 'bpmn:LinkEventDefinition': function(parentGfx, event, isThrowing) {\n var pathData = pathMap.getScaledPath('EVENT_LINK', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.57,\n my: 0.263\n }\n });\n\n var fill = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor) : 'none';\n\n return drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: fill,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor)\n });\n },\n 'bpmn:ErrorEventDefinition': function(parentGfx, event, isThrowing) {\n var pathData = pathMap.getScaledPath('EVENT_ERROR', {\n xScaleFactor: 1.1,\n yScaleFactor: 1.1,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.2,\n my: 0.722\n }\n });\n\n var fill = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor) : 'none';\n\n return drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: fill,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor)\n });\n },\n 'bpmn:CancelEventDefinition': function(parentGfx, event, isThrowing) {\n var pathData = pathMap.getScaledPath('EVENT_CANCEL_45', {\n xScaleFactor: 1.0,\n yScaleFactor: 1.0,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.638,\n my: -0.055\n }\n });\n\n var fill = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor) : 'none';\n\n var path = drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: fill,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor)\n });\n\n (0,diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_9__.rotate)(path, 45);\n\n return path;\n },\n 'bpmn:CompensateEventDefinition': function(parentGfx, event, isThrowing) {\n var pathData = pathMap.getScaledPath('EVENT_COMPENSATION', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.22,\n my: 0.5\n }\n });\n\n var fill = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor) : 'none';\n\n return drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: fill,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor)\n });\n },\n 'bpmn:SignalEventDefinition': function(parentGfx, event, isThrowing) {\n var pathData = pathMap.getScaledPath('EVENT_SIGNAL', {\n xScaleFactor: 0.9,\n yScaleFactor: 0.9,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.5,\n my: 0.2\n }\n });\n\n var fill = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor) : 'none';\n\n return drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: fill,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor)\n });\n },\n 'bpmn:MultipleEventDefinition': function(parentGfx, event, isThrowing) {\n var pathData = pathMap.getScaledPath('EVENT_MULTIPLE', {\n xScaleFactor: 1.1,\n yScaleFactor: 1.1,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.222,\n my: 0.36\n }\n });\n\n var fill = isThrowing ? (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor) : 'none';\n\n return drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: fill\n });\n },\n 'bpmn:ParallelMultipleEventDefinition': function(parentGfx, event) {\n var pathData = pathMap.getScaledPath('EVENT_PARALLEL_MULTIPLE', {\n xScaleFactor: 1.2,\n yScaleFactor: 1.2,\n containerWidth: event.width,\n containerHeight: event.height,\n position: {\n mx: 0.458,\n my: 0.194\n }\n });\n\n return drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(event, defaultStrokeColor)\n });\n },\n 'bpmn:EndEvent': function(parentGfx, element) {\n var circle = renderer('bpmn:Event')(parentGfx, element, {\n strokeWidth: 4,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n renderEventContent(element, parentGfx, true);\n\n return circle;\n },\n 'bpmn:TerminateEventDefinition': function(parentGfx, element) {\n var circle = drawCircle(parentGfx, element.width, element.height, 8, {\n strokeWidth: 4,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return circle;\n },\n 'bpmn:IntermediateEvent': function(parentGfx, element) {\n var outer = renderer('bpmn:Event')(parentGfx, element, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n /* inner */\n drawCircle(parentGfx, element.width, element.height, INNER_OUTER_DIST, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, 'none'),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n renderEventContent(element, parentGfx);\n\n return outer;\n },\n 'bpmn:IntermediateCatchEvent': as('bpmn:IntermediateEvent'),\n 'bpmn:IntermediateThrowEvent': as('bpmn:IntermediateEvent'),\n\n 'bpmn:Activity': function(parentGfx, element, attrs) {\n\n attrs = attrs || {};\n\n if (!('fillOpacity' in attrs)) {\n attrs.fillOpacity = DEFAULT_FILL_OPACITY;\n }\n\n return drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS, attrs);\n },\n\n 'bpmn:Task': function(parentGfx, element) {\n var attrs = {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n\n var rect = renderer('bpmn:Activity')(parentGfx, element, attrs);\n\n renderEmbeddedLabel(parentGfx, element, 'center-middle');\n attachTaskMarkers(parentGfx, element);\n\n return rect;\n },\n 'bpmn:ServiceTask': function(parentGfx, element) {\n var task = renderer('bpmn:Task')(parentGfx, element);\n\n var pathDataBG = pathMap.getScaledPath('TASK_TYPE_SERVICE', {\n abspos: {\n x: 12,\n y: 18\n }\n });\n\n /* service bg */ drawPath(parentGfx, pathDataBG, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n var fillPathData = pathMap.getScaledPath('TASK_TYPE_SERVICE_FILL', {\n abspos: {\n x: 17.2,\n y: 18\n }\n });\n\n /* service fill */ drawPath(parentGfx, fillPathData, {\n strokeWidth: 0,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor)\n });\n\n var pathData = pathMap.getScaledPath('TASK_TYPE_SERVICE', {\n abspos: {\n x: 17,\n y: 22\n }\n });\n\n /* service */ drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return task;\n },\n 'bpmn:UserTask': function(parentGfx, element) {\n var task = renderer('bpmn:Task')(parentGfx, element);\n\n var x = 15;\n var y = 12;\n\n var pathData = pathMap.getScaledPath('TASK_TYPE_USER_1', {\n abspos: {\n x: x,\n y: y\n }\n });\n\n /* user path */ drawPath(parentGfx, pathData, {\n strokeWidth: 0.5,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n var pathData2 = pathMap.getScaledPath('TASK_TYPE_USER_2', {\n abspos: {\n x: x,\n y: y\n }\n });\n\n /* user2 path */ drawPath(parentGfx, pathData2, {\n strokeWidth: 0.5,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n var pathData3 = pathMap.getScaledPath('TASK_TYPE_USER_3', {\n abspos: {\n x: x,\n y: y\n }\n });\n\n /* user3 path */ drawPath(parentGfx, pathData3, {\n strokeWidth: 0.5,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return task;\n },\n 'bpmn:ManualTask': function(parentGfx, element) {\n var task = renderer('bpmn:Task')(parentGfx, element);\n\n var pathData = pathMap.getScaledPath('TASK_TYPE_MANUAL', {\n abspos: {\n x: 17,\n y: 15\n }\n });\n\n /* manual path */ drawPath(parentGfx, pathData, {\n strokeWidth: 0.5, // 0.25,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return task;\n },\n 'bpmn:SendTask': function(parentGfx, element) {\n var task = renderer('bpmn:Task')(parentGfx, element);\n\n var pathData = pathMap.getScaledPath('TASK_TYPE_SEND', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: 21,\n containerHeight: 14,\n position: {\n mx: 0.285,\n my: 0.357\n }\n });\n\n /* send path */ drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor)\n });\n\n return task;\n },\n 'bpmn:ReceiveTask' : function(parentGfx, element) {\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n var task = renderer('bpmn:Task')(parentGfx, element);\n var pathData;\n\n if (semantic.instantiate) {\n drawCircle(parentGfx, 28, 28, 20 * 0.22, { strokeWidth: 1 });\n\n pathData = pathMap.getScaledPath('TASK_TYPE_INSTANTIATING_SEND', {\n abspos: {\n x: 7.77,\n y: 9.52\n }\n });\n } else {\n\n pathData = pathMap.getScaledPath('TASK_TYPE_SEND', {\n xScaleFactor: 0.9,\n yScaleFactor: 0.9,\n containerWidth: 21,\n containerHeight: 14,\n position: {\n mx: 0.3,\n my: 0.4\n }\n });\n }\n\n /* receive path */ drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return task;\n },\n 'bpmn:ScriptTask': function(parentGfx, element) {\n var task = renderer('bpmn:Task')(parentGfx, element);\n\n var pathData = pathMap.getScaledPath('TASK_TYPE_SCRIPT', {\n abspos: {\n x: 15,\n y: 20\n }\n });\n\n /* script path */ drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return task;\n },\n 'bpmn:BusinessRuleTask': function(parentGfx, element) {\n var task = renderer('bpmn:Task')(parentGfx, element);\n\n var headerPathData = pathMap.getScaledPath('TASK_TYPE_BUSINESS_RULE_HEADER', {\n abspos: {\n x: 8,\n y: 8\n }\n });\n\n var businessHeaderPath = drawPath(parentGfx, headerPathData);\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(businessHeaderPath, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, '#aaaaaa'),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n var headerData = pathMap.getScaledPath('TASK_TYPE_BUSINESS_RULE_MAIN', {\n abspos: {\n x: 8,\n y: 8\n }\n });\n\n var businessPath = drawPath(parentGfx, headerData);\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(businessPath, {\n strokeWidth: 1,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return task;\n },\n 'bpmn:SubProcess': function(parentGfx, element, attrs) {\n attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n }, attrs);\n\n var rect = renderer('bpmn:Activity')(parentGfx, element, attrs);\n\n var expanded = (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_10__.isExpanded)(element);\n\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_10__.isEventSubProcess)(element)) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(rect, {\n strokeDasharray: '1,2'\n });\n }\n\n renderEmbeddedLabel(parentGfx, element, expanded ? 'center-top' : 'center-middle');\n\n if (expanded) {\n attachTaskMarkers(parentGfx, element);\n } else {\n attachTaskMarkers(parentGfx, element, ['SubProcessMarker']);\n }\n\n return rect;\n },\n 'bpmn:AdHocSubProcess': function(parentGfx, element) {\n return renderer('bpmn:SubProcess')(parentGfx, element);\n },\n 'bpmn:Transaction': function(parentGfx, element) {\n var outer = renderer('bpmn:SubProcess')(parentGfx, element);\n\n var innerAttrs = styles.style([ 'no-fill', 'no-events' ], {\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n /* inner path */ drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS - 2, INNER_OUTER_DIST, innerAttrs);\n\n return outer;\n },\n 'bpmn:CallActivity': function(parentGfx, element) {\n return renderer('bpmn:SubProcess')(parentGfx, element, {\n strokeWidth: 5\n });\n },\n 'bpmn:Participant': function(parentGfx, element) {\n\n var attrs = {\n fillOpacity: DEFAULT_FILL_OPACITY,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n\n var lane = renderer('bpmn:Lane')(parentGfx, element, attrs);\n\n var expandedPool = (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_10__.isExpanded)(element);\n\n if (expandedPool) {\n drawLine(parentGfx, [\n { x: 30, y: 0 },\n { x: 30, y: element.height }\n ], {\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n var text = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element).name;\n renderLaneLabel(parentGfx, text, element);\n } else {\n\n // Collapsed pool draw text inline\n var text2 = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element).name;\n renderLabel(parentGfx, text2, {\n box: element, align: 'center-middle',\n style: {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getLabelColor)(element, defaultLabelColor, defaultStrokeColor)\n }\n });\n }\n\n var participantMultiplicity = !!((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element).participantMultiplicity);\n\n if (participantMultiplicity) {\n renderer('ParticipantMultiplicityMarker')(parentGfx, element);\n }\n\n return lane;\n },\n 'bpmn:Lane': function(parentGfx, element, attrs) {\n var rect = drawRect(parentGfx, element.width, element.height, 0, (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n fillOpacity: HIGH_FILL_OPACITY,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n }, attrs));\n\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n if (semantic.$type === 'bpmn:Lane') {\n var text = semantic.name;\n renderLaneLabel(parentGfx, text, element);\n }\n\n return rect;\n },\n 'bpmn:InclusiveGateway': function(parentGfx, element) {\n var diamond = renderer('bpmn:Gateway')(parentGfx, element);\n\n /* circle path */\n drawCircle(parentGfx, element.width, element.height, element.height * 0.24, {\n strokeWidth: 2.5,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return diamond;\n },\n 'bpmn:ExclusiveGateway': function(parentGfx, element) {\n var diamond = renderer('bpmn:Gateway')(parentGfx, element);\n\n var pathData = pathMap.getScaledPath('GATEWAY_EXCLUSIVE', {\n xScaleFactor: 0.4,\n yScaleFactor: 0.4,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.32,\n my: 0.3\n }\n });\n\n if (((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getDi)(element).isMarkerVisible)) {\n drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n }\n\n return diamond;\n },\n 'bpmn:ComplexGateway': function(parentGfx, element) {\n var diamond = renderer('bpmn:Gateway')(parentGfx, element);\n\n var pathData = pathMap.getScaledPath('GATEWAY_COMPLEX', {\n xScaleFactor: 0.5,\n yScaleFactor:0.5,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.46,\n my: 0.26\n }\n });\n\n /* complex path */ drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return diamond;\n },\n 'bpmn:ParallelGateway': function(parentGfx, element) {\n var diamond = renderer('bpmn:Gateway')(parentGfx, element);\n\n var pathData = pathMap.getScaledPath('GATEWAY_PARALLEL', {\n xScaleFactor: 0.6,\n yScaleFactor:0.6,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.46,\n my: 0.2\n }\n });\n\n /* parallel path */ drawPath(parentGfx, pathData, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return diamond;\n },\n 'bpmn:EventBasedGateway': function(parentGfx, element) {\n\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n var diamond = renderer('bpmn:Gateway')(parentGfx, element);\n\n /* outer circle path */ drawCircle(parentGfx, element.width, element.height, element.height * 0.20, {\n strokeWidth: 1,\n fill: 'none',\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n var type = semantic.eventGatewayType;\n var instantiate = !!semantic.instantiate;\n\n function drawEvent() {\n\n var pathData = pathMap.getScaledPath('GATEWAY_EVENT_BASED', {\n xScaleFactor: 0.18,\n yScaleFactor: 0.18,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.36,\n my: 0.44\n }\n });\n\n var attrs = {\n strokeWidth: 2,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, 'none'),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n\n /* event path */ drawPath(parentGfx, pathData, attrs);\n }\n\n if (type === 'Parallel') {\n\n var pathData = pathMap.getScaledPath('GATEWAY_PARALLEL', {\n xScaleFactor: 0.4,\n yScaleFactor:0.4,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.474,\n my: 0.296\n }\n });\n\n var parallelPath = drawPath(parentGfx, pathData);\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(parallelPath, {\n strokeWidth: 1,\n fill: 'none'\n });\n } else if (type === 'Exclusive') {\n\n if (!instantiate) {\n var innerCircle = drawCircle(parentGfx, element.width, element.height, element.height * 0.26);\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(innerCircle, {\n strokeWidth: 1,\n fill: 'none',\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n }\n\n drawEvent();\n }\n\n\n return diamond;\n },\n 'bpmn:Gateway': function(parentGfx, element) {\n var attrs = {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n fillOpacity: DEFAULT_FILL_OPACITY,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n\n return drawDiamond(parentGfx, element.width, element.height, attrs);\n },\n 'bpmn:SequenceFlow': function(parentGfx, element) {\n var pathData = createPathFromConnection(element);\n\n var fill = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor);\n\n var attrs = {\n strokeLinejoin: 'round',\n markerEnd: marker('sequenceflow-end', fill, stroke),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n\n var path = drawPath(parentGfx, pathData, attrs);\n\n var sequenceFlow = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n var source;\n\n if (element.source) {\n source = element.source.businessObject;\n\n // conditional flow marker\n if (sequenceFlow.conditionExpression && source.$instanceOf('bpmn:Activity')) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(path, {\n markerStart: marker('conditional-flow-marker', fill, stroke)\n });\n }\n\n // default marker\n if (source.default && (source.$instanceOf('bpmn:Gateway') || source.$instanceOf('bpmn:Activity')) &&\n source.default === sequenceFlow) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(path, {\n markerStart: marker('conditional-default-flow-marker', fill, stroke)\n });\n }\n }\n\n return path;\n },\n 'bpmn:Association': function(parentGfx, element, attrs) {\n\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n var fill = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor);\n\n attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({\n strokeDasharray: '0.5, 5',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n }, attrs || {});\n\n if (semantic.associationDirection === 'One' ||\n semantic.associationDirection === 'Both') {\n attrs.markerEnd = marker('association-end', fill, stroke);\n }\n\n if (semantic.associationDirection === 'Both') {\n attrs.markerStart = marker('association-start', fill, stroke);\n }\n\n return drawLine(parentGfx, element.waypoints, attrs);\n },\n 'bpmn:DataInputAssociation': function(parentGfx, element) {\n var fill = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor);\n\n return renderer('bpmn:Association')(parentGfx, element, {\n markerEnd: marker('association-end', fill, stroke)\n });\n },\n 'bpmn:DataOutputAssociation': function(parentGfx, element) {\n var fill = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor);\n\n return renderer('bpmn:Association')(parentGfx, element, {\n markerEnd: marker('association-end', fill, stroke)\n });\n },\n 'bpmn:MessageFlow': function(parentGfx, element) {\n\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element),\n di = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getDi)(element);\n\n var fill = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor);\n\n var pathData = createPathFromConnection(element);\n\n var attrs = {\n markerEnd: marker('messageflow-end', fill, stroke),\n markerStart: marker('messageflow-start', fill, stroke),\n strokeDasharray: '10, 12',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n strokeWidth: '1.5px',\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n\n var path = drawPath(parentGfx, pathData, attrs);\n\n if (semantic.messageRef) {\n var midPoint = path.getPointAtLength(path.getTotalLength() / 2);\n\n var markerPathData = pathMap.getScaledPath('MESSAGE_FLOW_MARKER', {\n abspos: {\n x: midPoint.x,\n y: midPoint.y\n }\n });\n\n var messageAttrs = { strokeWidth: 1 };\n\n if (di.messageVisibleKind === 'initiating') {\n messageAttrs.fill = 'white';\n messageAttrs.stroke = 'black';\n } else {\n messageAttrs.fill = '#888';\n messageAttrs.stroke = 'white';\n }\n\n var message = drawPath(parentGfx, markerPathData, messageAttrs);\n\n var labelText = semantic.messageRef.name;\n var label = renderLabel(parentGfx, labelText, {\n align: 'center-top',\n fitBox: true,\n style: {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultLabelColor, defaultStrokeColor)\n }\n });\n\n var messageBounds = message.getBBox(),\n labelBounds = label.getBBox();\n\n var translateX = midPoint.x - labelBounds.width / 2,\n translateY = midPoint.y + messageBounds.height / 2 + ELEMENT_LABEL_DISTANCE;\n\n (0,diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_9__.transform)(label, translateX, translateY, 0);\n\n }\n\n return path;\n },\n 'bpmn:DataObject': function(parentGfx, element) {\n var pathData = pathMap.getScaledPath('DATA_OBJECT_PATH', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.474,\n my: 0.296\n }\n });\n\n var elementObject = drawPath(parentGfx, pathData, {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n fillOpacity: DEFAULT_FILL_OPACITY,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n if ((0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.isCollection)(semantic)) {\n renderDataItemCollection(parentGfx, element);\n }\n\n return elementObject;\n },\n 'bpmn:DataObjectReference': as('bpmn:DataObject'),\n 'bpmn:DataInput': function(parentGfx, element) {\n\n var arrowPathData = pathMap.getRawPath('DATA_ARROW');\n\n // page\n var elementObject = renderer('bpmn:DataObject')(parentGfx, element);\n\n /* input arrow path */ drawPath(parentGfx, arrowPathData, { strokeWidth: 1 });\n\n return elementObject;\n },\n 'bpmn:DataOutput': function(parentGfx, element) {\n var arrowPathData = pathMap.getRawPath('DATA_ARROW');\n\n // page\n var elementObject = renderer('bpmn:DataObject')(parentGfx, element);\n\n /* output arrow path */ drawPath(parentGfx, arrowPathData, {\n strokeWidth: 1,\n fill: 'black'\n });\n\n return elementObject;\n },\n 'bpmn:DataStoreReference': function(parentGfx, element) {\n var DATA_STORE_PATH = pathMap.getScaledPath('DATA_STORE', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0,\n my: 0.133\n }\n });\n\n var elementStore = drawPath(parentGfx, DATA_STORE_PATH, {\n strokeWidth: 2,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n fillOpacity: DEFAULT_FILL_OPACITY,\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n return elementStore;\n },\n 'bpmn:BoundaryEvent': function(parentGfx, element) {\n\n var semantic = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element),\n cancel = semantic.cancelActivity;\n\n var attrs = {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n };\n\n if (!cancel) {\n attrs.strokeDasharray = '6';\n attrs.strokeLinecap = 'round';\n }\n\n // apply fillOpacity\n var outerAttrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({}, attrs, {\n fillOpacity: 1\n });\n\n // apply no-fill\n var innerAttrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({}, attrs, {\n fill: 'none'\n });\n\n var outer = renderer('bpmn:Event')(parentGfx, element, outerAttrs);\n\n /* inner path */ drawCircle(parentGfx, element.width, element.height, INNER_OUTER_DIST, innerAttrs);\n\n renderEventContent(element, parentGfx);\n\n return outer;\n },\n 'bpmn:Group': function(parentGfx, element) {\n\n var group = drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS, {\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n strokeWidth: 1,\n strokeDasharray: '8,3,1,3',\n fill: 'none',\n pointerEvents: 'none'\n });\n\n return group;\n },\n 'label': function(parentGfx, element) {\n return renderExternalLabel(parentGfx, element);\n },\n 'bpmn:TextAnnotation': function(parentGfx, element) {\n var style = {\n 'fill': 'none',\n 'stroke': 'none'\n };\n\n var textElement = drawRect(parentGfx, element.width, element.height, 0, 0, style);\n\n var textPathData = pathMap.getScaledPath('TEXT_ANNOTATION', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.0,\n my: 0.0\n }\n });\n\n drawPath(parentGfx, textPathData, {\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n var text = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element).text || '';\n renderLabel(parentGfx, text, {\n box: element,\n align: 'left-top',\n padding: 5,\n style: {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getLabelColor)(element, defaultLabelColor, defaultStrokeColor)\n }\n });\n\n return textElement;\n },\n 'ParticipantMultiplicityMarker': function(parentGfx, element) {\n var markerPath = pathMap.getScaledPath('MARKER_PARALLEL', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: ((element.width / 2) / element.width),\n my: (element.height - 15) / element.height\n }\n });\n\n drawMarker('participant-multiplicity', parentGfx, markerPath, {\n strokeWidth: 2,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n },\n 'SubProcessMarker': function(parentGfx, element) {\n var markerRect = drawRect(parentGfx, 14, 14, 0, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n\n // Process marker is placed in the middle of the box\n // therefore fixed values can be used here\n (0,diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_9__.translate)(markerRect, element.width / 2 - 7.5, element.height - 20);\n\n var markerPath = pathMap.getScaledPath('MARKER_SUB_PROCESS', {\n xScaleFactor: 1.5,\n yScaleFactor: 1.5,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: (element.width / 2 - 7.5) / element.width,\n my: (element.height - 20) / element.height\n }\n });\n\n drawMarker('sub-process', parentGfx, markerPath, {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n },\n 'ParallelMarker': function(parentGfx, element, position) {\n var markerPath = pathMap.getScaledPath('MARKER_PARALLEL', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: ((element.width / 2 + position.parallel) / element.width),\n my: (element.height - 20) / element.height\n }\n });\n\n drawMarker('parallel', parentGfx, markerPath, {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n },\n 'SequentialMarker': function(parentGfx, element, position) {\n var markerPath = pathMap.getScaledPath('MARKER_SEQUENTIAL', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: ((element.width / 2 + position.seq) / element.width),\n my: (element.height - 19) / element.height\n }\n });\n\n drawMarker('sequential', parentGfx, markerPath, {\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n },\n 'CompensationMarker': function(parentGfx, element, position) {\n var markerMath = pathMap.getScaledPath('MARKER_COMPENSATION', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: ((element.width / 2 + position.compensation) / element.width),\n my: (element.height - 13) / element.height\n }\n });\n\n drawMarker('compensation', parentGfx, markerMath, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n },\n 'LoopMarker': function(parentGfx, element, position) {\n var markerPath = pathMap.getScaledPath('MARKER_LOOP', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: ((element.width / 2 + position.loop) / element.width),\n my: (element.height - 7) / element.height\n }\n });\n\n drawMarker('loop', parentGfx, markerPath, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getFillColor)(element, defaultFillColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n strokeLinecap: 'round',\n strokeMiterlimit: 0.5\n });\n },\n 'AdhocMarker': function(parentGfx, element, position) {\n var markerPath = pathMap.getScaledPath('MARKER_ADHOC', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: ((element.width / 2 + position.adhoc) / element.width),\n my: (element.height - 15) / element.height\n }\n });\n\n drawMarker('adhoc', parentGfx, markerPath, {\n strokeWidth: 1,\n fill: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor),\n stroke: (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getStrokeColor)(element, defaultStrokeColor)\n });\n }\n };\n\n function attachTaskMarkers(parentGfx, element, taskMarkers) {\n var obj = (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getSemantic)(element);\n\n var subprocess = taskMarkers && taskMarkers.indexOf('SubProcessMarker') !== -1;\n var position;\n\n if (subprocess) {\n position = {\n seq: -21,\n parallel: -22,\n compensation: -42,\n loop: -18,\n adhoc: 10\n };\n } else {\n position = {\n seq: -3,\n parallel: -6,\n compensation: -27,\n loop: 0,\n adhoc: 10\n };\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(taskMarkers, function(marker) {\n renderer(marker)(parentGfx, element, position);\n });\n\n if (obj.isForCompensation) {\n renderer('CompensationMarker')(parentGfx, element, position);\n }\n\n if (obj.$type === 'bpmn:AdHocSubProcess') {\n renderer('AdhocMarker')(parentGfx, element, position);\n }\n\n var loopCharacteristics = obj.loopCharacteristics,\n isSequential = loopCharacteristics && loopCharacteristics.isSequential;\n\n if (loopCharacteristics) {\n\n if (isSequential === undefined) {\n renderer('LoopMarker')(parentGfx, element, position);\n }\n\n if (isSequential === false) {\n renderer('ParallelMarker')(parentGfx, element, position);\n }\n\n if (isSequential === true) {\n renderer('SequentialMarker')(parentGfx, element, position);\n }\n }\n }\n\n function renderDataItemCollection(parentGfx, element) {\n\n var yPosition = (element.height - 18) / element.height;\n\n var pathData = pathMap.getScaledPath('DATA_OBJECT_COLLECTION_PATH', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.33,\n my: yPosition\n }\n });\n\n /* collection path */ drawPath(parentGfx, pathData, {\n strokeWidth: 2\n });\n }\n\n\n // extension API, use at your own risk\n this._drawPath = drawPath;\n\n}\n\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnRenderer, diagram_js_lib_draw_BaseRenderer__WEBPACK_IMPORTED_MODULE_2__.default);\n\nBpmnRenderer.$inject = [\n 'config.bpmnRenderer',\n 'eventBus',\n 'styles',\n 'pathMap',\n 'canvas',\n 'textRenderer'\n];\n\n\nBpmnRenderer.prototype.canRender = function(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_11__.is)(element, 'bpmn:BaseElement');\n};\n\nBpmnRenderer.prototype.drawShape = function(parentGfx, element) {\n var type = element.type;\n var h = this.handlers[type];\n\n /* jshint -W040 */\n return h(parentGfx, element);\n};\n\nBpmnRenderer.prototype.drawConnection = function(parentGfx, element) {\n var type = element.type;\n var h = this.handlers[type];\n\n /* jshint -W040 */\n return h(parentGfx, element);\n};\n\nBpmnRenderer.prototype.getShapePath = function(element) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_11__.is)(element, 'bpmn:Event')) {\n return (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getCirclePath)(element);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_11__.is)(element, 'bpmn:Activity')) {\n return (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getRoundRectPath)(element, TASK_BORDER_RADIUS);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_11__.is)(element, 'bpmn:Gateway')) {\n return (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getDiamondPath)(element);\n }\n\n return (0,_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_7__.getRectPath)(element);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/draw/BpmnRenderer.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/draw/PathMap.js":
/*!**************************************************!*\
!*** ./node_modules/bpmn-js/lib/draw/PathMap.js ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ PathMap)\n/* harmony export */ });\n/**\n * Map containing SVG paths needed by BpmnRenderer.\n */\n\nfunction PathMap() {\n\n /**\n * Contains a map of path elements\n *\n * Path definition \n * A parameterized path is defined like this:\n * \n * 'GATEWAY_PARALLEL': {\n * d: 'm {mx},{my} {e.x0},0 0,{e.x1} {e.x1},0 0,{e.y0} -{e.x1},0 0,{e.y1} ' +\n '-{e.x0},0 0,-{e.y1} -{e.x1},0 0,-{e.y0} {e.x1},0 z',\n * height: 17.5,\n * width: 17.5,\n * heightElements: [2.5, 7.5],\n * widthElements: [2.5, 7.5]\n * }\n * \n * It's important to specify a correct height and width for the path as the scaling\n * is based on the ratio between the specified height and width in this object and the\n * height and width that is set as scale target (Note x,y coordinates will be scaled with\n * individual ratios).
\n * The 'heightElements ' and 'widthElements ' array must contain the values that will be scaled.\n * The scaling is based on the computed ratios.\n * Coordinates on the y axis should be in the heightElement 's array, they will be scaled using\n * the computed ratio coefficient.\n * In the parameterized path the scaled values can be accessed through the 'e' object in {} brackets.\n *
\n * The values for the y axis can be accessed in the path string using {e.y0}, {e.y1}, .... \n * The values for the x axis can be accessed in the path string using {e.x0}, {e.x1}, .... \n * \n * The numbers x0, x1 respectively y0, y1, ... map to the corresponding array index.\n *
\n */\n this.pathMap = {\n 'EVENT_MESSAGE': {\n d: 'm {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}',\n height: 36,\n width: 36,\n heightElements: [6, 14],\n widthElements: [10.5, 21]\n },\n 'EVENT_SIGNAL': {\n d: 'M {mx},{my} l {e.x0},{e.y0} l -{e.x1},0 Z',\n height: 36,\n width: 36,\n heightElements: [18],\n widthElements: [10, 20]\n },\n 'EVENT_ESCALATION': {\n d: 'M {mx},{my} l {e.x0},{e.y0} l -{e.x0},-{e.y1} l -{e.x0},{e.y1} Z',\n height: 36,\n width: 36,\n heightElements: [20, 7],\n widthElements: [8]\n },\n 'EVENT_CONDITIONAL': {\n d: 'M {e.x0},{e.y0} l {e.x1},0 l 0,{e.y2} l -{e.x1},0 Z ' +\n 'M {e.x2},{e.y3} l {e.x0},0 ' +\n 'M {e.x2},{e.y4} l {e.x0},0 ' +\n 'M {e.x2},{e.y5} l {e.x0},0 ' +\n 'M {e.x2},{e.y6} l {e.x0},0 ' +\n 'M {e.x2},{e.y7} l {e.x0},0 ' +\n 'M {e.x2},{e.y8} l {e.x0},0 ',\n height: 36,\n width: 36,\n heightElements: [8.5, 14.5, 18, 11.5, 14.5, 17.5, 20.5, 23.5, 26.5],\n widthElements: [10.5, 14.5, 12.5]\n },\n 'EVENT_LINK': {\n d: 'm {mx},{my} 0,{e.y0} -{e.x1},0 0,{e.y1} {e.x1},0 0,{e.y0} {e.x0},-{e.y2} -{e.x0},-{e.y2} z',\n height: 36,\n width: 36,\n heightElements: [4.4375, 6.75, 7.8125],\n widthElements: [9.84375, 13.5]\n },\n 'EVENT_ERROR': {\n d: 'm {mx},{my} {e.x0},-{e.y0} {e.x1},-{e.y1} {e.x2},{e.y2} {e.x3},-{e.y3} -{e.x4},{e.y4} -{e.x5},-{e.y5} z',\n height: 36,\n width: 36,\n heightElements: [0.023, 8.737, 8.151, 16.564, 10.591, 8.714],\n widthElements: [0.085, 6.672, 6.97, 4.273, 5.337, 6.636]\n },\n 'EVENT_CANCEL_45': {\n d: 'm {mx},{my} -{e.x1},0 0,{e.x0} {e.x1},0 0,{e.y1} {e.x0},0 ' +\n '0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z',\n height: 36,\n width: 36,\n heightElements: [4.75, 8.5],\n widthElements: [4.75, 8.5]\n },\n 'EVENT_COMPENSATION': {\n d: 'm {mx},{my} {e.x0},-{e.y0} 0,{e.y1} z m {e.x1},-{e.y2} {e.x2},-{e.y3} 0,{e.y1} -{e.x2},-{e.y3} z',\n height: 36,\n width: 36,\n heightElements: [6.5, 13, 0.4, 6.1],\n widthElements: [9, 9.3, 8.7]\n },\n 'EVENT_TIMER_WH': {\n d: 'M {mx},{my} l {e.x0},-{e.y0} m -{e.x0},{e.y0} l {e.x1},{e.y1} ',\n height: 36,\n width: 36,\n heightElements: [10, 2],\n widthElements: [3, 7]\n },\n 'EVENT_TIMER_LINE': {\n d: 'M {mx},{my} ' +\n 'm {e.x0},{e.y0} l -{e.x1},{e.y1} ',\n height: 36,\n width: 36,\n heightElements: [10, 3],\n widthElements: [0, 0]\n },\n 'EVENT_MULTIPLE': {\n d:'m {mx},{my} {e.x1},-{e.y0} {e.x1},{e.y0} -{e.x0},{e.y1} -{e.x2},0 z',\n height: 36,\n width: 36,\n heightElements: [6.28099, 12.56199],\n widthElements: [3.1405, 9.42149, 12.56198]\n },\n 'EVENT_PARALLEL_MULTIPLE': {\n d:'m {mx},{my} {e.x0},0 0,{e.y1} {e.x1},0 0,{e.y0} -{e.x1},0 0,{e.y1} ' +\n '-{e.x0},0 0,-{e.y1} -{e.x1},0 0,-{e.y0} {e.x1},0 z',\n height: 36,\n width: 36,\n heightElements: [2.56228, 7.68683],\n widthElements: [2.56228, 7.68683]\n },\n 'GATEWAY_EXCLUSIVE': {\n d:'m {mx},{my} {e.x0},{e.y0} {e.x1},{e.y0} {e.x2},0 {e.x4},{e.y2} ' +\n '{e.x4},{e.y1} {e.x2},0 {e.x1},{e.y3} {e.x0},{e.y3} ' +\n '{e.x3},0 {e.x5},{e.y1} {e.x5},{e.y2} {e.x3},0 z',\n height: 17.5,\n width: 17.5,\n heightElements: [8.5, 6.5312, -6.5312, -8.5],\n widthElements: [6.5, -6.5, 3, -3, 5, -5]\n },\n 'GATEWAY_PARALLEL': {\n d:'m {mx},{my} 0,{e.y1} -{e.x1},0 0,{e.y0} {e.x1},0 0,{e.y1} {e.x0},0 ' +\n '0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z',\n height: 30,\n width: 30,\n heightElements: [5, 12.5],\n widthElements: [5, 12.5]\n },\n 'GATEWAY_EVENT_BASED': {\n d:'m {mx},{my} {e.x0},{e.y0} {e.x0},{e.y1} {e.x1},{e.y2} {e.x2},0 z',\n height: 11,\n width: 11,\n heightElements: [-6, 6, 12, -12],\n widthElements: [9, -3, -12]\n },\n 'GATEWAY_COMPLEX': {\n d:'m {mx},{my} 0,{e.y0} -{e.x0},-{e.y1} -{e.x1},{e.y2} {e.x0},{e.y1} -{e.x2},0 0,{e.y3} ' +\n '{e.x2},0 -{e.x0},{e.y1} l {e.x1},{e.y2} {e.x0},-{e.y1} 0,{e.y0} {e.x3},0 0,-{e.y0} {e.x0},{e.y1} ' +\n '{e.x1},-{e.y2} -{e.x0},-{e.y1} {e.x2},0 0,-{e.y3} -{e.x2},0 {e.x0},-{e.y1} -{e.x1},-{e.y2} ' +\n '-{e.x0},{e.y1} 0,-{e.y0} -{e.x3},0 z',\n height: 17.125,\n width: 17.125,\n heightElements: [4.875, 3.4375, 2.125, 3],\n widthElements: [3.4375, 2.125, 4.875, 3]\n },\n 'DATA_OBJECT_PATH': {\n d:'m 0,0 {e.x1},0 {e.x0},{e.y0} 0,{e.y1} -{e.x2},0 0,-{e.y2} {e.x1},0 0,{e.y0} {e.x0},0',\n height: 61,\n width: 51,\n heightElements: [10, 50, 60],\n widthElements: [10, 40, 50, 60]\n },\n 'DATA_OBJECT_COLLECTION_PATH': {\n d: 'm{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10',\n height: 10,\n width: 10,\n heightElements: [],\n widthElements: []\n },\n 'DATA_ARROW': {\n d:'m 5,9 9,0 0,-3 5,5 -5,5 0,-3 -9,0 z',\n height: 61,\n width: 51,\n heightElements: [],\n widthElements: []\n },\n 'DATA_STORE': {\n d:'m {mx},{my} ' +\n 'l 0,{e.y2} ' +\n 'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 ' +\n 'l 0,-{e.y2} ' +\n 'c -{e.x0},-{e.y1} -{e.x1},-{e.y1} -{e.x2},0' +\n 'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 ' +\n 'm -{e.x2},{e.y0}' +\n 'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0' +\n 'm -{e.x2},{e.y0}' +\n 'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0',\n height: 61,\n width: 61,\n heightElements: [7, 10, 45],\n widthElements: [2, 58, 60]\n },\n 'TEXT_ANNOTATION': {\n d: 'm {mx}, {my} m 10,0 l -10,0 l 0,{e.y0} l 10,0',\n height: 30,\n width: 10,\n heightElements: [30],\n widthElements: [10]\n },\n 'MARKER_SUB_PROCESS': {\n d: 'm{mx},{my} m 7,2 l 0,10 m -5,-5 l 10,0',\n height: 10,\n width: 10,\n heightElements: [],\n widthElements: []\n },\n 'MARKER_PARALLEL': {\n d: 'm{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10',\n height: 10,\n width: 10,\n heightElements: [],\n widthElements: []\n },\n 'MARKER_SEQUENTIAL': {\n d: 'm{mx},{my} m 0,3 l 10,0 m -10,3 l 10,0 m -10,3 l 10,0',\n height: 10,\n width: 10,\n heightElements: [],\n widthElements: []\n },\n 'MARKER_COMPENSATION': {\n d: 'm {mx},{my} 7,-5 0,10 z m 7.1,-0.3 6.9,-4.7 0,10 -6.9,-4.7 z',\n height: 10,\n width: 21,\n heightElements: [],\n widthElements: []\n },\n 'MARKER_LOOP': {\n d: 'm {mx},{my} c 3.526979,0 6.386161,-2.829858 6.386161,-6.320661 0,-3.490806 -2.859182,-6.320661 ' +\n '-6.386161,-6.320661 -3.526978,0 -6.38616,2.829855 -6.38616,6.320661 0,1.745402 ' +\n '0.714797,3.325567 1.870463,4.469381 0.577834,0.571908 1.265885,1.034728 2.029916,1.35457 ' +\n 'l -0.718163,-3.909793 m 0.718163,3.909793 -3.885211,0.802902',\n height: 13.9,\n width: 13.7,\n heightElements: [],\n widthElements: []\n },\n 'MARKER_ADHOC': {\n d: 'm {mx},{my} m 0.84461,2.64411 c 1.05533,-1.23780996 2.64337,-2.07882 4.29653,-1.97997996 2.05163,0.0805 ' +\n '3.85579,1.15803 5.76082,1.79107 1.06385,0.34139996 2.24454,0.1438 3.18759,-0.43767 0.61743,-0.33642 ' +\n '1.2775,-0.64078 1.7542,-1.17511 0,0.56023 0,1.12046 0,1.6807 -0.98706,0.96237996 -2.29792,1.62393996 ' +\n '-3.6918,1.66181996 -1.24459,0.0927 -2.46671,-0.2491 -3.59505,-0.74812 -1.35789,-0.55965 ' +\n '-2.75133,-1.33436996 -4.27027,-1.18121996 -1.37741,0.14601 -2.41842,1.13685996 -3.44288,1.96782996 z',\n height: 4,\n width: 15,\n heightElements: [],\n widthElements: []\n },\n 'TASK_TYPE_SEND': {\n d: 'm {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}',\n height: 14,\n width: 21,\n heightElements: [6, 14],\n widthElements: [10.5, 21]\n },\n 'TASK_TYPE_SCRIPT': {\n d: 'm {mx},{my} c 9.966553,-6.27276 -8.000926,-7.91932 2.968968,-14.938 l -8.802728,0 ' +\n 'c -10.969894,7.01868 6.997585,8.66524 -2.968967,14.938 z ' +\n 'm -7,-12 l 5,0 ' +\n 'm -4.5,3 l 4.5,0 ' +\n 'm -3,3 l 5,0' +\n 'm -4,3 l 5,0',\n height: 15,\n width: 12.6,\n heightElements: [6, 14],\n widthElements: [10.5, 21]\n },\n 'TASK_TYPE_USER_1': {\n d: 'm {mx},{my} c 0.909,-0.845 1.594,-2.049 1.594,-3.385 0,-2.554 -1.805,-4.62199999 ' +\n '-4.357,-4.62199999 -2.55199998,0 -4.28799998,2.06799999 -4.28799998,4.62199999 0,1.348 ' +\n '0.974,2.562 1.89599998,3.405 -0.52899998,0.187 -5.669,2.097 -5.794,4.7560005 v 6.718 ' +\n 'h 17 v -6.718 c 0,-2.2980005 -5.5279996,-4.5950005 -6.0509996,-4.7760005 z' +\n 'm -8,6 l 0,5.5 m 11,0 l 0,-5'\n },\n 'TASK_TYPE_USER_2': {\n d: 'm {mx},{my} m 2.162,1.009 c 0,2.4470005 -2.158,4.4310005 -4.821,4.4310005 ' +\n '-2.66499998,0 -4.822,-1.981 -4.822,-4.4310005 '\n },\n 'TASK_TYPE_USER_3': {\n d: 'm {mx},{my} m -6.9,-3.80 c 0,0 2.25099998,-2.358 4.27399998,-1.177 2.024,1.181 4.221,1.537 ' +\n '4.124,0.965 -0.098,-0.57 -0.117,-3.79099999 -4.191,-4.13599999 -3.57499998,0.001 ' +\n '-4.20799998,3.36699999 -4.20699998,4.34799999 z'\n },\n 'TASK_TYPE_MANUAL': {\n d: 'm {mx},{my} c 0.234,-0.01 5.604,0.008 8.029,0.004 0.808,0 1.271,-0.172 1.417,-0.752 0.227,-0.898 ' +\n '-0.334,-1.314 -1.338,-1.316 -2.467,-0.01 -7.886,-0.004 -8.108,-0.004 -0.014,-0.079 0.016,-0.533 0,-0.61 ' +\n '0.195,-0.042 8.507,0.006 9.616,0.002 0.877,-0.007 1.35,-0.438 1.353,-1.208 0.003,-0.768 -0.479,-1.09 ' +\n '-1.35,-1.091 -2.968,-0.002 -9.619,-0.013 -9.619,-0.013 v -0.591 c 0,0 5.052,-0.016 7.225,-0.016 ' +\n '0.888,-0.002 1.354,-0.416 1.351,-1.193 -0.006,-0.761 -0.492,-1.196 -1.361,-1.196 -3.473,-0.005 ' +\n '-10.86,-0.003 -11.0829995,-0.003 -0.022,-0.047 -0.045,-0.094 -0.069,-0.139 0.3939995,-0.319 ' +\n '2.0409995,-1.626 2.4149995,-2.017 0.469,-0.4870005 0.519,-1.1650005 0.162,-1.6040005 -0.414,-0.511 ' +\n '-0.973,-0.5 -1.48,-0.236 -1.4609995,0.764 -6.5999995,3.6430005 -7.7329995,4.2710005 -0.9,0.499 ' +\n '-1.516,1.253 -1.882,2.19 -0.37000002,0.95 -0.17,2.01 -0.166,2.979 0.004,0.718 -0.27300002,1.345 ' +\n '-0.055,2.063 0.629,2.087 2.425,3.312 4.859,3.318 4.6179995,0.014 9.2379995,-0.139 13.8569995,-0.158 ' +\n '0.755,-0.004 1.171,-0.301 1.182,-1.033 0.012,-0.754 -0.423,-0.969 -1.183,-0.973 -1.778,-0.01 ' +\n '-5.824,-0.004 -6.04,-0.004 10e-4,-0.084 0.003,-0.586 10e-4,-0.67 z'\n },\n 'TASK_TYPE_INSTANTIATING_SEND': {\n d: 'm {mx},{my} l 0,8.4 l 12.6,0 l 0,-8.4 z l 6.3,3.6 l 6.3,-3.6'\n },\n 'TASK_TYPE_SERVICE': {\n d: 'm {mx},{my} v -1.71335 c 0.352326,-0.0705 0.703932,-0.17838 1.047628,-0.32133 ' +\n '0.344416,-0.14465 0.665822,-0.32133 0.966377,-0.52145 l 1.19431,1.18005 1.567487,-1.57688 ' +\n '-1.195028,-1.18014 c 0.403376,-0.61394 0.683079,-1.29908 0.825447,-2.01824 l 1.622133,-0.01 ' +\n 'v -2.2196 l -1.636514,0.01 c -0.07333,-0.35153 -0.178319,-0.70024 -0.323564,-1.04372 ' +\n '-0.145244,-0.34406 -0.321407,-0.6644 -0.522735,-0.96217 l 1.131035,-1.13631 -1.583305,-1.56293 ' +\n '-1.129598,1.13589 c -0.614052,-0.40108 -1.302883,-0.68093 -2.022633,-0.82247 l 0.0093,-1.61852 ' +\n 'h -2.241173 l 0.0042,1.63124 c -0.353763,0.0736 -0.705369,0.17977 -1.049785,0.32371 -0.344415,0.14437 ' +\n '-0.665102,0.32092 -0.9635006,0.52046 l -1.1698628,-1.15823 -1.5667691,1.5792 1.1684265,1.15669 ' +\n 'c -0.4026573,0.61283 -0.68308,1.29797 -0.8247287,2.01713 l -1.6588041,0.003 v 2.22174 ' +\n 'l 1.6724648,-0.006 c 0.073327,0.35077 0.1797598,0.70243 0.3242851,1.04472 0.1452428,0.34448 ' +\n '0.3214064,0.6644 0.5227339,0.96066 l -1.1993431,1.19723 1.5840256,1.56011 1.1964668,-1.19348 ' +\n 'c 0.6140517,0.40346 1.3028827,0.68232 2.0233517,0.82331 l 7.19e-4,1.69892 h 2.226848 z ' +\n 'm 0.221462,-3.9957 c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 ' +\n '0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 ' +\n '0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z'\n },\n 'TASK_TYPE_SERVICE_FILL': {\n d: 'm {mx},{my} c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 ' +\n '0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 ' +\n '0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z'\n },\n 'TASK_TYPE_BUSINESS_RULE_HEADER': {\n d: 'm {mx},{my} 0,4 20,0 0,-4 z'\n },\n 'TASK_TYPE_BUSINESS_RULE_MAIN': {\n d: 'm {mx},{my} 0,12 20,0 0,-12 z' +\n 'm 0,8 l 20,0 ' +\n 'm -13,-4 l 0,8'\n },\n 'MESSAGE_FLOW_MARKER': {\n d: 'm {mx},{my} m -10.5 ,-7 l 0,14 l 21,0 l 0,-14 z l 10.5,6 l 10.5,-6'\n }\n };\n\n this.getRawPath = function getRawPath(pathId) {\n return this.pathMap[pathId].d;\n };\n\n /**\n * Scales the path to the given height and width.\n * Use case \n * Use case is to scale the content of elements (event, gateways) based\n * on the element bounding box's size.\n *
\n * Why not transform \n * Scaling a path with transform() will also scale the stroke and IE does not support\n * the option 'non-scaling-stroke' to prevent this.\n * Also there are use cases where only some parts of a path should be\n * scaled.
\n *\n * @param {string} pathId The ID of the path.\n * @param {Object} param \n * Example param object scales the path to 60% size of the container (data.width, data.height).\n *
\n * {\n * xScaleFactor: 0.6,\n * yScaleFactor:0.6,\n * containerWidth: data.width,\n * containerHeight: data.height,\n * position: {\n * mx: 0.46,\n * my: 0.2,\n * }\n * }\n * \n * \n * targetpathwidth = xScaleFactor * containerWidth \n * targetpathheight = yScaleFactor * containerHeight \n * Position is used to set the starting coordinate of the path. M is computed:\n * \n * position.x * containerWidth \n * position.y * containerHeight \n * \n * Center of the container position: {\n * mx: 0.5,\n * my: 0.5,\n * } \n * Upper left corner of the container\n * position: {\n * mx: 0.0,\n * my: 0.0,\n * } \n * \n * \n * \n *\n */\n this.getScaledPath = function getScaledPath(pathId, param) {\n var rawPath = this.pathMap[pathId];\n\n // positioning\n // compute the start point of the path\n var mx, my;\n\n if (param.abspos) {\n mx = param.abspos.x;\n my = param.abspos.y;\n } else {\n mx = param.containerWidth * param.position.mx;\n my = param.containerHeight * param.position.my;\n }\n\n var coordinates = {}; // map for the scaled coordinates\n if (param.position) {\n\n // path\n var heightRatio = (param.containerHeight / rawPath.height) * param.yScaleFactor;\n var widthRatio = (param.containerWidth / rawPath.width) * param.xScaleFactor;\n\n\n // Apply height ratio\n for (var heightIndex = 0; heightIndex < rawPath.heightElements.length; heightIndex++) {\n coordinates['y' + heightIndex] = rawPath.heightElements[heightIndex] * heightRatio;\n }\n\n // Apply width ratio\n for (var widthIndex = 0; widthIndex < rawPath.widthElements.length; widthIndex++) {\n coordinates['x' + widthIndex] = rawPath.widthElements[widthIndex] * widthRatio;\n }\n }\n\n // Apply value to raw path\n var path = format(\n rawPath.d, {\n mx: mx,\n my: my,\n e: coordinates\n }\n );\n return path;\n };\n}\n\n// helpers //////////////////////\n\n// copied from https://github.com/adobe-webplatform/Snap.svg/blob/master/src/svg.js\nvar tokenRegex = /\\{([^}]+)\\}/g,\n objNotationRegex = /(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g; // matches .xxxxx or [\"xxxxx\"] to run over object properties\n\nfunction replacer(all, key, obj) {\n var res = obj;\n key.replace(objNotationRegex, function(all, name, quote, quotedName, isFunc) {\n name = name || quotedName;\n if (res) {\n if (name in res) {\n res = res[name];\n }\n typeof res == 'function' && isFunc && (res = res());\n }\n });\n res = (res == null || res == obj ? all : res) + '';\n\n return res;\n}\n\nfunction format(str, obj) {\n return String(str).replace(tokenRegex, function(all, key) {\n return replacer(all, key, obj);\n });\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/draw/PathMap.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/draw/TextRenderer.js":
/*!*******************************************************!*\
!*** ./node_modules/bpmn-js/lib/draw/TextRenderer.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TextRenderer)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_util_Text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/util/Text */ \"./node_modules/diagram-js/lib/util/Text.js\");\n\n\n\n\nvar DEFAULT_FONT_SIZE = 12;\nvar LINE_HEIGHT_RATIO = 1.2;\n\nvar MIN_TEXT_ANNOTATION_HEIGHT = 30;\n\n\nfunction TextRenderer(config) {\n\n var defaultStyle = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({\n fontFamily: 'Arial, sans-serif',\n fontSize: DEFAULT_FONT_SIZE,\n fontWeight: 'normal',\n lineHeight: LINE_HEIGHT_RATIO\n }, config && config.defaultStyle || {});\n\n var fontSize = parseInt(defaultStyle.fontSize, 10) - 1;\n\n var externalStyle = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, defaultStyle, {\n fontSize: fontSize\n }, config && config.externalStyle || {});\n\n var textUtil = new diagram_js_lib_util_Text__WEBPACK_IMPORTED_MODULE_1__.default({\n style: defaultStyle\n });\n\n /**\n * Get the new bounds of an externally rendered,\n * layouted label.\n *\n * @param {Bounds} bounds\n * @param {string} text\n *\n * @return {Bounds}\n */\n this.getExternalLabelBounds = function(bounds, text) {\n\n var layoutedDimensions = textUtil.getDimensions(text, {\n box: {\n width: 90,\n height: 30,\n x: bounds.width / 2 + bounds.x,\n y: bounds.height / 2 + bounds.y\n },\n style: externalStyle\n });\n\n // resize label shape to fit label text\n return {\n x: Math.round(bounds.x + bounds.width / 2 - layoutedDimensions.width / 2),\n y: Math.round(bounds.y),\n width: Math.ceil(layoutedDimensions.width),\n height: Math.ceil(layoutedDimensions.height)\n };\n\n };\n\n /**\n * Get the new bounds of text annotation.\n *\n * @param {Bounds} bounds\n * @param {string} text\n *\n * @return {Bounds}\n */\n this.getTextAnnotationBounds = function(bounds, text) {\n\n var layoutedDimensions = textUtil.getDimensions(text, {\n box: bounds,\n style: defaultStyle,\n align: 'left-top',\n padding: 5\n });\n\n return {\n x: bounds.x,\n y: bounds.y,\n width: bounds.width,\n height: Math.max(MIN_TEXT_ANNOTATION_HEIGHT, Math.round(layoutedDimensions.height))\n };\n };\n\n /**\n * Create a layouted text element.\n *\n * @param {string} text\n * @param {Object} [options]\n *\n * @return {SVGElement} rendered text\n */\n this.createText = function(text, options) {\n return textUtil.createText(text, options || {});\n };\n\n /**\n * Get default text style.\n */\n this.getDefaultStyle = function() {\n return defaultStyle;\n };\n\n /**\n * Get the external text style.\n */\n this.getExternalStyle = function() {\n return externalStyle;\n };\n\n}\n\nTextRenderer.$inject = [\n 'config.textRenderer'\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/draw/TextRenderer.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/draw/index.js":
/*!************************************************!*\
!*** ./node_modules/bpmn-js/lib/draw/index.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _BpmnRenderer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BpmnRenderer */ \"./node_modules/bpmn-js/lib/draw/BpmnRenderer.js\");\n/* harmony import */ var _TextRenderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TextRenderer */ \"./node_modules/bpmn-js/lib/draw/TextRenderer.js\");\n/* harmony import */ var _PathMap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PathMap */ \"./node_modules/bpmn-js/lib/draw/PathMap.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'bpmnRenderer' ],\n bpmnRenderer: [ 'type', _BpmnRenderer__WEBPACK_IMPORTED_MODULE_0__.default ],\n textRenderer: [ 'type', _TextRenderer__WEBPACK_IMPORTED_MODULE_1__.default ],\n pathMap: [ 'type', _PathMap__WEBPACK_IMPORTED_MODULE_2__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/draw/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlace.js":
/*!***********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlace.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AutoPlace)\n/* harmony export */ });\n/* harmony import */ var _BpmnAutoPlaceUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BpmnAutoPlaceUtil */ \"./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlaceUtil.js\");\n\n\n\n/**\n * BPMN auto-place behavior.\n *\n * @param {EventBus} eventBus\n */\nfunction AutoPlace(eventBus) {\n eventBus.on('autoPlace', function(context) {\n var shape = context.shape,\n source = context.source;\n\n return (0,_BpmnAutoPlaceUtil__WEBPACK_IMPORTED_MODULE_0__.getNewShapePosition)(source, shape);\n });\n}\n\nAutoPlace.$inject = [ 'eventBus' ];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlace.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlaceUtil.js":
/*!***************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlaceUtil.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getNewShapePosition\": () => (/* binding */ getNewShapePosition),\n/* harmony export */ \"getFlowNodePosition\": () => (/* binding */ getFlowNodePosition),\n/* harmony export */ \"getTextAnnotationPosition\": () => (/* binding */ getTextAnnotationPosition),\n/* harmony export */ \"getDataElementPosition\": () => (/* binding */ getDataElementPosition)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var diagram_js_lib_features_auto_place_AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/features/auto-place/AutoPlaceUtil */ \"./node_modules/diagram-js/lib/features/auto-place/AutoPlaceUtil.js\");\n\n\n\n\n\n\n\n\n/**\n * Find the new position for the target element to\n * connect to source.\n *\n * @param {djs.model.Shape} source\n * @param {djs.model.Shape} element\n *\n * @return {Point}\n */\nfunction getNewShapePosition(source, element) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:TextAnnotation')) {\n return getTextAnnotationPosition(source, element);\n }\n\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_1__.isAny)(element, [ 'bpmn:DataObjectReference', 'bpmn:DataStoreReference' ])) {\n return getDataElementPosition(source, element);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:FlowNode')) {\n return getFlowNodePosition(source, element);\n }\n}\n\n/**\n * Always try to place element right of source;\n * compute actual distance from previous nodes in flow.\n */\nfunction getFlowNodePosition(source, element) {\n\n var sourceTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__.asTRBL)(source);\n var sourceMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__.getMid)(source);\n\n var horizontalDistance = (0,diagram_js_lib_features_auto_place_AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_3__.getConnectedDistance)(source, {\n filter: function(connection) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(connection, 'bpmn:SequenceFlow');\n }\n });\n\n var margin = 30,\n minDistance = 80,\n orientation = 'left';\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(source, 'bpmn:BoundaryEvent')) {\n orientation = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__.getOrientation)(source, source.host, -25);\n\n if (orientation.indexOf('top') !== -1) {\n margin *= -1;\n }\n }\n\n var position = {\n x: sourceTrbl.right + horizontalDistance + element.width / 2,\n y: sourceMid.y + getVerticalDistance(orientation, minDistance)\n };\n\n var nextPositionDirection = {\n y: {\n margin: margin,\n minDistance: minDistance\n }\n };\n\n return (0,diagram_js_lib_features_auto_place_AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_3__.findFreePosition)(source, element, position, (0,diagram_js_lib_features_auto_place_AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_3__.generateGetNextPosition)(nextPositionDirection));\n}\n\n\nfunction getVerticalDistance(orientation, minDistance) {\n if (orientation.indexOf('top') != -1) {\n return -1 * minDistance;\n } else if (orientation.indexOf('bottom') != -1) {\n return minDistance;\n } else {\n return 0;\n }\n}\n\n\n/**\n * Always try to place text annotations top right of source.\n */\nfunction getTextAnnotationPosition(source, element) {\n\n var sourceTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__.asTRBL)(source);\n\n var position = {\n x: sourceTrbl.right + element.width / 2,\n y: sourceTrbl.top - 50 - element.height / 2\n };\n\n var nextPositionDirection = {\n y: {\n margin: -30,\n minDistance: 20\n }\n };\n\n return (0,diagram_js_lib_features_auto_place_AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_3__.findFreePosition)(source, element, position, (0,diagram_js_lib_features_auto_place_AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_3__.generateGetNextPosition)(nextPositionDirection));\n}\n\n\n/**\n * Always put element bottom right of source.\n */\nfunction getDataElementPosition(source, element) {\n\n var sourceTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__.asTRBL)(source);\n\n var position = {\n x: sourceTrbl.right - 10 + element.width / 2,\n y: sourceTrbl.bottom + 40 + element.width / 2\n };\n\n var nextPositionDirection = {\n x: {\n margin: 30,\n minDistance: 30\n }\n };\n\n return (0,diagram_js_lib_features_auto_place_AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_3__.findFreePosition)(source, element, position, (0,diagram_js_lib_features_auto_place_AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_3__.generateGetNextPosition)(nextPositionDirection));\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlaceUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/auto-place/index.js":
/*!***************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/auto-place/index.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_auto_place__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/auto-place */ \"./node_modules/diagram-js/lib/features/auto-place/index.js\");\n/* harmony import */ var _BpmnAutoPlace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnAutoPlace */ \"./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlace.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [ diagram_js_lib_features_auto_place__WEBPACK_IMPORTED_MODULE_0__.default ],\n __init__: [ 'bpmnAutoPlace' ],\n bpmnAutoPlace: [ 'type', _BpmnAutoPlace__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/auto-place/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResize.js":
/*!*************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResize.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnAutoResize)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_auto_resize_AutoResize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/auto-resize/AutoResize */ \"./node_modules/diagram-js/lib/features/auto-resize/AutoResize.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\n\n/**\n * Sub class of the AutoResize module which implements a BPMN\n * specific resize function.\n */\nfunction BpmnAutoResize(injector) {\n\n injector.invoke(diagram_js_lib_features_auto_resize_AutoResize__WEBPACK_IMPORTED_MODULE_1__.default, this);\n}\n\nBpmnAutoResize.$inject = [\n 'injector'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnAutoResize, diagram_js_lib_features_auto_resize_AutoResize__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\n/**\n * Resize shapes and lanes.\n *\n * @param {djs.model.Shape} target\n * @param {Bounds} newBounds\n * @param {Object} hints\n */\nBpmnAutoResize.prototype.resize = function(target, newBounds, hints) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(target, 'bpmn:Participant')) {\n this._modeling.resizeLane(target, newBounds, null, hints);\n } else {\n this._modeling.resizeShape(target, newBounds, null, hints);\n }\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResize.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResizeProvider.js":
/*!*********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResizeProvider.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnAutoResizeProvider)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_features_auto_resize_AutoResizeProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/auto-resize/AutoResizeProvider */ \"./node_modules/diagram-js/lib/features/auto-resize/AutoResizeProvider.js\");\n\n\n\n\n\n\n\n\n\n/**\n * This module is a provider for automatically resizing parent BPMN elements\n */\nfunction BpmnAutoResizeProvider(eventBus, modeling) {\n diagram_js_lib_features_auto_resize_AutoResizeProvider__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n this._modeling = modeling;\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnAutoResizeProvider, diagram_js_lib_features_auto_resize_AutoResizeProvider__WEBPACK_IMPORTED_MODULE_1__.default);\n\nBpmnAutoResizeProvider.$inject = [\n 'eventBus',\n 'modeling'\n];\n\n\n/**\n * Check if the given target can be expanded\n *\n * @param {djs.model.Shape} target\n *\n * @return {boolean}\n */\nBpmnAutoResizeProvider.prototype.canResize = function(elements, target) {\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(target, 'bpmn:Participant') && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(target, 'bpmn:Lane') && !((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(target, 'bpmn:SubProcess'))) {\n return false;\n }\n\n var canResize = true;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(elements, function(element) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(element, 'bpmn:Lane') || element.labelTarget) {\n canResize = false;\n return;\n }\n });\n\n return canResize;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResizeProvider.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/auto-resize/index.js":
/*!****************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/auto-resize/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _BpmnAutoResize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BpmnAutoResize */ \"./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResize.js\");\n/* harmony import */ var _BpmnAutoResizeProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnAutoResizeProvider */ \"./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResizeProvider.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [\n 'bpmnAutoResize',\n 'bpmnAutoResizeProvider'\n ],\n bpmnAutoResize: [ 'type', _BpmnAutoResize__WEBPACK_IMPORTED_MODULE_0__.default ],\n bpmnAutoResizeProvider: [ 'type', _BpmnAutoResizeProvider__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/auto-resize/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/context-pad/ContextPadProvider.js":
/*!*****************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/context-pad/ContextPadProvider.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ContextPadProvider)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var _modeling_util_LaneUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../modeling/util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Mouse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/util/Mouse */ \"./node_modules/diagram-js/lib/util/Mouse.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A provider for BPMN 2.0 elements context pad\n */\nfunction ContextPadProvider(\n config, injector, eventBus,\n contextPad, modeling, elementFactory,\n connect, create, popupMenu,\n canvas, rules, translate) {\n\n config = config || {};\n\n contextPad.registerProvider(this);\n\n this._contextPad = contextPad;\n\n this._modeling = modeling;\n\n this._elementFactory = elementFactory;\n this._connect = connect;\n this._create = create;\n this._popupMenu = popupMenu;\n this._canvas = canvas;\n this._rules = rules;\n this._translate = translate;\n\n if (config.autoPlace !== false) {\n this._autoPlace = injector.get('autoPlace', false);\n }\n\n eventBus.on('create.end', 250, function(event) {\n var context = event.context,\n shape = context.shape;\n\n if (!(0,diagram_js_lib_util_Mouse__WEBPACK_IMPORTED_MODULE_0__.hasPrimaryModifier)(event) || !contextPad.isOpen(shape)) {\n return;\n }\n\n var entries = contextPad.getEntries(shape);\n\n if (entries.replace) {\n entries.replace.action.click(event, shape);\n }\n });\n}\n\nContextPadProvider.$inject = [\n 'config.contextPad',\n 'injector',\n 'eventBus',\n 'contextPad',\n 'modeling',\n 'elementFactory',\n 'connect',\n 'create',\n 'popupMenu',\n 'canvas',\n 'rules',\n 'translate'\n];\n\n\nContextPadProvider.prototype.getContextPadEntries = function(element) {\n\n var contextPad = this._contextPad,\n modeling = this._modeling,\n\n elementFactory = this._elementFactory,\n connect = this._connect,\n create = this._create,\n popupMenu = this._popupMenu,\n canvas = this._canvas,\n rules = this._rules,\n autoPlace = this._autoPlace,\n translate = this._translate;\n\n var actions = {};\n\n if (element.type === 'label') {\n return actions;\n }\n\n var businessObject = element.businessObject;\n\n function startConnect(event, element) {\n connect.start(event, element);\n }\n\n function removeElement(e) {\n modeling.removeElements([ element ]);\n }\n\n function getReplaceMenuPosition(element) {\n\n var Y_OFFSET = 5;\n\n var diagramContainer = canvas.getContainer(),\n pad = contextPad.getPad(element).html;\n\n var diagramRect = diagramContainer.getBoundingClientRect(),\n padRect = pad.getBoundingClientRect();\n\n var top = padRect.top - diagramRect.top;\n var left = padRect.left - diagramRect.left;\n\n var pos = {\n x: left,\n y: top + padRect.height + Y_OFFSET\n };\n\n return pos;\n }\n\n\n /**\n * Create an append action\n *\n * @param {string} type\n * @param {string} className\n * @param {string} [title]\n * @param {Object} [options]\n *\n * @return {Object} descriptor\n */\n function appendAction(type, className, title, options) {\n\n if (typeof title !== 'string') {\n options = title;\n title = translate('Append {type}', { type: type.replace(/^bpmn:/, '') });\n }\n\n function appendStart(event, element) {\n\n var shape = elementFactory.createShape((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({ type: type }, options));\n create.start(event, shape, {\n source: element\n });\n }\n\n\n var append = autoPlace ? function(event, element) {\n var shape = elementFactory.createShape((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({ type: type }, options));\n\n autoPlace.append(element, shape);\n } : appendStart;\n\n\n return {\n group: 'model',\n className: className,\n title: title,\n action: {\n dragstart: appendStart,\n click: append\n }\n };\n }\n\n function splitLaneHandler(count) {\n\n return function(event, element) {\n\n // actual split\n modeling.splitLane(element, count);\n\n // refresh context pad after split to\n // get rid of split icons\n contextPad.open(element, true);\n };\n }\n\n\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__.isAny)(businessObject, [ 'bpmn:Lane', 'bpmn:Participant' ]) && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_3__.isExpanded)(businessObject)) {\n\n var childLanes = (0,_modeling_util_LaneUtil__WEBPACK_IMPORTED_MODULE_4__.getChildLanes)(element);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'lane-insert-above': {\n group: 'lane-insert-above',\n className: 'bpmn-icon-lane-insert-above',\n title: translate('Add Lane above'),\n action: {\n click: function(event, element) {\n modeling.addLane(element, 'top');\n }\n }\n }\n });\n\n if (childLanes.length < 2) {\n\n if (element.height >= 120) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'lane-divide-two': {\n group: 'lane-divide',\n className: 'bpmn-icon-lane-divide-two',\n title: translate('Divide into two Lanes'),\n action: {\n click: splitLaneHandler(2)\n }\n }\n });\n }\n\n if (element.height >= 180) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'lane-divide-three': {\n group: 'lane-divide',\n className: 'bpmn-icon-lane-divide-three',\n title: translate('Divide into three Lanes'),\n action: {\n click: splitLaneHandler(3)\n }\n }\n });\n }\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'lane-insert-below': {\n group: 'lane-insert-below',\n className: 'bpmn-icon-lane-insert-below',\n title: translate('Add Lane below'),\n action: {\n click: function(event, element) {\n modeling.addLane(element, 'bottom');\n }\n }\n }\n });\n\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(businessObject, 'bpmn:FlowNode')) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(businessObject, 'bpmn:EventBasedGateway')) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'append.receive-task': appendAction(\n 'bpmn:ReceiveTask',\n 'bpmn-icon-receive-task',\n translate('Append ReceiveTask')\n ),\n 'append.message-intermediate-event': appendAction(\n 'bpmn:IntermediateCatchEvent',\n 'bpmn-icon-intermediate-event-catch-message',\n translate('Append MessageIntermediateCatchEvent'),\n { eventDefinitionType: 'bpmn:MessageEventDefinition' }\n ),\n 'append.timer-intermediate-event': appendAction(\n 'bpmn:IntermediateCatchEvent',\n 'bpmn-icon-intermediate-event-catch-timer',\n translate('Append TimerIntermediateCatchEvent'),\n { eventDefinitionType: 'bpmn:TimerEventDefinition' }\n ),\n 'append.condition-intermediate-event': appendAction(\n 'bpmn:IntermediateCatchEvent',\n 'bpmn-icon-intermediate-event-catch-condition',\n translate('Append ConditionIntermediateCatchEvent'),\n { eventDefinitionType: 'bpmn:ConditionalEventDefinition' }\n ),\n 'append.signal-intermediate-event': appendAction(\n 'bpmn:IntermediateCatchEvent',\n 'bpmn-icon-intermediate-event-catch-signal',\n translate('Append SignalIntermediateCatchEvent'),\n { eventDefinitionType: 'bpmn:SignalEventDefinition' }\n )\n });\n } else\n\n if (isEventType(businessObject, 'bpmn:BoundaryEvent', 'bpmn:CompensateEventDefinition')) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'append.compensation-activity':\n appendAction(\n 'bpmn:Task',\n 'bpmn-icon-task',\n translate('Append compensation activity'),\n {\n isForCompensation: true\n }\n )\n });\n } else\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(businessObject, 'bpmn:EndEvent') &&\n !businessObject.isForCompensation &&\n !isEventType(businessObject, 'bpmn:IntermediateThrowEvent', 'bpmn:LinkEventDefinition') &&\n !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_3__.isEventSubProcess)(businessObject)) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'append.end-event': appendAction(\n 'bpmn:EndEvent',\n 'bpmn-icon-end-event-none',\n translate('Append EndEvent')\n ),\n 'append.gateway': appendAction(\n 'bpmn:ExclusiveGateway',\n 'bpmn-icon-gateway-none',\n translate('Append Gateway')\n ),\n 'append.append-task': appendAction(\n 'bpmn:Task',\n 'bpmn-icon-task',\n translate('Append Task')\n ),\n 'append.intermediate-event': appendAction(\n 'bpmn:IntermediateThrowEvent',\n 'bpmn-icon-intermediate-event-none',\n translate('Append Intermediate/Boundary Event')\n )\n });\n }\n }\n\n if (!popupMenu.isEmpty(element, 'bpmn-replace')) {\n\n // Replace menu entry\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'replace': {\n group: 'edit',\n className: 'bpmn-icon-screw-wrench',\n title: translate('Change type'),\n action: {\n click: function(event, element) {\n\n var position = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(getReplaceMenuPosition(element), {\n cursor: { x: event.x, y: event.y }\n });\n\n popupMenu.open(element, 'bpmn-replace', position);\n }\n }\n }\n });\n }\n\n if (\n (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__.isAny)(businessObject, [\n 'bpmn:FlowNode',\n 'bpmn:InteractionNode',\n 'bpmn:DataObjectReference',\n 'bpmn:DataStoreReference',\n ])\n ) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'append.text-annotation': appendAction(\n 'bpmn:TextAnnotation',\n 'bpmn-icon-text-annotation'\n ),\n\n 'connect': {\n group: 'connect',\n className: 'bpmn-icon-connection-multi',\n title: translate(\n 'Connect using ' +\n (businessObject.isForCompensation\n ? ''\n : 'Sequence/MessageFlow or ') +\n 'Association'\n ),\n action: {\n click: startConnect,\n dragstart: startConnect,\n },\n },\n });\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(businessObject, 'bpmn:TextAnnotation')) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'connect': {\n group: 'connect',\n className: 'bpmn-icon-connection-multi',\n title: translate('Connect using Association'),\n action: {\n click: startConnect,\n dragstart: startConnect,\n },\n },\n });\n }\n\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__.isAny)(businessObject, [ 'bpmn:DataObjectReference', 'bpmn:DataStoreReference' ])) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'connect': {\n group: 'connect',\n className: 'bpmn-icon-connection-multi',\n title: translate('Connect using DataInputAssociation'),\n action: {\n click: startConnect,\n dragstart: startConnect\n }\n }\n });\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(businessObject, 'bpmn:Group')) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'append.text-annotation': appendAction('bpmn:TextAnnotation', 'bpmn-icon-text-annotation')\n });\n }\n\n // delete element entry, only show if allowed by rules\n var deleteAllowed = rules.allowed('elements.delete', { elements: [ element ] });\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isArray)(deleteAllowed)) {\n\n // was the element returned as a deletion candidate?\n deleteAllowed = deleteAllowed[0] === element;\n }\n\n if (deleteAllowed) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(actions, {\n 'delete': {\n group: 'edit',\n className: 'bpmn-icon-trash',\n title: translate('Remove'),\n action: {\n click: removeElement\n }\n }\n });\n }\n\n return actions;\n};\n\n\n// helpers /////////\n\nfunction isEventType(eventBo, type, definition) {\n\n var isType = eventBo.$instanceOf(type);\n var isDefinition = false;\n\n var definitions = eventBo.eventDefinitions || [];\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(definitions, function(def) {\n if (def.$type === definition) {\n isDefinition = true;\n }\n });\n\n return isType && isDefinition;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/context-pad/ContextPadProvider.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/context-pad/index.js":
/*!****************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/context-pad/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_direct_editing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js-direct-editing */ \"./node_modules/diagram-js-direct-editing/index.js\");\n/* harmony import */ var diagram_js_lib_features_context_pad__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/context-pad */ \"./node_modules/diagram-js/lib/features/context-pad/index.js\");\n/* harmony import */ var diagram_js_lib_features_selection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/features/selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var diagram_js_lib_features_connect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/features/connect */ \"./node_modules/diagram-js/lib/features/connect/index.js\");\n/* harmony import */ var diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/features/create */ \"./node_modules/diagram-js/lib/features/create/index.js\");\n/* harmony import */ var _popup_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../popup-menu */ \"./node_modules/bpmn-js/lib/features/popup-menu/index.js\");\n/* harmony import */ var _ContextPadProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ContextPadProvider */ \"./node_modules/bpmn-js/lib/features/context-pad/ContextPadProvider.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_direct_editing__WEBPACK_IMPORTED_MODULE_0__.default,\n diagram_js_lib_features_context_pad__WEBPACK_IMPORTED_MODULE_1__.default,\n diagram_js_lib_features_selection__WEBPACK_IMPORTED_MODULE_2__.default,\n diagram_js_lib_features_connect__WEBPACK_IMPORTED_MODULE_3__.default,\n diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_4__.default,\n _popup_menu__WEBPACK_IMPORTED_MODULE_5__.default\n ],\n __init__: [ 'contextPadProvider' ],\n contextPadProvider: [ 'type', _ContextPadProvider__WEBPACK_IMPORTED_MODULE_6__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/context-pad/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/copy-paste/BpmnCopyPaste.js":
/*!***********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/copy-paste/BpmnCopyPaste.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnCopyPaste)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\nfunction copyProperties(source, target, properties) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(properties)) {\n properties = [ properties ];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(properties, function(property) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(source[property])) {\n target[property] = source[property];\n }\n });\n}\n\nfunction removeProperties(element, properties) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(properties)) {\n properties = [ properties ];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(properties, function(property) {\n if (element[property]) {\n delete element[property];\n }\n });\n}\n\nvar LOW_PRIORITY = 750;\n\n\nfunction BpmnCopyPaste(bpmnFactory, eventBus, moddleCopy) {\n\n eventBus.on('copyPaste.copyElement', LOW_PRIORITY, function(context) {\n var descriptor = context.descriptor,\n element = context.element;\n\n var businessObject = descriptor.oldBusinessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(element);\n\n descriptor.type = element.type;\n\n copyProperties(businessObject, descriptor, 'name');\n\n descriptor.di = {};\n\n // colors will be set to DI\n copyProperties(businessObject.di, descriptor.di, [\n 'fill',\n 'stroke',\n 'background-color',\n 'border-color',\n 'color'\n ]);\n\n copyProperties(businessObject.di, descriptor, 'isExpanded');\n\n if (isLabel(descriptor)) {\n return descriptor;\n }\n\n // default sequence flow\n if (businessObject.default) {\n descriptor.default = businessObject.default.id;\n }\n });\n\n eventBus.on('moddleCopy.canCopyProperty', function(context) {\n var parent = context.parent,\n property = context.property,\n propertyName = context.propertyName,\n bpmnProcess;\n\n if (\n propertyName === 'processRef' &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(parent, 'bpmn:Participant') &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(property, 'bpmn:Process')\n ) {\n bpmnProcess = bpmnFactory.create('bpmn:Process');\n\n // return copy of process\n return moddleCopy.copyElement(property, bpmnProcess);\n }\n });\n\n var references;\n\n function resolveReferences(descriptor, cache) {\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(descriptor);\n\n // default sequence flows\n if (descriptor.default) {\n\n // relationship cannot be resolved immediately\n references[ descriptor.default ] = {\n element: businessObject,\n property: 'default'\n };\n }\n\n // boundary events\n if (descriptor.host) {\n\n // relationship can be resolved immediately\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(descriptor).attachedToRef = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(cache[ descriptor.host ]);\n }\n\n references = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.omit)(references, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.reduce)(references, function(array, reference, key) {\n var element = reference.element,\n property = reference.property;\n\n if (key === descriptor.id) {\n element[ property ] = businessObject;\n\n array.push(descriptor.id);\n }\n\n return array;\n }, []));\n }\n\n eventBus.on('copyPaste.pasteElements', function() {\n references = {};\n });\n\n eventBus.on('copyPaste.pasteElement', function(context) {\n var cache = context.cache,\n descriptor = context.descriptor,\n oldBusinessObject = descriptor.oldBusinessObject,\n newBusinessObject;\n\n // do NOT copy business object if external label\n if (isLabel(descriptor)) {\n descriptor.businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(cache[ descriptor.labelTarget ]);\n\n return;\n }\n\n newBusinessObject = bpmnFactory.create(oldBusinessObject.$type);\n\n descriptor.businessObject = moddleCopy.copyElement(\n oldBusinessObject,\n newBusinessObject\n );\n\n // resolve references e.g. default sequence flow\n resolveReferences(descriptor, cache);\n\n copyProperties(descriptor, newBusinessObject, [\n 'isExpanded',\n 'name'\n ]);\n\n removeProperties(descriptor, 'oldBusinessObject');\n });\n\n}\n\n\nBpmnCopyPaste.$inject = [\n 'bpmnFactory',\n 'eventBus',\n 'moddleCopy'\n];\n\n// helpers //////////\n\nfunction isLabel(element) {\n return !!element.labelTarget;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/copy-paste/BpmnCopyPaste.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/copy-paste/ModdleCopy.js":
/*!********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/copy-paste/ModdleCopy.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ModdleCopy),\n/* harmony export */ \"getPropertyNames\": () => (/* binding */ getPropertyNames)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\nvar DISALLOWED_PROPERTIES = [\n 'artifacts',\n 'dataInputAssociations',\n 'dataOutputAssociations',\n 'default',\n 'flowElements',\n 'lanes',\n 'incoming',\n 'outgoing'\n];\n\n/**\n * @typedef {Function} listener\n *\n * @param {Object} context\n * @param {Array} context.propertyNames\n * @param {ModdleElement} context.sourceElement\n * @param {ModdleElement} context.targetElement\n *\n * @returns {Array|boolean} - Return properties to be copied or false to disallow\n * copying.\n */\n\n/**\n * @typedef {Function} listener\n *\n * @param {Object} context\n * @param {ModdleElement} context.parent\n * @param {*} context.property\n * @param {string} context.propertyName\n *\n * @returns {*|boolean} - Return copied property or false to disallow\n * copying.\n */\n\n/**\n * @typedef {Function} listener\n *\n * @param {Object} context\n * @param {ModdleElement} context.parent\n * @param {*} context.property\n * @param {string} context.propertyName\n *\n * @returns {boolean} - Return false to disallow\n * setting copied property.\n */\n\n/**\n * Utility for copying model properties from source element to target element.\n *\n * @param {EventBus} eventBus\n * @param {BpmnFactory} bpmnFactory\n * @param {BpmnModdle} moddle\n */\nfunction ModdleCopy(eventBus, bpmnFactory, moddle) {\n this._bpmnFactory = bpmnFactory;\n this._eventBus = eventBus;\n this._moddle = moddle;\n\n // copy extension elements last\n eventBus.on('moddleCopy.canCopyProperties', function(context) {\n var propertyNames = context.propertyNames;\n\n if (!propertyNames || !propertyNames.length) {\n return;\n }\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(propertyNames, function(propertyName) {\n return propertyName === 'extensionElements';\n });\n });\n\n // default check whether property can be copied\n eventBus.on('moddleCopy.canCopyProperty', function(context) {\n var parent = context.parent,\n parentDescriptor = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isObject)(parent) && parent.$descriptor,\n propertyName = context.propertyName;\n\n if (propertyName && DISALLOWED_PROPERTIES.indexOf(propertyName) !== -1) {\n\n // disallow copying property\n return false;\n }\n\n if (propertyName &&\n parentDescriptor &&\n !(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(parentDescriptor.properties, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.matchPattern)({ name: propertyName }))) {\n\n // disallow copying property\n return false;\n }\n });\n\n // do NOT allow to copy empty extension elements\n eventBus.on('moddleCopy.canSetCopiedProperty', function(context) {\n var property = context.property;\n\n if (is(property, 'bpmn:ExtensionElements') && (!property.values || !property.values.length)) {\n\n // disallow setting copied property\n return false;\n }\n });\n}\n\nModdleCopy.$inject = [\n 'eventBus',\n 'bpmnFactory',\n 'moddle'\n];\n\n/**\n * Copy model properties of source element to target element.\n *\n * @param {ModdleElement} sourceElement\n * @param {ModdleElement} targetElement\n * @param {Array} [propertyNames]\n *\n * @param {ModdleElement}\n */\nModdleCopy.prototype.copyElement = function(sourceElement, targetElement, propertyNames) {\n var self = this;\n\n if (propertyNames && !(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(propertyNames)) {\n propertyNames = [ propertyNames ];\n }\n\n propertyNames = propertyNames || getPropertyNames(sourceElement.$descriptor);\n\n var canCopyProperties = this._eventBus.fire('moddleCopy.canCopyProperties', {\n propertyNames: propertyNames,\n sourceElement: sourceElement,\n targetElement: targetElement\n });\n\n if (canCopyProperties === false) {\n return targetElement;\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(canCopyProperties)) {\n propertyNames = canCopyProperties;\n }\n\n // copy properties\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(propertyNames, function(propertyName) {\n var sourceProperty;\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.has)(sourceElement, propertyName)) {\n sourceProperty = sourceElement.get(propertyName);\n }\n\n var copiedProperty = self.copyProperty(sourceProperty, targetElement, propertyName);\n\n var canSetProperty = self._eventBus.fire('moddleCopy.canSetCopiedProperty', {\n parent: targetElement,\n property: copiedProperty,\n propertyName: propertyName\n });\n\n if (canSetProperty === false) {\n return;\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isDefined)(copiedProperty)) {\n targetElement.set(propertyName, copiedProperty);\n }\n });\n\n return targetElement;\n};\n\n/**\n * Copy model property.\n *\n * @param {*} property\n * @param {ModdleElement} parent\n * @param {string} propertyName\n *\n * @returns {*}\n */\nModdleCopy.prototype.copyProperty = function(property, parent, propertyName) {\n var self = this;\n\n // allow others to copy property\n var copiedProperty = this._eventBus.fire('moddleCopy.canCopyProperty', {\n parent: parent,\n property: property,\n propertyName: propertyName\n });\n\n // return if copying is NOT allowed\n if (copiedProperty === false) {\n return;\n }\n\n if (copiedProperty) {\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isObject)(copiedProperty) && copiedProperty.$type && !copiedProperty.$parent) {\n copiedProperty.$parent = parent;\n }\n\n return copiedProperty;\n }\n\n var propertyDescriptor = this._moddle.getPropertyDescriptor(parent, propertyName);\n\n // do NOT copy Ids and references\n if (propertyDescriptor.isId || propertyDescriptor.isReference) {\n return;\n }\n\n // copy arrays\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(property)) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.reduce)(property, function(childProperties, childProperty) {\n\n // recursion\n copiedProperty = self.copyProperty(childProperty, parent, propertyName);\n\n // copying might NOT be allowed\n if (copiedProperty) {\n copiedProperty.$parent = parent;\n\n return childProperties.concat(copiedProperty);\n }\n\n return childProperties;\n }, []);\n }\n\n // copy model elements\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isObject)(property) && property.$type) {\n if (this._moddle.getElementDescriptor(property).isGeneric) {\n return;\n }\n\n copiedProperty = self._bpmnFactory.create(property.$type);\n\n copiedProperty.$parent = parent;\n\n // recursion\n copiedProperty = self.copyElement(property, copiedProperty);\n\n return copiedProperty;\n }\n\n // copy primitive properties\n return property;\n};\n\n// helpers //////////\n\nfunction getPropertyNames(descriptor, keepDefaultProperties) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.reduce)(descriptor.properties, function(properties, property) {\n\n if (keepDefaultProperties && property.default) {\n return properties;\n }\n\n return properties.concat(property.name);\n }, []);\n}\n\nfunction is(element, type) {\n return element && (typeof element.$instanceOf === 'function') && element.$instanceOf(type);\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/copy-paste/ModdleCopy.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/copy-paste/index.js":
/*!***************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/copy-paste/index.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_copy_paste__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/copy-paste */ \"./node_modules/diagram-js/lib/features/copy-paste/index.js\");\n/* harmony import */ var _BpmnCopyPaste__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnCopyPaste */ \"./node_modules/bpmn-js/lib/features/copy-paste/BpmnCopyPaste.js\");\n/* harmony import */ var _ModdleCopy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ModdleCopy */ \"./node_modules/bpmn-js/lib/features/copy-paste/ModdleCopy.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_copy_paste__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [ 'bpmnCopyPaste', 'moddleCopy' ],\n bpmnCopyPaste: [ 'type', _BpmnCopyPaste__WEBPACK_IMPORTED_MODULE_1__.default ],\n moddleCopy: [ 'type', _ModdleCopy__WEBPACK_IMPORTED_MODULE_2__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/copy-paste/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/di-ordering/BpmnDiOrdering.js":
/*!*************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/di-ordering/BpmnDiOrdering.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnDiOrdering)\n/* harmony export */ });\n/* harmony import */ var _draw_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../draw/BpmnRenderUtil */ \"./node_modules/bpmn-js/lib/draw/BpmnRenderUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\n\n\n\n\n\n\n\nvar HIGH_PRIORITY = 2000;\n\nfunction BpmnDiOrdering(eventBus, canvas) {\n\n eventBus.on('saveXML.start', HIGH_PRIORITY, orderDi);\n\n function orderDi() {\n var root = canvas.getRootElement(),\n rootDi = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(root).di,\n elements,\n diElements;\n\n elements = (0,diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_1__.selfAndAllChildren)([ root ], false);\n\n // only bpmndi:Shape and bpmndi:Edge can be direct children of bpmndi:Plane\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(elements, function(element) {\n return element !== root && !element.labelTarget;\n });\n\n diElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.map)(elements, _draw_BpmnRenderUtil__WEBPACK_IMPORTED_MODULE_3__.getDi);\n\n rootDi.set('planeElement', diElements);\n }\n}\n\nBpmnDiOrdering.$inject = [ 'eventBus', 'canvas' ];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/di-ordering/BpmnDiOrdering.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/di-ordering/index.js":
/*!****************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/di-ordering/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _di_ordering_BpmnDiOrdering__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../di-ordering/BpmnDiOrdering */ \"./node_modules/bpmn-js/lib/features/di-ordering/BpmnDiOrdering.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [\n 'bpmnDiOrdering'\n ],\n bpmnDiOrdering: [ 'type', _di_ordering_BpmnDiOrdering__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/di-ordering/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/distribute-elements/BpmnDistributeElements.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/distribute-elements/BpmnDistributeElements.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnDistributeElements)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n\n\n\n\n\n/**\n * Registers element exclude filters for elements that\n * currently do not support distribution.\n */\nfunction BpmnDistributeElements(distributeElements) {\n\n distributeElements.registerFilter(function(elements) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(elements, function(element) {\n var cannotDistribute = (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_1__.isAny)(element, [\n 'bpmn:Association',\n 'bpmn:BoundaryEvent',\n 'bpmn:DataInputAssociation',\n 'bpmn:DataOutputAssociation',\n 'bpmn:Lane',\n 'bpmn:MessageFlow',\n 'bpmn:Participant',\n 'bpmn:SequenceFlow',\n 'bpmn:TextAnnotation'\n ]);\n\n return !(element.labelTarget || cannotDistribute);\n });\n });\n}\n\nBpmnDistributeElements.$inject = [ 'distributeElements' ];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/distribute-elements/BpmnDistributeElements.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/distribute-elements/index.js":
/*!************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/distribute-elements/index.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_distribute_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/distribute-elements */ \"./node_modules/diagram-js/lib/features/distribute-elements/index.js\");\n/* harmony import */ var _BpmnDistributeElements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnDistributeElements */ \"./node_modules/bpmn-js/lib/features/distribute-elements/BpmnDistributeElements.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_distribute_elements__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [ 'bpmnDistributeElements' ],\n bpmnDistributeElements: [ 'type', _BpmnDistributeElements__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/distribute-elements/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/editor-actions/BpmnEditorActions.js":
/*!*******************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/editor-actions/BpmnEditorActions.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnEditorActions)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_features_editor_actions_EditorActions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/editor-actions/EditorActions */ \"./node_modules/diagram-js/lib/features/editor-actions/EditorActions.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Registers and executes BPMN specific editor actions.\n *\n * @param {Injector} injector\n */\nfunction BpmnEditorActions(injector) {\n injector.invoke(diagram_js_lib_features_editor_actions_EditorActions__WEBPACK_IMPORTED_MODULE_1__.default, this);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnEditorActions, diagram_js_lib_features_editor_actions_EditorActions__WEBPACK_IMPORTED_MODULE_1__.default);\n\nBpmnEditorActions.$inject = [\n 'injector'\n];\n\n/**\n * Register default actions.\n *\n * @param {Injector} injector\n */\nBpmnEditorActions.prototype._registerDefaultActions = function(injector) {\n\n // (0) invoke super method\n\n diagram_js_lib_features_editor_actions_EditorActions__WEBPACK_IMPORTED_MODULE_1__.default.prototype._registerDefaultActions.call(this, injector);\n\n // (1) retrieve optional components to integrate with\n\n var canvas = injector.get('canvas', false);\n var elementRegistry = injector.get('elementRegistry', false);\n var selection = injector.get('selection', false);\n var spaceTool = injector.get('spaceTool', false);\n var lassoTool = injector.get('lassoTool', false);\n var handTool = injector.get('handTool', false);\n var globalConnect = injector.get('globalConnect', false);\n var distributeElements = injector.get('distributeElements', false);\n var alignElements = injector.get('alignElements', false);\n var directEditing = injector.get('directEditing', false);\n var searchPad = injector.get('searchPad', false);\n var modeling = injector.get('modeling', false);\n\n // (2) check components and register actions\n\n if (canvas && elementRegistry && selection) {\n this._registerAction('selectElements', function() {\n\n // select all elements except for the invisible\n // root element\n var rootElement = canvas.getRootElement();\n\n var elements = elementRegistry.filter(function(element) {\n return element !== rootElement;\n });\n\n selection.select(elements);\n\n return elements;\n });\n }\n\n if (spaceTool) {\n this._registerAction('spaceTool', function() {\n spaceTool.toggle();\n });\n }\n\n if (lassoTool) {\n this._registerAction('lassoTool', function() {\n lassoTool.toggle();\n });\n }\n\n if (handTool) {\n this._registerAction('handTool', function() {\n handTool.toggle();\n });\n }\n\n if (globalConnect) {\n this._registerAction('globalConnectTool', function() {\n globalConnect.toggle();\n });\n }\n\n if (selection && distributeElements) {\n this._registerAction('distributeElements', function(opts) {\n var currentSelection = selection.get(),\n type = opts.type;\n\n if (currentSelection.length) {\n distributeElements.trigger(currentSelection, type);\n }\n });\n }\n\n if (selection && alignElements) {\n this._registerAction('alignElements', function(opts) {\n var currentSelection = selection.get(),\n aligneableElements = [],\n type = opts.type;\n\n if (currentSelection.length) {\n aligneableElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(currentSelection, function(element) {\n return !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:Lane');\n });\n\n alignElements.trigger(aligneableElements, type);\n }\n });\n }\n\n if (selection && modeling) {\n this._registerAction('setColor', function(opts) {\n var currentSelection = selection.get();\n\n if (currentSelection.length) {\n modeling.setColor(currentSelection, opts);\n }\n });\n }\n\n if (selection && directEditing) {\n this._registerAction('directEditing', function() {\n var currentSelection = selection.get();\n\n if (currentSelection.length) {\n directEditing.activate(currentSelection[0]);\n }\n });\n }\n\n if (searchPad) {\n this._registerAction('find', function() {\n searchPad.toggle();\n });\n }\n\n if (canvas && modeling) {\n this._registerAction('moveToOrigin', function() {\n var rootElement = canvas.getRootElement(),\n boundingBox,\n elements;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(rootElement, 'bpmn:Collaboration')) {\n elements = elementRegistry.filter(function(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element.parent, 'bpmn:Collaboration');\n });\n } else {\n elements = elementRegistry.filter(function(element) {\n return element !== rootElement && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element.parent, 'bpmn:SubProcess');\n });\n }\n\n boundingBox = (0,diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_4__.getBBox)(elements);\n\n modeling.moveElements(\n elements,\n { x: -boundingBox.x, y: -boundingBox.y },\n rootElement\n );\n });\n }\n\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/editor-actions/BpmnEditorActions.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/editor-actions/index.js":
/*!*******************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/editor-actions/index.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_editor_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/editor-actions */ \"./node_modules/diagram-js/lib/features/editor-actions/index.js\");\n/* harmony import */ var _BpmnEditorActions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnEditorActions */ \"./node_modules/bpmn-js/lib/features/editor-actions/BpmnEditorActions.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_editor_actions__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n editorActions: [ 'type', _BpmnEditorActions__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/editor-actions/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/grid-snapping/BpmnGridSnapping.js":
/*!*****************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/grid-snapping/BpmnGridSnapping.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnGridSnapping)\n/* harmony export */ });\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n\r\n\r\nfunction BpmnGridSnapping(eventBus) {\r\n eventBus.on([\r\n 'create.init',\r\n 'shape.move.init'\r\n ], function(event) {\r\n var context = event.context,\r\n shape = event.shape;\r\n\r\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__.isAny)(shape, [\r\n 'bpmn:Participant',\r\n 'bpmn:SubProcess',\r\n 'bpmn:TextAnnotation'\r\n ])) {\r\n if (!context.gridSnappingContext) {\r\n context.gridSnappingContext = {};\r\n }\r\n\r\n context.gridSnappingContext.snapLocation = 'top-left';\r\n }\r\n });\r\n}\r\n\r\nBpmnGridSnapping.$inject = [ 'eventBus' ];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/grid-snapping/BpmnGridSnapping.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/grid-snapping/behavior/AutoPlaceBehavior.js":
/*!***************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/grid-snapping/behavior/AutoPlaceBehavior.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AutoPlaceBehavior)\n/* harmony export */ });\n/* harmony import */ var _auto_place_BpmnAutoPlaceUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../auto-place/BpmnAutoPlaceUtil */ \"./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlaceUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\r\n\r\n\r\n\r\n\r\nvar HIGH_PRIORITY = 2000;\r\n\r\n\r\nfunction AutoPlaceBehavior(eventBus, gridSnapping) {\r\n eventBus.on('autoPlace', HIGH_PRIORITY, function(context) {\r\n var source = context.source,\r\n sourceMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__.getMid)(source),\r\n shape = context.shape;\r\n\r\n var position = (0,_auto_place_BpmnAutoPlaceUtil__WEBPACK_IMPORTED_MODULE_1__.getNewShapePosition)(source, shape);\r\n\r\n [ 'x', 'y' ].forEach(function(axis) {\r\n var options = {};\r\n\r\n // do not snap if x/y equal\r\n if (position[ axis ] === sourceMid[ axis ]) {\r\n return;\r\n }\r\n\r\n if (position[ axis ] > sourceMid[ axis ]) {\r\n options.min = position[ axis ];\r\n } else {\r\n options.max = position[ axis ];\r\n }\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:TextAnnotation')) {\r\n\r\n if (isHorizontal(axis)) {\r\n options.offset = -shape.width / 2;\r\n } else {\r\n options.offset = -shape.height / 2;\r\n }\r\n\r\n }\r\n\r\n position[ axis ] = gridSnapping.snapValue(position[ axis ], options);\r\n\r\n });\r\n\r\n // must be returned to be considered by auto place\r\n return position;\r\n });\r\n}\r\n\r\nAutoPlaceBehavior.$inject = [\r\n 'eventBus',\r\n 'gridSnapping'\r\n];\r\n\r\n// helpers //////////\r\n\r\nfunction isHorizontal(axis) {\r\n return axis === 'x';\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/grid-snapping/behavior/AutoPlaceBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/grid-snapping/behavior/CreateParticipantBehavior.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/grid-snapping/behavior/CreateParticipantBehavior.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreateParticipantBehavior)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\r\n\r\nvar HIGHER_PRIORITY = 1750;\r\n\r\n\r\nfunction CreateParticipantBehavior(canvas, eventBus, gridSnapping) {\r\n eventBus.on([\r\n 'create.start',\r\n 'shape.move.start'\r\n ], HIGHER_PRIORITY, function(event) {\r\n var context = event.context,\r\n shape = context.shape,\r\n rootElement = canvas.getRootElement();\r\n\r\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Participant') ||\r\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(rootElement, 'bpmn:Process') ||\r\n !rootElement.children.length) {\r\n return;\r\n }\r\n\r\n var createConstraints = context.createConstraints;\r\n\r\n if (!createConstraints) {\r\n return;\r\n }\r\n\r\n shape.width = gridSnapping.snapValue(shape.width, { min: shape.width });\r\n shape.height = gridSnapping.snapValue(shape.height, { min: shape.height });\r\n });\r\n}\r\n\r\nCreateParticipantBehavior.$inject = [\r\n 'canvas',\r\n 'eventBus',\r\n 'gridSnapping'\r\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/grid-snapping/behavior/CreateParticipantBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/grid-snapping/behavior/LayoutConnectionBehavior.js":
/*!**********************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/grid-snapping/behavior/LayoutConnectionBehavior.js ***!
\**********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LayoutConnectionBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var diagram_js_lib_util_Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/util/Geometry */ \"./node_modules/diagram-js/lib/util/Geometry.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n\n\n\n\nvar HIGH_PRIORITY = 3000;\n\n\n/**\n * Snaps connections with Manhattan layout.\n */\nfunction LayoutConnectionBehavior(eventBus, gridSnapping, modeling) {\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n this._gridSnapping = gridSnapping;\n\n var self = this;\n\n this.postExecuted([\n 'connection.create',\n 'connection.layout'\n ], HIGH_PRIORITY, function(event) {\n var context = event.context,\n connection = context.connection,\n hints = context.hints || {},\n waypoints = connection.waypoints;\n\n if (hints.connectionStart || hints.connectionEnd || hints.createElementsBehavior === false) {\n return;\n }\n\n if (!hasMiddleSegments(waypoints)) {\n return;\n }\n\n modeling.updateWaypoints(connection, self.snapMiddleSegments(waypoints));\n });\n}\n\nLayoutConnectionBehavior.$inject = [\n 'eventBus',\n 'gridSnapping',\n 'modeling'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(LayoutConnectionBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n/**\n * Snap middle segments of a given connection.\n *\n * @param {Array} waypoints\n *\n * @returns {Array}\n */\nLayoutConnectionBehavior.prototype.snapMiddleSegments = function(waypoints) {\n var gridSnapping = this._gridSnapping,\n snapped;\n\n waypoints = waypoints.slice();\n\n for (var i = 1; i < waypoints.length - 2; i++) {\n\n snapped = snapSegment(gridSnapping, waypoints[i], waypoints[i + 1]);\n\n waypoints[i] = snapped[0];\n waypoints[i + 1] = snapped[1];\n }\n\n return waypoints;\n};\n\n\n// helpers //////////\n\n/**\n * Check whether a connection has a middle segments.\n *\n * @param {Array} waypoints\n *\n * @returns {boolean}\n */\nfunction hasMiddleSegments(waypoints) {\n return waypoints.length > 3;\n}\n\n/**\n * Check whether an alignment is horizontal.\n *\n * @param {string} aligned\n *\n * @returns {boolean}\n */\nfunction horizontallyAligned(aligned) {\n return aligned === 'h';\n}\n\n/**\n * Check whether an alignment is vertical.\n *\n * @param {string} aligned\n *\n * @returns {boolean}\n */\nfunction verticallyAligned(aligned) {\n return aligned === 'v';\n}\n\n/**\n * Get middle segments from a given connection.\n *\n * @param {Array} waypoints\n *\n * @returns {Array}\n */\nfunction snapSegment(gridSnapping, segmentStart, segmentEnd) {\n\n var aligned = (0,diagram_js_lib_util_Geometry__WEBPACK_IMPORTED_MODULE_2__.pointsAligned)(segmentStart, segmentEnd);\n\n var snapped = {};\n\n if (horizontallyAligned(aligned)) {\n\n // snap horizontally\n snapped.y = gridSnapping.snapValue(segmentStart.y);\n }\n\n if (verticallyAligned(aligned)) {\n\n // snap vertically\n snapped.x = gridSnapping.snapValue(segmentStart.x);\n }\n\n if ('x' in snapped || 'y' in snapped) {\n segmentStart = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({}, segmentStart, snapped);\n segmentEnd = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({}, segmentEnd, snapped);\n }\n\n return [ segmentStart, segmentEnd ];\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/grid-snapping/behavior/LayoutConnectionBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/grid-snapping/behavior/index.js":
/*!***************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/grid-snapping/behavior/index.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _AutoPlaceBehavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AutoPlaceBehavior */ \"./node_modules/bpmn-js/lib/features/grid-snapping/behavior/AutoPlaceBehavior.js\");\n/* harmony import */ var _CreateParticipantBehavior__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateParticipantBehavior */ \"./node_modules/bpmn-js/lib/features/grid-snapping/behavior/CreateParticipantBehavior.js\");\n/* harmony import */ var _LayoutConnectionBehavior__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LayoutConnectionBehavior */ \"./node_modules/bpmn-js/lib/features/grid-snapping/behavior/LayoutConnectionBehavior.js\");\n\r\n\r\n\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\r\n __init__: [\r\n 'gridSnappingAutoPlaceBehavior',\r\n 'gridSnappingCreateParticipantBehavior',\r\n 'gridSnappingLayoutConnectionBehavior',\r\n ],\r\n gridSnappingAutoPlaceBehavior: [ 'type', _AutoPlaceBehavior__WEBPACK_IMPORTED_MODULE_0__.default ],\r\n gridSnappingCreateParticipantBehavior: [ 'type', _CreateParticipantBehavior__WEBPACK_IMPORTED_MODULE_1__.default ],\r\n gridSnappingLayoutConnectionBehavior: [ 'type', _LayoutConnectionBehavior__WEBPACK_IMPORTED_MODULE_2__.default ]\r\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/grid-snapping/behavior/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/grid-snapping/index.js":
/*!******************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/grid-snapping/index.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _BpmnGridSnapping__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BpmnGridSnapping */ \"./node_modules/bpmn-js/lib/features/grid-snapping/BpmnGridSnapping.js\");\n/* harmony import */ var diagram_js_lib_features_grid_snapping__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/grid-snapping */ \"./node_modules/diagram-js/lib/features/grid-snapping/index.js\");\n/* harmony import */ var _behavior__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./behavior */ \"./node_modules/bpmn-js/lib/features/grid-snapping/behavior/index.js\");\n\r\n\r\n\r\n\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\r\n __depends__: [\r\n diagram_js_lib_features_grid_snapping__WEBPACK_IMPORTED_MODULE_0__.default,\r\n _behavior__WEBPACK_IMPORTED_MODULE_1__.default\r\n ],\r\n __init__: [ 'bpmnGridSnapping' ],\r\n bpmnGridSnapping: [ 'type', _BpmnGridSnapping__WEBPACK_IMPORTED_MODULE_2__.default ]\r\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/grid-snapping/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/interaction-events/BpmnInteractionEvents.js":
/*!***************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/interaction-events/BpmnInteractionEvents.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnInteractionEvents)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n\n\n\n\nvar LABEL_WIDTH = 30,\n LABEL_HEIGHT = 30;\n\n\n/**\n * BPMN-specific hit zones and interaction fixes.\n *\n * @param {EventBus} eventBus\n * @param {InteractionEvents} interactionEvents\n */\nfunction BpmnInteractionEvents(eventBus, interactionEvents) {\n\n this._interactionEvents = interactionEvents;\n\n var self = this;\n\n eventBus.on([\n 'interactionEvents.createHit',\n 'interactionEvents.updateHit'\n ], function(context) {\n var element = context.element,\n gfx = context.gfx;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:Lane')) {\n return self.createParticipantHit(element, gfx);\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:Participant')) {\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_1__.isExpanded)(element)) {\n return self.createParticipantHit(element, gfx);\n } else {\n return self.createDefaultHit(element, gfx);\n }\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:SubProcess')) {\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_1__.isExpanded)(element)) {\n return self.createSubProcessHit(element, gfx);\n } else {\n return self.createDefaultHit(element, gfx);\n }\n }\n });\n\n}\n\nBpmnInteractionEvents.$inject = [\n 'eventBus',\n 'interactionEvents'\n];\n\n\nBpmnInteractionEvents.prototype.createDefaultHit = function(element, gfx) {\n this._interactionEvents.removeHits(gfx);\n\n this._interactionEvents.createDefaultHit(element, gfx);\n\n // indicate that we created a hit\n return true;\n};\n\nBpmnInteractionEvents.prototype.createParticipantHit = function(element, gfx) {\n\n // remove existing hits\n this._interactionEvents.removeHits(gfx);\n\n // add outline hit\n this._interactionEvents.createBoxHit(gfx, 'click-stroke', {\n width: element.width,\n height: element.height\n });\n\n // add label hit\n this._interactionEvents.createBoxHit(gfx, 'all', {\n width: LABEL_WIDTH,\n height: element.height\n });\n\n // indicate that we created a hit\n return true;\n};\n\nBpmnInteractionEvents.prototype.createSubProcessHit = function(element, gfx) {\n\n // remove existing hits\n this._interactionEvents.removeHits(gfx);\n\n // add outline hit\n this._interactionEvents.createBoxHit(gfx, 'click-stroke', {\n width: element.width,\n height: element.height\n });\n\n // add label hit\n this._interactionEvents.createBoxHit(gfx, 'all', {\n width: element.width,\n height: LABEL_HEIGHT\n });\n\n // indicate that we created a hit\n return true;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/interaction-events/BpmnInteractionEvents.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/interaction-events/index.js":
/*!***********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/interaction-events/index.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _BpmnInteractionEvents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BpmnInteractionEvents */ \"./node_modules/bpmn-js/lib/features/interaction-events/BpmnInteractionEvents.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'bpmnInteractionEvents' ],\n bpmnInteractionEvents: [ 'type', _BpmnInteractionEvents__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/interaction-events/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/keyboard/BpmnKeyboardBindings.js":
/*!****************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/keyboard/BpmnKeyboardBindings.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnKeyboardBindings)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_features_keyboard_KeyboardBindings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/keyboard/KeyboardBindings */ \"./node_modules/diagram-js/lib/features/keyboard/KeyboardBindings.js\");\n\n\n\n\n\n/**\n * BPMN 2.0 specific keyboard bindings.\n *\n * @param {Injector} injector\n */\nfunction BpmnKeyboardBindings(injector) {\n injector.invoke(diagram_js_lib_features_keyboard_KeyboardBindings__WEBPACK_IMPORTED_MODULE_1__.default, this);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnKeyboardBindings, diagram_js_lib_features_keyboard_KeyboardBindings__WEBPACK_IMPORTED_MODULE_1__.default);\n\nBpmnKeyboardBindings.$inject = [\n 'injector'\n];\n\n\n/**\n * Register available keyboard bindings.\n *\n * @param {Keyboard} keyboard\n * @param {EditorActions} editorActions\n */\nBpmnKeyboardBindings.prototype.registerBindings = function(keyboard, editorActions) {\n\n // inherit default bindings\n diagram_js_lib_features_keyboard_KeyboardBindings__WEBPACK_IMPORTED_MODULE_1__.default.prototype.registerBindings.call(this, keyboard, editorActions);\n\n /**\n * Add keyboard binding if respective editor action\n * is registered.\n *\n * @param {string} action name\n * @param {Function} fn that implements the key binding\n */\n function addListener(action, fn) {\n\n if (editorActions.isRegistered(action)) {\n keyboard.addListener(fn);\n }\n }\n\n // select all elements\n // CTRL + A\n addListener('selectElements', function(context) {\n\n var event = context.keyEvent;\n\n if (keyboard.isKey(['a', 'A'], event) && keyboard.isCmd(event)) {\n editorActions.trigger('selectElements');\n\n return true;\n }\n });\n\n // search labels\n // CTRL + F\n addListener('find', function(context) {\n\n var event = context.keyEvent;\n\n if (keyboard.isKey(['f', 'F'], event) && keyboard.isCmd(event)) {\n editorActions.trigger('find');\n\n return true;\n }\n });\n\n // activate space tool\n // S\n addListener('spaceTool', function(context) {\n\n var event = context.keyEvent;\n\n if (keyboard.hasModifier(event)) {\n return;\n }\n\n if (keyboard.isKey(['s', 'S'], event)) {\n editorActions.trigger('spaceTool');\n\n return true;\n }\n });\n\n // activate lasso tool\n // L\n addListener('lassoTool', function(context) {\n\n var event = context.keyEvent;\n\n if (keyboard.hasModifier(event)) {\n return;\n }\n\n if (keyboard.isKey(['l', 'L'], event)) {\n editorActions.trigger('lassoTool');\n\n return true;\n }\n });\n\n // activate hand tool\n // H\n addListener('handTool', function(context) {\n\n var event = context.keyEvent;\n\n if (keyboard.hasModifier(event)) {\n return;\n }\n\n if (keyboard.isKey(['h', 'H'], event)) {\n editorActions.trigger('handTool');\n\n return true;\n }\n });\n\n // activate global connect tool\n // C\n addListener('globalConnectTool', function(context) {\n\n var event = context.keyEvent;\n\n if (keyboard.hasModifier(event)) {\n return;\n }\n\n if (keyboard.isKey(['c', 'C'], event)) {\n editorActions.trigger('globalConnectTool');\n\n return true;\n }\n });\n\n // activate direct editing\n // E\n addListener('directEditing', function(context) {\n\n var event = context.keyEvent;\n\n if (keyboard.hasModifier(event)) {\n return;\n }\n\n if (keyboard.isKey(['e', 'E'], event)) {\n editorActions.trigger('directEditing');\n\n return true;\n }\n });\n\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/keyboard/BpmnKeyboardBindings.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/keyboard/index.js":
/*!*************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/keyboard/index.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_keyboard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/keyboard */ \"./node_modules/diagram-js/lib/features/keyboard/index.js\");\n/* harmony import */ var _BpmnKeyboardBindings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnKeyboardBindings */ \"./node_modules/bpmn-js/lib/features/keyboard/BpmnKeyboardBindings.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_keyboard__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [ 'keyboardBindings' ],\n keyboardBindings: [ 'type', _BpmnKeyboardBindings__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/keyboard/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/label-editing/LabelEditingPreview.js":
/*!********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/label-editing/LabelEditingPreview.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LabelEditingPreview)\n/* harmony export */ });\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n\n\n\n\n\n\nvar MARKER_HIDDEN = 'djs-element-hidden',\n MARKER_LABEL_HIDDEN = 'djs-label-hidden';\n\n\nfunction LabelEditingPreview(\n eventBus, canvas, elementRegistry,\n pathMap) {\n\n var self = this;\n\n var defaultLayer = canvas.getDefaultLayer();\n\n var element, absoluteElementBBox, gfx;\n\n eventBus.on('directEditing.activate', function(context) {\n var activeProvider = context.active;\n\n element = activeProvider.element.label || activeProvider.element;\n\n // text annotation\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:TextAnnotation')) {\n absoluteElementBBox = canvas.getAbsoluteBBox(element);\n\n gfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.create)('g');\n\n var textPathData = pathMap.getScaledPath('TEXT_ANNOTATION', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.0,\n my: 0.0\n }\n });\n\n var path = self.path = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.create)('path');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.attr)(path, {\n d: textPathData,\n strokeWidth: 2,\n stroke: getStrokeColor(element)\n });\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.append)(gfx, path);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.append)(defaultLayer, gfx);\n\n (0,diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_2__.translate)(gfx, element.x, element.y);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:TextAnnotation') ||\n element.labelTarget) {\n canvas.addMarker(element, MARKER_HIDDEN);\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:Task') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:CallActivity') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:SubProcess') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:Participant')) {\n canvas.addMarker(element, MARKER_LABEL_HIDDEN);\n }\n });\n\n eventBus.on('directEditing.resize', function(context) {\n\n // text annotation\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:TextAnnotation')) {\n var height = context.height,\n dy = context.dy;\n\n var newElementHeight = Math.max(element.height / absoluteElementBBox.height * (height + dy), 0);\n\n var textPathData = pathMap.getScaledPath('TEXT_ANNOTATION', {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: newElementHeight,\n position: {\n mx: 0.0,\n my: 0.0\n }\n });\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.attr)(self.path, {\n d: textPathData\n });\n }\n });\n\n eventBus.on([ 'directEditing.complete', 'directEditing.cancel' ], function(context) {\n var activeProvider = context.active;\n\n if (activeProvider) {\n canvas.removeMarker(activeProvider.element.label || activeProvider.element, MARKER_HIDDEN);\n canvas.removeMarker(element, MARKER_LABEL_HIDDEN);\n }\n\n element = undefined;\n absoluteElementBBox = undefined;\n\n if (gfx) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.remove)(gfx);\n\n gfx = undefined;\n }\n });\n}\n\nLabelEditingPreview.$inject = [\n 'eventBus',\n 'canvas',\n 'elementRegistry',\n 'pathMap'\n];\n\n\n// helpers ///////////////////\n\nfunction getStrokeColor(element, defaultColor) {\n var bo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(element);\n\n return bo.di.get('stroke') || defaultColor || 'black';\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/label-editing/LabelEditingPreview.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/label-editing/LabelEditingProvider.js":
/*!*********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/label-editing/LabelEditingProvider.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LabelEditingProvider)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _LabelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LabelUtil */ \"./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _modeling_behavior_util_CategoryUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../modeling/behavior/util/CategoryUtil */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/CategoryUtil.js\");\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction LabelEditingProvider(\n eventBus, bpmnFactory, canvas, directEditing,\n modeling, resizeHandles, textRenderer) {\n\n this._bpmnFactory = bpmnFactory;\n this._canvas = canvas;\n this._modeling = modeling;\n this._textRenderer = textRenderer;\n\n directEditing.registerProvider(this);\n\n // listen to dblclick on non-root elements\n eventBus.on('element.dblclick', function(event) {\n activateDirectEdit(event.element, true);\n });\n\n // complete on followup canvas operation\n eventBus.on([\n 'autoPlace.start',\n 'canvas.viewbox.changing',\n 'drag.init',\n 'element.mousedown',\n 'popupMenu.open'\n ], function(event) {\n\n if (directEditing.isActive()) {\n directEditing.complete();\n }\n });\n\n // cancel on command stack changes\n eventBus.on([ 'commandStack.changed' ], function(e) {\n if (directEditing.isActive()) {\n directEditing.cancel();\n }\n });\n\n\n eventBus.on('directEditing.activate', function(event) {\n resizeHandles.removeResizers();\n });\n\n eventBus.on('create.end', 500, function(event) {\n\n var context = event.context,\n element = context.shape,\n canExecute = event.context.canExecute,\n isTouch = event.isTouch;\n\n // TODO(nikku): we need to find a way to support the\n // direct editing on mobile devices; right now this will\n // break for desworkflowediting on mobile devices\n // as it breaks the user interaction workflow\n\n // TODO(nre): we should temporarily focus the edited element\n // here and release the focused viewport after the direct edit\n // operation is finished\n if (isTouch) {\n return;\n }\n\n if (!canExecute) {\n return;\n }\n\n if (context.hints && context.hints.createElementsBehavior === false) {\n return;\n }\n\n activateDirectEdit(element);\n });\n\n eventBus.on('autoPlace.end', 500, function(event) {\n activateDirectEdit(event.shape);\n });\n\n\n function activateDirectEdit(element, force) {\n if (force ||\n (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__.isAny)(element, [ 'bpmn:Task', 'bpmn:TextAnnotation', 'bpmn:Group' ]) ||\n isCollapsedSubProcess(element)) {\n\n directEditing.activate(element);\n }\n }\n\n}\n\nLabelEditingProvider.$inject = [\n 'eventBus',\n 'bpmnFactory',\n 'canvas',\n 'directEditing',\n 'modeling',\n 'resizeHandles',\n 'textRenderer'\n];\n\n\n/**\n * Activate direct editing for activities and text annotations.\n *\n * @param {djs.model.Base} element\n *\n * @return {Object} an object with properties bounds (position and size), text and options\n */\nLabelEditingProvider.prototype.activate = function(element) {\n\n // text\n var text = (0,_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.getLabel)(element);\n\n if (text === undefined) {\n return;\n }\n\n var context = {\n text: text\n };\n\n // bounds\n var bounds = this.getEditingBBox(element);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(context, bounds);\n\n var options = {};\n\n // tasks\n if (\n (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__.isAny)(element, [\n 'bpmn:Task',\n 'bpmn:Participant',\n 'bpmn:Lane',\n 'bpmn:CallActivity'\n ]) ||\n isCollapsedSubProcess(element)\n ) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(options, {\n centerVertically: true\n });\n }\n\n // external labels\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabelExternal)(element)) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(options, {\n autoResize: true\n });\n }\n\n // text annotations\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:TextAnnotation')) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(options, {\n resizable: true,\n autoResize: true\n });\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(context, {\n options: options\n });\n\n return context;\n};\n\n\n/**\n * Get the editing bounding box based on the element's size and position\n *\n * @param {djs.model.Base} element\n *\n * @return {Object} an object containing information about position\n * and size (fixed or minimum and/or maximum)\n */\nLabelEditingProvider.prototype.getEditingBBox = function(element) {\n var canvas = this._canvas;\n\n var target = element.label || element;\n\n var bbox = canvas.getAbsoluteBBox(target);\n\n var mid = {\n x: bbox.x + bbox.width / 2,\n y: bbox.y + bbox.height / 2\n };\n\n // default position\n var bounds = { x: bbox.x, y: bbox.y };\n\n var zoom = canvas.zoom();\n\n var defaultStyle = this._textRenderer.getDefaultStyle(),\n externalStyle = this._textRenderer.getExternalStyle();\n\n // take zoom into account\n var externalFontSize = externalStyle.fontSize * zoom,\n externalLineHeight = externalStyle.lineHeight,\n defaultFontSize = defaultStyle.fontSize * zoom,\n defaultLineHeight = defaultStyle.lineHeight;\n\n var style = {\n fontFamily: this._textRenderer.getDefaultStyle().fontFamily,\n fontWeight: this._textRenderer.getDefaultStyle().fontWeight\n };\n\n // adjust for expanded pools AND lanes\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:Lane') || isExpandedPool(element)) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(bounds, {\n width: bbox.height,\n height: 30 * zoom,\n x: bbox.x - bbox.height / 2 + (15 * zoom),\n y: mid.y - (30 * zoom) / 2\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(style, {\n fontSize: defaultFontSize + 'px',\n lineHeight: defaultLineHeight,\n paddingTop: (7 * zoom) + 'px',\n paddingBottom: (7 * zoom) + 'px',\n paddingLeft: (5 * zoom) + 'px',\n paddingRight: (5 * zoom) + 'px',\n transform: 'rotate(-90deg)'\n });\n }\n\n\n // internal labels for tasks and collapsed call activities,\n // sub processes and participants\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__.isAny)(element, [ 'bpmn:Task', 'bpmn:CallActivity']) ||\n isCollapsedPool(element) ||\n isCollapsedSubProcess(element)) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(bounds, {\n width: bbox.width,\n height: bbox.height\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(style, {\n fontSize: defaultFontSize + 'px',\n lineHeight: defaultLineHeight,\n paddingTop: (7 * zoom) + 'px',\n paddingBottom: (7 * zoom) + 'px',\n paddingLeft: (5 * zoom) + 'px',\n paddingRight: (5 * zoom) + 'px'\n });\n }\n\n\n // internal labels for expanded sub processes\n if (isExpandedSubProcess(element)) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(bounds, {\n width: bbox.width,\n x: bbox.x\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(style, {\n fontSize: defaultFontSize + 'px',\n lineHeight: defaultLineHeight,\n paddingTop: (7 * zoom) + 'px',\n paddingBottom: (7 * zoom) + 'px',\n paddingLeft: (5 * zoom) + 'px',\n paddingRight: (5 * zoom) + 'px'\n });\n }\n\n var width = 90 * zoom,\n paddingTop = 7 * zoom,\n paddingBottom = 4 * zoom;\n\n // external labels for events, data elements, gateways, groups and connections\n if (target.labelTarget) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(bounds, {\n width: width,\n height: bbox.height + paddingTop + paddingBottom,\n x: mid.x - width / 2,\n y: bbox.y - paddingTop\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(style, {\n fontSize: externalFontSize + 'px',\n lineHeight: externalLineHeight,\n paddingTop: paddingTop + 'px',\n paddingBottom: paddingBottom + 'px'\n });\n }\n\n // external label not yet created\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabelExternal)(target)\n && !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.hasExternalLabel)(target)\n && !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabel)(target)) {\n\n var externalLabelMid = (0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.getExternalLabelMid)(element);\n\n var absoluteBBox = canvas.getAbsoluteBBox({\n x: externalLabelMid.x,\n y: externalLabelMid.y,\n width: 0,\n height: 0\n });\n\n var height = externalFontSize + paddingTop + paddingBottom;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(bounds, {\n width: width,\n height: height,\n x: absoluteBBox.x - width / 2,\n y: absoluteBBox.y - height / 2\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(style, {\n fontSize: externalFontSize + 'px',\n lineHeight: externalLineHeight,\n paddingTop: paddingTop + 'px',\n paddingBottom: paddingBottom + 'px'\n });\n }\n\n // text annotations\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:TextAnnotation')) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(bounds, {\n width: bbox.width,\n height: bbox.height,\n minWidth: 30 * zoom,\n minHeight: 10 * zoom\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(style, {\n textAlign: 'left',\n paddingTop: (5 * zoom) + 'px',\n paddingBottom: (7 * zoom) + 'px',\n paddingLeft: (7 * zoom) + 'px',\n paddingRight: (5 * zoom) + 'px',\n fontSize: defaultFontSize + 'px',\n lineHeight: defaultLineHeight\n });\n }\n\n return { bounds: bounds, style: style };\n};\n\n\nLabelEditingProvider.prototype.update = function(\n element, newLabel,\n activeContextText, bounds) {\n\n var newBounds,\n bbox;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:TextAnnotation')) {\n\n bbox = this._canvas.getAbsoluteBBox(element);\n\n newBounds = {\n x: element.x,\n y: element.y,\n width: element.width / bbox.width * bounds.width,\n height: element.height / bbox.height * bounds.height\n };\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:Group')) {\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.getBusinessObject)(element);\n\n // initialize categoryValue if not existing\n if (!businessObject.categoryValueRef) {\n\n var rootElement = this._canvas.getRootElement(),\n definitions = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.getBusinessObject)(rootElement).$parent;\n\n var categoryValue = (0,_modeling_behavior_util_CategoryUtil__WEBPACK_IMPORTED_MODULE_5__.createCategoryValue)(definitions, this._bpmnFactory);\n\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.getBusinessObject)(element).categoryValueRef = categoryValue;\n }\n\n }\n\n if (isEmptyText(newLabel)) {\n newLabel = null;\n }\n\n this._modeling.updateLabel(element, newLabel, newBounds);\n};\n\n\n\n// helpers //////////////////////\n\nfunction isCollapsedSubProcess(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:SubProcess') && !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isExpanded)(element);\n}\n\nfunction isExpandedSubProcess(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:SubProcess') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isExpanded)(element);\n}\n\nfunction isCollapsedPool(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:Participant') && !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isExpanded)(element);\n}\n\nfunction isExpandedPool(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:Participant') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isExpanded)(element);\n}\n\nfunction isEmptyText(label) {\n return !label || !label.trim();\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/label-editing/LabelEditingProvider.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js":
/*!**********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getLabel\": () => (/* binding */ getLabel),\n/* harmony export */ \"setLabel\": () => (/* binding */ setLabel)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\nfunction getLabelAttr(semantic) {\n if (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:FlowElement') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:Participant') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:Lane') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:SequenceFlow') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:MessageFlow') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:DataInput') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:DataOutput')\n ) {\n return 'name';\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:TextAnnotation')) {\n return 'text';\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:Group')) {\n return 'categoryValueRef';\n }\n}\n\nfunction getCategoryValue(semantic) {\n var categoryValueRef = semantic['categoryValueRef'];\n\n if (!categoryValueRef) {\n return '';\n }\n\n\n return categoryValueRef.value || '';\n}\n\nfunction getLabel(element) {\n var semantic = element.businessObject,\n attr = getLabelAttr(semantic);\n\n if (attr) {\n\n if (attr === 'categoryValueRef') {\n\n return getCategoryValue(semantic);\n }\n\n return semantic[attr] || '';\n }\n}\n\n\nfunction setLabel(element, text, isExternal) {\n var semantic = element.businessObject,\n attr = getLabelAttr(semantic);\n\n if (attr) {\n\n if (attr === 'categoryValueRef') {\n semantic['categoryValueRef'].value = text;\n } else {\n semantic[attr] = text;\n }\n\n }\n\n return element;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/label-editing/cmd/UpdateLabelHandler.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/label-editing/cmd/UpdateLabelHandler.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UpdateLabelHandler)\n/* harmony export */ });\n/* harmony import */ var _LabelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../LabelUtil */ \"./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\nvar NULL_DIMENSIONS = {\n width: 0,\n height: 0\n};\n\n\n/**\n * A handler that updates the text of a BPMN element.\n */\nfunction UpdateLabelHandler(modeling, textRenderer) {\n\n /**\n * Set the label and return the changed elements.\n *\n * Element parameter can be label itself or connection (i.e. sequence flow).\n *\n * @param {djs.model.Base} element\n * @param {string} text\n */\n function setText(element, text) {\n\n // external label if present\n var label = element.label || element;\n\n var labelTarget = element.labelTarget || element;\n\n (0,_LabelUtil__WEBPACK_IMPORTED_MODULE_0__.setLabel)(label, text, labelTarget !== label);\n\n return [ label, labelTarget ];\n }\n\n function preExecute(ctx) {\n var element = ctx.element,\n businessObject = element.businessObject,\n newLabel = ctx.newLabel;\n\n if (!(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.isLabel)(element)\n && (0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.isLabelExternal)(element)\n && !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.hasExternalLabel)(element)\n && !isEmptyText(newLabel)) {\n\n // create label\n var paddingTop = 7;\n\n var labelCenter = (0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.getExternalLabelMid)(element);\n\n labelCenter = {\n x: labelCenter.x,\n y: labelCenter.y + paddingTop\n };\n\n modeling.createLabel(element, labelCenter, {\n id: businessObject.id + '_label',\n businessObject: businessObject\n });\n }\n }\n\n function execute(ctx) {\n ctx.oldLabel = (0,_LabelUtil__WEBPACK_IMPORTED_MODULE_0__.getLabel)(ctx.element);\n return setText(ctx.element, ctx.newLabel);\n }\n\n function revert(ctx) {\n return setText(ctx.element, ctx.oldLabel);\n }\n\n function postExecute(ctx) {\n var element = ctx.element,\n label = element.label || element,\n newLabel = ctx.newLabel,\n newBounds = ctx.newBounds,\n hints = ctx.hints || {};\n\n // ignore internal labels for elements except text annotations\n if (!(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.isLabel)(label) && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(label, 'bpmn:TextAnnotation')) {\n return;\n }\n\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.isLabel)(label) && isEmptyText(newLabel)) {\n\n if (hints.removeShape !== false) {\n modeling.removeShape(label, { unsetLabel: false });\n }\n\n return;\n }\n\n var text = (0,_LabelUtil__WEBPACK_IMPORTED_MODULE_0__.getLabel)(label);\n\n // resize element based on label _or_ pre-defined bounds\n if (typeof newBounds === 'undefined') {\n newBounds = textRenderer.getExternalLabelBounds(label, text);\n }\n\n // setting newBounds to false or _null_ will\n // disable the postExecute resize operation\n if (newBounds) {\n modeling.resizeShape(label, newBounds, NULL_DIMENSIONS);\n }\n }\n\n // API\n\n this.preExecute = preExecute;\n this.execute = execute;\n this.revert = revert;\n this.postExecute = postExecute;\n}\n\nUpdateLabelHandler.$inject = [\n 'modeling',\n 'textRenderer'\n];\n\n\n// helpers ///////////////////////\n\nfunction isEmptyText(label) {\n return !label || !label.trim();\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/label-editing/cmd/UpdateLabelHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/label-editing/index.js":
/*!******************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/label-editing/index.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_change_support__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/change-support */ \"./node_modules/diagram-js/lib/features/change-support/index.js\");\n/* harmony import */ var diagram_js_lib_features_resize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/features/resize */ \"./node_modules/diagram-js/lib/features/resize/index.js\");\n/* harmony import */ var diagram_js_direct_editing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js-direct-editing */ \"./node_modules/diagram-js-direct-editing/index.js\");\n/* harmony import */ var _LabelEditingProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./LabelEditingProvider */ \"./node_modules/bpmn-js/lib/features/label-editing/LabelEditingProvider.js\");\n/* harmony import */ var _LabelEditingPreview__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./LabelEditingPreview */ \"./node_modules/bpmn-js/lib/features/label-editing/LabelEditingPreview.js\");\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_change_support__WEBPACK_IMPORTED_MODULE_1__.default,\n diagram_js_lib_features_resize__WEBPACK_IMPORTED_MODULE_2__.default,\n diagram_js_direct_editing__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [\n 'labelEditingProvider',\n 'labelEditingPreview'\n ],\n labelEditingProvider: [ 'type', _LabelEditingProvider__WEBPACK_IMPORTED_MODULE_3__.default ],\n labelEditingPreview: [ 'type', _LabelEditingPreview__WEBPACK_IMPORTED_MODULE_4__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/label-editing/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/BpmnFactory.js":
/*!*******************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/BpmnFactory.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnFactory)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\n\nfunction BpmnFactory(moddle) {\n this._model = moddle;\n}\n\nBpmnFactory.$inject = [ 'moddle' ];\n\n\nBpmnFactory.prototype._needsId = function(element) {\n return (0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__.isAny)(element, [\n 'bpmn:RootElement',\n 'bpmn:FlowElement',\n 'bpmn:MessageFlow',\n 'bpmn:DataAssociation',\n 'bpmn:Artifact',\n 'bpmn:Participant',\n 'bpmn:Lane',\n 'bpmn:LaneSet',\n 'bpmn:Process',\n 'bpmn:Collaboration',\n 'bpmndi:BPMNShape',\n 'bpmndi:BPMNEdge',\n 'bpmndi:BPMNDiagram',\n 'bpmndi:BPMNPlane',\n 'bpmn:Property',\n 'bpmn:CategoryValue'\n ]);\n};\n\nBpmnFactory.prototype._ensureId = function(element) {\n\n // generate semantic ids for elements\n // bpmn:SequenceFlow -> SequenceFlow_ID\n var prefix;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, 'bpmn:Activity')) {\n prefix = 'Activity';\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, 'bpmn:Event')) {\n prefix = 'Event';\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, 'bpmn:Gateway')) {\n prefix = 'Gateway';\n } else if ((0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_0__.isAny)(element, [ 'bpmn:SequenceFlow', 'bpmn:MessageFlow' ])) {\n prefix = 'Flow';\n } else {\n prefix = (element.$type || '').replace(/^[^:]*:/g, '');\n }\n\n prefix += '_';\n\n if (!element.id && this._needsId(element)) {\n element.id = this._model.ids.nextPrefixed(prefix, element);\n }\n};\n\n\nBpmnFactory.prototype.create = function(type, attrs) {\n var element = this._model.create(type, attrs || {});\n\n this._ensureId(element);\n\n return element;\n};\n\n\nBpmnFactory.prototype.createDiLabel = function() {\n return this.create('bpmndi:BPMNLabel', {\n bounds: this.createDiBounds()\n });\n};\n\n\nBpmnFactory.prototype.createDiShape = function(semantic, bounds, attrs) {\n\n return this.create('bpmndi:BPMNShape', (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({\n bpmnElement: semantic,\n bounds: this.createDiBounds(bounds)\n }, attrs));\n};\n\n\nBpmnFactory.prototype.createDiBounds = function(bounds) {\n return this.create('dc:Bounds', bounds);\n};\n\n\nBpmnFactory.prototype.createDiWaypoints = function(waypoints) {\n var self = this;\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.map)(waypoints, function(pos) {\n return self.createDiWaypoint(pos);\n });\n};\n\nBpmnFactory.prototype.createDiWaypoint = function(point) {\n return this.create('dc:Point', (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.pick)(point, [ 'x', 'y' ]));\n};\n\n\nBpmnFactory.prototype.createDiEdge = function(semantic, waypoints, attrs) {\n return this.create('bpmndi:BPMNEdge', (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({\n bpmnElement: semantic\n }, attrs));\n};\n\nBpmnFactory.prototype.createDiPlane = function(semantic) {\n return this.create('bpmndi:BPMNPlane', {\n bpmnElement: semantic\n });\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/BpmnFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/BpmnLayouter.js":
/*!********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/BpmnLayouter.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnLayouter)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_layout_BaseLayouter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/layout/BaseLayouter */ \"./node_modules/diagram-js/lib/layout/BaseLayouter.js\");\n/* harmony import */ var diagram_js_lib_layout_ManhattanLayout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/layout/ManhattanLayout */ \"./node_modules/diagram-js/lib/layout/ManhattanLayout.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar ATTACH_ORIENTATION_PADDING = -10,\n BOUNDARY_TO_HOST_THRESHOLD = 40;\n\nvar oppositeOrientationMapping = {\n 'top': 'bottom',\n 'top-right': 'bottom-left',\n 'top-left': 'bottom-right',\n 'right': 'left',\n 'bottom': 'top',\n 'bottom-right': 'top-left',\n 'bottom-left': 'top-right',\n 'left': 'right'\n};\n\nvar orientationDirectionMapping = {\n top: 't',\n right: 'r',\n bottom: 'b',\n left: 'l'\n};\n\n\nfunction BpmnLayouter() {}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnLayouter, diagram_js_lib_layout_BaseLayouter__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\nBpmnLayouter.prototype.layoutConnection = function(connection, hints) {\n if (!hints) {\n hints = {};\n }\n\n var source = hints.source || connection.source,\n target = hints.target || connection.target,\n waypoints = hints.waypoints || connection.waypoints,\n connectionStart = hints.connectionStart,\n connectionEnd = hints.connectionEnd;\n\n var manhattanOptions,\n updatedWaypoints;\n\n if (!connectionStart) {\n connectionStart = getConnectionDocking(waypoints && waypoints[ 0 ], source);\n }\n\n if (!connectionEnd) {\n connectionEnd = getConnectionDocking(waypoints && waypoints[ waypoints.length - 1 ], target);\n }\n\n // TODO(nikku): support vertical modeling\n // and invert preferredLayouts accordingly\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:Association') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:DataAssociation')) {\n\n if (waypoints && !isCompensationAssociation(source, target)) {\n return [].concat([ connectionStart ], waypoints.slice(1, -1), [ connectionEnd ]);\n }\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:MessageFlow')) {\n manhattanOptions = getMessageFlowManhattanOptions(source, target);\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:SequenceFlow') || isCompensationAssociation(source, target)) {\n\n // layout all connection between flow elements h:h, except for\n // (1) outgoing of boundary events -> layout based on attach orientation and target orientation\n // (2) incoming/outgoing of gateways -> v:h for outgoing, h:v for incoming\n // (3) loops\n if (source === target) {\n manhattanOptions = {\n preferredLayouts: getLoopPreferredLayout(source, connection)\n };\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(source, 'bpmn:BoundaryEvent')) {\n manhattanOptions = {\n preferredLayouts: getBoundaryEventPreferredLayouts(source, target, connectionEnd)\n };\n } else if (isExpandedSubProcess(source) || isExpandedSubProcess(target)) {\n manhattanOptions = getSubProcessManhattanOptions(source);\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(source, 'bpmn:Gateway')) {\n manhattanOptions = {\n preferredLayouts: [ 'v:h' ]\n };\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(target, 'bpmn:Gateway')) {\n manhattanOptions = {\n preferredLayouts: [ 'h:v' ]\n };\n } else {\n manhattanOptions = {\n preferredLayouts: [ 'h:h' ]\n };\n }\n }\n\n if (manhattanOptions) {\n manhattanOptions = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(manhattanOptions, hints);\n\n updatedWaypoints = (0,diagram_js_lib_layout_ManhattanLayout__WEBPACK_IMPORTED_MODULE_4__.withoutRedundantPoints)((0,diagram_js_lib_layout_ManhattanLayout__WEBPACK_IMPORTED_MODULE_4__.repairConnection)(\n source,\n target,\n connectionStart,\n connectionEnd,\n waypoints,\n manhattanOptions\n ));\n }\n\n return updatedWaypoints || [ connectionStart, connectionEnd ];\n};\n\n\n// helpers //////////\n\nfunction getAttachOrientation(attachedElement) {\n var hostElement = attachedElement.host;\n\n return (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getOrientation)((0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getMid)(attachedElement), hostElement, ATTACH_ORIENTATION_PADDING);\n}\n\nfunction getMessageFlowManhattanOptions(source, target) {\n return {\n preferredLayouts: [ 'straight', 'v:v' ],\n preserveDocking: getMessageFlowPreserveDocking(source, target)\n };\n}\n\nfunction getMessageFlowPreserveDocking(source, target) {\n\n // (1) docking element connected to participant has precedence\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(target, 'bpmn:Participant')) {\n return 'source';\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(source, 'bpmn:Participant')) {\n return 'target';\n }\n\n // (2) docking element connected to expanded sub-process has precedence\n if (isExpandedSubProcess(target)) {\n return 'source';\n }\n\n if (isExpandedSubProcess(source)) {\n return 'target';\n }\n\n // (3) docking event has precedence\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(target, 'bpmn:Event')) {\n return 'target';\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(source, 'bpmn:Event')) {\n return 'source';\n }\n\n return null;\n}\n\nfunction getSubProcessManhattanOptions(source) {\n return {\n preferredLayouts: [ 'straight', 'h:h' ],\n preserveDocking: getSubProcessPreserveDocking(source)\n };\n}\n\nfunction getSubProcessPreserveDocking(source) {\n return isExpandedSubProcess(source) ? 'target' : 'source';\n}\n\nfunction getConnectionDocking(point, shape) {\n return point ? (point.original || point) : (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getMid)(shape);\n}\n\nfunction isCompensationAssociation(source, target) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(target, 'bpmn:Activity') &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(source, 'bpmn:BoundaryEvent') &&\n target.businessObject.isForCompensation;\n}\n\nfunction isExpandedSubProcess(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(element, 'bpmn:SubProcess') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isExpanded)(element);\n}\n\nfunction isSame(a, b) {\n return a === b;\n}\n\nfunction isAnyOrientation(orientation, orientations) {\n return orientations.indexOf(orientation) !== -1;\n}\n\nfunction getHorizontalOrientation(orientation) {\n var matches = /right|left/.exec(orientation);\n\n return matches && matches[0];\n}\n\nfunction getVerticalOrientation(orientation) {\n var matches = /top|bottom/.exec(orientation);\n\n return matches && matches[0];\n}\n\nfunction isOppositeOrientation(a, b) {\n return oppositeOrientationMapping[a] === b;\n}\n\nfunction isOppositeHorizontalOrientation(a, b) {\n var horizontalOrientation = getHorizontalOrientation(a);\n\n var oppositeHorizontalOrientation = oppositeOrientationMapping[horizontalOrientation];\n\n return b.indexOf(oppositeHorizontalOrientation) !== -1;\n}\n\nfunction isOppositeVerticalOrientation(a, b) {\n var verticalOrientation = getVerticalOrientation(a);\n\n var oppositeVerticalOrientation = oppositeOrientationMapping[verticalOrientation];\n\n return b.indexOf(oppositeVerticalOrientation) !== -1;\n}\n\nfunction isHorizontalOrientation(orientation) {\n return orientation === 'right' || orientation === 'left';\n}\n\nfunction getLoopPreferredLayout(source, connection) {\n var waypoints = connection.waypoints;\n\n var orientation = waypoints && waypoints.length && (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getOrientation)(waypoints[0], source);\n\n if (orientation === 'top') {\n return [ 't:r' ];\n } else if (orientation === 'right') {\n return [ 'r:b' ];\n } else if (orientation === 'left') {\n return [ 'l:t' ];\n }\n\n return [ 'b:l' ];\n}\n\nfunction getBoundaryEventPreferredLayouts(source, target, end) {\n var sourceMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getMid)(source),\n targetMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getMid)(target),\n attachOrientation = getAttachOrientation(source),\n sourceLayout,\n targetLayout;\n\n var isLoop = isSame(source.host, target);\n\n var attachedToSide = isAnyOrientation(attachOrientation, [ 'top', 'right', 'bottom', 'left' ]);\n\n var targetOrientation = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getOrientation)(targetMid, sourceMid, {\n x: source.width / 2 + target.width / 2,\n y: source.height / 2 + target.height / 2\n });\n\n if (isLoop) {\n return getBoundaryEventLoopLayout(attachOrientation, attachedToSide, source, target, end);\n }\n\n // source layout\n sourceLayout = getBoundaryEventSourceLayout(attachOrientation, targetOrientation, attachedToSide);\n\n // target layout\n targetLayout = getBoundaryEventTargetLayout(attachOrientation, targetOrientation, attachedToSide);\n\n return [ sourceLayout + ':' + targetLayout ];\n}\n\nfunction getBoundaryEventLoopLayout(attachOrientation, attachedToSide, source, target, end) {\n var orientation = attachedToSide ? attachOrientation : getVerticalOrientation(attachOrientation),\n sourceLayout = orientationDirectionMapping[ orientation ],\n targetLayout;\n\n if (attachedToSide) {\n if (isHorizontalOrientation(attachOrientation)) {\n targetLayout = shouldConnectToSameSide('y', source, target, end) ? 'h' : 'b';\n } else {\n targetLayout = shouldConnectToSameSide('x', source, target, end) ? 'v' : 'l';\n }\n } else {\n targetLayout = 'v';\n }\n\n return [ sourceLayout + ':' + targetLayout ];\n}\n\nfunction shouldConnectToSameSide(axis, source, target, end) {\n var threshold = BOUNDARY_TO_HOST_THRESHOLD;\n\n return !(\n areCloseOnAxis(axis, end, target, threshold) ||\n areCloseOnAxis(axis, end, {\n x: target.x + target.width,\n y: target.y + target.height\n }, threshold) ||\n areCloseOnAxis(axis, end, (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getMid)(source), threshold)\n );\n}\n\nfunction areCloseOnAxis(axis, a, b, threshold) {\n return Math.abs(a[ axis ] - b[ axis ]) < threshold;\n}\n\nfunction getBoundaryEventSourceLayout(attachOrientation, targetOrientation, attachedToSide) {\n\n // attached to either top, right, bottom or left side\n if (attachedToSide) {\n return orientationDirectionMapping[ attachOrientation ];\n }\n\n // attached to either top-right, top-left, bottom-right or bottom-left corner\n\n // same vertical or opposite horizontal orientation\n if (isSame(\n getVerticalOrientation(attachOrientation), getVerticalOrientation(targetOrientation)\n ) || isOppositeOrientation(\n getHorizontalOrientation(attachOrientation), getHorizontalOrientation(targetOrientation)\n )) {\n return orientationDirectionMapping[ getVerticalOrientation(attachOrientation) ];\n }\n\n // fallback\n return orientationDirectionMapping[ getHorizontalOrientation(attachOrientation) ];\n}\n\nfunction getBoundaryEventTargetLayout(attachOrientation, targetOrientation, attachedToSide) {\n\n // attached to either top, right, bottom or left side\n if (attachedToSide) {\n if (isHorizontalOrientation(attachOrientation)) {\n\n // orientation is right or left\n\n // opposite horizontal orientation or same orientation\n if (\n isOppositeHorizontalOrientation(attachOrientation, targetOrientation) ||\n isSame(attachOrientation, targetOrientation)\n ) {\n return 'h';\n }\n\n // fallback\n return 'v';\n } else {\n\n // orientation is top or bottom\n\n // opposite vertical orientation or same orientation\n if (\n isOppositeVerticalOrientation(attachOrientation, targetOrientation) ||\n isSame(attachOrientation, targetOrientation)\n ) {\n return 'v';\n }\n\n // fallback\n return 'h';\n }\n }\n\n // attached to either top-right, top-left, bottom-right or bottom-left corner\n\n // orientation is right, left\n // or same vertical orientation but also right or left\n if (isHorizontalOrientation(targetOrientation) ||\n (isSame(getVerticalOrientation(attachOrientation), getVerticalOrientation(targetOrientation)) &&\n getHorizontalOrientation(targetOrientation))) {\n return 'h';\n } else {\n return 'v';\n }\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/BpmnLayouter.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/BpmnUpdater.js":
/*!*******************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/BpmnUpdater.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnUpdater)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! diagram-js/lib/util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var diagram_js_lib_model__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/model */ \"./node_modules/diagram-js/lib/model/index.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A handler responsible for updating the underlying BPMN 2.0 XML + DI\n * once changes on the diagram happen\n */\nfunction BpmnUpdater(\n eventBus, bpmnFactory, connectionDocking,\n translate) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n this._bpmnFactory = bpmnFactory;\n this._translate = translate;\n\n var self = this;\n\n\n\n // connection cropping //////////////////////\n\n // crop connection ends during create/update\n function cropConnection(e) {\n var context = e.context,\n hints = context.hints || {},\n connection;\n\n if (!context.cropped && hints.createElementsBehavior !== false) {\n connection = context.connection;\n connection.waypoints = connectionDocking.getCroppedWaypoints(connection);\n context.cropped = true;\n }\n }\n\n this.executed([\n 'connection.layout',\n 'connection.create'\n ], cropConnection);\n\n this.reverted([ 'connection.layout' ], function(e) {\n delete e.context.cropped;\n });\n\n\n\n // BPMN + DI update //////////////////////\n\n\n // update parent\n function updateParent(e) {\n var context = e.context;\n\n self.updateParent(context.shape || context.connection, context.oldParent);\n }\n\n function reverseUpdateParent(e) {\n var context = e.context;\n\n var element = context.shape || context.connection,\n\n // oldParent is the (old) new parent, because we are undoing\n oldParent = context.parent || context.newParent;\n\n self.updateParent(element, oldParent);\n }\n\n this.executed([\n 'shape.move',\n 'shape.create',\n 'shape.delete',\n 'connection.create',\n 'connection.move',\n 'connection.delete'\n ], ifBpmn(updateParent));\n\n this.reverted([\n 'shape.move',\n 'shape.create',\n 'shape.delete',\n 'connection.create',\n 'connection.move',\n 'connection.delete'\n ], ifBpmn(reverseUpdateParent));\n\n /*\n * ## Updating Parent\n *\n * When morphing a Process into a Collaboration or vice-versa,\n * make sure that both the *semantic* and *di* parent of each element\n * is updated.\n *\n */\n function updateRoot(event) {\n var context = event.context,\n oldRoot = context.oldRoot,\n children = oldRoot.children;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(children, function(child) {\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(child, 'bpmn:BaseElement')) {\n self.updateParent(child);\n }\n });\n }\n\n this.executed([ 'canvas.updateRoot' ], updateRoot);\n this.reverted([ 'canvas.updateRoot' ], updateRoot);\n\n\n // update bounds\n function updateBounds(e) {\n var shape = e.context.shape;\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(shape, 'bpmn:BaseElement')) {\n return;\n }\n\n self.updateBounds(shape);\n }\n\n this.executed([ 'shape.move', 'shape.create', 'shape.resize' ], ifBpmn(function(event) {\n\n // exclude labels because they're handled separately during shape.changed\n if (event.context.shape.type === 'label') {\n return;\n }\n\n updateBounds(event);\n }));\n\n this.reverted([ 'shape.move', 'shape.create', 'shape.resize' ], ifBpmn(function(event) {\n\n // exclude labels because they're handled separately during shape.changed\n if (event.context.shape.type === 'label') {\n return;\n }\n\n updateBounds(event);\n }));\n\n // Handle labels separately. This is necessary, because the label bounds have to be updated\n // every time its shape changes, not only on move, create and resize.\n eventBus.on('shape.changed', function(event) {\n if (event.element.type === 'label') {\n updateBounds({ context: { shape: event.element } });\n }\n });\n\n // attach / detach connection\n function updateConnection(e) {\n self.updateConnection(e.context);\n }\n\n this.executed([\n 'connection.create',\n 'connection.move',\n 'connection.delete',\n 'connection.reconnect'\n ], ifBpmn(updateConnection));\n\n this.reverted([\n 'connection.create',\n 'connection.move',\n 'connection.delete',\n 'connection.reconnect'\n ], ifBpmn(updateConnection));\n\n\n // update waypoints\n function updateConnectionWaypoints(e) {\n self.updateConnectionWaypoints(e.context.connection);\n }\n\n this.executed([\n 'connection.layout',\n 'connection.move',\n 'connection.updateWaypoints',\n ], ifBpmn(updateConnectionWaypoints));\n\n this.reverted([\n 'connection.layout',\n 'connection.move',\n 'connection.updateWaypoints',\n ], ifBpmn(updateConnectionWaypoints));\n\n // update conditional/default flows\n this.executed('connection.reconnect', ifBpmn(function(event) {\n var context = event.context,\n connection = context.connection,\n oldSource = context.oldSource,\n newSource = context.newSource,\n connectionBo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(connection),\n oldSourceBo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(oldSource),\n newSourceBo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(newSource);\n\n // remove condition from connection on reconnect to new source\n // if new source can NOT have condional sequence flow\n if (connectionBo.conditionExpression && !(0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__.isAny)(newSourceBo, [\n 'bpmn:Activity',\n 'bpmn:ExclusiveGateway',\n 'bpmn:InclusiveGateway'\n ])) {\n context.oldConditionExpression = connectionBo.conditionExpression;\n\n delete connectionBo.conditionExpression;\n }\n\n // remove default from old source flow on reconnect to new source\n // if source changed\n if (oldSource !== newSource && oldSourceBo.default === connectionBo) {\n context.oldDefault = oldSourceBo.default;\n\n delete oldSourceBo.default;\n }\n }));\n\n this.reverted('connection.reconnect', ifBpmn(function(event) {\n var context = event.context,\n connection = context.connection,\n oldSource = context.oldSource,\n newSource = context.newSource,\n connectionBo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(connection),\n oldSourceBo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(oldSource),\n newSourceBo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(newSource);\n\n // add condition to connection on revert reconnect to new source\n if (context.oldConditionExpression) {\n connectionBo.conditionExpression = context.oldConditionExpression;\n }\n\n // add default to old source on revert reconnect to new source\n if (context.oldDefault) {\n oldSourceBo.default = context.oldDefault;\n\n delete newSourceBo.default;\n }\n }));\n\n // update attachments\n function updateAttachment(e) {\n self.updateAttachment(e.context);\n }\n\n this.executed([ 'element.updateAttachment' ], ifBpmn(updateAttachment));\n this.reverted([ 'element.updateAttachment' ], ifBpmn(updateAttachment));\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnUpdater, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nBpmnUpdater.$inject = [\n 'eventBus',\n 'bpmnFactory',\n 'connectionDocking',\n 'translate'\n];\n\n\n// implementation //////////////////////\n\nBpmnUpdater.prototype.updateAttachment = function(context) {\n\n var shape = context.shape,\n businessObject = shape.businessObject,\n host = shape.host;\n\n businessObject.attachedToRef = host && host.businessObject;\n};\n\nBpmnUpdater.prototype.updateParent = function(element, oldParent) {\n\n // do not update BPMN 2.0 label parent\n if (element instanceof diagram_js_lib_model__WEBPACK_IMPORTED_MODULE_5__.Label) {\n return;\n }\n\n // data stores in collaborations are handled separately by DataStoreBehavior\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:DataStoreReference') &&\n element.parent &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element.parent, 'bpmn:Collaboration')) {\n return;\n }\n\n var parentShape = element.parent;\n\n var businessObject = element.businessObject,\n parentBusinessObject = parentShape && parentShape.businessObject,\n parentDi = parentBusinessObject && parentBusinessObject.di;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:FlowNode')) {\n this.updateFlowNodeRefs(businessObject, parentBusinessObject, oldParent && oldParent.businessObject);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:DataOutputAssociation')) {\n if (element.source) {\n parentBusinessObject = element.source.businessObject;\n } else {\n parentBusinessObject = null;\n }\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:DataInputAssociation')) {\n if (element.target) {\n parentBusinessObject = element.target.businessObject;\n } else {\n parentBusinessObject = null;\n }\n }\n\n this.updateSemanticParent(businessObject, parentBusinessObject);\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:DataObjectReference') && businessObject.dataObjectRef) {\n this.updateSemanticParent(businessObject.dataObjectRef, parentBusinessObject);\n }\n\n this.updateDiParent(businessObject.di, parentDi);\n};\n\n\nBpmnUpdater.prototype.updateBounds = function(shape) {\n\n var di = shape.businessObject.di;\n\n var target = (shape instanceof diagram_js_lib_model__WEBPACK_IMPORTED_MODULE_5__.Label) ? this._getLabel(di) : di;\n\n var bounds = target.bounds;\n\n if (!bounds) {\n bounds = this._bpmnFactory.createDiBounds();\n target.set('bounds', bounds);\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(bounds, {\n x: shape.x,\n y: shape.y,\n width: shape.width,\n height: shape.height\n });\n};\n\nBpmnUpdater.prototype.updateFlowNodeRefs = function(businessObject, newContainment, oldContainment) {\n\n if (oldContainment === newContainment) {\n return;\n }\n\n var oldRefs, newRefs;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is) (oldContainment, 'bpmn:Lane')) {\n oldRefs = oldContainment.get('flowNodeRef');\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.remove)(oldRefs, businessObject);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newContainment, 'bpmn:Lane')) {\n newRefs = newContainment.get('flowNodeRef');\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.add)(newRefs, businessObject);\n }\n};\n\n\n// update existing sourceElement and targetElement di information\nBpmnUpdater.prototype.updateDiConnection = function(di, newSource, newTarget) {\n\n if (di.sourceElement && di.sourceElement.bpmnElement !== newSource) {\n di.sourceElement = newSource && newSource.di;\n }\n\n if (di.targetElement && di.targetElement.bpmnElement !== newTarget) {\n di.targetElement = newTarget && newTarget.di;\n }\n\n};\n\n\nBpmnUpdater.prototype.updateDiParent = function(di, parentDi) {\n\n if (parentDi && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(parentDi, 'bpmndi:BPMNPlane')) {\n parentDi = parentDi.$parent;\n }\n\n if (di.$parent === parentDi) {\n return;\n }\n\n var planeElements = (parentDi || di.$parent).get('planeElement');\n\n if (parentDi) {\n planeElements.push(di);\n di.$parent = parentDi;\n } else {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.remove)(planeElements, di);\n di.$parent = null;\n }\n};\n\nfunction getDefinitions(element) {\n while (element && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:Definitions')) {\n element = element.$parent;\n }\n\n return element;\n}\n\nBpmnUpdater.prototype.getLaneSet = function(container) {\n\n var laneSet, laneSets;\n\n // bpmn:Lane\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(container, 'bpmn:Lane')) {\n laneSet = container.childLaneSet;\n\n if (!laneSet) {\n laneSet = this._bpmnFactory.create('bpmn:LaneSet');\n container.childLaneSet = laneSet;\n laneSet.$parent = container;\n }\n\n return laneSet;\n }\n\n // bpmn:Participant\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(container, 'bpmn:Participant')) {\n container = container.processRef;\n }\n\n // bpmn:FlowElementsContainer\n laneSets = container.get('laneSets');\n laneSet = laneSets[0];\n\n if (!laneSet) {\n laneSet = this._bpmnFactory.create('bpmn:LaneSet');\n laneSet.$parent = container;\n laneSets.push(laneSet);\n }\n\n return laneSet;\n};\n\nBpmnUpdater.prototype.updateSemanticParent = function(businessObject, newParent, visualParent) {\n\n var containment,\n translate = this._translate;\n\n if (businessObject.$parent === newParent) {\n return;\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:DataInput') || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:DataOutput')) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newParent, 'bpmn:Participant') && 'processRef' in newParent) {\n newParent = newParent.processRef;\n }\n\n // already in correct ioSpecification\n if ('ioSpecification' in newParent && newParent.ioSpecification === businessObject.$parent) {\n return;\n }\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:Lane')) {\n\n if (newParent) {\n newParent = this.getLaneSet(newParent);\n }\n\n containment = 'lanes';\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:FlowElement')) {\n\n if (newParent) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newParent, 'bpmn:Participant')) {\n newParent = newParent.processRef;\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newParent, 'bpmn:Lane')) {\n do {\n\n // unwrap Lane -> LaneSet -> (Lane | FlowElementsContainer)\n newParent = newParent.$parent.$parent;\n } while ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newParent, 'bpmn:Lane'));\n\n }\n }\n\n containment = 'flowElements';\n\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:Artifact')) {\n\n while (newParent &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newParent, 'bpmn:Process') &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newParent, 'bpmn:SubProcess') &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newParent, 'bpmn:Collaboration')) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newParent, 'bpmn:Participant')) {\n newParent = newParent.processRef;\n break;\n } else {\n newParent = newParent.$parent;\n }\n }\n\n containment = 'artifacts';\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:MessageFlow')) {\n containment = 'messageFlows';\n\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:Participant')) {\n containment = 'participants';\n\n // make sure the participants process is properly attached / detached\n // from the XML document\n\n var process = businessObject.processRef,\n definitions;\n\n if (process) {\n definitions = getDefinitions(businessObject.$parent || newParent);\n\n if (businessObject.$parent) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.remove)(definitions.get('rootElements'), process);\n process.$parent = null;\n }\n\n if (newParent) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.add)(definitions.get('rootElements'), process);\n process.$parent = definitions;\n }\n }\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:DataOutputAssociation')) {\n containment = 'dataOutputAssociations';\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:DataInputAssociation')) {\n containment = 'dataInputAssociations';\n }\n\n if (!containment) {\n throw new Error(translate(\n 'no parent for {element} in {parent}',\n {\n element: businessObject.id,\n parent: newParent.id\n }\n ));\n }\n\n var children;\n\n if (businessObject.$parent) {\n\n // remove from old parent\n children = businessObject.$parent.get(containment);\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.remove)(children, businessObject);\n }\n\n if (!newParent) {\n businessObject.$parent = null;\n } else {\n\n // add to new parent\n children = newParent.get(containment);\n children.push(businessObject);\n businessObject.$parent = newParent;\n }\n\n if (visualParent) {\n var diChildren = visualParent.get(containment);\n\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.remove)(children, businessObject);\n\n if (newParent) {\n\n if (!diChildren) {\n diChildren = [];\n newParent.set(containment, diChildren);\n }\n\n diChildren.push(businessObject);\n }\n }\n};\n\n\nBpmnUpdater.prototype.updateConnectionWaypoints = function(connection) {\n connection.businessObject.di.set('waypoint', this._bpmnFactory.createDiWaypoints(connection.waypoints));\n};\n\n\nBpmnUpdater.prototype.updateConnection = function(context) {\n\n var connection = context.connection,\n businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(connection),\n newSource = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(connection.source),\n newTarget = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(connection.target),\n visualParent;\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:DataAssociation')) {\n\n var inverseSet = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:SequenceFlow');\n\n if (businessObject.sourceRef !== newSource) {\n if (inverseSet) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.remove)(businessObject.sourceRef && businessObject.sourceRef.get('outgoing'), businessObject);\n\n if (newSource && newSource.get('outgoing')) {\n newSource.get('outgoing').push(businessObject);\n }\n }\n\n businessObject.sourceRef = newSource;\n }\n\n if (businessObject.targetRef !== newTarget) {\n if (inverseSet) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_6__.remove)(businessObject.targetRef && businessObject.targetRef.get('incoming'), businessObject);\n\n if (newTarget && newTarget.get('incoming')) {\n newTarget.get('incoming').push(businessObject);\n }\n }\n\n businessObject.targetRef = newTarget;\n }\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:DataInputAssociation')) {\n\n // handle obnoxious isMsome sourceRef\n businessObject.get('sourceRef')[0] = newSource;\n\n visualParent = context.parent || context.newParent || newTarget;\n\n this.updateSemanticParent(businessObject, newTarget, visualParent);\n } else\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(businessObject, 'bpmn:DataOutputAssociation')) {\n visualParent = context.parent || context.newParent || newSource;\n\n this.updateSemanticParent(businessObject, newSource, visualParent);\n\n // targetRef = new target\n businessObject.targetRef = newTarget;\n }\n\n this.updateConnectionWaypoints(connection);\n\n this.updateDiConnection(businessObject.di, newSource, newTarget);\n};\n\n\n// helpers //////////////////////\n\nBpmnUpdater.prototype._getLabel = function(di) {\n if (!di.label) {\n di.label = this._bpmnFactory.createDiLabel();\n }\n\n return di.label;\n};\n\n\n/**\n * Make sure the event listener is only called\n * if the touched element is a BPMN element.\n *\n * @param {Function} fn\n * @return {Function} guarded function\n */\nfunction ifBpmn(fn) {\n\n return function(event) {\n\n var context = event.context,\n element = context.shape || context.connection;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:BaseElement')) {\n fn(event);\n }\n };\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/BpmnUpdater.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/ElementFactory.js":
/*!**********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/ElementFactory.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ElementFactory)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var diagram_js_lib_core_ElementFactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/core/ElementFactory */ \"./node_modules/diagram-js/lib/core/ElementFactory.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A bpmn-aware factory for diagram-js shapes\n */\nfunction ElementFactory(bpmnFactory, moddle, translate) {\n diagram_js_lib_core_ElementFactory__WEBPACK_IMPORTED_MODULE_1__.default.call(this);\n\n this._bpmnFactory = bpmnFactory;\n this._moddle = moddle;\n this._translate = translate;\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(ElementFactory, diagram_js_lib_core_ElementFactory__WEBPACK_IMPORTED_MODULE_1__.default);\n\nElementFactory.$inject = [\n 'bpmnFactory',\n 'moddle',\n 'translate'\n];\n\nElementFactory.prototype.baseCreate = diagram_js_lib_core_ElementFactory__WEBPACK_IMPORTED_MODULE_1__.default.prototype.create;\n\nElementFactory.prototype.create = function(elementType, attrs) {\n\n // no special magic for labels,\n // we assume their businessObjects have already been created\n // and wired via attrs\n if (elementType === 'label') {\n return this.baseCreate(elementType, (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({ type: 'label' }, _util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_LABEL_SIZE, attrs));\n }\n\n return this.createBpmnElement(elementType, attrs);\n};\n\nElementFactory.prototype.createBpmnElement = function(elementType, attrs) {\n var size,\n translate = this._translate;\n\n attrs = attrs || {};\n\n var businessObject = attrs.businessObject;\n\n if (!businessObject) {\n if (!attrs.type) {\n throw new Error(translate('no shape type specified'));\n }\n\n businessObject = this._bpmnFactory.create(attrs.type);\n }\n\n if (!businessObject.di) {\n if (elementType === 'root') {\n businessObject.di = this._bpmnFactory.createDiPlane(businessObject, [], {\n id: businessObject.id + '_di'\n });\n } else\n if (elementType === 'connection') {\n businessObject.di = this._bpmnFactory.createDiEdge(businessObject, [], {\n id: businessObject.id + '_di'\n });\n } else {\n businessObject.di = this._bpmnFactory.createDiShape(businessObject, {}, {\n id: businessObject.id + '_di'\n });\n }\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(businessObject, 'bpmn:Group')) {\n attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({\n isFrame: true\n }, attrs);\n }\n\n if (attrs.di) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(businessObject.di, attrs.di);\n\n delete attrs.di;\n }\n\n applyAttributes(businessObject, attrs, [\n 'processRef',\n 'isInterrupting',\n 'associationDirection',\n 'isForCompensation'\n ]);\n\n if (attrs.isExpanded) {\n applyAttribute(businessObject.di, attrs, 'isExpanded');\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(businessObject, 'bpmn:ExclusiveGateway')) {\n businessObject.di.isMarkerVisible = true;\n }\n\n var eventDefinitions,\n newEventDefinition;\n\n if (attrs.eventDefinitionType) {\n eventDefinitions = businessObject.get('eventDefinitions') || [];\n newEventDefinition = this._bpmnFactory.create(attrs.eventDefinitionType, attrs.eventDefinitionAttrs);\n\n if (attrs.eventDefinitionType === 'bpmn:ConditionalEventDefinition') {\n newEventDefinition.condition = this._bpmnFactory.create('bpmn:FormalExpression');\n }\n\n eventDefinitions.push(newEventDefinition);\n\n newEventDefinition.$parent = businessObject;\n businessObject.eventDefinitions = eventDefinitions;\n\n delete attrs.eventDefinitionType;\n }\n\n size = this._getDefaultSize(businessObject);\n\n attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({\n businessObject: businessObject,\n id: businessObject.id\n }, size, attrs);\n\n return this.baseCreate(elementType, attrs);\n};\n\n\nElementFactory.prototype._getDefaultSize = function(semantic) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:SubProcess')) {\n\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_5__.isExpanded)(semantic)) {\n return { width: 350, height: 200 };\n } else {\n return { width: 100, height: 80 };\n }\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:Task')) {\n return { width: 100, height: 80 };\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:Gateway')) {\n return { width: 50, height: 50 };\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:Event')) {\n return { width: 36, height: 36 };\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:Participant')) {\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_5__.isExpanded)(semantic)) {\n return { width: 600, height: 250 };\n } else {\n return { width: 400, height: 60 };\n }\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:Lane')) {\n return { width: 400, height: 100 };\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:DataObjectReference')) {\n return { width: 36, height: 50 };\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:DataStoreReference')) {\n return { width: 50, height: 50 };\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:TextAnnotation')) {\n return { width: 100, height: 30 };\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(semantic, 'bpmn:Group')) {\n return { width: 300, height: 300 };\n }\n\n return { width: 100, height: 80 };\n};\n\n\n/**\n * Create participant.\n *\n * @param {boolean|Object} [attrs] attrs\n *\n * @returns {djs.model.Shape}\n */\nElementFactory.prototype.createParticipantShape = function(attrs) {\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_2__.isObject)(attrs)) {\n attrs = { isExpanded: attrs };\n }\n\n attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({ type: 'bpmn:Participant' }, attrs || {});\n\n // participants are expanded by default\n if (attrs.isExpanded !== false) {\n attrs.processRef = this._bpmnFactory.create('bpmn:Process');\n }\n\n return this.createShape(attrs);\n};\n\n\n// helpers //////////////////////\n\n/**\n * Apply attributes from a map to the given element,\n * remove attribute from the map on application.\n *\n * @param {Base} element\n * @param {Object} attrs (in/out map of attributes)\n * @param {Array} attributeNames name of attributes to apply\n */\nfunction applyAttributes(element, attrs, attributeNames) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attributeNames, function(property) {\n if (attrs[property] !== undefined) {\n applyAttribute(element, attrs, property);\n }\n });\n}\n\n/**\n * Apply named property to element and drain it from the attrs\n * collection.\n *\n * @param {Base} element\n * @param {Object} attrs (in/out map of attributes)\n * @param {string} attributeName to apply\n */\nfunction applyAttribute(element, attrs, attributeName) {\n element[attributeName] = attrs[attributeName];\n\n delete attrs[attributeName];\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/ElementFactory.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/Modeling.js":
/*!****************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/Modeling.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Modeling)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/modeling/Modeling */ \"./node_modules/diagram-js/lib/features/modeling/Modeling.js\");\n/* harmony import */ var _cmd_UpdateModdlePropertiesHandler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cmd/UpdateModdlePropertiesHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js\");\n/* harmony import */ var _cmd_UpdateModdlePropertiesHandler__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_cmd_UpdateModdlePropertiesHandler__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _cmd_UpdatePropertiesHandler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cmd/UpdatePropertiesHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/UpdatePropertiesHandler.js\");\n/* harmony import */ var _cmd_UpdateCanvasRootHandler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cmd/UpdateCanvasRootHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateCanvasRootHandler.js\");\n/* harmony import */ var _cmd_AddLaneHandler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cmd/AddLaneHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/AddLaneHandler.js\");\n/* harmony import */ var _cmd_SplitLaneHandler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cmd/SplitLaneHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/SplitLaneHandler.js\");\n/* harmony import */ var _cmd_ResizeLaneHandler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cmd/ResizeLaneHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/ResizeLaneHandler.js\");\n/* harmony import */ var _cmd_UpdateFlowNodeRefsHandler__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./cmd/UpdateFlowNodeRefsHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js\");\n/* harmony import */ var _cmd_IdClaimHandler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./cmd/IdClaimHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/IdClaimHandler.js\");\n/* harmony import */ var _cmd_SetColorHandler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./cmd/SetColorHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/SetColorHandler.js\");\n/* harmony import */ var _label_editing_cmd_UpdateLabelHandler__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../label-editing/cmd/UpdateLabelHandler */ \"./node_modules/bpmn-js/lib/features/label-editing/cmd/UpdateLabelHandler.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * BPMN 2.0 modeling features activator\n *\n * @param {EventBus} eventBus\n * @param {ElementFactory} elementFactory\n * @param {CommandStack} commandStack\n * @param {BpmnRules} bpmnRules\n */\nfunction Modeling(\n eventBus, elementFactory, commandStack,\n bpmnRules) {\n\n diagram_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus, elementFactory, commandStack);\n\n this._bpmnRules = bpmnRules;\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(Modeling, diagram_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__.default);\n\nModeling.$inject = [\n 'eventBus',\n 'elementFactory',\n 'commandStack',\n 'bpmnRules'\n];\n\n\nModeling.prototype.getHandlers = function() {\n var handlers = diagram_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__.default.prototype.getHandlers.call(this);\n\n handlers['element.updateModdleProperties'] = (_cmd_UpdateModdlePropertiesHandler__WEBPACK_IMPORTED_MODULE_2___default());\n handlers['element.updateProperties'] = _cmd_UpdatePropertiesHandler__WEBPACK_IMPORTED_MODULE_3__.default;\n handlers['canvas.updateRoot'] = _cmd_UpdateCanvasRootHandler__WEBPACK_IMPORTED_MODULE_4__.default;\n handlers['lane.add'] = _cmd_AddLaneHandler__WEBPACK_IMPORTED_MODULE_5__.default;\n handlers['lane.resize'] = _cmd_ResizeLaneHandler__WEBPACK_IMPORTED_MODULE_6__.default;\n handlers['lane.split'] = _cmd_SplitLaneHandler__WEBPACK_IMPORTED_MODULE_7__.default;\n handlers['lane.updateRefs'] = _cmd_UpdateFlowNodeRefsHandler__WEBPACK_IMPORTED_MODULE_8__.default;\n handlers['id.updateClaim'] = _cmd_IdClaimHandler__WEBPACK_IMPORTED_MODULE_9__.default;\n handlers['element.setColor'] = _cmd_SetColorHandler__WEBPACK_IMPORTED_MODULE_10__.default;\n handlers['element.updateLabel'] = _label_editing_cmd_UpdateLabelHandler__WEBPACK_IMPORTED_MODULE_11__.default;\n\n return handlers;\n};\n\n\nModeling.prototype.updateLabel = function(element, newLabel, newBounds, hints) {\n this._commandStack.execute('element.updateLabel', {\n element: element,\n newLabel: newLabel,\n newBounds: newBounds,\n hints: hints || {}\n });\n};\n\n\nModeling.prototype.connect = function(source, target, attrs, hints) {\n\n var bpmnRules = this._bpmnRules;\n\n if (!attrs) {\n attrs = bpmnRules.canConnect(source, target);\n }\n\n if (!attrs) {\n return;\n }\n\n return this.createConnection(source, target, attrs, source.parent, hints);\n};\n\n\nModeling.prototype.updateModdleProperties = function(element, moddleElement, properties) {\n this._commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: moddleElement,\n properties: properties\n });\n};\n\nModeling.prototype.updateProperties = function(element, properties) {\n this._commandStack.execute('element.updateProperties', {\n element: element,\n properties: properties\n });\n};\n\nModeling.prototype.resizeLane = function(laneShape, newBounds, balanced) {\n this._commandStack.execute('lane.resize', {\n shape: laneShape,\n newBounds: newBounds,\n balanced: balanced\n });\n};\n\nModeling.prototype.addLane = function(targetLaneShape, location) {\n var context = {\n shape: targetLaneShape,\n location: location\n };\n\n this._commandStack.execute('lane.add', context);\n\n return context.newLane;\n};\n\nModeling.prototype.splitLane = function(targetLane, count) {\n this._commandStack.execute('lane.split', {\n shape: targetLane,\n count: count\n });\n};\n\n/**\n * Transform the current diagram into a collaboration.\n *\n * @return {djs.model.Root} the new root element\n */\nModeling.prototype.makeCollaboration = function() {\n\n var collaborationElement = this._create('root', {\n type: 'bpmn:Collaboration'\n });\n\n var context = {\n newRoot: collaborationElement\n };\n\n this._commandStack.execute('canvas.updateRoot', context);\n\n return collaborationElement;\n};\n\nModeling.prototype.updateLaneRefs = function(flowNodeShapes, laneShapes) {\n\n this._commandStack.execute('lane.updateRefs', {\n flowNodeShapes: flowNodeShapes,\n laneShapes: laneShapes\n });\n};\n\n/**\n * Transform the current diagram into a process.\n *\n * @return {djs.model.Root} the new root element\n */\nModeling.prototype.makeProcess = function() {\n\n var processElement = this._create('root', {\n type: 'bpmn:Process'\n });\n\n var context = {\n newRoot: processElement\n };\n\n this._commandStack.execute('canvas.updateRoot', context);\n};\n\n\nModeling.prototype.claimId = function(id, moddleElement) {\n this._commandStack.execute('id.updateClaim', {\n id: id,\n element: moddleElement,\n claiming: true\n });\n};\n\n\nModeling.prototype.unclaimId = function(id, moddleElement) {\n this._commandStack.execute('id.updateClaim', {\n id: id,\n element: moddleElement\n });\n};\n\nModeling.prototype.setColor = function(elements, colors) {\n if (!elements.length) {\n elements = [ elements ];\n }\n\n this._commandStack.execute('element.setColor', {\n elements: elements,\n colors: colors\n });\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/Modeling.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js":
/*!*************************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js ***!
\*************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AdaptiveLabelPositioningBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Math__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/util/Math */ \"./node_modules/diagram-js/lib/util/PositionUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n\n\n\n\n\n\n\n\n\n\nvar ALIGNMENTS = [\n 'top',\n 'bottom',\n 'left',\n 'right'\n];\n\nvar ELEMENT_LABEL_DISTANCE = 10;\n\n/**\n * A component that makes sure that external labels are added\n * together with respective elements and properly updated (DI wise)\n * during move.\n *\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n */\nfunction AdaptiveLabelPositioningBehavior(eventBus, modeling) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n this.postExecuted([\n 'connection.create',\n 'connection.layout',\n 'connection.updateWaypoints'\n ], function(event) {\n var context = event.context,\n connection = context.connection,\n source = connection.source,\n target = connection.target,\n hints = context.hints || {};\n\n if (hints.createElementsBehavior !== false) {\n checkLabelAdjustment(source);\n checkLabelAdjustment(target);\n }\n });\n\n\n this.postExecuted([\n 'label.create'\n ], function(event) {\n var context = event.context,\n shape = context.shape,\n hints = context.hints || {};\n\n if (hints.createElementsBehavior !== false) {\n checkLabelAdjustment(shape.labelTarget);\n }\n });\n\n\n this.postExecuted([\n 'elements.create'\n ], function(event) {\n var context = event.context,\n elements = context.elements,\n hints = context.hints || {};\n\n if (hints.createElementsBehavior !== false) {\n elements.forEach(function(element) {\n checkLabelAdjustment(element);\n });\n }\n });\n\n function checkLabelAdjustment(element) {\n\n // skip non-existing labels\n if (!(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_2__.hasExternalLabel)(element)) {\n return;\n }\n\n var optimalPosition = getOptimalPosition(element);\n\n // no optimal position found\n if (!optimalPosition) {\n return;\n }\n\n adjustLabelPosition(element, optimalPosition);\n }\n\n function adjustLabelPosition(element, orientation) {\n\n var elementMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getMid)(element),\n label = element.label,\n labelMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getMid)(label);\n\n // ignore labels that are being created\n if (!label.parent) {\n return;\n }\n\n var elementTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.asTRBL)(element);\n\n var newLabelMid;\n\n switch (orientation) {\n case 'top':\n newLabelMid = {\n x: elementMid.x,\n y: elementTrbl.top - ELEMENT_LABEL_DISTANCE - label.height / 2\n };\n\n break;\n\n case 'left':\n\n newLabelMid = {\n x: elementTrbl.left - ELEMENT_LABEL_DISTANCE - label.width / 2,\n y: elementMid.y\n };\n\n break;\n\n case 'bottom':\n\n newLabelMid = {\n x: elementMid.x,\n y: elementTrbl.bottom + ELEMENT_LABEL_DISTANCE + label.height / 2\n };\n\n break;\n\n case 'right':\n\n newLabelMid = {\n x: elementTrbl.right + ELEMENT_LABEL_DISTANCE + label.width / 2,\n y: elementMid.y\n };\n\n break;\n }\n\n var delta = (0,diagram_js_lib_util_Math__WEBPACK_IMPORTED_MODULE_4__.delta)(newLabelMid, labelMid);\n\n modeling.moveShape(label, delta);\n }\n\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(AdaptiveLabelPositioningBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nAdaptiveLabelPositioningBehavior.$inject = [\n 'eventBus',\n 'modeling'\n];\n\n\n// helpers //////////////////////\n\n/**\n * Return alignments which are taken by a boundary's host element\n *\n * @param {Shape} element\n *\n * @return {Array}\n */\nfunction getTakenHostAlignments(element) {\n\n var hostElement = element.host,\n elementMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getMid)(element),\n hostOrientation = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getOrientation)(elementMid, hostElement);\n\n var freeAlignments;\n\n // check whether there is a multi-orientation, e.g. 'top-left'\n if (hostOrientation.indexOf('-') >= 0) {\n freeAlignments = hostOrientation.split('-');\n } else {\n freeAlignments = [ hostOrientation ];\n }\n\n var takenAlignments = ALIGNMENTS.filter(function(alignment) {\n\n return freeAlignments.indexOf(alignment) === -1;\n });\n\n return takenAlignments;\n\n}\n\n/**\n * Return alignments which are taken by related connections\n *\n * @param {Shape} element\n *\n * @return {Array}\n */\nfunction getTakenConnectionAlignments(element) {\n\n var elementMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getMid)(element);\n\n var takenAlignments = [].concat(\n element.incoming.map(function(c) {\n return c.waypoints[c.waypoints.length - 2 ];\n }),\n element.outgoing.map(function(c) {\n return c.waypoints[1];\n })\n ).map(function(point) {\n return getApproximateOrientation(elementMid, point);\n });\n\n return takenAlignments;\n}\n\n/**\n * Return the optimal label position around an element\n * or _undefined_, if none was found.\n *\n * @param {Shape} element\n *\n * @return {string} positioning identifier\n */\nfunction getOptimalPosition(element) {\n\n var labelMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getMid)(element.label);\n\n var elementMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getMid)(element);\n\n var labelOrientation = getApproximateOrientation(elementMid, labelMid);\n\n if (!isAligned(labelOrientation)) {\n return;\n }\n\n var takenAlignments = getTakenConnectionAlignments(element);\n\n if (element.host) {\n var takenHostAlignments = getTakenHostAlignments(element);\n\n takenAlignments = takenAlignments.concat(takenHostAlignments);\n }\n\n var freeAlignments = ALIGNMENTS.filter(function(alignment) {\n\n return takenAlignments.indexOf(alignment) === -1;\n });\n\n // NOTHING TO DO; label already aligned a.O.K.\n if (freeAlignments.indexOf(labelOrientation) !== -1) {\n return;\n }\n\n return freeAlignments[0];\n}\n\nfunction getApproximateOrientation(p0, p1) {\n return (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getOrientation)(p1, p0, 5);\n}\n\nfunction isAligned(orientation) {\n return ALIGNMENTS.indexOf(orientation) !== -1;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/AppendBehavior.js":
/*!*******************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/AppendBehavior.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AppendBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n\n\n\n\n\n\n\nfunction AppendBehavior(eventBus, elementFactory, bpmnRules) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n // assign correct shape position unless already set\n\n this.preExecute('shape.append', function(context) {\n\n var source = context.source,\n shape = context.shape;\n\n if (!context.position) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:TextAnnotation')) {\n context.position = {\n x: source.x + source.width / 2 + 75,\n y: source.y - (50) - shape.height / 2\n };\n } else {\n context.position = {\n x: source.x + source.width + 80 + shape.width / 2,\n y: source.y + source.height / 2\n };\n }\n }\n }, true);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(AppendBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nAppendBehavior.$inject = [\n 'eventBus',\n 'elementFactory',\n 'bpmnRules'\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/AppendBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/AssociationBehavior.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/AssociationBehavior.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AssociationBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction AssociationBehavior(injector, modeling) {\r\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\r\n\r\n this.postExecute('shape.move', function(context) {\r\n var newParent = context.newParent,\r\n shape = context.shape;\r\n\r\n var associations = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(shape.incoming.concat(shape.outgoing), function(connection) {\r\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(connection, 'bpmn:Association');\r\n });\r\n\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(associations, function(association) {\r\n modeling.moveConnection(association, { x: 0, y: 0 }, newParent);\r\n });\r\n }, true);\r\n}\r\n\r\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(AssociationBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\r\n\r\nAssociationBehavior.$inject = [\r\n 'injector',\r\n 'modeling'\r\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/AssociationBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/AttachEventBehavior.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/AttachEventBehavior.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AttachEventBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n\n\n\n\n\n\n\n\n\n\nvar LOW_PRIORITY = 500;\n\n\n/**\n * Replace intermediate event with boundary event when creating or moving results in attached event.\n */\nfunction AttachEventBehavior(bpmnReplace, injector) {\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\n\n this._bpmnReplace = bpmnReplace;\n\n var self = this;\n\n this.postExecuted('elements.create', LOW_PRIORITY, function(context) {\n var elements = context.elements;\n\n elements = elements.filter(function(shape) {\n var host = shape.host;\n\n return shouldReplace(shape, host);\n });\n\n if (elements.length !== 1) {\n return;\n }\n\n elements.map(function(element) {\n return elements.indexOf(element);\n }).forEach(function(index) {\n var host = elements[ index ];\n\n context.elements[ index ] = self.replaceShape(elements[ index ], host);\n });\n }, true);\n\n\n this.preExecute('elements.move', LOW_PRIORITY, function(context) {\n var shapes = context.shapes,\n host = context.newHost;\n\n if (shapes.length !== 1) {\n return;\n }\n\n var shape = shapes[0];\n\n if (shouldReplace(shape, host)) {\n context.shapes = [ self.replaceShape(shape, host) ];\n }\n }, true);\n}\n\nAttachEventBehavior.$inject = [\n 'bpmnReplace',\n 'injector'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(AttachEventBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nAttachEventBehavior.prototype.replaceShape = function(shape, host) {\n var eventDefinition = getEventDefinition(shape);\n\n var boundaryEvent = {\n type: 'bpmn:BoundaryEvent',\n host: host\n };\n\n if (eventDefinition) {\n boundaryEvent.eventDefinitionType = eventDefinition.$type;\n }\n\n return this._bpmnReplace.replaceElement(shape, boundaryEvent, { layoutConnection: false });\n};\n\n\n// helpers //////////\n\nfunction getEventDefinition(element) {\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(element),\n eventDefinitions = businessObject.eventDefinitions;\n\n return eventDefinitions && eventDefinitions[0];\n}\n\nfunction shouldReplace(shape, host) {\n return !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabel)(shape) &&\n (0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__.isAny)(shape, [ 'bpmn:IntermediateThrowEvent', 'bpmn:IntermediateCatchEvent' ]) && !!host;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/AttachEventBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/BoundaryEventBehavior.js":
/*!**************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/BoundaryEventBehavior.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BoundaryEventBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n\n\n\n\nvar HIGH_PRIORITY = 2000;\n\n\n/**\n * BPMN specific boundary event behavior\n */\nfunction BoundaryEventBehavior(eventBus, moddle, modeling) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n function getBoundaryEvents(element) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(element.attachers, function(attacher) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(attacher, 'bpmn:BoundaryEvent');\n });\n }\n\n // remove after connecting to event-based gateway\n this.postExecute('connection.create', function(event) {\n var source = event.context.source,\n target = event.context.target,\n boundaryEvents = getBoundaryEvents(target);\n\n if (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(source, 'bpmn:EventBasedGateway') &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(target, 'bpmn:ReceiveTask') &&\n boundaryEvents.length > 0\n ) {\n modeling.removeElements(boundaryEvents);\n }\n\n });\n\n // remove after replacing connected gateway with event-based gateway\n this.postExecute('connection.reconnect', function(event) {\n var oldSource = event.context.oldSource,\n newSource = event.context.newSource;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(oldSource, 'bpmn:Gateway') &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newSource, 'bpmn:EventBasedGateway')) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(newSource.outgoing, function(connection) {\n var target = connection.target,\n attachedboundaryEvents = getBoundaryEvents(target);\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(target, 'bpmn:ReceiveTask') &&\n attachedboundaryEvents.length > 0) {\n modeling.removeElements(attachedboundaryEvents);\n }\n });\n }\n });\n\n // copy reference to root element on replace\n eventBus.on('moddleCopy.canCopyProperty', HIGH_PRIORITY, function(context) {\n var parent = context.parent,\n property = context.property,\n propertyName = context.propertyName;\n\n var propertyDescriptor = moddle.getPropertyDescriptor(parent, propertyName);\n\n if (propertyDescriptor && propertyDescriptor.isReference && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(property, 'bpmn:RootElement')) {\n parent.set(propertyName, property);\n }\n });\n}\n\nBoundaryEventBehavior.$inject = [\n 'eventBus',\n 'moddle',\n 'modeling'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BoundaryEventBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/BoundaryEventBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/CreateBehavior.js":
/*!*******************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/CreateBehavior.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreateBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n\n\n\n\n\n\n\n\n\nfunction CreateBehavior(injector) {\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\n\n this.preExecute('shape.create', 1500, function(event) {\n var context = event.context,\n parent = context.parent,\n shape = context.shape;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(parent, 'bpmn:Lane') && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Lane')) {\n context.parent = (0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.getParent)(parent, 'bpmn:Participant');\n }\n });\n\n}\n\n\nCreateBehavior.$inject = [ 'injector' ];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(CreateBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/CreateBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/CreateDataObjectBehavior.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/CreateDataObjectBehavior.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreateDataObjectBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\n\n/**\n * BPMN specific create data object behavior\n */\nfunction CreateDataObjectBehavior(eventBus, bpmnFactory, moddle) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n this.preExecute('shape.create', function(event) {\n\n var context = event.context,\n shape = context.shape;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:DataObjectReference') && shape.type !== 'label') {\n\n // create a DataObject every time a DataObjectReference is created\n var dataObject = bpmnFactory.create('bpmn:DataObject');\n\n // set the reference to the DataObject\n shape.businessObject.dataObjectRef = dataObject;\n }\n });\n\n}\n\nCreateDataObjectBehavior.$inject = [\n 'eventBus',\n 'bpmnFactory',\n 'moddle'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(CreateDataObjectBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/CreateDataObjectBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/CreateParticipantBehavior.js":
/*!******************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/CreateParticipantBehavior.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PARTICIPANT_BORDER_WIDTH\": () => (/* binding */ PARTICIPANT_BORDER_WIDTH),\n/* harmony export */ \"default\": () => (/* binding */ CreateParticipantBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar HORIZONTAL_PARTICIPANT_PADDING = 20,\n VERTICAL_PARTICIPANT_PADDING = 20;\n\nvar PARTICIPANT_BORDER_WIDTH = 30;\n\nvar HIGH_PRIORITY = 2000;\n\n\n/**\n * BPMN-specific behavior for creating participants.\n */\nfunction CreateParticipantBehavior(canvas, eventBus, modeling) {\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n // fit participant\n eventBus.on([\n 'create.start',\n 'shape.move.start'\n ], HIGH_PRIORITY, function(event) {\n var context = event.context,\n shape = context.shape,\n rootElement = canvas.getRootElement();\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Participant') ||\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(rootElement, 'bpmn:Process') ||\n !rootElement.children.length) {\n return;\n }\n\n // ignore connections, groups and labels\n var children = rootElement.children.filter(function(element) {\n return !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(element, 'bpmn:Group') &&\n !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabel)(element) &&\n !isConnection(element);\n });\n\n // ensure for available children to calculate bounds\n if (!children.length) {\n return;\n }\n\n var childrenBBox = (0,diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_4__.getBBox)(children);\n\n var participantBounds = getParticipantBounds(shape, childrenBBox);\n\n // assign width and height\n (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(shape, participantBounds);\n\n // assign create constraints\n context.createConstraints = getParticipantCreateConstraints(shape, childrenBBox);\n });\n\n // force hovering process when creating first participant\n eventBus.on('create.start', HIGH_PRIORITY, function(event) {\n var context = event.context,\n shape = context.shape,\n rootElement = canvas.getRootElement(),\n rootElementGfx = canvas.getGraphics(rootElement);\n\n function ensureHoveringProcess(event) {\n event.element = rootElement;\n event.gfx = rootElementGfx;\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Participant') && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(rootElement, 'bpmn:Process')) {\n eventBus.on('element.hover', HIGH_PRIORITY, ensureHoveringProcess);\n\n eventBus.once('create.cleanup', function() {\n eventBus.off('element.hover', ensureHoveringProcess);\n });\n }\n });\n\n function ensureCollaboration(context) {\n var parent = context.parent,\n collaboration;\n\n var rootElement = canvas.getRootElement();\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(rootElement, 'bpmn:Collaboration')) {\n collaboration = rootElement;\n } else {\n\n // update root element by making collaboration\n collaboration = modeling.makeCollaboration();\n\n // re-use process when creating first participant\n context.process = parent;\n }\n\n context.parent = collaboration;\n }\n\n // turn process into collaboration before adding participant\n this.preExecute('shape.create', function(context) {\n var parent = context.parent,\n shape = context.shape;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Participant') && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(parent, 'bpmn:Process')) {\n ensureCollaboration(context);\n }\n }, true);\n\n this.execute('shape.create', function(context) {\n var process = context.process,\n shape = context.shape;\n\n if (process) {\n context.oldProcessRef = shape.businessObject.processRef;\n\n // re-use process when creating first participant\n shape.businessObject.processRef = process.businessObject;\n }\n }, true);\n\n this.revert('shape.create', function(context) {\n var process = context.process,\n shape = context.shape;\n\n if (process) {\n\n // re-use process when creating first participant\n shape.businessObject.processRef = context.oldProcessRef;\n }\n }, true);\n\n this.postExecute('shape.create', function(context) {\n var process = context.process,\n shape = context.shape;\n\n if (process) {\n\n // move children from process to participant\n var processChildren = process.children.slice();\n\n modeling.moveElements(processChildren, { x: 0, y: 0 }, shape);\n }\n\n }, true);\n\n // turn process into collaboration when creating participants\n this.preExecute('elements.create', HIGH_PRIORITY, function(context) {\n var elements = context.elements,\n parent = context.parent,\n participant;\n\n var hasParticipants = findParticipant(elements);\n\n if (hasParticipants && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(parent, 'bpmn:Process')) {\n ensureCollaboration(context);\n\n participant = findParticipant(elements);\n\n context.oldProcessRef = participant.businessObject.processRef;\n\n // re-use process when creating first participant\n participant.businessObject.processRef = parent.businessObject;\n }\n }, true);\n\n this.revert('elements.create', function(context) {\n var elements = context.elements,\n process = context.process,\n participant;\n\n if (process) {\n participant = findParticipant(elements);\n\n // re-use process when creating first participant\n participant.businessObject.processRef = context.oldProcessRef;\n }\n }, true);\n\n this.postExecute('elements.create', function(context) {\n var elements = context.elements,\n process = context.process,\n participant;\n\n if (process) {\n participant = findParticipant(elements);\n\n // move children from process to first participant\n var processChildren = process.children.slice();\n\n modeling.moveElements(processChildren, { x: 0, y: 0 }, participant);\n }\n\n }, true);\n\n}\n\nCreateParticipantBehavior.$inject = [\n 'canvas',\n 'eventBus',\n 'modeling'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(CreateParticipantBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n// helpers //////////\n\nfunction getParticipantBounds(shape, childrenBBox) {\n childrenBBox = {\n width: childrenBBox.width + HORIZONTAL_PARTICIPANT_PADDING * 2 + PARTICIPANT_BORDER_WIDTH,\n height: childrenBBox.height + VERTICAL_PARTICIPANT_PADDING * 2\n };\n\n var width = Math.max(shape.width, childrenBBox.width),\n height = Math.max(shape.height, childrenBBox.height);\n\n return {\n x: -width / 2,\n y: -height / 2,\n width: width,\n height: height\n };\n}\n\nfunction getParticipantCreateConstraints(shape, childrenBBox) {\n childrenBBox = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_6__.asTRBL)(childrenBBox);\n\n return {\n bottom: childrenBBox.top + shape.height / 2 - VERTICAL_PARTICIPANT_PADDING,\n left: childrenBBox.right - shape.width / 2 + HORIZONTAL_PARTICIPANT_PADDING,\n top: childrenBBox.bottom - shape.height / 2 + VERTICAL_PARTICIPANT_PADDING,\n right: childrenBBox.left + shape.width / 2 - HORIZONTAL_PARTICIPANT_PADDING - PARTICIPANT_BORDER_WIDTH\n };\n}\n\nfunction isConnection(element) {\n return !!element.waypoints;\n}\n\nfunction findParticipant(elements) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.find)(elements, function(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(element, 'bpmn:Participant');\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/CreateParticipantBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/DataInputAssociationBehavior.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/DataInputAssociationBehavior.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DataInputAssociationBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\n\n\n\n\nvar TARGET_REF_PLACEHOLDER_NAME = '__targetRef_placeholder';\n\n\n/**\n * This behavior makes sure we always set a fake\n * DataInputAssociation#targetRef as demanded by the BPMN 2.0\n * XSD schema.\n *\n * The reference is set to a bpmn:Property{ name: '__targetRef_placeholder' }\n * which is created on the fly and cleaned up afterwards if not needed\n * anymore.\n *\n * @param {EventBus} eventBus\n * @param {BpmnFactory} bpmnFactory\n */\nfunction DataInputAssociationBehavior(eventBus, bpmnFactory) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n\n this.executed([\n 'connection.create',\n 'connection.delete',\n 'connection.move',\n 'connection.reconnect'\n ], ifDataInputAssociation(fixTargetRef));\n\n this.reverted([\n 'connection.create',\n 'connection.delete',\n 'connection.move',\n 'connection.reconnect'\n ], ifDataInputAssociation(fixTargetRef));\n\n\n function usesTargetRef(element, targetRef, removedConnection) {\n\n var inputAssociations = element.get('dataInputAssociations');\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.find)(inputAssociations, function(association) {\n return association !== removedConnection &&\n association.targetRef === targetRef;\n });\n }\n\n function getTargetRef(element, create) {\n\n var properties = element.get('properties');\n\n var targetRefProp = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.find)(properties, function(p) {\n return p.name === TARGET_REF_PLACEHOLDER_NAME;\n });\n\n if (!targetRefProp && create) {\n targetRefProp = bpmnFactory.create('bpmn:Property', {\n name: TARGET_REF_PLACEHOLDER_NAME\n });\n\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.add)(properties, targetRefProp);\n }\n\n return targetRefProp;\n }\n\n function cleanupTargetRef(element, connection) {\n\n var targetRefProp = getTargetRef(element);\n\n if (!targetRefProp) {\n return;\n }\n\n if (!usesTargetRef(element, targetRefProp, connection)) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.remove)(element.get('properties'), targetRefProp);\n }\n }\n\n /**\n * Make sure targetRef is set to a valid property or\n * `null` if the connection is detached.\n *\n * @param {Event} event\n */\n function fixTargetRef(event) {\n\n var context = event.context,\n connection = context.connection,\n connectionBo = connection.businessObject,\n target = connection.target,\n targetBo = target && target.businessObject,\n newTarget = context.newTarget,\n newTargetBo = newTarget && newTarget.businessObject,\n oldTarget = context.oldTarget || context.target,\n oldTargetBo = oldTarget && oldTarget.businessObject;\n\n var dataAssociation = connection.businessObject,\n targetRefProp;\n\n if (oldTargetBo && oldTargetBo !== targetBo) {\n cleanupTargetRef(oldTargetBo, connectionBo);\n }\n\n if (newTargetBo && newTargetBo !== targetBo) {\n cleanupTargetRef(newTargetBo, connectionBo);\n }\n\n if (targetBo) {\n targetRefProp = getTargetRef(targetBo, true);\n dataAssociation.targetRef = targetRefProp;\n } else {\n dataAssociation.targetRef = null;\n }\n }\n}\n\nDataInputAssociationBehavior.$inject = [\n 'eventBus',\n 'bpmnFactory'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(DataInputAssociationBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\n/**\n * Only call the given function when the event\n * touches a bpmn:DataInputAssociation.\n *\n * @param {Function} fn\n * @return {Function}\n */\nfunction ifDataInputAssociation(fn) {\n\n return function(event) {\n var context = event.context,\n connection = context.connection;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(connection, 'bpmn:DataInputAssociation')) {\n return fn(event);\n }\n };\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/DataInputAssociationBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/DataStoreBehavior.js":
/*!**********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/DataStoreBehavior.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DataStoreBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var _cmd_UpdateSemanticParentHandler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../cmd/UpdateSemanticParentHandler */ \"./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateSemanticParentHandler.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * BPMN specific data store behavior\r\n */\r\nfunction DataStoreBehavior(\r\n canvas, commandStack, elementRegistry,\r\n eventBus) {\r\n\r\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\r\n\r\n commandStack.registerHandler('dataStore.updateContainment', _cmd_UpdateSemanticParentHandler__WEBPACK_IMPORTED_MODULE_2__.default);\r\n\r\n function getFirstParticipantWithProcessRef() {\r\n return elementRegistry.filter(function(element) {\r\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element, 'bpmn:Participant') && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(element).processRef;\r\n })[0];\r\n }\r\n\r\n function getDataStores(element) {\r\n return element.children.filter(function(child) {\r\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(child, 'bpmn:DataStoreReference') && !child.labelTarget;\r\n });\r\n }\r\n\r\n function updateDataStoreParent(dataStore, newDataStoreParent) {\r\n var dataStoreBo = dataStore.businessObject || dataStore;\r\n\r\n newDataStoreParent = newDataStoreParent || getFirstParticipantWithProcessRef();\r\n\r\n if (newDataStoreParent) {\r\n var newDataStoreParentBo = newDataStoreParent.businessObject || newDataStoreParent;\r\n\r\n commandStack.execute('dataStore.updateContainment', {\r\n dataStoreBo: dataStoreBo,\r\n newSemanticParent: newDataStoreParentBo.processRef || newDataStoreParentBo,\r\n newDiParent: newDataStoreParentBo.di\r\n });\r\n }\r\n }\r\n\r\n\r\n // disable auto-resize for data stores\r\n this.preExecute('shape.create', function(event) {\r\n\r\n var context = event.context,\r\n shape = context.shape;\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(shape, 'bpmn:DataStoreReference') &&\r\n shape.type !== 'label') {\r\n\r\n if (!context.hints) {\r\n context.hints = {};\r\n }\r\n\r\n // prevent auto resizing\r\n context.hints.autoResize = false;\r\n }\r\n });\r\n\r\n\r\n // disable auto-resize for data stores\r\n this.preExecute('elements.move', function(event) {\r\n var context = event.context,\r\n shapes = context.shapes;\r\n\r\n var dataStoreReferences = shapes.filter(function(shape) {\r\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(shape, 'bpmn:DataStoreReference');\r\n });\r\n\r\n if (dataStoreReferences.length) {\r\n if (!context.hints) {\r\n context.hints = {};\r\n }\r\n\r\n // prevent auto resizing for data store references\r\n context.hints.autoResize = shapes.filter(function(shape) {\r\n return !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(shape, 'bpmn:DataStoreReference');\r\n });\r\n }\r\n });\r\n\r\n\r\n // update parent on data store created\r\n this.postExecute('shape.create', function(event) {\r\n var context = event.context,\r\n shape = context.shape,\r\n parent = shape.parent;\r\n\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(shape, 'bpmn:DataStoreReference') &&\r\n shape.type !== 'label' &&\r\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(parent, 'bpmn:Collaboration')) {\r\n\r\n updateDataStoreParent(shape);\r\n }\r\n });\r\n\r\n\r\n // update parent on data store moved\r\n this.postExecute('shape.move', function(event) {\r\n var context = event.context,\r\n shape = context.shape,\r\n oldParent = context.oldParent,\r\n parent = shape.parent;\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(oldParent, 'bpmn:Collaboration')) {\r\n\r\n // do nothing if not necessary\r\n return;\r\n }\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(shape, 'bpmn:DataStoreReference') &&\r\n shape.type !== 'label' &&\r\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(parent, 'bpmn:Collaboration')) {\r\n\r\n var participant = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(oldParent, 'bpmn:Participant') ?\r\n oldParent :\r\n getAncestor(oldParent, 'bpmn:Participant');\r\n\r\n updateDataStoreParent(shape, participant);\r\n }\r\n });\r\n\r\n\r\n // update data store parents on participant or subprocess deleted\r\n this.postExecute('shape.delete', function(event) {\r\n var context = event.context,\r\n shape = context.shape,\r\n rootElement = canvas.getRootElement();\r\n\r\n if ((0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__.isAny)(shape, [ 'bpmn:Participant', 'bpmn:SubProcess' ])\r\n && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(rootElement, 'bpmn:Collaboration')) {\r\n getDataStores(rootElement)\r\n .filter(function(dataStore) {\r\n return isDescendant(dataStore, shape);\r\n })\r\n .forEach(function(dataStore) {\r\n updateDataStoreParent(dataStore);\r\n });\r\n }\r\n });\r\n\r\n // update data store parents on collaboration -> process\r\n this.postExecute('canvas.updateRoot', function(event) {\r\n var context = event.context,\r\n oldRoot = context.oldRoot,\r\n newRoot = context.newRoot;\r\n\r\n var dataStores = getDataStores(oldRoot);\r\n\r\n dataStores.forEach(function(dataStore) {\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newRoot, 'bpmn:Process')) {\r\n updateDataStoreParent(dataStore, newRoot);\r\n }\r\n\r\n });\r\n });\r\n}\r\n\r\nDataStoreBehavior.$inject = [\r\n 'canvas',\r\n 'commandStack',\r\n 'elementRegistry',\r\n 'eventBus',\r\n];\r\n\r\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(DataStoreBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\r\n\r\n\r\n// helpers //////////\r\n\r\nfunction isDescendant(descendant, ancestor) {\r\n var descendantBo = descendant.businessObject || descendant,\r\n ancestorBo = ancestor.businessObject || ancestor;\r\n\r\n while (descendantBo.$parent) {\r\n if (descendantBo.$parent === ancestorBo.processRef || ancestorBo) {\r\n return true;\r\n }\r\n\r\n descendantBo = descendantBo.$parent;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction getAncestor(element, type) {\r\n\r\n while (element.parent) {\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(element.parent, type)) {\r\n return element.parent;\r\n }\r\n\r\n element = element.parent;\r\n }\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/DataStoreBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/DeleteLaneBehavior.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/DeleteLaneBehavior.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DeleteLaneBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_LaneUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar LOW_PRIORITY = 500;\n\n\n/**\n * BPMN specific delete lane behavior\n */\nfunction DeleteLaneBehavior(eventBus, modeling, spaceTool) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n\n function compensateLaneDelete(shape, oldParent) {\n\n var siblings = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_2__.getChildLanes)(oldParent);\n\n var topAffected = [];\n var bottomAffected = [];\n\n (0,diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_3__.eachElement)(siblings, function(element) {\n\n if (element.y > shape.y) {\n bottomAffected.push(element);\n } else {\n topAffected.push(element);\n }\n\n return element.children;\n });\n\n if (!siblings.length) {\n return;\n }\n\n var offset;\n\n if (bottomAffected.length && topAffected.length) {\n offset = shape.height / 2;\n } else {\n offset = shape.height;\n }\n\n var topAdjustments,\n bottomAdjustments;\n\n if (topAffected.length) {\n topAdjustments = spaceTool.calculateAdjustments(\n topAffected, 'y', offset, shape.y - 10);\n\n spaceTool.makeSpace(\n topAdjustments.movingShapes,\n topAdjustments.resizingShapes,\n { x: 0, y: offset }, 's');\n }\n\n if (bottomAffected.length) {\n bottomAdjustments = spaceTool.calculateAdjustments(\n bottomAffected, 'y', -offset, shape.y + shape.height + 10);\n\n spaceTool.makeSpace(\n bottomAdjustments.movingShapes,\n bottomAdjustments.resizingShapes,\n { x: 0, y: -offset }, 'n');\n }\n }\n\n\n /**\n * Adjust sizes of other lanes after lane deletion\n */\n this.postExecuted('shape.delete', LOW_PRIORITY, function(event) {\n\n var context = event.context,\n hints = context.hints,\n shape = context.shape,\n oldParent = context.oldParent;\n\n // only compensate lane deletes\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(shape, 'bpmn:Lane')) {\n return;\n }\n\n // compensate root deletes only\n if (hints && hints.nested) {\n return;\n }\n\n compensateLaneDelete(shape, oldParent);\n });\n}\n\nDeleteLaneBehavior.$inject = [\n 'eventBus',\n 'modeling',\n 'spaceTool'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(DeleteLaneBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/DeleteLaneBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/DetachEventBehavior.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/DetachEventBehavior.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DetachEventBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n\n\n\n\n\n\n\n\nvar LOW_PRIORITY = 500;\n\n\n/**\n * Replace boundary event with intermediate event when creating or moving results in detached event.\n */\nfunction DetachEventBehavior(bpmnReplace, injector) {\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\n\n this._bpmnReplace = bpmnReplace;\n\n var self = this;\n\n this.postExecuted('elements.create', LOW_PRIORITY, function(context) {\n var elements = context.elements;\n\n elements.filter(function(shape) {\n var host = shape.host;\n\n return shouldReplace(shape, host);\n }).map(function(shape) {\n return elements.indexOf(shape);\n }).forEach(function(index) {\n context.elements[ index ] = self.replaceShape(elements[ index ]);\n });\n }, true);\n\n this.preExecute('elements.move', LOW_PRIORITY, function(context) {\n var shapes = context.shapes,\n newHost = context.newHost;\n\n shapes.forEach(function(shape, index) {\n var host = shape.host;\n\n if (shouldReplace(shape, includes(shapes, host) ? host : newHost)) {\n shapes[ index ] = self.replaceShape(shape);\n }\n });\n }, true);\n}\n\nDetachEventBehavior.$inject = [\n 'bpmnReplace',\n 'injector'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(DetachEventBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nDetachEventBehavior.prototype.replaceShape = function(shape) {\n var eventDefinition = getEventDefinition(shape),\n intermediateEvent;\n\n if (eventDefinition) {\n intermediateEvent = {\n type: 'bpmn:IntermediateCatchEvent',\n eventDefinitionType: eventDefinition.$type\n };\n } else {\n intermediateEvent = {\n type: 'bpmn:IntermediateThrowEvent'\n };\n }\n\n return this._bpmnReplace.replaceElement(shape, intermediateEvent, { layoutConnection: false });\n};\n\n\n// helpers //////////\n\nfunction getEventDefinition(element) {\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(element),\n eventDefinitions = businessObject.eventDefinitions;\n\n return eventDefinitions && eventDefinitions[0];\n}\n\nfunction shouldReplace(shape, host) {\n return !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabel)(shape) && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:BoundaryEvent') && !host;\n}\n\nfunction includes(array, item) {\n return array.indexOf(item) !== -1;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/DetachEventBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/DropOnFlowBehavior.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/DropOnFlowBehavior.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DropOnFlowBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var diagram_js_lib_util_LineIntersection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/util/LineIntersection */ \"./node_modules/diagram-js/lib/util/LineIntersection.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction DropOnFlowBehavior(eventBus, bpmnRules, modeling) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n /**\n * Reconnect start / end of a connection after\n * dropping an element on a flow.\n */\n\n function insertShape(shape, targetFlow, positionOrBounds) {\n var waypoints = targetFlow.waypoints,\n waypointsBefore,\n waypointsAfter,\n dockingPoint,\n source,\n target,\n incomingConnection,\n outgoingConnection,\n oldOutgoing = shape.outgoing.slice(),\n oldIncoming = shape.incoming.slice();\n\n var mid;\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.isNumber)(positionOrBounds.width)) {\n mid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getMid)(positionOrBounds);\n } else {\n mid = positionOrBounds;\n }\n\n var intersection = (0,diagram_js_lib_util_LineIntersection__WEBPACK_IMPORTED_MODULE_4__.getApproxIntersection)(waypoints, mid);\n\n if (intersection) {\n waypointsBefore = waypoints.slice(0, intersection.index);\n waypointsAfter = waypoints.slice(intersection.index + (intersection.bendpoint ? 1 : 0));\n\n // due to inaccuracy intersection might have been found\n if (!waypointsBefore.length || !waypointsAfter.length) {\n return;\n }\n\n dockingPoint = intersection.bendpoint ? waypoints[intersection.index] : mid;\n\n // if last waypointBefore is inside shape's bounds, ignore docking point\n if (!isPointInsideBBox(shape, waypointsBefore[waypointsBefore.length-1])) {\n waypointsBefore.push(copy(dockingPoint));\n }\n\n // if first waypointAfter is inside shape's bounds, ignore docking point\n if (!isPointInsideBBox(shape, waypointsAfter[0])) {\n waypointsAfter.unshift(copy(dockingPoint));\n }\n }\n\n source = targetFlow.source;\n target = targetFlow.target;\n\n if (bpmnRules.canConnect(source, shape, targetFlow)) {\n\n // reconnect source -> inserted shape\n modeling.reconnectEnd(targetFlow, shape, waypointsBefore || mid);\n\n incomingConnection = targetFlow;\n }\n\n if (bpmnRules.canConnect(shape, target, targetFlow)) {\n\n if (!incomingConnection) {\n\n // reconnect inserted shape -> end\n modeling.reconnectStart(targetFlow, shape, waypointsAfter || mid);\n\n outgoingConnection = targetFlow;\n } else {\n outgoingConnection = modeling.connect(\n shape, target, { type: targetFlow.type, waypoints: waypointsAfter }\n );\n }\n }\n\n var duplicateConnections = [].concat(\n\n incomingConnection && (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(oldIncoming, function(connection) {\n return connection.source === incomingConnection.source;\n }) || [],\n\n outgoingConnection && (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(oldOutgoing, function(connection) {\n return connection.target === outgoingConnection.target;\n }) || []\n );\n\n if (duplicateConnections.length) {\n modeling.removeElements(duplicateConnections);\n }\n }\n\n this.preExecute('elements.move', function(context) {\n\n var newParent = context.newParent,\n shapes = context.shapes,\n delta = context.delta,\n shape = shapes[0];\n\n if (!shape || !newParent) {\n return;\n }\n\n // if the new parent is a connection,\n // change it to the new parent's parent\n if (newParent && newParent.waypoints) {\n context.newParent = newParent = newParent.parent;\n }\n\n var shapeMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.getMid)(shape);\n var newShapeMid = {\n x: shapeMid.x + delta.x,\n y: shapeMid.y + delta.y\n };\n\n // find a connection which intersects with the\n // element's mid point\n var connection = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.find)(newParent.children, function(element) {\n var canInsert = bpmnRules.canInsert(shapes, element);\n\n return canInsert && (0,diagram_js_lib_util_LineIntersection__WEBPACK_IMPORTED_MODULE_4__.getApproxIntersection)(element.waypoints, newShapeMid);\n });\n\n if (connection) {\n context.targetFlow = connection;\n context.position = newShapeMid;\n }\n\n }, true);\n\n this.postExecuted('elements.move', function(context) {\n\n var shapes = context.shapes,\n targetFlow = context.targetFlow,\n position = context.position;\n\n if (targetFlow) {\n insertShape(shapes[0], targetFlow, position);\n }\n\n }, true);\n\n this.preExecute('shape.create', function(context) {\n\n var parent = context.parent,\n shape = context.shape;\n\n if (bpmnRules.canInsert(shape, parent)) {\n context.targetFlow = parent;\n context.parent = parent.parent;\n }\n }, true);\n\n this.postExecuted('shape.create', function(context) {\n\n var shape = context.shape,\n targetFlow = context.targetFlow,\n positionOrBounds = context.position;\n\n if (targetFlow) {\n insertShape(shape, targetFlow, positionOrBounds);\n }\n }, true);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(DropOnFlowBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nDropOnFlowBehavior.$inject = [\n 'eventBus',\n 'bpmnRules',\n 'modeling'\n];\n\n\n// helpers /////////////////////\n\nfunction isPointInsideBBox(bbox, point) {\n var x = point.x,\n y = point.y;\n\n return x >= bbox.x &&\n x <= bbox.x + bbox.width &&\n y >= bbox.y &&\n y <= bbox.y + bbox.height;\n}\n\nfunction copy(obj) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({}, obj);\n}\n\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/DropOnFlowBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/EventBasedGatewayBehavior.js":
/*!******************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/EventBasedGatewayBehavior.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ EventBasedGatewayBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\nfunction EventBasedGatewayBehavior(eventBus, modeling) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n /**\n * Remove existing sequence flows of event-based target before connecting\n * from event-based gateway.\n */\n this.preExecuted('connection.create', function(event) {\n\n var context = event.context,\n source = context.source,\n target = context.target,\n existingIncomingConnections = target.incoming.slice();\n\n if (context.hints && context.hints.createElementsBehavior === false) {\n return;\n }\n\n if (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(source, 'bpmn:EventBasedGateway') &&\n target.incoming.length\n ) {\n\n existingIncomingConnections.filter(isSequenceFlow)\n .forEach(function(sequenceFlow) {\n modeling.removeConnection(sequenceFlow);\n });\n }\n });\n\n /**\n * After replacing shape with event-based gateway, remove incoming sequence\n * flows of event-based targets which do not belong to event-based gateway\n * source.\n */\n this.preExecuted('shape.replace', function(event) {\n\n var newShape = event.context.newShape,\n newShapeTargets,\n newShapeTargetsIncomingSequenceFlows;\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(newShape, 'bpmn:EventBasedGateway')) {\n return;\n }\n\n newShapeTargets = newShape.outgoing.filter(isSequenceFlow)\n .map(function(sequenceFlow) {\n return sequenceFlow.target;\n });\n\n newShapeTargetsIncomingSequenceFlows = newShapeTargets.reduce(function(sequenceFlows, target) {\n var incomingSequenceFlows = target.incoming.filter(isSequenceFlow);\n\n return sequenceFlows.concat(incomingSequenceFlows);\n }, []);\n\n newShapeTargetsIncomingSequenceFlows.forEach(function(sequenceFlow) {\n if (sequenceFlow.source !== newShape) {\n modeling.removeConnection(sequenceFlow);\n }\n });\n });\n}\n\nEventBasedGatewayBehavior.$inject = [\n 'eventBus',\n 'modeling'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(EventBasedGatewayBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\n\n// helpers //////////////////////\n\nfunction isSequenceFlow(connection) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:SequenceFlow');\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/EventBasedGatewayBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/FixHoverBehavior.js":
/*!*********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/FixHoverBehavior.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ FixHoverBehavior)\n/* harmony export */ });\n/* harmony import */ var _util_LaneUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_ModelingUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n\r\n\r\n\r\n\r\n\r\n\r\nvar HIGH_PRIORITY = 1500;\r\nvar HIGHEST_PRIORITY = 2000;\r\n\r\n\r\n/**\r\n * Correct hover targets in certain situations to improve diagram interaction.\r\n *\r\n * @param {ElementRegistry} elementRegistry\r\n * @param {EventBus} eventBus\r\n * @param {Canvas} canvas\r\n */\r\nfunction FixHoverBehavior(elementRegistry, eventBus, canvas) {\r\n\r\n eventBus.on([\r\n 'create.hover',\r\n 'create.move',\r\n 'create.out',\r\n 'create.end',\r\n 'shape.move.hover',\r\n 'shape.move.move',\r\n 'shape.move.out',\r\n 'shape.move.end'\r\n ], HIGH_PRIORITY, function(event) {\r\n var context = event.context,\r\n shape = context.shape || event.shape,\r\n hover = event.hover;\r\n\r\n // ensure elements are not dropped onto a bpmn:Lane but onto\r\n // the underlying bpmn:Participant\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(hover, 'bpmn:Lane') && !(0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_1__.isAny)(shape, [ 'bpmn:Lane', 'bpmn:Participant' ])) {\r\n event.hover = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_2__.getLanesRoot)(hover);\r\n event.hoverGfx = elementRegistry.getGraphics(event.hover);\r\n }\r\n\r\n var rootElement = canvas.getRootElement();\r\n\r\n // ensure bpmn:Group and label elements are dropped\r\n // always onto the root\r\n if (hover !== rootElement && (shape.labelTarget || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Group'))) {\r\n event.hover = rootElement;\r\n event.hoverGfx = elementRegistry.getGraphics(event.hover);\r\n }\r\n });\r\n\r\n eventBus.on([\r\n 'connect.hover',\r\n 'connect.out',\r\n 'connect.end',\r\n 'connect.cleanup',\r\n 'global-connect.hover',\r\n 'global-connect.out',\r\n 'global-connect.end',\r\n 'global-connect.cleanup'\r\n ], HIGH_PRIORITY, function(event) {\r\n var hover = event.hover;\r\n\r\n // ensure connections start/end on bpmn:Participant,\r\n // not the underlying bpmn:Lane\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(hover, 'bpmn:Lane')) {\r\n event.hover = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_2__.getLanesRoot)(hover) || hover;\r\n event.hoverGfx = elementRegistry.getGraphics(event.hover);\r\n }\r\n });\r\n\r\n\r\n eventBus.on([\r\n 'bendpoint.move.hover'\r\n ], HIGH_PRIORITY, function(event) {\r\n var context = event.context,\r\n hover = event.hover,\r\n type = context.type;\r\n\r\n // ensure reconnect start/end on bpmn:Participant,\r\n // not the underlying bpmn:Lane\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(hover, 'bpmn:Lane') && /reconnect/.test(type)) {\r\n event.hover = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_2__.getLanesRoot)(hover) || hover;\r\n event.hoverGfx = elementRegistry.getGraphics(event.hover);\r\n }\r\n });\r\n\r\n\r\n eventBus.on([\r\n 'connect.start'\r\n ], HIGH_PRIORITY, function(event) {\r\n var context = event.context,\r\n start = context.start;\r\n\r\n // ensure connect start on bpmn:Participant,\r\n // not the underlying bpmn:Lane\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(start, 'bpmn:Lane')) {\r\n context.start = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_2__.getLanesRoot)(start) || start;\r\n }\r\n });\r\n\r\n\r\n // allow movement of participants from lanes\r\n eventBus.on('shape.move.start', HIGHEST_PRIORITY, function(event) {\r\n var shape = event.shape;\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Lane')) {\r\n event.shape = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_2__.getLanesRoot)(shape) || shape;\r\n }\r\n });\r\n\r\n}\r\n\r\nFixHoverBehavior.$inject = [\r\n 'elementRegistry',\r\n 'eventBus',\r\n 'canvas'\r\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/FixHoverBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/GroupBehavior.js":
/*!******************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/GroupBehavior.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ GroupBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_CategoryUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util/CategoryUtil */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/CategoryUtil.js\");\n\n\n\n\n\n\n\n\n\n\nvar HIGH_PRIORITY = 2000;\n\n\n/**\n * BPMN specific Group behavior\n */\nfunction GroupBehavior(\n bpmnFactory,\n canvas,\n elementRegistry,\n eventBus,\n injector,\n moddleCopy\n) {\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\n\n /**\n * Gets process definitions\n *\n * @return {ModdleElement} definitions\n */\n function getDefinitions() {\n var rootElement = canvas.getRootElement(),\n businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(rootElement);\n\n return businessObject.$parent;\n }\n\n /**\n * Removes a referenced category value for a given group shape\n *\n * @param {djs.model.Shape} shape\n */\n function removeReferencedCategoryValue(shape) {\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(shape),\n categoryValue = businessObject.categoryValueRef;\n\n if (!categoryValue) {\n return;\n }\n\n var category = categoryValue.$parent;\n\n if (!categoryValue) {\n return;\n }\n\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.remove)(category.categoryValue, categoryValue);\n\n // cleanup category if it is empty\n if (category && !category.categoryValue.length) {\n removeCategory(category);\n }\n }\n\n /**\n * Removes a given category from the definitions\n *\n * @param {ModdleElement} category\n */\n function removeCategory(category) {\n\n var definitions = getDefinitions();\n\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.remove)(definitions.get('rootElements'), category);\n }\n\n /**\n * Returns all group element in the current registry\n *\n * @return {Array} a list of group shapes\n */\n function getGroupElements() {\n return elementRegistry.filter(function(e) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(e, 'bpmn:Group');\n });\n }\n\n /**\n * Returns true if given categoryValue is referenced in one of the given elements\n *\n * @param {Array} elements\n * @param {ModdleElement} categoryValue\n * @return {boolean}\n */\n function isReferenced(elements, categoryValue) {\n return elements.some(function(e) {\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(e);\n\n return businessObject.categoryValueRef\n && businessObject.categoryValueRef === categoryValue;\n });\n }\n\n /**\n * remove referenced category + value when group was deleted\n */\n this.executed('shape.delete', function(event) {\n\n var context = event.context,\n shape = context.shape;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Group')) {\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(shape),\n categoryValueRef = businessObject.categoryValueRef,\n groupElements = getGroupElements();\n\n if (!isReferenced(groupElements, categoryValueRef)) {\n removeReferencedCategoryValue(shape);\n }\n }\n });\n\n /**\n * re-attach removed category\n */\n this.reverted('shape.delete', function(event) {\n\n var context = event.context,\n shape = context.shape;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Group')) {\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(shape),\n categoryValueRef = businessObject.categoryValueRef,\n definitions = getDefinitions(),\n category = categoryValueRef ? categoryValueRef.$parent : null;\n\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.add)(category.get('categoryValue'), categoryValueRef);\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.add)(definitions.get('rootElements'), category);\n }\n });\n\n /**\n * create new category + value when group was created\n */\n this.execute('shape.create', function(event) {\n var context = event.context,\n shape = context.shape,\n businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(shape);\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(businessObject, 'bpmn:Group') && !businessObject.categoryValueRef) {\n\n var definitions = getDefinitions(),\n categoryValue = (0,_util_CategoryUtil__WEBPACK_IMPORTED_MODULE_4__.createCategoryValue)(definitions, bpmnFactory);\n\n // link the reference to the Group\n businessObject.categoryValueRef = categoryValue;\n }\n });\n\n\n this.revert('shape.create', function(event) {\n\n var context = event.context,\n shape = context.shape;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Group')) {\n removeReferencedCategoryValue(shape);\n\n delete (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(shape).categoryValueRef;\n\n }\n });\n\n // copy bpmn:CategoryValue when copying element\n eventBus.on('moddleCopy.canCopyProperty', HIGH_PRIORITY, function(context) {\n var property = context.property,\n categoryValue;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(property, 'bpmn:CategoryValue')) {\n categoryValue = (0,_util_CategoryUtil__WEBPACK_IMPORTED_MODULE_4__.createCategoryValue)(getDefinitions(), bpmnFactory);\n\n // return copy of category\n return moddleCopy.copyElement(property, categoryValue);\n }\n });\n\n}\n\nGroupBehavior.$inject = [\n 'bpmnFactory',\n 'canvas',\n 'elementRegistry',\n 'eventBus',\n 'injector',\n 'moddleCopy'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(GroupBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/GroupBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/ImportDockingFix.js":
/*!*********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/ImportDockingFix.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ImportDockingFix)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var _util_LineIntersect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/LineIntersect */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineIntersect.js\");\n\n\n\n\n\n/**\n * Fix broken dockings after DI imports.\n *\n * @param {EventBus} eventBus\n */\nfunction ImportDockingFix(eventBus) {\n\n function adjustDocking(startPoint, nextPoint, elementMid) {\n\n var elementTop = {\n x: elementMid.x,\n y: elementMid.y - 50\n };\n\n var elementLeft = {\n x: elementMid.x - 50,\n y: elementMid.y\n };\n\n var verticalIntersect = (0,_util_LineIntersect__WEBPACK_IMPORTED_MODULE_0__.default)(startPoint, nextPoint, elementMid, elementTop),\n horizontalIntersect = (0,_util_LineIntersect__WEBPACK_IMPORTED_MODULE_0__.default)(startPoint, nextPoint, elementMid, elementLeft);\n\n // original is horizontal or vertical center cross intersection\n var centerIntersect;\n\n if (verticalIntersect && horizontalIntersect) {\n if (getDistance(verticalIntersect, elementMid) > getDistance(horizontalIntersect, elementMid)) {\n centerIntersect = horizontalIntersect;\n } else {\n centerIntersect = verticalIntersect;\n }\n } else {\n centerIntersect = verticalIntersect || horizontalIntersect;\n }\n\n startPoint.original = centerIntersect;\n }\n\n function fixDockings(connection) {\n var waypoints = connection.waypoints;\n\n adjustDocking(\n waypoints[0],\n waypoints[1],\n (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(connection.source)\n );\n\n adjustDocking(\n waypoints[waypoints.length - 1],\n waypoints[waypoints.length - 2],\n (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(connection.target)\n );\n }\n\n eventBus.on('bpmnElement.added', function(e) {\n\n var element = e.element;\n\n if (element.waypoints) {\n fixDockings(element);\n }\n });\n}\n\nImportDockingFix.$inject = [\n 'eventBus'\n];\n\n\n// helpers //////////////////////\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/ImportDockingFix.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/IsHorizontalFix.js":
/*!********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/IsHorizontalFix.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ IsHorizontalFix)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n\n\n\n\n\n\n\n\n/**\n * A component that makes sure that each created or updated\n * Pool and Lane is assigned an isHorizontal property set to true.\n *\n * @param {EventBus} eventBus\n */\nfunction IsHorizontalFix(eventBus) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n var elementTypesToUpdate = [\n 'bpmn:Participant',\n 'bpmn:Lane'\n ];\n\n this.executed([ 'shape.move', 'shape.create', 'shape.resize' ], function(event) {\n var bo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(event.context.shape);\n\n if ((0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(bo, elementTypesToUpdate) && !bo.di.get('isHorizontal')) {\n\n // set attribute directly to avoid modeling#updateProperty side effects\n bo.di.set('isHorizontal', true);\n }\n });\n\n}\n\nIsHorizontalFix.$inject = [ 'eventBus' ];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(IsHorizontalFix, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/IsHorizontalFix.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/LabelBehavior.js":
/*!******************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/LabelBehavior.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LabelBehavior),\n/* harmony export */ \"getReferencePointDelta\": () => (/* binding */ getReferencePointDelta),\n/* harmony export */ \"getReferencePoint\": () => (/* binding */ getReferencePoint),\n/* harmony export */ \"asEdges\": () => (/* binding */ asEdges)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n/* harmony import */ var _label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../label-editing/LabelUtil */ \"./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js\");\n/* harmony import */ var _util_LabelLayoutUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./util/LabelLayoutUtil */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/LabelLayoutUtil.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var diagram_js_lib_util_AttachUtil__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! diagram-js/lib/util/AttachUtil */ \"./node_modules/diagram-js/lib/util/AttachUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var diagram_js_lib_util_PositionUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! diagram-js/lib/util/PositionUtil */ \"./node_modules/diagram-js/lib/util/PositionUtil.js\");\n/* harmony import */ var _util_GeometricUtil__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./util/GeometricUtil */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/GeometricUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar DEFAULT_LABEL_DIMENSIONS = {\n width: 90,\n height: 20\n};\n\nvar NAME_PROPERTY = 'name';\nvar TEXT_PROPERTY = 'text';\n\n/**\n * A component that makes sure that external labels are added\n * together with respective elements and properly updated (DI wise)\n * during move.\n *\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n * @param {BpmnFactory} bpmnFactory\n * @param {TextRenderer} textRenderer\n */\nfunction LabelBehavior(\n eventBus, modeling, bpmnFactory,\n textRenderer) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n // update label if name property was updated\n this.postExecute('element.updateProperties', function(e) {\n var context = e.context,\n element = context.element,\n properties = context.properties;\n\n if (NAME_PROPERTY in properties) {\n modeling.updateLabel(element, properties[NAME_PROPERTY]);\n }\n\n if (TEXT_PROPERTY in properties\n && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(element, 'bpmn:TextAnnotation')) {\n\n var newBounds = textRenderer.getTextAnnotationBounds(\n {\n x: element.x,\n y: element.y,\n width: element.width,\n height: element.height\n },\n properties[TEXT_PROPERTY] || ''\n );\n\n modeling.updateLabel(element, properties.text, newBounds);\n }\n });\n\n // create label shape after shape/connection was created\n this.postExecute([ 'shape.create', 'connection.create' ], function(e) {\n var context = e.context,\n hints = context.hints || {};\n\n if (hints.createElementsBehavior === false) {\n return;\n }\n\n var element = context.shape || context.connection,\n businessObject = element.businessObject;\n\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabel)(element) || !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabelExternal)(element)) {\n return;\n }\n\n // only create label if attribute available\n if (!(0,_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.getLabel)(element)) {\n return;\n }\n\n var labelCenter = (0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.getExternalLabelMid)(element);\n\n // we don't care about x and y\n var labelDimensions = textRenderer.getExternalLabelBounds(\n DEFAULT_LABEL_DIMENSIONS,\n (0,_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.getLabel)(element)\n );\n\n modeling.createLabel(element, labelCenter, {\n id: businessObject.id + '_label',\n businessObject: businessObject,\n width: labelDimensions.width,\n height: labelDimensions.height\n });\n });\n\n // update label after label shape was deleted\n this.postExecute('shape.delete', function(event) {\n var context = event.context,\n labelTarget = context.labelTarget,\n hints = context.hints || {};\n\n // check if label\n if (labelTarget && hints.unsetLabel !== false) {\n modeling.updateLabel(labelTarget, null, null, { removeShape: false });\n }\n });\n\n // update di information on label creation\n this.postExecute([ 'label.create' ], function(event) {\n\n var context = event.context,\n element = context.shape,\n businessObject,\n di;\n\n // we want to trigger on real labels only\n if (!element.labelTarget) {\n return;\n }\n\n // we want to trigger on BPMN elements only\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(element.labelTarget || element, 'bpmn:BaseElement')) {\n return;\n }\n\n businessObject = element.businessObject,\n di = businessObject.di;\n\n\n if (!di.label) {\n di.label = bpmnFactory.create('bpmndi:BPMNLabel', {\n bounds: bpmnFactory.create('dc:Bounds')\n });\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(di.label.bounds, {\n x: element.x,\n y: element.y,\n width: element.width,\n height: element.height\n });\n });\n\n function getVisibleLabelAdjustment(event) {\n\n var context = event.context,\n connection = context.connection,\n label = connection.label,\n hints = (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)({}, context.hints),\n newWaypoints = context.newWaypoints || connection.waypoints,\n oldWaypoints = context.oldWaypoints;\n\n\n if (typeof hints.startChanged === 'undefined') {\n hints.startChanged = !!hints.connectionStart;\n }\n\n if (typeof hints.endChanged === 'undefined') {\n hints.endChanged = !!hints.connectionEnd;\n }\n\n return (0,_util_LabelLayoutUtil__WEBPACK_IMPORTED_MODULE_6__.getLabelAdjustment)(label, newWaypoints, oldWaypoints, hints);\n }\n\n this.postExecute([\n 'connection.layout',\n 'connection.updateWaypoints'\n ], function(event) {\n var context = event.context,\n hints = context.hints || {};\n\n if (hints.labelBehavior === false) {\n return;\n }\n\n var connection = context.connection,\n label = connection.label,\n labelAdjustment;\n\n // handle missing label as well as the case\n // that the label parent does not exist (yet),\n // because it is being pasted / created via multi element create\n //\n // Cf. https://github.com/bpmn-io/bpmn-js/pull/1227\n if (!label || !label.parent) {\n return;\n }\n\n labelAdjustment = getVisibleLabelAdjustment(event);\n\n modeling.moveShape(label, labelAdjustment);\n });\n\n\n // keep label position on shape replace\n this.postExecute([ 'shape.replace' ], function(event) {\n var context = event.context,\n newShape = context.newShape,\n oldShape = context.oldShape;\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(newShape);\n\n if (businessObject\n && (0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabelExternal)(businessObject)\n && oldShape.label\n && newShape.label) {\n newShape.label.x = oldShape.label.x;\n newShape.label.y = oldShape.label.y;\n }\n });\n\n\n // move external label after resizing\n this.postExecute('shape.resize', function(event) {\n\n var context = event.context,\n shape = context.shape,\n newBounds = context.newBounds,\n oldBounds = context.oldBounds;\n\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.hasExternalLabel)(shape)) {\n\n var label = shape.label,\n labelMid = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_7__.getMid)(label),\n edges = asEdges(oldBounds);\n\n // get nearest border point to label as reference point\n var referencePoint = getReferencePoint(labelMid, edges);\n\n var delta = getReferencePointDelta(referencePoint, oldBounds, newBounds);\n\n modeling.moveShape(label, delta);\n\n }\n\n });\n\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(LabelBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nLabelBehavior.$inject = [\n 'eventBus',\n 'modeling',\n 'bpmnFactory',\n 'textRenderer'\n];\n\n// helpers //////////////////////\n\n/**\n * Calculates a reference point delta relative to a new position\n * of a certain element's bounds\n *\n * @param {Point} point\n * @param {Bounds} oldBounds\n * @param {Bounds} newBounds\n *\n * @return {Delta} delta\n */\nfunction getReferencePointDelta(referencePoint, oldBounds, newBounds) {\n\n var newReferencePoint = (0,diagram_js_lib_util_AttachUtil__WEBPACK_IMPORTED_MODULE_8__.getNewAttachPoint)(referencePoint, oldBounds, newBounds);\n\n return (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_7__.roundPoint)((0,diagram_js_lib_util_PositionUtil__WEBPACK_IMPORTED_MODULE_9__.delta)(newReferencePoint, referencePoint));\n}\n\n/**\n * Generates the nearest point (reference point) for a given point\n * onto given set of lines\n *\n * @param {Array} lines\n * @param {Point} point\n *\n * @param {Point}\n */\nfunction getReferencePoint(point, lines) {\n\n if (!lines.length) {\n return;\n }\n\n var nearestLine = getNearestLine(point, lines);\n\n return (0,_util_GeometricUtil__WEBPACK_IMPORTED_MODULE_10__.perpendicularFoot)(point, nearestLine);\n}\n\n/**\n * Convert the given bounds to a lines array containing all edges\n *\n * @param {Bounds|Point} bounds\n *\n * @return Array\n */\nfunction asEdges(bounds) {\n return [\n [ // top\n {\n x: bounds.x,\n y: bounds.y\n },\n {\n x: bounds.x + (bounds.width || 0),\n y: bounds.y\n }\n ],\n [ // right\n {\n x: bounds.x + (bounds.width || 0),\n y: bounds.y\n },\n {\n x: bounds.x + (bounds.width || 0),\n y: bounds.y + (bounds.height || 0)\n }\n ],\n [ // bottom\n {\n x: bounds.x,\n y: bounds.y + (bounds.height || 0)\n },\n {\n x: bounds.x + (bounds.width || 0),\n y: bounds.y + (bounds.height || 0)\n }\n ],\n [ // left\n {\n x: bounds.x,\n y: bounds.y\n },\n {\n x: bounds.x,\n y: bounds.y + (bounds.height || 0)\n }\n ]\n ];\n}\n\n/**\n * Returns the nearest line for a given point by distance\n * @param {Point} point\n * @param Array lines\n *\n * @return Array\n */\nfunction getNearestLine(point, lines) {\n\n var distances = lines.map(function(l) {\n return {\n line: l,\n distance: (0,_util_GeometricUtil__WEBPACK_IMPORTED_MODULE_10__.getDistancePointLine)(point, l)\n };\n });\n\n var sorted = (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.sortBy)(distances, 'distance');\n\n return sorted[0].line;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/LabelBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/MessageFlowBehavior.js":
/*!************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/MessageFlowBehavior.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MessageFlowBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var diagram_js_lib_features_modeling_cmd_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * BPMN-specific message flow behavior.\r\n */\r\nfunction MessageFlowBehavior(eventBus, modeling) {\r\n\r\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\r\n\r\n this.postExecute('shape.replace', function(context) {\r\n var oldShape = context.oldShape,\r\n newShape = context.newShape;\r\n\r\n if (!isParticipantCollapse(oldShape, newShape)) {\r\n return;\r\n }\r\n\r\n var messageFlows = getMessageFlows(oldShape);\r\n\r\n messageFlows.incoming.forEach(function(incoming) {\r\n var anchor = (0,diagram_js_lib_features_modeling_cmd_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_2__.getResizedTargetAnchor)(incoming, newShape, oldShape);\r\n\r\n modeling.reconnectEnd(incoming, newShape, anchor);\r\n });\r\n\r\n messageFlows.outgoing.forEach(function(outgoing) {\r\n var anchor = (0,diagram_js_lib_features_modeling_cmd_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_2__.getResizedSourceAnchor)(outgoing, newShape, oldShape);\r\n\r\n modeling.reconnectStart(outgoing, newShape, anchor);\r\n });\r\n }, true);\r\n\r\n}\r\n\r\nMessageFlowBehavior.$inject = [ 'eventBus', 'modeling' ];\r\n\r\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(MessageFlowBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\r\n\r\n// helpers //////////\r\n\r\nfunction isParticipantCollapse(oldShape, newShape) {\r\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(oldShape, 'bpmn:Participant')\r\n && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(oldShape)\r\n && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newShape, 'bpmn:Participant')\r\n && !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(newShape);\r\n}\r\n\r\nfunction getMessageFlows(parent) {\r\n var elements = (0,diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_5__.selfAndAllChildren)([ parent ], false);\r\n\r\n var incoming = [],\r\n outgoing = [];\r\n\r\n elements.forEach(function(element) {\r\n if (element === parent) {\r\n return;\r\n }\r\n\r\n element.incoming.forEach(function(connection) {\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(connection, 'bpmn:MessageFlow')) {\r\n incoming.push(connection);\r\n }\r\n });\r\n\r\n element.outgoing.forEach(function(connection) {\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(connection, 'bpmn:MessageFlow')) {\r\n outgoing.push(connection);\r\n }\r\n });\r\n }, []);\r\n\r\n return {\r\n incoming: incoming,\r\n outgoing: outgoing\r\n };\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/MessageFlowBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/ModelingFeedback.js":
/*!*********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/ModelingFeedback.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ModelingFeedback)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\nvar COLLAB_ERR_MSG = 'flow elements must be children of pools/participants';\n\nfunction ModelingFeedback(eventBus, tooltips, translate) {\n\n function showError(position, message, timeout) {\n tooltips.add({\n position: {\n x: position.x + 5,\n y: position.y + 5\n },\n type: 'error',\n timeout: timeout || 2000,\n html: '' + message + '
'\n });\n }\n\n eventBus.on([ 'shape.move.rejected', 'create.rejected' ], function(event) {\n var context = event.context,\n shape = context.shape,\n target = context.target;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(target, 'bpmn:Collaboration') && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:FlowNode')) {\n showError(event, translate(COLLAB_ERR_MSG));\n }\n });\n\n}\n\nModelingFeedback.$inject = [\n 'eventBus',\n 'tooltips',\n 'translate'\n];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/ModelingFeedback.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveElementBehavior.js":
/*!**************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveElementBehavior.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RemoveElementBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_LineIntersect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util/LineIntersect */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineIntersect.js\");\n\n\n\n\n\n\n\n\n\nfunction RemoveElementBehavior(eventBus, bpmnRules, modeling) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n /**\n * Combine sequence flows when deleting an element\n * if there is one incoming and one outgoing\n * sequence flow\n */\n this.preExecute('shape.delete', function(e) {\n\n var shape = e.context.shape;\n\n // only handle [a] -> [shape] -> [b] patterns\n if (shape.incoming.length !== 1 || shape.outgoing.length !== 1) {\n return;\n }\n\n var inConnection = shape.incoming[0],\n outConnection = shape.outgoing[0];\n\n // only handle sequence flows\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(inConnection, 'bpmn:SequenceFlow') || !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(outConnection, 'bpmn:SequenceFlow')) {\n return;\n }\n\n if (bpmnRules.canConnect(inConnection.source, outConnection.target, inConnection)) {\n\n // compute new, combined waypoints\n var newWaypoints = getNewWaypoints(inConnection.waypoints, outConnection.waypoints);\n\n modeling.reconnectEnd(inConnection, outConnection.target, newWaypoints);\n }\n });\n\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(RemoveElementBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nRemoveElementBehavior.$inject = [\n 'eventBus',\n 'bpmnRules',\n 'modeling'\n];\n\n\n// helpers //////////////////////\n\nfunction getDocking(point) {\n return point.original || point;\n}\n\n\nfunction getNewWaypoints(inWaypoints, outWaypoints) {\n\n var intersection = (0,_util_LineIntersect__WEBPACK_IMPORTED_MODULE_3__.default)(\n getDocking(inWaypoints[inWaypoints.length - 2]),\n getDocking(inWaypoints[inWaypoints.length - 1]),\n getDocking(outWaypoints[1]),\n getDocking(outWaypoints[0]));\n\n if (intersection) {\n return [].concat(\n inWaypoints.slice(0, inWaypoints.length - 1),\n [ intersection ],\n outWaypoints.slice(1));\n } else {\n return [\n getDocking(inWaypoints[0]),\n getDocking(outWaypoints[outWaypoints.length - 1])\n ];\n }\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveElementBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveParticipantBehavior.js":
/*!******************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveParticipantBehavior.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RemoveParticipantBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\n\n/**\n * BPMN specific remove behavior\n */\nfunction RemoveParticipantBehavior(eventBus, modeling) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n\n /**\n * morph collaboration diagram into process diagram\n * after the last participant has been removed\n */\n\n this.preExecute('shape.delete', function(context) {\n\n var shape = context.shape,\n parent = shape.parent;\n\n // activate the behavior if the shape to be removed\n // is a participant\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Participant')) {\n context.collaborationRoot = parent;\n }\n }, true);\n\n this.postExecute('shape.delete', function(context) {\n\n var collaborationRoot = context.collaborationRoot;\n\n if (collaborationRoot && !collaborationRoot.businessObject.participants.length) {\n\n // replace empty collaboration with process diagram\n modeling.makeProcess();\n }\n }, true);\n\n}\n\nRemoveParticipantBehavior.$inject = [ 'eventBus', 'modeling' ];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(RemoveParticipantBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveParticipantBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceConnectionBehavior.js":
/*!******************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceConnectionBehavior.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ReplaceConnectionBehavior)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\n\n\n\nfunction ReplaceConnectionBehavior(eventBus, modeling, bpmnRules, injector) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n var dragging = injector.get('dragging', false);\n\n function fixConnection(connection) {\n\n var source = connection.source,\n target = connection.target,\n parent = connection.parent;\n\n // do not do anything if connection\n // is already deleted (may happen due to other\n // behaviors plugged-in before)\n if (!parent) {\n return;\n }\n\n var replacementType,\n remove;\n\n /**\n * Check if incoming or outgoing connections\n * can stay or could be substituted with an\n * appropriate replacement.\n *\n * This holds true for SequenceFlow <> MessageFlow.\n */\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:SequenceFlow')) {\n if (!bpmnRules.canConnectSequenceFlow(source, target)) {\n remove = true;\n }\n\n if (bpmnRules.canConnectMessageFlow(source, target)) {\n replacementType = 'bpmn:MessageFlow';\n }\n }\n\n // transform message flows into sequence flows, if possible\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:MessageFlow')) {\n\n if (!bpmnRules.canConnectMessageFlow(source, target)) {\n remove = true;\n }\n\n if (bpmnRules.canConnectSequenceFlow(source, target)) {\n replacementType = 'bpmn:SequenceFlow';\n }\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:Association') && !bpmnRules.canConnectAssociation(source, target)) {\n remove = true;\n }\n\n\n // remove invalid connection,\n // unless it has been removed already\n if (remove) {\n modeling.removeConnection(connection);\n }\n\n // replace SequenceFlow <> MessageFlow\n\n if (replacementType) {\n modeling.connect(source, target, {\n type: replacementType,\n waypoints: connection.waypoints.slice()\n });\n }\n }\n\n function replaceReconnectedConnection(event) {\n\n var context = event.context,\n connection = context.connection,\n source = context.newSource || connection.source,\n target = context.newTarget || connection.target,\n allowed,\n replacement;\n\n allowed = bpmnRules.canConnect(source, target);\n\n if (!allowed || allowed.type === connection.type) {\n return;\n }\n\n replacement = modeling.connect(source, target, {\n type: allowed.type,\n waypoints: connection.waypoints.slice()\n });\n\n // remove old connection\n modeling.removeConnection(connection);\n\n // replace connection in context to reconnect end/start\n context.connection = replacement;\n\n if (dragging) {\n cleanDraggingSelection(connection, replacement);\n }\n }\n\n // monkey-patch selection saved in dragging in order to re-select it when operation is finished\n function cleanDraggingSelection(oldConnection, newConnection) {\n var context = dragging.context(),\n previousSelection = context && context.payload.previousSelection,\n index;\n\n // do nothing if not dragging or no selection was present\n if (!previousSelection || !previousSelection.length) {\n return;\n }\n\n index = previousSelection.indexOf(oldConnection);\n\n if (index === -1) {\n return;\n }\n\n previousSelection.splice(index, 1, newConnection);\n }\n\n // lifecycle hooks\n\n this.postExecuted('elements.move', function(context) {\n\n var closure = context.closure,\n allConnections = closure.allConnections;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(allConnections, fixConnection);\n }, true);\n\n this.preExecute('connection.reconnect', replaceReconnectedConnection);\n\n this.postExecuted('element.updateProperties', function(event) {\n var context = event.context,\n properties = context.properties,\n element = context.element,\n businessObject = element.businessObject,\n connection;\n\n // remove condition on change to default\n if (properties.default) {\n connection = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.find)(\n element.outgoing,\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.matchPattern)({ id: element.businessObject.default.id })\n );\n\n if (connection) {\n modeling.updateProperties(connection, { conditionExpression: undefined });\n }\n }\n\n // remove default from source on change to conditional\n if (properties.conditionExpression && businessObject.sourceRef.default === businessObject) {\n modeling.updateProperties(element.source, { default: undefined });\n }\n });\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(ReplaceConnectionBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nReplaceConnectionBehavior.$inject = [\n 'eventBus',\n 'modeling',\n 'bpmnRules',\n 'injector'\n];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceConnectionBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceElementBehaviour.js":
/*!****************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceElementBehaviour.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ReplaceElementBehaviour)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n\n\n\n\n\n\n\n\n\n/**\n * BPMN-specific replace behavior.\n */\nfunction ReplaceElementBehaviour(\n bpmnReplace,\n bpmnRules,\n elementRegistry,\n injector,\n modeling,\n selection\n) {\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\n\n this._bpmnReplace = bpmnReplace;\n this._elementRegistry = elementRegistry;\n this._selection = selection;\n\n // replace elements on create, e.g. during copy-paste\n this.postExecuted([ 'elements.create' ], 500, function(event) {\n var context = event.context,\n target = context.parent,\n elements = context.elements;\n\n var canReplace = bpmnRules.canReplace(elements, target);\n\n if (canReplace) {\n this.replaceElements(elements, canReplace.replacements);\n }\n }, this);\n\n // replace elements on move\n this.postExecuted([ 'elements.move' ], 500, function(event) {\n var context = event.context,\n target = context.newParent,\n newHost = context.newHost,\n elements = [];\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(context.closure.topLevel, function(topLevelElements) {\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_3__.isEventSubProcess)(topLevelElements)) {\n elements = elements.concat(topLevelElements.children);\n } else {\n elements = elements.concat(topLevelElements);\n }\n });\n\n // set target to host if attaching\n if (elements.length === 1 && newHost) {\n target = newHost;\n }\n\n var canReplace = bpmnRules.canReplace(elements, target);\n\n if (canReplace) {\n this.replaceElements(elements, canReplace.replacements, newHost);\n }\n }, this);\n\n // update attachments on host replace\n this.postExecute([ 'shape.replace' ], 1500, function(e) {\n var context = e.context,\n oldShape = context.oldShape,\n newShape = context.newShape,\n attachers = oldShape.attachers,\n canReplace;\n\n if (attachers && attachers.length) {\n canReplace = bpmnRules.canReplace(attachers, newShape);\n\n this.replaceElements(attachers, canReplace.replacements);\n }\n\n }, this);\n\n // keep ID on shape replace\n this.postExecuted([ 'shape.replace' ], 1500, function(e) {\n var context = e.context,\n oldShape = context.oldShape,\n newShape = context.newShape;\n\n modeling.unclaimId(oldShape.businessObject.id, oldShape.businessObject);\n modeling.updateProperties(newShape, { id: oldShape.id });\n });\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(ReplaceElementBehaviour, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nReplaceElementBehaviour.prototype.replaceElements = function(elements, newElements) {\n var elementRegistry = this._elementRegistry,\n bpmnReplace = this._bpmnReplace,\n selection = this._selection;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(newElements, function(replacement) {\n var newElement = {\n type: replacement.newElementType\n };\n\n var oldElement = elementRegistry.get(replacement.oldElementId);\n\n var idx = elements.indexOf(oldElement);\n\n elements[idx] = bpmnReplace.replaceElement(oldElement, newElement, { select: false });\n });\n\n if (newElements) {\n selection.select(elements);\n }\n};\n\nReplaceElementBehaviour.$inject = [\n 'bpmnReplace',\n 'bpmnRules',\n 'elementRegistry',\n 'injector',\n 'modeling',\n 'selection'\n];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceElementBehaviour.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeBehavior.js":
/*!*******************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeBehavior.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LANE_MIN_DIMENSIONS\": () => (/* binding */ LANE_MIN_DIMENSIONS),\n/* harmony export */ \"PARTICIPANT_MIN_DIMENSIONS\": () => (/* binding */ PARTICIPANT_MIN_DIMENSIONS),\n/* harmony export */ \"SUB_PROCESS_MIN_DIMENSIONS\": () => (/* binding */ SUB_PROCESS_MIN_DIMENSIONS),\n/* harmony export */ \"TEXT_ANNOTATION_MIN_DIMENSIONS\": () => (/* binding */ TEXT_ANNOTATION_MIN_DIMENSIONS),\n/* harmony export */ \"default\": () => (/* binding */ ResizeBehavior)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _util_ResizeUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/ResizeUtil */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/ResizeUtil.js\");\n\r\n\r\n\r\n\r\n\r\n\r\nvar HIGH_PRIORITY = 1500;\r\n\r\nvar LANE_MIN_DIMENSIONS = { width: 300, height: 60 };\r\n\r\nvar PARTICIPANT_MIN_DIMENSIONS = { width: 300, height: 150 };\r\n\r\nvar SUB_PROCESS_MIN_DIMENSIONS = { width: 140, height: 120 };\r\n\r\nvar TEXT_ANNOTATION_MIN_DIMENSIONS = { width: 50, height: 30 };\r\n\r\n\r\n/**\r\n * Set minimum bounds/resize constraints on resize.\r\n *\r\n * @param {EventBus} eventBus\r\n */\r\nfunction ResizeBehavior(eventBus) {\r\n eventBus.on('resize.start', HIGH_PRIORITY, function(event) {\r\n var context = event.context,\r\n shape = context.shape,\r\n direction = context.direction,\r\n balanced = context.balanced;\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Lane') || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Participant')) {\r\n context.resizeConstraints = (0,_util_ResizeUtil__WEBPACK_IMPORTED_MODULE_1__.getParticipantResizeConstraints)(shape, direction, balanced);\r\n }\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Participant')) {\r\n context.minDimensions = PARTICIPANT_MIN_DIMENSIONS;\r\n }\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:SubProcess') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_2__.isExpanded)(shape)) {\r\n context.minDimensions = SUB_PROCESS_MIN_DIMENSIONS;\r\n }\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:TextAnnotation')) {\r\n context.minDimensions = TEXT_ANNOTATION_MIN_DIMENSIONS;\r\n }\r\n });\r\n}\r\n\r\nResizeBehavior.$inject = [ 'eventBus' ];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeLaneBehavior.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeLaneBehavior.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ResizeLaneBehavior)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Mouse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/util/Mouse */ \"./node_modules/diagram-js/lib/util/Mouse.js\");\n\n\n\n\n\n\nvar SLIGHTLY_HIGHER_PRIORITY = 1001;\n\n\n/**\n * Invoke {@link Modeling#resizeLane} instead of\n * {@link Modeling#resizeShape} when resizing a Lane\n * or Participant shape.\n */\nfunction ResizeLaneBehavior(eventBus, modeling) {\n\n eventBus.on('resize.start', SLIGHTLY_HIGHER_PRIORITY + 500, function(event) {\n var context = event.context,\n shape = context.shape;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Lane') || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Participant')) {\n\n // should we resize the opposite lane(s) in\n // order to compensate for the resize operation?\n context.balanced = !(0,diagram_js_lib_util_Mouse__WEBPACK_IMPORTED_MODULE_1__.hasPrimaryModifier)(event);\n }\n });\n\n /**\n * Intercept resize end and call resize lane function instead.\n */\n eventBus.on('resize.end', SLIGHTLY_HIGHER_PRIORITY, function(event) {\n var context = event.context,\n shape = context.shape,\n canExecute = context.canExecute,\n newBounds = context.newBounds;\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Lane') || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(shape, 'bpmn:Participant')) {\n\n if (canExecute) {\n\n // ensure we have actual pixel values for new bounds\n // (important when zoom level was > 1 during move)\n newBounds = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__.roundBounds)(newBounds);\n\n // perform the actual resize\n modeling.resizeLane(shape, newBounds, context.balanced);\n }\n\n // stop propagation\n return false;\n }\n });\n}\n\nResizeLaneBehavior.$inject = [\n 'eventBus',\n 'modeling'\n];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeLaneBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/RootElementReferenceBehavior.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/RootElementReferenceBehavior.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootElementReferenceBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar LOW_PRIORITY = 500;\r\n\r\n\r\n/**\r\n * Add referenced root elements (error, escalation, message, signal) if they don't exist.\r\n * Copy referenced root elements on copy & paste.\r\n */\r\nfunction RootElementReferenceBehavior(\r\n bpmnjs, eventBus, injector, moddleCopy, bpmnFactory\r\n) {\r\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\r\n\r\n function canHaveRootElementReference(element) {\r\n return (0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__.isAny)(element, [ 'bpmn:ReceiveTask', 'bpmn:SendTask' ]) ||\r\n hasAnyEventDefinition(element, [\r\n 'bpmn:ErrorEventDefinition',\r\n 'bpmn:EscalationEventDefinition',\r\n 'bpmn:MessageEventDefinition',\r\n 'bpmn:SignalEventDefinition'\r\n ]);\r\n }\r\n\r\n function hasRootElement(rootElement) {\r\n var definitions = bpmnjs.getDefinitions(),\r\n rootElements = definitions.get('rootElements');\r\n\r\n return !!(0,min_dash__WEBPACK_IMPORTED_MODULE_3__.find)(rootElements, (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.matchPattern)({ id: rootElement.id }));\r\n }\r\n\r\n function getRootElementReferencePropertyName(eventDefinition) {\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(eventDefinition, 'bpmn:ErrorEventDefinition')) {\r\n return 'errorRef';\r\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(eventDefinition, 'bpmn:EscalationEventDefinition')) {\r\n return 'escalationRef';\r\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(eventDefinition, 'bpmn:MessageEventDefinition')) {\r\n return 'messageRef';\r\n } else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(eventDefinition, 'bpmn:SignalEventDefinition')) {\r\n return 'signalRef';\r\n }\r\n }\r\n\r\n function getRootElement(businessObject) {\r\n if ((0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__.isAny)(businessObject, [ 'bpmn:ReceiveTask', 'bpmn:SendTask' ])) {\r\n return businessObject.get('messageRef');\r\n }\r\n\r\n var eventDefinitions = businessObject.get('eventDefinitions'),\r\n eventDefinition = eventDefinitions[ 0 ];\r\n\r\n return eventDefinition.get(getRootElementReferencePropertyName(eventDefinition));\r\n }\r\n\r\n function setRootElement(businessObject, rootElement) {\r\n if ((0,_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__.isAny)(businessObject, [ 'bpmn:ReceiveTask', 'bpmn:SendTask' ])) {\r\n return businessObject.set('messageRef', rootElement);\r\n }\r\n\r\n var eventDefinitions = businessObject.get('eventDefinitions'),\r\n eventDefinition = eventDefinitions[ 0 ];\r\n\r\n return eventDefinition.set(getRootElementReferencePropertyName(eventDefinition), rootElement);\r\n }\r\n\r\n // create shape\r\n this.executed('shape.create', function(context) {\r\n var shape = context.shape;\r\n\r\n if (!canHaveRootElementReference(shape)) {\r\n return;\r\n }\r\n\r\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.getBusinessObject)(shape),\r\n rootElement = getRootElement(businessObject),\r\n rootElements;\r\n\r\n if (rootElement && !hasRootElement(rootElement)) {\r\n rootElements = bpmnjs.getDefinitions().get('rootElements');\r\n\r\n // add root element\r\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_5__.add)(rootElements, rootElement);\r\n\r\n context.addedRootElement = rootElement;\r\n }\r\n }, true);\r\n\r\n this.reverted('shape.create', function(context) {\r\n var addedRootElement = context.addedRootElement;\r\n\r\n if (!addedRootElement) {\r\n return;\r\n }\r\n\r\n var rootElements = bpmnjs.getDefinitions().get('rootElements');\r\n\r\n // remove root element\r\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_5__.remove)(rootElements, addedRootElement);\r\n }, true);\r\n\r\n eventBus.on('copyPaste.copyElement', function(context) {\r\n var descriptor = context.descriptor,\r\n element = context.element;\r\n\r\n if (!canHaveRootElementReference(element)) {\r\n return;\r\n }\r\n\r\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.getBusinessObject)(element),\r\n rootElement = getRootElement(businessObject);\r\n\r\n if (rootElement) {\r\n descriptor.referencedRootElement = rootElement;\r\n }\r\n });\r\n\r\n eventBus.on('copyPaste.pasteElement', LOW_PRIORITY, function(context) {\r\n var descriptor = context.descriptor,\r\n businessObject = descriptor.businessObject;\r\n\r\n if (!canHaveRootElementReference(businessObject)) {\r\n return;\r\n }\r\n\r\n var referencedRootElement = descriptor.referencedRootElement;\r\n\r\n if (!referencedRootElement) {\r\n return;\r\n }\r\n\r\n if (!hasRootElement(referencedRootElement)) {\r\n referencedRootElement = moddleCopy.copyElement(\r\n referencedRootElement,\r\n bpmnFactory.create(referencedRootElement.$type)\r\n );\r\n }\r\n\r\n setRootElement(businessObject, referencedRootElement);\r\n });\r\n}\r\n\r\nRootElementReferenceBehavior.$inject = [\r\n 'bpmnjs',\r\n 'eventBus',\r\n 'injector',\r\n 'moddleCopy',\r\n 'bpmnFactory'\r\n];\r\n\r\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(RootElementReferenceBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\r\n\r\n// helpers //////////\r\n\r\nfunction hasAnyEventDefinition(element, types) {\r\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_3__.isArray)(types)) {\r\n types = [ types ];\r\n }\r\n\r\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.some)(types, function(type) {\r\n return (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.hasEventDefinition)(element, type);\r\n });\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/RootElementReferenceBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/SpaceToolBehavior.js":
/*!**********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/SpaceToolBehavior.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SpaceToolBehavior)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ResizeBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeBehavior.js\");\n/* harmony import */ var _util_LaneUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar max = Math.max;\r\n\r\n\r\nfunction SpaceToolBehavior(eventBus) {\r\n eventBus.on('spaceTool.getMinDimensions', function(context) {\r\n var shapes = context.shapes,\r\n axis = context.axis,\r\n start = context.start,\r\n minDimensions = {};\r\n\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(shapes, function(shape) {\r\n var id = shape.id;\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(shape, 'bpmn:Participant')) {\r\n\r\n if (isHorizontal(axis)) {\r\n minDimensions[ id ] = _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.PARTICIPANT_MIN_DIMENSIONS;\r\n } else {\r\n minDimensions[ id ] = {\r\n width: _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.PARTICIPANT_MIN_DIMENSIONS.width,\r\n height: getParticipantMinHeight(shape, start)\r\n };\r\n }\r\n\r\n }\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(shape, 'bpmn:SubProcess') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_3__.isExpanded)(shape)) {\r\n minDimensions[ id ] = _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.SUB_PROCESS_MIN_DIMENSIONS;\r\n }\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(shape, 'bpmn:TextAnnotation')) {\r\n minDimensions[ id ] = _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.TEXT_ANNOTATION_MIN_DIMENSIONS;\r\n }\r\n });\r\n\r\n return minDimensions;\r\n });\r\n}\r\n\r\nSpaceToolBehavior.$inject = [ 'eventBus' ];\r\n\r\n\r\n// helpers //////////\r\nfunction isHorizontal(axis) {\r\n return axis === 'x';\r\n}\r\n\r\n/**\r\n * Get minimum height for participant taking lanes into account.\r\n *\r\n * @param {} participant\r\n * @param {number} start\r\n *\r\n * @returns {Object}\r\n */\r\nfunction getParticipantMinHeight(participant, start) {\r\n var lanesMinHeight;\r\n\r\n if (!hasChildLanes(participant)) {\r\n return _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.PARTICIPANT_MIN_DIMENSIONS.height;\r\n }\r\n\r\n lanesMinHeight = getLanesMinHeight(participant, start);\r\n\r\n return max(_ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.PARTICIPANT_MIN_DIMENSIONS.height, lanesMinHeight);\r\n}\r\n\r\nfunction hasChildLanes(element) {\r\n return !!(0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_4__.getChildLanes)(element).length;\r\n}\r\n\r\nfunction getLanesMinHeight(participant, resizeStart) {\r\n var lanes = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_4__.getChildLanes)(participant),\r\n resizedLane;\r\n\r\n // find the nested lane which is currently resized\r\n resizedLane = findResizedLane(lanes, resizeStart);\r\n\r\n // resized lane cannot shrink below the minimum height\r\n // but remaining lanes' dimensions are kept intact\r\n return participant.height - resizedLane.height + _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.LANE_MIN_DIMENSIONS.height;\r\n}\r\n\r\n/**\r\n * Find nested lane which is currently resized.\r\n *\r\n * @param {Array} lanes\r\n * @param {number} resizeStart\r\n */\r\nfunction findResizedLane(lanes, resizeStart) {\r\n var i, lane, childLanes;\r\n\r\n for (i = 0; i < lanes.length; i++) {\r\n lane = lanes[i];\r\n\r\n // resizing current lane or a lane nested\r\n if (resizeStart >= lane.y && resizeStart <= lane.y + lane.height) {\r\n childLanes = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_4__.getChildLanes)(lane);\r\n\r\n // a nested lane is resized\r\n if (childLanes.length) {\r\n return findResizedLane(childLanes, resizeStart);\r\n }\r\n\r\n // current lane is the resized one\r\n return lane;\r\n }\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/SpaceToolBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/SubProcessStartEventBehavior.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/SubProcessStartEventBehavior.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SubProcessStartEventBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/DiUtil.js */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n\n\n\n\n\n\n\n/**\n * Add start event replacing element with expanded sub process.\n *\n * @param {Injector} injector\n * @param {Modeling} modeling\n */\nfunction SubProcessStartEventBehavior(injector, modeling) {\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\n\n this.postExecuted('shape.replace', function(event) {\n var oldShape = event.context.oldShape,\n newShape = event.context.newShape;\n\n if (\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(newShape, 'bpmn:SubProcess') ||\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(oldShape, 'bpmn:Task') ||\n !(0,_util_DiUtil_js__WEBPACK_IMPORTED_MODULE_3__.isExpanded)(newShape)\n ) {\n return;\n }\n\n var position = getStartEventPosition(newShape);\n\n modeling.createShape({ type: 'bpmn:StartEvent' }, position, newShape);\n });\n}\n\nSubProcessStartEventBehavior.$inject = [\n 'injector',\n 'modeling'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(SubProcessStartEventBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n// helpers //////////\n\nfunction getStartEventPosition(shape) {\n return {\n x: shape.x + shape.width / 6,\n y: shape.y + shape.height / 2\n };\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/SubProcessStartEventBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ToggleElementCollapseBehaviour)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_features_resize_ResizeUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/features/resize/ResizeUtil */ \"./node_modules/diagram-js/lib/features/resize/ResizeUtil.js\");\n\n\n\n\n\n\n\n\n\nvar LOW_PRIORITY = 500;\n\n\nfunction ToggleElementCollapseBehaviour(\n eventBus, elementFactory, modeling,\n resize) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n\n function hideEmptyLabels(children) {\n if (children.length) {\n children.forEach(function(child) {\n if (child.type === 'label' && !child.businessObject.name) {\n child.hidden = true;\n }\n });\n }\n }\n\n function expandedBounds(shape, defaultSize) {\n var children = shape.children,\n newBounds = defaultSize,\n visibleElements,\n visibleBBox;\n\n visibleElements = filterVisible(children).concat([ shape ]);\n\n visibleBBox = (0,diagram_js_lib_features_resize_ResizeUtil__WEBPACK_IMPORTED_MODULE_2__.computeChildrenBBox)(visibleElements);\n\n if (visibleBBox) {\n\n // center to visibleBBox with max(defaultSize, childrenBounds)\n newBounds.width = Math.max(visibleBBox.width, newBounds.width);\n newBounds.height = Math.max(visibleBBox.height, newBounds.height);\n\n newBounds.x = visibleBBox.x + (visibleBBox.width - newBounds.width) / 2;\n newBounds.y = visibleBBox.y + (visibleBBox.height - newBounds.height) / 2;\n } else {\n\n // center to collapsed shape with defaultSize\n newBounds.x = shape.x + (shape.width - newBounds.width) / 2;\n newBounds.y = shape.y + (shape.height - newBounds.height) / 2;\n }\n\n return newBounds;\n }\n\n function collapsedBounds(shape, defaultSize) {\n\n return {\n x: shape.x + (shape.width - defaultSize.width) / 2,\n y: shape.y + (shape.height - defaultSize.height) / 2,\n width: defaultSize.width,\n height: defaultSize.height\n };\n }\n\n this.executed([ 'shape.toggleCollapse' ], LOW_PRIORITY, function(e) {\n\n var context = e.context,\n shape = context.shape;\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(shape, 'bpmn:SubProcess')) {\n return;\n }\n\n if (!shape.collapsed) {\n\n // all children got made visible through djs, hide empty labels\n hideEmptyLabels(shape.children);\n\n // remove collapsed marker\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(shape).di.isExpanded = true;\n } else {\n\n // place collapsed marker\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(shape).di.isExpanded = false;\n }\n });\n\n this.reverted([ 'shape.toggleCollapse' ], LOW_PRIORITY, function(e) {\n\n var context = e.context;\n var shape = context.shape;\n\n\n // revert removing/placing collapsed marker\n if (!shape.collapsed) {\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(shape).di.isExpanded = true;\n\n } else {\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(shape).di.isExpanded = false;\n }\n });\n\n this.postExecuted([ 'shape.toggleCollapse' ], LOW_PRIORITY, function(e) {\n var shape = e.context.shape,\n defaultSize = elementFactory._getDefaultSize(shape),\n newBounds;\n\n if (shape.collapsed) {\n\n // resize to default size of collapsed shapes\n newBounds = collapsedBounds(shape, defaultSize);\n } else {\n\n // resize to bounds of max(visible children, defaultSize)\n newBounds = expandedBounds(shape, defaultSize);\n }\n\n modeling.resizeShape(shape, newBounds, null, {\n autoResize: shape.collapsed ? false : 'nwse'\n });\n });\n\n}\n\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(ToggleElementCollapseBehaviour, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nToggleElementCollapseBehaviour.$inject = [\n 'eventBus',\n 'elementFactory',\n 'modeling'\n];\n\n\n// helpers //////////////////////\n\nfunction filterVisible(elements) {\n return elements.filter(function(e) {\n return !e.hidden;\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/UnclaimIdBehavior.js":
/*!**********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/UnclaimIdBehavior.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UnclaimIdBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Unclaims model IDs on element deletion.\n *\n * @param {Canvas} canvas\n * @param {Injector} injector\n * @param {Moddle} moddle\n * @param {Modeling} modeling\n */\nfunction UnclaimIdBehavior(canvas, injector, moddle, modeling) {\n injector.invoke(diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default, this);\n\n this.preExecute('shape.delete', function(event) {\n var context = event.context,\n shape = context.shape,\n shapeBo = shape.businessObject;\n\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_2__.isLabel)(shape)) {\n return;\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(shape, 'bpmn:Participant') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(shape)) {\n moddle.ids.unclaim(shapeBo.processRef.id);\n }\n\n modeling.unclaimId(shapeBo.id, shapeBo);\n });\n\n\n this.preExecute('connection.delete', function(event) {\n var context = event.context,\n connection = context.connection,\n connectionBo = connection.businessObject;\n\n modeling.unclaimId(connectionBo.id, connectionBo);\n });\n\n this.preExecute('canvas.updateRoot', function() {\n var rootElement = canvas.getRootElement(),\n rootElementBo = rootElement.businessObject;\n\n moddle.ids.unclaim(rootElementBo.id);\n });\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(UnclaimIdBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nUnclaimIdBehavior.$inject = [ 'canvas', 'injector', 'moddle', 'modeling' ];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/UnclaimIdBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DeleteSequenceFlowBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\n\n/**\n * A behavior that unsets the Default property of\n * sequence flow source on element delete, if the\n * removed element is the Gateway or Task's default flow.\n *\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n */\nfunction DeleteSequenceFlowBehavior(eventBus, modeling) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n\n this.preExecute('connection.delete', function(event) {\n var context = event.context,\n connection = context.connection,\n source = connection.source;\n\n if (isDefaultFlow(connection, source)) {\n modeling.updateProperties(source, {\n 'default': null\n });\n }\n });\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(DeleteSequenceFlowBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nDeleteSequenceFlowBehavior.$inject = [\n 'eventBus',\n 'modeling'\n];\n\n\n// helpers //////////////////////\n\nfunction isDefaultFlow(connection, source) {\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(connection, 'bpmn:SequenceFlow')) {\n return false;\n }\n\n var sourceBo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(source),\n sequenceFlow = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(connection);\n\n return sourceBo.get('default') === sequenceFlow;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UpdateFlowNodeRefsBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n\nvar LOW_PRIORITY = 500,\n HIGH_PRIORITY = 5000;\n\n\n/**\n * BPMN specific delete lane behavior\n */\nfunction UpdateFlowNodeRefsBehavior(eventBus, modeling, translate) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n /**\n * Ok, this is it:\n *\n * We have to update the Lane#flowNodeRefs _and_\n * FlowNode#lanes with every FlowNode move/resize and\n * Lane move/resize.\n *\n * We want to group that stuff to recompute containments\n * as efficient as possible.\n *\n * Yea!\n */\n\n // the update context\n var context;\n\n\n function initContext() {\n context = context || new UpdateContext();\n context.enter();\n\n return context;\n }\n\n function getContext() {\n if (!context) {\n throw new Error(translate('out of bounds release'));\n }\n\n return context;\n }\n\n function releaseContext() {\n\n if (!context) {\n throw new Error(translate('out of bounds release'));\n }\n\n var triggerUpdate = context.leave();\n\n if (triggerUpdate) {\n modeling.updateLaneRefs(context.flowNodes, context.lanes);\n\n context = null;\n }\n\n return triggerUpdate;\n }\n\n\n var laneRefUpdateEvents = [\n 'spaceTool',\n 'lane.add',\n 'lane.resize',\n 'lane.split',\n 'elements.create',\n 'elements.delete',\n 'elements.move',\n 'shape.create',\n 'shape.delete',\n 'shape.move',\n 'shape.resize'\n ];\n\n\n // listen to a lot of stuff to group lane updates\n\n this.preExecute(laneRefUpdateEvents, HIGH_PRIORITY, function(event) {\n initContext();\n });\n\n this.postExecuted(laneRefUpdateEvents, LOW_PRIORITY, function(event) {\n releaseContext();\n });\n\n\n // Mark flow nodes + lanes that need an update\n\n this.preExecute([\n 'shape.create',\n 'shape.move',\n 'shape.delete',\n 'shape.resize'\n ], function(event) {\n\n var context = event.context,\n shape = context.shape;\n\n var updateContext = getContext();\n\n // no need to update labels\n if (shape.labelTarget) {\n return;\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:Lane')) {\n updateContext.addLane(shape);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(shape, 'bpmn:FlowNode')) {\n updateContext.addFlowNode(shape);\n }\n });\n}\n\nUpdateFlowNodeRefsBehavior.$inject = [\n 'eventBus',\n 'modeling' ,\n 'translate'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(UpdateFlowNodeRefsBehavior, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\nfunction UpdateContext() {\n\n this.flowNodes = [];\n this.lanes = [];\n\n this.counter = 0;\n\n this.addLane = function(lane) {\n this.lanes.push(lane);\n };\n\n this.addFlowNode = function(flowNode) {\n this.flowNodes.push(flowNode);\n };\n\n this.enter = function() {\n this.counter++;\n };\n\n this.leave = function() {\n this.counter--;\n\n return !this.counter;\n };\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/index.js":
/*!**********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/index.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _AdaptiveLabelPositioningBehavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AdaptiveLabelPositioningBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js\");\n/* harmony import */ var _AppendBehavior__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppendBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/AppendBehavior.js\");\n/* harmony import */ var _AssociationBehavior__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AssociationBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/AssociationBehavior.js\");\n/* harmony import */ var _AttachEventBehavior__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AttachEventBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/AttachEventBehavior.js\");\n/* harmony import */ var _BoundaryEventBehavior__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BoundaryEventBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/BoundaryEventBehavior.js\");\n/* harmony import */ var _RootElementReferenceBehavior__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RootElementReferenceBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/RootElementReferenceBehavior.js\");\n/* harmony import */ var _CreateBehavior__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CreateBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/CreateBehavior.js\");\n/* harmony import */ var _FixHoverBehavior__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./FixHoverBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/FixHoverBehavior.js\");\n/* harmony import */ var _CreateDataObjectBehavior__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CreateDataObjectBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/CreateDataObjectBehavior.js\");\n/* harmony import */ var _CreateParticipantBehavior__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./CreateParticipantBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/CreateParticipantBehavior.js\");\n/* harmony import */ var _DataInputAssociationBehavior__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./DataInputAssociationBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/DataInputAssociationBehavior.js\");\n/* harmony import */ var _DataStoreBehavior__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./DataStoreBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/DataStoreBehavior.js\");\n/* harmony import */ var _DeleteLaneBehavior__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./DeleteLaneBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/DeleteLaneBehavior.js\");\n/* harmony import */ var _DetachEventBehavior__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./DetachEventBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/DetachEventBehavior.js\");\n/* harmony import */ var _DropOnFlowBehavior__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./DropOnFlowBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/DropOnFlowBehavior.js\");\n/* harmony import */ var _EventBasedGatewayBehavior__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./EventBasedGatewayBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/EventBasedGatewayBehavior.js\");\n/* harmony import */ var _GroupBehavior__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./GroupBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/GroupBehavior.js\");\n/* harmony import */ var _ImportDockingFix__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ImportDockingFix */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ImportDockingFix.js\");\n/* harmony import */ var _IsHorizontalFix__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./IsHorizontalFix */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/IsHorizontalFix.js\");\n/* harmony import */ var _LabelBehavior__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./LabelBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/LabelBehavior.js\");\n/* harmony import */ var _MessageFlowBehavior__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./MessageFlowBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/MessageFlowBehavior.js\");\n/* harmony import */ var _ModelingFeedback__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./ModelingFeedback */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ModelingFeedback.js\");\n/* harmony import */ var _ReplaceConnectionBehavior__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./ReplaceConnectionBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceConnectionBehavior.js\");\n/* harmony import */ var _RemoveParticipantBehavior__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./RemoveParticipantBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveParticipantBehavior.js\");\n/* harmony import */ var _ReplaceElementBehaviour__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./ReplaceElementBehaviour */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceElementBehaviour.js\");\n/* harmony import */ var _ResizeBehavior__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./ResizeBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeBehavior.js\");\n/* harmony import */ var _ResizeLaneBehavior__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./ResizeLaneBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeLaneBehavior.js\");\n/* harmony import */ var _RemoveElementBehavior__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./RemoveElementBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveElementBehavior.js\");\n/* harmony import */ var _SpaceToolBehavior__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./SpaceToolBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/SpaceToolBehavior.js\");\n/* harmony import */ var _SubProcessStartEventBehavior__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./SubProcessStartEventBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/SubProcessStartEventBehavior.js\");\n/* harmony import */ var _ToggleElementCollapseBehaviour__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./ToggleElementCollapseBehaviour */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js\");\n/* harmony import */ var _UnclaimIdBehavior__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./UnclaimIdBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/UnclaimIdBehavior.js\");\n/* harmony import */ var _UpdateFlowNodeRefsBehavior__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./UpdateFlowNodeRefsBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js\");\n/* harmony import */ var _UnsetDefaultFlowBehavior__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./UnsetDefaultFlowBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [\n 'adaptiveLabelPositioningBehavior',\n 'appendBehavior',\n 'associationBehavior',\n 'attachEventBehavior',\n 'boundaryEventBehavior',\n 'rootElementReferenceBehavior',\n 'createBehavior',\n 'fixHoverBehavior',\n 'createDataObjectBehavior',\n 'createParticipantBehavior',\n 'dataStoreBehavior',\n 'dataInputAssociationBehavior',\n 'deleteLaneBehavior',\n 'detachEventBehavior',\n 'dropOnFlowBehavior',\n 'eventBasedGatewayBehavior',\n 'groupBehavior',\n 'importDockingFix',\n 'isHorizontalFix',\n 'labelBehavior',\n 'messageFlowBehavior',\n 'modelingFeedback',\n 'removeElementBehavior',\n 'removeParticipantBehavior',\n 'replaceConnectionBehavior',\n 'replaceElementBehaviour',\n 'resizeBehavior',\n 'resizeLaneBehavior',\n 'toggleElementCollapseBehaviour',\n 'spaceToolBehavior',\n 'subProcessStartEventBehavior',\n 'unclaimIdBehavior',\n 'unsetDefaultFlowBehavior',\n 'updateFlowNodeRefsBehavior'\n ],\n adaptiveLabelPositioningBehavior: [ 'type', _AdaptiveLabelPositioningBehavior__WEBPACK_IMPORTED_MODULE_0__.default ],\n appendBehavior: [ 'type', _AppendBehavior__WEBPACK_IMPORTED_MODULE_1__.default ],\n associationBehavior: [ 'type', _AssociationBehavior__WEBPACK_IMPORTED_MODULE_2__.default ],\n attachEventBehavior: [ 'type', _AttachEventBehavior__WEBPACK_IMPORTED_MODULE_3__.default ],\n boundaryEventBehavior: [ 'type', _BoundaryEventBehavior__WEBPACK_IMPORTED_MODULE_4__.default ],\n rootElementReferenceBehavior: [ 'type', _RootElementReferenceBehavior__WEBPACK_IMPORTED_MODULE_5__.default ],\n createBehavior: [ 'type', _CreateBehavior__WEBPACK_IMPORTED_MODULE_6__.default ],\n fixHoverBehavior: [ 'type', _FixHoverBehavior__WEBPACK_IMPORTED_MODULE_7__.default ],\n createDataObjectBehavior: [ 'type', _CreateDataObjectBehavior__WEBPACK_IMPORTED_MODULE_8__.default ],\n createParticipantBehavior: [ 'type', _CreateParticipantBehavior__WEBPACK_IMPORTED_MODULE_9__.default ],\n dataInputAssociationBehavior: [ 'type', _DataInputAssociationBehavior__WEBPACK_IMPORTED_MODULE_10__.default ],\n dataStoreBehavior: [ 'type', _DataStoreBehavior__WEBPACK_IMPORTED_MODULE_11__.default ],\n deleteLaneBehavior: [ 'type', _DeleteLaneBehavior__WEBPACK_IMPORTED_MODULE_12__.default ],\n detachEventBehavior: [ 'type', _DetachEventBehavior__WEBPACK_IMPORTED_MODULE_13__.default ],\n dropOnFlowBehavior: [ 'type', _DropOnFlowBehavior__WEBPACK_IMPORTED_MODULE_14__.default ],\n eventBasedGatewayBehavior: [ 'type', _EventBasedGatewayBehavior__WEBPACK_IMPORTED_MODULE_15__.default ],\n groupBehavior: [ 'type', _GroupBehavior__WEBPACK_IMPORTED_MODULE_16__.default ],\n importDockingFix: [ 'type', _ImportDockingFix__WEBPACK_IMPORTED_MODULE_17__.default ],\n isHorizontalFix: [ 'type', _IsHorizontalFix__WEBPACK_IMPORTED_MODULE_18__.default ],\n labelBehavior: [ 'type', _LabelBehavior__WEBPACK_IMPORTED_MODULE_19__.default ],\n messageFlowBehavior: [ 'type', _MessageFlowBehavior__WEBPACK_IMPORTED_MODULE_20__.default ],\n modelingFeedback: [ 'type', _ModelingFeedback__WEBPACK_IMPORTED_MODULE_21__.default ],\n replaceConnectionBehavior: [ 'type', _ReplaceConnectionBehavior__WEBPACK_IMPORTED_MODULE_22__.default ],\n removeParticipantBehavior: [ 'type', _RemoveParticipantBehavior__WEBPACK_IMPORTED_MODULE_23__.default ],\n replaceElementBehaviour: [ 'type', _ReplaceElementBehaviour__WEBPACK_IMPORTED_MODULE_24__.default ],\n resizeBehavior: [ 'type', _ResizeBehavior__WEBPACK_IMPORTED_MODULE_25__.default ],\n resizeLaneBehavior: [ 'type', _ResizeLaneBehavior__WEBPACK_IMPORTED_MODULE_26__.default ],\n removeElementBehavior: [ 'type', _RemoveElementBehavior__WEBPACK_IMPORTED_MODULE_27__.default ],\n toggleElementCollapseBehaviour : [ 'type', _ToggleElementCollapseBehaviour__WEBPACK_IMPORTED_MODULE_28__.default ],\n spaceToolBehavior: [ 'type', _SpaceToolBehavior__WEBPACK_IMPORTED_MODULE_29__.default ],\n subProcessStartEventBehavior: [ 'type', _SubProcessStartEventBehavior__WEBPACK_IMPORTED_MODULE_30__.default ],\n unclaimIdBehavior: [ 'type', _UnclaimIdBehavior__WEBPACK_IMPORTED_MODULE_31__.default ],\n updateFlowNodeRefsBehavior: [ 'type', _UpdateFlowNodeRefsBehavior__WEBPACK_IMPORTED_MODULE_32__.default ],\n unsetDefaultFlowBehavior: [ 'type', _UnsetDefaultFlowBehavior__WEBPACK_IMPORTED_MODULE_33__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/util/CategoryUtil.js":
/*!**********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/util/CategoryUtil.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createCategoryValue\": () => (/* binding */ createCategoryValue)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n/**\n * Creates a new bpmn:CategoryValue inside a new bpmn:Category\n *\n * @param {ModdleElement} definitions\n * @param {BpmnFactory} bpmnFactory\n *\n * @return {ModdleElement} categoryValue.\n */\nfunction createCategoryValue(definitions, bpmnFactory) {\n var categoryValue = bpmnFactory.create('bpmn:CategoryValue'),\n category = bpmnFactory.create('bpmn:Category', {\n categoryValue: [ categoryValue ]\n });\n\n // add to correct place\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_0__.add)(definitions.get('rootElements'), category);\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(category).$parent = definitions;\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(categoryValue).$parent = category;\n\n return categoryValue;\n\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/util/CategoryUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/util/GeometricUtil.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/util/GeometricUtil.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"vectorLength\": () => (/* binding */ vectorLength),\n/* harmony export */ \"getAngle\": () => (/* binding */ getAngle),\n/* harmony export */ \"rotateVector\": () => (/* binding */ rotateVector),\n/* harmony export */ \"perpendicularFoot\": () => (/* binding */ perpendicularFoot),\n/* harmony export */ \"getDistancePointLine\": () => (/* binding */ getDistancePointLine),\n/* harmony export */ \"getDistancePointPoint\": () => (/* binding */ getDistancePointPoint)\n/* harmony export */ });\n/**\n * Returns the length of a vector\n *\n * @param {Vector}\n * @return {Float}\n */\nfunction vectorLength(v) {\n return Math.sqrt(Math.pow(v.x, 2) + Math.pow(v.y, 2));\n}\n\n\n/**\n * Calculates the angle between a line a the yAxis\n *\n * @param {Array}\n * @return {Float}\n */\nfunction getAngle(line) {\n\n // return value is between 0, 180 and -180, -0\n // @janstuemmel: maybe replace return a/b with b/a\n return Math.atan((line[1].y - line[0].y) / (line[1].x - line[0].x));\n}\n\n\n/**\n * Rotates a vector by a given angle\n *\n * @param {Vector}\n * @param {Float} Angle in radians\n * @return {Vector}\n */\nfunction rotateVector(vector, angle) {\n return (!angle) ? vector : {\n x: Math.cos(angle) * vector.x - Math.sin(angle) * vector.y,\n y: Math.sin(angle) * vector.x + Math.cos(angle) * vector.y\n };\n}\n\n\n/**\n * Solves a 2D equation system\n * a + r*b = c, where a,b,c are 2D vectors\n *\n * @param {Vector}\n * @param {Vector}\n * @param {Vector}\n * @return {Float}\n */\nfunction solveLambaSystem(a, b, c) {\n\n // the 2d system\n var system = [\n { n: a[0] - c[0], lambda: b[0] },\n { n: a[1] - c[1], lambda: b[1] }\n ];\n\n // solve\n var n = system[0].n * b[0] + system[1].n * b[1],\n l = system[0].lambda * b[0] + system[1].lambda * b[1];\n\n return -n/l;\n}\n\n\n/**\n * Position of perpendicular foot\n *\n * @param {Point}\n * @param [ {Point}, {Point} ] line defined through two points\n * @return {Point} the perpendicular foot position\n */\nfunction perpendicularFoot(point, line) {\n\n var a = line[0], b = line[1];\n\n // relative position of b from a\n var bd = { x: b.x - a.x, y: b.y - a.y };\n\n // solve equation system to the parametrized vectors param real value\n var r = solveLambaSystem([ a.x, a.y ], [ bd.x, bd.y ], [ point.x, point.y ]);\n\n return { x: a.x + r*bd.x, y: a.y + r*bd.y };\n}\n\n\n/**\n * Calculates the distance between a point and a line\n *\n * @param {Point}\n * @param [ {Point}, {Point} ] line defined through two points\n * @return {Float} distance\n */\nfunction getDistancePointLine(point, line) {\n\n var pfPoint = perpendicularFoot(point, line);\n\n // distance vector\n var connectionVector = {\n x: pfPoint.x - point.x,\n y: pfPoint.y - point.y\n };\n\n return vectorLength(connectionVector);\n}\n\n\n/**\n * Calculates the distance between two points\n *\n * @param {Point}\n * @param {Point}\n * @return {Float} distance\n */\nfunction getDistancePointPoint(point1, point2) {\n\n return vectorLength({\n x: point1.x - point2.x,\n y: point1.y - point2.y\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/util/GeometricUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/util/LabelLayoutUtil.js":
/*!*************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/util/LabelLayoutUtil.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"findNewLabelLineStartIndex\": () => (/* binding */ findNewLabelLineStartIndex),\n/* harmony export */ \"getLabelAdjustment\": () => (/* binding */ getLabelAdjustment)\n/* harmony export */ });\n/* harmony import */ var _GeometricUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GeometricUtil */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/GeometricUtil.js\");\n/* harmony import */ var _LineAttachmentUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LineAttachmentUtil */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineAttachmentUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n\n\n\n\n\n\n\nfunction findNewLabelLineStartIndex(oldWaypoints, newWaypoints, attachment, hints) {\n\n var index = attachment.segmentIndex;\n\n var offset = newWaypoints.length - oldWaypoints.length;\n\n // segmentMove happened\n if (hints.segmentMove) {\n\n var oldSegmentStartIndex = hints.segmentMove.segmentStartIndex,\n newSegmentStartIndex = hints.segmentMove.newSegmentStartIndex;\n\n // if label was on moved segment return new segment index\n if (index === oldSegmentStartIndex) {\n return newSegmentStartIndex;\n }\n\n // label is after new segment index\n if (index >= newSegmentStartIndex) {\n return (index+offset < newSegmentStartIndex) ? newSegmentStartIndex : index+offset;\n }\n\n // if label is before new segment index\n return index;\n }\n\n // bendpointMove happened\n if (hints.bendpointMove) {\n\n var insert = hints.bendpointMove.insert,\n bendpointIndex = hints.bendpointMove.bendpointIndex,\n newIndex;\n\n // waypoints length didnt change\n if (offset === 0) {\n return index;\n }\n\n // label behind new/removed bendpoint\n if (index >= bendpointIndex) {\n newIndex = insert ? index + 1 : index - 1;\n }\n\n // label before new/removed bendpoint\n if (index < bendpointIndex) {\n\n newIndex = index;\n\n // decide label should take right or left segment\n if (insert && attachment.type !== 'bendpoint' && bendpointIndex-1 === index) {\n\n var rel = relativePositionMidWaypoint(newWaypoints, bendpointIndex);\n\n if (rel < attachment.relativeLocation) {\n newIndex++;\n }\n }\n }\n\n return newIndex;\n }\n\n // start/end changed\n if (offset === 0) {\n return index;\n }\n\n if (hints.connectionStart) {\n return (index === 0) ? 0 : null;\n }\n\n if (hints.connectionEnd) {\n return (index === oldWaypoints.length - 2) ? newWaypoints.length - 2 : null;\n }\n\n // if nothing fits, return null\n return null;\n}\n\n\n/**\n * Calculate the required adjustment (move delta) for the given label\n * after the connection waypoints got updated.\n *\n * @param {djs.model.Label} label\n * @param {Array} newWaypoints\n * @param {Array} oldWaypoints\n * @param {Object} hints\n *\n * @return {Point} delta\n */\nfunction getLabelAdjustment(label, newWaypoints, oldWaypoints, hints) {\n\n var x = 0,\n y = 0;\n\n var labelPosition = getLabelMid(label);\n\n // get closest attachment\n var attachment = (0,_LineAttachmentUtil__WEBPACK_IMPORTED_MODULE_0__.getAttachment)(labelPosition, oldWaypoints),\n oldLabelLineIndex = attachment.segmentIndex,\n newLabelLineIndex = findNewLabelLineStartIndex(oldWaypoints, newWaypoints, attachment, hints);\n\n if (newLabelLineIndex === null) {\n return { x: x, y: y };\n }\n\n // should never happen\n // TODO(@janstuemmel): throw an error here when connectionSegmentMove is refactored\n if (newLabelLineIndex < 0 ||\n newLabelLineIndex > newWaypoints.length - 2) {\n return { x: x, y: y };\n }\n\n var oldLabelLine = getLine(oldWaypoints, oldLabelLineIndex),\n newLabelLine = getLine(newWaypoints, newLabelLineIndex),\n oldFoot = attachment.position;\n\n var relativeFootPosition = getRelativeFootPosition(oldLabelLine, oldFoot),\n angleDelta = getAngleDelta(oldLabelLine, newLabelLine);\n\n // special rule if label on bendpoint\n if (attachment.type === 'bendpoint') {\n\n var offset = newWaypoints.length - oldWaypoints.length,\n oldBendpointIndex = attachment.bendpointIndex,\n oldBendpoint = oldWaypoints[oldBendpointIndex];\n\n // bendpoint position hasn't changed, return same position\n if (newWaypoints.indexOf(oldBendpoint) !== -1) {\n return { x: x, y: y };\n }\n\n // new bendpoint and old bendpoint have same index, then just return the offset\n if (offset === 0) {\n var newBendpoint = newWaypoints[oldBendpointIndex];\n\n return {\n x: newBendpoint.x - attachment.position.x,\n y: newBendpoint.y - attachment.position.y\n };\n }\n\n // if bendpoints get removed\n if (offset < 0 && oldBendpointIndex !== 0 && oldBendpointIndex < oldWaypoints.length - 1) {\n relativeFootPosition = relativePositionMidWaypoint(oldWaypoints, oldBendpointIndex);\n }\n }\n\n var newFoot = {\n x: (newLabelLine[1].x - newLabelLine[0].x) * relativeFootPosition + newLabelLine[0].x,\n y: (newLabelLine[1].y - newLabelLine[0].y) * relativeFootPosition + newLabelLine[0].y\n };\n\n // the rotated vector to label\n var newLabelVector = (0,_GeometricUtil__WEBPACK_IMPORTED_MODULE_1__.rotateVector)({\n x: labelPosition.x - oldFoot.x,\n y: labelPosition.y - oldFoot.y\n }, angleDelta);\n\n // the new relative position\n x = newFoot.x + newLabelVector.x - labelPosition.x;\n y = newFoot.y + newLabelVector.y - labelPosition.y;\n\n return (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__.roundPoint)({\n x: x,\n y: y\n });\n}\n\n\n// HELPERS //////////////////////\n\nfunction relativePositionMidWaypoint(waypoints, idx) {\n\n var distanceSegment1 = (0,_GeometricUtil__WEBPACK_IMPORTED_MODULE_1__.getDistancePointPoint)(waypoints[idx-1], waypoints[idx]),\n distanceSegment2 = (0,_GeometricUtil__WEBPACK_IMPORTED_MODULE_1__.getDistancePointPoint)(waypoints[idx], waypoints[idx+1]);\n\n var relativePosition = distanceSegment1 / (distanceSegment1 + distanceSegment2);\n\n return relativePosition;\n}\n\nfunction getLabelMid(label) {\n return {\n x: label.x + label.width / 2,\n y: label.y + label.height / 2\n };\n}\n\nfunction getAngleDelta(l1, l2) {\n var a1 = (0,_GeometricUtil__WEBPACK_IMPORTED_MODULE_1__.getAngle)(l1),\n a2 = (0,_GeometricUtil__WEBPACK_IMPORTED_MODULE_1__.getAngle)(l2);\n return a2 - a1;\n}\n\nfunction getLine(waypoints, idx) {\n return [ waypoints[idx], waypoints[idx+1] ];\n}\n\nfunction getRelativeFootPosition(line, foot) {\n\n var length = (0,_GeometricUtil__WEBPACK_IMPORTED_MODULE_1__.getDistancePointPoint)(line[0], line[1]),\n lengthToFoot = (0,_GeometricUtil__WEBPACK_IMPORTED_MODULE_1__.getDistancePointPoint)(line[0], foot);\n\n return length === 0 ? 0 : lengthToFoot / length;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/util/LabelLayoutUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineAttachmentUtil.js":
/*!****************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineAttachmentUtil.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getAttachment\": () => (/* binding */ getAttachment)\n/* harmony export */ });\nvar sqrt = Math.sqrt,\n min = Math.min,\n max = Math.max,\n abs = Math.abs;\n\n/**\n * Calculate the square (power to two) of a number.\n *\n * @param {number} n\n *\n * @return {number}\n */\nfunction sq(n) {\n return Math.pow(n, 2);\n}\n\n/**\n * Get distance between two points.\n *\n * @param {Point} p1\n * @param {Point} p2\n *\n * @return {number}\n */\nfunction getDistance(p1, p2) {\n return sqrt(sq(p1.x - p2.x) + sq(p1.y - p2.y));\n}\n\n/**\n * Return the attachment of the given point on the specified line.\n *\n * The attachment is either a bendpoint (attached to the given point)\n * or segment (attached to a location on a line segment) attachment:\n *\n * ```javascript\n * var pointAttachment = {\n * type: 'bendpoint',\n * bendpointIndex: 3,\n * position: { x: 10, y: 10 } // the attach point on the line\n * };\n *\n * var segmentAttachment = {\n * type: 'segment',\n * segmentIndex: 2,\n * relativeLocation: 0.31, // attach point location between 0 (at start) and 1 (at end)\n * position: { x: 10, y: 10 } // the attach point on the line\n * };\n * ```\n *\n * @param {Point} point\n * @param {Array} line\n *\n * @return {Object} attachment\n */\nfunction getAttachment(point, line) {\n\n var idx = 0,\n segmentStart,\n segmentEnd,\n segmentStartDistance,\n segmentEndDistance,\n attachmentPosition,\n minDistance,\n intersections,\n attachment,\n attachmentDistance,\n closestAttachmentDistance,\n closestAttachment;\n\n for (idx = 0; idx < line.length - 1; idx++) {\n\n segmentStart = line[idx];\n segmentEnd = line[idx + 1];\n\n if (pointsEqual(segmentStart, segmentEnd)) {\n intersections = [ segmentStart ];\n } else {\n segmentStartDistance = getDistance(point, segmentStart);\n segmentEndDistance = getDistance(point, segmentEnd);\n\n minDistance = min(segmentStartDistance, segmentEndDistance);\n\n intersections = getCircleSegmentIntersections(segmentStart, segmentEnd, point, minDistance);\n }\n\n if (intersections.length < 1) {\n throw new Error('expected between [1, 2] circle -> line intersections');\n }\n\n // one intersection -> bendpoint attachment\n if (intersections.length === 1) {\n attachment = {\n type: 'bendpoint',\n position: intersections[0],\n segmentIndex: idx,\n bendpointIndex: pointsEqual(segmentStart, intersections[0]) ? idx : idx + 1\n };\n }\n\n // two intersections -> segment attachment\n if (intersections.length === 2) {\n\n attachmentPosition = mid(intersections[0], intersections[1]);\n\n attachment = {\n type: 'segment',\n position: attachmentPosition,\n segmentIndex: idx,\n relativeLocation: getDistance(segmentStart, attachmentPosition) / getDistance(segmentStart, segmentEnd)\n };\n }\n\n attachmentDistance = getDistance(attachment.position, point);\n\n if (!closestAttachment || closestAttachmentDistance > attachmentDistance) {\n closestAttachment = attachment;\n closestAttachmentDistance = attachmentDistance;\n }\n }\n\n return closestAttachment;\n}\n\n/**\n * Gets the intersection between a circle and a line segment.\n *\n * @param {Point} s1 segment start\n * @param {Point} s2 segment end\n * @param {Point} cc circle center\n * @param {number} cr circle radius\n *\n * @return {Array} intersections\n */\nfunction getCircleSegmentIntersections(s1, s2, cc, cr) {\n\n var baX = s2.x - s1.x;\n var baY = s2.y - s1.y;\n var caX = cc.x - s1.x;\n var caY = cc.y - s1.y;\n\n var a = baX * baX + baY * baY;\n var bBy2 = baX * caX + baY * caY;\n var c = caX * caX + caY * caY - cr * cr;\n\n var pBy2 = bBy2 / a;\n var q = c / a;\n\n var disc = pBy2 * pBy2 - q;\n\n // check against negative value to work around\n // negative, very close to zero results (-4e-15)\n // being produced in some environments\n if (disc < 0 && disc > -0.000001) {\n disc = 0;\n }\n\n if (disc < 0) {\n return [];\n }\n\n // if disc == 0 ... dealt with later\n var tmpSqrt = sqrt(disc);\n var abScalingFactor1 = -pBy2 + tmpSqrt;\n var abScalingFactor2 = -pBy2 - tmpSqrt;\n\n var i1 = {\n x: s1.x - baX * abScalingFactor1,\n y: s1.y - baY * abScalingFactor1\n };\n\n if (disc === 0) { // abScalingFactor1 == abScalingFactor2\n return [ i1 ];\n }\n\n var i2 = {\n x: s1.x - baX * abScalingFactor2,\n y: s1.y - baY * abScalingFactor2\n };\n\n // return only points on line segment\n return [ i1, i2 ].filter(function(p) {\n return isPointInSegment(p, s1, s2);\n });\n}\n\n\nfunction isPointInSegment(p, segmentStart, segmentEnd) {\n return (\n fenced(p.x, segmentStart.x, segmentEnd.x) &&\n fenced(p.y, segmentStart.y, segmentEnd.y)\n );\n}\n\nfunction fenced(n, rangeStart, rangeEnd) {\n\n // use matching threshold to work around\n // precision errors in intersection computation\n\n return (\n n >= min(rangeStart, rangeEnd) - EQUAL_THRESHOLD &&\n n <= max(rangeStart, rangeEnd) + EQUAL_THRESHOLD\n );\n}\n\n/**\n * Calculate mid of two points.\n *\n * @param {Point} p1\n * @param {Point} p2\n *\n * @return {Point}\n */\nfunction mid(p1, p2) {\n\n return {\n x: (p1.x + p2.x) / 2,\n y: (p1.y + p2.y) / 2\n };\n}\n\nvar EQUAL_THRESHOLD = 0.1;\n\nfunction pointsEqual(p1, p2) {\n\n return (\n abs(p1.x - p2.x) <= EQUAL_THRESHOLD &&\n abs(p1.y - p2.y) <= EQUAL_THRESHOLD\n );\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineAttachmentUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineIntersect.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineIntersect.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ lineIntersect)\n/* harmony export */ });\n/**\n * Returns the intersection between two line segments a and b.\n *\n * @param {Point} l1s\n * @param {Point} l1e\n * @param {Point} l2s\n * @param {Point} l2e\n *\n * @return {Point}\n */\nfunction lineIntersect(l1s, l1e, l2s, l2e) {\n\n // if the lines intersect, the result contains the x and y of the\n // intersection (treating the lines as infinite) and booleans for\n // whether line segment 1 or line segment 2 contain the point\n var denominator, a, b, c, numerator;\n\n denominator = ((l2e.y - l2s.y) * (l1e.x - l1s.x)) - ((l2e.x - l2s.x) * (l1e.y - l1s.y));\n\n if (denominator == 0) {\n return null;\n }\n\n a = l1s.y - l2s.y;\n b = l1s.x - l2s.x;\n numerator = ((l2e.x - l2s.x) * a) - ((l2e.y - l2s.y) * b);\n\n c = numerator / denominator;\n\n // if we cast these lines infinitely in\n // both directions, they intersect here\n return {\n x: Math.round(l1s.x + (c * (l1e.x - l1s.x))),\n y: Math.round(l1s.y + (c * (l1e.y - l1s.y)))\n };\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineIntersect.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/behavior/util/ResizeUtil.js":
/*!********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/behavior/util/ResizeUtil.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getParticipantResizeConstraints\": () => (/* binding */ getParticipantResizeConstraints)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var _modeling_util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../modeling/util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n/* harmony import */ var _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ResizeBehavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeBehavior.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar abs = Math.abs,\r\n min = Math.min,\r\n max = Math.max;\r\n\r\n\r\nfunction addToTrbl(trbl, attr, value, choice) {\r\n var current = trbl[attr];\r\n\r\n // make sure to set the value if it does not exist\r\n // or apply the correct value by comparing against\r\n // choice(value, currentValue)\r\n trbl[attr] = current === undefined ? value : choice(value, current);\r\n}\r\n\r\nfunction addMin(trbl, attr, value) {\r\n return addToTrbl(trbl, attr, value, min);\r\n}\r\n\r\nfunction addMax(trbl, attr, value) {\r\n return addToTrbl(trbl, attr, value, max);\r\n}\r\n\r\nvar LANE_RIGHT_PADDING = 20,\r\n LANE_LEFT_PADDING = 50,\r\n LANE_TOP_PADDING = 20,\r\n LANE_BOTTOM_PADDING = 20;\r\n\r\n\r\nfunction getParticipantResizeConstraints(laneShape, resizeDirection, balanced) {\r\n var lanesRoot = (0,_modeling_util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.getLanesRoot)(laneShape);\r\n\r\n var isFirst = true,\r\n isLast = true;\r\n\r\n // max top/bottom size for lanes\r\n var allLanes = (0,_modeling_util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.collectLanes)(lanesRoot, [ lanesRoot ]);\r\n\r\n var laneTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(laneShape);\r\n\r\n var maxTrbl = {},\r\n minTrbl = {};\r\n\r\n if (/e/.test(resizeDirection)) {\r\n minTrbl.right = laneTrbl.left + _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.LANE_MIN_DIMENSIONS.width;\r\n } else\r\n if (/w/.test(resizeDirection)) {\r\n minTrbl.left = laneTrbl.right - _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.LANE_MIN_DIMENSIONS.width;\r\n }\r\n\r\n allLanes.forEach(function(other) {\r\n\r\n var otherTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(other);\r\n\r\n if (/n/.test(resizeDirection)) {\r\n\r\n if (otherTrbl.top < (laneTrbl.top - 10)) {\r\n isFirst = false;\r\n }\r\n\r\n // max top size (based on next element)\r\n if (balanced && abs(laneTrbl.top - otherTrbl.bottom) < 10) {\r\n addMax(maxTrbl, 'top', otherTrbl.top + _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.LANE_MIN_DIMENSIONS.height);\r\n }\r\n\r\n // min top size (based on self or nested element)\r\n if (abs(laneTrbl.top - otherTrbl.top) < 5) {\r\n addMin(minTrbl, 'top', otherTrbl.bottom - _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.LANE_MIN_DIMENSIONS.height);\r\n }\r\n }\r\n\r\n if (/s/.test(resizeDirection)) {\r\n\r\n if (otherTrbl.bottom > (laneTrbl.bottom + 10)) {\r\n isLast = false;\r\n }\r\n\r\n // max bottom size (based on previous element)\r\n if (balanced && abs(laneTrbl.bottom - otherTrbl.top) < 10) {\r\n addMin(maxTrbl, 'bottom', otherTrbl.bottom - _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.LANE_MIN_DIMENSIONS.height);\r\n }\r\n\r\n // min bottom size (based on self or nested element)\r\n if (abs(laneTrbl.bottom - otherTrbl.bottom) < 5) {\r\n addMax(minTrbl, 'bottom', otherTrbl.top + _ResizeBehavior__WEBPACK_IMPORTED_MODULE_2__.LANE_MIN_DIMENSIONS.height);\r\n }\r\n }\r\n });\r\n\r\n // max top/bottom/left/right size based on flow nodes\r\n var flowElements = lanesRoot.children.filter(function(s) {\r\n return !s.hidden && !s.waypoints && ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(s, 'bpmn:FlowElement') || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(s, 'bpmn:Artifact'));\r\n });\r\n\r\n flowElements.forEach(function(flowElement) {\r\n\r\n var flowElementTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(flowElement);\r\n\r\n if (isFirst && /n/.test(resizeDirection)) {\r\n addMin(minTrbl, 'top', flowElementTrbl.top - LANE_TOP_PADDING);\r\n }\r\n\r\n if (/e/.test(resizeDirection)) {\r\n addMax(minTrbl, 'right', flowElementTrbl.right + LANE_RIGHT_PADDING);\r\n }\r\n\r\n if (isLast && /s/.test(resizeDirection)) {\r\n addMax(minTrbl, 'bottom', flowElementTrbl.bottom + LANE_BOTTOM_PADDING);\r\n }\r\n\r\n if (/w/.test(resizeDirection)) {\r\n addMin(minTrbl, 'left', flowElementTrbl.left - LANE_LEFT_PADDING);\r\n }\r\n });\r\n\r\n return {\r\n min: minTrbl,\r\n max: maxTrbl\r\n };\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/behavior/util/ResizeUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/AddLaneHandler.js":
/*!**************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/AddLaneHandler.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AddLaneHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n\n\n\n\n\n\n\n/**\n * A handler that allows us to add a new lane\n * above or below an existing one.\n *\n * @param {Modeling} modeling\n * @param {SpaceTool} spaceTool\n */\nfunction AddLaneHandler(modeling, spaceTool) {\n this._modeling = modeling;\n this._spaceTool = spaceTool;\n}\n\nAddLaneHandler.$inject = [\n 'modeling',\n 'spaceTool'\n];\n\n\nAddLaneHandler.prototype.preExecute = function(context) {\n\n var spaceTool = this._spaceTool,\n modeling = this._modeling;\n\n var shape = context.shape,\n location = context.location;\n\n var lanesRoot = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.getLanesRoot)(shape);\n\n var isRoot = lanesRoot === shape,\n laneParent = isRoot ? shape : shape.parent;\n\n var existingChildLanes = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.getChildLanes)(laneParent);\n\n // (0) add a lane if we currently got none and are adding to root\n if (!existingChildLanes.length) {\n modeling.createShape({ type: 'bpmn:Lane' }, {\n x: shape.x + _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.LANE_INDENTATION,\n y: shape.y,\n width: shape.width - _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.LANE_INDENTATION,\n height: shape.height\n }, laneParent);\n }\n\n // (1) collect affected elements to create necessary space\n var allAffected = [];\n\n (0,diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_1__.eachElement)(lanesRoot, function(element) {\n allAffected.push(element);\n\n // handle element labels in the diagram root\n if (element.label) {\n allAffected.push(element.label);\n }\n\n if (element === shape) {\n return [];\n }\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(element.children, function(c) {\n return c !== shape;\n });\n });\n\n var offset = location === 'top' ? -120 : 120,\n lanePosition = location === 'top' ? shape.y : shape.y + shape.height,\n spacePos = lanePosition + (location === 'top' ? 10 : -10),\n direction = location === 'top' ? 'n' : 's';\n\n var adjustments = spaceTool.calculateAdjustments(allAffected, 'y', offset, spacePos);\n\n spaceTool.makeSpace(\n adjustments.movingShapes,\n adjustments.resizingShapes,\n { x: 0, y: offset },\n direction,\n spacePos\n );\n\n // (2) create new lane at open space\n context.newLane = modeling.createShape({ type: 'bpmn:Lane' }, {\n x: shape.x + (isRoot ? _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.LANE_INDENTATION : 0),\n y: lanePosition - (location === 'top' ? 120 : 0),\n width: shape.width - (isRoot ? _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.LANE_INDENTATION : 0),\n height: 120\n }, laneParent);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/AddLaneHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/IdClaimHandler.js":
/*!**************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/IdClaimHandler.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ IdClaimHandler)\n/* harmony export */ });\nfunction IdClaimHandler(moddle) {\n this._moddle = moddle;\n}\n\nIdClaimHandler.$inject = [ 'moddle' ];\n\n\nIdClaimHandler.prototype.execute = function(context) {\n var ids = this._moddle.ids,\n id = context.id,\n element = context.element,\n claiming = context.claiming;\n\n if (claiming) {\n ids.claim(id, element);\n } else {\n ids.unclaim(id);\n }\n};\n\n/**\n * Command revert implementation.\n */\nIdClaimHandler.prototype.revert = function(context) {\n var ids = this._moddle.ids,\n id = context.id,\n element = context.element,\n claiming = context.claiming;\n\n if (claiming) {\n ids.unclaim(id);\n } else {\n ids.claim(id, element);\n }\n};\n\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/IdClaimHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/ResizeLaneHandler.js":
/*!*****************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/ResizeLaneHandler.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ResizeLaneHandler)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var diagram_js_lib_features_resize_ResizeUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/features/resize/ResizeUtil */ \"./node_modules/diagram-js/lib/features/resize/ResizeUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A handler that resizes a lane.\n *\n * @param {Modeling} modeling\n */\nfunction ResizeLaneHandler(modeling, spaceTool) {\n this._modeling = modeling;\n this._spaceTool = spaceTool;\n}\n\nResizeLaneHandler.$inject = [\n 'modeling',\n 'spaceTool'\n];\n\n\nResizeLaneHandler.prototype.preExecute = function(context) {\n\n var shape = context.shape,\n newBounds = context.newBounds,\n balanced = context.balanced;\n\n if (balanced !== false) {\n this.resizeBalanced(shape, newBounds);\n } else {\n this.resizeSpace(shape, newBounds);\n }\n};\n\n\n/**\n * Resize balanced, adjusting next / previous lane sizes.\n *\n * @param {djs.model.Shape} shape\n * @param {Bounds} newBounds\n */\nResizeLaneHandler.prototype.resizeBalanced = function(shape, newBounds) {\n\n var modeling = this._modeling;\n\n var resizeNeeded = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.computeLanesResize)(shape, newBounds);\n\n // resize the lane\n modeling.resizeShape(shape, newBounds);\n\n // resize other lanes as needed\n resizeNeeded.forEach(function(r) {\n modeling.resizeShape(r.shape, r.newBounds);\n });\n};\n\n\n/**\n * Resize, making actual space and moving below / above elements.\n *\n * @param {djs.model.Shape} shape\n * @param {Bounds} newBounds\n */\nResizeLaneHandler.prototype.resizeSpace = function(shape, newBounds) {\n var spaceTool = this._spaceTool;\n\n var shapeTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(shape),\n newTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(newBounds);\n\n var trblDiff = (0,diagram_js_lib_features_resize_ResizeUtil__WEBPACK_IMPORTED_MODULE_2__.substractTRBL)(newTrbl, shapeTrbl);\n\n var lanesRoot = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.getLanesRoot)(shape);\n\n var allAffected = [],\n allLanes = [];\n\n (0,diagram_js_lib_util_Elements__WEBPACK_IMPORTED_MODULE_3__.eachElement)(lanesRoot, function(element) {\n allAffected.push(element);\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:Lane') || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:Participant')) {\n allLanes.push(element);\n }\n\n return element.children;\n });\n\n var change,\n spacePos,\n direction,\n offset,\n adjustments;\n\n if (trblDiff.bottom || trblDiff.top) {\n\n change = trblDiff.bottom || trblDiff.top;\n spacePos = shape.y + (trblDiff.bottom ? shape.height : 0) + (trblDiff.bottom ? -10 : 10);\n direction = trblDiff.bottom ? 's' : 'n';\n\n offset = trblDiff.top > 0 || trblDiff.bottom < 0 ? -change : change;\n\n adjustments = spaceTool.calculateAdjustments(allAffected, 'y', offset, spacePos);\n\n spaceTool.makeSpace(adjustments.movingShapes, adjustments.resizingShapes, { x: 0, y: change }, direction);\n }\n\n\n if (trblDiff.left || trblDiff.right) {\n\n change = trblDiff.right || trblDiff.left;\n spacePos = shape.x + (trblDiff.right ? shape.width : 0) + (trblDiff.right ? -10 : 100);\n direction = trblDiff.right ? 'e' : 'w';\n\n offset = trblDiff.left > 0 || trblDiff.right < 0 ? -change : change;\n\n adjustments = spaceTool.calculateAdjustments(allLanes, 'x', offset, spacePos);\n\n spaceTool.makeSpace(adjustments.movingShapes, adjustments.resizingShapes, { x: change, y: 0 }, direction);\n }\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/ResizeLaneHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/SetColorHandler.js":
/*!***************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/SetColorHandler.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SetColorHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\r\n\r\n\r\nvar DEFAULT_COLORS = {\r\n fill: undefined,\r\n stroke: undefined\r\n};\r\n\r\n\r\nfunction SetColorHandler(commandStack) {\r\n this._commandStack = commandStack;\r\n\r\n this._normalizeColor = function(color) {\r\n\r\n // Remove color for falsy values.\r\n if (!color) {\r\n return undefined;\r\n }\r\n\r\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isString)(color)) {\r\n var hexColor = colorToHex(color);\r\n\r\n if (hexColor) {\r\n return hexColor;\r\n }\r\n }\r\n\r\n throw new Error('invalid color value: ' + color);\r\n };\r\n}\r\n\r\nSetColorHandler.$inject = [\r\n 'commandStack'\r\n];\r\n\r\n\r\nSetColorHandler.prototype.postExecute = function(context) {\r\n var elements = context.elements,\r\n colors = context.colors || DEFAULT_COLORS;\r\n\r\n var self = this;\r\n\r\n var di = {};\r\n\r\n if ('fill' in colors) {\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(di, {\r\n 'background-color': this._normalizeColor(colors.fill) });\r\n }\r\n\r\n if ('stroke' in colors) {\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(di, {\r\n 'border-color': this._normalizeColor(colors.stroke) });\r\n }\r\n\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\r\n var assignedDi = isConnection(element) ? (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.pick)(di, [ 'border-color' ]) : di;\r\n\r\n // TODO @barmac: remove once we drop bpmn.io properties\r\n ensureLegacySupport(assignedDi);\r\n\r\n self._commandStack.execute('element.updateProperties', {\r\n element: element,\r\n properties: {\r\n di: assignedDi\r\n }\r\n });\r\n });\r\n\r\n};\r\n\r\n/**\r\n * Convert color from rgb(a)/hsl to hex. Returns `null` for unknown color names and for colors\r\n * with alpha less than 1.0. This depends on `` serialization of the `context.fillStyle`.\r\n * Cf. https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-fillstyle\r\n *\r\n * @example\r\n * ```js\r\n * var color = 'fuchsia';\r\n * console.log(colorToHex(color));\r\n * // \"#ff00ff\"\r\n * color = 'rgba(1,2,3,0.4)';\r\n * console.log(colorToHex(color));\r\n * // null\r\n * ```\r\n *\r\n * @param {string} color\r\n * @returns {string|null}\r\n */\r\nfunction colorToHex(color) {\r\n var context = document.createElement('canvas').getContext('2d');\r\n\r\n // (0) Start with transparent to account for browser default values.\r\n context.fillStyle = 'transparent';\r\n\r\n // (1) Assign color so that it's serialized.\r\n context.fillStyle = color;\r\n\r\n // (2) Return null for non-hex serialization result.\r\n return /^#[0-9a-fA-F]{6}$/.test(context.fillStyle) ? context.fillStyle : null;\r\n}\r\n\r\nfunction isConnection(element) {\r\n return !!element.waypoints;\r\n}\r\n\r\n/**\r\n * Add legacy properties if required.\r\n * @param {{ 'border-color': string?, 'background-color': string? }} di\r\n */\r\nfunction ensureLegacySupport(di) {\r\n if ('border-color' in di) {\r\n di.stroke = di['border-color'];\r\n }\r\n\r\n if ('background-color' in di) {\r\n di.fill = di['background-color'];\r\n }\r\n}\r\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/SetColorHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/SplitLaneHandler.js":
/*!****************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/SplitLaneHandler.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SplitLaneHandler)\n/* harmony export */ });\n/* harmony import */ var _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n\n\n\n/**\n * A handler that splits a lane into a number of sub-lanes,\n * creating new sub lanes, if necessary.\n *\n * @param {Modeling} modeling\n */\nfunction SplitLaneHandler(modeling, translate) {\n this._modeling = modeling;\n this._translate = translate;\n}\n\nSplitLaneHandler.$inject = [\n 'modeling',\n 'translate'\n];\n\n\nSplitLaneHandler.prototype.preExecute = function(context) {\n\n var modeling = this._modeling,\n translate = this._translate;\n\n var shape = context.shape,\n newLanesCount = context.count;\n\n var childLanes = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.getChildLanes)(shape),\n existingLanesCount = childLanes.length;\n\n if (existingLanesCount > newLanesCount) {\n throw new Error(translate('more than {count} child lanes', { count: newLanesCount }));\n }\n\n var newLanesHeight = Math.round(shape.height / newLanesCount);\n\n // Iterate from top to bottom in child lane order,\n // resizing existing lanes and creating new ones\n // so that they split the parent proportionally.\n //\n // Due to rounding related errors, the bottom lane\n // needs to take up all the remaining space.\n var laneY,\n laneHeight,\n laneBounds,\n newLaneAttrs,\n idx;\n\n for (idx = 0; idx < newLanesCount; idx++) {\n\n laneY = shape.y + idx * newLanesHeight;\n\n // if bottom lane\n if (idx === newLanesCount - 1) {\n laneHeight = shape.height - (newLanesHeight * idx);\n } else {\n laneHeight = newLanesHeight;\n }\n\n laneBounds = {\n x: shape.x + _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.LANE_INDENTATION,\n y: laneY,\n width: shape.width - _util_LaneUtil__WEBPACK_IMPORTED_MODULE_0__.LANE_INDENTATION,\n height: laneHeight\n };\n\n if (idx < existingLanesCount) {\n\n // resize existing lane\n modeling.resizeShape(childLanes[idx], laneBounds);\n } else {\n\n // create a new lane at position\n newLaneAttrs = {\n type: 'bpmn:Lane'\n };\n\n modeling.createShape(newLaneAttrs, laneBounds, shape);\n }\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/SplitLaneHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateCanvasRootHandler.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateCanvasRootHandler.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UpdateCanvasRootHandler)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n\n\n\nfunction UpdateCanvasRootHandler(canvas, modeling) {\n this._canvas = canvas;\n this._modeling = modeling;\n}\n\nUpdateCanvasRootHandler.$inject = [\n 'canvas',\n 'modeling'\n];\n\n\nUpdateCanvasRootHandler.prototype.execute = function(context) {\n\n var canvas = this._canvas;\n\n var newRoot = context.newRoot,\n newRootBusinessObject = newRoot.businessObject,\n oldRoot = canvas.getRootElement(),\n oldRootBusinessObject = oldRoot.businessObject,\n bpmnDefinitions = oldRootBusinessObject.$parent,\n diPlane = oldRootBusinessObject.di;\n\n // (1) replace process old <> new root\n canvas.setRootElement(newRoot, true);\n\n // (2) update root elements\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_0__.add)(bpmnDefinitions.rootElements, newRootBusinessObject);\n newRootBusinessObject.$parent = bpmnDefinitions;\n\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_0__.remove)(bpmnDefinitions.rootElements, oldRootBusinessObject);\n oldRootBusinessObject.$parent = null;\n\n // (3) wire di\n oldRootBusinessObject.di = null;\n\n diPlane.bpmnElement = newRootBusinessObject;\n newRootBusinessObject.di = diPlane;\n\n context.oldRoot = oldRoot;\n\n // TODO(nikku): return changed elements?\n // return [ newRoot, oldRoot ];\n};\n\n\nUpdateCanvasRootHandler.prototype.revert = function(context) {\n\n var canvas = this._canvas;\n\n var newRoot = context.newRoot,\n newRootBusinessObject = newRoot.businessObject,\n oldRoot = context.oldRoot,\n oldRootBusinessObject = oldRoot.businessObject,\n bpmnDefinitions = newRootBusinessObject.$parent,\n diPlane = newRootBusinessObject.di;\n\n // (1) replace process old <> new root\n canvas.setRootElement(oldRoot, true);\n\n // (2) update root elements\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_0__.remove)(bpmnDefinitions.rootElements, newRootBusinessObject);\n newRootBusinessObject.$parent = null;\n\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_0__.add)(bpmnDefinitions.rootElements, oldRootBusinessObject);\n oldRootBusinessObject.$parent = bpmnDefinitions;\n\n // (3) wire di\n newRootBusinessObject.di = null;\n\n diPlane.bpmnElement = oldRootBusinessObject;\n oldRootBusinessObject.di = diPlane;\n\n // TODO(nikku): return changed elements?\n // return [ newRoot, oldRoot ];\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateCanvasRootHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js":
/*!*************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UpdateFlowNodeRefsHandler)\n/* harmony export */ });\n/* harmony import */ var _util_LaneUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/LaneUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n\n\n\n\n\n\n\n\nvar FLOW_NODE_REFS_ATTR = 'flowNodeRef',\n LANES_ATTR = 'lanes';\n\n\n/**\n * A handler that updates lane refs on changed elements\n */\nfunction UpdateFlowNodeRefsHandler(elementRegistry) {\n this._elementRegistry = elementRegistry;\n}\n\nUpdateFlowNodeRefsHandler.$inject = [\n 'elementRegistry'\n];\n\n\nUpdateFlowNodeRefsHandler.prototype.computeUpdates = function(flowNodeShapes, laneShapes) {\n\n var handledNodes = [];\n\n var updates = [];\n\n var participantCache = {};\n\n var allFlowNodeShapes = [];\n\n function isInLaneShape(element, laneShape) {\n\n var laneTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__.asTRBL)(laneShape);\n\n var elementMid = {\n x: element.x + element.width / 2,\n y: element.y + element.height / 2\n };\n\n return elementMid.x > laneTrbl.left &&\n elementMid.x < laneTrbl.right &&\n elementMid.y > laneTrbl.top &&\n elementMid.y < laneTrbl.bottom;\n }\n\n function addFlowNodeShape(flowNodeShape) {\n if (handledNodes.indexOf(flowNodeShape) === -1) {\n allFlowNodeShapes.push(flowNodeShape);\n handledNodes.push(flowNodeShape);\n }\n }\n\n function getAllLaneShapes(flowNodeShape) {\n\n var root = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_1__.getLanesRoot)(flowNodeShape);\n\n if (!participantCache[root.id]) {\n participantCache[root.id] = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_1__.collectLanes)(root);\n }\n\n return participantCache[root.id];\n }\n\n function getNewLanes(flowNodeShape) {\n if (!flowNodeShape.parent) {\n return [];\n }\n\n var allLaneShapes = getAllLaneShapes(flowNodeShape);\n\n return allLaneShapes.filter(function(l) {\n return isInLaneShape(flowNodeShape, l);\n }).map(function(shape) {\n return shape.businessObject;\n });\n }\n\n laneShapes.forEach(function(laneShape) {\n var root = (0,_util_LaneUtil__WEBPACK_IMPORTED_MODULE_1__.getLanesRoot)(laneShape);\n\n if (!root || handledNodes.indexOf(root) !== -1) {\n return;\n }\n\n var children = root.children.filter(function(c) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(c, 'bpmn:FlowNode');\n });\n\n children.forEach(addFlowNodeShape);\n\n handledNodes.push(root);\n });\n\n flowNodeShapes.forEach(addFlowNodeShape);\n\n\n allFlowNodeShapes.forEach(function(flowNodeShape) {\n\n var flowNode = flowNodeShape.businessObject;\n\n var lanes = flowNode.get(LANES_ATTR),\n remove = lanes.slice(),\n add = getNewLanes(flowNodeShape);\n\n updates.push({ flowNode: flowNode, remove: remove, add: add });\n });\n\n laneShapes.forEach(function(laneShape) {\n\n var lane = laneShape.businessObject;\n\n // lane got removed XX-)\n if (!laneShape.parent) {\n lane.get(FLOW_NODE_REFS_ATTR).forEach(function(flowNode) {\n updates.push({ flowNode: flowNode, remove: [ lane ], add: [] });\n });\n }\n });\n\n return updates;\n};\n\nUpdateFlowNodeRefsHandler.prototype.execute = function(context) {\n\n var updates = context.updates;\n\n if (!updates) {\n updates = context.updates = this.computeUpdates(context.flowNodeShapes, context.laneShapes);\n }\n\n\n updates.forEach(function(update) {\n\n var flowNode = update.flowNode,\n lanes = flowNode.get(LANES_ATTR);\n\n // unwire old\n update.remove.forEach(function(oldLane) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.remove)(lanes, oldLane);\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.remove)(oldLane.get(FLOW_NODE_REFS_ATTR), flowNode);\n });\n\n // wire new\n update.add.forEach(function(newLane) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.add)(lanes, newLane);\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.add)(newLane.get(FLOW_NODE_REFS_ATTR), flowNode);\n });\n });\n\n // TODO(nikku): return changed elements\n // return [ ... ];\n};\n\n\nUpdateFlowNodeRefsHandler.prototype.revert = function(context) {\n\n var updates = context.updates;\n\n updates.forEach(function(update) {\n\n var flowNode = update.flowNode,\n lanes = flowNode.get(LANES_ATTR);\n\n // unwire new\n update.add.forEach(function(newLane) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.remove)(lanes, newLane);\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.remove)(newLane.get(FLOW_NODE_REFS_ATTR), flowNode);\n });\n\n // wire old\n update.remove.forEach(function(oldLane) {\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.add)(lanes, oldLane);\n (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_3__.add)(oldLane.get(FLOW_NODE_REFS_ATTR), flowNode);\n });\n });\n\n // TODO(nikku): return changed elements\n // return [ ... ];\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js ***!
\*****************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
eval("\n\nvar reduce = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").reduce,\n keys = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").keys,\n forEach = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\").forEach,\n is = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").is,\n getBusinessObject = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\").getBusinessObject;\n\n\nfunction UpdateModdlePropertiesHandler(elementRegistry) {\n this._elementRegistry = elementRegistry;\n}\n\nUpdateModdlePropertiesHandler.$inject = ['elementRegistry'];\n\nmodule.exports = UpdateModdlePropertiesHandler;\n\n\nUpdateModdlePropertiesHandler.prototype.execute = function(context) {\n\n var element = context.element,\n moddleElement = context.moddleElement,\n properties = context.properties;\n\n if (!moddleElement) {\n throw new Error(' required');\n }\n\n var changed = context.changed || this.getVisualReferences(moddleElement).concat(element);\n var oldProperties = context.oldProperties || getModdleProperties(moddleElement, keys(properties));\n\n setModdleProperties(moddleElement, properties);\n\n context.oldProperties = oldProperties;\n context.changed = changed;\n\n return changed;\n};\n\nUpdateModdlePropertiesHandler.prototype.revert = function(context) {\n var oldProperties = context.oldProperties,\n moddleElement = context.moddleElement,\n changed = context.changed;\n\n setModdleProperties(moddleElement, oldProperties);\n\n return changed;\n};\n\n/**\n * Return visual references of given moddle element within the diagram.\n *\n * @param {ModdleElement} moddleElement\n *\n * @return {Array}\n */\nUpdateModdlePropertiesHandler.prototype.getVisualReferences = function(moddleElement) {\n\n var elementRegistry = this._elementRegistry;\n\n if (is(moddleElement, 'bpmn:DataObject')) {\n return getAllDataObjectReferences(moddleElement, elementRegistry);\n }\n\n return [];\n};\n\n\n// helpers /////////////////\n\nfunction getModdleProperties(moddleElement, propertyNames) {\n return reduce(propertyNames, function(result, key) {\n result[key] = moddleElement.get(key);\n return result;\n }, {});\n}\n\nfunction setModdleProperties(moddleElement, properties) {\n forEach(properties, function(value, key) {\n moddleElement.set(key, value);\n });\n}\n\nfunction getAllDataObjectReferences(dataObject, elementRegistry) {\n return elementRegistry.filter(function(element) {\n return (\n is(element, 'bpmn:DataObjectReference') &&\n getBusinessObject(element).dataObjectRef === dataObject\n );\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/UpdatePropertiesHandler.js":
/*!***********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/UpdatePropertiesHandler.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UpdatePropertiesHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\nvar DEFAULT_FLOW = 'default',\n ID = 'id',\n DI = 'di';\n\nvar NULL_DIMENSIONS = {\n width: 0,\n height: 0\n};\n\n/**\n * A handler that implements a BPMN 2.0 property update.\n *\n * This should be used to set simple properties on elements with\n * an underlying BPMN business object.\n *\n * Use respective diagram-js provided handlers if you would\n * like to perform automated modeling.\n */\nfunction UpdatePropertiesHandler(\n elementRegistry, moddle, translate,\n modeling, textRenderer) {\n\n this._elementRegistry = elementRegistry;\n this._moddle = moddle;\n this._translate = translate;\n this._modeling = modeling;\n this._textRenderer = textRenderer;\n}\n\nUpdatePropertiesHandler.$inject = [\n 'elementRegistry',\n 'moddle',\n 'translate',\n 'modeling',\n 'textRenderer'\n];\n\n\n// api //////////////////////\n\n/**\n * Updates a BPMN element with a list of new properties\n *\n * @param {Object} context\n * @param {djs.model.Base} context.element the element to update\n * @param {Object} context.properties a list of properties to set on the element's\n * businessObject (the BPMN model element)\n *\n * @return {Array} the updated element\n */\nUpdatePropertiesHandler.prototype.execute = function(context) {\n\n var element = context.element,\n changed = [ element ],\n translate = this._translate;\n\n if (!element) {\n throw new Error(translate('element required'));\n }\n\n var elementRegistry = this._elementRegistry,\n ids = this._moddle.ids;\n\n var businessObject = element.businessObject,\n properties = unwrapBusinessObjects(context.properties),\n oldProperties = context.oldProperties || getProperties(businessObject, properties);\n\n if (isIdChange(properties, businessObject)) {\n ids.unclaim(businessObject[ID]);\n\n elementRegistry.updateId(element, properties[ID]);\n\n ids.claim(properties[ID], businessObject);\n }\n\n // correctly indicate visual changes on default flow updates\n if (DEFAULT_FLOW in properties) {\n\n if (properties[DEFAULT_FLOW]) {\n changed.push(elementRegistry.get(properties[DEFAULT_FLOW].id));\n }\n\n if (businessObject[DEFAULT_FLOW]) {\n changed.push(elementRegistry.get(businessObject[DEFAULT_FLOW].id));\n }\n }\n\n // update properties\n setProperties(businessObject, properties);\n\n // store old values\n context.oldProperties = oldProperties;\n context.changed = changed;\n\n // indicate changed on objects affected by the update\n return changed;\n};\n\n\nUpdatePropertiesHandler.prototype.postExecute = function(context) {\n var element = context.element,\n label = element.label;\n\n var text = label && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(label).name;\n\n if (!text) {\n return;\n }\n\n // get layouted text bounds and resize external\n // external label accordingly\n var newLabelBounds = this._textRenderer.getExternalLabelBounds(label, text);\n\n this._modeling.resizeShape(label, newLabelBounds, NULL_DIMENSIONS);\n};\n\n/**\n * Reverts the update on a BPMN elements properties.\n *\n * @param {Object} context\n *\n * @return {djs.model.Base} the updated element\n */\nUpdatePropertiesHandler.prototype.revert = function(context) {\n\n var element = context.element,\n properties = context.properties,\n oldProperties = context.oldProperties,\n businessObject = element.businessObject,\n elementRegistry = this._elementRegistry,\n ids = this._moddle.ids;\n\n // update properties\n setProperties(businessObject, oldProperties);\n\n if (isIdChange(properties, businessObject)) {\n ids.unclaim(properties[ID]);\n\n elementRegistry.updateId(element, oldProperties[ID]);\n\n ids.claim(oldProperties[ID], businessObject);\n }\n\n return context.changed;\n};\n\n\nfunction isIdChange(properties, businessObject) {\n return ID in properties && properties[ID] !== businessObject[ID];\n}\n\n\nfunction getProperties(businessObject, properties) {\n var propertyNames = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.keys)(properties);\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.reduce)(propertyNames, function(result, key) {\n\n // handle DI separately\n if (key !== DI) {\n result[key] = businessObject.get(key);\n } else {\n result[key] = getDiProperties(businessObject.di, (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.keys)(properties.di));\n }\n\n return result;\n }, {});\n}\n\n\nfunction getDiProperties(di, propertyNames) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.reduce)(propertyNames, function(result, key) {\n result[key] = di.get(key);\n\n return result;\n }, {});\n}\n\n\nfunction setProperties(businessObject, properties) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(properties, function(value, key) {\n\n if (key !== DI) {\n businessObject.set(key, value);\n } else {\n\n // only update, if businessObject.di exists\n if (businessObject.di) {\n setDiProperties(businessObject.di, value);\n }\n }\n });\n}\n\n\nfunction setDiProperties(di, properties) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(properties, function(value, key) {\n di.set(key, value);\n });\n}\n\n\nvar referencePropertyNames = [ 'default' ];\n\n/**\n * Make sure we unwrap the actual business object\n * behind diagram element that may have been\n * passed as arguments.\n *\n * @param {Object} properties\n *\n * @return {Object} unwrappedProps\n */\nfunction unwrapBusinessObjects(properties) {\n\n var unwrappedProps = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({}, properties);\n\n referencePropertyNames.forEach(function(name) {\n if (name in properties) {\n unwrappedProps[name] = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(unwrappedProps[name]);\n }\n });\n\n return unwrappedProps;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdatePropertiesHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateSemanticParentHandler.js":
/*!***************************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateSemanticParentHandler.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UpdateSemanticParentHandler)\n/* harmony export */ });\nfunction UpdateSemanticParentHandler(bpmnUpdater) {\r\n this._bpmnUpdater = bpmnUpdater;\r\n}\r\n\r\nUpdateSemanticParentHandler.$inject = [ 'bpmnUpdater' ];\r\n\r\n\r\nUpdateSemanticParentHandler.prototype.execute = function(context) {\r\n var dataStoreBo = context.dataStoreBo,\r\n newSemanticParent = context.newSemanticParent,\r\n newDiParent = context.newDiParent;\r\n\r\n context.oldSemanticParent = dataStoreBo.$parent;\r\n context.oldDiParent = dataStoreBo.di.$parent;\r\n\r\n // update semantic parent\r\n this._bpmnUpdater.updateSemanticParent(dataStoreBo, newSemanticParent);\r\n\r\n // update DI parent\r\n this._bpmnUpdater.updateDiParent(dataStoreBo.di, newDiParent);\r\n};\r\n\r\nUpdateSemanticParentHandler.prototype.revert = function(context) {\r\n var dataStoreBo = context.dataStoreBo,\r\n oldSemanticParent = context.oldSemanticParent,\r\n oldDiParent = context.oldDiParent;\r\n\r\n // update semantic parent\r\n this._bpmnUpdater.updateSemanticParent(dataStoreBo, oldSemanticParent);\r\n\r\n // update DI parent\r\n this._bpmnUpdater.updateDiParent(dataStoreBo.di, oldDiParent);\r\n};\r\n\r\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateSemanticParentHandler.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/index.js":
/*!*************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/index.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _behavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./behavior */ \"./node_modules/bpmn-js/lib/features/modeling/behavior/index.js\");\n/* harmony import */ var _rules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rules */ \"./node_modules/bpmn-js/lib/features/rules/index.js\");\n/* harmony import */ var _di_ordering__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../di-ordering */ \"./node_modules/bpmn-js/lib/features/di-ordering/index.js\");\n/* harmony import */ var _ordering__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ordering */ \"./node_modules/bpmn-js/lib/features/ordering/index.js\");\n/* harmony import */ var _replace__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../replace */ \"./node_modules/bpmn-js/lib/features/replace/index.js\");\n/* harmony import */ var diagram_js_lib_command__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/command */ \"./node_modules/diagram-js/lib/command/index.js\");\n/* harmony import */ var diagram_js_lib_features_tooltips__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! diagram-js/lib/features/tooltips */ \"./node_modules/diagram-js/lib/features/tooltips/index.js\");\n/* harmony import */ var diagram_js_lib_features_label_support__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! diagram-js/lib/features/label-support */ \"./node_modules/diagram-js/lib/features/label-support/index.js\");\n/* harmony import */ var diagram_js_lib_features_attach_support__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! diagram-js/lib/features/attach-support */ \"./node_modules/diagram-js/lib/features/attach-support/index.js\");\n/* harmony import */ var diagram_js_lib_features_selection__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! diagram-js/lib/features/selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var diagram_js_lib_features_change_support__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! diagram-js/lib/features/change-support */ \"./node_modules/diagram-js/lib/features/change-support/index.js\");\n/* harmony import */ var diagram_js_lib_features_space_tool__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! diagram-js/lib/features/space-tool */ \"./node_modules/diagram-js/lib/features/space-tool/index.js\");\n/* harmony import */ var _BpmnFactory__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./BpmnFactory */ \"./node_modules/bpmn-js/lib/features/modeling/BpmnFactory.js\");\n/* harmony import */ var _BpmnUpdater__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./BpmnUpdater */ \"./node_modules/bpmn-js/lib/features/modeling/BpmnUpdater.js\");\n/* harmony import */ var _ElementFactory__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ElementFactory */ \"./node_modules/bpmn-js/lib/features/modeling/ElementFactory.js\");\n/* harmony import */ var _Modeling__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Modeling */ \"./node_modules/bpmn-js/lib/features/modeling/Modeling.js\");\n/* harmony import */ var _BpmnLayouter__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./BpmnLayouter */ \"./node_modules/bpmn-js/lib/features/modeling/BpmnLayouter.js\");\n/* harmony import */ var diagram_js_lib_layout_CroppingConnectionDocking__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! diagram-js/lib/layout/CroppingConnectionDocking */ \"./node_modules/diagram-js/lib/layout/CroppingConnectionDocking.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [\n 'modeling',\n 'bpmnUpdater'\n ],\n __depends__: [\n _behavior__WEBPACK_IMPORTED_MODULE_0__.default,\n _rules__WEBPACK_IMPORTED_MODULE_1__.default,\n _di_ordering__WEBPACK_IMPORTED_MODULE_2__.default,\n _ordering__WEBPACK_IMPORTED_MODULE_3__.default,\n _replace__WEBPACK_IMPORTED_MODULE_4__.default,\n diagram_js_lib_command__WEBPACK_IMPORTED_MODULE_5__.default,\n diagram_js_lib_features_tooltips__WEBPACK_IMPORTED_MODULE_6__.default,\n diagram_js_lib_features_label_support__WEBPACK_IMPORTED_MODULE_7__.default,\n diagram_js_lib_features_attach_support__WEBPACK_IMPORTED_MODULE_8__.default,\n diagram_js_lib_features_selection__WEBPACK_IMPORTED_MODULE_9__.default,\n diagram_js_lib_features_change_support__WEBPACK_IMPORTED_MODULE_10__.default,\n diagram_js_lib_features_space_tool__WEBPACK_IMPORTED_MODULE_11__.default\n ],\n bpmnFactory: [ 'type', _BpmnFactory__WEBPACK_IMPORTED_MODULE_12__.default ],\n bpmnUpdater: [ 'type', _BpmnUpdater__WEBPACK_IMPORTED_MODULE_13__.default ],\n elementFactory: [ 'type', _ElementFactory__WEBPACK_IMPORTED_MODULE_14__.default ],\n modeling: [ 'type', _Modeling__WEBPACK_IMPORTED_MODULE_15__.default ],\n layouter: [ 'type', _BpmnLayouter__WEBPACK_IMPORTED_MODULE_16__.default ],\n connectionDocking: [ 'type', diagram_js_lib_layout_CroppingConnectionDocking__WEBPACK_IMPORTED_MODULE_17__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js":
/*!*********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LANE_INDENTATION\": () => (/* binding */ LANE_INDENTATION),\n/* harmony export */ \"collectLanes\": () => (/* binding */ collectLanes),\n/* harmony export */ \"getChildLanes\": () => (/* binding */ getChildLanes),\n/* harmony export */ \"getLanesRoot\": () => (/* binding */ getLanesRoot),\n/* harmony export */ \"computeLanesResize\": () => (/* binding */ computeLanesResize)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _ModelingUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var diagram_js_lib_features_resize_ResizeUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/resize/ResizeUtil */ \"./node_modules/diagram-js/lib/features/resize/ResizeUtil.js\");\n\n\n\n\n\n\n\n\nvar abs = Math.abs;\n\n\nfunction getTRBLResize(oldBounds, newBounds) {\n return (0,diagram_js_lib_features_resize_ResizeUtil__WEBPACK_IMPORTED_MODULE_0__.substractTRBL)((0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(newBounds), (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(oldBounds));\n}\n\n\nvar LANE_PARENTS = [\n 'bpmn:Participant',\n 'bpmn:Process',\n 'bpmn:SubProcess'\n];\n\nvar LANE_INDENTATION = 30;\n\n\n/**\n * Collect all lane shapes in the given paren\n *\n * @param {djs.model.Shape} shape\n * @param {Array} [collectedShapes]\n *\n * @return {Array}\n */\nfunction collectLanes(shape, collectedShapes) {\n\n collectedShapes = collectedShapes || [];\n\n shape.children.filter(function(s) {\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(s, 'bpmn:Lane')) {\n collectLanes(s, collectedShapes);\n\n collectedShapes.push(s);\n }\n });\n\n return collectedShapes;\n}\n\n\n/**\n * Return the lane children of the given element.\n *\n * @param {djs.model.Shape} shape\n *\n * @return {Array}\n */\nfunction getChildLanes(shape) {\n return shape.children.filter(function(c) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(c, 'bpmn:Lane');\n });\n}\n\n\n/**\n * Return the root element containing the given lane shape\n *\n * @param {djs.model.Shape} shape\n *\n * @return {djs.model.Shape}\n */\nfunction getLanesRoot(shape) {\n return (0,_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.getParent)(shape, LANE_PARENTS) || shape;\n}\n\n\n/**\n * Compute the required resize operations for lanes\n * adjacent to the given shape, assuming it will be\n * resized to the given new bounds.\n *\n * @param {djs.model.Shape} shape\n * @param {Bounds} newBounds\n *\n * @return {Array}\n */\nfunction computeLanesResize(shape, newBounds) {\n\n var rootElement = getLanesRoot(shape);\n\n var initialShapes = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_2__.is)(rootElement, 'bpmn:Process') ? [] : [ rootElement ];\n\n var allLanes = collectLanes(rootElement, initialShapes),\n shapeTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(shape),\n shapeNewTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(newBounds),\n trblResize = getTRBLResize(shape, newBounds),\n resizeNeeded = [];\n\n allLanes.forEach(function(other) {\n\n if (other === shape) {\n return;\n }\n\n var topResize = 0,\n rightResize = trblResize.right,\n bottomResize = 0,\n leftResize = trblResize.left;\n\n var otherTrbl = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(other);\n\n if (trblResize.top) {\n if (abs(otherTrbl.bottom - shapeTrbl.top) < 10) {\n bottomResize = shapeNewTrbl.top - otherTrbl.bottom;\n }\n\n if (abs(otherTrbl.top - shapeTrbl.top) < 5) {\n topResize = shapeNewTrbl.top - otherTrbl.top;\n }\n }\n\n if (trblResize.bottom) {\n if (abs(otherTrbl.top - shapeTrbl.bottom) < 10) {\n topResize = shapeNewTrbl.bottom - otherTrbl.top;\n }\n\n if (abs(otherTrbl.bottom - shapeTrbl.bottom) < 5) {\n bottomResize = shapeNewTrbl.bottom - otherTrbl.bottom;\n }\n }\n\n if (topResize || rightResize || bottomResize || leftResize) {\n\n resizeNeeded.push({\n shape: other,\n newBounds: (0,diagram_js_lib_features_resize_ResizeUtil__WEBPACK_IMPORTED_MODULE_0__.resizeTRBL)(other, {\n top: topResize,\n right: rightResize,\n bottom: bottomResize,\n left: leftResize\n })\n });\n }\n\n });\n\n return resizeNeeded;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js":
/*!*************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isAny\": () => (/* binding */ isAny),\n/* harmony export */ \"getParent\": () => (/* binding */ getParent)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\n/**\n * Return true if element has any of the given types.\n *\n * @param {djs.model.Base} element\n * @param {Array} types\n *\n * @return {boolean}\n */\nfunction isAny(element, types) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.some)(types, function(t) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, t);\n });\n}\n\n\n/**\n * Return the parent of the element with any of the given types.\n *\n * @param {djs.model.Base} element\n * @param {string|Array} anyType\n *\n * @return {djs.model.Base}\n */\nfunction getParent(element, anyType) {\n\n if (typeof anyType === 'string') {\n anyType = [ anyType ];\n }\n\n while ((element = element.parent)) {\n if (isAny(element, anyType)) {\n return element;\n }\n }\n\n return null;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/ordering/BpmnOrderingProvider.js":
/*!****************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/ordering/BpmnOrderingProvider.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnOrderingProvider)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_features_ordering_OrderingProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/ordering/OrderingProvider */ \"./node_modules/diagram-js/lib/features/ordering/OrderingProvider.js\");\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n\n\n\n\n\n/**\n * a simple ordering provider that makes sure:\n *\n * (0) labels and groups are rendered always on top\n * (1) elements are ordered by a {level} property\n */\nfunction BpmnOrderingProvider(eventBus, canvas, translate) {\n\n diagram_js_lib_features_ordering_OrderingProvider__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n var orders = [\n { type: 'bpmn:SubProcess', order: { level: 6 } },\n {\n type: 'bpmn:SequenceFlow',\n order: {\n level: 3,\n containers: [\n 'bpmn:Participant',\n 'bpmn:FlowElementsContainer'\n ]\n }\n },\n\n // handle DataAssociation(s) like message flows and render them always on top\n {\n type: 'bpmn:DataAssociation',\n order: {\n level: 9,\n containers: [\n 'bpmn:Collaboration',\n 'bpmn:Process'\n ]\n }\n },\n {\n type: 'bpmn:MessageFlow', order: {\n level: 9,\n containers: [ 'bpmn:Collaboration' ]\n }\n },\n {\n type: 'bpmn:Association',\n order: {\n level: 6,\n containers: [\n 'bpmn:Participant',\n 'bpmn:FlowElementsContainer',\n 'bpmn:Collaboration'\n ]\n }\n },\n { type: 'bpmn:BoundaryEvent', order: { level: 8 } },\n {\n type: 'bpmn:Group',\n order: {\n level: 10,\n containers: [\n 'bpmn:Collaboration',\n 'bpmn:Process'\n ]\n }\n },\n { type: 'bpmn:FlowElement', order: { level: 5 } },\n { type: 'bpmn:Participant', order: { level: -2 } },\n { type: 'bpmn:Lane', order: { level: -1 } }\n ];\n\n function computeOrder(element) {\n if (element.labelTarget) {\n return { level: 10 };\n }\n\n var entry = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.find)(orders, function(o) {\n return (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(element, [ o.type ]);\n });\n\n return entry && entry.order || { level: 1 };\n }\n\n function getOrder(element) {\n\n var order = element.order;\n\n if (!order) {\n element.order = order = computeOrder(element);\n }\n\n return order;\n }\n\n function findActualParent(element, newParent, containers) {\n\n var actualParent = newParent;\n\n while (actualParent) {\n\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(actualParent, containers)) {\n break;\n }\n\n actualParent = actualParent.parent;\n }\n\n if (!actualParent) {\n throw new Error(translate('no parent for {element} in {parent}', {\n element: element.id,\n parent: newParent.id\n }));\n }\n\n return actualParent;\n }\n\n this.getOrdering = function(element, newParent) {\n\n // render labels always on top\n if (element.labelTarget) {\n return {\n parent: canvas.getRootElement(),\n index: -1\n };\n }\n\n var elementOrder = getOrder(element);\n\n\n if (elementOrder.containers) {\n newParent = findActualParent(element, newParent, elementOrder.containers);\n }\n\n\n var currentIndex = newParent.children.indexOf(element);\n\n var insertIndex = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.findIndex)(newParent.children, function(child) {\n\n // do not compare with labels, they are created\n // in the wrong order (right after elements) during import and\n // mess up the positioning.\n if (!element.labelTarget && child.labelTarget) {\n return false;\n }\n\n return elementOrder.level < getOrder(child).level;\n });\n\n\n // if the element is already in the child list at\n // a smaller index, we need to adjust the insert index.\n // this takes into account that the element is being removed\n // before being re-inserted\n if (insertIndex !== -1) {\n if (currentIndex !== -1 && currentIndex < insertIndex) {\n insertIndex -= 1;\n }\n }\n\n return {\n index: insertIndex,\n parent: newParent\n };\n };\n}\n\nBpmnOrderingProvider.$inject = [ 'eventBus', 'canvas', 'translate' ];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnOrderingProvider, diagram_js_lib_features_ordering_OrderingProvider__WEBPACK_IMPORTED_MODULE_1__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/ordering/BpmnOrderingProvider.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/ordering/index.js":
/*!*************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/ordering/index.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_i18n_translate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/i18n/translate */ \"./node_modules/diagram-js/lib/i18n/translate/index.js\");\n/* harmony import */ var _BpmnOrderingProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnOrderingProvider */ \"./node_modules/bpmn-js/lib/features/ordering/BpmnOrderingProvider.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_i18n_translate__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [ 'bpmnOrderingProvider' ],\n bpmnOrderingProvider: [ 'type', _BpmnOrderingProvider__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/ordering/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/palette/PaletteProvider.js":
/*!**********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/palette/PaletteProvider.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ PaletteProvider)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n/**\n * A palette provider for BPMN 2.0 elements.\n */\nfunction PaletteProvider(\n palette, create, elementFactory,\n spaceTool, lassoTool, handTool,\n globalConnect, translate) {\n\n this._palette = palette;\n this._create = create;\n this._elementFactory = elementFactory;\n this._spaceTool = spaceTool;\n this._lassoTool = lassoTool;\n this._handTool = handTool;\n this._globalConnect = globalConnect;\n this._translate = translate;\n\n palette.registerProvider(this);\n}\n\nPaletteProvider.$inject = [\n 'palette',\n 'create',\n 'elementFactory',\n 'spaceTool',\n 'lassoTool',\n 'handTool',\n 'globalConnect',\n 'translate'\n];\n\n\nPaletteProvider.prototype.getPaletteEntries = function(element) {\n\n var actions = {},\n create = this._create,\n elementFactory = this._elementFactory,\n spaceTool = this._spaceTool,\n lassoTool = this._lassoTool,\n handTool = this._handTool,\n globalConnect = this._globalConnect,\n translate = this._translate;\n\n function createAction(type, group, className, title, options) {\n\n function createListener(event) {\n var shape = elementFactory.createShape((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({ type: type }, options));\n\n if (options) {\n shape.businessObject.di.isExpanded = options.isExpanded;\n }\n\n create.start(event, shape);\n }\n\n var shortType = type.replace(/^bpmn:/, '');\n\n return {\n group: group,\n className: className,\n title: title || translate('Create {type}', { type: shortType }),\n action: {\n dragstart: createListener,\n click: createListener\n }\n };\n }\n\n function createSubprocess(event) {\n var subProcess = elementFactory.createShape({\n type: 'bpmn:SubProcess',\n x: 0,\n y: 0,\n isExpanded: true\n });\n\n var startEvent = elementFactory.createShape({\n type: 'bpmn:StartEvent',\n x: 40,\n y: 82,\n parent: subProcess\n });\n\n create.start(event, [ subProcess, startEvent ], {\n hints: {\n autoSelect: [ startEvent ]\n }\n });\n }\n\n function createParticipant(event) {\n create.start(event, elementFactory.createParticipantShape());\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(actions, {\n 'hand-tool': {\n group: 'tools',\n className: 'bpmn-icon-hand-tool',\n title: translate('Activate the hand tool'),\n action: {\n click: function(event) {\n handTool.activateHand(event);\n }\n }\n },\n 'lasso-tool': {\n group: 'tools',\n className: 'bpmn-icon-lasso-tool',\n title: translate('Activate the lasso tool'),\n action: {\n click: function(event) {\n lassoTool.activateSelection(event);\n }\n }\n },\n 'space-tool': {\n group: 'tools',\n className: 'bpmn-icon-space-tool',\n title: translate('Activate the create/remove space tool'),\n action: {\n click: function(event) {\n spaceTool.activateSelection(event);\n }\n }\n },\n 'global-connect-tool': {\n group: 'tools',\n className: 'bpmn-icon-connection-multi',\n title: translate('Activate the global connect tool'),\n action: {\n click: function(event) {\n globalConnect.start(event);\n }\n }\n },\n 'tool-separator': {\n group: 'tools',\n separator: true\n },\n 'create.start-event': createAction(\n 'bpmn:StartEvent', 'event', 'bpmn-icon-start-event-none',\n translate('Create StartEvent')\n ),\n 'create.intermediate-event': createAction(\n 'bpmn:IntermediateThrowEvent', 'event', 'bpmn-icon-intermediate-event-none',\n translate('Create Intermediate/Boundary Event')\n ),\n 'create.end-event': createAction(\n 'bpmn:EndEvent', 'event', 'bpmn-icon-end-event-none',\n translate('Create EndEvent')\n ),\n 'create.exclusive-gateway': createAction(\n 'bpmn:ExclusiveGateway', 'gateway', 'bpmn-icon-gateway-none',\n translate('Create Gateway')\n ),\n 'create.task': createAction(\n 'bpmn:Task', 'activity', 'bpmn-icon-task',\n translate('Create Task')\n ),\n 'create.data-object': createAction(\n 'bpmn:DataObjectReference', 'data-object', 'bpmn-icon-data-object',\n translate('Create DataObjectReference')\n ),\n 'create.data-store': createAction(\n 'bpmn:DataStoreReference', 'data-store', 'bpmn-icon-data-store',\n translate('Create DataStoreReference')\n ),\n 'create.subprocess-expanded': {\n group: 'activity',\n className: 'bpmn-icon-subprocess-expanded',\n title: translate('Create expanded SubProcess'),\n action: {\n dragstart: createSubprocess,\n click: createSubprocess\n }\n },\n 'create.participant-expanded': {\n group: 'collaboration',\n className: 'bpmn-icon-participant',\n title: translate('Create Pool/Participant'),\n action: {\n dragstart: createParticipant,\n click: createParticipant\n }\n },\n 'create.group': createAction(\n 'bpmn:Group', 'artifact', 'bpmn-icon-group',\n translate('Create Group')\n ),\n });\n\n return actions;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/palette/PaletteProvider.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/palette/index.js":
/*!************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/palette/index.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_palette__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/palette */ \"./node_modules/diagram-js/lib/features/palette/index.js\");\n/* harmony import */ var diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/create */ \"./node_modules/diagram-js/lib/features/create/index.js\");\n/* harmony import */ var diagram_js_lib_features_space_tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/features/space-tool */ \"./node_modules/diagram-js/lib/features/space-tool/index.js\");\n/* harmony import */ var diagram_js_lib_features_lasso_tool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/features/lasso-tool */ \"./node_modules/diagram-js/lib/features/lasso-tool/index.js\");\n/* harmony import */ var diagram_js_lib_features_hand_tool__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/features/hand-tool */ \"./node_modules/diagram-js/lib/features/hand-tool/index.js\");\n/* harmony import */ var diagram_js_lib_features_global_connect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/features/global-connect */ \"./node_modules/diagram-js/lib/features/global-connect/index.js\");\n/* harmony import */ var diagram_js_lib_i18n_translate__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! diagram-js/lib/i18n/translate */ \"./node_modules/diagram-js/lib/i18n/translate/index.js\");\n/* harmony import */ var _PaletteProvider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PaletteProvider */ \"./node_modules/bpmn-js/lib/features/palette/PaletteProvider.js\");\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_palette__WEBPACK_IMPORTED_MODULE_0__.default,\n diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_1__.default,\n diagram_js_lib_features_space_tool__WEBPACK_IMPORTED_MODULE_2__.default,\n diagram_js_lib_features_lasso_tool__WEBPACK_IMPORTED_MODULE_3__.default,\n diagram_js_lib_features_hand_tool__WEBPACK_IMPORTED_MODULE_4__.default,\n diagram_js_lib_features_global_connect__WEBPACK_IMPORTED_MODULE_5__.default,\n diagram_js_lib_i18n_translate__WEBPACK_IMPORTED_MODULE_6__.default\n ],\n __init__: [ 'paletteProvider' ],\n paletteProvider: [ 'type', _PaletteProvider__WEBPACK_IMPORTED_MODULE_7__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/palette/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/popup-menu/ReplaceMenuProvider.js":
/*!*****************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/popup-menu/ReplaceMenuProvider.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ReplaceMenuProvider)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _util_TypeUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/TypeUtil */ \"./node_modules/bpmn-js/lib/features/popup-menu/util/TypeUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../replace/ReplaceOptions */ \"./node_modules/bpmn-js/lib/features/replace/ReplaceOptions.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * This module is an element agnostic replace menu provider for the popup menu.\n */\nfunction ReplaceMenuProvider(\n bpmnFactory, popupMenu, modeling, moddle,\n bpmnReplace, rules, translate) {\n\n this._bpmnFactory = bpmnFactory;\n this._popupMenu = popupMenu;\n this._modeling = modeling;\n this._moddle = moddle;\n this._bpmnReplace = bpmnReplace;\n this._rules = rules;\n this._translate = translate;\n\n this.register();\n}\n\nReplaceMenuProvider.$inject = [\n 'bpmnFactory',\n 'popupMenu',\n 'modeling',\n 'moddle',\n 'bpmnReplace',\n 'rules',\n 'translate'\n];\n\n\n/**\n * Register replace menu provider in the popup menu\n */\nReplaceMenuProvider.prototype.register = function() {\n this._popupMenu.registerProvider('bpmn-replace', this);\n};\n\n\n/**\n * Get all entries from replaceOptions for the given element and apply filters\n * on them. Get for example only elements, which are different from the current one.\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of menu entry items\n */\nReplaceMenuProvider.prototype.getEntries = function(element) {\n\n var businessObject = element.businessObject;\n\n var rules = this._rules;\n\n var entries;\n\n if (!rules.allowed('shape.replace', { element: element })) {\n return [];\n }\n\n var differentType = (0,_util_TypeUtil__WEBPACK_IMPORTED_MODULE_0__.isDifferentType)(element);\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:DataObjectReference')) {\n return this._createEntries(element, _replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.DATA_OBJECT_REFERENCE);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:DataStoreReference')) {\n return this._createEntries(element, _replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.DATA_STORE_REFERENCE);\n }\n\n // start events outside sub processes\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:StartEvent') && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.$parent, 'bpmn:SubProcess')) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.START_EVENT, differentType);\n\n return this._createEntries(element, entries);\n }\n\n // expanded/collapsed pools\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:Participant')) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.PARTICIPANT, function(entry) {\n return (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(businessObject) !== entry.target.isExpanded;\n });\n\n return this._createEntries(element, entries);\n }\n\n // start events inside event sub processes\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:StartEvent') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isEventSubProcess)(businessObject.$parent)) {\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.EVENT_SUB_PROCESS_START_EVENT, function(entry) {\n\n var target = entry.target;\n\n var isInterrupting = target.isInterrupting !== false;\n\n var isInterruptingEqual = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(element).isInterrupting === isInterrupting;\n\n // filters elements which types and event definition are equal but have have different interrupting types\n return differentType(entry) || !differentType(entry) && !isInterruptingEqual;\n\n });\n\n return this._createEntries(element, entries);\n }\n\n // start events inside sub processes\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:StartEvent') && !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isEventSubProcess)(businessObject.$parent)\n && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.$parent, 'bpmn:SubProcess')) {\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.START_EVENT_SUB_PROCESS, differentType);\n\n return this._createEntries(element, entries);\n }\n\n // end events\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:EndEvent')) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.END_EVENT, function(entry) {\n var target = entry.target;\n\n // hide cancel end events outside transactions\n if (target.eventDefinitionType == 'bpmn:CancelEventDefinition' && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.$parent, 'bpmn:Transaction')) {\n return false;\n }\n\n return differentType(entry);\n });\n\n return this._createEntries(element, entries);\n }\n\n // boundary events\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:BoundaryEvent')) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.BOUNDARY_EVENT, function(entry) {\n\n var target = entry.target;\n\n if (target.eventDefinitionType == 'bpmn:CancelEventDefinition' &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.attachedToRef, 'bpmn:Transaction')) {\n return false;\n }\n var cancelActivity = target.cancelActivity !== false;\n\n var isCancelActivityEqual = businessObject.cancelActivity == cancelActivity;\n\n return differentType(entry) || !differentType(entry) && !isCancelActivityEqual;\n });\n\n return this._createEntries(element, entries);\n }\n\n // intermediate events\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:IntermediateCatchEvent') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:IntermediateThrowEvent')) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.INTERMEDIATE_EVENT, differentType);\n\n return this._createEntries(element, entries);\n }\n\n // gateways\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:Gateway')) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.GATEWAY, differentType);\n\n return this._createEntries(element, entries);\n }\n\n // transactions\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:Transaction')) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.TRANSACTION, differentType);\n\n return this._createEntries(element, entries);\n }\n\n // expanded event sub processes\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isEventSubProcess)(businessObject) && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(businessObject)) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.EVENT_SUB_PROCESS, differentType);\n\n return this._createEntries(element, entries);\n }\n\n // expanded sub processes\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:SubProcess') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(businessObject)) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.SUBPROCESS_EXPANDED, differentType);\n\n return this._createEntries(element, entries);\n }\n\n // collapsed ad hoc sub processes\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:AdHocSubProcess') && !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(businessObject)) {\n\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.TASK, function(entry) {\n\n var target = entry.target;\n\n var isTargetSubProcess = target.type === 'bpmn:SubProcess';\n\n var isTargetExpanded = target.isExpanded === true;\n\n return (0,_util_TypeUtil__WEBPACK_IMPORTED_MODULE_0__.isDifferentType)(element, target) && (!isTargetSubProcess || isTargetExpanded);\n });\n\n return this._createEntries(element, entries);\n }\n\n // sequence flows\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:SequenceFlow')) {\n return this._createSequenceFlowEntries(element, _replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.SEQUENCE_FLOW);\n }\n\n // flow nodes\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:FlowNode')) {\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(_replace_ReplaceOptions__WEBPACK_IMPORTED_MODULE_2__.TASK, differentType);\n\n // collapsed SubProcess can not be replaced with itself\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:SubProcess') && !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(businessObject)) {\n entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.filter)(entries, function(entry) {\n return entry.label !== 'Sub Process (collapsed)';\n });\n }\n\n return this._createEntries(element, entries);\n }\n\n return [];\n};\n\n\n/**\n * Get a list of header items for the given element. This includes buttons\n * for multi instance markers and for the ad hoc marker.\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of menu entry items\n */\nReplaceMenuProvider.prototype.getHeaderEntries = function(element) {\n\n var headerEntries = [];\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, 'bpmn:Activity') && !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isEventSubProcess)(element)) {\n headerEntries = headerEntries.concat(this._getLoopEntries(element));\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, 'bpmn:DataObjectReference')) {\n headerEntries = headerEntries.concat(this._getDataObjectIsCollection(element));\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, 'bpmn:Participant')) {\n headerEntries = headerEntries.concat(this._getParticipantMultiplicity(element));\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, 'bpmn:SubProcess') &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(element, 'bpmn:Transaction') &&\n !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isEventSubProcess)(element)) {\n headerEntries.push(this._getAdHocEntry(element));\n }\n\n return headerEntries;\n};\n\n\n/**\n * Creates an array of menu entry objects for a given element and filters the replaceOptions\n * according to a filter function.\n *\n * @param {djs.model.Base} element\n * @param {Object} replaceOptions\n *\n * @return {Array} a list of menu items\n */\nReplaceMenuProvider.prototype._createEntries = function(element, replaceOptions) {\n var menuEntries = [];\n\n var self = this;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(replaceOptions, function(definition) {\n var entry = self._createMenuEntry(definition, element);\n\n menuEntries.push(entry);\n });\n\n return menuEntries;\n};\n\n/**\n * Creates an array of menu entry objects for a given sequence flow.\n *\n * @param {djs.model.Base} element\n * @param {Object} replaceOptions\n\n * @return {Array} a list of menu items\n */\nReplaceMenuProvider.prototype._createSequenceFlowEntries = function(element, replaceOptions) {\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(element);\n\n var menuEntries = [];\n\n var modeling = this._modeling,\n moddle = this._moddle;\n\n var self = this;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(replaceOptions, function(entry) {\n\n switch (entry.actionName) {\n case 'replace-with-default-flow':\n if (businessObject.sourceRef.default !== businessObject &&\n ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:ExclusiveGateway') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:InclusiveGateway') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:ComplexGateway') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:Activity'))) {\n\n menuEntries.push(self._createMenuEntry(entry, element, function() {\n modeling.updateProperties(element.source, { default: businessObject });\n }));\n }\n break;\n case 'replace-with-conditional-flow':\n if (!businessObject.conditionExpression && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:Activity')) {\n\n menuEntries.push(self._createMenuEntry(entry, element, function() {\n var conditionExpression = moddle.create('bpmn:FormalExpression', { body: '' });\n\n modeling.updateProperties(element, { conditionExpression: conditionExpression });\n }));\n }\n break;\n default:\n\n // default flows\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:Activity') && businessObject.conditionExpression) {\n return menuEntries.push(self._createMenuEntry(entry, element, function() {\n modeling.updateProperties(element, { conditionExpression: undefined });\n }));\n }\n\n // conditional flows\n if (((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:ExclusiveGateway') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:InclusiveGateway') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:ComplexGateway') ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject.sourceRef, 'bpmn:Activity')) &&\n businessObject.sourceRef.default === businessObject) {\n\n return menuEntries.push(self._createMenuEntry(entry, element, function() {\n modeling.updateProperties(element.source, { default: undefined });\n }));\n }\n }\n });\n\n return menuEntries;\n};\n\n\n/**\n * Creates and returns a single menu entry item.\n *\n * @param {Object} definition a single replace options definition object\n * @param {djs.model.Base} element\n * @param {Function} [action] an action callback function which gets called when\n * the menu entry is being triggered.\n *\n * @return {Object} menu entry item\n */\nReplaceMenuProvider.prototype._createMenuEntry = function(definition, element, action) {\n var translate = this._translate;\n var replaceElement = this._bpmnReplace.replaceElement;\n\n var replaceAction = function() {\n return replaceElement(element, definition.target);\n };\n\n var label = definition.label;\n if (label && typeof label === 'function') {\n label = label(element);\n }\n\n action = action || replaceAction;\n\n var menuEntry = {\n label: translate(label),\n className: definition.className,\n id: definition.actionName,\n action: action\n };\n\n return menuEntry;\n};\n\n/**\n * Get a list of menu items containing buttons for multi instance markers\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of menu items\n */\nReplaceMenuProvider.prototype._getLoopEntries = function(element) {\n\n var self = this;\n var translate = this._translate;\n\n function toggleLoopEntry(event, entry) {\n var loopCharacteristics;\n\n if (entry.active) {\n loopCharacteristics = undefined;\n } else {\n loopCharacteristics = self._moddle.create(entry.options.loopCharacteristics);\n\n if (entry.options.isSequential) {\n loopCharacteristics.isSequential = entry.options.isSequential;\n }\n }\n self._modeling.updateProperties(element, { loopCharacteristics: loopCharacteristics });\n }\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(element),\n loopCharacteristics = businessObject.loopCharacteristics;\n\n var isSequential,\n isLoop,\n isParallel;\n\n if (loopCharacteristics) {\n isSequential = loopCharacteristics.isSequential;\n isLoop = loopCharacteristics.isSequential === undefined;\n isParallel = loopCharacteristics.isSequential !== undefined && !loopCharacteristics.isSequential;\n }\n\n\n var loopEntries = [\n {\n id: 'toggle-parallel-mi',\n className: 'bpmn-icon-parallel-mi-marker',\n title: translate('Parallel Multi Instance'),\n active: isParallel,\n action: toggleLoopEntry,\n options: {\n loopCharacteristics: 'bpmn:MultiInstanceLoopCharacteristics',\n isSequential: false\n }\n },\n {\n id: 'toggle-sequential-mi',\n className: 'bpmn-icon-sequential-mi-marker',\n title: translate('Sequential Multi Instance'),\n active: isSequential,\n action: toggleLoopEntry,\n options: {\n loopCharacteristics: 'bpmn:MultiInstanceLoopCharacteristics',\n isSequential: true\n }\n },\n {\n id: 'toggle-loop',\n className: 'bpmn-icon-loop-marker',\n title: translate('Loop'),\n active: isLoop,\n action: toggleLoopEntry,\n options: {\n loopCharacteristics: 'bpmn:StandardLoopCharacteristics'\n }\n }\n ];\n return loopEntries;\n};\n\n/**\n * Get a list of menu items containing a button for the collection marker\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of menu items\n */\nReplaceMenuProvider.prototype._getDataObjectIsCollection = function(element) {\n\n var self = this;\n var translate = this._translate;\n\n function toggleIsCollection(event, entry) {\n self._modeling.updateModdleProperties(\n element,\n dataObject,\n { isCollection: !entry.active });\n }\n\n var dataObject = element.businessObject.dataObjectRef,\n isCollection = dataObject.isCollection;\n\n var dataObjectEntries = [\n {\n id: 'toggle-is-collection',\n className: 'bpmn-icon-parallel-mi-marker',\n title: translate('Collection'),\n active: isCollection,\n action: toggleIsCollection,\n }\n ];\n return dataObjectEntries;\n};\n\n/**\n * Get a list of menu items containing a button for the participant multiplicity marker\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of menu items\n */\nReplaceMenuProvider.prototype._getParticipantMultiplicity = function(element) {\n\n var self = this;\n var bpmnFactory = this._bpmnFactory;\n var translate = this._translate;\n\n function toggleParticipantMultiplicity(event, entry) {\n var isActive = entry.active;\n var participantMultiplicity;\n\n if (!isActive) {\n participantMultiplicity = bpmnFactory.create('bpmn:ParticipantMultiplicity');\n }\n\n self._modeling.updateProperties(\n element,\n { participantMultiplicity: participantMultiplicity });\n }\n\n var participantMultiplicity = element.businessObject.participantMultiplicity;\n\n var participantEntries = [\n {\n id: 'toggle-participant-multiplicity',\n className: 'bpmn-icon-parallel-mi-marker',\n title: translate('Participant Multiplicity'),\n active: !!participantMultiplicity,\n action: toggleParticipantMultiplicity,\n }\n ];\n return participantEntries;\n};\n\n\n/**\n * Get the menu items containing a button for the ad hoc marker\n *\n * @param {djs.model.Base} element\n *\n * @return {Object} a menu item\n */\nReplaceMenuProvider.prototype._getAdHocEntry = function(element) {\n var translate = this._translate;\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.getBusinessObject)(element);\n\n var isAdHoc = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_1__.is)(businessObject, 'bpmn:AdHocSubProcess');\n\n var replaceElement = this._bpmnReplace.replaceElement;\n\n var adHocEntry = {\n id: 'toggle-adhoc',\n className: 'bpmn-icon-ad-hoc-marker',\n title: translate('Ad-hoc'),\n active: isAdHoc,\n action: function(event, entry) {\n if (isAdHoc) {\n return replaceElement(element, { type: 'bpmn:SubProcess' }, {\n autoResize: false,\n layoutConnection: false\n });\n } else {\n return replaceElement(element, { type: 'bpmn:AdHocSubProcess' }, {\n autoResize: false,\n layoutConnection: false\n });\n }\n }\n };\n\n return adHocEntry;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/popup-menu/ReplaceMenuProvider.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/popup-menu/index.js":
/*!***************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/popup-menu/index.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_popup_menu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/popup-menu */ \"./node_modules/diagram-js/lib/features/popup-menu/index.js\");\n/* harmony import */ var _replace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../replace */ \"./node_modules/bpmn-js/lib/features/replace/index.js\");\n/* harmony import */ var _ReplaceMenuProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ReplaceMenuProvider */ \"./node_modules/bpmn-js/lib/features/popup-menu/ReplaceMenuProvider.js\");\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_popup_menu__WEBPACK_IMPORTED_MODULE_0__.default,\n _replace__WEBPACK_IMPORTED_MODULE_1__.default\n ],\n __init__: [ 'replaceMenuProvider' ],\n replaceMenuProvider: [ 'type', _ReplaceMenuProvider__WEBPACK_IMPORTED_MODULE_2__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/popup-menu/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/popup-menu/util/TypeUtil.js":
/*!***********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/popup-menu/util/TypeUtil.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isDifferentType\": () => (/* binding */ isDifferentType)\n/* harmony export */ });\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n\n\n\n\n\n/**\n * Returns true, if an element is from a different type\n * than a target definition. Takes into account the type,\n * event definition type and triggeredByEvent property.\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean}\n */\nfunction isDifferentType(element) {\n\n return function(entry) {\n var target = entry.target;\n\n var businessObject = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(element),\n eventDefinition = businessObject.eventDefinitions && businessObject.eventDefinitions[0];\n\n var isTypeEqual = businessObject.$type === target.type;\n\n var isEventDefinitionEqual = (\n (eventDefinition && eventDefinition.$type) === target.eventDefinitionType\n );\n\n var isTriggeredByEventEqual = (\n businessObject.triggeredByEvent === target.triggeredByEvent\n );\n\n var isExpandedEqual = (\n target.isExpanded === undefined ||\n target.isExpanded === (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_1__.isExpanded)(businessObject)\n );\n\n return !isTypeEqual || !isEventDefinitionEqual || !isTriggeredByEventEqual || !isExpandedEqual;\n };\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/popup-menu/util/TypeUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/replace-preview/BpmnReplacePreview.js":
/*!*********************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/replace-preview/BpmnReplacePreview.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnReplacePreview)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var css_escape__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! css.escape */ \"./node_modules/css.escape/css.escape.js\");\n/* harmony import */ var css_escape__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(css_escape__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar LOW_PRIORITY = 250;\n\n\nfunction BpmnReplacePreview(\n eventBus, elementRegistry, elementFactory,\n canvas, previewSupport) {\n\n diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_2__.default.call(this, eventBus);\n\n /**\n * Replace the visuals of all elements in the context which can be replaced\n *\n * @param {Object} context\n */\n function replaceVisual(context) {\n\n var replacements = context.canExecute.replacements;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(replacements, function(replacement) {\n\n var id = replacement.oldElementId;\n\n var newElement = {\n type: replacement.newElementType\n };\n\n // if the visual of the element is already replaced\n if (context.visualReplacements[id]) {\n return;\n }\n\n var element = elementRegistry.get(id);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(newElement, { x: element.x, y: element.y });\n\n // create a temporary shape\n var tempShape = elementFactory.createShape(newElement);\n\n canvas.addShape(tempShape, element.parent);\n\n // select the original SVG element related to the element and hide it\n var gfx = (0,min_dom__WEBPACK_IMPORTED_MODULE_4__.query)('[data-element-id=\"' + css_escape__WEBPACK_IMPORTED_MODULE_1___default()(element.id) + '\"]', context.dragGroup);\n\n if (gfx) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_5__.attr)(gfx, { display: 'none' });\n }\n\n // clone the gfx of the temporary shape and add it to the drag group\n var dragger = previewSupport.addDragger(tempShape, context.dragGroup);\n\n context.visualReplacements[id] = dragger;\n\n canvas.removeShape(tempShape);\n });\n }\n\n /**\n * Restore the original visuals of the previously replaced elements\n *\n * @param {Object} context\n */\n function restoreVisual(context) {\n\n var visualReplacements = context.visualReplacements;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(visualReplacements, function(dragger, id) {\n\n var originalGfx = (0,min_dom__WEBPACK_IMPORTED_MODULE_4__.query)('[data-element-id=\"' + css_escape__WEBPACK_IMPORTED_MODULE_1___default()(id) + '\"]', context.dragGroup);\n\n if (originalGfx) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_5__.attr)(originalGfx, { display: 'inline' });\n }\n\n dragger.remove();\n\n if (visualReplacements[id]) {\n delete visualReplacements[id];\n }\n });\n }\n\n eventBus.on('shape.move.move', LOW_PRIORITY, function(event) {\n\n var context = event.context,\n canExecute = context.canExecute;\n\n if (!context.visualReplacements) {\n context.visualReplacements = {};\n }\n\n if (canExecute && canExecute.replacements) {\n replaceVisual(context);\n } else {\n restoreVisual(context);\n }\n });\n}\n\nBpmnReplacePreview.$inject = [\n 'eventBus',\n 'elementRegistry',\n 'elementFactory',\n 'canvas',\n 'previewSupport'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnReplacePreview, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_2__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/replace-preview/BpmnReplacePreview.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/replace-preview/index.js":
/*!********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/replace-preview/index.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_preview_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/preview-support */ \"./node_modules/diagram-js/lib/features/preview-support/index.js\");\n/* harmony import */ var _BpmnReplacePreview__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnReplacePreview */ \"./node_modules/bpmn-js/lib/features/replace-preview/BpmnReplacePreview.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_preview_support__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [ 'bpmnReplacePreview' ],\n bpmnReplacePreview: [ 'type', _BpmnReplacePreview__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/replace-preview/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/replace/BpmnReplace.js":
/*!******************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/replace/BpmnReplace.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnReplace)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _copy_paste_ModdleCopy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../copy-paste/ModdleCopy */ \"./node_modules/bpmn-js/lib/features/copy-paste/ModdleCopy.js\");\n\n\n\n\n\n\n\n\n\n\nfunction copyProperties(source, target, properties) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(properties)) {\n properties = [ properties ];\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(properties, function(property) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(source[property])) {\n target[property] = source[property];\n }\n });\n}\n\nvar CUSTOM_PROPERTIES = [\n 'cancelActivity',\n 'instantiate',\n 'eventGatewayType',\n 'triggeredByEvent',\n 'isInterrupting'\n];\n\n\nfunction toggeling(element, target) {\n\n var oldCollapsed = (\n element && (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.has)(element, 'collapsed') ? element.collapsed : !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_1__.isExpanded)(element)\n );\n\n var targetCollapsed;\n\n if (target && ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.has)(target, 'collapsed') || (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.has)(target, 'isExpanded'))) {\n\n // property is explicitly set so use it\n targetCollapsed = (\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.has)(target, 'collapsed') ? target.collapsed : !target.isExpanded\n );\n } else {\n\n // keep old state\n targetCollapsed = oldCollapsed;\n }\n\n if (oldCollapsed !== targetCollapsed) {\n element.collapsed = oldCollapsed;\n return true;\n }\n\n return false;\n}\n\n\n\n/**\n * This module takes care of replacing BPMN elements\n */\nfunction BpmnReplace(\n bpmnFactory,\n elementFactory,\n moddleCopy,\n modeling,\n replace,\n rules,\n selection\n) {\n\n /**\n * Prepares a new business object for the replacement element\n * and triggers the replace operation.\n *\n * @param {djs.model.Base} element\n * @param {Object} target\n * @param {Object} [hints]\n *\n * @return {djs.model.Base} the newly created element\n */\n function replaceElement(element, target, hints) {\n\n hints = hints || {};\n\n var type = target.type,\n oldBusinessObject = element.businessObject;\n\n if (isSubProcess(oldBusinessObject)) {\n if (type === 'bpmn:SubProcess') {\n if (toggeling(element, target)) {\n\n // expanding or collapsing process\n modeling.toggleCollapse(element);\n\n return element;\n }\n }\n }\n\n var newBusinessObject = bpmnFactory.create(type);\n\n var newElement = {\n type: type,\n businessObject: newBusinessObject\n };\n\n var elementProps = (0,_copy_paste_ModdleCopy__WEBPACK_IMPORTED_MODULE_2__.getPropertyNames)(oldBusinessObject.$descriptor),\n newElementProps = (0,_copy_paste_ModdleCopy__WEBPACK_IMPORTED_MODULE_2__.getPropertyNames)(newBusinessObject.$descriptor, true),\n copyProps = intersection(elementProps, newElementProps);\n\n // initialize special properties defined in target definition\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(newBusinessObject, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.pick)(target, CUSTOM_PROPERTIES));\n\n var properties = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(copyProps, function(propertyName) {\n\n // copying event definitions, unless we replace\n if (propertyName === 'eventDefinitions') {\n return hasEventDefinition(element, target.eventDefinitionType);\n }\n\n // retain loop characteristics if the target element\n // is not an event sub process\n if (propertyName === 'loopCharacteristics') {\n return !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_1__.isEventSubProcess)(newBusinessObject);\n }\n\n // so the applied properties from 'target' don't get lost\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.has)(newBusinessObject, propertyName)) {\n return false;\n }\n\n if (propertyName === 'processRef' && target.isExpanded === false) {\n return false;\n }\n\n if (propertyName === 'triggeredByEvent') {\n return false;\n }\n\n return true;\n });\n\n newBusinessObject = moddleCopy.copyElement(\n oldBusinessObject,\n newBusinessObject,\n properties\n );\n\n // initialize custom BPMN extensions\n if (target.eventDefinitionType) {\n\n // only initialize with new eventDefinition\n // if we did not set an event definition yet,\n // i.e. because we copied it\n if (!hasEventDefinition(newBusinessObject, target.eventDefinitionType)) {\n newElement.eventDefinitionType = target.eventDefinitionType;\n newElement.eventDefinitionAttrs = target.eventDefinitionAttrs;\n }\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(oldBusinessObject, 'bpmn:Activity')) {\n\n if (isSubProcess(oldBusinessObject)) {\n\n // no toggeling, so keep old state\n newElement.isExpanded = (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_1__.isExpanded)(oldBusinessObject);\n }\n\n // else if property is explicitly set, use it\n else if (target && (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.has)(target, 'isExpanded')) {\n newElement.isExpanded = target.isExpanded;\n }\n\n // TODO: need also to respect min/max Size\n // copy size, from an expanded subprocess to an expanded alternative subprocess\n // except bpmn:Task, because Task is always expanded\n if (((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_1__.isExpanded)(oldBusinessObject) && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(oldBusinessObject, 'bpmn:Task')) && newElement.isExpanded) {\n newElement.width = element.width;\n newElement.height = element.height;\n }\n }\n\n // remove children if not expanding sub process\n if (isSubProcess(oldBusinessObject) && !isSubProcess(newBusinessObject)) {\n hints.moveChildren = false;\n }\n\n // transform collapsed/expanded pools\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(oldBusinessObject, 'bpmn:Participant')) {\n\n // create expanded pool\n if (target.isExpanded === true) {\n newBusinessObject.processRef = bpmnFactory.create('bpmn:Process');\n } else {\n\n // remove children when transforming to collapsed pool\n hints.moveChildren = false;\n }\n\n // apply same width and default height\n newElement.width = element.width;\n newElement.height = elementFactory._getDefaultSize(newBusinessObject).height;\n }\n\n if (!rules.allowed('shape.resize', { shape: newBusinessObject })) {\n newElement.height = elementFactory._getDefaultSize(newBusinessObject).height;\n newElement.width = elementFactory._getDefaultSize(newBusinessObject).width;\n }\n\n newBusinessObject.name = oldBusinessObject.name;\n\n // retain default flow's reference between inclusive <-> exclusive gateways and activities\n if (\n (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__.isAny)(oldBusinessObject, [\n 'bpmn:ExclusiveGateway',\n 'bpmn:InclusiveGateway',\n 'bpmn:Activity'\n ]) &&\n (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_4__.isAny)(newBusinessObject, [\n 'bpmn:ExclusiveGateway',\n 'bpmn:InclusiveGateway',\n 'bpmn:Activity'\n ])\n ) {\n newBusinessObject.default = oldBusinessObject.default;\n }\n\n if (\n target.host &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(oldBusinessObject, 'bpmn:BoundaryEvent') &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(newBusinessObject, 'bpmn:BoundaryEvent')\n ) {\n newElement.host = target.host;\n }\n\n // The DataStoreReference element is 14px wider than the DataObjectReference element\n // This ensures that they stay centered on the x axis when replaced\n if (\n newElement.type === 'bpmn:DataStoreReference' ||\n newElement.type === 'bpmn:DataObjectReference'\n ) {\n newElement.x = element.x + (element.width - newElement.width) / 2;\n }\n\n newElement.di = {};\n\n // colors will be set to DI\n copyProperties(oldBusinessObject.di, newElement.di, [\n 'fill',\n 'stroke',\n 'background-color',\n 'border-color',\n 'color'\n ]);\n\n newElement = replace.replaceElement(element, newElement, hints);\n\n if (hints.select !== false) {\n selection.select(newElement);\n }\n\n return newElement;\n }\n\n this.replaceElement = replaceElement;\n}\n\nBpmnReplace.$inject = [\n 'bpmnFactory',\n 'elementFactory',\n 'moddleCopy',\n 'modeling',\n 'replace',\n 'rules',\n 'selection'\n];\n\n\nfunction isSubProcess(bo) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(bo, 'bpmn:SubProcess');\n}\n\nfunction hasEventDefinition(element, type) {\n\n var bo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.getBusinessObject)(element);\n\n return type && bo.get('eventDefinitions').some(function(definition) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(definition, type);\n });\n}\n\n/**\n * Compute intersection between two arrays.\n */\nfunction intersection(a1, a2) {\n return a1.filter(function(el) {\n return a2.indexOf(el) !== -1;\n });\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/replace/BpmnReplace.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/replace/ReplaceOptions.js":
/*!*********************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/replace/ReplaceOptions.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"START_EVENT\": () => (/* binding */ START_EVENT),\n/* harmony export */ \"START_EVENT_SUB_PROCESS\": () => (/* binding */ START_EVENT_SUB_PROCESS),\n/* harmony export */ \"INTERMEDIATE_EVENT\": () => (/* binding */ INTERMEDIATE_EVENT),\n/* harmony export */ \"END_EVENT\": () => (/* binding */ END_EVENT),\n/* harmony export */ \"GATEWAY\": () => (/* binding */ GATEWAY),\n/* harmony export */ \"SUBPROCESS_EXPANDED\": () => (/* binding */ SUBPROCESS_EXPANDED),\n/* harmony export */ \"TRANSACTION\": () => (/* binding */ TRANSACTION),\n/* harmony export */ \"EVENT_SUB_PROCESS\": () => (/* binding */ EVENT_SUB_PROCESS),\n/* harmony export */ \"TASK\": () => (/* binding */ TASK),\n/* harmony export */ \"DATA_OBJECT_REFERENCE\": () => (/* binding */ DATA_OBJECT_REFERENCE),\n/* harmony export */ \"DATA_STORE_REFERENCE\": () => (/* binding */ DATA_STORE_REFERENCE),\n/* harmony export */ \"BOUNDARY_EVENT\": () => (/* binding */ BOUNDARY_EVENT),\n/* harmony export */ \"EVENT_SUB_PROCESS_START_EVENT\": () => (/* binding */ EVENT_SUB_PROCESS_START_EVENT),\n/* harmony export */ \"SEQUENCE_FLOW\": () => (/* binding */ SEQUENCE_FLOW),\n/* harmony export */ \"PARTICIPANT\": () => (/* binding */ PARTICIPANT)\n/* harmony export */ });\nvar START_EVENT = [\n {\n label: 'Start Event',\n actionName: 'replace-with-none-start',\n className: 'bpmn-icon-start-event-none',\n target: {\n type: 'bpmn:StartEvent'\n }\n },\n {\n label: 'Intermediate Throw Event',\n actionName: 'replace-with-none-intermediate-throwing',\n className: 'bpmn-icon-intermediate-event-none',\n target: {\n type: 'bpmn:IntermediateThrowEvent'\n }\n },\n {\n label: 'End Event',\n actionName: 'replace-with-none-end',\n className: 'bpmn-icon-end-event-none',\n target: {\n type: 'bpmn:EndEvent'\n }\n },\n {\n label: 'Message Start Event',\n actionName: 'replace-with-message-start',\n className: 'bpmn-icon-start-event-message',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:MessageEventDefinition'\n }\n },\n {\n label: 'Timer Start Event',\n actionName: 'replace-with-timer-start',\n className: 'bpmn-icon-start-event-timer',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:TimerEventDefinition'\n }\n },\n {\n label: 'Conditional Start Event',\n actionName: 'replace-with-conditional-start',\n className: 'bpmn-icon-start-event-condition',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:ConditionalEventDefinition'\n }\n },\n {\n label: 'Signal Start Event',\n actionName: 'replace-with-signal-start',\n className: 'bpmn-icon-start-event-signal',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:SignalEventDefinition'\n }\n }\n];\n\nvar START_EVENT_SUB_PROCESS = [\n {\n label: 'Start Event',\n actionName: 'replace-with-none-start',\n className: 'bpmn-icon-start-event-none',\n target: {\n type: 'bpmn:StartEvent'\n }\n },\n {\n label: 'Intermediate Throw Event',\n actionName: 'replace-with-none-intermediate-throwing',\n className: 'bpmn-icon-intermediate-event-none',\n target: {\n type: 'bpmn:IntermediateThrowEvent'\n }\n },\n {\n label: 'End Event',\n actionName: 'replace-with-none-end',\n className: 'bpmn-icon-end-event-none',\n target: {\n type: 'bpmn:EndEvent'\n }\n }\n];\n\nvar INTERMEDIATE_EVENT = [\n {\n label: 'Start Event',\n actionName: 'replace-with-none-start',\n className: 'bpmn-icon-start-event-none',\n target: {\n type: 'bpmn:StartEvent'\n }\n },\n {\n label: 'Intermediate Throw Event',\n actionName: 'replace-with-none-intermediate-throw',\n className: 'bpmn-icon-intermediate-event-none',\n target: {\n type: 'bpmn:IntermediateThrowEvent'\n }\n },\n {\n label: 'End Event',\n actionName: 'replace-with-none-end',\n className: 'bpmn-icon-end-event-none',\n target: {\n type: 'bpmn:EndEvent'\n }\n },\n {\n label: 'Message Intermediate Catch Event',\n actionName: 'replace-with-message-intermediate-catch',\n className: 'bpmn-icon-intermediate-event-catch-message',\n target: {\n type: 'bpmn:IntermediateCatchEvent',\n eventDefinitionType: 'bpmn:MessageEventDefinition'\n }\n },\n {\n label: 'Message Intermediate Throw Event',\n actionName: 'replace-with-message-intermediate-throw',\n className: 'bpmn-icon-intermediate-event-throw-message',\n target: {\n type: 'bpmn:IntermediateThrowEvent',\n eventDefinitionType: 'bpmn:MessageEventDefinition'\n }\n },\n {\n label: 'Timer Intermediate Catch Event',\n actionName: 'replace-with-timer-intermediate-catch',\n className: 'bpmn-icon-intermediate-event-catch-timer',\n target: {\n type: 'bpmn:IntermediateCatchEvent',\n eventDefinitionType: 'bpmn:TimerEventDefinition'\n }\n },\n {\n label: 'Escalation Intermediate Throw Event',\n actionName: 'replace-with-escalation-intermediate-throw',\n className: 'bpmn-icon-intermediate-event-throw-escalation',\n target: {\n type: 'bpmn:IntermediateThrowEvent',\n eventDefinitionType: 'bpmn:EscalationEventDefinition'\n }\n },\n {\n label: 'Conditional Intermediate Catch Event',\n actionName: 'replace-with-conditional-intermediate-catch',\n className: 'bpmn-icon-intermediate-event-catch-condition',\n target: {\n type: 'bpmn:IntermediateCatchEvent',\n eventDefinitionType: 'bpmn:ConditionalEventDefinition'\n }\n },\n {\n label: 'Link Intermediate Catch Event',\n actionName: 'replace-with-link-intermediate-catch',\n className: 'bpmn-icon-intermediate-event-catch-link',\n target: {\n type: 'bpmn:IntermediateCatchEvent',\n eventDefinitionType: 'bpmn:LinkEventDefinition',\n eventDefinitionAttrs: {\n name: ''\n }\n }\n },\n {\n label: 'Link Intermediate Throw Event',\n actionName: 'replace-with-link-intermediate-throw',\n className: 'bpmn-icon-intermediate-event-throw-link',\n target: {\n type: 'bpmn:IntermediateThrowEvent',\n eventDefinitionType: 'bpmn:LinkEventDefinition',\n eventDefinitionAttrs: {\n name: ''\n }\n }\n },\n {\n label: 'Compensation Intermediate Throw Event',\n actionName: 'replace-with-compensation-intermediate-throw',\n className: 'bpmn-icon-intermediate-event-throw-compensation',\n target: {\n type: 'bpmn:IntermediateThrowEvent',\n eventDefinitionType: 'bpmn:CompensateEventDefinition'\n }\n },\n {\n label: 'Signal Intermediate Catch Event',\n actionName: 'replace-with-signal-intermediate-catch',\n className: 'bpmn-icon-intermediate-event-catch-signal',\n target: {\n type: 'bpmn:IntermediateCatchEvent',\n eventDefinitionType: 'bpmn:SignalEventDefinition'\n }\n },\n {\n label: 'Signal Intermediate Throw Event',\n actionName: 'replace-with-signal-intermediate-throw',\n className: 'bpmn-icon-intermediate-event-throw-signal',\n target: {\n type: 'bpmn:IntermediateThrowEvent',\n eventDefinitionType: 'bpmn:SignalEventDefinition'\n }\n }\n];\n\nvar END_EVENT = [\n {\n label: 'Start Event',\n actionName: 'replace-with-none-start',\n className: 'bpmn-icon-start-event-none',\n target: {\n type: 'bpmn:StartEvent'\n }\n },\n {\n label: 'Intermediate Throw Event',\n actionName: 'replace-with-none-intermediate-throw',\n className: 'bpmn-icon-intermediate-event-none',\n target: {\n type: 'bpmn:IntermediateThrowEvent'\n }\n },\n {\n label: 'End Event',\n actionName: 'replace-with-none-end',\n className: 'bpmn-icon-end-event-none',\n target: {\n type: 'bpmn:EndEvent'\n }\n },\n {\n label: 'Message End Event',\n actionName: 'replace-with-message-end',\n className: 'bpmn-icon-end-event-message',\n target: {\n type: 'bpmn:EndEvent',\n eventDefinitionType: 'bpmn:MessageEventDefinition'\n }\n },\n {\n label: 'Escalation End Event',\n actionName: 'replace-with-escalation-end',\n className: 'bpmn-icon-end-event-escalation',\n target: {\n type: 'bpmn:EndEvent',\n eventDefinitionType: 'bpmn:EscalationEventDefinition'\n }\n },\n {\n label: 'Error End Event',\n actionName: 'replace-with-error-end',\n className: 'bpmn-icon-end-event-error',\n target: {\n type: 'bpmn:EndEvent',\n eventDefinitionType: 'bpmn:ErrorEventDefinition'\n }\n },\n {\n label: 'Cancel End Event',\n actionName: 'replace-with-cancel-end',\n className: 'bpmn-icon-end-event-cancel',\n target: {\n type: 'bpmn:EndEvent',\n eventDefinitionType: 'bpmn:CancelEventDefinition'\n }\n },\n {\n label: 'Compensation End Event',\n actionName: 'replace-with-compensation-end',\n className: 'bpmn-icon-end-event-compensation',\n target: {\n type: 'bpmn:EndEvent',\n eventDefinitionType: 'bpmn:CompensateEventDefinition'\n }\n },\n {\n label: 'Signal End Event',\n actionName: 'replace-with-signal-end',\n className: 'bpmn-icon-end-event-signal',\n target: {\n type: 'bpmn:EndEvent',\n eventDefinitionType: 'bpmn:SignalEventDefinition'\n }\n },\n {\n label: 'Terminate End Event',\n actionName: 'replace-with-terminate-end',\n className: 'bpmn-icon-end-event-terminate',\n target: {\n type: 'bpmn:EndEvent',\n eventDefinitionType: 'bpmn:TerminateEventDefinition'\n }\n }\n];\n\nvar GATEWAY = [\n {\n label: 'Exclusive Gateway',\n actionName: 'replace-with-exclusive-gateway',\n className: 'bpmn-icon-gateway-xor',\n target: {\n type: 'bpmn:ExclusiveGateway'\n }\n },\n {\n label: 'Parallel Gateway',\n actionName: 'replace-with-parallel-gateway',\n className: 'bpmn-icon-gateway-parallel',\n target: {\n type: 'bpmn:ParallelGateway'\n }\n },\n {\n label: 'Inclusive Gateway',\n actionName: 'replace-with-inclusive-gateway',\n className: 'bpmn-icon-gateway-or',\n target: {\n type: 'bpmn:InclusiveGateway'\n }\n },\n {\n label: 'Complex Gateway',\n actionName: 'replace-with-complex-gateway',\n className: 'bpmn-icon-gateway-complex',\n target: {\n type: 'bpmn:ComplexGateway'\n }\n },\n {\n label: 'Event based Gateway',\n actionName: 'replace-with-event-based-gateway',\n className: 'bpmn-icon-gateway-eventbased',\n target: {\n type: 'bpmn:EventBasedGateway',\n instantiate: false,\n eventGatewayType: 'Exclusive'\n }\n }\n\n // Gateways deactivated until https://github.com/bpmn-io/bpmn-js/issues/194\n // {\n // label: 'Event based instantiating Gateway',\n // actionName: 'replace-with-exclusive-event-based-gateway',\n // className: 'bpmn-icon-exclusive-event-based',\n // target: {\n // type: 'bpmn:EventBasedGateway'\n // },\n // options: {\n // businessObject: { instantiate: true, eventGatewayType: 'Exclusive' }\n // }\n // },\n // {\n // label: 'Parallel Event based instantiating Gateway',\n // actionName: 'replace-with-parallel-event-based-instantiate-gateway',\n // className: 'bpmn-icon-parallel-event-based-instantiate-gateway',\n // target: {\n // type: 'bpmn:EventBasedGateway'\n // },\n // options: {\n // businessObject: { instantiate: true, eventGatewayType: 'Parallel' }\n // }\n // }\n];\n\nvar SUBPROCESS_EXPANDED = [\n {\n label: 'Transaction',\n actionName: 'replace-with-transaction',\n className: 'bpmn-icon-transaction',\n target: {\n type: 'bpmn:Transaction',\n isExpanded: true\n }\n },\n {\n label: 'Event Sub Process',\n actionName: 'replace-with-event-subprocess',\n className: 'bpmn-icon-event-subprocess-expanded',\n target: {\n type: 'bpmn:SubProcess',\n triggeredByEvent: true,\n isExpanded: true\n }\n },\n {\n label: 'Sub Process (collapsed)',\n actionName: 'replace-with-collapsed-subprocess',\n className: 'bpmn-icon-subprocess-collapsed',\n target: {\n type: 'bpmn:SubProcess',\n isExpanded: false\n }\n }\n];\n\nvar TRANSACTION = [\n {\n label: 'Sub Process',\n actionName: 'replace-with-subprocess',\n className: 'bpmn-icon-subprocess-expanded',\n target: {\n type: 'bpmn:SubProcess',\n isExpanded: true\n }\n },\n {\n label: 'Event Sub Process',\n actionName: 'replace-with-event-subprocess',\n className: 'bpmn-icon-event-subprocess-expanded',\n target: {\n type: 'bpmn:SubProcess',\n triggeredByEvent: true,\n isExpanded: true\n }\n }\n];\n\nvar EVENT_SUB_PROCESS = [\n {\n label: 'Sub Process',\n actionName: 'replace-with-subprocess',\n className: 'bpmn-icon-subprocess-expanded',\n target: {\n type: 'bpmn:SubProcess',\n isExpanded: true\n }\n },\n {\n label: 'Transaction',\n actionName: 'replace-with-transaction',\n className: 'bpmn-icon-transaction',\n target: {\n type: 'bpmn:Transaction',\n isExpanded: true\n }\n }\n];\n\nvar TASK = [\n {\n label: 'Task',\n actionName: 'replace-with-task',\n className: 'bpmn-icon-task',\n target: {\n type: 'bpmn:Task'\n }\n },\n {\n label: 'Send Task',\n actionName: 'replace-with-send-task',\n className: 'bpmn-icon-send',\n target: {\n type: 'bpmn:SendTask'\n }\n },\n {\n label: 'Receive Task',\n actionName: 'replace-with-receive-task',\n className: 'bpmn-icon-receive',\n target: {\n type: 'bpmn:ReceiveTask'\n }\n },\n {\n label: 'User Task',\n actionName: 'replace-with-user-task',\n className: 'bpmn-icon-user',\n target: {\n type: 'bpmn:UserTask'\n }\n },\n {\n label: 'Manual Task',\n actionName: 'replace-with-manual-task',\n className: 'bpmn-icon-manual',\n target: {\n type: 'bpmn:ManualTask'\n }\n },\n {\n label: 'Business Rule Task',\n actionName: 'replace-with-rule-task',\n className: 'bpmn-icon-business-rule',\n target: {\n type: 'bpmn:BusinessRuleTask'\n }\n },\n {\n label: 'Service Task',\n actionName: 'replace-with-service-task',\n className: 'bpmn-icon-service',\n target: {\n type: 'bpmn:ServiceTask'\n }\n },\n {\n label: 'Script Task',\n actionName: 'replace-with-script-task',\n className: 'bpmn-icon-script',\n target: {\n type: 'bpmn:ScriptTask'\n }\n },\n {\n label: 'Call Activity',\n actionName: 'replace-with-call-activity',\n className: 'bpmn-icon-call-activity',\n target: {\n type: 'bpmn:CallActivity'\n }\n },\n {\n label: 'Sub Process (collapsed)',\n actionName: 'replace-with-collapsed-subprocess',\n className: 'bpmn-icon-subprocess-collapsed',\n target: {\n type: 'bpmn:SubProcess',\n isExpanded: false\n }\n },\n {\n label: 'Sub Process (expanded)',\n actionName: 'replace-with-expanded-subprocess',\n className: 'bpmn-icon-subprocess-expanded',\n target: {\n type: 'bpmn:SubProcess',\n isExpanded: true\n }\n }\n];\n\nvar DATA_OBJECT_REFERENCE = [\n {\n label: 'Data Store Reference',\n actionName: 'replace-with-data-store-reference',\n className: 'bpmn-icon-data-store',\n target: {\n type: 'bpmn:DataStoreReference'\n }\n }\n];\n\nvar DATA_STORE_REFERENCE = [\n {\n label: 'Data Object Reference',\n actionName: 'replace-with-data-object-reference',\n className: 'bpmn-icon-data-object',\n target: {\n type: 'bpmn:DataObjectReference'\n }\n }\n];\n\nvar BOUNDARY_EVENT = [\n {\n label: 'Message Boundary Event',\n actionName: 'replace-with-message-boundary',\n className: 'bpmn-icon-intermediate-event-catch-message',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:MessageEventDefinition'\n }\n },\n {\n label: 'Timer Boundary Event',\n actionName: 'replace-with-timer-boundary',\n className: 'bpmn-icon-intermediate-event-catch-timer',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:TimerEventDefinition'\n }\n },\n {\n label: 'Escalation Boundary Event',\n actionName: 'replace-with-escalation-boundary',\n className: 'bpmn-icon-intermediate-event-catch-escalation',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:EscalationEventDefinition'\n }\n },\n {\n label: 'Conditional Boundary Event',\n actionName: 'replace-with-conditional-boundary',\n className: 'bpmn-icon-intermediate-event-catch-condition',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:ConditionalEventDefinition'\n }\n },\n {\n label: 'Error Boundary Event',\n actionName: 'replace-with-error-boundary',\n className: 'bpmn-icon-intermediate-event-catch-error',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:ErrorEventDefinition'\n }\n },\n {\n label: 'Cancel Boundary Event',\n actionName: 'replace-with-cancel-boundary',\n className: 'bpmn-icon-intermediate-event-catch-cancel',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:CancelEventDefinition'\n }\n },\n {\n label: 'Signal Boundary Event',\n actionName: 'replace-with-signal-boundary',\n className: 'bpmn-icon-intermediate-event-catch-signal',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:SignalEventDefinition'\n }\n },\n {\n label: 'Compensation Boundary Event',\n actionName: 'replace-with-compensation-boundary',\n className: 'bpmn-icon-intermediate-event-catch-compensation',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:CompensateEventDefinition'\n }\n },\n {\n label: 'Message Boundary Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-message-boundary',\n className: 'bpmn-icon-intermediate-event-catch-non-interrupting-message',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:MessageEventDefinition',\n cancelActivity: false\n }\n },\n {\n label: 'Timer Boundary Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-timer-boundary',\n className: 'bpmn-icon-intermediate-event-catch-non-interrupting-timer',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:TimerEventDefinition',\n cancelActivity: false\n }\n },\n {\n label: 'Escalation Boundary Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-escalation-boundary',\n className: 'bpmn-icon-intermediate-event-catch-non-interrupting-escalation',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:EscalationEventDefinition',\n cancelActivity: false\n }\n },\n {\n label: 'Conditional Boundary Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-conditional-boundary',\n className: 'bpmn-icon-intermediate-event-catch-non-interrupting-condition',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:ConditionalEventDefinition',\n cancelActivity: false\n }\n },\n {\n label: 'Signal Boundary Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-signal-boundary',\n className: 'bpmn-icon-intermediate-event-catch-non-interrupting-signal',\n target: {\n type: 'bpmn:BoundaryEvent',\n eventDefinitionType: 'bpmn:SignalEventDefinition',\n cancelActivity: false\n }\n }\n];\n\nvar EVENT_SUB_PROCESS_START_EVENT = [\n {\n label: 'Message Start Event',\n actionName: 'replace-with-message-start',\n className: 'bpmn-icon-start-event-message',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:MessageEventDefinition'\n }\n },\n {\n label: 'Timer Start Event',\n actionName: 'replace-with-timer-start',\n className: 'bpmn-icon-start-event-timer',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:TimerEventDefinition'\n }\n },\n {\n label: 'Conditional Start Event',\n actionName: 'replace-with-conditional-start',\n className: 'bpmn-icon-start-event-condition',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:ConditionalEventDefinition'\n }\n },\n {\n label: 'Signal Start Event',\n actionName: 'replace-with-signal-start',\n className: 'bpmn-icon-start-event-signal',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:SignalEventDefinition'\n }\n },\n {\n label: 'Error Start Event',\n actionName: 'replace-with-error-start',\n className: 'bpmn-icon-start-event-error',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:ErrorEventDefinition'\n }\n },\n {\n label: 'Escalation Start Event',\n actionName: 'replace-with-escalation-start',\n className: 'bpmn-icon-start-event-escalation',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:EscalationEventDefinition'\n }\n },\n {\n label: 'Compensation Start Event',\n actionName: 'replace-with-compensation-start',\n className: 'bpmn-icon-start-event-compensation',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:CompensateEventDefinition'\n }\n },\n {\n label: 'Message Start Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-message-start',\n className: 'bpmn-icon-start-event-non-interrupting-message',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:MessageEventDefinition',\n isInterrupting: false\n }\n },\n {\n label: 'Timer Start Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-timer-start',\n className: 'bpmn-icon-start-event-non-interrupting-timer',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:TimerEventDefinition',\n isInterrupting: false\n }\n },\n {\n label: 'Conditional Start Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-conditional-start',\n className: 'bpmn-icon-start-event-non-interrupting-condition',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:ConditionalEventDefinition',\n isInterrupting: false\n }\n },\n {\n label: 'Signal Start Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-signal-start',\n className: 'bpmn-icon-start-event-non-interrupting-signal',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:SignalEventDefinition',\n isInterrupting: false\n }\n },\n {\n label: 'Escalation Start Event (non-interrupting)',\n actionName: 'replace-with-non-interrupting-escalation-start',\n className: 'bpmn-icon-start-event-non-interrupting-escalation',\n target: {\n type: 'bpmn:StartEvent',\n eventDefinitionType: 'bpmn:EscalationEventDefinition',\n isInterrupting: false\n }\n }\n];\n\nvar SEQUENCE_FLOW = [\n {\n label: 'Sequence Flow',\n actionName: 'replace-with-sequence-flow',\n className: 'bpmn-icon-connection'\n },\n {\n label: 'Default Flow',\n actionName: 'replace-with-default-flow',\n className: 'bpmn-icon-default-flow'\n },\n {\n label: 'Conditional Flow',\n actionName: 'replace-with-conditional-flow',\n className: 'bpmn-icon-conditional-flow'\n }\n];\n\nvar PARTICIPANT = [\n {\n label: 'Expanded Pool',\n actionName: 'replace-with-expanded-pool',\n className: 'bpmn-icon-participant',\n target: {\n type: 'bpmn:Participant',\n isExpanded: true\n }\n },\n {\n label: function(element) {\n var label = 'Empty Pool';\n\n if (element.children && element.children.length) {\n label += ' (removes content)';\n }\n\n return label;\n },\n actionName: 'replace-with-collapsed-pool',\n\n // TODO(@janstuemmel): maybe design new icon\n className: 'bpmn-icon-lane',\n target: {\n type: 'bpmn:Participant',\n isExpanded: false\n }\n }\n];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/replace/ReplaceOptions.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/replace/index.js":
/*!************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/replace/index.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _copy_paste__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../copy-paste */ \"./node_modules/bpmn-js/lib/features/copy-paste/index.js\");\n/* harmony import */ var diagram_js_lib_features_replace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/replace */ \"./node_modules/diagram-js/lib/features/replace/index.js\");\n/* harmony import */ var diagram_js_lib_features_selection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/features/selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var _BpmnReplace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BpmnReplace */ \"./node_modules/bpmn-js/lib/features/replace/BpmnReplace.js\");\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _copy_paste__WEBPACK_IMPORTED_MODULE_0__.default,\n diagram_js_lib_features_replace__WEBPACK_IMPORTED_MODULE_1__.default,\n diagram_js_lib_features_selection__WEBPACK_IMPORTED_MODULE_2__.default\n ],\n bpmnReplace: [ 'type', _BpmnReplace__WEBPACK_IMPORTED_MODULE_3__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/replace/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/rules/BpmnRules.js":
/*!**************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/rules/BpmnRules.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnRules)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var diagram_js_lib_features_rules_RuleProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/rules/RuleProvider */ \"./node_modules/diagram-js/lib/features/rules/RuleProvider.js\");\n/* harmony import */ var _snapping_BpmnSnappingUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../snapping/BpmnSnappingUtil */ \"./node_modules/bpmn-js/lib/features/snapping/BpmnSnappingUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * BPMN specific modeling rule\n */\nfunction BpmnRules(eventBus) {\n diagram_js_lib_features_rules_RuleProvider__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnRules, diagram_js_lib_features_rules_RuleProvider__WEBPACK_IMPORTED_MODULE_1__.default);\n\nBpmnRules.$inject = [ 'eventBus' ];\n\nBpmnRules.prototype.init = function() {\n\n this.addRule('connection.start', function(context) {\n var source = context.source;\n\n return canStartConnection(source);\n });\n\n this.addRule('connection.create', function(context) {\n var source = context.source,\n target = context.target,\n hints = context.hints || {},\n targetParent = hints.targetParent,\n targetAttach = hints.targetAttach;\n\n // don't allow incoming connections on\n // newly created boundary events\n // to boundary events\n if (targetAttach) {\n return false;\n }\n\n // temporarily set target parent for scoping\n // checks to work\n if (targetParent) {\n target.parent = targetParent;\n }\n\n try {\n return canConnect(source, target);\n } finally {\n\n // unset temporary target parent\n if (targetParent) {\n target.parent = null;\n }\n }\n });\n\n this.addRule('connection.reconnect', function(context) {\n\n var connection = context.connection,\n source = context.source,\n target = context.target;\n\n return canConnect(source, target, connection);\n });\n\n this.addRule('connection.updateWaypoints', function(context) {\n return {\n type: context.connection.type\n };\n });\n\n this.addRule('shape.resize', function(context) {\n\n var shape = context.shape,\n newBounds = context.newBounds;\n\n return canResize(shape, newBounds);\n });\n\n this.addRule('elements.create', function(context) {\n var elements = context.elements,\n position = context.position,\n target = context.target;\n\n if (isConnection(target) && !canInsert(elements, target, position)) {\n return false;\n }\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.every)(elements, function(element) {\n if (isConnection(element)) {\n return canConnect(element.source, element.target, element);\n }\n\n if (element.host) {\n return canAttach(element, element.host, null, position);\n }\n\n return canCreate(element, target, null, position);\n });\n });\n\n this.addRule('elements.move', function(context) {\n\n var target = context.target,\n shapes = context.shapes,\n position = context.position;\n\n return canAttach(shapes, target, null, position) ||\n canReplace(shapes, target, position) ||\n canMove(shapes, target, position) ||\n canInsert(shapes, target, position);\n });\n\n this.addRule('shape.create', function(context) {\n return canCreate(\n context.shape,\n context.target,\n context.source,\n context.position\n );\n });\n\n this.addRule('shape.attach', function(context) {\n\n return canAttach(\n context.shape,\n context.target,\n null,\n context.position\n );\n });\n\n this.addRule('element.copy', function(context) {\n var element = context.element,\n elements = context.elements;\n\n return canCopy(elements, element);\n });\n};\n\nBpmnRules.prototype.canConnectMessageFlow = canConnectMessageFlow;\n\nBpmnRules.prototype.canConnectSequenceFlow = canConnectSequenceFlow;\n\nBpmnRules.prototype.canConnectDataAssociation = canConnectDataAssociation;\n\nBpmnRules.prototype.canConnectAssociation = canConnectAssociation;\n\nBpmnRules.prototype.canMove = canMove;\n\nBpmnRules.prototype.canAttach = canAttach;\n\nBpmnRules.prototype.canReplace = canReplace;\n\nBpmnRules.prototype.canDrop = canDrop;\n\nBpmnRules.prototype.canInsert = canInsert;\n\nBpmnRules.prototype.canCreate = canCreate;\n\nBpmnRules.prototype.canConnect = canConnect;\n\nBpmnRules.prototype.canResize = canResize;\n\nBpmnRules.prototype.canCopy = canCopy;\n\n/**\n * Utility functions for rule checking\n */\n\n/**\n * Checks if given element can be used for starting connection.\n *\n * @param {Element} source\n * @return {boolean}\n */\nfunction canStartConnection(element) {\n if (nonExistingOrLabel(element)) {\n return null;\n }\n\n return (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(element, [\n 'bpmn:FlowNode',\n 'bpmn:InteractionNode',\n 'bpmn:DataObjectReference',\n 'bpmn:DataStoreReference',\n 'bpmn:Group',\n 'bpmn:TextAnnotation'\n ]);\n}\n\nfunction nonExistingOrLabel(element) {\n return !element || (0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.isLabel)(element);\n}\n\nfunction isSame(a, b) {\n return a === b;\n}\n\nfunction getOrganizationalParent(element) {\n\n do {\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Process')) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(element);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Participant')) {\n return (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(element).processRef ||\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(element)\n );\n }\n } while ((element = element.parent));\n\n}\n\nfunction isTextAnnotation(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:TextAnnotation');\n}\n\nfunction isGroup(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Group') && !element.labelTarget;\n}\n\nfunction isCompensationBoundary(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:BoundaryEvent') &&\n hasEventDefinition(element, 'bpmn:CompensateEventDefinition');\n}\n\nfunction isForCompensation(e) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(e).isForCompensation;\n}\n\nfunction isSameOrganization(a, b) {\n var parentA = getOrganizationalParent(a),\n parentB = getOrganizationalParent(b);\n\n return parentA === parentB;\n}\n\nfunction isMessageFlowSource(element) {\n return (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:InteractionNode') &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:BoundaryEvent') && (\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Event') || (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:ThrowEvent') &&\n hasEventDefinitionOrNone(element, 'bpmn:MessageEventDefinition')\n )\n )\n );\n}\n\nfunction isMessageFlowTarget(element) {\n return (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:InteractionNode') &&\n !isForCompensation(element) && (\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Event') || (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:CatchEvent') &&\n hasEventDefinitionOrNone(element, 'bpmn:MessageEventDefinition')\n )\n ) && !(\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:BoundaryEvent') &&\n !hasEventDefinition(element, 'bpmn:MessageEventDefinition')\n )\n );\n}\n\nfunction getScopeParent(element) {\n\n var parent = element;\n\n while ((parent = parent.parent)) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(parent, 'bpmn:FlowElementsContainer')) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(parent);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(parent, 'bpmn:Participant')) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(parent).processRef;\n }\n }\n\n return null;\n}\n\nfunction isSameScope(a, b) {\n var scopeParentA = getScopeParent(a),\n scopeParentB = getScopeParent(b);\n\n return scopeParentA === scopeParentB;\n}\n\nfunction hasEventDefinition(element, eventDefinition) {\n var bo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(element);\n\n return !!(0,min_dash__WEBPACK_IMPORTED_MODULE_2__.find)(bo.eventDefinitions || [], function(definition) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(definition, eventDefinition);\n });\n}\n\nfunction hasEventDefinitionOrNone(element, eventDefinition) {\n var bo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(element);\n\n return (bo.eventDefinitions || []).every(function(definition) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(definition, eventDefinition);\n });\n}\n\nfunction isSequenceFlowSource(element) {\n return (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:FlowNode') &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:EndEvent') &&\n !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isEventSubProcess)(element) &&\n !((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:IntermediateThrowEvent') &&\n hasEventDefinition(element, 'bpmn:LinkEventDefinition')\n ) &&\n !isCompensationBoundary(element) &&\n !isForCompensation(element)\n );\n}\n\nfunction isSequenceFlowTarget(element) {\n return (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:FlowNode') &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:StartEvent') &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:BoundaryEvent') &&\n !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isEventSubProcess)(element) &&\n !((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:IntermediateCatchEvent') &&\n hasEventDefinition(element, 'bpmn:LinkEventDefinition')\n ) &&\n !isForCompensation(element)\n );\n}\n\nfunction isEventBasedTarget(element) {\n return (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:ReceiveTask') || (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:IntermediateCatchEvent') && (\n hasEventDefinition(element, 'bpmn:MessageEventDefinition') ||\n hasEventDefinition(element, 'bpmn:TimerEventDefinition') ||\n hasEventDefinition(element, 'bpmn:ConditionalEventDefinition') ||\n hasEventDefinition(element, 'bpmn:SignalEventDefinition')\n )\n )\n );\n}\n\nfunction isConnection(element) {\n return element.waypoints;\n}\n\nfunction getParents(element) {\n\n var parents = [];\n\n while (element) {\n element = element.parent;\n\n if (element) {\n parents.push(element);\n }\n }\n\n return parents;\n}\n\nfunction isParent(possibleParent, element) {\n var allParents = getParents(element);\n return allParents.indexOf(possibleParent) !== -1;\n}\n\nfunction canConnect(source, target, connection) {\n\n if (nonExistingOrLabel(source) || nonExistingOrLabel(target)) {\n return null;\n }\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(connection, 'bpmn:DataAssociation')) {\n\n if (canConnectMessageFlow(source, target)) {\n return { type: 'bpmn:MessageFlow' };\n }\n\n if (canConnectSequenceFlow(source, target)) {\n return { type: 'bpmn:SequenceFlow' };\n }\n }\n\n var connectDataAssociation = canConnectDataAssociation(source, target);\n\n if (connectDataAssociation) {\n return connectDataAssociation;\n }\n\n if (isCompensationBoundary(source) && isForCompensation(target)) {\n return {\n type: 'bpmn:Association',\n associationDirection: 'One'\n };\n }\n\n if (canConnectAssociation(source, target)) {\n\n return {\n type: 'bpmn:Association'\n };\n }\n\n return false;\n}\n\n/**\n * Can an element be dropped into the target element\n *\n * @return {boolean}\n */\nfunction canDrop(element, target, position) {\n\n // can move labels and groups everywhere\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.isLabel)(element) || isGroup(element)) {\n return true;\n }\n\n\n // disallow to create elements on collapsed pools\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Participant') && !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isExpanded)(target)) {\n return false;\n }\n\n // allow to create new participants on\n // existing collaboration and process diagrams\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Participant')) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Process') || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Collaboration');\n }\n\n // allow moving DataInput / DataOutput within its original container only\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(element, [ 'bpmn:DataInput', 'bpmn:DataOutput' ])) {\n\n if (element.parent) {\n return target === element.parent;\n }\n }\n\n // allow creating lanes on participants and other lanes only\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Lane')) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Participant') || (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Lane');\n }\n\n // disallow dropping boundary events which cannot replace with intermediate event\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:BoundaryEvent') && !isDroppableBoundaryEvent(element)) {\n return false;\n }\n\n // drop flow elements onto flow element containers\n // and participants\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:FlowElement') && !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:DataStoreReference')) {\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:FlowElementsContainer')) {\n return (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isExpanded)(target);\n }\n\n return (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(target, [ 'bpmn:Participant', 'bpmn:Lane' ]);\n }\n\n // disallow dropping data store reference if there is no process to append to\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:DataStoreReference') && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Collaboration')) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.some)((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(target).get('participants'), function(participant) {\n return !!participant.get('processRef');\n });\n }\n\n // account for the fact that data associations are always\n // rendered and moved to top (Process or Collaboration level)\n //\n // artifacts may be placed wherever, too\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(element, [ 'bpmn:Artifact', 'bpmn:DataAssociation', 'bpmn:DataStoreReference' ])) {\n return (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(target, [\n 'bpmn:Collaboration',\n 'bpmn:Lane',\n 'bpmn:Participant',\n 'bpmn:Process',\n 'bpmn:SubProcess' ]);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:MessageFlow')) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Collaboration')\n || element.source.parent == target\n || element.target.parent == target;\n }\n\n return false;\n}\n\nfunction isDroppableBoundaryEvent(event) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(event).cancelActivity && (\n hasNoEventDefinition(event) || hasCommonBoundaryIntermediateEventDefinition(event)\n );\n}\n\nfunction isBoundaryEvent(element) {\n return !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.isLabel)(element) && (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:BoundaryEvent');\n}\n\nfunction isLane(element) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Lane');\n}\n\n/**\n * We treat IntermediateThrowEvents as boundary events during create,\n * this must be reflected in the rules.\n */\nfunction isBoundaryCandidate(element) {\n if (isBoundaryEvent(element)) {\n return true;\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:IntermediateThrowEvent') && hasNoEventDefinition(element)) {\n return true;\n }\n\n return (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:IntermediateCatchEvent') &&\n hasCommonBoundaryIntermediateEventDefinition(element)\n );\n}\n\nfunction hasNoEventDefinition(element) {\n var bo = (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.getBusinessObject)(element);\n\n return bo && !(bo.eventDefinitions && bo.eventDefinitions.length);\n}\n\nfunction hasCommonBoundaryIntermediateEventDefinition(element) {\n return hasOneOfEventDefinitions(element, [\n 'bpmn:MessageEventDefinition',\n 'bpmn:TimerEventDefinition',\n 'bpmn:SignalEventDefinition',\n 'bpmn:ConditionalEventDefinition'\n ]);\n}\n\nfunction hasOneOfEventDefinitions(element, eventDefinitions) {\n return eventDefinitions.some(function(definition) {\n return hasEventDefinition(element, definition);\n });\n}\n\nfunction isReceiveTaskAfterEventBasedGateway(element) {\n return (\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:ReceiveTask') &&\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.find)(element.incoming, function(incoming) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(incoming.source, 'bpmn:EventBasedGateway');\n })\n );\n}\n\n\nfunction canAttach(elements, target, source, position) {\n\n if (!Array.isArray(elements)) {\n elements = [ elements ];\n }\n\n // only (re-)attach one element at a time\n if (elements.length !== 1) {\n return false;\n }\n\n var element = elements[0];\n\n // do not attach labels\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.isLabel)(element)) {\n return false;\n }\n\n // only handle boundary events\n if (!isBoundaryCandidate(element)) {\n return false;\n }\n\n // disallow drop on event sub processes\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isEventSubProcess)(target)) {\n return false;\n }\n\n // only allow drop on non compensation activities\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Activity') || isForCompensation(target)) {\n return false;\n }\n\n // only attach to subprocess border\n if (position && !(0,_snapping_BpmnSnappingUtil__WEBPACK_IMPORTED_MODULE_7__.getBoundaryAttachment)(position, target)) {\n return false;\n }\n\n // do not attach on receive tasks after event based gateways\n if (isReceiveTaskAfterEventBasedGateway(target)) {\n return false;\n }\n\n return 'attach';\n}\n\n\n/**\n * Defines how to replace elements for a given target.\n *\n * Returns an array containing all elements which will be replaced.\n *\n * @example\n *\n * [{ id: 'IntermediateEvent_2',\n * type: 'bpmn:StartEvent'\n * },\n * { id: 'IntermediateEvent_5',\n * type: 'bpmn:EndEvent'\n * }]\n *\n * @param {Array} elements\n * @param {Object} target\n *\n * @return {Object} an object containing all elements which have to be replaced\n */\nfunction canReplace(elements, target, position) {\n\n if (!target) {\n return false;\n }\n\n var canExecute = {\n replacements: []\n };\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(elements, function(element) {\n\n if (!(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isEventSubProcess)(target)) {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:StartEvent') &&\n element.type !== 'label' &&\n canDrop(element, target)) {\n\n // replace a non-interrupting start event by a blank interrupting start event\n // when the target is not an event sub process\n if (!(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isInterrupting)(element)) {\n canExecute.replacements.push({\n oldElementId: element.id,\n newElementType: 'bpmn:StartEvent'\n });\n }\n\n // replace an error/escalation/compensate start event by a blank interrupting start event\n // when the target is not an event sub process\n if ((0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.hasErrorEventDefinition)(element) ||\n (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.hasEscalationEventDefinition)(element) ||\n (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.hasCompensateEventDefinition)(element)) {\n canExecute.replacements.push({\n oldElementId: element.id,\n newElementType: 'bpmn:StartEvent'\n });\n }\n\n // replace a typed start event by a blank interrupting start event\n // when the target is a sub process but not an event sub process\n if (hasOneOfEventDefinitions(element,\n [\n 'bpmn:MessageEventDefinition',\n 'bpmn:TimerEventDefinition',\n 'bpmn:SignalEventDefinition',\n 'bpmn:ConditionalEventDefinition'\n ]) &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:SubProcess')) {\n canExecute.replacements.push({\n oldElementId: element.id,\n newElementType: 'bpmn:StartEvent'\n });\n }\n }\n }\n\n if (!(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(target, 'bpmn:Transaction')) {\n if (hasEventDefinition(element, 'bpmn:CancelEventDefinition') &&\n element.type !== 'label') {\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:EndEvent') && canDrop(element, target)) {\n canExecute.replacements.push({\n oldElementId: element.id,\n newElementType: 'bpmn:EndEvent'\n });\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:BoundaryEvent') && canAttach(element, target, null, position)) {\n canExecute.replacements.push({\n oldElementId: element.id,\n newElementType: 'bpmn:BoundaryEvent'\n });\n }\n }\n }\n });\n\n return canExecute.replacements.length ? canExecute : false;\n}\n\nfunction canMove(elements, target) {\n\n // do not move selection containing lanes\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.some)(elements, isLane)) {\n return false;\n }\n\n // allow default move check to start move operation\n if (!target) {\n return true;\n }\n\n return elements.every(function(element) {\n return canDrop(element, target);\n });\n}\n\nfunction canCreate(shape, target, source, position) {\n\n if (!target) {\n return false;\n }\n\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.isLabel)(shape) || isGroup(shape)) {\n return true;\n }\n\n if (isSame(source, target)) {\n return false;\n }\n\n // ensure we do not drop the element\n // into source\n if (source && isParent(source, target)) {\n return false;\n }\n\n return canDrop(shape, target, position) || canInsert(shape, target, position);\n}\n\nfunction canResize(shape, newBounds) {\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(shape, 'bpmn:SubProcess')) {\n return (\n (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_6__.isExpanded)(shape) && (\n !newBounds || (newBounds.width >= 100 && newBounds.height >= 80)\n )\n );\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(shape, 'bpmn:Lane')) {\n return !newBounds || (newBounds.width >= 130 && newBounds.height >= 60);\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(shape, 'bpmn:Participant')) {\n return !newBounds || (newBounds.width >= 250 && newBounds.height >= 50);\n }\n\n if (isTextAnnotation(shape)) {\n return true;\n }\n\n if (isGroup(shape)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Check, whether one side of the relationship\n * is a text annotation.\n */\nfunction isOneTextAnnotation(source, target) {\n\n var sourceTextAnnotation = isTextAnnotation(source),\n targetTextAnnotation = isTextAnnotation(target);\n\n return (\n (sourceTextAnnotation || targetTextAnnotation) &&\n (sourceTextAnnotation !== targetTextAnnotation)\n );\n}\n\n\nfunction canConnectAssociation(source, target) {\n\n // do not connect connections\n if (isConnection(source) || isConnection(target)) {\n return false;\n }\n\n // compensation boundary events are exception\n if (isCompensationBoundary(source) && isForCompensation(target)) {\n return true;\n }\n\n // don't connect parent <-> child\n if (isParent(target, source) || isParent(source, target)) {\n return false;\n }\n\n // allow connection of associations between and \n if (isOneTextAnnotation(source, target)) {\n return true;\n }\n\n // can connect associations where we can connect\n // data associations, too (!)\n return !!canConnectDataAssociation(source, target);\n}\n\nfunction canConnectMessageFlow(source, target) {\n\n // during connect user might move mouse out of canvas\n // https://github.com/bpmn-io/bpmn-js/issues/1033\n if (getRootElement(source) && !getRootElement(target)) {\n return false;\n }\n\n return (\n isMessageFlowSource(source) &&\n isMessageFlowTarget(target) &&\n !isSameOrganization(source, target)\n );\n}\n\nfunction canConnectSequenceFlow(source, target) {\n\n if (\n isEventBasedTarget(target) &&\n target.incoming.length > 0 &&\n areOutgoingEventBasedGatewayConnections(target.incoming) &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(source, 'bpmn:EventBasedGateway')\n ) {\n return false;\n }\n\n return isSequenceFlowSource(source) &&\n isSequenceFlowTarget(target) &&\n isSameScope(source, target) &&\n !((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(source, 'bpmn:EventBasedGateway') && !isEventBasedTarget(target));\n}\n\n\nfunction canConnectDataAssociation(source, target) {\n\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(source, [ 'bpmn:DataObjectReference', 'bpmn:DataStoreReference' ]) &&\n (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(target, [ 'bpmn:Activity', 'bpmn:ThrowEvent' ])) {\n return { type: 'bpmn:DataInputAssociation' };\n }\n\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(target, [ 'bpmn:DataObjectReference', 'bpmn:DataStoreReference' ]) &&\n (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(source, [ 'bpmn:Activity', 'bpmn:CatchEvent' ])) {\n return { type: 'bpmn:DataOutputAssociation' };\n }\n\n return false;\n}\n\nfunction canInsert(shape, flow, position) {\n\n if (!flow) {\n return false;\n }\n\n if (Array.isArray(shape)) {\n if (shape.length !== 1) {\n return false;\n }\n\n shape = shape[0];\n }\n\n if (flow.source === shape ||\n flow.target === shape) {\n return false;\n }\n\n // return true if we can drop on the\n // underlying flow parent\n //\n // at this point we are not really able to talk\n // about connection rules (yet)\n\n return (\n (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(flow, [ 'bpmn:SequenceFlow', 'bpmn:MessageFlow' ]) &&\n !(0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.isLabel)(flow) &&\n (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(shape, 'bpmn:FlowNode') &&\n !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(shape, 'bpmn:BoundaryEvent') &&\n canDrop(shape, flow.parent, position));\n}\n\nfunction includes(elements, element) {\n return (elements && element) && elements.indexOf(element) !== -1;\n}\n\nfunction canCopy(elements, element) {\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.isLabel)(element)) {\n return true;\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(element, 'bpmn:Lane') && !includes(elements, element.parent)) {\n return false;\n }\n\n return true;\n}\n\nfunction isOutgoingEventBasedGatewayConnection(connection) {\n\n if (connection && connection.source) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_5__.is)(connection.source, 'bpmn:EventBasedGateway');\n }\n}\n\nfunction areOutgoingEventBasedGatewayConnections(connections) {\n connections = connections || [];\n\n return connections.some(isOutgoingEventBasedGatewayConnection);\n}\n\nfunction getRootElement(element) {\n return (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.getParent)(element, 'bpmn:Process') || (0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.getParent)(element, 'bpmn:Collaboration');\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/rules/BpmnRules.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/rules/index.js":
/*!**********************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/rules/index.js ***!
\**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_rules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/rules */ \"./node_modules/diagram-js/lib/features/rules/index.js\");\n/* harmony import */ var _BpmnRules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnRules */ \"./node_modules/bpmn-js/lib/features/rules/BpmnRules.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_rules__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [ 'bpmnRules' ],\n bpmnRules: [ 'type', _BpmnRules__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/rules/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/search/BpmnSearchProvider.js":
/*!************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/search/BpmnSearchProvider.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnSearchProvider)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../label-editing/LabelUtil */ \"./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js\");\n\n\n\n\n\n/**\n * Provides ability to search through BPMN elements\n */\nfunction BpmnSearchProvider(elementRegistry, searchPad, canvas) {\n\n this._elementRegistry = elementRegistry;\n this._canvas = canvas;\n\n searchPad.registerProvider(this);\n}\n\nBpmnSearchProvider.$inject = [\n 'elementRegistry',\n 'searchPad',\n 'canvas'\n];\n\n\n/**\n * Finds all elements that match given pattern\n *\n * :\n * {\n * primaryTokens: >,\n * secondaryTokens: >,\n * element: \n * }\n *\n * :\n * {\n * normal|matched: \n * }\n *\n * @param {string} pattern\n * @return {Array}\n */\nBpmnSearchProvider.prototype.find = function(pattern) {\n var rootElement = this._canvas.getRootElement();\n\n var elements = this._elementRegistry.filter(function(element) {\n if (element.labelTarget) {\n return false;\n }\n return true;\n });\n\n // do not include root element\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(elements, function(element) {\n return element !== rootElement;\n });\n\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(elements, function(element) {\n return {\n primaryTokens: matchAndSplit((0,_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.getLabel)(element), pattern),\n secondaryTokens: matchAndSplit(element.id, pattern),\n element: element\n };\n });\n\n // exclude non-matched elements\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(elements, function(element) {\n return hasMatched(element.primaryTokens) || hasMatched(element.secondaryTokens);\n });\n\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(elements, function(element) {\n return (0,_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_1__.getLabel)(element.element) + element.element.id;\n });\n\n return elements;\n};\n\n\nfunction hasMatched(tokens) {\n var matched = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(tokens, function(t) {\n return !!t.matched;\n });\n\n return matched.length > 0;\n}\n\n\nfunction matchAndSplit(text, pattern) {\n var tokens = [],\n originalText = text;\n\n if (!text) {\n return tokens;\n }\n\n text = text.toLowerCase();\n pattern = pattern.toLowerCase();\n\n var i = text.indexOf(pattern);\n\n if (i > -1) {\n if (i !== 0) {\n tokens.push({\n normal: originalText.substr(0, i)\n });\n }\n\n tokens.push({\n matched: originalText.substr(i, pattern.length)\n });\n\n if (pattern.length + i < text.length) {\n tokens.push({\n normal: originalText.substr(pattern.length + i, text.length)\n });\n }\n } else {\n tokens.push({\n normal: originalText\n });\n }\n\n return tokens;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/search/BpmnSearchProvider.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/search/index.js":
/*!***********************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/search/index.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_search_pad__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/search-pad */ \"./node_modules/diagram-js/lib/features/search-pad/index.js\");\n/* harmony import */ var _BpmnSearchProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnSearchProvider */ \"./node_modules/bpmn-js/lib/features/search/BpmnSearchProvider.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_search_pad__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [ 'bpmnSearch'],\n bpmnSearch: [ 'type', _BpmnSearchProvider__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/search/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/snapping/BpmnConnectSnapping.js":
/*!***************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/snapping/BpmnConnectSnapping.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnConnectSnapping)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/snapping/SnapUtil */ \"./node_modules/diagram-js/lib/features/snapping/SnapUtil.js\");\n/* harmony import */ var diagram_js_lib_features_keyboard_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/keyboard/KeyboardUtil */ \"./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modeling/util/ModelingUtil */ \"./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar HIGHER_PRIORITY = 1250;\r\n\r\nvar BOUNDARY_TO_HOST_THRESHOLD = 40;\r\n\r\nvar TARGET_BOUNDS_PADDING = 20,\r\n TASK_BOUNDS_PADDING = 10;\r\n\r\nvar TARGET_CENTER_PADDING = 20;\r\n\r\nvar AXES = [ 'x', 'y' ];\r\n\r\nvar abs = Math.abs;\r\n\r\n/**\r\n * Snap during connect.\r\n *\r\n * @param {EventBus} eventBus\r\n */\r\nfunction BpmnConnectSnapping(eventBus) {\r\n eventBus.on([\r\n 'connect.hover',\r\n 'connect.move',\r\n 'connect.end',\r\n ], HIGHER_PRIORITY, function(event) {\r\n var context = event.context,\r\n canExecute = context.canExecute,\r\n start = context.start,\r\n hover = context.hover,\r\n source = context.source,\r\n target = context.target;\r\n\r\n // do NOT snap on CMD\r\n if (event.originalEvent && (0,diagram_js_lib_features_keyboard_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(event.originalEvent)) {\r\n return;\r\n }\r\n\r\n if (!context.initialConnectionStart) {\r\n context.initialConnectionStart = context.connectionStart;\r\n }\r\n\r\n // snap hover\r\n if (canExecute && hover) {\r\n snapToShape(event, hover, getTargetBoundsPadding(hover));\r\n }\r\n\r\n if (hover && isAnyType(canExecute, [\r\n 'bpmn:Association',\r\n 'bpmn:DataInputAssociation',\r\n 'bpmn:DataOutputAssociation',\r\n 'bpmn:SequenceFlow'\r\n ])) {\r\n context.connectionStart = (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.mid)(start);\r\n\r\n // snap hover\r\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__.isAny)(hover, [ 'bpmn:Event', 'bpmn:Gateway' ])) {\r\n snapToPosition(event, (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.mid)(hover));\r\n }\r\n\r\n // snap hover\r\n if ((0,_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_2__.isAny)(hover, [ 'bpmn:Task', 'bpmn:SubProcess' ])) {\r\n snapToTargetMid(event, hover);\r\n }\r\n\r\n // snap source and target\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(source, 'bpmn:BoundaryEvent') && target === source.host) {\r\n snapBoundaryEventLoop(event);\r\n }\r\n\r\n } else if (isType(canExecute, 'bpmn:MessageFlow')) {\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(start, 'bpmn:Event')) {\r\n\r\n // snap start\r\n context.connectionStart = (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.mid)(start);\r\n }\r\n\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(hover, 'bpmn:Event')) {\r\n\r\n // snap hover\r\n snapToPosition(event, (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.mid)(hover));\r\n }\r\n\r\n } else {\r\n\r\n // un-snap source\r\n context.connectionStart = context.initialConnectionStart;\r\n }\r\n });\r\n}\r\n\r\nBpmnConnectSnapping.$inject = [ 'eventBus' ];\r\n\r\n\r\n// helpers //////////\r\n\r\n// snap to target if event in target\r\nfunction snapToShape(event, target, padding) {\r\n AXES.forEach(function(axis) {\r\n var dimensionForAxis = getDimensionForAxis(axis, target);\r\n\r\n if (event[ axis ] < target[ axis ] + padding) {\r\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, axis, target[ axis ] + padding);\r\n } else if (event[ axis ] > target[ axis ] + dimensionForAxis - padding) {\r\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, axis, target[ axis ] + dimensionForAxis - padding);\r\n }\r\n });\r\n}\r\n\r\n// snap to target mid if event in target mid\r\nfunction snapToTargetMid(event, target) {\r\n var targetMid = (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.mid)(target);\r\n\r\n AXES.forEach(function(axis) {\r\n if (isMid(event, target, axis)) {\r\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, axis, targetMid[ axis ]);\r\n }\r\n });\r\n}\r\n\r\n// snap to prevent loop overlapping boundary event\r\nfunction snapBoundaryEventLoop(event) {\r\n var context = event.context,\r\n source = context.source,\r\n target = context.target;\r\n\r\n if (isReverse(context)) {\r\n return;\r\n }\r\n\r\n var sourceMid = (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.mid)(source),\r\n orientation = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_4__.getOrientation)(sourceMid, target, -10),\r\n axes = [];\r\n\r\n if (/top|bottom/.test(orientation)) {\r\n axes.push('x');\r\n }\r\n\r\n if (/left|right/.test(orientation)) {\r\n axes.push('y');\r\n }\r\n\r\n axes.forEach(function(axis) {\r\n var coordinate = event[ axis ], newCoordinate;\r\n\r\n if (abs(coordinate - sourceMid[ axis ]) < BOUNDARY_TO_HOST_THRESHOLD) {\r\n if (coordinate > sourceMid[ axis ]) {\r\n newCoordinate = sourceMid[ axis ] + BOUNDARY_TO_HOST_THRESHOLD;\r\n }\r\n else {\r\n newCoordinate = sourceMid[ axis ] - BOUNDARY_TO_HOST_THRESHOLD;\r\n }\r\n\r\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, axis, newCoordinate);\r\n }\r\n });\r\n}\r\n\r\nfunction snapToPosition(event, position) {\r\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, 'x', position.x);\r\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, 'y', position.y);\r\n}\r\n\r\nfunction isType(attrs, type) {\r\n return attrs && attrs.type === type;\r\n}\r\n\r\nfunction isAnyType(attrs, types) {\r\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.some)(types, function(type) {\r\n return isType(attrs, type);\r\n });\r\n}\r\n\r\nfunction getDimensionForAxis(axis, element) {\r\n return axis === 'x' ? element.width : element.height;\r\n}\r\n\r\nfunction getTargetBoundsPadding(target) {\r\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(target, 'bpmn:Task')) {\r\n return TASK_BOUNDS_PADDING;\r\n } else {\r\n return TARGET_BOUNDS_PADDING;\r\n }\r\n}\r\n\r\nfunction isMid(event, target, axis) {\r\n return event[ axis ] > target[ axis ] + TARGET_CENTER_PADDING\r\n && event[ axis ] < target[ axis ] + getDimensionForAxis(axis, target) - TARGET_CENTER_PADDING;\r\n}\r\n\r\nfunction isReverse(context) {\r\n var hover = context.hover,\r\n source = context.source;\r\n\r\n return hover && source && hover === source;\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/snapping/BpmnConnectSnapping.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/snapping/BpmnCreateMoveSnapping.js":
/*!******************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/snapping/BpmnCreateMoveSnapping.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnCreateMoveSnapping)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var diagram_js_lib_features_snapping_CreateMoveSnapping__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/snapping/CreateMoveSnapping */ \"./node_modules/diagram-js/lib/features/snapping/CreateMoveSnapping.js\");\n/* harmony import */ var diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diagram-js/lib/features/snapping/SnapUtil */ \"./node_modules/diagram-js/lib/features/snapping/SnapUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var _BpmnSnappingUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./BpmnSnappingUtil */ \"./node_modules/bpmn-js/lib/features/snapping/BpmnSnappingUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar HIGH_PRIORITY = 1500;\n\n\n/**\n * Snap during create and move.\n *\n * @param {EventBus} eventBus\n * @param {Injector} injector\n */\nfunction BpmnCreateMoveSnapping(eventBus, injector) {\n injector.invoke(diagram_js_lib_features_snapping_CreateMoveSnapping__WEBPACK_IMPORTED_MODULE_1__.default, this);\n\n // creating first participant\n eventBus.on([ 'create.move', 'create.end' ], HIGH_PRIORITY, setSnappedIfConstrained);\n\n // snap boundary events\n eventBus.on([\n 'create.move',\n 'create.end',\n 'shape.move.move',\n 'shape.move.end'\n ], HIGH_PRIORITY, function(event) {\n var context = event.context,\n canExecute = context.canExecute,\n target = context.target;\n\n var canAttach = canExecute && (canExecute === 'attach' || canExecute.attach);\n\n if (canAttach && !(0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.isSnapped)(event)) {\n snapBoundaryEvent(event, target);\n }\n });\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(BpmnCreateMoveSnapping, diagram_js_lib_features_snapping_CreateMoveSnapping__WEBPACK_IMPORTED_MODULE_1__.default);\n\nBpmnCreateMoveSnapping.$inject = [\n 'eventBus',\n 'injector'\n];\n\nBpmnCreateMoveSnapping.prototype.initSnap = function(event) {\n var snapContext = diagram_js_lib_features_snapping_CreateMoveSnapping__WEBPACK_IMPORTED_MODULE_1__.default.prototype.initSnap.call(this, event);\n\n var shape = event.shape;\n\n var isMove = !!this._elementRegistry.get(shape.id);\n\n // snap to docking points\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(shape.outgoing, function(connection) {\n var docking = connection.waypoints[0];\n\n docking = docking.original || docking;\n\n snapContext.setSnapOrigin(connection.id + '-docking', getDockingSnapOrigin(docking, isMove, event));\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(shape.incoming, function(connection) {\n var docking = connection.waypoints[connection.waypoints.length - 1];\n\n docking = docking.original || docking;\n\n snapContext.setSnapOrigin(connection.id + '-docking', getDockingSnapOrigin(docking, isMove, event));\n });\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(shape, 'bpmn:Participant')) {\n\n // snap to borders with higher priority\n snapContext.setSnapLocations([ 'top-left', 'bottom-right', 'mid' ]);\n }\n\n return snapContext;\n};\n\nBpmnCreateMoveSnapping.prototype.addSnapTargetPoints = function(snapPoints, shape, target) {\n diagram_js_lib_features_snapping_CreateMoveSnapping__WEBPACK_IMPORTED_MODULE_1__.default.prototype.addSnapTargetPoints.call(this, snapPoints, shape, target);\n\n var snapTargets = this.getSnapTargets(shape, target);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(snapTargets, function(snapTarget) {\n\n // handle TRBL alignment\n //\n // * with container elements\n // * with text annotations\n if (isContainer(snapTarget) || areAll([ shape, snapTarget ], 'bpmn:TextAnnotation')) {\n snapPoints.add('top-left', (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.topLeft)(snapTarget));\n snapPoints.add('bottom-right', (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.bottomRight)(snapTarget));\n }\n });\n\n var elementRegistry = this._elementRegistry;\n\n // snap to docking points if not create mode\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(shape.incoming, function(connection) {\n if (elementRegistry.get(shape.id)) {\n\n if (!includes(snapTargets, connection.source)) {\n snapPoints.add('mid', (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getMid)(connection.source));\n }\n\n var docking = connection.waypoints[0];\n snapPoints.add(connection.id + '-docking', docking.original || docking);\n }\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.forEach)(shape.outgoing, function(connection) {\n if (elementRegistry.get(shape.id)) {\n\n if (!includes(snapTargets, connection.target)) {\n snapPoints.add('mid', (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getMid)(connection.target));\n }\n\n var docking = connection.waypoints[ connection.waypoints.length - 1 ];\n\n snapPoints.add(connection.id + '-docking', docking.original || docking);\n }\n });\n\n // add sequence flow parents as snap targets\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(target, 'bpmn:SequenceFlow')) {\n snapPoints = this.addSnapTargetPoints(snapPoints, shape, target.parent);\n }\n\n return snapPoints;\n};\n\nBpmnCreateMoveSnapping.prototype.getSnapTargets = function(shape, target) {\n return diagram_js_lib_features_snapping_CreateMoveSnapping__WEBPACK_IMPORTED_MODULE_1__.default.prototype.getSnapTargets.call(this, shape, target)\n .filter(function(snapTarget) {\n\n // do not snap to lanes\n return !(0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(snapTarget, 'bpmn:Lane');\n });\n};\n\n// helpers //////////\n\nfunction snapBoundaryEvent(event, target) {\n var targetTRBL = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.asTRBL)(target);\n\n var direction = (0,_BpmnSnappingUtil__WEBPACK_IMPORTED_MODULE_6__.getBoundaryAttachment)(event, target);\n\n var context = event.context,\n shape = context.shape;\n\n var offset;\n\n if (shape.parent) {\n offset = { x: 0, y: 0 };\n } else {\n offset = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_5__.getMid)(shape);\n }\n\n if (/top/.test(direction)) {\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.setSnapped)(event, 'y', targetTRBL.top - offset.y);\n } else if (/bottom/.test(direction)) {\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.setSnapped)(event, 'y', targetTRBL.bottom - offset.y);\n }\n\n if (/left/.test(direction)) {\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.setSnapped)(event, 'x', targetTRBL.left - offset.x);\n } else if (/right/.test(direction)) {\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.setSnapped)(event, 'x', targetTRBL.right - offset.x);\n }\n}\n\nfunction areAll(elements, type) {\n return elements.every(function(el) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(el, type);\n });\n}\n\nfunction isContainer(element) {\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:SubProcess') && (0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_7__.isExpanded)(element)) {\n return true;\n }\n\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_4__.is)(element, 'bpmn:Participant');\n}\n\n\nfunction setSnappedIfConstrained(event) {\n var context = event.context,\n createConstraints = context.createConstraints;\n\n if (!createConstraints) {\n return;\n }\n\n var top = createConstraints.top,\n right = createConstraints.right,\n bottom = createConstraints.bottom,\n left = createConstraints.left;\n\n if ((left && left >= event.x) || (right && right <= event.x)) {\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.setSnapped)(event, 'x', event.x);\n }\n\n if ((top && top >= event.y) || (bottom && bottom <= event.y)) {\n (0,diagram_js_lib_features_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.setSnapped)(event, 'y', event.y);\n }\n}\n\nfunction includes(array, value) {\n return array.indexOf(value) !== -1;\n}\n\nfunction getDockingSnapOrigin(docking, isMove, event) {\n return isMove ? (\n {\n x: docking.x - event.x,\n y: docking.y - event.y\n }\n ) : {\n x: docking.x,\n y: docking.y\n };\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/snapping/BpmnCreateMoveSnapping.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/snapping/BpmnSnappingUtil.js":
/*!************************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/snapping/BpmnSnappingUtil.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getBoundaryAttachment\": () => (/* binding */ getBoundaryAttachment)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n\r\n\r\nfunction getBoundaryAttachment(position, targetBounds) {\r\n\r\n var orientation = (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__.getOrientation)(position, targetBounds, -15);\r\n\r\n if (orientation !== 'intersect') {\r\n return orientation;\r\n } else {\r\n return null;\r\n }\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/snapping/BpmnSnappingUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/features/snapping/index.js":
/*!*************************************************************!*\
!*** ./node_modules/bpmn-js/lib/features/snapping/index.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _BpmnConnectSnapping__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnConnectSnapping */ \"./node_modules/bpmn-js/lib/features/snapping/BpmnConnectSnapping.js\");\n/* harmony import */ var _BpmnCreateMoveSnapping__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BpmnCreateMoveSnapping */ \"./node_modules/bpmn-js/lib/features/snapping/BpmnCreateMoveSnapping.js\");\n/* harmony import */ var diagram_js_lib_features_snapping__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/features/snapping */ \"./node_modules/diagram-js/lib/features/snapping/index.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [ diagram_js_lib_features_snapping__WEBPACK_IMPORTED_MODULE_0__.default ],\n __init__: [\n 'connectSnapping',\n 'createMoveSnapping'\n ],\n connectSnapping: [ 'type', _BpmnConnectSnapping__WEBPACK_IMPORTED_MODULE_1__.default ],\n createMoveSnapping: [ 'type', _BpmnCreateMoveSnapping__WEBPACK_IMPORTED_MODULE_2__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/features/snapping/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/import/BpmnImporter.js":
/*!*********************************************************!*\
!*** ./node_modules/bpmn-js/lib/import/BpmnImporter.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnImporter)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var _util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/LabelUtil */ \"./node_modules/bpmn-js/lib/util/LabelUtil.js\");\n/* harmony import */ var diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var _util_DiUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/DiUtil */ \"./node_modules/bpmn-js/lib/util/DiUtil.js\");\n/* harmony import */ var _features_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../features/label-editing/LabelUtil */ \"./node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js\");\n/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Util */ \"./node_modules/bpmn-js/lib/import/Util.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction elementData(semantic, attrs) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({\n id: semantic.id,\n type: semantic.$type,\n businessObject: semantic\n }, attrs);\n}\n\nfunction getWaypoints(bo, source, target) {\n\n var waypoints = bo.di.waypoint;\n\n if (!waypoints || waypoints.length < 2) {\n return [ (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(source), (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(target) ];\n }\n\n return waypoints.map(function(p) {\n return { x: p.x, y: p.y };\n });\n}\n\nfunction notYetDrawn(translate, semantic, refSemantic, property) {\n return new Error(translate('element {element} referenced by {referenced}#{property} not yet drawn', {\n element: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(refSemantic),\n referenced: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(semantic),\n property: property\n }));\n}\n\n\n/**\n * An importer that adds bpmn elements to the canvas\n *\n * @param {EventBus} eventBus\n * @param {Canvas} canvas\n * @param {ElementFactory} elementFactory\n * @param {ElementRegistry} elementRegistry\n * @param {Function} translate\n * @param {TextRenderer} textRenderer\n */\nfunction BpmnImporter(\n eventBus, canvas, elementFactory,\n elementRegistry, translate, textRenderer) {\n\n this._eventBus = eventBus;\n this._canvas = canvas;\n this._elementFactory = elementFactory;\n this._elementRegistry = elementRegistry;\n this._translate = translate;\n this._textRenderer = textRenderer;\n}\n\nBpmnImporter.$inject = [\n 'eventBus',\n 'canvas',\n 'elementFactory',\n 'elementRegistry',\n 'translate',\n 'textRenderer'\n];\n\n\n/**\n * Add bpmn element (semantic) to the canvas onto the\n * specified parent shape.\n */\nBpmnImporter.prototype.add = function(semantic, parentElement) {\n\n var di = semantic.di,\n element,\n translate = this._translate,\n hidden;\n\n var parentIndex;\n\n // ROOT ELEMENT\n // handle the special case that we deal with a\n // invisible root element (process or collaboration)\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(di, 'bpmndi:BPMNPlane')) {\n\n // add a virtual element (not being drawn)\n element = this._elementFactory.createRoot(elementData(semantic));\n\n this._canvas.setRootElement(element);\n }\n\n // SHAPE\n else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(di, 'bpmndi:BPMNShape')) {\n\n var collapsed = !(0,_util_DiUtil__WEBPACK_IMPORTED_MODULE_4__.isExpanded)(semantic),\n isFrame = isFrameElement(semantic);\n hidden = parentElement && (parentElement.hidden || parentElement.collapsed);\n\n var bounds = semantic.di.bounds;\n\n element = this._elementFactory.createShape(elementData(semantic, {\n collapsed: collapsed,\n hidden: hidden,\n x: Math.round(bounds.x),\n y: Math.round(bounds.y),\n width: Math.round(bounds.width),\n height: Math.round(bounds.height),\n isFrame: isFrame\n }));\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(semantic, 'bpmn:BoundaryEvent')) {\n this._attachBoundary(semantic, element);\n }\n\n // insert lanes behind other flow nodes (cf. #727)\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(semantic, 'bpmn:Lane')) {\n parentIndex = 0;\n }\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(semantic, 'bpmn:DataStoreReference')) {\n\n // check whether data store is inside our outside of its semantic parent\n if (!isPointInsideBBox(parentElement, (0,diagram_js_lib_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(bounds))) {\n parentElement = this._canvas.getRootElement();\n }\n }\n\n this._canvas.addShape(element, parentElement, parentIndex);\n }\n\n // CONNECTION\n else if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(di, 'bpmndi:BPMNEdge')) {\n\n var source = this._getSource(semantic),\n target = this._getTarget(semantic);\n\n hidden = parentElement && (parentElement.hidden || parentElement.collapsed);\n\n element = this._elementFactory.createConnection(elementData(semantic, {\n hidden: hidden,\n source: source,\n target: target,\n waypoints: getWaypoints(semantic, source, target)\n }));\n\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(semantic, 'bpmn:DataAssociation')) {\n\n // render always on top; this ensures DataAssociations\n // are rendered correctly across different \"hacks\" people\n // love to model such as cross participant / sub process\n // associations\n parentElement = null;\n }\n\n // insert sequence flows behind other flow nodes (cf. #727)\n if ((0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(semantic, 'bpmn:SequenceFlow')) {\n parentIndex = 0;\n }\n\n this._canvas.addConnection(element, parentElement, parentIndex);\n } else {\n throw new Error(translate('unknown di {di} for element {semantic}', {\n di: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(di),\n semantic: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(semantic)\n }));\n }\n\n // (optional) LABEL\n if ((0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__.isLabelExternal)(semantic) && (0,_features_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_6__.getLabel)(element)) {\n this.addLabel(semantic, element);\n }\n\n\n this._eventBus.fire('bpmnElement.added', { element: element });\n\n return element;\n};\n\n\n/**\n * Attach the boundary element to the given host\n *\n * @param {ModdleElement} boundarySemantic\n * @param {djs.model.Base} boundaryElement\n */\nBpmnImporter.prototype._attachBoundary = function(boundarySemantic, boundaryElement) {\n var translate = this._translate;\n var hostSemantic = boundarySemantic.attachedToRef;\n\n if (!hostSemantic) {\n throw new Error(translate('missing {semantic}#attachedToRef', {\n semantic: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(boundarySemantic)\n }));\n }\n\n var host = this._elementRegistry.get(hostSemantic.id),\n attachers = host && host.attachers;\n\n if (!host) {\n throw notYetDrawn(translate, boundarySemantic, hostSemantic, 'attachedToRef');\n }\n\n // wire element.host <> host.attachers\n boundaryElement.host = host;\n\n if (!attachers) {\n host.attachers = attachers = [];\n }\n\n if (attachers.indexOf(boundaryElement) === -1) {\n attachers.push(boundaryElement);\n }\n};\n\n\n/**\n * add label for an element\n */\nBpmnImporter.prototype.addLabel = function(semantic, element) {\n var bounds,\n text,\n label;\n\n bounds = (0,_util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__.getExternalLabelBounds)(semantic, element);\n\n text = (0,_features_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_6__.getLabel)(element);\n\n if (text) {\n\n // get corrected bounds from actual layouted text\n bounds = this._textRenderer.getExternalLabelBounds(bounds, text);\n }\n\n label = this._elementFactory.createLabel(elementData(semantic, {\n id: semantic.id + '_label',\n labelTarget: element,\n type: 'label',\n hidden: element.hidden || !(0,_features_label_editing_LabelUtil__WEBPACK_IMPORTED_MODULE_6__.getLabel)(element),\n x: Math.round(bounds.x),\n y: Math.round(bounds.y),\n width: Math.round(bounds.width),\n height: Math.round(bounds.height)\n }));\n\n return this._canvas.addShape(label, element.parent);\n};\n\n/**\n * Return the drawn connection end based on the given side.\n *\n * @throws {Error} if the end is not yet drawn\n */\nBpmnImporter.prototype._getEnd = function(semantic, side) {\n\n var element,\n refSemantic,\n type = semantic.$type,\n translate = this._translate;\n\n refSemantic = semantic[side + 'Ref'];\n\n // handle mysterious isMany DataAssociation#sourceRef\n if (side === 'source' && type === 'bpmn:DataInputAssociation') {\n refSemantic = refSemantic && refSemantic[0];\n }\n\n // fix source / target for DataInputAssociation / DataOutputAssociation\n if (side === 'source' && type === 'bpmn:DataOutputAssociation' ||\n side === 'target' && type === 'bpmn:DataInputAssociation') {\n\n refSemantic = semantic.$parent;\n }\n\n element = refSemantic && this._getElement(refSemantic);\n\n if (element) {\n return element;\n }\n\n if (refSemantic) {\n throw notYetDrawn(translate, semantic, refSemantic, side + 'Ref');\n } else {\n throw new Error(translate('{semantic}#{side} Ref not specified', {\n semantic: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(semantic),\n side: side\n }));\n }\n};\n\nBpmnImporter.prototype._getSource = function(semantic) {\n return this._getEnd(semantic, 'source');\n};\n\nBpmnImporter.prototype._getTarget = function(semantic) {\n return this._getEnd(semantic, 'target');\n};\n\n\nBpmnImporter.prototype._getElement = function(semantic) {\n return this._elementRegistry.get(semantic.id);\n};\n\n\n// helpers ////////////////////\n\nfunction isPointInsideBBox(bbox, point) {\n var x = point.x,\n y = point.y;\n\n return x >= bbox.x &&\n x <= bbox.x + bbox.width &&\n y >= bbox.y &&\n y <= bbox.y + bbox.height;\n}\n\nfunction isFrameElement(semantic) {\n return (0,_util_ModelUtil__WEBPACK_IMPORTED_MODULE_3__.is)(semantic, 'bpmn:Group');\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/import/BpmnImporter.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/import/BpmnTreeWalker.js":
/*!***********************************************************!*\
!*** ./node_modules/bpmn-js/lib/import/BpmnTreeWalker.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BpmnTreeWalker)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var object_refs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! object-refs */ \"./node_modules/object-refs/index.js\");\n/* harmony import */ var object_refs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(object_refs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Util */ \"./node_modules/bpmn-js/lib/import/Util.js\");\n\n\n\n\n\n\nvar diRefs = new (object_refs__WEBPACK_IMPORTED_MODULE_0___default())(\n { name: 'bpmnElement', enumerable: true },\n { name: 'di', configurable: true }\n);\n\n/**\n * Returns true if an element has the given meta-model type\n *\n * @param {ModdleElement} element\n * @param {string} type\n *\n * @return {boolean}\n */\nfunction is(element, type) {\n return element.$instanceOf(type);\n}\n\n\n/**\n * Find a suitable display candidate for definitions where the DI does not\n * correctly specify one.\n */\nfunction findDisplayCandidate(definitions) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.find)(definitions.rootElements, function(e) {\n return is(e, 'bpmn:Process') || is(e, 'bpmn:Collaboration');\n });\n}\n\n\nfunction BpmnTreeWalker(handler, translate) {\n\n // list of containers already walked\n var handledElements = {};\n\n // list of elements to handle deferred to ensure\n // prerequisites are drawn\n var deferred = [];\n\n // Helpers //////////////////////\n\n function contextual(fn, ctx) {\n return function(e) {\n fn(e, ctx);\n };\n }\n\n function handled(element) {\n handledElements[element.id] = element;\n }\n\n function isHandled(element) {\n return handledElements[element.id];\n }\n\n function visit(element, ctx) {\n\n var gfx = element.gfx;\n\n // avoid multiple rendering of elements\n if (gfx) {\n throw new Error(\n translate('already rendered {element}', { element: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(element) })\n );\n }\n\n // call handler\n return handler.element(element, ctx);\n }\n\n function visitRoot(element, diagram) {\n return handler.root(element, diagram);\n }\n\n function visitIfDi(element, ctx) {\n\n try {\n var gfx = element.di && visit(element, ctx);\n\n handled(element);\n\n return gfx;\n } catch (e) {\n logError(e.message, { element: element, error: e });\n\n console.error(translate('failed to import {element}', { element: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(element) }));\n console.error(e);\n }\n }\n\n function logError(message, context) {\n handler.error(message, context);\n }\n\n // DI handling //////////////////////\n\n function registerDi(di) {\n var bpmnElement = di.bpmnElement;\n\n if (bpmnElement) {\n if (bpmnElement.di) {\n logError(\n translate('multiple DI elements defined for {element}', {\n element: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(bpmnElement)\n }),\n { element: bpmnElement }\n );\n } else {\n diRefs.bind(bpmnElement, 'di');\n bpmnElement.di = di;\n }\n } else {\n logError(\n translate('no bpmnElement referenced in {element}', {\n element: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(di)\n }),\n { element: di }\n );\n }\n }\n\n function handleDiagram(diagram) {\n handlePlane(diagram.plane);\n }\n\n function handlePlane(plane) {\n registerDi(plane);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(plane.planeElement, handlePlaneElement);\n }\n\n function handlePlaneElement(planeElement) {\n registerDi(planeElement);\n }\n\n\n // Semantic handling //////////////////////\n\n /**\n * Handle definitions and return the rendered diagram (if any)\n *\n * @param {ModdleElement} definitions to walk and import\n * @param {ModdleElement} [diagram] specific diagram to import and display\n *\n * @throws {Error} if no diagram to display could be found\n */\n function handleDefinitions(definitions, diagram) {\n\n // make sure we walk the correct bpmnElement\n\n var diagrams = definitions.diagrams;\n\n if (diagram && diagrams.indexOf(diagram) === -1) {\n throw new Error(translate('diagram not part of bpmn:Definitions'));\n }\n\n if (!diagram && diagrams && diagrams.length) {\n diagram = diagrams[0];\n }\n\n // no diagram -> nothing to import\n if (!diagram) {\n throw new Error(translate('no diagram to display'));\n }\n\n // load DI from selected diagram only\n handleDiagram(diagram);\n\n\n var plane = diagram.plane;\n\n if (!plane) {\n throw new Error(translate(\n 'no plane for {element}',\n { element: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(diagram) }\n ));\n }\n\n var rootElement = plane.bpmnElement;\n\n // ensure we default to a suitable display candidate (process or collaboration),\n // even if non is specified in DI\n if (!rootElement) {\n rootElement = findDisplayCandidate(definitions);\n\n if (!rootElement) {\n throw new Error(translate('no process or collaboration to display'));\n } else {\n\n logError(\n translate('correcting missing bpmnElement on {plane} to {rootElement}', {\n plane: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(plane),\n rootElement: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(rootElement)\n })\n );\n\n // correct DI on the fly\n plane.bpmnElement = rootElement;\n registerDi(plane);\n }\n }\n\n\n var ctx = visitRoot(rootElement, plane);\n\n if (is(rootElement, 'bpmn:Process')) {\n handleProcess(rootElement, ctx);\n } else if (is(rootElement, 'bpmn:Collaboration')) {\n handleCollaboration(rootElement, ctx);\n\n // force drawing of everything not yet drawn that is part of the target DI\n handleUnhandledProcesses(definitions.rootElements, ctx);\n } else {\n throw new Error(\n translate('unsupported bpmnElement for {plane}: {rootElement}', {\n plane: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(plane),\n rootElement: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(rootElement)\n })\n );\n }\n\n // handle all deferred elements\n handleDeferred(deferred);\n }\n\n function handleDeferred() {\n\n var fn;\n\n // drain deferred until empty\n while (deferred.length) {\n fn = deferred.shift();\n\n fn();\n }\n }\n\n function handleProcess(process, context) {\n handleFlowElementsContainer(process, context);\n handleIoSpecification(process.ioSpecification, context);\n\n handleArtifacts(process.artifacts, context);\n\n // log process handled\n handled(process);\n }\n\n function handleUnhandledProcesses(rootElements, ctx) {\n\n // walk through all processes that have not yet been drawn and draw them\n // if they contain lanes with DI information.\n // we do this to pass the free-floating lane test cases in the MIWG test suite\n var processes = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.filter)(rootElements, function(e) {\n return !isHandled(e) && is(e, 'bpmn:Process') && e.laneSets;\n });\n\n processes.forEach(contextual(handleProcess, ctx));\n }\n\n function handleMessageFlow(messageFlow, context) {\n visitIfDi(messageFlow, context);\n }\n\n function handleMessageFlows(messageFlows, context) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(messageFlows, contextual(handleMessageFlow, context));\n }\n\n function handleDataAssociation(association, context) {\n visitIfDi(association, context);\n }\n\n function handleDataInput(dataInput, context) {\n visitIfDi(dataInput, context);\n }\n\n function handleDataOutput(dataOutput, context) {\n visitIfDi(dataOutput, context);\n }\n\n function handleArtifact(artifact, context) {\n\n // bpmn:TextAnnotation\n // bpmn:Group\n // bpmn:Association\n\n visitIfDi(artifact, context);\n }\n\n function handleArtifacts(artifacts, context) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(artifacts, function(e) {\n if (is(e, 'bpmn:Association')) {\n deferred.push(function() {\n handleArtifact(e, context);\n });\n } else {\n handleArtifact(e, context);\n }\n });\n }\n\n function handleIoSpecification(ioSpecification, context) {\n\n if (!ioSpecification) {\n return;\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(ioSpecification.dataInputs, contextual(handleDataInput, context));\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(ioSpecification.dataOutputs, contextual(handleDataOutput, context));\n }\n\n function handleSubProcess(subProcess, context) {\n handleFlowElementsContainer(subProcess, context);\n handleArtifacts(subProcess.artifacts, context);\n }\n\n function handleFlowNode(flowNode, context) {\n var childCtx = visitIfDi(flowNode, context);\n\n if (is(flowNode, 'bpmn:SubProcess')) {\n handleSubProcess(flowNode, childCtx || context);\n }\n\n if (is(flowNode, 'bpmn:Activity')) {\n handleIoSpecification(flowNode.ioSpecification, context);\n }\n\n // defer handling of associations\n // affected types:\n //\n // * bpmn:Activity\n // * bpmn:ThrowEvent\n // * bpmn:CatchEvent\n //\n deferred.push(function() {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(flowNode.dataInputAssociations, contextual(handleDataAssociation, context));\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(flowNode.dataOutputAssociations, contextual(handleDataAssociation, context));\n });\n }\n\n function handleSequenceFlow(sequenceFlow, context) {\n visitIfDi(sequenceFlow, context);\n }\n\n function handleDataElement(dataObject, context) {\n visitIfDi(dataObject, context);\n }\n\n function handleLane(lane, context) {\n\n deferred.push(function() {\n\n var newContext = visitIfDi(lane, context);\n\n if (lane.childLaneSet) {\n handleLaneSet(lane.childLaneSet, newContext || context);\n }\n\n wireFlowNodeRefs(lane);\n });\n }\n\n function handleLaneSet(laneSet, context) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(laneSet.lanes, contextual(handleLane, context));\n }\n\n function handleLaneSets(laneSets, context) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(laneSets, contextual(handleLaneSet, context));\n }\n\n function handleFlowElementsContainer(container, context) {\n handleFlowElements(container.flowElements, context);\n\n if (container.laneSets) {\n handleLaneSets(container.laneSets, context);\n }\n }\n\n function handleFlowElements(flowElements, context) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(flowElements, function(e) {\n if (is(e, 'bpmn:SequenceFlow')) {\n deferred.push(function() {\n handleSequenceFlow(e, context);\n });\n } else if (is(e, 'bpmn:BoundaryEvent')) {\n deferred.unshift(function() {\n handleFlowNode(e, context);\n });\n } else if (is(e, 'bpmn:FlowNode')) {\n handleFlowNode(e, context);\n } else if (is(e, 'bpmn:DataObject')) {\n\n // SKIP (assume correct referencing via DataObjectReference)\n } else if (is(e, 'bpmn:DataStoreReference')) {\n handleDataElement(e, context);\n } else if (is(e, 'bpmn:DataObjectReference')) {\n handleDataElement(e, context);\n } else {\n logError(\n translate('unrecognized flowElement {element} in context {context}', {\n element: (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(e),\n context: (context ? (0,_Util__WEBPACK_IMPORTED_MODULE_2__.elementToString)(context.businessObject) : 'null')\n }),\n { element: e, context: context }\n );\n }\n });\n }\n\n function handleParticipant(participant, context) {\n var newCtx = visitIfDi(participant, context);\n\n var process = participant.processRef;\n if (process) {\n handleProcess(process, newCtx || context);\n }\n }\n\n function handleCollaboration(collaboration) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(collaboration.participants, contextual(handleParticipant));\n\n handleArtifacts(collaboration.artifacts);\n\n // handle message flows latest in the process\n deferred.push(function() {\n handleMessageFlows(collaboration.messageFlows);\n });\n }\n\n\n function wireFlowNodeRefs(lane) {\n\n // wire the virtual flowNodeRefs <-> relationship\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(lane.flowNodeRef, function(flowNode) {\n var lanes = flowNode.get('lanes');\n\n if (lanes) {\n lanes.push(lane);\n }\n });\n }\n\n // API //////////////////////\n\n return {\n handleDeferred: handleDeferred,\n handleDefinitions: handleDefinitions,\n handleSubProcess: handleSubProcess,\n registerDi: registerDi\n };\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/import/BpmnTreeWalker.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/import/Importer.js":
/*!*****************************************************!*\
!*** ./node_modules/bpmn-js/lib/import/Importer.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"importBpmnDiagram\": () => (/* binding */ importBpmnDiagram)\n/* harmony export */ });\n/* harmony import */ var _BpmnTreeWalker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BpmnTreeWalker */ \"./node_modules/bpmn-js/lib/import/BpmnTreeWalker.js\");\n\n\n\n/**\n * The importBpmnDiagram result.\n *\n * @typedef {Object} ImportBPMNDiagramResult\n *\n * @property {Array} warnings\n */\n\n/**\n* The importBpmnDiagram error.\n*\n* @typedef {Error} ImportBPMNDiagramError\n*\n* @property {Array} warnings\n*/\n\n/**\n * Import the definitions into a diagram.\n *\n * Errors and warnings are reported through the specified callback.\n *\n * @param {djs.Diagram} diagram\n * @param {ModdleElement} definitions\n * @param {ModdleElement} [bpmnDiagram] the diagram to be rendered\n * (if not provided, the first one will be rendered)\n *\n * Returns {Promise}\n */\nfunction importBpmnDiagram(diagram, definitions, bpmnDiagram) {\n\n var importer,\n eventBus,\n translate;\n\n var error,\n warnings = [];\n\n /**\n * Walk the diagram semantically, importing (=drawing)\n * all elements you encounter.\n *\n * @param {ModdleElement} definitions\n * @param {ModdleElement} bpmnDiagram\n */\n function render(definitions, bpmnDiagram) {\n\n var visitor = {\n\n root: function(element) {\n return importer.add(element);\n },\n\n element: function(element, parentShape) {\n return importer.add(element, parentShape);\n },\n\n error: function(message, context) {\n warnings.push({ message: message, context: context });\n }\n };\n\n var walker = new _BpmnTreeWalker__WEBPACK_IMPORTED_MODULE_0__.default(visitor, translate);\n\n // traverse BPMN 2.0 document model,\n // starting at definitions\n walker.handleDefinitions(definitions, bpmnDiagram);\n }\n\n return new Promise(function(resolve, reject) {\n try {\n importer = diagram.get('bpmnImporter');\n eventBus = diagram.get('eventBus');\n translate = diagram.get('translate');\n\n eventBus.fire('import.render.start', { definitions: definitions });\n\n render(definitions, bpmnDiagram);\n\n eventBus.fire('import.render.complete', {\n error: error,\n warnings: warnings\n });\n\n return resolve({ warnings: warnings });\n } catch (e) {\n\n e.warnings = warnings;\n return reject(e);\n }\n });\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/import/Importer.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/import/Util.js":
/*!*************************************************!*\
!*** ./node_modules/bpmn-js/lib/import/Util.js ***!
\*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"elementToString\": () => (/* binding */ elementToString)\n/* harmony export */ });\nfunction elementToString(e) {\n if (!e) {\n return '';\n }\n\n return '<' + e.$type + (e.id ? ' id=\"' + e.id : '') + '\" />';\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/import/Util.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/import/index.js":
/*!**************************************************!*\
!*** ./node_modules/bpmn-js/lib/import/index.js ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_i18n_translate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js/lib/i18n/translate */ \"./node_modules/diagram-js/lib/i18n/translate/index.js\");\n/* harmony import */ var _BpmnImporter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BpmnImporter */ \"./node_modules/bpmn-js/lib/import/BpmnImporter.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_i18n_translate__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n bpmnImporter: [ 'type', _BpmnImporter__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/import/index.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/util/CompatibilityUtil.js":
/*!************************************************************!*\
!*** ./node_modules/bpmn-js/lib/util/CompatibilityUtil.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"wrapForCompatibility\": () => (/* binding */ wrapForCompatibility)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n// TODO(nikku): remove with future bpmn-js version\n\n/**\n * Wraps APIs to check:\n *\n * 1) If a callback is passed -> Warn users about callback deprecation.\n * 2) If Promise class is implemented in current environment.\n *\n * @private\n */\nfunction wrapForCompatibility(api) {\n\n return function() {\n\n if (!window.Promise) {\n throw new Error('Promises is not supported in this environment. Please polyfill Promise.');\n }\n\n var argLen = arguments.length;\n if (argLen >= 1 && (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(arguments[argLen - 1])) {\n\n var callback = arguments[argLen - 1];\n\n console.warn(new Error(\n 'Passing callbacks to ' + api.name + ' is deprecated and will be removed in a future major release. ' +\n 'Please switch to promises: https://bpmn.io/l/moving-to-promises.html'\n ));\n\n var argsWithoutCallback = Array.prototype.slice.call(arguments, 0, -1);\n\n api.apply(this, argsWithoutCallback).then(function(result) {\n\n var firstKey = Object.keys(result)[0];\n\n // The APIs we are wrapping all resolve a single item depending on the API.\n // For instance, importXML resolves { warnings } and saveXML returns { xml }.\n // That's why we can call the callback with the first item of result.\n return callback(null, result[firstKey]);\n\n // Passing a second paramter instead of catch because we don't want to\n // catch errors thrown by callback().\n }, function(err) {\n\n return callback(err, err.warnings);\n });\n } else {\n\n return api.apply(this, arguments);\n }\n };\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/util/CompatibilityUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/util/DiUtil.js":
/*!*************************************************!*\
!*** ./node_modules/bpmn-js/lib/util/DiUtil.js ***!
\*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isExpanded\": () => (/* binding */ isExpanded),\n/* harmony export */ \"isInterrupting\": () => (/* binding */ isInterrupting),\n/* harmony export */ \"isEventSubProcess\": () => (/* binding */ isEventSubProcess),\n/* harmony export */ \"hasEventDefinition\": () => (/* binding */ hasEventDefinition),\n/* harmony export */ \"hasErrorEventDefinition\": () => (/* binding */ hasErrorEventDefinition),\n/* harmony export */ \"hasEscalationEventDefinition\": () => (/* binding */ hasEscalationEventDefinition),\n/* harmony export */ \"hasCompensateEventDefinition\": () => (/* binding */ hasCompensateEventDefinition)\n/* harmony export */ });\n/* harmony import */ var _ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n\nfunction isExpanded(element) {\n\n if ((0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:CallActivity')) {\n return false;\n }\n\n if ((0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:SubProcess')) {\n return (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(element).di && !!(0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(element).di.isExpanded;\n }\n\n if ((0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:Participant')) {\n return !!(0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(element).processRef;\n }\n\n return true;\n}\n\nfunction isInterrupting(element) {\n return element && (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(element).isInterrupting !== false;\n}\n\nfunction isEventSubProcess(element) {\n return element && !!(0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(element).triggeredByEvent;\n}\n\nfunction hasEventDefinition(element, eventType) {\n var bo = (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.getBusinessObject)(element),\n hasEventDefinition = false;\n\n if (bo.eventDefinitions) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(bo.eventDefinitions, function(event) {\n if ((0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(event, eventType)) {\n hasEventDefinition = true;\n }\n });\n }\n\n return hasEventDefinition;\n}\n\nfunction hasErrorEventDefinition(element) {\n return hasEventDefinition(element, 'bpmn:ErrorEventDefinition');\n}\n\nfunction hasEscalationEventDefinition(element) {\n return hasEventDefinition(element, 'bpmn:EscalationEventDefinition');\n}\n\nfunction hasCompensateEventDefinition(element) {\n return hasEventDefinition(element, 'bpmn:CompensateEventDefinition');\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/util/DiUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/util/LabelUtil.js":
/*!****************************************************!*\
!*** ./node_modules/bpmn-js/lib/util/LabelUtil.js ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DEFAULT_LABEL_SIZE\": () => (/* binding */ DEFAULT_LABEL_SIZE),\n/* harmony export */ \"FLOW_LABEL_INDENT\": () => (/* binding */ FLOW_LABEL_INDENT),\n/* harmony export */ \"isLabelExternal\": () => (/* binding */ isLabelExternal),\n/* harmony export */ \"hasExternalLabel\": () => (/* binding */ hasExternalLabel),\n/* harmony export */ \"getFlowLabelPosition\": () => (/* binding */ getFlowLabelPosition),\n/* harmony export */ \"getWaypointsMid\": () => (/* binding */ getWaypointsMid),\n/* harmony export */ \"getExternalLabelMid\": () => (/* binding */ getExternalLabelMid),\n/* harmony export */ \"getExternalLabelBounds\": () => (/* binding */ getExternalLabelBounds),\n/* harmony export */ \"isLabel\": () => (/* binding */ isLabel)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _ModelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ModelUtil */ \"./node_modules/bpmn-js/lib/util/ModelUtil.js\");\n\n\n\n\n\nvar DEFAULT_LABEL_SIZE = {\n width: 90,\n height: 20\n};\n\nvar FLOW_LABEL_INDENT = 15;\n\n\n/**\n * Returns true if the given semantic has an external label\n *\n * @param {BpmnElement} semantic\n * @return {boolean} true if has label\n */\nfunction isLabelExternal(semantic) {\n return (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:Event') ||\n (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:Gateway') ||\n (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:DataStoreReference') ||\n (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:DataObjectReference') ||\n (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:DataInput') ||\n (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:DataOutput') ||\n (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:SequenceFlow') ||\n (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:MessageFlow') ||\n (0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(semantic, 'bpmn:Group');\n}\n\n/**\n * Returns true if the given element has an external label\n *\n * @param {djs.model.shape} element\n * @return {boolean} true if has label\n */\nfunction hasExternalLabel(element) {\n return isLabel(element.label);\n}\n\n/**\n * Get the position for sequence flow labels\n *\n * @param {Array} waypoints\n * @return {Point} the label position\n */\nfunction getFlowLabelPosition(waypoints) {\n\n // get the waypoints mid\n var mid = waypoints.length / 2 - 1;\n\n var first = waypoints[Math.floor(mid)];\n var second = waypoints[Math.ceil(mid + 0.01)];\n\n // get position\n var position = getWaypointsMid(waypoints);\n\n // calculate angle\n var angle = Math.atan((second.y - first.y) / (second.x - first.x));\n\n var x = position.x,\n y = position.y;\n\n if (Math.abs(angle) < Math.PI / 2) {\n y -= FLOW_LABEL_INDENT;\n } else {\n x += FLOW_LABEL_INDENT;\n }\n\n return { x: x, y: y };\n}\n\n\n/**\n * Get the middle of a number of waypoints\n *\n * @param {Array} waypoints\n * @return {Point} the mid point\n */\nfunction getWaypointsMid(waypoints) {\n\n var mid = waypoints.length / 2 - 1;\n\n var first = waypoints[Math.floor(mid)];\n var second = waypoints[Math.ceil(mid + 0.01)];\n\n return {\n x: first.x + (second.x - first.x) / 2,\n y: first.y + (second.y - first.y) / 2\n };\n}\n\n\nfunction getExternalLabelMid(element) {\n\n if (element.waypoints) {\n return getFlowLabelPosition(element.waypoints);\n } else if ((0,_ModelUtil__WEBPACK_IMPORTED_MODULE_0__.is)(element, 'bpmn:Group')) {\n return {\n x: element.x + element.width / 2,\n y: element.y + DEFAULT_LABEL_SIZE.height / 2\n };\n } else {\n return {\n x: element.x + element.width / 2,\n y: element.y + element.height + DEFAULT_LABEL_SIZE.height / 2\n };\n }\n}\n\n\n/**\n * Returns the bounds of an elements label, parsed from the elements DI or\n * generated from its bounds.\n *\n * @param {BpmnElement} semantic\n * @param {djs.model.Base} element\n */\nfunction getExternalLabelBounds(semantic, element) {\n\n var mid,\n size,\n bounds,\n di = semantic.di,\n label = di.label;\n\n if (label && label.bounds) {\n bounds = label.bounds;\n\n size = {\n width: Math.max(DEFAULT_LABEL_SIZE.width, bounds.width),\n height: bounds.height\n };\n\n mid = {\n x: bounds.x + bounds.width / 2,\n y: bounds.y + bounds.height / 2\n };\n } else {\n\n mid = getExternalLabelMid(element);\n\n size = DEFAULT_LABEL_SIZE;\n }\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({\n x: mid.x - size.width / 2,\n y: mid.y - size.height / 2\n }, size);\n}\n\nfunction isLabel(element) {\n return element && !!element.labelTarget;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/util/LabelUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/util/ModelUtil.js":
/*!****************************************************!*\
!*** ./node_modules/bpmn-js/lib/util/ModelUtil.js ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"is\": () => (/* binding */ is),\n/* harmony export */ \"getBusinessObject\": () => (/* binding */ getBusinessObject)\n/* harmony export */ });\n/**\n * Is an element of the given BPMN type?\n *\n * @param {djs.model.Base|ModdleElement} element\n * @param {string} type\n *\n * @return {boolean}\n */\nfunction is(element, type) {\n var bo = getBusinessObject(element);\n\n return bo && (typeof bo.$instanceOf === 'function') && bo.$instanceOf(type);\n}\n\n\n/**\n * Return the business object for a given element.\n *\n * @param {djs.model.Base|ModdleElement} element\n *\n * @return {ModdleElement}\n */\nfunction getBusinessObject(element) {\n return (element && element.businessObject) || element;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/util/ModelUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-js/lib/util/PoweredByUtil.js":
/*!********************************************************!*\
!*** ./node_modules/bpmn-js/lib/util/PoweredByUtil.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BPMNIO_IMG\": () => (/* binding */ BPMNIO_IMG),\n/* harmony export */ \"LINK_STYLES\": () => (/* binding */ LINK_STYLES),\n/* harmony export */ \"open\": () => (/* binding */ open)\n/* harmony export */ });\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/**\n * This file must not be changed or exchanged.\n *\n * @see http://bpmn.io/license for more information.\n */\n\n\n\n\n// inlined ../../resources/logo.svg\nvar BPMNIO_LOGO_SVG = ' ';\n\nvar BPMNIO_IMG = BPMNIO_LOGO_SVG;\n\nfunction css(attrs) {\n return attrs.join(';');\n}\n\nvar LINK_STYLES = css([\n 'color: #404040'\n]);\n\nvar LIGHTBOX_STYLES = css([\n 'z-index: 1001',\n 'position: fixed',\n 'top: 0',\n 'left: 0',\n 'right: 0',\n 'bottom: 0'\n]);\n\nvar BACKDROP_STYLES = css([\n 'width: 100%',\n 'height: 100%',\n 'background: rgba(40,40,40,0.2)'\n]);\n\nvar NOTICE_STYLES = css([\n 'position: absolute',\n 'left: 50%',\n 'top: 40%',\n 'transform: translate(-50%)',\n 'width: 260px',\n 'padding: 10px',\n 'background: white',\n 'box-shadow: 0 1px 4px rgba(0,0,0,0.3)',\n 'font-family: Helvetica, Arial, sans-serif',\n 'font-size: 14px',\n 'display: flex',\n 'line-height: 1.3'\n]);\n\nvar LIGHTBOX_MARKUP =\n '';\n\n\nvar lightbox;\n\nfunction open() {\n\n if (!lightbox) {\n lightbox = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.domify)(LIGHTBOX_MARKUP);\n\n min_dom__WEBPACK_IMPORTED_MODULE_0__.delegate.bind(lightbox, '.backdrop', 'click', function(event) {\n document.body.removeChild(lightbox);\n });\n }\n\n document.body.appendChild(lightbox);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-js/lib/util/PoweredByUtil.js?");
/***/ }),
/***/ "./node_modules/bpmn-moddle/dist/index.esm.js":
/*!****************************************************!*\
!*** ./node_modules/bpmn-moddle/dist/index.esm.js ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var moddle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moddle */ \"./node_modules/moddle/dist/index.esm.js\");\n/* harmony import */ var moddle_xml__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! moddle-xml */ \"./node_modules/moddle-xml/dist/index.esm.js\");\n\n\n\n\n/**\n * A sub class of {@link Moddle} with support for import and export of BPMN 2.0 xml files.\n *\n * @class BpmnModdle\n * @extends Moddle\n *\n * @param {Object|Array} packages to use for instantiating the model\n * @param {Object} [options] additional options to pass over\n */\nfunction BpmnModdle(packages, options) {\n moddle__WEBPACK_IMPORTED_MODULE_0__.Moddle.call(this, packages, options);\n}\n\nBpmnModdle.prototype = Object.create(moddle__WEBPACK_IMPORTED_MODULE_0__.Moddle.prototype);\n\n/**\n * The fromXML result.\n *\n * @typedef {Object} ParseResult\n *\n * @property {ModdleElement} rootElement\n * @property {Array} references\n * @property {Array} warnings\n * @property {Object} elementsById - a mapping containing each ID -> ModdleElement\n */\n\n/**\n * The fromXML error.\n *\n * @typedef {Error} ParseError\n *\n * @property {Array} warnings\n */\n\n/**\n * Instantiates a BPMN model tree from a given xml string.\n *\n * @param {String} xmlStr\n * @param {String} [typeName='bpmn:Definitions'] name of the root element\n * @param {Object} [options] options to pass to the underlying reader\n *\n * @returns {Promise}\n */\nBpmnModdle.prototype.fromXML = function(xmlStr, typeName, options) {\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isString)(typeName)) {\n options = typeName;\n typeName = 'bpmn:Definitions';\n }\n\n var reader = new moddle_xml__WEBPACK_IMPORTED_MODULE_2__.Reader((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({ model: this, lax: true }, options));\n var rootHandler = reader.handler(typeName);\n\n return reader.fromXML(xmlStr, rootHandler);\n};\n\n\n/**\n * The toXML result.\n *\n * @typedef {Object} SerializationResult\n *\n * @property {String} xml\n */\n\n/**\n * Serializes a BPMN 2.0 object tree to XML.\n *\n * @param {String} element the root element, typically an instance of `bpmn:Definitions`\n * @param {Object} [options] to pass to the underlying writer\n *\n * @returns {Promise}\n */\nBpmnModdle.prototype.toXML = function(element, options) {\n\n var writer = new moddle_xml__WEBPACK_IMPORTED_MODULE_2__.Writer(options);\n\n return new Promise(function(resolve, reject) {\n try {\n var result = writer.toXML(element);\n\n return resolve({\n xml: result\n });\n } catch (err) {\n return reject(err);\n }\n });\n};\n\nvar name = \"BPMN20\";\nvar uri = \"http://www.omg.org/spec/BPMN/20100524/MODEL\";\nvar prefix = \"bpmn\";\nvar associations = [\n];\nvar types = [\n\t{\n\t\tname: \"Interface\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"operations\",\n\t\t\t\ttype: \"Operation\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"implementationRef\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Operation\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"inMessageRef\",\n\t\t\t\ttype: \"Message\",\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outMessageRef\",\n\t\t\t\ttype: \"Message\",\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"errorRef\",\n\t\t\t\ttype: \"Error\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"implementationRef\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"EndPoint\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"Auditing\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"GlobalTask\",\n\t\tsuperClass: [\n\t\t\t\"CallableElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"resources\",\n\t\t\t\ttype: \"ResourceRole\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Monitoring\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"Performer\",\n\t\tsuperClass: [\n\t\t\t\"ResourceRole\"\n\t\t]\n\t},\n\t{\n\t\tname: \"Process\",\n\t\tsuperClass: [\n\t\t\t\"FlowElementsContainer\",\n\t\t\t\"CallableElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"processType\",\n\t\t\t\ttype: \"ProcessType\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isClosed\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"auditing\",\n\t\t\t\ttype: \"Auditing\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"monitoring\",\n\t\t\t\ttype: \"Monitoring\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"properties\",\n\t\t\t\ttype: \"Property\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"laneSets\",\n\t\t\t\tisMany: true,\n\t\t\t\treplaces: \"FlowElementsContainer#laneSets\",\n\t\t\t\ttype: \"LaneSet\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"flowElements\",\n\t\t\t\tisMany: true,\n\t\t\t\treplaces: \"FlowElementsContainer#flowElements\",\n\t\t\t\ttype: \"FlowElement\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"artifacts\",\n\t\t\t\ttype: \"Artifact\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"resources\",\n\t\t\t\ttype: \"ResourceRole\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"correlationSubscriptions\",\n\t\t\t\ttype: \"CorrelationSubscription\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"supports\",\n\t\t\t\ttype: \"Process\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"definitionalCollaborationRef\",\n\t\t\t\ttype: \"Collaboration\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isExecutable\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"LaneSet\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"lanes\",\n\t\t\t\ttype: \"Lane\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Lane\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"partitionElementRef\",\n\t\t\t\ttype: \"BaseElement\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"partitionElement\",\n\t\t\t\ttype: \"BaseElement\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"flowNodeRef\",\n\t\t\t\ttype: \"FlowNode\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"childLaneSet\",\n\t\t\t\ttype: \"LaneSet\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"GlobalManualTask\",\n\t\tsuperClass: [\n\t\t\t\"GlobalTask\"\n\t\t]\n\t},\n\t{\n\t\tname: \"ManualTask\",\n\t\tsuperClass: [\n\t\t\t\"Task\"\n\t\t]\n\t},\n\t{\n\t\tname: \"UserTask\",\n\t\tsuperClass: [\n\t\t\t\"Task\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"renderings\",\n\t\t\t\ttype: \"Rendering\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"implementation\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Rendering\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"HumanPerformer\",\n\t\tsuperClass: [\n\t\t\t\"Performer\"\n\t\t]\n\t},\n\t{\n\t\tname: \"PotentialOwner\",\n\t\tsuperClass: [\n\t\t\t\"HumanPerformer\"\n\t\t]\n\t},\n\t{\n\t\tname: \"GlobalUserTask\",\n\t\tsuperClass: [\n\t\t\t\"GlobalTask\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"implementation\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"renderings\",\n\t\t\t\ttype: \"Rendering\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Gateway\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"FlowNode\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"gatewayDirection\",\n\t\t\t\ttype: \"GatewayDirection\",\n\t\t\t\t\"default\": \"Unspecified\",\n\t\t\t\tisAttr: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"EventBasedGateway\",\n\t\tsuperClass: [\n\t\t\t\"Gateway\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"instantiate\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"eventGatewayType\",\n\t\t\t\ttype: \"EventBasedGatewayType\",\n\t\t\t\tisAttr: true,\n\t\t\t\t\"default\": \"Exclusive\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ComplexGateway\",\n\t\tsuperClass: [\n\t\t\t\"Gateway\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"activationCondition\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"default\",\n\t\t\t\ttype: \"SequenceFlow\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ExclusiveGateway\",\n\t\tsuperClass: [\n\t\t\t\"Gateway\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"default\",\n\t\t\t\ttype: \"SequenceFlow\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"InclusiveGateway\",\n\t\tsuperClass: [\n\t\t\t\"Gateway\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"default\",\n\t\t\t\ttype: \"SequenceFlow\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ParallelGateway\",\n\t\tsuperClass: [\n\t\t\t\"Gateway\"\n\t\t]\n\t},\n\t{\n\t\tname: \"RootElement\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"Relationship\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"type\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"direction\",\n\t\t\t\ttype: \"RelationshipDirection\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"source\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"Element\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"target\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"Element\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"BaseElement\",\n\t\tisAbstract: true,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"id\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\",\n\t\t\t\tisId: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"documentation\",\n\t\t\t\ttype: \"Documentation\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"extensionDefinitions\",\n\t\t\t\ttype: \"ExtensionDefinition\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"extensionElements\",\n\t\t\t\ttype: \"ExtensionElements\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Extension\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"mustUnderstand\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"definition\",\n\t\t\t\ttype: \"ExtensionDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ExtensionDefinition\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"extensionAttributeDefinitions\",\n\t\t\t\ttype: \"ExtensionAttributeDefinition\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ExtensionAttributeDefinition\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"type\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isReference\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"extensionDefinition\",\n\t\t\t\ttype: \"ExtensionDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ExtensionElements\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"valueRef\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"Element\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"values\",\n\t\t\t\ttype: \"Element\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"extensionAttributeDefinition\",\n\t\t\t\ttype: \"ExtensionAttributeDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Documentation\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"text\",\n\t\t\t\ttype: \"String\",\n\t\t\t\tisBody: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"textFormat\",\n\t\t\t\t\"default\": \"text/plain\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Event\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"FlowNode\",\n\t\t\t\"InteractionNode\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"properties\",\n\t\t\t\ttype: \"Property\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"IntermediateCatchEvent\",\n\t\tsuperClass: [\n\t\t\t\"CatchEvent\"\n\t\t]\n\t},\n\t{\n\t\tname: \"IntermediateThrowEvent\",\n\t\tsuperClass: [\n\t\t\t\"ThrowEvent\"\n\t\t]\n\t},\n\t{\n\t\tname: \"EndEvent\",\n\t\tsuperClass: [\n\t\t\t\"ThrowEvent\"\n\t\t]\n\t},\n\t{\n\t\tname: \"StartEvent\",\n\t\tsuperClass: [\n\t\t\t\"CatchEvent\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"isInterrupting\",\n\t\t\t\t\"default\": true,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ThrowEvent\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"Event\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"dataInputs\",\n\t\t\t\ttype: \"DataInput\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"dataInputAssociations\",\n\t\t\t\ttype: \"DataInputAssociation\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"inputSet\",\n\t\t\t\ttype: \"InputSet\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"eventDefinitions\",\n\t\t\t\ttype: \"EventDefinition\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"eventDefinitionRef\",\n\t\t\t\ttype: \"EventDefinition\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CatchEvent\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"Event\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"parallelMultiple\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\",\n\t\t\t\t\"default\": false\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"dataOutputs\",\n\t\t\t\ttype: \"DataOutput\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"dataOutputAssociations\",\n\t\t\t\ttype: \"DataOutputAssociation\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outputSet\",\n\t\t\t\ttype: \"OutputSet\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"eventDefinitions\",\n\t\t\t\ttype: \"EventDefinition\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"eventDefinitionRef\",\n\t\t\t\ttype: \"EventDefinition\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"BoundaryEvent\",\n\t\tsuperClass: [\n\t\t\t\"CatchEvent\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"cancelActivity\",\n\t\t\t\t\"default\": true,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"attachedToRef\",\n\t\t\t\ttype: \"Activity\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"EventDefinition\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"CancelEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t]\n\t},\n\t{\n\t\tname: \"ErrorEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"errorRef\",\n\t\t\t\ttype: \"Error\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"TerminateEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t]\n\t},\n\t{\n\t\tname: \"EscalationEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"escalationRef\",\n\t\t\t\ttype: \"Escalation\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Escalation\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"structureRef\",\n\t\t\t\ttype: \"ItemDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"escalationCode\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"CompensateEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"waitForCompletion\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\",\n\t\t\t\t\"default\": true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"activityRef\",\n\t\t\t\ttype: \"Activity\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"TimerEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"timeDate\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"timeCycle\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"timeDuration\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"LinkEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"target\",\n\t\t\t\ttype: \"LinkEventDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"source\",\n\t\t\t\ttype: \"LinkEventDefinition\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"MessageEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"messageRef\",\n\t\t\t\ttype: \"Message\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"operationRef\",\n\t\t\t\ttype: \"Operation\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ConditionalEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"condition\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"SignalEventDefinition\",\n\t\tsuperClass: [\n\t\t\t\"EventDefinition\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"signalRef\",\n\t\t\t\ttype: \"Signal\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Signal\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"structureRef\",\n\t\t\t\ttype: \"ItemDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ImplicitThrowEvent\",\n\t\tsuperClass: [\n\t\t\t\"ThrowEvent\"\n\t\t]\n\t},\n\t{\n\t\tname: \"DataState\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ItemAwareElement\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"itemSubjectRef\",\n\t\t\t\ttype: \"ItemDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"dataState\",\n\t\t\t\ttype: \"DataState\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"DataAssociation\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"sourceRef\",\n\t\t\t\ttype: \"ItemAwareElement\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"targetRef\",\n\t\t\t\ttype: \"ItemAwareElement\",\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"transformation\",\n\t\t\t\ttype: \"FormalExpression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"property\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"assignment\",\n\t\t\t\ttype: \"Assignment\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"DataInput\",\n\t\tsuperClass: [\n\t\t\t\"ItemAwareElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isCollection\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"inputSetRef\",\n\t\t\t\ttype: \"InputSet\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"inputSetWithOptional\",\n\t\t\t\ttype: \"InputSet\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"inputSetWithWhileExecuting\",\n\t\t\t\ttype: \"InputSet\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"DataOutput\",\n\t\tsuperClass: [\n\t\t\t\"ItemAwareElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isCollection\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outputSetRef\",\n\t\t\t\ttype: \"OutputSet\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outputSetWithOptional\",\n\t\t\t\ttype: \"OutputSet\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outputSetWithWhileExecuting\",\n\t\t\t\ttype: \"OutputSet\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"InputSet\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"dataInputRefs\",\n\t\t\t\ttype: \"DataInput\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"optionalInputRefs\",\n\t\t\t\ttype: \"DataInput\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"whileExecutingInputRefs\",\n\t\t\t\ttype: \"DataInput\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outputSetRefs\",\n\t\t\t\ttype: \"OutputSet\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"OutputSet\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"dataOutputRefs\",\n\t\t\t\ttype: \"DataOutput\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"inputSetRefs\",\n\t\t\t\ttype: \"InputSet\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"optionalOutputRefs\",\n\t\t\t\ttype: \"DataOutput\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"whileExecutingOutputRefs\",\n\t\t\t\ttype: \"DataOutput\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Property\",\n\t\tsuperClass: [\n\t\t\t\"ItemAwareElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"DataInputAssociation\",\n\t\tsuperClass: [\n\t\t\t\"DataAssociation\"\n\t\t]\n\t},\n\t{\n\t\tname: \"DataOutputAssociation\",\n\t\tsuperClass: [\n\t\t\t\"DataAssociation\"\n\t\t]\n\t},\n\t{\n\t\tname: \"InputOutputSpecification\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"dataInputs\",\n\t\t\t\ttype: \"DataInput\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"dataOutputs\",\n\t\t\t\ttype: \"DataOutput\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"inputSets\",\n\t\t\t\ttype: \"InputSet\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outputSets\",\n\t\t\t\ttype: \"OutputSet\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"DataObject\",\n\t\tsuperClass: [\n\t\t\t\"FlowElement\",\n\t\t\t\"ItemAwareElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"isCollection\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"InputOutputBinding\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"inputDataRef\",\n\t\t\t\ttype: \"InputSet\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outputDataRef\",\n\t\t\t\ttype: \"OutputSet\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"operationRef\",\n\t\t\t\ttype: \"Operation\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Assignment\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"from\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"to\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"DataStore\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\",\n\t\t\t\"ItemAwareElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"capacity\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Integer\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isUnlimited\",\n\t\t\t\t\"default\": true,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"DataStoreReference\",\n\t\tsuperClass: [\n\t\t\t\"ItemAwareElement\",\n\t\t\t\"FlowElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"dataStoreRef\",\n\t\t\t\ttype: \"DataStore\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"DataObjectReference\",\n\t\tsuperClass: [\n\t\t\t\"ItemAwareElement\",\n\t\t\t\"FlowElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"dataObjectRef\",\n\t\t\t\ttype: \"DataObject\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ConversationLink\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"sourceRef\",\n\t\t\t\ttype: \"InteractionNode\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"targetRef\",\n\t\t\t\ttype: \"InteractionNode\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ConversationAssociation\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"innerConversationNodeRef\",\n\t\t\t\ttype: \"ConversationNode\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outerConversationNodeRef\",\n\t\t\t\ttype: \"ConversationNode\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CallConversation\",\n\t\tsuperClass: [\n\t\t\t\"ConversationNode\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"calledCollaborationRef\",\n\t\t\t\ttype: \"Collaboration\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participantAssociations\",\n\t\t\t\ttype: \"ParticipantAssociation\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Conversation\",\n\t\tsuperClass: [\n\t\t\t\"ConversationNode\"\n\t\t]\n\t},\n\t{\n\t\tname: \"SubConversation\",\n\t\tsuperClass: [\n\t\t\t\"ConversationNode\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"conversationNodes\",\n\t\t\t\ttype: \"ConversationNode\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ConversationNode\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"InteractionNode\",\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participantRef\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"messageFlowRefs\",\n\t\t\t\ttype: \"MessageFlow\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"correlationKeys\",\n\t\t\t\ttype: \"CorrelationKey\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"GlobalConversation\",\n\t\tsuperClass: [\n\t\t\t\"Collaboration\"\n\t\t]\n\t},\n\t{\n\t\tname: \"PartnerEntity\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participantRef\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"PartnerRole\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participantRef\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CorrelationProperty\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"correlationPropertyRetrievalExpression\",\n\t\t\t\ttype: \"CorrelationPropertyRetrievalExpression\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"type\",\n\t\t\t\ttype: \"ItemDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Error\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"structureRef\",\n\t\t\t\ttype: \"ItemDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"errorCode\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CorrelationKey\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"correlationPropertyRef\",\n\t\t\t\ttype: \"CorrelationProperty\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Expression\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tisAbstract: false,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"body\",\n\t\t\t\tisBody: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"FormalExpression\",\n\t\tsuperClass: [\n\t\t\t\"Expression\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"language\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"evaluatesToTypeRef\",\n\t\t\t\ttype: \"ItemDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Message\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"itemRef\",\n\t\t\t\ttype: \"ItemDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ItemDefinition\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"itemKind\",\n\t\t\t\ttype: \"ItemKind\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"structureRef\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isCollection\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"import\",\n\t\t\t\ttype: \"Import\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"FlowElement\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"auditing\",\n\t\t\t\ttype: \"Auditing\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"monitoring\",\n\t\t\t\ttype: \"Monitoring\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"categoryValueRef\",\n\t\t\t\ttype: \"CategoryValue\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"SequenceFlow\",\n\t\tsuperClass: [\n\t\t\t\"FlowElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"isImmediate\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"conditionExpression\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"sourceRef\",\n\t\t\t\ttype: \"FlowNode\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"targetRef\",\n\t\t\t\ttype: \"FlowNode\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"FlowElementsContainer\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"laneSets\",\n\t\t\t\ttype: \"LaneSet\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"flowElements\",\n\t\t\t\ttype: \"FlowElement\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CallableElement\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"ioSpecification\",\n\t\t\t\ttype: \"InputOutputSpecification\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"property\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"supportedInterfaceRef\",\n\t\t\t\ttype: \"Interface\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"ioBinding\",\n\t\t\t\ttype: \"InputOutputBinding\",\n\t\t\t\tisMany: true,\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"property\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"FlowNode\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"FlowElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"incoming\",\n\t\t\t\ttype: \"SequenceFlow\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outgoing\",\n\t\t\t\ttype: \"SequenceFlow\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"lanes\",\n\t\t\t\ttype: \"Lane\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CorrelationPropertyRetrievalExpression\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"messagePath\",\n\t\t\t\ttype: \"FormalExpression\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"messageRef\",\n\t\t\t\ttype: \"Message\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CorrelationPropertyBinding\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"dataPath\",\n\t\t\t\ttype: \"FormalExpression\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"correlationPropertyRef\",\n\t\t\t\ttype: \"CorrelationProperty\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Resource\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"resourceParameters\",\n\t\t\t\ttype: \"ResourceParameter\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ResourceParameter\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isRequired\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"type\",\n\t\t\t\ttype: \"ItemDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CorrelationSubscription\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"correlationKeyRef\",\n\t\t\t\ttype: \"CorrelationKey\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"correlationPropertyBinding\",\n\t\t\t\ttype: \"CorrelationPropertyBinding\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"MessageFlow\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"sourceRef\",\n\t\t\t\ttype: \"InteractionNode\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"targetRef\",\n\t\t\t\ttype: \"InteractionNode\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"messageRef\",\n\t\t\t\ttype: \"Message\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"MessageFlowAssociation\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"innerMessageFlowRef\",\n\t\t\t\ttype: \"MessageFlow\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outerMessageFlowRef\",\n\t\t\t\ttype: \"MessageFlow\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"InteractionNode\",\n\t\tisAbstract: true,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"incomingConversationLinks\",\n\t\t\t\ttype: \"ConversationLink\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outgoingConversationLinks\",\n\t\t\t\ttype: \"ConversationLink\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Participant\",\n\t\tsuperClass: [\n\t\t\t\"InteractionNode\",\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"interfaceRef\",\n\t\t\t\ttype: \"Interface\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participantMultiplicity\",\n\t\t\t\ttype: \"ParticipantMultiplicity\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"endPointRefs\",\n\t\t\t\ttype: \"EndPoint\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"processRef\",\n\t\t\t\ttype: \"Process\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ParticipantAssociation\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"innerParticipantRef\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outerParticipantRef\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ParticipantMultiplicity\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"minimum\",\n\t\t\t\t\"default\": 0,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Integer\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"maximum\",\n\t\t\t\t\"default\": 1,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Integer\"\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"Collaboration\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isClosed\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participants\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"messageFlows\",\n\t\t\t\ttype: \"MessageFlow\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"artifacts\",\n\t\t\t\ttype: \"Artifact\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"conversations\",\n\t\t\t\ttype: \"ConversationNode\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"conversationAssociations\",\n\t\t\t\ttype: \"ConversationAssociation\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participantAssociations\",\n\t\t\t\ttype: \"ParticipantAssociation\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"messageFlowAssociations\",\n\t\t\t\ttype: \"MessageFlowAssociation\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"correlationKeys\",\n\t\t\t\ttype: \"CorrelationKey\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"choreographyRef\",\n\t\t\t\ttype: \"Choreography\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"conversationLinks\",\n\t\t\t\ttype: \"ConversationLink\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ChoreographyActivity\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"FlowNode\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"participantRef\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"initiatingParticipantRef\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"correlationKeys\",\n\t\t\t\ttype: \"CorrelationKey\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"loopType\",\n\t\t\t\ttype: \"ChoreographyLoopType\",\n\t\t\t\t\"default\": \"None\",\n\t\t\t\tisAttr: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CallChoreography\",\n\t\tsuperClass: [\n\t\t\t\"ChoreographyActivity\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"calledChoreographyRef\",\n\t\t\t\ttype: \"Choreography\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participantAssociations\",\n\t\t\t\ttype: \"ParticipantAssociation\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"SubChoreography\",\n\t\tsuperClass: [\n\t\t\t\"ChoreographyActivity\",\n\t\t\t\"FlowElementsContainer\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"artifacts\",\n\t\t\t\ttype: \"Artifact\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ChoreographyTask\",\n\t\tsuperClass: [\n\t\t\t\"ChoreographyActivity\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"messageFlowRef\",\n\t\t\t\ttype: \"MessageFlow\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Choreography\",\n\t\tsuperClass: [\n\t\t\t\"Collaboration\",\n\t\t\t\"FlowElementsContainer\"\n\t\t]\n\t},\n\t{\n\t\tname: \"GlobalChoreographyTask\",\n\t\tsuperClass: [\n\t\t\t\"Choreography\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"initiatingParticipantRef\",\n\t\t\t\ttype: \"Participant\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"TextAnnotation\",\n\t\tsuperClass: [\n\t\t\t\"Artifact\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"text\",\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"textFormat\",\n\t\t\t\t\"default\": \"text/plain\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Group\",\n\t\tsuperClass: [\n\t\t\t\"Artifact\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"categoryValueRef\",\n\t\t\t\ttype: \"CategoryValue\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Association\",\n\t\tsuperClass: [\n\t\t\t\"Artifact\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"associationDirection\",\n\t\t\t\ttype: \"AssociationDirection\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"sourceRef\",\n\t\t\t\ttype: \"BaseElement\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"targetRef\",\n\t\t\t\ttype: \"BaseElement\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Category\",\n\t\tsuperClass: [\n\t\t\t\"RootElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"categoryValue\",\n\t\t\t\ttype: \"CategoryValue\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Artifact\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"CategoryValue\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"categorizedFlowElements\",\n\t\t\t\ttype: \"FlowElement\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"value\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Activity\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"FlowNode\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"isForCompensation\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"default\",\n\t\t\t\ttype: \"SequenceFlow\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"ioSpecification\",\n\t\t\t\ttype: \"InputOutputSpecification\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"property\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"boundaryEventRefs\",\n\t\t\t\ttype: \"BoundaryEvent\",\n\t\t\t\tisMany: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"properties\",\n\t\t\t\ttype: \"Property\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"dataInputAssociations\",\n\t\t\t\ttype: \"DataInputAssociation\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"dataOutputAssociations\",\n\t\t\t\ttype: \"DataOutputAssociation\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"startQuantity\",\n\t\t\t\t\"default\": 1,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Integer\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"resources\",\n\t\t\t\ttype: \"ResourceRole\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"completionQuantity\",\n\t\t\t\t\"default\": 1,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Integer\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"loopCharacteristics\",\n\t\t\t\ttype: \"LoopCharacteristics\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ServiceTask\",\n\t\tsuperClass: [\n\t\t\t\"Task\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"implementation\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"operationRef\",\n\t\t\t\ttype: \"Operation\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"SubProcess\",\n\t\tsuperClass: [\n\t\t\t\"Activity\",\n\t\t\t\"FlowElementsContainer\",\n\t\t\t\"InteractionNode\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"triggeredByEvent\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"artifacts\",\n\t\t\t\ttype: \"Artifact\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"LoopCharacteristics\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"MultiInstanceLoopCharacteristics\",\n\t\tsuperClass: [\n\t\t\t\"LoopCharacteristics\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"isSequential\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"behavior\",\n\t\t\t\ttype: \"MultiInstanceBehavior\",\n\t\t\t\t\"default\": \"All\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"loopCardinality\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"loopDataInputRef\",\n\t\t\t\ttype: \"ItemAwareElement\",\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"loopDataOutputRef\",\n\t\t\t\ttype: \"ItemAwareElement\",\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"inputDataItem\",\n\t\t\t\ttype: \"DataInput\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"property\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"outputDataItem\",\n\t\t\t\ttype: \"DataOutput\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"property\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"complexBehaviorDefinition\",\n\t\t\t\ttype: \"ComplexBehaviorDefinition\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"completionCondition\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"oneBehaviorEventRef\",\n\t\t\t\ttype: \"EventDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"noneBehaviorEventRef\",\n\t\t\t\ttype: \"EventDefinition\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"StandardLoopCharacteristics\",\n\t\tsuperClass: [\n\t\t\t\"LoopCharacteristics\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"testBefore\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"loopCondition\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"loopMaximum\",\n\t\t\t\ttype: \"Integer\",\n\t\t\t\tisAttr: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"CallActivity\",\n\t\tsuperClass: [\n\t\t\t\"Activity\",\n\t\t\t\"InteractionNode\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"calledElement\",\n\t\t\t\ttype: \"String\",\n\t\t\t\tisAttr: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Task\",\n\t\tsuperClass: [\n\t\t\t\"Activity\",\n\t\t\t\"InteractionNode\"\n\t\t]\n\t},\n\t{\n\t\tname: \"SendTask\",\n\t\tsuperClass: [\n\t\t\t\"Task\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"implementation\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"operationRef\",\n\t\t\t\ttype: \"Operation\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"messageRef\",\n\t\t\t\ttype: \"Message\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ReceiveTask\",\n\t\tsuperClass: [\n\t\t\t\"Task\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"implementation\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"instantiate\",\n\t\t\t\t\"default\": false,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"operationRef\",\n\t\t\t\ttype: \"Operation\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"messageRef\",\n\t\t\t\ttype: \"Message\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ScriptTask\",\n\t\tsuperClass: [\n\t\t\t\"Task\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"scriptFormat\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"script\",\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"BusinessRuleTask\",\n\t\tsuperClass: [\n\t\t\t\"Task\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"implementation\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"AdHocSubProcess\",\n\t\tsuperClass: [\n\t\t\t\"SubProcess\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"completionCondition\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"ordering\",\n\t\t\t\ttype: \"AdHocOrdering\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"cancelRemainingInstances\",\n\t\t\t\t\"default\": true,\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Transaction\",\n\t\tsuperClass: [\n\t\t\t\"SubProcess\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"protocol\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"method\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"GlobalScriptTask\",\n\t\tsuperClass: [\n\t\t\t\"GlobalTask\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"scriptLanguage\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"script\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"GlobalBusinessRuleTask\",\n\t\tsuperClass: [\n\t\t\t\"GlobalTask\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"implementation\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ComplexBehaviorDefinition\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"condition\",\n\t\t\t\ttype: \"FormalExpression\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"event\",\n\t\t\t\ttype: \"ImplicitThrowEvent\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ResourceRole\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"resourceRef\",\n\t\t\t\ttype: \"Resource\",\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"resourceParameterBindings\",\n\t\t\t\ttype: \"ResourceParameterBinding\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"resourceAssignmentExpression\",\n\t\t\t\ttype: \"ResourceAssignmentExpression\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ResourceParameterBinding\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"expression\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"parameterRef\",\n\t\t\t\ttype: \"ResourceParameter\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"ResourceAssignmentExpression\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"expression\",\n\t\t\t\ttype: \"Expression\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"Import\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"importType\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"location\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"namespace\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Definitions\",\n\t\tsuperClass: [\n\t\t\t\"BaseElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"targetNamespace\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"expressionLanguage\",\n\t\t\t\t\"default\": \"http://www.w3.org/1999/XPath\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"typeLanguage\",\n\t\t\t\t\"default\": \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"imports\",\n\t\t\t\ttype: \"Import\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"extensions\",\n\t\t\t\ttype: \"Extension\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"rootElements\",\n\t\t\t\ttype: \"RootElement\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"diagrams\",\n\t\t\t\tisMany: true,\n\t\t\t\ttype: \"bpmndi:BPMNDiagram\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"exporter\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"relationships\",\n\t\t\t\ttype: \"Relationship\",\n\t\t\t\tisMany: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"exporterVersion\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t}\n];\nvar enumerations = [\n\t{\n\t\tname: \"ProcessType\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"None\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Public\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Private\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"GatewayDirection\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"Unspecified\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Converging\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Diverging\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Mixed\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"EventBasedGatewayType\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"Parallel\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Exclusive\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"RelationshipDirection\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"None\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Forward\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Backward\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Both\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ItemKind\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"Physical\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Information\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ChoreographyLoopType\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"None\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Standard\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"MultiInstanceSequential\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"MultiInstanceParallel\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"AssociationDirection\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"None\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"One\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Both\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"MultiInstanceBehavior\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"None\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"One\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"All\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Complex\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"AdHocOrdering\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"Parallel\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"Sequential\"\n\t\t\t}\n\t\t]\n\t}\n];\nvar xml = {\n\ttagAlias: \"lowerCase\",\n\ttypePrefix: \"t\"\n};\nvar BpmnPackage = {\n\tname: name,\n\turi: uri,\n\tprefix: prefix,\n\tassociations: associations,\n\ttypes: types,\n\tenumerations: enumerations,\n\txml: xml\n};\n\nvar name$1 = \"BPMNDI\";\nvar uri$1 = \"http://www.omg.org/spec/BPMN/20100524/DI\";\nvar prefix$1 = \"bpmndi\";\nvar types$1 = [\n\t{\n\t\tname: \"BPMNDiagram\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"plane\",\n\t\t\t\ttype: \"BPMNPlane\",\n\t\t\t\tredefines: \"di:Diagram#rootElement\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"labelStyle\",\n\t\t\t\ttype: \"BPMNLabelStyle\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"di:Diagram\"\n\t\t]\n\t},\n\t{\n\t\tname: \"BPMNPlane\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"bpmnElement\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"bpmn:BaseElement\",\n\t\t\t\tredefines: \"di:DiagramElement#modelElement\"\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"di:Plane\"\n\t\t]\n\t},\n\t{\n\t\tname: \"BPMNShape\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"bpmnElement\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"bpmn:BaseElement\",\n\t\t\t\tredefines: \"di:DiagramElement#modelElement\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isHorizontal\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isExpanded\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isMarkerVisible\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"label\",\n\t\t\t\ttype: \"BPMNLabel\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isMessageVisible\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Boolean\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"participantBandKind\",\n\t\t\t\ttype: \"ParticipantBandKind\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"choreographyActivityShape\",\n\t\t\t\ttype: \"BPMNShape\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"di:LabeledShape\"\n\t\t]\n\t},\n\t{\n\t\tname: \"BPMNEdge\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"label\",\n\t\t\t\ttype: \"BPMNLabel\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"bpmnElement\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"bpmn:BaseElement\",\n\t\t\t\tredefines: \"di:DiagramElement#modelElement\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"sourceElement\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"di:DiagramElement\",\n\t\t\t\tredefines: \"di:Edge#source\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"targetElement\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"di:DiagramElement\",\n\t\t\t\tredefines: \"di:Edge#target\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"messageVisibleKind\",\n\t\t\t\ttype: \"MessageVisibleKind\",\n\t\t\t\tisAttr: true,\n\t\t\t\t\"default\": \"initiating\"\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"di:LabeledEdge\"\n\t\t]\n\t},\n\t{\n\t\tname: \"BPMNLabel\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"labelStyle\",\n\t\t\t\ttype: \"BPMNLabelStyle\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisReference: true,\n\t\t\t\tredefines: \"di:DiagramElement#style\"\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"di:Label\"\n\t\t]\n\t},\n\t{\n\t\tname: \"BPMNLabelStyle\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"font\",\n\t\t\t\ttype: \"dc:Font\"\n\t\t\t}\n\t\t],\n\t\tsuperClass: [\n\t\t\t\"di:Style\"\n\t\t]\n\t}\n];\nvar enumerations$1 = [\n\t{\n\t\tname: \"ParticipantBandKind\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"top_initiating\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"middle_initiating\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"bottom_initiating\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"top_non_initiating\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"middle_non_initiating\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"bottom_non_initiating\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"MessageVisibleKind\",\n\t\tliteralValues: [\n\t\t\t{\n\t\t\t\tname: \"initiating\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"non_initiating\"\n\t\t\t}\n\t\t]\n\t}\n];\nvar associations$1 = [\n];\nvar BpmnDiPackage = {\n\tname: name$1,\n\turi: uri$1,\n\tprefix: prefix$1,\n\ttypes: types$1,\n\tenumerations: enumerations$1,\n\tassociations: associations$1\n};\n\nvar name$2 = \"DC\";\nvar uri$2 = \"http://www.omg.org/spec/DD/20100524/DC\";\nvar prefix$2 = \"dc\";\nvar types$2 = [\n\t{\n\t\tname: \"Boolean\"\n\t},\n\t{\n\t\tname: \"Integer\"\n\t},\n\t{\n\t\tname: \"Real\"\n\t},\n\t{\n\t\tname: \"String\"\n\t},\n\t{\n\t\tname: \"Font\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\ttype: \"String\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"size\",\n\t\t\t\ttype: \"Real\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isBold\",\n\t\t\t\ttype: \"Boolean\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isItalic\",\n\t\t\t\ttype: \"Boolean\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isUnderline\",\n\t\t\t\ttype: \"Boolean\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"isStrikeThrough\",\n\t\t\t\ttype: \"Boolean\",\n\t\t\t\tisAttr: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Point\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"x\",\n\t\t\t\ttype: \"Real\",\n\t\t\t\t\"default\": \"0\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"y\",\n\t\t\t\ttype: \"Real\",\n\t\t\t\t\"default\": \"0\",\n\t\t\t\tisAttr: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Bounds\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"x\",\n\t\t\t\ttype: \"Real\",\n\t\t\t\t\"default\": \"0\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"y\",\n\t\t\t\ttype: \"Real\",\n\t\t\t\t\"default\": \"0\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"width\",\n\t\t\t\ttype: \"Real\",\n\t\t\t\tisAttr: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"height\",\n\t\t\t\ttype: \"Real\",\n\t\t\t\tisAttr: true\n\t\t\t}\n\t\t]\n\t}\n];\nvar associations$2 = [\n];\nvar DcPackage = {\n\tname: name$2,\n\turi: uri$2,\n\tprefix: prefix$2,\n\ttypes: types$2,\n\tassociations: associations$2\n};\n\nvar name$3 = \"DI\";\nvar uri$3 = \"http://www.omg.org/spec/DD/20100524/DI\";\nvar prefix$3 = \"di\";\nvar types$3 = [\n\t{\n\t\tname: \"DiagramElement\",\n\t\tisAbstract: true,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"id\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisId: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"extension\",\n\t\t\t\ttype: \"Extension\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"owningDiagram\",\n\t\t\t\ttype: \"Diagram\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"owningElement\",\n\t\t\t\ttype: \"DiagramElement\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"modelElement\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true,\n\t\t\t\ttype: \"Element\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"style\",\n\t\t\t\ttype: \"Style\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"ownedElement\",\n\t\t\t\ttype: \"DiagramElement\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Node\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"DiagramElement\"\n\t\t]\n\t},\n\t{\n\t\tname: \"Edge\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"DiagramElement\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"source\",\n\t\t\t\ttype: \"DiagramElement\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"target\",\n\t\t\t\ttype: \"DiagramElement\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisVirtual: true,\n\t\t\t\tisReference: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"waypoint\",\n\t\t\t\tisUnique: false,\n\t\t\t\tisMany: true,\n\t\t\t\ttype: \"dc:Point\",\n\t\t\t\txml: {\n\t\t\t\t\tserialize: \"xsi:type\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Diagram\",\n\t\tisAbstract: true,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"id\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisId: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"rootElement\",\n\t\t\t\ttype: \"DiagramElement\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisVirtual: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"documentation\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"resolution\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"Real\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"ownedStyle\",\n\t\t\t\ttype: \"Style\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Shape\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"Node\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"bounds\",\n\t\t\t\ttype: \"dc:Bounds\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Plane\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"Node\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"planeElement\",\n\t\t\t\ttype: \"DiagramElement\",\n\t\t\t\tsubsettedProperty: \"DiagramElement-ownedElement\",\n\t\t\t\tisMany: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"LabeledEdge\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"Edge\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"ownedLabel\",\n\t\t\t\ttype: \"Label\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tsubsettedProperty: \"DiagramElement-ownedElement\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"LabeledShape\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"Shape\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"ownedLabel\",\n\t\t\t\ttype: \"Label\",\n\t\t\t\tisReadOnly: true,\n\t\t\t\tsubsettedProperty: \"DiagramElement-ownedElement\",\n\t\t\t\tisMany: true,\n\t\t\t\tisVirtual: true\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Label\",\n\t\tisAbstract: true,\n\t\tsuperClass: [\n\t\t\t\"Node\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"bounds\",\n\t\t\t\ttype: \"dc:Bounds\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Style\",\n\t\tisAbstract: true,\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"id\",\n\t\t\t\tisAttr: true,\n\t\t\t\tisId: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"Extension\",\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"values\",\n\t\t\t\tisMany: true,\n\t\t\t\ttype: \"Element\"\n\t\t\t}\n\t\t]\n\t}\n];\nvar associations$3 = [\n];\nvar xml$1 = {\n\ttagAlias: \"lowerCase\"\n};\nvar DiPackage = {\n\tname: name$3,\n\turi: uri$3,\n\tprefix: prefix$3,\n\ttypes: types$3,\n\tassociations: associations$3,\n\txml: xml$1\n};\n\nvar name$4 = \"bpmn.io colors for BPMN\";\nvar uri$4 = \"http://bpmn.io/schema/bpmn/biocolor/1.0\";\nvar prefix$4 = \"bioc\";\nvar types$4 = [\n\t{\n\t\tname: \"ColoredShape\",\n\t\t\"extends\": [\n\t\t\t\"bpmndi:BPMNShape\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"stroke\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"fill\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ColoredEdge\",\n\t\t\"extends\": [\n\t\t\t\"bpmndi:BPMNEdge\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"stroke\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"fill\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t}\n];\nvar enumerations$2 = [\n];\nvar associations$4 = [\n];\nvar BiocPackage = {\n\tname: name$4,\n\turi: uri$4,\n\tprefix: prefix$4,\n\ttypes: types$4,\n\tenumerations: enumerations$2,\n\tassociations: associations$4\n};\n\nvar name$5 = \"BPMN in Color\";\nvar uri$5 = \"http://www.omg.org/spec/BPMN/non-normative/color/1.0\";\nvar prefix$5 = \"color\";\nvar types$5 = [\n\t{\n\t\tname: \"ColoredLabel\",\n\t\t\"extends\": [\n\t\t\t\"bpmndi:BPMNLabel\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"color\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ColoredShape\",\n\t\t\"extends\": [\n\t\t\t\"bpmndi:BPMNShape\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"background-color\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"border-color\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tname: \"ColoredEdge\",\n\t\t\"extends\": [\n\t\t\t\"bpmndi:BPMNEdge\"\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tname: \"border-color\",\n\t\t\t\tisAttr: true,\n\t\t\t\ttype: \"String\"\n\t\t\t}\n\t\t]\n\t}\n];\nvar enumerations$3 = [\n];\nvar associations$5 = [\n];\nvar BpmnInColorPackage = {\n\tname: name$5,\n\turi: uri$5,\n\tprefix: prefix$5,\n\ttypes: types$5,\n\tenumerations: enumerations$3,\n\tassociations: associations$5\n};\n\nvar packages = {\n bpmn: BpmnPackage,\n bpmndi: BpmnDiPackage,\n dc: DcPackage,\n di: DiPackage,\n bioc: BiocPackage,\n color: BpmnInColorPackage\n};\n\nfunction simple(additionalPackages, options) {\n var pks = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({}, packages, additionalPackages);\n\n return new BpmnModdle(pks, options);\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (simple);\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/bpmn-moddle/dist/index.esm.js?");
/***/ }),
/***/ "./node_modules/css.escape/css.escape.js":
/*!***********************************************!*\
!*** ./node_modules/css.escape/css.escape.js ***!
\***********************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval("/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n;(function(root, factory) {\n\t// https://github.com/umdjs/umd/blob/master/returnExports.js\n\tif (true) {\n\t\t// For Node.js.\n\t\tmodule.exports = factory(root);\n\t} else {}\n}(typeof __webpack_require__.g != 'undefined' ? __webpack_require__.g : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn root.CSS.escape;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\treturn cssEscape;\n\n}));\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/css.escape/css.escape.js?");
/***/ }),
/***/ "./node_modules/diagram-js-direct-editing/index.js":
/*!*********************************************************!*\
!*** ./node_modules/diagram-js-direct-editing/index.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var diagram_js_lib_features_interaction_events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diagram-js/lib/features/interaction-events */ \"./node_modules/diagram-js/lib/features/interaction-events/index.js\");\n/* harmony import */ var _lib_DirectEditing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/DirectEditing */ \"./node_modules/diagram-js-direct-editing/lib/DirectEditing.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n diagram_js_lib_features_interaction_events__WEBPACK_IMPORTED_MODULE_1__.default\n ],\n __init__: [ 'directEditing' ],\n directEditing: [ 'type', _lib_DirectEditing__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js-direct-editing/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js-direct-editing/lib/DirectEditing.js":
/*!*********************************************************************!*\
!*** ./node_modules/diagram-js-direct-editing/lib/DirectEditing.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DirectEditing)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _TextBox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TextBox */ \"./node_modules/diagram-js-direct-editing/lib/TextBox.js\");\n\n\n\n\n\n/**\n * A direct editing component that allows users\n * to edit an elements text directly in the diagram\n *\n * @param {EventBus} eventBus the event bus\n */\nfunction DirectEditing(eventBus, canvas) {\n\n this._eventBus = eventBus;\n\n this._providers = [];\n this._textbox = new _TextBox__WEBPACK_IMPORTED_MODULE_0__.default({\n container: canvas.getContainer(),\n keyHandler: (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.bind)(this._handleKey, this),\n resizeHandler: (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.bind)(this._handleResize, this)\n });\n}\n\nDirectEditing.$inject = [ 'eventBus', 'canvas' ];\n\n\n/**\n * Register a direct editing provider\n\n * @param {Object} provider the provider, must expose an #activate(element) method that returns\n * an activation context ({ bounds: {x, y, width, height }, text }) if\n * direct editing is available for the given element.\n * Additionally the provider must expose a #update(element, value) method\n * to receive direct editing updates.\n */\nDirectEditing.prototype.registerProvider = function(provider) {\n this._providers.push(provider);\n};\n\n\n/**\n * Returns true if direct editing is currently active\n *\n * @return {Boolean}\n */\nDirectEditing.prototype.isActive = function() {\n return !!this._active;\n};\n\n\n/**\n * Cancel direct editing, if it is currently active\n */\nDirectEditing.prototype.cancel = function() {\n if (!this._active) {\n return;\n }\n\n this._fire('cancel');\n this.close();\n};\n\n\nDirectEditing.prototype._fire = function(event, context) {\n this._eventBus.fire('directEditing.' + event, context || { active: this._active });\n};\n\nDirectEditing.prototype.close = function() {\n this._textbox.destroy();\n\n this._fire('deactivate');\n\n this._active = null;\n\n this.resizable = undefined;\n};\n\n\nDirectEditing.prototype.complete = function() {\n\n var active = this._active;\n\n if (!active) {\n return;\n }\n\n var containerBounds,\n previousBounds = active.context.bounds,\n newBounds = this.$textbox.getBoundingClientRect(),\n newText = this.getValue(),\n previousText = active.context.text;\n\n if (\n newText !== previousText ||\n newBounds.height !== previousBounds.height ||\n newBounds.width !== previousBounds.width\n ) {\n containerBounds = this._textbox.container.getBoundingClientRect();\n\n active.provider.update(active.element, newText, active.context.text, {\n x: newBounds.left - containerBounds.left,\n y: newBounds.top - containerBounds.top,\n width: newBounds.width,\n height: newBounds.height\n });\n }\n\n this._fire('complete');\n\n this.close();\n};\n\n\nDirectEditing.prototype.getValue = function() {\n return this._textbox.getValue();\n};\n\n\nDirectEditing.prototype._handleKey = function(e) {\n\n // stop bubble\n e.stopPropagation();\n\n var key = e.keyCode || e.charCode;\n\n // ESC\n if (key === 27) {\n e.preventDefault();\n return this.cancel();\n }\n\n // Enter\n if (key === 13 && !e.shiftKey) {\n e.preventDefault();\n return this.complete();\n }\n};\n\n\nDirectEditing.prototype._handleResize = function(event) {\n this._fire('resize', event);\n};\n\n\n/**\n * Activate direct editing on the given element\n *\n * @param {Object} ElementDescriptor the descriptor for a shape or connection\n * @return {Boolean} true if the activation was possible\n */\nDirectEditing.prototype.activate = function(element) {\n if (this.isActive()) {\n this.cancel();\n }\n\n // the direct editing context\n var context;\n\n var provider = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.find)(this._providers, function(p) {\n return (context = p.activate(element)) ? p : null;\n });\n\n // check if activation took place\n if (context) {\n this.$textbox = this._textbox.create(\n context.bounds,\n context.style,\n context.text,\n context.options\n );\n\n this._active = {\n element: element,\n context: context,\n provider: provider\n };\n\n if (context.options && context.options.resizable) {\n this.resizable = true;\n }\n\n this._fire('activate');\n }\n\n return !!context;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js-direct-editing/lib/DirectEditing.js?");
/***/ }),
/***/ "./node_modules/diagram-js-direct-editing/lib/TextBox.js":
/*!***************************************************************!*\
!*** ./node_modules/diagram-js-direct-editing/lib/TextBox.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TextBox)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n\n\n\n\nvar min = Math.min,\n max = Math.max;\n\nfunction preventDefault(e) {\n e.preventDefault();\n}\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nfunction isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE;\n}\n\nfunction toArray(nodeList) {\n return [].slice.call(nodeList);\n}\n\n/**\n * Initializes a container for a content editable div.\n *\n * Structure:\n *\n * container\n * parent\n * content\n * resize-handle\n *\n * @param {object} options\n * @param {DOMElement} options.container The DOM element to append the contentContainer to\n * @param {Function} options.keyHandler Handler for key events\n * @param {Function} options.resizeHandler Handler for resize events\n */\nfunction TextBox(options) {\n this.container = options.container;\n\n this.parent = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.domify)(\n ''\n );\n\n this.content = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.query)('[contenteditable]', this.parent);\n\n this.keyHandler = options.keyHandler || function() {};\n this.resizeHandler = options.resizeHandler || function() {};\n\n this.autoResize = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.bind)(this.autoResize, this);\n this.handlePaste = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.bind)(this.handlePaste, this);\n}\n\n\n/**\n * Create a text box with the given position, size, style and text content\n *\n * @param {Object} bounds\n * @param {Number} bounds.x absolute x position\n * @param {Number} bounds.y absolute y position\n * @param {Number} [bounds.width] fixed width value\n * @param {Number} [bounds.height] fixed height value\n * @param {Number} [bounds.maxWidth] maximum width value\n * @param {Number} [bounds.maxHeight] maximum height value\n * @param {Number} [bounds.minWidth] minimum width value\n * @param {Number} [bounds.minHeight] minimum height value\n * @param {Object} [style]\n * @param {String} value text content\n *\n * @return {DOMElement} The created content DOM element\n */\nTextBox.prototype.create = function(bounds, style, value, options) {\n var self = this;\n\n var parent = this.parent,\n content = this.content,\n container = this.container;\n\n options = this.options = options || {};\n\n style = this.style = style || {};\n\n var parentStyle = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.pick)(style, [\n 'width',\n 'height',\n 'maxWidth',\n 'maxHeight',\n 'minWidth',\n 'minHeight',\n 'left',\n 'top',\n 'backgroundColor',\n 'position',\n 'overflow',\n 'border',\n 'wordWrap',\n 'textAlign',\n 'outline',\n 'transform'\n ]);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(parent.style, {\n width: bounds.width + 'px',\n height: bounds.height + 'px',\n maxWidth: bounds.maxWidth + 'px',\n maxHeight: bounds.maxHeight + 'px',\n minWidth: bounds.minWidth + 'px',\n minHeight: bounds.minHeight + 'px',\n left: bounds.x + 'px',\n top: bounds.y + 'px',\n backgroundColor: '#ffffff',\n position: 'absolute',\n overflow: 'visible',\n border: '1px solid #ccc',\n boxSizing: 'border-box',\n wordWrap: 'normal',\n textAlign: 'center',\n outline: 'none'\n }, parentStyle);\n\n var contentStyle = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.pick)(style, [\n 'fontFamily',\n 'fontSize',\n 'fontWeight',\n 'lineHeight',\n 'padding',\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft'\n ]);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(content.style, {\n boxSizing: 'border-box',\n width: '100%',\n outline: 'none',\n wordWrap: 'break-word'\n }, contentStyle);\n\n if (options.centerVertically) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(content.style, {\n position: 'absolute',\n top: '50%',\n transform: 'translate(0, -50%)'\n }, contentStyle);\n }\n\n content.innerText = value;\n\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(content, 'keydown', this.keyHandler);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(content, 'mousedown', stopPropagation);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(content, 'paste', self.handlePaste);\n\n if (options.autoResize) {\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(content, 'input', this.autoResize);\n }\n\n if (options.resizable) {\n this.resizable(style);\n }\n\n container.appendChild(parent);\n\n // set selection to end of text\n this.setSelection(content.lastChild, content.lastChild && content.lastChild.length);\n\n return parent;\n};\n\n/**\n * Intercept paste events to remove formatting from pasted text.\n */\nTextBox.prototype.handlePaste = function(e) {\n var options = this.options,\n style = this.style;\n\n e.preventDefault();\n\n var text;\n\n if (e.clipboardData) {\n\n // Chrome, Firefox, Safari\n text = e.clipboardData.getData('text/plain');\n } else {\n\n // Internet Explorer\n text = window.clipboardData.getData('Text');\n }\n\n this.insertText(text);\n\n if (options.autoResize) {\n var hasResized = this.autoResize(style);\n\n if (hasResized) {\n this.resizeHandler(hasResized);\n }\n }\n};\n\nTextBox.prototype.insertText = function(text) {\n text = normalizeEndOfLineSequences(text);\n\n // insertText command not supported by Internet Explorer\n var success = document.execCommand('insertText', false, text);\n\n if (success) {\n return;\n }\n\n this._insertTextIE(text);\n};\n\nTextBox.prototype._insertTextIE = function(text) {\n\n // Internet Explorer\n var range = this.getSelection(),\n startContainer = range.startContainer,\n endContainer = range.endContainer,\n startOffset = range.startOffset,\n endOffset = range.endOffset,\n commonAncestorContainer = range.commonAncestorContainer;\n\n var childNodesArray = toArray(commonAncestorContainer.childNodes);\n\n var container,\n offset;\n\n if (isTextNode(commonAncestorContainer)) {\n var containerTextContent = startContainer.textContent;\n\n startContainer.textContent =\n containerTextContent.substring(0, startOffset)\n + text\n + containerTextContent.substring(endOffset);\n\n container = startContainer;\n offset = startOffset + text.length;\n\n } else if (startContainer === this.content && endContainer === this.content) {\n var textNode = document.createTextNode(text);\n\n this.content.insertBefore(textNode, childNodesArray[startOffset]);\n\n container = textNode;\n offset = textNode.textContent.length;\n } else {\n var startContainerChildIndex = childNodesArray.indexOf(startContainer),\n endContainerChildIndex = childNodesArray.indexOf(endContainer);\n\n childNodesArray.forEach(function(childNode, index) {\n\n if (index === startContainerChildIndex) {\n childNode.textContent =\n startContainer.textContent.substring(0, startOffset) +\n text +\n endContainer.textContent.substring(endOffset);\n } else if (index > startContainerChildIndex && index <= endContainerChildIndex) {\n (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.remove)(childNode);\n }\n });\n\n container = startContainer;\n offset = startOffset + text.length;\n }\n\n if (container && offset !== undefined) {\n\n // is necessary in Internet Explorer\n setTimeout(function() {\n self.setSelection(container, offset);\n });\n }\n};\n\n/**\n * Automatically resize element vertically to fit its content.\n */\nTextBox.prototype.autoResize = function() {\n var parent = this.parent,\n content = this.content;\n\n var fontSize = parseInt(this.style.fontSize) || 12;\n\n if (content.scrollHeight > parent.offsetHeight ||\n content.scrollHeight < parent.offsetHeight - fontSize) {\n var bounds = parent.getBoundingClientRect();\n\n var height = content.scrollHeight;\n parent.style.height = height + 'px';\n\n this.resizeHandler({\n width: bounds.width,\n height: bounds.height,\n dx: 0,\n dy: height - bounds.height\n });\n }\n};\n\n/**\n * Make an element resizable by adding a resize handle.\n */\nTextBox.prototype.resizable = function() {\n var self = this;\n\n var parent = this.parent,\n resizeHandle = this.resizeHandle;\n\n var minWidth = parseInt(this.style.minWidth) || 0,\n minHeight = parseInt(this.style.minHeight) || 0,\n maxWidth = parseInt(this.style.maxWidth) || Infinity,\n maxHeight = parseInt(this.style.maxHeight) || Infinity;\n\n if (!resizeHandle) {\n resizeHandle = this.resizeHandle = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.domify)(\n '
'\n );\n\n var startX, startY, startWidth, startHeight;\n\n var onMouseDown = function(e) {\n preventDefault(e);\n stopPropagation(e);\n\n startX = e.clientX;\n startY = e.clientY;\n\n var bounds = parent.getBoundingClientRect();\n\n startWidth = bounds.width;\n startHeight = bounds.height;\n\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(document, 'mousemove', onMouseMove);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(document, 'mouseup', onMouseUp);\n };\n\n var onMouseMove = function(e) {\n preventDefault(e);\n stopPropagation(e);\n\n var newWidth = min(max(startWidth + e.clientX - startX, minWidth), maxWidth);\n var newHeight = min(max(startHeight + e.clientY - startY, minHeight), maxHeight);\n\n parent.style.width = newWidth + 'px';\n parent.style.height = newHeight + 'px';\n\n self.resizeHandler({\n width: startWidth,\n height: startHeight,\n dx: e.clientX - startX,\n dy: e.clientY - startY\n });\n };\n\n var onMouseUp = function(e) {\n preventDefault(e);\n stopPropagation(e);\n\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.unbind(document,'mousemove', onMouseMove, false);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.unbind(document, 'mouseup', onMouseUp, false);\n };\n\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(resizeHandle, 'mousedown', onMouseDown);\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(resizeHandle.style, {\n position: 'absolute',\n bottom: '0px',\n right: '0px',\n cursor: 'nwse-resize',\n width: '0',\n height: '0',\n borderTop: (parseInt(this.style.fontSize) / 4 || 3) + 'px solid transparent',\n borderRight: (parseInt(this.style.fontSize) / 4 || 3) + 'px solid #ccc',\n borderBottom: (parseInt(this.style.fontSize) / 4 || 3) + 'px solid #ccc',\n borderLeft: (parseInt(this.style.fontSize) / 4 || 3) + 'px solid transparent'\n });\n\n parent.appendChild(resizeHandle);\n};\n\n\n/**\n * Clear content and style of the textbox, unbind listeners and\n * reset CSS style.\n */\nTextBox.prototype.destroy = function() {\n var parent = this.parent,\n content = this.content,\n resizeHandle = this.resizeHandle;\n\n // clear content\n content.innerText = '';\n\n // clear styles\n parent.removeAttribute('style');\n content.removeAttribute('style');\n\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.unbind(content, 'keydown', this.keyHandler);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.unbind(content, 'mousedown', stopPropagation);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.unbind(content, 'input', this.autoResize);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.unbind(content, 'paste', this.handlePaste);\n\n if (resizeHandle) {\n resizeHandle.removeAttribute('style');\n\n (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.remove)(resizeHandle);\n }\n\n (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.remove)(parent);\n};\n\n\nTextBox.prototype.getValue = function() {\n return this.content.innerText.trim();\n};\n\n\nTextBox.prototype.getSelection = function() {\n var selection = window.getSelection(),\n range = selection.getRangeAt(0);\n\n return range;\n};\n\n\nTextBox.prototype.setSelection = function(container, offset) {\n var range = document.createRange();\n\n if (container === null) {\n range.selectNodeContents(this.content);\n } else {\n range.setStart(container, offset);\n range.setEnd(container, offset);\n }\n\n var selection = window.getSelection();\n\n selection.removeAllRanges();\n selection.addRange(range);\n};\n\n// helpers //////////\n\nfunction normalizeEndOfLineSequences(string) {\n return string.replace(/\\r\\n|\\r|\\n/g, '\\n');\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js-direct-editing/lib/TextBox.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/Diagram.js":
/*!************************************************!*\
!*** ./node_modules/diagram-js/lib/Diagram.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Diagram)\n/* harmony export */ });\n/* harmony import */ var didi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! didi */ \"./node_modules/didi/dist/index.esm.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core */ \"./node_modules/diagram-js/lib/core/index.js\");\n\n\n\n\n\n/**\n * Bootstrap an injector from a list of modules, instantiating a number of default components\n *\n * @ignore\n * @param {Array} bootstrapModules\n *\n * @return {didi.Injector} a injector to use to access the components\n */\nfunction bootstrap(bootstrapModules) {\n\n var modules = [],\n components = [];\n\n function hasModule(m) {\n return modules.indexOf(m) >= 0;\n }\n\n function addModule(m) {\n modules.push(m);\n }\n\n function visit(m) {\n if (hasModule(m)) {\n return;\n }\n\n (m.__depends__ || []).forEach(visit);\n\n if (hasModule(m)) {\n return;\n }\n\n addModule(m);\n\n (m.__init__ || []).forEach(function(c) {\n components.push(c);\n });\n }\n\n bootstrapModules.forEach(visit);\n\n var injector = new didi__WEBPACK_IMPORTED_MODULE_0__.Injector(modules);\n\n components.forEach(function(c) {\n\n try {\n\n // eagerly resolve component (fn or string)\n injector[typeof c === 'string' ? 'get' : 'invoke'](c);\n } catch (e) {\n console.error('Failed to instantiate component');\n console.error(e.stack);\n\n throw e;\n }\n });\n\n return injector;\n}\n\n/**\n * Creates an injector from passed options.\n *\n * @ignore\n * @param {Object} options\n * @return {didi.Injector}\n */\nfunction createInjector(options) {\n\n options = options || {};\n\n var configModule = {\n 'config': ['value', options]\n };\n\n var modules = [ configModule, _core__WEBPACK_IMPORTED_MODULE_1__.default ].concat(options.modules || []);\n\n return bootstrap(modules);\n}\n\n\n/**\n * The main diagram-js entry point that bootstraps the diagram with the given\n * configuration.\n *\n * To register extensions with the diagram, pass them as Array to the constructor.\n *\n * @class djs.Diagram\n * @memberOf djs\n * @constructor\n *\n * @example\n *\n * Creating a plug-in that logs whenever a shape is added to the canvas. \n *\n * // plug-in implemenentation\n * function MyLoggingPlugin(eventBus) {\n * eventBus.on('shape.added', function(event) {\n * console.log('shape ', event.shape, ' was added to the diagram');\n * });\n * }\n *\n * // export as module\n * export default {\n * __init__: [ 'myLoggingPlugin' ],\n * myLoggingPlugin: [ 'type', MyLoggingPlugin ]\n * };\n *\n *\n * // instantiate the diagram with the new plug-in\n *\n * import MyLoggingModule from 'path-to-my-logging-plugin';\n *\n * var diagram = new Diagram({\n * modules: [\n * MyLoggingModule\n * ]\n * });\n *\n * diagram.invoke([ 'canvas', function(canvas) {\n * // add shape to drawing canvas\n * canvas.addShape({ x: 10, y: 10 });\n * });\n *\n * // 'shape ... was added to the diagram' logged to console\n *\n * @param {Object} options\n * @param {Array} [options.modules] external modules to instantiate with the diagram\n * @param {didi.Injector} [injector] an (optional) injector to bootstrap the diagram with\n */\nfunction Diagram(options, injector) {\n\n // create injector unless explicitly specified\n this.injector = injector = injector || createInjector(options);\n\n // API\n\n /**\n * Resolves a diagram service\n *\n * @method Diagram#get\n *\n * @param {string} name the name of the diagram service to be retrieved\n * @param {boolean} [strict=true] if false, resolve missing services to null\n */\n this.get = injector.get;\n\n /**\n * Executes a function into which diagram services are injected\n *\n * @method Diagram#invoke\n *\n * @param {Function|Object[]} fn the function to resolve\n * @param {Object} locals a number of locals to use to resolve certain dependencies\n */\n this.invoke = injector.invoke;\n\n // init\n\n // indicate via event\n\n\n /**\n * An event indicating that all plug-ins are loaded.\n *\n * Use this event to fire other events to interested plug-ins\n *\n * @memberOf Diagram\n *\n * @event diagram.init\n *\n * @example\n *\n * eventBus.on('diagram.init', function() {\n * eventBus.fire('my-custom-event', { foo: 'BAR' });\n * });\n *\n * @type {Object}\n */\n this.get('eventBus').fire('diagram.init');\n}\n\n\n/**\n * Destroys the diagram\n *\n * @method Diagram#destroy\n */\nDiagram.prototype.destroy = function() {\n this.get('eventBus').fire('diagram.destroy');\n};\n\n/**\n * Clear the diagram, removing all contents.\n */\nDiagram.prototype.clear = function() {\n this.get('eventBus').fire('diagram.clear');\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/Diagram.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/command/CommandInterceptor.js":
/*!*******************************************************************!*\
!*** ./node_modules/diagram-js/lib/command/CommandInterceptor.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CommandInterceptor)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\nvar DEFAULT_PRIORITY = 1000;\n\n/**\n * A utility that can be used to plug-in into the command execution for\n * extension and/or validation.\n *\n * @param {EventBus} eventBus\n *\n * @example\n *\n * import inherits from 'inherits';\n *\n * import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';\n *\n * function CommandLogger(eventBus) {\n * CommandInterceptor.call(this, eventBus);\n *\n * this.preExecute(function(event) {\n * console.log('command pre-execute', event);\n * });\n * }\n *\n * inherits(CommandLogger, CommandInterceptor);\n *\n */\nfunction CommandInterceptor(eventBus) {\n this._eventBus = eventBus;\n}\n\nCommandInterceptor.$inject = [ 'eventBus' ];\n\nfunction unwrapEvent(fn, that) {\n return function(event) {\n return fn.call(that || null, event.context, event.command, event);\n };\n}\n\n/**\n * Register an interceptor for a command execution\n *\n * @param {string|Array} [events] list of commands to register on\n * @param {string} [hook] command hook, i.e. preExecute, executed to listen on\n * @param {number} [priority] the priority on which to hook into the execution\n * @param {Function} handlerFn interceptor to be invoked with (event)\n * @param {boolean} unwrap if true, unwrap the event and pass (context, command, event) to the\n * listener instead\n * @param {Object} [that] Pass context (`this`) to the handler function\n */\nCommandInterceptor.prototype.on = function(events, hook, priority, handlerFn, unwrap, that) {\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(hook) || (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(hook)) {\n that = unwrap;\n unwrap = handlerFn;\n handlerFn = priority;\n priority = hook;\n hook = null;\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(priority)) {\n that = unwrap;\n unwrap = handlerFn;\n handlerFn = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isObject)(unwrap)) {\n that = unwrap;\n unwrap = false;\n }\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(handlerFn)) {\n throw new Error('handlerFn must be a function');\n }\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(events)) {\n events = [ events ];\n }\n\n var eventBus = this._eventBus;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(events, function(event) {\n\n // concat commandStack(.event)?(.hook)?\n var fullEvent = [ 'commandStack', event, hook ].filter(function(e) { return e; }).join('.');\n\n eventBus.on(fullEvent, priority, unwrap ? unwrapEvent(handlerFn, that) : handlerFn, that);\n });\n};\n\n\nvar hooks = [\n 'canExecute',\n 'preExecute',\n 'preExecuted',\n 'execute',\n 'executed',\n 'postExecute',\n 'postExecuted',\n 'revert',\n 'reverted'\n];\n\n/*\n * Install hook shortcuts\n *\n * This will generate the CommandInterceptor#(preExecute|...|reverted) methods\n * which will in term forward to CommandInterceptor#on.\n */\n(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(hooks, function(hook) {\n\n /**\n * {canExecute|preExecute|preExecuted|execute|executed|postExecute|postExecuted|revert|reverted}\n *\n * A named hook for plugging into the command execution\n *\n * @param {string|Array} [events] list of commands to register on\n * @param {number} [priority] the priority on which to hook into the execution\n * @param {Function} handlerFn interceptor to be invoked with (event)\n * @param {boolean} [unwrap=false] if true, unwrap the event and pass (context, command, event) to the\n * listener instead\n * @param {Object} [that] Pass context (`this`) to the handler function\n */\n CommandInterceptor.prototype[hook] = function(events, priority, handlerFn, unwrap, that) {\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(events) || (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(events)) {\n that = unwrap;\n unwrap = handlerFn;\n handlerFn = priority;\n priority = events;\n events = null;\n }\n\n this.on(events, hook, priority, handlerFn, unwrap, that);\n };\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/command/CommandInterceptor.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/command/CommandStack.js":
/*!*************************************************************!*\
!*** ./node_modules/diagram-js/lib/command/CommandStack.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CommandStack)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n/**\n * A service that offers un- and redoable execution of commands.\n *\n * The command stack is responsible for executing modeling actions\n * in a un- and redoable manner. To do this it delegates the actual\n * command execution to {@link CommandHandler}s.\n *\n * Command handlers provide {@link CommandHandler#execute(ctx)} and\n * {@link CommandHandler#revert(ctx)} methods to un- and redo a command\n * identified by a command context.\n *\n *\n * ## Life-Cycle events\n *\n * In the process the command stack fires a number of life-cycle events\n * that other components to participate in the command execution.\n *\n * * preExecute\n * * preExecuted\n * * execute\n * * executed\n * * postExecute\n * * postExecuted\n * * revert\n * * reverted\n *\n * A special event is used for validating, whether a command can be\n * performed prior to its execution.\n *\n * * canExecute\n *\n * Each of the events is fired as `commandStack.{eventName}` and\n * `commandStack.{commandName}.{eventName}`, respectively. This gives\n * components fine grained control on where to hook into.\n *\n * The event object fired transports `command`, the name of the\n * command and `context`, the command context.\n *\n *\n * ## Creating Command Handlers\n *\n * Command handlers should provide the {@link CommandHandler#execute(ctx)}\n * and {@link CommandHandler#revert(ctx)} methods to implement\n * redoing and undoing of a command.\n *\n * A command handler _must_ ensure undo is performed properly in order\n * not to break the undo chain. It must also return the shapes that\n * got changed during the `execute` and `revert` operations.\n *\n * Command handlers may execute other modeling operations (and thus\n * commands) in their `preExecute` and `postExecute` phases. The command\n * stack will properly group all commands together into a logical unit\n * that may be re- and undone atomically.\n *\n * Command handlers must not execute other commands from within their\n * core implementation (`execute`, `revert`).\n *\n *\n * ## Change Tracking\n *\n * During the execution of the CommandStack it will keep track of all\n * elements that have been touched during the command's execution.\n *\n * At the end of the CommandStack execution it will notify interested\n * components via an 'elements.changed' event with all the dirty\n * elements.\n *\n * The event can be picked up by components that are interested in the fact\n * that elements have been changed. One use case for this is updating\n * their graphical representation after moving / resizing or deletion.\n *\n * @see CommandHandler\n *\n * @param {EventBus} eventBus\n * @param {Injector} injector\n */\nfunction CommandStack(eventBus, injector) {\n\n /**\n * A map of all registered command handlers.\n *\n * @type {Object}\n */\n this._handlerMap = {};\n\n /**\n * A stack containing all re/undoable actions on the diagram\n *\n * @type {Array}\n */\n this._stack = [];\n\n /**\n * The current index on the stack\n *\n * @type {number}\n */\n this._stackIdx = -1;\n\n /**\n * Current active commandStack execution\n *\n * @type {Object}\n * @property {Object[]} actions\n * @property {Object[]} dirty\n * @property { 'undo' | 'redo' | 'clear' | 'execute' | null } trigger the cause of the current excecution\n */\n this._currentExecution = {\n actions: [],\n dirty: [],\n trigger: null\n };\n\n\n this._injector = injector;\n this._eventBus = eventBus;\n\n this._uid = 1;\n\n eventBus.on([\n 'diagram.destroy',\n 'diagram.clear'\n ], function() {\n this.clear(false);\n }, this);\n}\n\nCommandStack.$inject = [ 'eventBus', 'injector' ];\n\n\n/**\n * Execute a command\n *\n * @param {string} command the command to execute\n * @param {Object} context the environment to execute the command in\n */\nCommandStack.prototype.execute = function(command, context) {\n if (!command) {\n throw new Error('command required');\n }\n\n this._currentExecution.trigger = 'execute';\n\n var action = { command: command, context: context };\n\n this._pushAction(action);\n this._internalExecute(action);\n this._popAction(action);\n};\n\n\n/**\n * Ask whether a given command can be executed.\n *\n * Implementors may hook into the mechanism on two ways:\n *\n * * in event listeners:\n *\n * Users may prevent the execution via an event listener.\n * It must prevent the default action for `commandStack.(.)canExecute` events.\n *\n * * in command handlers:\n *\n * If the method {@link CommandHandler#canExecute} is implemented in a handler\n * it will be called to figure out whether the execution is allowed.\n *\n * @param {string} command the command to execute\n * @param {Object} context the environment to execute the command in\n *\n * @return {boolean} true if the command can be executed\n */\nCommandStack.prototype.canExecute = function(command, context) {\n\n var action = { command: command, context: context };\n\n var handler = this._getHandler(command);\n\n var result = this._fire(command, 'canExecute', action);\n\n // handler#canExecute will only be called if no listener\n // decided on a result already\n if (result === undefined) {\n if (!handler) {\n return false;\n }\n\n if (handler.canExecute) {\n result = handler.canExecute(context);\n }\n }\n\n return result;\n};\n\n\n/**\n * Clear the command stack, erasing all undo / redo history\n */\nCommandStack.prototype.clear = function(emit) {\n this._stack.length = 0;\n this._stackIdx = -1;\n\n if (emit !== false) {\n this._fire('changed', { trigger: 'clear' });\n }\n};\n\n\n/**\n * Undo last command(s)\n */\nCommandStack.prototype.undo = function() {\n var action = this._getUndoAction(),\n next;\n\n if (action) {\n this._currentExecution.trigger = 'undo';\n\n this._pushAction(action);\n\n while (action) {\n this._internalUndo(action);\n next = this._getUndoAction();\n\n if (!next || next.id !== action.id) {\n break;\n }\n\n action = next;\n }\n\n this._popAction();\n }\n};\n\n\n/**\n * Redo last command(s)\n */\nCommandStack.prototype.redo = function() {\n var action = this._getRedoAction(),\n next;\n\n if (action) {\n this._currentExecution.trigger = 'redo';\n\n this._pushAction(action);\n\n while (action) {\n this._internalExecute(action, true);\n next = this._getRedoAction();\n\n if (!next || next.id !== action.id) {\n break;\n }\n\n action = next;\n }\n\n this._popAction();\n }\n};\n\n\n/**\n * Register a handler instance with the command stack\n *\n * @param {string} command\n * @param {CommandHandler} handler\n */\nCommandStack.prototype.register = function(command, handler) {\n this._setHandler(command, handler);\n};\n\n\n/**\n * Register a handler type with the command stack\n * by instantiating it and injecting its dependencies.\n *\n * @param {string} command\n * @param {Function} a constructor for a {@link CommandHandler}\n */\nCommandStack.prototype.registerHandler = function(command, handlerCls) {\n\n if (!command || !handlerCls) {\n throw new Error('command and handlerCls must be defined');\n }\n\n var handler = this._injector.instantiate(handlerCls);\n this.register(command, handler);\n};\n\nCommandStack.prototype.canUndo = function() {\n return !!this._getUndoAction();\n};\n\nCommandStack.prototype.canRedo = function() {\n return !!this._getRedoAction();\n};\n\n// stack access //////////////////////\n\nCommandStack.prototype._getRedoAction = function() {\n return this._stack[this._stackIdx + 1];\n};\n\n\nCommandStack.prototype._getUndoAction = function() {\n return this._stack[this._stackIdx];\n};\n\n\n// internal functionality //////////////////////\n\nCommandStack.prototype._internalUndo = function(action) {\n var self = this;\n\n var command = action.command,\n context = action.context;\n\n var handler = this._getHandler(command);\n\n // guard against illegal nested command stack invocations\n this._atomicDo(function() {\n self._fire(command, 'revert', action);\n\n if (handler.revert) {\n self._markDirty(handler.revert(context));\n }\n\n self._revertedAction(action);\n\n self._fire(command, 'reverted', action);\n });\n};\n\n\nCommandStack.prototype._fire = function(command, qualifier, event) {\n if (arguments.length < 3) {\n event = qualifier;\n qualifier = null;\n }\n\n var names = qualifier ? [ command + '.' + qualifier, qualifier ] : [ command ],\n i, name, result;\n\n event = this._eventBus.createEvent(event);\n\n for (i = 0; (name = names[i]); i++) {\n result = this._eventBus.fire('commandStack.' + name, event);\n\n if (event.cancelBubble) {\n break;\n }\n }\n\n return result;\n};\n\nCommandStack.prototype._createId = function() {\n return this._uid++;\n};\n\nCommandStack.prototype._atomicDo = function(fn) {\n\n var execution = this._currentExecution;\n\n execution.atomic = true;\n\n try {\n fn();\n } finally {\n execution.atomic = false;\n }\n};\n\nCommandStack.prototype._internalExecute = function(action, redo) {\n var self = this;\n\n var command = action.command,\n context = action.context;\n\n var handler = this._getHandler(command);\n\n if (!handler) {\n throw new Error('no command handler registered for <' + command + '>');\n }\n\n this._pushAction(action);\n\n if (!redo) {\n this._fire(command, 'preExecute', action);\n\n if (handler.preExecute) {\n handler.preExecute(context);\n }\n\n this._fire(command, 'preExecuted', action);\n }\n\n // guard against illegal nested command stack invocations\n this._atomicDo(function() {\n\n self._fire(command, 'execute', action);\n\n if (handler.execute) {\n\n // actual execute + mark return results as dirty\n self._markDirty(handler.execute(context));\n }\n\n // log to stack\n self._executedAction(action, redo);\n\n self._fire(command, 'executed', action);\n });\n\n if (!redo) {\n this._fire(command, 'postExecute', action);\n\n if (handler.postExecute) {\n handler.postExecute(context);\n }\n\n this._fire(command, 'postExecuted', action);\n }\n\n this._popAction(action);\n};\n\n\nCommandStack.prototype._pushAction = function(action) {\n\n var execution = this._currentExecution,\n actions = execution.actions;\n\n var baseAction = actions[0];\n\n if (execution.atomic) {\n throw new Error('illegal invocation in or phase (action: ' + action.command + ')');\n }\n\n if (!action.id) {\n action.id = (baseAction && baseAction.id) || this._createId();\n }\n\n actions.push(action);\n};\n\n\nCommandStack.prototype._popAction = function() {\n var execution = this._currentExecution,\n trigger = execution.trigger,\n actions = execution.actions,\n dirty = execution.dirty;\n\n actions.pop();\n\n if (!actions.length) {\n this._eventBus.fire('elements.changed', { elements: (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.uniqueBy)('id', dirty.reverse()) });\n\n dirty.length = 0;\n\n this._fire('changed', { trigger: trigger });\n\n execution.trigger = null;\n }\n};\n\n\nCommandStack.prototype._markDirty = function(elements) {\n var execution = this._currentExecution;\n\n if (!elements) {\n return;\n }\n\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements) ? elements : [ elements ];\n\n execution.dirty = execution.dirty.concat(elements);\n};\n\n\nCommandStack.prototype._executedAction = function(action, redo) {\n var stackIdx = ++this._stackIdx;\n\n if (!redo) {\n this._stack.splice(stackIdx, this._stack.length, action);\n }\n};\n\n\nCommandStack.prototype._revertedAction = function(action) {\n this._stackIdx--;\n};\n\n\nCommandStack.prototype._getHandler = function(command) {\n return this._handlerMap[command];\n};\n\nCommandStack.prototype._setHandler = function(command, handler) {\n if (!command || !handler) {\n throw new Error('command and handler required');\n }\n\n if (this._handlerMap[command]) {\n throw new Error('overriding handler for command <' + command + '>');\n }\n\n this._handlerMap[command] = handler;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/command/CommandStack.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/command/index.js":
/*!******************************************************!*\
!*** ./node_modules/diagram-js/lib/command/index.js ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _CommandStack__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CommandStack */ \"./node_modules/diagram-js/lib/command/CommandStack.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n commandStack: [ 'type', _CommandStack__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/command/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/core/Canvas.js":
/*!****************************************************!*\
!*** ./node_modules/diagram-js/lib/core/Canvas.js ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Canvas)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Collections__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction round(number, resolution) {\n return Math.round(number * resolution) / resolution;\n}\n\nfunction ensurePx(number) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(number) ? number + 'px' : number;\n}\n\n/**\n * Creates a HTML container element for a SVG element with\n * the given configuration\n *\n * @param {Object} options\n * @return {HTMLElement} the container element\n */\nfunction createContainer(options) {\n\n options = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, { width: '100%', height: '100%' }, options);\n\n var container = options.container || document.body;\n\n // create a around the svg element with the respective size\n // this way we can always get the correct container size\n // (this is impossible for
elements at the moment)\n var parent = document.createElement('div');\n parent.setAttribute('class', 'djs-container');\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(parent.style, {\n position: 'relative',\n overflow: 'hidden',\n width: ensurePx(options.width),\n height: ensurePx(options.height)\n });\n\n container.appendChild(parent);\n\n return parent;\n}\n\nfunction createGroup(parent, cls, childIndex) {\n var group = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.create)('g');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(group).add(cls);\n\n var index = childIndex !== undefined ? childIndex : parent.childNodes.length - 1;\n\n // must ensure second argument is node or _null_\n // cf. https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore\n parent.insertBefore(group, parent.childNodes[index] || null);\n\n return group;\n}\n\nvar BASE_LAYER = 'base';\n\n\nvar REQUIRED_MODEL_ATTRS = {\n shape: [ 'x', 'y', 'width', 'height' ],\n connection: [ 'waypoints' ]\n};\n\n/**\n * The main drawing canvas.\n *\n * @class\n * @constructor\n *\n * @emits Canvas#canvas.init\n *\n * @param {Object} config\n * @param {EventBus} eventBus\n * @param {GraphicsFactory} graphicsFactory\n * @param {ElementRegistry} elementRegistry\n */\nfunction Canvas(config, eventBus, graphicsFactory, elementRegistry) {\n\n this._eventBus = eventBus;\n this._elementRegistry = elementRegistry;\n this._graphicsFactory = graphicsFactory;\n\n this._init(config || {});\n}\n\nCanvas.$inject = [\n 'config.canvas',\n 'eventBus',\n 'graphicsFactory',\n 'elementRegistry'\n];\n\n\nCanvas.prototype._init = function(config) {\n\n var eventBus = this._eventBus;\n\n // Creates a element that is wrapped into a .\n // This way we are always able to correctly figure out the size of the svg element\n // by querying the parent node.\n //\n // (It is not possible to get the size of a svg element cross browser @ 2014-04-01)\n //\n //
\n // \n // ...\n // \n //
\n\n // html container\n var container = this._container = createContainer(config);\n\n var svg = this._svg = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.create)('svg');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.attr)(svg, { width: '100%', height: '100%' });\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.append)(container, svg);\n\n var viewport = this._viewport = createGroup(svg, 'viewport');\n\n this._layers = {};\n\n // debounce canvas.viewbox.changed events\n // for smoother diagram interaction\n if (config.deferUpdate !== false) {\n this._viewboxChanged = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.debounce)((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.bind)(this._viewboxChanged, this), 300);\n }\n\n eventBus.on('diagram.init', function() {\n\n /**\n * An event indicating that the canvas is ready to be drawn on.\n *\n * @memberOf Canvas\n *\n * @event canvas.init\n *\n * @type {Object}\n * @property {SVGElement} svg the created svg element\n * @property {SVGElement} viewport the direct parent of diagram elements and shapes\n */\n eventBus.fire('canvas.init', {\n svg: svg,\n viewport: viewport\n });\n\n }, this);\n\n // reset viewbox on shape changes to\n // recompute the viewbox\n eventBus.on([\n 'shape.added',\n 'connection.added',\n 'shape.removed',\n 'connection.removed',\n 'elements.changed'\n ], function() {\n delete this._cachedViewbox;\n }, this);\n\n eventBus.on('diagram.destroy', 500, this._destroy, this);\n eventBus.on('diagram.clear', 500, this._clear, this);\n};\n\nCanvas.prototype._destroy = function(emit) {\n this._eventBus.fire('canvas.destroy', {\n svg: this._svg,\n viewport: this._viewport\n });\n\n var parent = this._container.parentNode;\n\n if (parent) {\n parent.removeChild(this._container);\n }\n\n delete this._svg;\n delete this._container;\n delete this._layers;\n delete this._rootElement;\n delete this._viewport;\n};\n\nCanvas.prototype._clear = function() {\n\n var self = this;\n\n var allElements = this._elementRegistry.getAll();\n\n // remove all elements\n allElements.forEach(function(element) {\n var type = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_2__.getType)(element);\n\n if (type === 'root') {\n self.setRootElement(null, true);\n } else {\n self._removeElement(element, type);\n }\n });\n\n // force recomputation of view box\n delete this._cachedViewbox;\n};\n\n/**\n * Returns the default layer on which\n * all elements are drawn.\n *\n * @returns {SVGElement}\n */\nCanvas.prototype.getDefaultLayer = function() {\n return this.getLayer(BASE_LAYER, 0);\n};\n\n/**\n * Returns a layer that is used to draw elements\n * or annotations on it.\n *\n * Non-existing layers retrieved through this method\n * will be created. During creation, the optional index\n * may be used to create layers below or above existing layers.\n * A layer with a certain index is always created above all\n * existing layers with the same index.\n *\n * @param {string} name\n * @param {number} index\n *\n * @returns {SVGElement}\n */\nCanvas.prototype.getLayer = function(name, index) {\n\n if (!name) {\n throw new Error('must specify a name');\n }\n\n var layer = this._layers[name];\n\n if (!layer) {\n layer = this._layers[name] = this._createLayer(name, index);\n }\n\n // throw an error if layer creation / retrival is\n // requested on different index\n if (typeof index !== 'undefined' && layer.index !== index) {\n throw new Error('layer <' + name + '> already created at index <' + index + '>');\n }\n\n return layer.group;\n};\n\n/**\n * Creates a given layer and returns it.\n *\n * @param {string} name\n * @param {number} [index=0]\n *\n * @return {Object} layer descriptor with { index, group: SVGGroup }\n */\nCanvas.prototype._createLayer = function(name, index) {\n\n if (!index) {\n index = 0;\n }\n\n var childIndex = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.reduce)(this._layers, function(childIndex, layer) {\n if (index >= layer.index) {\n childIndex++;\n }\n\n return childIndex;\n }, 0);\n\n return {\n group: createGroup(this._viewport, 'layer-' + name, childIndex),\n index: index\n };\n\n};\n\n/**\n * Returns the html element that encloses the\n * drawing canvas.\n *\n * @return {DOMNode}\n */\nCanvas.prototype.getContainer = function() {\n return this._container;\n};\n\n\n// markers //////////////////////\n\nCanvas.prototype._updateMarker = function(element, marker, add) {\n var container;\n\n if (!element.id) {\n element = this._elementRegistry.get(element);\n }\n\n // we need to access all\n container = this._elementRegistry._elements[element.id];\n\n if (!container) {\n return;\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)([ container.gfx, container.secondaryGfx ], function(gfx) {\n if (gfx) {\n\n // invoke either addClass or removeClass based on mode\n if (add) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(gfx).add(marker);\n } else {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(gfx).remove(marker);\n }\n }\n });\n\n /**\n * An event indicating that a marker has been updated for an element\n *\n * @event element.marker.update\n * @type {Object}\n * @property {djs.model.Element} element the shape\n * @property {Object} gfx the graphical representation of the shape\n * @property {string} marker\n * @property {boolean} add true if the marker was added, false if it got removed\n */\n this._eventBus.fire('element.marker.update', { element: element, gfx: container.gfx, marker: marker, add: !!add });\n};\n\n\n/**\n * Adds a marker to an element (basically a css class).\n *\n * Fires the element.marker.update event, making it possible to\n * integrate extension into the marker life-cycle, too.\n *\n * @example\n * canvas.addMarker('foo', 'some-marker');\n *\n * var fooGfx = canvas.getGraphics('foo');\n *\n * fooGfx; //
... \n *\n * @param {string|djs.model.Base} element\n * @param {string} marker\n */\nCanvas.prototype.addMarker = function(element, marker) {\n this._updateMarker(element, marker, true);\n};\n\n\n/**\n * Remove a marker from an element.\n *\n * Fires the element.marker.update event, making it possible to\n * integrate extension into the marker life-cycle, too.\n *\n * @param {string|djs.model.Base} element\n * @param {string} marker\n */\nCanvas.prototype.removeMarker = function(element, marker) {\n this._updateMarker(element, marker, false);\n};\n\n/**\n * Check the existence of a marker on element.\n *\n * @param {string|djs.model.Base} element\n * @param {string} marker\n */\nCanvas.prototype.hasMarker = function(element, marker) {\n if (!element.id) {\n element = this._elementRegistry.get(element);\n }\n\n var gfx = this.getGraphics(element);\n\n return (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(gfx).has(marker);\n};\n\n/**\n * Toggles a marker on an element.\n *\n * Fires the element.marker.update event, making it possible to\n * integrate extension into the marker life-cycle, too.\n *\n * @param {string|djs.model.Base} element\n * @param {string} marker\n */\nCanvas.prototype.toggleMarker = function(element, marker) {\n if (this.hasMarker(element, marker)) {\n this.removeMarker(element, marker);\n } else {\n this.addMarker(element, marker);\n }\n};\n\nCanvas.prototype.getRootElement = function() {\n if (!this._rootElement) {\n this.setRootElement({ id: '__implicitroot', children: [] });\n }\n\n return this._rootElement;\n};\n\n\n\n// root element handling //////////////////////\n\n/**\n * Sets a given element as the new root element for the canvas\n * and returns the new root element.\n *\n * @param {Object|djs.model.Root} element\n * @param {boolean} [override] whether to override the current root element, if any\n *\n * @return {Object|djs.model.Root} new root element\n */\nCanvas.prototype.setRootElement = function(element, override) {\n\n if (element) {\n this._ensureValid('root', element);\n }\n\n var currentRoot = this._rootElement,\n elementRegistry = this._elementRegistry,\n eventBus = this._eventBus;\n\n if (currentRoot) {\n if (!override) {\n throw new Error('rootElement already set, need to specify override');\n }\n\n // simulate element remove event sequence\n eventBus.fire('root.remove', { element: currentRoot });\n eventBus.fire('root.removed', { element: currentRoot });\n\n elementRegistry.remove(currentRoot);\n }\n\n if (element) {\n var gfx = this.getDefaultLayer();\n\n // resemble element add event sequence\n eventBus.fire('root.add', { element: element });\n\n elementRegistry.add(element, gfx, this._svg);\n\n eventBus.fire('root.added', { element: element, gfx: gfx });\n }\n\n this._rootElement = element;\n\n return element;\n};\n\n\n\n// add functionality //////////////////////\n\nCanvas.prototype._ensureValid = function(type, element) {\n if (!element.id) {\n throw new Error('element must have an id');\n }\n\n if (this._elementRegistry.get(element.id)) {\n throw new Error('element with id ' + element.id + ' already exists');\n }\n\n var requiredAttrs = REQUIRED_MODEL_ATTRS[type];\n\n var valid = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.every)(requiredAttrs, function(attr) {\n return typeof element[attr] !== 'undefined';\n });\n\n if (!valid) {\n throw new Error(\n 'must supply { ' + requiredAttrs.join(', ') + ' } with ' + type);\n }\n};\n\nCanvas.prototype._setParent = function(element, parent, parentIndex) {\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_3__.add)(parent.children, element, parentIndex);\n element.parent = parent;\n};\n\n/**\n * Adds an element to the canvas.\n *\n * This wires the parent <-> child relationship between the element and\n * a explicitly specified parent or an implicit root element.\n *\n * During add it emits the events\n *\n * * <{type}.add> (element, parent)\n * * <{type}.added> (element, gfx)\n *\n * Extensions may hook into these events to perform their magic.\n *\n * @param {string} type\n * @param {Object|djs.model.Base} element\n * @param {Object|djs.model.Base} [parent]\n * @param {number} [parentIndex]\n *\n * @return {Object|djs.model.Base} the added element\n */\nCanvas.prototype._addElement = function(type, element, parent, parentIndex) {\n\n parent = parent || this.getRootElement();\n\n var eventBus = this._eventBus,\n graphicsFactory = this._graphicsFactory;\n\n this._ensureValid(type, element);\n\n eventBus.fire(type + '.add', { element: element, parent: parent });\n\n this._setParent(element, parent, parentIndex);\n\n // create graphics\n var gfx = graphicsFactory.create(type, element, parentIndex);\n\n this._elementRegistry.add(element, gfx);\n\n // update its visual\n graphicsFactory.update(type, element, gfx);\n\n eventBus.fire(type + '.added', { element: element, gfx: gfx });\n\n return element;\n};\n\n/**\n * Adds a shape to the canvas\n *\n * @param {Object|djs.model.Shape} shape to add to the diagram\n * @param {djs.model.Base} [parent]\n * @param {number} [parentIndex]\n *\n * @return {djs.model.Shape} the added shape\n */\nCanvas.prototype.addShape = function(shape, parent, parentIndex) {\n return this._addElement('shape', shape, parent, parentIndex);\n};\n\n/**\n * Adds a connection to the canvas\n *\n * @param {Object|djs.model.Connection} connection to add to the diagram\n * @param {djs.model.Base} [parent]\n * @param {number} [parentIndex]\n *\n * @return {djs.model.Connection} the added connection\n */\nCanvas.prototype.addConnection = function(connection, parent, parentIndex) {\n return this._addElement('connection', connection, parent, parentIndex);\n};\n\n\n/**\n * Internal remove element\n */\nCanvas.prototype._removeElement = function(element, type) {\n\n var elementRegistry = this._elementRegistry,\n graphicsFactory = this._graphicsFactory,\n eventBus = this._eventBus;\n\n element = elementRegistry.get(element.id || element);\n\n if (!element) {\n\n // element was removed already\n return;\n }\n\n eventBus.fire(type + '.remove', { element: element });\n\n graphicsFactory.remove(element);\n\n // unset parent <-> child relationship\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_3__.remove)(element.parent && element.parent.children, element);\n element.parent = null;\n\n eventBus.fire(type + '.removed', { element: element });\n\n elementRegistry.remove(element);\n\n return element;\n};\n\n\n/**\n * Removes a shape from the canvas\n *\n * @param {string|djs.model.Shape} shape or shape id to be removed\n *\n * @return {djs.model.Shape} the removed shape\n */\nCanvas.prototype.removeShape = function(shape) {\n\n /**\n * An event indicating that a shape is about to be removed from the canvas.\n *\n * @memberOf Canvas\n *\n * @event shape.remove\n * @type {Object}\n * @property {djs.model.Shape} element the shape descriptor\n * @property {Object} gfx the graphical representation of the shape\n */\n\n /**\n * An event indicating that a shape has been removed from the canvas.\n *\n * @memberOf Canvas\n *\n * @event shape.removed\n * @type {Object}\n * @property {djs.model.Shape} element the shape descriptor\n * @property {Object} gfx the graphical representation of the shape\n */\n return this._removeElement(shape, 'shape');\n};\n\n\n/**\n * Removes a connection from the canvas\n *\n * @param {string|djs.model.Connection} connection or connection id to be removed\n *\n * @return {djs.model.Connection} the removed connection\n */\nCanvas.prototype.removeConnection = function(connection) {\n\n /**\n * An event indicating that a connection is about to be removed from the canvas.\n *\n * @memberOf Canvas\n *\n * @event connection.remove\n * @type {Object}\n * @property {djs.model.Connection} element the connection descriptor\n * @property {Object} gfx the graphical representation of the connection\n */\n\n /**\n * An event indicating that a connection has been removed from the canvas.\n *\n * @memberOf Canvas\n *\n * @event connection.removed\n * @type {Object}\n * @property {djs.model.Connection} element the connection descriptor\n * @property {Object} gfx the graphical representation of the connection\n */\n return this._removeElement(connection, 'connection');\n};\n\n\n/**\n * Return the graphical object underlaying a certain diagram element\n *\n * @param {string|djs.model.Base} element descriptor of the element\n * @param {boolean} [secondary=false] whether to return the secondary connected element\n *\n * @return {SVGElement}\n */\nCanvas.prototype.getGraphics = function(element, secondary) {\n return this._elementRegistry.getGraphics(element, secondary);\n};\n\n\n/**\n * Perform a viewbox update via a given change function.\n *\n * @param {Function} changeFn\n */\nCanvas.prototype._changeViewbox = function(changeFn) {\n\n // notify others of the upcoming viewbox change\n this._eventBus.fire('canvas.viewbox.changing');\n\n // perform actual change\n changeFn.apply(this);\n\n // reset the cached viewbox so that\n // a new get operation on viewbox or zoom\n // triggers a viewbox re-computation\n this._cachedViewbox = null;\n\n // notify others of the change; this step\n // may or may not be debounced\n this._viewboxChanged();\n};\n\nCanvas.prototype._viewboxChanged = function() {\n this._eventBus.fire('canvas.viewbox.changed', { viewbox: this.viewbox() });\n};\n\n\n/**\n * Gets or sets the view box of the canvas, i.e. the\n * area that is currently displayed.\n *\n * The getter may return a cached viewbox (if it is currently\n * changing). To force a recomputation, pass `false` as the first argument.\n *\n * @example\n *\n * canvas.viewbox({ x: 100, y: 100, width: 500, height: 500 })\n *\n * // sets the visible area of the diagram to (100|100) -> (600|100)\n * // and and scales it according to the diagram width\n *\n * var viewbox = canvas.viewbox(); // pass `false` to force recomputing the box.\n *\n * console.log(viewbox);\n * // {\n * // inner: Dimensions,\n * // outer: Dimensions,\n * // scale,\n * // x, y,\n * // width, height\n * // }\n *\n * // if the current diagram is zoomed and scrolled, you may reset it to the\n * // default zoom via this method, too:\n *\n * var zoomedAndScrolledViewbox = canvas.viewbox();\n *\n * canvas.viewbox({\n * x: 0,\n * y: 0,\n * width: zoomedAndScrolledViewbox.outer.width,\n * height: zoomedAndScrolledViewbox.outer.height\n * });\n *\n * @param {Object} [box] the new view box to set\n * @param {number} box.x the top left X coordinate of the canvas visible in view box\n * @param {number} box.y the top left Y coordinate of the canvas visible in view box\n * @param {number} box.width the visible width\n * @param {number} box.height\n *\n * @return {Object} the current view box\n */\nCanvas.prototype.viewbox = function(box) {\n\n if (box === undefined && this._cachedViewbox) {\n return this._cachedViewbox;\n }\n\n var viewport = this._viewport,\n innerBox,\n outerBox = this.getSize(),\n matrix,\n transform,\n scale,\n x, y;\n\n if (!box) {\n\n // compute the inner box based on the\n // diagrams default layer. This allows us to exclude\n // external components, such as overlays\n innerBox = this.getDefaultLayer().getBBox();\n\n transform = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.transform)(viewport);\n matrix = transform ? transform.matrix : (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.createMatrix)();\n scale = round(matrix.a, 1000);\n\n x = round(-matrix.e || 0, 1000);\n y = round(-matrix.f || 0, 1000);\n\n box = this._cachedViewbox = {\n x: x ? x / scale : 0,\n y: y ? y / scale : 0,\n width: outerBox.width / scale,\n height: outerBox.height / scale,\n scale: scale,\n inner: {\n width: innerBox.width,\n height: innerBox.height,\n x: innerBox.x,\n y: innerBox.y\n },\n outer: outerBox\n };\n\n return box;\n } else {\n\n this._changeViewbox(function() {\n scale = Math.min(outerBox.width / box.width, outerBox.height / box.height);\n\n var matrix = this._svg.createSVGMatrix()\n .scale(scale)\n .translate(-box.x, -box.y);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.transform)(viewport, matrix);\n });\n }\n\n return box;\n};\n\n\n/**\n * Gets or sets the scroll of the canvas.\n *\n * @param {Object} [delta] the new scroll to apply.\n *\n * @param {number} [delta.dx]\n * @param {number} [delta.dy]\n */\nCanvas.prototype.scroll = function(delta) {\n\n var node = this._viewport;\n var matrix = node.getCTM();\n\n if (delta) {\n this._changeViewbox(function() {\n delta = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({ dx: 0, dy: 0 }, delta || {});\n\n matrix = this._svg.createSVGMatrix().translate(delta.dx, delta.dy).multiply(matrix);\n\n setCTM(node, matrix);\n });\n }\n\n return { x: matrix.e, y: matrix.f };\n};\n\n/**\n * Scrolls the viewbox to contain the given element.\n * Optionally specify a padding to be applied to the edges.\n *\n * @param {Object} [element] the element to scroll to.\n * @param {Object|Number} [padding=100] the padding to be applied. Can also specify top, bottom, left and right.\n *\n */\nCanvas.prototype.scrollToElement = function(element, padding) {\n var defaultPadding = 100;\n if (!padding) {\n padding = {};\n }\n if (typeof padding === 'number') {\n defaultPadding = padding;\n }\n\n padding = {\n top: padding.top || defaultPadding,\n right: padding.right || defaultPadding,\n bottom: padding.bottom || defaultPadding,\n left: padding.left || defaultPadding\n };\n\n var elementBounds = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_2__.getBBox)(element),\n elementTrbl = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_4__.asTRBL)(elementBounds),\n viewboxBounds = this.viewbox(),\n zoom = this.zoom(),\n dx, dy;\n\n // Shrink viewboxBounds with padding\n viewboxBounds.y += padding.top / zoom;\n viewboxBounds.x += padding.left / zoom;\n viewboxBounds.width -= (padding.right + padding.left) / zoom;\n viewboxBounds.height -= (padding.bottom + padding.top) / zoom;\n\n var viewboxTrbl = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_4__.asTRBL)(viewboxBounds);\n\n var canFit = elementBounds.width < viewboxBounds.width && elementBounds.height < viewboxBounds.height;\n\n if (!canFit) {\n\n // top-left when element can't fit\n dx = elementBounds.x - viewboxBounds.x;\n dy = elementBounds.y - viewboxBounds.y;\n\n } else {\n\n var dRight = Math.max(0, elementTrbl.right - viewboxTrbl.right),\n dLeft = Math.min(0, elementTrbl.left - viewboxTrbl.left),\n dBottom = Math.max(0, elementTrbl.bottom - viewboxTrbl.bottom),\n dTop = Math.min(0, elementTrbl.top - viewboxTrbl.top);\n\n dx = dRight || dLeft;\n dy = dBottom || dTop;\n\n }\n\n this.scroll({ dx: -dx * zoom, dy: -dy * zoom });\n};\n\n/**\n * Gets or sets the current zoom of the canvas, optionally zooming\n * to the specified position.\n *\n * The getter may return a cached zoom level. Call it with `false` as\n * the first argument to force recomputation of the current level.\n *\n * @param {string|number} [newScale] the new zoom level, either a number, i.e. 0.9,\n * or `fit-viewport` to adjust the size to fit the current viewport\n * @param {string|Point} [center] the reference point { x: .., y: ..} to zoom to, 'auto' to zoom into mid or null\n *\n * @return {number} the current scale\n */\nCanvas.prototype.zoom = function(newScale, center) {\n\n if (!newScale) {\n return this.viewbox(newScale).scale;\n }\n\n if (newScale === 'fit-viewport') {\n return this._fitViewport(center);\n }\n\n var outer,\n matrix;\n\n this._changeViewbox(function() {\n\n if (typeof center !== 'object') {\n outer = this.viewbox().outer;\n\n center = {\n x: outer.width / 2,\n y: outer.height / 2\n };\n }\n\n matrix = this._setZoom(newScale, center);\n });\n\n return round(matrix.a, 1000);\n};\n\nfunction setCTM(node, m) {\n var mstr = 'matrix(' + m.a + ',' + m.b + ',' + m.c + ',' + m.d + ',' + m.e + ',' + m.f + ')';\n node.setAttribute('transform', mstr);\n}\n\nCanvas.prototype._fitViewport = function(center) {\n\n var vbox = this.viewbox(),\n outer = vbox.outer,\n inner = vbox.inner,\n newScale,\n newViewbox;\n\n // display the complete diagram without zooming in.\n // instead of relying on internal zoom, we perform a\n // hard reset on the canvas viewbox to realize this\n //\n // if diagram does not need to be zoomed in, we focus it around\n // the diagram origin instead\n\n if (inner.x >= 0 &&\n inner.y >= 0 &&\n inner.x + inner.width <= outer.width &&\n inner.y + inner.height <= outer.height &&\n !center) {\n\n newViewbox = {\n x: 0,\n y: 0,\n width: Math.max(inner.width + inner.x, outer.width),\n height: Math.max(inner.height + inner.y, outer.height)\n };\n } else {\n\n newScale = Math.min(1, outer.width / inner.width, outer.height / inner.height);\n newViewbox = {\n x: inner.x + (center ? inner.width / 2 - outer.width / newScale / 2 : 0),\n y: inner.y + (center ? inner.height / 2 - outer.height / newScale / 2 : 0),\n width: outer.width / newScale,\n height: outer.height / newScale\n };\n }\n\n this.viewbox(newViewbox);\n\n return this.viewbox(false).scale;\n};\n\n\nCanvas.prototype._setZoom = function(scale, center) {\n\n var svg = this._svg,\n viewport = this._viewport;\n\n var matrix = svg.createSVGMatrix();\n var point = svg.createSVGPoint();\n\n var centerPoint,\n originalPoint,\n currentMatrix,\n scaleMatrix,\n newMatrix;\n\n currentMatrix = viewport.getCTM();\n\n var currentScale = currentMatrix.a;\n\n if (center) {\n centerPoint = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(point, center);\n\n // revert applied viewport transformations\n originalPoint = centerPoint.matrixTransform(currentMatrix.inverse());\n\n // create scale matrix\n scaleMatrix = matrix\n .translate(originalPoint.x, originalPoint.y)\n .scale(1 / currentScale * scale)\n .translate(-originalPoint.x, -originalPoint.y);\n\n newMatrix = currentMatrix.multiply(scaleMatrix);\n } else {\n newMatrix = matrix.scale(scale);\n }\n\n setCTM(this._viewport, newMatrix);\n\n return newMatrix;\n};\n\n\n/**\n * Returns the size of the canvas\n *\n * @return {Dimensions}\n */\nCanvas.prototype.getSize = function() {\n return {\n width: this._container.clientWidth,\n height: this._container.clientHeight\n };\n};\n\n\n/**\n * Return the absolute bounding box for the given element\n *\n * The absolute bounding box may be used to display overlays in the\n * callers (browser) coordinate system rather than the zoomed in/out\n * canvas coordinates.\n *\n * @param {ElementDescriptor} element\n * @return {Bounds} the absolute bounding box\n */\nCanvas.prototype.getAbsoluteBBox = function(element) {\n var vbox = this.viewbox();\n var bbox;\n\n // connection\n // use svg bbox\n if (element.waypoints) {\n var gfx = this.getGraphics(element);\n\n bbox = gfx.getBBox();\n }\n\n // shapes\n // use data\n else {\n bbox = element;\n }\n\n var x = bbox.x * vbox.scale - vbox.x * vbox.scale;\n var y = bbox.y * vbox.scale - vbox.y * vbox.scale;\n\n var width = bbox.width * vbox.scale;\n var height = bbox.height * vbox.scale;\n\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n};\n\n/**\n * Fires an event in order other modules can react to the\n * canvas resizing\n */\nCanvas.prototype.resized = function() {\n\n // force recomputation of view box\n delete this._cachedViewbox;\n\n this._eventBus.fire('canvas.resized');\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/core/Canvas.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/core/ElementFactory.js":
/*!************************************************************!*\
!*** ./node_modules/diagram-js/lib/core/ElementFactory.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ElementFactory)\n/* harmony export */ });\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../model */ \"./node_modules/diagram-js/lib/model/index.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n/**\n * A factory for diagram-js shapes\n */\nfunction ElementFactory() {\n this._uid = 12;\n}\n\n\nElementFactory.prototype.createRoot = function(attrs) {\n return this.create('root', attrs);\n};\n\nElementFactory.prototype.createLabel = function(attrs) {\n return this.create('label', attrs);\n};\n\nElementFactory.prototype.createShape = function(attrs) {\n return this.create('shape', attrs);\n};\n\nElementFactory.prototype.createConnection = function(attrs) {\n return this.create('connection', attrs);\n};\n\n/**\n * Create a model element with the given type and\n * a number of pre-set attributes.\n *\n * @param {string} type\n * @param {Object} attrs\n * @return {djs.model.Base} the newly created model instance\n */\nElementFactory.prototype.create = function(type, attrs) {\n\n attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, attrs || {});\n\n if (!attrs.id) {\n attrs.id = type + '_' + (this._uid++);\n }\n\n return (0,_model__WEBPACK_IMPORTED_MODULE_1__.create)(type, attrs);\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/core/ElementFactory.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/core/ElementRegistry.js":
/*!*************************************************************!*\
!*** ./node_modules/diagram-js/lib/core/ElementRegistry.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ElementRegistry)\n/* harmony export */ });\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\nvar ELEMENT_ID = 'data-element-id';\n\n\n\n\n/**\n * @class\n *\n * A registry that keeps track of all shapes in the diagram.\n */\nfunction ElementRegistry(eventBus) {\n this._elements = {};\n\n this._eventBus = eventBus;\n}\n\nElementRegistry.$inject = [ 'eventBus' ];\n\n/**\n * Register a pair of (element, gfx, (secondaryGfx)).\n *\n * @param {djs.model.Base} element\n * @param {SVGElement} gfx\n * @param {SVGElement} [secondaryGfx] optional other element to register, too\n */\nElementRegistry.prototype.add = function(element, gfx, secondaryGfx) {\n\n var id = element.id;\n\n this._validateId(id);\n\n // associate dom node with element\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(gfx, ELEMENT_ID, id);\n\n if (secondaryGfx) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(secondaryGfx, ELEMENT_ID, id);\n }\n\n this._elements[id] = { element: element, gfx: gfx, secondaryGfx: secondaryGfx };\n};\n\n/**\n * Removes an element from the registry.\n *\n * @param {djs.model.Base} element\n */\nElementRegistry.prototype.remove = function(element) {\n var elements = this._elements,\n id = element.id || element,\n container = id && elements[id];\n\n if (container) {\n\n // unset element id on gfx\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(container.gfx, ELEMENT_ID, '');\n\n if (container.secondaryGfx) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(container.secondaryGfx, ELEMENT_ID, '');\n }\n\n delete elements[id];\n }\n};\n\n/**\n * Update the id of an element\n *\n * @param {djs.model.Base} element\n * @param {string} newId\n */\nElementRegistry.prototype.updateId = function(element, newId) {\n\n this._validateId(newId);\n\n if (typeof element === 'string') {\n element = this.get(element);\n }\n\n this._eventBus.fire('element.updateId', {\n element: element,\n newId: newId\n });\n\n var gfx = this.getGraphics(element),\n secondaryGfx = this.getGraphics(element, true);\n\n this.remove(element);\n\n element.id = newId;\n\n this.add(element, gfx, secondaryGfx);\n};\n\n/**\n * Return the model element for a given id or graphics.\n *\n * @example\n *\n * elementRegistry.get('SomeElementId_1');\n * elementRegistry.get(gfx);\n *\n *\n * @param {string|SVGElement} filter for selecting the element\n *\n * @return {djs.model.Base}\n */\nElementRegistry.prototype.get = function(filter) {\n var id;\n\n if (typeof filter === 'string') {\n id = filter;\n } else {\n id = filter && (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(filter, ELEMENT_ID);\n }\n\n var container = this._elements[id];\n return container && container.element;\n};\n\n/**\n * Return all elements that match a given filter function.\n *\n * @param {Function} fn\n *\n * @return {Array
}\n */\nElementRegistry.prototype.filter = function(fn) {\n\n var filtered = [];\n\n this.forEach(function(element, gfx) {\n if (fn(element, gfx)) {\n filtered.push(element);\n }\n });\n\n return filtered;\n};\n\n/**\n * Return the first element that satisfies the provided testing function.\n *\n * @param {Function} fn\n *\n * @return {djs.model.Base}\n */\nElementRegistry.prototype.find = function(fn) {\n var map = this._elements,\n keys = Object.keys(map);\n\n for (var i = 0; i < keys.length; i++) {\n var id = keys[i],\n container = map[id],\n element = container.element,\n gfx = container.gfx;\n\n if (fn(element, gfx)) {\n return element;\n }\n }\n};\n\n/**\n * Return all rendered model elements.\n *\n * @return {Array}\n */\nElementRegistry.prototype.getAll = function() {\n return this.filter(function(e) { return e; });\n};\n\n/**\n * Iterate over all diagram elements.\n *\n * @param {Function} fn\n */\nElementRegistry.prototype.forEach = function(fn) {\n\n var map = this._elements;\n\n Object.keys(map).forEach(function(id) {\n var container = map[id],\n element = container.element,\n gfx = container.gfx;\n\n return fn(element, gfx);\n });\n};\n\n/**\n * Return the graphical representation of an element or its id.\n *\n * @example\n * elementRegistry.getGraphics('SomeElementId_1');\n * elementRegistry.getGraphics(rootElement); // \n *\n * elementRegistry.getGraphics(rootElement, true); // \n *\n *\n * @param {string|djs.model.Base} filter\n * @param {boolean} [secondary=false] whether to return the secondary connected element\n *\n * @return {SVGElement}\n */\nElementRegistry.prototype.getGraphics = function(filter, secondary) {\n var id = filter.id || filter;\n\n var container = this._elements[id];\n return container && (secondary ? container.secondaryGfx : container.gfx);\n};\n\n/**\n * Validate the suitability of the given id and signals a problem\n * with an exception.\n *\n * @param {string} id\n *\n * @throws {Error} if id is empty or already assigned\n */\nElementRegistry.prototype._validateId = function(id) {\n if (!id) {\n throw new Error('element must have an id');\n }\n\n if (this._elements[id]) {\n throw new Error('element with id ' + id + ' already added');\n }\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/core/ElementRegistry.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/core/EventBus.js":
/*!******************************************************!*\
!*** ./node_modules/diagram-js/lib/core/EventBus.js ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ EventBus)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\nvar FN_REF = '__fn';\n\nvar DEFAULT_PRIORITY = 1000;\n\nvar slice = Array.prototype.slice;\n\n/**\n * A general purpose event bus.\n *\n * This component is used to communicate across a diagram instance.\n * Other parts of a diagram can use it to listen to and broadcast events.\n *\n *\n * ## Registering for Events\n *\n * The event bus provides the {@link EventBus#on} and {@link EventBus#once}\n * methods to register for events. {@link EventBus#off} can be used to\n * remove event registrations. Listeners receive an instance of {@link Event}\n * as the first argument. It allows them to hook into the event execution.\n *\n * ```javascript\n *\n * // listen for event\n * eventBus.on('foo', function(event) {\n *\n * // access event type\n * event.type; // 'foo'\n *\n * // stop propagation to other listeners\n * event.stopPropagation();\n *\n * // prevent event default\n * event.preventDefault();\n * });\n *\n * // listen for event with custom payload\n * eventBus.on('bar', function(event, payload) {\n * console.log(payload);\n * });\n *\n * // listen for event returning value\n * eventBus.on('foobar', function(event) {\n *\n * // stop event propagation + prevent default\n * return false;\n *\n * // stop event propagation + return custom result\n * return {\n * complex: 'listening result'\n * };\n * });\n *\n *\n * // listen with custom priority (default=1000, higher is better)\n * eventBus.on('priorityfoo', 1500, function(event) {\n * console.log('invoked first!');\n * });\n *\n *\n * // listen for event and pass the context (`this`)\n * eventBus.on('foobar', function(event) {\n * this.foo();\n * }, this);\n * ```\n *\n *\n * ## Emitting Events\n *\n * Events can be emitted via the event bus using {@link EventBus#fire}.\n *\n * ```javascript\n *\n * // false indicates that the default action\n * // was prevented by listeners\n * if (eventBus.fire('foo') === false) {\n * console.log('default has been prevented!');\n * };\n *\n *\n * // custom args + return value listener\n * eventBus.on('sum', function(event, a, b) {\n * return a + b;\n * });\n *\n * // you can pass custom arguments + retrieve result values.\n * var sum = eventBus.fire('sum', 1, 2);\n * console.log(sum); // 3\n * ```\n */\nfunction EventBus() {\n this._listeners = {};\n\n // cleanup on destroy on lowest priority to allow\n // message passing until the bitter end\n this.on('diagram.destroy', 1, this._destroy, this);\n}\n\n\n/**\n * Register an event listener for events with the given name.\n *\n * The callback will be invoked with `event, ...additionalArguments`\n * that have been passed to {@link EventBus#fire}.\n *\n * Returning false from a listener will prevent the events default action\n * (if any is specified). To stop an event from being processed further in\n * other listeners execute {@link Event#stopPropagation}.\n *\n * Returning anything but `undefined` from a listener will stop the listener propagation.\n *\n * @param {string|Array} events\n * @param {number} [priority=1000] the priority in which this listener is called, larger is higher\n * @param {Function} callback\n * @param {Object} [that] Pass context (`this`) to the callback\n */\nEventBus.prototype.on = function(events, priority, callback, that) {\n\n events = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(events) ? events : [ events ];\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(priority)) {\n that = callback;\n callback = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(priority)) {\n throw new Error('priority must be a number');\n }\n\n var actualCallback = callback;\n\n if (that) {\n actualCallback = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.bind)(callback, that);\n\n // make sure we remember and are able to remove\n // bound callbacks via {@link #off} using the original\n // callback\n actualCallback[FN_REF] = callback[FN_REF] || callback;\n }\n\n var self = this;\n\n events.forEach(function(e) {\n self._addListener(e, {\n priority: priority,\n callback: actualCallback,\n next: null\n });\n });\n};\n\n\n/**\n * Register an event listener that is executed only once.\n *\n * @param {string} event the event name to register for\n * @param {number} [priority=1000] the priority in which this listener is called, larger is higher\n * @param {Function} callback the callback to execute\n * @param {Object} [that] Pass context (`this`) to the callback\n */\nEventBus.prototype.once = function(event, priority, callback, that) {\n var self = this;\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(priority)) {\n that = callback;\n callback = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(priority)) {\n throw new Error('priority must be a number');\n }\n\n function wrappedCallback() {\n wrappedCallback.__isTomb = true;\n\n var result = callback.apply(that, arguments);\n\n self.off(event, wrappedCallback);\n\n return result;\n }\n\n // make sure we remember and are able to remove\n // bound callbacks via {@link #off} using the original\n // callback\n wrappedCallback[FN_REF] = callback;\n\n this.on(event, priority, wrappedCallback);\n};\n\n\n/**\n * Removes event listeners by event and callback.\n *\n * If no callback is given, all listeners for a given event name are being removed.\n *\n * @param {string|Array} events\n * @param {Function} [callback]\n */\nEventBus.prototype.off = function(events, callback) {\n\n events = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(events) ? events : [ events ];\n\n var self = this;\n\n events.forEach(function(event) {\n self._removeListener(event, callback);\n });\n\n};\n\n\n/**\n * Create an EventBus event.\n *\n * @param {Object} data\n *\n * @return {Object} event, recognized by the eventBus\n */\nEventBus.prototype.createEvent = function(data) {\n var event = new InternalEvent();\n\n event.init(data);\n\n return event;\n};\n\n\n/**\n * Fires a named event.\n *\n * @example\n *\n * // fire event by name\n * events.fire('foo');\n *\n * // fire event object with nested type\n * var event = { type: 'foo' };\n * events.fire(event);\n *\n * // fire event with explicit type\n * var event = { x: 10, y: 20 };\n * events.fire('element.moved', event);\n *\n * // pass additional arguments to the event\n * events.on('foo', function(event, bar) {\n * alert(bar);\n * });\n *\n * events.fire({ type: 'foo' }, 'I am bar!');\n *\n * @param {string} [name] the optional event name\n * @param {Object} [event] the event object\n * @param {...Object} additional arguments to be passed to the callback functions\n *\n * @return {boolean} the events return value, if specified or false if the\n * default action was prevented by listeners\n */\nEventBus.prototype.fire = function(type, data) {\n var event,\n firstListener,\n returnValue,\n args;\n\n args = slice.call(arguments);\n\n if (typeof type === 'object') {\n data = type;\n type = data.type;\n }\n\n if (!type) {\n throw new Error('no event type specified');\n }\n\n firstListener = this._listeners[type];\n\n if (!firstListener) {\n return;\n }\n\n // we make sure we fire instances of our home made\n // events here. We wrap them only once, though\n if (data instanceof InternalEvent) {\n\n // we are fine, we alread have an event\n event = data;\n } else {\n event = this.createEvent(data);\n }\n\n // ensure we pass the event as the first parameter\n args[0] = event;\n\n // original event type (in case we delegate)\n var originalType = event.type;\n\n // update event type before delegation\n if (type !== originalType) {\n event.type = type;\n }\n\n try {\n returnValue = this._invokeListeners(event, args, firstListener);\n } finally {\n\n // reset event type after delegation\n if (type !== originalType) {\n event.type = originalType;\n }\n }\n\n // set the return value to false if the event default\n // got prevented and no other return value exists\n if (returnValue === undefined && event.defaultPrevented) {\n returnValue = false;\n }\n\n return returnValue;\n};\n\n\nEventBus.prototype.handleError = function(error) {\n return this.fire('error', { error: error }) === false;\n};\n\n\nEventBus.prototype._destroy = function() {\n this._listeners = {};\n};\n\nEventBus.prototype._invokeListeners = function(event, args, listener) {\n\n var returnValue;\n\n while (listener) {\n\n // handle stopped propagation\n if (event.cancelBubble) {\n break;\n }\n\n returnValue = this._invokeListener(event, args, listener);\n\n listener = listener.next;\n }\n\n return returnValue;\n};\n\nEventBus.prototype._invokeListener = function(event, args, listener) {\n\n var returnValue;\n\n if (listener.callback.__isTomb) {\n return returnValue;\n }\n\n try {\n\n // returning false prevents the default action\n returnValue = invokeFunction(listener.callback, args);\n\n // stop propagation on return value\n if (returnValue !== undefined) {\n event.returnValue = returnValue;\n event.stopPropagation();\n }\n\n // prevent default on return false\n if (returnValue === false) {\n event.preventDefault();\n }\n } catch (e) {\n if (!this.handleError(e)) {\n console.error('unhandled error in event listener');\n console.error(e.stack);\n\n throw e;\n }\n }\n\n return returnValue;\n};\n\n/*\n * Add new listener with a certain priority to the list\n * of listeners (for the given event).\n *\n * The semantics of listener registration / listener execution are\n * first register, first serve: New listeners will always be inserted\n * after existing listeners with the same priority.\n *\n * Example: Inserting two listeners with priority 1000 and 1300\n *\n * * before: [ 1500, 1500, 1000, 1000 ]\n * * after: [ 1500, 1500, (new=1300), 1000, 1000, (new=1000) ]\n *\n * @param {string} event\n * @param {Object} listener { priority, callback }\n */\nEventBus.prototype._addListener = function(event, newListener) {\n\n var listener = this._getListeners(event),\n previousListener;\n\n // no prior listeners\n if (!listener) {\n this._setListeners(event, newListener);\n\n return;\n }\n\n // ensure we order listeners by priority from\n // 0 (high) to n > 0 (low)\n while (listener) {\n\n if (listener.priority < newListener.priority) {\n\n newListener.next = listener;\n\n if (previousListener) {\n previousListener.next = newListener;\n } else {\n this._setListeners(event, newListener);\n }\n\n return;\n }\n\n previousListener = listener;\n listener = listener.next;\n }\n\n // add new listener to back\n previousListener.next = newListener;\n};\n\n\nEventBus.prototype._getListeners = function(name) {\n return this._listeners[name];\n};\n\nEventBus.prototype._setListeners = function(name, listener) {\n this._listeners[name] = listener;\n};\n\nEventBus.prototype._removeListener = function(event, callback) {\n\n var listener = this._getListeners(event),\n nextListener,\n previousListener,\n listenerCallback;\n\n if (!callback) {\n\n // clear listeners\n this._setListeners(event, null);\n\n return;\n }\n\n while (listener) {\n\n nextListener = listener.next;\n\n listenerCallback = listener.callback;\n\n if (listenerCallback === callback || listenerCallback[FN_REF] === callback) {\n if (previousListener) {\n previousListener.next = nextListener;\n } else {\n\n // new first listener\n this._setListeners(event, nextListener);\n }\n }\n\n previousListener = listener;\n listener = nextListener;\n }\n};\n\n/**\n * A event that is emitted via the event bus.\n */\nfunction InternalEvent() { }\n\nInternalEvent.prototype.stopPropagation = function() {\n this.cancelBubble = true;\n};\n\nInternalEvent.prototype.preventDefault = function() {\n this.defaultPrevented = true;\n};\n\nInternalEvent.prototype.init = function(data) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(this, data || {});\n};\n\n\n/**\n * Invoke function. Be fast...\n *\n * @param {Function} fn\n * @param {Array} args\n *\n * @return {Any}\n */\nfunction invokeFunction(fn, args) {\n return fn.apply(null, args);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/core/EventBus.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/core/GraphicsFactory.js":
/*!*************************************************************!*\
!*** ./node_modules/diagram-js/lib/core/GraphicsFactory.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ GraphicsFactory)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_GraphicsUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/GraphicsUtil */ \"./node_modules/diagram-js/lib/util/GraphicsUtil.js\");\n/* harmony import */ var _util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A factory that creates graphical elements\n *\n * @param {EventBus} eventBus\n * @param {ElementRegistry} elementRegistry\n */\nfunction GraphicsFactory(eventBus, elementRegistry) {\n this._eventBus = eventBus;\n this._elementRegistry = elementRegistry;\n}\n\nGraphicsFactory.$inject = [ 'eventBus' , 'elementRegistry' ];\n\n\nGraphicsFactory.prototype._getChildrenContainer = function(element) {\n\n var gfx = this._elementRegistry.getGraphics(element);\n\n var childrenGfx;\n\n // root element\n if (!element.parent) {\n childrenGfx = gfx;\n } else {\n childrenGfx = (0,_util_GraphicsUtil__WEBPACK_IMPORTED_MODULE_0__.getChildren)(gfx);\n if (!childrenGfx) {\n childrenGfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.create)('g');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(childrenGfx).add('djs-children');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.append)(gfx.parentNode, childrenGfx);\n }\n }\n\n return childrenGfx;\n};\n\n/**\n * Clears the graphical representation of the element and returns the\n * cleared visual (the element).\n */\nGraphicsFactory.prototype._clear = function(gfx) {\n var visual = (0,_util_GraphicsUtil__WEBPACK_IMPORTED_MODULE_0__.getVisual)(gfx);\n\n (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.clear)(visual);\n\n return visual;\n};\n\n/**\n * Creates a gfx container for shapes and connections\n *\n * The layout is as follows:\n *\n * \n *\n * \n * \n * \n * \n * \n *\n * \n * \n * \n *\n * @param {string} type the type of the element, i.e. shape | connection\n * @param {SVGElement} [childrenGfx]\n * @param {number} [parentIndex] position to create container in parent\n * @param {boolean} [isFrame] is frame element\n *\n * @return {SVGElement}\n */\nGraphicsFactory.prototype._createContainer = function(\n type, childrenGfx, parentIndex, isFrame\n) {\n var outerGfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.create)('g');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(outerGfx).add('djs-group');\n\n // insert node at position\n if (typeof parentIndex !== 'undefined') {\n prependTo(outerGfx, childrenGfx, childrenGfx.childNodes[parentIndex]);\n } else {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.append)(childrenGfx, outerGfx);\n }\n\n var gfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.create)('g');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(gfx).add('djs-element');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(gfx).add('djs-' + type);\n\n if (isFrame) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(gfx).add('djs-frame');\n }\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.append)(outerGfx, gfx);\n\n // create visual\n var visual = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.create)('g');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(visual).add('djs-visual');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.append)(gfx, visual);\n\n return gfx;\n};\n\nGraphicsFactory.prototype.create = function(type, element, parentIndex) {\n var childrenGfx = this._getChildrenContainer(element.parent);\n return this._createContainer(type, childrenGfx, parentIndex, (0,_util_Elements__WEBPACK_IMPORTED_MODULE_3__.isFrameElement)(element));\n};\n\nGraphicsFactory.prototype.updateContainments = function(elements) {\n\n var self = this,\n elementRegistry = this._elementRegistry,\n parents;\n\n parents = (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.reduce)(elements, function(map, e) {\n\n if (e.parent) {\n map[e.parent.id] = e.parent;\n }\n\n return map;\n }, {});\n\n // update all parents of changed and reorganized their children\n // in the correct order (as indicated in our model)\n (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.forEach)(parents, function(parent) {\n\n var children = parent.children;\n\n if (!children) {\n return;\n }\n\n var childrenGfx = self._getChildrenContainer(parent);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.forEach)(children.slice().reverse(), function(child) {\n var childGfx = elementRegistry.getGraphics(child);\n\n prependTo(childGfx.parentNode, childrenGfx);\n });\n });\n};\n\nGraphicsFactory.prototype.drawShape = function(visual, element) {\n var eventBus = this._eventBus;\n\n return eventBus.fire('render.shape', { gfx: visual, element: element });\n};\n\nGraphicsFactory.prototype.getShapePath = function(element) {\n var eventBus = this._eventBus;\n\n return eventBus.fire('render.getShapePath', element);\n};\n\nGraphicsFactory.prototype.drawConnection = function(visual, element) {\n var eventBus = this._eventBus;\n\n return eventBus.fire('render.connection', { gfx: visual, element: element });\n};\n\nGraphicsFactory.prototype.getConnectionPath = function(waypoints) {\n var eventBus = this._eventBus;\n\n return eventBus.fire('render.getConnectionPath', waypoints);\n};\n\nGraphicsFactory.prototype.update = function(type, element, gfx) {\n\n // do NOT update root element\n if (!element.parent) {\n return;\n }\n\n var visual = this._clear(gfx);\n\n // redraw\n if (type === 'shape') {\n this.drawShape(visual, element);\n\n // update positioning\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_5__.translate)(gfx, element.x, element.y);\n } else\n if (type === 'connection') {\n this.drawConnection(visual, element);\n } else {\n throw new Error('unknown type: ' + type);\n }\n\n if (element.hidden) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.attr)(gfx, 'display', 'none');\n } else {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.attr)(gfx, 'display', 'block');\n }\n};\n\nGraphicsFactory.prototype.remove = function(element) {\n var gfx = this._elementRegistry.getGraphics(element);\n\n // remove\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.remove)(gfx.parentNode);\n};\n\n\n// helpers //////////\n\nfunction prependTo(newNode, parentNode, siblingNode) {\n var node = siblingNode || parentNode.firstChild;\n\n // do not prepend node to itself to prevent IE from crashing\n // https://github.com/bpmn-io/bpmn-js/issues/746\n if (newNode === node) {\n return;\n }\n\n parentNode.insertBefore(newNode, node);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/core/GraphicsFactory.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/core/index.js":
/*!***************************************************!*\
!*** ./node_modules/diagram-js/lib/core/index.js ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _draw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../draw */ \"./node_modules/diagram-js/lib/draw/index.js\");\n/* harmony import */ var _Canvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Canvas */ \"./node_modules/diagram-js/lib/core/Canvas.js\");\n/* harmony import */ var _ElementRegistry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ElementRegistry */ \"./node_modules/diagram-js/lib/core/ElementRegistry.js\");\n/* harmony import */ var _ElementFactory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ElementFactory */ \"./node_modules/diagram-js/lib/core/ElementFactory.js\");\n/* harmony import */ var _EventBus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EventBus */ \"./node_modules/diagram-js/lib/core/EventBus.js\");\n/* harmony import */ var _GraphicsFactory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./GraphicsFactory */ \"./node_modules/diagram-js/lib/core/GraphicsFactory.js\");\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [ _draw__WEBPACK_IMPORTED_MODULE_0__.default ],\n __init__: [ 'canvas' ],\n canvas: [ 'type', _Canvas__WEBPACK_IMPORTED_MODULE_1__.default ],\n elementRegistry: [ 'type', _ElementRegistry__WEBPACK_IMPORTED_MODULE_2__.default ],\n elementFactory: [ 'type', _ElementFactory__WEBPACK_IMPORTED_MODULE_3__.default ],\n eventBus: [ 'type', _EventBus__WEBPACK_IMPORTED_MODULE_4__.default ],\n graphicsFactory: [ 'type', _GraphicsFactory__WEBPACK_IMPORTED_MODULE_5__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/core/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/draw/BaseRenderer.js":
/*!**********************************************************!*\
!*** ./node_modules/diagram-js/lib/draw/BaseRenderer.js ***!
\**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BaseRenderer)\n/* harmony export */ });\nvar DEFAULT_RENDER_PRIORITY = 1000;\n\n/**\n * The base implementation of shape and connection renderers.\n *\n * @param {EventBus} eventBus\n * @param {number} [renderPriority=1000]\n */\nfunction BaseRenderer(eventBus, renderPriority) {\n var self = this;\n\n renderPriority = renderPriority || DEFAULT_RENDER_PRIORITY;\n\n eventBus.on([ 'render.shape', 'render.connection' ], renderPriority, function(evt, context) {\n var type = evt.type,\n element = context.element,\n visuals = context.gfx;\n\n if (self.canRender(element)) {\n if (type === 'render.shape') {\n return self.drawShape(visuals, element);\n } else {\n return self.drawConnection(visuals, element);\n }\n }\n });\n\n eventBus.on([ 'render.getShapePath', 'render.getConnectionPath'], renderPriority, function(evt, element) {\n if (self.canRender(element)) {\n if (evt.type === 'render.getShapePath') {\n return self.getShapePath(element);\n } else {\n return self.getConnectionPath(element);\n }\n }\n });\n}\n\n/**\n * Should check whether *this* renderer can render\n * the element/connection.\n *\n * @param {element} element\n *\n * @returns {boolean}\n */\nBaseRenderer.prototype.canRender = function() {};\n\n/**\n * Provides the shape's snap svg element to be drawn on the `canvas`.\n *\n * @param {djs.Graphics} visuals\n * @param {Shape} shape\n *\n * @returns {Snap.svg} [returns a Snap.svg paper element ]\n */\nBaseRenderer.prototype.drawShape = function() {};\n\n/**\n * Provides the shape's snap svg element to be drawn on the `canvas`.\n *\n * @param {djs.Graphics} visuals\n * @param {Connection} connection\n *\n * @returns {Snap.svg} [returns a Snap.svg paper element ]\n */\nBaseRenderer.prototype.drawConnection = function() {};\n\n/**\n * Gets the SVG path of a shape that represents it's visual bounds.\n *\n * @param {Shape} shape\n *\n * @return {string} svg path\n */\nBaseRenderer.prototype.getShapePath = function() {};\n\n/**\n * Gets the SVG path of a connection that represents it's visual bounds.\n *\n * @param {Connection} connection\n *\n * @return {string} svg path\n */\nBaseRenderer.prototype.getConnectionPath = function() {};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/draw/BaseRenderer.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/draw/DefaultRenderer.js":
/*!*************************************************************!*\
!*** ./node_modules/diagram-js/lib/draw/DefaultRenderer.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DefaultRenderer)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _BaseRenderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseRenderer */ \"./node_modules/diagram-js/lib/draw/BaseRenderer.js\");\n/* harmony import */ var _util_RenderUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/RenderUtil */ \"./node_modules/diagram-js/lib/util/RenderUtil.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\n\n\n\n\n\n\n\n\n\n// apply default renderer with lowest possible priority\n// so that it only kicks in if noone else could render\nvar DEFAULT_RENDER_PRIORITY = 1;\n\n/**\n * The default renderer used for shapes and connections.\n *\n * @param {EventBus} eventBus\n * @param {Styles} styles\n */\nfunction DefaultRenderer(eventBus, styles) {\n\n //\n _BaseRenderer__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus, DEFAULT_RENDER_PRIORITY);\n\n this.CONNECTION_STYLE = styles.style([ 'no-fill' ], { strokeWidth: 5, stroke: 'fuchsia' });\n this.SHAPE_STYLE = styles.style({ fill: 'white', stroke: 'fuchsia', strokeWidth: 2 });\n this.FRAME_STYLE = styles.style([ 'no-fill' ], { stroke: 'fuchsia', strokeDasharray: 4, strokeWidth: 2 });\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(DefaultRenderer, _BaseRenderer__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\nDefaultRenderer.prototype.canRender = function() {\n return true;\n};\n\nDefaultRenderer.prototype.drawShape = function drawShape(visuals, element) {\n var rect = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('rect');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(rect, {\n x: 0,\n y: 0,\n width: element.width || 0,\n height: element.height || 0\n });\n\n if ((0,_util_Elements__WEBPACK_IMPORTED_MODULE_3__.isFrameElement)(element)) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(rect, this.FRAME_STYLE);\n } else {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(rect, this.SHAPE_STYLE);\n }\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(visuals, rect);\n\n return rect;\n};\n\nDefaultRenderer.prototype.drawConnection = function drawConnection(visuals, connection) {\n\n var line = (0,_util_RenderUtil__WEBPACK_IMPORTED_MODULE_4__.createLine)(connection.waypoints, this.CONNECTION_STYLE);\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(visuals, line);\n\n return line;\n};\n\nDefaultRenderer.prototype.getShapePath = function getShapePath(shape) {\n\n var x = shape.x,\n y = shape.y,\n width = shape.width,\n height = shape.height;\n\n var shapePath = [\n ['M', x, y],\n ['l', width, 0],\n ['l', 0, height],\n ['l', -width, 0],\n ['z']\n ];\n\n return (0,_util_RenderUtil__WEBPACK_IMPORTED_MODULE_4__.componentsToPath)(shapePath);\n};\n\nDefaultRenderer.prototype.getConnectionPath = function getConnectionPath(connection) {\n var waypoints = connection.waypoints;\n\n var idx, point, connectionPath = [];\n\n for (idx = 0; (point = waypoints[idx]); idx++) {\n\n // take invisible docking into account\n // when creating the path\n point = point.original || point;\n\n connectionPath.push([ idx === 0 ? 'M' : 'L', point.x, point.y ]);\n }\n\n return (0,_util_RenderUtil__WEBPACK_IMPORTED_MODULE_4__.componentsToPath)(connectionPath);\n};\n\n\nDefaultRenderer.$inject = [ 'eventBus', 'styles' ];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/draw/DefaultRenderer.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/draw/Styles.js":
/*!****************************************************!*\
!*** ./node_modules/diagram-js/lib/draw/Styles.js ***!
\****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Styles)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n/**\n * A component that manages shape styles\n */\nfunction Styles() {\n\n var defaultTraits = {\n\n 'no-fill': {\n fill: 'none'\n },\n 'no-border': {\n strokeOpacity: 0.0\n },\n 'no-events': {\n pointerEvents: 'none'\n }\n };\n\n var self = this;\n\n /**\n * Builds a style definition from a className, a list of traits and an object of additional attributes.\n *\n * @param {string} className\n * @param {Array} traits\n * @param {Object} additionalAttrs\n *\n * @return {Object} the style defintion\n */\n this.cls = function(className, traits, additionalAttrs) {\n var attrs = this.style(traits, additionalAttrs);\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(attrs, { 'class': className });\n };\n\n /**\n * Builds a style definition from a list of traits and an object of additional attributes.\n *\n * @param {Array} traits\n * @param {Object} additionalAttrs\n *\n * @return {Object} the style defintion\n */\n this.style = function(traits, additionalAttrs) {\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(traits) && !additionalAttrs) {\n additionalAttrs = traits;\n traits = [];\n }\n\n var attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.reduce)(traits, function(attrs, t) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(attrs, defaultTraits[t] || {});\n }, {});\n\n return additionalAttrs ? (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(attrs, additionalAttrs) : attrs;\n };\n\n this.computeStyle = function(custom, traits, defaultStyles) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(traits)) {\n defaultStyles = traits;\n traits = [];\n }\n\n return self.style(traits || [], (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, defaultStyles, custom || {}));\n };\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/draw/Styles.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/draw/index.js":
/*!***************************************************!*\
!*** ./node_modules/diagram-js/lib/draw/index.js ***!
\***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _DefaultRenderer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DefaultRenderer */ \"./node_modules/diagram-js/lib/draw/DefaultRenderer.js\");\n/* harmony import */ var _Styles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Styles */ \"./node_modules/diagram-js/lib/draw/Styles.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'defaultRenderer' ],\n defaultRenderer: [ 'type', _DefaultRenderer__WEBPACK_IMPORTED_MODULE_0__.default ],\n styles: [ 'type', _Styles__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/draw/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/align-elements/AlignElements.js":
/*!******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/align-elements/AlignElements.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AlignElements)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\nfunction last(arr) {\n return arr && arr[arr.length - 1];\n}\n\nfunction sortTopOrMiddle(element) {\n return element.y;\n}\n\nfunction sortLeftOrCenter(element) {\n return element.x;\n}\n\n/**\n * Sorting functions for different types of alignment\n *\n * @type {Object}\n *\n * @return {Function}\n */\nvar ALIGNMENT_SORTING = {\n left: sortLeftOrCenter,\n center: sortLeftOrCenter,\n right: function(element) {\n return element.x + element.width;\n },\n top: sortTopOrMiddle,\n middle: sortTopOrMiddle,\n bottom: function(element) {\n return element.y + element.height;\n }\n};\n\n\nfunction AlignElements(modeling) {\n this._modeling = modeling;\n}\n\nAlignElements.$inject = [ 'modeling' ];\n\n\n/**\n * Get the relevant \"axis\" and \"dimension\" related to the current type of alignment\n *\n * @param {string} type left|right|center|top|bottom|middle\n *\n * @return {Object} { axis, dimension }\n */\nAlignElements.prototype._getOrientationDetails = function(type) {\n var vertical = [ 'top', 'bottom', 'middle' ],\n axis = 'x',\n dimension = 'width';\n\n if (vertical.indexOf(type) !== -1) {\n axis = 'y';\n dimension = 'height';\n }\n\n return {\n axis: axis,\n dimension: dimension\n };\n};\n\nAlignElements.prototype._isType = function(type, types) {\n return types.indexOf(type) !== -1;\n};\n\n/**\n * Get a point on the relevant axis where elements should align to\n *\n * @param {string} type left|right|center|top|bottom|middle\n * @param {Array} sortedElements\n *\n * @return {Object}\n */\nAlignElements.prototype._alignmentPosition = function(type, sortedElements) {\n var orientation = this._getOrientationDetails(type),\n axis = orientation.axis,\n dimension = orientation.dimension,\n alignment = {},\n centers = {},\n hasSharedCenters = false,\n centeredElements,\n firstElement,\n lastElement;\n\n function getMiddleOrTop(first, last) {\n return Math.round((first[axis] + last[axis] + last[dimension]) / 2);\n }\n\n if (this._isType(type, [ 'left', 'top' ])) {\n alignment[type] = sortedElements[0][axis];\n\n } else if (this._isType(type, [ 'right', 'bottom' ])) {\n lastElement = last(sortedElements);\n\n alignment[type] = lastElement[axis] + lastElement[dimension];\n\n } else if (this._isType(type, [ 'center', 'middle' ])) {\n\n // check if there is a center shared by more than one shape\n // if not, just take the middle of the range\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(sortedElements, function(element) {\n var center = element[axis] + Math.round(element[dimension] / 2);\n\n if (centers[center]) {\n centers[center].elements.push(element);\n } else {\n centers[center] = {\n elements: [ element ],\n center: center\n };\n }\n });\n\n centeredElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(centers, function(center) {\n if (center.elements.length > 1) {\n hasSharedCenters = true;\n }\n\n return center.elements.length;\n });\n\n if (hasSharedCenters) {\n alignment[type] = last(centeredElements).center;\n\n return alignment;\n }\n\n firstElement = sortedElements[0];\n\n sortedElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(sortedElements, function(element) {\n return element[axis] + element[dimension];\n });\n\n lastElement = last(sortedElements);\n\n alignment[type] = getMiddleOrTop(firstElement, lastElement);\n }\n\n return alignment;\n};\n\n/**\n * Executes the alignment of a selection of elements\n *\n * @param {Array} elements [description]\n * @param {string} type left|right|center|top|bottom|middle\n */\nAlignElements.prototype.trigger = function(elements, type) {\n var modeling = this._modeling;\n\n var filteredElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(elements, function(element) {\n return !(element.waypoints || element.host || element.labelTarget);\n });\n\n if (filteredElements.length < 2) {\n return;\n }\n\n var sortFn = ALIGNMENT_SORTING[type];\n\n var sortedElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(filteredElements, sortFn);\n\n var alignment = this._alignmentPosition(type, sortedElements);\n\n modeling.alignElements(sortedElements, alignment);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/align-elements/AlignElements.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/align-elements/index.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/align-elements/index.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _AlignElements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AlignElements */ \"./node_modules/diagram-js/lib/features/align-elements/AlignElements.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'alignElements' ],\n alignElements: [ 'type', _AlignElements__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/align-elements/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/attach-support/AttachSupport.js":
/*!******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/attach-support/AttachSupport.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AttachSupport)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Removal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/Removal */ \"./node_modules/diagram-js/lib/util/Removal.js\");\n/* harmony import */ var _util_AttachUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/AttachUtil */ \"./node_modules/diagram-js/lib/util/AttachUtil.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n\n\n\n\n\n\n\n\n\n\nvar LOW_PRIORITY = 251,\n HIGH_PRIORITY = 1401;\n\nvar MARKER_ATTACH = 'attach-ok';\n\n\n/**\n * Adds the notion of attached elements to the modeler.\n *\n * Optionally depends on `diagram-js/lib/features/move` to render\n * the attached elements during move preview.\n *\n * Optionally depends on `diagram-js/lib/features/label-support`\n * to render attached labels during move preview.\n *\n * @param {didi.Injector} injector\n * @param {EventBus} eventBus\n * @param {Canvas} canvas\n * @param {Rules} rules\n * @param {Modeling} modeling\n */\nfunction AttachSupport(injector, eventBus, canvas, rules, modeling) {\n\n _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n var movePreview = injector.get('movePreview', false);\n\n\n // remove all the attached elements from the shapes to be validated\n // add all the attached shapes to the overall list of moved shapes\n eventBus.on('shape.move.start', HIGH_PRIORITY, function(e) {\n\n var context = e.context,\n shapes = context.shapes,\n validatedShapes = context.validatedShapes;\n\n context.shapes = addAttached(shapes);\n\n context.validatedShapes = removeAttached(validatedShapes);\n });\n\n // add attachers to the visual's group\n movePreview && eventBus.on('shape.move.start', LOW_PRIORITY, function(e) {\n\n var context = e.context,\n shapes = context.shapes,\n attachers = getAttachers(shapes);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attachers, function(attacher) {\n movePreview.makeDraggable(context, attacher, true);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attacher.labels, function(label) {\n movePreview.makeDraggable(context, label, true);\n });\n });\n });\n\n // add attach-ok marker to current host\n movePreview && eventBus.on('shape.move.start', function(event) {\n var context = event.context,\n shapes = context.shapes;\n\n if (shapes.length !== 1) {\n return;\n }\n\n var shape = shapes[0];\n\n var host = shape.host;\n\n if (host) {\n canvas.addMarker(host, MARKER_ATTACH);\n\n eventBus.once([\n 'shape.move.out',\n 'shape.move.cleanup'\n ], function() {\n canvas.removeMarker(host, MARKER_ATTACH);\n });\n }\n });\n\n // add all attachers to move closure\n this.preExecuted('elements.move', HIGH_PRIORITY, function(e) {\n var context = e.context,\n closure = context.closure,\n shapes = context.shapes,\n attachers = getAttachers(shapes);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attachers, function(attacher) {\n closure.add(attacher, closure.topLevel[attacher.host.id]);\n });\n });\n\n // perform the attaching after shapes are done moving\n this.postExecuted('elements.move', function(e) {\n\n var context = e.context,\n shapes = context.shapes,\n newHost = context.newHost,\n attachers;\n\n // only single elements can be attached\n // multiply elements can be detached\n if (newHost && shapes.length !== 1) {\n return;\n }\n\n if (newHost) {\n attachers = shapes;\n } else {\n\n // find attachers moved without host\n attachers = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(shapes, function(shape) {\n var host = shape.host;\n\n return isAttacher(shape) && !includes(shapes, host);\n });\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attachers, function(attacher) {\n modeling.updateAttachment(attacher, newHost);\n });\n });\n\n // ensure invalid attachment connections are removed\n this.postExecuted('elements.move', function(e) {\n\n var shapes = e.context.shapes;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(shapes, function(shape) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(shape.attachers, function(attacher) {\n\n // remove invalid outgoing connections\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attacher.outgoing.slice(), function(connection) {\n var allowed = rules.allowed('connection.reconnect', {\n connection: connection,\n source: connection.source,\n target: connection.target\n });\n\n if (!allowed) {\n modeling.removeConnection(connection);\n }\n });\n\n // remove invalid incoming connections\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attacher.incoming.slice(), function(connection) {\n var allowed = rules.allowed('connection.reconnect', {\n connection: connection,\n source: connection.source,\n target: connection.target\n });\n\n if (!allowed) {\n modeling.removeConnection(connection);\n }\n });\n });\n });\n });\n\n this.postExecute('shape.create', function(e) {\n var context = e.context,\n shape = context.shape,\n host = context.host;\n\n if (host) {\n modeling.updateAttachment(shape, host);\n }\n });\n\n // update attachments if the host is replaced\n this.postExecute('shape.replace', function(e) {\n\n var context = e.context,\n oldShape = context.oldShape,\n newShape = context.newShape;\n\n // move the attachers to the new host\n (0,_util_Removal__WEBPACK_IMPORTED_MODULE_3__.saveClear)(oldShape.attachers, function(attacher) {\n var allowed = rules.allowed('elements.move', {\n target: newShape,\n shapes: [attacher]\n });\n\n if (allowed === 'attach') {\n modeling.updateAttachment(attacher, newShape);\n } else {\n modeling.removeShape(attacher);\n }\n });\n\n // move attachers if new host has different size\n if (newShape.attachers.length) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(newShape.attachers, function(attacher) {\n var delta = (0,_util_AttachUtil__WEBPACK_IMPORTED_MODULE_4__.getNewAttachShapeDelta)(attacher, oldShape, newShape);\n modeling.moveShape(attacher, delta, attacher.parent);\n });\n }\n\n });\n\n // move shape on host resize\n this.postExecute('shape.resize', function(event) {\n var context = event.context,\n shape = context.shape,\n oldBounds = context.oldBounds,\n newBounds = context.newBounds,\n attachers = shape.attachers,\n hints = context.hints || {};\n\n if (hints.attachSupport === false) {\n return;\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attachers, function(attacher) {\n var delta = (0,_util_AttachUtil__WEBPACK_IMPORTED_MODULE_4__.getNewAttachShapeDelta)(attacher, oldBounds, newBounds);\n\n modeling.moveShape(attacher, delta, attacher.parent);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(attacher.labels, function(label) {\n modeling.moveShape(label, delta, label.parent);\n });\n });\n });\n\n // remove attachments\n this.preExecute('shape.delete', function(event) {\n\n var shape = event.context.shape;\n\n (0,_util_Removal__WEBPACK_IMPORTED_MODULE_3__.saveClear)(shape.attachers, function(attacher) {\n modeling.removeShape(attacher);\n });\n\n if (shape.host) {\n modeling.updateAttachment(shape, null);\n }\n });\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(AttachSupport, _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nAttachSupport.$inject = [\n 'injector',\n 'eventBus',\n 'canvas',\n 'rules',\n 'modeling'\n];\n\n\n/**\n * Return attachers of the given shapes\n *\n * @param {Array} shapes\n * @return {Array}\n */\nfunction getAttachers(shapes) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.flatten)((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.map)(shapes, function(s) {\n return s.attachers || [];\n }));\n}\n\n/**\n * Return a combined list of elements and\n * attachers.\n *\n * @param {Array} elements\n * @return {Array} filtered\n */\nfunction addAttached(elements) {\n var attachers = getAttachers(elements);\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.unionBy)('id', elements, attachers);\n}\n\n/**\n * Return a filtered list of elements that do not\n * contain attached elements with hosts being part\n * of the selection.\n *\n * @param {Array} elements\n *\n * @return {Array} filtered\n */\nfunction removeAttached(elements) {\n\n var ids = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.groupBy)(elements, 'id');\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(elements, function(element) {\n while (element) {\n\n // host in selection\n if (element.host && ids[element.host.id]) {\n return false;\n }\n\n element = element.parent;\n }\n\n return true;\n });\n}\n\nfunction isAttacher(shape) {\n return !!shape.host;\n}\n\nfunction includes(array, item) {\n return array.indexOf(item) !== -1;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/attach-support/AttachSupport.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/attach-support/index.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/attach-support/index.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _rules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../rules */ \"./node_modules/diagram-js/lib/features/rules/index.js\");\n/* harmony import */ var _AttachSupport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AttachSupport */ \"./node_modules/diagram-js/lib/features/attach-support/AttachSupport.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _rules__WEBPACK_IMPORTED_MODULE_0__.default\n ],\n __init__: [ 'attachSupport' ],\n attachSupport: [ 'type', _AttachSupport__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/attach-support/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/auto-place/AutoPlace.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/auto-place/AutoPlace.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AutoPlace)\n/* harmony export */ });\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var _AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AutoPlaceUtil */ \"./node_modules/diagram-js/lib/features/auto-place/AutoPlaceUtil.js\");\n\n\n\n\nvar LOW_PRIORITY = 100;\n\n\n/**\n * A service that places elements connected to existing ones\n * to an appropriate position in an _automated_ fashion.\n *\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n */\nfunction AutoPlace(eventBus, modeling, canvas) {\n\n eventBus.on('autoPlace', LOW_PRIORITY, function(context) {\n var shape = context.shape,\n source = context.source;\n\n return getNewShapePosition(source, shape);\n });\n\n eventBus.on('autoPlace.end', function(event) {\n canvas.scrollToElement(event.shape);\n });\n\n /**\n * Append shape to source at appropriate position.\n *\n * @param {djs.model.Shape} source\n * @param {djs.model.Shape} shape\n *\n * @return {djs.model.Shape} appended shape\n */\n this.append = function(source, shape, hints) {\n\n eventBus.fire('autoPlace.start', {\n source: source,\n shape: shape\n });\n\n // allow others to provide the position\n var position = eventBus.fire('autoPlace', {\n source: source,\n shape: shape\n });\n\n var newShape = modeling.appendShape(source, shape, position, source.parent, hints);\n\n eventBus.fire('autoPlace.end', {\n source: source,\n shape: newShape\n });\n\n return newShape;\n };\n\n}\n\nAutoPlace.$inject = [\n 'eventBus',\n 'modeling',\n 'canvas'\n];\n\n// helpers //////////\n\n/**\n * Find the new position for the target element to\n * connect to source.\n *\n * @param {djs.model.Shape} source\n * @param {djs.model.Shape} element\n * @param {Object} [hints]\n * @param {Object} [hints.defaultDistance]\n *\n * @returns {Point}\n */\nfunction getNewShapePosition(source, element, hints) {\n if (!hints) {\n hints = {};\n }\n\n var distance = hints.defaultDistance || _AutoPlaceUtil__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_DISTANCE;\n\n var sourceMid = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(source),\n sourceTrbl = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(source);\n\n // simply put element right next to source\n return {\n x: sourceTrbl.right + distance + element.width / 2,\n y: sourceMid.y\n };\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/auto-place/AutoPlace.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/auto-place/AutoPlaceSelectionBehavior.js":
/*!***************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/auto-place/AutoPlaceSelectionBehavior.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AutoPlaceSelectionBehavior)\n/* harmony export */ });\n/**\n * Select element after auto placement.\n *\n * @param {EventBus} eventBus\n * @param {Selection} selection\n */\nfunction AutoPlaceSelectionBehavior(eventBus, selection) {\n\n eventBus.on('autoPlace.end', 500, function(e) {\n selection.select(e.shape);\n });\n\n}\n\nAutoPlaceSelectionBehavior.$inject = [\n 'eventBus',\n 'selection'\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/auto-place/AutoPlaceSelectionBehavior.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/auto-place/AutoPlaceUtil.js":
/*!**************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/auto-place/AutoPlaceUtil.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DEFAULT_DISTANCE\": () => (/* binding */ DEFAULT_DISTANCE),\n/* harmony export */ \"findFreePosition\": () => (/* binding */ findFreePosition),\n/* harmony export */ \"generateGetNextPosition\": () => (/* binding */ generateGetNextPosition),\n/* harmony export */ \"getConnectedAtPosition\": () => (/* binding */ getConnectedAtPosition),\n/* harmony export */ \"getConnectedDistance\": () => (/* binding */ getConnectedDistance)\n/* harmony export */ });\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n// padding to detect element placement\nvar PLACEMENT_DETECTION_PAD = 10;\n\nvar DEFAULT_DISTANCE = 50;\n\nvar DEFAULT_MAX_DISTANCE = 250;\n\n\n/**\n * Get free position starting from given position.\n *\n * @param {djs.model.Shape} source\n * @param {djs.model.Shape} element\n * @param {Point} position\n * @param {Function} getNextPosition\n *\n * @return {Point}\n */\nfunction findFreePosition(source, element, position, getNextPosition) {\n var connectedAtPosition;\n\n while ((connectedAtPosition = getConnectedAtPosition(source, position, element))) {\n position = getNextPosition(element, position, connectedAtPosition);\n }\n\n return position;\n}\n\n/**\n * Returns function that returns next position.\n *\n * @param {Object} nextPositionDirection\n * @param {Object} [nextPositionDirection.x]\n * @param {Object} [nextPositionDirection.y]\n *\n * @returns {Function}\n */\nfunction generateGetNextPosition(nextPositionDirection) {\n return function(element, previousPosition, connectedAtPosition) {\n var nextPosition = {\n x: previousPosition.x,\n y: previousPosition.y\n };\n\n [ 'x', 'y' ].forEach(function(axis) {\n\n var nextPositionDirectionForAxis = nextPositionDirection[ axis ];\n\n if (!nextPositionDirectionForAxis) {\n return;\n }\n\n var dimension = axis === 'x' ? 'width' : 'height';\n\n var margin = nextPositionDirectionForAxis.margin,\n minDistance = nextPositionDirectionForAxis.minDistance;\n\n if (margin < 0) {\n nextPosition[ axis ] = Math.min(\n connectedAtPosition[ axis ] + margin - element[ dimension ] / 2,\n previousPosition[ axis ] - minDistance + margin\n );\n } else {\n nextPosition[ axis ] = Math.max(\n connectedAtPosition[ axis ] + connectedAtPosition[ dimension ] + margin + element[ dimension ] / 2,\n previousPosition[ axis ] + minDistance + margin\n );\n }\n });\n\n return nextPosition;\n };\n}\n\n/**\n * Return target at given position, if defined.\n *\n * This takes connected elements from host and attachers\n * into account, too.\n */\nfunction getConnectedAtPosition(source, position, element) {\n\n var bounds = {\n x: position.x - (element.width / 2),\n y: position.y - (element.height / 2),\n width: element.width,\n height: element.height\n };\n\n var closure = getAutoPlaceClosure(source, element);\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(closure, function(target) {\n\n if (target === element) {\n return false;\n }\n\n var orientation = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getOrientation)(target, bounds, PLACEMENT_DETECTION_PAD);\n\n return orientation === 'intersect';\n });\n}\n\n/**\n* Compute optimal distance between source and target based on existing connections to and from source.\n* Assumes left-to-right and top-to-down modeling.\n*\n* @param {djs.model.Shape} source\n* @param {Object} [hints]\n* @param {number} [hints.defaultDistance]\n* @param {string} [hints.direction]\n* @param {Function} [hints.filter]\n* @param {Function} [hints.getWeight]\n* @param {number} [hints.maxDistance]\n* @param {string} [hints.reference]\n*\n* @return {number}\n*/\nfunction getConnectedDistance(source, hints) {\n if (!hints) {\n hints = {};\n }\n\n // targets > sources by default\n function getDefaultWeight(connection) {\n return connection.source === source ? 1 : -1;\n }\n\n var defaultDistance = hints.defaultDistance || DEFAULT_DISTANCE,\n direction = hints.direction || 'e',\n filter = hints.filter,\n getWeight = hints.getWeight || getDefaultWeight,\n maxDistance = hints.maxDistance || DEFAULT_MAX_DISTANCE,\n reference = hints.reference || 'start';\n\n if (!filter) {\n filter = noneFilter;\n }\n\n function getDistance(a, b) {\n if (direction === 'n') {\n if (reference === 'start') {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).top - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(b).bottom;\n } else if (reference === 'center') {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).top - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(b).y;\n } else {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).top - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(b).top;\n }\n } else if (direction === 'w') {\n if (reference === 'start') {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).left - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(b).right;\n } else if (reference === 'center') {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).left - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(b).x;\n } else {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).left - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(b).left;\n }\n } else if (direction === 's') {\n if (reference === 'start') {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(b).top - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).bottom;\n } else if (reference === 'center') {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(b).y - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).bottom;\n } else {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(b).bottom - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).bottom;\n }\n } else {\n if (reference === 'start') {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(b).left - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).right;\n } else if (reference === 'center') {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(b).x - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).right;\n } else {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(b).right - (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.asTRBL)(a).right;\n }\n }\n }\n\n var sourcesDistances = source.incoming\n .filter(filter)\n .map(function(connection) {\n var weight = getWeight(connection);\n\n var distance = weight < 0\n ? getDistance(connection.source, source)\n : getDistance(source, connection.source);\n\n return {\n id: connection.source.id,\n distance: distance,\n weight: weight\n };\n });\n\n var targetsDistances = source.outgoing\n .filter(filter)\n .map(function(connection) {\n var weight = getWeight(connection);\n\n var distance = weight > 0\n ? getDistance(source, connection.target)\n : getDistance(connection.target, source);\n\n return {\n id: connection.target.id,\n distance: distance,\n weight: weight\n };\n });\n\n var distances = sourcesDistances.concat(targetsDistances).reduce(function(accumulator, currentValue) {\n accumulator[ currentValue.id + '__weight_' + currentValue.weight ] = currentValue;\n\n return accumulator;\n }, {});\n\n var distancesGrouped = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.reduce)(distances, function(accumulator, currentValue) {\n var distance = currentValue.distance,\n weight = currentValue.weight;\n\n if (distance < 0 || distance > maxDistance) {\n return accumulator;\n }\n\n if (!accumulator[ String(distance) ]) {\n accumulator[ String(distance) ] = 0;\n }\n\n accumulator[ String(distance) ] += 1 * weight;\n\n if (!accumulator.distance || accumulator[ accumulator.distance ] < accumulator[ String(distance) ]) {\n accumulator.distance = distance;\n }\n\n return accumulator;\n }, {});\n\n return distancesGrouped.distance || defaultDistance;\n}\n\n/**\n * Returns all connected elements around the given source.\n *\n * This includes:\n *\n * - connected elements\n * - host connected elements\n * - attachers connected elements\n *\n * @param {djs.model.Shape} source\n *\n * @return {Array}\n */\nfunction getAutoPlaceClosure(source) {\n\n var allConnected = getConnected(source);\n\n if (source.host) {\n allConnected = allConnected.concat(getConnected(source.host));\n }\n\n if (source.attachers) {\n allConnected = allConnected.concat(source.attachers.reduce(function(shapes, attacher) {\n return shapes.concat(getConnected(attacher));\n }, []));\n }\n\n return allConnected;\n}\n\nfunction getConnected(element) {\n return getTargets(element).concat(getSources(element));\n}\n\nfunction getSources(shape) {\n return shape.incoming.map(function(connection) {\n return connection.source;\n });\n}\n\nfunction getTargets(shape) {\n return shape.outgoing.map(function(connection) {\n return connection.target;\n });\n}\n\nfunction noneFilter() {\n return true;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/auto-place/AutoPlaceUtil.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/auto-place/index.js":
/*!******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/auto-place/index.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _AutoPlace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AutoPlace */ \"./node_modules/diagram-js/lib/features/auto-place/AutoPlace.js\");\n/* harmony import */ var _AutoPlaceSelectionBehavior__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AutoPlaceSelectionBehavior */ \"./node_modules/diagram-js/lib/features/auto-place/AutoPlaceSelectionBehavior.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'autoPlaceSelectionBehavior' ],\n autoPlace: [ 'type', _AutoPlace__WEBPACK_IMPORTED_MODULE_0__.default ],\n autoPlaceSelectionBehavior: [ 'type', _AutoPlaceSelectionBehavior__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/auto-place/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/auto-resize/AutoResize.js":
/*!************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/auto-resize/AutoResize.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AutoResize)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * An auto resize component that takes care of expanding a parent element\n * if child elements are created or moved close the parents edge.\n *\n * @param {EventBus} eventBus\n * @param {ElementRegistry} elementRegistry\n * @param {Modeling} modeling\n * @param {Rules} rules\n */\nfunction AutoResize(eventBus, elementRegistry, modeling, rules) {\n\n _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n this._elementRegistry = elementRegistry;\n this._modeling = modeling;\n this._rules = rules;\n\n var self = this;\n\n this.postExecuted([ 'shape.create' ], function(event) {\n var context = event.context,\n hints = context.hints || {},\n shape = context.shape,\n parent = context.parent || context.newParent;\n\n if (hints.autoResize === false) {\n return;\n }\n\n self._expand([ shape ], parent);\n });\n\n this.postExecuted([ 'elements.move' ], function(event) {\n var context = event.context,\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.flatten)((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.values)(context.closure.topLevel)),\n hints = context.hints;\n\n var autoResize = hints ? hints.autoResize : true;\n\n if (autoResize === false) {\n return;\n }\n\n var expandings = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.groupBy)(elements, function(element) {\n return element.parent.id;\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(expandings, function(elements, parentId) {\n\n // optionally filter elements to be considered when resizing\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.isArray)(autoResize)) {\n elements = elements.filter(function(element) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.find)(autoResize, (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.matchPattern)({ id: element.id }));\n });\n }\n\n self._expand(elements, parentId);\n });\n });\n\n this.postExecuted([ 'shape.toggleCollapse' ], function(event) {\n var context = event.context,\n hints = context.hints,\n shape = context.shape;\n\n if (hints && hints.autoResize === false) {\n return;\n }\n\n if (shape.collapsed) {\n return;\n }\n\n self._expand(shape.children || [], shape);\n });\n\n this.postExecuted([ 'shape.resize' ], function(event) {\n var context = event.context,\n hints = context.hints,\n shape = context.shape,\n parent = shape.parent;\n\n if (hints && hints.autoResize === false) {\n return;\n }\n\n if (parent) {\n self._expand([ shape ], parent);\n }\n });\n\n}\n\nAutoResize.$inject = [\n 'eventBus',\n 'elementRegistry',\n 'modeling',\n 'rules'\n];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(AutoResize, _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n\n/**\n * Calculate the new bounds of the target shape, given\n * a number of elements have been moved or added into the parent.\n *\n * This method considers the current size, the added elements as well as\n * the provided padding for the new bounds.\n *\n * @param {Array} elements\n * @param {djs.model.Shape} target\n */\nAutoResize.prototype._getOptimalBounds = function(elements, target) {\n\n var offset = this.getOffset(target),\n padding = this.getPadding(target);\n\n var elementsTrbl = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.asTRBL)((0,_util_Elements__WEBPACK_IMPORTED_MODULE_4__.getBBox)(elements)),\n targetTrbl = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.asTRBL)(target);\n\n var newTrbl = {};\n\n if (elementsTrbl.top - targetTrbl.top < padding.top) {\n newTrbl.top = elementsTrbl.top - offset.top;\n }\n\n if (elementsTrbl.left - targetTrbl.left < padding.left) {\n newTrbl.left = elementsTrbl.left - offset.left;\n }\n\n if (targetTrbl.right - elementsTrbl.right < padding.right) {\n newTrbl.right = elementsTrbl.right + offset.right;\n }\n\n if (targetTrbl.bottom - elementsTrbl.bottom < padding.bottom) {\n newTrbl.bottom = elementsTrbl.bottom + offset.bottom;\n }\n\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.asBounds)((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({}, targetTrbl, newTrbl));\n};\n\n\n/**\n * Expand the target shape respecting rules, offset and padding\n *\n * @param {Array} elements\n * @param {djs.model.Shape|string} target|targetId\n */\nAutoResize.prototype._expand = function(elements, target) {\n\n if (typeof target === 'string') {\n target = this._elementRegistry.get(target);\n }\n\n var allowed = this._rules.allowed('element.autoResize', {\n elements: elements,\n target: target\n });\n\n if (!allowed) {\n return;\n }\n\n // calculate the new bounds\n var newBounds = this._getOptimalBounds(elements, target);\n\n if (!boundsChanged(newBounds, target)) {\n return;\n }\n\n var resizeDirections = getResizeDirections((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.pick)(target, [ 'x', 'y', 'width', 'height' ]), newBounds);\n\n // resize the parent shape\n this.resize(target, newBounds, {\n autoResize: resizeDirections\n });\n\n var parent = target.parent;\n\n // recursively expand parent elements\n if (parent) {\n this._expand([ target ], parent);\n }\n};\n\n\n/**\n * Get the amount to expand the given shape in each direction.\n *\n * @param {djs.model.Shape} shape\n *\n * @return {TRBL}\n */\nAutoResize.prototype.getOffset = function(shape) {\n return { top: 60, bottom: 60, left: 100, right: 100 };\n};\n\n\n/**\n * Get the activation threshold for each side for which\n * resize triggers.\n *\n * @param {djs.model.Shape} shape\n *\n * @return {TRBL}\n */\nAutoResize.prototype.getPadding = function(shape) {\n return { top: 2, bottom: 2, left: 15, right: 15 };\n};\n\n\n/**\n * Perform the actual resize operation.\n *\n * @param {djs.model.Shape} shape\n * @param {Bounds} newBounds\n * @param {Object} [hints]\n * @param {string} [hints.autoResize]\n */\nAutoResize.prototype.resize = function(shape, newBounds, hints) {\n this._modeling.resizeShape(shape, newBounds, null, hints);\n};\n\n\nfunction boundsChanged(newBounds, oldBounds) {\n return (\n newBounds.x !== oldBounds.x ||\n newBounds.y !== oldBounds.y ||\n newBounds.width !== oldBounds.width ||\n newBounds.height !== oldBounds.height\n );\n}\n\n/**\n * Get directions of resize as {n|w|s|e} e.g. \"nw\".\n *\n * @param {Bounds} oldBounds\n * @param {Bounds} newBounds\n *\n * @returns {string} Resize directions as {n|w|s|e}.\n */\nfunction getResizeDirections(oldBounds, newBounds) {\n var directions = '';\n\n oldBounds = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.asTRBL)(oldBounds);\n newBounds = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_3__.asTRBL)(newBounds);\n\n if (oldBounds.top > newBounds.top) {\n directions = directions.concat('n');\n }\n\n if (oldBounds.right < newBounds.right) {\n directions = directions.concat('w');\n }\n\n if (oldBounds.bottom < newBounds.bottom) {\n directions = directions.concat('s');\n }\n\n if (oldBounds.left > newBounds.left) {\n directions = directions.concat('e');\n }\n\n return directions;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/auto-resize/AutoResize.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/auto-resize/AutoResizeProvider.js":
/*!********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/auto-resize/AutoResizeProvider.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AutoResizeProvider)\n/* harmony export */ });\n/* harmony import */ var _rules_RuleProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rules/RuleProvider */ \"./node_modules/diagram-js/lib/features/rules/RuleProvider.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n\n\n\n\n/**\n * This is a base rule provider for the element.autoResize rule.\n */\nfunction AutoResizeProvider(eventBus) {\n\n _rules_RuleProvider__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n var self = this;\n\n this.addRule('element.autoResize', function(context) {\n return self.canResize(context.elements, context.target);\n });\n}\n\nAutoResizeProvider.$inject = [ 'eventBus' ];\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(AutoResizeProvider, _rules_RuleProvider__WEBPACK_IMPORTED_MODULE_1__.default);\n\n/**\n * Needs to be implemented by sub classes to allow actual auto resize\n *\n * @param {Array} elements\n * @param {djs.model.Shape} target\n *\n * @return {boolean}\n */\nAutoResizeProvider.prototype.canResize = function(elements, target) {\n return false;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/auto-resize/AutoResizeProvider.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/auto-scroll/AutoScroll.js":
/*!************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/auto-scroll/AutoScroll.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AutoScroll)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Event__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/Event */ \"./node_modules/diagram-js/lib/util/Event.js\");\n\n\n\n\n\n/**\n * Initiates canvas scrolling if current cursor point is close to a border.\n * Cancelled when current point moves back inside the scrolling borders\n * or cancelled manually.\n *\n * Default options :\n * scrollThresholdIn: [ 20, 20, 20, 20 ],\n * scrollThresholdOut: [ 0, 0, 0, 0 ],\n * scrollRepeatTimeout: 15,\n * scrollStep: 10\n *\n * Threshold order:\n * [ left, top, right, bottom ]\n */\nfunction AutoScroll(config, eventBus, canvas) {\n\n this._canvas = canvas;\n\n this._opts = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({\n scrollThresholdIn: [ 20, 20, 20, 20 ],\n scrollThresholdOut: [ 0, 0, 0, 0 ],\n scrollRepeatTimeout: 15,\n scrollStep: 10\n }, config);\n\n var self = this;\n\n eventBus.on('drag.move', function(e) {\n var point = self._toBorderPoint(e);\n\n self.startScroll(point);\n });\n\n eventBus.on([ 'drag.cleanup' ], function() {\n self.stopScroll();\n });\n}\n\nAutoScroll.$inject = [\n 'config.autoScroll',\n 'eventBus',\n 'canvas'\n];\n\n\n/**\n * Starts scrolling loop.\n * Point is given in global scale in canvas container box plane.\n *\n * @param {Object} point { x: X, y: Y }\n */\nAutoScroll.prototype.startScroll = function(point) {\n\n var canvas = this._canvas;\n var opts = this._opts;\n var self = this;\n\n var clientRect = canvas.getContainer().getBoundingClientRect();\n\n var diff = [\n point.x,\n point.y,\n clientRect.width - point.x,\n clientRect.height - point.y\n ];\n\n this.stopScroll();\n\n var dx = 0,\n dy = 0;\n\n for (var i = 0; i < 4; i++) {\n if (between(diff[i], opts.scrollThresholdOut[i], opts.scrollThresholdIn[i])) {\n if (i === 0) {\n dx = opts.scrollStep;\n } else if (i == 1) {\n dy = opts.scrollStep;\n } else if (i == 2) {\n dx = -opts.scrollStep;\n } else if (i == 3) {\n dy = -opts.scrollStep;\n }\n }\n }\n\n if (dx !== 0 || dy !== 0) {\n canvas.scroll({ dx: dx, dy: dy });\n\n this._scrolling = setTimeout(function() {\n self.startScroll(point);\n }, opts.scrollRepeatTimeout);\n }\n};\n\nfunction between(val, start, end) {\n if (start < val && val < end) {\n return true;\n }\n\n return false;\n}\n\n\n/**\n * Stops scrolling loop.\n */\nAutoScroll.prototype.stopScroll = function() {\n clearTimeout(this._scrolling);\n};\n\n\n/**\n * Overrides defaults options.\n *\n * @param {Object} options\n */\nAutoScroll.prototype.setOptions = function(options) {\n this._opts = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, this._opts, options);\n};\n\n\n/**\n * Converts event to a point in canvas container plane in global scale.\n *\n * @param {Event} event\n * @return {Point}\n */\nAutoScroll.prototype._toBorderPoint = function(event) {\n var clientRect = this._canvas._container.getBoundingClientRect();\n\n var globalPosition = (0,_util_Event__WEBPACK_IMPORTED_MODULE_1__.toPoint)(event.originalEvent);\n\n return {\n x: globalPosition.x - clientRect.left,\n y: globalPosition.y - clientRect.top\n };\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/auto-scroll/AutoScroll.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/auto-scroll/index.js":
/*!*******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/auto-scroll/index.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _dragging__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dragging */ \"./node_modules/diagram-js/lib/features/dragging/index.js\");\n/* harmony import */ var _AutoScroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AutoScroll */ \"./node_modules/diagram-js/lib/features/auto-scroll/AutoScroll.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _dragging__WEBPACK_IMPORTED_MODULE_0__.default,\n ],\n __init__: [ 'autoScroll' ],\n autoScroll: [ 'type', _AutoScroll__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/auto-scroll/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/bendpoints/BendpointMove.js":
/*!**************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/bendpoints/BendpointMove.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BendpointMove),\n/* harmony export */ \"isReverse\": () => (/* binding */ isReverse)\n/* harmony export */ });\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n\n\nvar round = Math.round;\n\nvar RECONNECT_START = 'reconnectStart',\n RECONNECT_END = 'reconnectEnd',\n UPDATE_WAYPOINTS = 'updateWaypoints';\n\n\n/**\n * Move bendpoints through drag and drop to add/remove bendpoints or reconnect connection.\n */\nfunction BendpointMove(injector, eventBus, canvas, dragging, rules, modeling) {\n this._injector = injector;\n\n this.start = function(event, connection, bendpointIndex, insert) {\n var gfx = canvas.getGraphics(connection),\n source = connection.source,\n target = connection.target,\n waypoints = connection.waypoints,\n type;\n\n if (!insert && bendpointIndex === 0) {\n type = RECONNECT_START;\n } else\n if (!insert && bendpointIndex === waypoints.length - 1) {\n type = RECONNECT_END;\n } else {\n type = UPDATE_WAYPOINTS;\n }\n\n var command = type === UPDATE_WAYPOINTS ? 'connection.updateWaypoints' : 'connection.reconnect';\n\n var allowed = rules.allowed(command, {\n connection: connection,\n source: source,\n target: target\n });\n\n if (allowed === false) {\n allowed = rules.allowed(command, {\n connection: connection,\n source: target,\n target: source\n });\n }\n\n if (allowed === false) {\n return;\n }\n\n dragging.init(event, 'bendpoint.move', {\n data: {\n connection: connection,\n connectionGfx: gfx,\n context: {\n allowed: allowed,\n bendpointIndex: bendpointIndex,\n connection: connection,\n source: source,\n target: target,\n insert: insert,\n type: type\n }\n }\n });\n };\n\n eventBus.on('bendpoint.move.hover', function(event) {\n var context = event.context,\n connection = context.connection,\n source = connection.source,\n target = connection.target,\n hover = event.hover,\n type = context.type;\n\n // cache hover state\n context.hover = hover;\n\n var allowed;\n\n if (!hover) {\n return;\n }\n\n var command = type === UPDATE_WAYPOINTS ? 'connection.updateWaypoints' : 'connection.reconnect';\n\n allowed = context.allowed = rules.allowed(command, {\n connection: connection,\n source: type === RECONNECT_START ? hover : source,\n target: type === RECONNECT_END ? hover : target\n });\n\n if (allowed) {\n context.source = type === RECONNECT_START ? hover : source;\n context.target = type === RECONNECT_END ? hover : target;\n\n return;\n }\n\n if (allowed === false) {\n allowed = context.allowed = rules.allowed(command, {\n connection: connection,\n source: type === RECONNECT_END ? hover : target,\n target: type === RECONNECT_START ? hover : source\n });\n }\n\n if (allowed) {\n context.source = type === RECONNECT_END ? hover : target;\n context.target = type === RECONNECT_START ? hover : source;\n }\n });\n\n eventBus.on([ 'bendpoint.move.out', 'bendpoint.move.cleanup' ], function(event) {\n var context = event.context,\n type = context.type;\n\n context.hover = null;\n context.source = null;\n context.target = null;\n\n if (type !== UPDATE_WAYPOINTS) {\n context.allowed = false;\n }\n });\n\n eventBus.on('bendpoint.move.end', function(event) {\n var context = event.context,\n allowed = context.allowed,\n bendpointIndex = context.bendpointIndex,\n connection = context.connection,\n insert = context.insert,\n newWaypoints = connection.waypoints.slice(),\n source = context.source,\n target = context.target,\n type = context.type,\n hints = context.hints || {};\n\n // ensure integer values (important if zoom level was > 1 during move)\n var docking = {\n x: round(event.x),\n y: round(event.y)\n };\n\n if (!allowed) {\n return false;\n }\n\n if (type === UPDATE_WAYPOINTS) {\n if (insert) {\n\n // insert new bendpoint\n newWaypoints.splice(bendpointIndex, 0, docking);\n } else {\n\n // swap previous waypoint with moved one\n newWaypoints[bendpointIndex] = docking;\n }\n\n // pass hints about actual moved bendpoint\n // useful for connection/label layout\n hints.bendpointMove = {\n insert: insert,\n bendpointIndex: bendpointIndex\n };\n\n newWaypoints = this.cropWaypoints(connection, newWaypoints);\n\n modeling.updateWaypoints(connection, (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__.filterRedundantWaypoints)(newWaypoints), hints);\n } else {\n if (type === RECONNECT_START) {\n hints.docking = 'source';\n\n if (isReverse(context)) {\n hints.docking = 'target';\n\n hints.newWaypoints = newWaypoints.reverse();\n }\n } else if (type === RECONNECT_END) {\n hints.docking = 'target';\n\n if (isReverse(context)) {\n hints.docking = 'source';\n\n hints.newWaypoints = newWaypoints.reverse();\n }\n }\n\n modeling.reconnect(connection, source, target, docking, hints);\n }\n }, this);\n}\n\nBendpointMove.$inject = [\n 'injector',\n 'eventBus',\n 'canvas',\n 'dragging',\n 'rules',\n 'modeling'\n];\n\nBendpointMove.prototype.cropWaypoints = function(connection, newWaypoints) {\n var connectionDocking = this._injector.get('connectionDocking', false);\n\n if (!connectionDocking) {\n return newWaypoints;\n }\n\n var waypoints = connection.waypoints;\n\n connection.waypoints = newWaypoints;\n\n connection.waypoints = connectionDocking.getCroppedWaypoints(connection);\n\n newWaypoints = connection.waypoints;\n\n connection.waypoints = waypoints;\n\n return newWaypoints;\n};\n\n\n// helpers //////////\n\nfunction isReverse(context) {\n var hover = context.hover,\n source = context.source,\n target = context.target,\n type = context.type;\n\n if (type === RECONNECT_START) {\n return hover && target && hover === target && source !== target;\n }\n\n if (type === RECONNECT_END) {\n return hover && source && hover === source && source !== target;\n }\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/bendpoints/BendpointMove.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/bendpoints/BendpointMovePreview.js":
/*!*********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/bendpoints/BendpointMovePreview.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BendpointMovePreview)\n/* harmony export */ });\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _BendpointUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BendpointUtil */ \"./node_modules/diagram-js/lib/features/bendpoints/BendpointUtil.js\");\n/* harmony import */ var _util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n/* harmony import */ var _BendpointMove__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BendpointMove */ \"./node_modules/diagram-js/lib/features/bendpoints/BendpointMove.js\");\n\n\n\n\n\n\n\n\nvar RECONNECT_START = 'reconnectStart',\n RECONNECT_END = 'reconnectEnd',\n UPDATE_WAYPOINTS = 'updateWaypoints';\n\nvar MARKER_OK = 'connect-ok',\n MARKER_NOT_OK = 'connect-not-ok',\n MARKER_CONNECT_HOVER = 'connect-hover',\n MARKER_CONNECT_UPDATING = 'djs-updating',\n MARKER_ELEMENT_HIDDEN = 'djs-element-hidden';\n\nvar HIGH_PRIORITY = 1100;\n\n/**\n * Preview connection while moving bendpoints.\n */\nfunction BendpointMovePreview(bendpointMove, injector, eventBus, canvas) {\n this._injector = injector;\n\n var connectionPreview = injector.get('connectionPreview', false);\n\n eventBus.on('bendpoint.move.start', function(event) {\n var context = event.context,\n bendpointIndex = context.bendpointIndex,\n connection = context.connection,\n insert = context.insert,\n waypoints = connection.waypoints,\n newWaypoints = waypoints.slice();\n\n context.waypoints = waypoints;\n\n if (insert) {\n\n // insert placeholder for new bendpoint\n newWaypoints.splice(bendpointIndex, 0, { x: event.x, y: event.y });\n }\n\n connection.waypoints = newWaypoints;\n\n // add dragger gfx\n var draggerGfx = context.draggerGfx = (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_0__.addBendpoint)(canvas.getLayer('overlays'));\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.classes)(draggerGfx).add('djs-dragging');\n\n canvas.addMarker(connection, MARKER_ELEMENT_HIDDEN);\n canvas.addMarker(connection, MARKER_CONNECT_UPDATING);\n });\n\n eventBus.on('bendpoint.move.hover', function(event) {\n var context = event.context,\n allowed = context.allowed,\n hover = context.hover,\n type = context.type;\n\n if (hover) {\n canvas.addMarker(hover, MARKER_CONNECT_HOVER);\n\n if (type === UPDATE_WAYPOINTS) {\n return;\n }\n\n if (allowed) {\n canvas.removeMarker(hover, MARKER_NOT_OK);\n canvas.addMarker(hover, MARKER_OK);\n } else if (allowed === false) {\n canvas.removeMarker(hover, MARKER_OK);\n canvas.addMarker(hover, MARKER_NOT_OK);\n }\n }\n });\n\n eventBus.on([\n 'bendpoint.move.out',\n 'bendpoint.move.cleanup'\n ], HIGH_PRIORITY, function(event) {\n var context = event.context,\n hover = context.hover,\n target = context.target;\n\n if (hover) {\n canvas.removeMarker(hover, MARKER_CONNECT_HOVER);\n canvas.removeMarker(hover, target ? MARKER_OK : MARKER_NOT_OK);\n }\n });\n\n eventBus.on('bendpoint.move.move', function(event) {\n var context = event.context,\n allowed = context.allowed,\n bendpointIndex = context.bendpointIndex,\n draggerGfx = context.draggerGfx,\n hover = context.hover,\n type = context.type,\n connection = context.connection,\n source = connection.source,\n target = connection.target,\n newWaypoints = connection.waypoints.slice(),\n bendpoint = { x: event.x, y: event.y },\n hints = context.hints || {},\n drawPreviewHints = {};\n\n if (connectionPreview) {\n if (hints.connectionStart) {\n drawPreviewHints.connectionStart = hints.connectionStart;\n }\n\n if (hints.connectionEnd) {\n drawPreviewHints.connectionEnd = hints.connectionEnd;\n }\n\n\n if (type === RECONNECT_START) {\n if ((0,_BendpointMove__WEBPACK_IMPORTED_MODULE_2__.isReverse)(context)) {\n drawPreviewHints.connectionEnd = drawPreviewHints.connectionEnd || bendpoint;\n\n drawPreviewHints.source = target;\n drawPreviewHints.target = hover || source;\n\n newWaypoints = newWaypoints.reverse();\n } else {\n drawPreviewHints.connectionStart = drawPreviewHints.connectionStart || bendpoint;\n\n drawPreviewHints.source = hover || source;\n drawPreviewHints.target = target;\n }\n } else if (type === RECONNECT_END) {\n if ((0,_BendpointMove__WEBPACK_IMPORTED_MODULE_2__.isReverse)(context)) {\n drawPreviewHints.connectionStart = drawPreviewHints.connectionStart || bendpoint;\n\n drawPreviewHints.source = hover || target;\n drawPreviewHints.target = source;\n\n newWaypoints = newWaypoints.reverse();\n } else {\n drawPreviewHints.connectionEnd = drawPreviewHints.connectionEnd || bendpoint;\n\n drawPreviewHints.source = source;\n drawPreviewHints.target = hover || target;\n }\n\n } else {\n drawPreviewHints.noCropping = true;\n drawPreviewHints.noLayout = true;\n newWaypoints[ bendpointIndex ] = bendpoint;\n }\n\n if (type === UPDATE_WAYPOINTS) {\n newWaypoints = bendpointMove.cropWaypoints(connection, newWaypoints);\n }\n\n drawPreviewHints.waypoints = newWaypoints;\n\n connectionPreview.drawPreview(context, allowed, drawPreviewHints);\n }\n\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__.translate)(draggerGfx, event.x, event.y);\n }, this);\n\n eventBus.on([\n 'bendpoint.move.end',\n 'bendpoint.move.cancel'\n ], HIGH_PRIORITY, function(event) {\n var context = event.context,\n connection = context.connection,\n draggerGfx = context.draggerGfx,\n hover = context.hover,\n target = context.target,\n waypoints = context.waypoints;\n\n connection.waypoints = waypoints;\n\n // remove dragger gfx\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_1__.remove)(draggerGfx);\n\n canvas.removeMarker(connection, MARKER_CONNECT_UPDATING);\n canvas.removeMarker(connection, MARKER_ELEMENT_HIDDEN);\n\n if (hover) {\n canvas.removeMarker(hover, MARKER_OK);\n canvas.removeMarker(hover, target ? MARKER_OK : MARKER_NOT_OK);\n }\n\n if (connectionPreview) {\n connectionPreview.cleanUp(context);\n }\n });\n}\n\nBendpointMovePreview.$inject = [\n 'bendpointMove',\n 'injector',\n 'eventBus',\n 'canvas'\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/bendpoints/BendpointMovePreview.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/bendpoints/BendpointSnapping.js":
/*!******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/bendpoints/BendpointSnapping.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BendpointSnapping)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../snapping/SnapUtil */ \"./node_modules/diagram-js/lib/features/snapping/SnapUtil.js\");\n\n\n\n\nvar abs= Math.abs,\n round = Math.round;\n\nvar TOLERANCE = 10;\n\n\nfunction BendpointSnapping(eventBus) {\n\n function snapTo(values, value) {\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(values)) {\n var i = values.length;\n\n while (i--) if (abs(values[i] - value) <= TOLERANCE) {\n return values[i];\n }\n } else {\n values = +values;\n var rem = value % values;\n\n if (rem < TOLERANCE) {\n return value - rem;\n }\n\n if (rem > values - TOLERANCE) {\n return value - rem + values;\n }\n }\n\n return value;\n }\n\n function mid(element) {\n if (element.width) {\n return {\n x: round(element.width / 2 + element.x),\n y: round(element.height / 2 + element.y)\n };\n }\n }\n\n // connection segment snapping //////////////////////\n\n function getConnectionSegmentSnaps(context) {\n\n var snapPoints = context.snapPoints,\n connection = context.connection,\n waypoints = connection.waypoints,\n segmentStart = context.segmentStart,\n segmentStartIndex = context.segmentStartIndex,\n segmentEnd = context.segmentEnd,\n segmentEndIndex = context.segmentEndIndex,\n axis = context.axis;\n\n if (snapPoints) {\n return snapPoints;\n }\n\n var referenceWaypoints = [\n waypoints[segmentStartIndex - 1],\n segmentStart,\n segmentEnd,\n waypoints[segmentEndIndex + 1]\n ];\n\n if (segmentStartIndex < 2) {\n referenceWaypoints.unshift(mid(connection.source));\n }\n\n if (segmentEndIndex > waypoints.length - 3) {\n referenceWaypoints.unshift(mid(connection.target));\n }\n\n context.snapPoints = snapPoints = { horizontal: [] , vertical: [] };\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(referenceWaypoints, function(p) {\n\n // we snap on existing bendpoints only,\n // not placeholders that are inserted during add\n if (p) {\n p = p.original || p;\n\n if (axis === 'y') {\n snapPoints.horizontal.push(p.y);\n }\n\n if (axis === 'x') {\n snapPoints.vertical.push(p.x);\n }\n }\n });\n\n return snapPoints;\n }\n\n eventBus.on('connectionSegment.move.move', 1500, function(event) {\n var context = event.context,\n snapPoints = getConnectionSegmentSnaps(context),\n x = event.x,\n y = event.y,\n sx, sy;\n\n if (!snapPoints) {\n return;\n }\n\n // snap\n sx = snapTo(snapPoints.vertical, x);\n sy = snapTo(snapPoints.horizontal, y);\n\n\n // correction x/y\n var cx = (x - sx),\n cy = (y - sy);\n\n // update delta\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(event, {\n dx: event.dx - cx,\n dy: event.dy - cy,\n x: sx,\n y: sy\n });\n\n // only set snapped if actually snapped\n if (cx || snapPoints.vertical.indexOf(x) !== -1) {\n (0,_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, 'x', sx);\n }\n\n if (cy || snapPoints.horizontal.indexOf(y) !== -1) {\n (0,_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, 'y', sy);\n }\n });\n\n\n // bendpoint snapping //////////////////////\n\n function getBendpointSnaps(context) {\n\n var snapPoints = context.snapPoints,\n waypoints = context.connection.waypoints,\n bendpointIndex = context.bendpointIndex;\n\n if (snapPoints) {\n return snapPoints;\n }\n\n var referenceWaypoints = [ waypoints[bendpointIndex - 1], waypoints[bendpointIndex + 1] ];\n\n context.snapPoints = snapPoints = { horizontal: [] , vertical: [] };\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(referenceWaypoints, function(p) {\n\n // we snap on existing bendpoints only,\n // not placeholders that are inserted during add\n if (p) {\n p = p.original || p;\n\n snapPoints.horizontal.push(p.y);\n snapPoints.vertical.push(p.x);\n }\n });\n\n return snapPoints;\n }\n\n\n eventBus.on([ 'bendpoint.move.move', 'bendpoint.move.end' ], 1500, function(event) {\n\n var context = event.context,\n snapPoints = getBendpointSnaps(context),\n hover = context.hover,\n hoverMid = hover && mid(hover),\n x = event.x,\n y = event.y,\n sx, sy;\n\n if (!snapPoints) {\n return;\n }\n\n // snap to hover mid\n sx = snapTo(hoverMid ? snapPoints.vertical.concat([ hoverMid.x ]) : snapPoints.vertical, x);\n sy = snapTo(hoverMid ? snapPoints.horizontal.concat([ hoverMid.y ]) : snapPoints.horizontal, y);\n\n // correction x/y\n var cx = (x - sx),\n cy = (y - sy);\n\n // update delta\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(event, {\n dx: event.dx - cx,\n dy: event.dy - cy,\n x: event.x - cx,\n y: event.y - cy\n });\n\n // only set snapped if actually snapped\n if (cx || snapPoints.vertical.indexOf(x) !== -1) {\n (0,_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, 'x', sx);\n }\n\n if (cy || snapPoints.horizontal.indexOf(y) !== -1) {\n (0,_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_1__.setSnapped)(event, 'y', sy);\n }\n });\n}\n\n\nBendpointSnapping.$inject = [ 'eventBus' ];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/bendpoints/BendpointSnapping.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/bendpoints/BendpointUtil.js":
/*!**************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/bendpoints/BendpointUtil.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BENDPOINT_CLS\": () => (/* binding */ BENDPOINT_CLS),\n/* harmony export */ \"SEGMENT_DRAGGER_CLS\": () => (/* binding */ SEGMENT_DRAGGER_CLS),\n/* harmony export */ \"toCanvasCoordinates\": () => (/* binding */ toCanvasCoordinates),\n/* harmony export */ \"getConnectionIntersection\": () => (/* binding */ getConnectionIntersection),\n/* harmony export */ \"addBendpoint\": () => (/* binding */ addBendpoint),\n/* harmony export */ \"addSegmentDragger\": () => (/* binding */ addSegmentDragger),\n/* harmony export */ \"calculateSegmentMoveRegion\": () => (/* binding */ calculateSegmentMoveRegion)\n/* harmony export */ });\n/* harmony import */ var _util_Event__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/Event */ \"./node_modules/diagram-js/lib/util/Event.js\");\n/* harmony import */ var _util_Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/Geometry */ \"./node_modules/diagram-js/lib/util/Geometry.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n/* harmony import */ var _util_LineIntersection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/LineIntersection */ \"./node_modules/diagram-js/lib/util/LineIntersection.js\");\n\n\n\n\n\n\n\n\n\n\nvar BENDPOINT_CLS = 'djs-bendpoint';\nvar SEGMENT_DRAGGER_CLS = 'djs-segment-dragger';\n\nfunction toCanvasCoordinates(canvas, event) {\n\n var position = (0,_util_Event__WEBPACK_IMPORTED_MODULE_0__.toPoint)(event),\n clientRect = canvas._container.getBoundingClientRect(),\n offset;\n\n // canvas relative position\n\n offset = {\n x: clientRect.left,\n y: clientRect.top\n };\n\n // update actual event payload with canvas relative measures\n\n var viewbox = canvas.viewbox();\n\n return {\n x: viewbox.x + (position.x - offset.x) / viewbox.scale,\n y: viewbox.y + (position.y - offset.y) / viewbox.scale\n };\n}\n\nfunction getConnectionIntersection(canvas, waypoints, event) {\n var localPosition = toCanvasCoordinates(canvas, event),\n intersection = (0,_util_LineIntersection__WEBPACK_IMPORTED_MODULE_1__.getApproxIntersection)(waypoints, localPosition);\n\n return intersection;\n}\n\nfunction addBendpoint(parentGfx, cls) {\n var groupGfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('g');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.classes)(groupGfx).add(BENDPOINT_CLS);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(parentGfx, groupGfx);\n\n var visual = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('circle');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(visual, {\n cx: 0,\n cy: 0,\n r: 4\n });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.classes)(visual).add('djs-visual');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(groupGfx, visual);\n\n var hit = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('circle');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(hit, {\n cx: 0,\n cy: 0,\n r: 10\n });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.classes)(hit).add('djs-hit');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(groupGfx, hit);\n\n if (cls) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.classes)(groupGfx).add(cls);\n }\n\n return groupGfx;\n}\n\nfunction createParallelDragger(parentGfx, segmentStart, segmentEnd, alignment) {\n var draggerGfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('g');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(parentGfx, draggerGfx);\n\n var width = 14,\n height = 3,\n padding = 11,\n hitWidth = calculateHitWidth(segmentStart, segmentEnd, alignment),\n hitHeight = height + padding;\n\n var visual = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('rect');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(visual, {\n x: -width / 2,\n y: -height / 2,\n width: width,\n height: height\n });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.classes)(visual).add('djs-visual');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(draggerGfx, visual);\n\n var hit = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('rect');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(hit, {\n x: -hitWidth / 2,\n y: -hitHeight / 2,\n width: hitWidth,\n height: hitHeight\n });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.classes)(hit).add('djs-hit');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(draggerGfx, hit);\n\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__.rotate)(draggerGfx, alignment === 'v' ? 90 : 0, 0, 0);\n\n return draggerGfx;\n}\n\n\nfunction addSegmentDragger(parentGfx, segmentStart, segmentEnd) {\n\n var groupGfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('g'),\n mid = (0,_util_Geometry__WEBPACK_IMPORTED_MODULE_4__.getMidPoint)(segmentStart, segmentEnd),\n alignment = (0,_util_Geometry__WEBPACK_IMPORTED_MODULE_4__.pointsAligned)(segmentStart, segmentEnd);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(parentGfx, groupGfx);\n\n createParallelDragger(groupGfx, segmentStart, segmentEnd, alignment);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.classes)(groupGfx).add(SEGMENT_DRAGGER_CLS);\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.classes)(groupGfx).add(alignment === 'h' ? 'horizontal' : 'vertical');\n\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__.translate)(groupGfx, mid.x, mid.y);\n\n return groupGfx;\n}\n\n/**\n * Calculates region for segment move which is 2/3 of the full segment length\n * @param {number} segmentLength\n *\n * @return {number}\n */\nfunction calculateSegmentMoveRegion(segmentLength) {\n return Math.abs(Math.round(segmentLength * 2 / 3));\n}\n\n// helper //////////\n\nfunction calculateHitWidth(segmentStart, segmentEnd, alignment) {\n var segmentLengthXAxis = segmentEnd.x - segmentStart.x,\n segmentLengthYAxis = segmentEnd.y - segmentStart.y;\n\n return alignment === 'h' ?\n calculateSegmentMoveRegion(segmentLengthXAxis) :\n calculateSegmentMoveRegion(segmentLengthYAxis);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/bendpoints/BendpointUtil.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/bendpoints/Bendpoints.js":
/*!***********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/bendpoints/Bendpoints.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Bendpoints)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var _BendpointUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BendpointUtil */ \"./node_modules/diagram-js/lib/features/bendpoints/BendpointUtil.js\");\n/* harmony import */ var _util_EscapeUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/EscapeUtil */ \"./node_modules/css.escape/css.escape.js\");\n/* harmony import */ var _util_EscapeUtil__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_util_EscapeUtil__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _util_Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/Geometry */ \"./node_modules/diagram-js/lib/util/Geometry.js\");\n/* harmony import */ var _util_Mouse__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/Mouse */ \"./node_modules/diagram-js/lib/util/Mouse.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A service that adds editable bendpoints to connections.\n */\nfunction Bendpoints(\n eventBus, canvas, interactionEvents,\n bendpointMove, connectionSegmentMove) {\n\n /**\n * Returns true if intersection point is inside middle region of segment, adjusted by\n * optional threshold\n */\n function isIntersectionMiddle(intersection, waypoints, treshold) {\n var idx = intersection.index,\n p = intersection.point,\n p0, p1, mid, aligned, xDelta, yDelta;\n\n if (idx <= 0 || intersection.bendpoint) {\n return false;\n }\n\n p0 = waypoints[idx - 1];\n p1 = waypoints[idx];\n mid = (0,_util_Geometry__WEBPACK_IMPORTED_MODULE_0__.getMidPoint)(p0, p1),\n aligned = (0,_util_Geometry__WEBPACK_IMPORTED_MODULE_0__.pointsAligned)(p0, p1);\n xDelta = Math.abs(p.x - mid.x);\n yDelta = Math.abs(p.y - mid.y);\n\n return aligned && xDelta <= treshold && yDelta <= treshold;\n }\n\n /**\n * Calculates the threshold from a connection's middle which fits the two-third-region\n */\n function calculateIntersectionThreshold(connection, intersection) {\n var waypoints = connection.waypoints,\n relevantSegment, alignment, segmentLength, threshold;\n\n if (intersection.index <= 0 || intersection.bendpoint) {\n return null;\n }\n\n // segment relative to connection intersection\n relevantSegment = {\n start: waypoints[intersection.index - 1],\n end: waypoints[intersection.index]\n };\n\n alignment = (0,_util_Geometry__WEBPACK_IMPORTED_MODULE_0__.pointsAligned)(relevantSegment.start, relevantSegment.end);\n\n if (!alignment) {\n return null;\n }\n\n if (alignment === 'h') {\n segmentLength = relevantSegment.end.x - relevantSegment.start.x;\n } else {\n segmentLength = relevantSegment.end.y - relevantSegment.start.y;\n }\n\n // calculate threshold relative to 2/3 of segment length\n threshold = (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.calculateSegmentMoveRegion)(segmentLength) / 2;\n\n return threshold;\n }\n\n function activateBendpointMove(event, connection) {\n var waypoints = connection.waypoints,\n intersection = (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.getConnectionIntersection)(canvas, waypoints, event),\n threshold;\n\n if (!intersection) {\n return;\n }\n\n threshold = calculateIntersectionThreshold(connection, intersection);\n\n if (isIntersectionMiddle(intersection, waypoints, threshold)) {\n connectionSegmentMove.start(event, connection, intersection.index);\n } else {\n bendpointMove.start(event, connection, intersection.index, !intersection.bendpoint);\n }\n\n // we've handled the event\n return true;\n }\n\n function bindInteractionEvents(node, eventName, element) {\n\n min_dom__WEBPACK_IMPORTED_MODULE_2__.event.bind(node, eventName, function(event) {\n interactionEvents.triggerMouseEvent(eventName, event, element);\n event.stopPropagation();\n });\n }\n\n function getBendpointsContainer(element, create) {\n\n var layer = canvas.getLayer('overlays'),\n gfx = (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.query)('.djs-bendpoints[data-element-id=\"' + _util_EscapeUtil__WEBPACK_IMPORTED_MODULE_3___default()(element.id) + '\"]', layer);\n\n if (!gfx && create) {\n gfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.create)('g');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(gfx, { 'data-element-id': element.id });\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.classes)(gfx).add('djs-bendpoints');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(layer, gfx);\n\n bindInteractionEvents(gfx, 'mousedown', element);\n bindInteractionEvents(gfx, 'click', element);\n bindInteractionEvents(gfx, 'dblclick', element);\n }\n\n return gfx;\n }\n\n function getSegmentDragger(idx, parentGfx) {\n return (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.query)(\n '.djs-segment-dragger[data-segment-idx=\"' + idx + '\"]',\n parentGfx\n );\n }\n\n function createBendpoints(gfx, connection) {\n connection.waypoints.forEach(function(p, idx) {\n var bendpoint = (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.addBendpoint)(gfx);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.append)(gfx, bendpoint);\n\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_5__.translate)(bendpoint, p.x, p.y);\n });\n\n // add floating bendpoint\n (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.addBendpoint)(gfx, 'floating');\n }\n\n function createSegmentDraggers(gfx, connection) {\n\n var waypoints = connection.waypoints;\n\n var segmentStart,\n segmentEnd,\n segmentDraggerGfx;\n\n for (var i = 1; i < waypoints.length; i++) {\n\n segmentStart = waypoints[i - 1];\n segmentEnd = waypoints[i];\n\n if ((0,_util_Geometry__WEBPACK_IMPORTED_MODULE_0__.pointsAligned)(segmentStart, segmentEnd)) {\n segmentDraggerGfx = (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.addSegmentDragger)(gfx, segmentStart, segmentEnd);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(segmentDraggerGfx, { 'data-segment-idx': i });\n\n bindInteractionEvents(segmentDraggerGfx, 'mousemove', connection);\n }\n }\n }\n\n function clearBendpoints(gfx) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.forEach)((0,min_dom__WEBPACK_IMPORTED_MODULE_2__.queryAll)('.' + _BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.BENDPOINT_CLS, gfx), function(node) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.remove)(node);\n });\n }\n\n function clearSegmentDraggers(gfx) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.forEach)((0,min_dom__WEBPACK_IMPORTED_MODULE_2__.queryAll)('.' + _BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.SEGMENT_DRAGGER_CLS, gfx), function(node) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.remove)(node);\n });\n }\n\n function addHandles(connection) {\n\n var gfx = getBendpointsContainer(connection);\n\n if (!gfx) {\n gfx = getBendpointsContainer(connection, true);\n\n createBendpoints(gfx, connection);\n createSegmentDraggers(gfx, connection);\n }\n\n return gfx;\n }\n\n function updateHandles(connection) {\n\n var gfx = getBendpointsContainer(connection);\n\n if (gfx) {\n clearSegmentDraggers(gfx);\n clearBendpoints(gfx);\n createSegmentDraggers(gfx, connection);\n createBendpoints(gfx, connection);\n }\n }\n\n function updateFloatingBendpointPosition(parentGfx, intersection) {\n var floating = (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.query)('.floating', parentGfx),\n point = intersection.point;\n\n if (!floating) {\n return;\n }\n\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_5__.translate)(floating, point.x, point.y);\n\n }\n\n function updateSegmentDraggerPosition(parentGfx, intersection, waypoints) {\n\n var draggerGfx = getSegmentDragger(intersection.index, parentGfx),\n segmentStart = waypoints[intersection.index - 1],\n segmentEnd = waypoints[intersection.index],\n point = intersection.point,\n mid = (0,_util_Geometry__WEBPACK_IMPORTED_MODULE_0__.getMidPoint)(segmentStart, segmentEnd),\n alignment = (0,_util_Geometry__WEBPACK_IMPORTED_MODULE_0__.pointsAligned)(segmentStart, segmentEnd),\n draggerVisual, relativePosition;\n\n if (!draggerGfx) {\n return;\n }\n\n draggerVisual = getDraggerVisual(draggerGfx);\n\n relativePosition = {\n x: point.x - mid.x,\n y: point.y - mid.y\n };\n\n if (alignment === 'v') {\n\n // rotate position\n relativePosition = {\n x: relativePosition.y,\n y: relativePosition.x\n };\n }\n\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_5__.translate)(draggerVisual, relativePosition.x, relativePosition.y);\n }\n\n eventBus.on('connection.changed', function(event) {\n updateHandles(event.element);\n });\n\n eventBus.on('connection.remove', function(event) {\n var gfx = getBendpointsContainer(event.element);\n\n if (gfx) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.remove)(gfx);\n }\n });\n\n eventBus.on('element.marker.update', function(event) {\n\n var element = event.element,\n bendpointsGfx;\n\n if (!element.waypoints) {\n return;\n }\n\n bendpointsGfx = addHandles(element);\n\n if (event.add) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.classes)(bendpointsGfx).add(event.marker);\n } else {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.classes)(bendpointsGfx).remove(event.marker);\n }\n });\n\n eventBus.on('element.mousemove', function(event) {\n\n var element = event.element,\n waypoints = element.waypoints,\n bendpointsGfx,\n intersection;\n\n if (waypoints) {\n bendpointsGfx = getBendpointsContainer(element, true);\n\n intersection = (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.getConnectionIntersection)(canvas, waypoints, event.originalEvent);\n\n if (!intersection) {\n return;\n }\n\n updateFloatingBendpointPosition(bendpointsGfx, intersection);\n\n if (!intersection.bendpoint) {\n updateSegmentDraggerPosition(bendpointsGfx, intersection, waypoints);\n }\n\n }\n });\n\n eventBus.on('element.mousedown', function(event) {\n\n if (!(0,_util_Mouse__WEBPACK_IMPORTED_MODULE_7__.isPrimaryButton)(event)) {\n return;\n }\n\n var originalEvent = event.originalEvent,\n element = event.element;\n\n if (!element.waypoints) {\n return;\n }\n\n return activateBendpointMove(originalEvent, element);\n });\n\n eventBus.on('selection.changed', function(event) {\n var newSelection = event.newSelection,\n primary = newSelection[0];\n\n if (primary && primary.waypoints) {\n addHandles(primary);\n }\n });\n\n eventBus.on('element.hover', function(event) {\n var element = event.element;\n\n if (element.waypoints) {\n addHandles(element);\n interactionEvents.registerEvent(event.gfx, 'mousemove', 'element.mousemove');\n }\n });\n\n eventBus.on('element.out', function(event) {\n interactionEvents.unregisterEvent(event.gfx, 'mousemove', 'element.mousemove');\n });\n\n // update bendpoint container data attribute on element ID change\n eventBus.on('element.updateId', function(context) {\n var element = context.element,\n newId = context.newId;\n\n if (element.waypoints) {\n var bendpointContainer = getBendpointsContainer(element);\n\n if (bendpointContainer) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.attr)(bendpointContainer, { 'data-element-id': newId });\n }\n }\n });\n\n // API\n\n this.addHandles = addHandles;\n this.updateHandles = updateHandles;\n this.getBendpointsContainer = getBendpointsContainer;\n this.getSegmentDragger = getSegmentDragger;\n}\n\nBendpoints.$inject = [\n 'eventBus',\n 'canvas',\n 'interactionEvents',\n 'bendpointMove',\n 'connectionSegmentMove'\n];\n\n\n\n// helper /////////////\n\nfunction getDraggerVisual(draggerGfx) {\n return (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.query)('.djs-visual', draggerGfx);\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/bendpoints/Bendpoints.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/bendpoints/ConnectionSegmentMove.js":
/*!**********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/bendpoints/ConnectionSegmentMove.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ConnectionSegmentMove)\n/* harmony export */ });\n/* harmony import */ var _util_Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/Geometry */ \"./node_modules/diagram-js/lib/util/Geometry.js\");\n/* harmony import */ var _BendpointUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BendpointUtil */ \"./node_modules/diagram-js/lib/features/bendpoints/BendpointUtil.js\");\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n\n\n\n\n\n\nvar MARKER_CONNECT_HOVER = 'connect-hover',\n MARKER_CONNECT_UPDATING = 'djs-updating';\n\n\n\n\n\n\nfunction axisAdd(point, axis, delta) {\n return axisSet(point, axis, point[axis] + delta);\n}\n\nfunction axisSet(point, axis, value) {\n return {\n x: (axis === 'x' ? value : point.x),\n y: (axis === 'y' ? value : point.y)\n };\n}\n\nfunction axisFenced(position, segmentStart, segmentEnd, axis) {\n\n var maxValue = Math.max(segmentStart[axis], segmentEnd[axis]),\n minValue = Math.min(segmentStart[axis], segmentEnd[axis]);\n\n var padding = 20;\n\n var fencedValue = Math.min(Math.max(minValue + padding, position[axis]), maxValue - padding);\n\n return axisSet(segmentStart, axis, fencedValue);\n}\n\nfunction flipAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\n/**\n * Get the docking point on the given element.\n *\n * Compute a reasonable docking, if non exists.\n *\n * @param {Point} point\n * @param {djs.model.Shape} referenceElement\n * @param {string} moveAxis (x|y)\n *\n * @return {Point}\n */\nfunction getDocking(point, referenceElement, moveAxis) {\n\n var referenceMid,\n inverseAxis;\n\n if (point.original) {\n return point.original;\n } else {\n referenceMid = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__.getMid)(referenceElement);\n inverseAxis = flipAxis(moveAxis);\n\n return axisSet(point, inverseAxis, referenceMid[inverseAxis]);\n }\n}\n\n/**\n * A component that implements moving of bendpoints\n */\nfunction ConnectionSegmentMove(\n injector, eventBus, canvas,\n dragging, graphicsFactory, modeling) {\n\n // optional connection docking integration\n var connectionDocking = injector.get('connectionDocking', false);\n\n\n // API\n\n this.start = function(event, connection, idx) {\n\n var context,\n gfx = canvas.getGraphics(connection),\n segmentStartIndex = idx - 1,\n segmentEndIndex = idx,\n waypoints = connection.waypoints,\n segmentStart = waypoints[segmentStartIndex],\n segmentEnd = waypoints[segmentEndIndex],\n intersection = (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.getConnectionIntersection)(canvas, waypoints, event),\n direction, axis, dragPosition;\n\n direction = (0,_util_Geometry__WEBPACK_IMPORTED_MODULE_2__.pointsAligned)(segmentStart, segmentEnd);\n\n // do not move diagonal connection\n if (!direction) {\n return;\n }\n\n // the axis where we are going to move things\n axis = direction === 'v' ? 'x' : 'y';\n\n if (segmentStartIndex === 0) {\n segmentStart = getDocking(segmentStart, connection.source, axis);\n }\n\n if (segmentEndIndex === waypoints.length - 1) {\n segmentEnd = getDocking(segmentEnd, connection.target, axis);\n }\n\n if (intersection) {\n dragPosition = intersection.point;\n } else {\n\n // set to segment center as default\n dragPosition = {\n x: (segmentStart.x + segmentEnd.x) / 2,\n y: (segmentStart.y + segmentEnd.y) / 2\n };\n }\n\n context = {\n connection: connection,\n segmentStartIndex: segmentStartIndex,\n segmentEndIndex: segmentEndIndex,\n segmentStart: segmentStart,\n segmentEnd: segmentEnd,\n axis: axis,\n dragPosition: dragPosition\n };\n\n dragging.init(event, dragPosition, 'connectionSegment.move', {\n cursor: axis === 'x' ? 'resize-ew' : 'resize-ns',\n data: {\n connection: connection,\n connectionGfx: gfx,\n context: context\n }\n });\n };\n\n /**\n * Crop connection if connection cropping is provided.\n *\n * @param {Connection} connection\n * @param {Array} newWaypoints\n *\n * @return {Array} cropped connection waypoints\n */\n function cropConnection(connection, newWaypoints) {\n\n // crop connection, if docking service is provided only\n if (!connectionDocking) {\n return newWaypoints;\n }\n\n var oldWaypoints = connection.waypoints,\n croppedWaypoints;\n\n // temporary set new waypoints\n connection.waypoints = newWaypoints;\n\n croppedWaypoints = connectionDocking.getCroppedWaypoints(connection);\n\n // restore old waypoints\n connection.waypoints = oldWaypoints;\n\n return croppedWaypoints;\n }\n\n // DRAGGING IMPLEMENTATION\n\n function redrawConnection(data) {\n graphicsFactory.update('connection', data.connection, data.connectionGfx);\n }\n\n function updateDragger(context, segmentOffset, event) {\n\n var newWaypoints = context.newWaypoints,\n segmentStartIndex = context.segmentStartIndex + segmentOffset,\n segmentStart = newWaypoints[segmentStartIndex],\n segmentEndIndex = context.segmentEndIndex + segmentOffset,\n segmentEnd = newWaypoints[segmentEndIndex],\n axis = flipAxis(context.axis);\n\n // make sure the dragger does not move\n // outside the connection\n var draggerPosition = axisFenced(event, segmentStart, segmentEnd, axis);\n\n // update dragger\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__.translate)(context.draggerGfx, draggerPosition.x, draggerPosition.y);\n }\n\n /**\n * Filter waypoints for redundant ones (i.e. on the same axis).\n * Returns the filtered waypoints and the offset related to the segment move.\n *\n * @param {Array} waypoints\n * @param {Integer} segmentStartIndex of moved segment start\n *\n * @return {Object} { filteredWaypoints, segmentOffset }\n */\n function filterRedundantWaypoints(waypoints, segmentStartIndex) {\n\n var segmentOffset = 0;\n\n var filteredWaypoints = waypoints.filter(function(r, idx) {\n if ((0,_util_Geometry__WEBPACK_IMPORTED_MODULE_2__.pointsOnLine)(waypoints[idx - 1], waypoints[idx + 1], r)) {\n\n // remove point and increment offset\n segmentOffset = idx <= segmentStartIndex ? segmentOffset - 1 : segmentOffset;\n return false;\n }\n\n // dont remove point\n return true;\n });\n\n return {\n waypoints: filteredWaypoints,\n segmentOffset: segmentOffset\n };\n }\n\n eventBus.on('connectionSegment.move.start', function(event) {\n\n var context = event.context,\n connection = event.connection,\n layer = canvas.getLayer('overlays');\n\n context.originalWaypoints = connection.waypoints.slice();\n\n // add dragger gfx\n context.draggerGfx = (0,_BendpointUtil__WEBPACK_IMPORTED_MODULE_1__.addSegmentDragger)(layer, context.segmentStart, context.segmentEnd);\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.classes)(context.draggerGfx).add('djs-dragging');\n\n canvas.addMarker(connection, MARKER_CONNECT_UPDATING);\n });\n\n eventBus.on('connectionSegment.move.move', function(event) {\n\n var context = event.context,\n connection = context.connection,\n segmentStartIndex = context.segmentStartIndex,\n segmentEndIndex = context.segmentEndIndex,\n segmentStart = context.segmentStart,\n segmentEnd = context.segmentEnd,\n axis = context.axis;\n\n var newWaypoints = context.originalWaypoints.slice(),\n newSegmentStart = axisAdd(segmentStart, axis, event['d' + axis]),\n newSegmentEnd = axisAdd(segmentEnd, axis, event['d' + axis]);\n\n // original waypoint count and added / removed\n // from start waypoint delta. We use the later\n // to retrieve the updated segmentStartIndex / segmentEndIndex\n var waypointCount = newWaypoints.length,\n segmentOffset = 0;\n\n // move segment start / end by axis delta\n newWaypoints[segmentStartIndex] = newSegmentStart;\n newWaypoints[segmentEndIndex] = newSegmentEnd;\n\n var sourceToSegmentOrientation,\n targetToSegmentOrientation;\n\n // handle first segment\n if (segmentStartIndex < 2) {\n sourceToSegmentOrientation = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__.getOrientation)(connection.source, newSegmentStart);\n\n // first bendpoint, remove first segment if intersecting\n if (segmentStartIndex === 1) {\n\n if (sourceToSegmentOrientation === 'intersect') {\n newWaypoints.shift();\n newWaypoints[0] = newSegmentStart;\n segmentOffset--;\n }\n }\n\n // docking point, add segment if not intersecting anymore\n else {\n if (sourceToSegmentOrientation !== 'intersect') {\n newWaypoints.unshift(segmentStart);\n segmentOffset++;\n }\n }\n }\n\n // handle last segment\n if (segmentEndIndex > waypointCount - 3) {\n targetToSegmentOrientation = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_0__.getOrientation)(connection.target, newSegmentEnd);\n\n // last bendpoint, remove last segment if intersecting\n if (segmentEndIndex === waypointCount - 2) {\n\n if (targetToSegmentOrientation === 'intersect') {\n newWaypoints.pop();\n newWaypoints[newWaypoints.length - 1] = newSegmentEnd;\n }\n }\n\n // last bendpoint, remove last segment if intersecting\n else {\n if (targetToSegmentOrientation !== 'intersect') {\n newWaypoints.push(segmentEnd);\n }\n }\n }\n\n // update connection waypoints\n context.newWaypoints = connection.waypoints = cropConnection(connection, newWaypoints);\n\n // update dragger position\n updateDragger(context, segmentOffset, event);\n\n // save segmentOffset in context\n context.newSegmentStartIndex = segmentStartIndex + segmentOffset;\n\n // redraw connection\n redrawConnection(event);\n });\n\n eventBus.on('connectionSegment.move.hover', function(event) {\n\n event.context.hover = event.hover;\n canvas.addMarker(event.hover, MARKER_CONNECT_HOVER);\n });\n\n eventBus.on([\n 'connectionSegment.move.out',\n 'connectionSegment.move.cleanup'\n ], function(event) {\n\n // remove connect marker\n // if it was added\n var hover = event.context.hover;\n\n if (hover) {\n canvas.removeMarker(hover, MARKER_CONNECT_HOVER);\n }\n });\n\n eventBus.on('connectionSegment.move.cleanup', function(event) {\n\n var context = event.context,\n connection = context.connection;\n\n // remove dragger gfx\n if (context.draggerGfx) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_4__.remove)(context.draggerGfx);\n }\n\n canvas.removeMarker(connection, MARKER_CONNECT_UPDATING);\n });\n\n eventBus.on([\n 'connectionSegment.move.cancel',\n 'connectionSegment.move.end'\n ], function(event) {\n var context = event.context,\n connection = context.connection;\n\n connection.waypoints = context.originalWaypoints;\n\n redrawConnection(event);\n });\n\n eventBus.on('connectionSegment.move.end', function(event) {\n\n var context = event.context,\n connection = context.connection,\n newWaypoints = context.newWaypoints,\n newSegmentStartIndex = context.newSegmentStartIndex;\n\n // ensure we have actual pixel values bendpoint\n // coordinates (important when zoom level was > 1 during move)\n newWaypoints = newWaypoints.map(function(p) {\n return {\n original: p.original,\n x: Math.round(p.x),\n y: Math.round(p.y)\n };\n });\n\n // apply filter redunant waypoints\n var filtered = filterRedundantWaypoints(newWaypoints, newSegmentStartIndex);\n\n // get filtered waypoints\n var filteredWaypoints = filtered.waypoints,\n croppedWaypoints = cropConnection(connection, filteredWaypoints),\n segmentOffset = filtered.segmentOffset;\n\n var hints = {\n segmentMove: {\n segmentStartIndex: context.segmentStartIndex,\n newSegmentStartIndex: newSegmentStartIndex + segmentOffset\n }\n };\n\n modeling.updateWaypoints(connection, croppedWaypoints, hints);\n });\n}\n\nConnectionSegmentMove.$inject = [\n 'injector',\n 'eventBus',\n 'canvas',\n 'dragging',\n 'graphicsFactory',\n 'modeling'\n];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/bendpoints/ConnectionSegmentMove.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/bendpoints/index.js":
/*!******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/bendpoints/index.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _dragging__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dragging */ \"./node_modules/diagram-js/lib/features/dragging/index.js\");\n/* harmony import */ var _rules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rules */ \"./node_modules/diagram-js/lib/features/rules/index.js\");\n/* harmony import */ var _Bendpoints__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Bendpoints */ \"./node_modules/diagram-js/lib/features/bendpoints/Bendpoints.js\");\n/* harmony import */ var _BendpointMove__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BendpointMove */ \"./node_modules/diagram-js/lib/features/bendpoints/BendpointMove.js\");\n/* harmony import */ var _BendpointMovePreview__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BendpointMovePreview */ \"./node_modules/diagram-js/lib/features/bendpoints/BendpointMovePreview.js\");\n/* harmony import */ var _ConnectionSegmentMove__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ConnectionSegmentMove */ \"./node_modules/diagram-js/lib/features/bendpoints/ConnectionSegmentMove.js\");\n/* harmony import */ var _BendpointSnapping__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./BendpointSnapping */ \"./node_modules/diagram-js/lib/features/bendpoints/BendpointSnapping.js\");\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _dragging__WEBPACK_IMPORTED_MODULE_0__.default,\n _rules__WEBPACK_IMPORTED_MODULE_1__.default\n ],\n __init__: [ 'bendpoints', 'bendpointSnapping', 'bendpointMovePreview' ],\n bendpoints: [ 'type', _Bendpoints__WEBPACK_IMPORTED_MODULE_2__.default ],\n bendpointMove: [ 'type', _BendpointMove__WEBPACK_IMPORTED_MODULE_3__.default ],\n bendpointMovePreview: [ 'type', _BendpointMovePreview__WEBPACK_IMPORTED_MODULE_4__.default ],\n connectionSegmentMove: [ 'type', _ConnectionSegmentMove__WEBPACK_IMPORTED_MODULE_5__.default ],\n bendpointSnapping: [ 'type', _BendpointSnapping__WEBPACK_IMPORTED_MODULE_6__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/bendpoints/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/change-support/ChangeSupport.js":
/*!******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/change-support/ChangeSupport.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ChangeSupport)\n/* harmony export */ });\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\n\n/**\n * Adds change support to the diagram, including\n *\n * \n * redrawing shapes and connections on change \n * \n *\n * @param {EventBus} eventBus\n * @param {Canvas} canvas\n * @param {ElementRegistry} elementRegistry\n * @param {GraphicsFactory} graphicsFactory\n */\nfunction ChangeSupport(\n eventBus, canvas, elementRegistry,\n graphicsFactory) {\n\n\n // redraw shapes / connections on change\n\n eventBus.on('element.changed', function(event) {\n\n var element = event.element;\n\n // element might have been deleted and replaced by new element with same ID\n // thus check for parent of element except for root element\n if (element.parent || element === canvas.getRootElement()) {\n event.gfx = elementRegistry.getGraphics(element);\n }\n\n // shape + gfx may have been deleted\n if (!event.gfx) {\n return;\n }\n\n eventBus.fire((0,_util_Elements__WEBPACK_IMPORTED_MODULE_0__.getType)(element) + '.changed', event);\n });\n\n eventBus.on('elements.changed', function(event) {\n\n var elements = event.elements;\n\n elements.forEach(function(e) {\n eventBus.fire('element.changed', { element: e });\n });\n\n graphicsFactory.updateContainments(elements);\n });\n\n eventBus.on('shape.changed', function(event) {\n graphicsFactory.update('shape', event.element, event.gfx);\n });\n\n eventBus.on('connection.changed', function(event) {\n graphicsFactory.update('connection', event.element, event.gfx);\n });\n}\n\nChangeSupport.$inject = [\n 'eventBus',\n 'canvas',\n 'elementRegistry',\n 'graphicsFactory'\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/change-support/ChangeSupport.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/change-support/index.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/change-support/index.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ChangeSupport__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ChangeSupport */ \"./node_modules/diagram-js/lib/features/change-support/ChangeSupport.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'changeSupport'],\n changeSupport: [ 'type', _ChangeSupport__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/change-support/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/clipboard/Clipboard.js":
/*!*********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/clipboard/Clipboard.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Clipboard)\n/* harmony export */ });\n/**\n * A clip board stub\n */\nfunction Clipboard() {}\n\n\nClipboard.prototype.get = function() {\n return this._data;\n};\n\nClipboard.prototype.set = function(data) {\n this._data = data;\n};\n\nClipboard.prototype.clear = function() {\n var data = this._data;\n\n delete this._data;\n\n return data;\n};\n\nClipboard.prototype.isEmpty = function() {\n return !this._data;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/clipboard/Clipboard.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/clipboard/index.js":
/*!*****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/clipboard/index.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Clipboard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Clipboard */ \"./node_modules/diagram-js/lib/features/clipboard/Clipboard.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n clipboard: [ 'type', _Clipboard__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/clipboard/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/connect/Connect.js":
/*!*****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/connect/Connect.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Connect),\n/* harmony export */ \"isReverse\": () => (/* binding */ isReverse)\n/* harmony export */ });\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n\nfunction Connect(eventBus, dragging, modeling, rules) {\n\n // rules\n\n function canConnect(source, target) {\n return rules.allowed('connection.create', {\n source: source,\n target: target\n });\n }\n\n function canConnectReverse(source, target) {\n return canConnect(target, source);\n }\n\n\n // event handlers\n\n eventBus.on('connect.hover', function(event) {\n var context = event.context,\n start = context.start,\n hover = event.hover,\n canExecute;\n\n // cache hover state\n context.hover = hover;\n\n canExecute = context.canExecute = canConnect(start, hover);\n\n // ignore hover\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNil)(canExecute)) {\n return;\n }\n\n if (canExecute !== false) {\n context.source = start;\n context.target = hover;\n\n return;\n }\n\n canExecute = context.canExecute = canConnectReverse(start, hover);\n\n // ignore hover\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNil)(canExecute)) {\n return;\n }\n\n if (canExecute !== false) {\n context.source = hover;\n context.target = start;\n }\n });\n\n eventBus.on([ 'connect.out', 'connect.cleanup' ], function(event) {\n var context = event.context;\n\n context.hover = null;\n context.source = null;\n context.target = null;\n\n context.canExecute = false;\n });\n\n eventBus.on('connect.end', function(event) {\n var context = event.context,\n canExecute = context.canExecute,\n connectionStart = context.connectionStart,\n connectionEnd = {\n x: event.x,\n y: event.y\n },\n source = context.source,\n target = context.target;\n\n if (!canExecute) {\n return false;\n }\n\n var attrs = null,\n hints = {\n connectionStart: isReverse(context) ? connectionEnd : connectionStart,\n connectionEnd: isReverse(context) ? connectionStart : connectionEnd\n };\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isObject)(canExecute)) {\n attrs = canExecute;\n }\n\n modeling.connect(source, target, attrs, hints);\n });\n\n\n // API\n\n /**\n * Start connect operation.\n *\n * @param {DOMEvent} event\n * @param {djs.model.Base} start\n * @param {Point} [connectionStart]\n * @param {boolean} [autoActivate=false]\n */\n this.start = function(event, start, connectionStart, autoActivate) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isObject)(connectionStart)) {\n autoActivate = connectionStart;\n connectionStart = (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(start);\n }\n\n dragging.init(event, 'connect', {\n autoActivate: autoActivate,\n data: {\n shape: start,\n context: {\n start: start,\n connectionStart: connectionStart\n }\n }\n });\n };\n}\n\nConnect.$inject = [\n 'eventBus',\n 'dragging',\n 'modeling',\n 'rules'\n];\n\n\n// helpers //////////\n\nfunction isReverse(context) {\n var hover = context.hover,\n source = context.source,\n target = context.target;\n\n return hover && source && hover === source && source !== target;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/connect/Connect.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/connect/ConnectPreview.js":
/*!************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/connect/ConnectPreview.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ConnectPreview)\n/* harmony export */ });\n/* harmony import */ var _Connect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Connect */ \"./node_modules/diagram-js/lib/features/connect/Connect.js\");\n\n\nvar HIGH_PRIORITY = 1100,\n LOW_PRIORITY = 900;\n\nvar MARKER_OK = 'connect-ok',\n MARKER_NOT_OK = 'connect-not-ok';\n\n/**\n * Shows connection preview during connect.\n *\n * @param {didi.Injector} injector\n * @param {EventBus} eventBus\n * @param {Canvas} canvas\n */\nfunction ConnectPreview(injector, eventBus, canvas) {\n var connectionPreview = injector.get('connectionPreview', false);\n\n connectionPreview && eventBus.on('connect.move', function(event) {\n var context = event.context,\n canConnect = context.canExecute,\n hover = context.hover,\n source = context.source,\n start = context.start,\n startPosition = context.startPosition,\n target = context.target,\n connectionStart = context.connectionStart || startPosition,\n connectionEnd = context.connectionEnd || {\n x: event.x,\n y: event.y\n },\n previewStart = connectionStart,\n previewEnd = connectionEnd;\n\n if ((0,_Connect__WEBPACK_IMPORTED_MODULE_0__.isReverse)(context)) {\n previewStart = connectionEnd;\n previewEnd = connectionStart;\n }\n\n connectionPreview.drawPreview(context, canConnect, {\n source: source || start,\n target: target || hover,\n connectionStart: previewStart,\n connectionEnd: previewEnd\n });\n });\n\n eventBus.on('connect.hover', LOW_PRIORITY, function(event) {\n var context = event.context,\n hover = event.hover,\n canExecute = context.canExecute;\n\n // ignore hover\n if (canExecute === null) {\n return;\n }\n\n canvas.addMarker(hover, canExecute ? MARKER_OK : MARKER_NOT_OK);\n });\n\n eventBus.on([\n 'connect.out',\n 'connect.cleanup'\n ], HIGH_PRIORITY, function(event) {\n var hover = event.hover;\n\n if (hover) {\n canvas.removeMarker(hover, MARKER_OK);\n canvas.removeMarker(hover, MARKER_NOT_OK);\n }\n });\n\n connectionPreview && eventBus.on('connect.cleanup', function(event) {\n connectionPreview.cleanUp(event.context);\n });\n}\n\nConnectPreview.$inject = [\n 'injector',\n 'eventBus',\n 'canvas'\n];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/connect/ConnectPreview.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/connect/index.js":
/*!***************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/connect/index.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var _rules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rules */ \"./node_modules/diagram-js/lib/features/rules/index.js\");\n/* harmony import */ var _dragging__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dragging */ \"./node_modules/diagram-js/lib/features/dragging/index.js\");\n/* harmony import */ var _Connect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Connect */ \"./node_modules/diagram-js/lib/features/connect/Connect.js\");\n/* harmony import */ var _ConnectPreview__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ConnectPreview */ \"./node_modules/diagram-js/lib/features/connect/ConnectPreview.js\");\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _selection__WEBPACK_IMPORTED_MODULE_0__.default,\n _rules__WEBPACK_IMPORTED_MODULE_1__.default,\n _dragging__WEBPACK_IMPORTED_MODULE_2__.default\n ],\n __init__: [\n 'connectPreview'\n ],\n connect: [ 'type', _Connect__WEBPACK_IMPORTED_MODULE_3__.default ],\n connectPreview: [ 'type', _ConnectPreview__WEBPACK_IMPORTED_MODULE_4__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/connect/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/connection-preview/ConnectionPreview.js":
/*!**************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/connection-preview/ConnectionPreview.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ConnectionPreview)\n/* harmony export */ });\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n\n\n\n\n\n\n\nvar MARKER_CONNECTION_PREVIEW = 'djs-connection-preview';\n\n/**\n * Draws connection preview. Optionally, this can use layouter and connection docking to draw\n * better looking previews.\n *\n * @param {didi.Injector} injector\n * @param {Canvas} canvas\n * @param {GraphicsFactory} graphicsFactory\n * @param {ElementFactory} elementFactory\n */\nfunction ConnectionPreview(\n injector,\n canvas,\n graphicsFactory,\n elementFactory\n) {\n this._canvas = canvas;\n this._graphicsFactory = graphicsFactory;\n this._elementFactory = elementFactory;\n\n // optional components\n this._connectionDocking = injector.get('connectionDocking', false);\n this._layouter = injector.get('layouter', false);\n}\n\nConnectionPreview.$inject = [\n 'injector',\n 'canvas',\n 'graphicsFactory',\n 'elementFactory'\n];\n\n/**\n * Draw connection preview.\n *\n * Provide at least one of and to create a preview.\n * In the clean up stage, call `connectionPreview#cleanUp` with the context to remove preview.\n *\n * @param {Object} context\n * @param {Object|boolean} canConnect\n * @param {Object} hints\n * @param {djs.model.shape} [hints.source] source element\n * @param {djs.model.shape} [hints.target] target element\n * @param {Point} [hints.connectionStart] connection preview start\n * @param {Point} [hints.connectionEnd] connection preview end\n * @param {Array} [hints.waypoints] provided waypoints for preview\n * @param {boolean} [hints.noLayout] true if preview should not be laid out\n * @param {boolean} [hints.noCropping] true if preview should not be cropped\n * @param {boolean} [hints.noNoop] true if simple connection should not be drawn\n */\nConnectionPreview.prototype.drawPreview = function(context, canConnect, hints) {\n\n hints = hints || {};\n\n var connectionPreviewGfx = context.connectionPreviewGfx,\n getConnection = context.getConnection,\n source = hints.source,\n target = hints.target,\n waypoints = hints.waypoints,\n connectionStart = hints.connectionStart,\n connectionEnd = hints.connectionEnd,\n noLayout = hints.noLayout,\n noCropping = hints.noCropping,\n noNoop = hints.noNoop,\n connection;\n\n var self = this;\n\n if (!connectionPreviewGfx) {\n connectionPreviewGfx = context.connectionPreviewGfx = this.createConnectionPreviewGfx();\n }\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.clear)(connectionPreviewGfx);\n\n if (!getConnection) {\n getConnection = context.getConnection = cacheReturnValues(function(canConnect, source, target) {\n return self.getConnection(canConnect, source, target);\n });\n }\n\n if (canConnect) {\n connection = getConnection(canConnect, source, target);\n }\n\n if (!connection) {\n !noNoop && this.drawNoopPreview(connectionPreviewGfx, hints);\n return;\n }\n\n connection.waypoints = waypoints || [];\n\n // optional layout\n if (this._layouter && !noLayout) {\n connection.waypoints = this._layouter.layoutConnection(connection, {\n source: source,\n target: target,\n connectionStart: connectionStart,\n connectionEnd: connectionEnd,\n waypoints: hints.waypoints || connection.waypoints\n });\n }\n\n // fallback if no waypoints were provided nor created with layouter\n if (!connection.waypoints || !connection.waypoints.length) {\n connection.waypoints = [\n source ? (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(source) : connectionStart,\n target ? (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(target) : connectionEnd\n ];\n }\n\n // optional cropping\n if (this._connectionDocking && (source || target) && !noCropping) {\n connection.waypoints = this._connectionDocking.getCroppedWaypoints(connection, source, target);\n }\n\n this._graphicsFactory.drawConnection(connectionPreviewGfx, connection);\n};\n\n/**\n * Draw simple connection between source and target or provided points.\n *\n * @param {SVGElement} connectionPreviewGfx container for the connection\n * @param {Object} hints\n * @param {djs.model.shape} [hints.source] source element\n * @param {djs.model.shape} [hints.target] target element\n * @param {Point} [hints.connectionStart] required if source is not provided\n * @param {Point} [hints.connectionEnd] required if target is not provided\n */\nConnectionPreview.prototype.drawNoopPreview = function(connectionPreviewGfx, hints) {\n var source = hints.source,\n target = hints.target,\n start = hints.connectionStart || (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(source),\n end = hints.connectionEnd || (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getMid)(target);\n\n var waypoints = this.cropWaypoints(start, end, source, target);\n\n var connection = this.createNoopConnection(waypoints[0], waypoints[1]);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.append)(connectionPreviewGfx, connection);\n};\n\n/**\n * Return cropped waypoints.\n *\n * @param {Point} start\n * @param {Point} end\n * @param {djs.model.shape} source\n * @param {djs.model.shape} target\n *\n * @returns {Array}\n */\nConnectionPreview.prototype.cropWaypoints = function(start, end, source, target) {\n var graphicsFactory = this._graphicsFactory,\n sourcePath = source && graphicsFactory.getShapePath(source),\n targetPath = target && graphicsFactory.getShapePath(target),\n connectionPath = graphicsFactory.getConnectionPath({ waypoints: [ start, end ] });\n\n start = (source && (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getElementLineIntersection)(sourcePath, connectionPath, true)) || start;\n end = (target && (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_1__.getElementLineIntersection)(targetPath, connectionPath, false)) || end;\n\n return [ start, end ];\n};\n\n/**\n * Remove connection preview container if it exists.\n *\n * @param {Object} [context]\n * @param {SVGElement} [context.connectionPreviewGfx] preview container\n */\nConnectionPreview.prototype.cleanUp = function(context) {\n if (context && context.connectionPreviewGfx) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.remove)(context.connectionPreviewGfx);\n }\n};\n\n/**\n * Get connection that connects source and target.\n *\n * @param {Object|boolean} canConnect\n *\n * @returns {djs.model.connection}\n */\nConnectionPreview.prototype.getConnection = function(canConnect) {\n var attrs = ensureConnectionAttrs(canConnect);\n\n return this._elementFactory.createConnection(attrs);\n};\n\n\n/**\n * Add and return preview graphics.\n *\n * @returns {SVGElement}\n */\nConnectionPreview.prototype.createConnectionPreviewGfx = function() {\n var gfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.create)('g');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(gfx, {\n pointerEvents: 'none'\n });\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.classes)(gfx).add(MARKER_CONNECTION_PREVIEW);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.append)(this._canvas.getDefaultLayer(), gfx);\n\n return gfx;\n};\n\n/**\n * Create and return simple connection.\n *\n * @param {Point} start\n * @param {Point} end\n *\n * @returns {SVGElement}\n */\nConnectionPreview.prototype.createNoopConnection = function(start, end) {\n var connection = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.create)('polyline');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(connection, {\n 'stroke': '#333',\n 'strokeDasharray': [ 1 ],\n 'strokeWidth': 2,\n 'pointer-events': 'none'\n });\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(connection, { 'points': [ start.x, start.y, end.x, end.y ] });\n\n return connection;\n};\n\n// helpers //////////\n\n/**\n * Returns function that returns cached return values referenced by stringified first argument.\n *\n * @param {Function} fn\n *\n * @return {Function}\n */\nfunction cacheReturnValues(fn) {\n var returnValues = {};\n\n /**\n * Return cached return value referenced by stringified first argument.\n *\n * @returns {*}\n */\n return function(firstArgument) {\n var key = JSON.stringify(firstArgument);\n\n var returnValue = returnValues[key];\n\n if (!returnValue) {\n returnValue = returnValues[key] = fn.apply(null, arguments);\n }\n\n return returnValue;\n };\n}\n\n/**\n * Ensure connection attributes is object.\n *\n * @param {Object|boolean} canConnect\n *\n * @returns {Object}\n */\nfunction ensureConnectionAttrs(canConnect) {\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.isObject)(canConnect)) {\n return canConnect;\n } else {\n return {};\n }\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/connection-preview/ConnectionPreview.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/connection-preview/index.js":
/*!**************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/connection-preview/index.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ConnectionPreview__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ConnectionPreview */ \"./node_modules/diagram-js/lib/features/connection-preview/ConnectionPreview.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'connectionPreview' ],\n connectionPreview: [ 'type', _ConnectionPreview__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/connection-preview/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/context-pad/ContextPad.js":
/*!************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/context-pad/ContextPad.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ContextPad)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n\n\n\n\nvar entrySelector = '.entry';\n\nvar DEFAULT_PRIORITY = 1000;\n\n\n/**\n * A context pad that displays element specific, contextual actions next\n * to a diagram element.\n *\n * @param {Object} config\n * @param {boolean|Object} [config.scale={ min: 1.0, max: 1.5 }]\n * @param {number} [config.scale.min]\n * @param {number} [config.scale.max]\n * @param {EventBus} eventBus\n * @param {Overlays} overlays\n */\nfunction ContextPad(config, eventBus, overlays) {\n\n this._eventBus = eventBus;\n this._overlays = overlays;\n\n var scale = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isDefined)(config && config.scale) ? config.scale : {\n min: 1,\n max: 1.5\n };\n\n this._overlaysConfig = {\n position: {\n right: -9,\n top: -6\n },\n scale: scale\n };\n\n this._current = null;\n\n this._init();\n}\n\nContextPad.$inject = [\n 'config.contextPad',\n 'eventBus',\n 'overlays'\n];\n\n\n/**\n * Registers events needed for interaction with other components\n */\nContextPad.prototype._init = function() {\n\n var eventBus = this._eventBus;\n\n var self = this;\n\n eventBus.on('selection.changed', function(e) {\n\n var selection = e.newSelection;\n\n if (selection.length === 1) {\n self.open(selection[0]);\n } else {\n self.close();\n }\n });\n\n eventBus.on('elements.delete', function(event) {\n var elements = event.elements;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(e) {\n if (self.isOpen(e)) {\n self.close();\n }\n });\n });\n\n eventBus.on('element.changed', function(event) {\n var element = event.element,\n current = self._current;\n\n // force reopen if element for which we are currently opened changed\n if (current && current.element === element) {\n self.open(element, true);\n }\n });\n};\n\n\n/**\n * Register a provider with the context pad\n *\n * @param {number} [priority=1000]\n * @param {ContextPadProvider} provider\n *\n * @example\n * const contextPadProvider = {\n * getContextPadEntries: function(element) {\n * return function(entries) {\n * return {\n * ...entries,\n * 'entry-1': {\n * label: 'My Entry',\n * action: function() { alert(\"I have been clicked!\"); }\n * }\n * };\n * }\n * }\n * };\n *\n * contextPad.registerProvider(800, contextPadProvider);\n */\nContextPad.prototype.registerProvider = function(priority, provider) {\n if (!provider) {\n provider = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n this._eventBus.on('contextPad.getProviders', priority, function(event) {\n event.providers.push(provider);\n });\n};\n\n\n/**\n * Returns the context pad entries for a given element\n *\n * @param {djs.element.Base} element\n *\n * @return {Array} list of entries\n */\nContextPad.prototype.getEntries = function(element) {\n var providers = this._getProviders();\n\n var entries = {};\n\n // loop through all providers and their entries.\n // group entries by id so that overriding an entry is possible\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(providers, function(provider) {\n var entriesOrUpdater = provider.getContextPadEntries(element);\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(entriesOrUpdater)) {\n entries = entriesOrUpdater(entries);\n } else {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(entriesOrUpdater, function(entry, id) {\n entries[id] = entry;\n });\n }\n });\n\n return entries;\n};\n\n\n/**\n * Trigger an action available on the opened context pad\n *\n * @param {string} action\n * @param {Event} event\n * @param {boolean} [autoActivate=false]\n */\nContextPad.prototype.trigger = function(action, event, autoActivate) {\n\n var element = this._current.element,\n entries = this._current.entries,\n entry,\n handler,\n originalEvent,\n button = event.delegateTarget || event.target;\n\n if (!button) {\n return event.preventDefault();\n }\n\n entry = entries[(0,min_dom__WEBPACK_IMPORTED_MODULE_1__.attr)(button, 'data-action')];\n handler = entry.action;\n\n originalEvent = event.originalEvent || event;\n\n // simple action (via callback function)\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(handler)) {\n if (action === 'click') {\n return handler(originalEvent, element, autoActivate);\n }\n } else {\n if (handler[action]) {\n return handler[action](originalEvent, element, autoActivate);\n }\n }\n\n // silence other actions\n event.preventDefault();\n};\n\n\n/**\n * Open the context pad for the given element\n *\n * @param {djs.model.Base} element\n * @param {boolean} force if true, force reopening the context pad\n */\nContextPad.prototype.open = function(element, force) {\n if (!force && this.isOpen(element)) {\n return;\n }\n\n this.close();\n this._updateAndOpen(element);\n};\n\nContextPad.prototype._getProviders = function() {\n\n var event = this._eventBus.createEvent({\n type: 'contextPad.getProviders',\n providers: []\n });\n\n this._eventBus.fire(event);\n\n return event.providers;\n};\n\nContextPad.prototype._updateAndOpen = function(element) {\n\n var entries = this.getEntries(element),\n pad = this.getPad(element),\n html = pad.html;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(entries, function(entry, id) {\n var grouping = entry.group || 'default',\n control = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.domify)(entry.html || '
'),\n container;\n\n (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.attr)(control, 'data-action', id);\n\n container = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.query)('[data-group=' + grouping + ']', html);\n if (!container) {\n container = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.domify)('
');\n html.appendChild(container);\n }\n\n container.appendChild(control);\n\n if (entry.className) {\n addClasses(control, entry.className);\n }\n\n if (entry.title) {\n (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.attr)(control, 'title', entry.title);\n }\n\n if (entry.imageUrl) {\n control.appendChild((0,min_dom__WEBPACK_IMPORTED_MODULE_1__.domify)(' '));\n }\n });\n\n (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.classes)(html).add('open');\n\n this._current = {\n element: element,\n pad: pad,\n entries: entries\n };\n\n this._eventBus.fire('contextPad.open', { current: this._current });\n};\n\n\nContextPad.prototype.getPad = function(element) {\n if (this.isOpen()) {\n return this._current.pad;\n }\n\n var self = this;\n\n var overlays = this._overlays;\n\n var html = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.domify)('
');\n\n var overlaysConfig = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({\n html: html\n }, this._overlaysConfig);\n\n min_dom__WEBPACK_IMPORTED_MODULE_1__.delegate.bind(html, entrySelector, 'click', function(event) {\n self.trigger('click', event);\n });\n\n min_dom__WEBPACK_IMPORTED_MODULE_1__.delegate.bind(html, entrySelector, 'dragstart', function(event) {\n self.trigger('dragstart', event);\n });\n\n // stop propagation of mouse events\n min_dom__WEBPACK_IMPORTED_MODULE_1__.event.bind(html, 'mousedown', function(event) {\n event.stopPropagation();\n });\n\n this._overlayId = overlays.add(element, 'context-pad', overlaysConfig);\n\n var pad = overlays.get(this._overlayId);\n\n this._eventBus.fire('contextPad.create', { element: element, pad: pad });\n\n return pad;\n};\n\n\n/**\n * Close the context pad\n */\nContextPad.prototype.close = function() {\n if (!this.isOpen()) {\n return;\n }\n\n this._overlays.remove(this._overlayId);\n\n this._overlayId = null;\n\n this._eventBus.fire('contextPad.close', { current: this._current });\n\n this._current = null;\n};\n\n/**\n * Check if pad is open. If element is given, will check\n * if pad is opened with given element.\n *\n * @param {Element} element\n * @return {boolean}\n */\nContextPad.prototype.isOpen = function(element) {\n return !!this._current && (!element ? true : this._current.element === element);\n};\n\n\n\n\n// helpers //////////////////////\n\nfunction addClasses(element, classNames) {\n\n var classes = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.classes)(element);\n\n var actualClassNames = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(classNames) ? classNames : classNames.split(/\\s+/g);\n actualClassNames.forEach(function(cls) {\n classes.add(cls);\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/context-pad/ContextPad.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/context-pad/index.js":
/*!*******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/context-pad/index.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _interaction_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../interaction-events */ \"./node_modules/diagram-js/lib/features/interaction-events/index.js\");\n/* harmony import */ var _overlays__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../overlays */ \"./node_modules/diagram-js/lib/features/overlays/index.js\");\n/* harmony import */ var _ContextPad__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ContextPad */ \"./node_modules/diagram-js/lib/features/context-pad/ContextPad.js\");\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _interaction_events__WEBPACK_IMPORTED_MODULE_0__.default,\n _overlays__WEBPACK_IMPORTED_MODULE_1__.default\n ],\n contextPad: [ 'type', _ContextPad__WEBPACK_IMPORTED_MODULE_2__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/context-pad/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/copy-paste/CopyPaste.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/copy-paste/CopyPaste.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CopyPaste)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\n\n\n\n\n\n/**\n * @typedef {Function} listener\n *\n * @param {Object} context\n * @param {Array} context.elements\n *\n * @returns {Array|boolean} - Return elements to be copied or false to disallow\n * copying.\n */\n\n/**\n * @typedef {Function} listener\n *\n * @param {Object} context\n * @param {Object} context.descriptor\n * @param {djs.model.Base} context.element\n * @param {Array} context.elements\n */\n\n/**\n * @typedef {Function} listener\n *\n * @param {Object} context\n * @param {Object} context.elements\n * @param {Object} context.tree\n */\n\n/**\n * @typedef {Function} listener\n *\n * @param {Object} context\n * @param {Object} context.cache - Already created elements.\n * @param {Object} context.descriptor\n */\n\n/**\n * @typedef {Function} listener\n *\n * @param {Object} context\n * @param {Object} context.hints - Add hints before pasting.\n */\n\n/**\n * Copy and paste elements.\n *\n * @param {Canvas} canvas\n * @param {Create} create\n * @param {Clipboard} clipboard\n * @param {ElementFactory} elementFactory\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n * @param {Mouse} mouse\n * @param {Rules} rules\n */\nfunction CopyPaste(\n canvas,\n create,\n clipboard,\n elementFactory,\n eventBus,\n modeling,\n mouse,\n rules\n) {\n\n this._canvas = canvas;\n this._create = create;\n this._clipboard = clipboard;\n this._elementFactory = elementFactory;\n this._eventBus = eventBus;\n this._modeling = modeling;\n this._mouse = mouse;\n this._rules = rules;\n\n eventBus.on('copyPaste.copyElement', function(context) {\n var descriptor = context.descriptor,\n element = context.element,\n elements = context.elements;\n\n // default priority (priority = 1)\n descriptor.priority = 1;\n\n descriptor.id = element.id;\n\n var parentCopied = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(elements, function(e) {\n return e === element.parent;\n });\n\n // do NOT reference parent if parent wasn't copied\n if (parentCopied) {\n descriptor.parent = element.parent.id;\n }\n\n // attachers (priority = 2)\n if (isAttacher(element)) {\n descriptor.priority = 2;\n\n descriptor.host = element.host.id;\n }\n\n // connections (priority = 3)\n if (isConnection(element)) {\n descriptor.priority = 3;\n\n descriptor.source = element.source.id;\n descriptor.target = element.target.id;\n\n descriptor.waypoints = copyWaypoints(element);\n }\n\n // labels (priority = 4)\n if (isLabel(element)) {\n descriptor.priority = 4;\n\n descriptor.labelTarget = element.labelTarget.id;\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)([ 'x', 'y', 'width', 'height' ], function(property) {\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(element[ property ])) {\n descriptor[ property ] = element[ property ];\n }\n });\n\n descriptor.hidden = element.hidden;\n descriptor.collapsed = element.collapsed;\n\n });\n\n eventBus.on('copyPaste.pasteElements', function(context) {\n var hints = context.hints;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(hints, {\n createElementsBehavior: false\n });\n });\n}\n\nCopyPaste.$inject = [\n 'canvas',\n 'create',\n 'clipboard',\n 'elementFactory',\n 'eventBus',\n 'modeling',\n 'mouse',\n 'rules'\n];\n\n\n/**\n * Copy elements.\n *\n * @param {Array} elements\n *\n * @returns {Object}\n */\nCopyPaste.prototype.copy = function(elements) {\n var allowed,\n tree;\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements)) {\n elements = elements ? [ elements ] : [];\n }\n\n allowed = this._eventBus.fire('copyPaste.canCopyElements', {\n elements: elements\n });\n\n if (allowed === false) {\n tree = {};\n } else {\n tree = this.createTree((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(allowed) ? allowed : elements);\n }\n\n // we set an empty tree, selection of elements\n // to copy was empty.\n this._clipboard.set(tree);\n\n this._eventBus.fire('copyPaste.elementsCopied', {\n elements: elements,\n tree: tree\n });\n\n return tree;\n};\n\n/**\n * Paste elements.\n *\n * @param {Object} [context]\n * @param {djs.model.base} [context.element] - Parent.\n * @param {Point} [context.point] - Position.\n * @param {Object} [context.hints] - Hints.\n */\nCopyPaste.prototype.paste = function(context) {\n var tree = this._clipboard.get();\n\n if (this._clipboard.isEmpty()) {\n return;\n }\n\n var hints = context && context.hints || {};\n\n this._eventBus.fire('copyPaste.pasteElements', {\n hints: hints\n });\n\n var elements = this._createElements(tree);\n\n // paste directly\n if (context && context.element && context.point) {\n return this._paste(elements, context.element, context.point, hints);\n }\n\n this._create.start(this._mouse.getLastMoveEvent(), elements, {\n hints: hints || {}\n });\n};\n\n/**\n * Paste elements directly.\n *\n * @param {Array} elements\n * @param {djs.model.base} target\n * @param {Point} position\n * @param {Object} [hints]\n */\nCopyPaste.prototype._paste = function(elements, target, position, hints) {\n\n // make sure each element has x and y\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(element.x)) {\n element.x = 0;\n }\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(element.y)) {\n element.y = 0;\n }\n });\n\n var bbox = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_1__.getBBox)(elements);\n\n // center elements around cursor\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n if (isConnection(element)) {\n element.waypoints = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(element.waypoints, function(waypoint) {\n return {\n x: waypoint.x - bbox.x - bbox.width / 2,\n y: waypoint.y - bbox.y - bbox.height / 2\n };\n });\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(element, {\n x: element.x - bbox.x - bbox.width / 2,\n y: element.y - bbox.y - bbox.height / 2\n });\n });\n\n return this._modeling.createElements(elements, position, target, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, hints));\n};\n\n/**\n * Create elements from tree.\n */\nCopyPaste.prototype._createElements = function(tree) {\n var self = this;\n\n var eventBus = this._eventBus;\n\n var cache = {};\n\n var elements = [];\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(tree, function(branch, depth) {\n\n depth = parseInt(depth, 10);\n\n // sort by priority\n branch = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(branch, 'priority');\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(branch, function(descriptor) {\n\n // remove priority\n var attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.omit)(descriptor, [ 'priority' ]));\n\n if (cache[ descriptor.parent ]) {\n attrs.parent = cache[ descriptor.parent ];\n } else {\n delete attrs.parent;\n }\n\n eventBus.fire('copyPaste.pasteElement', {\n cache: cache,\n descriptor: attrs\n });\n\n var element;\n\n if (isConnection(attrs)) {\n attrs.source = cache[ descriptor.source ];\n attrs.target = cache[ descriptor.target ];\n\n element = cache[ descriptor.id ] = self.createConnection(attrs);\n\n elements.push(element);\n\n return;\n }\n\n if (isLabel(attrs)) {\n attrs.labelTarget = cache[ attrs.labelTarget ];\n\n element = cache[ descriptor.id ] = self.createLabel(attrs);\n\n elements.push(element);\n\n return;\n }\n\n if (attrs.host) {\n attrs.host = cache[ attrs.host ];\n }\n\n element = cache[ descriptor.id ] = self.createShape(attrs);\n\n elements.push(element);\n });\n\n });\n\n return elements;\n};\n\nCopyPaste.prototype.createConnection = function(attrs) {\n var connection = this._elementFactory.createConnection((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.omit)(attrs, [ 'id' ]));\n\n return connection;\n};\n\nCopyPaste.prototype.createLabel = function(attrs) {\n var label = this._elementFactory.createLabel((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.omit)(attrs, [ 'id' ]));\n\n return label;\n};\n\nCopyPaste.prototype.createShape = function(attrs) {\n var shape = this._elementFactory.createShape((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.omit)(attrs, [ 'id' ]));\n\n return shape;\n};\n\n/**\n * Check wether element has relations to other elements e.g. attachers, labels and connections.\n *\n * @param {Object} element\n * @param {Array} elements\n *\n * @returns {boolean}\n */\nCopyPaste.prototype.hasRelations = function(element, elements) {\n var labelTarget,\n source,\n target;\n\n if (isConnection(element)) {\n source = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(elements, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.matchPattern)({ id: element.source.id }));\n target = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(elements, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.matchPattern)({ id: element.target.id }));\n\n if (!source || !target) {\n return false;\n }\n }\n\n if (isLabel(element)) {\n labelTarget = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(elements, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.matchPattern)({ id: element.labelTarget.id }));\n\n if (!labelTarget) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * Create a tree-like structure from elements.\n *\n * @example\n * tree: {\n * 0: [\n * { id: 'Shape_1', priority: 1, ... },\n * { id: 'Shape_2', priority: 1, ... },\n * { id: 'Connection_1', source: 'Shape_1', target: 'Shape_2', priority: 3, ... },\n * ...\n * ],\n * 1: [\n * { id: 'Shape_3', parent: 'Shape1', priority: 1, ... },\n * ...\n * ]\n * };\n *\n * @param {Array} elements\n *\n * @return {Object}\n */\nCopyPaste.prototype.createTree = function(elements) {\n var rules = this._rules,\n self = this;\n\n var tree = {},\n elementsData = [];\n\n var parents = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_1__.getParents)(elements);\n\n function canCopy(element, elements) {\n return rules.allowed('element.copy', {\n element: element,\n elements: elements\n });\n }\n\n function addElementData(element, depth) {\n\n // (1) check wether element has already been added\n var foundElementData = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(elementsData, function(elementsData) {\n return element === elementsData.element;\n });\n\n // (2) add element if not already added\n if (!foundElementData) {\n elementsData.push({\n element: element,\n depth: depth\n });\n\n return;\n }\n\n // (3) update depth\n if (foundElementData.depth < depth) {\n elementsData = removeElementData(foundElementData, elementsData);\n\n elementsData.push({\n element: foundElementData.element,\n depth: depth\n });\n }\n }\n\n function removeElementData(elementData, elementsData) {\n var index = elementsData.indexOf(elementData);\n\n if (index !== -1) {\n elementsData.splice(index, 1);\n }\n\n return elementsData;\n }\n\n // (1) add elements\n (0,_util_Elements__WEBPACK_IMPORTED_MODULE_1__.eachElement)(parents, function(element, _index, depth) {\n\n // do NOT add external labels directly\n if (isLabel(element)) {\n return;\n }\n\n // always copy external labels\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(element.labels, function(label) {\n addElementData(label, depth);\n });\n\n function addRelatedElements(elements) {\n elements && elements.length && (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n\n // add external labels\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(element.labels, function(label) {\n addElementData(label, depth);\n });\n\n addElementData(element, depth);\n });\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)([ element.attachers, element.incoming, element.outgoing ], addRelatedElements);\n\n addElementData(element, depth);\n\n return element.children;\n });\n\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(elementsData, function(elementData) {\n return elementData.element;\n });\n\n // (2) copy elements\n elementsData = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(elementsData, function(elementData) {\n elementData.descriptor = {};\n\n self._eventBus.fire('copyPaste.copyElement', {\n descriptor: elementData.descriptor,\n element: elementData.element,\n elements: elements\n });\n\n return elementData;\n });\n\n // (3) sort elements by priority\n elementsData = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(elementsData, function(elementData) {\n return elementData.descriptor.priority;\n });\n\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(elementsData, function(elementData) {\n return elementData.element;\n });\n\n // (4) create tree\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elementsData, function(elementData) {\n var depth = elementData.depth;\n\n if (!self.hasRelations(elementData.element, elements)) {\n removeElement(elementData.element, elements);\n\n return;\n }\n\n if (!canCopy(elementData.element, elements)) {\n removeElement(elementData.element, elements);\n\n return;\n }\n\n if (!tree[depth]) {\n tree[depth] = [];\n }\n\n tree[depth].push(elementData.descriptor);\n });\n\n return tree;\n};\n\n// helpers //////////\n\nfunction isAttacher(element) {\n return !!element.host;\n}\n\nfunction isConnection(element) {\n return !!element.waypoints;\n}\n\nfunction isLabel(element) {\n return !!element.labelTarget;\n}\n\nfunction copyWaypoints(element) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(element.waypoints, function(waypoint) {\n\n waypoint = copyWaypoint(waypoint);\n\n if (waypoint.original) {\n waypoint.original = copyWaypoint(waypoint.original);\n }\n\n return waypoint;\n });\n}\n\nfunction copyWaypoint(waypoint) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, waypoint);\n}\n\nfunction removeElement(element, elements) {\n var index = elements.indexOf(element);\n\n if (index === -1) {\n return elements;\n }\n\n return elements.splice(index, 1);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/copy-paste/CopyPaste.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/copy-paste/index.js":
/*!******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/copy-paste/index.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../clipboard */ \"./node_modules/diagram-js/lib/features/clipboard/index.js\");\n/* harmony import */ var _create__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../create */ \"./node_modules/diagram-js/lib/features/create/index.js\");\n/* harmony import */ var _mouse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../mouse */ \"./node_modules/diagram-js/lib/features/mouse/index.js\");\n/* harmony import */ var _rules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rules */ \"./node_modules/diagram-js/lib/features/rules/index.js\");\n/* harmony import */ var _CopyPaste__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CopyPaste */ \"./node_modules/diagram-js/lib/features/copy-paste/CopyPaste.js\");\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _clipboard__WEBPACK_IMPORTED_MODULE_0__.default,\n _create__WEBPACK_IMPORTED_MODULE_1__.default,\n _mouse__WEBPACK_IMPORTED_MODULE_2__.default,\n _rules__WEBPACK_IMPORTED_MODULE_3__.default\n ],\n __init__: [ 'copyPaste' ],\n copyPaste: [ 'type', _CopyPaste__WEBPACK_IMPORTED_MODULE_4__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/copy-paste/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/create/Create.js":
/*!***************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/create/Create.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Create)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\nvar MARKER_OK = 'drop-ok',\n MARKER_NOT_OK = 'drop-not-ok',\n MARKER_ATTACH = 'attach-ok',\n MARKER_NEW_PARENT = 'new-parent';\n\n\n\n\n\nvar PREFIX = 'create';\n\nvar HIGH_PRIORITY = 2000;\n\n\n/**\n * Create new elements through drag and drop.\n *\n * @param {Canvas} canvas\n * @param {Dragging} dragging\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n * @param {Rules} rules\n */\nfunction Create(\n canvas,\n dragging,\n eventBus,\n modeling,\n rules\n) {\n\n // rules //////////\n\n /**\n * Check wether elements can be created.\n *\n * @param {Array} elements\n * @param {djs.model.Base} target\n * @param {Point} position\n * @param {djs.model.Base} [source]\n *\n * @returns {boolean|null|Object}\n */\n function canCreate(elements, target, position, source, hints) {\n if (!target) {\n return false;\n }\n\n // ignore child elements and external labels\n elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(elements, function(element) {\n var labelTarget = element.labelTarget;\n\n return !element.parent && !(isLabel(element) && elements.indexOf(labelTarget) !== -1);\n });\n\n var shape = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(elements, function(element) {\n return !isConnection(element);\n });\n\n var attach = false,\n connect = false,\n create = false;\n\n // (1) attaching single shapes\n if (isSingleShape(elements)) {\n attach = rules.allowed('shape.attach', {\n position: position,\n shape: shape,\n target: target\n });\n }\n\n if (!attach) {\n\n // (2) creating elements\n if (isSingleShape(elements)) {\n create = rules.allowed('shape.create', {\n position: position,\n shape: shape,\n source: source,\n target: target\n });\n } else {\n create = rules.allowed('elements.create', {\n elements: elements,\n position: position,\n target: target\n });\n }\n\n }\n\n var connectionTarget = hints.connectionTarget;\n\n // (3) appending single shapes\n if (create || attach) {\n if (shape && source) {\n connect = rules.allowed('connection.create', {\n source: connectionTarget === source ? shape : source,\n target: connectionTarget === source ? source : shape,\n hints: {\n targetParent: target,\n targetAttach: attach\n }\n });\n }\n\n return {\n attach: attach,\n connect: connect\n };\n }\n\n // ignore wether or not elements can be created\n if (create === null || attach === null) {\n return null;\n }\n\n return false;\n }\n\n function setMarker(element, marker) {\n [ MARKER_ATTACH, MARKER_OK, MARKER_NOT_OK, MARKER_NEW_PARENT ].forEach(function(m) {\n\n if (m === marker) {\n canvas.addMarker(element, m);\n } else {\n canvas.removeMarker(element, m);\n }\n });\n }\n\n // event handling //////////\n\n eventBus.on([ 'create.move', 'create.hover' ], function(event) {\n var context = event.context,\n elements = context.elements,\n hover = event.hover,\n source = context.source,\n hints = context.hints || {};\n\n if (!hover) {\n context.canExecute = false;\n context.target = null;\n\n return;\n }\n\n ensureConstraints(event);\n\n var position = {\n x: event.x,\n y: event.y\n };\n\n var canExecute = context.canExecute = hover && canCreate(elements, hover, position, source, hints);\n\n if (hover && canExecute !== null) {\n context.target = hover;\n\n if (canExecute && canExecute.attach) {\n setMarker(hover, MARKER_ATTACH);\n } else {\n setMarker(hover, canExecute ? MARKER_NEW_PARENT : MARKER_NOT_OK);\n }\n }\n });\n\n eventBus.on([ 'create.end', 'create.out', 'create.cleanup' ], function(event) {\n var hover = event.hover;\n\n if (hover) {\n setMarker(hover, null);\n }\n });\n\n eventBus.on('create.end', function(event) {\n var context = event.context,\n source = context.source,\n shape = context.shape,\n elements = context.elements,\n target = context.target,\n canExecute = context.canExecute,\n attach = canExecute && canExecute.attach,\n connect = canExecute && canExecute.connect,\n hints = context.hints || {};\n\n if (canExecute === false || !target) {\n return false;\n }\n\n ensureConstraints(event);\n\n var position = {\n x: event.x,\n y: event.y\n };\n\n if (connect) {\n shape = modeling.appendShape(source, shape, position, target, {\n attach: attach,\n connection: connect === true ? {} : connect,\n connectionTarget: hints.connectionTarget\n });\n } else {\n elements = modeling.createElements(elements, position, target, (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, hints, {\n attach: attach\n }));\n\n // update shape\n shape = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(elements, function(element) {\n return !isConnection(element);\n });\n }\n\n // update elements and shape\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(context, {\n elements: elements,\n shape: shape\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(event, {\n elements: elements,\n shape: shape\n });\n });\n\n function cancel() {\n var context = dragging.context();\n\n if (context && context.prefix === PREFIX) {\n dragging.cancel();\n }\n }\n\n // cancel on that is not result of \n eventBus.on('create.init', function() {\n eventBus.on('elements.changed', cancel);\n\n eventBus.once([ 'create.cancel', 'create.end' ], HIGH_PRIORITY, function() {\n eventBus.off('elements.changed', cancel);\n });\n });\n\n // API //////////\n\n this.start = function(event, elements, context) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(elements)) {\n elements = [ elements ];\n }\n\n var shape = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.find)(elements, function(element) {\n return !isConnection(element);\n });\n\n if (!shape) {\n\n // at least one shape is required\n return;\n }\n\n context = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({\n elements: elements,\n hints: {},\n shape: shape\n }, context || {});\n\n // make sure each element has x and y\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(element.x)) {\n element.x = 0;\n }\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(element.y)) {\n element.y = 0;\n }\n });\n\n var bbox = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_1__.getBBox)(elements);\n\n // center elements around cursor\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n if (isConnection(element)) {\n element.waypoints = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(element.waypoints, function(waypoint) {\n return {\n x: waypoint.x - bbox.x - bbox.width / 2,\n y: waypoint.y - bbox.y - bbox.height / 2\n };\n });\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(element, {\n x: element.x - bbox.x - bbox.width / 2,\n y: element.y - bbox.y - bbox.height / 2\n });\n });\n\n dragging.init(event, PREFIX, {\n cursor: 'grabbing',\n autoActivate: true,\n data: {\n shape: shape,\n elements: elements,\n context: context\n }\n });\n };\n}\n\nCreate.$inject = [\n 'canvas',\n 'dragging',\n 'eventBus',\n 'modeling',\n 'rules'\n];\n\n// helpers //////////\n\nfunction ensureConstraints(event) {\n var context = event.context,\n createConstraints = context.createConstraints;\n\n if (!createConstraints) {\n return;\n }\n\n if (createConstraints.left) {\n event.x = Math.max(event.x, createConstraints.left);\n }\n\n if (createConstraints.right) {\n event.x = Math.min(event.x, createConstraints.right);\n }\n\n if (createConstraints.top) {\n event.y = Math.max(event.y, createConstraints.top);\n }\n\n if (createConstraints.bottom) {\n event.y = Math.min(event.y, createConstraints.bottom);\n }\n}\n\nfunction isConnection(element) {\n return !!element.waypoints;\n}\n\nfunction isSingleShape(elements) {\n return elements && elements.length === 1 && !isConnection(elements[0]);\n}\n\nfunction isLabel(element) {\n return !!element.labelTarget;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/create/Create.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/create/CreatePreview.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/create/CreatePreview.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreatePreview)\n/* harmony export */ });\n/* harmony import */ var _util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n/* harmony import */ var _util_GraphicsUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/GraphicsUtil */ \"./node_modules/diagram-js/lib/util/GraphicsUtil.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n\r\n\r\n\r\n\r\n\r\n\r\nvar LOW_PRIORITY = 750;\r\n\r\n\r\nfunction CreatePreview(\r\n canvas,\r\n eventBus,\r\n graphicsFactory,\r\n previewSupport,\r\n styles\r\n) {\r\n function createDragGroup(elements) {\r\n var dragGroup = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.create)('g');\r\n\r\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(dragGroup, styles.cls('djs-drag-group', [ 'no-events' ]));\r\n\r\n var childrenGfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.create)('g');\r\n\r\n elements.forEach(function(element) {\r\n\r\n // create graphics\r\n var gfx;\r\n\r\n if (element.hidden) {\r\n return;\r\n }\r\n\r\n if (element.waypoints) {\r\n gfx = graphicsFactory._createContainer('connection', childrenGfx);\r\n\r\n graphicsFactory.drawConnection((0,_util_GraphicsUtil__WEBPACK_IMPORTED_MODULE_1__.getVisual)(gfx), element);\r\n } else {\r\n gfx = graphicsFactory._createContainer('shape', childrenGfx);\r\n\r\n graphicsFactory.drawShape((0,_util_GraphicsUtil__WEBPACK_IMPORTED_MODULE_1__.getVisual)(gfx), element);\r\n\r\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_2__.translate)(gfx, element.x, element.y);\r\n }\r\n\r\n // add preview\r\n previewSupport.addDragger(element, dragGroup, gfx);\r\n });\r\n\r\n return dragGroup;\r\n }\r\n\r\n eventBus.on('create.move', LOW_PRIORITY, function(event) {\r\n\r\n var hover = event.hover,\r\n context = event.context,\r\n elements = context.elements,\r\n dragGroup = context.dragGroup;\r\n\r\n // lazily create previews\r\n if (!dragGroup) {\r\n dragGroup = context.dragGroup = createDragGroup(elements);\r\n }\r\n\r\n var defaultLayer;\r\n\r\n if (hover) {\r\n if (!dragGroup.parentNode) {\r\n defaultLayer = canvas.getDefaultLayer();\r\n\r\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.append)(defaultLayer, dragGroup);\r\n }\r\n\r\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_2__.translate)(dragGroup, event.x, event.y);\r\n } else {\r\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.remove)(dragGroup);\r\n }\r\n });\r\n\r\n eventBus.on('create.cleanup', function(event) {\r\n var context = event.context,\r\n dragGroup = context.dragGroup;\r\n\r\n if (dragGroup) {\r\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.remove)(dragGroup);\r\n }\r\n });\r\n}\r\n\r\nCreatePreview.$inject = [\r\n 'canvas',\r\n 'eventBus',\r\n 'graphicsFactory',\r\n 'previewSupport',\r\n 'styles'\r\n];\r\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/create/CreatePreview.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/create/index.js":
/*!**************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/create/index.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _dragging__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dragging */ \"./node_modules/diagram-js/lib/features/dragging/index.js\");\n/* harmony import */ var _preview_support__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../preview-support */ \"./node_modules/diagram-js/lib/features/preview-support/index.js\");\n/* harmony import */ var _rules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../rules */ \"./node_modules/diagram-js/lib/features/rules/index.js\");\n/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var _Create__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Create */ \"./node_modules/diagram-js/lib/features/create/Create.js\");\n/* harmony import */ var _CreatePreview__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CreatePreview */ \"./node_modules/diagram-js/lib/features/create/CreatePreview.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _dragging__WEBPACK_IMPORTED_MODULE_0__.default,\n _preview_support__WEBPACK_IMPORTED_MODULE_1__.default,\n _rules__WEBPACK_IMPORTED_MODULE_2__.default,\n _selection__WEBPACK_IMPORTED_MODULE_3__.default\n ],\n __init__: [\n 'create',\n 'createPreview'\n ],\n create: [ 'type', _Create__WEBPACK_IMPORTED_MODULE_4__.default ],\n createPreview: [ 'type', _CreatePreview__WEBPACK_IMPORTED_MODULE_5__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/create/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/distribute-elements/DistributeElements.js":
/*!****************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/distribute-elements/DistributeElements.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DistributeElements)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\nvar AXIS_DIMENSIONS = {\n horizontal: [ 'x', 'width' ],\n vertical: [ 'y', 'height' ]\n};\n\nvar THRESHOLD = 5;\n\n\n/**\n * Groups and filters elements and then trigger even distribution.\n */\nfunction DistributeElements(modeling) {\n this._modeling = modeling;\n\n this._filters = [];\n\n // register filter for filtering big elements\n this.registerFilter(function(elements, axis, dimension) {\n var elementsSize = 0,\n numOfShapes = 0,\n avgDimension;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n if (element.waypoints || element.labelTarget) {\n return;\n }\n\n elementsSize += element[dimension];\n\n numOfShapes += 1;\n });\n\n avgDimension = Math.round(elementsSize / numOfShapes);\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(elements, function(element) {\n return element[dimension] < (avgDimension + 50);\n });\n });\n\n}\n\nDistributeElements.$inject = [ 'modeling' ];\n\n\n/**\n * Registers filter functions that allow external parties to filter\n * out certain elements.\n *\n * @param {Function} filterFn\n */\nDistributeElements.prototype.registerFilter = function(filterFn) {\n if (typeof filterFn !== 'function') {\n throw new Error('the filter has to be a function');\n }\n\n this._filters.push(filterFn);\n};\n\n/**\n * Distributes the elements with a given orientation\n *\n * @param {Array} elements [description]\n * @param {string} orientation [description]\n */\nDistributeElements.prototype.trigger = function(elements, orientation) {\n var modeling = this._modeling;\n\n var groups,\n distributableElements;\n\n if (elements.length < 3) {\n return;\n }\n\n this._setOrientation(orientation);\n\n distributableElements = this._filterElements(elements);\n\n groups = this._createGroups(distributableElements);\n\n // nothing to distribute\n if (groups.length <= 2) {\n return;\n }\n\n modeling.distributeElements(groups, this._axis, this._dimension);\n\n return groups;\n};\n\n/**\n * Filters the elements with provided filters by external parties\n *\n * @param {Array[Elements]} elements\n *\n * @return {Array[Elements]}\n */\nDistributeElements.prototype._filterElements = function(elements) {\n var filters = this._filters,\n axis = this._axis,\n dimension = this._dimension,\n distributableElements = [].concat(elements);\n\n if (!filters.length) {\n return elements;\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(filters, function(filterFn) {\n distributableElements = filterFn(distributableElements, axis, dimension);\n });\n\n return distributableElements;\n};\n\n\n/**\n * Create range (min, max) groups. Also tries to group elements\n * together that share the same range.\n *\n * @example\n * \tvar distributableElements = [\n * \t\t{\n * \t\t\trange: {\n * \t\t\t\tmin: 100,\n * \t\t\t\tmax: 200\n * \t\t\t},\n * \t\t\telements: [ { id: 'shape1', .. }]\n * \t\t}\n * \t]\n *\n * @param {Array} elements\n *\n * @return {Array[Objects]}\n */\nDistributeElements.prototype._createGroups = function(elements) {\n var rangeGroups = [],\n self = this,\n axis = this._axis,\n dimension = this._dimension;\n\n if (!axis) {\n throw new Error('must have a defined \"axis\" and \"dimension\"');\n }\n\n // sort by 'left->right' or 'top->bottom'\n var sortedElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(elements, axis);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(sortedElements, function(element, idx) {\n var elementRange = self._findRange(element, axis, dimension),\n range;\n\n var previous = rangeGroups[rangeGroups.length - 1];\n\n if (previous && self._hasIntersection(previous.range, elementRange)) {\n rangeGroups[rangeGroups.length - 1].elements.push(element);\n } else {\n range = { range: elementRange, elements: [ element ] };\n\n rangeGroups.push(range);\n }\n });\n\n return rangeGroups;\n};\n\n\n/**\n * Maps a direction to the according axis and dimension\n *\n * @param {string} direction 'horizontal' or 'vertical'\n */\nDistributeElements.prototype._setOrientation = function(direction) {\n var orientation = AXIS_DIMENSIONS[direction];\n\n this._axis = orientation[0];\n this._dimension = orientation[1];\n};\n\n\n/**\n * Checks if the two ranges intercept each other\n *\n * @param {Object} rangeA {min, max}\n * @param {Object} rangeB {min, max}\n *\n * @return {boolean}\n */\nDistributeElements.prototype._hasIntersection = function(rangeA, rangeB) {\n return Math.max(rangeA.min, rangeA.max) >= Math.min(rangeB.min, rangeB.max) &&\n Math.min(rangeA.min, rangeA.max) <= Math.max(rangeB.min, rangeB.max);\n};\n\n\n/**\n * Returns the min and max values for an element\n *\n * @param {[type]} element [description]\n * @param {[type]} axis [description]\n * @param {[type]} dimension [description]\n *\n * @return {[type]} [description]\n */\nDistributeElements.prototype._findRange = function(element) {\n var axis = element[this._axis],\n dimension = element[this._dimension];\n\n return {\n min: axis + THRESHOLD,\n max: axis + dimension - THRESHOLD\n };\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/distribute-elements/DistributeElements.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/distribute-elements/index.js":
/*!***************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/distribute-elements/index.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _DistributeElements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DistributeElements */ \"./node_modules/diagram-js/lib/features/distribute-elements/DistributeElements.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'distributeElements' ],\n distributeElements: [ 'type', _DistributeElements__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/distribute-elements/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/dragging/Dragging.js":
/*!*******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/dragging/Dragging.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Dragging)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var _util_Event__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/Event */ \"./node_modules/diagram-js/lib/util/Event.js\");\n/* harmony import */ var _util_Cursor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/Cursor */ \"./node_modules/diagram-js/lib/util/Cursor.js\");\n/* harmony import */ var _util_ClickTrap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/ClickTrap */ \"./node_modules/diagram-js/lib/util/ClickTrap.js\");\n/* harmony import */ var _util_PositionUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/PositionUtil */ \"./node_modules/diagram-js/lib/util/PositionUtil.js\");\nvar round = Math.round;\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar DRAG_ACTIVE_CLS = 'djs-drag-active';\n\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\n\nfunction isTouchEvent(event) {\n\n // check for TouchEvent being available first\n // (i.e. not available on desktop Firefox)\n return typeof TouchEvent !== 'undefined' && event instanceof TouchEvent;\n}\n\nfunction getLength(point) {\n return Math.sqrt(Math.pow(point.x, 2) + Math.pow(point.y, 2));\n}\n\n/**\n * A helper that fires canvas localized drag events and realizes\n * the general \"drag-and-drop\" look and feel.\n *\n * Calling {@link Dragging#activate} activates dragging on a canvas.\n *\n * It provides the following:\n *\n * * emits life cycle events, namespaced with a prefix assigned\n * during dragging activation\n * * sets and restores the cursor\n * * sets and restores the selection if elements still exist\n * * ensures there can be only one drag operation active at a time\n *\n * Dragging may be canceled manually by calling {@link Dragging#cancel}\n * or by pressing ESC.\n *\n *\n * ## Life-cycle events\n *\n * Dragging can be in three different states, off, initialized\n * and active.\n *\n * (1) off: no dragging operation is in progress\n * (2) initialized: a new drag operation got initialized but not yet\n * started (i.e. because of no initial move)\n * (3) started: dragging is in progress\n *\n * Eventually dragging will be off again after a drag operation has\n * been ended or canceled via user click or ESC key press.\n *\n * To indicate transitions between these states dragging emits generic\n * life-cycle events with the `drag.` prefix _and_ events namespaced\n * to a prefix choosen by a user during drag initialization.\n *\n * The following events are emitted (appropriately prefixed) via\n * the {@link EventBus}.\n *\n * * `init`\n * * `start`\n * * `move`\n * * `end`\n * * `ended` (dragging already in off state)\n * * `cancel` (only if previously started)\n * * `canceled` (dragging already in off state, only if previously started)\n * * `cleanup`\n *\n *\n * @example\n *\n * function MyDragComponent(eventBus, dragging) {\n *\n * eventBus.on('mydrag.start', function(event) {\n * console.log('yes, we start dragging');\n * });\n *\n * eventBus.on('mydrag.move', function(event) {\n * console.log('canvas local coordinates', event.x, event.y, event.dx, event.dy);\n *\n * // local drag data is passed with the event\n * event.context.foo; // \"BAR\"\n *\n * // the original mouse event, too\n * event.originalEvent; // MouseEvent(...)\n * });\n *\n * eventBus.on('element.click', function(event) {\n * dragging.init(event, 'mydrag', {\n * cursor: 'grabbing',\n * data: {\n * context: {\n * foo: \"BAR\"\n * }\n * }\n * });\n * });\n * }\n */\nfunction Dragging(eventBus, canvas, selection, elementRegistry) {\n\n var defaultOptions = {\n threshold: 5,\n trapClick: true\n };\n\n // the currently active drag operation\n // dragging is active as soon as this context exists.\n //\n // it is visually _active_ only when a context.active flag is set to true.\n var context;\n\n /* convert a global event into local coordinates */\n function toLocalPoint(globalPosition) {\n\n var viewbox = canvas.viewbox();\n\n var clientRect = canvas._container.getBoundingClientRect();\n\n return {\n x: viewbox.x + (globalPosition.x - clientRect.left) / viewbox.scale,\n y: viewbox.y + (globalPosition.y - clientRect.top) / viewbox.scale\n };\n }\n\n // helpers\n\n function fire(type, dragContext) {\n dragContext = dragContext || context;\n\n var event = eventBus.createEvent(\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(\n {},\n dragContext.payload,\n dragContext.data,\n { isTouch: dragContext.isTouch }\n )\n );\n\n // default integration\n if (eventBus.fire('drag.' + type, event) === false) {\n return false;\n }\n\n return eventBus.fire(dragContext.prefix + '.' + type, event);\n }\n\n function restoreSelection(previousSelection) {\n var existingSelection = previousSelection.filter(function(element) {\n return elementRegistry.get(element.id);\n });\n\n existingSelection.length && selection.select(existingSelection);\n }\n\n // event listeners\n\n function move(event, activate) {\n var payload = context.payload,\n displacement = context.displacement;\n\n var globalStart = context.globalStart,\n globalCurrent = (0,_util_Event__WEBPACK_IMPORTED_MODULE_1__.toPoint)(event),\n globalDelta = (0,_util_PositionUtil__WEBPACK_IMPORTED_MODULE_2__.delta)(globalCurrent, globalStart);\n\n var localStart = context.localStart,\n localCurrent = toLocalPoint(globalCurrent),\n localDelta = (0,_util_PositionUtil__WEBPACK_IMPORTED_MODULE_2__.delta)(localCurrent, localStart);\n\n\n // activate context explicitly or once threshold is reached\n if (!context.active && (activate || getLength(globalDelta) > context.threshold)) {\n\n // fire start event with original\n // starting coordinates\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(payload, {\n x: round(localStart.x + displacement.x),\n y: round(localStart.y + displacement.y),\n dx: 0,\n dy: 0\n }, { originalEvent: event });\n\n if (false === fire('start')) {\n return cancel();\n }\n\n context.active = true;\n\n // unset selection and remember old selection\n // the previous (old) selection will always passed\n // with the event via the event.previousSelection property\n if (!context.keepSelection) {\n payload.previousSelection = selection.get();\n selection.select(null);\n }\n\n // allow custom cursor\n if (context.cursor) {\n (0,_util_Cursor__WEBPACK_IMPORTED_MODULE_3__.set)(context.cursor);\n }\n\n // indicate dragging via marker on root element\n canvas.addMarker(canvas.getRootElement(), DRAG_ACTIVE_CLS);\n }\n\n (0,_util_Event__WEBPACK_IMPORTED_MODULE_1__.stopPropagation)(event);\n\n if (context.active) {\n\n // update payload with actual coordinates\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(payload, {\n x: round(localCurrent.x + displacement.x),\n y: round(localCurrent.y + displacement.y),\n dx: round(localDelta.x),\n dy: round(localDelta.y)\n }, { originalEvent: event });\n\n // emit move event\n fire('move');\n }\n }\n\n function end(event) {\n var previousContext,\n returnValue = true;\n\n if (context.active) {\n\n if (event) {\n context.payload.originalEvent = event;\n\n // suppress original event (click, ...)\n // because we just ended a drag operation\n (0,_util_Event__WEBPACK_IMPORTED_MODULE_1__.stopPropagation)(event);\n }\n\n // implementations may stop restoring the\n // original state (selections, ...) by preventing the\n // end events default action\n returnValue = fire('end');\n }\n\n if (returnValue === false) {\n fire('rejected');\n }\n\n previousContext = cleanup(returnValue !== true);\n\n // last event to be fired when all drag operations are done\n // at this point in time no drag operation is in progress anymore\n fire('ended', previousContext);\n }\n\n\n // cancel active drag operation if the user presses\n // the ESC key on the keyboard\n\n function checkCancel(event) {\n\n if (event.which === 27) {\n preventDefault(event);\n\n cancel();\n }\n }\n\n\n // prevent ghost click that might occur after a finished\n // drag and drop session\n\n function trapClickAndEnd(event) {\n\n var untrap;\n\n // trap the click in case we are part of an active\n // drag operation. This will effectively prevent\n // the ghost click that cannot be canceled otherwise.\n if (context.active) {\n\n untrap = (0,_util_ClickTrap__WEBPACK_IMPORTED_MODULE_4__.install)(eventBus);\n\n // remove trap after minimal delay\n setTimeout(untrap, 400);\n\n // prevent default action (click)\n preventDefault(event);\n }\n\n end(event);\n }\n\n function trapTouch(event) {\n move(event);\n }\n\n // update the drag events hover (djs.model.Base) and hoverGfx (Snap)\n // properties during hover and out and fire {prefix}.hover and {prefix}.out properties\n // respectively\n\n function hover(event) {\n var payload = context.payload;\n\n payload.hoverGfx = event.gfx;\n payload.hover = event.element;\n\n fire('hover');\n }\n\n function out(event) {\n fire('out');\n\n var payload = context.payload;\n\n payload.hoverGfx = null;\n payload.hover = null;\n }\n\n\n // life-cycle methods\n\n function cancel(restore) {\n var previousContext;\n\n if (!context) {\n return;\n }\n\n var wasActive = context.active;\n\n if (wasActive) {\n fire('cancel');\n }\n\n previousContext = cleanup(restore);\n\n if (wasActive) {\n\n // last event to be fired when all drag operations are done\n // at this point in time no drag operation is in progress anymore\n fire('canceled', previousContext);\n }\n }\n\n function cleanup(restore) {\n var previousContext,\n endDrag;\n\n fire('cleanup');\n\n // reset cursor\n (0,_util_Cursor__WEBPACK_IMPORTED_MODULE_3__.unset)();\n\n if (context.trapClick) {\n endDrag = trapClickAndEnd;\n } else {\n endDrag = end;\n }\n\n // reset dom listeners\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'mousemove', move);\n\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'dragstart', preventDefault);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'selectstart', preventDefault);\n\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'mousedown', endDrag, true);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'mouseup', endDrag, true);\n\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'keyup', checkCancel);\n\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'touchstart', trapTouch, true);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'touchcancel', cancel, true);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'touchmove', move, true);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.unbind(document, 'touchend', end, true);\n\n eventBus.off('element.hover', hover);\n eventBus.off('element.out', out);\n\n // remove drag marker on root element\n canvas.removeMarker(canvas.getRootElement(), DRAG_ACTIVE_CLS);\n\n // restore selection, unless it has changed\n var previousSelection = context.payload.previousSelection;\n\n if (restore !== false && previousSelection && !selection.get().length) {\n restoreSelection(previousSelection);\n }\n\n previousContext = context;\n\n context = null;\n\n return previousContext;\n }\n\n /**\n * Initialize a drag operation.\n *\n * If `localPosition` is given, drag events will be emitted\n * relative to it.\n *\n * @param {MouseEvent|TouchEvent} [event]\n * @param {Point} [localPosition] actual diagram local position this drag operation should start at\n * @param {string} prefix\n * @param {Object} [options]\n */\n function init(event, relativeTo, prefix, options) {\n\n // only one drag operation may be active, at a time\n if (context) {\n cancel(false);\n }\n\n if (typeof relativeTo === 'string') {\n options = prefix;\n prefix = relativeTo;\n relativeTo = null;\n }\n\n options = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, defaultOptions, options || {});\n\n var data = options.data || {},\n originalEvent,\n globalStart,\n localStart,\n endDrag,\n isTouch;\n\n if (options.trapClick) {\n endDrag = trapClickAndEnd;\n } else {\n endDrag = end;\n }\n\n if (event) {\n originalEvent = (0,_util_Event__WEBPACK_IMPORTED_MODULE_1__.getOriginal)(event) || event;\n globalStart = (0,_util_Event__WEBPACK_IMPORTED_MODULE_1__.toPoint)(event);\n\n (0,_util_Event__WEBPACK_IMPORTED_MODULE_1__.stopPropagation)(event);\n\n // prevent default browser dragging behavior\n if (originalEvent.type === 'dragstart') {\n preventDefault(originalEvent);\n }\n } else {\n originalEvent = null;\n globalStart = { x: 0, y: 0 };\n }\n\n localStart = toLocalPoint(globalStart);\n\n if (!relativeTo) {\n relativeTo = localStart;\n }\n\n isTouch = isTouchEvent(originalEvent);\n\n context = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({\n prefix: prefix,\n data: data,\n payload: {},\n globalStart: globalStart,\n displacement: (0,_util_PositionUtil__WEBPACK_IMPORTED_MODULE_2__.delta)(relativeTo, localStart),\n localStart: localStart,\n isTouch: isTouch\n }, options);\n\n // skip dom registration if trigger\n // is set to manual (during testing)\n if (!options.manual) {\n\n // add dom listeners\n\n if (isTouch) {\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'touchstart', trapTouch, true);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'touchcancel', cancel, true);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'touchmove', move, true);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'touchend', end, true);\n } else {\n\n // assume we use the mouse to interact per default\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'mousemove', move);\n\n // prevent default browser drag and text selection behavior\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'dragstart', preventDefault);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'selectstart', preventDefault);\n\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'mousedown', endDrag, true);\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'mouseup', endDrag, true);\n }\n\n min_dom__WEBPACK_IMPORTED_MODULE_5__.event.bind(document, 'keyup', checkCancel);\n\n eventBus.on('element.hover', hover);\n eventBus.on('element.out', out);\n }\n\n fire('init');\n\n if (options.autoActivate) {\n move(event, true);\n }\n }\n\n // cancel on diagram destruction\n eventBus.on('diagram.destroy', cancel);\n\n\n // API\n\n this.init = init;\n this.move = move;\n this.hover = hover;\n this.out = out;\n this.end = end;\n\n this.cancel = cancel;\n\n // for introspection\n\n this.context = function() {\n return context;\n };\n\n this.setOptions = function(options) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(defaultOptions, options);\n };\n}\n\nDragging.$inject = [\n 'eventBus',\n 'canvas',\n 'selection',\n 'elementRegistry'\n];\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/dragging/Dragging.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/dragging/index.js":
/*!****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/dragging/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _hover_fix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hover-fix */ \"./node_modules/diagram-js/lib/features/hover-fix/index.js\");\n/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var _Dragging__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Dragging */ \"./node_modules/diagram-js/lib/features/dragging/Dragging.js\");\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _hover_fix__WEBPACK_IMPORTED_MODULE_0__.default,\n _selection__WEBPACK_IMPORTED_MODULE_1__.default,\n ],\n dragging: [ 'type', _Dragging__WEBPACK_IMPORTED_MODULE_2__.default ],\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/dragging/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/editor-actions/EditorActions.js":
/*!******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/editor-actions/EditorActions.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ EditorActions)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\nvar NOT_REGISTERED_ERROR = 'is not a registered action',\n IS_REGISTERED_ERROR = 'is already registered';\n\n\n/**\n * An interface that provides access to modeling actions by decoupling\n * the one who requests the action to be triggered and the trigger itself.\n *\n * It's possible to add new actions by registering them with ´registerAction´\n * and likewise unregister existing ones with ´unregisterAction´.\n *\n *\n * ## Life-Cycle and configuration\n *\n * The editor actions will wait for diagram initialization before\n * registering default actions _and_ firing an `editorActions.init` event.\n *\n * Interested parties may listen to the `editorActions.init` event with\n * low priority to check, which actions got registered. Other components\n * may use the event to register their own actions via `registerAction`.\n *\n * @param {EventBus} eventBus\n * @param {Injector} injector\n */\nfunction EditorActions(eventBus, injector) {\n\n // initialize actions\n this._actions = {};\n\n var self = this;\n\n eventBus.on('diagram.init', function() {\n\n // all diagram modules got loaded; check which ones\n // are available and register the respective default actions\n self._registerDefaultActions(injector);\n\n // ask interested parties to register available editor\n // actions on diagram initialization\n eventBus.fire('editorActions.init', {\n editorActions: self\n });\n });\n\n}\n\nEditorActions.$inject = [\n 'eventBus',\n 'injector'\n];\n\n/**\n * Register default actions.\n *\n * @param {Injector} injector\n */\nEditorActions.prototype._registerDefaultActions = function(injector) {\n\n // (1) retrieve optional components to integrate with\n\n var commandStack = injector.get('commandStack', false);\n var modeling = injector.get('modeling', false);\n var selection = injector.get('selection', false);\n var zoomScroll = injector.get('zoomScroll', false);\n var copyPaste = injector.get('copyPaste', false);\n var canvas = injector.get('canvas', false);\n var rules = injector.get('rules', false);\n var keyboardMove = injector.get('keyboardMove', false);\n var keyboardMoveSelection = injector.get('keyboardMoveSelection', false);\n\n // (2) check components and register actions\n\n if (commandStack) {\n this.register('undo', function() {\n commandStack.undo();\n });\n\n this.register('redo', function() {\n commandStack.redo();\n });\n }\n\n if (copyPaste && selection) {\n this.register('copy', function() {\n var selectedElements = selection.get();\n\n copyPaste.copy(selectedElements);\n });\n }\n\n if (copyPaste) {\n this.register('paste', function() {\n copyPaste.paste();\n });\n }\n\n if (zoomScroll) {\n this.register('stepZoom', function(opts) {\n zoomScroll.stepZoom(opts.value);\n });\n }\n\n if (canvas) {\n this.register('zoom', function(opts) {\n canvas.zoom(opts.value);\n });\n }\n\n if (modeling && selection && rules) {\n this.register('removeSelection', function() {\n\n var selectedElements = selection.get();\n\n if (!selectedElements.length) {\n return;\n }\n\n var allowed = rules.allowed('elements.delete', { elements: selectedElements }),\n removableElements;\n\n if (allowed === false) {\n return;\n }\n else if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(allowed)) {\n removableElements = allowed;\n }\n else {\n removableElements = selectedElements;\n }\n\n if (removableElements.length) {\n modeling.removeElements(removableElements.slice());\n }\n });\n }\n\n if (keyboardMove) {\n this.register('moveCanvas', function(opts) {\n keyboardMove.moveCanvas(opts);\n });\n }\n\n if (keyboardMoveSelection) {\n this.register('moveSelection', function(opts) {\n keyboardMoveSelection.moveSelection(opts.direction, opts.accelerated);\n });\n }\n\n};\n\n\n/**\n * Triggers a registered action\n *\n * @param {string} action\n * @param {Object} opts\n *\n * @return {Unknown} Returns what the registered listener returns\n */\nEditorActions.prototype.trigger = function(action, opts) {\n if (!this._actions[action]) {\n throw error(action, NOT_REGISTERED_ERROR);\n }\n\n return this._actions[action](opts);\n};\n\n\n/**\n * Registers a collections of actions.\n * The key of the object will be the name of the action.\n *\n * @example\n * ´´´\n * var actions = {\n * spaceTool: function() {\n * spaceTool.activateSelection();\n * },\n * lassoTool: function() {\n * lassoTool.activateSelection();\n * }\n * ];\n *\n * editorActions.register(actions);\n *\n * editorActions.isRegistered('spaceTool'); // true\n * ´´´\n *\n * @param {Object} actions\n */\nEditorActions.prototype.register = function(actions, listener) {\n var self = this;\n\n if (typeof actions === 'string') {\n return this._registerAction(actions, listener);\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(actions, function(listener, action) {\n self._registerAction(action, listener);\n });\n};\n\n/**\n * Registers a listener to an action key\n *\n * @param {string} action\n * @param {Function} listener\n */\nEditorActions.prototype._registerAction = function(action, listener) {\n if (this.isRegistered(action)) {\n throw error(action, IS_REGISTERED_ERROR);\n }\n\n this._actions[action] = listener;\n};\n\n/**\n * Unregister an existing action\n *\n * @param {string} action\n */\nEditorActions.prototype.unregister = function(action) {\n if (!this.isRegistered(action)) {\n throw error(action, NOT_REGISTERED_ERROR);\n }\n\n this._actions[action] = undefined;\n};\n\n/**\n * Returns the number of actions that are currently registered\n *\n * @return {number}\n */\nEditorActions.prototype.getActions = function() {\n return Object.keys(this._actions);\n};\n\n/**\n * Checks wether the given action is registered\n *\n * @param {string} action\n *\n * @return {boolean}\n */\nEditorActions.prototype.isRegistered = function(action) {\n return !!this._actions[action];\n};\n\n\nfunction error(action, message) {\n return new Error(action + ' ' + message);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/editor-actions/EditorActions.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/editor-actions/index.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/editor-actions/index.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _EditorActions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EditorActions */ \"./node_modules/diagram-js/lib/features/editor-actions/EditorActions.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'editorActions' ],\n editorActions: [ 'type', _EditorActions__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/editor-actions/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/global-connect/GlobalConnect.js":
/*!******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/global-connect/GlobalConnect.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ GlobalConnect)\n/* harmony export */ });\nvar MARKER_OK = 'connect-ok',\n MARKER_NOT_OK = 'connect-not-ok';\n\n/**\n * @class\n * @constructor\n *\n * @param {EventBus} eventBus\n * @param {Dragging} dragging\n * @param {Connect} connect\n * @param {Canvas} canvas\n * @param {ToolManager} toolManager\n * @param {Rules} rules\n * @param {Mouse} mouse\n */\nfunction GlobalConnect(\n eventBus, dragging, connect,\n canvas, toolManager, rules,\n mouse) {\n\n var self = this;\n\n this._dragging = dragging;\n this._rules = rules;\n this._mouse = mouse;\n\n toolManager.registerTool('global-connect', {\n tool: 'global-connect',\n dragging: 'global-connect.drag'\n });\n\n eventBus.on('global-connect.hover', function(event) {\n var context = event.context,\n startTarget = event.hover;\n\n var canStartConnect = context.canStartConnect = self.canStartConnect(startTarget);\n\n // simply ignore hover\n if (canStartConnect === null) {\n return;\n }\n\n context.startTarget = startTarget;\n\n canvas.addMarker(startTarget, canStartConnect ? MARKER_OK : MARKER_NOT_OK);\n });\n\n\n eventBus.on([ 'global-connect.out', 'global-connect.cleanup' ], function(event) {\n var startTarget = event.context.startTarget,\n canStartConnect = event.context.canStartConnect;\n\n if (startTarget) {\n canvas.removeMarker(startTarget, canStartConnect ? MARKER_OK : MARKER_NOT_OK);\n }\n });\n\n\n eventBus.on([ 'global-connect.ended' ], function(event) {\n var context = event.context,\n startTarget = context.startTarget,\n startPosition = {\n x: event.x,\n y: event.y\n };\n\n var canStartConnect = self.canStartConnect(startTarget);\n\n if (!canStartConnect) {\n return;\n }\n\n eventBus.once('element.out', function() {\n eventBus.once([ 'connect.ended', 'connect.canceled' ], function() {\n eventBus.fire('global-connect.drag.ended');\n });\n\n connect.start(null, startTarget, startPosition);\n });\n\n return false;\n });\n}\n\nGlobalConnect.$inject = [\n 'eventBus',\n 'dragging',\n 'connect',\n 'canvas',\n 'toolManager',\n 'rules',\n 'mouse'\n];\n\n/**\n * Initiates tool activity.\n */\nGlobalConnect.prototype.start = function(event, autoActivate) {\n this._dragging.init(event, 'global-connect', {\n autoActivate: autoActivate,\n trapClick: false,\n data: {\n context: {}\n }\n });\n};\n\nGlobalConnect.prototype.toggle = function() {\n\n if (this.isActive()) {\n return this._dragging.cancel();\n }\n\n var mouseEvent = this._mouse.getLastMoveEvent();\n\n return this.start(mouseEvent, !!mouseEvent);\n};\n\nGlobalConnect.prototype.isActive = function() {\n var context = this._dragging.context();\n\n return context && /^global-connect/.test(context.prefix);\n};\n\n/**\n * Check if source shape can initiate connection.\n *\n * @param {Shape} startTarget\n * @return {boolean}\n */\nGlobalConnect.prototype.canStartConnect = function(startTarget) {\n return this._rules.allowed('connection.start', { source: startTarget });\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/global-connect/GlobalConnect.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/global-connect/index.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/global-connect/index.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _connect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../connect */ \"./node_modules/diagram-js/lib/features/connect/index.js\");\n/* harmony import */ var _rules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rules */ \"./node_modules/diagram-js/lib/features/rules/index.js\");\n/* harmony import */ var _dragging__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dragging */ \"./node_modules/diagram-js/lib/features/dragging/index.js\");\n/* harmony import */ var _tool_manager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tool-manager */ \"./node_modules/diagram-js/lib/features/tool-manager/index.js\");\n/* harmony import */ var _mouse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../mouse */ \"./node_modules/diagram-js/lib/features/mouse/index.js\");\n/* harmony import */ var _GlobalConnect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./GlobalConnect */ \"./node_modules/diagram-js/lib/features/global-connect/GlobalConnect.js\");\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _connect__WEBPACK_IMPORTED_MODULE_0__.default,\n _rules__WEBPACK_IMPORTED_MODULE_1__.default,\n _dragging__WEBPACK_IMPORTED_MODULE_2__.default,\n _tool_manager__WEBPACK_IMPORTED_MODULE_3__.default,\n _mouse__WEBPACK_IMPORTED_MODULE_4__.default\n ],\n globalConnect: [ 'type', _GlobalConnect__WEBPACK_IMPORTED_MODULE_5__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/global-connect/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/grid-snapping/GridSnapping.js":
/*!****************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/grid-snapping/GridSnapping.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ GridSnapping)\n/* harmony export */ });\n/* harmony import */ var _snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../snapping/SnapUtil */ \"./node_modules/diagram-js/lib/features/snapping/SnapUtil.js\");\n/* harmony import */ var _keyboard_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../keyboard/KeyboardUtil */ \"./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _GridUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./GridUtil */ \"./node_modules/diagram-js/lib/features/grid-snapping/GridUtil.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar LOWER_PRIORITY = 1200;\r\nvar LOW_PRIORITY = 800;\r\n\r\n/**\r\n * Basic grid snapping that covers connecting, creating, moving, resizing shapes, moving bendpoints\r\n * and connection segments.\r\n */\r\nfunction GridSnapping(elementRegistry, eventBus, config) {\r\n\r\n var active = !config || config.active !== false;\r\n\r\n this._eventBus = eventBus;\r\n\r\n var self = this;\r\n\r\n eventBus.on('diagram.init', LOW_PRIORITY, function() {\r\n self.setActive(active);\r\n });\r\n\r\n eventBus.on([\r\n 'create.move',\r\n 'create.end',\r\n 'bendpoint.move.move',\r\n 'bendpoint.move.end',\r\n 'connect.move',\r\n 'connect.end',\r\n 'connectionSegment.move.move',\r\n 'connectionSegment.move.end',\r\n 'resize.move',\r\n 'resize.end',\r\n 'shape.move.move',\r\n 'shape.move.end'\r\n ], LOWER_PRIORITY, function(event) {\r\n var originalEvent = event.originalEvent;\r\n\r\n if (!self.active || (originalEvent && (0,_keyboard_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(originalEvent))) {\r\n return;\r\n }\r\n\r\n var context = event.context,\r\n gridSnappingContext = context.gridSnappingContext;\r\n\r\n if (!gridSnappingContext) {\r\n gridSnappingContext = context.gridSnappingContext = {};\r\n }\r\n\r\n [ 'x', 'y' ].forEach(function(axis) {\r\n var options = {};\r\n\r\n // allow snapping with offset\r\n var snapOffset = getSnapOffset(event, axis, elementRegistry);\r\n\r\n if (snapOffset) {\r\n options.offset = snapOffset;\r\n }\r\n\r\n // allow snapping with min and max\r\n var snapConstraints = getSnapConstraints(event, axis);\r\n\r\n if (snapConstraints) {\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(options, snapConstraints);\r\n }\r\n\r\n if (!(0,_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.isSnapped)(event, axis)) {\r\n self.snapEvent(event, axis, options);\r\n }\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Snap an events x or y with optional min, max and offset.\r\n *\r\n * @param {Object} event\r\n * @param {string} axis\r\n * @param {number} [options.min]\r\n * @param {number} [options.max]\r\n * @param {number} [options.offset]\r\n */\r\nGridSnapping.prototype.snapEvent = function(event, axis, options) {\r\n var snappedValue = this.snapValue(event[ axis ], options);\r\n\r\n (0,_snapping_SnapUtil__WEBPACK_IMPORTED_MODULE_2__.setSnapped)(event, axis, snappedValue);\r\n};\r\n\r\n/**\r\n * Expose grid spacing for third parties (i.e. extensions).\r\n *\r\n * @return {number} spacing of grid dots\r\n */\r\nGridSnapping.prototype.getGridSpacing = function() {\r\n return _GridUtil__WEBPACK_IMPORTED_MODULE_3__.SPACING;\r\n};\r\n\r\n/**\r\n * Snap value with optional min, max and offset.\r\n *\r\n * @param {number} value\r\n * @param {Object} options\r\n * @param {number} [options.min]\r\n * @param {number} [options.max]\r\n * @param {number} [options.offset]\r\n */\r\nGridSnapping.prototype.snapValue = function(value, options) {\r\n var offset = 0;\r\n\r\n if (options && options.offset) {\r\n offset = options.offset;\r\n }\r\n\r\n value += offset;\r\n\r\n value = (0,_GridUtil__WEBPACK_IMPORTED_MODULE_3__.quantize)(value, _GridUtil__WEBPACK_IMPORTED_MODULE_3__.SPACING);\r\n\r\n var min, max;\r\n\r\n if (options && options.min) {\r\n min = options.min;\r\n\r\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isNumber)(min)) {\r\n min = (0,_GridUtil__WEBPACK_IMPORTED_MODULE_3__.quantize)(min + offset, _GridUtil__WEBPACK_IMPORTED_MODULE_3__.SPACING, 'ceil');\r\n\r\n value = Math.max(value, min);\r\n }\r\n }\r\n\r\n if (options && options.max) {\r\n max = options.max;\r\n\r\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isNumber)(max)) {\r\n max = (0,_GridUtil__WEBPACK_IMPORTED_MODULE_3__.quantize)(max + offset, _GridUtil__WEBPACK_IMPORTED_MODULE_3__.SPACING, 'floor');\r\n\r\n value = Math.min(value, max);\r\n }\r\n }\r\n\r\n value -= offset;\r\n\r\n return value;\r\n};\r\n\r\nGridSnapping.prototype.isActive = function() {\r\n return this.active;\r\n};\r\n\r\nGridSnapping.prototype.setActive = function(active) {\r\n this.active = active;\r\n\r\n this._eventBus.fire('gridSnapping.toggle', { active: active });\r\n};\r\n\r\nGridSnapping.prototype.toggleActive = function() {\r\n this.setActive(!this.active);\r\n};\r\n\r\nGridSnapping.$inject = [\r\n 'elementRegistry',\r\n 'eventBus',\r\n 'config.gridSnapping'\r\n];\r\n\r\n// helpers //////////\r\n\r\n/**\r\n * Get minimum and maximum snap constraints.\r\n * Constraints are cached.\r\n *\r\n * @param {Object} event\r\n * @param {Object} event.context\r\n * @param {string} axis\r\n *\r\n * @returns {boolean|Object}\r\n */\r\nfunction getSnapConstraints(event, axis) {\r\n var context = event.context,\r\n createConstraints = context.createConstraints,\r\n resizeConstraints = context.resizeConstraints || {},\r\n gridSnappingContext = context.gridSnappingContext,\r\n snapConstraints = gridSnappingContext.snapConstraints;\r\n\r\n // cache snap constraints\r\n if (snapConstraints && snapConstraints[ axis ]) {\r\n return snapConstraints[ axis ];\r\n }\r\n\r\n if (!snapConstraints) {\r\n snapConstraints = gridSnappingContext.snapConstraints = {};\r\n }\r\n\r\n if (!snapConstraints[ axis ]) {\r\n snapConstraints[ axis ] = {};\r\n }\r\n\r\n var direction = context.direction;\r\n\r\n // create\r\n if (createConstraints) {\r\n if (isHorizontal(axis)) {\r\n snapConstraints.x.min = createConstraints.left;\r\n snapConstraints.x.max = createConstraints.right;\r\n } else {\r\n snapConstraints.y.min = createConstraints.top;\r\n snapConstraints.y.max = createConstraints.bottom;\r\n }\r\n }\r\n\r\n // resize\r\n var minResizeConstraints = resizeConstraints.min,\r\n maxResizeConstraints = resizeConstraints.max;\r\n\r\n if (minResizeConstraints) {\r\n if (isHorizontal(axis)) {\r\n\r\n if (isWest(direction)) {\r\n snapConstraints.x.max = minResizeConstraints.left;\r\n } else {\r\n snapConstraints.x.min = minResizeConstraints.right;\r\n }\r\n\r\n } else {\r\n\r\n if (isNorth(direction)) {\r\n snapConstraints.y.max = minResizeConstraints.top;\r\n } else {\r\n snapConstraints.y.min = minResizeConstraints.bottom;\r\n }\r\n\r\n }\r\n }\r\n\r\n if (maxResizeConstraints) {\r\n if (isHorizontal(axis)) {\r\n\r\n if (isWest(direction)) {\r\n snapConstraints.x.min = maxResizeConstraints.left;\r\n } else {\r\n snapConstraints.x.max = maxResizeConstraints.right;\r\n }\r\n\r\n } else {\r\n\r\n if (isNorth(direction)) {\r\n snapConstraints.y.min = maxResizeConstraints.top;\r\n } else {\r\n snapConstraints.y.max = maxResizeConstraints.bottom;\r\n }\r\n\r\n }\r\n }\r\n\r\n return snapConstraints[ axis ];\r\n}\r\n\r\n/**\r\n * Get snap offset.\r\n * Offset is cached.\r\n *\r\n * @param {Object} event\r\n * @param {string} axis\r\n * @param {ElementRegistry} elementRegistry\r\n *\r\n * @returns {number}\r\n */\r\nfunction getSnapOffset(event, axis, elementRegistry) {\r\n var context = event.context,\r\n shape = event.shape,\r\n gridSnappingContext = context.gridSnappingContext,\r\n snapLocation = gridSnappingContext.snapLocation,\r\n snapOffset = gridSnappingContext.snapOffset;\r\n\r\n // cache snap offset\r\n if (snapOffset && (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isNumber)(snapOffset[ axis ])) {\r\n return snapOffset[ axis ];\r\n }\r\n\r\n if (!snapOffset) {\r\n snapOffset = gridSnappingContext.snapOffset = {};\r\n }\r\n\r\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isNumber)(snapOffset[ axis ])) {\r\n snapOffset[ axis ] = 0;\r\n }\r\n\r\n if (!shape) {\r\n return snapOffset[ axis ];\r\n }\r\n\r\n if (!elementRegistry.get(shape.id)) {\r\n\r\n if (isHorizontal(axis)) {\r\n snapOffset[ axis ] += shape[ axis ] + shape.width / 2;\r\n } else {\r\n snapOffset[ axis ] += shape[ axis ] + shape.height / 2;\r\n }\r\n }\r\n\r\n if (!snapLocation) {\r\n return snapOffset[ axis ];\r\n }\r\n\r\n if (axis === 'x') {\r\n if (/left/.test(snapLocation)) {\r\n snapOffset[ axis ] -= shape.width / 2;\r\n } else if (/right/.test(snapLocation)) {\r\n snapOffset[ axis ] += shape.width / 2;\r\n }\r\n } else {\r\n if (/top/.test(snapLocation)) {\r\n snapOffset[ axis ] -= shape.height / 2;\r\n } else if (/bottom/.test(snapLocation)) {\r\n snapOffset[ axis ] += shape.height / 2;\r\n }\r\n }\r\n\r\n return snapOffset[ axis ];\r\n}\r\n\r\nfunction isHorizontal(axis) {\r\n return axis === 'x';\r\n}\r\n\r\nfunction isNorth(direction) {\r\n return direction.indexOf('n') !== -1;\r\n}\r\n\r\nfunction isWest(direction) {\r\n return direction.indexOf('w') !== -1;\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/grid-snapping/GridSnapping.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/grid-snapping/GridUtil.js":
/*!************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/grid-snapping/GridUtil.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SPACING\": () => (/* binding */ SPACING),\n/* harmony export */ \"quantize\": () => (/* binding */ quantize)\n/* harmony export */ });\nvar SPACING = 10;\n\nfunction quantize(value, quantum, fn) {\n if (!fn) {\n fn = 'round';\n }\n\n return Math[ fn ](value / quantum) * quantum;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/grid-snapping/GridUtil.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/grid-snapping/behavior/ResizeBehavior.js":
/*!***************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/grid-snapping/behavior/ResizeBehavior.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ResizeBehavior)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * Integrates resizing with grid snapping.\r\n */\r\nfunction ResizeBehavior(eventBus, gridSnapping) {\r\n _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\r\n\r\n this._gridSnapping = gridSnapping;\r\n\r\n var self = this;\r\n\r\n this.preExecute('shape.resize', function(event) {\r\n var context = event.context,\r\n hints = context.hints || {},\r\n autoResize = hints.autoResize;\r\n\r\n if (!autoResize) {\r\n return;\r\n }\r\n\r\n var shape = context.shape,\r\n newBounds = context.newBounds;\r\n\r\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_2__.isString)(autoResize)) {\r\n context.newBounds = self.snapComplex(newBounds, autoResize);\r\n } else {\r\n context.newBounds = self.snapSimple(shape, newBounds);\r\n }\r\n });\r\n}\r\n\r\nResizeBehavior.$inject = [\r\n 'eventBus',\r\n 'gridSnapping',\r\n 'modeling'\r\n];\r\n\r\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(ResizeBehavior, _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\r\n\r\n/**\r\n * Snap width and height in relation to center.\r\n *\r\n * @param {djs.model.shape} shape\r\n * @param {Bounds} newBounds\r\n *\r\n * @returns {Bounds} Snapped bounds.\r\n */\r\nResizeBehavior.prototype.snapSimple = function(shape, newBounds) {\r\n var gridSnapping = this._gridSnapping;\r\n\r\n newBounds.width = gridSnapping.snapValue(newBounds.width, {\r\n min: newBounds.width\r\n });\r\n\r\n newBounds.height = gridSnapping.snapValue(newBounds.height, {\r\n min: newBounds.height\r\n });\r\n\r\n newBounds.x = shape.x + (shape.width / 2) - (newBounds.width / 2);\r\n newBounds.y = shape.y + (shape.height / 2) - (newBounds.height / 2);\r\n\r\n return newBounds;\r\n};\r\n\r\n/**\r\n * Snap x, y, width and height according to given directions.\r\n *\r\n * @param {Bounds} newBounds\r\n * @param {string} directions - Directions as {n|w|s|e}.\r\n *\r\n * @returns {Bounds} Snapped bounds.\r\n */\r\nResizeBehavior.prototype.snapComplex = function(newBounds, directions) {\r\n if (/w|e/.test(directions)) {\r\n newBounds = this.snapHorizontally(newBounds, directions);\r\n }\r\n\r\n if (/n|s/.test(directions)) {\r\n newBounds = this.snapVertically(newBounds, directions);\r\n }\r\n\r\n return newBounds;\r\n};\r\n\r\n/**\r\n * Snap in one or both directions horizontally.\r\n *\r\n * @param {Bounds} newBounds\r\n * @param {string} directions - Directions as {n|w|s|e}.\r\n *\r\n * @returns {Bounds} Snapped bounds.\r\n */\r\nResizeBehavior.prototype.snapHorizontally = function(newBounds, directions) {\r\n var gridSnapping = this._gridSnapping,\r\n west = /w/.test(directions),\r\n east = /e/.test(directions);\r\n\r\n var snappedNewBounds = {};\r\n\r\n snappedNewBounds.width = gridSnapping.snapValue(newBounds.width, {\r\n min: newBounds.width\r\n });\r\n\r\n if (east) {\r\n\r\n // handle \r\n if (west) {\r\n snappedNewBounds.x = gridSnapping.snapValue(newBounds.x, {\r\n max: newBounds.x\r\n });\r\n\r\n snappedNewBounds.width += gridSnapping.snapValue(newBounds.x - snappedNewBounds.x, {\r\n min: newBounds.x - snappedNewBounds.x\r\n });\r\n }\r\n\r\n // handle \r\n else {\r\n newBounds.x = newBounds.x + newBounds.width - snappedNewBounds.width;\r\n }\r\n }\r\n\r\n // assign snapped x and width\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(newBounds, snappedNewBounds);\r\n\r\n return newBounds;\r\n};\r\n\r\n/**\r\n * Snap in one or both directions vertically.\r\n *\r\n * @param {Bounds} newBounds\r\n * @param {string} directions - Directions as {n|w|s|e}.\r\n *\r\n * @returns {Bounds} Snapped bounds.\r\n */\r\nResizeBehavior.prototype.snapVertically = function(newBounds, directions) {\r\n var gridSnapping = this._gridSnapping,\r\n north = /n/.test(directions),\r\n south = /s/.test(directions);\r\n\r\n var snappedNewBounds = {};\r\n\r\n snappedNewBounds.height = gridSnapping.snapValue(newBounds.height, {\r\n min: newBounds.height\r\n });\r\n\r\n if (north) {\r\n\r\n // handle \r\n if (south) {\r\n snappedNewBounds.y = gridSnapping.snapValue(newBounds.y, {\r\n max: newBounds.y\r\n });\r\n\r\n snappedNewBounds.height += gridSnapping.snapValue(newBounds.y - snappedNewBounds.y, {\r\n min: newBounds.y - snappedNewBounds.y\r\n });\r\n }\r\n\r\n // handle \r\n else {\r\n newBounds.y = newBounds.y + newBounds.height - snappedNewBounds.height;\r\n }\r\n }\r\n\r\n // assign snapped y and height\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)(newBounds, snappedNewBounds);\r\n\r\n return newBounds;\r\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/grid-snapping/behavior/ResizeBehavior.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/grid-snapping/behavior/SpaceToolBehavior.js":
/*!******************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/grid-snapping/behavior/SpaceToolBehavior.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SpaceToolBehavior)\n/* harmony export */ });\nvar HIGH_PRIORITY = 2000;\r\n\r\n/**\r\n * Integrates space tool with grid snapping.\r\n */\r\nfunction SpaceToolBehavior(eventBus, gridSnapping) {\r\n eventBus.on([\r\n 'spaceTool.move',\r\n 'spaceTool.end'\r\n ], HIGH_PRIORITY, function(event) {\r\n var context = event.context;\r\n\r\n if (!context.initialized) {\r\n return;\r\n }\r\n\r\n var axis = context.axis;\r\n\r\n var snapped;\r\n\r\n if (axis === 'x') {\r\n\r\n // snap delta x to multiple of 10\r\n snapped = gridSnapping.snapValue(event.dx);\r\n\r\n event.x = event.x + snapped - event.dx;\r\n event.dx = snapped;\r\n } else {\r\n\r\n // snap delta y to multiple of 10\r\n snapped = gridSnapping.snapValue(event.dy);\r\n\r\n event.y = event.y + snapped - event.dy;\r\n event.dy = snapped;\r\n }\r\n });\r\n}\r\n\r\nSpaceToolBehavior.$inject = [\r\n 'eventBus',\r\n 'gridSnapping'\r\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/grid-snapping/behavior/SpaceToolBehavior.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/grid-snapping/behavior/index.js":
/*!******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/grid-snapping/behavior/index.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ResizeBehavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ResizeBehavior */ \"./node_modules/diagram-js/lib/features/grid-snapping/behavior/ResizeBehavior.js\");\n/* harmony import */ var _SpaceToolBehavior__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SpaceToolBehavior */ \"./node_modules/diagram-js/lib/features/grid-snapping/behavior/SpaceToolBehavior.js\");\n\r\n\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\r\n __init__: [\r\n 'gridSnappingResizeBehavior',\r\n 'gridSnappingSpaceToolBehavior'\r\n ],\r\n gridSnappingResizeBehavior: [ 'type', _ResizeBehavior__WEBPACK_IMPORTED_MODULE_0__.default ],\r\n gridSnappingSpaceToolBehavior: [ 'type', _SpaceToolBehavior__WEBPACK_IMPORTED_MODULE_1__.default ]\r\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/grid-snapping/behavior/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/grid-snapping/index.js":
/*!*********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/grid-snapping/index.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _GridSnapping__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GridSnapping */ \"./node_modules/diagram-js/lib/features/grid-snapping/GridSnapping.js\");\n/* harmony import */ var _behavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./behavior */ \"./node_modules/diagram-js/lib/features/grid-snapping/behavior/index.js\");\n\r\n\r\n\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\r\n __depends__: [ _behavior__WEBPACK_IMPORTED_MODULE_0__.default ],\r\n __init__: [ 'gridSnapping' ],\r\n gridSnapping: [ 'type', _GridSnapping__WEBPACK_IMPORTED_MODULE_1__.default ]\r\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/grid-snapping/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/hand-tool/HandTool.js":
/*!********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/hand-tool/HandTool.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ HandTool)\n/* harmony export */ });\n/* harmony import */ var _util_Mouse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/Mouse */ \"./node_modules/diagram-js/lib/util/Mouse.js\");\n/* harmony import */ var _features_keyboard_KeyboardUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../features/keyboard/KeyboardUtil */ \"./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js\");\n\n\n\n\nvar HIGH_PRIORITY = 1500;\nvar HAND_CURSOR = 'grab';\n\n\nfunction HandTool(\n eventBus, canvas, dragging,\n injector, toolManager, mouse) {\n\n this._dragging = dragging;\n this._mouse = mouse;\n\n var self = this,\n keyboard = injector.get('keyboard', false);\n\n toolManager.registerTool('hand', {\n tool: 'hand',\n dragging: 'hand.move'\n });\n\n eventBus.on('element.mousedown', HIGH_PRIORITY, function(event) {\n\n if (!(0,_util_Mouse__WEBPACK_IMPORTED_MODULE_0__.hasPrimaryModifier)(event)) {\n return;\n }\n\n self.activateMove(event.originalEvent, true);\n\n return false;\n });\n\n keyboard && keyboard.addListener(HIGH_PRIORITY, function(e) {\n if (!isSpace(e.keyEvent) || self.isActive()) {\n return;\n }\n\n var mouseEvent = self._mouse.getLastMoveEvent();\n\n self.activateMove(mouseEvent, !!mouseEvent);\n }, 'keyboard.keydown');\n\n keyboard && keyboard.addListener(HIGH_PRIORITY, function(e) {\n if (!isSpace(e.keyEvent) || !self.isActive()) {\n return;\n }\n\n self.toggle();\n }, 'keyboard.keyup');\n\n eventBus.on('hand.end', function(event) {\n var target = event.originalEvent.target;\n\n // only reactive on diagram click\n // on some occasions, event.hover is not set and we have to check if the target is an svg\n if (!event.hover && !(target instanceof SVGElement)) {\n return false;\n }\n\n eventBus.once('hand.ended', function() {\n self.activateMove(event.originalEvent, { reactivate: true });\n });\n\n });\n\n eventBus.on('hand.move.move', function(event) {\n var scale = canvas.viewbox().scale;\n\n canvas.scroll({\n dx: event.dx * scale,\n dy: event.dy * scale\n });\n });\n\n eventBus.on('hand.move.end', function(event) {\n var context = event.context,\n reactivate = context.reactivate;\n\n // Don't reactivate if the user is using the keyboard keybinding\n if (!(0,_util_Mouse__WEBPACK_IMPORTED_MODULE_0__.hasPrimaryModifier)(event) && reactivate) {\n\n eventBus.once('hand.move.ended', function(event) {\n self.activateHand(event.originalEvent, true, true);\n });\n\n }\n\n return false;\n });\n\n}\n\nHandTool.$inject = [\n 'eventBus',\n 'canvas',\n 'dragging',\n 'injector',\n 'toolManager',\n 'mouse'\n];\n\n\nHandTool.prototype.activateMove = function(event, autoActivate, context) {\n if (typeof autoActivate === 'object') {\n context = autoActivate;\n autoActivate = false;\n }\n\n this._dragging.init(event, 'hand.move', {\n autoActivate: autoActivate,\n cursor: HAND_CURSOR,\n data: {\n context: context || {}\n }\n });\n};\n\nHandTool.prototype.activateHand = function(event, autoActivate, reactivate) {\n this._dragging.init(event, 'hand', {\n trapClick: false,\n autoActivate: autoActivate,\n cursor: HAND_CURSOR,\n data: {\n context: {\n reactivate: reactivate\n }\n }\n });\n};\n\nHandTool.prototype.toggle = function() {\n if (this.isActive()) {\n return this._dragging.cancel();\n }\n\n var mouseEvent = this._mouse.getLastMoveEvent();\n\n this.activateHand(mouseEvent, !!mouseEvent);\n};\n\nHandTool.prototype.isActive = function() {\n var context = this._dragging.context();\n\n if (context) {\n return /^(hand|hand\\.move)$/.test(context.prefix);\n }\n\n return false;\n};\n\n// helpers //////////\n\nfunction isSpace(keyEvent) {\n return (0,_features_keyboard_KeyboardUtil__WEBPACK_IMPORTED_MODULE_1__.isKey)(' ', keyEvent);\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/hand-tool/HandTool.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/hand-tool/index.js":
/*!*****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/hand-tool/index.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _tool_manager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../tool-manager */ \"./node_modules/diagram-js/lib/features/tool-manager/index.js\");\n/* harmony import */ var _mouse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../mouse */ \"./node_modules/diagram-js/lib/features/mouse/index.js\");\n/* harmony import */ var _HandTool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HandTool */ \"./node_modules/diagram-js/lib/features/hand-tool/HandTool.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _tool_manager__WEBPACK_IMPORTED_MODULE_0__.default,\n _mouse__WEBPACK_IMPORTED_MODULE_1__.default\n ],\n __init__: [ 'handTool' ],\n handTool: [ 'type', _HandTool__WEBPACK_IMPORTED_MODULE_2__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/hand-tool/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/hover-fix/HoverFix.js":
/*!********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/hover-fix/HoverFix.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ HoverFix)\n/* harmony export */ });\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var _util_Event__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/Event */ \"./node_modules/diagram-js/lib/util/Event.js\");\n\n\n\n\nvar HIGH_PRIORITY = 1500;\n\n\n/**\n * Browsers may swallow certain events (hover, out ...) if users are to\n * fast with the mouse.\n *\n * @see http://stackoverflow.com/questions/7448468/why-cant-i-reliably-capture-a-mouseout-event\n *\n * The fix implemented in this component ensure that we\n *\n * 1) have a hover state after a successful drag.move event\n * 2) have an out event when dragging leaves an element\n *\n * @param {ElementRegistry} elementRegistry\n * @param {EventBus} eventBus\n * @param {Injector} injector\n */\nfunction HoverFix(elementRegistry, eventBus, injector) {\n\n var self = this;\n\n var dragging = injector.get('dragging', false);\n\n /**\n * Make sure we are god damn hovering!\n *\n * @param {Event} dragging event\n */\n function ensureHover(event) {\n\n if (event.hover) {\n return;\n }\n\n var originalEvent = event.originalEvent;\n\n var gfx = self._findTargetGfx(originalEvent);\n\n var element = gfx && elementRegistry.get(gfx);\n\n if (gfx && element) {\n\n // 1) cancel current mousemove\n event.stopPropagation();\n\n // 2) emit fake hover for new target\n dragging.hover({ element: element, gfx: gfx });\n\n // 3) re-trigger move event\n dragging.move(originalEvent);\n }\n }\n\n\n if (dragging) {\n\n /**\n * We wait for a specific sequence of events before\n * emitting a fake drag.hover event.\n *\n * Event Sequence:\n *\n * drag.start\n * drag.move >> ensure we are hovering\n */\n eventBus.on('drag.start', function(event) {\n\n eventBus.once('drag.move', HIGH_PRIORITY, function(event) {\n\n ensureHover(event);\n\n });\n\n });\n }\n\n\n /**\n * We make sure that element.out is always fired, even if the\n * browser swallows an element.out event.\n *\n * Event sequence:\n *\n * element.hover\n * (element.out >> sometimes swallowed)\n * element.hover >> ensure we fired element.out\n */\n (function() {\n var hoverGfx;\n var hover;\n\n eventBus.on('element.hover', function(event) {\n\n // (1) remember current hover element\n hoverGfx = event.gfx;\n hover = event.element;\n });\n\n eventBus.on('element.hover', HIGH_PRIORITY, function(event) {\n\n // (3) am I on an element still?\n if (hover) {\n\n // (4) that is a problem, gotta \"simulate the out\"\n eventBus.fire('element.out', {\n element: hover,\n gfx: hoverGfx\n });\n }\n\n });\n\n eventBus.on('element.out', function() {\n\n // (2) unset hover state if we correctly outed us *GG*\n hoverGfx = null;\n hover = null;\n });\n\n })();\n\n this._findTargetGfx = function(event) {\n var position,\n target;\n\n if (!(event instanceof MouseEvent)) {\n return;\n }\n\n position = (0,_util_Event__WEBPACK_IMPORTED_MODULE_0__.toPoint)(event);\n\n // damn expensive operation, ouch!\n target = document.elementFromPoint(position.x, position.y);\n\n return getGfx(target);\n };\n\n}\n\nHoverFix.$inject = [\n 'elementRegistry',\n 'eventBus',\n 'injector'\n];\n\n\n// helpers /////////////////////\n\nfunction getGfx(target) {\n return (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.closest)(target, 'svg, .djs-element', true);\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/hover-fix/HoverFix.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/hover-fix/index.js":
/*!*****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/hover-fix/index.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _HoverFix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HoverFix */ \"./node_modules/diagram-js/lib/features/hover-fix/HoverFix.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [\n 'hoverFix'\n ],\n hoverFix: [ 'type', _HoverFix__WEBPACK_IMPORTED_MODULE_0__.default ],\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/hover-fix/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/interaction-events/InteractionEvents.js":
/*!**************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/interaction-events/InteractionEvents.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ InteractionEvents)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var _util_Mouse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/Mouse */ \"./node_modules/diagram-js/lib/util/Mouse.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _util_RenderUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/RenderUtil */ \"./node_modules/diagram-js/lib/util/RenderUtil.js\");\n\n\n\n\n\n\n\n\n\n\nfunction allowAll(event) { return true; }\n\nfunction allowPrimaryAndAuxiliary(event) {\n return (0,_util_Mouse__WEBPACK_IMPORTED_MODULE_0__.isPrimaryButton)(event) || (0,_util_Mouse__WEBPACK_IMPORTED_MODULE_0__.isAuxiliaryButton)(event);\n}\n\nvar LOW_PRIORITY = 500;\n\n\n/**\n * A plugin that provides interaction events for diagram elements.\n *\n * It emits the following events:\n *\n * * element.click\n * * element.contextmenu\n * * element.dblclick\n * * element.hover\n * * element.mousedown\n * * element.mousemove\n * * element.mouseup\n * * element.out\n *\n * Each event is a tuple { element, gfx, originalEvent }.\n *\n * Canceling the event via Event#preventDefault()\n * prevents the original DOM operation.\n *\n * @param {EventBus} eventBus\n */\nfunction InteractionEvents(eventBus, elementRegistry, styles) {\n\n var self = this;\n\n /**\n * Fire an interaction event.\n *\n * @param {string} type local event name, e.g. element.click.\n * @param {DOMEvent} event native event\n * @param {djs.model.Base} [element] the diagram element to emit the event on;\n * defaults to the event target\n */\n function fire(type, event, element) {\n\n if (isIgnored(type, event)) {\n return;\n }\n\n var target, gfx, returnValue;\n\n if (!element) {\n target = event.delegateTarget || event.target;\n\n if (target) {\n gfx = target;\n element = elementRegistry.get(gfx);\n }\n } else {\n gfx = elementRegistry.getGraphics(element);\n }\n\n if (!gfx || !element) {\n return;\n }\n\n returnValue = eventBus.fire(type, {\n element: element,\n gfx: gfx,\n originalEvent: event\n });\n\n if (returnValue === false) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n // TODO(nikku): document this\n var handlers = {};\n\n function mouseHandler(localEventName) {\n return handlers[localEventName];\n }\n\n function isIgnored(localEventName, event) {\n\n var filter = ignoredFilters[localEventName] || _util_Mouse__WEBPACK_IMPORTED_MODULE_0__.isPrimaryButton;\n\n // only react on left mouse button interactions\n // except for interaction events that are enabled\n // for secundary mouse button\n return !filter(event);\n }\n\n var bindings = {\n click: 'element.click',\n contextmenu: 'element.contextmenu',\n dblclick: 'element.dblclick',\n mousedown: 'element.mousedown',\n mousemove: 'element.mousemove',\n mouseover: 'element.hover',\n mouseout: 'element.out',\n mouseup: 'element.mouseup',\n };\n\n var ignoredFilters = {\n 'element.contextmenu': allowAll,\n 'element.mousedown': allowPrimaryAndAuxiliary,\n 'element.mouseup': allowPrimaryAndAuxiliary,\n 'element.click': allowPrimaryAndAuxiliary,\n 'element.dblclick': allowPrimaryAndAuxiliary\n };\n\n\n // manual event trigger //////////\n\n /**\n * Trigger an interaction event (based on a native dom event)\n * on the target shape or connection.\n *\n * @param {string} eventName the name of the triggered DOM event\n * @param {MouseEvent} event\n * @param {djs.model.Base} targetElement\n */\n function triggerMouseEvent(eventName, event, targetElement) {\n\n // i.e. element.mousedown...\n var localEventName = bindings[eventName];\n\n if (!localEventName) {\n throw new Error('unmapped DOM event name <' + eventName + '>');\n }\n\n return fire(localEventName, event, targetElement);\n }\n\n\n var ELEMENT_SELECTOR = 'svg, .djs-element';\n\n // event handling ///////\n\n function registerEvent(node, event, localEvent, ignoredFilter) {\n\n var handler = handlers[localEvent] = function(event) {\n fire(localEvent, event);\n };\n\n if (ignoredFilter) {\n ignoredFilters[localEvent] = ignoredFilter;\n }\n\n handler.$delegate = min_dom__WEBPACK_IMPORTED_MODULE_1__.delegate.bind(node, ELEMENT_SELECTOR, event, handler);\n }\n\n function unregisterEvent(node, event, localEvent) {\n\n var handler = mouseHandler(localEvent);\n\n if (!handler) {\n return;\n }\n\n min_dom__WEBPACK_IMPORTED_MODULE_1__.delegate.unbind(node, event, handler.$delegate);\n }\n\n function registerEvents(svg) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(bindings, function(val, key) {\n registerEvent(svg, key, val);\n });\n }\n\n function unregisterEvents(svg) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(bindings, function(val, key) {\n unregisterEvent(svg, key, val);\n });\n }\n\n eventBus.on('canvas.destroy', function(event) {\n unregisterEvents(event.svg);\n });\n\n eventBus.on('canvas.init', function(event) {\n registerEvents(event.svg);\n });\n\n\n // hit box updating ////////////////\n\n eventBus.on([ 'shape.added', 'connection.added' ], function(event) {\n var element = event.element,\n gfx = event.gfx;\n\n eventBus.fire('interactionEvents.createHit', { element: element, gfx: gfx });\n });\n\n // Update djs-hit on change.\n // A low priortity is necessary, because djs-hit of labels has to be updated\n // after the label bounds have been updated in the renderer.\n eventBus.on([\n 'shape.changed',\n 'connection.changed'\n ], LOW_PRIORITY, function(event) {\n\n var element = event.element,\n gfx = event.gfx;\n\n eventBus.fire('interactionEvents.updateHit', { element: element, gfx: gfx });\n });\n\n eventBus.on('interactionEvents.createHit', LOW_PRIORITY, function(event) {\n var element = event.element,\n gfx = event.gfx;\n\n self.createDefaultHit(element, gfx);\n });\n\n eventBus.on('interactionEvents.updateHit', function(event) {\n var element = event.element,\n gfx = event.gfx;\n\n self.updateDefaultHit(element, gfx);\n });\n\n\n // hit styles ////////////\n\n var STROKE_HIT_STYLE = createHitStyle('djs-hit djs-hit-stroke');\n\n var CLICK_STROKE_HIT_STYLE = createHitStyle('djs-hit djs-hit-click-stroke');\n\n var ALL_HIT_STYLE = createHitStyle('djs-hit djs-hit-all');\n\n var HIT_TYPES = {\n 'all': ALL_HIT_STYLE,\n 'click-stroke': CLICK_STROKE_HIT_STYLE,\n 'stroke': STROKE_HIT_STYLE\n };\n\n function createHitStyle(classNames, attrs) {\n\n attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({\n stroke: 'white',\n strokeWidth: 15\n }, attrs || {});\n\n return styles.cls(classNames, [ 'no-fill', 'no-border' ], attrs);\n }\n\n\n // style helpers ///////////////\n\n function applyStyle(hit, type) {\n\n var attrs = HIT_TYPES[type];\n\n if (!attrs) {\n throw new Error('invalid hit type <' + type + '>');\n }\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_3__.attr)(hit, attrs);\n\n return hit;\n }\n\n function appendHit(gfx, hit) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_3__.append)(gfx, hit);\n }\n\n\n // API\n\n /**\n * Remove hints on the given graphics.\n *\n * @param {SVGElement} gfx\n */\n this.removeHits = function(gfx) {\n var hits = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.queryAll)('.djs-hit', gfx);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(hits, tiny_svg__WEBPACK_IMPORTED_MODULE_3__.remove);\n };\n\n /**\n * Create default hit for the given element.\n *\n * @param {djs.model.Base} element\n * @param {SVGElement} gfx\n *\n * @return {SVGElement} created hit\n */\n this.createDefaultHit = function(element, gfx) {\n var waypoints = element.waypoints,\n isFrame = element.isFrame,\n boxType;\n\n if (waypoints) {\n return this.createWaypointsHit(gfx, waypoints);\n } else {\n\n boxType = isFrame ? 'stroke' : 'all';\n\n return this.createBoxHit(gfx, boxType, {\n width: element.width,\n height: element.height\n });\n }\n };\n\n /**\n * Create hits for the given waypoints.\n *\n * @param {SVGElement} gfx\n * @param {Array} waypoints\n *\n * @return {SVGElement}\n */\n this.createWaypointsHit = function(gfx, waypoints) {\n\n var hit = (0,_util_RenderUtil__WEBPACK_IMPORTED_MODULE_4__.createLine)(waypoints);\n\n applyStyle(hit, 'stroke');\n\n appendHit(gfx, hit);\n\n return hit;\n };\n\n /**\n * Create hits for a box.\n *\n * @param {SVGElement} gfx\n * @param {string} hitType\n * @param {Object} attrs\n *\n * @return {SVGElement}\n */\n this.createBoxHit = function(gfx, type, attrs) {\n\n attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.assign)({\n x: 0,\n y: 0\n }, attrs);\n\n var hit = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_3__.create)('rect');\n\n applyStyle(hit, type);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_3__.attr)(hit, attrs);\n\n appendHit(gfx, hit);\n\n return hit;\n };\n\n /**\n * Update default hit of the element.\n *\n * @param {djs.model.Base} element\n * @param {SVGElement} gfx\n *\n * @return {SVGElement} updated hit\n */\n this.updateDefaultHit = function(element, gfx) {\n\n var hit = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.query)('.djs-hit', gfx);\n\n if (!hit) {\n return;\n }\n\n if (element.waypoints) {\n (0,_util_RenderUtil__WEBPACK_IMPORTED_MODULE_4__.updateLine)(hit, element.waypoints);\n } else {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_3__.attr)(hit, {\n width: element.width,\n height: element.height\n });\n }\n\n return hit;\n };\n\n this.fire = fire;\n\n this.triggerMouseEvent = triggerMouseEvent;\n\n this.mouseHandler = mouseHandler;\n\n this.registerEvent = registerEvent;\n this.unregisterEvent = unregisterEvent;\n}\n\n\nInteractionEvents.$inject = [\n 'eventBus',\n 'elementRegistry',\n 'styles'\n];\n\n\n/**\n * An event indicating that the mouse hovered over an element\n *\n * @event element.hover\n *\n * @type {Object}\n * @property {djs.model.Base} element\n * @property {SVGElement} gfx\n * @property {Event} originalEvent\n */\n\n/**\n * An event indicating that the mouse has left an element\n *\n * @event element.out\n *\n * @type {Object}\n * @property {djs.model.Base} element\n * @property {SVGElement} gfx\n * @property {Event} originalEvent\n */\n\n/**\n * An event indicating that the mouse has clicked an element\n *\n * @event element.click\n *\n * @type {Object}\n * @property {djs.model.Base} element\n * @property {SVGElement} gfx\n * @property {Event} originalEvent\n */\n\n/**\n * An event indicating that the mouse has double clicked an element\n *\n * @event element.dblclick\n *\n * @type {Object}\n * @property {djs.model.Base} element\n * @property {SVGElement} gfx\n * @property {Event} originalEvent\n */\n\n/**\n * An event indicating that the mouse has gone down on an element.\n *\n * @event element.mousedown\n *\n * @type {Object}\n * @property {djs.model.Base} element\n * @property {SVGElement} gfx\n * @property {Event} originalEvent\n */\n\n/**\n * An event indicating that the mouse has gone up on an element.\n *\n * @event element.mouseup\n *\n * @type {Object}\n * @property {djs.model.Base} element\n * @property {SVGElement} gfx\n * @property {Event} originalEvent\n */\n\n/**\n * An event indicating that the context menu action is triggered\n * via mouse or touch controls.\n *\n * @event element.contextmenu\n *\n * @type {Object}\n * @property {djs.model.Base} element\n * @property {SVGElement} gfx\n * @property {Event} originalEvent\n */\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/interaction-events/InteractionEvents.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/interaction-events/index.js":
/*!**************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/interaction-events/index.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _InteractionEvents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InteractionEvents */ \"./node_modules/diagram-js/lib/features/interaction-events/InteractionEvents.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'interactionEvents' ],\n interactionEvents: [ 'type', _InteractionEvents__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/interaction-events/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/keyboard-move-selection/KeyboardMoveSelection.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/keyboard-move-selection/KeyboardMoveSelection.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ KeyboardMoveSelection)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\nvar DEFAULT_CONFIG = {\n moveSpeed: 1,\n moveSpeedAccelerated: 10\n};\n\nvar HIGHER_PRIORITY = 1500;\n\nvar LEFT = 'left';\nvar UP = 'up';\nvar RIGHT = 'right';\nvar DOWN = 'down';\n\nvar KEY_TO_DIRECTION = {\n ArrowLeft: LEFT,\n Left: LEFT,\n ArrowUp: UP,\n Up: UP,\n ArrowRight: RIGHT,\n Right: RIGHT,\n ArrowDown: DOWN,\n Down: DOWN\n};\n\nvar DIRECTIONS_DELTA = {\n left: function(speed) {\n return {\n x: -speed,\n y: 0\n };\n },\n up: function(speed) {\n return {\n x: 0,\n y: -speed\n };\n },\n right: function(speed) {\n return {\n x: speed,\n y: 0\n };\n },\n down: function(speed) {\n return {\n x: 0,\n y: speed\n };\n }\n};\n\n\n/**\n * Enables to move selection with keyboard arrows.\n * Use with Shift for modified speed (default=1, with Shift=10).\n * Pressed Cmd/Ctrl turns the feature off.\n *\n * @param {Object} config\n * @param {number} [config.moveSpeed=1]\n * @param {number} [config.moveSpeedAccelerated=10]\n * @param {Keyboard} keyboard\n * @param {Modeling} modeling\n * @param {Selection} selection\n */\nfunction KeyboardMoveSelection(\n config,\n keyboard,\n modeling,\n rules,\n selection\n) {\n\n var self = this;\n\n this._config = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, DEFAULT_CONFIG, config || {});\n\n keyboard.addListener(HIGHER_PRIORITY, function(event) {\n\n var keyEvent = event.keyEvent;\n\n var direction = KEY_TO_DIRECTION[keyEvent.key];\n\n if (!direction) {\n return;\n }\n\n if (keyboard.isCmd(keyEvent)) {\n return;\n }\n\n var accelerated = keyboard.isShift(keyEvent);\n\n self.moveSelection(direction, accelerated);\n\n return true;\n });\n\n\n /**\n * Move selected elements in the given direction,\n * optionally specifying accelerated movement.\n *\n * @param {string} direction\n * @param {boolean} [accelerated=false]\n */\n this.moveSelection = function(direction, accelerated) {\n\n var selectedElements = selection.get();\n\n if (!selectedElements.length) {\n return;\n }\n\n var speed = this._config[\n accelerated ?\n 'moveSpeedAccelerated' :\n 'moveSpeed'\n ];\n\n var delta = DIRECTIONS_DELTA[direction](speed);\n\n var canMove = rules.allowed('elements.move', {\n shapes: selectedElements\n });\n\n if (canMove) {\n modeling.moveElements(selectedElements, delta);\n }\n };\n\n}\n\nKeyboardMoveSelection.$inject = [\n 'config.keyboardMoveSelection',\n 'keyboard',\n 'modeling',\n 'rules',\n 'selection'\n];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/keyboard-move-selection/KeyboardMoveSelection.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/keyboard-move-selection/index.js":
/*!*******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/keyboard-move-selection/index.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _keyboard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../keyboard */ \"./node_modules/diagram-js/lib/features/keyboard/index.js\");\n/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var _KeyboardMoveSelection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./KeyboardMoveSelection */ \"./node_modules/diagram-js/lib/features/keyboard-move-selection/KeyboardMoveSelection.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _keyboard__WEBPACK_IMPORTED_MODULE_0__.default,\n _selection__WEBPACK_IMPORTED_MODULE_1__.default\n ],\n __init__: [\n 'keyboardMoveSelection'\n ],\n keyboardMoveSelection: [ 'type', _KeyboardMoveSelection__WEBPACK_IMPORTED_MODULE_2__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/keyboard-move-selection/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/keyboard/Keyboard.js":
/*!*******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/keyboard/Keyboard.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Keyboard)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var _KeyboardUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./KeyboardUtil */ \"./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js\");\n\n\n\n\n\n\nvar KEYDOWN_EVENT = 'keyboard.keydown',\n KEYUP_EVENT = 'keyboard.keyup';\n\nvar DEFAULT_PRIORITY = 1000;\n\n\n/**\n * A keyboard abstraction that may be activated and\n * deactivated by users at will, consuming key events\n * and triggering diagram actions.\n *\n * For keys pressed down, keyboard fires `keyboard.keydown` event.\n * The event context contains one field which is `KeyboardEvent` event.\n *\n * The implementation fires the following key events that allow\n * other components to hook into key handling:\n *\n * - keyboard.bind\n * - keyboard.unbind\n * - keyboard.init\n * - keyboard.destroy\n *\n * All events contain one field which is node.\n *\n * A default binding for the keyboard may be specified via the\n * `keyboard.bindTo` configuration option.\n *\n * @param {Config} config\n * @param {EventBus} eventBus\n */\nfunction Keyboard(config, eventBus) {\n var self = this;\n\n this._config = config || {};\n this._eventBus = eventBus;\n\n this._keydownHandler = this._keydownHandler.bind(this);\n this._keyupHandler = this._keyupHandler.bind(this);\n\n // properly clean dom registrations\n eventBus.on('diagram.destroy', function() {\n self._fire('destroy');\n\n self.unbind();\n });\n\n eventBus.on('diagram.init', function() {\n self._fire('init');\n });\n\n eventBus.on('attach', function() {\n if (config && config.bindTo) {\n self.bind(config.bindTo);\n }\n });\n\n eventBus.on('detach', function() {\n self.unbind();\n });\n}\n\nKeyboard.$inject = [\n 'config.keyboard',\n 'eventBus'\n];\n\nKeyboard.prototype._keydownHandler = function(event) {\n this._keyHandler(event, KEYDOWN_EVENT);\n};\n\nKeyboard.prototype._keyupHandler = function(event) {\n this._keyHandler(event, KEYUP_EVENT);\n};\n\nKeyboard.prototype._keyHandler = function(event, type) {\n var target = event.target,\n eventBusResult;\n\n if (isInput(target)) {\n return;\n }\n\n var context = {\n keyEvent: event\n };\n\n eventBusResult = this._eventBus.fire(type || KEYDOWN_EVENT, context);\n\n if (eventBusResult) {\n event.preventDefault();\n }\n};\n\nKeyboard.prototype.bind = function(node) {\n\n // make sure that the keyboard is only bound once to the DOM\n this.unbind();\n\n this._node = node;\n\n // bind key events\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(node, 'keydown', this._keydownHandler, true);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(node, 'keyup', this._keyupHandler, true);\n\n this._fire('bind');\n};\n\nKeyboard.prototype.getBinding = function() {\n return this._node;\n};\n\nKeyboard.prototype.unbind = function() {\n var node = this._node;\n\n if (node) {\n this._fire('unbind');\n\n // unbind key events\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.unbind(node, 'keydown', this._keydownHandler, true);\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.unbind(node, 'keyup', this._keyupHandler, true);\n }\n\n this._node = null;\n};\n\nKeyboard.prototype._fire = function(event) {\n this._eventBus.fire('keyboard.' + event, { node: this._node });\n};\n\n/**\n * Add a listener function that is notified with `KeyboardEvent` whenever\n * the keyboard is bound and the user presses a key. If no priority is\n * provided, the default value of 1000 is used.\n *\n * @param {number} [priority]\n * @param {Function} listener\n * @param {string} type\n */\nKeyboard.prototype.addListener = function(priority, listener, type) {\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isFunction)(priority)) {\n type = listener;\n listener = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n this._eventBus.on(type || KEYDOWN_EVENT, priority, listener);\n};\n\nKeyboard.prototype.removeListener = function(listener, type) {\n this._eventBus.off(type || KEYDOWN_EVENT, listener);\n};\n\nKeyboard.prototype.hasModifier = _KeyboardUtil__WEBPACK_IMPORTED_MODULE_2__.hasModifier;\nKeyboard.prototype.isCmd = _KeyboardUtil__WEBPACK_IMPORTED_MODULE_2__.isCmd;\nKeyboard.prototype.isShift = _KeyboardUtil__WEBPACK_IMPORTED_MODULE_2__.isShift;\nKeyboard.prototype.isKey = _KeyboardUtil__WEBPACK_IMPORTED_MODULE_2__.isKey;\n\n\n\n// helpers ///////\n\nfunction isInput(target) {\n return target && ((0,min_dom__WEBPACK_IMPORTED_MODULE_0__.matches)(target, 'input, textarea') || target.contentEditable === 'true');\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/keyboard/Keyboard.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/keyboard/KeyboardBindings.js":
/*!***************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/keyboard/KeyboardBindings.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KEYCODE_C\": () => (/* binding */ KEYCODE_C),\n/* harmony export */ \"KEYCODE_V\": () => (/* binding */ KEYCODE_V),\n/* harmony export */ \"KEYCODE_Y\": () => (/* binding */ KEYCODE_Y),\n/* harmony export */ \"KEYCODE_Z\": () => (/* binding */ KEYCODE_Z),\n/* harmony export */ \"KEYS_COPY\": () => (/* binding */ KEYS_COPY),\n/* harmony export */ \"KEYS_PASTE\": () => (/* binding */ KEYS_PASTE),\n/* harmony export */ \"KEYS_REDO\": () => (/* binding */ KEYS_REDO),\n/* harmony export */ \"KEYS_UNDO\": () => (/* binding */ KEYS_UNDO),\n/* harmony export */ \"default\": () => (/* binding */ KeyboardBindings)\n/* harmony export */ });\n/* harmony import */ var _KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./KeyboardUtil */ \"./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js\");\n\n\nvar LOW_PRIORITY = 500;\n\nvar KEYCODE_C = 67;\nvar KEYCODE_V = 86;\nvar KEYCODE_Y = 89;\nvar KEYCODE_Z = 90;\n\nvar KEYS_COPY = ['c', 'C', KEYCODE_C ];\nvar KEYS_PASTE = [ 'v', 'V', KEYCODE_V ];\nvar KEYS_REDO = [ 'y', 'Y', KEYCODE_Y ];\nvar KEYS_UNDO = [ 'z', 'Z', KEYCODE_Z ];\n\n\n/**\n * Adds default keyboard bindings.\n *\n * This does not pull in any features will bind only actions that\n * have previously been registered against the editorActions component.\n *\n * @param {EventBus} eventBus\n * @param {Keyboard} keyboard\n */\nfunction KeyboardBindings(eventBus, keyboard) {\n\n var self = this;\n\n eventBus.on('editorActions.init', LOW_PRIORITY, function(event) {\n\n var editorActions = event.editorActions;\n\n self.registerBindings(keyboard, editorActions);\n });\n}\n\nKeyboardBindings.$inject = [\n 'eventBus',\n 'keyboard'\n];\n\n\n/**\n * Register available keyboard bindings.\n *\n * @param {Keyboard} keyboard\n * @param {EditorActions} editorActions\n */\nKeyboardBindings.prototype.registerBindings = function(keyboard, editorActions) {\n\n /**\n * Add keyboard binding if respective editor action\n * is registered.\n *\n * @param {string} action name\n * @param {Function} fn that implements the key binding\n */\n function addListener(action, fn) {\n\n if (editorActions.isRegistered(action)) {\n keyboard.addListener(fn);\n }\n }\n\n\n // undo\n // (CTRL|CMD) + Z\n addListener('undo', function(context) {\n\n var event = context.keyEvent;\n\n if ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(event) && !(0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isShift)(event) && (0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)(KEYS_UNDO, event)) {\n editorActions.trigger('undo');\n\n return true;\n }\n });\n\n // redo\n // CTRL + Y\n // CMD + SHIFT + Z\n addListener('redo', function(context) {\n\n var event = context.keyEvent;\n\n if ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(event) && ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)(KEYS_REDO, event) || ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)(KEYS_UNDO, event) && (0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isShift)(event)))) {\n editorActions.trigger('redo');\n\n return true;\n }\n });\n\n // copy\n // CTRL/CMD + C\n addListener('copy', function(context) {\n\n var event = context.keyEvent;\n\n if ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(event) && (0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)(KEYS_COPY, event)) {\n editorActions.trigger('copy');\n\n return true;\n }\n });\n\n // paste\n // CTRL/CMD + V\n addListener('paste', function(context) {\n\n var event = context.keyEvent;\n\n if ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(event) && (0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)(KEYS_PASTE, event)) {\n editorActions.trigger('paste');\n\n return true;\n }\n });\n\n // zoom in one step\n // CTRL/CMD + +\n addListener('stepZoom', function(context) {\n\n var event = context.keyEvent;\n\n // quirk: it has to be triggered by `=` as well to work on international keyboard layout\n // cf: https://github.com/bpmn-io/bpmn-js/issues/1362#issuecomment-722989754\n if ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)([ '+', 'Add', '=' ], event) && (0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(event)) {\n editorActions.trigger('stepZoom', { value: 1 });\n\n return true;\n }\n });\n\n // zoom out one step\n // CTRL + -\n addListener('stepZoom', function(context) {\n\n var event = context.keyEvent;\n\n if ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)([ '-', 'Subtract' ], event) && (0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(event)) {\n editorActions.trigger('stepZoom', { value: -1 });\n\n return true;\n }\n });\n\n // zoom to the default level\n // CTRL + 0\n addListener('zoom', function(context) {\n\n var event = context.keyEvent;\n\n if ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)('0', event) && (0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isCmd)(event)) {\n editorActions.trigger('zoom', { value: 1 });\n\n return true;\n }\n });\n\n // delete selected element\n // DEL\n addListener('removeSelection', function(context) {\n\n var event = context.keyEvent;\n\n if ((0,_KeyboardUtil__WEBPACK_IMPORTED_MODULE_0__.isKey)(['Backspace', 'Delete', 'Del' ], event)) {\n editorActions.trigger('removeSelection');\n\n return true;\n }\n });\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/keyboard/KeyboardBindings.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js":
/*!***********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"hasModifier\": () => (/* binding */ hasModifier),\n/* harmony export */ \"isCmd\": () => (/* binding */ isCmd),\n/* harmony export */ \"isKey\": () => (/* binding */ isKey),\n/* harmony export */ \"isShift\": () => (/* binding */ isShift)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\r\n\r\n/**\r\n * Returns true if event was triggered with any modifier\r\n * @param {KeyboardEvent} event\r\n */\r\nfunction hasModifier(event) {\r\n return (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey);\r\n}\r\n\r\n/**\r\n * @param {KeyboardEvent} event\r\n */\r\nfunction isCmd(event) {\r\n\r\n // ensure we don't react to AltGr\r\n // (mapped to CTRL + ALT)\r\n if (event.altKey) {\r\n return false;\r\n }\r\n\r\n return event.ctrlKey || event.metaKey;\r\n}\r\n\r\n/**\r\n * Checks if key pressed is one of provided keys.\r\n *\r\n * @param {string|Array} keys\r\n * @param {KeyboardEvent} event\r\n */\r\nfunction isKey(keys, event) {\r\n keys = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(keys) ? keys : [ keys ];\r\n\r\n return keys.indexOf(event.key) !== -1 || keys.indexOf(event.keyCode) !== -1;\r\n}\r\n\r\n/**\r\n * @param {KeyboardEvent} event\r\n */\r\nfunction isShift(event) {\r\n return event.shiftKey;\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/keyboard/index.js":
/*!****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/keyboard/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Keyboard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Keyboard */ \"./node_modules/diagram-js/lib/features/keyboard/Keyboard.js\");\n/* harmony import */ var _KeyboardBindings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./KeyboardBindings */ \"./node_modules/diagram-js/lib/features/keyboard/KeyboardBindings.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'keyboard', 'keyboardBindings' ],\n keyboard: [ 'type', _Keyboard__WEBPACK_IMPORTED_MODULE_0__.default ],\n keyboardBindings: [ 'type', _KeyboardBindings__WEBPACK_IMPORTED_MODULE_1__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/keyboard/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/label-support/LabelSupport.js":
/*!****************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/label-support/LabelSupport.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LabelSupport)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _util_Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var _util_Removal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/Removal */ \"./node_modules/diagram-js/lib/util/Removal.js\");\n/* harmony import */ var _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n\n\n\n\nvar LOW_PRIORITY = 250,\n HIGH_PRIORITY = 1400;\n\n\n\n\n\n\n\n\n/**\n * A handler that makes sure labels are properly moved with\n * their label targets.\n *\n * @param {didi.Injector} injector\n * @param {EventBus} eventBus\n * @param {Modeling} modeling\n */\nfunction LabelSupport(injector, eventBus, modeling) {\n\n _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n var movePreview = injector.get('movePreview', false);\n\n // remove labels from the collection that are being\n // moved with other elements anyway\n eventBus.on('shape.move.start', HIGH_PRIORITY, function(e) {\n\n var context = e.context,\n shapes = context.shapes,\n validatedShapes = context.validatedShapes;\n\n context.shapes = removeLabels(shapes);\n context.validatedShapes = removeLabels(validatedShapes);\n });\n\n // add labels to visual's group\n movePreview && eventBus.on('shape.move.start', LOW_PRIORITY, function(e) {\n\n var context = e.context,\n shapes = context.shapes;\n\n var labels = [];\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(shapes, function(element) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(element.labels, function(label) {\n\n if (!label.hidden && context.shapes.indexOf(label) === -1) {\n labels.push(label);\n }\n\n if (element.labelTarget) {\n labels.push(element);\n }\n });\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(labels, function(label) {\n movePreview.makeDraggable(context, label, true);\n });\n\n });\n\n // add all labels to move closure\n this.preExecuted('elements.move', HIGH_PRIORITY, function(e) {\n var context = e.context,\n closure = context.closure,\n enclosedElements = closure.enclosedElements;\n\n var enclosedLabels = [];\n\n // find labels that are not part of\n // move closure yet and add them\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(enclosedElements, function(element) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(element.labels, function(label) {\n\n if (!enclosedElements[label.id]) {\n enclosedLabels.push(label);\n }\n });\n });\n\n closure.addAll(enclosedLabels);\n });\n\n\n this.preExecute([\n 'connection.delete',\n 'shape.delete'\n ], function(e) {\n\n var context = e.context,\n element = context.connection || context.shape;\n\n (0,_util_Removal__WEBPACK_IMPORTED_MODULE_3__.saveClear)(element.labels, function(label) {\n modeling.removeShape(label, { nested: true });\n });\n });\n\n\n this.execute('shape.delete', function(e) {\n\n var context = e.context,\n shape = context.shape,\n labelTarget = shape.labelTarget;\n\n // unset labelTarget\n if (labelTarget) {\n context.labelTargetIndex = (0,_util_Collections__WEBPACK_IMPORTED_MODULE_4__.indexOf)(labelTarget.labels, shape);\n context.labelTarget = labelTarget;\n\n shape.labelTarget = null;\n }\n });\n\n this.revert('shape.delete', function(e) {\n\n var context = e.context,\n shape = context.shape,\n labelTarget = context.labelTarget,\n labelTargetIndex = context.labelTargetIndex;\n\n // restore labelTarget\n if (labelTarget) {\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_4__.add)(labelTarget.labels, shape, labelTargetIndex);\n\n shape.labelTarget = labelTarget;\n }\n });\n\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(LabelSupport, _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\nLabelSupport.$inject = [\n 'injector',\n 'eventBus',\n 'modeling'\n];\n\n\n/**\n * Return a filtered list of elements that do not\n * contain attached elements with hosts being part\n * of the selection.\n *\n * @param {Array} elements\n *\n * @return {Array} filtered\n */\nfunction removeLabels(elements) {\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.filter)(elements, function(element) {\n\n // filter out labels that are move together\n // with their label targets\n return elements.indexOf(element.labelTarget) === -1;\n });\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/label-support/LabelSupport.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/label-support/index.js":
/*!*********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/label-support/index.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _LabelSupport__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LabelSupport */ \"./node_modules/diagram-js/lib/features/label-support/LabelSupport.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'labelSupport'],\n labelSupport: [ 'type', _LabelSupport__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/label-support/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/lasso-tool/LassoTool.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/lasso-tool/LassoTool.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LassoTool)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var _util_Mouse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/Mouse */ \"./node_modules/diagram-js/lib/util/Mouse.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n\n\n\n\n\n\n\n\nvar LASSO_TOOL_CURSOR = 'crosshair';\n\n\nfunction LassoTool(\n eventBus, canvas, dragging,\n elementRegistry, selection, toolManager,\n mouse) {\n\n this._selection = selection;\n this._dragging = dragging;\n this._mouse = mouse;\n\n var self = this;\n\n // lasso visuals implementation\n\n /**\n * A helper that realizes the selection box visual\n */\n var visuals = {\n\n create: function(context) {\n var container = canvas.getDefaultLayer(),\n frame;\n\n frame = context.frame = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.create)('rect');\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(frame, {\n class: 'djs-lasso-overlay',\n width: 1,\n height: 1,\n x: 0,\n y: 0\n });\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.append)(container, frame);\n },\n\n update: function(context) {\n var frame = context.frame,\n bbox = context.bbox;\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(frame, {\n x: bbox.x,\n y: bbox.y,\n width: bbox.width,\n height: bbox.height\n });\n },\n\n remove: function(context) {\n\n if (context.frame) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.remove)(context.frame);\n }\n }\n };\n\n toolManager.registerTool('lasso', {\n tool: 'lasso.selection',\n dragging: 'lasso'\n });\n\n eventBus.on('lasso.selection.end', function(event) {\n var target = event.originalEvent.target;\n\n // only reactive on diagram click\n // on some occasions, event.hover is not set and we have to check if the target is an svg\n if (!event.hover && !(target instanceof SVGElement)) {\n return;\n }\n\n eventBus.once('lasso.selection.ended', function() {\n self.activateLasso(event.originalEvent, true);\n });\n });\n\n // lasso interaction implementation\n\n eventBus.on('lasso.end', function(event) {\n\n var bbox = toBBox(event);\n\n var elements = elementRegistry.filter(function(element) {\n return element;\n });\n\n self.select(elements, bbox);\n });\n\n eventBus.on('lasso.start', function(event) {\n\n var context = event.context;\n\n context.bbox = toBBox(event);\n visuals.create(context);\n });\n\n eventBus.on('lasso.move', function(event) {\n\n var context = event.context;\n\n context.bbox = toBBox(event);\n visuals.update(context);\n });\n\n eventBus.on('lasso.cleanup', function(event) {\n\n var context = event.context;\n\n visuals.remove(context);\n });\n\n\n // event integration\n\n eventBus.on('element.mousedown', 1500, function(event) {\n\n if (!(0,_util_Mouse__WEBPACK_IMPORTED_MODULE_1__.hasSecondaryModifier)(event)) {\n return;\n }\n\n self.activateLasso(event.originalEvent);\n\n // we've handled the event\n return true;\n });\n}\n\nLassoTool.$inject = [\n 'eventBus',\n 'canvas',\n 'dragging',\n 'elementRegistry',\n 'selection',\n 'toolManager',\n 'mouse'\n];\n\n\nLassoTool.prototype.activateLasso = function(event, autoActivate) {\n\n this._dragging.init(event, 'lasso', {\n autoActivate: autoActivate,\n cursor: LASSO_TOOL_CURSOR,\n data: {\n context: {}\n }\n });\n};\n\nLassoTool.prototype.activateSelection = function(event, autoActivate) {\n\n this._dragging.init(event, 'lasso.selection', {\n trapClick: false,\n autoActivate: autoActivate,\n cursor: LASSO_TOOL_CURSOR,\n data: {\n context: {}\n }\n });\n};\n\nLassoTool.prototype.select = function(elements, bbox) {\n var selectedElements = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_2__.getEnclosedElements)(elements, bbox);\n\n this._selection.select((0,min_dash__WEBPACK_IMPORTED_MODULE_3__.values)(selectedElements));\n};\n\nLassoTool.prototype.toggle = function() {\n if (this.isActive()) {\n return this._dragging.cancel();\n }\n\n var mouseEvent = this._mouse.getLastMoveEvent();\n\n this.activateSelection(mouseEvent, !!mouseEvent);\n};\n\nLassoTool.prototype.isActive = function() {\n var context = this._dragging.context();\n\n return context && /^lasso/.test(context.prefix);\n};\n\n\n\nfunction toBBox(event) {\n\n var start = {\n\n x: event.x - event.dx,\n y: event.y - event.dy\n };\n\n var end = {\n x: event.x,\n y: event.y\n };\n\n var bbox;\n\n if ((start.x <= end.x && start.y < end.y) ||\n (start.x < end.x && start.y <= end.y)) {\n\n bbox = {\n x: start.x,\n y: start.y,\n width: end.x - start.x,\n height: end.y - start.y\n };\n } else if ((start.x >= end.x && start.y < end.y) ||\n (start.x > end.x && start.y <= end.y)) {\n\n bbox = {\n x: end.x,\n y: start.y,\n width: start.x - end.x,\n height: end.y - start.y\n };\n } else if ((start.x <= end.x && start.y > end.y) ||\n (start.x < end.x && start.y >= end.y)) {\n\n bbox = {\n x: start.x,\n y: end.y,\n width: end.x - start.x,\n height: start.y - end.y\n };\n } else if ((start.x >= end.x && start.y > end.y) ||\n (start.x > end.x && start.y >= end.y)) {\n\n bbox = {\n x: end.x,\n y: end.y,\n width: start.x - end.x,\n height: start.y - end.y\n };\n } else {\n\n bbox = {\n x: end.x,\n y: end.y,\n width: 0,\n height: 0\n };\n }\n return bbox;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/lasso-tool/LassoTool.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/lasso-tool/index.js":
/*!******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/lasso-tool/index.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _tool_manager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../tool-manager */ \"./node_modules/diagram-js/lib/features/tool-manager/index.js\");\n/* harmony import */ var _mouse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../mouse */ \"./node_modules/diagram-js/lib/features/mouse/index.js\");\n/* harmony import */ var _LassoTool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LassoTool */ \"./node_modules/diagram-js/lib/features/lasso-tool/LassoTool.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _tool_manager__WEBPACK_IMPORTED_MODULE_0__.default,\n _mouse__WEBPACK_IMPORTED_MODULE_1__.default\n ],\n __init__: [ 'lassoTool' ],\n lassoTool: [ 'type', _LassoTool__WEBPACK_IMPORTED_MODULE_2__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/lasso-tool/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/Modeling.js":
/*!*******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/Modeling.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Modeling)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../model */ \"./node_modules/diagram-js/lib/model/index.js\");\n/* harmony import */ var _cmd_AlignElementsHandler__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./cmd/AlignElementsHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/AlignElementsHandler.js\");\n/* harmony import */ var _cmd_AppendShapeHandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cmd/AppendShapeHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/AppendShapeHandler.js\");\n/* harmony import */ var _cmd_CreateConnectionHandler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./cmd/CreateConnectionHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/CreateConnectionHandler.js\");\n/* harmony import */ var _cmd_CreateElementsHandler__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./cmd/CreateElementsHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/CreateElementsHandler.js\");\n/* harmony import */ var _cmd_CreateLabelHandler__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./cmd/CreateLabelHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/CreateLabelHandler.js\");\n/* harmony import */ var _cmd_CreateShapeHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cmd/CreateShapeHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/CreateShapeHandler.js\");\n/* harmony import */ var _cmd_DeleteConnectionHandler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./cmd/DeleteConnectionHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/DeleteConnectionHandler.js\");\n/* harmony import */ var _cmd_DeleteElementsHandler__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./cmd/DeleteElementsHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/DeleteElementsHandler.js\");\n/* harmony import */ var _cmd_DeleteShapeHandler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cmd/DeleteShapeHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/DeleteShapeHandler.js\");\n/* harmony import */ var _cmd_DistributeElementsHandler__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./cmd/DistributeElementsHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/DistributeElementsHandler.js\");\n/* harmony import */ var _cmd_LayoutConnectionHandler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./cmd/LayoutConnectionHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/LayoutConnectionHandler.js\");\n/* harmony import */ var _cmd_MoveConnectionHandler__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./cmd/MoveConnectionHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/MoveConnectionHandler.js\");\n/* harmony import */ var _cmd_MoveElementsHandler__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./cmd/MoveElementsHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/MoveElementsHandler.js\");\n/* harmony import */ var _cmd_MoveShapeHandler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cmd/MoveShapeHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/MoveShapeHandler.js\");\n/* harmony import */ var _cmd_ReconnectConnectionHandler__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./cmd/ReconnectConnectionHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/ReconnectConnectionHandler.js\");\n/* harmony import */ var _cmd_ReplaceShapeHandler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cmd/ReplaceShapeHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/ReplaceShapeHandler.js\");\n/* harmony import */ var _cmd_ResizeShapeHandler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cmd/ResizeShapeHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/ResizeShapeHandler.js\");\n/* harmony import */ var _cmd_SpaceToolHandler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cmd/SpaceToolHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/SpaceToolHandler.js\");\n/* harmony import */ var _cmd_ToggleShapeCollapseHandler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cmd/ToggleShapeCollapseHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/ToggleShapeCollapseHandler.js\");\n/* harmony import */ var _cmd_UpdateAttachmentHandler__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./cmd/UpdateAttachmentHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/UpdateAttachmentHandler.js\");\n/* harmony import */ var _cmd_UpdateWaypointsHandler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./cmd/UpdateWaypointsHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/UpdateWaypointsHandler.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The basic modeling entry point.\n *\n * @param {EventBus} eventBus\n * @param {ElementFactory} elementFactory\n * @param {CommandStack} commandStack\n */\nfunction Modeling(eventBus, elementFactory, commandStack) {\n this._eventBus = eventBus;\n this._elementFactory = elementFactory;\n this._commandStack = commandStack;\n\n var self = this;\n\n eventBus.on('diagram.init', function() {\n\n // register modeling handlers\n self.registerHandlers(commandStack);\n });\n}\n\nModeling.$inject = [ 'eventBus', 'elementFactory', 'commandStack' ];\n\n\nModeling.prototype.getHandlers = function() {\n return {\n 'shape.append': _cmd_AppendShapeHandler__WEBPACK_IMPORTED_MODULE_0__.default,\n 'shape.create': _cmd_CreateShapeHandler__WEBPACK_IMPORTED_MODULE_1__.default,\n 'shape.delete': _cmd_DeleteShapeHandler__WEBPACK_IMPORTED_MODULE_2__.default,\n 'shape.move': _cmd_MoveShapeHandler__WEBPACK_IMPORTED_MODULE_3__.default,\n 'shape.resize': _cmd_ResizeShapeHandler__WEBPACK_IMPORTED_MODULE_4__.default,\n 'shape.replace': _cmd_ReplaceShapeHandler__WEBPACK_IMPORTED_MODULE_5__.default,\n 'shape.toggleCollapse': _cmd_ToggleShapeCollapseHandler__WEBPACK_IMPORTED_MODULE_6__.default,\n\n 'spaceTool': _cmd_SpaceToolHandler__WEBPACK_IMPORTED_MODULE_7__.default,\n\n 'label.create': _cmd_CreateLabelHandler__WEBPACK_IMPORTED_MODULE_8__.default,\n\n 'connection.create': _cmd_CreateConnectionHandler__WEBPACK_IMPORTED_MODULE_9__.default,\n 'connection.delete': _cmd_DeleteConnectionHandler__WEBPACK_IMPORTED_MODULE_10__.default,\n 'connection.move': _cmd_MoveConnectionHandler__WEBPACK_IMPORTED_MODULE_11__.default,\n 'connection.layout': _cmd_LayoutConnectionHandler__WEBPACK_IMPORTED_MODULE_12__.default,\n\n 'connection.updateWaypoints': _cmd_UpdateWaypointsHandler__WEBPACK_IMPORTED_MODULE_13__.default,\n\n 'connection.reconnect': _cmd_ReconnectConnectionHandler__WEBPACK_IMPORTED_MODULE_14__.default,\n\n 'elements.create': _cmd_CreateElementsHandler__WEBPACK_IMPORTED_MODULE_15__.default,\n 'elements.move': _cmd_MoveElementsHandler__WEBPACK_IMPORTED_MODULE_16__.default,\n 'elements.delete': _cmd_DeleteElementsHandler__WEBPACK_IMPORTED_MODULE_17__.default,\n\n 'elements.distribute': _cmd_DistributeElementsHandler__WEBPACK_IMPORTED_MODULE_18__.default,\n 'elements.align': _cmd_AlignElementsHandler__WEBPACK_IMPORTED_MODULE_19__.default,\n\n 'element.updateAttachment': _cmd_UpdateAttachmentHandler__WEBPACK_IMPORTED_MODULE_20__.default\n };\n};\n\n/**\n * Register handlers with the command stack\n *\n * @param {CommandStack} commandStack\n */\nModeling.prototype.registerHandlers = function(commandStack) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_21__.forEach)(this.getHandlers(), function(handler, id) {\n commandStack.registerHandler(id, handler);\n });\n};\n\n\n// modeling helpers //////////////////////\n\nModeling.prototype.moveShape = function(shape, delta, newParent, newParentIndex, hints) {\n\n if (typeof newParentIndex === 'object') {\n hints = newParentIndex;\n newParentIndex = null;\n }\n\n var context = {\n shape: shape,\n delta: delta,\n newParent: newParent,\n newParentIndex: newParentIndex,\n hints: hints || {}\n };\n\n this._commandStack.execute('shape.move', context);\n};\n\n\n/**\n * Update the attachment of the given shape.\n *\n * @param {djs.mode.Base} shape\n * @param {djs.model.Base} [newHost]\n */\nModeling.prototype.updateAttachment = function(shape, newHost) {\n var context = {\n shape: shape,\n newHost: newHost\n };\n\n this._commandStack.execute('element.updateAttachment', context);\n};\n\n\n/**\n * Move a number of shapes to a new target, either setting it as\n * the new parent or attaching it.\n *\n * @param {Array} shapes\n * @param {Point} delta\n * @param {djs.model.Base} [target]\n * @param {Object} [hints]\n * @param {boolean} [hints.attach=false]\n */\nModeling.prototype.moveElements = function(shapes, delta, target, hints) {\n\n hints = hints || {};\n\n var attach = hints.attach;\n\n var newParent = target,\n newHost;\n\n if (attach === true) {\n newHost = target;\n newParent = target.parent;\n } else\n\n if (attach === false) {\n newHost = null;\n }\n\n var context = {\n shapes: shapes,\n delta: delta,\n newParent: newParent,\n newHost: newHost,\n hints: hints\n };\n\n this._commandStack.execute('elements.move', context);\n};\n\n\nModeling.prototype.moveConnection = function(connection, delta, newParent, newParentIndex, hints) {\n\n if (typeof newParentIndex === 'object') {\n hints = newParentIndex;\n newParentIndex = undefined;\n }\n\n var context = {\n connection: connection,\n delta: delta,\n newParent: newParent,\n newParentIndex: newParentIndex,\n hints: hints || {}\n };\n\n this._commandStack.execute('connection.move', context);\n};\n\n\nModeling.prototype.layoutConnection = function(connection, hints) {\n var context = {\n connection: connection,\n hints: hints || {}\n };\n\n this._commandStack.execute('connection.layout', context);\n};\n\n\n/**\n * Create connection.\n *\n * @param {djs.model.Base} source\n * @param {djs.model.Base} target\n * @param {number} [parentIndex]\n * @param {Object|djs.model.Connection} connection\n * @param {djs.model.Base} parent\n * @param {Object} hints\n *\n * @return {djs.model.Connection} the created connection.\n */\nModeling.prototype.createConnection = function(source, target, parentIndex, connection, parent, hints) {\n\n if (typeof parentIndex === 'object') {\n hints = parent;\n parent = connection;\n connection = parentIndex;\n parentIndex = undefined;\n }\n\n connection = this._create('connection', connection);\n\n var context = {\n source: source,\n target: target,\n parent: parent,\n parentIndex: parentIndex,\n connection: connection,\n hints: hints\n };\n\n this._commandStack.execute('connection.create', context);\n\n return context.connection;\n};\n\n\n/**\n * Create a shape at the specified position.\n *\n * @param {djs.model.Shape|Object} shape\n * @param {Point} position\n * @param {djs.model.Shape|djs.model.Root} target\n * @param {number} [parentIndex] position in parents children list\n * @param {Object} [hints]\n * @param {boolean} [hints.attach] whether to attach to target or become a child\n *\n * @return {djs.model.Shape} the created shape\n */\nModeling.prototype.createShape = function(shape, position, target, parentIndex, hints) {\n\n if (typeof parentIndex !== 'number') {\n hints = parentIndex;\n parentIndex = undefined;\n }\n\n hints = hints || {};\n\n var attach = hints.attach,\n parent,\n host;\n\n shape = this._create('shape', shape);\n\n if (attach) {\n parent = target.parent;\n host = target;\n } else {\n parent = target;\n }\n\n var context = {\n position: position,\n shape: shape,\n parent: parent,\n parentIndex: parentIndex,\n host: host,\n hints: hints\n };\n\n this._commandStack.execute('shape.create', context);\n\n return context.shape;\n};\n\n\nModeling.prototype.createElements = function(elements, position, parent, parentIndex, hints) {\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_21__.isArray)(elements)) {\n elements = [ elements ];\n }\n\n if (typeof parentIndex !== 'number') {\n hints = parentIndex;\n parentIndex = undefined;\n }\n\n hints = hints || {};\n\n var context = {\n position: position,\n elements: elements,\n parent: parent,\n parentIndex: parentIndex,\n hints: hints\n };\n\n this._commandStack.execute('elements.create', context);\n\n return context.elements;\n};\n\n\nModeling.prototype.createLabel = function(labelTarget, position, label, parent) {\n\n label = this._create('label', label);\n\n var context = {\n labelTarget: labelTarget,\n position: position,\n parent: parent || labelTarget.parent,\n shape: label\n };\n\n this._commandStack.execute('label.create', context);\n\n return context.shape;\n};\n\n\n/**\n * Append shape to given source, drawing a connection\n * between source and the newly created shape.\n *\n * @param {djs.model.Shape} source\n * @param {djs.model.Shape|Object} shape\n * @param {Point} position\n * @param {djs.model.Shape} target\n * @param {Object} [hints]\n * @param {boolean} [hints.attach]\n * @param {djs.model.Connection|Object} [hints.connection]\n * @param {djs.model.Base} [hints.connectionParent]\n *\n * @return {djs.model.Shape} the newly created shape\n */\nModeling.prototype.appendShape = function(source, shape, position, target, hints) {\n\n hints = hints || {};\n\n shape = this._create('shape', shape);\n\n var context = {\n source: source,\n position: position,\n target: target,\n shape: shape,\n connection: hints.connection,\n connectionParent: hints.connectionParent,\n hints: hints\n };\n\n this._commandStack.execute('shape.append', context);\n\n return context.shape;\n};\n\n\nModeling.prototype.removeElements = function(elements) {\n var context = {\n elements: elements\n };\n\n this._commandStack.execute('elements.delete', context);\n};\n\n\nModeling.prototype.distributeElements = function(groups, axis, dimension) {\n var context = {\n groups: groups,\n axis: axis,\n dimension: dimension\n };\n\n this._commandStack.execute('elements.distribute', context);\n};\n\n\nModeling.prototype.removeShape = function(shape, hints) {\n var context = {\n shape: shape,\n hints: hints || {}\n };\n\n this._commandStack.execute('shape.delete', context);\n};\n\n\nModeling.prototype.removeConnection = function(connection, hints) {\n var context = {\n connection: connection,\n hints: hints || {}\n };\n\n this._commandStack.execute('connection.delete', context);\n};\n\nModeling.prototype.replaceShape = function(oldShape, newShape, hints) {\n var context = {\n oldShape: oldShape,\n newData: newShape,\n hints: hints || {}\n };\n\n this._commandStack.execute('shape.replace', context);\n\n return context.newShape;\n};\n\nModeling.prototype.alignElements = function(elements, alignment) {\n var context = {\n elements: elements,\n alignment: alignment\n };\n\n this._commandStack.execute('elements.align', context);\n};\n\nModeling.prototype.resizeShape = function(shape, newBounds, minBounds, hints) {\n var context = {\n shape: shape,\n newBounds: newBounds,\n minBounds: minBounds,\n hints: hints\n };\n\n this._commandStack.execute('shape.resize', context);\n};\n\nModeling.prototype.createSpace = function(movingShapes, resizingShapes, delta, direction, start) {\n var context = {\n delta: delta,\n direction: direction,\n movingShapes: movingShapes,\n resizingShapes: resizingShapes,\n start: start\n };\n\n this._commandStack.execute('spaceTool', context);\n};\n\nModeling.prototype.updateWaypoints = function(connection, newWaypoints, hints) {\n var context = {\n connection: connection,\n newWaypoints: newWaypoints,\n hints: hints || {}\n };\n\n this._commandStack.execute('connection.updateWaypoints', context);\n};\n\nModeling.prototype.reconnect = function(connection, source, target, dockingOrPoints, hints) {\n var context = {\n connection: connection,\n newSource: source,\n newTarget: target,\n dockingOrPoints: dockingOrPoints,\n hints: hints || {}\n };\n\n this._commandStack.execute('connection.reconnect', context);\n};\n\nModeling.prototype.reconnectStart = function(connection, newSource, dockingOrPoints, hints) {\n if (!hints) {\n hints = {};\n }\n\n this.reconnect(connection, newSource, connection.target, dockingOrPoints, (0,min_dash__WEBPACK_IMPORTED_MODULE_21__.assign)(hints, {\n docking: 'source'\n }));\n};\n\nModeling.prototype.reconnectEnd = function(connection, newTarget, dockingOrPoints, hints) {\n if (!hints) {\n hints = {};\n }\n\n this.reconnect(connection, connection.source, newTarget, dockingOrPoints, (0,min_dash__WEBPACK_IMPORTED_MODULE_21__.assign)(hints, {\n docking: 'target'\n }));\n};\n\nModeling.prototype.connect = function(source, target, attrs, hints) {\n return this.createConnection(source, target, attrs || {}, source.parent, hints);\n};\n\nModeling.prototype._create = function(type, attrs) {\n if (attrs instanceof _model__WEBPACK_IMPORTED_MODULE_22__.Base) {\n return attrs;\n } else {\n return this._elementFactory.create(type, attrs);\n }\n};\n\nModeling.prototype.toggleCollapse = function(shape, hints) {\n var context = {\n shape: shape,\n hints: hints || {}\n };\n\n this._commandStack.execute('shape.toggleCollapse', context);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/Modeling.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/AlignElementsHandler.js":
/*!***********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/AlignElementsHandler.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AlignElements)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n/**\n * A handler that align elements in a certain way.\n *\n */\nfunction AlignElements(modeling, canvas) {\n this._modeling = modeling;\n this._canvas = canvas;\n}\n\nAlignElements.$inject = [ 'modeling', 'canvas' ];\n\n\nAlignElements.prototype.preExecute = function(context) {\n var modeling = this._modeling;\n\n var elements = context.elements,\n alignment = context.alignment;\n\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n var delta = {\n x: 0,\n y: 0\n };\n\n if (alignment.left) {\n delta.x = alignment.left - element.x;\n\n } else if (alignment.right) {\n delta.x = (alignment.right - element.width) - element.x;\n\n } else if (alignment.center) {\n delta.x = (alignment.center - Math.round(element.width / 2)) - element.x;\n\n } else if (alignment.top) {\n delta.y = alignment.top - element.y;\n\n } else if (alignment.bottom) {\n delta.y = (alignment.bottom - element.height) - element.y;\n\n } else if (alignment.middle) {\n delta.y = (alignment.middle - Math.round(element.height / 2)) - element.y;\n }\n\n modeling.moveElements([ element ], delta, element.parent);\n });\n};\n\nAlignElements.prototype.postExecute = function(context) {\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/AlignElementsHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/AppendShapeHandler.js":
/*!*********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/AppendShapeHandler.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AppendShapeHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n/**\n * A handler that implements reversible appending of shapes\n * to a source shape.\n *\n * @param {canvas} Canvas\n * @param {elementFactory} ElementFactory\n * @param {modeling} Modeling\n */\nfunction AppendShapeHandler(modeling) {\n this._modeling = modeling;\n}\n\nAppendShapeHandler.$inject = [ 'modeling' ];\n\n\n// api //////////////////////\n\n\n/**\n * Creates a new shape\n *\n * @param {Object} context\n * @param {ElementDescriptor} context.shape the new shape\n * @param {ElementDescriptor} context.source the source object\n * @param {ElementDescriptor} context.parent the parent object\n * @param {Point} context.position position of the new element\n */\nAppendShapeHandler.prototype.preExecute = function(context) {\n\n var source = context.source;\n\n if (!source) {\n throw new Error('source required');\n }\n\n var target = context.target || source.parent,\n shape = context.shape,\n hints = context.hints || {};\n\n shape = context.shape =\n this._modeling.createShape(\n shape,\n context.position,\n target, { attach: hints.attach });\n\n context.shape = shape;\n};\n\nAppendShapeHandler.prototype.postExecute = function(context) {\n var hints = context.hints || {};\n\n if (!existsConnection(context.source, context.shape)) {\n\n // create connection\n if (hints.connectionTarget === context.source) {\n this._modeling.connect(context.shape, context.source, context.connection);\n } else {\n this._modeling.connect(context.source, context.shape, context.connection);\n }\n }\n};\n\n\nfunction existsConnection(source, target) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.some)(source.outgoing, function(c) {\n return c.target === target;\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/AppendShapeHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/CreateConnectionHandler.js":
/*!**************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/CreateConnectionHandler.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreateConnectionHandler)\n/* harmony export */ });\nfunction CreateConnectionHandler(canvas, layouter) {\n this._canvas = canvas;\n this._layouter = layouter;\n}\n\nCreateConnectionHandler.$inject = [ 'canvas', 'layouter' ];\n\n\n// api //////////////////////\n\n\n/**\n * Appends a shape to a target shape\n *\n * @param {Object} context\n * @param {djs.element.Base} context.source the source object\n * @param {djs.element.Base} context.target the parent object\n * @param {Point} context.position position of the new element\n */\nCreateConnectionHandler.prototype.execute = function(context) {\n\n var connection = context.connection,\n source = context.source,\n target = context.target,\n parent = context.parent,\n parentIndex = context.parentIndex,\n hints = context.hints;\n\n if (!source || !target) {\n throw new Error('source and target required');\n }\n\n if (!parent) {\n throw new Error('parent required');\n }\n\n connection.source = source;\n connection.target = target;\n\n if (!connection.waypoints) {\n connection.waypoints = this._layouter.layoutConnection(connection, hints);\n }\n\n // add connection\n this._canvas.addConnection(connection, parent, parentIndex);\n\n return connection;\n};\n\nCreateConnectionHandler.prototype.revert = function(context) {\n var connection = context.connection;\n\n this._canvas.removeConnection(connection);\n\n connection.source = null;\n connection.target = null;\n\n return connection;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/CreateConnectionHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/CreateElementsHandler.js":
/*!************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/CreateElementsHandler.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreateElementsHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\r\n\r\n\r\n\r\nvar round = Math.round;\r\n\r\nfunction CreateElementsHandler(modeling) {\r\n this._modeling = modeling;\r\n}\r\n\r\nCreateElementsHandler.$inject = [\r\n 'modeling'\r\n];\r\n\r\nCreateElementsHandler.prototype.preExecute = function(context) {\r\n var elements = context.elements,\r\n parent = context.parent,\r\n parentIndex = context.parentIndex,\r\n position = context.position,\r\n hints = context.hints;\r\n\r\n var modeling = this._modeling;\r\n\r\n // make sure each element has x and y\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\r\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(element.x)) {\r\n element.x = 0;\r\n }\r\n\r\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(element.y)) {\r\n element.y = 0;\r\n }\r\n });\r\n\r\n var bbox = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_1__.getBBox)(elements);\r\n\r\n // center elements around position\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\r\n if (isConnection(element)) {\r\n element.waypoints = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(element.waypoints, function(waypoint) {\r\n return {\r\n x: round(waypoint.x - bbox.x - bbox.width / 2 + position.x),\r\n y: round(waypoint.y - bbox.y - bbox.height / 2 + position.y)\r\n };\r\n });\r\n }\r\n\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(element, {\r\n x: round(element.x - bbox.x - bbox.width / 2 + position.x),\r\n y: round(element.y - bbox.y - bbox.height / 2 + position.y)\r\n });\r\n });\r\n\r\n var parents = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_1__.getParents)(elements);\r\n\r\n var cache = {};\r\n\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\r\n if (isConnection(element)) {\r\n cache[ element.id ] = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(parentIndex) ?\r\n modeling.createConnection(\r\n cache[ element.source.id ],\r\n cache[ element.target.id ],\r\n parentIndex,\r\n element,\r\n element.parent || parent,\r\n hints\r\n ) :\r\n modeling.createConnection(\r\n cache[ element.source.id ],\r\n cache[ element.target.id ],\r\n element,\r\n element.parent || parent,\r\n hints\r\n );\r\n\r\n return;\r\n }\r\n\r\n var createShapeHints = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, hints);\r\n\r\n if (parents.indexOf(element) === -1) {\r\n createShapeHints.autoResize = false;\r\n }\r\n\r\n cache[ element.id ] = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isNumber)(parentIndex) ?\r\n modeling.createShape(\r\n element,\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.pick)(element, [ 'x', 'y', 'width', 'height' ]),\r\n element.parent || parent,\r\n parentIndex,\r\n createShapeHints\r\n ) :\r\n modeling.createShape(\r\n element,\r\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.pick)(element, [ 'x', 'y', 'width', 'height' ]),\r\n element.parent || parent,\r\n createShapeHints\r\n );\r\n });\r\n\r\n context.elements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.values)(cache);\r\n};\r\n\r\n// helpers //////////\r\n\r\nfunction isConnection(element) {\r\n return !!element.waypoints;\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/CreateElementsHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/CreateLabelHandler.js":
/*!*********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/CreateLabelHandler.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreateLabelHandler)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _CreateShapeHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateShapeHandler */ \"./node_modules/diagram-js/lib/features/modeling/cmd/CreateShapeHandler.js\");\n\n\n\n\n\n/**\n * A handler that attaches a label to a given target shape.\n *\n * @param {Canvas} canvas\n */\nfunction CreateLabelHandler(canvas) {\n _CreateShapeHandler__WEBPACK_IMPORTED_MODULE_1__.default.call(this, canvas);\n}\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(CreateLabelHandler, _CreateShapeHandler__WEBPACK_IMPORTED_MODULE_1__.default);\n\nCreateLabelHandler.$inject = [ 'canvas' ];\n\n\n// api //////////////////////\n\n\nvar originalExecute = _CreateShapeHandler__WEBPACK_IMPORTED_MODULE_1__.default.prototype.execute;\n\n/**\n * Appends a label to a target shape.\n *\n * @method CreateLabelHandler#execute\n *\n * @param {Object} context\n * @param {ElementDescriptor} context.target the element the label is attached to\n * @param {ElementDescriptor} context.parent the parent object\n * @param {Point} context.position position of the new element\n */\nCreateLabelHandler.prototype.execute = function(context) {\n\n var label = context.shape;\n\n ensureValidDimensions(label);\n\n label.labelTarget = context.labelTarget;\n\n return originalExecute.call(this, context);\n};\n\nvar originalRevert = _CreateShapeHandler__WEBPACK_IMPORTED_MODULE_1__.default.prototype.revert;\n\n/**\n * Undo append by removing the shape\n */\nCreateLabelHandler.prototype.revert = function(context) {\n context.shape.labelTarget = null;\n\n return originalRevert.call(this, context);\n};\n\n\n// helpers //////////////////////\n\nfunction ensureValidDimensions(label) {\n\n // make sure a label has valid { width, height } dimensions\n [ 'width', 'height' ].forEach(function(prop) {\n if (typeof label[prop] === 'undefined') {\n label[prop] = 0;\n }\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/CreateLabelHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/CreateShapeHandler.js":
/*!*********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/CreateShapeHandler.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreateShapeHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\nvar round = Math.round;\n\n\n/**\n * A handler that implements reversible addition of shapes.\n *\n * @param {canvas} Canvas\n */\nfunction CreateShapeHandler(canvas) {\n this._canvas = canvas;\n}\n\nCreateShapeHandler.$inject = [ 'canvas' ];\n\n\n// api //////////////////////\n\n\n/**\n * Appends a shape to a target shape\n *\n * @param {Object} context\n * @param {djs.model.Base} context.parent the parent object\n * @param {Point} context.position position of the new element\n */\nCreateShapeHandler.prototype.execute = function(context) {\n\n var shape = context.shape,\n positionOrBounds = context.position,\n parent = context.parent,\n parentIndex = context.parentIndex;\n\n if (!parent) {\n throw new Error('parent required');\n }\n\n if (!positionOrBounds) {\n throw new Error('position required');\n }\n\n // (1) add at event center position _or_ at given bounds\n if (positionOrBounds.width !== undefined) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(shape, positionOrBounds);\n } else {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(shape, {\n x: positionOrBounds.x - round(shape.width / 2),\n y: positionOrBounds.y - round(shape.height / 2)\n });\n }\n\n // (2) add to canvas\n this._canvas.addShape(shape, parent, parentIndex);\n\n return shape;\n};\n\n\n/**\n * Undo append by removing the shape\n */\nCreateShapeHandler.prototype.revert = function(context) {\n\n var shape = context.shape;\n\n // (3) remove form canvas\n this._canvas.removeShape(shape);\n\n return shape;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/CreateShapeHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/DeleteConnectionHandler.js":
/*!**************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/DeleteConnectionHandler.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DeleteConnectionHandler)\n/* harmony export */ });\n/* harmony import */ var _util_Collections__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n\n\n\n/**\n * A handler that implements reversible deletion of Connections.\n */\nfunction DeleteConnectionHandler(canvas, modeling) {\n this._canvas = canvas;\n this._modeling = modeling;\n}\n\nDeleteConnectionHandler.$inject = [\n 'canvas',\n 'modeling'\n];\n\n\nDeleteConnectionHandler.prototype.execute = function(context) {\n\n var connection = context.connection,\n parent = connection.parent;\n\n context.parent = parent;\n\n // remember containment\n context.parentIndex = (0,_util_Collections__WEBPACK_IMPORTED_MODULE_0__.indexOf)(parent.children, connection);\n\n context.source = connection.source;\n context.target = connection.target;\n\n this._canvas.removeConnection(connection);\n\n connection.source = null;\n connection.target = null;\n\n return connection;\n};\n\n/**\n * Command revert implementation.\n */\nDeleteConnectionHandler.prototype.revert = function(context) {\n\n var connection = context.connection,\n parent = context.parent,\n parentIndex = context.parentIndex;\n\n connection.source = context.source;\n connection.target = context.target;\n\n // restore containment\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_0__.add)(parent.children, connection, parentIndex);\n\n this._canvas.addConnection(connection, parent);\n\n return connection;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/DeleteConnectionHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/DeleteElementsHandler.js":
/*!************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/DeleteElementsHandler.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DeleteElementsHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\nfunction DeleteElementsHandler(modeling, elementRegistry) {\n this._modeling = modeling;\n this._elementRegistry = elementRegistry;\n}\n\nDeleteElementsHandler.$inject = [\n 'modeling',\n 'elementRegistry'\n];\n\n\nDeleteElementsHandler.prototype.postExecute = function(context) {\n\n var modeling = this._modeling,\n elementRegistry = this._elementRegistry,\n elements = context.elements;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n\n // element may have been removed with previous\n // remove operations already (e.g. in case of nesting)\n if (!elementRegistry.get(element.id)) {\n return;\n }\n\n if (element.waypoints) {\n modeling.removeConnection(element);\n } else {\n modeling.removeShape(element);\n }\n });\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/DeleteElementsHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/DeleteShapeHandler.js":
/*!*********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/DeleteShapeHandler.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DeleteShapeHandler)\n/* harmony export */ });\n/* harmony import */ var _util_Collections__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var _util_Removal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/Removal */ \"./node_modules/diagram-js/lib/util/Removal.js\");\n\n\n\n\n\n/**\n * A handler that implements reversible deletion of shapes.\n *\n */\nfunction DeleteShapeHandler(canvas, modeling) {\n this._canvas = canvas;\n this._modeling = modeling;\n}\n\nDeleteShapeHandler.$inject = [ 'canvas', 'modeling' ];\n\n\n/**\n * - Remove connections\n * - Remove all direct children\n */\nDeleteShapeHandler.prototype.preExecute = function(context) {\n\n var modeling = this._modeling;\n\n var shape = context.shape;\n\n // remove connections\n (0,_util_Removal__WEBPACK_IMPORTED_MODULE_0__.saveClear)(shape.incoming, function(connection) {\n\n // To make sure that the connection isn't removed twice\n // For example if a container is removed\n modeling.removeConnection(connection, { nested: true });\n });\n\n (0,_util_Removal__WEBPACK_IMPORTED_MODULE_0__.saveClear)(shape.outgoing, function(connection) {\n modeling.removeConnection(connection, { nested: true });\n });\n\n // remove child shapes and connections\n (0,_util_Removal__WEBPACK_IMPORTED_MODULE_0__.saveClear)(shape.children, function(child) {\n if (isConnection(child)) {\n modeling.removeConnection(child, { nested: true });\n } else {\n modeling.removeShape(child, { nested: true });\n }\n });\n};\n\n/**\n * Remove shape and remember the parent\n */\nDeleteShapeHandler.prototype.execute = function(context) {\n var canvas = this._canvas;\n\n var shape = context.shape,\n oldParent = shape.parent;\n\n context.oldParent = oldParent;\n\n // remove containment\n context.oldParentIndex = (0,_util_Collections__WEBPACK_IMPORTED_MODULE_1__.indexOf)(oldParent.children, shape);\n\n // remove shape\n canvas.removeShape(shape);\n\n return shape;\n};\n\n\n/**\n * Command revert implementation\n */\nDeleteShapeHandler.prototype.revert = function(context) {\n\n var canvas = this._canvas;\n\n var shape = context.shape,\n oldParent = context.oldParent,\n oldParentIndex = context.oldParentIndex;\n\n // restore containment\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_1__.add)(oldParent.children, shape, oldParentIndex);\n\n canvas.addShape(shape, oldParent);\n\n return shape;\n};\n\nfunction isConnection(element) {\n return element.waypoints;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/DeleteShapeHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/DistributeElementsHandler.js":
/*!****************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/DistributeElementsHandler.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DistributeElements)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n/**\n * A handler that distributes elements evenly.\n */\nfunction DistributeElements(modeling) {\n this._modeling = modeling;\n}\n\nDistributeElements.$inject = [ 'modeling' ];\n\nvar OFF_AXIS = {\n x: 'y',\n y: 'x'\n};\n\nDistributeElements.prototype.preExecute = function(context) {\n var modeling = this._modeling;\n\n var groups = context.groups,\n axis = context.axis,\n dimension = context.dimension;\n\n function updateRange(group, element) {\n group.range.min = Math.min(element[axis], group.range.min);\n group.range.max = Math.max(element[axis] + element[dimension], group.range.max);\n }\n\n function center(element) {\n return element[axis] + element[dimension] / 2;\n }\n\n function lastIdx(arr) {\n return arr.length - 1;\n }\n\n function rangeDiff(range) {\n return range.max - range.min;\n }\n\n function centerElement(refCenter, element) {\n var delta = { y: 0 };\n\n delta[axis] = refCenter - center(element);\n\n if (delta[axis]) {\n\n delta[OFF_AXIS[axis]] = 0;\n\n modeling.moveElements([ element ], delta, element.parent);\n }\n }\n\n var firstGroup = groups[0],\n lastGroupIdx = lastIdx(groups),\n lastGroup = groups[ lastGroupIdx ];\n\n var margin,\n spaceInBetween,\n groupsSize = 0; // the size of each range\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(groups, function(group, idx) {\n var sortedElements,\n refElem,\n refCenter;\n\n if (group.elements.length < 2) {\n if (idx && idx !== groups.length - 1) {\n updateRange(group, group.elements[0]);\n\n groupsSize += rangeDiff(group.range);\n }\n return;\n }\n\n sortedElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.sortBy)(group.elements, axis);\n\n refElem = sortedElements[0];\n\n if (idx === lastGroupIdx) {\n refElem = sortedElements[lastIdx(sortedElements)];\n }\n\n refCenter = center(refElem);\n\n // wanna update the ranges after the shapes have been centered\n group.range = null;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(sortedElements, function(element) {\n\n centerElement(refCenter, element);\n\n if (group.range === null) {\n group.range = {\n min: element[axis],\n max: element[axis] + element[dimension]\n };\n\n return;\n }\n\n // update group's range after centering the range elements\n updateRange(group, element);\n });\n\n if (idx && idx !== groups.length - 1) {\n groupsSize += rangeDiff(group.range);\n }\n });\n\n spaceInBetween = Math.abs(lastGroup.range.min - firstGroup.range.max);\n\n margin = Math.round((spaceInBetween - groupsSize) / (groups.length - 1));\n\n if (margin < groups.length - 1) {\n return;\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(groups, function(group, groupIdx) {\n var delta = {},\n prevGroup;\n\n if (group === firstGroup || group === lastGroup) {\n return;\n }\n\n prevGroup = groups[groupIdx - 1];\n\n group.range.max = 0;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(group.elements, function(element, idx) {\n delta[OFF_AXIS[axis]] = 0;\n delta[axis] = (prevGroup.range.max - element[axis]) + margin;\n\n if (group.range.min !== element[axis]) {\n delta[axis] += element[axis] - group.range.min;\n }\n\n if (delta[axis]) {\n modeling.moveElements([ element ], delta, element.parent);\n }\n\n group.range.max = Math.max(element[axis] + element[dimension], idx ? group.range.max : 0);\n });\n });\n};\n\nDistributeElements.prototype.postExecute = function(context) {\n\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/DistributeElementsHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/LayoutConnectionHandler.js":
/*!**************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/LayoutConnectionHandler.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LayoutConnectionHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n/**\n * A handler that implements reversible moving of shapes.\n */\nfunction LayoutConnectionHandler(layouter, canvas) {\n this._layouter = layouter;\n this._canvas = canvas;\n}\n\nLayoutConnectionHandler.$inject = [ 'layouter', 'canvas' ];\n\nLayoutConnectionHandler.prototype.execute = function(context) {\n\n var connection = context.connection;\n\n var oldWaypoints = connection.waypoints;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(context, {\n oldWaypoints: oldWaypoints\n });\n\n connection.waypoints = this._layouter.layoutConnection(connection, context.hints);\n\n return connection;\n};\n\nLayoutConnectionHandler.prototype.revert = function(context) {\n\n var connection = context.connection;\n\n connection.waypoints = context.oldWaypoints;\n\n return connection;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/LayoutConnectionHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/MoveConnectionHandler.js":
/*!************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/MoveConnectionHandler.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MoveConnectionHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Collections__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n\n\n\n\n\n\n/**\n * A handler that implements reversible moving of connections.\n *\n * The handler differs from the layout connection handler in a sense\n * that it preserves the connection layout.\n */\nfunction MoveConnectionHandler() { }\n\n\nMoveConnectionHandler.prototype.execute = function(context) {\n\n var connection = context.connection,\n delta = context.delta;\n\n var newParent = context.newParent || connection.parent,\n newParentIndex = context.newParentIndex,\n oldParent = connection.parent;\n\n // save old parent in context\n context.oldParent = oldParent;\n context.oldParentIndex = (0,_util_Collections__WEBPACK_IMPORTED_MODULE_0__.remove)(oldParent.children, connection);\n\n // add to new parent at position\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_0__.add)(newParent.children, connection, newParentIndex);\n\n // update parent\n connection.parent = newParent;\n\n // update waypoint positions\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(connection.waypoints, function(p) {\n p.x += delta.x;\n p.y += delta.y;\n\n if (p.original) {\n p.original.x += delta.x;\n p.original.y += delta.y;\n }\n });\n\n return connection;\n};\n\nMoveConnectionHandler.prototype.revert = function(context) {\n\n var connection = context.connection,\n newParent = connection.parent,\n oldParent = context.oldParent,\n oldParentIndex = context.oldParentIndex,\n delta = context.delta;\n\n // remove from newParent\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_0__.remove)(newParent.children, connection);\n\n // restore previous location in old parent\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_0__.add)(oldParent.children, connection, oldParentIndex);\n\n // restore parent\n connection.parent = oldParent;\n\n // revert to old waypoint positions\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(connection.waypoints, function(p) {\n p.x -= delta.x;\n p.y -= delta.y;\n\n if (p.original) {\n p.original.x -= delta.x;\n p.original.y -= delta.y;\n }\n });\n\n return connection;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/MoveConnectionHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/MoveElementsHandler.js":
/*!**********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/MoveElementsHandler.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MoveElementsHandler)\n/* harmony export */ });\n/* harmony import */ var _helper_MoveHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper/MoveHelper */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveHelper.js\");\n\n\n\n/**\n * A handler that implements reversible moving of shapes.\n */\nfunction MoveElementsHandler(modeling) {\n this._helper = new _helper_MoveHelper__WEBPACK_IMPORTED_MODULE_0__.default(modeling);\n}\n\nMoveElementsHandler.$inject = [ 'modeling' ];\n\nMoveElementsHandler.prototype.preExecute = function(context) {\n context.closure = this._helper.getClosure(context.shapes);\n};\n\nMoveElementsHandler.prototype.postExecute = function(context) {\n\n var hints = context.hints,\n primaryShape;\n\n if (hints && hints.primaryShape) {\n primaryShape = hints.primaryShape;\n hints.oldParent = primaryShape.parent;\n }\n\n this._helper.moveClosure(\n context.closure,\n context.delta,\n context.newParent,\n context.newHost,\n primaryShape\n );\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/MoveElementsHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/MoveShapeHandler.js":
/*!*******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/MoveShapeHandler.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MoveShapeHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _helper_MoveHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper/MoveHelper */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveHelper.js\");\n/* harmony import */ var _util_Collections__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n/* harmony import */ var _helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper/AnchorsHelper */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js\");\n\n\n\n\n\n\n\n\n\n/**\n * A handler that implements reversible moving of shapes.\n */\nfunction MoveShapeHandler(modeling) {\n this._modeling = modeling;\n\n this._helper = new _helper_MoveHelper__WEBPACK_IMPORTED_MODULE_0__.default(modeling);\n}\n\nMoveShapeHandler.$inject = [ 'modeling' ];\n\n\nMoveShapeHandler.prototype.execute = function(context) {\n\n var shape = context.shape,\n delta = context.delta,\n newParent = context.newParent || shape.parent,\n newParentIndex = context.newParentIndex,\n oldParent = shape.parent;\n\n context.oldBounds = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.pick)(shape, [ 'x', 'y', 'width', 'height']);\n\n // save old parent in context\n context.oldParent = oldParent;\n context.oldParentIndex = (0,_util_Collections__WEBPACK_IMPORTED_MODULE_2__.remove)(oldParent.children, shape);\n\n // add to new parent at position\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_2__.add)(newParent.children, shape, newParentIndex);\n\n // update shape parent + position\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(shape, {\n parent: newParent,\n x: shape.x + delta.x,\n y: shape.y + delta.y\n });\n\n return shape;\n};\n\nMoveShapeHandler.prototype.postExecute = function(context) {\n\n var shape = context.shape,\n delta = context.delta,\n hints = context.hints;\n\n var modeling = this._modeling;\n\n if (hints.layout !== false) {\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(shape.incoming, function(c) {\n modeling.layoutConnection(c, {\n connectionEnd: (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_3__.getMovedTargetAnchor)(c, shape, delta)\n });\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(shape.outgoing, function(c) {\n modeling.layoutConnection(c, {\n connectionStart: (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_3__.getMovedSourceAnchor)(c, shape, delta)\n });\n });\n }\n\n if (hints.recurse !== false) {\n this.moveChildren(context);\n }\n};\n\nMoveShapeHandler.prototype.revert = function(context) {\n\n var shape = context.shape,\n oldParent = context.oldParent,\n oldParentIndex = context.oldParentIndex,\n delta = context.delta;\n\n // restore previous location in old parent\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_2__.add)(oldParent.children, shape, oldParentIndex);\n\n // revert to old position and parent\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(shape, {\n parent: oldParent,\n x: shape.x - delta.x,\n y: shape.y - delta.y\n });\n\n return shape;\n};\n\nMoveShapeHandler.prototype.moveChildren = function(context) {\n\n var delta = context.delta,\n shape = context.shape;\n\n this._helper.moveRecursive(shape.children, delta, null);\n};\n\nMoveShapeHandler.prototype.getNewParent = function(context) {\n return context.newParent || context.shape.parent;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/MoveShapeHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/ReconnectConnectionHandler.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/ReconnectConnectionHandler.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ReconnectConnectionHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n/**\n * Reconnect connection handler\n */\nfunction ReconnectConnectionHandler(modeling) {\n this._modeling = modeling;\n}\n\nReconnectConnectionHandler.$inject = [ 'modeling' ];\n\nReconnectConnectionHandler.prototype.execute = function(context) {\n var newSource = context.newSource,\n newTarget = context.newTarget,\n connection = context.connection,\n dockingOrPoints = context.dockingOrPoints;\n\n if (!newSource && !newTarget) {\n throw new Error('newSource or newTarget required');\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(dockingOrPoints)) {\n context.oldWaypoints = connection.waypoints;\n connection.waypoints = dockingOrPoints;\n }\n\n if (newSource) {\n context.oldSource = connection.source;\n connection.source = newSource;\n }\n\n if (newTarget) {\n context.oldTarget = connection.target;\n connection.target = newTarget;\n }\n\n return connection;\n};\n\nReconnectConnectionHandler.prototype.postExecute = function(context) {\n var connection = context.connection,\n newSource = context.newSource,\n newTarget = context.newTarget,\n dockingOrPoints = context.dockingOrPoints,\n hints = context.hints || {};\n\n var layoutConnectionHints = {};\n\n if (hints.connectionStart) {\n layoutConnectionHints.connectionStart = hints.connectionStart;\n }\n\n if (hints.connectionEnd) {\n layoutConnectionHints.connectionEnd = hints.connectionEnd;\n }\n\n if (hints.layoutConnection === false) {\n return;\n }\n\n if (newSource && (!newTarget || hints.docking === 'source')) {\n layoutConnectionHints.connectionStart = layoutConnectionHints.connectionStart\n || getDocking((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(dockingOrPoints) ? dockingOrPoints[ 0 ] : dockingOrPoints);\n }\n\n if (newTarget && (!newSource || hints.docking === 'target')) {\n layoutConnectionHints.connectionEnd = layoutConnectionHints.connectionEnd\n || getDocking((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isArray)(dockingOrPoints) ? dockingOrPoints[ dockingOrPoints.length - 1 ] : dockingOrPoints);\n }\n\n if (hints.newWaypoints) {\n layoutConnectionHints.waypoints = hints.newWaypoints;\n }\n\n this._modeling.layoutConnection(connection, layoutConnectionHints);\n};\n\nReconnectConnectionHandler.prototype.revert = function(context) {\n var oldSource = context.oldSource,\n oldTarget = context.oldTarget,\n oldWaypoints = context.oldWaypoints,\n connection = context.connection;\n\n if (oldSource) {\n connection.source = oldSource;\n }\n\n if (oldTarget) {\n connection.target = oldTarget;\n }\n\n if (oldWaypoints) {\n connection.waypoints = oldWaypoints;\n }\n\n return connection;\n};\n\n\n\n// helpers //////////\n\nfunction getDocking(point) {\n return point.original || point;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/ReconnectConnectionHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/ReplaceShapeHandler.js":
/*!**********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/ReplaceShapeHandler.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ReplaceShapeHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helper/AnchorsHelper */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js\");\n\n\n\n\n/**\n * Replace shape by adding new shape and removing old shape. Incoming and outgoing connections will\n * be kept if possible.\n *\n * @class\n * @constructor\n *\n * @param {Modeling} modeling\n * @param {Rules} rules\n */\nfunction ReplaceShapeHandler(modeling, rules) {\n this._modeling = modeling;\n this._rules = rules;\n}\n\nReplaceShapeHandler.$inject = [ 'modeling', 'rules' ];\n\n\n/**\n * Add new shape.\n *\n * @param {Object} context\n * @param {djs.model.Shape} context.oldShape\n * @param {Object} context.newData\n * @param {string} context.newData.type\n * @param {number} context.newData.x\n * @param {number} context.newData.y\n * @param {Object} [hints]\n */\nReplaceShapeHandler.prototype.preExecute = function(context) {\n var self = this,\n modeling = this._modeling,\n rules = this._rules;\n\n var oldShape = context.oldShape,\n newData = context.newData,\n hints = context.hints || {},\n newShape;\n\n function canReconnect(source, target, connection) {\n return rules.allowed('connection.reconnect', {\n connection: connection,\n source: source,\n target: target\n });\n }\n\n // (1) add new shape at given position\n var position = {\n x: newData.x,\n y: newData.y\n };\n\n var oldBounds = {\n x: oldShape.x,\n y: oldShape.y,\n width: oldShape.width,\n height: oldShape.height\n };\n\n newShape = context.newShape =\n context.newShape ||\n self.createShape(newData, position, oldShape.parent, hints);\n\n // (2) update host\n if (oldShape.host) {\n modeling.updateAttachment(newShape, oldShape.host);\n }\n\n // (3) adopt all children from old shape\n var children;\n\n if (hints.moveChildren !== false) {\n children = oldShape.children.slice();\n\n modeling.moveElements(children, { x: 0, y: 0 }, newShape, hints);\n }\n\n // (4) reconnect connections to new shape if possible\n var incoming = oldShape.incoming.slice(),\n outgoing = oldShape.outgoing.slice();\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(incoming, function(connection) {\n var source = connection.source,\n allowed = canReconnect(source, newShape, connection);\n\n if (allowed) {\n self.reconnectEnd(\n connection, newShape,\n (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__.getResizedTargetAnchor)(connection, newShape, oldBounds),\n hints\n );\n }\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(outgoing, function(connection) {\n var target = connection.target,\n allowed = canReconnect(newShape, target, connection);\n\n if (allowed) {\n self.reconnectStart(\n connection, newShape,\n (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__.getResizedSourceAnchor)(connection, newShape, oldBounds),\n hints\n );\n }\n });\n};\n\n\n/**\n * Remove old shape.\n */\nReplaceShapeHandler.prototype.postExecute = function(context) {\n var oldShape = context.oldShape;\n\n this._modeling.removeShape(oldShape);\n};\n\n\nReplaceShapeHandler.prototype.execute = function(context) {};\n\n\nReplaceShapeHandler.prototype.revert = function(context) {};\n\n\nReplaceShapeHandler.prototype.createShape = function(shape, position, target, hints) {\n return this._modeling.createShape(shape, position, target, hints);\n};\n\n\nReplaceShapeHandler.prototype.reconnectStart = function(connection, newSource, dockingPoint, hints) {\n this._modeling.reconnectStart(connection, newSource, dockingPoint, hints);\n};\n\n\nReplaceShapeHandler.prototype.reconnectEnd = function(connection, newTarget, dockingPoint, hints) {\n this._modeling.reconnectEnd(connection, newTarget, dockingPoint, hints);\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/ReplaceShapeHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/ResizeShapeHandler.js":
/*!*********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/ResizeShapeHandler.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ResizeShapeHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helper/AnchorsHelper */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js\");\n\n\n\n\n\n/**\n * A handler that implements reversible resizing of shapes.\n *\n * @param {Modeling} modeling\n */\nfunction ResizeShapeHandler(modeling) {\n this._modeling = modeling;\n}\n\nResizeShapeHandler.$inject = [ 'modeling' ];\n\n/**\n * {\n * shape: {....}\n * newBounds: {\n * width: 20,\n * height: 40,\n * x: 5,\n * y: 10\n * }\n *\n * }\n */\nResizeShapeHandler.prototype.execute = function(context) {\n var shape = context.shape,\n newBounds = context.newBounds,\n minBounds = context.minBounds;\n\n if (newBounds.x === undefined || newBounds.y === undefined ||\n newBounds.width === undefined || newBounds.height === undefined) {\n throw new Error('newBounds must have {x, y, width, height} properties');\n }\n\n if (minBounds && (newBounds.width < minBounds.width\n || newBounds.height < minBounds.height)) {\n throw new Error('width and height cannot be less than minimum height and width');\n } else if (!minBounds\n && newBounds.width < 10 || newBounds.height < 10) {\n throw new Error('width and height cannot be less than 10px');\n }\n\n // save old bbox in context\n context.oldBounds = {\n width: shape.width,\n height: shape.height,\n x: shape.x,\n y: shape.y\n };\n\n // update shape\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(shape, {\n width: newBounds.width,\n height: newBounds.height,\n x: newBounds.x,\n y: newBounds.y\n });\n\n return shape;\n};\n\nResizeShapeHandler.prototype.postExecute = function(context) {\n var modeling = this._modeling;\n\n var shape = context.shape,\n oldBounds = context.oldBounds,\n hints = context.hints || {};\n\n if (hints.layout === false) {\n return;\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(shape.incoming, function(c) {\n modeling.layoutConnection(c, {\n connectionEnd: (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__.getResizedTargetAnchor)(c, shape, oldBounds)\n });\n });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(shape.outgoing, function(c) {\n modeling.layoutConnection(c, {\n connectionStart: (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__.getResizedSourceAnchor)(c, shape, oldBounds)\n });\n });\n\n};\n\nResizeShapeHandler.prototype.revert = function(context) {\n\n var shape = context.shape,\n oldBounds = context.oldBounds;\n\n // restore previous bbox\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(shape, {\n width: oldBounds.width,\n height: oldBounds.height,\n x: oldBounds.x,\n y: oldBounds.y\n });\n\n return shape;\n};\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/ResizeShapeHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/SpaceToolHandler.js":
/*!*******************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/SpaceToolHandler.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SpaceToolHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _space_tool_SpaceUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../space-tool/SpaceUtil */ \"./node_modules/diagram-js/lib/features/space-tool/SpaceUtil.js\");\n/* harmony import */ var _helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helper/AnchorsHelper */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js\");\n\n\n\n\n\n\n\n/**\n * Add or remove space by moving and resizing shapes and updating connection waypoints.\n */\nfunction SpaceToolHandler(modeling) {\n this._modeling = modeling;\n}\n\nSpaceToolHandler.$inject = [ 'modeling' ];\n\nSpaceToolHandler.prototype.preExecute = function(context) {\n var delta = context.delta,\n direction = context.direction,\n movingShapes = context.movingShapes,\n resizingShapes = context.resizingShapes,\n start = context.start,\n oldBounds = {};\n\n // (1) move shapes\n this.moveShapes(movingShapes, delta);\n\n // (2a) save old bounds of resized shapes\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(resizingShapes, function(shape) {\n oldBounds[shape.id] = getBounds(shape);\n });\n\n // (2b) resize shapes\n this.resizeShapes(resizingShapes, delta, direction);\n\n // (3) update connection waypoints\n this.updateConnectionWaypoints(\n (0,_space_tool_SpaceUtil__WEBPACK_IMPORTED_MODULE_1__.getWaypointsUpdatingConnections)(movingShapes, resizingShapes),\n delta,\n direction,\n start,\n movingShapes,\n resizingShapes,\n oldBounds\n );\n};\n\nSpaceToolHandler.prototype.execute = function() {};\nSpaceToolHandler.prototype.revert = function() {};\n\nSpaceToolHandler.prototype.moveShapes = function(shapes, delta) {\n var self = this;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(shapes, function(element) {\n self._modeling.moveShape(element, delta, null, {\n autoResize: false,\n layout: false,\n recurse: false\n });\n });\n};\n\nSpaceToolHandler.prototype.resizeShapes = function(shapes, delta, direction) {\n var self = this;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(shapes, function(shape) {\n var newBounds = (0,_space_tool_SpaceUtil__WEBPACK_IMPORTED_MODULE_1__.resizeBounds)(shape, direction, delta);\n\n self._modeling.resizeShape(shape, newBounds, null, {\n attachSupport: false,\n autoResize: false,\n layout: false\n });\n });\n};\n\n/**\n * Update connections waypoints according to the rules:\n * 1. Both source and target are moved/resized => move waypoints by the delta\n * 2. Only one of source and target is moved/resized => re-layout connection with moved start/end\n */\nSpaceToolHandler.prototype.updateConnectionWaypoints = function(\n connections,\n delta,\n direction,\n start,\n movingShapes,\n resizingShapes,\n oldBounds\n) {\n var self = this,\n affectedShapes = movingShapes.concat(resizingShapes);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(connections, function(connection) {\n var source = connection.source,\n target = connection.target,\n waypoints = copyWaypoints(connection),\n axis = getAxisFromDirection(direction),\n layoutHints = {\n labelBehavior: false\n };\n\n if (includes(affectedShapes, source) && includes(affectedShapes, target)) {\n\n // move waypoints\n waypoints = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(waypoints, function(waypoint) {\n if (shouldMoveWaypoint(waypoint, start, direction)) {\n\n // move waypoint\n waypoint[ axis ] = waypoint[ axis ] + delta[ axis ];\n }\n\n if (waypoint.original && shouldMoveWaypoint(waypoint.original, start, direction)) {\n\n // move waypoint original\n waypoint.original[ axis ] = waypoint.original[ axis ] + delta[ axis ];\n }\n\n return waypoint;\n });\n\n self._modeling.updateWaypoints(connection, waypoints, {\n labelBehavior: false\n });\n } else if (includes(affectedShapes, source) || includes(affectedShapes, target)) {\n\n // re-layout connection with moved start/end\n if (includes(movingShapes, source)) {\n layoutHints.connectionStart = (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_2__.getMovedSourceAnchor)(connection, source, delta);\n } else if (includes(movingShapes, target)) {\n layoutHints.connectionEnd = (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_2__.getMovedTargetAnchor)(connection, target, delta);\n } else if (includes(resizingShapes, source)) {\n layoutHints.connectionStart = (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_2__.getResizedSourceAnchor)(\n connection, source, oldBounds[source.id]\n );\n } else if (includes(resizingShapes, target)) {\n layoutHints.connectionEnd = (0,_helper_AnchorsHelper__WEBPACK_IMPORTED_MODULE_2__.getResizedTargetAnchor)(\n connection, target, oldBounds[target.id]\n );\n }\n\n self._modeling.layoutConnection(connection, layoutHints);\n }\n });\n};\n\n\n// helpers //////////\n\nfunction copyWaypoint(waypoint) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, waypoint);\n}\n\nfunction copyWaypoints(connection) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.map)(connection.waypoints, function(waypoint) {\n\n waypoint = copyWaypoint(waypoint);\n\n if (waypoint.original) {\n waypoint.original = copyWaypoint(waypoint.original);\n }\n\n return waypoint;\n });\n}\n\nfunction getAxisFromDirection(direction) {\n switch (direction) {\n case 'n':\n return 'y';\n case 'w':\n return 'x';\n case 's':\n return 'y';\n case 'e':\n return 'x';\n }\n}\n\nfunction shouldMoveWaypoint(waypoint, start, direction) {\n var relevantAxis = getAxisFromDirection(direction);\n\n if (/e|s/.test(direction)) {\n return waypoint[ relevantAxis ] > start;\n } else if (/n|w/.test(direction)) {\n return waypoint[ relevantAxis ] < start;\n }\n}\n\nfunction includes(array, item) {\n return array.indexOf(item) !== -1;\n}\n\nfunction getBounds(shape) {\n return {\n x: shape.x,\n y: shape.y,\n height: shape.height,\n width: shape.width\n };\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/SpaceToolHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/ToggleShapeCollapseHandler.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/ToggleShapeCollapseHandler.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ToggleShapeCollapseHandler)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n/**\n * A handler that toggles the collapsed state of an element\n * and the visibility of all its children.\n *\n * @param {Modeling} modeling\n */\nfunction ToggleShapeCollapseHandler(modeling) {\n this._modeling = modeling;\n}\n\nToggleShapeCollapseHandler.$inject = [ 'modeling' ];\n\n\nToggleShapeCollapseHandler.prototype.execute = function(context) {\n\n var shape = context.shape,\n children = shape.children;\n\n // recursively remember previous visibility of children\n context.oldChildrenVisibility = getElementsVisibilityRecursive(children);\n\n // toggle state\n shape.collapsed = !shape.collapsed;\n\n // recursively hide/show children\n var result = setHiddenRecursive(children, shape.collapsed);\n\n return [shape].concat(result);\n};\n\n\nToggleShapeCollapseHandler.prototype.revert = function(context) {\n\n var shape = context.shape,\n oldChildrenVisibility = context.oldChildrenVisibility;\n\n var children = shape.children;\n\n // recursively set old visability of children\n var result = restoreVisibilityRecursive(children, oldChildrenVisibility);\n\n // retoggle state\n shape.collapsed = !shape.collapsed;\n\n return [shape].concat(result);\n};\n\n\n// helpers //////////////////////\n\n/**\n * Return a map { elementId -> hiddenState}.\n *\n * @param {Array} elements\n *\n * @return {Object}\n */\nfunction getElementsVisibilityRecursive(elements) {\n\n var result = {};\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n result[element.id] = element.hidden;\n\n if (element.children) {\n result = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, result, getElementsVisibilityRecursive(element.children));\n }\n });\n\n return result;\n}\n\n\nfunction setHiddenRecursive(elements, newHidden) {\n var result = [];\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n element.hidden = newHidden;\n\n result = result.concat(element);\n\n if (element.children) {\n result = result.concat(setHiddenRecursive(element.children, element.collapsed || newHidden));\n }\n });\n\n return result;\n}\n\nfunction restoreVisibilityRecursive(elements, lastState) {\n var result = [];\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(elements, function(element) {\n element.hidden = lastState[element.id];\n\n result = result.concat(element);\n\n if (element.children) {\n result = result.concat(restoreVisibilityRecursive(element.children, lastState));\n }\n });\n\n return result;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/ToggleShapeCollapseHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/UpdateAttachmentHandler.js":
/*!**************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/UpdateAttachmentHandler.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UpdateAttachmentHandler)\n/* harmony export */ });\n/* harmony import */ var _util_Collections__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../util/Collections */ \"./node_modules/diagram-js/lib/util/Collections.js\");\n\n\n/**\n * A handler that implements reversible attaching/detaching of shapes.\n */\nfunction UpdateAttachmentHandler(modeling) {\n this._modeling = modeling;\n}\n\nUpdateAttachmentHandler.$inject = [ 'modeling' ];\n\n\nUpdateAttachmentHandler.prototype.execute = function(context) {\n var shape = context.shape,\n newHost = context.newHost,\n oldHost = shape.host;\n\n // (0) detach from old host\n context.oldHost = oldHost;\n context.attacherIdx = removeAttacher(oldHost, shape);\n\n // (1) attach to new host\n addAttacher(newHost, shape);\n\n // (2) update host\n shape.host = newHost;\n\n return shape;\n};\n\nUpdateAttachmentHandler.prototype.revert = function(context) {\n var shape = context.shape,\n newHost = context.newHost,\n oldHost = context.oldHost,\n attacherIdx = context.attacherIdx;\n\n // (2) update host\n shape.host = oldHost;\n\n // (1) attach to new host\n removeAttacher(newHost, shape);\n\n // (0) detach from old host\n addAttacher(oldHost, shape, attacherIdx);\n\n return shape;\n};\n\n\nfunction removeAttacher(host, attacher) {\n\n // remove attacher from host\n return (0,_util_Collections__WEBPACK_IMPORTED_MODULE_0__.remove)(host && host.attachers, attacher);\n}\n\nfunction addAttacher(host, attacher, idx) {\n\n if (!host) {\n return;\n }\n\n var attachers = host.attachers;\n\n if (!attachers) {\n host.attachers = attachers = [];\n }\n\n (0,_util_Collections__WEBPACK_IMPORTED_MODULE_0__.add)(attachers, attacher, idx);\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/UpdateAttachmentHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/UpdateWaypointsHandler.js":
/*!*************************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/UpdateWaypointsHandler.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UpdateWaypointsHandler)\n/* harmony export */ });\nfunction UpdateWaypointsHandler() { }\n\nUpdateWaypointsHandler.prototype.execute = function(context) {\n\n var connection = context.connection,\n newWaypoints = context.newWaypoints;\n\n context.oldWaypoints = connection.waypoints;\n\n connection.waypoints = newWaypoints;\n\n return connection;\n};\n\nUpdateWaypointsHandler.prototype.revert = function(context) {\n\n var connection = context.connection,\n oldWaypoints = context.oldWaypoints;\n\n connection.waypoints = oldWaypoints;\n\n return connection;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/UpdateWaypointsHandler.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js":
/*!***********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getResizedSourceAnchor\": () => (/* binding */ getResizedSourceAnchor),\n/* harmony export */ \"getResizedTargetAnchor\": () => (/* binding */ getResizedTargetAnchor),\n/* harmony export */ \"getMovedSourceAnchor\": () => (/* binding */ getMovedSourceAnchor),\n/* harmony export */ \"getMovedTargetAnchor\": () => (/* binding */ getMovedTargetAnchor)\n/* harmony export */ });\n/* harmony import */ var _util_AttachUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../util/AttachUtil */ \"./node_modules/diagram-js/lib/util/AttachUtil.js\");\n/* harmony import */ var _layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../layout/LayoutUtil */ \"./node_modules/diagram-js/lib/layout/LayoutUtil.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\n\n\n\n\n\nfunction getResizedSourceAnchor(connection, shape, oldBounds) {\n\n var waypoints = safeGetWaypoints(connection),\n waypointsInsideNewBounds = getWaypointsInsideBounds(waypoints, shape),\n oldAnchor = waypoints[0];\n\n // new anchor is the last waypoint enclosed be resized source\n if (waypointsInsideNewBounds.length) {\n return waypointsInsideNewBounds[ waypointsInsideNewBounds.length - 1 ];\n }\n\n return (0,_util_AttachUtil__WEBPACK_IMPORTED_MODULE_0__.getNewAttachPoint)(oldAnchor.original || oldAnchor, oldBounds, shape);\n}\n\n\nfunction getResizedTargetAnchor(connection, shape, oldBounds) {\n\n var waypoints = safeGetWaypoints(connection),\n waypointsInsideNewBounds = getWaypointsInsideBounds(waypoints, shape),\n oldAnchor = waypoints[waypoints.length - 1];\n\n // new anchor is the first waypoint enclosed be resized target\n if (waypointsInsideNewBounds.length) {\n return waypointsInsideNewBounds[ 0 ];\n }\n\n return (0,_util_AttachUtil__WEBPACK_IMPORTED_MODULE_0__.getNewAttachPoint)(oldAnchor.original || oldAnchor, oldBounds, shape);\n}\n\n\nfunction getMovedSourceAnchor(connection, source, moveDelta) {\n\n var waypoints = safeGetWaypoints(connection),\n oldBounds = subtract(source, moveDelta),\n oldAnchor = waypoints[ 0 ];\n\n return (0,_util_AttachUtil__WEBPACK_IMPORTED_MODULE_0__.getNewAttachPoint)(oldAnchor.original || oldAnchor, oldBounds, source);\n}\n\n\nfunction getMovedTargetAnchor(connection, target, moveDelta) {\n\n var waypoints = safeGetWaypoints(connection),\n oldBounds = subtract(target, moveDelta),\n oldAnchor = waypoints[ waypoints.length - 1 ];\n\n return (0,_util_AttachUtil__WEBPACK_IMPORTED_MODULE_0__.getNewAttachPoint)(oldAnchor.original || oldAnchor, oldBounds, target);\n}\n\n\n// helpers //////////////////////\n\nfunction subtract(bounds, delta) {\n return {\n x: bounds.x - delta.x,\n y: bounds.y - delta.y,\n width: bounds.width,\n height: bounds.height\n };\n}\n\n\n/**\n * Return waypoints of given connection; throw if non exists (should not happen!!).\n *\n * @param {Connection} connection\n *\n * @return {Array}\n */\nfunction safeGetWaypoints(connection) {\n\n var waypoints = connection.waypoints;\n\n if (!waypoints.length) {\n throw new Error('connection#' + connection.id + ': no waypoints');\n }\n\n return waypoints;\n}\n\nfunction getWaypointsInsideBounds(waypoints, bounds) {\n var originalWaypoints = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.map)(waypoints, getOriginal);\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.filter)(originalWaypoints, function(waypoint) {\n return isInsideBounds(waypoint, bounds);\n });\n}\n\n/**\n * Checks if point is inside bounds, incl. edges.\n *\n * @param {Point} point\n * @param {Bounds} bounds\n */\nfunction isInsideBounds(point, bounds) {\n return (0,_layout_LayoutUtil__WEBPACK_IMPORTED_MODULE_2__.getOrientation)(bounds, point, 1) === 'intersect';\n}\n\nfunction getOriginal(point) {\n return point.original || point;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveClosure.js":
/*!*********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveClosure.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MoveClosure)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n\n\n\n\n\nfunction MoveClosure() {\n\n this.allShapes = {};\n this.allConnections = {};\n\n this.enclosedElements = {};\n this.enclosedConnections = {};\n\n this.topLevel = {};\n}\n\n\nMoveClosure.prototype.add = function(element, isTopLevel) {\n return this.addAll([ element ], isTopLevel);\n};\n\n\nMoveClosure.prototype.addAll = function(elements, isTopLevel) {\n\n var newClosure = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_0__.getClosure)(elements, !!isTopLevel, this);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(this, newClosure);\n\n return this;\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveClosure.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveHelper.js":
/*!********************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveHelper.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MoveHelper)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AnchorsHelper */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js\");\n/* harmony import */ var _MoveClosure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MoveClosure */ \"./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveClosure.js\");\n\n\n\n\n\n\n\n/**\n * A helper that is able to carry out serialized move\n * operations on multiple elements.\n *\n * @param {Modeling} modeling\n */\nfunction MoveHelper(modeling) {\n this._modeling = modeling;\n}\n\n/**\n * Move the specified elements and all children by the given delta.\n *\n * This moves all enclosed connections, too and layouts all affected\n * external connections.\n *\n * @param {Array} elements\n * @param {Point} delta\n * @param {djs.model.Base} newParent applied to the first level of shapes\n *\n * @return {Array} list of touched elements\n */\nMoveHelper.prototype.moveRecursive = function(elements, delta, newParent) {\n if (!elements) {\n return [];\n } else {\n return this.moveClosure(this.getClosure(elements), delta, newParent);\n }\n};\n\n/**\n * Move the given closure of elmements.\n *\n * @param {Object} closure\n * @param {Point} delta\n * @param {djs.model.Base} [newParent]\n * @param {djs.model.Base} [newHost]\n */\nMoveHelper.prototype.moveClosure = function(closure, delta, newParent, newHost, primaryShape) {\n var modeling = this._modeling;\n\n var allShapes = closure.allShapes,\n allConnections = closure.allConnections,\n enclosedConnections = closure.enclosedConnections,\n topLevel = closure.topLevel,\n keepParent = false;\n\n if (primaryShape && primaryShape.parent === newParent) {\n keepParent = true;\n }\n\n // move all shapes\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(allShapes, function(shape) {\n\n // move the element according to the given delta\n modeling.moveShape(shape, delta, topLevel[shape.id] && !keepParent && newParent, {\n recurse: false,\n layout: false\n });\n });\n\n // move all child connections / layout external connections\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(allConnections, function(c) {\n\n var sourceMoved = !!allShapes[c.source.id],\n targetMoved = !!allShapes[c.target.id];\n\n if (enclosedConnections[c.id] && sourceMoved && targetMoved) {\n modeling.moveConnection(c, delta, topLevel[c.id] && !keepParent && newParent);\n } else {\n modeling.layoutConnection(c, {\n connectionStart: sourceMoved && (0,_AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__.getMovedSourceAnchor)(c, c.source, delta),\n connectionEnd: targetMoved && (0,_AnchorsHelper__WEBPACK_IMPORTED_MODULE_1__.getMovedTargetAnchor)(c, c.target, delta)\n });\n }\n });\n};\n\n/**\n * Returns the closure for the selected elements\n *\n * @param {Array} elements\n * @return {MoveClosure} closure\n */\nMoveHelper.prototype.getClosure = function(elements) {\n return new _MoveClosure__WEBPACK_IMPORTED_MODULE_2__.default().addAll(elements, true);\n};\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveHelper.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/mouse/Mouse.js":
/*!*************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/mouse/Mouse.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Mouse),\n/* harmony export */ \"createMoveEvent\": () => (/* binding */ createMoveEvent)\n/* harmony export */ });\nfunction Mouse(eventBus) {\r\n var self = this;\r\n\r\n this._lastMoveEvent = null;\r\n\r\n function setLastMoveEvent(mousemoveEvent) {\r\n self._lastMoveEvent = mousemoveEvent;\r\n }\r\n\r\n eventBus.on('canvas.init', function(context) {\r\n var svg = self._svg = context.svg;\r\n\r\n svg.addEventListener('mousemove', setLastMoveEvent);\r\n });\r\n\r\n eventBus.on('canvas.destroy', function() {\r\n self._lastMouseEvent = null;\r\n\r\n self._svg.removeEventListener('mousemove', setLastMoveEvent);\r\n });\r\n}\r\n\r\nMouse.$inject = [ 'eventBus' ];\r\n\r\nMouse.prototype.getLastMoveEvent = function() {\r\n return this._lastMoveEvent || createMoveEvent(0, 0);\r\n};\r\n\r\n// helpers //////////\r\n\r\nfunction createMoveEvent(x, y) {\r\n var event = document.createEvent('MouseEvent');\r\n\r\n var screenX = x,\r\n screenY = y,\r\n clientX = x,\r\n clientY = y;\r\n\r\n if (event.initMouseEvent) {\r\n event.initMouseEvent(\r\n 'mousemove',\r\n true,\r\n true,\r\n window,\r\n 0,\r\n screenX,\r\n screenY,\r\n clientX,\r\n clientY,\r\n false,\r\n false,\r\n false,\r\n false,\r\n 0,\r\n null\r\n );\r\n }\r\n\r\n return event;\r\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/mouse/Mouse.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/mouse/index.js":
/*!*************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/mouse/index.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Mouse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Mouse */ \"./node_modules/diagram-js/lib/features/mouse/Mouse.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'mouse' ],\n mouse: [ 'type', _Mouse__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/mouse/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/move/Move.js":
/*!***********************************************************!*\
!*** ./node_modules/diagram-js/lib/features/move/Move.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MoveEvents)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Event__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/Event */ \"./node_modules/diagram-js/lib/util/Event.js\");\n/* harmony import */ var _util_Mouse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/Mouse */ \"./node_modules/diagram-js/lib/util/Mouse.js\");\n\n\nvar LOW_PRIORITY = 500,\n MEDIUM_PRIORITY = 1250,\n HIGH_PRIORITY = 1500;\n\n\n\n\n\nvar round = Math.round;\n\nfunction mid(element) {\n return {\n x: element.x + round(element.width / 2),\n y: element.y + round(element.height / 2)\n };\n}\n\n/**\n * A plugin that makes shapes draggable / droppable.\n *\n * @param {EventBus} eventBus\n * @param {Dragging} dragging\n * @param {Modeling} modeling\n * @param {Selection} selection\n * @param {Rules} rules\n */\nfunction MoveEvents(\n eventBus, dragging, modeling,\n selection, rules) {\n\n // rules\n\n function canMove(shapes, delta, position, target) {\n\n return rules.allowed('elements.move', {\n shapes: shapes,\n delta: delta,\n position: position,\n target: target\n });\n }\n\n\n // move events\n\n // assign a high priority to this handler to setup the environment\n // others may hook up later, e.g. at default priority and modify\n // the move environment.\n //\n // This sets up the context with\n //\n // * shape: the primary shape being moved\n // * shapes: a list of shapes to be moved\n // * validatedShapes: a list of shapes that are being checked\n // against the rules before and during move\n //\n eventBus.on('shape.move.start', HIGH_PRIORITY, function(event) {\n\n var context = event.context,\n shape = event.shape,\n shapes = selection.get().slice();\n\n // move only single shape if the dragged element\n // is not part of the current selection\n if (shapes.indexOf(shape) === -1) {\n shapes = [ shape ];\n }\n\n // ensure we remove nested elements in the collection\n // and add attachers for a proper dragger\n shapes = removeNested(shapes);\n\n // attach shapes to drag context\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(context, {\n shapes: shapes,\n validatedShapes: shapes,\n shape: shape\n });\n });\n\n\n // assign a high priority to this handler to setup the environment\n // others may hook up later, e.g. at default priority and modify\n // the move environment\n //\n eventBus.on('shape.move.start', MEDIUM_PRIORITY, function(event) {\n\n var context = event.context,\n validatedShapes = context.validatedShapes,\n canExecute;\n\n canExecute = context.canExecute = canMove(validatedShapes);\n\n // check if we can move the elements\n if (!canExecute) {\n return false;\n }\n });\n\n // assign a low priority to this handler\n // to let others modify the move event before we update\n // the context\n //\n eventBus.on('shape.move.move', LOW_PRIORITY, function(event) {\n\n var context = event.context,\n validatedShapes = context.validatedShapes,\n hover = event.hover,\n delta = { x: event.dx, y: event.dy },\n position = { x: event.x, y: event.y },\n canExecute;\n\n // check if we can move the elements\n canExecute = canMove(validatedShapes, delta, position, hover);\n\n context.delta = delta;\n context.canExecute = canExecute;\n\n // simply ignore move over\n if (canExecute === null) {\n context.target = null;\n\n return;\n }\n\n context.target = hover;\n });\n\n eventBus.on('shape.move.end', function(event) {\n\n var context = event.context;\n\n var delta = context.delta,\n canExecute = context.canExecute,\n isAttach = canExecute === 'attach',\n shapes = context.shapes;\n\n if (canExecute === false) {\n return false;\n }\n\n // ensure we have actual pixel values deltas\n // (important when zoom level was > 1 during move)\n delta.x = round(delta.x);\n delta.y = round(delta.y);\n\n if (delta.x === 0 && delta.y === 0) {\n\n // didn't move\n return;\n }\n\n modeling.moveElements(shapes, delta, context.target, {\n primaryShape: context.shape,\n attach: isAttach\n });\n });\n\n\n // move activation\n\n eventBus.on('element.mousedown', function(event) {\n\n if (!(0,_util_Mouse__WEBPACK_IMPORTED_MODULE_1__.isPrimaryButton)(event)) {\n return;\n }\n\n var originalEvent = (0,_util_Event__WEBPACK_IMPORTED_MODULE_2__.getOriginal)(event);\n\n if (!originalEvent) {\n throw new Error('must supply DOM mousedown event');\n }\n\n return start(originalEvent, event.element);\n });\n\n /**\n * Start move.\n *\n * @param {MouseEvent} event\n * @param {djs.model.Shape} shape\n * @param {boolean} [activate]\n * @param {Object} [context]\n */\n function start(event, element, activate, context) {\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isObject)(activate)) {\n context = activate;\n activate = false;\n }\n\n // do not move connections or the root element\n if (element.waypoints || !element.parent) {\n return;\n }\n\n var referencePoint = mid(element);\n\n dragging.init(event, referencePoint, 'shape.move', {\n cursor: 'grabbing',\n autoActivate: activate,\n data: {\n shape: element,\n context: context || {}\n }\n });\n\n // we've handled the event\n return true;\n }\n\n // API\n\n this.start = start;\n}\n\nMoveEvents.$inject = [\n 'eventBus',\n 'dragging',\n 'modeling',\n 'selection',\n 'rules'\n];\n\n\n/**\n * Return a filtered list of elements that do not contain\n * those nested into others.\n *\n * @param {Array} elements\n *\n * @return {Array} filtered\n */\nfunction removeNested(elements) {\n\n var ids = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.groupBy)(elements, 'id');\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.filter)(elements, function(element) {\n while ((element = element.parent)) {\n\n // parent in selection\n if (ids[element.id]) {\n return false;\n }\n }\n\n return true;\n });\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/move/Move.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/move/MovePreview.js":
/*!******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/move/MovePreview.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MovePreview)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var _util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/SvgTransformUtil */ \"./node_modules/diagram-js/lib/util/SvgTransformUtil.js\");\n\n\n\n\n\n\n\n\nvar LOW_PRIORITY = 499;\n\nvar MARKER_DRAGGING = 'djs-dragging',\n MARKER_OK = 'drop-ok',\n MARKER_NOT_OK = 'drop-not-ok',\n MARKER_NEW_PARENT = 'new-parent',\n MARKER_ATTACH = 'attach-ok';\n\n\n/**\n * Provides previews for moving shapes when moving.\n *\n * @param {EventBus} eventBus\n * @param {ElementRegistry} elementRegistry\n * @param {Canvas} canvas\n * @param {Styles} styles\n */\nfunction MovePreview(\n eventBus, canvas, styles, previewSupport) {\n\n function getVisualDragShapes(shapes) {\n var elements = getAllDraggedElements(shapes);\n\n var filteredElements = removeEdges(elements);\n\n return filteredElements;\n }\n\n function getAllDraggedElements(shapes) {\n var allShapes = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_0__.selfAndAllChildren)(shapes, true);\n\n var allConnections = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.map)(allShapes, function(shape) {\n return (shape.incoming || []).concat(shape.outgoing || []);\n });\n\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.flatten)(allShapes.concat(allConnections));\n }\n\n /**\n * Sets drop marker on an element.\n */\n function setMarker(element, marker) {\n\n [ MARKER_ATTACH, MARKER_OK, MARKER_NOT_OK, MARKER_NEW_PARENT ].forEach(function(m) {\n\n if (m === marker) {\n canvas.addMarker(element, m);\n } else {\n canvas.removeMarker(element, m);\n }\n });\n }\n\n /**\n * Make an element draggable.\n *\n * @param {Object} context\n * @param {djs.model.Base} element\n * @param {boolean} addMarker\n */\n function makeDraggable(context, element, addMarker) {\n\n previewSupport.addDragger(element, context.dragGroup);\n\n if (addMarker) {\n canvas.addMarker(element, MARKER_DRAGGING);\n }\n\n if (context.allDraggedElements) {\n context.allDraggedElements.push(element);\n } else {\n context.allDraggedElements = [ element ];\n }\n }\n\n // assign a low priority to this handler\n // to let others modify the move context before\n // we draw things\n eventBus.on('shape.move.start', LOW_PRIORITY, function(event) {\n var context = event.context,\n dragShapes = context.shapes,\n allDraggedElements = context.allDraggedElements;\n\n var visuallyDraggedShapes = getVisualDragShapes(dragShapes);\n\n if (!context.dragGroup) {\n var dragGroup = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)('g');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(dragGroup, styles.cls('djs-drag-group', [ 'no-events' ]));\n\n var defaultLayer = canvas.getDefaultLayer();\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(defaultLayer, dragGroup);\n\n context.dragGroup = dragGroup;\n }\n\n // add previews\n visuallyDraggedShapes.forEach(function(shape) {\n previewSupport.addDragger(shape, context.dragGroup);\n });\n\n // cache all dragged elements / gfx\n // so that we can quickly undo their state changes later\n if (!allDraggedElements) {\n allDraggedElements = getAllDraggedElements(dragShapes);\n } else {\n allDraggedElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.flatten)([\n allDraggedElements,\n getAllDraggedElements(dragShapes)\n ]);\n }\n\n // add dragging marker\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(allDraggedElements, function(e) {\n canvas.addMarker(e, MARKER_DRAGGING);\n });\n\n context.allDraggedElements = allDraggedElements;\n\n // determine, if any of the dragged elements have different parents\n context.differentParents = haveDifferentParents(dragShapes);\n });\n\n // update previews\n eventBus.on('shape.move.move', LOW_PRIORITY, function(event) {\n\n var context = event.context,\n dragGroup = context.dragGroup,\n target = context.target,\n parent = context.shape.parent,\n canExecute = context.canExecute;\n\n if (target) {\n if (canExecute === 'attach') {\n setMarker(target, MARKER_ATTACH);\n } else if (context.canExecute && target && target.id !== parent.id) {\n setMarker(target, MARKER_NEW_PARENT);\n } else {\n setMarker(target, context.canExecute ? MARKER_OK : MARKER_NOT_OK);\n }\n }\n\n (0,_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__.translate)(dragGroup, event.dx, event.dy);\n });\n\n eventBus.on([ 'shape.move.out', 'shape.move.cleanup' ], function(event) {\n var context = event.context,\n target = context.target;\n\n if (target) {\n setMarker(target, null);\n }\n });\n\n // remove previews\n eventBus.on('shape.move.cleanup', function(event) {\n\n var context = event.context,\n allDraggedElements = context.allDraggedElements,\n dragGroup = context.dragGroup;\n\n\n // remove dragging marker\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(allDraggedElements, function(e) {\n canvas.removeMarker(e, MARKER_DRAGGING);\n });\n\n if (dragGroup) {\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.remove)(dragGroup);\n }\n });\n\n\n // API //////////////////////\n\n /**\n * Make an element draggable.\n *\n * @param {Object} context\n * @param {djs.model.Base} element\n * @param {boolean} addMarker\n */\n this.makeDraggable = makeDraggable;\n}\n\nMovePreview.$inject = [\n 'eventBus',\n 'canvas',\n 'styles',\n 'previewSupport'\n];\n\n\n// helpers //////////////////////\n\n/**\n * returns elements minus all connections\n * where source or target is not elements\n */\nfunction removeEdges(elements) {\n\n var filteredElements = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.filter)(elements, function(element) {\n\n if (!isConnection(element)) {\n return true;\n } else {\n\n return (\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.find)(elements, (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.matchPattern)({ id: element.source.id })) &&\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.find)(elements, (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.matchPattern)({ id: element.target.id }))\n );\n }\n });\n\n return filteredElements;\n}\n\nfunction haveDifferentParents(elements) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.size)((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.groupBy)(elements, function(e) { return e.parent && e.parent.id; })) !== 1;\n}\n\n/**\n * Checks if an element is a connection.\n */\nfunction isConnection(element) {\n return element.waypoints;\n}\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/move/MovePreview.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/move/index.js":
/*!************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/move/index.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _interaction_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../interaction-events */ \"./node_modules/diagram-js/lib/features/interaction-events/index.js\");\n/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../selection */ \"./node_modules/diagram-js/lib/features/selection/index.js\");\n/* harmony import */ var _outline__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../outline */ \"./node_modules/diagram-js/lib/features/outline/index.js\");\n/* harmony import */ var _rules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rules */ \"./node_modules/diagram-js/lib/features/rules/index.js\");\n/* harmony import */ var _dragging__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dragging */ \"./node_modules/diagram-js/lib/features/dragging/index.js\");\n/* harmony import */ var _preview_support__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../preview-support */ \"./node_modules/diagram-js/lib/features/preview-support/index.js\");\n/* harmony import */ var _Move__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Move */ \"./node_modules/diagram-js/lib/features/move/Move.js\");\n/* harmony import */ var _MovePreview__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MovePreview */ \"./node_modules/diagram-js/lib/features/move/MovePreview.js\");\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __depends__: [\n _interaction_events__WEBPACK_IMPORTED_MODULE_0__.default,\n _selection__WEBPACK_IMPORTED_MODULE_1__.default,\n _outline__WEBPACK_IMPORTED_MODULE_2__.default,\n _rules__WEBPACK_IMPORTED_MODULE_3__.default,\n _dragging__WEBPACK_IMPORTED_MODULE_4__.default,\n _preview_support__WEBPACK_IMPORTED_MODULE_5__.default\n ],\n __init__: [\n 'move',\n 'movePreview'\n ],\n move: [ 'type', _Move__WEBPACK_IMPORTED_MODULE_6__.default ],\n movePreview: [ 'type', _MovePreview__WEBPACK_IMPORTED_MODULE_7__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/move/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/ordering/OrderingProvider.js":
/*!***************************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/ordering/OrderingProvider.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ OrderingProvider)\n/* harmony export */ });\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../command/CommandInterceptor */ \"./node_modules/diagram-js/lib/command/CommandInterceptor.js\");\n\n\n\n\n\n/**\n * An abstract provider that allows modelers to implement a custom\n * ordering of diagram elements on the canvas.\n *\n * It makes sure that the order is always preserved during element\n * creation and move operations.\n *\n * In order to use this behavior, inherit from it and override\n * the method {@link OrderingProvider#getOrdering}.\n *\n * @example\n *\n * ```javascript\n * function CustomOrderingProvider(eventBus) {\n * OrderingProvider.call(this, eventBus);\n *\n * this.getOrdering = function(element, newParent) {\n * // always insert elements at the front\n * // when moving\n * return {\n * index: 0,\n * parent: newParent\n * };\n * };\n * }\n * ```\n *\n * @param {EventBus} eventBus\n */\nfunction OrderingProvider(eventBus) {\n\n _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default.call(this, eventBus);\n\n\n var self = this;\n\n this.preExecute([ 'shape.create', 'connection.create' ], function(event) {\n\n var context = event.context,\n element = context.shape || context.connection,\n parent = context.parent;\n\n var ordering = self.getOrdering(element, parent);\n\n if (ordering) {\n\n if (ordering.parent !== undefined) {\n context.parent = ordering.parent;\n }\n\n context.parentIndex = ordering.index;\n }\n });\n\n this.preExecute([ 'shape.move', 'connection.move' ], function(event) {\n\n var context = event.context,\n element = context.shape || context.connection,\n parent = context.newParent || element.parent;\n\n var ordering = self.getOrdering(element, parent);\n\n if (ordering) {\n\n if (ordering.parent !== undefined) {\n context.newParent = ordering.parent;\n }\n\n context.newParentIndex = ordering.index;\n }\n });\n}\n\n/**\n * Return a custom ordering of the element, both in terms\n * of parent element and index in the new parent.\n *\n * Implementors of this method must return an object with\n * `parent` _and_ `index` in it.\n *\n * @param {djs.model.Base} element\n * @param {djs.model.Shape} newParent\n *\n * @return {Object} ordering descriptor\n */\nOrderingProvider.prototype.getOrdering = function(element, newParent) {\n return null;\n};\n\ninherits__WEBPACK_IMPORTED_MODULE_0___default()(OrderingProvider, _command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_1__.default);\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/ordering/OrderingProvider.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/outline/Outline.js":
/*!*****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/outline/Outline.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Outline)\n/* harmony export */ });\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tiny-svg */ \"./node_modules/tiny-svg/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n\n\nvar LOW_PRIORITY = 500;\n\n\n\n\n\n\n\n\n/**\n * @class\n *\n * A plugin that adds an outline to shapes and connections that may be activated and styled\n * via CSS classes.\n *\n * @param {EventBus} eventBus\n * @param {Styles} styles\n * @param {ElementRegistry} elementRegistry\n */\nfunction Outline(eventBus, styles, elementRegistry) {\n\n this.offset = 6;\n\n var OUTLINE_STYLE = styles.cls('djs-outline', [ 'no-fill' ]);\n\n var self = this;\n\n function createOutline(gfx, bounds) {\n var outline = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.create)('rect');\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(outline, (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({\n x: 10,\n y: 10,\n width: 100,\n height: 100\n }, OUTLINE_STYLE));\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.append)(gfx, outline);\n\n return outline;\n }\n\n // A low priortity is necessary, because outlines of labels have to be updated\n // after the label bounds have been updated in the renderer.\n eventBus.on([ 'shape.added', 'shape.changed' ], LOW_PRIORITY, function(event) {\n var element = event.element,\n gfx = event.gfx;\n\n var outline = (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.query)('.djs-outline', gfx);\n\n if (!outline) {\n outline = createOutline(gfx, element);\n }\n\n self.updateShapeOutline(outline, element);\n });\n\n eventBus.on([ 'connection.added', 'connection.changed' ], function(event) {\n var element = event.element,\n gfx = event.gfx;\n\n var outline = (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.query)('.djs-outline', gfx);\n\n if (!outline) {\n outline = createOutline(gfx, element);\n }\n\n self.updateConnectionOutline(outline, element);\n });\n}\n\n\n/**\n * Updates the outline of a shape respecting the dimension of the\n * element and an outline offset.\n *\n * @param {SVGElement} outline\n * @param {djs.model.Base} element\n */\nOutline.prototype.updateShapeOutline = function(outline, element) {\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(outline, {\n x: -this.offset,\n y: -this.offset,\n width: element.width + this.offset * 2,\n height: element.height + this.offset * 2\n });\n\n};\n\n\n/**\n * Updates the outline of a connection respecting the bounding box of\n * the connection and an outline offset.\n *\n * @param {SVGElement} outline\n * @param {djs.model.Base} element\n */\nOutline.prototype.updateConnectionOutline = function(outline, connection) {\n\n var bbox = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_3__.getBBox)(connection);\n\n (0,tiny_svg__WEBPACK_IMPORTED_MODULE_0__.attr)(outline, {\n x: bbox.x - this.offset,\n y: bbox.y - this.offset,\n width: bbox.width + this.offset * 2,\n height: bbox.height + this.offset * 2\n });\n\n};\n\n\nOutline.$inject = ['eventBus', 'styles', 'elementRegistry'];\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/outline/Outline.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/outline/index.js":
/*!***************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/outline/index.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Outline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Outline */ \"./node_modules/diagram-js/lib/features/outline/Outline.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'outline' ],\n outline: [ 'type', _Outline__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/outline/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/overlays/Overlays.js":
/*!*******************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/overlays/Overlays.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Overlays)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n/* harmony import */ var _util_Elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/Elements */ \"./node_modules/diagram-js/lib/util/Elements.js\");\n/* harmony import */ var _util_IdGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/IdGenerator */ \"./node_modules/diagram-js/lib/util/IdGenerator.js\");\n\n\n\n\n\n\n\n\n// document wide unique overlay ids\nvar ids = new _util_IdGenerator__WEBPACK_IMPORTED_MODULE_0__.default('ov');\n\nvar LOW_PRIORITY = 500;\n\n\n/**\n * A service that allows users to attach overlays to diagram elements.\n *\n * The overlay service will take care of overlay positioning during updates.\n *\n * @example\n *\n * // add a pink badge on the top left of the shape\n * overlays.add(someShape, {\n * position: {\n * top: -5,\n * left: -5\n * },\n * html: '0
'\n * });\n *\n * // or add via shape id\n *\n * overlays.add('some-element-id', {\n * position: {\n * top: -5,\n * left: -5\n * }\n * html: '0
'\n * });\n *\n * // or add with optional type\n *\n * overlays.add(someShape, 'badge', {\n * position: {\n * top: -5,\n * left: -5\n * }\n * html: '0
'\n * });\n *\n *\n * // remove an overlay\n *\n * var id = overlays.add(...);\n * overlays.remove(id);\n *\n *\n * You may configure overlay defaults during tool by providing a `config` module\n * with `overlays.defaults` as an entry:\n *\n * {\n * overlays: {\n * defaults: {\n * show: {\n * minZoom: 0.7,\n * maxZoom: 5.0\n * },\n * scale: {\n * min: 1\n * }\n * }\n * }\n *\n * @param {Object} config\n * @param {EventBus} eventBus\n * @param {Canvas} canvas\n * @param {ElementRegistry} elementRegistry\n */\nfunction Overlays(config, eventBus, canvas, elementRegistry) {\n\n this._eventBus = eventBus;\n this._canvas = canvas;\n this._elementRegistry = elementRegistry;\n\n this._ids = ids;\n\n this._overlayDefaults = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({\n\n // no show constraints\n show: null,\n\n // always scale\n scale: true\n }, config && config.defaults);\n\n /**\n * Mapping overlayId -> overlay\n */\n this._overlays = {};\n\n /**\n * Mapping elementId -> overlay container\n */\n this._overlayContainers = [];\n\n // root html element for all overlays\n this._overlayRoot = createRoot(canvas.getContainer());\n\n this._init();\n}\n\n\nOverlays.$inject = [\n 'config.overlays',\n 'eventBus',\n 'canvas',\n 'elementRegistry'\n];\n\n\n/**\n * Returns the overlay with the specified id or a list of overlays\n * for an element with a given type.\n *\n * @example\n *\n * // return the single overlay with the given id\n * overlays.get('some-id');\n *\n * // return all overlays for the shape\n * overlays.get({ element: someShape });\n *\n * // return all overlays on shape with type 'badge'\n * overlays.get({ element: someShape, type: 'badge' });\n *\n * // shape can also be specified as id\n * overlays.get({ element: 'element-id', type: 'badge' });\n *\n *\n * @param {Object} search\n * @param {string} [search.id]\n * @param {string|djs.model.Base} [search.element]\n * @param {string} [search.type]\n *\n * @return {Object|Array} the overlay(s)\n */\nOverlays.prototype.get = function(search) {\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isString)(search)) {\n search = { id: search };\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isString)(search.element)) {\n search.element = this._elementRegistry.get(search.element);\n }\n\n if (search.element) {\n var container = this._getOverlayContainer(search.element, true);\n\n // return a list of overlays when searching by element (+type)\n if (container) {\n return search.type ? (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.filter)(container.overlays, (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.matchPattern)({ type: search.type })) : container.overlays.slice();\n } else {\n return [];\n }\n } else\n if (search.type) {\n return (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.filter)(this._overlays, (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.matchPattern)({ type: search.type }));\n } else {\n\n // return single element when searching by id\n return search.id ? this._overlays[search.id] : null;\n }\n};\n\n/**\n * Adds a HTML overlay to an element.\n *\n * @param {string|djs.model.Base} element attach overlay to this shape\n * @param {string} [type] optional type to assign to the overlay\n * @param {Object} overlay the overlay configuration\n *\n * @param {string|DOMElement} overlay.html html element to use as an overlay\n * @param {Object} [overlay.show] show configuration\n * @param {number} [overlay.show.minZoom] minimal zoom level to show the overlay\n * @param {number} [overlay.show.maxZoom] maximum zoom level to show the overlay\n * @param {Object} overlay.position where to attach the overlay\n * @param {number} [overlay.position.left] relative to element bbox left attachment\n * @param {number} [overlay.position.top] relative to element bbox top attachment\n * @param {number} [overlay.position.bottom] relative to element bbox bottom attachment\n * @param {number} [overlay.position.right] relative to element bbox right attachment\n * @param {boolean|Object} [overlay.scale=true] false to preserve the same size regardless of\n * diagram zoom\n * @param {number} [overlay.scale.min]\n * @param {number} [overlay.scale.max]\n *\n * @return {string} id that may be used to reference the overlay for update or removal\n */\nOverlays.prototype.add = function(element, type, overlay) {\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isObject)(type)) {\n overlay = type;\n type = null;\n }\n\n if (!element.id) {\n element = this._elementRegistry.get(element);\n }\n\n if (!overlay.position) {\n throw new Error('must specifiy overlay position');\n }\n\n if (!overlay.html) {\n throw new Error('must specifiy overlay html');\n }\n\n if (!element) {\n throw new Error('invalid element specified');\n }\n\n var id = this._ids.next();\n\n overlay = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)({}, this._overlayDefaults, overlay, {\n id: id,\n type: type,\n element: element,\n html: overlay.html\n });\n\n this._addOverlay(overlay);\n\n return id;\n};\n\n\n/**\n * Remove an overlay with the given id or all overlays matching the given filter.\n *\n * @see Overlays#get for filter options.\n *\n * @param {string} [id]\n * @param {Object} [filter]\n */\nOverlays.prototype.remove = function(filter) {\n\n var overlays = this.get(filter) || [];\n\n if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isArray)(overlays)) {\n overlays = [ overlays ];\n }\n\n var self = this;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(overlays, function(overlay) {\n\n var container = self._getOverlayContainer(overlay.element, true);\n\n if (overlay) {\n (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.remove)(overlay.html);\n (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.remove)(overlay.htmlContainer);\n\n delete overlay.htmlContainer;\n delete overlay.element;\n\n delete self._overlays[overlay.id];\n }\n\n if (container) {\n var idx = container.overlays.indexOf(overlay);\n if (idx !== -1) {\n container.overlays.splice(idx, 1);\n }\n }\n });\n\n};\n\n\nOverlays.prototype.show = function() {\n setVisible(this._overlayRoot);\n};\n\n\nOverlays.prototype.hide = function() {\n setVisible(this._overlayRoot, false);\n};\n\nOverlays.prototype.clear = function() {\n this._overlays = {};\n\n this._overlayContainers = [];\n\n (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.clear)(this._overlayRoot);\n};\n\nOverlays.prototype._updateOverlayContainer = function(container) {\n var element = container.element,\n html = container.html;\n\n // update container left,top according to the elements x,y coordinates\n // this ensures we can attach child elements relative to this container\n\n var x = element.x,\n y = element.y;\n\n if (element.waypoints) {\n var bbox = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_3__.getBBox)(element);\n x = bbox.x;\n y = bbox.y;\n }\n\n setPosition(html, x, y);\n\n (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.attr)(container.html, 'data-container-id', element.id);\n};\n\n\nOverlays.prototype._updateOverlay = function(overlay) {\n\n var position = overlay.position,\n htmlContainer = overlay.htmlContainer,\n element = overlay.element;\n\n // update overlay html relative to shape because\n // it is already positioned on the element\n\n // update relative\n var left = position.left,\n top = position.top;\n\n if (position.right !== undefined) {\n\n var width;\n\n if (element.waypoints) {\n width = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_3__.getBBox)(element).width;\n } else {\n width = element.width;\n }\n\n left = position.right * -1 + width;\n }\n\n if (position.bottom !== undefined) {\n\n var height;\n\n if (element.waypoints) {\n height = (0,_util_Elements__WEBPACK_IMPORTED_MODULE_3__.getBBox)(element).height;\n } else {\n height = element.height;\n }\n\n top = position.bottom * -1 + height;\n }\n\n setPosition(htmlContainer, left || 0, top || 0);\n};\n\n\nOverlays.prototype._createOverlayContainer = function(element) {\n var html = (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.domify)('
');\n\n this._overlayRoot.appendChild(html);\n\n var container = {\n html: html,\n element: element,\n overlays: []\n };\n\n this._updateOverlayContainer(container);\n\n this._overlayContainers.push(container);\n\n return container;\n};\n\n\nOverlays.prototype._updateRoot = function(viewbox) {\n var scale = viewbox.scale || 1;\n\n var matrix = 'matrix(' +\n [\n scale,\n 0,\n 0,\n scale,\n -1 * viewbox.x * scale,\n -1 * viewbox.y * scale\n ].join(',') +\n ')';\n\n setTransform(this._overlayRoot, matrix);\n};\n\n\nOverlays.prototype._getOverlayContainer = function(element, raw) {\n var container = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.find)(this._overlayContainers, function(c) {\n return c.element === element;\n });\n\n\n if (!container && !raw) {\n return this._createOverlayContainer(element);\n }\n\n return container;\n};\n\n\nOverlays.prototype._addOverlay = function(overlay) {\n\n var id = overlay.id,\n element = overlay.element,\n html = overlay.html,\n htmlContainer,\n overlayContainer;\n\n // unwrap jquery (for those who need it)\n if (html.get && html.constructor.prototype.jquery) {\n html = html.get(0);\n }\n\n // create proper html elements from\n // overlay HTML strings\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isString)(html)) {\n html = (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.domify)(html);\n }\n\n overlayContainer = this._getOverlayContainer(element);\n\n htmlContainer = (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.domify)('');\n\n htmlContainer.appendChild(html);\n\n if (overlay.type) {\n (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.classes)(htmlContainer).add('djs-overlay-' + overlay.type);\n }\n\n overlay.htmlContainer = htmlContainer;\n\n overlayContainer.overlays.push(overlay);\n overlayContainer.html.appendChild(htmlContainer);\n\n this._overlays[id] = overlay;\n\n this._updateOverlay(overlay);\n this._updateOverlayVisibilty(overlay, this._canvas.viewbox());\n};\n\n\nOverlays.prototype._updateOverlayVisibilty = function(overlay, viewbox) {\n var show = overlay.show,\n minZoom = show && show.minZoom,\n maxZoom = show && show.maxZoom,\n htmlContainer = overlay.htmlContainer,\n visible = true;\n\n if (show) {\n if (\n ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isDefined)(minZoom) && minZoom > viewbox.scale) ||\n ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isDefined)(maxZoom) && maxZoom < viewbox.scale)\n ) {\n visible = false;\n }\n\n setVisible(htmlContainer, visible);\n }\n\n this._updateOverlayScale(overlay, viewbox);\n};\n\n\nOverlays.prototype._updateOverlayScale = function(overlay, viewbox) {\n var shouldScale = overlay.scale,\n minScale,\n maxScale,\n htmlContainer = overlay.htmlContainer;\n\n var scale, transform = '';\n\n if (shouldScale !== true) {\n\n if (shouldScale === false) {\n minScale = 1;\n maxScale = 1;\n } else {\n minScale = shouldScale.min;\n maxScale = shouldScale.max;\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isDefined)(minScale) && viewbox.scale < minScale) {\n scale = (1 / viewbox.scale || 1) * minScale;\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isDefined)(maxScale) && viewbox.scale > maxScale) {\n scale = (1 / viewbox.scale || 1) * maxScale;\n }\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isDefined)(scale)) {\n transform = 'scale(' + scale + ',' + scale + ')';\n }\n\n setTransform(htmlContainer, transform);\n};\n\n\nOverlays.prototype._updateOverlaysVisibilty = function(viewbox) {\n\n var self = this;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(this._overlays, function(overlay) {\n self._updateOverlayVisibilty(overlay, viewbox);\n });\n};\n\n\nOverlays.prototype._init = function() {\n\n var eventBus = this._eventBus;\n\n var self = this;\n\n\n // scroll/zoom integration\n\n function updateViewbox(viewbox) {\n self._updateRoot(viewbox);\n self._updateOverlaysVisibilty(viewbox);\n\n self.show();\n }\n\n eventBus.on('canvas.viewbox.changing', function(event) {\n self.hide();\n });\n\n eventBus.on('canvas.viewbox.changed', function(event) {\n updateViewbox(event.viewbox);\n });\n\n\n // remove integration\n\n eventBus.on([ 'shape.remove', 'connection.remove' ], function(e) {\n var element = e.element;\n var overlays = self.get({ element: element });\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(overlays, function(o) {\n self.remove(o.id);\n });\n\n var container = self._getOverlayContainer(element);\n\n if (container) {\n (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.remove)(container.html);\n var i = self._overlayContainers.indexOf(container);\n if (i !== -1) {\n self._overlayContainers.splice(i, 1);\n }\n }\n });\n\n\n // move integration\n\n eventBus.on('element.changed', LOW_PRIORITY, function(e) {\n var element = e.element;\n\n var container = self._getOverlayContainer(element, true);\n\n if (container) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(container.overlays, function(overlay) {\n self._updateOverlay(overlay);\n });\n\n self._updateOverlayContainer(container);\n }\n });\n\n\n // marker integration, simply add them on the overlays as classes, too.\n\n eventBus.on('element.marker.update', function(e) {\n var container = self._getOverlayContainer(e.element, true);\n if (container) {\n (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.classes)(container.html)[e.add ? 'add' : 'remove'](e.marker);\n }\n });\n\n\n // clear overlays with diagram\n\n eventBus.on('diagram.clear', this.clear, this);\n};\n\n\n\n// helpers /////////////////////////////\n\nfunction createRoot(parentNode) {\n var root = (0,min_dom__WEBPACK_IMPORTED_MODULE_2__.domify)(\n '
'\n );\n\n parentNode.insertBefore(root, parentNode.firstChild);\n\n return root;\n}\n\nfunction setPosition(el, x, y) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.assign)(el.style, { left: x + 'px', top: y + 'px' });\n}\n\nfunction setVisible(el, visible) {\n el.style.display = visible === false ? 'none' : '';\n}\n\nfunction setTransform(el, transform) {\n\n el.style['transform-origin'] = 'top left';\n\n [ '', '-ms-', '-webkit-' ].forEach(function(prefix) {\n el.style[prefix + 'transform'] = transform;\n });\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/overlays/Overlays.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/overlays/index.js":
/*!****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/overlays/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Overlays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Overlays */ \"./node_modules/diagram-js/lib/features/overlays/Overlays.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'overlays' ],\n overlays: [ 'type', _Overlays__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/overlays/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/palette/Palette.js":
/*!*****************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/palette/Palette.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Palette)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n\n\n\n\n\nvar TOGGLE_SELECTOR = '.djs-palette-toggle',\n ENTRY_SELECTOR = '.entry',\n ELEMENT_SELECTOR = TOGGLE_SELECTOR + ', ' + ENTRY_SELECTOR;\n\nvar PALETTE_OPEN_CLS = 'open',\n PALETTE_TWO_COLUMN_CLS = 'two-column';\n\nvar DEFAULT_PRIORITY = 1000;\n\n\n/**\n * A palette containing modeling elements.\n */\nfunction Palette(eventBus, canvas) {\n\n this._eventBus = eventBus;\n this._canvas = canvas;\n\n var self = this;\n\n eventBus.on('tool-manager.update', function(event) {\n var tool = event.tool;\n\n self.updateToolHighlight(tool);\n });\n\n eventBus.on('i18n.changed', function() {\n self._update();\n });\n\n eventBus.on('diagram.init', function() {\n\n self._diagramInitialized = true;\n\n self._rebuild();\n });\n}\n\nPalette.$inject = [ 'eventBus', 'canvas' ];\n\n\n/**\n * Register a provider with the palette\n *\n * @param {number} [priority=1000]\n * @param {PaletteProvider} provider\n *\n * @example\n * const paletteProvider = {\n * getPaletteEntries: function() {\n * return function(entries) {\n * return {\n * ...entries,\n * 'entry-1': {\n * label: 'My Entry',\n * action: function() { alert(\"I have been clicked!\"); }\n * }\n * };\n * }\n * }\n * };\n *\n * palette.registerProvider(800, paletteProvider);\n */\nPalette.prototype.registerProvider = function(priority, provider) {\n if (!provider) {\n provider = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n this._eventBus.on('palette.getProviders', priority, function(event) {\n event.providers.push(provider);\n });\n\n this._rebuild();\n};\n\n\n/**\n * Returns the palette entries\n *\n * @return {Object
} map of entries\n */\nPalette.prototype.getEntries = function() {\n var providers = this._getProviders();\n\n return providers.reduce(addPaletteEntries, {});\n};\n\nPalette.prototype._rebuild = function() {\n\n if (!this._diagramInitialized) {\n return;\n }\n\n var providers = this._getProviders();\n\n if (!providers.length) {\n return;\n }\n\n if (!this._container) {\n this._init();\n }\n\n this._update();\n};\n\n/**\n * Initialize\n */\nPalette.prototype._init = function() {\n\n var self = this;\n\n var eventBus = this._eventBus;\n\n var parentContainer = this._getParentContainer();\n\n var container = this._container = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.domify)(Palette.HTML_MARKUP);\n\n parentContainer.appendChild(container);\n\n min_dom__WEBPACK_IMPORTED_MODULE_0__.delegate.bind(container, ELEMENT_SELECTOR, 'click', function(event) {\n\n var target = event.delegateTarget;\n\n if ((0,min_dom__WEBPACK_IMPORTED_MODULE_0__.matches)(target, TOGGLE_SELECTOR)) {\n return self.toggle();\n }\n\n self.trigger('click', event);\n });\n\n // prevent drag propagation\n min_dom__WEBPACK_IMPORTED_MODULE_0__.event.bind(container, 'mousedown', function(event) {\n event.stopPropagation();\n });\n\n // prevent drag propagation\n min_dom__WEBPACK_IMPORTED_MODULE_0__.delegate.bind(container, ENTRY_SELECTOR, 'dragstart', function(event) {\n self.trigger('dragstart', event);\n });\n\n eventBus.on('canvas.resized', this._layoutChanged, this);\n\n eventBus.fire('palette.create', {\n container: container\n });\n};\n\nPalette.prototype._getProviders = function(id) {\n\n var event = this._eventBus.createEvent({\n type: 'palette.getProviders',\n providers: []\n });\n\n this._eventBus.fire(event);\n\n return event.providers;\n};\n\n/**\n * Update palette state.\n *\n * @param {Object} [state] { open, twoColumn }\n */\nPalette.prototype._toggleState = function(state) {\n\n state = state || {};\n\n var parent = this._getParentContainer(),\n container = this._container;\n\n var eventBus = this._eventBus;\n\n var twoColumn;\n\n var cls = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.classes)(container);\n\n if ('twoColumn' in state) {\n twoColumn = state.twoColumn;\n } else {\n twoColumn = this._needsCollapse(parent.clientHeight, this._entries || {});\n }\n\n // always update two column\n cls.toggle(PALETTE_TWO_COLUMN_CLS, twoColumn);\n\n if ('open' in state) {\n cls.toggle(PALETTE_OPEN_CLS, state.open);\n }\n\n eventBus.fire('palette.changed', {\n twoColumn: twoColumn,\n open: this.isOpen()\n });\n};\n\nPalette.prototype._update = function() {\n\n var entriesContainer = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.query)('.djs-palette-entries', this._container),\n entries = this._entries = this.getEntries();\n\n (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.clear)(entriesContainer);\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(entries, function(entry, id) {\n\n var grouping = entry.group || 'default';\n\n var container = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.query)('[data-group=' + grouping + ']', entriesContainer);\n if (!container) {\n container = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.domify)('
');\n entriesContainer.appendChild(container);\n }\n\n var html = entry.html || (\n entry.separator ?\n ' ' :\n '
');\n\n\n var control = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.domify)(html);\n container.appendChild(control);\n\n if (!entry.separator) {\n (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.attr)(control, 'data-action', id);\n\n if (entry.title) {\n (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.attr)(control, 'title', entry.title);\n }\n\n if (entry.className) {\n addClasses(control, entry.className);\n }\n\n if (entry.imageUrl) {\n control.appendChild((0,min_dom__WEBPACK_IMPORTED_MODULE_0__.domify)(' '));\n }\n }\n });\n\n // open after update\n this.open();\n};\n\n\n/**\n * Trigger an action available on the palette\n *\n * @param {string} action\n * @param {Event} event\n */\nPalette.prototype.trigger = function(action, event, autoActivate) {\n var entries = this._entries,\n entry,\n handler,\n originalEvent,\n button = event.delegateTarget || event.target;\n\n if (!button) {\n return event.preventDefault();\n }\n\n entry = entries[(0,min_dom__WEBPACK_IMPORTED_MODULE_0__.attr)(button, 'data-action')];\n\n // when user clicks on the palette and not on an action\n if (!entry) {\n return;\n }\n\n handler = entry.action;\n\n originalEvent = event.originalEvent || event;\n\n // simple action (via callback function)\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isFunction)(handler)) {\n if (action === 'click') {\n handler(originalEvent, autoActivate);\n }\n } else {\n if (handler[action]) {\n handler[action](originalEvent, autoActivate);\n }\n }\n\n // silence other actions\n event.preventDefault();\n};\n\nPalette.prototype._layoutChanged = function() {\n this._toggleState({});\n};\n\n/**\n * Do we need to collapse to two columns?\n *\n * @param {number} availableHeight\n * @param {Object} entries\n *\n * @return {boolean}\n */\nPalette.prototype._needsCollapse = function(availableHeight, entries) {\n\n // top margin + bottom toggle + bottom margin\n // implementors must override this method if they\n // change the palette styles\n var margin = 20 + 10 + 20;\n\n var entriesHeight = Object.keys(entries).length * 46;\n\n return availableHeight < entriesHeight + margin;\n};\n\n/**\n * Close the palette\n */\nPalette.prototype.close = function() {\n\n this._toggleState({\n open: false,\n twoColumn: false\n });\n};\n\n\n/**\n * Open the palette\n */\nPalette.prototype.open = function() {\n this._toggleState({ open: true });\n};\n\n\nPalette.prototype.toggle = function(open) {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n};\n\nPalette.prototype.isActiveTool = function(tool) {\n return tool && this._activeTool === tool;\n};\n\nPalette.prototype.updateToolHighlight = function(name) {\n var entriesContainer,\n toolsContainer;\n\n if (!this._toolsContainer) {\n entriesContainer = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.query)('.djs-palette-entries', this._container);\n\n this._toolsContainer = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.query)('[data-group=tools]', entriesContainer);\n }\n\n toolsContainer = this._toolsContainer;\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(toolsContainer.children, function(tool) {\n var actionName = tool.getAttribute('data-action');\n\n if (!actionName) {\n return;\n }\n\n var toolClasses = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.classes)(tool);\n\n actionName = actionName.replace('-tool', '');\n\n if (toolClasses.contains('entry') && actionName === name) {\n toolClasses.add('highlighted-entry');\n } else {\n toolClasses.remove('highlighted-entry');\n }\n });\n};\n\n\n/**\n * Return true if the palette is opened.\n *\n * @example\n *\n * palette.open();\n *\n * if (palette.isOpen()) {\n * // yes, we are open\n * }\n *\n * @return {boolean} true if palette is opened\n */\nPalette.prototype.isOpen = function() {\n return (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.classes)(this._container).has(PALETTE_OPEN_CLS);\n};\n\n/**\n * Get container the palette lives in.\n *\n * @return {Element}\n */\nPalette.prototype._getParentContainer = function() {\n return this._canvas.getContainer();\n};\n\n\n/* markup definition */\n\nPalette.HTML_MARKUP =\n '';\n\n\n// helpers //////////////////////\n\nfunction addClasses(element, classNames) {\n\n var classes = (0,min_dom__WEBPACK_IMPORTED_MODULE_0__.classes)(element);\n\n var actualClassNames = (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isArray)(classNames) ? classNames : classNames.split(/\\s+/g);\n actualClassNames.forEach(function(cls) {\n classes.add(cls);\n });\n}\n\nfunction addPaletteEntries(entries, provider) {\n\n var entriesOrUpdater = provider.getPaletteEntries();\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_1__.isFunction)(entriesOrUpdater)) {\n return entriesOrUpdater(entries);\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_1__.forEach)(entriesOrUpdater, function(entry, id) {\n entries[id] = entry;\n });\n\n return entries;\n}\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/palette/Palette.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/palette/index.js":
/*!***************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/palette/index.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Palette__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Palette */ \"./node_modules/diagram-js/lib/features/palette/Palette.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n __init__: [ 'palette' ],\n palette: [ 'type', _Palette__WEBPACK_IMPORTED_MODULE_0__.default ]\n});\n\n\n//# sourceURL=webpack://bpmn-js-example-properties-panel/./node_modules/diagram-js/lib/features/palette/index.js?");
/***/ }),
/***/ "./node_modules/diagram-js/lib/features/popup-menu/PopupMenu.js":
/*!**********************************************************************!*\
!*** ./node_modules/diagram-js/lib/features/popup-menu/PopupMenu.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ PopupMenu)\n/* harmony export */ });\n/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ \"./node_modules/min-dash/dist/index.esm.js\");\n/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! min-dom */ \"./node_modules/min-dom/dist/index.esm.js\");\n\n\n\n\nvar DATA_REF = 'data-id';\n\nvar CLOSE_EVENTS = [\n 'contextPad.close',\n 'canvas.viewbox.changing',\n 'commandStack.changed'\n];\n\nvar DEFAULT_PRIORITY = 1000;\n\n\n/**\n * A popup menu that can be used to display a list of actions anywhere in the canvas.\n *\n * @param {Object} config\n * @param {boolean|Object} [config.scale={ min: 1.0, max: 1.5 }]\n * @param {number} [config.scale.min]\n * @param {number} [config.scale.max]\n * @param {EventBus} eventBus\n * @param {Canvas} canvas\n *\n * @class\n * @constructor\n */\nfunction PopupMenu(config, eventBus, canvas) {\n\n var scale = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isDefined)(config && config.scale) ? config.scale : {\n min: 1,\n max: 1.5\n };\n\n this._config = {\n scale: scale\n };\n\n this._eventBus = eventBus;\n this._canvas = canvas;\n this._providers = {};\n this._current = {};\n}\n\nPopupMenu.$inject = [\n 'config.popupMenu',\n 'eventBus',\n 'canvas'\n];\n\n/**\n * Registers a popup menu provider\n *\n * @param {string} id\n * @param {number} [priority=1000]\n * @param {Object} provider\n *\n * @example\n * const popupMenuProvider = {\n * getPopupMenuEntries: function(element) {\n * return {\n * 'entry-1': {\n * label: 'My Entry',\n * action: function() { alert(\"I have been clicked!\"); }\n * }\n * }\n * }\n * };\n *\n * popupMenu.registerProvider('myMenuID', popupMenuProvider);\n */\nPopupMenu.prototype.registerProvider = function(id, priority, provider) {\n if (!provider) {\n provider = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n this._eventBus.on('popupMenu.getProviders.' + id, priority, function(event) {\n event.providers.push(provider);\n });\n};\n\n/**\n * Determine if the popup menu has entries.\n *\n * @return {boolean} true if empty\n */\nPopupMenu.prototype.isEmpty = function(element, providerId) {\n if (!element) {\n throw new Error('element parameter is missing');\n }\n\n if (!providerId) {\n throw new Error('providerId parameter is missing');\n }\n\n var providers = this._getProviders(providerId);\n\n if (!providers) {\n return true;\n }\n\n var entries = this._getEntries(element, providers),\n headerEntries = this._getHeaderEntries(element, providers);\n\n var hasEntries = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.size)(entries) > 0,\n hasHeaderEntries = headerEntries && (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.size)(headerEntries) > 0;\n\n return !hasEntries && !hasHeaderEntries;\n};\n\n\n/**\n * Create entries and open popup menu at given position\n *\n * @param {Object} element\n * @param {string} id provider id\n * @param {Object} position\n *\n * @return {Object} popup menu instance\n */\nPopupMenu.prototype.open = function(element, id, position) {\n\n var providers = this._getProviders(id);\n\n if (!element) {\n throw new Error('Element is missing');\n }\n\n if (!providers || !providers.length) {\n throw new Error('No registered providers for: ' + id);\n }\n\n if (!position) {\n throw new Error('the position argument is missing');\n }\n\n if (this.isOpen()) {\n this.close();\n }\n\n this._emit('open');\n\n var current = this._current = {\n className: id,\n element: element,\n position: position\n };\n\n var entries = this._getEntries(element, providers),\n headerEntries = this._getHeaderEntries(element, providers);\n\n current.entries = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)({}, entries, headerEntries);\n\n current.container = this._createContainer();\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.size)(headerEntries)) {\n current.container.appendChild(\n this._createEntries(headerEntries, 'djs-popup-header')\n );\n }\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.size)(entries)) {\n current.container.appendChild(\n this._createEntries(entries, 'djs-popup-body')\n );\n }\n\n var canvas = this._canvas,\n parent = canvas.getContainer();\n\n this._attachContainer(current.container, parent, position.cursor);\n this._bindAutoClose();\n};\n\n\n/**\n * Removes the popup menu and unbinds the event handlers.\n */\nPopupMenu.prototype.close = function() {\n\n if (!this.isOpen()) {\n return;\n }\n\n this._emit('close');\n\n this._unbindAutoClose();\n (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.remove)(this._current.container);\n this._current.container = null;\n};\n\n\n/**\n * Determine if an open popup menu exist.\n *\n * @return {boolean} true if open\n */\nPopupMenu.prototype.isOpen = function() {\n return !!this._current.container;\n};\n\n\n/**\n * Trigger an action associated with an entry.\n *\n * @param {Object} event\n *\n * @return the result of the action callback, if any\n */\nPopupMenu.prototype.trigger = function(event) {\n\n // silence other actions\n event.preventDefault();\n\n var element = event.delegateTarget || event.target,\n entryId = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.attr)(element, DATA_REF);\n\n var entry = this._getEntry(entryId);\n\n if (entry.action) {\n return entry.action.call(null, event, entry);\n }\n};\n\nPopupMenu.prototype._getProviders = function(id) {\n\n var event = this._eventBus.createEvent({\n type: 'popupMenu.getProviders.' + id,\n providers: []\n });\n\n this._eventBus.fire(event);\n\n return event.providers;\n};\n\nPopupMenu.prototype._getEntries = function(element, providers) {\n\n var entries = {};\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(providers, function(provider) {\n\n // handle legacy method\n if (!provider.getPopupMenuEntries) {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(provider.getEntries(element), function(entry) {\n var id = entry.id;\n\n if (!id) {\n throw new Error('every entry must have the id property set');\n }\n\n entries[id] = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.omit)(entry, [ 'id' ]);\n });\n\n return;\n }\n\n var entriesOrUpdater = provider.getPopupMenuEntries(element);\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(entriesOrUpdater)) {\n entries = entriesOrUpdater(entries);\n } else {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(entriesOrUpdater, function(entry, id) {\n entries[id] = entry;\n });\n }\n });\n\n return entries;\n};\n\nPopupMenu.prototype._getHeaderEntries = function(element, providers) {\n\n var entries = {};\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(providers, function(provider) {\n\n // handle legacy method\n if (!provider.getPopupMenuHeaderEntries) {\n if (!provider.getHeaderEntries) {\n return;\n }\n\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(provider.getHeaderEntries(element), function(entry) {\n var id = entry.id;\n\n if (!id) {\n throw new Error('every entry must have the id property set');\n }\n\n entries[id] = (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.omit)(entry, [ 'id' ]);\n });\n\n return;\n }\n\n var entriesOrUpdater = provider.getPopupMenuHeaderEntries(element);\n\n if ((0,min_dash__WEBPACK_IMPORTED_MODULE_0__.isFunction)(entriesOrUpdater)) {\n entries = entriesOrUpdater(entries);\n } else {\n (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.forEach)(entriesOrUpdater, function(entry, id) {\n entries[id] = entry;\n });\n }\n });\n\n return entries;\n\n\n};\n\n/**\n * Gets an entry instance (either entry or headerEntry) by id.\n *\n * @param {string} entryId\n *\n * @return {Object} entry instance\n */\nPopupMenu.prototype._getEntry = function(entryId) {\n\n var entry = this._current.entries[entryId];\n\n if (!entry) {\n throw new Error('entry not found');\n }\n\n return entry;\n};\n\nPopupMenu.prototype._emit = function(eventName) {\n this._eventBus.fire('popupMenu.' + eventName);\n};\n\n/**\n * Creates the popup menu container.\n *\n * @return {Object} a DOM container\n */\nPopupMenu.prototype._createContainer = function() {\n var container = (0,min_dom__WEBPACK_IMPORTED_MODULE_1__.domify)('