@node-projects/web-component-designer 0.1.104 → 0.1.106

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 (103) hide show
  1. package/dist/elements/helper/Helper.d.ts +1 -0
  2. package/dist/elements/helper/Helper.js +13 -0
  3. package/dist/elements/item/DesignItem.d.ts +0 -5
  4. package/dist/elements/item/DesignItem.js +2 -3
  5. package/dist/elements/item/IDesignItem.d.ts +0 -5
  6. package/dist/elements/services/DefaultServiceBootstrap.js +18 -18
  7. package/dist/elements/services/dragDropService/DragDropService.js +1 -1
  8. package/dist/elements/services/selectionService/ISelectionChangedEvent copy.d.ts +6 -0
  9. package/dist/elements/services/selectionService/ISelectionChangedEvent copy.js +1 -0
  10. package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +1 -0
  11. package/dist/elements/services/selectionService/ISelectionRefreshEvent.d.ts +5 -0
  12. package/dist/elements/services/selectionService/ISelectionRefreshEvent.js +1 -0
  13. package/dist/elements/services/selectionService/ISelectionService.d.ts +3 -1
  14. package/dist/elements/services/selectionService/SelectionService.d.ts +4 -2
  15. package/dist/elements/services/selectionService/SelectionService.js +10 -4
  16. package/dist/elements/widgets/designerView/extensions/AbstractExtension.d.ts +7 -0
  17. package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +21 -0
  18. package/dist/elements/widgets/designerView/extensions/AbstractToolbarExtension.d.ts +9 -0
  19. package/dist/elements/widgets/designerView/extensions/AbstractToolbarExtension.js +30 -0
  20. package/dist/elements/widgets/designerView/extensions/ConditionExtensionProvider.d.ts +13 -0
  21. package/dist/elements/widgets/designerView/extensions/ConditionExtensionProvider.js +18 -0
  22. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.d.ts +1 -0
  23. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +7 -16
  24. package/dist/elements/widgets/designerView/extensions/EditTextExtension.d.ts +18 -0
  25. package/dist/elements/widgets/designerView/extensions/EditTextExtension.js +107 -0
  26. package/dist/elements/widgets/designerView/extensions/ExtensionManager.d.ts +10 -3
  27. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +100 -60
  28. package/dist/elements/widgets/designerView/extensions/ExtensionType.d.ts +5 -1
  29. package/dist/elements/widgets/designerView/extensions/ExtensionType.js +4 -0
  30. package/dist/elements/widgets/designerView/extensions/GridToolbarExtension.d.ts +12 -0
  31. package/dist/elements/widgets/designerView/extensions/GridToolbarExtension.js +58 -0
  32. package/dist/elements/widgets/designerView/extensions/IExtensionManger.d.ts +3 -3
  33. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +6 -2
  34. package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtension.d.ts +12 -0
  35. package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtension.js +35 -0
  36. package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtensionProvider.d.ts +9 -0
  37. package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtensionProvider.js +12 -0
  38. package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtension.d.ts +12 -0
  39. package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtension.js +34 -0
  40. package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtensionProvider.d.ts +9 -0
  41. package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtensionProvider.js +12 -0
  42. package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu.d.ts +11 -0
  43. package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu.js +14 -0
  44. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +3 -3
  45. package/dist/elements/widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.js +1 -1
  46. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +1 -1
  47. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js +1 -1
  48. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js +1 -1
  49. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js +1 -1
  50. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js +1 -1
  51. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +1 -1
  52. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js +1 -1
  53. package/dist/elements/widgets/designerView/extensions/flex/FlexToolbarExtension.d.ts +12 -0
  54. package/dist/elements/widgets/designerView/extensions/flex/FlexToolbarExtension.js +35 -0
  55. package/dist/elements/widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.d.ts +9 -0
  56. package/dist/elements/widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.js +12 -0
  57. package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtension.d.ts +12 -0
  58. package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtension.js +66 -0
  59. package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtensionProvider.d.ts +10 -0
  60. package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtensionProvider.js +17 -0
  61. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.d.ts +1 -0
  62. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.js +12 -8
  63. package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtension.d.ts +27 -0
  64. package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtension.js +259 -0
  65. package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.d.ts +10 -0
  66. package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js +16 -0
  67. package/dist/elements/widgets/designerView/extensions/grid/GridChildToolbarExtension.d.ts +12 -0
  68. package/dist/elements/widgets/designerView/extensions/grid/GridChildToolbarExtension.js +66 -0
  69. package/dist/elements/widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.d.ts +10 -0
  70. package/dist/elements/widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.js +17 -0
  71. package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension copy.d.ts +12 -0
  72. package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension copy.js +66 -0
  73. package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension.d.ts +12 -0
  74. package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension.js +67 -0
  75. package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider copy.d.ts +10 -0
  76. package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider copy.js +17 -0
  77. package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider.d.ts +9 -0
  78. package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider.js +12 -0
  79. package/dist/elements/widgets/designerView/extensions/grid/ResizeExtension.d.ts +28 -0
  80. package/dist/elements/widgets/designerView/extensions/grid/ResizeExtension.js +355 -0
  81. package/dist/elements/widgets/designerView/extensions/grid/ResizeExtensionProvider.d.ts +12 -0
  82. package/dist/elements/widgets/designerView/extensions/grid/ResizeExtensionProvider.js +20 -0
  83. package/dist/elements/widgets/designerView/extensions/logic/ConditionExtensionProvider.d.ts +13 -0
  84. package/dist/elements/widgets/designerView/extensions/logic/ConditionExtensionProvider.js +18 -0
  85. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +8 -6
  86. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.d.ts +2 -2
  87. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +18 -15
  88. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider copy.d.ts +9 -0
  89. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider copy.js +14 -0
  90. package/dist/elements/widgets/designerView/extensions/svg/SvgBaseExtension.d.ts +30 -0
  91. package/dist/elements/widgets/designerView/extensions/svg/SvgBaseExtension.js +181 -0
  92. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.d.ts +26 -0
  93. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.js +144 -0
  94. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.d.ts +9 -0
  95. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.js +16 -0
  96. package/dist/elements/widgets/designerView/overlayLayerView.js +4 -1
  97. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +1 -1
  98. package/dist/elements/widgets/designerView/tools/PointerTool.js +9 -9
  99. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +0 -1
  100. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +1 -0
  101. package/dist/index.d.ts +15 -0
  102. package/dist/index.js +14 -0
  103. package/package.json +1 -1
@@ -0,0 +1,181 @@
1
+ import { EventNames } from '../../../../../enums/EventNames.js';
2
+ import { AbstractExtension } from '../AbstractExtension.js';
3
+ export class RectExtension extends AbstractExtension {
4
+ constructor(extensionManager, designerView, extendedItem) {
5
+ super(extensionManager, designerView, extendedItem);
6
+ }
7
+ extend() {
8
+ this.refresh();
9
+ }
10
+ refresh() {
11
+ }
12
+ pointerEvent(event, circle, r, index) {
13
+ event.stopPropagation();
14
+ const cursorPos = this.designerCanvas.getNormalizedEventCoordinates(event);
15
+ switch (event.type) {
16
+ case EventNames.PointerDown:
17
+ event.target.setPointerCapture(event.pointerId);
18
+ this._startPos = cursorPos;
19
+ this._circlePos = { x: parseFloat(circle.getAttribute("cx")), y: parseFloat(circle.getAttribute("cy")) };
20
+ this._originalPoint = { x: this._x, y: this._y };
21
+ this._parentCoordinates = this.designerCanvas.getNormalizedElementCoordinates(this._rectElement.parentElement);
22
+ break;
23
+ case EventNames.PointerMove:
24
+ if (this._startPos && event.buttons > 0) {
25
+ this._deltaScrollOffset = {
26
+ x: this._startScrollOffset.x - this.designerCanvas.canvasOffset.x,
27
+ y: this._startScrollOffset.y - this.designerCanvas.canvasOffset.y
28
+ };
29
+ this._lastPos = { x: this._startPos.x, y: this._startPos.y };
30
+ const cx = cursorPos.x - this._lastPos.x + this._circlePos.x;
31
+ const cy = cursorPos.y - this._lastPos.y + this._circlePos.y;
32
+ let dx = cx - this._circlePos.x;
33
+ let dy = cy - this._circlePos.y;
34
+ if (dx != 0 || dy != 0)
35
+ this._circleMoved = true;
36
+ if (event.shiftKey) {
37
+ if (Math.abs(dx) < Math.abs(dy)) {
38
+ dx = 0;
39
+ }
40
+ else {
41
+ dy = 0;
42
+ }
43
+ }
44
+ switch (index) {
45
+ case 0:
46
+ this._rect = this._calculateRect(this._originalPoint.x + dx, this._originalPoint.y + dy, this._w - dx, this._h - dy);
47
+ break;
48
+ case 1:
49
+ this._rect = this._calculateRect(this._originalPoint.x, this._originalPoint.y + dy, this._w + dx, this._h - dy);
50
+ break;
51
+ case 2:
52
+ this._rect = this._calculateRect(this._originalPoint.x, this._originalPoint.y, this._w + dx, this._h + dy);
53
+ break;
54
+ case 3:
55
+ this._rect = this._calculateRect(this._originalPoint.x + dx, this._originalPoint.y, this._w - dx, this._h + dy);
56
+ break;
57
+ }
58
+ r.setAttribute("x", this._rect.x.toString());
59
+ r.setAttribute("y", this._rect.y.toString());
60
+ r.setAttribute("width", this._rect.w.toString());
61
+ r.setAttribute("height", this._rect.h.toString());
62
+ circle.setAttribute("cx", (this._circlePos.x + dx).toString());
63
+ circle.setAttribute("cy", (this._circlePos.y + dy).toString());
64
+ this.designerCanvas.extensionManager.refreshAllExtensions([this.extendedItem], this);
65
+ this._redrawPathCircle(this._rect.x, this._rect.y, this._circle1);
66
+ this._redrawPathCircle(this._rect.x + this._rect.w, this._rect.y, this._circle2);
67
+ this._redrawPathCircle(this._rect.x + this._rect.w, this._rect.y + this._rect.h, this._circle3);
68
+ this._redrawPathCircle(this._rect.x, this._rect.y + this._rect.h, this._circle4);
69
+ }
70
+ break;
71
+ case EventNames.PointerUp:
72
+ event.target.releasePointerCapture(event.pointerId);
73
+ this._startPos = null;
74
+ this._circlePos = null;
75
+ this._originalPoint = null;
76
+ if (this._circleMoved) {
77
+ this.extendedItem.setAttribute("x", this._rect.x.toString());
78
+ this.extendedItem.setAttribute("y", this._rect.y.toString());
79
+ this.extendedItem.setAttribute("width", this._rect.w.toString());
80
+ this.extendedItem.setAttribute("height", this._rect.h.toString());
81
+ }
82
+ if (getComputedStyle(this._rectElement.parentElement).position == "absolute") {
83
+ let group = this.extendedItem.openGroup('rearrangeSvg');
84
+ let newRectCoordinates = this.designerCanvas.getNormalizedElementCoordinates(this._rectElement);
85
+ let newRectCoordinatesCloud = this._getPointsFromRect(newRectCoordinates);
86
+ let newRectExtrema = this._getMinMaxValues(newRectCoordinatesCloud);
87
+ this._rearrangeSvgParent(newRectExtrema);
88
+ this._rearrangePointsFromElement(this._parentCoordinates);
89
+ group.commit();
90
+ }
91
+ break;
92
+ }
93
+ }
94
+ _drawPathCircle(point, changedCallback) {
95
+ let newCircle = this._drawCircle((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + point.x, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + point.y, 5 / this.designerCanvas.scaleFactor, 'svg-path', circle);
96
+ newCircle.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
97
+ /*if (!circle) {
98
+ newCircle.addEventListener(EventNames.PointerDown, event => this.pointerEvent(event, newCircle, r, index));
99
+ newCircle.addEventListener(EventNames.PointerMove, event => this.pointerEvent(event, newCircle, r, index));
100
+ newCircle.addEventListener(EventNames.PointerUp, event => this.pointerEvent(event, newCircle, r, index));
101
+ }
102
+ return newCircle;*/
103
+ }
104
+ _redrawPathCircle(x, y, oldCircle) {
105
+ let circle = this._drawCircle((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + x - this._deltaScrollOffset.x, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + y - this._deltaScrollOffset.y, 5 / this.designerCanvas.scaleFactor, 'svg-path', oldCircle);
106
+ circle.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
107
+ return circle;
108
+ }
109
+ _calculateRect(x, y, w, h) {
110
+ let rect = { x: 0, y: 0, w: 0, h: 0 };
111
+ if (w >= 0) {
112
+ rect.x = x;
113
+ rect.w = w;
114
+ }
115
+ else {
116
+ rect.x = x + w;
117
+ rect.w = -w;
118
+ }
119
+ if (h >= 0) {
120
+ rect.y = y;
121
+ rect.h = h;
122
+ }
123
+ else {
124
+ rect.y = y + h;
125
+ rect.h = -h;
126
+ }
127
+ return rect;
128
+ }
129
+ _getPointsFromRect(elementCoords) {
130
+ let Coords = [];
131
+ Coords.push(elementCoords.x);
132
+ Coords.push(elementCoords.x + elementCoords.width);
133
+ Coords.push(elementCoords.x);
134
+ Coords.push(elementCoords.x + elementCoords.width);
135
+ Coords.push(elementCoords.y);
136
+ Coords.push(elementCoords.y);
137
+ Coords.push(elementCoords.y + elementCoords.height);
138
+ Coords.push(elementCoords.y + elementCoords.height);
139
+ Coords.push(elementCoords.height);
140
+ Coords.push(elementCoords.width);
141
+ return Coords;
142
+ }
143
+ _getMinMaxValues(coords) {
144
+ let extrema = { xMin: 0.0, xMax: 0.0, yMin: 0.0, yMax: 0.0 };
145
+ for (let i = 0; i < coords.length - 2; i++) {
146
+ if (coords[i] < coords[i + 1] && i <= 3) {
147
+ extrema.xMin = coords[i];
148
+ }
149
+ else if (coords[i] < coords[i + 1] && i > 3 && i <= 7) {
150
+ extrema.yMin = coords[i];
151
+ }
152
+ if (coords[i] > coords[i + 1] && i <= 3) {
153
+ extrema.xMax = coords[i];
154
+ }
155
+ else if (coords[i] > coords[i + 1] && i > 3 && i <= 8) {
156
+ extrema.yMax = coords[i];
157
+ }
158
+ }
159
+ return extrema;
160
+ }
161
+ _rearrangeSvgParent(newRectExtrema) {
162
+ let parentLeft = newRectExtrema.xMin - this._offsetSvg;
163
+ let parentTop = newRectExtrema.yMin - this._offsetSvg;
164
+ let widthRectElement = newRectExtrema.xMax - newRectExtrema.xMin + (2 * this._offsetSvg);
165
+ let heightRectElement = newRectExtrema.yMax - newRectExtrema.yMin + (2 * this._offsetSvg);
166
+ this.extendedItem.parent.setStyle("left", parentLeft.toString() + "px");
167
+ this.extendedItem.parent.setStyle("top", parentTop.toString() + "px");
168
+ this.extendedItem.parent.setStyle("height", Math.round(heightRectElement).toString() + "px");
169
+ this.extendedItem.parent.setStyle("width", Math.round(widthRectElement).toString() + "px");
170
+ }
171
+ _rearrangePointsFromElement(oldParentCoords) {
172
+ let newParentCoords = this.designerCanvas.getNormalizedElementCoordinates(this._rectElement.parentElement);
173
+ let diffX = oldParentCoords.x - newParentCoords.x;
174
+ let diffY = oldParentCoords.y - newParentCoords.y;
175
+ this.extendedItem.setAttribute('x', (this._rectElement.x.baseVal.value + diffX).toString());
176
+ this.extendedItem.setAttribute('y', (this._rectElement.y.baseVal.value + diffY).toString());
177
+ }
178
+ dispose() {
179
+ this._removeAllOverlays();
180
+ }
181
+ }
@@ -0,0 +1,26 @@
1
+ import { IPoint } from '../../../../../interfaces/IPoint.js';
2
+ import { IDesignItem } from '../../../../item/IDesignItem.js';
3
+ import { IDesignerCanvas } from '../../IDesignerCanvas.js';
4
+ import { AbstractExtension } from '../AbstractExtension.js';
5
+ import { IExtensionManager } from '../IExtensionManger.js';
6
+ export declare class SvgElementExtension extends AbstractExtension {
7
+ constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
8
+ private _parentRect;
9
+ private _svgElement;
10
+ private _circles;
11
+ private _points;
12
+ private _startPoint;
13
+ private _startPos;
14
+ extend(): void;
15
+ refresh(): void;
16
+ dispose(): void;
17
+ _drawPathCircle(index: number, circle: SVGCircleElement): SVGCircleElement;
18
+ pointerEvent(event: PointerEvent, index: number, circle: SVGCircleElement, changed?: ({}: {}) => void): void;
19
+ modifyElementPoint(element: SVGElement, index: number, newPoint: IPoint): void;
20
+ _getMinMaxValues(coords: any): {
21
+ xMin: number;
22
+ xMax: number;
23
+ yMin: number;
24
+ yMax: number;
25
+ };
26
+ }
@@ -0,0 +1,144 @@
1
+ import { EventNames } from '../../../../../enums/EventNames.js';
2
+ import { AbstractExtension } from '../AbstractExtension.js';
3
+ import { OverlayLayer } from '../OverlayLayer.js';
4
+ function getSvgElementPoints(element) {
5
+ if (element instanceof SVGRectElement) {
6
+ return [
7
+ { x: element.x.baseVal.value, y: element.y.baseVal.value },
8
+ { x: element.x.baseVal.value + element.width.baseVal.value, y: element.y.baseVal.value },
9
+ { x: element.x.baseVal.value + element.width.baseVal.value, y: element.y.baseVal.value + element.height.baseVal.value },
10
+ { x: element.x.baseVal.value, y: element.y.baseVal.value + element.height.baseVal.value },
11
+ ];
12
+ }
13
+ else if (element instanceof SVGLineElement) {
14
+ return [
15
+ { x: element.x1.baseVal.value, y: element.y1.baseVal.value },
16
+ { x: element.x2.baseVal.value, y: element.y2.baseVal.value }
17
+ ];
18
+ }
19
+ return null;
20
+ }
21
+ export class SvgElementExtension extends AbstractExtension {
22
+ constructor(extensionManager, designerView, extendedItem) {
23
+ super(extensionManager, designerView, extendedItem);
24
+ }
25
+ _parentRect;
26
+ _svgElement;
27
+ //private _startScrollOffset: IPoint;
28
+ _circles = [];
29
+ _points;
30
+ _startPoint;
31
+ _startPos;
32
+ extend() {
33
+ this._parentRect = this.extendedItem.element.parentElement.getBoundingClientRect();
34
+ this._svgElement = this.extendedItem.node;
35
+ //this._startScrollOffset = this.designerCanvas.canvasOffset;
36
+ this.refresh();
37
+ }
38
+ refresh() {
39
+ let points = getSvgElementPoints(this._svgElement);
40
+ if (this._valuesHaveChanges(this.designerCanvas.scaleFactor, ...points.map(x => x.x), ...points.map(x => x.y))) {
41
+ this._points = points;
42
+ for (let i = 0; i < this._points.length; i++) {
43
+ this._circles[i] = this._drawPathCircle(i, this._circles[i]);
44
+ }
45
+ }
46
+ }
47
+ dispose() {
48
+ this._removeAllOverlays();
49
+ }
50
+ _drawPathCircle(index, circle) {
51
+ let newCircle = this._drawCircle((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + this._points[index].x, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + this._points[index].y, 5 / this.designerCanvas.scaleFactor, 'svg-path', circle, OverlayLayer.Foreground);
52
+ newCircle.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
53
+ if (!circle) {
54
+ newCircle.addEventListener(EventNames.PointerDown, event => this.pointerEvent(event, index, newCircle));
55
+ newCircle.addEventListener(EventNames.PointerMove, event => this.pointerEvent(event, index, newCircle));
56
+ newCircle.addEventListener(EventNames.PointerUp, event => this.pointerEvent(event, index, newCircle));
57
+ }
58
+ return newCircle;
59
+ }
60
+ pointerEvent(event, index, circle, changed) {
61
+ event.stopPropagation();
62
+ event.preventDefault();
63
+ const cursorPos = this.designerCanvas.getNormalizedEventCoordinates(event);
64
+ const point = this._points[index];
65
+ switch (event.type) {
66
+ case EventNames.PointerDown:
67
+ event.target.setPointerCapture(event.pointerId);
68
+ this._startPos = cursorPos;
69
+ this._startPoint = { ...point };
70
+ break;
71
+ case EventNames.PointerMove:
72
+ if (this._startPos && event.buttons > 0) {
73
+ let diffX = this._startPos.x - cursorPos.x;
74
+ let diffY = this._startPos.y - cursorPos.y;
75
+ if (event.shiftKey) {
76
+ if (Math.abs(diffX) < Math.abs(diffY)) {
77
+ diffX = 0;
78
+ }
79
+ else {
80
+ diffY = 0;
81
+ }
82
+ }
83
+ point.x = this._startPoint.x - diffX;
84
+ point.y = this._startPoint.y - diffY;
85
+ this.modifyElementPoint(this._svgElement, index, point);
86
+ this.designerCanvas.extensionManager.refreshAllExtensions([this.extendedItem], this);
87
+ }
88
+ break;
89
+ case EventNames.PointerUp:
90
+ event.target.releasePointerCapture(event.pointerId);
91
+ this._startPos = null;
92
+ /*if (getComputedStyle(this._rectElement.parentElement).position == "absolute") {
93
+ let group = this.extendedItem.openGroup('rearrangeSvg');
94
+ let newRectCoordinates = this.designerCanvas.getNormalizedElementCoordinates(this._rectElement);
95
+ let newRectCoordinatesCloud = this._getPointsFromRect(newRectCoordinates);
96
+ let newRectExtrema = this._getMinMaxValues(newRectCoordinatesCloud);
97
+ this._rearrangeSvgParent(newRectExtrema);
98
+ this._rearrangePointsFromElement(this._parentCoordinates);
99
+ group.commit();
100
+ }*/
101
+ break;
102
+ }
103
+ }
104
+ modifyElementPoint(element, index, newPoint) {
105
+ if (element instanceof SVGRectElement) {
106
+ if (index == 1) {
107
+ this._points[0].y = newPoint.y;
108
+ this._points[2].x = newPoint.x;
109
+ }
110
+ else if (index == 3) {
111
+ this._points[2].y = newPoint.y;
112
+ this._points[0].x = newPoint.x;
113
+ }
114
+ element.x.baseVal.value = this._points[0].x;
115
+ element.y.baseVal.value = this._points[0].y;
116
+ element.width.baseVal.value = this._points[2].x - this._points[0].x;
117
+ element.height.baseVal.value = this._points[2].y - this._points[0].y;
118
+ }
119
+ else if (element instanceof SVGLineElement) {
120
+ element.x1.baseVal.value = this._points[0].x;
121
+ element.y1.baseVal.value = this._points[0].y;
122
+ element.x2.baseVal.value = this._points[1].x;
123
+ element.y2.baseVal.value = this._points[1].y;
124
+ }
125
+ }
126
+ _getMinMaxValues(coords) {
127
+ let extrema = { xMin: 0.0, xMax: 0.0, yMin: 0.0, yMax: 0.0 };
128
+ for (let i = 0; i < coords.length - 2; i++) {
129
+ if (coords[i] < coords[i + 1] && i <= 3) {
130
+ extrema.xMin = coords[i];
131
+ }
132
+ else if (coords[i] < coords[i + 1] && i > 3 && i <= 7) {
133
+ extrema.yMin = coords[i];
134
+ }
135
+ if (coords[i] > coords[i + 1] && i <= 3) {
136
+ extrema.xMax = coords[i];
137
+ }
138
+ else if (coords[i] > coords[i + 1] && i > 3 && i <= 8) {
139
+ extrema.yMax = coords[i];
140
+ }
141
+ }
142
+ return extrema;
143
+ }
144
+ }
@@ -0,0 +1,9 @@
1
+ import { IDesignerExtensionProvider } from '../IDesignerExtensionProvider.js';
2
+ import { IDesignItem } from '../../../../item/IDesignItem.js';
3
+ import { IDesignerCanvas } from '../../IDesignerCanvas.js';
4
+ import { IDesignerExtension } from '../IDesignerExtension.js';
5
+ import { IExtensionManager } from '../IExtensionManger.js';
6
+ export declare class SvgElementExtensionProvider implements IDesignerExtensionProvider {
7
+ shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
8
+ getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
9
+ }
@@ -0,0 +1,16 @@
1
+ import { isVisualSvgElement } from '../../../../helper/SvgHelper.js';
2
+ import { SvgElementExtension } from './SvgElementExtension.js';
3
+ export class SvgElementExtensionProvider {
4
+ shouldExtend(extensionManager, designerView, designItem) {
5
+ if (designItem.node instanceof SVGRectElement ||
6
+ designItem.node instanceof SVGLineElement ||
7
+ designItem.node instanceof SVGCircleElement ||
8
+ designItem.node instanceof SVGPathElement) {
9
+ return isVisualSvgElement(designItem.node);
10
+ }
11
+ return false;
12
+ }
13
+ getExtension(extensionManager, designerView, designItem) {
14
+ return new SvgElementExtension(extensionManager, designerView, designItem);
15
+ }
16
+ }
@@ -21,7 +21,10 @@ export class OverlayLayerView extends BaseCustomWebComponentConstructorAppend {
21
21
  .svg-position { stroke: black; stroke-dasharray: 2; }
22
22
  .svg-path { stroke: #3899ec; fill: orange; pointer-events: all }
23
23
  .svg-path-line { stroke: #3899ec; stroke-dasharray: 2; }
24
- .svg-draw-new-element { stroke: black; fill: transparent; stroke-width: 1; }`;
24
+ .svg-draw-new-element { stroke: black; fill: transparent; stroke-width: 1; }
25
+ .svg-toolbar-container { overflow: visible }
26
+ .svg-toolbar-container div { padding: 5px; display: flex; gap: 2px; background: white; border-radius: 4px; box-shadow: 0 2px 10px 0 rgba(19,23,32,.2); align-items: center; }
27
+ `;
25
28
  static is = 'node-projects-overlay-layer-view';
26
29
  _serviceContainer;
27
30
  _svg;
@@ -75,7 +75,7 @@ export class DrawElementTool {
75
75
  async _onPointerUp(designerView, event) {
76
76
  if (this.sizeOverlapThreshold) {
77
77
  this._changeGroup.commit();
78
- designerView.instanceServiceContainer.selectionService.setSelectedElements([this._createdItem]);
78
+ designerView.instanceServiceContainer.selectionService.setSelectedElements([this._createdItem], event);
79
79
  }
80
80
  else {
81
81
  this._changeGroup.abort();
@@ -41,7 +41,7 @@ export class PointerTool {
41
41
  let newEl = designerCanvas.serviceContainer.elementAtPointService.getElementAtPoint(designerCanvas, { x: event.x, y: event.y });
42
42
  const designItem = DesignItem.GetOrCreateDesignItem(newEl, newEl, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
43
43
  if (!designerCanvas.instanceServiceContainer.selectionService.isSelected(designItem)) {
44
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([designItem]);
44
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([designItem], event);
45
45
  }
46
46
  designerCanvas.showDesignItemContextMenu(designItem, event);
47
47
  }
@@ -111,7 +111,7 @@ export class PointerTool {
111
111
  }
112
112
  else if (currentElement === designerCanvas || currentElement === designerCanvas.rootDesignItem.element || currentElement == null) {
113
113
  if (!event.ctrlKey && !event.shiftKey)
114
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(null);
114
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(null, event);
115
115
  this._actionType = PointerActionType.DrawSelection;
116
116
  }
117
117
  else {
@@ -134,7 +134,7 @@ export class PointerTool {
134
134
  designerCanvas.snapLines.clearSnaplines();
135
135
  if (this._actionType == PointerActionType.DrawSelection) {
136
136
  if (currentDesignItem !== designerCanvas.rootDesignItem)
137
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([currentDesignItem]);
137
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([currentDesignItem], event);
138
138
  }
139
139
  this._resetTool();
140
140
  }
@@ -192,9 +192,9 @@ export class PointerTool {
192
192
  if (this._firstTimeInMove) {
193
193
  if (!currentDesignItem.instanceServiceContainer.selectionService.selectedElements.includes(currentDesignItem)) {
194
194
  if (event.ctrlKey || event.shiftKey)
195
- currentDesignItem.instanceServiceContainer.selectionService.setSelectedElements([...currentDesignItem.instanceServiceContainer.selectionService.selectedElements, currentDesignItem]);
195
+ currentDesignItem.instanceServiceContainer.selectionService.setSelectedElements([...currentDesignItem.instanceServiceContainer.selectionService.selectedElements, currentDesignItem], event);
196
196
  else
197
- currentDesignItem.instanceServiceContainer.selectionService.setSelectedElements([currentDesignItem]);
197
+ currentDesignItem.instanceServiceContainer.selectionService.setSelectedElements([currentDesignItem], event);
198
198
  this._actionStartedDesignItems = [...designerCanvas.instanceServiceContainer.selectionService.selectedElements];
199
199
  if (designerCanvas.alignOnSnap)
200
200
  designerCanvas.snapLines.calculateSnaplines(designerCanvas.instanceServiceContainer.selectionService.selectedElements);
@@ -314,7 +314,7 @@ export class PointerTool {
314
314
  this._started = false;
315
315
  if (!this._movedSinceStartedAction || this._actionType == PointerActionType.DragOrSelect) {
316
316
  if (this._previousEventName == EventNames.PointerDown && !event.shiftKey && !event.ctrlKey) {
317
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([this._actionStartedDesignItem]);
317
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([this._actionStartedDesignItem], event);
318
318
  }
319
319
  else {
320
320
  this.checkSelectElement(event, designerCanvas, currentDesignItem);
@@ -370,17 +370,17 @@ export class PointerTool {
370
370
  if (index >= 0) {
371
371
  let newSelectedList = designerCanvas.instanceServiceContainer.selectionService.selectedElements.slice(0);
372
372
  newSelectedList.splice(index, 1);
373
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(newSelectedList);
373
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(newSelectedList, event);
374
374
  }
375
375
  else {
376
376
  let newSelectedList = designerCanvas.instanceServiceContainer.selectionService.selectedElements.slice(0);
377
377
  newSelectedList.push(currentDesignItem);
378
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(newSelectedList);
378
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(newSelectedList, event);
379
379
  }
380
380
  }
381
381
  else {
382
382
  if (designerCanvas.instanceServiceContainer.selectionService.selectedElements.indexOf(currentDesignItem) < 0)
383
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([currentDesignItem]);
383
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([currentDesignItem], event);
384
384
  }
385
385
  }
386
386
  static FindPossibleContainer(designItem, designItems, event) {
@@ -86,7 +86,6 @@ export class RectangleSelectorTool {
86
86
  }
87
87
  }
88
88
  }
89
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(inSelectionElements);
90
89
  designerCanvas.overlayLayer.removeOverlay(this._rect);
91
90
  this._rect = null;
92
91
  this._initialPoint = null;
@@ -165,6 +165,7 @@ export class PropertyGridWithHeader extends BaseCustomWebComponentLazyAppend {
165
165
  PropertyGridPropertyList.refreshIsSetElementAndEditorForDesignItems(this._contentRect, this._propertiesService.contentProperty, this._instanceServiceContainer.selectionService.selectedElements, this._propertiesService);
166
166
  PropertyGridPropertyList.refreshIsSetElementAndEditorForDesignItems(this._innerRect, this._propertiesService.innerHtmlProperty, this._instanceServiceContainer.selectionService.selectedElements, this._propertiesService);
167
167
  });
168
+ this._pg.instanceServiceContainer = value;
168
169
  }
169
170
  }
170
171
  customElements.define('node-projects-web-component-designer-property-grid-with-header', PropertyGridWithHeader);
package/dist/index.d.ts CHANGED
@@ -131,6 +131,7 @@ export * from "./elements/services/refactorService/TextRefactorService.js";
131
131
  export type { IRefactorService } from "./elements/services/refactorService/IRefactorService.js";
132
132
  export type { IRefactoring } from "./elements/services/refactorService/IRefactoring.js";
133
133
  export type { ISelectionChangedEvent } from "./elements/services/selectionService/ISelectionChangedEvent.js";
134
+ export type { ISelectionRefreshEvent } from "./elements/services/selectionService/ISelectionRefreshEvent.js";
134
135
  export type { ISelectionService } from "./elements/services/selectionService/ISelectionService.js";
135
136
  export * from "./elements/services/selectionService/SelectionService.js";
136
137
  export type { IStyleRule, IStyleDeclaration, IStylesheet, IStylesheetService, IDocumentStylesheet } from "./elements/services/stylesheetService/IStylesheetService.js";
@@ -202,6 +203,7 @@ export * from "./elements/widgets/designerView/extensions/AltToEnterContainerExt
202
203
  export * from "./elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js";
203
204
  export * from "./elements/widgets/designerView/extensions/CanvasExtension.js";
204
205
  export * from "./elements/widgets/designerView/extensions/CanvasExtensionProvider.js";
206
+ export * from "./elements/widgets/designerView/extensions/logic/ConditionExtensionProvider.js";
205
207
  export * from "./elements/widgets/designerView/extensions/ExtensionManager.js";
206
208
  export * from "./elements/widgets/designerView/extensions/FlexboxExtension.js";
207
209
  export * from "./elements/widgets/designerView/extensions/FlexboxExtensionProvider.js";
@@ -213,6 +215,8 @@ export * from "./elements/widgets/designerView/extensions/InvisibleElementExtens
213
215
  export * from "./elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.js";
214
216
  export * from "./elements/widgets/designerView/extensions/HighlightElementExtension.js";
215
217
  export * from "./elements/widgets/designerView/extensions/HighlightElementExtensionProvider.js";
218
+ export * from "./elements/widgets/designerView/extensions/svg/SvgElementExtension.js";
219
+ export * from "./elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.js";
216
220
  export * from "./elements/widgets/designerView/extensions/svg/PathExtension.js";
217
221
  export * from "./elements/widgets/designerView/extensions/svg/PathExtensionProvider.js";
218
222
  export * from "./elements/widgets/designerView/extensions/PositionExtension.js";
@@ -227,10 +231,20 @@ export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtens
227
231
  export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js";
228
232
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtension.js";
229
233
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js";
234
+ export * from "./elements/widgets/designerView/extensions/block/BlockToolbarExtension.js";
235
+ export * from "./elements/widgets/designerView/extensions/block/BlockToolbarExtensionProvider.js";
236
+ export * from "./elements/widgets/designerView/extensions/flex/FlexToolbarExtension.js";
237
+ export * from "./elements/widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.js";
230
238
  export * from "./elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.js";
231
239
  export * from "./elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.js";
232
240
  export * from "./elements/widgets/designerView/extensions/grid/DisplayGridExtension.js";
233
241
  export * from "./elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js";
242
+ export * from "./elements/widgets/designerView/extensions/grid/GridChildResizeExtension.js";
243
+ export * from "./elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js";
244
+ export * from "./elements/widgets/designerView/extensions/grid/GridChildToolbarExtension.js";
245
+ export * from "./elements/widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.js";
246
+ export * from "./elements/widgets/designerView/extensions/grid/GridToolbarExtension.js";
247
+ export * from "./elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider.js";
234
248
  export * from "./elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js";
235
249
  export * from "./elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js";
236
250
  export * from "./elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js";
@@ -242,6 +256,7 @@ export type { IDesignViewConfigButtonsProvider } from './elements/widgets/design
242
256
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtension.js";
243
257
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js";
244
258
  export type { IContextMenuExtension, ContextmenuInitiator } from "./elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js";
259
+ export * from "./elements/widgets/designerView/extensions/contextMenu/ChildContextMenu.js";
245
260
  export * from "./elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js";
246
261
  export * from "./elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js";
247
262
  export * from "./elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js";
package/dist/index.js CHANGED
@@ -144,6 +144,7 @@ export * from "./elements/widgets/designerView/extensions/AltToEnterContainerExt
144
144
  export * from "./elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js";
145
145
  export * from "./elements/widgets/designerView/extensions/CanvasExtension.js";
146
146
  export * from "./elements/widgets/designerView/extensions/CanvasExtensionProvider.js";
147
+ export * from "./elements/widgets/designerView/extensions/logic/ConditionExtensionProvider.js";
147
148
  export * from "./elements/widgets/designerView/extensions/ExtensionManager.js";
148
149
  export * from "./elements/widgets/designerView/extensions/FlexboxExtension.js";
149
150
  export * from "./elements/widgets/designerView/extensions/FlexboxExtensionProvider.js";
@@ -155,6 +156,8 @@ export * from "./elements/widgets/designerView/extensions/InvisibleElementExtens
155
156
  export * from "./elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.js";
156
157
  export * from "./elements/widgets/designerView/extensions/HighlightElementExtension.js";
157
158
  export * from "./elements/widgets/designerView/extensions/HighlightElementExtensionProvider.js";
159
+ export * from "./elements/widgets/designerView/extensions/svg/SvgElementExtension.js";
160
+ export * from "./elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.js";
158
161
  export * from "./elements/widgets/designerView/extensions/svg/PathExtension.js";
159
162
  export * from "./elements/widgets/designerView/extensions/svg/PathExtensionProvider.js";
160
163
  export * from "./elements/widgets/designerView/extensions/PositionExtension.js";
@@ -169,10 +172,20 @@ export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtens
169
172
  export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js";
170
173
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtension.js";
171
174
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js";
175
+ export * from "./elements/widgets/designerView/extensions/block/BlockToolbarExtension.js";
176
+ export * from "./elements/widgets/designerView/extensions/block/BlockToolbarExtensionProvider.js";
177
+ export * from "./elements/widgets/designerView/extensions/flex/FlexToolbarExtension.js";
178
+ export * from "./elements/widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.js";
172
179
  export * from "./elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.js";
173
180
  export * from "./elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.js";
174
181
  export * from "./elements/widgets/designerView/extensions/grid/DisplayGridExtension.js";
175
182
  export * from "./elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js";
183
+ export * from "./elements/widgets/designerView/extensions/grid/GridChildResizeExtension.js";
184
+ export * from "./elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js";
185
+ export * from "./elements/widgets/designerView/extensions/grid/GridChildToolbarExtension.js";
186
+ export * from "./elements/widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.js";
187
+ export * from "./elements/widgets/designerView/extensions/grid/GridToolbarExtension.js";
188
+ export * from "./elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider.js";
176
189
  export * from "./elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js";
177
190
  export * from "./elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js";
178
191
  export * from "./elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js";
@@ -182,6 +195,7 @@ export * from "./elements/widgets/designerView/extensions/buttons/ButtonSeperato
182
195
  export * from "./elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js";
183
196
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtension.js";
184
197
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js";
198
+ export * from "./elements/widgets/designerView/extensions/contextMenu/ChildContextMenu.js";
185
199
  export * from "./elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js";
186
200
  export * from "./elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js";
187
201
  export * from "./elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "A UI designer for Polymer apps",
3
3
  "name": "@node-projects/web-component-designer",
4
- "version": "0.1.104",
4
+ "version": "0.1.106",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "jochen.kuehner@gmx.de",