@bpmn-io/properties-panel 3.30.2 → 3.31.1

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.
package/dist/index.esm.js CHANGED
@@ -217,35 +217,35 @@ const ErrorsContext = createContext({
217
217
  errors: {}
218
218
  });
219
219
 
220
- /**
221
- * @typedef {Function} <propertiesPanel.showEntry> callback
222
- *
223
- * @example
224
- *
225
- * useEvent('propertiesPanel.showEntry', ({ focus = false, ...rest }) => {
226
- * // ...
227
- * });
228
- *
229
- * @param {Object} context
230
- * @param {boolean} [context.focus]
231
- *
232
- * @returns void
220
+ /**
221
+ * @typedef {Function} <propertiesPanel.showEntry> callback
222
+ *
223
+ * @example
224
+ *
225
+ * useEvent('propertiesPanel.showEntry', ({ focus = false, ...rest }) => {
226
+ * // ...
227
+ * });
228
+ *
229
+ * @param {Object} context
230
+ * @param {boolean} [context.focus]
231
+ *
232
+ * @returns void
233
233
  */
234
234
 
235
235
  const EventContext = createContext({
236
236
  eventBus: null
237
237
  });
238
238
 
239
- /**
240
- * @typedef { {
241
- * parserDialect?: import('@bpmn-io/feel-editor').ParserDialect,
242
- * builtins?: import('@bpmn-io/feel-editor').Variable[],
243
- * dialect?: import('@bpmn-io/feel-editor').Dialect
244
- * } } FeelLanguageContextType
239
+ /**
240
+ * @typedef { {
241
+ * parserDialect?: import('@bpmn-io/feel-editor').ParserDialect,
242
+ * builtins?: import('@bpmn-io/feel-editor').Variable[],
243
+ * dialect?: import('@bpmn-io/feel-editor').Dialect
244
+ * } } FeelLanguageContextType
245
245
  */
246
246
 
247
- /**
248
- * @type {import('preact').Context<FeelLanguageContextType>}
247
+ /**
248
+ * @type {import('preact').Context<FeelLanguageContextType>}
249
249
  */
250
250
  const FeelLanguageContext = createContext({});
251
251
 
@@ -261,20 +261,20 @@ const TooltipContext = createContext({
261
261
  getTooltipForId: () => {}
262
262
  });
263
263
 
264
- /**
265
- * Accesses the global TooltipContext and returns a tooltip for a given id and element.
266
- *
267
- * @example
268
- * ```jsx
269
- * function TextField(props) {
270
- * const tooltip = useTooltipContext('input1', element);
271
- * }
272
- * ```
273
- *
274
- * @param {string} id
275
- * @param {object} element
276
- *
277
- * @returns {string}
264
+ /**
265
+ * Accesses the global TooltipContext and returns a tooltip for a given id and element.
266
+ *
267
+ * @example
268
+ * ```jsx
269
+ * function TextField(props) {
270
+ * const tooltip = useTooltipContext('input1', element);
271
+ * }
272
+ * ```
273
+ *
274
+ * @param {string} id
275
+ * @param {object} element
276
+ *
277
+ * @returns {string}
278
278
  */
279
279
  function useTooltipContext(id, element) {
280
280
  const {
@@ -393,20 +393,20 @@ function getTooltipPosition(refElement) {
393
393
  return `right: ${right}; top: ${top};`;
394
394
  }
395
395
 
396
- /**
397
- * Accesses the global DescriptionContext and returns a description for a given id and element.
398
- *
399
- * @example
400
- * ```jsx
401
- * function TextField(props) {
402
- * const description = useDescriptionContext('input1', element);
403
- * }
404
- * ```
405
- *
406
- * @param {string} id
407
- * @param {object} element
408
- *
409
- * @returns {string}
396
+ /**
397
+ * Accesses the global DescriptionContext and returns a description for a given id and element.
398
+ *
399
+ * @example
400
+ * ```jsx
401
+ * function TextField(props) {
402
+ * const description = useDescriptionContext('input1', element);
403
+ * }
404
+ * ```
405
+ *
406
+ * @param {string} id
407
+ * @param {object} element
408
+ *
409
+ * @returns {string}
410
410
  */
411
411
  function useDescriptionContext(id, element) {
412
412
  const {
@@ -440,11 +440,11 @@ function useErrors() {
440
440
  return errors;
441
441
  }
442
442
 
443
- /**
444
- * Subscribe to an event immediately. Update subscription after inputs changed.
445
- *
446
- * @param {string} event
447
- * @param {Function} callback
443
+ /**
444
+ * Subscribe to an event immediately. Update subscription after inputs changed.
445
+ *
446
+ * @param {string} event
447
+ * @param {Function} callback
448
448
  */
449
449
  function useEvent(event, callback, eventBus) {
450
450
  const eventContext = useContext(EventContext);
@@ -476,24 +476,24 @@ function useEvent(event, callback, eventBus) {
476
476
 
477
477
  const KEY_LENGTH = 6;
478
478
 
479
- /**
480
- * Create a persistent key factory for plain objects without id.
481
- *
482
- * @example
483
- * ```jsx
484
- * function List({ objects }) {
485
- * const getKey = useKeyFactory();
486
- * return (<ol>{
487
- * objects.map(obj => {
488
- * const key = getKey(obj);
489
- * return <li key={key}>obj.name</li>
490
- * })
491
- * }</ol>);
492
- * }
493
- * ```
494
- *
495
- * @param {any[]} dependencies
496
- * @returns {(element: object) => string}
479
+ /**
480
+ * Create a persistent key factory for plain objects without id.
481
+ *
482
+ * @example
483
+ * ```jsx
484
+ * function List({ objects }) {
485
+ * const getKey = useKeyFactory();
486
+ * return (<ol>{
487
+ * objects.map(obj => {
488
+ * const key = getKey(obj);
489
+ * return <li key={key}>obj.name</li>
490
+ * })
491
+ * }</ol>);
492
+ * }
493
+ * ```
494
+ *
495
+ * @param {any[]} dependencies
496
+ * @returns {(element: object) => string}
497
497
  */
498
498
  function useKeyFactory(dependencies = []) {
499
499
  const map = useMemo(() => new Map(), dependencies);
@@ -508,20 +508,20 @@ function useKeyFactory(dependencies = []) {
508
508
  return getKey;
509
509
  }
510
510
 
511
- /**
512
- * Creates a state that persists in the global LayoutContext.
513
- *
514
- * @example
515
- * ```jsx
516
- * function Group(props) {
517
- * const [ open, setOpen ] = useLayoutState([ 'groups', 'foo', 'open' ], false);
518
- * }
519
- * ```
520
- *
521
- * @param {(string|number)[]} path
522
- * @param {any} [defaultValue]
523
- *
524
- * @returns {[ any, Function ]}
511
+ /**
512
+ * Creates a state that persists in the global LayoutContext.
513
+ *
514
+ * @example
515
+ * ```jsx
516
+ * function Group(props) {
517
+ * const [ open, setOpen ] = useLayoutState([ 'groups', 'foo', 'open' ], false);
518
+ * }
519
+ * ```
520
+ *
521
+ * @param {(string|number)[]} path
522
+ * @param {any} [defaultValue]
523
+ *
524
+ * @returns {[ any, Function ]}
525
525
  */
526
526
  function useLayoutState(path, defaultValue) {
527
527
  const {
@@ -535,11 +535,11 @@ function useLayoutState(path, defaultValue) {
535
535
  return [layoutForKey, setState];
536
536
  }
537
537
 
538
- /**
539
- * @pinussilvestrus: we need to introduce our own hook to persist the previous
540
- * state on updates.
541
- *
542
- * cf. https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state
538
+ /**
539
+ * @pinussilvestrus: we need to introduce our own hook to persist the previous
540
+ * state on updates.
541
+ *
542
+ * cf. https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state
543
543
  */
544
544
 
545
545
  function usePrevious(value) {
@@ -550,12 +550,12 @@ function usePrevious(value) {
550
550
  return ref.current;
551
551
  }
552
552
 
553
- /**
554
- * Subscribe to `propertiesPanel.showEntry`.
555
- *
556
- * @param {string} id
557
- *
558
- * @returns {import('preact').Ref}
553
+ /**
554
+ * Subscribe to `propertiesPanel.showEntry`.
555
+ *
556
+ * @param {string} id
557
+ *
558
+ * @returns {import('preact').Ref}
559
559
  */
560
560
  function useShowEntryEvent(id) {
561
561
  const {
@@ -586,20 +586,20 @@ function useShowEntryEvent(id) {
586
586
  return ref;
587
587
  }
588
588
 
589
- /**
590
- * @callback setSticky
591
- * @param {boolean} value
589
+ /**
590
+ * @callback setSticky
591
+ * @param {boolean} value
592
592
  */
593
593
 
594
- /**
595
- * Use IntersectionObserver to identify when DOM element is in sticky mode.
596
- * If sticky is observered setSticky(true) will be called.
597
- * If sticky mode is left, setSticky(false) will be called.
598
- *
599
- *
600
- * @param {Object} ref
601
- * @param {string} scrollContainerSelector
602
- * @param {setSticky} setSticky
594
+ /**
595
+ * Use IntersectionObserver to identify when DOM element is in sticky mode.
596
+ * If sticky is observered setSticky(true) will be called.
597
+ * If sticky mode is left, setSticky(false) will be called.
598
+ *
599
+ *
600
+ * @param {Object} ref
601
+ * @param {string} scrollContainerSelector
602
+ * @param {setSticky} setSticky
603
603
  */
604
604
  function useStickyIntersectionObserver(ref, scrollContainerSelector, setSticky) {
605
605
  const [scrollContainer, setScrollContainer] = useState(query(scrollContainerSelector));
@@ -653,19 +653,19 @@ function useStickyIntersectionObserver(ref, scrollContainerSelector, setSticky)
653
653
  }, [ref.current, scrollContainer, setSticky]);
654
654
  }
655
655
 
656
- /**
657
- * Creates a static function reference with changing body.
658
- * This is necessary when external libraries require a callback function
659
- * that has references to state variables.
660
- *
661
- * Usage:
662
- * const callback = useStaticCallback((val) => {val === currentState});
663
- *
664
- * The `callback` reference is static and can be safely used in external
665
- * libraries or as a prop that does not cause rerendering of children.
666
- *
667
- * @param {Function} callback function with changing reference
668
- * @returns {Function} static function reference
656
+ /**
657
+ * Creates a static function reference with changing body.
658
+ * This is necessary when external libraries require a callback function
659
+ * that has references to state variables.
660
+ *
661
+ * Usage:
662
+ * const callback = useStaticCallback((val) => {val === currentState});
663
+ *
664
+ * The `callback` reference is static and can be safely used in external
665
+ * libraries or as a prop that does not cause rerendering of children.
666
+ *
667
+ * @param {Function} callback function with changing reference
668
+ * @returns {Function} static function reference
669
669
  */
670
670
  function useStaticCallback(callback) {
671
671
  const callbackRef = useRef(callback);
@@ -808,13 +808,13 @@ function DataMarker(props) {
808
808
  return null;
809
809
  }
810
810
 
811
- /**
812
- * @typedef { {
813
- * text: (element: object) => string,
814
- * icon?: (element: Object) => import('preact').Component
815
- * } } PlaceholderDefinition
816
- *
817
- * @param { PlaceholderDefinition } props
811
+ /**
812
+ * @typedef { {
813
+ * text: (element: object) => string,
814
+ * icon?: (element: Object) => import('preact').Component
815
+ * } } PlaceholderDefinition
816
+ *
817
+ * @param { PlaceholderDefinition } props
818
818
  */
819
819
  function Placeholder(props) {
820
820
  const {
@@ -839,85 +839,85 @@ const DEFAULT_LAYOUT = {};
839
839
  const DEFAULT_DESCRIPTION = {};
840
840
  const DEFAULT_TOOLTIP = {};
841
841
 
842
- /**
843
- * @typedef { {
844
- * component: import('preact').Component,
845
- * id: String,
846
- * isEdited?: Function
847
- * } } EntryDefinition
848
- *
849
- * @typedef { {
850
- * autoFocusEntry: String,
851
- * autoOpen?: Boolean,
852
- * entries: Array<EntryDefinition>,
853
- * id: String,
854
- * label: String,
855
- * remove: (event: MouseEvent) => void
856
- * } } ListItemDefinition
857
- *
858
- * @typedef { {
859
- * add: (event: MouseEvent) => void,
860
- * component: import('preact').Component,
861
- * element: Object,
862
- * id: String,
863
- * items: Array<ListItemDefinition>,
864
- * label: String,
865
- * shouldOpen?: Boolean
866
- * } } ListGroupDefinition
867
- *
868
- * @typedef { {
869
- * component?: import('preact').Component,
870
- * entries: Array<EntryDefinition>,
871
- * id: String,
872
- * label: String,
873
- * shouldOpen?: Boolean
874
- * } } GroupDefinition
875
- *
876
- * @typedef { {
877
- * [id: String]: GetDescriptionFunction
878
- * } } DescriptionConfig
879
- *
880
- * @typedef { {
881
- * [id: String]: GetTooltipFunction
882
- * } } TooltipConfig
883
- *
884
- * @callback { {
885
- * @param {string} id
886
- * @param {Object} element
887
- * @returns {string}
888
- * } } GetDescriptionFunction
889
- *
890
- * @callback { {
891
- * @param {string} id
892
- * @param {Object} element
893
- * @returns {string}
894
- * } } GetTooltipFunction
895
- *
896
- * @typedef { {
897
- * getEmpty: (element: object) => import('./components/Placeholder').PlaceholderDefinition,
898
- * getMultiple: (element: Object) => import('./components/Placeholder').PlaceholderDefinition
899
- * } } PlaceholderProvider
900
- *
842
+ /**
843
+ * @typedef { {
844
+ * component: import('preact').Component,
845
+ * id: String,
846
+ * isEdited?: Function
847
+ * } } EntryDefinition
848
+ *
849
+ * @typedef { {
850
+ * autoFocusEntry: String,
851
+ * autoOpen?: Boolean,
852
+ * entries: Array<EntryDefinition>,
853
+ * id: String,
854
+ * label: String,
855
+ * remove: (event: MouseEvent) => void
856
+ * } } ListItemDefinition
857
+ *
858
+ * @typedef { {
859
+ * add: (event: MouseEvent) => void,
860
+ * component: import('preact').Component,
861
+ * element: Object,
862
+ * id: String,
863
+ * items: Array<ListItemDefinition>,
864
+ * label: String,
865
+ * shouldOpen?: Boolean
866
+ * } } ListGroupDefinition
867
+ *
868
+ * @typedef { {
869
+ * component?: import('preact').Component,
870
+ * entries: Array<EntryDefinition>,
871
+ * id: String,
872
+ * label: String,
873
+ * shouldOpen?: Boolean
874
+ * } } GroupDefinition
875
+ *
876
+ * @typedef { {
877
+ * [id: String]: GetDescriptionFunction
878
+ * } } DescriptionConfig
879
+ *
880
+ * @typedef { {
881
+ * [id: String]: GetTooltipFunction
882
+ * } } TooltipConfig
883
+ *
884
+ * @callback { {
885
+ * @param {string} id
886
+ * @param {Object} element
887
+ * @returns {string}
888
+ * } } GetDescriptionFunction
889
+ *
890
+ * @callback { {
891
+ * @param {string} id
892
+ * @param {Object} element
893
+ * @returns {string}
894
+ * } } GetTooltipFunction
895
+ *
896
+ * @typedef { {
897
+ * getEmpty: (element: object) => import('./components/Placeholder').PlaceholderDefinition,
898
+ * getMultiple: (element: Object) => import('./components/Placeholder').PlaceholderDefinition
899
+ * } } PlaceholderProvider
900
+ *
901
901
  */
902
902
 
903
- /**
904
- * A basic properties panel component. Describes *how* content will be rendered, accepts
905
- * data from implementor to describe *what* will be rendered.
906
- *
907
- * @param {Object} props
908
- * @param {Object|Array} props.element
909
- * @param {import('./components/Header').HeaderProvider} props.headerProvider
910
- * @param {PlaceholderProvider} [props.placeholderProvider]
911
- * @param {Array<GroupDefinition|ListGroupDefinition>} props.groups
912
- * @param {Object} [props.layoutConfig]
913
- * @param {Function} [props.layoutChanged]
914
- * @param {DescriptionConfig} [props.descriptionConfig]
915
- * @param {Function} [props.descriptionLoaded]
916
- * @param {TooltipConfig} [props.tooltipConfig]
917
- * @param {Function} [props.tooltipLoaded]
918
- * @param {HTMLElement} [props.feelPopupContainer]
919
- * @param {Function} [props.getFeelPopupLinks]
920
- * @param {Object} [props.eventBus]
903
+ /**
904
+ * A basic properties panel component. Describes *how* content will be rendered, accepts
905
+ * data from implementor to describe *what* will be rendered.
906
+ *
907
+ * @param {Object} props
908
+ * @param {Object|Array} props.element
909
+ * @param {import('./components/Header').HeaderProvider} props.headerProvider
910
+ * @param {PlaceholderProvider} [props.placeholderProvider]
911
+ * @param {Array<GroupDefinition|ListGroupDefinition>} props.groups
912
+ * @param {Object} [props.layoutConfig]
913
+ * @param {Function} [props.layoutChanged]
914
+ * @param {DescriptionConfig} [props.descriptionConfig]
915
+ * @param {Function} [props.descriptionLoaded]
916
+ * @param {TooltipConfig} [props.tooltipConfig]
917
+ * @param {Function} [props.tooltipLoaded]
918
+ * @param {HTMLElement} [props.feelPopupContainer]
919
+ * @param {Function} [props.getFeelPopupLinks]
920
+ * @param {Object} [props.eventBus]
921
921
  */
922
922
  function PropertiesPanel(props) {
923
923
  const {
@@ -1082,11 +1082,11 @@ function createTooltipContext(overrides = {}) {
1082
1082
 
1083
1083
  // hooks //////////////////
1084
1084
 
1085
- /**
1086
- * This hook behaves like useLayoutEffect, but does not trigger on the first render.
1087
- *
1088
- * @param {Function} effect
1089
- * @param {Array} deps
1085
+ /**
1086
+ * This hook behaves like useLayoutEffect, but does not trigger on the first render.
1087
+ *
1088
+ * @param {Function} effect
1089
+ * @param {Array} deps
1090
1090
  */
1091
1091
  function useUpdateLayoutEffect(effect, deps) {
1092
1092
  const isMounted = useRef(false);
@@ -1161,15 +1161,15 @@ function MenuItem({
1161
1161
  });
1162
1162
  }
1163
1163
 
1164
- /**
1165
- *
1166
- * @param {Array<null | Element>} ignoredElements
1167
- * @param {Function} callback
1164
+ /**
1165
+ *
1166
+ * @param {Array<null | Element>} ignoredElements
1167
+ * @param {Function} callback
1168
1168
  */
1169
1169
  function useGlobalClick(ignoredElements, callback) {
1170
1170
  useEffect(() => {
1171
- /**
1172
- * @param {MouseEvent} event
1171
+ /**
1172
+ * @param {MouseEvent} event
1173
1173
  */
1174
1174
  function listener(event) {
1175
1175
  if (ignoredElements.some(element => element && element.contains(event.target))) {
@@ -1202,20 +1202,20 @@ function HeaderButton(props) {
1202
1202
  });
1203
1203
  }
1204
1204
 
1205
- /**
1206
- * @typedef { {
1207
- * [key: string]: string;
1208
- * } } TranslateReplacements
1205
+ /**
1206
+ * @typedef { {
1207
+ * [key: string]: string;
1208
+ * } } TranslateReplacements
1209
1209
  */
1210
1210
 
1211
- /**
1212
- * A simple translation stub to be used for multi-language support.
1213
- * Can be easily replaced with a more sophisticated solution.
1214
- *
1215
- * @param {string} template to interpolate
1216
- * @param {TranslateReplacements} [replacements] a map with substitutes
1217
- *
1218
- * @return {string} the translated string
1211
+ /**
1212
+ * A simple translation stub to be used for multi-language support.
1213
+ * Can be easily replaced with a more sophisticated solution.
1214
+ *
1215
+ * @param {string} template to interpolate
1216
+ * @param {TranslateReplacements} [replacements] a map with substitutes
1217
+ *
1218
+ * @return {string} the translated string
1219
1219
  */
1220
1220
  function translateFallback(template, replacements) {
1221
1221
  replacements = replacements || {};
@@ -1327,8 +1327,8 @@ function ListItem(props) {
1327
1327
 
1328
1328
  const noop$6 = () => {};
1329
1329
 
1330
- /**
1331
- * @param {import('../PropertiesPanel').ListGroupDefinition} props
1330
+ /**
1331
+ * @param {import('../PropertiesPanel').ListGroupDefinition} props
1332
1332
  */
1333
1333
  function ListGroup(props) {
1334
1334
  const {
@@ -1536,18 +1536,18 @@ function Checkbox(props) {
1536
1536
  });
1537
1537
  }
1538
1538
 
1539
- /**
1540
- * @param {Object} props
1541
- * @param {Object} props.element
1542
- * @param {String} props.id
1543
- * @param {String} props.description
1544
- * @param {String} props.label
1545
- * @param {Function} props.getValue
1546
- * @param {Function} props.setValue
1547
- * @param {Function} props.onFocus
1548
- * @param {Function} props.onBlur
1549
- * @param {string|import('preact').Component} props.tooltip
1550
- * @param {boolean} [props.disabled]
1539
+ /**
1540
+ * @param {Object} props
1541
+ * @param {Object} props.element
1542
+ * @param {String} props.id
1543
+ * @param {String} props.description
1544
+ * @param {String} props.label
1545
+ * @param {Function} props.getValue
1546
+ * @param {Function} props.setValue
1547
+ * @param {Function} props.onFocus
1548
+ * @param {Function} props.onBlur
1549
+ * @param {string|import('preact').Component} props.tooltip
1550
+ * @param {boolean} [props.disabled]
1551
1551
  */
1552
1552
  function CheckboxEntry(props) {
1553
1553
  const {
@@ -1612,9 +1612,9 @@ function OpenPopupButton({
1612
1612
 
1613
1613
  const noop$5 = () => {};
1614
1614
 
1615
- /**
1616
- * Buffer `.focus()` calls while the editor is not initialized.
1617
- * Set Focus inside when the editor is ready.
1615
+ /**
1616
+ * Buffer `.focus()` calls while the editor is not initialized.
1617
+ * Set Focus inside when the editor is ready.
1618
1618
  */
1619
1619
  const useBufferedFocus$1 = function (editor, ref) {
1620
1620
  const [buffer, setBuffer] = useState(undefined);
@@ -1711,9 +1711,9 @@ const TemplatingEditor = forwardRef((props, ref) => {
1711
1711
 
1712
1712
  const noop$4 = () => {};
1713
1713
 
1714
- /**
1715
- * Buffer `.focus()` calls while the editor is not initialized.
1716
- * Set Focus inside when the editor is ready.
1714
+ /**
1715
+ * Buffer `.focus()` calls while the editor is not initialized.
1716
+ * Set Focus inside when the editor is ready.
1717
1717
  */
1718
1718
  const useBufferedFocus = function (editor, ref) {
1719
1719
  const [buffer, setBuffer] = useState(undefined);
@@ -1768,10 +1768,10 @@ const FeelEditor = forwardRef((props, ref) => {
1768
1768
  useEffect(() => {
1769
1769
  let editor;
1770
1770
 
1771
- /* Trigger FEEL toggle when
1772
- *
1773
- * - `backspace` is pressed
1774
- * - AND the cursor is at the beginning of the input
1771
+ /* Trigger FEEL toggle when
1772
+ *
1773
+ * - `backspace` is pressed
1774
+ * - AND the cursor is at the beginning of the input
1775
1775
  */
1776
1776
  const onKeyDown = e => {
1777
1777
  if (e.key !== 'Backspace' || !editor) {
@@ -1861,10 +1861,10 @@ function FeelIndicator(props) {
1861
1861
 
1862
1862
  const noop$3 = () => {};
1863
1863
 
1864
- /**
1865
- * @param {Object} props
1866
- * @param {Object} props.label
1867
- * @param {String} props.feel
1864
+ /**
1865
+ * @param {Object} props
1866
+ * @param {Object} props.label
1867
+ * @param {String} props.feel
1868
1868
  */
1869
1869
  function FeelIcon(props) {
1870
1870
  const {
@@ -1958,19 +1958,19 @@ function ToggleSwitch(props) {
1958
1958
  });
1959
1959
  }
1960
1960
 
1961
- /**
1962
- * @param {Object} props
1963
- * @param {Object} props.element
1964
- * @param {String} props.id
1965
- * @param {String} props.description
1966
- * @param {String} props.label
1967
- * @param {String} props.switcherLabel
1968
- * @param {Boolean} props.inline
1969
- * @param {Function} props.getValue
1970
- * @param {Function} props.setValue
1971
- * @param {Function} props.onFocus
1972
- * @param {Function} props.onBlur
1973
- * @param {string|import('preact').Component} props.tooltip
1961
+ /**
1962
+ * @param {Object} props
1963
+ * @param {Object} props.element
1964
+ * @param {String} props.id
1965
+ * @param {String} props.description
1966
+ * @param {String} props.label
1967
+ * @param {String} props.switcherLabel
1968
+ * @param {Boolean} props.inline
1969
+ * @param {Function} props.getValue
1970
+ * @param {Function} props.setValue
1971
+ * @param {Function} props.onFocus
1972
+ * @param {Function} props.onBlur
1973
+ * @param {string|import('preact').Component} props.tooltip
1974
1974
  */
1975
1975
  function ToggleSwitchEntry(props) {
1976
1976
  const {
@@ -2084,22 +2084,22 @@ function NumberField(props) {
2084
2084
  });
2085
2085
  }
2086
2086
 
2087
- /**
2088
- * @param {Object} props
2089
- * @param {Boolean} props.debounce
2090
- * @param {String} props.description
2091
- * @param {Boolean} props.disabled
2092
- * @param {Object} props.element
2093
- * @param {Function} props.getValue
2094
- * @param {String} props.id
2095
- * @param {String} props.label
2096
- * @param {String} props.max
2097
- * @param {String} props.min
2098
- * @param {Function} props.setValue
2099
- * @param {Function} props.onFocus
2100
- * @param {Function} props.onBlur
2101
- * @param {String} props.step
2102
- * @param {Function} props.validate
2087
+ /**
2088
+ * @param {Object} props
2089
+ * @param {Boolean} props.debounce
2090
+ * @param {String} props.description
2091
+ * @param {Boolean} props.disabled
2092
+ * @param {Object} props.element
2093
+ * @param {Function} props.getValue
2094
+ * @param {String} props.id
2095
+ * @param {String} props.label
2096
+ * @param {String} props.max
2097
+ * @param {String} props.min
2098
+ * @param {Function} props.setValue
2099
+ * @param {Function} props.onFocus
2100
+ * @param {Function} props.onBlur
2101
+ * @param {String} props.step
2102
+ * @param {Function} props.validate
2103
2103
  */
2104
2104
  function NumberFieldEntry(props) {
2105
2105
  const {
@@ -2175,29 +2175,29 @@ function prefixId$6(id) {
2175
2175
 
2176
2176
  const noop$2 = () => {};
2177
2177
 
2178
- /**
2179
- * @typedef {'required'|'optional'|'static'} FeelType
2178
+ /**
2179
+ * @typedef {'required'|'optional'|'static'} FeelType
2180
2180
  */
2181
2181
 
2182
- /**
2183
- * @param {Object} props
2184
- * @param {Boolean} props.debounce
2185
- * @param {String} props.id
2186
- * @param {Object} props.element
2187
- * @param {String} props.label
2188
- * @param {String} props.hostLanguage
2189
- * @param {Function} props.onInput
2190
- * @param {Function} props.onBlur
2191
- * @param {Function} props.onError
2192
- * @param {FeelType} [props.feel]
2193
- * @param {String} props.value
2194
- * @param {Boolean} [props.singleLine]
2195
- * @param {Function} props.tooltipContainer
2196
- * @param {Function | import('preact').Component} props.OptionalComponent
2197
- * @param {Boolean} props.disabled
2198
- * @param {Array} props.variables
2199
- * @param {string} [props.placeholder]
2200
- * @param {string | import('preact').Component} props.tooltip
2182
+ /**
2183
+ * @param {Object} props
2184
+ * @param {Boolean} props.debounce
2185
+ * @param {String} props.id
2186
+ * @param {Object} props.element
2187
+ * @param {String} props.label
2188
+ * @param {String} props.hostLanguage
2189
+ * @param {Function} props.onInput
2190
+ * @param {Function} props.onBlur
2191
+ * @param {Function} props.onError
2192
+ * @param {FeelType} [props.feel]
2193
+ * @param {String} props.value
2194
+ * @param {Boolean} [props.singleLine]
2195
+ * @param {Function} props.tooltipContainer
2196
+ * @param {Function | import('preact').Component} props.OptionalComponent
2197
+ * @param {Boolean} props.disabled
2198
+ * @param {Array} props.variables
2199
+ * @param {string} [props.placeholder]
2200
+ * @param {string | import('preact').Component} props.tooltip
2201
2201
  */
2202
2202
  function FeelTextfield(props) {
2203
2203
  const {
@@ -2238,8 +2238,8 @@ function FeelTextfield(props) {
2238
2238
  _setFocus(position + offset);
2239
2239
  };
2240
2240
 
2241
- /**
2242
- * @type { import('min-dash').DebouncedFunction }
2241
+ /**
2242
+ * @type { import('min-dash').DebouncedFunction }
2243
2243
  */
2244
2244
  const handleInputCallback = useDebounce(onInput, debounce);
2245
2245
  const handleInput = newValue => {
@@ -2638,26 +2638,26 @@ const OptionalFeelCheckbox = forwardRef((props, ref) => {
2638
2638
  });
2639
2639
  });
2640
2640
 
2641
- /**
2642
- * @param {Object} props
2643
- * @param {Object} props.element
2644
- * @param {String} props.id
2645
- * @param {String} props.description
2646
- * @param {Boolean} props.debounce
2647
- * @param {Boolean} props.disabled
2648
- * @param {FeelType} [props.feel]
2649
- * @param {String} props.label
2650
- * @param {Function} props.getValue
2651
- * @param {Function} props.setValue
2652
- * @param {Function} props.tooltipContainer
2653
- * @param {Function} props.validate
2654
- * @param {Function} props.show
2655
- * @param {Function} props.example
2656
- * @param {Array} props.variables
2657
- * @param {Function} props.onFocus
2658
- * @param {Function} props.onBlur
2659
- * @param {string} [props.placeholder]
2660
- * @param {string|import('preact').Component} props.tooltip
2641
+ /**
2642
+ * @param {Object} props
2643
+ * @param {Object} props.element
2644
+ * @param {String} props.id
2645
+ * @param {String} props.description
2646
+ * @param {Boolean} props.debounce
2647
+ * @param {Boolean} props.disabled
2648
+ * @param {FeelType} [props.feel]
2649
+ * @param {String} props.label
2650
+ * @param {Function} props.getValue
2651
+ * @param {Function} props.setValue
2652
+ * @param {Function} props.tooltipContainer
2653
+ * @param {Function} props.validate
2654
+ * @param {Function} props.show
2655
+ * @param {Function} props.example
2656
+ * @param {Array} props.variables
2657
+ * @param {Function} props.onFocus
2658
+ * @param {Function} props.onBlur
2659
+ * @param {string} [props.placeholder]
2660
+ * @param {string|import('preact').Component} props.tooltip
2661
2661
  */
2662
2662
  function FeelEntry(props) {
2663
2663
  const {
@@ -2745,27 +2745,27 @@ function FeelEntry(props) {
2745
2745
  });
2746
2746
  }
2747
2747
 
2748
- /**
2749
- * @param {Object} props
2750
- * @param {Object} props.element
2751
- * @param {String} props.id
2752
- * @param {String} props.description
2753
- * @param {Boolean} props.debounce
2754
- * @param {Boolean} props.disabled
2755
- * @param {String} props.max
2756
- * @param {String} props.min
2757
- * @param {String} props.step
2758
- * @param {FeelType} [props.feel]
2759
- * @param {String} props.label
2760
- * @param {Function} props.getValue
2761
- * @param {Function} props.setValue
2762
- * @param {Function} props.tooltipContainer
2763
- * @param {Function} props.validate
2764
- * @param {Function} props.show
2765
- * @param {Function} props.example
2766
- * @param {Array} props.variables
2767
- * @param {Function} props.onFocus
2768
- * @param {Function} props.onBlur
2748
+ /**
2749
+ * @param {Object} props
2750
+ * @param {Object} props.element
2751
+ * @param {String} props.id
2752
+ * @param {String} props.description
2753
+ * @param {Boolean} props.debounce
2754
+ * @param {Boolean} props.disabled
2755
+ * @param {String} props.max
2756
+ * @param {String} props.min
2757
+ * @param {String} props.step
2758
+ * @param {FeelType} [props.feel]
2759
+ * @param {String} props.label
2760
+ * @param {Function} props.getValue
2761
+ * @param {Function} props.setValue
2762
+ * @param {Function} props.tooltipContainer
2763
+ * @param {Function} props.validate
2764
+ * @param {Function} props.show
2765
+ * @param {Function} props.example
2766
+ * @param {Array} props.variables
2767
+ * @param {Function} props.onFocus
2768
+ * @param {Function} props.onBlur
2769
2769
  */
2770
2770
  function FeelNumberEntry(props) {
2771
2771
  return jsx(FeelEntry, {
@@ -2775,25 +2775,25 @@ function FeelNumberEntry(props) {
2775
2775
  });
2776
2776
  }
2777
2777
 
2778
- /**
2779
- * @param {Object} props
2780
- * @param {Object} props.element
2781
- * @param {String} props.id
2782
- * @param {String} props.description
2783
- * @param {Boolean} props.debounce
2784
- * @param {Boolean} props.disabled
2785
- * @param {FeelType} [props.feel]
2786
- * @param {String} props.label
2787
- * @param {Function} props.getValue
2788
- * @param {Function} props.setValue
2789
- * @param {Function} props.tooltipContainer
2790
- * @param {Function} props.validate
2791
- * @param {Function} props.show
2792
- * @param {Function} props.example
2793
- * @param {Array} props.variables
2794
- * @param {Function} props.onFocus
2795
- * @param {Function} props.onBlur
2796
- * @param {string} [props.placeholder]
2778
+ /**
2779
+ * @param {Object} props
2780
+ * @param {Object} props.element
2781
+ * @param {String} props.id
2782
+ * @param {String} props.description
2783
+ * @param {Boolean} props.debounce
2784
+ * @param {Boolean} props.disabled
2785
+ * @param {FeelType} [props.feel]
2786
+ * @param {String} props.label
2787
+ * @param {Function} props.getValue
2788
+ * @param {Function} props.setValue
2789
+ * @param {Function} props.tooltipContainer
2790
+ * @param {Function} props.validate
2791
+ * @param {Function} props.show
2792
+ * @param {Function} props.example
2793
+ * @param {Array} props.variables
2794
+ * @param {Function} props.onFocus
2795
+ * @param {Function} props.onBlur
2796
+ * @param {string} [props.placeholder]
2797
2797
  */
2798
2798
  function FeelTextAreaEntry(props) {
2799
2799
  return jsx(FeelEntry, {
@@ -2803,24 +2803,24 @@ function FeelTextAreaEntry(props) {
2803
2803
  });
2804
2804
  }
2805
2805
 
2806
- /**
2807
- * @param {Object} props
2808
- * @param {Object} props.element
2809
- * @param {String} props.id
2810
- * @param {String} props.description
2811
- * @param {Boolean} props.debounce
2812
- * @param {Boolean} props.disabled
2813
- * @param {FeelType} [props.feel]
2814
- * @param {String} props.label
2815
- * @param {Function} props.getValue
2816
- * @param {Function} props.setValue
2817
- * @param {Function} props.tooltipContainer
2818
- * @param {Function} props.validate
2819
- * @param {Function} props.show
2820
- * @param {Function} props.example
2821
- * @param {Array} props.variables
2822
- * @param {Function} props.onFocus
2823
- * @param {Function} props.onBlur
2806
+ /**
2807
+ * @param {Object} props
2808
+ * @param {Object} props.element
2809
+ * @param {String} props.id
2810
+ * @param {String} props.description
2811
+ * @param {Boolean} props.debounce
2812
+ * @param {Boolean} props.disabled
2813
+ * @param {FeelType} [props.feel]
2814
+ * @param {String} props.label
2815
+ * @param {Function} props.getValue
2816
+ * @param {Function} props.setValue
2817
+ * @param {Function} props.tooltipContainer
2818
+ * @param {Function} props.validate
2819
+ * @param {Function} props.show
2820
+ * @param {Function} props.example
2821
+ * @param {Array} props.variables
2822
+ * @param {Function} props.onFocus
2823
+ * @param {Function} props.onBlur
2824
2824
  */
2825
2825
  function FeelToggleSwitchEntry(props) {
2826
2826
  return jsx(FeelEntry, {
@@ -2830,24 +2830,24 @@ function FeelToggleSwitchEntry(props) {
2830
2830
  });
2831
2831
  }
2832
2832
 
2833
- /**
2834
- * @param {Object} props
2835
- * @param {Object} props.element
2836
- * @param {String} props.id
2837
- * @param {String} props.description
2838
- * @param {Boolean} props.debounce
2839
- * @param {Boolean} props.disabled
2840
- * @param {FeelType} [props.feel]
2841
- * @param {String} props.label
2842
- * @param {Function} props.getValue
2843
- * @param {Function} props.setValue
2844
- * @param {Function} props.tooltipContainer
2845
- * @param {Function} props.validate
2846
- * @param {Function} props.show
2847
- * @param {Function} props.example
2848
- * @param {Array} props.variables
2849
- * @param {Function} props.onFocus
2850
- * @param {Function} props.onBlur
2833
+ /**
2834
+ * @param {Object} props
2835
+ * @param {Object} props.element
2836
+ * @param {String} props.id
2837
+ * @param {String} props.description
2838
+ * @param {Boolean} props.debounce
2839
+ * @param {Boolean} props.disabled
2840
+ * @param {FeelType} [props.feel]
2841
+ * @param {String} props.label
2842
+ * @param {Function} props.getValue
2843
+ * @param {Function} props.setValue
2844
+ * @param {Function} props.tooltipContainer
2845
+ * @param {Function} props.validate
2846
+ * @param {Function} props.show
2847
+ * @param {Function} props.example
2848
+ * @param {Array} props.variables
2849
+ * @param {Function} props.onFocus
2850
+ * @param {Function} props.onBlur
2851
2851
  */
2852
2852
  function FeelCheckboxEntry(props) {
2853
2853
  return jsx(FeelEntry, {
@@ -2857,26 +2857,26 @@ function FeelCheckboxEntry(props) {
2857
2857
  });
2858
2858
  }
2859
2859
 
2860
- /**
2861
- * @param {Object} props
2862
- * @param {Object} props.element
2863
- * @param {String} props.id
2864
- * @param {String} props.description
2865
- * @param {String} props.hostLanguage
2866
- * @param {Boolean} props.singleLine
2867
- * @param {Boolean} props.debounce
2868
- * @param {Boolean} props.disabled
2869
- * @param {FeelType} [props.feel]
2870
- * @param {String} props.label
2871
- * @param {Function} props.getValue
2872
- * @param {Function} props.setValue
2873
- * @param {Function} props.tooltipContainer
2874
- * @param {Function} props.validate
2875
- * @param {Function} props.show
2876
- * @param {Function} props.example
2877
- * @param {Array} props.variables
2878
- * @param {Function} props.onFocus
2879
- * @param {Function} props.onBlur
2860
+ /**
2861
+ * @param {Object} props
2862
+ * @param {Object} props.element
2863
+ * @param {String} props.id
2864
+ * @param {String} props.description
2865
+ * @param {String} props.hostLanguage
2866
+ * @param {Boolean} props.singleLine
2867
+ * @param {Boolean} props.debounce
2868
+ * @param {Boolean} props.disabled
2869
+ * @param {FeelType} [props.feel]
2870
+ * @param {String} props.label
2871
+ * @param {Function} props.getValue
2872
+ * @param {Function} props.setValue
2873
+ * @param {Function} props.tooltipContainer
2874
+ * @param {Function} props.validate
2875
+ * @param {Function} props.show
2876
+ * @param {Function} props.example
2877
+ * @param {Array} props.variables
2878
+ * @param {Function} props.onFocus
2879
+ * @param {Function} props.onBlur
2880
2880
  */
2881
2881
  function FeelTemplatingEntry(props) {
2882
2882
  return jsx(FeelEntry, {
@@ -2903,19 +2903,19 @@ function prefixId$5(id) {
2903
2903
 
2904
2904
  const noop$1 = () => {};
2905
2905
 
2906
- /**
2907
- * @param {Object} props
2908
- * @param {Object} props.element
2909
- * @param {String} props.id
2910
- * @param {String} props.description
2911
- * @param {Boolean} props.debounce
2912
- * @param {Boolean} props.disabled
2913
- * @param {String} props.label
2914
- * @param {Function} props.getValue
2915
- * @param {Function} props.setValue
2916
- * @param {Function} props.tooltipContainer
2917
- * @param {Function} props.validate
2918
- * @param {Function} props.show
2906
+ /**
2907
+ * @param {Object} props
2908
+ * @param {Object} props.element
2909
+ * @param {String} props.id
2910
+ * @param {String} props.description
2911
+ * @param {Boolean} props.debounce
2912
+ * @param {Boolean} props.disabled
2913
+ * @param {String} props.label
2914
+ * @param {Function} props.getValue
2915
+ * @param {Function} props.setValue
2916
+ * @param {Function} props.tooltipContainer
2917
+ * @param {Function} props.validate
2918
+ * @param {Function} props.show
2919
2919
  */
2920
2920
  function TemplatingEntry(props) {
2921
2921
  const {
@@ -3092,8 +3092,8 @@ function List(props) {
3092
3092
  }
3093
3093
  }, [open, hasItems]);
3094
3094
 
3095
- /**
3096
- * @param {MouseEvent} event
3095
+ /**
3096
+ * @param {MouseEvent} event
3097
3097
  */
3098
3098
  function addItem(event) {
3099
3099
  event.stopPropagation();
@@ -3289,20 +3289,20 @@ function Select(props) {
3289
3289
  });
3290
3290
  }
3291
3291
 
3292
- /**
3293
- * @param {object} props
3294
- * @param {object} props.element
3295
- * @param {string} props.id
3296
- * @param {string} [props.description]
3297
- * @param {string} props.label
3298
- * @param {Function} props.getValue
3299
- * @param {Function} props.setValue
3300
- * @param {Function} props.onFocus
3301
- * @param {Function} props.onBlur
3302
- * @param {Function} props.getOptions
3303
- * @param {boolean} [props.disabled]
3304
- * @param {Function} [props.validate]
3305
- * @param {string|import('preact').Component} props.tooltip
3292
+ /**
3293
+ * @param {object} props
3294
+ * @param {object} props.element
3295
+ * @param {string} props.id
3296
+ * @param {string} [props.description]
3297
+ * @param {string} props.label
3298
+ * @param {Function} props.getValue
3299
+ * @param {Function} props.setValue
3300
+ * @param {Function} props.onFocus
3301
+ * @param {Function} props.onBlur
3302
+ * @param {Function} props.getOptions
3303
+ * @param {boolean} [props.disabled]
3304
+ * @param {Function} [props.validate]
3305
+ * @param {string|import('preact').Component} props.tooltip
3306
3306
  */
3307
3307
  function SelectEntry(props) {
3308
3308
  const {
@@ -3453,8 +3453,8 @@ function TextArea(props) {
3453
3453
  const ref = useShowEntryEvent(id);
3454
3454
  const visible = useElementVisible(ref.current);
3455
3455
 
3456
- /**
3457
- * @type { import('min-dash').DebouncedFunction }
3456
+ /**
3457
+ * @type { import('min-dash').DebouncedFunction }
3458
3458
  */
3459
3459
  const handleInputCallback = useDebounce(onInput, debounce);
3460
3460
  const handleInput = newValue => {
@@ -3519,21 +3519,21 @@ function TextArea(props) {
3519
3519
  });
3520
3520
  }
3521
3521
 
3522
- /**
3523
- * @param {object} props
3524
- * @param {object} props.element
3525
- * @param {string} props.id
3526
- * @param {string} props.description
3527
- * @param {boolean} props.debounce
3528
- * @param {string} props.label
3529
- * @param {Function} props.getValue
3530
- * @param {Function} props.setValue
3531
- * @param {Function} props.onFocus
3532
- * @param {Function} props.onBlur
3533
- * @param {number} props.rows
3534
- * @param {boolean} props.monospace
3535
- * @param {Function} [props.validate]
3536
- * @param {boolean} [props.disabled]
3522
+ /**
3523
+ * @param {object} props
3524
+ * @param {object} props.element
3525
+ * @param {string} props.id
3526
+ * @param {string} props.description
3527
+ * @param {boolean} props.debounce
3528
+ * @param {string} props.label
3529
+ * @param {Function} props.getValue
3530
+ * @param {Function} props.setValue
3531
+ * @param {Function} props.onFocus
3532
+ * @param {Function} props.onBlur
3533
+ * @param {number} props.rows
3534
+ * @param {boolean} props.monospace
3535
+ * @param {Function} [props.validate]
3536
+ * @param {boolean} [props.disabled]
3537
3537
  */
3538
3538
  function TextAreaEntry(props) {
3539
3539
  const {
@@ -3629,8 +3629,8 @@ function Textfield(props) {
3629
3629
  const [localValue, setLocalValue] = useState(value || '');
3630
3630
  const ref = useShowEntryEvent(id);
3631
3631
 
3632
- /**
3633
- * @type { import('min-dash').DebouncedFunction }
3632
+ /**
3633
+ * @type { import('min-dash').DebouncedFunction }
3634
3634
  */
3635
3635
  const handleInputCallback = useDebounce(onInput, debounce);
3636
3636
  const handleOnBlur = e => {
@@ -3688,20 +3688,20 @@ function Textfield(props) {
3688
3688
  });
3689
3689
  }
3690
3690
 
3691
- /**
3692
- * @param {Object} props
3693
- * @param {Object} props.element
3694
- * @param {String} props.id
3695
- * @param {String} props.description
3696
- * @param {Boolean} props.debounce
3697
- * @param {Boolean} props.disabled
3698
- * @param {String} props.label
3699
- * @param {Function} props.getValue
3700
- * @param {Function} props.setValue
3701
- * @param {Function} props.onFocus
3702
- * @param {Function} props.onBlur
3703
- * @param {string|import('preact').Component} props.tooltip
3704
- * @param {Function} props.validate
3691
+ /**
3692
+ * @param {Object} props
3693
+ * @param {Object} props.element
3694
+ * @param {String} props.id
3695
+ * @param {String} props.description
3696
+ * @param {Boolean} props.debounce
3697
+ * @param {Boolean} props.disabled
3698
+ * @param {String} props.label
3699
+ * @param {Function} props.getValue
3700
+ * @param {Function} props.setValue
3701
+ * @param {Function} props.onFocus
3702
+ * @param {Function} props.onBlur
3703
+ * @param {string|import('preact').Component} props.tooltip
3704
+ * @param {Function} props.validate
3705
3705
  */
3706
3706
  function TextfieldEntry(props) {
3707
3707
  const {
@@ -3777,29 +3777,29 @@ function prefixId$1(id) {
3777
3777
 
3778
3778
  const DEFAULT_DEBOUNCE_TIME = 600;
3779
3779
 
3780
- /**
3781
- * Creates a debounced version of a function, delaying its execution based on `debounceDelay`.
3782
- *
3783
- * - If `debounceDelay` is `false`, the function executes immediately without debouncing.
3784
- * - If a number is provided, the function execution is delayed by the given time in milliseconds.
3785
- *
3786
- * @param { Boolean | Number } [debounceDelay=300]
3787
- *
3788
- * @example
3789
- * const debounce = debounceInput();
3790
- * const debouncedFn = debounce(fn);
3791
- *
3792
- * debouncedFn(); // Executes after 300ms (default) if no further calls occur.
3780
+ /**
3781
+ * Creates a debounced version of a function, delaying its execution based on `debounceDelay`.
3782
+ *
3783
+ * - If `debounceDelay` is `false`, the function executes immediately without debouncing.
3784
+ * - If a number is provided, the function execution is delayed by the given time in milliseconds.
3785
+ *
3786
+ * @param { Boolean | Number } [debounceDelay=300]
3787
+ *
3788
+ * @example
3789
+ * const debounce = debounceInput();
3790
+ * const debouncedFn = debounce(fn);
3791
+ *
3792
+ * debouncedFn(); // Executes after 300ms (default) if no further calls occur.
3793
3793
  */
3794
3794
  function debounceInput(debounceDelay) {
3795
- /**
3796
- * Applies debounce to the provided function, with a previously setup delay.
3797
- *
3798
- * @template { (...args: any[]) => any } T
3799
- *
3800
- * @param {T} fn
3801
- *
3802
- * @return { (...p: Parameters<T>) => any }
3795
+ /**
3796
+ * Applies debounce to the provided function, with a previously setup delay.
3797
+ *
3798
+ * @template { (...args: any[]) => any } T
3799
+ *
3800
+ * @param {T} fn
3801
+ *
3802
+ * @return { (...p: Parameters<T>) => any }
3803
3803
  */
3804
3804
  return function debounce$1(fn) {
3805
3805
  if (debounceDelay === false) {
@@ -3815,22 +3815,22 @@ var index$1 = {
3815
3815
  debounceInput: ['factory', debounceInput]
3816
3816
  };
3817
3817
 
3818
- /**
3819
- * Add a dragger that calls back the passed function with
3820
- * { event, delta } on drag.
3821
- *
3822
- * @example
3823
- *
3824
- * function dragMove(event, delta) {
3825
- * // we are dragging (!!)
3826
- * }
3827
- *
3828
- * domElement.addEventListener('dragstart', dragger(dragMove));
3829
- *
3830
- * @param {Function} fn
3831
- * @param {Element} [dragPreview]
3832
- *
3833
- * @return {Function} drag start callback function
3818
+ /**
3819
+ * Add a dragger that calls back the passed function with
3820
+ * { event, delta } on drag.
3821
+ *
3822
+ * @example
3823
+ *
3824
+ * function dragMove(event, delta) {
3825
+ * // we are dragging (!!)
3826
+ * }
3827
+ *
3828
+ * domElement.addEventListener('dragstart', dragger(dragMove));
3829
+ *
3830
+ * @param {Function} fn
3831
+ * @param {Element} [dragPreview]
3832
+ *
3833
+ * @return {Function} drag start callback function
3834
3834
  */
3835
3835
  function createDragger(fn, dragPreview) {
3836
3836
  let self;
@@ -3885,22 +3885,22 @@ function emptyCanvas() {
3885
3885
 
3886
3886
  const noop = () => {};
3887
3887
 
3888
- /**
3889
- * A generic popup component.
3890
- *
3891
- * @param {Object} props
3892
- * @param {string} [props.className]
3893
- * @param {boolean} [props.delayInitialFocus]
3894
- * @param {{top: number, left: number}} [props.position]
3895
- * @param {number} [props.width]
3896
- * @param {number} [props.height]
3897
- * @param {Function} props.onClose
3898
- * @param {Function} [props.onPostActivate]
3899
- * @param {Function} [props.onPostDeactivate]
3900
- * @param {boolean} [props.returnFocus]
3901
- * @param {boolean} [props.closeOnEscape]
3902
- * @param {string} props.title
3903
- * @param {Ref} [ref]
3888
+ /**
3889
+ * A generic popup component.
3890
+ *
3891
+ * @param {Object} props
3892
+ * @param {string} [props.className]
3893
+ * @param {boolean} [props.delayInitialFocus]
3894
+ * @param {{top: number, left: number}} [props.position]
3895
+ * @param {number} [props.width]
3896
+ * @param {number} [props.height]
3897
+ * @param {Function} props.onClose
3898
+ * @param {Function} [props.onPostActivate]
3899
+ * @param {Function} [props.onPostDeactivate]
3900
+ * @param {boolean} [props.returnFocus]
3901
+ * @param {boolean} [props.closeOnEscape]
3902
+ * @param {string} props.title
3903
+ * @param {Ref} [ref]
3904
3904
  */
3905
3905
  function PopupComponent(props, globalRef) {
3906
3906
  const {
@@ -4106,9 +4106,9 @@ function cancel(event) {
4106
4106
  const FEEL_POPUP_WIDTH = 700;
4107
4107
  const FEEL_POPUP_HEIGHT = 250;
4108
4108
 
4109
- /**
4110
- * FEEL expression editor popup component
4111
- * @param {FeelPopupProps} props
4109
+ /**
4110
+ * FEEL expression editor popup component
4111
+ * @param {FeelPopupProps} props
4112
4112
  */
4113
4113
  function FeelPopup$1(props) {
4114
4114
  const {
@@ -4244,19 +4244,19 @@ function getPopupPosition() {
4244
4244
  };
4245
4245
  }
4246
4246
 
4247
- /**
4248
- * FEEL popup component, built as a singleton.
4249
- *
4250
- * In order to implement a custom replacement, handle the following events:
4251
- * - `propertiesPanel.openPopup`
4252
- * - `propertiesPanel.closePopup`
4253
- * - `propertiesPanel.detach`
4254
- *
4255
- * Within the custom renderer, make sure to emit the following events:
4256
- * - `feelPopup.open` - fired before the popup is mounted
4257
- * - `feelPopup.opened` - fired after the popup is mounted. Event context contains the DOM node of the popup as `domNode`
4258
- * - `feelPopup.close` - fired before the popup is unmounted. Event context contains the DOM node of the popup as `domNode`
4259
- * - `feelPopup.closed` - fired after the popup is unmounted
4247
+ /**
4248
+ * FEEL popup component, built as a singleton.
4249
+ *
4250
+ * In order to implement a custom replacement, handle the following events:
4251
+ * - `propertiesPanel.openPopup`
4252
+ * - `propertiesPanel.closePopup`
4253
+ * - `propertiesPanel.detach`
4254
+ *
4255
+ * Within the custom renderer, make sure to emit the following events:
4256
+ * - `feelPopup.open` - fired before the popup is mounted
4257
+ * - `feelPopup.opened` - fired after the popup is mounted. Event context contains the DOM node of the popup as `domNode`
4258
+ * - `feelPopup.close` - fired before the popup is unmounted. Event context contains the DOM node of the popup as `domNode`
4259
+ * - `feelPopup.closed` - fired after the popup is unmounted
4260
4260
  */
4261
4261
  class FeelPopup {
4262
4262
  constructor(eventBus, config = {}) {
@@ -4274,20 +4274,20 @@ class FeelPopup {
4274
4274
  });
4275
4275
  }
4276
4276
 
4277
- /**
4278
- * Check if the FEEL popup is open.
4279
- * @return {Boolean}
4277
+ /**
4278
+ * Check if the FEEL popup is open.
4279
+ * @return {Boolean}
4280
4280
  */
4281
4281
  isOpen() {
4282
4282
  return this._isOpen;
4283
4283
  }
4284
4284
 
4285
- /**
4286
- * Open the FEEL popup.
4287
- *
4288
- * @param {String} entryId
4289
- * @param {Object} popupConfig
4290
- * @param {HTMLElement} sourceElement
4285
+ /**
4286
+ * Open the FEEL popup.
4287
+ *
4288
+ * @param {String} entryId
4289
+ * @param {Object} popupConfig
4290
+ * @param {HTMLElement} sourceElement
4291
4291
  */
4292
4292
  open(entryId, popupConfig, sourceElement) {
4293
4293
  // close before opening a new one
@@ -4299,8 +4299,8 @@ class FeelPopup {
4299
4299
  });
4300
4300
  }
4301
4301
 
4302
- /**
4303
- * Close the FEEL popup.
4302
+ /**
4303
+ * Close the FEEL popup.
4304
4304
  */
4305
4305
  close() {
4306
4306
  this._closePopup();