camunda-bpmn-js 3.3.1 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3827,10 +3827,7 @@
3827
3827
  if (typeof f == "function") {
3828
3828
  var a = function a () {
3829
3829
  if (this instanceof a) {
3830
- var args = [null];
3831
- args.push.apply(args, arguments);
3832
- var Ctor = Function.bind.apply(f, args);
3833
- return new Ctor();
3830
+ return Reflect.construct(f, arguments, this.constructor);
3834
3831
  }
3835
3832
  return f.apply(this, arguments);
3836
3833
  };
@@ -17000,6 +16997,7 @@
17000
16997
  */
17001
16998
 
17002
16999
 
17000
+
17003
17001
  // inlined ../../resources/logo.svg
17004
17002
  var BPMNIO_LOGO_SVG = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.02 5.57" width="53" height="21"><path fill="currentColor" d="M1.88.92v.14c0 .41-.13.68-.4.8.33.14.46.44.46.86v.33c0 .61-.33.95-.95.95H0V0h.95c.65 0 .93.3.93.92zM.63.57v1.06h.24c.24 0 .38-.1.38-.43V.98c0-.28-.1-.4-.32-.4zm0 1.63v1.22h.36c.2 0 .32-.1.32-.39v-.35c0-.37-.12-.48-.4-.48H.63zM4.18.99v.52c0 .64-.31.98-.94.98h-.3V4h-.62V0h.92c.63 0 .94.35.94.99zM2.94.57v1.35h.3c.2 0 .3-.09.3-.37v-.6c0-.29-.1-.38-.3-.38h-.3zm2.89 2.27L6.25 0h.88v4h-.6V1.12L6.1 3.99h-.6l-.46-2.82v2.82h-.55V0h.87zM8.14 1.1V4h-.56V0h.79L9 2.4V0h.56v4h-.64zm2.49 2.29v.6h-.6v-.6zM12.12 1c0-.63.33-1 .95-1 .61 0 .95.37.95 1v2.04c0 .64-.34 1-.95 1-.62 0-.95-.37-.95-1zm.62 2.08c0 .28.13.39.33.39s.32-.1.32-.4V.98c0-.29-.12-.4-.32-.4s-.33.11-.33.4z"/><path fill="currentColor" d="M0 4.53h14.02v1.04H0zM11.08 0h.63v.62h-.63zm.63 4V1h-.63v2.98z"/></svg>';
17005
17003
 
@@ -52503,6 +52501,7 @@
52503
52501
  * @typedef {import('../../util/Types').Rect} Rect
52504
52502
  */
52505
52503
 
52504
+
52506
52505
  /**
52507
52506
  * Return direction given axis and delta.
52508
52507
  *
@@ -60404,6 +60403,7 @@
60404
60403
  */
60405
60404
 
60406
60405
 
60406
+
60407
60407
  /**
60408
60408
  * A base connection layouter implementation
60409
60409
  * that layouts the connection by directly connecting
@@ -98063,20 +98063,24 @@
98063
98063
 
98064
98064
  // set edited state depending on all entries
98065
98065
  p$1(() => {
98066
- const hasOneEditedEntry = entries.find(entry => {
98067
- const {
98068
- id,
98069
- isEdited
98070
- } = entry;
98071
- const entryNode = query$1(`[data-entry-id="${id}"]`);
98072
- if (!isFunction$1(isEdited) || !entryNode) {
98073
- return false;
98074
- }
98075
- const inputNode = query$1('.bio-properties-panel-input', entryNode);
98076
- return isEdited(inputNode);
98066
+ // TODO(@barmac): replace with CSS when `:has()` is supported in all major browsers, or rewrite as in https://github.com/camunda/camunda-modeler/issues/3815#issuecomment-1733038161
98067
+ const scheduled = requestAnimationFrame(() => {
98068
+ const hasOneEditedEntry = entries.find(entry => {
98069
+ const {
98070
+ id,
98071
+ isEdited
98072
+ } = entry;
98073
+ const entryNode = query$1(`[data-entry-id="${id}"]`);
98074
+ if (!isFunction$1(isEdited) || !entryNode) {
98075
+ return false;
98076
+ }
98077
+ const inputNode = query$1('.bio-properties-panel-input', entryNode);
98078
+ return isEdited(inputNode);
98079
+ });
98080
+ setEdited(hasOneEditedEntry);
98077
98081
  });
98078
- setEdited(hasOneEditedEntry);
98079
- }, [entries]);
98082
+ return () => cancelAnimationFrame(scheduled);
98083
+ }, [entries, setEdited]);
98080
98084
 
98081
98085
  // set error state depending on all entries
98082
98086
  const allErrors = useErrors();
@@ -98464,7 +98468,11 @@
98464
98468
  // (2) setup drag listeners
98465
98469
 
98466
98470
  // attach drag + cleanup event
98467
- document.addEventListener('dragover', onDrag);
98471
+ // we need to do this to make sure we track cursor
98472
+ // movements before we reach other drag event handlers,
98473
+ // e.g. in child containers.
98474
+ document.addEventListener('dragover', onDrag, true);
98475
+ document.addEventListener('dragenter', preventDefault, true);
98468
98476
  document.addEventListener('dragend', onEnd);
98469
98477
  document.addEventListener('drop', preventDefault);
98470
98478
  }
@@ -98478,7 +98486,8 @@
98478
98486
  return fn.call(self, event, delta);
98479
98487
  }
98480
98488
  function onEnd() {
98481
- document.removeEventListener('dragover', onDrag);
98489
+ document.removeEventListener('dragover', onDrag, true);
98490
+ document.removeEventListener('dragenter', preventDefault, true);
98482
98491
  document.removeEventListener('dragend', onEnd);
98483
98492
  document.removeEventListener('drop', preventDefault);
98484
98493
  }
@@ -98500,6 +98509,7 @@
98500
98509
  * @param {Object} props
98501
98510
  * @param {HTMLElement} [props.container]
98502
98511
  * @param {string} [props.className]
98512
+ * @param {boolean} [props.delayInitialFocus]
98503
98513
  * @param {{x: number, y: number}} [props.position]
98504
98514
  * @param {number} [props.width]
98505
98515
  * @param {number} [props.height]
@@ -98507,12 +98517,15 @@
98507
98517
  * @param {Function} [props.onPostActivate]
98508
98518
  * @param {Function} [props.onPostDeactivate]
98509
98519
  * @param {boolean} [props.returnFocus]
98520
+ * @param {boolean} [props.closeOnEscape]
98510
98521
  * @param {string} props.title
98522
+ * @param {Ref} [ref]
98511
98523
  */
98512
- function Popup(props) {
98524
+ function PopupComponent(props, globalRef) {
98513
98525
  const {
98514
98526
  container,
98515
98527
  className,
98528
+ delayInitialFocus,
98516
98529
  position,
98517
98530
  width,
98518
98531
  height,
@@ -98520,12 +98533,16 @@
98520
98533
  onPostActivate = noop$3,
98521
98534
  onPostDeactivate = noop$3,
98522
98535
  returnFocus = true,
98536
+ closeOnEscape = true,
98523
98537
  title
98524
98538
  } = props;
98525
98539
  const focusTrapRef = _$1(null);
98526
- const popupRef = _$1(null);
98527
- const handleKeyPress = event => {
98528
- if (event.key === 'Escape') {
98540
+ const localRef = _$1(null);
98541
+ const popupRef = globalRef || localRef;
98542
+ const handleKeydown = event => {
98543
+ // do not allow keyboard events to bubble
98544
+ event.stopPropagation();
98545
+ if (closeOnEscape && event.key === 'Escape') {
98529
98546
  onClose();
98530
98547
  }
98531
98548
  };
@@ -98550,14 +98567,6 @@
98550
98567
  if (height) {
98551
98568
  style.height = height + 'px';
98552
98569
  }
98553
- p$1(() => {
98554
- if (popupRef.current) {
98555
- popupRef.current.addEventListener('keydown', handleKeyPress);
98556
- }
98557
- return () => {
98558
- popupRef.current.removeEventListener('keydown', handleKeyPress);
98559
- };
98560
- }, [popupRef]);
98561
98570
  p$1(() => {
98562
98571
  if (popupRef.current) {
98563
98572
  popupRef.current.addEventListener('focusin', handleFocus);
@@ -98570,6 +98579,7 @@
98570
98579
  if (popupRef.current) {
98571
98580
  focusTrapRef.current = createFocusTrap(popupRef.current, {
98572
98581
  clickOutsideDeactivates: true,
98582
+ delayInitialFocus,
98573
98583
  fallbackFocus: popupRef.current,
98574
98584
  onPostActivate,
98575
98585
  onPostDeactivate,
@@ -98583,12 +98593,14 @@
98583
98593
  "aria-label": title,
98584
98594
  tabIndex: -1,
98585
98595
  ref: popupRef,
98596
+ onKeyDown: handleKeydown,
98586
98597
  role: "dialog",
98587
98598
  class: classnames('bio-properties-panel-popup', className),
98588
98599
  style: style,
98589
98600
  children: props.children
98590
98601
  }), container || document.body);
98591
98602
  }
98603
+ const Popup = k(PopupComponent);
98592
98604
  Popup.Title = Title;
98593
98605
  Popup.Body = Body;
98594
98606
  Popup.Footer = Footer;
@@ -98597,6 +98609,7 @@
98597
98609
  children,
98598
98610
  className,
98599
98611
  draggable,
98612
+ emit = () => {},
98600
98613
  title,
98601
98614
  ...rest
98602
98615
  } = props;
@@ -98609,7 +98622,8 @@
98609
98622
  });
98610
98623
  const dragPreviewRef = _$1();
98611
98624
  const titleRef = _$1();
98612
- const onMove = throttle((_, delta) => {
98625
+ const onMove = (event, delta) => {
98626
+ cancel(event);
98613
98627
  const {
98614
98628
  x: dx,
98615
98629
  y: dy
@@ -98621,20 +98635,33 @@
98621
98635
  const popupParent = getPopupParent(titleRef.current);
98622
98636
  popupParent.style.top = newPosition.y + 'px';
98623
98637
  popupParent.style.left = newPosition.x + 'px';
98624
- });
98638
+
98639
+ // notify interested parties
98640
+ emit('dragover', {
98641
+ newPosition,
98642
+ delta
98643
+ });
98644
+ };
98625
98645
  const onMoveStart = event => {
98626
98646
  // initialize drag handler
98627
98647
  const onDragStart = createDragger(onMove, dragPreviewRef.current);
98628
98648
  onDragStart(event);
98649
+ event.stopPropagation();
98629
98650
  const popupParent = getPopupParent(titleRef.current);
98630
98651
  const bounds = popupParent.getBoundingClientRect();
98631
98652
  context.current.startPosition = {
98632
98653
  x: bounds.left,
98633
98654
  y: bounds.top
98634
98655
  };
98656
+
98657
+ // notify interested parties
98658
+ emit('dragstart');
98635
98659
  };
98636
98660
  const onMoveEnd = () => {
98637
98661
  context.current.newPosition = null;
98662
+
98663
+ // notify interested parties
98664
+ emit('dragend');
98638
98665
  };
98639
98666
  return o$1("div", {
98640
98667
  class: classnames('bio-properties-panel-popup__header', draggable && 'draggable', className),
@@ -98687,27 +98714,53 @@
98687
98714
  function getPopupParent(node) {
98688
98715
  return node.closest('.bio-properties-panel-popup');
98689
98716
  }
98717
+ function cancel(event) {
98718
+ event.preventDefault();
98719
+ event.stopPropagation();
98720
+ }
98690
98721
 
98691
98722
  const FEEL_POPUP_WIDTH = 700;
98692
98723
  const FEEL_POPUP_HEIGHT = 250;
98693
98724
 
98694
98725
  /**
98695
- * FEEL popup component, built as a singleton.
98726
+ * FEEL popup component, built as a singleton. Emits lifecycle events as follows:
98727
+ * - `feelPopup.open` - fired before the popup is mounted
98728
+ * - `feelPopup.opened` - fired after the popup is mounted. Event context contains the DOM node of the popup
98729
+ * - `feelPopup.close` - fired before the popup is unmounted. Event context contains the DOM node of the popup
98730
+ * - `feelPopup.closed` - fired after the popup is unmounted
98696
98731
  */
98697
98732
  function FEELPopupRoot(props) {
98698
98733
  const {
98699
- element
98734
+ element,
98735
+ eventBus = {
98736
+ fire() {},
98737
+ on() {},
98738
+ off() {}
98739
+ },
98740
+ popupContainer
98700
98741
  } = props;
98701
98742
  const prevElement = usePrevious(element);
98702
98743
  const [popupConfig, setPopupConfig] = h({});
98703
98744
  const [open, setOpen] = h(false);
98704
98745
  const [source, setSource] = h(null);
98705
98746
  const [sourceElement, setSourceElement] = h(null);
98706
- const handleOpen = (key, config, _sourceElement) => {
98707
- setSource(key);
98747
+ const emit = (type, context) => {
98748
+ eventBus.fire('feelPopup.' + type, context);
98749
+ };
98750
+ const isOpen = T$1(() => {
98751
+ return !!open;
98752
+ }, [open]);
98753
+ useUpdateEffect(() => {
98754
+ if (!open) {
98755
+ emit('closed');
98756
+ }
98757
+ }, [open]);
98758
+ const handleOpen = (entryId, config, _sourceElement) => {
98759
+ setSource(entryId);
98708
98760
  setPopupConfig(config);
98709
98761
  setOpen(true);
98710
98762
  setSourceElement(_sourceElement);
98763
+ emit('open');
98711
98764
  };
98712
98765
  const handleClose = () => {
98713
98766
  setOpen(false);
@@ -98721,21 +98774,47 @@
98721
98774
 
98722
98775
  // close popup on element change, cf. https://github.com/bpmn-io/properties-panel/issues/270
98723
98776
  p$1(() => {
98724
- if (element && element !== prevElement) {
98777
+ if (element && prevElement && element !== prevElement) {
98725
98778
  handleClose();
98726
98779
  }
98727
98780
  }, [element]);
98781
+
98782
+ // allow close and open via events
98783
+ p$1(() => {
98784
+ const handlePopupOpen = context => {
98785
+ const {
98786
+ entryId,
98787
+ popupConfig,
98788
+ sourceElement
98789
+ } = context;
98790
+ handleOpen(entryId, popupConfig, sourceElement);
98791
+ };
98792
+ const handleIsOpen = () => {
98793
+ return isOpen();
98794
+ };
98795
+ eventBus.on('feelPopup._close', handleClose);
98796
+ eventBus.on('feelPopup._open', handlePopupOpen);
98797
+ eventBus.on('feelPopup._isOpen', handleIsOpen);
98798
+ return () => {
98799
+ eventBus.off('feelPopup._close', handleClose);
98800
+ eventBus.off('feelPopup._open', handleOpen);
98801
+ eventBus.off('feelPopup._isOpen', handleIsOpen);
98802
+ };
98803
+ }, [eventBus, isOpen]);
98728
98804
  return o$1(FeelPopupContext.Provider, {
98729
98805
  value: feelPopupContext,
98730
98806
  children: [open && o$1(FeelPopupComponent, {
98731
98807
  onClose: handleClose,
98808
+ container: popupContainer,
98732
98809
  sourceElement: sourceElement,
98810
+ emit: emit,
98733
98811
  ...popupConfig
98734
98812
  }), props.children]
98735
98813
  });
98736
98814
  }
98737
98815
  function FeelPopupComponent(props) {
98738
98816
  const {
98817
+ container,
98739
98818
  id,
98740
98819
  hostLanguage,
98741
98820
  onInput,
@@ -98747,20 +98826,45 @@
98747
98826
  tooltipContainer,
98748
98827
  type,
98749
98828
  value,
98750
- variables
98829
+ variables,
98830
+ emit
98751
98831
  } = props;
98752
98832
  const editorRef = _$1();
98833
+ const popupRef = _$1();
98834
+ const isAutoCompletionOpen = _$1(false);
98753
98835
  const handleSetReturnFocus = () => {
98754
98836
  sourceElement && sourceElement.focus();
98755
98837
  };
98756
- p$1(() => {
98757
- const editor = editorRef.current;
98758
- if (editor) {
98759
- editor.focus();
98838
+ const onKeyDownCapture = event => {
98839
+ // we use capture here to make sure we handle the event before the editor does
98840
+ if (event.key === 'Escape') {
98841
+ isAutoCompletionOpen.current = autoCompletionOpen(event.target);
98842
+ }
98843
+ };
98844
+ const onKeyDown = event => {
98845
+ if (event.key === 'Escape') {
98846
+ // close popup only if auto completion is not open
98847
+ // we need to do check this because the editor is not
98848
+ // stop propagating the keydown event
98849
+ // cf. https://discuss.codemirror.net/t/how-can-i-replace-the-default-autocompletion-keymap-v6/3322/5
98850
+ if (!isAutoCompletionOpen.current) {
98851
+ onClose();
98852
+ isAutoCompletionOpen.current = false;
98853
+ }
98760
98854
  }
98761
- }, [editorRef, id]);
98855
+ };
98856
+ p$1(() => {
98857
+ emit('opened', {
98858
+ domNode: popupRef.current
98859
+ });
98860
+ return () => emit('close', {
98861
+ domNode: popupRef.current
98862
+ });
98863
+ }, []);
98762
98864
  return o$1(Popup, {
98865
+ container: container,
98763
98866
  className: "bio-properties-panel-feel-popup",
98867
+ emit: emit,
98764
98868
  position: position,
98765
98869
  title: title,
98766
98870
  onClose: onClose
@@ -98768,14 +98872,20 @@
98768
98872
  // handle focus manually on deactivate
98769
98873
  ,
98770
98874
  returnFocus: false,
98875
+ closeOnEscape: false,
98876
+ delayInitialFocus: false,
98771
98877
  onPostDeactivate: handleSetReturnFocus,
98772
98878
  height: FEEL_POPUP_HEIGHT,
98773
98879
  width: FEEL_POPUP_WIDTH,
98880
+ ref: popupRef,
98774
98881
  children: [o$1(Popup.Title, {
98775
98882
  title: title,
98883
+ emit: emit,
98776
98884
  draggable: true
98777
98885
  }), o$1(Popup.Body, {
98778
98886
  children: o$1("div", {
98887
+ onKeyDownCapture: onKeyDownCapture,
98888
+ onKeyDown: onKeyDown,
98779
98889
  class: "bio-properties-panel-feel-popup__body",
98780
98890
  children: [type === 'feel' && o$1(CodeEditor, {
98781
98891
  enableGutters: true,
@@ -98817,6 +98927,26 @@
98817
98927
  function prefixId$8(id) {
98818
98928
  return `bio-properties-panel-${id}`;
98819
98929
  }
98930
+ function autoCompletionOpen(element) {
98931
+ return element.closest('.cm-editor').querySelector('.cm-tooltip-autocomplete');
98932
+ }
98933
+
98934
+ /**
98935
+ * This hook behaves like useEffect, but does not trigger on the first render.
98936
+ *
98937
+ * @param {Function} effect
98938
+ * @param {Array} deps
98939
+ */
98940
+ function useUpdateEffect(effect, deps) {
98941
+ const isMounted = _$1(false);
98942
+ p$1(() => {
98943
+ if (isMounted.current) {
98944
+ return effect();
98945
+ } else {
98946
+ isMounted.current = true;
98947
+ }
98948
+ }, deps);
98949
+ }
98820
98950
 
98821
98951
  function ToggleSwitch(props) {
98822
98952
  const {
@@ -99298,6 +99428,7 @@
99298
99428
  * @param {Function} [props.descriptionLoaded]
99299
99429
  * @param {TooltipConfig} [props.tooltipConfig]
99300
99430
  * @param {Function} [props.tooltipLoaded]
99431
+ * @param {HTMLElement} [props.feelPopupContainer]
99301
99432
  * @param {Object} [props.eventBus]
99302
99433
  */
99303
99434
  function PropertiesPanel(props) {
@@ -99312,6 +99443,7 @@
99312
99443
  descriptionLoaded,
99313
99444
  tooltipConfig,
99314
99445
  tooltipLoaded,
99446
+ feelPopupContainer,
99315
99447
  eventBus
99316
99448
  } = props;
99317
99449
 
@@ -99414,6 +99546,8 @@
99414
99546
  value: eventContext,
99415
99547
  children: o$1(FEELPopupRoot, {
99416
99548
  element: element,
99549
+ eventBus: eventBus,
99550
+ popupContainer: feelPopupContainer,
99417
99551
  children: o$1("div", {
99418
99552
  class: "bio-properties-panel",
99419
99553
  children: [o$1(Header, {
@@ -100710,10 +100844,51 @@
100710
100844
  }
100711
100845
  debounceInput.$inject = ['config.debounceInput'];
100712
100846
 
100713
- var index$5 = {
100847
+ var index$1$1 = {
100714
100848
  debounceInput: ['factory', debounceInput]
100715
100849
  };
100716
100850
 
100851
+ class FeelPopupModule {
100852
+ constructor(eventBus) {
100853
+ this._eventBus = eventBus;
100854
+ }
100855
+
100856
+ /**
100857
+ * Check if the FEEL popup is open.
100858
+ * @return {Boolean}
100859
+ */
100860
+ isOpen() {
100861
+ return this._eventBus.fire('feelPopup._isOpen');
100862
+ }
100863
+
100864
+ /**
100865
+ * Open the FEEL popup.
100866
+ *
100867
+ * @param {String} entryId
100868
+ * @param {Object} popupConfig
100869
+ * @param {HTMLElement} sourceElement
100870
+ */
100871
+ open(entryId, popupConfig, sourceElement) {
100872
+ return this._eventBus.fire('feelPopup._open', {
100873
+ entryId,
100874
+ popupConfig,
100875
+ sourceElement
100876
+ });
100877
+ }
100878
+
100879
+ /**
100880
+ * Close the FEEL popup.
100881
+ */
100882
+ close() {
100883
+ return this._eventBus.fire('feelPopup._close');
100884
+ }
100885
+ }
100886
+ FeelPopupModule.$inject = ['eventBus'];
100887
+
100888
+ var index$5 = {
100889
+ feelPopup: ['type', FeelPopupModule]
100890
+ };
100891
+
100717
100892
  var zeebe = {};
100718
100893
 
100719
100894
  var require$$0 = /*@__PURE__*/getAugmentedNamespace(index_esm);
@@ -103594,7 +103769,8 @@
103594
103769
  getProviders,
103595
103770
  layoutConfig: initialLayoutConfig,
103596
103771
  descriptionConfig,
103597
- tooltipConfig
103772
+ tooltipConfig,
103773
+ feelPopupContainer
103598
103774
  } = props;
103599
103775
  const canvas = injector.get('canvas');
103600
103776
  const elementRegistry = injector.get('elementRegistry');
@@ -103770,6 +103946,7 @@
103770
103946
  descriptionLoaded: onDescriptionLoaded,
103771
103947
  tooltipConfig: tooltipConfig,
103772
103948
  tooltipLoaded: onTooltipLoaded,
103949
+ feelPopupContainer: feelPopupContainer,
103773
103950
  eventBus: eventBus
103774
103951
  })
103775
103952
  });
@@ -103802,13 +103979,15 @@
103802
103979
  parent,
103803
103980
  layout: layoutConfig,
103804
103981
  description: descriptionConfig,
103805
- tooltip: tooltipConfig
103982
+ tooltip: tooltipConfig,
103983
+ feelPopupContainer
103806
103984
  } = config || {};
103807
103985
  this._eventBus = eventBus;
103808
103986
  this._injector = injector;
103809
103987
  this._layoutConfig = layoutConfig;
103810
103988
  this._descriptionConfig = descriptionConfig;
103811
103989
  this._tooltipConfig = tooltipConfig;
103990
+ this._feelPopupContainer = feelPopupContainer;
103812
103991
  this._container = domify$1('<div style="height: 100%" class="bio-properties-panel-container"></div>');
103813
103992
  var commandStack = injector.get('commandStack', false);
103814
103993
  commandStack && setupKeyboard(this._container, eventBus, commandStack);
@@ -103919,7 +104098,8 @@
103919
104098
  getProviders: this._getProviders.bind(this),
103920
104099
  layoutConfig: this._layoutConfig,
103921
104100
  descriptionConfig: this._descriptionConfig,
103922
- tooltipConfig: this._tooltipConfig
104101
+ tooltipConfig: this._tooltipConfig,
104102
+ feelPopupContainer: this._feelPopupContainer
103923
104103
  }), this._container);
103924
104104
  this._eventBus.fire('propertiesPanel.rendered');
103925
104105
  }
@@ -104007,7 +104187,7 @@
104007
104187
  };
104008
104188
 
104009
104189
  var index$3 = {
104010
- __depends__: [Commands, index$5],
104190
+ __depends__: [Commands, index$1$1, index$5],
104011
104191
  __init__: ['propertiesPanel'],
104012
104192
  propertiesPanel: ['type', BpmnPropertiesPanelRenderer]
104013
104193
  };