@node-projects/web-component-designer 0.0.237 → 0.0.239

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 (54) hide show
  1. package/README.md +8 -0
  2. package/assets/images/layout/TransformTool.svg +21 -0
  3. package/dist/elements/helper/ElementHelper.d.ts +4 -0
  4. package/dist/elements/helper/ElementHelper.js +29 -0
  5. package/dist/elements/services/DefaultServiceBootstrap.js +7 -2
  6. package/dist/elements/services/ServiceContainer.d.ts +6 -3
  7. package/dist/elements/services/ServiceContainer.js +5 -2
  8. package/dist/elements/services/dragDropService/DragDropService.d.ts +8 -2
  9. package/dist/elements/services/dragDropService/DragDropService.js +79 -21
  10. package/dist/elements/services/dragDropService/ExternalDragDropService copy.d.ts +6 -0
  11. package/dist/elements/services/dragDropService/ExternalDragDropService copy.js +28 -0
  12. package/dist/elements/services/dragDropService/ExternalDragDropService.d.ts +6 -0
  13. package/dist/elements/services/dragDropService/ExternalDragDropService.js +28 -0
  14. package/dist/elements/services/dragDropService/IDragDropService.d.ts +6 -1
  15. package/dist/elements/services/dragDropService/IExternalDragDropService copy.d.ts +5 -0
  16. package/dist/elements/services/dragDropService/IExternalDragDropService copy.js +1 -0
  17. package/dist/elements/services/dragDropService/IExternalDragDropService.d.ts +5 -0
  18. package/dist/elements/services/dragDropService/IExternalDragDropService.js +1 -0
  19. package/dist/elements/services/placementService/DefaultPlacementService.d.ts +1 -0
  20. package/dist/elements/services/placementService/DefaultPlacementService.js +11 -0
  21. package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +1 -0
  22. package/dist/elements/services/placementService/FlexBoxPlacementService.js +2 -0
  23. package/dist/elements/services/placementService/GridPlacementService.d.ts +1 -0
  24. package/dist/elements/services/placementService/GridPlacementService.js +2 -0
  25. package/dist/elements/services/placementService/IPlacementService.d.ts +5 -4
  26. package/dist/elements/widgets/designerView/designerCanvas.d.ts +0 -2
  27. package/dist/elements/widgets/designerView/designerCanvas.js +36 -95
  28. package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtension.d.ts +15 -0
  29. package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtension.js +34 -0
  30. package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.d.ts +10 -0
  31. package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js +13 -0
  32. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.d.ts +2 -0
  33. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +14 -5
  34. package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js +2 -2
  35. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.d.ts +2 -0
  36. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +15 -6
  37. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.d.ts +3 -0
  38. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +19 -7
  39. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +2 -2
  40. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +2 -2
  41. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +2 -2
  42. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +2 -2
  43. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +2 -0
  44. package/dist/elements/widgets/designerView/tools/PointerTool.js +2 -1
  45. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +3 -1
  46. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.d.ts +1 -1
  47. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +6 -6
  48. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.d.ts +5 -0
  49. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.js +10 -0
  50. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.d.ts +31 -0
  51. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js +293 -0
  52. package/dist/index.d.ts +2 -0
  53. package/dist/index.js +1 -0
  54. package/package.json +6 -6
@@ -25,7 +25,7 @@ export class DesignerToolbar extends BaseCustomWebComponentConstructorAppend {
25
25
  _toolButtonsElem;
26
26
  _serviceContainer;
27
27
  _popupContainer;
28
- _designerView;
28
+ designerView;
29
29
  constructor() {
30
30
  super();
31
31
  this._toolButtonsElem = this._getDomElement("toolButtons");
@@ -33,7 +33,7 @@ export class DesignerToolbar extends BaseCustomWebComponentConstructorAppend {
33
33
  }
34
34
  initialize(serviceContainer, designerView) {
35
35
  this._serviceContainer = serviceContainer;
36
- this._designerView = designerView;
36
+ this.designerView = designerView;
37
37
  for (let tb of this._serviceContainer.designViewToolbarButtons) {
38
38
  this._toolButtonsElem.appendChild(tb.provideButton(designerView.designerCanvas));
39
39
  }
@@ -62,25 +62,25 @@ export class DesignerToolbar extends BaseCustomWebComponentConstructorAppend {
62
62
  if (this._popupContainer.children.length) {
63
63
  this._popupContainer.innerHTML = '';
64
64
  }
65
- this._designerView.designerCanvas.executeCommand({ type: CommandType.setTool, parameter: tool });
65
+ this.designerView.designerCanvas.executeCommand({ type: CommandType.setTool, parameter: tool });
66
66
  }
67
67
  setStrokeColor(color) {
68
68
  if (this._popupContainer.children.length) {
69
69
  this._popupContainer.innerHTML = '';
70
70
  }
71
- this._designerView.designerCanvas.executeCommand({ type: CommandType.setStrokeColor, parameter: color });
71
+ this.designerView.designerCanvas.executeCommand({ type: CommandType.setStrokeColor, parameter: color });
72
72
  }
73
73
  setFillBrush(color) {
74
74
  if (this._popupContainer.children.length) {
75
75
  this._popupContainer.innerHTML = '';
76
76
  }
77
- this._designerView.designerCanvas.executeCommand({ type: CommandType.setFillBrush, parameter: color });
77
+ this.designerView.designerCanvas.executeCommand({ type: CommandType.setFillBrush, parameter: color });
78
78
  }
79
79
  setStrokeThickness(input) {
80
80
  if (this._popupContainer.children.length) {
81
81
  this._popupContainer.innerHTML = '';
82
82
  }
83
- this._designerView.designerCanvas.executeCommand({ type: CommandType.setStrokeThickness, parameter: input });
83
+ this.designerView.designerCanvas.executeCommand({ type: CommandType.setStrokeThickness, parameter: input });
84
84
  }
85
85
  }
86
86
  customElements.define('node-projects-designer-toolbar', DesignerToolbar);
@@ -0,0 +1,5 @@
1
+ import { IDesignerCanvas } from "../../../IDesignerCanvas.js";
2
+ import { IDesignViewToolbarButtonProvider } from "../IDesignViewToolbarButtonProvider.js";
3
+ export declare class TransformToolButtonProvider implements IDesignViewToolbarButtonProvider {
4
+ provideButton(designerCanvas: IDesignerCanvas): HTMLElement;
5
+ }
@@ -0,0 +1,10 @@
1
+ import { DesignerToolbarButton } from '../DesignerToolbarButton.js';
2
+ import { assetsPath } from "../../../../../../Constants.js";
3
+ import { TransformToolPopup } from "../popups/TransformToolPopup.js";
4
+ export class TransformToolButtonProvider {
5
+ provideButton(designerCanvas) {
6
+ const button = new DesignerToolbarButton(designerCanvas, { 'TransformTool': { icon: assetsPath + 'images/layout/TransformTool.svg' } });
7
+ button.popup = TransformToolPopup;
8
+ return button;
9
+ }
10
+ }
@@ -0,0 +1,31 @@
1
+ import { BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
2
+ export declare class TransformToolPopup extends BaseCustomWebComponentConstructorAppend {
3
+ private _designerView;
4
+ private _previousSelectionRect;
5
+ private _selectionChanged;
6
+ private _relativeButton;
7
+ private _absoluteButton;
8
+ private _applyButton;
9
+ private _inputX;
10
+ private _inputY;
11
+ private _inputR;
12
+ private _originTopLeft;
13
+ private _originTopMid;
14
+ private _originTopRight;
15
+ private _originMidLeft;
16
+ private _originMidMid;
17
+ private _originMidRight;
18
+ private _originBotLeft;
19
+ private _originBotMid;
20
+ private _originBotRight;
21
+ private _transformMode;
22
+ private _transformOrigin;
23
+ static style: CSSStyleSheet;
24
+ static template: HTMLTemplateElement;
25
+ constructor();
26
+ private _changePositionMode;
27
+ private _applyTransform;
28
+ private _calculateTransformOriginPosition;
29
+ private _checkOrigin;
30
+ private _calculateTransform;
31
+ }
@@ -0,0 +1,293 @@
1
+ import { html, BaseCustomWebComponentConstructorAppend, css } from '@node-projects/base-custom-webcomponent';
2
+ import { filterChildPlaceItems } from '../../../../../helper/LayoutHelper.js';
3
+ import { calculateOuterRect } from '../../../../../helper/ElementHelper.js';
4
+ export class TransformToolPopup extends BaseCustomWebComponentConstructorAppend {
5
+ _designerView;
6
+ _previousSelectionRect;
7
+ _selectionChanged;
8
+ _relativeButton;
9
+ _absoluteButton;
10
+ _applyButton;
11
+ _inputX;
12
+ _inputY;
13
+ _inputR;
14
+ _originTopLeft;
15
+ _originTopMid;
16
+ _originTopRight;
17
+ _originMidLeft;
18
+ _originMidMid;
19
+ _originMidRight;
20
+ _originBotLeft;
21
+ _originBotMid;
22
+ _originBotRight;
23
+ _transformMode;
24
+ _transformOrigin;
25
+ static style = css `
26
+ .container {
27
+ width: 220px;
28
+ min-height: 200px;
29
+ color: white;
30
+ background-color: rgb(64, 64, 64);
31
+ border: 1px solid black;
32
+ }
33
+ header {
34
+ text-align: center;
35
+ }
36
+ .inputs{
37
+ float: left;
38
+ margin-top: 5px;
39
+ align-items: center;
40
+ }
41
+ .input {
42
+ display: flex;
43
+ align-items: center;
44
+ margin-top: 5px;
45
+ }
46
+ .text {
47
+ margin-left: 5px;
48
+ font-size: 14px;
49
+ }
50
+ .strokecolor{
51
+ float: both;
52
+ }
53
+ .fillbrush{
54
+ float: both;
55
+ }
56
+ .strokethickness{
57
+ float: both;
58
+ }
59
+ #input-div{
60
+ display: grid;
61
+ grid-template-columns: 1fr 9fr;
62
+ grid-template-rows: 25px 25px 25px;
63
+ grid-row-gap: 2px;
64
+ font-size: small;
65
+ margin: 10px;
66
+ }
67
+ #button-div{
68
+ display: grid;
69
+ grid-template-columns: 1fr 1fr;
70
+ grid-template-rows: 25px;
71
+ font-size: small;
72
+ margin: 10px;
73
+ grid-column-gap: 5px
74
+ }
75
+ #apply-div{
76
+ font-size: small;
77
+ justify-content: center;
78
+ width: 100%;
79
+ margin-top: 10px;
80
+ margin-bottom: 10px;
81
+ display: flex;
82
+ }
83
+ #cube{
84
+ display: grid;
85
+ grid-template-columns: 20px 20px 20px;
86
+ grid-template-rows: 20px 20px 20px;
87
+ grid-gap: 10px;
88
+ padding: 10px;
89
+ top: -80px;
90
+ position: relative;
91
+ }
92
+ #cube-background{
93
+ width: 60px;
94
+ height: 60px;
95
+ background: gray;
96
+ margin-top: 20px;
97
+ margin-left: 20px;
98
+ }
99
+ `;
100
+ static template = html `
101
+ <div class="container">
102
+ <header>
103
+ <h2 id="title" style="margin:0px;">Transform</h2>
104
+ </header>
105
+ <main id="content-area">
106
+ <div id="input-div">
107
+ <span>X:</span>
108
+ <input type="number" id="transform-input-x">
109
+ <span>Y:</span>
110
+ <input type="number" id="transform-input-y">
111
+ <span>R:</span>
112
+ <input type="number" id="transform-input-r">
113
+ </div>
114
+ <div id="button-div">
115
+ <button id="transform-button-absolute">absolute</button>
116
+ <button id="transform-button-relative">relative</button>
117
+ </div>
118
+
119
+ <div style="justify-content: center; display: grid; height: 100px">
120
+ <div id="cube-background"></div>
121
+ <div id="cube">
122
+ <input id="origin-top-left" type="radio" name="origin-radio">
123
+ <input id="origin-top-mid" type="radio" name="origin-radio">
124
+ <input id="origin-top-right" type="radio" name="origin-radio">
125
+ <input id="origin-mid-left" type="radio" name="origin-radio">
126
+ <input id="origin-mid-mid" type="radio" name="origin-radio" checked>
127
+ <input id="origin-mid-right" type="radio" name="origin-radio">
128
+ <input id="origin-bot-left" type="radio" name="origin-radio">
129
+ <input id="origin-bot-mid" type="radio" name="origin-radio">
130
+ <input id="origin-bot-right" type="radio" name="origin-radio">
131
+ </div>
132
+ </div>
133
+
134
+ <div id="apply-div">
135
+ <button id="transform-button-apply" style="width:100px;">apply</button>
136
+ </div>
137
+ </main>
138
+ </div>`;
139
+ constructor() {
140
+ super();
141
+ this._relativeButton = this._getDomElement("transform-button-relative");
142
+ this._absoluteButton = this._getDomElement("transform-button-absolute");
143
+ this._applyButton = this._getDomElement("transform-button-apply");
144
+ this._inputX = this._getDomElement("transform-input-x");
145
+ this._inputY = this._getDomElement("transform-input-y");
146
+ this._inputR = this._getDomElement("transform-input-r");
147
+ this._originTopLeft = this._getDomElement("origin-top-left");
148
+ this._originTopMid = this._getDomElement("origin-top-mid");
149
+ this._originTopRight = this._getDomElement("origin-top-right");
150
+ this._originMidLeft = this._getDomElement("origin-mid-left");
151
+ this._originMidMid = this._getDomElement("origin-mid-mid");
152
+ this._originMidRight = this._getDomElement("origin-mid-right");
153
+ this._originBotLeft = this._getDomElement("origin-bot-left");
154
+ this._originBotMid = this._getDomElement("origin-bot-mid");
155
+ this._originBotRight = this._getDomElement("origin-bot-right");
156
+ this._relativeButton.onclick = () => this._changePositionMode("relative");
157
+ this._absoluteButton.onclick = () => this._changePositionMode("absolute");
158
+ this._applyButton.onclick = () => this._applyTransform();
159
+ this._transformMode = "relative";
160
+ this._changePositionMode(this._transformMode);
161
+ }
162
+ _changePositionMode(mode) {
163
+ if (mode == "relative") {
164
+ this._relativeButton.style.backgroundColor = "#6F8A9D";
165
+ this._relativeButton.style.color = "black";
166
+ this._absoluteButton.style.backgroundColor = "#A4B5C1";
167
+ this._absoluteButton.style.color = "#77716E";
168
+ }
169
+ else {
170
+ this._absoluteButton.style.backgroundColor = "#6F8A9D";
171
+ this._absoluteButton.style.color = "black";
172
+ this._relativeButton.style.backgroundColor = "#A4B5C1";
173
+ this._relativeButton.style.color = "#77716E";
174
+ }
175
+ this._transformMode = mode;
176
+ }
177
+ _applyTransform() {
178
+ this._checkOrigin();
179
+ this._designerView = this.getRootNode().host.designerView;
180
+ let selection = this._designerView.instanceServiceContainer.selectionService.selectedElements;
181
+ selection = filterChildPlaceItems(selection);
182
+ this._selectionChanged = false;
183
+ this._designerView.instanceServiceContainer.selectionService.onSelectionChanged.once(() => {
184
+ this._selectionChanged = true;
185
+ this._previousSelectionRect = null;
186
+ });
187
+ if (selection.length != 0) {
188
+ let inputPos = {
189
+ x: isNaN(this._inputX.valueAsNumber) ? null : this._inputX.valueAsNumber,
190
+ y: isNaN(this._inputY.valueAsNumber) ? null : this._inputY.valueAsNumber
191
+ };
192
+ let inputRotation = this._inputR.valueAsNumber ? this._inputR.valueAsNumber : 0;
193
+ let grp = selection[0].openGroup("Transform selection");
194
+ if (!this._previousSelectionRect || this._selectionChanged)
195
+ this._previousSelectionRect = calculateOuterRect(selection, this._designerView.designerCanvas);
196
+ let origin = this._calculateTransformOriginPosition(this._previousSelectionRect);
197
+ for (let item of selection) {
198
+ let itemPos = {
199
+ x: parseFloat(item.getStyle("left")),
200
+ y: parseFloat(item.getStyle("top")),
201
+ width: parseFloat(item.getStyle("width")),
202
+ height: parseFloat(item.getStyle("height"))
203
+ };
204
+ let itemRotStyle = item.getStyle("transform");
205
+ let itemRotation = 0;
206
+ if (itemRotStyle)
207
+ itemRotation = parseFloat(item.getStyle("transform").replaceAll("rotate(", "").replaceAll("deg)", ""));
208
+ let newPos = this._calculateTransform(this._previousSelectionRect, origin, itemPos, inputRotation, inputPos, this._transformMode);
209
+ item.setStyle("left", newPos.x.toString() + "px");
210
+ item.setStyle("top", newPos.y.toString() + "px");
211
+ let rotation;
212
+ if (this._transformMode == 'relative')
213
+ rotation = itemRotation + inputRotation;
214
+ else
215
+ rotation = inputRotation;
216
+ while (rotation >= 360)
217
+ rotation -= 360;
218
+ if (rotation != 0)
219
+ item.setStyle("transform", "rotate(" + rotation + "deg)");
220
+ else
221
+ item.removeStyle("transform");
222
+ }
223
+ grp.commit();
224
+ }
225
+ }
226
+ _calculateTransformOriginPosition(selectionRect) {
227
+ switch (this._transformOrigin) {
228
+ case "topLeft":
229
+ return { x: selectionRect.x, y: selectionRect.y };
230
+ case "topMid":
231
+ return { x: selectionRect.x + selectionRect.width / 2, y: selectionRect.y };
232
+ case "topRight":
233
+ return { x: selectionRect.x + selectionRect.width, y: selectionRect.y };
234
+ case "midLeft":
235
+ return { x: selectionRect.x, y: selectionRect.y + selectionRect.height / 2 };
236
+ case "midMid":
237
+ return { x: selectionRect.x + selectionRect.width / 2, y: selectionRect.y + selectionRect.height / 2 };
238
+ case "midRight":
239
+ return { x: selectionRect.x + selectionRect.width, y: selectionRect.y + selectionRect.height / 2 };
240
+ case "botLeft":
241
+ return { x: selectionRect.x, y: selectionRect.y + selectionRect.height };
242
+ case "botMid":
243
+ return { x: selectionRect.x + selectionRect.width / 2, y: selectionRect.y + selectionRect.height };
244
+ case "botRight":
245
+ return { x: selectionRect.x + selectionRect.width, y: selectionRect.y + selectionRect.height };
246
+ }
247
+ }
248
+ _checkOrigin() {
249
+ if (this._originTopLeft.checked)
250
+ this._transformOrigin = "topLeft";
251
+ else if (this._originTopMid.checked)
252
+ this._transformOrigin = "topMid";
253
+ else if (this._originTopRight.checked)
254
+ this._transformOrigin = "topRight";
255
+ else if (this._originMidLeft.checked)
256
+ this._transformOrigin = "midLeft";
257
+ else if (this._originMidMid.checked)
258
+ this._transformOrigin = "midMid";
259
+ else if (this._originMidRight.checked)
260
+ this._transformOrigin = "midRight";
261
+ else if (this._originBotLeft.checked)
262
+ this._transformOrigin = "botLeft";
263
+ else if (this._originBotMid.checked)
264
+ this._transformOrigin = "botMid";
265
+ else if (this._originBotRight.checked)
266
+ this._transformOrigin = "botRight";
267
+ }
268
+ _calculateTransform(selectionRect, origin, itemRect, rotation, inputPos, transformMode) {
269
+ let newPoint;
270
+ // convert deg in rad
271
+ rotation = rotation * (Math.PI / 180);
272
+ if (transformMode == 'absolute') {
273
+ if (inputPos.x)
274
+ inputPos.x = inputPos.x - selectionRect.x;
275
+ if (inputPos.y)
276
+ inputPos.y = inputPos.y - selectionRect.y;
277
+ }
278
+ origin = {
279
+ x: origin.x - itemRect.width / 2,
280
+ y: origin.y - itemRect.height / 2
281
+ };
282
+ let diffItemPosToOrigin = {
283
+ x: itemRect.x - origin.x,
284
+ y: itemRect.y - origin.y
285
+ };
286
+ newPoint = {
287
+ x: Math.cos(rotation) * diffItemPosToOrigin.x - Math.sin(rotation) * diffItemPosToOrigin.y + origin.x + inputPos.x,
288
+ y: Math.sin(rotation) * diffItemPosToOrigin.x + Math.cos(rotation) * diffItemPosToOrigin.y + origin.y + inputPos.y
289
+ };
290
+ return newPoint;
291
+ }
292
+ }
293
+ customElements.define('node-projects-designer-transformtool-popup', TransformToolPopup);
package/dist/index.d.ts CHANGED
@@ -44,6 +44,8 @@ export * from "./elements/services/demoProviderService/DemoProviderService.js";
44
44
  export type { IDemoProviderService } from "./elements/services/demoProviderService/IDemoProviderService.js";
45
45
  export * from "./elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.js";
46
46
  export type { IDesignItemDocumentPositionService } from "./elements/services/designItemDocumentPositionService/IDesignItemDocumentPositionService.js";
47
+ export * from "./elements/services/dragDropService/ExternalDragDropService.js";
48
+ export type { IExternalDragDropService } from "./elements/services/dragDropService/IExternalDragDropService.js";
47
49
  export * from "./elements/services/dragDropService/DragDropService.js";
48
50
  export type { IDragDropService } from "./elements/services/dragDropService/IDragDropService.js";
49
51
  export type { IElementInteractionService } from "./elements/services/elementInteractionService/IElementInteractionService.js";
package/dist/index.js CHANGED
@@ -29,6 +29,7 @@ export * from "./elements/services/copyPasteService/CopyPasteService.js";
29
29
  export * from "./elements/services/copyPasteService/CopyPasteAsJsonService.js";
30
30
  export * from "./elements/services/demoProviderService/DemoProviderService.js";
31
31
  export * from "./elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.js";
32
+ export * from "./elements/services/dragDropService/ExternalDragDropService.js";
32
33
  export * from "./elements/services/dragDropService/DragDropService.js";
33
34
  export * from "./elements/services/elementsService/JsonFileElementsService.js";
34
35
  export * from "./elements/services/elementsService/PreDefinedElementsService.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.0.237",
4
+ "version": "0.0.239",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",
@@ -13,7 +13,7 @@
13
13
  "prepublishOnly": "npm run build"
14
14
  },
15
15
  "dependencies": {
16
- "@node-projects/base-custom-webcomponent": "^0.10.9",
16
+ "@node-projects/base-custom-webcomponent": "^0.11.0",
17
17
  "construct-style-sheets-polyfill": "^3.1.0"
18
18
  },
19
19
  "devDependencies": {
@@ -25,8 +25,8 @@
25
25
  "@types/css-tree": "^2.3.1",
26
26
  "@types/jquery": "^3.5.16",
27
27
  "@types/jquery.fancytree": "0.0.7",
28
- "@types/node": "^20.3.1",
29
- "ace-builds": "^1.22.1",
28
+ "@types/node": "^20.3.3",
29
+ "ace-builds": "^1.23.1",
30
30
  "codemirror": "^6.0.1",
31
31
  "css-tree": "^2.3.1",
32
32
  "esprima-next": "^5.8.4",
@@ -36,8 +36,8 @@
36
36
  "jquery.fancytree": "^2.38.3",
37
37
  "mdn-data": "^2.0.32",
38
38
  "monaco-editor": "^0.39.0",
39
- "ts-jest": "^29.1.0",
40
- "typescript": "^5.1.3",
39
+ "ts-jest": "^29.1.1",
40
+ "typescript": "^5.1.6",
41
41
  "typescript-lit-html-plugin": "^0.9.0"
42
42
  },
43
43
  "repository": {