camunda-bpmn-js 4.16.0 → 4.18.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.
Files changed (51) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +88 -88
  3. package/dist/assets/base-modeler.css +5 -5
  4. package/dist/assets/base-navigated-viewer.css +1 -1
  5. package/dist/assets/base-viewer.css +1 -1
  6. package/dist/assets/camunda-cloud-modeler.css +2 -2
  7. package/dist/assets/camunda-platform-modeler.css +1 -1
  8. package/dist/assets/properties-panel.css +1505 -1505
  9. package/dist/base-modeler.development.js +615 -596
  10. package/dist/base-modeler.production.min.js +3 -3
  11. package/dist/camunda-cloud-modeler.development.js +1135 -969
  12. package/dist/camunda-cloud-modeler.production.min.js +7 -7
  13. package/dist/camunda-cloud-navigated-viewer.development.js +58 -40
  14. package/dist/camunda-cloud-navigated-viewer.production.min.js +1 -1
  15. package/dist/camunda-cloud-viewer.development.js +58 -40
  16. package/dist/camunda-cloud-viewer.production.min.js +1 -1
  17. package/dist/camunda-platform-modeler.development.js +989 -964
  18. package/dist/camunda-platform-modeler.production.min.js +3 -3
  19. package/dist/camunda-platform-navigated-viewer.development.js +27 -27
  20. package/dist/camunda-platform-viewer.development.js +27 -27
  21. package/lib/base/Modeler.d.ts +20 -20
  22. package/lib/base/Modeler.js +65 -65
  23. package/lib/base/NavigatedViewer.d.ts +2 -2
  24. package/lib/base/NavigatedViewer.js +2 -2
  25. package/lib/base/Viewer.d.ts +2 -2
  26. package/lib/base/Viewer.js +2 -2
  27. package/lib/camunda-cloud/ElementTemplatesValidator.d.ts +1 -1
  28. package/lib/camunda-cloud/Modeler.d.ts +3 -3
  29. package/lib/camunda-cloud/Modeler.js +84 -84
  30. package/lib/camunda-cloud/NavigatedViewer.d.ts +9 -9
  31. package/lib/camunda-cloud/NavigatedViewer.js +36 -36
  32. package/lib/camunda-cloud/Viewer.d.ts +9 -9
  33. package/lib/camunda-cloud/Viewer.js +36 -36
  34. package/lib/camunda-cloud/util/commonModules.d.ts +9 -9
  35. package/lib/camunda-cloud/util/commonModules.js +15 -15
  36. package/lib/camunda-platform/Modeler.d.ts +3 -3
  37. package/lib/camunda-platform/Modeler.js +68 -68
  38. package/lib/camunda-platform/NavigatedViewer.d.ts +9 -9
  39. package/lib/camunda-platform/NavigatedViewer.js +27 -27
  40. package/lib/camunda-platform/Viewer.d.ts +9 -9
  41. package/lib/camunda-platform/Viewer.js +27 -27
  42. package/lib/camunda-platform/util/commonModules.d.ts +9 -9
  43. package/lib/camunda-platform/util/commonModules.js +11 -11
  44. package/lib/util/ExtensionElementsUtil.d.ts +24 -24
  45. package/lib/util/ExtensionElementsUtil.js +68 -68
  46. package/package.json +140 -140
  47. package/styles/base-modeler.css +5 -5
  48. package/styles/base-navigated-viewer.css +1 -1
  49. package/styles/base-viewer.css +1 -1
  50. package/styles/camunda-cloud-modeler.css +2 -2
  51. package/styles/camunda-platform-modeler.css +1 -1
@@ -27687,29 +27687,34 @@
27687
27687
  * Update context pad position.
27688
27688
  */
27689
27689
  ContextPad.prototype._updatePosition = function() {
27690
- if (!this.isOpen()) {
27691
- return;
27692
- }
27693
27690
 
27694
- var html = this._current.html;
27691
+ const updateFn = () => {
27692
+ if (!this.isOpen()) {
27693
+ return;
27694
+ }
27695
27695
 
27696
- var position = this._getPosition(this._current.target);
27696
+ var html = this._current.html;
27697
27697
 
27698
- if ('x' in position && 'y' in position) {
27699
- html.style.left = position.x + 'px';
27700
- html.style.top = position.y + 'px';
27701
- } else {
27702
- [
27703
- 'top',
27704
- 'right',
27705
- 'bottom',
27706
- 'left'
27707
- ].forEach(function(key) {
27708
- if (key in position) {
27709
- html.style[ key ] = position[ key ] + 'px';
27710
- }
27711
- });
27712
- }
27698
+ var position = this._getPosition(this._current.target);
27699
+
27700
+ if ('x' in position && 'y' in position) {
27701
+ html.style.left = position.x + 'px';
27702
+ html.style.top = position.y + 'px';
27703
+ } else {
27704
+ [
27705
+ 'top',
27706
+ 'right',
27707
+ 'bottom',
27708
+ 'left'
27709
+ ].forEach(function(key) {
27710
+ if (key in position) {
27711
+ html.style[ key ] = position[ key ] + 'px';
27712
+ }
27713
+ });
27714
+ }
27715
+ };
27716
+
27717
+ this._scheduler.schedule(updateFn, 'ContextPad#_updatePosition');
27713
27718
  };
27714
27719
 
27715
27720
  /**
@@ -44915,9 +44920,16 @@
44915
44920
  hints.moveChildren = false;
44916
44921
  }
44917
44922
 
44918
- // apply same width and default height
44919
- newElement.width = element.width;
44920
- newElement.height = elementFactory.getDefaultSize(newElement).height;
44923
+ // apply same directionality
44924
+ var isHorizontalPool = isHorizontal$3(element);
44925
+ if (!getDi$1(element).isHorizontal) {
44926
+ getDi$1(newElement).isHorizontal = isHorizontalPool;
44927
+ }
44928
+
44929
+ // keep the existing size of the pool's direction to
44930
+ // prevent dangling message flows
44931
+ newElement.width = isHorizontalPool ? element.width : elementFactory.getDefaultSize(newElement).width;
44932
+ newElement.height = isHorizontalPool ? elementFactory.getDefaultSize(newElement).height : element.height;
44921
44933
  }
44922
44934
 
44923
44935
  if (!rules.allowed('shape.resize', { shape: newBusinessObject })) {
@@ -48603,10 +48615,17 @@
48603
48615
  }
48604
48616
 
48605
48617
  if (is$6(bo, 'bpmn:Participant')) {
48618
+ var isHorizontalPool = di.isHorizontal === undefined || di.isHorizontal === true;
48606
48619
  if (isExpanded$1(bo, di)) {
48607
- return { width: 600, height: 250 };
48620
+ if (isHorizontalPool) {
48621
+ return { width: 600, height: 250 };
48622
+ }
48623
+ return { width: 250, height: 600 };
48608
48624
  } else {
48609
- return { width: 400, height: 60 };
48625
+ if (isHorizontalPool) {
48626
+ return { width: 400, height: 60 };
48627
+ }
48628
+ return { width: 60, height: 400 };
48610
48629
  }
48611
48630
  }
48612
48631
 
@@ -108001,19 +108020,19 @@
108001
108020
  errors: {}
108002
108021
  });
108003
108022
 
108004
- /**
108005
- * @typedef {Function} <propertiesPanel.showEntry> callback
108006
- *
108007
- * @example
108008
- *
108009
- * useEvent('propertiesPanel.showEntry', ({ focus = false, ...rest }) => {
108010
- * // ...
108011
- * });
108012
- *
108013
- * @param {Object} context
108014
- * @param {boolean} [context.focus]
108015
- *
108016
- * @returns void
108023
+ /**
108024
+ * @typedef {Function} <propertiesPanel.showEntry> callback
108025
+ *
108026
+ * @example
108027
+ *
108028
+ * useEvent('propertiesPanel.showEntry', ({ focus = false, ...rest }) => {
108029
+ * // ...
108030
+ * });
108031
+ *
108032
+ * @param {Object} context
108033
+ * @param {boolean} [context.focus]
108034
+ *
108035
+ * @returns void
108017
108036
  */
108018
108037
 
108019
108038
  const EventContext = F$3({
@@ -108032,20 +108051,20 @@
108032
108051
  getTooltipForId: () => {}
108033
108052
  });
108034
108053
 
108035
- /**
108036
- * Accesses the global TooltipContext and returns a tooltip for a given id and element.
108037
- *
108038
- * @example
108039
- * ```jsx
108040
- * function TextField(props) {
108041
- * const tooltip = useTooltipContext('input1', element);
108042
- * }
108043
- * ```
108044
- *
108045
- * @param {string} id
108046
- * @param {object} element
108047
- *
108048
- * @returns {string}
108054
+ /**
108055
+ * Accesses the global TooltipContext and returns a tooltip for a given id and element.
108056
+ *
108057
+ * @example
108058
+ * ```jsx
108059
+ * function TextField(props) {
108060
+ * const tooltip = useTooltipContext('input1', element);
108061
+ * }
108062
+ * ```
108063
+ *
108064
+ * @param {string} id
108065
+ * @param {object} element
108066
+ *
108067
+ * @returns {string}
108049
108068
  */
108050
108069
  function useTooltipContext(id, element) {
108051
108070
  const {
@@ -108198,20 +108217,20 @@
108198
108217
  return `bio-properties-panel-${id}`;
108199
108218
  }
108200
108219
 
108201
- /**
108202
- * Accesses the global DescriptionContext and returns a description for a given id and element.
108203
- *
108204
- * @example
108205
- * ```jsx
108206
- * function TextField(props) {
108207
- * const description = useDescriptionContext('input1', element);
108208
- * }
108209
- * ```
108210
- *
108211
- * @param {string} id
108212
- * @param {object} element
108213
- *
108214
- * @returns {string}
108220
+ /**
108221
+ * Accesses the global DescriptionContext and returns a description for a given id and element.
108222
+ *
108223
+ * @example
108224
+ * ```jsx
108225
+ * function TextField(props) {
108226
+ * const description = useDescriptionContext('input1', element);
108227
+ * }
108228
+ * ```
108229
+ *
108230
+ * @param {string} id
108231
+ * @param {object} element
108232
+ *
108233
+ * @returns {string}
108215
108234
  */
108216
108235
  function useDescriptionContext(id, element) {
108217
108236
  const {
@@ -108233,11 +108252,11 @@
108233
108252
  return errors;
108234
108253
  }
108235
108254
 
108236
- /**
108237
- * Subscribe to an event immediately. Update subscription after inputs changed.
108238
- *
108239
- * @param {string} event
108240
- * @param {Function} callback
108255
+ /**
108256
+ * Subscribe to an event immediately. Update subscription after inputs changed.
108257
+ *
108258
+ * @param {string} event
108259
+ * @param {Function} callback
108241
108260
  */
108242
108261
  function useEvent(event, callback, eventBus) {
108243
108262
  const eventContext = q$1(EventContext);
@@ -108267,20 +108286,20 @@
108267
108286
  }, [callback, event, eventBus]);
108268
108287
  }
108269
108288
 
108270
- /**
108271
- * Creates a state that persists in the global LayoutContext.
108272
- *
108273
- * @example
108274
- * ```jsx
108275
- * function Group(props) {
108276
- * const [ open, setOpen ] = useLayoutState([ 'groups', 'foo', 'open' ], false);
108277
- * }
108278
- * ```
108279
- *
108280
- * @param {(string|number)[]} path
108281
- * @param {any} [defaultValue]
108282
- *
108283
- * @returns {[ any, Function ]}
108289
+ /**
108290
+ * Creates a state that persists in the global LayoutContext.
108291
+ *
108292
+ * @example
108293
+ * ```jsx
108294
+ * function Group(props) {
108295
+ * const [ open, setOpen ] = useLayoutState([ 'groups', 'foo', 'open' ], false);
108296
+ * }
108297
+ * ```
108298
+ *
108299
+ * @param {(string|number)[]} path
108300
+ * @param {any} [defaultValue]
108301
+ *
108302
+ * @returns {[ any, Function ]}
108284
108303
  */
108285
108304
  function useLayoutState(path, defaultValue) {
108286
108305
  const {
@@ -108294,11 +108313,11 @@
108294
108313
  return [layoutForKey, setState];
108295
108314
  }
108296
108315
 
108297
- /**
108298
- * @pinussilvestrus: we need to introduce our own hook to persist the previous
108299
- * state on updates.
108300
- *
108301
- * cf. https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state
108316
+ /**
108317
+ * @pinussilvestrus: we need to introduce our own hook to persist the previous
108318
+ * state on updates.
108319
+ *
108320
+ * cf. https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state
108302
108321
  */
108303
108322
 
108304
108323
  function usePrevious$1(value) {
@@ -108309,12 +108328,12 @@
108309
108328
  return ref.current;
108310
108329
  }
108311
108330
 
108312
- /**
108313
- * Subscribe to `propertiesPanel.showEntry`.
108314
- *
108315
- * @param {string} id
108316
- *
108317
- * @returns {import('preact').Ref}
108331
+ /**
108332
+ * Subscribe to `propertiesPanel.showEntry`.
108333
+ *
108334
+ * @param {string} id
108335
+ *
108336
+ * @returns {import('preact').Ref}
108318
108337
  */
108319
108338
  function useShowEntryEvent(id) {
108320
108339
  const {
@@ -108345,20 +108364,20 @@
108345
108364
  return ref;
108346
108365
  }
108347
108366
 
108348
- /**
108349
- * @callback setSticky
108350
- * @param {boolean} value
108367
+ /**
108368
+ * @callback setSticky
108369
+ * @param {boolean} value
108351
108370
  */
108352
108371
 
108353
- /**
108354
- * Use IntersectionObserver to identify when DOM element is in sticky mode.
108355
- * If sticky is observered setSticky(true) will be called.
108356
- * If sticky mode is left, setSticky(false) will be called.
108357
- *
108358
- *
108359
- * @param {Object} ref
108360
- * @param {string} scrollContainerSelector
108361
- * @param {setSticky} setSticky
108372
+ /**
108373
+ * Use IntersectionObserver to identify when DOM element is in sticky mode.
108374
+ * If sticky is observered setSticky(true) will be called.
108375
+ * If sticky mode is left, setSticky(false) will be called.
108376
+ *
108377
+ *
108378
+ * @param {Object} ref
108379
+ * @param {string} scrollContainerSelector
108380
+ * @param {setSticky} setSticky
108362
108381
  */
108363
108382
  function useStickyIntersectionObserver(ref, scrollContainerSelector, setSticky) {
108364
108383
  const [scrollContainer, setScrollContainer] = h(query$1(scrollContainerSelector));
@@ -108412,19 +108431,19 @@
108412
108431
  }, [ref.current, scrollContainer, setSticky]);
108413
108432
  }
108414
108433
 
108415
- /**
108416
- * Creates a static function reference with changing body.
108417
- * This is necessary when external libraries require a callback function
108418
- * that has references to state variables.
108419
- *
108420
- * Usage:
108421
- * const callback = useStaticCallback((val) => {val === currentState});
108422
- *
108423
- * The `callback` reference is static and can be safely used in external
108424
- * libraries or as a prop that does not cause rerendering of children.
108425
- *
108426
- * @param {Function} callback function with changing reference
108427
- * @returns {Function} static function reference
108434
+ /**
108435
+ * Creates a static function reference with changing body.
108436
+ * This is necessary when external libraries require a callback function
108437
+ * that has references to state variables.
108438
+ *
108439
+ * Usage:
108440
+ * const callback = useStaticCallback((val) => {val === currentState});
108441
+ *
108442
+ * The `callback` reference is static and can be safely used in external
108443
+ * libraries or as a prop that does not cause rerendering of children.
108444
+ *
108445
+ * @param {Function} callback function with changing reference
108446
+ * @returns {Function} static function reference
108428
108447
  */
108429
108448
  function useStaticCallback(callback) {
108430
108449
  const callbackRef = _$1(callback);
@@ -108567,13 +108586,13 @@
108567
108586
  return null;
108568
108587
  }
108569
108588
 
108570
- /**
108571
- * @typedef { {
108572
- * text: (element: object) => string,
108573
- * icon?: (element: Object) => import('preact').Component
108574
- * } } PlaceholderDefinition
108575
- *
108576
- * @param { PlaceholderDefinition } props
108589
+ /**
108590
+ * @typedef { {
108591
+ * text: (element: object) => string,
108592
+ * icon?: (element: Object) => import('preact').Component
108593
+ * } } PlaceholderDefinition
108594
+ *
108595
+ * @param { PlaceholderDefinition } props
108577
108596
  */
108578
108597
  function Placeholder(props) {
108579
108598
  const {
@@ -108612,9 +108631,9 @@
108612
108631
 
108613
108632
  const noop$6 = () => {};
108614
108633
 
108615
- /**
108616
- * Buffer `.focus()` calls while the editor is not initialized.
108617
- * Set Focus inside when the editor is ready.
108634
+ /**
108635
+ * Buffer `.focus()` calls while the editor is not initialized.
108636
+ * Set Focus inside when the editor is ready.
108618
108637
  */
108619
108638
  const useBufferedFocus$1 = function (editor, ref) {
108620
108639
  const [buffer, setBuffer] = h(undefined);
@@ -108715,9 +108734,9 @@
108715
108734
 
108716
108735
  const noop$5 = () => {};
108717
108736
 
108718
- /**
108719
- * Buffer `.focus()` calls while the editor is not initialized.
108720
- * Set Focus inside when the editor is ready.
108737
+ /**
108738
+ * Buffer `.focus()` calls while the editor is not initialized.
108739
+ * Set Focus inside when the editor is ready.
108721
108740
  */
108722
108741
  const useBufferedFocus = function (editor, ref) {
108723
108742
  const [buffer, setBuffer] = h(undefined);
@@ -108766,10 +108785,10 @@
108766
108785
  p$1(() => {
108767
108786
  let editor;
108768
108787
 
108769
- /* Trigger FEEL toggle when
108770
- *
108771
- * - `backspace` is pressed
108772
- * - AND the cursor is at the beginning of the input
108788
+ /* Trigger FEEL toggle when
108789
+ *
108790
+ * - `backspace` is pressed
108791
+ * - AND the cursor is at the beginning of the input
108773
108792
  */
108774
108793
  const onKeyDown = e => {
108775
108794
  if (e.key !== 'Backspace' || !editor) {
@@ -108860,10 +108879,10 @@
108860
108879
 
108861
108880
  const noop$4 = () => {};
108862
108881
 
108863
- /**
108864
- * @param {Object} props
108865
- * @param {Object} props.label
108866
- * @param {String} props.feel
108882
+ /**
108883
+ * @param {Object} props
108884
+ * @param {Object} props.label
108885
+ * @param {String} props.feel
108867
108886
  */
108868
108887
  function FeelIcon(props) {
108869
108888
  const {
@@ -108898,22 +108917,22 @@
108898
108917
  source: null
108899
108918
  });
108900
108919
 
108901
- /**
108902
- * Add a dragger that calls back the passed function with
108903
- * { event, delta } on drag.
108904
- *
108905
- * @example
108906
- *
108907
- * function dragMove(event, delta) {
108908
- * // we are dragging (!!)
108909
- * }
108910
- *
108911
- * domElement.addEventListener('dragstart', dragger(dragMove));
108912
- *
108913
- * @param {Function} fn
108914
- * @param {Element} [dragPreview]
108915
- *
108916
- * @return {Function} drag start callback function
108920
+ /**
108921
+ * Add a dragger that calls back the passed function with
108922
+ * { event, delta } on drag.
108923
+ *
108924
+ * @example
108925
+ *
108926
+ * function dragMove(event, delta) {
108927
+ * // we are dragging (!!)
108928
+ * }
108929
+ *
108930
+ * domElement.addEventListener('dragstart', dragger(dragMove));
108931
+ *
108932
+ * @param {Function} fn
108933
+ * @param {Element} [dragPreview]
108934
+ *
108935
+ * @return {Function} drag start callback function
108917
108936
  */
108918
108937
  function createDragger(fn, dragPreview) {
108919
108938
  let self;
@@ -108968,23 +108987,23 @@
108968
108987
 
108969
108988
  const noop$3 = () => {};
108970
108989
 
108971
- /**
108972
- * A generic popup component.
108973
- *
108974
- * @param {Object} props
108975
- * @param {HTMLElement} [props.container]
108976
- * @param {string} [props.className]
108977
- * @param {boolean} [props.delayInitialFocus]
108978
- * @param {{x: number, y: number}} [props.position]
108979
- * @param {number} [props.width]
108980
- * @param {number} [props.height]
108981
- * @param {Function} props.onClose
108982
- * @param {Function} [props.onPostActivate]
108983
- * @param {Function} [props.onPostDeactivate]
108984
- * @param {boolean} [props.returnFocus]
108985
- * @param {boolean} [props.closeOnEscape]
108986
- * @param {string} props.title
108987
- * @param {Ref} [ref]
108990
+ /**
108991
+ * A generic popup component.
108992
+ *
108993
+ * @param {Object} props
108994
+ * @param {HTMLElement} [props.container]
108995
+ * @param {string} [props.className]
108996
+ * @param {boolean} [props.delayInitialFocus]
108997
+ * @param {{x: number, y: number}} [props.position]
108998
+ * @param {number} [props.width]
108999
+ * @param {number} [props.height]
109000
+ * @param {Function} props.onClose
109001
+ * @param {Function} [props.onPostActivate]
109002
+ * @param {Function} [props.onPostDeactivate]
109003
+ * @param {boolean} [props.returnFocus]
109004
+ * @param {boolean} [props.closeOnEscape]
109005
+ * @param {string} props.title
109006
+ * @param {Ref} [ref]
108988
109007
  */
108989
109008
  function PopupComponent(props, globalRef) {
108990
109009
  const {
@@ -109203,12 +109222,12 @@
109203
109222
  const FEEL_POPUP_WIDTH = 700;
109204
109223
  const FEEL_POPUP_HEIGHT = 250;
109205
109224
 
109206
- /**
109207
- * FEEL popup component, built as a singleton. Emits lifecycle events as follows:
109208
- * - `feelPopup.open` - fired before the popup is mounted
109209
- * - `feelPopup.opened` - fired after the popup is mounted. Event context contains the DOM node of the popup
109210
- * - `feelPopup.close` - fired before the popup is unmounted. Event context contains the DOM node of the popup
109211
- * - `feelPopup.closed` - fired after the popup is unmounted
109225
+ /**
109226
+ * FEEL popup component, built as a singleton. Emits lifecycle events as follows:
109227
+ * - `feelPopup.open` - fired before the popup is mounted
109228
+ * - `feelPopup.opened` - fired after the popup is mounted. Event context contains the DOM node of the popup
109229
+ * - `feelPopup.close` - fired before the popup is unmounted. Event context contains the DOM node of the popup
109230
+ * - `feelPopup.closed` - fired after the popup is unmounted
109212
109231
  */
109213
109232
  function FEELPopupRoot(props) {
109214
109233
  const {
@@ -109431,11 +109450,11 @@
109431
109450
  return element.closest('.cm-editor').querySelector('.cm-tooltip-autocomplete');
109432
109451
  }
109433
109452
 
109434
- /**
109435
- * This hook behaves like useEffect, but does not trigger on the first render.
109436
- *
109437
- * @param {Function} effect
109438
- * @param {Array} deps
109453
+ /**
109454
+ * This hook behaves like useEffect, but does not trigger on the first render.
109455
+ *
109456
+ * @param {Function} effect
109457
+ * @param {Array} deps
109439
109458
  */
109440
109459
  function useUpdateEffect(effect, deps) {
109441
109460
  const isMounted = _$1(false);
@@ -109513,19 +109532,19 @@
109513
109532
  });
109514
109533
  }
109515
109534
 
109516
- /**
109517
- * @param {Object} props
109518
- * @param {Object} props.element
109519
- * @param {String} props.id
109520
- * @param {String} props.description
109521
- * @param {String} props.label
109522
- * @param {String} props.switcherLabel
109523
- * @param {Boolean} props.inline
109524
- * @param {Function} props.getValue
109525
- * @param {Function} props.setValue
109526
- * @param {Function} props.onFocus
109527
- * @param {Function} props.onBlur
109528
- * @param {string|import('preact').Component} props.tooltip
109535
+ /**
109536
+ * @param {Object} props
109537
+ * @param {Object} props.element
109538
+ * @param {String} props.id
109539
+ * @param {String} props.description
109540
+ * @param {String} props.label
109541
+ * @param {String} props.switcherLabel
109542
+ * @param {Boolean} props.inline
109543
+ * @param {Function} props.getValue
109544
+ * @param {Function} props.setValue
109545
+ * @param {Function} props.onFocus
109546
+ * @param {Function} props.onBlur
109547
+ * @param {string|import('preact').Component} props.tooltip
109529
109548
  */
109530
109549
  function ToggleSwitchEntry(props) {
109531
109550
  const {
@@ -109633,22 +109652,22 @@
109633
109652
  });
109634
109653
  }
109635
109654
 
109636
- /**
109637
- * @param {Object} props
109638
- * @param {Boolean} props.debounce
109639
- * @param {String} props.description
109640
- * @param {Boolean} props.disabled
109641
- * @param {Object} props.element
109642
- * @param {Function} props.getValue
109643
- * @param {String} props.id
109644
- * @param {String} props.label
109645
- * @param {String} props.max
109646
- * @param {String} props.min
109647
- * @param {Function} props.setValue
109648
- * @param {Function} props.onFocus
109649
- * @param {Function} props.onBlur
109650
- * @param {String} props.step
109651
- * @param {Function} props.validate
109655
+ /**
109656
+ * @param {Object} props
109657
+ * @param {Boolean} props.debounce
109658
+ * @param {String} props.description
109659
+ * @param {Boolean} props.disabled
109660
+ * @param {Object} props.element
109661
+ * @param {Function} props.getValue
109662
+ * @param {String} props.id
109663
+ * @param {String} props.label
109664
+ * @param {String} props.max
109665
+ * @param {String} props.min
109666
+ * @param {Function} props.setValue
109667
+ * @param {Function} props.onFocus
109668
+ * @param {Function} props.onBlur
109669
+ * @param {String} props.step
109670
+ * @param {Function} props.validate
109652
109671
  */
109653
109672
  function NumberFieldEntry(props) {
109654
109673
  const {
@@ -110133,26 +110152,26 @@
110133
110152
  });
110134
110153
  });
110135
110154
 
110136
- /**
110137
- * @param {Object} props
110138
- * @param {Object} props.element
110139
- * @param {String} props.id
110140
- * @param {String} props.description
110141
- * @param {Boolean} props.debounce
110142
- * @param {Boolean} props.disabled
110143
- * @param {Boolean} props.feel
110144
- * @param {String} props.label
110145
- * @param {Function} props.getValue
110146
- * @param {Function} props.setValue
110147
- * @param {Function} props.tooltipContainer
110148
- * @param {Function} props.validate
110149
- * @param {Function} props.show
110150
- * @param {Function} props.example
110151
- * @param {Function} props.variables
110152
- * @param {Function} props.onFocus
110153
- * @param {Function} props.onBlur
110154
- * @param {string} [props.placeholder]
110155
- * @param {string|import('preact').Component} props.tooltip
110155
+ /**
110156
+ * @param {Object} props
110157
+ * @param {Object} props.element
110158
+ * @param {String} props.id
110159
+ * @param {String} props.description
110160
+ * @param {Boolean} props.debounce
110161
+ * @param {Boolean} props.disabled
110162
+ * @param {Boolean} props.feel
110163
+ * @param {String} props.label
110164
+ * @param {Function} props.getValue
110165
+ * @param {Function} props.setValue
110166
+ * @param {Function} props.tooltipContainer
110167
+ * @param {Function} props.validate
110168
+ * @param {Function} props.show
110169
+ * @param {Function} props.example
110170
+ * @param {Function} props.variables
110171
+ * @param {Function} props.onFocus
110172
+ * @param {Function} props.onBlur
110173
+ * @param {string} [props.placeholder]
110174
+ * @param {string|import('preact').Component} props.tooltip
110156
110175
  */
110157
110176
  function FeelEntry$2(props) {
110158
110177
  const {
@@ -110239,27 +110258,27 @@
110239
110258
  });
110240
110259
  }
110241
110260
 
110242
- /**
110243
- * @param {Object} props
110244
- * @param {Object} props.element
110245
- * @param {String} props.id
110246
- * @param {String} props.description
110247
- * @param {Boolean} props.debounce
110248
- * @param {Boolean} props.disabled
110249
- * @param {String} props.max
110250
- * @param {String} props.min
110251
- * @param {String} props.step
110252
- * @param {Boolean} props.feel
110253
- * @param {String} props.label
110254
- * @param {Function} props.getValue
110255
- * @param {Function} props.setValue
110256
- * @param {Function} props.tooltipContainer
110257
- * @param {Function} props.validate
110258
- * @param {Function} props.show
110259
- * @param {Function} props.example
110260
- * @param {Function} props.variables
110261
- * @param {Function} props.onFocus
110262
- * @param {Function} props.onBlur
110261
+ /**
110262
+ * @param {Object} props
110263
+ * @param {Object} props.element
110264
+ * @param {String} props.id
110265
+ * @param {String} props.description
110266
+ * @param {Boolean} props.debounce
110267
+ * @param {Boolean} props.disabled
110268
+ * @param {String} props.max
110269
+ * @param {String} props.min
110270
+ * @param {String} props.step
110271
+ * @param {Boolean} props.feel
110272
+ * @param {String} props.label
110273
+ * @param {Function} props.getValue
110274
+ * @param {Function} props.setValue
110275
+ * @param {Function} props.tooltipContainer
110276
+ * @param {Function} props.validate
110277
+ * @param {Function} props.show
110278
+ * @param {Function} props.example
110279
+ * @param {Function} props.variables
110280
+ * @param {Function} props.onFocus
110281
+ * @param {Function} props.onBlur
110263
110282
  */
110264
110283
  function FeelNumberEntry(props) {
110265
110284
  return u(FeelEntry$2, {
@@ -110269,25 +110288,25 @@
110269
110288
  });
110270
110289
  }
110271
110290
 
110272
- /**
110273
- * @param {Object} props
110274
- * @param {Object} props.element
110275
- * @param {String} props.id
110276
- * @param {String} props.description
110277
- * @param {Boolean} props.debounce
110278
- * @param {Boolean} props.disabled
110279
- * @param {Boolean} props.feel
110280
- * @param {String} props.label
110281
- * @param {Function} props.getValue
110282
- * @param {Function} props.setValue
110283
- * @param {Function} props.tooltipContainer
110284
- * @param {Function} props.validate
110285
- * @param {Function} props.show
110286
- * @param {Function} props.example
110287
- * @param {Function} props.variables
110288
- * @param {Function} props.onFocus
110289
- * @param {Function} props.onBlur
110290
- * @param {string} [props.placeholder]
110291
+ /**
110292
+ * @param {Object} props
110293
+ * @param {Object} props.element
110294
+ * @param {String} props.id
110295
+ * @param {String} props.description
110296
+ * @param {Boolean} props.debounce
110297
+ * @param {Boolean} props.disabled
110298
+ * @param {Boolean} props.feel
110299
+ * @param {String} props.label
110300
+ * @param {Function} props.getValue
110301
+ * @param {Function} props.setValue
110302
+ * @param {Function} props.tooltipContainer
110303
+ * @param {Function} props.validate
110304
+ * @param {Function} props.show
110305
+ * @param {Function} props.example
110306
+ * @param {Function} props.variables
110307
+ * @param {Function} props.onFocus
110308
+ * @param {Function} props.onBlur
110309
+ * @param {string} [props.placeholder]
110291
110310
  */
110292
110311
  function FeelTextAreaEntry$1(props) {
110293
110312
  return u(FeelEntry$2, {
@@ -110297,24 +110316,24 @@
110297
110316
  });
110298
110317
  }
110299
110318
 
110300
- /**
110301
- * @param {Object} props
110302
- * @param {Object} props.element
110303
- * @param {String} props.id
110304
- * @param {String} props.description
110305
- * @param {Boolean} props.debounce
110306
- * @param {Boolean} props.disabled
110307
- * @param {Boolean} props.feel
110308
- * @param {String} props.label
110309
- * @param {Function} props.getValue
110310
- * @param {Function} props.setValue
110311
- * @param {Function} props.tooltipContainer
110312
- * @param {Function} props.validate
110313
- * @param {Function} props.show
110314
- * @param {Function} props.example
110315
- * @param {Function} props.variables
110316
- * @param {Function} props.onFocus
110317
- * @param {Function} props.onBlur
110319
+ /**
110320
+ * @param {Object} props
110321
+ * @param {Object} props.element
110322
+ * @param {String} props.id
110323
+ * @param {String} props.description
110324
+ * @param {Boolean} props.debounce
110325
+ * @param {Boolean} props.disabled
110326
+ * @param {Boolean} props.feel
110327
+ * @param {String} props.label
110328
+ * @param {Function} props.getValue
110329
+ * @param {Function} props.setValue
110330
+ * @param {Function} props.tooltipContainer
110331
+ * @param {Function} props.validate
110332
+ * @param {Function} props.show
110333
+ * @param {Function} props.example
110334
+ * @param {Function} props.variables
110335
+ * @param {Function} props.onFocus
110336
+ * @param {Function} props.onBlur
110318
110337
  */
110319
110338
  function FeelCheckboxEntry(props) {
110320
110339
  return u(FeelEntry$2, {
@@ -110383,84 +110402,84 @@
110383
110402
  const DEFAULT_DESCRIPTION = {};
110384
110403
  const DEFAULT_TOOLTIP = {};
110385
110404
 
110386
- /**
110387
- * @typedef { {
110388
- * component: import('preact').Component,
110389
- * id: String,
110390
- * isEdited?: Function
110391
- * } } EntryDefinition
110392
- *
110393
- * @typedef { {
110394
- * autoFocusEntry: String,
110395
- * autoOpen?: Boolean,
110396
- * entries: Array<EntryDefinition>,
110397
- * id: String,
110398
- * label: String,
110399
- * remove: (event: MouseEvent) => void
110400
- * } } ListItemDefinition
110401
- *
110402
- * @typedef { {
110403
- * add: (event: MouseEvent) => void,
110404
- * component: import('preact').Component,
110405
- * element: Object,
110406
- * id: String,
110407
- * items: Array<ListItemDefinition>,
110408
- * label: String,
110409
- * shouldOpen?: Boolean
110410
- * } } ListGroupDefinition
110411
- *
110412
- * @typedef { {
110413
- * component?: import('preact').Component,
110414
- * entries: Array<EntryDefinition>,
110415
- * id: String,
110416
- * label: String,
110417
- * shouldOpen?: Boolean
110418
- * } } GroupDefinition
110419
- *
110420
- * @typedef { {
110421
- * [id: String]: GetDescriptionFunction
110422
- * } } DescriptionConfig
110423
- *
110424
- * @typedef { {
110425
- * [id: String]: GetTooltipFunction
110426
- * } } TooltipConfig
110427
- *
110428
- * @callback { {
110429
- * @param {string} id
110430
- * @param {Object} element
110431
- * @returns {string}
110432
- * } } GetDescriptionFunction
110433
- *
110434
- * @callback { {
110435
- * @param {string} id
110436
- * @param {Object} element
110437
- * @returns {string}
110438
- * } } GetTooltipFunction
110439
- *
110440
- * @typedef { {
110441
- * getEmpty: (element: object) => import('./components/Placeholder').PlaceholderDefinition,
110442
- * getMultiple: (element: Object) => import('./components/Placeholder').PlaceholderDefinition
110443
- * } } PlaceholderProvider
110444
- *
110405
+ /**
110406
+ * @typedef { {
110407
+ * component: import('preact').Component,
110408
+ * id: String,
110409
+ * isEdited?: Function
110410
+ * } } EntryDefinition
110411
+ *
110412
+ * @typedef { {
110413
+ * autoFocusEntry: String,
110414
+ * autoOpen?: Boolean,
110415
+ * entries: Array<EntryDefinition>,
110416
+ * id: String,
110417
+ * label: String,
110418
+ * remove: (event: MouseEvent) => void
110419
+ * } } ListItemDefinition
110420
+ *
110421
+ * @typedef { {
110422
+ * add: (event: MouseEvent) => void,
110423
+ * component: import('preact').Component,
110424
+ * element: Object,
110425
+ * id: String,
110426
+ * items: Array<ListItemDefinition>,
110427
+ * label: String,
110428
+ * shouldOpen?: Boolean
110429
+ * } } ListGroupDefinition
110430
+ *
110431
+ * @typedef { {
110432
+ * component?: import('preact').Component,
110433
+ * entries: Array<EntryDefinition>,
110434
+ * id: String,
110435
+ * label: String,
110436
+ * shouldOpen?: Boolean
110437
+ * } } GroupDefinition
110438
+ *
110439
+ * @typedef { {
110440
+ * [id: String]: GetDescriptionFunction
110441
+ * } } DescriptionConfig
110442
+ *
110443
+ * @typedef { {
110444
+ * [id: String]: GetTooltipFunction
110445
+ * } } TooltipConfig
110446
+ *
110447
+ * @callback { {
110448
+ * @param {string} id
110449
+ * @param {Object} element
110450
+ * @returns {string}
110451
+ * } } GetDescriptionFunction
110452
+ *
110453
+ * @callback { {
110454
+ * @param {string} id
110455
+ * @param {Object} element
110456
+ * @returns {string}
110457
+ * } } GetTooltipFunction
110458
+ *
110459
+ * @typedef { {
110460
+ * getEmpty: (element: object) => import('./components/Placeholder').PlaceholderDefinition,
110461
+ * getMultiple: (element: Object) => import('./components/Placeholder').PlaceholderDefinition
110462
+ * } } PlaceholderProvider
110463
+ *
110445
110464
  */
110446
110465
 
110447
- /**
110448
- * A basic properties panel component. Describes *how* content will be rendered, accepts
110449
- * data from implementor to describe *what* will be rendered.
110450
- *
110451
- * @param {Object} props
110452
- * @param {Object|Array} props.element
110453
- * @param {import('./components/Header').HeaderProvider} props.headerProvider
110454
- * @param {PlaceholderProvider} [props.placeholderProvider]
110455
- * @param {Array<GroupDefinition|ListGroupDefinition>} props.groups
110456
- * @param {Object} [props.layoutConfig]
110457
- * @param {Function} [props.layoutChanged]
110458
- * @param {DescriptionConfig} [props.descriptionConfig]
110459
- * @param {Function} [props.descriptionLoaded]
110460
- * @param {TooltipConfig} [props.tooltipConfig]
110461
- * @param {Function} [props.tooltipLoaded]
110462
- * @param {HTMLElement} [props.feelPopupContainer]
110463
- * @param {Object} [props.eventBus]
110466
+ /**
110467
+ * A basic properties panel component. Describes *how* content will be rendered, accepts
110468
+ * data from implementor to describe *what* will be rendered.
110469
+ *
110470
+ * @param {Object} props
110471
+ * @param {Object|Array} props.element
110472
+ * @param {import('./components/Header').HeaderProvider} props.headerProvider
110473
+ * @param {PlaceholderProvider} [props.placeholderProvider]
110474
+ * @param {Array<GroupDefinition|ListGroupDefinition>} props.groups
110475
+ * @param {Object} [props.layoutConfig]
110476
+ * @param {Function} [props.layoutChanged]
110477
+ * @param {DescriptionConfig} [props.descriptionConfig]
110478
+ * @param {Function} [props.descriptionLoaded]
110479
+ * @param {TooltipConfig} [props.tooltipConfig]
110480
+ * @param {Function} [props.tooltipLoaded]
110481
+ * @param {HTMLElement} [props.feelPopupContainer]
110482
+ * @param {Object} [props.eventBus]
110464
110483
  */
110465
110484
  function PropertiesPanel(props) {
110466
110485
  const {
@@ -110631,11 +110650,11 @@
110631
110650
 
110632
110651
  // hooks //////////////////
110633
110652
 
110634
- /**
110635
- * This hook behaves like useLayoutEffect, but does not trigger on the first render.
110636
- *
110637
- * @param {Function} effect
110638
- * @param {Array} deps
110653
+ /**
110654
+ * This hook behaves like useLayoutEffect, but does not trigger on the first render.
110655
+ *
110656
+ * @param {Function} effect
110657
+ * @param {Array} deps
110639
110658
  */
110640
110659
  function useUpdateLayoutEffect(effect, deps) {
110641
110660
  const isMounted = _$1(false);
@@ -110710,15 +110729,15 @@
110710
110729
  });
110711
110730
  }
110712
110731
 
110713
- /**
110714
- *
110715
- * @param {Array<null | Element>} ignoredElements
110716
- * @param {Function} callback
110732
+ /**
110733
+ *
110734
+ * @param {Array<null | Element>} ignoredElements
110735
+ * @param {Function} callback
110717
110736
  */
110718
110737
  function useGlobalClick(ignoredElements, callback) {
110719
110738
  p$1(() => {
110720
- /**
110721
- * @param {MouseEvent} event
110739
+ /**
110740
+ * @param {MouseEvent} event
110722
110741
  */
110723
110742
  function listener(event) {
110724
110743
  if (ignoredElements.some(element => element && element.contains(event.target))) {
@@ -110751,20 +110770,20 @@
110751
110770
  });
110752
110771
  }
110753
110772
 
110754
- /**
110755
- * @typedef { {
110756
- * [key: string]: string;
110757
- * } } TranslateReplacements
110773
+ /**
110774
+ * @typedef { {
110775
+ * [key: string]: string;
110776
+ * } } TranslateReplacements
110758
110777
  */
110759
110778
 
110760
- /**
110761
- * A simple translation stub to be used for multi-language support.
110762
- * Can be easily replaced with a more sophisticated solution.
110763
- *
110764
- * @param {string} template to interpolate
110765
- * @param {TranslateReplacements} [replacements] a map with substitutes
110766
- *
110767
- * @return {string} the translated string
110779
+ /**
110780
+ * A simple translation stub to be used for multi-language support.
110781
+ * Can be easily replaced with a more sophisticated solution.
110782
+ *
110783
+ * @param {string} template to interpolate
110784
+ * @param {TranslateReplacements} [replacements] a map with substitutes
110785
+ *
110786
+ * @return {string} the translated string
110768
110787
  */
110769
110788
  function translateFallback(template, replacements) {
110770
110789
  replacements = replacements || {};
@@ -110876,8 +110895,8 @@
110876
110895
 
110877
110896
  const noop$1$1 = () => {};
110878
110897
 
110879
- /**
110880
- * @param {import('../PropertiesPanel').ListGroupDefinition} props
110898
+ /**
110899
+ * @param {import('../PropertiesPanel').ListGroupDefinition} props
110881
110900
  */
110882
110901
  function ListGroup(props) {
110883
110902
  const {
@@ -111069,18 +111088,18 @@
111069
111088
  });
111070
111089
  }
111071
111090
 
111072
- /**
111073
- * @param {Object} props
111074
- * @param {Object} props.element
111075
- * @param {String} props.id
111076
- * @param {String} props.description
111077
- * @param {String} props.label
111078
- * @param {Function} props.getValue
111079
- * @param {Function} props.setValue
111080
- * @param {Function} props.onFocus
111081
- * @param {Function} props.onBlur
111082
- * @param {string|import('preact').Component} props.tooltip
111083
- * @param {boolean} [props.disabled]
111091
+ /**
111092
+ * @param {Object} props
111093
+ * @param {Object} props.element
111094
+ * @param {String} props.id
111095
+ * @param {String} props.description
111096
+ * @param {String} props.label
111097
+ * @param {Function} props.getValue
111098
+ * @param {Function} props.setValue
111099
+ * @param {Function} props.onFocus
111100
+ * @param {Function} props.onBlur
111101
+ * @param {string|import('preact').Component} props.tooltip
111102
+ * @param {boolean} [props.disabled]
111084
111103
  */
111085
111104
  function CheckboxEntry(props) {
111086
111105
  const {
@@ -111201,20 +111220,20 @@
111201
111220
  });
111202
111221
  }
111203
111222
 
111204
- /**
111205
- * @param {object} props
111206
- * @param {object} props.element
111207
- * @param {string} props.id
111208
- * @param {string} [props.description]
111209
- * @param {string} props.label
111210
- * @param {Function} props.getValue
111211
- * @param {Function} props.setValue
111212
- * @param {Function} props.onFocus
111213
- * @param {Function} props.onBlur
111214
- * @param {Function} props.getOptions
111215
- * @param {boolean} [props.disabled]
111216
- * @param {Function} [props.validate]
111217
- * @param {string|import('preact').Component} props.tooltip
111223
+ /**
111224
+ * @param {object} props
111225
+ * @param {object} props.element
111226
+ * @param {string} props.id
111227
+ * @param {string} [props.description]
111228
+ * @param {string} props.label
111229
+ * @param {Function} props.getValue
111230
+ * @param {Function} props.setValue
111231
+ * @param {Function} props.onFocus
111232
+ * @param {Function} props.onBlur
111233
+ * @param {Function} props.getOptions
111234
+ * @param {boolean} [props.disabled]
111235
+ * @param {Function} [props.validate]
111236
+ * @param {string|import('preact').Component} props.tooltip
111218
111237
  */
111219
111238
  function SelectEntry(props) {
111220
111239
  const {
@@ -111302,7 +111321,7 @@
111302
111321
  monospace,
111303
111322
  onFocus,
111304
111323
  onBlur,
111305
- autoResize,
111324
+ autoResize = true,
111306
111325
  placeholder,
111307
111326
  rows = autoResize ? 1 : 2,
111308
111327
  tooltip
@@ -111359,21 +111378,21 @@
111359
111378
  });
111360
111379
  }
111361
111380
 
111362
- /**
111363
- * @param {object} props
111364
- * @param {object} props.element
111365
- * @param {string} props.id
111366
- * @param {string} props.description
111367
- * @param {boolean} props.debounce
111368
- * @param {string} props.label
111369
- * @param {Function} props.getValue
111370
- * @param {Function} props.setValue
111371
- * @param {Function} props.onFocus
111372
- * @param {Function} props.onBlur
111373
- * @param {number} props.rows
111374
- * @param {boolean} props.monospace
111375
- * @param {Function} [props.validate]
111376
- * @param {boolean} [props.disabled]
111381
+ /**
111382
+ * @param {object} props
111383
+ * @param {object} props.element
111384
+ * @param {string} props.id
111385
+ * @param {string} props.description
111386
+ * @param {boolean} props.debounce
111387
+ * @param {string} props.label
111388
+ * @param {Function} props.getValue
111389
+ * @param {Function} props.setValue
111390
+ * @param {Function} props.onFocus
111391
+ * @param {Function} props.onBlur
111392
+ * @param {number} props.rows
111393
+ * @param {boolean} props.monospace
111394
+ * @param {Function} [props.validate]
111395
+ * @param {boolean} [props.disabled]
111377
111396
  */
111378
111397
  function TextAreaEntry(props) {
111379
111398
  const {
@@ -111507,20 +111526,20 @@
111507
111526
  });
111508
111527
  }
111509
111528
 
111510
- /**
111511
- * @param {Object} props
111512
- * @param {Object} props.element
111513
- * @param {String} props.id
111514
- * @param {String} props.description
111515
- * @param {Boolean} props.debounce
111516
- * @param {Boolean} props.disabled
111517
- * @param {String} props.label
111518
- * @param {Function} props.getValue
111519
- * @param {Function} props.setValue
111520
- * @param {Function} props.onFocus
111521
- * @param {Function} props.onBlur
111522
- * @param {string|import('preact').Component} props.tooltip
111523
- * @param {Function} props.validate
111529
+ /**
111530
+ * @param {Object} props
111531
+ * @param {Object} props.element
111532
+ * @param {String} props.id
111533
+ * @param {String} props.description
111534
+ * @param {Boolean} props.debounce
111535
+ * @param {Boolean} props.disabled
111536
+ * @param {String} props.label
111537
+ * @param {Function} props.getValue
111538
+ * @param {Function} props.setValue
111539
+ * @param {Function} props.onFocus
111540
+ * @param {Function} props.onBlur
111541
+ * @param {string|import('preact').Component} props.tooltip
111542
+ * @param {Function} props.validate
111524
111543
  */
111525
111544
  function TextfieldEntry(props) {
111526
111545
  const {
@@ -111613,20 +111632,20 @@
111613
111632
  this._eventBus = eventBus;
111614
111633
  }
111615
111634
 
111616
- /**
111617
- * Check if the FEEL popup is open.
111618
- * @return {Boolean}
111635
+ /**
111636
+ * Check if the FEEL popup is open.
111637
+ * @return {Boolean}
111619
111638
  */
111620
111639
  isOpen() {
111621
111640
  return this._eventBus.fire('feelPopup._isOpen');
111622
111641
  }
111623
111642
 
111624
- /**
111625
- * Open the FEEL popup.
111626
- *
111627
- * @param {String} entryId
111628
- * @param {Object} popupConfig
111629
- * @param {HTMLElement} sourceElement
111643
+ /**
111644
+ * Open the FEEL popup.
111645
+ *
111646
+ * @param {String} entryId
111647
+ * @param {Object} popupConfig
111648
+ * @param {HTMLElement} sourceElement
111630
111649
  */
111631
111650
  open(entryId, popupConfig, sourceElement) {
111632
111651
  return this._eventBus.fire('feelPopup._open', {
@@ -111636,8 +111655,8 @@
111636
111655
  });
111637
111656
  }
111638
111657
 
111639
- /**
111640
- * Close the FEEL popup.
111658
+ /**
111659
+ * Close the FEEL popup.
111641
111660
  */
111642
111661
  close() {
111643
111662
  return this._eventBus.fire('feelPopup._close');
@@ -115434,8 +115453,8 @@
115434
115453
  });
115435
115454
  const selectedElement = state.selectedElement;
115436
115455
 
115437
- /**
115438
- * @param {djs.model.Base | Array<djs.model.Base>} element
115456
+ /**
115457
+ * @param {djs.model.Base | Array<djs.model.Base>} element
115439
115458
  */
115440
115459
  const _update = element => {
115441
115460
  if (!element) {
@@ -115620,10 +115639,10 @@
115620
115639
 
115621
115640
  const DEFAULT_PRIORITY$1 = 1000;
115622
115641
 
115623
- /**
115624
- * @typedef { import('@bpmn-io/properties-panel').GroupDefinition } GroupDefinition
115625
- * @typedef { import('@bpmn-io/properties-panel').ListGroupDefinition } ListGroupDefinition
115626
- * @typedef { { getGroups: (ModdleElement) => (Array{GroupDefinition|ListGroupDefinition}) => Array{GroupDefinition|ListGroupDefinition}) } PropertiesProvider
115642
+ /**
115643
+ * @typedef { import('@bpmn-io/properties-panel').GroupDefinition } GroupDefinition
115644
+ * @typedef { import('@bpmn-io/properties-panel').ListGroupDefinition } ListGroupDefinition
115645
+ * @typedef { { getGroups: (ModdleElement) => (Array{GroupDefinition|ListGroupDefinition}) => Array{GroupDefinition|ListGroupDefinition}) } PropertiesProvider
115627
115646
  */
115628
115647
 
115629
115648
  class BpmnPropertiesPanelRenderer {
@@ -115660,10 +115679,10 @@
115660
115679
  });
115661
115680
  }
115662
115681
 
115663
- /**
115664
- * Attach the properties panel to a parent node.
115665
- *
115666
- * @param {HTMLElement} container
115682
+ /**
115683
+ * Attach the properties panel to a parent node.
115684
+ *
115685
+ * @param {HTMLElement} container
115667
115686
  */
115668
115687
  attachTo(container) {
115669
115688
  if (!container) {
@@ -115688,8 +115707,8 @@
115688
115707
  this._eventBus.fire('propertiesPanel.attach');
115689
115708
  }
115690
115709
 
115691
- /**
115692
- * Detach the properties panel from its parent node.
115710
+ /**
115711
+ * Detach the properties panel from its parent node.
115693
115712
  */
115694
115713
  detach() {
115695
115714
  const parentNode = this._container.parentNode;
@@ -115699,11 +115718,11 @@
115699
115718
  }
115700
115719
  }
115701
115720
 
115702
- /**
115703
- * Register a new properties provider to the properties panel.
115704
- *
115705
- * @param {Number} [priority]
115706
- * @param {PropertiesProvider} provider
115721
+ /**
115722
+ * Register a new properties provider to the properties panel.
115723
+ *
115724
+ * @param {Number} [priority]
115725
+ * @param {PropertiesProvider} provider
115707
115726
  */
115708
115727
  registerProvider(priority, provider) {
115709
115728
  if (!provider) {
@@ -115720,9 +115739,9 @@
115720
115739
  this._eventBus.fire('propertiesPanel.providersChanged');
115721
115740
  }
115722
115741
 
115723
- /**
115724
- * Updates the layout of the properties panel.
115725
- * @param {Object} layout
115742
+ /**
115743
+ * Updates the layout of the properties panel.
115744
+ * @param {Object} layout
115726
115745
  */
115727
115746
  setLayout(layout) {
115728
115747
  this._eventBus.fire('propertiesPanel.setLayout', {
@@ -115772,12 +115791,12 @@
115772
115791
  return element && (element.isImplicit || element.id === '__implicitroot');
115773
115792
  }
115774
115793
 
115775
- /**
115776
- * Setup keyboard bindings (undo, redo) on the given container.
115777
- *
115778
- * @param {Element} container
115779
- * @param {EventBus} eventBus
115780
- * @param {CommandStack} commandStack
115794
+ /**
115795
+ * Setup keyboard bindings (undo, redo) on the given container.
115796
+ *
115797
+ * @param {Element} container
115798
+ * @param {EventBus} eventBus
115799
+ * @param {CommandStack} commandStack
115781
115800
  */
115782
115801
  function setupKeyboard(container, eventBus, commandStack) {
115783
115802
  function cancel(event) {
@@ -115802,14 +115821,14 @@
115802
115821
  });
115803
115822
  }
115804
115823
 
115805
- /**
115806
- * A handler that combines and executes multiple commands.
115807
- *
115808
- * All updates are bundled on the command stack and executed in one step.
115809
- * This also makes it possible to revert the changes in one step.
115810
- *
115811
- * Example use case: remove the camunda:formKey attribute and in addition
115812
- * add all form fields needed for the camunda:formData property.
115824
+ /**
115825
+ * A handler that combines and executes multiple commands.
115826
+ *
115827
+ * All updates are bundled on the command stack and executed in one step.
115828
+ * This also makes it possible to revert the changes in one step.
115829
+ *
115830
+ * Example use case: remove the camunda:formKey attribute and in addition
115831
+ * add all form fields needed for the camunda:formData property.
115813
115832
  */
115814
115833
  let MultiCommandHandler$1 = class MultiCommandHandler {
115815
115834
  constructor(commandStack) {
@@ -115936,12 +115955,12 @@
115936
115955
  return compensateEventDefinition && compensateEventDefinition.get('activityRef');
115937
115956
  }
115938
115957
 
115939
- /**
115940
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
115958
+ /**
115959
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
115941
115960
  */
115942
115961
 
115943
- /**
115944
- * @returns {Array<Entry>} entries
115962
+ /**
115963
+ * @returns {Array<Entry>} entries
115945
115964
  */
115946
115965
  function CompensationProps(props) {
115947
115966
  const {
@@ -116051,12 +116070,12 @@
116051
116070
  return getFlowElements(element, 'bpmn:BoundaryEvent');
116052
116071
  }
116053
116072
 
116054
- /**
116055
- * Checks whether an Activity is attaching a CompensateEvent of the parent container.
116056
- *
116057
- * @param {ModdleElement} activity
116058
- * @param {Array<ModdleElement>} boundaryEvents
116059
- * @returns {Boolean}
116073
+ /**
116074
+ * Checks whether an Activity is attaching a CompensateEvent of the parent container.
116075
+ *
116076
+ * @param {ModdleElement} activity
116077
+ * @param {Array<ModdleElement>} boundaryEvents
116078
+ * @returns {Boolean}
116060
116079
  */
116061
116080
  function hasCompensationEventAttached(activity, boundaryEvents) {
116062
116081
  const {
@@ -116071,15 +116090,15 @@
116071
116090
  });
116072
116091
  }
116073
116092
 
116074
- /**
116075
- * Checks whether an Activity can be compensated. That's the case when it is
116076
- * a) a CallActivity
116077
- * b) a SubProcess, when it is not event based and not a compensation
116078
- * c) any other Activity, when it is attaching a CompensateEvent of the parent container
116079
- *
116080
- * @param {ModdleElement} activity
116081
- * @param {Array<ModdleElement>} boundaryEvents
116082
- * @returns {Boolean}
116093
+ /**
116094
+ * Checks whether an Activity can be compensated. That's the case when it is
116095
+ * a) a CallActivity
116096
+ * b) a SubProcess, when it is not event based and not a compensation
116097
+ * c) any other Activity, when it is attaching a CompensateEvent of the parent container
116098
+ *
116099
+ * @param {ModdleElement} activity
116100
+ * @param {Array<ModdleElement>} boundaryEvents
116101
+ * @returns {Boolean}
116083
116102
  */
116084
116103
  function canBeCompensated(activity, boundaryEvents) {
116085
116104
  return is$6(activity, 'bpmn:CallActivity') || is$6(activity, 'bpmn:SubProcess') && !activity.triggeredByEvent && !activity.isForCompensation || hasCompensationEventAttached(activity, boundaryEvents);
@@ -116092,11 +116111,11 @@
116092
116111
  });
116093
116112
  }
116094
116113
 
116095
- /**
116096
- * Retrieves all possible activities to reference for a Compensation.
116097
- *
116098
- * @param {djs.model.Base} element
116099
- * @returns {Array<ModdleElement>}
116114
+ /**
116115
+ * Retrieves all possible activities to reference for a Compensation.
116116
+ *
116117
+ * @param {djs.model.Base} element
116118
+ * @returns {Array<ModdleElement>}
116100
116119
  */
116101
116120
  function findActivityRefs(element) {
116102
116121
  const businessObject = getBusinessObject$2(element);
@@ -116116,13 +116135,13 @@
116116
116135
  return activities;
116117
116136
  }
116118
116137
 
116119
- /**
116120
- * Retrieves an option label in the form
116121
- * a) with name: "my Task (id=Task_1)"
116122
- * b) without name: "(id=Task_1)"
116123
- *
116124
- * @param {ModdleElement} activity
116125
- * @returns {String}
116138
+ /**
116139
+ * Retrieves an option label in the form
116140
+ * a) with name: "my Task (id=Task_1)"
116141
+ * b) without name: "(id=Task_1)"
116142
+ *
116143
+ * @param {ModdleElement} activity
116144
+ * @returns {String}
116126
116145
  */
116127
116146
  function createOptionLabel(activity) {
116128
116147
  const {
@@ -116137,12 +116156,12 @@
116137
116156
 
116138
116157
  const DOCUMENTATION_TEXT_FORMAT = 'text/plain';
116139
116158
 
116140
- /**
116141
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116159
+ /**
116160
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116142
116161
  */
116143
116162
 
116144
- /**
116145
- * @returns {Array<Entry>} entries
116163
+ /**
116164
+ * @returns {Array<Entry>} entries
116146
116165
  */
116147
116166
  function DocumentationProps(props) {
116148
116167
  const {
@@ -116213,12 +116232,12 @@
116213
116232
  });
116214
116233
  }
116215
116234
 
116216
- /**
116217
- * Retrieves a documentation element from a given moddle element.
116218
- *
116219
- * @param {ModdleElement} businessObject
116220
- *
116221
- * @returns {ModdleElement} documentation element inside the given moddle element.
116235
+ /**
116236
+ * Retrieves a documentation element from a given moddle element.
116237
+ *
116238
+ * @param {ModdleElement} businessObject
116239
+ *
116240
+ * @returns {ModdleElement} documentation element inside the given moddle element.
116222
116241
  */
116223
116242
  function getDocumentation(businessObject) {
116224
116243
  return function () {
@@ -116227,10 +116246,10 @@
116227
116246
  };
116228
116247
  }
116229
116248
 
116230
- /**
116231
- * Sets a documentation element for a given moddle element.
116232
- *
116233
- * @param {ModdleElement} businessObject
116249
+ /**
116250
+ * Sets a documentation element for a given moddle element.
116251
+ *
116252
+ * @param {ModdleElement} businessObject
116234
116253
  */
116235
116254
  function setDocumentation(element, businessObject, bpmnFactory, commandStack) {
116236
116255
  return function (value) {
@@ -116273,15 +116292,15 @@
116273
116292
  };
116274
116293
  }
116275
116294
 
116276
- /**
116277
- * Create a new element and (optionally) set its parent.
116278
- *
116279
- * @param {string} type
116280
- * @param {Object} properties
116281
- * @param {import('bpmn-js/lib/model/Types').ModdleElement} parent
116282
- * @param {import('bpmn-js/lib/features/modeling/BpmnFactory').default} bpmnFactory
116283
- *
116284
- * @returns {import('bpmn-js/lib/model/Types').ModdleElement}
116295
+ /**
116296
+ * Create a new element and (optionally) set its parent.
116297
+ *
116298
+ * @param {string} type
116299
+ * @param {Object} properties
116300
+ * @param {import('bpmn-js/lib/model/Types').ModdleElement} parent
116301
+ * @param {import('bpmn-js/lib/features/modeling/BpmnFactory').default} bpmnFactory
116302
+ *
116303
+ * @returns {import('bpmn-js/lib/model/Types').ModdleElement}
116285
116304
  */
116286
116305
  function createElement$3(type, properties, parent, bpmnFactory) {
116287
116306
  const element = bpmnFactory.create(type, properties);
@@ -116291,8 +116310,8 @@
116291
116310
  return element;
116292
116311
  }
116293
116312
 
116294
- /**
116295
- * generate a semantic id with given prefix
116313
+ /**
116314
+ * generate a semantic id with given prefix
116296
116315
  */
116297
116316
  function nextId$1(prefix) {
116298
116317
  const ids = new Ids$1([32, 32, 1]);
@@ -116321,12 +116340,12 @@
116321
116340
  const EMPTY_OPTION$4 = '';
116322
116341
  const CREATE_NEW_OPTION$4 = 'create-new';
116323
116342
 
116324
- /**
116325
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116343
+ /**
116344
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116326
116345
  */
116327
116346
 
116328
- /**
116329
- * @returns {Array<Entry>} entries
116347
+ /**
116348
+ * @returns {Array<Entry>} entries
116330
116349
  */
116331
116350
  function ErrorProps$2(props) {
116332
116351
  const {
@@ -116502,12 +116521,12 @@
116502
116521
 
116503
116522
  const CREATE_NEW_OPTION$3 = 'create-new';
116504
116523
 
116505
- /**
116506
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116524
+ /**
116525
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116507
116526
  */
116508
116527
 
116509
- /**
116510
- * @returns {Array<Entry>} entries
116528
+ /**
116529
+ * @returns {Array<Entry>} entries
116511
116530
  */
116512
116531
  function EscalationProps$2(props) {
116513
116532
  const {
@@ -116680,12 +116699,12 @@
116680
116699
  return sortBy$1(elements, e => (e.name || '').toLowerCase());
116681
116700
  }
116682
116701
 
116683
- /**
116684
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116702
+ /**
116703
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116685
116704
  */
116686
116705
 
116687
- /**
116688
- * @returns {Array<Entry>} entries
116706
+ /**
116707
+ * @returns {Array<Entry>} entries
116689
116708
  */
116690
116709
  function ExecutableProps(props) {
116691
116710
  const {
@@ -116756,14 +116775,14 @@
116756
116775
  // for ID validation as per BPMN Schema (QName - Namespace)
116757
116776
  const ID_REGEX = /^[a-z_][\w-.]*$/i;
116758
116777
 
116759
- /**
116760
- * checks whether the id value is valid
116761
- *
116762
- * @param {ModdleElement} element
116763
- * @param {String} idValue
116764
- * @param {Function} translate
116765
- *
116766
- * @return {String} error message
116778
+ /**
116779
+ * checks whether the id value is valid
116780
+ *
116781
+ * @param {ModdleElement} element
116782
+ * @param {String} idValue
116783
+ * @param {Function} translate
116784
+ *
116785
+ * @return {String} error message
116767
116786
  */
116768
116787
  function isIdValid(element, idValue, translate) {
116769
116788
  const assigned = element.$model.ids.assigned(idValue);
@@ -116791,12 +116810,12 @@
116791
116810
  return SPACE_REGEX.test(value);
116792
116811
  }
116793
116812
 
116794
- /**
116795
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116813
+ /**
116814
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116796
116815
  */
116797
116816
 
116798
- /**
116799
- * @returns {Array<Entry>} entries
116817
+ /**
116818
+ * @returns {Array<Entry>} entries
116800
116819
  */
116801
116820
  function IdProps$1() {
116802
116821
  return [{
@@ -116838,12 +116857,12 @@
116838
116857
  });
116839
116858
  }
116840
116859
 
116841
- /**
116842
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116860
+ /**
116861
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116843
116862
  */
116844
116863
 
116845
- /**
116846
- * @returns {Array<Entry>} entries
116864
+ /**
116865
+ * @returns {Array<Entry>} entries
116847
116866
  */
116848
116867
  function LinkProps(props) {
116849
116868
  const {
@@ -116891,12 +116910,12 @@
116891
116910
  const EMPTY_OPTION$3 = '';
116892
116911
  const CREATE_NEW_OPTION$2 = 'create-new';
116893
116912
 
116894
- /**
116895
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116913
+ /**
116914
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
116896
116915
  */
116897
116916
 
116898
- /**
116899
- * @returns {Array<Entry>} entries
116917
+ /**
116918
+ * @returns {Array<Entry>} entries
116900
116919
  */
116901
116920
  function MessageProps$1(props) {
116902
116921
  const {
@@ -117039,12 +117058,12 @@
117039
117058
  return sortBy$1(elements, e => (e.name || '').toLowerCase());
117040
117059
  }
117041
117060
 
117042
- /**
117043
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
117061
+ /**
117062
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
117044
117063
  */
117045
117064
 
117046
- /**
117047
- * @returns {Array<Entry>} entries
117065
+ /**
117066
+ * @returns {Array<Entry>} entries
117048
117067
  */
117049
117068
  function MultiInstanceProps$2(props) {
117050
117069
  const {
@@ -117115,59 +117134,59 @@
117115
117134
 
117116
117135
  // generic ///////////////////////////
117117
117136
 
117118
- /**
117119
- * isMultiInstanceSupported - check whether given element supports MultiInstanceLoopCharacteristics.
117120
- *
117121
- * @param {djs.model.Base} element
117122
- * @return {boolean}
117137
+ /**
117138
+ * isMultiInstanceSupported - check whether given element supports MultiInstanceLoopCharacteristics.
117139
+ *
117140
+ * @param {djs.model.Base} element
117141
+ * @return {boolean}
117123
117142
  */
117124
117143
  function isMultiInstanceSupported$1(element) {
117125
117144
  const loopCharacteristics = getLoopCharacteristics$2(element);
117126
117145
  return !!loopCharacteristics && is$6(loopCharacteristics, 'bpmn:MultiInstanceLoopCharacteristics');
117127
117146
  }
117128
117147
 
117129
- /**
117130
- * getBody - get the body of a given expression.
117131
- *
117132
- * @param {ModdleElement<bpmn:FormalExpression>} expression
117133
- * @return {string} the body (value) of the expression
117148
+ /**
117149
+ * getBody - get the body of a given expression.
117150
+ *
117151
+ * @param {ModdleElement<bpmn:FormalExpression>} expression
117152
+ * @return {string} the body (value) of the expression
117134
117153
  */
117135
117154
  function getBody(expression) {
117136
117155
  return expression && expression.get('body');
117137
117156
  }
117138
117157
 
117139
- /**
117140
- * getProperty - get a property value of the loop characteristics.
117141
- *
117142
- * @param {djs.model.Base} element
117143
- * @param {string} propertyName
117144
- *
117145
- * @return {any} the property value
117158
+ /**
117159
+ * getProperty - get a property value of the loop characteristics.
117160
+ *
117161
+ * @param {djs.model.Base} element
117162
+ * @param {string} propertyName
117163
+ *
117164
+ * @return {any} the property value
117146
117165
  */
117147
117166
  function getProperty$2(element, propertyName) {
117148
117167
  const loopCharacteristics = getLoopCharacteristics$2(element);
117149
117168
  return loopCharacteristics && loopCharacteristics.get(propertyName);
117150
117169
  }
117151
117170
 
117152
- /**
117153
- * getLoopCharacteristics - get loopCharacteristics of a given element.
117154
- *
117155
- * @param {djs.model.Base} element
117156
- * @return {ModdleElement<bpmn:MultiInstanceLoopCharacteristics> | undefined}
117171
+ /**
117172
+ * getLoopCharacteristics - get loopCharacteristics of a given element.
117173
+ *
117174
+ * @param {djs.model.Base} element
117175
+ * @return {ModdleElement<bpmn:MultiInstanceLoopCharacteristics> | undefined}
117157
117176
  */
117158
117177
  function getLoopCharacteristics$2(element) {
117159
117178
  const bo = getBusinessObject$2(element);
117160
117179
  return bo.loopCharacteristics;
117161
117180
  }
117162
117181
 
117163
- /**
117164
- * createFormalExpression - creates a 'bpmn:FormalExpression' element.
117165
- *
117166
- * @param {ModdleElement} parent
117167
- * @param {string} body
117168
- * @param {BpmnFactory} bpmnFactory
117169
- *
117170
- * @result {ModdleElement<bpmn:FormalExpression>} a formal expression
117182
+ /**
117183
+ * createFormalExpression - creates a 'bpmn:FormalExpression' element.
117184
+ *
117185
+ * @param {ModdleElement} parent
117186
+ * @param {string} body
117187
+ * @param {BpmnFactory} bpmnFactory
117188
+ *
117189
+ * @result {ModdleElement<bpmn:FormalExpression>} a formal expression
117171
117190
  */
117172
117191
  function createFormalExpression$1(parent, body, bpmnFactory) {
117173
117192
  return createElement$3('bpmn:FormalExpression', {
@@ -117175,13 +117194,13 @@
117175
117194
  }, parent, bpmnFactory);
117176
117195
  }
117177
117196
 
117178
- /**
117179
- * updateFormalExpression - updates a specific formal expression of the loop characteristics.
117180
- *
117181
- * @param {djs.model.Base} element
117182
- * @param {string} propertyName
117183
- * @param {string} newValue
117184
- * @param {BpmnFactory} bpmnFactory
117197
+ /**
117198
+ * updateFormalExpression - updates a specific formal expression of the loop characteristics.
117199
+ *
117200
+ * @param {djs.model.Base} element
117201
+ * @param {string} propertyName
117202
+ * @param {string} newValue
117203
+ * @param {BpmnFactory} bpmnFactory
117185
117204
  */
117186
117205
  function updateFormalExpression(element, propertyName, newValue, bpmnFactory) {
117187
117206
  const loopCharacteristics = getLoopCharacteristics$2(element);
@@ -117218,23 +117237,23 @@
117218
117237
 
117219
117238
  // loopCardinality
117220
117239
 
117221
- /**
117222
- * getLoopCardinality - get the loop cardinality of the loop characteristics.
117223
- *
117224
- * @param {djs.model.Base} element
117225
- *
117226
- * @return {ModdleElement<bpmn:FormalExpression>} an expression representing the loop cardinality
117240
+ /**
117241
+ * getLoopCardinality - get the loop cardinality of the loop characteristics.
117242
+ *
117243
+ * @param {djs.model.Base} element
117244
+ *
117245
+ * @return {ModdleElement<bpmn:FormalExpression>} an expression representing the loop cardinality
117227
117246
  */
117228
117247
  function getLoopCardinality(element) {
117229
117248
  return getProperty$2(element, 'loopCardinality');
117230
117249
  }
117231
117250
 
117232
- /**
117233
- * getLoopCardinalityValue - get the loop cardinality value of the loop characteristics.
117234
- *
117235
- * @param {djs.model.Base} element
117236
- *
117237
- * @return {string} the loop cardinality value
117251
+ /**
117252
+ * getLoopCardinalityValue - get the loop cardinality value of the loop characteristics.
117253
+ *
117254
+ * @param {djs.model.Base} element
117255
+ *
117256
+ * @return {string} the loop cardinality value
117238
117257
  */
117239
117258
  function getLoopCardinalityValue(element) {
117240
117259
  const loopCardinality = getLoopCardinality(element);
@@ -117243,35 +117262,35 @@
117243
117262
 
117244
117263
  // completionCondition /////////////////////
117245
117264
 
117246
- /**
117247
- * getCompletionCondition - get the completion condition of the loop characteristics.
117248
- *
117249
- * @param {djs.model.Base} element
117250
- *
117251
- * @return {ModdleElement<bpmn:FormalExpression>} an expression representing the completion condition
117265
+ /**
117266
+ * getCompletionCondition - get the completion condition of the loop characteristics.
117267
+ *
117268
+ * @param {djs.model.Base} element
117269
+ *
117270
+ * @return {ModdleElement<bpmn:FormalExpression>} an expression representing the completion condition
117252
117271
  */
117253
117272
  function getCompletionCondition$1(element) {
117254
117273
  return getProperty$2(element, 'completionCondition');
117255
117274
  }
117256
117275
 
117257
- /**
117258
- * getCompletionConditionValue - get the completion condition value of the loop characteristics.
117259
- *
117260
- * @param {djs.model.Base} element
117261
- *
117262
- * @return {string} the completion condition value
117276
+ /**
117277
+ * getCompletionConditionValue - get the completion condition value of the loop characteristics.
117278
+ *
117279
+ * @param {djs.model.Base} element
117280
+ *
117281
+ * @return {string} the completion condition value
117263
117282
  */
117264
117283
  function getCompletionConditionValue(element) {
117265
117284
  const completionCondition = getCompletionCondition$1(element);
117266
117285
  return getBody(completionCondition);
117267
117286
  }
117268
117287
 
117269
- /**
117270
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
117288
+ /**
117289
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
117271
117290
  */
117272
117291
 
117273
- /**
117274
- * @returns {Array<Entry>} entries
117292
+ /**
117293
+ * @returns {Array<Entry>} entries
117275
117294
  */
117276
117295
  function NameProps(props) {
117277
117296
  const {
@@ -117375,12 +117394,12 @@
117375
117394
  return categoryValue;
117376
117395
  }
117377
117396
 
117378
- /**
117379
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
117397
+ /**
117398
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
117380
117399
  */
117381
117400
 
117382
- /**
117383
- * @returns {Array<Entry>} entries
117401
+ /**
117402
+ * @returns {Array<Entry>} entries
117384
117403
  */
117385
117404
  function ProcessProps$1(props) {
117386
117405
  const {
@@ -117471,15 +117490,15 @@
117471
117490
  return is$6(element, 'bpmn:Participant') && element.businessObject.get('processRef');
117472
117491
  }
117473
117492
 
117474
- /**
117475
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
117493
+ /**
117494
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
117476
117495
  */
117477
117496
 
117478
117497
  const EMPTY_OPTION$2 = '';
117479
117498
  const CREATE_NEW_OPTION$1 = 'create-new';
117480
117499
 
117481
- /**
117482
- * @returns {Entry[]}
117500
+ /**
117501
+ * @returns {Entry[]}
117483
117502
  */
117484
117503
  function SignalProps$1(props) {
117485
117504
  const {
@@ -117629,12 +117648,12 @@
117629
117648
  return isAny$1(element, ['bpmn:StartEvent', 'bpmn:IntermediateCatchEvent', 'bpmn:BoundaryEvent']) && !!getTimerEventDefinition$1(element);
117630
117649
  }
117631
117650
 
117632
- /**
117633
- * Get the timer definition type for a given timer event definition.
117634
- *
117635
- * @param {ModdleElement<bpmn:TimerEventDefinition>} timer
117636
- *
117637
- * @return {string|undefined} the timer definition type
117651
+ /**
117652
+ * Get the timer definition type for a given timer event definition.
117653
+ *
117654
+ * @param {ModdleElement<bpmn:TimerEventDefinition>} timer
117655
+ *
117656
+ * @return {string|undefined} the timer definition type
117638
117657
  */
117639
117658
  function getTimerDefinitionType(timer) {
117640
117659
  if (!timer) {
@@ -117717,12 +117736,12 @@
117717
117736
  return entries;
117718
117737
  }
117719
117738
 
117720
- /**
117721
- * TimerEventDefinitionType - Generic select entry allowing to select a specific
117722
- * timerEventDefintionType. To be used together with timerEventDefinitionValue.
117723
- *
117724
- * @param {type} props
117725
- * @return {SelectEntry}
117739
+ /**
117740
+ * TimerEventDefinitionType - Generic select entry allowing to select a specific
117741
+ * timerEventDefintionType. To be used together with timerEventDefinitionValue.
117742
+ *
117743
+ * @param {type} props
117744
+ * @return {SelectEntry}
117726
117745
  */
117727
117746
  function TimerEventDefinitionType$2(props) {
117728
117747
  const {
@@ -117790,13 +117809,13 @@
117790
117809
  });
117791
117810
  }
117792
117811
 
117793
- /**
117794
- * TimerEventDefinitionValue - Generic textField entry allowing to specify the
117795
- * timerEventDefintionValue based on the set timerEventDefintionType. To be used
117796
- * together with timerEventDefinitionType.
117797
- *
117798
- * @param {type} props
117799
- * @return {TextFieldEntry}
117812
+ /**
117813
+ * TimerEventDefinitionValue - Generic textField entry allowing to specify the
117814
+ * timerEventDefintionValue based on the set timerEventDefintionType. To be used
117815
+ * together with timerEventDefinitionType.
117816
+ *
117817
+ * @param {type} props
117818
+ * @return {TextFieldEntry}
117800
117819
  */
117801
117820
  function TimerEventDefinitionValue$2(props) {
117802
117821
  const {
@@ -118081,12 +118100,12 @@
118081
118100
  bpmnPropertiesProvider: ['type', BpmnPropertiesProvider]
118082
118101
  };
118083
118102
 
118084
- /**
118085
- * Get extension elements of business object. Optionally filter by type.
118086
- *
118087
- * @param {ModdleElement} businessObject
118088
- * @param {string} [type=undefined]
118089
- * @returns {Array<ModdleElement>}
118103
+ /**
118104
+ * Get extension elements of business object. Optionally filter by type.
118105
+ *
118106
+ * @param {ModdleElement} businessObject
118107
+ * @param {string} [type=undefined]
118108
+ * @returns {Array<ModdleElement>}
118090
118109
  */
118091
118110
  function getExtensionElementsList$2(businessObject, type = undefined) {
118092
118111
  const extensionElements = businessObject.get('extensionElements');
@@ -118103,13 +118122,13 @@
118103
118122
  return values;
118104
118123
  }
118105
118124
 
118106
- /**
118107
- * Add one or more extension elements. Create bpmn:ExtensionElements if it doesn't exist.
118108
- *
118109
- * @param {ModdleElement} element
118110
- * @param {ModdleElement} businessObject
118111
- * @param {ModdleElement|Array<ModdleElement>} extensionElementsToAdd
118112
- * @param {CommandStack} commandStack
118125
+ /**
118126
+ * Add one or more extension elements. Create bpmn:ExtensionElements if it doesn't exist.
118127
+ *
118128
+ * @param {ModdleElement} element
118129
+ * @param {ModdleElement} businessObject
118130
+ * @param {ModdleElement|Array<ModdleElement>} extensionElementsToAdd
118131
+ * @param {CommandStack} commandStack
118113
118132
  */
118114
118133
  function addExtensionElements(element, businessObject, extensionElementToAdd, bpmnFactory, commandStack) {
118115
118134
  const commands = [];
@@ -118147,13 +118166,13 @@
118147
118166
  commandStack.execute('properties-panel.multi-command-executor', commands);
118148
118167
  }
118149
118168
 
118150
- /**
118151
- * Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
118152
- *
118153
- * @param {ModdleElement} element
118154
- * @param {ModdleElement} businessObject
118155
- * @param {ModdleElement|Array<ModdleElement>} extensionElementsToRemove
118156
- * @param {CommandStack} commandStack
118169
+ /**
118170
+ * Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
118171
+ *
118172
+ * @param {ModdleElement} element
118173
+ * @param {ModdleElement} businessObject
118174
+ * @param {ModdleElement|Array<ModdleElement>} extensionElementsToRemove
118175
+ * @param {CommandStack} commandStack
118157
118176
  */
118158
118177
  function removeExtensionElements$1(element, businessObject, extensionElementsToRemove, commandStack) {
118159
118178
  if (!isArray$a(extensionElementsToRemove)) {
@@ -118525,24 +118544,24 @@
118525
118544
  return is$6(element, 'bpmn:UserTask') || isZeebeServiceTask(element);
118526
118545
  }
118527
118546
 
118528
- /**
118529
- * Get first zeebe:TaskHeaders element for a specific element.
118530
- *
118531
- * @param {ModdleElement} element
118532
- *
118533
- * @return {ModdleElement} a zeebe:TaskHeader element
118547
+ /**
118548
+ * Get first zeebe:TaskHeaders element for a specific element.
118549
+ *
118550
+ * @param {ModdleElement} element
118551
+ *
118552
+ * @return {ModdleElement} a zeebe:TaskHeader element
118534
118553
  */
118535
118554
  function getTaskHeaders$1(element) {
118536
118555
  const businessObject = getBusinessObject$2(element);
118537
118556
  return getExtensionElementsList$2(businessObject, 'zeebe:TaskHeaders')[0];
118538
118557
  }
118539
118558
 
118540
- /**
118541
- * Retrieve all zeebe:Header elements for a specific element.
118542
- *
118543
- * @param {ModdleElement} element
118544
- *
118545
- * @return {Array<ModdleElement>} a list of zeebe:Header elements
118559
+ /**
118560
+ * Retrieve all zeebe:Header elements for a specific element.
118561
+ *
118562
+ * @param {ModdleElement} element
118563
+ *
118564
+ * @return {Array<ModdleElement>} a list of zeebe:Header elements
118546
118565
  */
118547
118566
  function getHeaders(element) {
118548
118567
  const taskHeaders = getTaskHeaders$1(element);
@@ -118583,10 +118602,10 @@
118583
118602
  return DEFAULT_IMPLEMENTATION_OPTION$1;
118584
118603
  };
118585
118604
 
118586
- /**
118587
- * Set value by either creating a zeebe:calledDecision or a zeebe:taskDefintion
118588
- * extension element. Note that they must not exist both at the same time, however
118589
- * this will be ensured by a bpmn-js behavior (and not by the propPanel).
118605
+ /**
118606
+ * Set value by either creating a zeebe:calledDecision or a zeebe:taskDefintion
118607
+ * extension element. Note that they must not exist both at the same time, however
118608
+ * this will be ensured by a bpmn-js behavior (and not by the propPanel).
118590
118609
  */
118591
118610
  const setValue = value => {
118592
118611
  let extensionElement, extensionElementType;
@@ -119039,12 +119058,12 @@
119039
119058
  return isAny$1(element, CONDITIONAL_SOURCES$1);
119040
119059
  }
119041
119060
 
119042
- /**
119043
- * getConditionExpression - get the body value of a condition expression for a given element
119044
- *
119045
- * @param {ModdleElement} element
119046
- *
119047
- * @return {string|undefined}
119061
+ /**
119062
+ * getConditionExpression - get the body value of a condition expression for a given element
119063
+ *
119064
+ * @param {ModdleElement} element
119065
+ *
119066
+ * @return {string|undefined}
119048
119067
  */
119049
119068
  function getConditionExpression$1(element) {
119050
119069
  const businessObject = getBusinessObject$2(element);
@@ -119100,12 +119119,12 @@
119100
119119
  });
119101
119120
  }
119102
119121
 
119103
- /**
119104
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
119122
+ /**
119123
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
119105
119124
  */
119106
119125
 
119107
- /**
119108
- * @returns {Array<Entry>} entries
119126
+ /**
119127
+ * @returns {Array<Entry>} entries
119109
119128
  */
119110
119129
  function EscalationProps$1(props) {
119111
119130
  const {
@@ -119733,24 +119752,24 @@
119733
119752
 
119734
119753
  // helpers /////////////
119735
119754
 
119736
- /**
119737
- * @typedef { { cmd: string, context: Object } } Command
119738
- * @typedef {Command[]} Commands
119739
- *
119740
- * @typedef {import('diagram-js/lib/model/Types').Element} Element
119741
- * @typedef {import('bpmn-js/lib/model/Types').ModdleElement} ModdleElement
119742
- *
119743
- * @param {import('didi').Injector} Injector
119755
+ /**
119756
+ * @typedef { { cmd: string, context: Object } } Command
119757
+ * @typedef {Command[]} Commands
119758
+ *
119759
+ * @typedef {import('diagram-js/lib/model/Types').Element} Element
119760
+ * @typedef {import('bpmn-js/lib/model/Types').ModdleElement} ModdleElement
119761
+ *
119762
+ * @param {import('didi').Injector} Injector
119744
119763
  */
119745
119764
 
119746
- /**
119747
- * @param {Injector} injector
119748
- * @param {Element} element
119749
- *
119750
- * @returns { {
119751
- * commands: Commands,
119752
- * extensionElements: ModdleElement
119753
- * } }
119765
+ /**
119766
+ * @param {Injector} injector
119767
+ * @param {Element} element
119768
+ *
119769
+ * @returns { {
119770
+ * commands: Commands,
119771
+ * extensionElements: ModdleElement
119772
+ * } }
119754
119773
  */
119755
119774
  function getOrCreateExtensionElements(injector, element, moddleElement) {
119756
119775
  const businessObject = moddleElement || getBusinessObject$2(element);
@@ -119773,14 +119792,14 @@
119773
119792
  };
119774
119793
  }
119775
119794
 
119776
- /**
119777
- * @param {Injector} injector
119778
- * @param {Element} element
119779
- *
119780
- * @returns { {
119781
- * commands: Commands,
119782
- * formDefinition: ModdleElement
119783
- * } }
119795
+ /**
119796
+ * @param {Injector} injector
119797
+ * @param {Element} element
119798
+ *
119799
+ * @returns { {
119800
+ * commands: Commands,
119801
+ * formDefinition: ModdleElement
119802
+ * } }
119784
119803
  */
119785
119804
  function getOrCreateFormDefintition(injector, element) {
119786
119805
  let formDefinition = getFormDefinition$1(element);
@@ -119803,15 +119822,15 @@
119803
119822
  };
119804
119823
  }
119805
119824
 
119806
- /**
119807
- * @param {Injector} injector
119808
- * @param {Element} element
119809
- *
119810
- * @returns { {
119811
- * commands: Commands,
119812
- * formDefinition: ModdleElement,
119813
- * userTaskForm: ModdleElement
119814
- * } }
119825
+ /**
119826
+ * @param {Injector} injector
119827
+ * @param {Element} element
119828
+ *
119829
+ * @returns { {
119830
+ * commands: Commands,
119831
+ * formDefinition: ModdleElement,
119832
+ * userTaskForm: ModdleElement
119833
+ * } }
119815
119834
  */
119816
119835
  function getOrCreateUserTaskForm(injector, element) {
119817
119836
  let userTaskForm = getUserTaskForm$1(element);
@@ -119888,8 +119907,8 @@
119888
119907
  function removeFormDefinition(injector, element) {
119889
119908
  const formDefinition = getFormDefinition$1(element);
119890
119909
 
119891
- /**
119892
- * @type {import('bpmn-js/lib/features/modeling/Modeling').default}
119910
+ /**
119911
+ * @type {import('bpmn-js/lib/features/modeling/Modeling').default}
119893
119912
  */
119894
119913
  const modeling = injector.get('modeling');
119895
119914
  if (formDefinition) {
@@ -119901,36 +119920,36 @@
119901
119920
  }
119902
119921
  }
119903
119922
 
119904
- /**
119905
- * @param {Injector} injector
119906
- * @param {Object} properties
119907
- * @param {ModdleElement} parent
119908
- *
119909
- * @returns {ModdleElement}
119923
+ /**
119924
+ * @param {Injector} injector
119925
+ * @param {Object} properties
119926
+ * @param {ModdleElement} parent
119927
+ *
119928
+ * @returns {ModdleElement}
119910
119929
  */
119911
119930
  function createFormDefinition(injector, properties, parent) {
119912
119931
  const bpmnFactory = injector.get('bpmnFactory');
119913
119932
  return createElement$3('zeebe:FormDefinition', properties, parent, bpmnFactory);
119914
119933
  }
119915
119934
 
119916
- /**
119917
- * @param {Injector} injector
119918
- * @param {Object} properties
119919
- * @param {ModdleElement} parent
119920
- *
119921
- * @returns {ModdleElement}
119935
+ /**
119936
+ * @param {Injector} injector
119937
+ * @param {Object} properties
119938
+ * @param {ModdleElement} parent
119939
+ *
119940
+ * @returns {ModdleElement}
119922
119941
  */
119923
119942
  function createUserTaskForm(injector, properties, parent) {
119924
119943
  const bpmnFactory = injector.get('bpmnFactory');
119925
119944
  return createElement$3('zeebe:UserTaskForm', properties, parent, bpmnFactory);
119926
119945
  }
119927
119946
 
119928
- /**
119929
- * @param {Element} element
119930
- * @param {ModdleElement} moddleElement
119931
- * @param {Object} properties
119932
- *
119933
- * @returns {Command}
119947
+ /**
119948
+ * @param {Element} element
119949
+ * @param {ModdleElement} moddleElement
119950
+ * @param {Object} properties
119951
+ *
119952
+ * @returns {Command}
119934
119953
  */
119935
119954
  function createUpdateModdlePropertiesCommand(element, moddleElement, properties) {
119936
119955
  return {
@@ -120276,11 +120295,11 @@
120276
120295
 
120277
120296
  // helper //////////////////////////
120278
120297
 
120279
- /**
120280
- * Check whether the propagateAllParentVariables attribute is set on an element.
120281
- * @param {Object} element
120282
- *
120283
- * @returns {boolean}
120298
+ /**
120299
+ * Check whether the propagateAllParentVariables attribute is set on an element.
120300
+ * @param {Object} element
120301
+ *
120302
+ * @returns {boolean}
120284
120303
  */
120285
120304
  function isPropagateAllParentVariables(element) {
120286
120305
  if (!is$6(element, 'bpmn:CallActivity')) {
@@ -120381,37 +120400,37 @@
120381
120400
  return ioMapping && ioMapping.get(prop) || [];
120382
120401
  }
120383
120402
 
120384
- /**
120385
- * Get a ioMapping from the business object
120386
- *
120387
- * @param {djs.model.Base} element
120388
- *
120389
- * @return {ModdleElement} the ioMapping object
120403
+ /**
120404
+ * Get a ioMapping from the business object
120405
+ *
120406
+ * @param {djs.model.Base} element
120407
+ *
120408
+ * @return {ModdleElement} the ioMapping object
120390
120409
  */
120391
120410
  function getIoMapping$1(element) {
120392
120411
  const bo = getBusinessObject$2(element);
120393
120412
  return (getElements$1(bo, 'zeebe:IoMapping') || [])[0];
120394
120413
  }
120395
120414
 
120396
- /**
120397
- * Return all input parameters existing in the business object, and
120398
- * an empty array if none exist.
120399
- *
120400
- * @param {djs.model.Base} element
120401
- *
120402
- * @return {Array} a list of input parameter objects
120415
+ /**
120416
+ * Return all input parameters existing in the business object, and
120417
+ * an empty array if none exist.
120418
+ *
120419
+ * @param {djs.model.Base} element
120420
+ *
120421
+ * @return {Array} a list of input parameter objects
120403
120422
  */
120404
120423
  function getInputParameters$1(element) {
120405
120424
  return getParameters$1.apply(this, [element, 'inputParameters']);
120406
120425
  }
120407
120426
 
120408
- /**
120409
- * Return all output parameters existing in the business object, and
120410
- * an empty array if none exist.
120411
- *
120412
- * @param {djs.model.Base} element
120413
- *
120414
- * @return {Array} a list of output parameter objects
120427
+ /**
120428
+ * Return all output parameters existing in the business object, and
120429
+ * an empty array if none exist.
120430
+ *
120431
+ * @param {djs.model.Base} element
120432
+ *
120433
+ * @return {Array} a list of output parameter objects
120415
120434
  */
120416
120435
  function getOutputParameters$1(element) {
120417
120436
  return getParameters$1.apply(this, [element, 'outputParameters']);
@@ -121082,11 +121101,11 @@
121082
121101
 
121083
121102
  // helper //////////////////////////
121084
121103
 
121085
- /**
121086
- * Determine default value for propagateAllChildVariables attribute
121087
- * @param {Object} element representing a bpmn:CallActivity
121088
- *
121089
- * @returns {boolean}
121104
+ /**
121105
+ * Determine default value for propagateAllChildVariables attribute
121106
+ * @param {Object} element representing a bpmn:CallActivity
121107
+ *
121108
+ * @returns {boolean}
121090
121109
  */
121091
121110
  function determinePropAllChildVariablesDefault(element) {
121092
121111
  const outputParameters = getOutputParameters$1(element);
@@ -121095,12 +121114,12 @@
121095
121114
  }
121096
121115
  }
121097
121116
 
121098
- /**
121099
- * Check whether the propagateAllChildVariables attribute is set on an element.
121100
- * Note that a default logic will be determine if it is not explicitly set.
121101
- * @param {Object} element
121102
- *
121103
- * @returns {boolean}
121117
+ /**
121118
+ * Check whether the propagateAllChildVariables attribute is set on an element.
121119
+ * Note that a default logic will be determine if it is not explicitly set.
121120
+ * @param {Object} element
121121
+ *
121122
+ * @returns {boolean}
121104
121123
  */
121105
121124
  function isPropagateAllChildVariables(element) {
121106
121125
  if (!is$6(element, 'bpmn:CallActivity')) {
@@ -121259,6 +121278,117 @@
121259
121278
  };
121260
121279
  }
121261
121280
 
121281
+ function PriorityDefinitionProps(props) {
121282
+ const {
121283
+ element
121284
+ } = props;
121285
+ if (!is$6(element, 'bpmn:UserTask')) {
121286
+ return [];
121287
+ }
121288
+ return [{
121289
+ id: 'priorityDefinitionPriority',
121290
+ component: Priority$1,
121291
+ isEdited: isEdited$6
121292
+ }];
121293
+ }
121294
+ function Priority$1(props) {
121295
+ const {
121296
+ element
121297
+ } = props;
121298
+ const commandStack = useService$1('commandStack');
121299
+ const bpmnFactory = useService$1('bpmnFactory');
121300
+ const translate = useService$1('translate');
121301
+ const debounce = useService$1('debounceInput');
121302
+ const getValue = () => {
121303
+ return (getPriorityDefinition(element) || {}).priority;
121304
+ };
121305
+ const setValue = value => {
121306
+ const commands = [];
121307
+ const businessObject = getBusinessObject$2(element);
121308
+ let extensionElements = businessObject.get('extensionElements');
121309
+
121310
+ // (1) ensure extension elements
121311
+ if (!extensionElements) {
121312
+ extensionElements = createElement$3('bpmn:ExtensionElements', {
121313
+ values: []
121314
+ }, businessObject, bpmnFactory);
121315
+ commands.push({
121316
+ cmd: 'element.updateModdleProperties',
121317
+ context: {
121318
+ element,
121319
+ moddleElement: businessObject,
121320
+ properties: {
121321
+ extensionElements
121322
+ }
121323
+ }
121324
+ });
121325
+ }
121326
+
121327
+ // (2) ensure PriorityDefinition
121328
+ let priorityDefinition = getPriorityDefinition(element);
121329
+ const isNullValue = value === null || value === '' || value === undefined;
121330
+ if (priorityDefinition && isNullValue) {
121331
+ // (3a) remove priority definition if it exists and priority is set to null
121332
+ commands.push({
121333
+ cmd: 'element.updateModdleProperties',
121334
+ context: {
121335
+ element,
121336
+ moddleElement: extensionElements,
121337
+ properties: {
121338
+ values: extensionElements.get('values').filter(v => v !== priorityDefinition)
121339
+ }
121340
+ }
121341
+ });
121342
+ } else if (priorityDefinition && !isNullValue) {
121343
+ // (3b) update priority definition if it already exists
121344
+ commands.push({
121345
+ cmd: 'element.updateModdleProperties',
121346
+ context: {
121347
+ element,
121348
+ moddleElement: priorityDefinition,
121349
+ properties: {
121350
+ priority: value
121351
+ }
121352
+ }
121353
+ });
121354
+ } else if (!priorityDefinition && !isNullValue) {
121355
+ // (3c) create priority definition if it does not exist
121356
+ priorityDefinition = createElement$3('zeebe:PriorityDefinition', {
121357
+ priority: value
121358
+ }, extensionElements, bpmnFactory);
121359
+ commands.push({
121360
+ cmd: 'element.updateModdleProperties',
121361
+ context: {
121362
+ element,
121363
+ moddleElement: extensionElements,
121364
+ properties: {
121365
+ values: [...extensionElements.get('values'), priorityDefinition]
121366
+ }
121367
+ }
121368
+ });
121369
+ }
121370
+
121371
+ // (4) commit all updates
121372
+ commandStack.execute('properties-panel.multi-command-executor', commands);
121373
+ };
121374
+ return FeelEntryWithVariableContext$1({
121375
+ element,
121376
+ id: 'priorityDefinitionPriority',
121377
+ label: translate('Priority'),
121378
+ feel: 'optional',
121379
+ getValue,
121380
+ setValue,
121381
+ debounce
121382
+ });
121383
+ }
121384
+
121385
+ // helper ///////////////////////
121386
+
121387
+ function getPriorityDefinition(element) {
121388
+ const businessObject = getBusinessObject$2(element);
121389
+ return getExtensionElementsList$2(businessObject, 'zeebe:PriorityDefinition')[0];
121390
+ }
121391
+
121262
121392
  const SCRIPT_IMPLEMENTATION_OPTION = 'script',
121263
121393
  JOB_WORKER_IMPLEMENTATION_OPTION$1 = 'jobWorker',
121264
121394
  DEFAULT_IMPLEMENTATION_OPTION = '';
@@ -121293,10 +121423,10 @@
121293
121423
  return DEFAULT_IMPLEMENTATION_OPTION;
121294
121424
  };
121295
121425
 
121296
- /**
121297
- * Set value by either creating a zeebe:script or a zeebe:taskDefintion
121298
- * extension element. Note that they must not exist both at the same time, however
121299
- * this will be ensured by a bpmn-js behavior (and not by the propPanel).
121426
+ /**
121427
+ * Set value by either creating a zeebe:script or a zeebe:taskDefintion
121428
+ * extension element. Note that they must not exist both at the same time, however
121429
+ * this will be ensured by a bpmn-js behavior (and not by the propPanel).
121300
121430
  */
121301
121431
  const setValue = value => {
121302
121432
  let extensionElement, extensionElementType;
@@ -121588,8 +121718,8 @@
121588
121718
  return getExtensionElementsList$2(businessObject, 'zeebe:Script')[0];
121589
121719
  }
121590
121720
 
121591
- /**
121592
- * @returns {Entry[]}
121721
+ /**
121722
+ * @returns {Entry[]}
121593
121723
  */
121594
121724
  function SignalProps(props) {
121595
121725
  const {
@@ -121820,7 +121950,7 @@
121820
121950
  return FeelEntryWithVariableContext$1({
121821
121951
  element,
121822
121952
  id,
121823
- label: translate('Type'),
121953
+ label: translate('Job type'),
121824
121954
  feel: 'optional',
121825
121955
  getValue,
121826
121956
  setValue,
@@ -122085,13 +122215,13 @@
122085
122215
  return getExtensionElementsList$2(businessObject, 'zeebe:TaskSchedule')[0];
122086
122216
  }
122087
122217
 
122088
- /**
122089
- * Check whether a given timer expression type is supported for a given element.
122090
- *
122091
- * @param {string} type
122092
- * @param {Element|ModdleElement} element
122093
- *
122094
- * @return {boolean}
122218
+ /**
122219
+ * Check whether a given timer expression type is supported for a given element.
122220
+ *
122221
+ * @param {string} type
122222
+ * @param {Element|ModdleElement} element
122223
+ *
122224
+ * @return {boolean}
122095
122225
  */
122096
122226
  function isTimerExpressionTypeSupported$1(type, element) {
122097
122227
  const businessObject = getBusinessObject$2(element);
@@ -122184,12 +122314,12 @@
122184
122314
  return options;
122185
122315
  }
122186
122316
 
122187
- /**
122188
- * TimerEventDefinitionType - Generic select entry allowing to select a specific
122189
- * timerEventDefintionType. To be used together with timerEventDefinitionValue.
122190
- *
122191
- * @param {type} props
122192
- * @return {SelectEntry}
122317
+ /**
122318
+ * TimerEventDefinitionType - Generic select entry allowing to select a specific
122319
+ * timerEventDefintionType. To be used together with timerEventDefinitionValue.
122320
+ *
122321
+ * @param {type} props
122322
+ * @return {SelectEntry}
122193
122323
  */
122194
122324
  function TimerEventDefinitionType$1(props) {
122195
122325
  const {
@@ -122247,16 +122377,16 @@
122247
122377
  });
122248
122378
  }
122249
122379
 
122250
- /**
122251
- * TimerEventDefinitionValue - Generic textField entry allowing to specify the
122252
- * timerEventDefintionValue based on the set timerEventDefintionType. To be used
122253
- * together with timerEventDefinitionType.
122254
- *
122255
- * @param {object} props
122256
- * @param {ModdleElement} props.element
122257
- * @param {'timeCycle'|'timeDate'|'timeDuration'} props.timerEventDefinitionType?
122258
- * @param {string} props.label?
122259
- * @return {TextFieldEntry}
122380
+ /**
122381
+ * TimerEventDefinitionValue - Generic textField entry allowing to specify the
122382
+ * timerEventDefintionValue based on the set timerEventDefintionType. To be used
122383
+ * together with timerEventDefinitionType.
122384
+ *
122385
+ * @param {object} props
122386
+ * @param {ModdleElement} props.element
122387
+ * @param {'timeCycle'|'timeDate'|'timeDuration'} props.timerEventDefinitionType?
122388
+ * @param {string} props.label?
122389
+ * @return {TextFieldEntry}
122260
122390
  */
122261
122391
  function TimerEventDefinitionValue$1(props) {
122262
122392
  const {
@@ -122425,10 +122555,10 @@
122425
122555
  return JOB_WORKER_IMPLEMENTATION_OPTION;
122426
122556
  };
122427
122557
 
122428
- /**
122429
- * Set value by either creating or removing zeebe:userTask extension element.
122430
- * Note that they must not exist both at the same time, however this
122431
- * will be ensured by a camunda-bpmn-js behavior (and not by the propPanel).
122558
+ /**
122559
+ * Set value by either creating or removing zeebe:userTask extension element.
122560
+ * Note that they must not exist both at the same time, however this
122561
+ * will be ensured by a camunda-bpmn-js behavior (and not by the propPanel).
122432
122562
  */
122433
122563
  const setValue = value => {
122434
122564
  if (value === ZEEBE_USER_TASK_IMPLEMENTATION_OPTION) {
@@ -122735,8 +122865,8 @@
122735
122865
  return properties && properties.get(getPropertyName(namespace));
122736
122866
  }
122737
122867
 
122738
- /**
122739
- * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
122868
+ /**
122869
+ * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
122740
122870
  */
122741
122871
 
122742
122872
  const LOW_PRIORITY$1$1 = 500;
@@ -122951,6 +123081,8 @@
122951
123081
  element
122952
123082
  }), ...TaskScheduleProps({
122953
123083
  element
123084
+ }), ...PriorityDefinitionProps({
123085
+ element
122954
123086
  })],
122955
123087
  component: Group$1
122956
123088
  };
@@ -123064,13 +123196,13 @@
123064
123196
  return groups.find(g => g.id === id);
123065
123197
  }
123066
123198
 
123067
- /**
123068
- * Replace entries with the same ID.
123069
- *s
123070
- * @param {Entry[]} oldEntries
123071
- * @param {Entry[]} newEntries
123072
- *
123073
- * @returns {Entry[]} combined entries
123199
+ /**
123200
+ * Replace entries with the same ID.
123201
+ *s
123202
+ * @param {Entry[]} oldEntries
123203
+ * @param {Entry[]} newEntries
123204
+ *
123205
+ * @returns {Entry[]} combined entries
123074
123206
  */
123075
123207
  function replaceEntries(oldEntries, newEntries) {
123076
123208
  const filteredEntries = oldEntries.filter(oldEntry => !newEntries.find(newEntry => newEntry.id === oldEntry.id));
@@ -123378,57 +123510,67 @@
123378
123510
  }), translate('Uses the resource found in the same deployment.')]
123379
123511
  })]
123380
123512
  });
123513
+ },
123514
+ 'priorityDefinitionPriority': element => {
123515
+ const translate = useService$1('translate');
123516
+ return u("div", {
123517
+ children: [u("p", {
123518
+ children: translate('An integer value that can range from 0 to 100, where a higher value indicates a higher priority.')
123519
+ }), u("p", {
123520
+ children: translate('If unset, the default value is 50.')
123521
+ })]
123522
+ });
123381
123523
  }
123382
123524
  };
123383
123525
 
123384
- /**
123385
- * @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
123386
- *
123387
- * @typedef {import('didi').ModuleDeclaration} ModuleDeclaration
123388
- */
123389
-
123390
- /**
123391
- *
123392
- * @param {BaseViewerOptions} options
123393
- */
123394
- function Modeler$1(options = {}) {
123395
- Modeler$2.call(this, options);
123396
- }
123397
-
123398
- e$7(Modeler$1, Modeler$2);
123399
-
123400
- /**
123401
- * @param { {
123402
- * disableAdjustOrigin?: boolean;
123403
- * disableGrid?: boolean;
123404
- * } } [options]
123405
- *
123406
- * @returns {ModuleDeclaration[]}
123407
- */
123408
- Modeler$1.prototype.getModules = function(options = {}) {
123409
- const modules = Modeler$2.prototype.getModules.call(this, options);
123410
-
123411
- return [
123412
- ...modules,
123413
- options.disableAdjustOrigin
123414
- ? diagramOriginModule
123415
- : alignToOriginModule,
123416
- options.disableGrid
123417
- ? {}
123418
- : index$5
123419
- ];
123420
- };
123421
-
123422
- Modeler$1.prototype._extensionModules = [
123423
- index$6,
123424
- ExecutableFixModule,
123425
- index$3$1,
123426
- index$2$1
123427
- ];
123428
-
123429
- Modeler$1.prototype._modules = [].concat(
123430
- Modeler$2.prototype._modules,
123431
- Modeler$1.prototype._extensionModules
123526
+ /**
123527
+ * @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
123528
+ *
123529
+ * @typedef {import('didi').ModuleDeclaration} ModuleDeclaration
123530
+ */
123531
+
123532
+ /**
123533
+ *
123534
+ * @param {BaseViewerOptions} options
123535
+ */
123536
+ function Modeler$1(options = {}) {
123537
+ Modeler$2.call(this, options);
123538
+ }
123539
+
123540
+ e$7(Modeler$1, Modeler$2);
123541
+
123542
+ /**
123543
+ * @param { {
123544
+ * disableAdjustOrigin?: boolean;
123545
+ * disableGrid?: boolean;
123546
+ * } } [options]
123547
+ *
123548
+ * @returns {ModuleDeclaration[]}
123549
+ */
123550
+ Modeler$1.prototype.getModules = function(options = {}) {
123551
+ const modules = Modeler$2.prototype.getModules.call(this, options);
123552
+
123553
+ return [
123554
+ ...modules,
123555
+ options.disableAdjustOrigin
123556
+ ? diagramOriginModule
123557
+ : alignToOriginModule,
123558
+ options.disableGrid
123559
+ ? {}
123560
+ : index$5
123561
+ ];
123562
+ };
123563
+
123564
+ Modeler$1.prototype._extensionModules = [
123565
+ index$6,
123566
+ ExecutableFixModule,
123567
+ index$3$1,
123568
+ index$2$1
123569
+ ];
123570
+
123571
+ Modeler$1.prototype._modules = [].concat(
123572
+ Modeler$2.prototype._modules,
123573
+ Modeler$1.prototype._extensionModules
123432
123574
  );
123433
123575
 
123434
123576
  /**
@@ -128545,6 +128687,9 @@
128545
128687
  if (notEmpty && isEmpty(value)) {
128546
128688
  return `${label} ${translate('must not be empty.')}`;
128547
128689
  }
128690
+ if (property.feel && isFeel$1(value)) {
128691
+ return;
128692
+ }
128548
128693
  if (maxLength && (value || '').length > maxLength) {
128549
128694
  return `${label} ${translate('must have max length {maxLength}.', {
128550
128695
  maxLength
@@ -128602,6 +128747,9 @@
128602
128747
  return replacements[key] || '{' + key + '}';
128603
128748
  });
128604
128749
  }
128750
+ function isFeel$1(value) {
128751
+ return isString$3(value) && value.trim().startsWith('=');
128752
+ }
128605
128753
 
128606
128754
  /**
128607
128755
  * Based on conditions, remove properties from the template.
@@ -130963,7 +131111,7 @@
130963
131111
  }
130964
131112
 
130965
131113
  const LOWER_PRIORITY$1 = 300;
130966
- const ALWAYS_DISPLAYED_GROUPS$1 = ['general', 'documentation', 'multiInstance'];
131114
+ const ALWAYS_DISPLAYED_GROUPS$1 = ['general', 'documentation', 'multiInstance', 'Zeebe__ExecutionListeners'];
130967
131115
  let ElementTemplatesPropertiesProvider$1 = class ElementTemplatesPropertiesProvider {
130968
131116
  constructor(elementTemplates, propertiesPanel, injector) {
130969
131117
  propertiesPanel.registerProvider(LOWER_PRIORITY$1, this);
@@ -155914,6 +156062,24 @@
155914
156062
  }
155915
156063
  ]
155916
156064
  },
156065
+ {
156066
+ name: "PriorityDefinition",
156067
+ superClass: [
156068
+ "Element"
156069
+ ],
156070
+ meta: {
156071
+ allowedIn: [
156072
+ "bpmn:UserTask"
156073
+ ]
156074
+ },
156075
+ properties: [
156076
+ {
156077
+ name: "priority",
156078
+ type: "String",
156079
+ isAttr: true
156080
+ }
156081
+ ]
156082
+ },
155917
156083
  {
155918
156084
  name: "TaskSchedule",
155919
156085
  superClass: [
@@ -156128,17 +156294,17 @@
156128
156294
  types: types
156129
156295
  };
156130
156296
 
156131
- const commonModules = [
156132
- iconRendererModule
156133
- ];
156134
-
156135
- /**
156136
- * @type { {
156137
- * zeebe: any
156138
- * } }
156139
- */
156140
- const commonModdleExtensions = {
156141
- zeebe: zeebeModdle
156297
+ const commonModules = [
156298
+ iconRendererModule
156299
+ ];
156300
+
156301
+ /**
156302
+ * @type { {
156303
+ * zeebe: any
156304
+ * } }
156305
+ */
156306
+ const commonModdleExtensions = {
156307
+ zeebe: zeebeModdle
156142
156308
  };
156143
156309
 
156144
156310
  /**
@@ -159986,58 +160152,58 @@
159986
160152
  ]
159987
160153
  };
159988
160154
 
159989
- /**
159990
- * @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
159991
- */
159992
-
159993
- /**
159994
- * @param {BaseViewerOptions} options
159995
- */
159996
- function Modeler(options = {}) {
159997
-
159998
- options = {
159999
- ...options,
160000
- moddleExtensions: {
160001
- ...commonModdleExtensions,
160002
- ...options.moddleExtensions
160003
- },
160004
- propertiesPanel: {
160005
- tooltip: TooltipProvider$1,
160006
- ...options.propertiesPanel
160007
- }
160008
- };
160009
-
160010
- this._addElementTemplateChooserModule(options);
160011
-
160012
- Modeler$1.call(this, options);
160013
- }
160014
-
160015
- e$7(Modeler, Modeler$1);
160016
-
160017
- Modeler.prototype._addElementTemplateChooserModule = function(options) {
160018
- const { elementTemplateChooser } = options;
160019
-
160020
- if (elementTemplateChooser !== false) {
160021
- this._modules = [ ...this._modules, index$2 ];
160022
- }
160023
- };
160024
-
160025
- Modeler.prototype._camundaCloudModules = [
160026
- ...commonModules,
160027
- behaviorsModule,
160028
- index$1$2,
160029
- index$1$1,
160030
- index$1,
160031
- index,
160032
- colorPickerModule,
160033
- ZeebeVariableResolverModule,
160034
- exampleDataPropertiesProviderModule,
160035
- index$3
160036
- ];
160037
-
160038
- Modeler.prototype._modules = [].concat(
160039
- Modeler$1.prototype._modules,
160040
- Modeler.prototype._camundaCloudModules
160155
+ /**
160156
+ * @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
160157
+ */
160158
+
160159
+ /**
160160
+ * @param {BaseViewerOptions} options
160161
+ */
160162
+ function Modeler(options = {}) {
160163
+
160164
+ options = {
160165
+ ...options,
160166
+ moddleExtensions: {
160167
+ ...commonModdleExtensions,
160168
+ ...options.moddleExtensions
160169
+ },
160170
+ propertiesPanel: {
160171
+ tooltip: TooltipProvider$1,
160172
+ ...options.propertiesPanel
160173
+ }
160174
+ };
160175
+
160176
+ this._addElementTemplateChooserModule(options);
160177
+
160178
+ Modeler$1.call(this, options);
160179
+ }
160180
+
160181
+ e$7(Modeler, Modeler$1);
160182
+
160183
+ Modeler.prototype._addElementTemplateChooserModule = function(options) {
160184
+ const { elementTemplateChooser } = options;
160185
+
160186
+ if (elementTemplateChooser !== false) {
160187
+ this._modules = [ ...this._modules, index$2 ];
160188
+ }
160189
+ };
160190
+
160191
+ Modeler.prototype._camundaCloudModules = [
160192
+ ...commonModules,
160193
+ behaviorsModule,
160194
+ index$1$2,
160195
+ index$1$1,
160196
+ index$1,
160197
+ index,
160198
+ colorPickerModule,
160199
+ ZeebeVariableResolverModule,
160200
+ exampleDataPropertiesProviderModule,
160201
+ index$3
160202
+ ];
160203
+
160204
+ Modeler.prototype._modules = [].concat(
160205
+ Modeler$1.prototype._modules,
160206
+ Modeler.prototype._camundaCloudModules
160041
160207
  );
160042
160208
 
160043
160209
  return Modeler;