camunda-bpmn-js 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4785,6 +4785,28 @@
4785
4785
 
4786
4786
  var intersectPaths = /*@__PURE__*/getDefaultExportFromCjs(intersect);
4787
4787
 
4788
+ /**
4789
+ * Checks whether a value is an instance of Connection.
4790
+ *
4791
+ * @param {any} value
4792
+ *
4793
+ * @return {boolean}
4794
+ */
4795
+ function isConnection$2(value) {
4796
+ return isObject$1(value) && has$2(value, 'waypoints');
4797
+ }
4798
+
4799
+ /**
4800
+ * Checks whether a value is an instance of Label.
4801
+ *
4802
+ * @param {any} value
4803
+ *
4804
+ * @return {boolean}
4805
+ */
4806
+ function isLabel$2(value) {
4807
+ return isObject$1(value) && has$2(value, 'labelTarget');
4808
+ }
4809
+
4788
4810
  /**
4789
4811
  * @typedef {import('../core/Types').ElementLike} Element
4790
4812
  * @typedef {import('../core/Types').ConnectionLike} Connection
@@ -4939,7 +4961,7 @@
4939
4961
  * @return {Point}
4940
4962
  */
4941
4963
  function getMid(element) {
4942
- if (isConnection$h(element)) {
4964
+ if (isConnection$2(element)) {
4943
4965
  return getConnectionMid(element);
4944
4966
  }
4945
4967
 
@@ -5079,10 +5101,6 @@
5079
5101
  return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2));
5080
5102
  }
5081
5103
 
5082
- function isConnection$h(element) {
5083
- return !!element.waypoints;
5084
- }
5085
-
5086
5104
  /**
5087
5105
  * @typedef {import('./Types').ConnectionLike} ConnectionLike
5088
5106
  * @typedef {import('./Types').RootLike} RootLike
@@ -7386,6 +7404,7 @@
7386
7404
  *
7387
7405
  * @return {Root}
7388
7406
  */
7407
+
7389
7408
  /**
7390
7409
  * Creates a connection.
7391
7410
  *
@@ -7409,6 +7428,7 @@
7409
7428
  *
7410
7429
  * @return {Connection}
7411
7430
  */
7431
+
7412
7432
  /**
7413
7433
  * Creates a shape.
7414
7434
  *
@@ -7432,6 +7452,7 @@
7432
7452
  *
7433
7453
  * @return {Shape}
7434
7454
  */
7455
+
7435
7456
  /**
7436
7457
  * Creates a label.
7437
7458
  *
@@ -7451,6 +7472,7 @@
7451
7472
  *
7452
7473
  * @param {'label'} type
7453
7474
  * @param {Object} [attrs]
7475
+ *
7454
7476
  * @return {Label}
7455
7477
  */
7456
7478
  function create(type, attrs) {
@@ -7465,6 +7487,7 @@
7465
7487
  * Checks whether an object is a model instance.
7466
7488
  *
7467
7489
  * @param {any} obj
7490
+ *
7468
7491
  * @return {boolean}
7469
7492
  */
7470
7493
  function isModelElement(obj) {
@@ -11712,7 +11735,7 @@
11712
11735
  }
11713
11736
  }
11714
11737
 
11715
- function inherits$1(ctor, superCtor) {
11738
+ function inherits(ctor, superCtor) {
11716
11739
  ctor.super_ = superCtor;
11717
11740
  ctor.prototype = Object.create(superCtor.prototype, {
11718
11741
  constructor: {
@@ -11878,7 +11901,7 @@
11878
11901
  this.tagName = tagName;
11879
11902
  }
11880
11903
 
11881
- inherits$1(ValueSerializer, BodySerializer);
11904
+ inherits(ValueSerializer, BodySerializer);
11882
11905
 
11883
11906
  ValueSerializer.prototype.serializeTo = function(writer) {
11884
11907
 
@@ -12371,7 +12394,7 @@
12371
12394
  ElementSerializer.call(this, parent, propertyDescriptor);
12372
12395
  }
12373
12396
 
12374
- inherits$1(TypeSerializer, ElementSerializer);
12397
+ inherits(TypeSerializer, ElementSerializer);
12375
12398
 
12376
12399
  TypeSerializer.prototype.parseNsAttributes = function(element) {
12377
12400
 
@@ -18166,7 +18189,7 @@
18166
18189
  * @return {boolean}
18167
18190
  */
18168
18191
  function hasExternalLabel(element) {
18169
- return isLabel$7(element.label);
18192
+ return isLabel$2(element.label);
18170
18193
  }
18171
18194
 
18172
18195
  /**
@@ -18290,19 +18313,10 @@
18290
18313
  }
18291
18314
 
18292
18315
  /**
18293
- * @param {Element} element
18316
+ * @param {ModdleElement} semantic
18294
18317
  *
18295
- * @return {boolean}
18296
- */
18297
- function isLabel$7(element) {
18298
- return element && !!element.labelTarget;
18299
- }
18300
-
18301
-
18302
- /**
18303
- * @typedef { import('../model').DiagramElement } DiagramElement
18318
+ * @returns {string}
18304
18319
  */
18305
-
18306
18320
  function getLabelAttr(semantic) {
18307
18321
  if (
18308
18322
  is$6(semantic, 'bpmn:FlowElement') ||
@@ -18325,6 +18339,11 @@
18325
18339
  }
18326
18340
  }
18327
18341
 
18342
+ /**
18343
+ * @param {ModdleElement} semantic
18344
+ *
18345
+ * @returns {string}
18346
+ */
18328
18347
  function getCategoryValue(semantic) {
18329
18348
  var categoryValueRef = semantic['categoryValueRef'];
18330
18349
 
@@ -18337,9 +18356,9 @@
18337
18356
  }
18338
18357
 
18339
18358
  /**
18340
- * @param {DiagramElement} element
18359
+ * @param {Element} element
18341
18360
  *
18342
- * @return {string} label
18361
+ * @return {string}
18343
18362
  */
18344
18363
  function getLabel(element) {
18345
18364
  var semantic = element.businessObject,
@@ -18358,10 +18377,10 @@
18358
18377
 
18359
18378
 
18360
18379
  /**
18361
- * @param {DiagramElement} element
18380
+ * @param {Element} element
18362
18381
  * @param {string} text
18363
18382
  *
18364
- * @return {DiagramElement} element
18383
+ * @return {Element}
18365
18384
  */
18366
18385
  function setLabel(element, text) {
18367
18386
  var semantic = element.businessObject,
@@ -18583,7 +18602,7 @@
18583
18602
  */
18584
18603
 
18585
18604
  /**
18586
- * @typedef { import('../model').DiagramElement } DiagramElement
18605
+ * @typedef { import('../model/Types').Element } Element
18587
18606
  */
18588
18607
 
18589
18608
  /**
@@ -18949,8 +18968,8 @@
18949
18968
  }
18950
18969
 
18951
18970
  function as(type) {
18952
- return function(parentGfx, element) {
18953
- return renderer(type)(parentGfx, element);
18971
+ return function(parentGfx, element, options) {
18972
+ return renderer(type)(parentGfx, element, options);
18954
18973
  };
18955
18974
  }
18956
18975
 
@@ -19089,7 +19108,7 @@
19089
19108
 
19090
19109
  return drawCircle(parentGfx, element.width, element.height, attrs);
19091
19110
  },
19092
- 'bpmn:StartEvent': function(parentGfx, element) {
19111
+ 'bpmn:StartEvent': function(parentGfx, element, options) {
19093
19112
  var attrs = {
19094
19113
  fill: getFillColor(element, defaultFillColor),
19095
19114
  stroke: getStrokeColor$1(element, defaultStrokeColor)
@@ -19107,7 +19126,9 @@
19107
19126
 
19108
19127
  var circle = renderer('bpmn:Event')(parentGfx, element, attrs);
19109
19128
 
19110
- renderEventContent(element, parentGfx);
19129
+ if (!options || options.renderIcon !== false) {
19130
+ renderEventContent(element, parentGfx);
19131
+ }
19111
19132
 
19112
19133
  return circle;
19113
19134
  },
@@ -19360,14 +19381,16 @@
19360
19381
  stroke: getStrokeColor$1(event, defaultStrokeColor)
19361
19382
  });
19362
19383
  },
19363
- 'bpmn:EndEvent': function(parentGfx, element) {
19384
+ 'bpmn:EndEvent': function(parentGfx, element, options) {
19364
19385
  var circle = renderer('bpmn:Event')(parentGfx, element, {
19365
19386
  strokeWidth: 4,
19366
19387
  fill: getFillColor(element, defaultFillColor),
19367
19388
  stroke: getStrokeColor$1(element, defaultStrokeColor)
19368
19389
  });
19369
19390
 
19370
- renderEventContent(element, parentGfx);
19391
+ if (!options || options.renderIcon !== false) {
19392
+ renderEventContent(element, parentGfx);
19393
+ }
19371
19394
 
19372
19395
  return circle;
19373
19396
  },
@@ -19380,7 +19403,7 @@
19380
19403
 
19381
19404
  return circle;
19382
19405
  },
19383
- 'bpmn:IntermediateEvent': function(parentGfx, element) {
19406
+ 'bpmn:IntermediateEvent': function(parentGfx, element, options) {
19384
19407
  var outer = renderer('bpmn:Event')(parentGfx, element, {
19385
19408
  strokeWidth: 1.5,
19386
19409
  fill: getFillColor(element, defaultFillColor),
@@ -19394,7 +19417,9 @@
19394
19417
  stroke: getStrokeColor$1(element, defaultStrokeColor)
19395
19418
  });
19396
19419
 
19397
- renderEventContent(element, parentGfx);
19420
+ if (!options || options.renderIcon !== false) {
19421
+ renderEventContent(element, parentGfx);
19422
+ }
19398
19423
 
19399
19424
  return outer;
19400
19425
  },
@@ -20112,7 +20137,7 @@
20112
20137
 
20113
20138
  return elementStore;
20114
20139
  },
20115
- 'bpmn:BoundaryEvent': function(parentGfx, element) {
20140
+ 'bpmn:BoundaryEvent': function(parentGfx, element, options) {
20116
20141
 
20117
20142
  var semantic = getBusinessObject$2(element),
20118
20143
  cancel = semantic.cancelActivity;
@@ -20143,7 +20168,9 @@
20143
20168
 
20144
20169
  /* inner path */ drawCircle(parentGfx, element.width, element.height, INNER_OUTER_DIST, innerAttrs);
20145
20170
 
20146
- renderEventContent(element, parentGfx);
20171
+ if (!options || options.renderIcon !== false) {
20172
+ renderEventContent(element, parentGfx);
20173
+ }
20147
20174
 
20148
20175
  return outer;
20149
20176
  },
@@ -20424,7 +20451,7 @@
20424
20451
 
20425
20452
 
20426
20453
  /**
20427
- * @param {DiagramElement} element
20454
+ * @param {Element} element
20428
20455
  *
20429
20456
  * @return {boolean}
20430
20457
  */
@@ -20436,7 +20463,7 @@
20436
20463
  * Draw shape into parentGfx.
20437
20464
  *
20438
20465
  * @param {SVGElement} parentGfx
20439
- * @param {DiagramElement} element
20466
+ * @param {Element} element
20440
20467
  *
20441
20468
  * @return {SVGElement} mainGfx
20442
20469
  */
@@ -20452,7 +20479,7 @@
20452
20479
  * Draw connection into parentGfx.
20453
20480
  *
20454
20481
  * @param {SVGElement} parentGfx
20455
- * @param {DiagramElement} element
20482
+ * @param {Element} element
20456
20483
  *
20457
20484
  * @return {SVGElement} mainGfx
20458
20485
  */
@@ -20467,7 +20494,7 @@
20467
20494
  /**
20468
20495
  * Get shape path.
20469
20496
  *
20470
- * @param {DiagramElement} element
20497
+ * @param {Element} element
20471
20498
  *
20472
20499
  * @return {string} path
20473
20500
  */
@@ -24007,7 +24034,7 @@
24007
24034
  * @param {boolean} [unwrap] whether the event should be unwrapped
24008
24035
  * @param {any} [that]
24009
24036
  */
24010
- CommandInterceptor$1.prototype.canExecute = createHook('canExecute');
24037
+ CommandInterceptor$1.prototype.canExecute = createHook$1('canExecute');
24011
24038
 
24012
24039
  /**
24013
24040
  * Add a <preExecute> phase of command interceptor.
@@ -24018,7 +24045,7 @@
24018
24045
  * @param {boolean} [unwrap] whether the event should be unwrapped
24019
24046
  * @param {any} [that]
24020
24047
  */
24021
- CommandInterceptor$1.prototype.preExecute = createHook('preExecute');
24048
+ CommandInterceptor$1.prototype.preExecute = createHook$1('preExecute');
24022
24049
 
24023
24050
  /**
24024
24051
  * Add a <preExecuted> phase of command interceptor.
@@ -24029,7 +24056,7 @@
24029
24056
  * @param {boolean} [unwrap] whether the event should be unwrapped
24030
24057
  * @param {any} [that]
24031
24058
  */
24032
- CommandInterceptor$1.prototype.preExecuted = createHook('preExecuted');
24059
+ CommandInterceptor$1.prototype.preExecuted = createHook$1('preExecuted');
24033
24060
 
24034
24061
  /**
24035
24062
  * Add a <execute> phase of command interceptor.
@@ -24040,7 +24067,7 @@
24040
24067
  * @param {boolean} [unwrap] whether the event should be unwrapped
24041
24068
  * @param {any} [that]
24042
24069
  */
24043
- CommandInterceptor$1.prototype.execute = createHook('execute');
24070
+ CommandInterceptor$1.prototype.execute = createHook$1('execute');
24044
24071
 
24045
24072
  /**
24046
24073
  * Add a <executed> phase of command interceptor.
@@ -24051,7 +24078,7 @@
24051
24078
  * @param {boolean} [unwrap] whether the event should be unwrapped
24052
24079
  * @param {any} [that]
24053
24080
  */
24054
- CommandInterceptor$1.prototype.executed = createHook('executed');
24081
+ CommandInterceptor$1.prototype.executed = createHook$1('executed');
24055
24082
 
24056
24083
  /**
24057
24084
  * Add a <postExecute> phase of command interceptor.
@@ -24062,7 +24089,7 @@
24062
24089
  * @param {boolean} [unwrap] whether the event should be unwrapped
24063
24090
  * @param {any} [that]
24064
24091
  */
24065
- CommandInterceptor$1.prototype.postExecute = createHook('postExecute');
24092
+ CommandInterceptor$1.prototype.postExecute = createHook$1('postExecute');
24066
24093
 
24067
24094
  /**
24068
24095
  * Add a <postExecuted> phase of command interceptor.
@@ -24073,7 +24100,7 @@
24073
24100
  * @param {boolean} [unwrap] whether the event should be unwrapped
24074
24101
  * @param {any} [that]
24075
24102
  */
24076
- CommandInterceptor$1.prototype.postExecuted = createHook('postExecuted');
24103
+ CommandInterceptor$1.prototype.postExecuted = createHook$1('postExecuted');
24077
24104
 
24078
24105
  /**
24079
24106
  * Add a <revert> phase of command interceptor.
@@ -24084,7 +24111,7 @@
24084
24111
  * @param {boolean} [unwrap] whether the event should be unwrapped
24085
24112
  * @param {any} [that]
24086
24113
  */
24087
- CommandInterceptor$1.prototype.revert = createHook('revert');
24114
+ CommandInterceptor$1.prototype.revert = createHook$1('revert');
24088
24115
 
24089
24116
  /**
24090
24117
  * Add a <reverted> phase of command interceptor.
@@ -24095,7 +24122,7 @@
24095
24122
  * @param {boolean} [unwrap] whether the event should be unwrapped
24096
24123
  * @param {any} [that]
24097
24124
  */
24098
- CommandInterceptor$1.prototype.reverted = createHook('reverted');
24125
+ CommandInterceptor$1.prototype.reverted = createHook$1('reverted');
24099
24126
 
24100
24127
  /*
24101
24128
  * Add prototype methods for each phase of command execution (e.g. execute,
@@ -24110,7 +24137,7 @@
24110
24137
  * unwrap?: boolean
24111
24138
  * ) => any }
24112
24139
  */
24113
- function createHook(hook) {
24140
+ function createHook$1(hook) {
24114
24141
 
24115
24142
  /**
24116
24143
  * @this {CommandInterceptor}
@@ -30977,7 +31004,7 @@
30977
31004
  let element = closest(event.delegateTarget || event.target, '.entry', true);
30978
31005
  let entryId = attr$1(element, DATA_REF);
30979
31006
 
30980
- entry = this._getEntry(entryId);
31007
+ entry = { id: entryId, ...this._getEntry(entryId) };
30981
31008
  }
30982
31009
 
30983
31010
  const handler = entry.action;
@@ -31950,7 +31977,7 @@
31950
31977
  y: sourceTrbl.top - 50 - element.height / 2
31951
31978
  };
31952
31979
 
31953
- if (isConnection$g(source)) {
31980
+ if (isConnection$2(source)) {
31954
31981
  position = getMid(source);
31955
31982
  position.x += 100;
31956
31983
  position.y -= 50;
@@ -31995,10 +32022,6 @@
31995
32022
  return findFreePosition(source, element, position, generateGetNextPosition(nextPositionDirection));
31996
32023
  }
31997
32024
 
31998
- function isConnection$g(element) {
31999
- return !!element.waypoints;
32000
- }
32001
-
32002
32025
  /**
32003
32026
  * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
32004
32027
  */
@@ -32436,7 +32459,7 @@
32436
32459
 
32437
32460
  forEach$2(elements, function(element) {
32438
32461
 
32439
- if (is$6(element, 'bpmn:Lane') || isLabel$7(element)) {
32462
+ if (is$6(element, 'bpmn:Lane') || isLabel$2(element)) {
32440
32463
  canResize = false;
32441
32464
  return;
32442
32465
  }
@@ -35450,7 +35473,7 @@
35450
35473
  hoverMid = hover && getSnapPoint(hover, event);
35451
35474
 
35452
35475
  // only snap on connections, elements can have multiple connect endpoints
35453
- if (!isConnection$f(hover) || !hoverMid || !hoverMid.x || !hoverMid.y) {
35476
+ if (!isConnection$2(hover) || !hoverMid || !hoverMid.x || !hoverMid.y) {
35454
35477
  return;
35455
35478
  }
35456
35479
 
@@ -35502,13 +35525,6 @@
35502
35525
 
35503
35526
  BendpointSnapping.$inject = [ 'eventBus' ];
35504
35527
 
35505
-
35506
- // helpers //////////////////////
35507
-
35508
- function isConnection$f(element) {
35509
- return element && !!element.waypoints;
35510
- }
35511
-
35512
35528
  /**
35513
35529
  * @type { import('didi').ModuleDeclaration }
35514
35530
  */
@@ -37035,11 +37051,11 @@
37035
37051
  elements = filter(elements, function(element) {
37036
37052
  var labelTarget = element.labelTarget;
37037
37053
 
37038
- return !element.parent && !(isLabel$6(element) && elements.indexOf(labelTarget) !== -1);
37054
+ return !element.parent && !(isLabel$2(element) && elements.indexOf(labelTarget) !== -1);
37039
37055
  });
37040
37056
 
37041
37057
  var shape = find$2(elements, function(element) {
37042
- return !isConnection$e(element);
37058
+ return !isConnection$2(element);
37043
37059
  });
37044
37060
 
37045
37061
  var attach = false,
@@ -37194,7 +37210,7 @@
37194
37210
 
37195
37211
  // update shape
37196
37212
  shape = find$2(elements, function(element) {
37197
- return !isConnection$e(element);
37213
+ return !isConnection$2(element);
37198
37214
  });
37199
37215
  }
37200
37216
 
@@ -37235,7 +37251,7 @@
37235
37251
  }
37236
37252
 
37237
37253
  var shape = find$2(elements, function(element) {
37238
- return !isConnection$e(element);
37254
+ return !isConnection$2(element);
37239
37255
  });
37240
37256
 
37241
37257
  if (!shape) {
@@ -37269,7 +37285,7 @@
37269
37285
 
37270
37286
  // center elements around cursor
37271
37287
  forEach$2(elements, function(element) {
37272
- if (isConnection$e(element)) {
37288
+ if (isConnection$2(element)) {
37273
37289
  element.waypoints = map$2(element.waypoints, function(waypoint) {
37274
37290
  return {
37275
37291
  x: waypoint.x - bbox.x - bbox.width / 2,
@@ -37331,16 +37347,8 @@
37331
37347
  }
37332
37348
  }
37333
37349
 
37334
- function isConnection$e(element) {
37335
- return !!element.waypoints;
37336
- }
37337
-
37338
37350
  function isSingleShape(elements) {
37339
- return elements && elements.length === 1 && !isConnection$e(elements[0]);
37340
- }
37341
-
37342
- function isLabel$6(element) {
37343
- return !!element.labelTarget;
37351
+ return elements && elements.length === 1 && !isConnection$2(elements[ 0 ]);
37344
37352
  }
37345
37353
 
37346
37354
  /**
@@ -37673,7 +37681,7 @@
37673
37681
  }
37674
37682
 
37675
37683
  // connections (priority = 3)
37676
- if (isConnection$d(element)) {
37684
+ if (isConnection$2(element)) {
37677
37685
  descriptor.priority = 3;
37678
37686
 
37679
37687
  descriptor.source = element.source.id;
@@ -37683,7 +37691,7 @@
37683
37691
  }
37684
37692
 
37685
37693
  // labels (priority = 4)
37686
- if (isLabel$5(element)) {
37694
+ if (isLabel$2(element)) {
37687
37695
  descriptor.priority = 4;
37688
37696
 
37689
37697
  descriptor.labelTarget = element.labelTarget.id;
@@ -37816,7 +37824,7 @@
37816
37824
 
37817
37825
  // center elements around cursor
37818
37826
  forEach$2(elements, function(element) {
37819
- if (isConnection$d(element)) {
37827
+ if (isConnection$2(element)) {
37820
37828
  element.waypoints = map$2(element.waypoints, function(waypoint) {
37821
37829
  return {
37822
37830
  x: waypoint.x - bbox.x - bbox.width / 2,
@@ -37869,7 +37877,7 @@
37869
37877
 
37870
37878
  var element;
37871
37879
 
37872
- if (isConnection$d(attrs)) {
37880
+ if (isConnection$2(attrs)) {
37873
37881
  attrs.source = cache[ descriptor.source ];
37874
37882
  attrs.target = cache[ descriptor.target ];
37875
37883
 
@@ -37880,7 +37888,7 @@
37880
37888
  return;
37881
37889
  }
37882
37890
 
37883
- if (isLabel$5(attrs)) {
37891
+ if (isLabel$2(attrs)) {
37884
37892
  attrs.labelTarget = cache[ attrs.labelTarget ];
37885
37893
 
37886
37894
  element = cache[ descriptor.id ] = self.createLabel(attrs);
@@ -37935,7 +37943,7 @@
37935
37943
  source,
37936
37944
  target;
37937
37945
 
37938
- if (isConnection$d(element)) {
37946
+ if (isConnection$2(element)) {
37939
37947
  source = find$2(elements, matchPattern({ id: element.source.id }));
37940
37948
  target = find$2(elements, matchPattern({ id: element.target.id }));
37941
37949
 
@@ -37944,7 +37952,7 @@
37944
37952
  }
37945
37953
  }
37946
37954
 
37947
- if (isLabel$5(element)) {
37955
+ if (isLabel$2(element)) {
37948
37956
  labelTarget = find$2(elements, matchPattern({ id: element.labelTarget.id }));
37949
37957
 
37950
37958
  if (!labelTarget) {
@@ -38037,7 +38045,7 @@
38037
38045
  eachElement$2(parents, function(element, _index, depth) {
38038
38046
 
38039
38047
  // do NOT add external labels directly
38040
- if (isLabel$5(element)) {
38048
+ if (isLabel$2(element)) {
38041
38049
  return;
38042
38050
  }
38043
38051
 
@@ -38135,14 +38143,6 @@
38135
38143
  return !!element.host;
38136
38144
  }
38137
38145
 
38138
- function isConnection$d(element) {
38139
- return !!element.waypoints;
38140
- }
38141
-
38142
- function isLabel$5(element) {
38143
- return !!element.labelTarget;
38144
- }
38145
-
38146
38146
  function copyWaypoints$1(element) {
38147
38147
  return map$2(element.waypoints, function(waypoint) {
38148
38148
 
@@ -38226,7 +38226,7 @@
38226
38226
 
38227
38227
  // do not copy business object + di for labels;
38228
38228
  // will be pulled from the referenced label target
38229
- if (isLabel$7(element)) {
38229
+ if (isLabel$2(element)) {
38230
38230
  return descriptor;
38231
38231
  }
38232
38232
 
@@ -38294,7 +38294,7 @@
38294
38294
  di = descriptor.di;
38295
38295
 
38296
38296
  // wire existing di + businessObject for external label
38297
- if (isLabel$7(descriptor)) {
38297
+ if (isLabel$2(descriptor)) {
38298
38298
  descriptor.businessObject = getBusinessObject$2(cache[ descriptor.labelTarget ]);
38299
38299
  descriptor.di = getDi$1(cache[ descriptor.labelTarget ]);
38300
38300
 
@@ -44375,7 +44375,7 @@
44375
44375
  ResizeHandles.prototype.addResizer = function(element) {
44376
44376
  var self = this;
44377
44377
 
44378
- if (isConnection$c(element) || !this._resize.canResize({ shape: element })) {
44378
+ if (isConnection$2(element) || !this._resize.canResize({ shape: element })) {
44379
44379
  return;
44380
44380
  }
44381
44381
 
@@ -44427,10 +44427,6 @@
44427
44427
  return offset;
44428
44428
  }
44429
44429
 
44430
- function isConnection$c(element) {
44431
- return !!element.waypoints;
44432
- }
44433
-
44434
44430
  /**
44435
44431
  * @type { import('didi').ModuleDeclaration }
44436
44432
  */
@@ -44790,7 +44786,7 @@
44790
44786
  // external label not yet created
44791
44787
  if (isLabelExternal(target)
44792
44788
  && !hasExternalLabel(target)
44793
- && !isLabel$7(target)) {
44789
+ && !isLabel$2(target)) {
44794
44790
 
44795
44791
  var externalLabelMid = getExternalLabelMid(element);
44796
44792
 
@@ -45467,7 +45463,7 @@
45467
45463
  }
45468
45464
 
45469
45465
  function shouldReplace$1(shape, host) {
45470
- return !isLabel$7(shape) &&
45466
+ return !isLabel$2(shape) &&
45471
45467
  isAny$1(shape, [ 'bpmn:IntermediateThrowEvent', 'bpmn:IntermediateCatchEvent' ]) && !!host;
45472
45468
  }
45473
45469
 
@@ -45644,8 +45640,8 @@
45644
45640
  // ignore connections, groups and labels
45645
45641
  var children = rootElement.children.filter(function(element) {
45646
45642
  return !is$6(element, 'bpmn:Group') &&
45647
- !isLabel$7(element) &&
45648
- !isConnection$b(element);
45643
+ !isLabel$2(element) &&
45644
+ !isConnection$2(element);
45649
45645
  });
45650
45646
 
45651
45647
  // ensure for available children to calculate bounds
@@ -45816,10 +45812,6 @@
45816
45812
  };
45817
45813
  }
45818
45814
 
45819
- function isConnection$b(element) {
45820
- return !!element.waypoints;
45821
- }
45822
-
45823
45815
  function findParticipant(elements) {
45824
45816
  return find$2(elements, function(element) {
45825
45817
  return is$6(element, 'bpmn:Participant');
@@ -46424,7 +46416,7 @@
46424
46416
  }
46425
46417
 
46426
46418
  function shouldReplace(shape, host) {
46427
- return !isLabel$7(shape) && is$6(shape, 'bpmn:BoundaryEvent') && !host;
46419
+ return !isLabel$2(shape) && is$6(shape, 'bpmn:BoundaryEvent') && !host;
46428
46420
  }
46429
46421
 
46430
46422
  function includes$6(array, item) {
@@ -48131,7 +48123,7 @@
48131
48123
 
48132
48124
  var element = context.shape || context.connection;
48133
48125
 
48134
- if (isLabel$7(element) || !isLabelExternal(element)) {
48126
+ if (isLabel$2(element) || !isLabelExternal(element)) {
48135
48127
  return;
48136
48128
  }
48137
48129
 
@@ -50670,7 +50662,7 @@
50670
50662
  shape = context.shape,
50671
50663
  shapeBo = shape.businessObject;
50672
50664
 
50673
- if (isLabel$7(shape)) {
50665
+ if (isLabel$2(shape)) {
50674
50666
  return;
50675
50667
  }
50676
50668
 
@@ -51119,12 +51111,12 @@
51119
51111
  position = context.position,
51120
51112
  target = context.target;
51121
51113
 
51122
- if (isConnection$a(target) && !canInsert(elements, target)) {
51114
+ if (isConnection$2(target) && !canInsert(elements, target)) {
51123
51115
  return false;
51124
51116
  }
51125
51117
 
51126
51118
  return every(elements, function(element) {
51127
- if (isConnection$a(element)) {
51119
+ if (isConnection$2(element)) {
51128
51120
  return canConnect(element.source, element.target, element);
51129
51121
  }
51130
51122
 
@@ -51233,7 +51225,7 @@
51233
51225
  * @return {boolean}
51234
51226
  */
51235
51227
  function nonExistingOrLabel(element) {
51236
- return !element || isLabel$7(element);
51228
+ return !element || isLabel$2(element);
51237
51229
  }
51238
51230
 
51239
51231
  function isSame$1(a, b) {
@@ -51467,15 +51459,6 @@
51467
51459
  );
51468
51460
  }
51469
51461
 
51470
- /**
51471
- * @param {Element} element
51472
- *
51473
- * @return {boolean}
51474
- */
51475
- function isConnection$a(element) {
51476
- return element.waypoints;
51477
- }
51478
-
51479
51462
  /**
51480
51463
  * @param {Element} element
51481
51464
  *
@@ -51566,7 +51549,7 @@
51566
51549
  function canDrop(element, target) {
51567
51550
 
51568
51551
  // can move labels and groups everywhere
51569
- if (isLabel$7(element) || isGroup(element)) {
51552
+ if (isLabel$2(element) || isGroup(element)) {
51570
51553
  return true;
51571
51554
  }
51572
51555
 
@@ -51656,7 +51639,7 @@
51656
51639
  * @return {boolean}
51657
51640
  */
51658
51641
  function isBoundaryEvent(element) {
51659
- return !isLabel$7(element) && is$6(element, 'bpmn:BoundaryEvent');
51642
+ return !isLabel$2(element) && is$6(element, 'bpmn:BoundaryEvent');
51660
51643
  }
51661
51644
 
51662
51645
  /**
@@ -51765,7 +51748,7 @@
51765
51748
  var element = elements[0];
51766
51749
 
51767
51750
  // do not attach labels
51768
- if (isLabel$7(element)) {
51751
+ if (isLabel$2(element)) {
51769
51752
  return false;
51770
51753
  }
51771
51754
 
@@ -51937,7 +51920,7 @@
51937
51920
  return false;
51938
51921
  }
51939
51922
 
51940
- if (isLabel$7(shape) || isGroup(shape)) {
51923
+ if (isLabel$2(shape) || isGroup(shape)) {
51941
51924
  return true;
51942
51925
  }
51943
51926
 
@@ -52118,7 +52101,7 @@
52118
52101
  // return true if shape can be inserted into connection parent
52119
52102
  return (
52120
52103
  isAny$1(connection, [ 'bpmn:SequenceFlow', 'bpmn:MessageFlow' ]) &&
52121
- !isLabel$7(connection) &&
52104
+ !isLabel$2(connection) &&
52122
52105
  is$6(shape, 'bpmn:FlowNode') &&
52123
52106
  !is$6(shape, 'bpmn:BoundaryEvent') &&
52124
52107
  canDrop(shape, connection.parent));
@@ -52141,7 +52124,7 @@
52141
52124
  * @return {boolean}
52142
52125
  */
52143
52126
  function canCopy(elements, element) {
52144
- if (isLabel$7(element)) {
52127
+ if (isLabel$2(element)) {
52145
52128
  return true;
52146
52129
  }
52147
52130
 
@@ -53049,12 +53032,12 @@
53049
53032
  }
53050
53033
 
53051
53034
  forEach$2(elements, function(element) {
53052
- if (!element.parent || isLabel$4(element)) {
53035
+ if (!element.parent || isLabel$2(element)) {
53053
53036
  return;
53054
53037
  }
53055
53038
 
53056
53039
  // handle connections separately
53057
- if (isConnection$9(element)) {
53040
+ if (isConnection$2(element)) {
53058
53041
  connections.push(element);
53059
53042
 
53060
53043
  return;
@@ -53225,15 +53208,15 @@
53225
53208
 
53226
53209
  // find children that are not moving or resizing
53227
53210
  var nonMovingResizingChildren = filter(children, function(child) {
53228
- return !isConnection$9(child) &&
53229
- !isLabel$4(child) &&
53211
+ return !isConnection$2(child) &&
53212
+ !isLabel$2(child) &&
53230
53213
  !includes$3(movingShapes, child) &&
53231
53214
  !includes$3(resizingShapes, child);
53232
53215
  });
53233
53216
 
53234
53217
  // find children that are moving
53235
53218
  var movingChildren = filter(children, function(child) {
53236
- return !isConnection$9(child) && !isLabel$4(child) && includes$3(movingShapes, child);
53219
+ return !isConnection$2(child) && !isLabel$2(child) && includes$3(movingShapes, child);
53237
53220
  });
53238
53221
 
53239
53222
  var minOrMax,
@@ -53367,14 +53350,6 @@
53367
53350
  return !!element.host;
53368
53351
  }
53369
53352
 
53370
- function isConnection$9(element) {
53371
- return !!element.waypoints;
53372
- }
53373
-
53374
- function isLabel$4(element) {
53375
- return !!element.labelTarget;
53376
- }
53377
-
53378
53353
  var MARKER_DRAGGING$1 = 'djs-dragging',
53379
53354
  MARKER_RESIZING = 'djs-resizing';
53380
53355
 
@@ -53533,7 +53508,7 @@
53533
53508
  });
53534
53509
  });
53535
53510
 
53536
- return isConnection$8(element)
53511
+ return isConnection$2(element)
53537
53512
  && (sourceIsMoving || sourceIsResizing)
53538
53513
  && (targetIsMoving || targetIsResizing);
53539
53514
  });
@@ -53663,16 +53638,6 @@
53663
53638
  'previewSupport'
53664
53639
  ];
53665
53640
 
53666
-
53667
- // helpers //////////////////////
53668
-
53669
- /**
53670
- * Checks if an element is a connection.
53671
- */
53672
- function isConnection$8(element) {
53673
- return element.waypoints;
53674
- }
53675
-
53676
53641
  /**
53677
53642
  * @type { import('didi').ModuleDeclaration }
53678
53643
  */
@@ -55712,7 +55677,7 @@
55712
55677
  BpmnUpdater.prototype.updateParent = function(element, oldParent) {
55713
55678
 
55714
55679
  // do not update BPMN 2.0 label parent
55715
- if (isLabel$7(element)) {
55680
+ if (isLabel$2(element)) {
55716
55681
  return;
55717
55682
  }
55718
55683
 
@@ -55777,7 +55742,7 @@
55777
55742
  });
55778
55743
  }
55779
55744
 
55780
- var target = isLabel$7(shape) ? this._getLabel(di) : di;
55745
+ var target = isLabel$2(shape) ? this._getLabel(di) : di;
55781
55746
 
55782
55747
  var bounds = target.bounds;
55783
55748
 
@@ -56838,7 +56803,7 @@
56838
56803
 
56839
56804
  // center elements around position
56840
56805
  forEach$2(elements, function(element) {
56841
- if (isConnection$7(element)) {
56806
+ if (isConnection$2(element)) {
56842
56807
  element.waypoints = map$2(element.waypoints, function(waypoint) {
56843
56808
  return {
56844
56809
  x: round$3(waypoint.x - bbox.x - bbox.width / 2 + position.x),
@@ -56858,7 +56823,7 @@
56858
56823
  var cache = {};
56859
56824
 
56860
56825
  forEach$2(elements, function(element) {
56861
- if (isConnection$7(element)) {
56826
+ if (isConnection$2(element)) {
56862
56827
  cache[ element.id ] = isNumber$1(parentIndex) ?
56863
56828
  modeling.createConnection(
56864
56829
  cache[ element.source.id ],
@@ -56885,6 +56850,10 @@
56885
56850
  createShapeHints.autoResize = false;
56886
56851
  }
56887
56852
 
56853
+ if (isLabel$2(element)) {
56854
+ createShapeHints = omit(createShapeHints, [ 'attach' ]);
56855
+ }
56856
+
56888
56857
  cache[ element.id ] = isNumber$1(parentIndex) ?
56889
56858
  modeling.createShape(
56890
56859
  element,
@@ -56902,13 +56871,7 @@
56902
56871
  });
56903
56872
 
56904
56873
  context.elements = values(cache);
56905
- };
56906
-
56907
- // helpers //////////
56908
-
56909
- function isConnection$7(element) {
56910
- return !!element.waypoints;
56911
- }
56874
+ };
56912
56875
 
56913
56876
  /**
56914
56877
  * @typedef {import('../../../model/Types').Element} Element
@@ -57231,7 +57194,7 @@
57231
57194
 
57232
57195
  // remove child shapes and connections
57233
57196
  saveClear(shape.children, function(child) {
57234
- if (isConnection$6(child)) {
57197
+ if (isConnection$2(child)) {
57235
57198
  modeling.removeConnection(child, { nested: true });
57236
57199
  } else {
57237
57200
  modeling.removeShape(child, { nested: true });
@@ -57279,10 +57242,6 @@
57279
57242
  return shape;
57280
57243
  };
57281
57244
 
57282
- function isConnection$6(element) {
57283
- return element.waypoints;
57284
- }
57285
-
57286
57245
  /**
57287
57246
  * @typedef {import('../Modeling').default} Modeling
57288
57247
  */
@@ -60413,13 +60372,13 @@
60413
60372
  }
60414
60373
 
60415
60374
  forEach$2(elements, function(element) {
60416
- var assignedDi = isConnection$5(element) ? pick(di, [ 'border-color' ]) : di,
60375
+ var assignedDi = isConnection$2(element) ? pick(di, [ 'border-color' ]) : di,
60417
60376
  elementDi = getDi$1(element);
60418
60377
 
60419
60378
  // TODO @barmac: remove once we drop bpmn.io properties
60420
60379
  ensureLegacySupport(assignedDi);
60421
60380
 
60422
- if (isLabel$7(element)) {
60381
+ if (isLabel$2(element)) {
60423
60382
 
60424
60383
  // set label colors as bpmndi:BPMNLabel#color
60425
60384
  self._commandStack.execute('element.updateModdleProperties', {
@@ -60479,10 +60438,6 @@
60479
60438
  return /^#[0-9a-fA-F]{6}$/.test(context.fillStyle) ? context.fillStyle : null;
60480
60439
  }
60481
60440
 
60482
- function isConnection$5(element) {
60483
- return !!element.waypoints;
60484
- }
60485
-
60486
60441
  /**
60487
60442
  * Add legacy properties if required.
60488
60443
  *
@@ -60545,7 +60500,7 @@
60545
60500
  businessObject = element.businessObject,
60546
60501
  newLabel = ctx.newLabel;
60547
60502
 
60548
- if (!isLabel$7(element)
60503
+ if (!isLabel$2(element)
60549
60504
  && isLabelExternal(element)
60550
60505
  && !hasExternalLabel(element)
60551
60506
  && !isEmptyText(newLabel)) {
@@ -60585,11 +60540,11 @@
60585
60540
  hints = ctx.hints || {};
60586
60541
 
60587
60542
  // ignore internal labels for elements except text annotations
60588
- if (!isLabel$7(label) && !is$6(label, 'bpmn:TextAnnotation')) {
60543
+ if (!isLabel$2(label) && !is$6(label, 'bpmn:TextAnnotation')) {
60589
60544
  return;
60590
60545
  }
60591
60546
 
60592
- if (isLabel$7(label) && isEmptyText(newLabel)) {
60547
+ if (isLabel$2(label) && isEmptyText(newLabel)) {
60593
60548
 
60594
60549
  if (hints.removeShape !== false) {
60595
60550
  modeling.removeShape(label, { unsetLabel: false });
@@ -62698,7 +62653,7 @@
62698
62653
 
62699
62654
  var filteredElements = filter(elements, function(element) {
62700
62655
 
62701
- if (!isConnection$4(element)) {
62656
+ if (!isConnection$2(element)) {
62702
62657
  return true;
62703
62658
  } else {
62704
62659
 
@@ -62716,13 +62671,6 @@
62716
62671
  return size(groupBy(elements, function(e) { return e.parent && e.parent.id; })) !== 1;
62717
62672
  }
62718
62673
 
62719
- /**
62720
- * Checks if an element is a connection.
62721
- */
62722
- function isConnection$4(element) {
62723
- return element.waypoints;
62724
- }
62725
-
62726
62674
  /**
62727
62675
  * @type { import('didi').ModuleDeclaration }
62728
62676
  */
@@ -64779,7 +64727,7 @@
64779
64727
  });
64780
64728
 
64781
64729
  // snap labels to mid only
64782
- if (isLabel$3(shape)) {
64730
+ if (isLabel$2(shape)) {
64783
64731
  return snapContext;
64784
64732
  }
64785
64733
 
@@ -64802,9 +64750,9 @@
64802
64750
  forEach$2(snapTargets, function(snapTarget) {
64803
64751
 
64804
64752
  // handle labels
64805
- if (isLabel$3(snapTarget)) {
64753
+ if (isLabel$2(snapTarget)) {
64806
64754
 
64807
- if (isLabel$3(shape)) {
64755
+ if (isLabel$2(shape)) {
64808
64756
  snapPoints.add('mid', mid$2(snapTarget));
64809
64757
  }
64810
64758
 
@@ -64812,7 +64760,7 @@
64812
64760
  }
64813
64761
 
64814
64762
  // handle connections
64815
- if (isConnection$3(snapTarget)) {
64763
+ if (isConnection$2(snapTarget)) {
64816
64764
 
64817
64765
  // ignore single segment connections
64818
64766
  if (snapTarget.waypoints.length < 3) {
@@ -64853,16 +64801,8 @@
64853
64801
 
64854
64802
  // helpers //////////
64855
64803
 
64856
- function isConnection$3(element) {
64857
- return !!element.waypoints;
64858
- }
64859
-
64860
64804
  function isHidden$1(element) {
64861
64805
  return !!element.hidden;
64862
- }
64863
-
64864
- function isLabel$3(element) {
64865
- return !!element.labelTarget;
64866
64806
  }
64867
64807
 
64868
64808
  /**
@@ -65271,18 +65211,10 @@
65271
65211
  return element.host === host;
65272
65212
  }
65273
65213
 
65274
- function isConnection$2(element) {
65275
- return !!element.waypoints;
65276
- }
65277
-
65278
65214
  function isHidden(element) {
65279
65215
  return !!element.hidden;
65280
65216
  }
65281
65217
 
65282
- function isLabel$2(element) {
65283
- return !!element.labelTarget;
65284
- }
65285
-
65286
65218
  function isHorizontal(direction) {
65287
65219
  return direction === 'n' || direction === 's';
65288
65220
  }
@@ -101397,7 +101329,7 @@
101397
101329
  eventBus.fire('propertiesPanel.layoutChanged', {
101398
101330
  layout: newLayout
101399
101331
  });
101400
- }, [eventBus, layoutConfig]);
101332
+ }, [eventBus]);
101401
101333
 
101402
101334
  // React to external layout changes
101403
101335
  y(() => {
@@ -101724,17 +101656,17 @@
101724
101656
  function getLinkEventDefinition(element) {
101725
101657
  return getEventDefinition$1(element, 'bpmn:LinkEventDefinition');
101726
101658
  }
101727
- function getSignalEventDefinition(element) {
101659
+ function getSignalEventDefinition$1(element) {
101728
101660
  return getEventDefinition$1(element, 'bpmn:SignalEventDefinition');
101729
101661
  }
101730
101662
  function isLinkSupported(element) {
101731
101663
  return isAny$1(element, ['bpmn:IntermediateThrowEvent', 'bpmn:IntermediateCatchEvent']) && !!getLinkEventDefinition(element);
101732
101664
  }
101733
- function isSignalSupported(element) {
101734
- return is$6(element, 'bpmn:Event') && !!getSignalEventDefinition(element);
101665
+ function isSignalSupported$1(element) {
101666
+ return is$6(element, 'bpmn:Event') && !!getSignalEventDefinition$1(element);
101735
101667
  }
101736
- function getSignal(element) {
101737
- const signalEventDefinition = getSignalEventDefinition(element);
101668
+ function getSignal$1(element) {
101669
+ const signalEventDefinition = getSignalEventDefinition$1(element);
101738
101670
  return signalEventDefinition && signalEventDefinition.get('signalRef');
101739
101671
  }
101740
101672
  function getEscalationEventDefinition(element) {
@@ -103287,24 +103219,24 @@
103287
103219
  return is$6(element, 'bpmn:Participant') && element.businessObject.get('processRef');
103288
103220
  }
103289
103221
 
103290
- const EMPTY_OPTION$3 = '';
103291
- const CREATE_NEW_OPTION$2 = 'create-new';
103292
-
103293
103222
  /**
103294
103223
  * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
103295
103224
  */
103296
103225
 
103226
+ const EMPTY_OPTION$3 = '';
103227
+ const CREATE_NEW_OPTION$2 = 'create-new';
103228
+
103297
103229
  /**
103298
- * @returns {Array<Entry>} entries
103230
+ * @returns {Entry[]}
103299
103231
  */
103300
- function SignalProps(props) {
103232
+ function SignalProps$1(props) {
103301
103233
  const {
103302
103234
  element
103303
103235
  } = props;
103304
- if (!isSignalSupported(element)) {
103236
+ if (!isSignalSupported$1(element)) {
103305
103237
  return [];
103306
103238
  }
103307
- const signal = getSignal(element);
103239
+ const signal = getSignal$1(element);
103308
103240
  let entries = [{
103309
103241
  id: 'signalRef',
103310
103242
  component: SignalRef,
@@ -103313,7 +103245,7 @@
103313
103245
  if (signal) {
103314
103246
  entries = [...entries, {
103315
103247
  id: 'signalName',
103316
- component: SignalName,
103248
+ component: SignalName$1,
103317
103249
  isEdited: isEdited$1
103318
103250
  }];
103319
103251
  }
@@ -103326,9 +103258,9 @@
103326
103258
  const bpmnFactory = useService('bpmnFactory');
103327
103259
  const commandStack = useService('commandStack');
103328
103260
  const translate = useService('translate');
103329
- const signalEventDefinition = getSignalEventDefinition(element);
103261
+ const signalEventDefinition = getSignalEventDefinition$1(element);
103330
103262
  const getValue = () => {
103331
- const signal = getSignal(element);
103263
+ const signal = getSignal$1(element);
103332
103264
  if (signal) {
103333
103265
  return signal.get('id');
103334
103266
  }
@@ -103402,14 +103334,14 @@
103402
103334
  getOptions
103403
103335
  });
103404
103336
  }
103405
- function SignalName(props) {
103337
+ function SignalName$1(props) {
103406
103338
  const {
103407
103339
  element
103408
103340
  } = props;
103409
103341
  const commandStack = useService('commandStack');
103410
103342
  const translate = useService('translate');
103411
103343
  const debounce = useService('debounceInput');
103412
- const signal = getSignal(element);
103344
+ const signal = getSignal$1(element);
103413
103345
  const getValue = () => {
103414
103346
  return signal.get('name');
103415
103347
  };
@@ -103489,6 +103421,16 @@
103489
103421
  const messageEventDefinition = getMessageEventDefinition(element);
103490
103422
  return messageEventDefinition && messageEventDefinition.get('messageRef');
103491
103423
  }
103424
+ function getSignalEventDefinition(element) {
103425
+ return getEventDefinition(element, 'bpmn:SignalEventDefinition');
103426
+ }
103427
+ function isSignalSupported(element) {
103428
+ return is$6(element, 'bpmn:Event') && !!getSignalEventDefinition(element);
103429
+ }
103430
+ function getSignal(element) {
103431
+ const signalEventDefinition = getSignalEventDefinition(element);
103432
+ return signalEventDefinition && signalEventDefinition.get('signalRef');
103433
+ }
103492
103434
 
103493
103435
  function TimerProps$2(props) {
103494
103436
  const {
@@ -103800,7 +103742,7 @@
103800
103742
  id: 'signal',
103801
103743
  label: translate('Signal'),
103802
103744
  component: Group,
103803
- entries: [...SignalProps({
103745
+ entries: [...SignalProps$1({
103804
103746
  element
103805
103747
  })]
103806
103748
  };
@@ -105505,7 +105447,7 @@
105505
105447
  return getParameters$1.apply(this, [element, 'outputParameters']);
105506
105448
  }
105507
105449
  function areInputParametersSupported$1(element) {
105508
- return isAny$1(element, ['bpmn:UserTask', 'bpmn:SubProcess', 'bpmn:CallActivity', 'bpmn:BusinessRuleTask', 'bpmn:ScriptTask']) || isZeebeServiceTask(element);
105450
+ return isAny$1(element, ['bpmn:UserTask', 'bpmn:SubProcess', 'bpmn:CallActivity', 'bpmn:BusinessRuleTask', 'bpmn:ScriptTask']) || isZeebeServiceTask(element) || isSignalThrowEvent(element);
105509
105451
  }
105510
105452
  function areOutputParametersSupported$1(element) {
105511
105453
  return isAny$1(element, ['zeebe:ZeebeServiceTask', 'bpmn:UserTask', 'bpmn:SubProcess', 'bpmn:ReceiveTask', 'bpmn:CallActivity', 'bpmn:Event', 'bpmn:BusinessRuleTask']);
@@ -105513,6 +105455,12 @@
105513
105455
  function createIOMapping(properties, parent, bpmnFactory) {
105514
105456
  return createElement$1('zeebe:IoMapping', properties, parent, bpmnFactory);
105515
105457
  }
105458
+ function isSignalThrowEvent(element) {
105459
+ if (!isAny$1(element, ['bpmn:EndEvent', 'bpmn:IntermediateThrowEvent'])) {
105460
+ return false;
105461
+ }
105462
+ return !!getEventDefinition$1(element, 'bpmn:SignalEventDefinition');
105463
+ }
105516
105464
 
105517
105465
  function InputProps$1({
105518
105466
  element,
@@ -106675,6 +106623,58 @@
106675
106623
  return getExtensionElementsList$2(businessObject, 'zeebe:Script')[0];
106676
106624
  }
106677
106625
 
106626
+ /**
106627
+ * @returns {Entry[]}
106628
+ */
106629
+ function SignalProps(props) {
106630
+ const {
106631
+ element
106632
+ } = props;
106633
+ if (!isSignalSupported(element)) {
106634
+ return [];
106635
+ }
106636
+ const signal = getSignal(element);
106637
+ let entries = [];
106638
+ if (signal) {
106639
+ entries = [...entries, {
106640
+ id: 'signalName',
106641
+ component: SignalName,
106642
+ isEdited: isEdited$7
106643
+ }];
106644
+ }
106645
+ return entries;
106646
+ }
106647
+ function SignalName(props) {
106648
+ const {
106649
+ element
106650
+ } = props;
106651
+ const commandStack = useService('commandStack');
106652
+ const translate = useService('translate');
106653
+ const debounce = useService('debounceInput');
106654
+ const signal = getSignal(element);
106655
+ const getValue = () => {
106656
+ return signal.get('name');
106657
+ };
106658
+ const setValue = value => {
106659
+ return commandStack.execute('element.updateModdleProperties', {
106660
+ element,
106661
+ moddleElement: signal,
106662
+ properties: {
106663
+ name: value
106664
+ }
106665
+ });
106666
+ };
106667
+ return FeelEntryWithVariableContext({
106668
+ element,
106669
+ id: 'signalName',
106670
+ label: translate('Name'),
106671
+ feel: 'optional',
106672
+ getValue,
106673
+ setValue,
106674
+ debounce
106675
+ });
106676
+ }
106677
+
106678
106678
  function TargetProps(props) {
106679
106679
  const {
106680
106680
  element
@@ -107425,9 +107425,9 @@
107425
107425
  }
107426
107426
  }
107427
107427
  function isInterruptingStartEvent$1(bo) {
107428
- return isInEventSubProcess$1(bo) && bo.get('isInterrupting') !== false;
107428
+ return isInEventSubProcess$2(bo) && bo.get('isInterrupting') !== false;
107429
107429
  }
107430
- function isInEventSubProcess$1(bo) {
107430
+ function isInEventSubProcess$2(bo) {
107431
107431
  const parent = bo.$parent;
107432
107432
  return is$6(parent, 'bpmn:SubProcess') && parent.triggeredByEvent;
107433
107433
  }
@@ -107702,6 +107702,10 @@
107702
107702
  return properties && properties.get(getPropertyName(namespace));
107703
107703
  }
107704
107704
 
107705
+ /**
107706
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
107707
+ */
107708
+
107705
107709
  const LOW_PRIORITY$1$1 = 500;
107706
107710
  const ZEEBE_GROUPS = [BusinessRuleImplementationGroup, CalledDecisionGroup, ScriptImplementationGroup, ScriptGroup$1, TaskDefinitionGroup, AssignmentDefinitionGroup, FormGroup$1, ConditionGroup$1, TargetGroup, InputGroup$1, OutputPropagationGroup, OutputGroup$1, HeaderGroup, ExtensionPropertiesGroup$1];
107707
107711
  let ZeebePropertiesProvider$1 = class ZeebePropertiesProvider {
@@ -107718,6 +107722,7 @@
107718
107722
  updateErrorGroup$1(groups, element);
107719
107723
  updateEscalationGroup$1(groups, element);
107720
107724
  updateMessageGroup$1(groups, element);
107725
+ updateSignalGroup(groups, element);
107721
107726
  updateTimerGroup$1(groups, element, this._injector);
107722
107727
  updateMultiInstanceGroup$1(groups, element);
107723
107728
 
@@ -107902,7 +107907,7 @@
107902
107907
  if (!errorGroup) {
107903
107908
  return;
107904
107909
  }
107905
- errorGroup.entries = overrideGenericEntries$1(errorGroup.entries, ErrorProps$1({
107910
+ errorGroup.entries = replaceEntries(errorGroup.entries, ErrorProps$1({
107906
107911
  element
107907
107912
  }));
107908
107913
  }
@@ -107911,7 +107916,16 @@
107911
107916
  if (!escalationGroup) {
107912
107917
  return;
107913
107918
  }
107914
- escalationGroup.entries = overrideGenericEntries$1(escalationGroup.entries, EscalationProps$1({
107919
+ escalationGroup.entries = replaceEntries(escalationGroup.entries, EscalationProps$1({
107920
+ element
107921
+ }));
107922
+ }
107923
+ function updateSignalGroup(groups, element) {
107924
+ const signalGroup = findGroup$2(groups, 'signal');
107925
+ if (!signalGroup) {
107926
+ return;
107927
+ }
107928
+ signalGroup.entries = replaceEntries(signalGroup.entries, SignalProps({
107915
107929
  element
107916
107930
  }));
107917
107931
  }
@@ -107920,7 +107934,7 @@
107920
107934
  if (!messageGroup) {
107921
107935
  return;
107922
107936
  }
107923
- messageGroup.entries = overrideGenericEntries$1(messageGroup.entries, MessageProps$1({
107937
+ messageGroup.entries = replaceEntries(messageGroup.entries, MessageProps$1({
107924
107938
  element
107925
107939
  }));
107926
107940
  }
@@ -107964,13 +107978,14 @@
107964
107978
  }
107965
107979
 
107966
107980
  /**
107967
- * Replace generic bpmn components with specific zeebe ones.
107981
+ * Replace entries with the same ID.
107982
+ *s
107983
+ * @param {Entry[]} oldEntries
107984
+ * @param {Entry[]} newEntries
107968
107985
  *
107969
- * @param {Array} oldEntries
107970
- * @param {Array} newEntries
107971
- * @returns {Array} combined entries
107986
+ * @returns {Entry[]} combined entries
107972
107987
  */
107973
- function overrideGenericEntries$1(oldEntries, newEntries) {
107988
+ function replaceEntries(oldEntries, newEntries) {
107974
107989
  const filteredEntries = oldEntries.filter(oldEntry => !newEntries.find(newEntry => newEntry.id === oldEntry.id));
107975
107990
  return [...filteredEntries, ...newEntries];
107976
107991
  }
@@ -109666,7 +109681,11 @@
109666
109681
  ElementTemplatesLoader.$inject = ['config.elementTemplates', 'eventBus', 'elementTemplates', 'moddle'];
109667
109682
 
109668
109683
  function unlinkTemplate$1(element, injector) {
109669
- const modeling = injector.get('modeling');
109684
+ const modeling = injector.get('modeling'),
109685
+ eventBus = injector.get('eventBus');
109686
+ eventBus.fire('elementTemplates.unlink', {
109687
+ element
109688
+ });
109670
109689
  modeling.updateProperties(element, {
109671
109690
  'camunda:modelerTemplate': null,
109672
109691
  'camunda:modelerTemplateVersion': null
@@ -109674,7 +109693,11 @@
109674
109693
  }
109675
109694
  function removeTemplate(element, injector) {
109676
109695
  const replace = injector.get('replace'),
109677
- selection = injector.get('selection');
109696
+ selection = injector.get('selection'),
109697
+ eventBus = injector.get('eventBus');
109698
+ eventBus.fire('elementTemplates.remove', {
109699
+ element
109700
+ });
109678
109701
  const businessObject = getBusinessObject$2(element);
109679
109702
  const type = businessObject.$type,
109680
109703
  eventDefinitionType = getEventDefinitionType(businessObject);
@@ -109687,7 +109710,12 @@
109687
109710
  selection.select(newElement);
109688
109711
  }
109689
109712
  function updateTemplate$1(element, newTemplate, injector) {
109690
- const elementTemplates = injector.get('elementTemplates');
109713
+ const elementTemplates = injector.get('elementTemplates'),
109714
+ eventBus = injector.get('eventBus');
109715
+ eventBus.fire('elementTemplates.update', {
109716
+ element,
109717
+ newTemplate
109718
+ });
109691
109719
  return elementTemplates.applyTemplate(element, newTemplate);
109692
109720
  }
109693
109721
  function getVersionOrDateFromTemplate(template) {
@@ -109761,7 +109789,11 @@
109761
109789
  }
109762
109790
 
109763
109791
  function unlinkTemplate(element, injector) {
109764
- const modeling = injector.get('modeling');
109792
+ const modeling = injector.get('modeling'),
109793
+ eventBus = injector.get('eventBus');
109794
+ eventBus.fire('elementTemplates.unlink', {
109795
+ element
109796
+ });
109765
109797
 
109766
109798
  // remove template attributes
109767
109799
  modeling.updateProperties(element, {
@@ -109771,7 +109803,12 @@
109771
109803
  });
109772
109804
  }
109773
109805
  function updateTemplate(element, newTemplate, injector) {
109774
- const elementTemplates = injector.get('elementTemplates');
109806
+ const elementTemplates = injector.get('elementTemplates'),
109807
+ eventBus = injector.get('eventBus');
109808
+ eventBus.fire('elementTemplates.update', {
109809
+ element,
109810
+ newTemplate
109811
+ });
109775
109812
  return elementTemplates.applyTemplate(element, newTemplate);
109776
109813
  }
109777
109814
 
@@ -111882,7 +111919,8 @@
111882
111919
  label
111883
111920
  } = property;
111884
111921
  const bpmnFactory = useService('bpmnFactory'),
111885
- commandStack = useService('commandStack');
111922
+ commandStack = useService('commandStack'),
111923
+ translate = useService('translate');
111886
111924
  const getOptions = () => {
111887
111925
  const {
111888
111926
  choices,
@@ -111916,6 +111954,7 @@
111916
111954
  }),
111917
111955
  getValue: propertyGetter$1(element, property),
111918
111956
  setValue: propertySetter$1(bpmnFactory, commandStack, element, property),
111957
+ validate: propertyValidator$1(translate, property),
111919
111958
  disabled: editable === false
111920
111959
  });
111921
111960
  }
@@ -112029,7 +112068,8 @@
112029
112068
  } = property;
112030
112069
  const bpmnFactory = useService('bpmnFactory'),
112031
112070
  commandStack = useService('commandStack'),
112032
- debounce = useService('debounceInput');
112071
+ debounce = useService('debounceInput'),
112072
+ translate = useService('translate');
112033
112073
  return TextAreaEntry({
112034
112074
  debounce,
112035
112075
  element,
@@ -112043,6 +112083,7 @@
112043
112083
  }),
112044
112084
  getValue: propertyGetter$1(element, property),
112045
112085
  setValue: propertySetter$1(bpmnFactory, commandStack, element, property),
112086
+ validate: propertyValidator$1(translate, property),
112046
112087
  disabled: editable === false
112047
112088
  });
112048
112089
  }
@@ -112066,15 +112107,15 @@
112066
112107
  minLength,
112067
112108
  notEmpty
112068
112109
  } = constraints;
112069
- if (notEmpty && isEmptyString$1(value)) {
112110
+ if (notEmpty && isEmpty(value)) {
112070
112111
  return translate('Must not be empty.');
112071
112112
  }
112072
- if (maxLength && value.length > maxLength) {
112113
+ if (maxLength && (value || '').length > maxLength) {
112073
112114
  return translate('Must have max length {maxLength}.', {
112074
112115
  maxLength
112075
112116
  });
112076
112117
  }
112077
- if (minLength && value.length < minLength) {
112118
+ if (minLength && (value || '').length < minLength) {
112078
112119
  return translate('Must have min length {minLength}.', {
112079
112120
  minLength
112080
112121
  });
@@ -112096,8 +112137,11 @@
112096
112137
  }
112097
112138
  };
112098
112139
  }
112099
- function isEmptyString$1(string) {
112100
- return !string || !string.trim().length;
112140
+ function isEmpty(value) {
112141
+ if (typeof value === 'string') {
112142
+ return !value.trim().length;
112143
+ }
112144
+ return value === undefined;
112101
112145
  }
112102
112146
  function matchesPattern$1(string, pattern) {
112103
112147
  return new RegExp(pattern).test(string);
@@ -112505,7 +112549,7 @@
112505
112549
  }
112506
112550
 
112507
112551
  /**
112508
- * Remove referenced element when template is unlinked.
112552
+ * Unlink referenced element when template is unlinked.
112509
112553
  */
112510
112554
  _handlePropertiesUpdate(context) {
112511
112555
  const {
@@ -112521,11 +112565,9 @@
112521
112565
  const bo = getBusinessObject$2(element);
112522
112566
  const message = findMessage(bo);
112523
112567
  if (message && getTemplateId$1(message)) {
112524
- const messageEventDefinition = bo.eventDefinitions[0];
112525
- this._modeling.updateModdleProperties(element, messageEventDefinition, {
112526
- 'messageRef': undefined
112568
+ this._modeling.updateModdleProperties(element, message, {
112569
+ [TEMPLATE_ID_ATTR$1]: null
112527
112570
  });
112528
- this._removeRootElement(message);
112529
112571
  }
112530
112572
  }
112531
112573
 
@@ -112752,7 +112794,7 @@
112752
112794
  },
112753
112795
  messageName: element => {
112754
112796
  const translate = useService('translate');
112755
- if (is$6(element, 'bpmn:StartEvent') && !isInEventSubProcess$2(element)) {
112797
+ if (is$6(element, 'bpmn:StartEvent') && !isInEventSubProcess$1(element)) {
112756
112798
  return o$1("a", {
112757
112799
  href: "https://docs.camunda.io/docs/components/modeler/bpmn/message-events/#messages",
112758
112800
  target: "_blank",
@@ -112844,7 +112886,7 @@
112844
112886
 
112845
112887
  // helper ////////////
112846
112888
 
112847
- function isInEventSubProcess$2(element) {
112889
+ function isInEventSubProcess$1(element) {
112848
112890
  const bo = getBusinessObject$2(element),
112849
112891
  parent = bo.$parent;
112850
112892
  return is$6(parent, 'bpmn:SubProcess') && parent.triggeredByEvent;
@@ -114026,7 +114068,7 @@
114026
114068
  */
114027
114069
  function canAttach(elements, target, source, position) {
114028
114070
  function isBoundaryEvent(element) {
114029
- return !isLabel$7(element) && is$6(element, 'bpmn:BoundaryEvent');
114071
+ return !isLabel$2(element) && is$6(element, 'bpmn:BoundaryEvent');
114030
114072
  }
114031
114073
 
114032
114074
  /**
@@ -114072,7 +114114,7 @@
114072
114114
  const element = elements[0];
114073
114115
 
114074
114116
  // do not attach labels
114075
- if (isLabel$7(element)) {
114117
+ if (isLabel$2(element)) {
114076
114118
  return false;
114077
114119
  }
114078
114120
 
@@ -117196,100 +117238,100 @@
117196
117238
  elementTemplateChooserEntryProvider: [ 'type', ElementTemplateChooserEntryProvider ]
117197
117239
  };
117198
117240
 
117199
- var inherits_browser = {exports: {}};
117200
-
117201
- if (typeof Object.create === 'function') {
117202
- // implementation from standard node.js 'util' module
117203
- inherits_browser.exports = function inherits(ctor, superCtor) {
117204
- if (superCtor) {
117205
- ctor.super_ = superCtor;
117206
- ctor.prototype = Object.create(superCtor.prototype, {
117207
- constructor: {
117208
- value: ctor,
117209
- enumerable: false,
117210
- writable: true,
117211
- configurable: true
117212
- }
117213
- });
117214
- }
117215
- };
117216
- } else {
117217
- // old school shim for old browsers
117218
- inherits_browser.exports = function inherits(ctor, superCtor) {
117219
- if (superCtor) {
117220
- ctor.super_ = superCtor;
117221
- var TempCtor = function () {};
117222
- TempCtor.prototype = superCtor.prototype;
117223
- ctor.prototype = new TempCtor();
117224
- ctor.prototype.constructor = ctor;
117225
- }
117226
- };
117227
- }
117228
-
117229
- var inherits_browserExports = inherits_browser.exports;
117230
- var inherits = /*@__PURE__*/getDefaultExportFromCjs(inherits_browserExports);
117241
+ /**
117242
+ * Get icon defined on a moddle element.
117243
+ *
117244
+ * @param { ModdleElement } element
117245
+ * @param { string } iconProperty
117246
+ *
117247
+ * @return { string }
117248
+ */
117249
+ function getModelerTemplateIcon(element, iconProperty) {
117250
+ iconProperty = iconProperty || 'zeebe:modelerTemplateIcon';
117231
117251
 
117232
- function getModelerTemplateIcon(element) {
117233
- var modelerTemplateIcon = getBusinessObject$2(element).get('zeebe:modelerTemplateIcon');
117234
- return modelerTemplateIcon;
117252
+ return getBusinessObject$2(element).get(iconProperty);
117235
117253
  }
117236
117254
 
117237
117255
  var HIGH_PRIORITY = 1250;
117238
117256
 
117239
117257
 
117240
- function IconsRenderer(
117258
+ function ElementTemplateIconRenderer(
117259
+ config,
117241
117260
  bpmnRenderer,
117242
- eventBus
117243
- ) {
117261
+ eventBus) {
117262
+
117244
117263
  this._bpmnRenderer = bpmnRenderer;
117245
117264
 
117265
+ this._iconProperty = config && config.iconProperty;
117266
+
117246
117267
  BaseRenderer.call(this, eventBus, HIGH_PRIORITY);
117247
117268
  }
117248
117269
 
117249
- inherits(IconsRenderer, BaseRenderer);
117270
+ e$7(ElementTemplateIconRenderer, BaseRenderer);
117250
117271
 
117251
- IconsRenderer.prototype.canRender = function(element) {
117272
+ ElementTemplateIconRenderer.prototype.canRender = function(element) {
117252
117273
 
117253
- if (isLabel$7(element)) {
117274
+ if (isLabel$2(element)) {
117254
117275
  return false;
117255
117276
  }
117256
117277
 
117257
- return (
117258
- is$6(element, 'bpmn:Task') &&
117259
- !!getModelerTemplateIcon(element)
117278
+ return !!(
117279
+ isAny$1(element, [ 'bpmn:Task', 'bpmn:Event' ]) && this._getIcon(element)
117260
117280
  );
117261
117281
  };
117262
117282
 
117263
- IconsRenderer.prototype.drawShape = function(parentGfx, element) {
117283
+ ElementTemplateIconRenderer.prototype._getIcon = function(element) {
117284
+ return getModelerTemplateIcon(element, this._iconProperty);
117285
+ };
117286
+
117287
+ ElementTemplateIconRenderer.prototype.drawShape = function(parentGfx, element) {
117288
+
117289
+ var renderer = this._bpmnRenderer.handlers[
117290
+ [
117291
+ 'bpmn:Task',
117292
+ 'bpmn:StartEvent',
117293
+ 'bpmn:IntermediateEvent',
117294
+ 'bpmn:BoundaryEvent',
117295
+ 'bpmn:EndEvent'
117296
+ ].find(t => is$6(element, t))
117297
+ ];
117264
117298
 
117265
- var renderer = this._bpmnRenderer.handlers['bpmn:Task'];
117299
+ var gfx = renderer(parentGfx, element, { renderIcon: false });
117266
117300
 
117267
- var gfx = renderer(parentGfx, element);
117301
+ var icon = this._getIcon(element);
117268
117302
 
117269
- var modelerTemplateIcon = getModelerTemplateIcon(element);
117303
+ var size = 18;
117270
117304
 
117271
- var icon = create$1('image');
117272
- attr(icon, {
117273
- href: modelerTemplateIcon,
117305
+ var padding = is$6(element, 'bpmn:Task') ? {
117274
117306
  x: 5,
117275
- y: 5,
117276
- width: 18,
117277
- height: 18
117307
+ y: 5
117308
+ } : {
117309
+ x: (element.width - size) / 2,
117310
+ y: (element.height - size) / 2
117311
+ };
117312
+
117313
+ var img = create$1('image');
117314
+ attr(img, {
117315
+ href: icon,
117316
+ width: size,
117317
+ height: size,
117318
+ ...padding
117278
117319
  });
117279
117320
 
117280
- append(parentGfx, icon);
117321
+ append(parentGfx, img);
117281
117322
 
117282
117323
  return gfx;
117283
117324
  };
117284
117325
 
117285
- IconsRenderer.$inject = [
117326
+ ElementTemplateIconRenderer.$inject = [
117327
+ 'config.elementTemplateIconRenderer',
117286
117328
  'bpmnRenderer',
117287
117329
  'eventBus'
117288
117330
  ];
117289
117331
 
117290
117332
  var iconRendererModule = {
117291
- __init__: [ 'elementTemplatesIconsRenderer' ],
117292
- elementTemplatesIconsRenderer: [ 'type', IconsRenderer ]
117333
+ __init__: [ 'elementTemplateIconRenderer' ],
117334
+ elementTemplateIconRenderer: [ 'type', ElementTemplateIconRenderer ]
117293
117335
  };
117294
117336
 
117295
117337
  var name = "zeebe";
@@ -117772,9 +117814,11 @@
117772
117814
  /**
117773
117815
  * Flatten array, one level deep.
117774
117816
  *
117775
- * @param {Array<?>} arr
117817
+ * @template T
117776
117818
  *
117777
- * @return {Array<?>}
117819
+ * @param {T[][]} arr
117820
+ *
117821
+ * @return {T[]}
117778
117822
  */
117779
117823
 
117780
117824
  const nativeToString = Object.prototype.toString;
@@ -117796,6 +117840,11 @@
117796
117840
  return nativeToString.call(obj) === '[object Number]';
117797
117841
  }
117798
117842
 
117843
+ /**
117844
+ * @param {any} obj
117845
+ *
117846
+ * @return {boolean}
117847
+ */
117799
117848
  function isFunction(obj) {
117800
117849
  const tag = nativeToString.call(obj);
117801
117850
 
@@ -117820,22 +117869,74 @@
117820
117869
  return nativeHasOwnProperty.call(target, key);
117821
117870
  }
117822
117871
 
117872
+ /**
117873
+ * @template T
117874
+ * @typedef { (
117875
+ * ((e: T) => boolean) |
117876
+ * ((e: T, idx: number) => boolean) |
117877
+ * ((e: T, key: string) => boolean) |
117878
+ * string |
117879
+ * number
117880
+ * ) } Matcher
117881
+ */
117882
+
117883
+ /**
117884
+ * @template T
117885
+ * @template U
117886
+ *
117887
+ * @typedef { (
117888
+ * ((e: T) => U) | string | number
117889
+ * ) } Extractor
117890
+ */
117891
+
117892
+
117893
+ /**
117894
+ * @template T
117895
+ * @typedef { (val: T, key: any) => boolean } MatchFn
117896
+ */
117897
+
117898
+ /**
117899
+ * @template T
117900
+ * @typedef { T[] } ArrayCollection
117901
+ */
117902
+
117903
+ /**
117904
+ * @template T
117905
+ * @typedef { { [key: string]: T } } StringKeyValueCollection
117906
+ */
117907
+
117908
+ /**
117909
+ * @template T
117910
+ * @typedef { { [key: number]: T } } NumberKeyValueCollection
117911
+ */
117912
+
117913
+ /**
117914
+ * @template T
117915
+ * @typedef { StringKeyValueCollection<T> | NumberKeyValueCollection<T> } KeyValueCollection
117916
+ */
117917
+
117918
+ /**
117919
+ * @template T
117920
+ * @typedef { KeyValueCollection<T> | ArrayCollection<T> } Collection
117921
+ */
117922
+
117823
117923
  /**
117824
117924
  * Find element in collection.
117825
117925
  *
117826
- * @param {Array|Object} collection
117827
- * @param {Function|Object} matcher
117926
+ * @template T
117927
+ * @param {Collection<T>} collection
117928
+ * @param {Matcher<T>} matcher
117828
117929
  *
117829
117930
  * @return {Object}
117830
117931
  */
117831
117932
  function find(collection, matcher) {
117832
117933
 
117833
- matcher = toMatcher(matcher);
117934
+ const matchFn = toMatcher(matcher);
117834
117935
 
117835
117936
  let match;
117836
117937
 
117837
117938
  forEach(collection, function(val, key) {
117838
- if (matcher(val, key)) {
117939
+ if (matchFn(val, key)) {
117839
117940
  match = val;
117840
117941
 
117841
117942
  return false;
@@ -117851,10 +117952,11 @@
117851
117952
  * Iterate over collection; returning something
117852
117953
  * (non-undefined) will stop iteration.
117853
117954
  *
117854
- * @param {Array|Object} collection
117855
- * @param {Function} iterator
117955
+ * @template T
117956
+ * @param {Collection<T>} collection
117957
+ * @param { ((item: T, idx: number) => (boolean|void)) | ((item: T, key: string) => (boolean|void)) } iterator
117856
117958
  *
117857
- * @return {Object} return result that stopped the iteration
117959
+ * @return {T} return result that stopped the iteration
117858
117960
  */
117859
117961
  function forEach(collection, iterator) {
117860
117962
 
@@ -117897,6 +117999,12 @@
117897
117999
  }
117898
118000
 
117899
118001
 
118002
+ /**
118003
+ * @template T
118004
+ * @param {Matcher<T>} matcher
118005
+ *
118006
+ * @return {MatchFn<T>}
118007
+ */
117900
118008
  function toMatcher(matcher) {
117901
118009
  return isFunction(matcher) ? matcher : (e) => {
117902
118010
  return e === matcher;
@@ -118728,8 +118836,12 @@
118728
118836
  * To change the icons, modify the SVGs in `./resources`, execute `npx svgo -f resources --datauri enc -o dist`,
118729
118837
  * and then replace respective icons with the optimized data URIs in `./dist`.
118730
118838
  */
118731
- const appendIcon = 'data:image/svg+xml,%3Csvg%20width%3D%2222%22%20height%3D%2222%22%20viewBox%3D%220%200%205.82%205.82%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cpath%20d%3D%22M1.3%203.4c.3%200%20.5-.2.5-.5s-.2-.4-.5-.4c-.2%200-.4.1-.4.4%200%20.3.2.5.4.5zM3%203.4c.2%200%20.4-.2.4-.5s-.2-.4-.4-.4c-.3%200-.5.1-.5.4%200%20.3.2.5.5.5zM4.6%203.4c.2%200%20.4-.2.4-.5s-.2-.4-.4-.4c-.3%200-.5.1-.5.4%200%20.3.2.5.5.5z%22%2F%3E%0A%3C%2Fsvg%3E';
118732
- const createIcon = 'data:image/svg+xml,%3Csvg%20width%3D%2246%22%20height%3D%2246%22%20viewBox%3D%22-2%20-2%209.82%209.82%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M1.3%203.4c.3%200%20.5-.2.5-.5s-.2-.4-.5-.4c-.2%200-.4.1-.4.4%200%20.3.2.5.4.5zM3%203.4c.2%200%20.4-.2.4-.5s-.2-.4-.4-.4c-.3%200-.5.1-.5.4%200%20.3.2.5.5.5zM4.6%203.4c.2%200%20.4-.2.4-.5s-.2-.4-.4-.4c-.3%200-.5.1-.5.4%200%20.3.2.5.5.5z%22%2F%3E%0A%3C%2Fsvg%3E';
118839
+ const appendIcon = `<svg width="22" height="22" viewBox="0 0 5.82 5.82" xmlns="http://www.w3.org/2000/svg">
118840
+ <path d="M1.3 3.4c.3 0 .5-.2.5-.5s-.2-.4-.5-.4c-.2 0-.4.1-.4.4 0 .3.2.5.4.5zM3 3.4c.2 0 .4-.2.4-.5s-.2-.4-.4-.4c-.3 0-.5.1-.5.4 0 .3.2.5.5.5zM4.6 3.4c.2 0 .4-.2.4-.5s-.2-.4-.4-.4c-.3 0-.5.1-.5.4 0 .3.2.5.5.5z"/>
118841
+ </svg>`;
118842
+ const createIcon = `<svg width="46" height="46" viewBox="-2 -2 9.82 9.82" xmlns="http://www.w3.org/2000/svg">
118843
+ <path d="M1.3 3.4c.3 0 .5-.2.5-.5s-.2-.4-.5-.4c-.2 0-.4.1-.4.4 0 .3.2.5.4.5zM3 3.4c.2 0 .4-.2.4-.5s-.2-.4-.4-.4c-.3 0-.5.1-.5.4 0 .3.2.5.5.5zM4.6 3.4c.2 0 .4-.2.4-.5s-.2-.4-.4-.4c-.3 0-.5.1-.5.4 0 .3.2.5.5.5z"/>
118844
+ </svg>`;
118733
118845
 
118734
118846
  /**
118735
118847
  * A provider for append context pad button
@@ -118775,7 +118887,7 @@
118775
118887
  return {
118776
118888
  'append': {
118777
118889
  group: 'model',
118778
- imageUrl: appendIcon,
118890
+ html: `<div class="entry">${appendIcon}</div>`,
118779
118891
  title: translate('Append element'),
118780
118892
  action: {
118781
118893
  click: function(event, element) {
@@ -118821,10 +118933,15 @@
118821
118933
 
118822
118934
  function e(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}));}
118823
118935
 
118936
+ /**
118937
+ * @typedef { import('../model/Types').Element } Element
118938
+ * @typedef { import('../model/Types').ModdleElement } ModdleElement
118939
+ */
118940
+
118824
118941
  /**
118825
118942
  * Is an element of the given BPMN type?
118826
118943
  *
118827
- * @param {djs.model.Base|ModdleElement} element
118944
+ * @param {Element|ModdleElement} element
118828
118945
  * @param {string} type
118829
118946
  *
118830
118947
  * @return {boolean}
@@ -118839,8 +118956,8 @@
118839
118956
  /**
118840
118957
  * Return true if element has any of the given types.
118841
118958
  *
118842
- * @param {djs.model.Base} element
118843
- * @param {Array<string>} types
118959
+ * @param {Element|ModdleElement} element
118960
+ * @param {string[]} types
118844
118961
  *
118845
118962
  * @return {boolean}
118846
118963
  */
@@ -118853,7 +118970,7 @@
118853
118970
  /**
118854
118971
  * Return the business object for a given element.
118855
118972
  *
118856
- * @param {djs.model.Base|ModdleElement} element
118973
+ * @param {Element|ModdleElement} element
118857
118974
  *
118858
118975
  * @return {ModdleElement}
118859
118976
  */
@@ -118864,7 +118981,7 @@
118864
118981
  /**
118865
118982
  * Return the di object for a given element.
118866
118983
  *
118867
- * @param {djs.model.Base} element
118984
+ * @param {Element} element
118868
118985
  *
118869
118986
  * @return {ModdleElement}
118870
118987
  */
@@ -118872,14 +118989,25 @@
118872
118989
  return element && element.di;
118873
118990
  }
118874
118991
 
118875
- function isLabel(element) {
118876
- return element && !!element.labelTarget;
118992
+ /**
118993
+ * Checks whether a value is an instance of Label.
118994
+ *
118995
+ * @param {any} value
118996
+ *
118997
+ * @return {boolean}
118998
+ */
118999
+ function isLabel(value) {
119000
+ return isObject(value) && has(value, 'labelTarget');
118877
119001
  }
118878
119002
 
118879
119003
  /**
119004
+ * @typedef {import('../core/Types').ElementLike} ElementLike
118880
119005
  * @typedef {import('../core/EventBus').default} EventBus
118881
- * @typedef {import(./CommandInterceptor).HandlerFunction} HandlerFunction
118882
- * @typedef {import(./CommandInterceptor).ComposeHandlerFunction} ComposeHandlerFunction
119006
+ * @typedef {import('./CommandStack').CommandContext} CommandContext
119007
+ *
119008
+ * @typedef {string|string[]} Events
119009
+ * @typedef { (context: CommandContext) => ElementLike[] | void } HandlerFunction
119010
+ * @typedef { (context: CommandContext) => void } ComposeHandlerFunction
118883
119011
  */
118884
119012
 
118885
119013
  var DEFAULT_PRIORITY = 1000;
@@ -118891,10 +119019,9 @@
118891
119019
  * @class
118892
119020
  * @constructor
118893
119021
  *
118894
- * @param {EventBus} eventBus
118895
- *
118896
119022
  * @example
118897
119023
  *
119024
+ * ```javascript
118898
119025
  * import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
118899
119026
  *
118900
119027
  * class CommandLogger extends CommandInterceptor {
@@ -118905,6 +119032,9 @@
118905
119032
  * console.log('commandStack.shape-create.preExecute', event);
118906
119033
  * });
118907
119034
  * }
119035
+ * ```
119036
+ *
119037
+ * @param {EventBus} eventBus
118908
119038
  */
118909
119039
  function CommandInterceptor(eventBus) {
118910
119040
 
@@ -118922,16 +119052,17 @@
118922
119052
  };
118923
119053
  }
118924
119054
 
119055
+
118925
119056
  /**
118926
- * Intercept a command during one of the phases.
118927
- *
118928
- * @param {string|string[]} [events] One or more commands to intercept.
118929
- * @param {string} [hook] Phase during which to intercept command.
118930
- * @param {number} [priority] Priority with which command will be intercepted.
118931
- * @param {ComposeHandlerFunction|HandlerFunction} handlerFn Callback.
118932
- * @param {boolean} [unwrap] Whether the event should be unwrapped.
118933
- * @param {*} [that] `this` value the callback will be called with.
118934
- */
119057
+ * Intercept a command during one of the phases.
119058
+ *
119059
+ * @param {Events} [events] command(s) to intercept
119060
+ * @param {string} [hook] phase to intercept
119061
+ * @param {number} [priority]
119062
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119063
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119064
+ * @param {any} [that]
119065
+ */
118935
119066
  CommandInterceptor.prototype.on = function(events, hook, priority, handlerFn, unwrap, that) {
118936
119067
 
118937
119068
  if (isFunction(hook) || isNumber(hook)) {
@@ -118973,35 +119104,130 @@
118973
119104
  });
118974
119105
  };
118975
119106
 
119107
+ /**
119108
+ * Add a <canExecute> phase of command interceptor.
119109
+ *
119110
+ * @param {Events} [events] command(s) to intercept
119111
+ * @param {number} [priority]
119112
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119113
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119114
+ * @param {any} [that]
119115
+ */
119116
+ CommandInterceptor.prototype.canExecute = createHook('canExecute');
118976
119117
 
118977
- var hooks = [
118978
- 'canExecute',
118979
- 'preExecute',
118980
- 'preExecuted',
118981
- 'execute',
118982
- 'executed',
118983
- 'postExecute',
118984
- 'postExecuted',
118985
- 'revert',
118986
- 'reverted'
118987
- ];
119118
+ /**
119119
+ * Add a <preExecute> phase of command interceptor.
119120
+ *
119121
+ * @param {Events} [events] command(s) to intercept
119122
+ * @param {number} [priority]
119123
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119124
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119125
+ * @param {any} [that]
119126
+ */
119127
+ CommandInterceptor.prototype.preExecute = createHook('preExecute');
119128
+
119129
+ /**
119130
+ * Add a <preExecuted> phase of command interceptor.
119131
+ *
119132
+ * @param {Events} [events] command(s) to intercept
119133
+ * @param {number} [priority]
119134
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119135
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119136
+ * @param {any} [that]
119137
+ */
119138
+ CommandInterceptor.prototype.preExecuted = createHook('preExecuted');
119139
+
119140
+ /**
119141
+ * Add a <execute> phase of command interceptor.
119142
+ *
119143
+ * @param {Events} [events] command(s) to intercept
119144
+ * @param {number} [priority]
119145
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119146
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119147
+ * @param {any} [that]
119148
+ */
119149
+ CommandInterceptor.prototype.execute = createHook('execute');
119150
+
119151
+ /**
119152
+ * Add a <executed> phase of command interceptor.
119153
+ *
119154
+ * @param {Events} [events] command(s) to intercept
119155
+ * @param {number} [priority]
119156
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119157
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119158
+ * @param {any} [that]
119159
+ */
119160
+ CommandInterceptor.prototype.executed = createHook('executed');
119161
+
119162
+ /**
119163
+ * Add a <postExecute> phase of command interceptor.
119164
+ *
119165
+ * @param {Events} [events] command(s) to intercept
119166
+ * @param {number} [priority]
119167
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119168
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119169
+ * @param {any} [that]
119170
+ */
119171
+ CommandInterceptor.prototype.postExecute = createHook('postExecute');
119172
+
119173
+ /**
119174
+ * Add a <postExecuted> phase of command interceptor.
119175
+ *
119176
+ * @param {Events} [events] command(s) to intercept
119177
+ * @param {number} [priority]
119178
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119179
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119180
+ * @param {any} [that]
119181
+ */
119182
+ CommandInterceptor.prototype.postExecuted = createHook('postExecuted');
119183
+
119184
+ /**
119185
+ * Add a <revert> phase of command interceptor.
119186
+ *
119187
+ * @param {Events} [events] command(s) to intercept
119188
+ * @param {number} [priority]
119189
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119190
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119191
+ * @param {any} [that]
119192
+ */
119193
+ CommandInterceptor.prototype.revert = createHook('revert');
119194
+
119195
+ /**
119196
+ * Add a <reverted> phase of command interceptor.
119197
+ *
119198
+ * @param {Events} [events] command(s) to intercept
119199
+ * @param {number} [priority]
119200
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119201
+ * @param {boolean} [unwrap] whether the event should be unwrapped
119202
+ * @param {any} [that]
119203
+ */
119204
+ CommandInterceptor.prototype.reverted = createHook('reverted');
118988
119205
 
118989
119206
  /*
118990
119207
  * Add prototype methods for each phase of command execution (e.g. execute,
118991
119208
  * revert).
119209
+ *
119210
+ * @param {string} hook
119211
+ *
119212
+ * @return { (
119213
+ * events?: Events,
119214
+ * priority?: number,
119215
+ * handlerFn: ComposeHandlerFunction|HandlerFunction,
119216
+ * unwrap?: boolean
119217
+ * ) => any }
118992
119218
  */
118993
- forEach(hooks, function(hook) {
119219
+ function createHook(hook) {
118994
119220
 
118995
119221
  /**
118996
- * Add prototype method for a specific phase of command execution.
119222
+ * @this {CommandInterceptor}
118997
119223
  *
118998
- * @param {string|string[]} [events] One or more commands to intercept.
118999
- * @param {number} [priority] Priority with which command will be intercepted.
119000
- * @param {ComposeHandlerFunction|HandlerFunction} handlerFn Callback.
119001
- * @param {boolean} [unwrap] Whether the event should be unwrapped.
119002
- * @param {*} [that] `this` value the callback will be called with.
119224
+ * @param {Events} [events]
119225
+ * @param {number} [priority]
119226
+ * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
119227
+ * @param {boolean} [unwrap]
119228
+ * @param {any} [that]
119003
119229
  */
119004
- CommandInterceptor.prototype[hook] = function(events, priority, handlerFn, unwrap, that) {
119230
+ const hookFn = function(events, priority, handlerFn, unwrap, that) {
119005
119231
 
119006
119232
  if (isFunction(events) || isNumber(events)) {
119007
119233
  that = unwrap;
@@ -119013,7 +119239,9 @@
119013
119239
 
119014
119240
  this.on(events, hook, priority, handlerFn, unwrap, that);
119015
119241
  };
119016
- });
119242
+
119243
+ return hookFn;
119244
+ }
119017
119245
 
119018
119246
  /**
119019
119247
  * @typedef {import('../../core/EventBus').default} EventBus
@@ -119025,6 +119253,8 @@
119025
119253
  * Extensions should implement the init method to actually add their custom
119026
119254
  * modeling checks. Checks may be added via the #addRule(action, fn) method.
119027
119255
  *
119256
+ * @class
119257
+ *
119028
119258
  * @param {EventBus} eventBus
119029
119259
  */
119030
119260
  function RuleProvider(eventBus) {
@@ -119042,15 +119272,16 @@
119042
119272
  * Adds a modeling rule for the given action, implemented through
119043
119273
  * a callback function.
119044
119274
  *
119045
- * The function will receive the modeling specific action context
119275
+ * The callback receives a modeling specific action context
119046
119276
  * to perform its check. It must return `false` to disallow the
119047
- * action from happening or `true` to allow the action.
119048
- *
119049
- * A rule provider may pass over the evaluation to lower priority
119050
- * rules by returning return nothing (or <code>undefined</code>).
119277
+ * action from happening or `true` to allow the action. Usually returing
119278
+ * `null` denotes that a particular interaction shall be ignored.
119279
+ * By returning nothing or `undefined` you pass evaluation to lower
119280
+ * priority rules.
119051
119281
  *
119052
119282
  * @example
119053
119283
  *
119284
+ * ```javascript
119054
119285
  * ResizableRules.prototype.init = function() {
119055
119286
  *
119056
119287
  * \/**
@@ -119077,10 +119308,11 @@
119077
119308
  * }
119078
119309
  * });
119079
119310
  * };
119311
+ * ```
119080
119312
  *
119081
- * @param {string|Array<string>} actions the identifier for the modeling action to check
119313
+ * @param {string|string[]} actions the identifier for the modeling action to check
119082
119314
  * @param {number} [priority] the priority at which this rule is being applied
119083
- * @param {Function} fn the callback function that performs the actual check
119315
+ * @param {(any) => any} fn the callback function that performs the actual check
119084
119316
  */
119085
119317
  RuleProvider.prototype.addRule = function(actions, priority, fn) {
119086
119318
 
@@ -119373,7 +119605,7 @@
119373
119605
  return {
119374
119606
  'create': {
119375
119607
  group: 'create',
119376
- imageUrl: createIcon,
119608
+ html: `<div class="entry"> ${createIcon}</div>`,
119377
119609
  title: translate('Create element'),
119378
119610
  action: {
119379
119611
  click: function(event) {
@@ -119476,6 +119708,7 @@
119476
119708
 
119477
119709
  /**
119478
119710
  * @param {KeyboardEvent} event
119711
+ * @return {boolean}
119479
119712
  */
119480
119713
  function isCmd(event) {
119481
119714
 
@@ -119491,8 +119724,9 @@
119491
119724
  /**
119492
119725
  * Checks if key pressed is one of provided keys.
119493
119726
  *
119494
- * @param {string|Array<string>} keys
119727
+ * @param {string|string[]} keys
119495
119728
  * @param {KeyboardEvent} event
119729
+ * @return {boolean}
119496
119730
  */
119497
119731
  function isKey(keys, event) {
119498
119732
  keys = isArray(keys) ? keys : [ keys ];
@@ -119507,18 +119741,30 @@
119507
119741
  return event.shiftKey;
119508
119742
  }
119509
119743
 
119744
+ /**
119745
+ * @param {KeyboardEvent} event
119746
+ */
119510
119747
  function isCopy(event) {
119511
119748
  return isCmd(event) && isKey(KEYS_COPY, event);
119512
119749
  }
119513
119750
 
119751
+ /**
119752
+ * @param {KeyboardEvent} event
119753
+ */
119514
119754
  function isPaste(event) {
119515
119755
  return isCmd(event) && isKey(KEYS_PASTE, event);
119516
119756
  }
119517
119757
 
119758
+ /**
119759
+ * @param {KeyboardEvent} event
119760
+ */
119518
119761
  function isUndo(event) {
119519
119762
  return isCmd(event) && !isShift(event) && isKey(KEYS_UNDO, event);
119520
119763
  }
119521
119764
 
119765
+ /**
119766
+ * @param {KeyboardEvent} event
119767
+ */
119522
119768
  function isRedo(event) {
119523
119769
  return isCmd(event) && (
119524
119770
  isKey(KEYS_REDO, event) || (
@@ -120197,6 +120443,17 @@
120197
120443
  elementTemplatesReplaceProvider: [ 'type', ElementTemplatesReplaceProvider ]
120198
120444
  };
120199
120445
 
120446
+ /**
120447
+ * @typedef {import('../model/Types').Element} Element
120448
+ * @typedef {import('../model/Types').ModdleElement} ModdleElement
120449
+ */
120450
+
120451
+ /**
120452
+ * @param {Element} element
120453
+ * @param {ModdleElement} [di]
120454
+ *
120455
+ * @return {boolean}
120456
+ */
120200
120457
  function isExpanded(element, di) {
120201
120458
 
120202
120459
  if (is(element, 'bpmn:CallActivity')) {
@@ -120220,14 +120477,21 @@
120220
120477
  return true;
120221
120478
  }
120222
120479
 
120480
+ /**
120481
+ * @typedef {import('../../../model/Types').Element} Element
120482
+ * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').PopupMenuTarget} PopupMenuTarget
120483
+ *
120484
+ * @typedef {(entry: PopupMenuTarget) => boolean} DifferentTypeValidator
120485
+ */
120486
+
120223
120487
  /**
120224
120488
  * Returns true, if an element is from a different type
120225
120489
  * than a target definition. Takes into account the type,
120226
120490
  * event definition type and triggeredByEvent property.
120227
120491
  *
120228
- * @param {djs.model.Base} element
120492
+ * @param {Element} element
120229
120493
  *
120230
- * @return {boolean}
120494
+ * @return {DifferentTypeValidator}
120231
120495
  */
120232
120496
  function isDifferentType(element) {
120233
120497
 
@@ -120258,6 +120522,28 @@
120258
120522
  };
120259
120523
  }
120260
120524
 
120525
+ /**
120526
+ * @typedef { () => string } LabelGetter
120527
+ *
120528
+ * @typedef { {
120529
+ * label: string | LabelGetter;
120530
+ * actionName: string;
120531
+ * className: string;
120532
+ * target?: {
120533
+ * type: string;
120534
+ * isExpanded?: boolean;
120535
+ * isInterrupting?: boolean;
120536
+ * triggeredByEvent?: boolean;
120537
+ * cancelActivity?: boolean;
120538
+ * eventDefinitionType?: string;
120539
+ * eventDefinitionAttrs?: Record<string, any>
120540
+ * };
120541
+ * } } ReplaceOption
120542
+ */
120543
+
120544
+ /**
120545
+ * @type {ReplaceOption[]}
120546
+ */
120261
120547
  var START_EVENT = [
120262
120548
  {
120263
120549
  label: 'Start Event',
@@ -120321,6 +120607,9 @@
120321
120607
  }
120322
120608
  ];
120323
120609
 
120610
+ /**
120611
+ * @type {ReplaceOption[]}
120612
+ */
120324
120613
  var START_EVENT_SUB_PROCESS = [
120325
120614
  {
120326
120615
  label: 'Start Event',
@@ -120348,6 +120637,9 @@
120348
120637
  }
120349
120638
  ];
120350
120639
 
120640
+ /**
120641
+ * @type {ReplaceOption[]}
120642
+ */
120351
120643
  var INTERMEDIATE_EVENT = [
120352
120644
  {
120353
120645
  label: 'Start Event',
@@ -120471,6 +120763,9 @@
120471
120763
  }
120472
120764
  ];
120473
120765
 
120766
+ /**
120767
+ * @type {ReplaceOption[]}
120768
+ */
120474
120769
  var END_EVENT = [
120475
120770
  {
120476
120771
  label: 'Start Event',
@@ -120561,6 +120856,9 @@
120561
120856
  }
120562
120857
  ];
120563
120858
 
120859
+ /**
120860
+ * @type {ReplaceOption[]}
120861
+ */
120564
120862
  var GATEWAY = [
120565
120863
  {
120566
120864
  label: 'Exclusive Gateway',
@@ -120630,6 +120928,9 @@
120630
120928
  // }
120631
120929
  ];
120632
120930
 
120931
+ /**
120932
+ * @type {ReplaceOption[]}
120933
+ */
120633
120934
  var SUBPROCESS_EXPANDED = [
120634
120935
  {
120635
120936
  label: 'Transaction',
@@ -120661,6 +120962,9 @@
120661
120962
  }
120662
120963
  ];
120663
120964
 
120965
+ /**
120966
+ * @type {ReplaceOption[]}
120967
+ */
120664
120968
  var TRANSACTION = [
120665
120969
  {
120666
120970
  label: 'Transaction',
@@ -120692,8 +120996,14 @@
120692
120996
  }
120693
120997
  ];
120694
120998
 
120999
+ /**
121000
+ * @type {ReplaceOption[]}
121001
+ */
120695
121002
  var EVENT_SUB_PROCESS = TRANSACTION;
120696
121003
 
121004
+ /**
121005
+ * @type {ReplaceOption[]}
121006
+ */
120697
121007
  var TASK = [
120698
121008
  {
120699
121009
  label: 'Task',
@@ -120787,6 +121097,9 @@
120787
121097
  }
120788
121098
  ];
120789
121099
 
121100
+ /**
121101
+ * @type {ReplaceOption[]}
121102
+ */
120790
121103
  var DATA_OBJECT_REFERENCE = [
120791
121104
  {
120792
121105
  label: 'Data Store Reference',
@@ -120798,6 +121111,9 @@
120798
121111
  }
120799
121112
  ];
120800
121113
 
121114
+ /**
121115
+ * @type {ReplaceOption[]}
121116
+ */
120801
121117
  var DATA_STORE_REFERENCE = [
120802
121118
  {
120803
121119
  label: 'Data Object Reference',
@@ -120809,6 +121125,9 @@
120809
121125
  }
120810
121126
  ];
120811
121127
 
121128
+ /**
121129
+ * @type {ReplaceOption[]}
121130
+ */
120812
121131
  var BOUNDARY_EVENT = [
120813
121132
  {
120814
121133
  label: 'Message Boundary Event',
@@ -120934,6 +121253,9 @@
120934
121253
  }
120935
121254
  ];
120936
121255
 
121256
+ /**
121257
+ * @type {ReplaceOption[]}
121258
+ */
120937
121259
  var EVENT_SUB_PROCESS_START_EVENT = [
120938
121260
  {
120939
121261
  label: 'Message Start Event',
@@ -121050,6 +121372,9 @@
121050
121372
  }
121051
121373
  ];
121052
121374
 
121375
+ /**
121376
+ * @type {ReplaceOption[]}
121377
+ */
121053
121378
  var SEQUENCE_FLOW = [
121054
121379
  {
121055
121380
  label: 'Sequence Flow',
@@ -121068,6 +121393,9 @@
121068
121393
  }
121069
121394
  ];
121070
121395
 
121396
+ /**
121397
+ * @type {ReplaceOption[]}
121398
+ */
121071
121399
  var PARTICIPANT = [
121072
121400
  {
121073
121401
  label: 'Expanded Pool',