@node-projects/web-component-designer 0.0.238 → 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.
- package/assets/images/layout/TransformTool.svg +21 -0
- package/dist/elements/helper/ElementHelper.d.ts +4 -0
- package/dist/elements/helper/ElementHelper.js +29 -0
- package/dist/elements/services/DefaultServiceBootstrap.js +7 -2
- package/dist/elements/services/ServiceContainer.d.ts +6 -3
- package/dist/elements/services/ServiceContainer.js +5 -2
- package/dist/elements/services/dragDropService/DragDropService.d.ts +8 -2
- package/dist/elements/services/dragDropService/DragDropService.js +79 -21
- package/dist/elements/services/dragDropService/ExternalDragDropService copy.d.ts +6 -0
- package/dist/elements/services/dragDropService/ExternalDragDropService copy.js +28 -0
- package/dist/elements/services/dragDropService/ExternalDragDropService.d.ts +6 -0
- package/dist/elements/services/dragDropService/ExternalDragDropService.js +28 -0
- package/dist/elements/services/dragDropService/IDragDropService.d.ts +6 -1
- package/dist/elements/services/dragDropService/IExternalDragDropService copy.d.ts +5 -0
- package/dist/elements/services/dragDropService/IExternalDragDropService copy.js +1 -0
- package/dist/elements/services/dragDropService/IExternalDragDropService.d.ts +5 -0
- package/dist/elements/services/dragDropService/IExternalDragDropService.js +1 -0
- package/dist/elements/services/placementService/DefaultPlacementService.d.ts +1 -0
- package/dist/elements/services/placementService/DefaultPlacementService.js +11 -0
- package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +1 -0
- package/dist/elements/services/placementService/FlexBoxPlacementService.js +2 -0
- package/dist/elements/services/placementService/GridPlacementService.d.ts +1 -0
- package/dist/elements/services/placementService/GridPlacementService.js +2 -0
- package/dist/elements/services/placementService/IPlacementService.d.ts +5 -4
- package/dist/elements/widgets/designerView/designerCanvas.d.ts +0 -2
- package/dist/elements/widgets/designerView/designerCanvas.js +36 -95
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtension.d.ts +15 -0
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtension.js +34 -0
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js +13 -0
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +2 -2
- package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js +2 -2
- package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +2 -2
- package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +2 -2
- package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +2 -2
- package/dist/elements/widgets/designerView/tools/DrawLineTool.js +2 -2
- package/dist/elements/widgets/designerView/tools/DrawPathTool.js +2 -2
- package/dist/elements/widgets/designerView/tools/DrawRectTool.js +2 -2
- package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.d.ts +1 -1
- package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +6 -6
- package/dist/elements/widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.d.ts +5 -0
- package/dist/elements/widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.js +10 -0
- package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.d.ts +31 -0
- package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js +293 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/package.json +6 -6
|
@@ -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.
|
|
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.
|
|
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.
|
|
29
|
-
"ace-builds": "^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.
|
|
40
|
-
"typescript": "^5.1.
|
|
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": {
|