pacem 0.60.3-bernoulli → 0.60.3-lipschitz

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 (57) hide show
  1. package/dist/css/pacem-dark-content.min.css +1 -1
  2. package/dist/css/pacem-dark-shell.min.css +1 -1
  3. package/dist/css/pacem-dark.min.css +1 -1
  4. package/dist/css/pacem-light-content.min.css +1 -1
  5. package/dist/css/pacem-light-shell.min.css +1 -1
  6. package/dist/css/pacem-light.min.css +1 -1
  7. package/dist/css/pacem-phousys-content.min.css +1 -1
  8. package/dist/css/pacem-phousys-shell.min.css +1 -1
  9. package/dist/css/pacem-phousys.min.css +1 -1
  10. package/dist/js/azure-maps.d.ts +1 -1
  11. package/dist/js/pacem-2d.d.ts +4 -6
  12. package/dist/js/pacem-2d.js +91 -61
  13. package/dist/js/pacem-2d.min.js +2 -2
  14. package/dist/js/pacem-3d.d.ts +1 -1
  15. package/dist/js/pacem-3d.js +1 -1
  16. package/dist/js/pacem-3d.min.js +1 -1
  17. package/dist/js/pacem-charts.d.ts +1 -1
  18. package/dist/js/pacem-charts.js +1 -1
  19. package/dist/js/pacem-charts.min.js +1 -1
  20. package/dist/js/pacem-cms.d.ts +1 -1
  21. package/dist/js/pacem-cms.js +1 -1
  22. package/dist/js/pacem-cms.min.js +1 -1
  23. package/dist/js/pacem-core.d.ts +1 -1
  24. package/dist/js/pacem-core.js +5 -1
  25. package/dist/js/pacem-core.min.js +2 -2
  26. package/dist/js/pacem-foundation.d.ts +1 -1
  27. package/dist/js/pacem-foundation.js +1 -1
  28. package/dist/js/pacem-foundation.min.js +1 -1
  29. package/dist/js/pacem-fx.d.ts +1 -1
  30. package/dist/js/pacem-fx.js +1 -1
  31. package/dist/js/pacem-fx.min.js +1 -1
  32. package/dist/js/pacem-logging.d.ts +1 -1
  33. package/dist/js/pacem-logging.js +1 -1
  34. package/dist/js/pacem-logging.min.js +1 -1
  35. package/dist/js/pacem-maps.d.ts +1 -1
  36. package/dist/js/pacem-maps.js +1 -1
  37. package/dist/js/pacem-maps.min.js +1 -1
  38. package/dist/js/pacem-media.d.ts +1 -1
  39. package/dist/js/pacem-media.js +1 -1
  40. package/dist/js/pacem-media.min.js +1 -1
  41. package/dist/js/pacem-networking.d.ts +1 -1
  42. package/dist/js/pacem-networking.js +1 -1
  43. package/dist/js/pacem-networking.min.js +1 -1
  44. package/dist/js/pacem-numerical.d.ts +1 -1
  45. package/dist/js/pacem-numerical.js +1 -1
  46. package/dist/js/pacem-numerical.min.js +1 -1
  47. package/dist/js/pacem-plus.d.ts +1 -1
  48. package/dist/js/pacem-plus.js +1 -1
  49. package/dist/js/pacem-plus.min.js +1 -1
  50. package/dist/js/pacem-scaffolding.d.ts +1 -1
  51. package/dist/js/pacem-scaffolding.js +1 -1
  52. package/dist/js/pacem-scaffolding.min.js +1 -1
  53. package/dist/js/pacem-ui.d.ts +1 -1
  54. package/dist/js/pacem-ui.js +1 -1
  55. package/dist/js/pacem-ui.min.js +1 -1
  56. package/dist/js/swagger-types.d.ts +1 -1
  57. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -242,6 +242,7 @@ declare namespace Pacem.Components.Drawing {
242
242
  zoomControl: boolean;
243
243
  panModifiers: EventKeyModifier[];
244
244
  zoomModifiers: EventKeyModifier[];
245
+ clickModifiers: EventKeyModifier[];
245
246
  };
246
247
  }
247
248
  declare namespace Pacem.Components.Drawing {
@@ -359,6 +360,7 @@ declare namespace Pacem.Components.Drawing {
359
360
  }
360
361
  }
361
362
  declare namespace Pacem.Components.Drawing {
363
+ function getStageOptions(stage: Pacem.Drawing.Stage): StageOptions;
362
364
  class Pacem2DElement extends PacemItemsContainerElement<DrawableElement> implements Stage {
363
365
  #private;
364
366
  get stage(): HTMLElement;
@@ -381,7 +383,6 @@ declare namespace Pacem.Components.Drawing {
381
383
  requestDraw(item?: Pacem.Drawing.Drawable): any;
382
384
  requestDraw(item: Pacem.Drawing.Group, redrawContent: boolean): any;
383
385
  private _buildUpDatasourceFromDOM;
384
- private _options;
385
386
  private _resizeHandler;
386
387
  private _getActualAspectRatio;
387
388
  private _zoomFromValue;
@@ -389,7 +390,6 @@ declare namespace Pacem.Components.Drawing {
389
390
  private _zoomHandler;
390
391
  private _getPanPoint;
391
392
  private _panHandler;
392
- private _panningStart;
393
393
  private _panStartHandler;
394
394
  private _panEndHandler;
395
395
  private _invalidateSize;
@@ -439,7 +439,6 @@ declare namespace Pacem.Components.Drawing {
439
439
  getCanvas(stage: Pacem2DElement): HTMLCanvasElement;
440
440
  private _getScreenInverseMatrix;
441
441
  getTransformMatrix(scene: Pacem2DElement): Matrix2D;
442
- private _dragger;
443
442
  viewActivatedCallback(): void;
444
443
  disconnectedCallback(): void;
445
444
  invalidateSize(scene: Pacem2DElement, size: Size): void;
@@ -470,9 +469,9 @@ declare namespace Pacem.Components.Drawing {
470
469
  }
471
470
  declare namespace Pacem.Components.Drawing {
472
471
  class PacemSvgAdapterElement extends Pacem2DAdapterElement {
472
+ #private;
473
473
  snapshot(stage: Pacem.Drawing.Stage, background?: string, type?: string, quality?: number): PromiseLike<Blob>;
474
474
  getTransformMatrix(scene: Pacem2DElement): Matrix2D;
475
- private _dragger;
476
475
  viewActivatedCallback(): void;
477
476
  disconnectedCallback(): void;
478
477
  invalidateSize(scene: Pacem2DElement, size: Size): void;
@@ -482,7 +481,6 @@ declare namespace Pacem.Components.Drawing {
482
481
  getHitTarget(scene: Pacem2DElement): Pacem.Drawing.Drawable;
483
482
  draw(scene: Pacem2DElement, item?: Pacem.Drawing.Drawable): any;
484
483
  draw(scene: Pacem2DElement, item: Pacem.Drawing.Group, deepRedraw: boolean): any;
485
- private _dragging;
486
484
  private _dragInitHandler;
487
485
  private _draggingHandler;
488
486
  private _dragEndHandler;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.60.3-bernoulli (https://js.pacem.it)
2
+ * pacem v0.60.3-lipschitz (https://js.pacem.it)
3
3
  * Copyright 2026 Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1007,20 +1007,26 @@ var Pacem;
1007
1007
  if (Pacem.Utils.isNull(val) || typeof val === 'string') {
1008
1008
  return 'none';
1009
1009
  }
1010
- return `xM${(val.x.substr(1))}YM${(val.y.substr(1))} ${(val.slice ? 'slice' : 'meet')}`;
1010
+ return `xM${(val.x.substring(1))}YM${(val.y.substring(1))} ${(val.slice ? 'slice' : 'meet')}`;
1011
1011
  }
1012
1012
  };
1013
1013
  const DEFAULT_STAGE_OPTIONS = {
1014
1014
  panControl: true,
1015
1015
  zoomControl: true,
1016
1016
  panModifiers: [Pacem.EventKeyModifier.AltKey],
1017
- zoomModifiers: [Pacem.EventKeyModifier.AltKey]
1017
+ zoomModifiers: [Pacem.EventKeyModifier.AltKey],
1018
+ clickModifiers: []
1018
1019
  };
1020
+ function getStageOptions(stage) {
1021
+ const options = stage instanceof Pacem2DElement ? stage.options : {};
1022
+ return Pacem.Utils.extend({}, DEFAULT_STAGE_OPTIONS, options);
1023
+ }
1024
+ Drawing.getStageOptions = getStageOptions;
1019
1025
  let Pacem2DElement = class Pacem2DElement extends Components.PacemItemsContainerElement {
1020
1026
  constructor() {
1021
1027
  super(...arguments);
1022
1028
  this.#transformMatrix = Pacem.Matrix2D.identity;
1023
- this._options = DEFAULT_STAGE_OPTIONS;
1029
+ this.#options = DEFAULT_STAGE_OPTIONS;
1024
1030
  this._resizeHandler = (evt) => {
1025
1031
  this.#size = { x: evt.detail.left, y: evt.detail.top, width: evt.detail.width, height: evt.detail.height };
1026
1032
  const adapter = this.adapter;
@@ -1029,7 +1035,11 @@ var Pacem;
1029
1035
  }
1030
1036
  };
1031
1037
  this._zoomHandler = (evt) => {
1032
- const opts = this._options;
1038
+ // only trusted ui interaction
1039
+ if (!evt.isTrusted) {
1040
+ return;
1041
+ }
1042
+ const opts = this.#options;
1033
1043
  if (opts.zoomControl && Pacem.CustomEventUtils.matchModifiers(evt, opts.zoomModifiers)) {
1034
1044
  // prevent anything
1035
1045
  Pacem.avoidHandler(evt);
@@ -1041,7 +1051,7 @@ var Pacem;
1041
1051
  }
1042
1052
  };
1043
1053
  this._panHandler = (evt) => {
1044
- const state = this._panningStart, actual = this._getPanPoint(evt);
1054
+ const state = this.#panningStart, actual = this._getPanPoint(evt);
1045
1055
  if (!Pacem.Utils.isNullOrEmpty(state && state.point) && !Pacem.Utils.isNull(actual)) {
1046
1056
  Pacem.avoidHandler(evt);
1047
1057
  const factor = state.factor, vbox = state.box, start = state.point;
@@ -1054,22 +1064,26 @@ var Pacem;
1054
1064
  }
1055
1065
  };
1056
1066
  this._panStartHandler = (evt) => {
1057
- const opts = this._options;
1067
+ const opts = this.#options;
1058
1068
  if (!opts.panControl) {
1059
1069
  return;
1060
1070
  }
1071
+ // only trusted ui interaction
1072
+ if (!evt.isTrusted) {
1073
+ return;
1074
+ }
1061
1075
  const size = this.#size, vbox = this.viewbox || { x: 0, y: 0, width: size.width, height: size.height }, start = this._getPanPoint(evt);
1062
1076
  if (start) {
1063
1077
  Pacem.avoidHandler(evt);
1064
1078
  this._stage.style.pointerEvents = 'none';
1065
1079
  const aspectRatio = this._getActualAspectRatio();
1066
1080
  const wBased = vbox.width / size.width, hBased = vbox.height / size.height, factor = aspectRatio.slice ? Math.min(wBased, hBased) : Math.max(wBased, hBased);
1067
- this._panningStart = { point: start, box: vbox, factor };
1081
+ this.#panningStart = { point: start, box: vbox, factor };
1068
1082
  }
1069
1083
  };
1070
1084
  this._panEndHandler = (evt) => {
1071
1085
  this._stage.style.pointerEvents = '';
1072
- this._panningStart = null;
1086
+ this.#panningStart = null;
1073
1087
  };
1074
1088
  }
1075
1089
  get stage() {
@@ -1124,6 +1138,7 @@ var Pacem;
1124
1138
  _buildUpDatasourceFromDOM() {
1125
1139
  this.datasource = (this.items || []).slice();
1126
1140
  }
1141
+ #options;
1127
1142
  #size;
1128
1143
  _getActualAspectRatio() {
1129
1144
  const aspectRatio = this.aspectRatio || 'none';
@@ -1196,12 +1211,13 @@ var Pacem;
1196
1211
  }
1197
1212
  }
1198
1213
  _getPanPoint(evt) {
1199
- const opts = this._options;
1214
+ const opts = this.#options;
1200
1215
  if (evt instanceof MouseEvent && Pacem.CustomEventUtils.matchModifiers(evt, opts.panModifiers)) {
1201
1216
  return Pacem.CustomEventUtils.getEventCoordinates(evt).page;
1202
1217
  }
1203
1218
  return null;
1204
1219
  }
1220
+ #panningStart;
1205
1221
  _invalidateSize() {
1206
1222
  this.adapter.invalidateSize(this, this.#size);
1207
1223
  const prevTransformMatrix = this.#transformMatrix;
@@ -1267,7 +1283,7 @@ var Pacem;
1267
1283
  }
1268
1284
  break;
1269
1285
  case 'options':
1270
- this._options = Pacem.Utils.extend({}, DEFAULT_STAGE_OPTIONS, val || {});
1286
+ this.#options = getStageOptions(this); // Utils.extend({}, DEFAULT_STAGE_OPTIONS, val || {});
1271
1287
  break;
1272
1288
  case 'disabled':
1273
1289
  case 'datasource':
@@ -1406,34 +1422,39 @@ var Pacem;
1406
1422
  && Number.isFinite(viewbox.y) && Number.isFinite(viewbox.width) && Number.isFinite(viewbox.height);
1407
1423
  }
1408
1424
  static itemDispatch(target, type, offset) {
1409
- if (!Pacem.Utils.isNull(target)) {
1410
- var dragArgs, originalEvent, evtType;
1411
- if (offset instanceof Event) {
1412
- originalEvent = offset;
1413
- }
1414
- else {
1415
- dragArgs = { item: target, offset: offset };
1416
- }
1417
- if (typeof type === 'string') {
1418
- evtType = type;
1419
- }
1420
- else {
1421
- evtType = type.type;
1422
- originalEvent = type.originalEvent;
1423
- }
1424
- const m = target.stage.transformMatrix;
1425
- const evt = () => offset instanceof Event ? new Pacem.Drawing.DrawableEvent(evtType, target, originalEvent, m) : new Pacem.Drawing.DragEvent(evtType, { detail: dragArgs, cancelable: evtType === Pacem.UI.DragDropEventType.Init || evtType === Pacem.UI.DragDropEventType.Drag }, originalEvent, m), itemevt = offset instanceof Event ? new Pacem.Drawing.DrawableEvent('item' + evtType, target, originalEvent, m) : new Pacem.Drawing.DragEvent('item' + evtType, { detail: dragArgs, cancelable: evtType === Pacem.UI.DragDropEventType.Init || evtType === Pacem.UI.DragDropEventType.Drag }, originalEvent, m);
1426
- var prevent = false;
1427
- if (target instanceof EventTarget) {
1428
- const evnt = evt();
1429
- target.dispatchEvent(evnt);
1430
- prevent = evnt.defaultPrevented;
1431
- }
1432
- target.stage.dispatchEvent(itemevt);
1433
- // was the event (in one of its forms) rejected?
1434
- return prevent || itemevt.defaultPrevented;
1425
+ if (Pacem.Utils.isNull(target)) {
1426
+ return false;
1435
1427
  }
1436
- return false;
1428
+ var dragArgs, originalEvent, evtType;
1429
+ if (offset instanceof Event) {
1430
+ originalEvent = offset;
1431
+ }
1432
+ else {
1433
+ dragArgs = { item: target, offset: offset };
1434
+ }
1435
+ if (typeof type === 'string') {
1436
+ evtType = type;
1437
+ }
1438
+ else {
1439
+ evtType = type.type;
1440
+ originalEvent = type.originalEvent;
1441
+ }
1442
+ const m = target.stage.transformMatrix;
1443
+ const evt = () => offset instanceof Event
1444
+ ? new Pacem.Drawing.DrawableEvent(evtType, target, originalEvent, m)
1445
+ : new Pacem.Drawing.DragEvent(evtType, { detail: dragArgs, cancelable: evtType === Pacem.UI.DragDropEventType.Init || evtType === Pacem.UI.DragDropEventType.Drag }, originalEvent, m);
1446
+ const itemevt = offset instanceof Event
1447
+ ? new Pacem.Drawing.DrawableEvent('item' + evtType, target, originalEvent, m)
1448
+ : new Pacem.Drawing.DragEvent('item' + evtType, { detail: dragArgs, cancelable: evtType === Pacem.UI.DragDropEventType.Init || evtType === Pacem.UI.DragDropEventType.Drag }, originalEvent, m);
1449
+ var prevent = false;
1450
+ if (target instanceof EventTarget) {
1451
+ const evnt = evt();
1452
+ target.dispatchEvent(evnt);
1453
+ prevent = evnt.defaultPrevented;
1454
+ }
1455
+ target.stage.dispatchEvent(itemevt);
1456
+ // was the event (in one of its forms) rejected?
1457
+ return prevent || itemevt.defaultPrevented;
1437
1458
  }
1438
1459
  }
1439
1460
  Drawing.AdapterUtils = AdapterUtils;
@@ -1555,11 +1576,14 @@ var Pacem;
1555
1576
  if (canvas instanceof HTMLCanvasElement) {
1556
1577
  const stage = GETVAR(canvas, CANVAS_SCENE_VAR), hitTarget = this._hitTarget;
1557
1578
  const type = evt.type.replace(/^(mouse|touch)/, ''), fineType = type === 'end' ? 'click' : type;
1558
- if (!Pacem.Utils.isNull(hitTarget) && hitTarget.stage === stage) {
1559
- Drawing.AdapterUtils.itemDispatch(this._hitTarget, fineType, evt);
1560
- }
1561
- else {
1562
- Drawing.AdapterUtils.stageDispatch(stage, fineType, evt);
1579
+ const opts = Drawing.getStageOptions(stage);
1580
+ if (Pacem.CustomEventUtils.matchModifiers(evt, opts.clickModifiers)) {
1581
+ if (!Pacem.Utils.isNull(hitTarget) && hitTarget.stage === stage) {
1582
+ Drawing.AdapterUtils.itemDispatch(hitTarget, fineType, evt);
1583
+ }
1584
+ else {
1585
+ Drawing.AdapterUtils.stageDispatch(stage, fineType, evt);
1586
+ }
1563
1587
  }
1564
1588
  }
1565
1589
  };
@@ -1596,9 +1620,10 @@ var Pacem;
1596
1620
  }
1597
1621
  return Pacem.Matrix2D.identity;
1598
1622
  }
1623
+ #dragger;
1599
1624
  viewActivatedCallback() {
1600
1625
  super.viewActivatedCallback();
1601
- const dragDrop = this._dragger = document.createElement(Pacem.P + '-drag-drop');
1626
+ const dragDrop = this.#dragger = document.createElement(Pacem.P + '-drag-drop');
1602
1627
  dragDrop.mode = Pacem.UI.DragDataMode.Copy;
1603
1628
  dragDrop.dropBehavior = Pacem.UI.DropBehavior.None;
1604
1629
  dragDrop.spillBehavior = Pacem.UI.DropTargetMissedBehavior.None;
@@ -1613,7 +1638,7 @@ var Pacem;
1613
1638
  dragDrop.addEventListener(Pacem.UI.DragDropEventType.End, this._dragEndHandler, false);
1614
1639
  }
1615
1640
  disconnectedCallback() {
1616
- const dragger = this._dragger;
1641
+ const dragger = this.#dragger;
1617
1642
  if (!Pacem.Utils.isNull(dragger)) {
1618
1643
  dragger.removeEventListener(Pacem.UI.DragDropEventType.Init, this._dragInitHandler, false);
1619
1644
  dragger.removeEventListener(Pacem.UI.DragDropEventType.Drag, this._draggingHandler, false);
@@ -1680,7 +1705,7 @@ var Pacem;
1680
1705
  throw 'Provided scene is null or undefined.';
1681
1706
  }
1682
1707
  const scenes = this._scenes;
1683
- const dragger = this._dragger;
1708
+ const dragger = this.#dragger;
1684
1709
  // already in the store?
1685
1710
  if (scenes.has(scene)) {
1686
1711
  const canvas = scenes.get(scene).context.canvas;
@@ -1715,7 +1740,7 @@ var Pacem;
1715
1740
  const scenes = this._scenes;
1716
1741
  if (scenes.has(scene)) {
1717
1742
  var tuple = scenes.get(scene), context = tuple.context, canvas = context.canvas;
1718
- const dragger = this._dragger;
1743
+ const dragger = this.#dragger;
1719
1744
  if (!Pacem.Utils.isNull(dragger)) {
1720
1745
  dragger.unregister(canvas);
1721
1746
  }
@@ -2106,7 +2131,7 @@ var Pacem;
2106
2131
  };
2107
2132
  this._draggingHandler = (evt) => {
2108
2133
  Pacem.avoidHandler(evt);
2109
- this._dragging = true;
2134
+ this.#dragging = true;
2110
2135
  const el = evt.detail.element;
2111
2136
  const data = evt.detail.data;
2112
2137
  const args = evt.detail;
@@ -2132,7 +2157,7 @@ var Pacem;
2132
2157
  }
2133
2158
  };
2134
2159
  this._dragEndHandler = (evt) => {
2135
- this._dragging = false;
2160
+ this.#dragging = false;
2136
2161
  const args = evt.detail, el = args.element, data = args.data, transform = Pacem.Utils.deserializeTransform(el.style);
2137
2162
  // store transform
2138
2163
  const offset = { x: transform.e, y: transform.f };
@@ -2148,7 +2173,7 @@ var Pacem;
2148
2173
  Drawing.AdapterUtils.itemDispatch(data.item, evt, offset);
2149
2174
  };
2150
2175
  this._mouseleaveHandler = (evt) => {
2151
- if (this._dragging) {
2176
+ if (this.#dragging) {
2152
2177
  return;
2153
2178
  }
2154
2179
  const hitTarget = this._hitTarget;
@@ -2157,13 +2182,13 @@ var Pacem;
2157
2182
  }
2158
2183
  this._hitTarget = null;
2159
2184
  if (!Pacem.Utils.isNull(hitTarget)) {
2160
- this._dragger.unregister(this._items.get(hitTarget));
2185
+ this.#dragger.unregister(this._items.get(hitTarget));
2161
2186
  Drawing.AdapterUtils.itemDispatch(hitTarget, 'out', evt);
2162
2187
  }
2163
2188
  };
2164
2189
  this._mousemoveHandler = (evt) => {
2165
2190
  var pt = Pacem.CustomEventUtils.getEventCoordinates(evt).client;
2166
- if (!this._dragging) {
2191
+ if (!this.#dragging) {
2167
2192
  // not dragging around
2168
2193
  var d = null;
2169
2194
  const root = evt.target.getRootNode();
@@ -2178,12 +2203,12 @@ var Pacem;
2178
2203
  const hitTarget = this._hitTarget = val;
2179
2204
  if (val !== old) {
2180
2205
  if (!Pacem.Utils.isNull(old)) {
2181
- this._dragger.unregister(this._items.get(old));
2206
+ this.#dragger.unregister(this._items.get(old));
2182
2207
  Drawing.AdapterUtils.itemDispatch(old, 'out', evt);
2183
2208
  }
2184
2209
  if (!Pacem.Utils.isNull(val)) {
2185
2210
  if (val.draggable) {
2186
- this._dragger.register(this._items.get(val));
2211
+ this.#dragger.register(this._items.get(val));
2187
2212
  }
2188
2213
  Drawing.AdapterUtils.itemDispatch(val, 'over', evt);
2189
2214
  }
@@ -2203,11 +2228,14 @@ var Pacem;
2203
2228
  if (svg instanceof SVGSVGElement) {
2204
2229
  const stage = GETVAR(svg, STAGE_VAR), hitTarget = this._hitTarget;
2205
2230
  const type = evt.type.replace(/^mouse/, '');
2206
- if (!Pacem.Utils.isNull(hitTarget) && hitTarget.stage === stage) {
2207
- Drawing.AdapterUtils.itemDispatch(this._hitTarget, type, evt);
2208
- }
2209
- else {
2210
- Drawing.AdapterUtils.stageDispatch(stage, type, evt);
2231
+ const opts = Drawing.getStageOptions(stage);
2232
+ if (Pacem.CustomEventUtils.matchModifiers(evt, opts.clickModifiers)) {
2233
+ if (!Pacem.Utils.isNull(hitTarget) && hitTarget.stage === stage) {
2234
+ Drawing.AdapterUtils.itemDispatch(hitTarget, type, evt);
2235
+ }
2236
+ else {
2237
+ Drawing.AdapterUtils.stageDispatch(stage, type, evt);
2238
+ }
2211
2239
  }
2212
2240
  }
2213
2241
  };
@@ -2232,9 +2260,10 @@ var Pacem;
2232
2260
  }
2233
2261
  return Pacem.Matrix2D.identity;
2234
2262
  }
2263
+ #dragger;
2235
2264
  viewActivatedCallback() {
2236
2265
  super.viewActivatedCallback();
2237
- const dragDrop = this._dragger = document.createElement(Pacem.P + '-drag-drop');
2266
+ const dragDrop = this.#dragger = document.createElement(Pacem.P + '-drag-drop');
2238
2267
  dragDrop.mode = Pacem.UI.DragDataMode.Self;
2239
2268
  // append
2240
2269
  const shell = Pacem.CustomElementUtils.findAncestorShell(this);
@@ -2244,7 +2273,7 @@ var Pacem;
2244
2273
  dragDrop.addEventListener(Pacem.UI.DragDropEventType.End, this._dragEndHandler, false);
2245
2274
  }
2246
2275
  disconnectedCallback() {
2247
- const dragger = this._dragger;
2276
+ const dragger = this.#dragger;
2248
2277
  if (!Pacem.Utils.isNull(dragger)) {
2249
2278
  dragger.removeEventListener(Pacem.UI.DragDropEventType.Init, this._dragInitHandler, false);
2250
2279
  dragger.removeEventListener(Pacem.UI.DragDropEventType.Drag, this._draggingHandler, false);
@@ -2355,6 +2384,7 @@ var Pacem;
2355
2384
  }
2356
2385
  this._draw(scene, parent, items || [], flow, deepRedraw);
2357
2386
  }
2387
+ #dragging;
2358
2388
  _hasItems(object) {
2359
2389
  return Pacem.Drawing.isGroup(object);
2360
2390
  }