@node-projects/web-component-designer 0.2.17 → 0.2.19

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 (77) hide show
  1. package/dist/elements/documentContainer.d.ts +4 -1
  2. package/dist/elements/documentContainer.js +23 -7
  3. package/dist/elements/documentContainer.js.map +1 -1
  4. package/dist/elements/helper/getBoxQuads.js +125 -6
  5. package/dist/elements/helper/getBoxQuads.js.map +1 -1
  6. package/dist/elements/item/DesignItem.d.ts +1 -1
  7. package/dist/elements/services/DefaultServiceBootstrap.js +5 -0
  8. package/dist/elements/services/DefaultServiceBootstrap.js.map +1 -1
  9. package/dist/elements/services/ServiceContainer.d.ts +2 -0
  10. package/dist/elements/services/ServiceContainer.js +1 -0
  11. package/dist/elements/services/ServiceContainer.js.map +1 -1
  12. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.d.ts +10 -0
  13. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.js +47 -0
  14. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.js.map +1 -1
  15. package/dist/elements/services/designItemDocumentPositionService/IDesignItemDocumentPositionService.d.ts +7 -0
  16. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js +6 -1
  17. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js.map +1 -1
  18. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.d.ts +3 -1
  19. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js +40 -5
  20. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js.map +1 -1
  21. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +3 -1
  22. package/dist/elements/services/htmlWriterService/HtmlWriterService.js.map +1 -1
  23. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +2 -0
  24. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +24 -0
  25. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js.map +1 -1
  26. package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +3 -0
  27. package/dist/elements/services/selectionService/ISelectionRefreshEvent.d.ts +2 -0
  28. package/dist/elements/services/selectionService/ISelectionService.d.ts +4 -1
  29. package/dist/elements/services/selectionService/SelectionService.d.ts +7 -2
  30. package/dist/elements/services/selectionService/SelectionService.js +28 -6
  31. package/dist/elements/services/selectionService/SelectionService.js.map +1 -1
  32. package/dist/elements/services/sourceMapService/ISourceMapProvider.d.ts +15 -0
  33. package/dist/elements/services/sourceMapService/ISourceMapProvider.js +2 -0
  34. package/dist/elements/services/sourceMapService/ISourceMapProvider.js.map +1 -0
  35. package/dist/elements/services/sourceMapService/ISourcePart.d.ts +16 -0
  36. package/dist/elements/services/sourceMapService/ISourcePart.js +2 -0
  37. package/dist/elements/services/sourceMapService/ISourcePart.js.map +1 -0
  38. package/dist/elements/services/sourceMapService/SvgPathDataSourceMap.d.ts +8 -0
  39. package/dist/elements/services/sourceMapService/SvgPathDataSourceMap.js +120 -0
  40. package/dist/elements/services/sourceMapService/SvgPathDataSourceMap.js.map +1 -0
  41. package/dist/elements/services/sourceMapService/SvgPathSourceMapProvider.d.ts +7 -0
  42. package/dist/elements/services/sourceMapService/SvgPathSourceMapProvider.js +29 -0
  43. package/dist/elements/services/sourceMapService/SvgPathSourceMapProvider.js.map +1 -0
  44. package/dist/elements/widgets/designerView/extensions/contextMenu/ToolWindowsContextMenu.d.ts +8 -0
  45. package/dist/elements/widgets/designerView/extensions/contextMenu/ToolWindowsContextMenu.js +54 -0
  46. package/dist/elements/widgets/designerView/extensions/contextMenu/ToolWindowsContextMenu.js.map +1 -0
  47. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.d.ts +5 -0
  48. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js +63 -4
  49. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js.map +1 -1
  50. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.js +5 -0
  51. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.js.map +1 -1
  52. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +7 -1
  53. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js.map +1 -1
  54. package/dist/elements/widgets/designerView/tools/toolBar/popups/BorderRadiusEditorWindow.d.ts +82 -0
  55. package/dist/elements/widgets/designerView/tools/toolBar/popups/BorderRadiusEditorWindow.js +1260 -0
  56. package/dist/elements/widgets/designerView/tools/toolBar/popups/BorderRadiusEditorWindow.js.map +1 -0
  57. package/dist/elements/widgets/designerView/tools/toolBar/popups/BoxShadowEditorWindow.d.ts +38 -0
  58. package/dist/elements/widgets/designerView/tools/toolBar/popups/BoxShadowEditorWindow.js +518 -0
  59. package/dist/elements/widgets/designerView/tools/toolBar/popups/BoxShadowEditorWindow.js.map +1 -0
  60. package/dist/elements/widgets/designerView/tools/toolBar/popups/DraggableToolWindow.d.ts +39 -0
  61. package/dist/elements/widgets/designerView/tools/toolBar/popups/DraggableToolWindow.js +181 -0
  62. package/dist/elements/widgets/designerView/tools/toolBar/popups/DraggableToolWindow.js.map +1 -0
  63. package/dist/elements/widgets/designerView/tools/toolBar/popups/GradientEditorWindow.d.ts +53 -0
  64. package/dist/elements/widgets/designerView/tools/toolBar/popups/GradientEditorWindow.js +753 -0
  65. package/dist/elements/widgets/designerView/tools/toolBar/popups/GradientEditorWindow.js.map +1 -0
  66. package/dist/elements/widgets/designerView/tools/toolBar/popups/TextShadowEditorWindow.d.ts +36 -0
  67. package/dist/elements/widgets/designerView/tools/toolBar/popups/TextShadowEditorWindow.js +449 -0
  68. package/dist/elements/widgets/designerView/tools/toolBar/popups/TextShadowEditorWindow.js.map +1 -0
  69. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.d.ts +8 -6
  70. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js +56 -72
  71. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js.map +1 -1
  72. package/dist/index-min.js +544 -7
  73. package/dist/index-min.js.map +4 -4
  74. package/dist/index.d.ts +10 -0
  75. package/dist/index.js +8 -0
  76. package/dist/index.js.map +1 -1
  77. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import { ISourceMapContext, ISourceMapProvider } from './ISourceMapProvider.js';
2
+ import { ISourcePart, ISvgPathHandleSourcePartData } from './ISourcePart.js';
3
+ export declare function createSvgPathHandleSourcePartKey(segmentIndex: number, handleType: ISvgPathHandleSourcePartData['handleType']): string;
4
+ export declare class SvgPathSourceMapProvider implements ISourceMapProvider {
5
+ canMap(context: ISourceMapContext): boolean;
6
+ map(context: ISourceMapContext): ISourcePart<ISvgPathHandleSourcePartData>[];
7
+ }
@@ -0,0 +1,29 @@
1
+ import { parseSvgPathDataSourceMap } from './SvgPathDataSourceMap.js';
2
+ export function createSvgPathHandleSourcePartKey(segmentIndex, handleType) {
3
+ return `attribute:d/svg-path/segment:${segmentIndex}/handle:${handleType}`;
4
+ }
5
+ export class SvgPathSourceMapProvider {
6
+ canMap(context) {
7
+ return context.sourceKind === 'attribute'
8
+ && context.name === 'd'
9
+ && context.designItem.element instanceof context.designItem.window.SVGPathElement;
10
+ }
11
+ map(context) {
12
+ return parseSvgPathDataSourceMap(context.value).map(handleRange => ({
13
+ designItem: context.designItem,
14
+ kind: 'svg-path-handle',
15
+ key: createSvgPathHandleSourcePartKey(handleRange.segmentIndex, handleRange.handleType),
16
+ name: 'd',
17
+ textRange: {
18
+ start: context.valueTextRange.start + handleRange.start,
19
+ length: handleRange.length
20
+ },
21
+ data: {
22
+ attribute: 'd',
23
+ segmentIndex: handleRange.segmentIndex,
24
+ handleType: handleRange.handleType
25
+ }
26
+ }));
27
+ }
28
+ }
29
+ //# sourceMappingURL=SvgPathSourceMapProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SvgPathSourceMapProvider.js","sourceRoot":"","sources":["../../../../src/elements/services/sourceMapService/SvgPathSourceMapProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,UAAU,gCAAgC,CAAC,YAAoB,EAAE,UAAsD;IAC3H,OAAO,gCAAgC,YAAY,WAAW,UAAU,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,OAAO,wBAAwB;IACnC,MAAM,CAAC,OAA0B;QAC/B,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW;eACpC,OAAO,CAAC,IAAI,KAAK,GAAG;eACpB,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC;IACtF,CAAC;IAED,GAAG,CAAC,OAA0B;QAC5B,OAAO,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAClE,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,iBAAiB;YACvB,GAAG,EAAE,gCAAgC,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC;YACvF,IAAI,EAAE,GAAG;YACT,SAAS,EAAE;gBACT,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;gBACvD,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B;YACD,IAAI,EAAE;gBACJ,SAAS,EAAE,GAAG;gBACd,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,UAAU,EAAE,WAAW,CAAC,UAAU;aACnC;SACF,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import { IContextMenuItem } from '../../../../helper/contextMenu/IContextMenuItem.js';
2
+ import { IDesignItem } from '../../../../item/IDesignItem.js';
3
+ import { IDesignerCanvas } from '../../IDesignerCanvas.js';
4
+ import { ContextmenuInitiator, IContextMenuExtension } from './IContextMenuExtension.js';
5
+ export declare class ToolWindowsContextMenu implements IContextMenuExtension {
6
+ shouldProvideContextmenu(_event: MouseEvent, _designerCanvas: IDesignerCanvas, _designItem: IDesignItem, _initiator: ContextmenuInitiator): boolean;
7
+ provideContextMenuItems(_event: MouseEvent, designerCanvas: IDesignerCanvas, _designItem: IDesignItem, _initiator: ContextmenuInitiator): IContextMenuItem[];
8
+ }
@@ -0,0 +1,54 @@
1
+ import { DraggableToolWindow } from '../../tools/toolBar/popups/DraggableToolWindow.js';
2
+ import { TransformToolPopup } from '../../tools/toolBar/popups/TransformToolPopup.js';
3
+ import { BoxShadowEditorWindow } from '../../tools/toolBar/popups/BoxShadowEditorWindow.js';
4
+ import { TextShadowEditorWindow } from '../../tools/toolBar/popups/TextShadowEditorWindow.js';
5
+ import { GradientEditorWindow } from '../../tools/toolBar/popups/GradientEditorWindow.js';
6
+ import { BorderRadiusEditorWindow } from '../../tools/toolBar/popups/BorderRadiusEditorWindow.js';
7
+ export class ToolWindowsContextMenu {
8
+ shouldProvideContextmenu(_event, _designerCanvas, _designItem, _initiator) {
9
+ return true;
10
+ }
11
+ provideContextMenuItems(_event, designerCanvas, _designItem, _initiator) {
12
+ return [{
13
+ title: 'tool windows',
14
+ children: [
15
+ {
16
+ title: 'transform',
17
+ action: () => {
18
+ const win = new TransformToolPopup(designerCanvas);
19
+ DraggableToolWindow.showWindow(win);
20
+ }
21
+ },
22
+ {
23
+ title: 'box shadow editor',
24
+ action: () => {
25
+ const win = new BoxShadowEditorWindow(designerCanvas);
26
+ DraggableToolWindow.showWindow(win);
27
+ }
28
+ },
29
+ {
30
+ title: 'text shadow editor',
31
+ action: () => {
32
+ const win = new TextShadowEditorWindow(designerCanvas);
33
+ DraggableToolWindow.showWindow(win);
34
+ }
35
+ },
36
+ {
37
+ title: 'gradient editor',
38
+ action: () => {
39
+ const win = new GradientEditorWindow(designerCanvas);
40
+ DraggableToolWindow.showWindow(win);
41
+ }
42
+ },
43
+ {
44
+ title: 'border radius editor',
45
+ action: () => {
46
+ const win = new BorderRadiusEditorWindow(designerCanvas);
47
+ DraggableToolWindow.showWindow(win);
48
+ }
49
+ },
50
+ ]
51
+ }];
52
+ }
53
+ }
54
+ //# sourceMappingURL=ToolWindowsContextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolWindowsContextMenu.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/contextMenu/ToolWindowsContextMenu.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAElG,MAAM,OAAO,sBAAsB;IACjC,wBAAwB,CAAC,MAAkB,EAAE,eAAgC,EAAE,WAAwB,EAAE,UAAgC;QACvI,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB,CAAC,MAAkB,EAAE,cAA+B,EAAE,WAAwB,EAAE,UAAgC;QACrI,OAAO,CAAC;gBACN,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE;oBACR;wBACE,KAAK,EAAE,WAAW;wBAClB,MAAM,EAAE,GAAG,EAAE;4BACX,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAC;4BACnD,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACtC,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,mBAAmB;wBAC1B,MAAM,EAAE,GAAG,EAAE;4BACX,MAAM,GAAG,GAAG,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAAC;4BACtD,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACtC,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,oBAAoB;wBAC3B,MAAM,EAAE,GAAG,EAAE;4BACX,MAAM,GAAG,GAAG,IAAI,sBAAsB,CAAC,cAAc,CAAC,CAAC;4BACvD,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACtC,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,iBAAiB;wBACxB,MAAM,EAAE,GAAG,EAAE;4BACX,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,cAAc,CAAC,CAAC;4BACrD,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACtC,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,sBAAsB;wBAC7B,MAAM,EAAE,GAAG,EAAE;4BACX,MAAM,GAAG,GAAG,IAAI,wBAAwB,CAAC,cAAc,CAAC,CAAC;4BACzD,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACtC,CAAC;qBACF;iBACF;aACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -25,6 +25,7 @@ export declare class UnifiedGeometryExtension extends AbstractExtension {
25
25
  private _getOverlayStructureSignature;
26
26
  private _hasOverlayStructureMismatch;
27
27
  private _getRefreshValues;
28
+ private _getSelectedHandleRefreshKey;
28
29
  /** Convert an SVG user-space coordinate to overlay (canvas) coordinates. */
29
30
  private _toOverlay;
30
31
  /** Convert overlay (canvas) coordinates back to SVG user-space. */
@@ -35,6 +36,9 @@ export declare class UnifiedGeometryExtension extends AbstractExtension {
35
36
  private _drawAnchorCircle;
36
37
  private _drawControlCircle;
37
38
  private _onPointerDown;
39
+ private _selectSourcePart;
40
+ private _getSourcePart;
41
+ private _isSelectedHandle;
38
42
  private _onPointerMove;
39
43
  private _dragSingleHandle;
40
44
  private _dragRectCorner;
@@ -59,6 +63,7 @@ export declare class UnifiedGeometryExtension extends AbstractExtension {
59
63
  private _findNextNonCloseSegment;
60
64
  private _findPreviousAnchor;
61
65
  private _insertPointAfter;
66
+ private _convertToMove;
62
67
  private _convertToLine;
63
68
  private _convertToQuadratic;
64
69
  private _convertToCubic;
@@ -6,6 +6,7 @@ import { SegmentType } from './geometry/IGeometry.js';
6
6
  import { getGeometryReader } from './geometry/GeometryReaderFactory.js';
7
7
  import { applyGeometryWritesToDesignItem, applyGeometryWritesToElement } from './geometry/GeometryWriteHelper.js';
8
8
  import { fromOverlayPointToSvgUserSpace, toOverlayPointFromSvgUserSpace } from '../../../../helper/SvgHelper.js';
9
+ import { createSvgPathHandleSourcePartKey } from '../../../../services/sourceMapService/SvgPathSourceMapProvider.js';
9
10
  export class UnifiedGeometryExtension extends AbstractExtension {
10
11
  _geometry = null;
11
12
  _reader;
@@ -100,7 +101,8 @@ export class UnifiedGeometryExtension extends AbstractExtension {
100
101
  const values = [
101
102
  this.designerCanvas.zoomFactor,
102
103
  this.designerCanvas.scaleFactor,
103
- this._overlayStructureSignature ?? ''
104
+ this._overlayStructureSignature ?? '',
105
+ this._getSelectedHandleRefreshKey()
104
106
  ];
105
107
  if (transformedBoxQuad) {
106
108
  values.push(transformedBoxQuad.p1.x, transformedBoxQuad.p1.y, transformedBoxQuad.p2.x, transformedBoxQuad.p2.y, transformedBoxQuad.p3.x, transformedBoxQuad.p3.y, transformedBoxQuad.p4.x, transformedBoxQuad.p4.y);
@@ -122,6 +124,14 @@ export class UnifiedGeometryExtension extends AbstractExtension {
122
124
  }
123
125
  return values;
124
126
  }
127
+ _getSelectedHandleRefreshKey() {
128
+ const selectedPart = this.extendedItem.instanceServiceContainer.selectionService.selectedPart;
129
+ const data = selectedPart?.data;
130
+ if (selectedPart?.designItem !== this.extendedItem || selectedPart.kind !== 'svg-path-handle') {
131
+ return 'selected:none';
132
+ }
133
+ return `selected:${data?.segmentIndex}:${data?.handleType}`;
134
+ }
125
135
  /** Convert an SVG user-space coordinate to overlay (canvas) coordinates. */
126
136
  _toOverlay(p) {
127
137
  return toOverlayPointFromSvgUserSpace(this.extendedItem.element, this.designerCanvas, p);
@@ -179,6 +189,7 @@ export class UnifiedGeometryExtension extends AbstractExtension {
179
189
  for (const [key, circle] of this._overlayCircles) {
180
190
  circle.setAttribute('r', (key.startsWith('anchor-') ? anchorRadius : controlRadius).toString());
181
191
  circle.style.strokeWidth = strokeWidth;
192
+ circle.classList.toggle('svg-path-selected-part', this._isSelectedHandle(key));
182
193
  }
183
194
  for (const line of this._overlayLines) {
184
195
  line.style.strokeDasharray = dashArray;
@@ -224,6 +235,7 @@ export class UnifiedGeometryExtension extends AbstractExtension {
224
235
  _onPointerDown(event, circle, segIndex, handleType) {
225
236
  event.stopPropagation();
226
237
  event.preventDefault();
238
+ this._selectSourcePart(segIndex, handleType, event);
227
239
  event.target.setPointerCapture(event.pointerId);
228
240
  const cursorPos = this.designerCanvas.getNormalizedEventCoordinates(event);
229
241
  if (!this._geometry)
@@ -251,8 +263,32 @@ export class UnifiedGeometryExtension extends AbstractExtension {
251
263
  originalPoint,
252
264
  originalSegments,
253
265
  startScrollOffset: this.designerCanvas.canvasOffset,
266
+ geometryChanged: false,
254
267
  };
255
268
  }
269
+ _selectSourcePart(segIndex, handleType, event) {
270
+ const selectionService = this.extendedItem.instanceServiceContainer.selectionService;
271
+ const sourcePart = this._getSourcePart(segIndex, handleType);
272
+ if (selectionService.primarySelection !== this.extendedItem)
273
+ selectionService.setSelectedElements([this.extendedItem], event, sourcePart);
274
+ else if (sourcePart)
275
+ selectionService.setSelectedPart(sourcePart, event);
276
+ }
277
+ _getSourcePart(segIndex, handleType) {
278
+ const key = createSvgPathHandleSourcePartKey(segIndex, handleType);
279
+ return this.extendedItem.instanceServiceContainer.designItemDocumentPositionService
280
+ ?.getSourceParts(this.extendedItem)
281
+ .find(x => x.key === key);
282
+ }
283
+ _isSelectedHandle(circleKey) {
284
+ const [handleType, segmentIndexText] = circleKey.split('-');
285
+ const selectedPart = this.extendedItem.instanceServiceContainer.selectionService.selectedPart;
286
+ const data = selectedPart?.data;
287
+ return selectedPart?.designItem === this.extendedItem
288
+ && selectedPart.kind === 'svg-path-handle'
289
+ && data?.segmentIndex === Number(segmentIndexText)
290
+ && data?.handleType === handleType;
291
+ }
256
292
  _onPointerMove(event, circle, segIndex, handleType) {
257
293
  event.stopPropagation();
258
294
  event.preventDefault();
@@ -263,6 +299,8 @@ export class UnifiedGeometryExtension extends AbstractExtension {
263
299
  const cursorPos = this.designerCanvas.getNormalizedEventCoordinates(event);
264
300
  let dx = cursorPos.x - this._dragState.startCursorPos.x;
265
301
  let dy = cursorPos.y - this._dragState.startCursorPos.y;
302
+ if (dx === 0 && dy === 0)
303
+ return;
266
304
  // Shift key: constrain to axis
267
305
  if (event.shiftKey) {
268
306
  if (Math.abs(dx) >= Math.abs(dy)) {
@@ -272,6 +310,8 @@ export class UnifiedGeometryExtension extends AbstractExtension {
272
310
  dx = 0;
273
311
  }
274
312
  }
313
+ if (dx === 0 && dy === 0)
314
+ return;
275
315
  // Alt key + anchor drag: move entire shape
276
316
  if (event.altKey && handleType === 'anchor' && this._options.allowShapeDrag !== false) {
277
317
  this._dragWholeShape(dx, dy);
@@ -279,6 +319,7 @@ export class UnifiedGeometryExtension extends AbstractExtension {
279
319
  else {
280
320
  this._dragSingleHandle(segIndex, handleType, dx, dy);
281
321
  }
322
+ this._dragState.geometryChanged = true;
282
323
  // Update geometry model
283
324
  this._applyGeometryToElement();
284
325
  // Update overlay positions in-place (no recreate to preserve pointer capture)
@@ -572,11 +613,11 @@ export class UnifiedGeometryExtension extends AbstractExtension {
572
613
  _onPointerUp(event, segIndex) {
573
614
  event.stopPropagation();
574
615
  event.target.releasePointerCapture(event.pointerId);
575
- if (this._dragState && this._geometry) {
616
+ if (this._dragState?.geometryChanged && this._geometry) {
576
617
  // Commit via designItem for undo support (follows PathExtension pattern)
577
618
  this._commitGeometryChange();
578
- this._dragState = null;
579
619
  }
620
+ this._dragState = null;
580
621
  }
581
622
  // -- Geometry manipulation --
582
623
  /** Set attributes directly on the DOM element for live visual feedback during drag */
@@ -664,8 +705,17 @@ export class UnifiedGeometryExtension extends AbstractExtension {
664
705
  }
665
706
  }
666
707
  // Segment type conversion (only for path elements)
667
- if (isPath && segIndex > 0 && seg.type !== SegmentType.Move && seg.type !== SegmentType.Close) {
708
+ if (isPath && segIndex > 0 && seg.type !== SegmentType.Close) {
668
709
  items.push({ title: '---' });
710
+ if (seg.type !== SegmentType.Move) {
711
+ items.push({
712
+ title: 'Convert to moveto', action: () => {
713
+ this._convertToMove(segIndex);
714
+ this._applyGeometryToElement();
715
+ this._commitGeometryChange();
716
+ }
717
+ });
718
+ }
669
719
  if (seg.type !== SegmentType.Line && seg.type !== SegmentType.HorizontalLine && seg.type !== SegmentType.VerticalLine) {
670
720
  items.push({
671
721
  title: 'Convert to line', action: () => {
@@ -794,6 +844,15 @@ export class UnifiedGeometryExtension extends AbstractExtension {
794
844
  };
795
845
  this._geometry.segments.splice(segIndex + 1, 0, newSeg);
796
846
  }
847
+ _convertToMove(segIndex) {
848
+ if (!this._geometry)
849
+ return;
850
+ const seg = this._geometry.segments[segIndex];
851
+ seg.type = SegmentType.Move;
852
+ delete seg.cp1;
853
+ delete seg.cp2;
854
+ delete seg.arc;
855
+ }
797
856
  _convertToLine(segIndex) {
798
857
  if (!this._geometry)
799
858
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"UnifiedGeometryExtension.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UnifiedGeometryExtension.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,11 @@ export class UnifiedGeometryExtensionProvider {
38
38
  fill: white;
39
39
  pointer-events: auto;
40
40
  }
41
+
42
+ .svg-path-selected-part {
43
+ stroke: black;
44
+ fill: lime;
45
+ }
41
46
  `;
42
47
  }
43
48
  //# sourceMappingURL=UnifiedGeometryExtensionProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnifiedGeometryExtensionProvider.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,GAAG,EAAE,MAAM,yCAAyC,CAAC;AAE9D,MAAM,OAAO,gCAAgC;IAEnC,aAAa,CAAmB;IAExC,YAAY,YAA8B;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,gBAAmC,EAAE,YAA6B,EAAE,UAAuB;QACtG,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,IAAI,YAAY,cAAc;YAChC,IAAI,YAAY,cAAc;YAC9B,IAAI,YAAY,cAAc;YAC9B,IAAI,YAAY,iBAAiB;YACjC,IAAI,YAAY,gBAAgB;YAChC,IAAI,YAAY,iBAAiB;YACjC,IAAI,YAAY,kBAAkB,EAAE,CAAC;YACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,gBAAmC,EAAE,YAA6B,EAAE,UAAuB;QACtG,OAAO,IAAI,wBAAwB,CAAC,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACtG,CAAC;IAEQ,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;GAcnB,CAAC;CACH"}
1
+ {"version":3,"file":"UnifiedGeometryExtensionProvider.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,GAAG,EAAE,MAAM,yCAAyC,CAAC;AAE9D,MAAM,OAAO,gCAAgC;IAEnC,aAAa,CAAmB;IAExC,YAAY,YAA8B;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,gBAAmC,EAAE,YAA6B,EAAE,UAAuB;QACtG,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,IAAI,YAAY,cAAc;YAChC,IAAI,YAAY,cAAc;YAC9B,IAAI,YAAY,cAAc;YAC9B,IAAI,YAAY,iBAAiB;YACjC,IAAI,YAAY,gBAAgB;YAChC,IAAI,YAAY,iBAAiB;YACjC,IAAI,YAAY,kBAAkB,EAAE,CAAC;YACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,gBAAmC,EAAE,YAA6B,EAAE,UAAuB;QACtG,OAAO,IAAI,wBAAwB,CAAC,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACtG,CAAC;IAEQ,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;GAmBnB,CAAC;CACH"}
@@ -1,6 +1,7 @@
1
1
  import { BaseCustomWebComponentConstructorAppend, css, html } from "@node-projects/base-custom-webcomponent";
2
2
  import { CommandType } from "../../../../../commandHandling/CommandType.js";
3
3
  import { DesignerToolbarButton } from './DesignerToolbarButton.js';
4
+ import { DraggableToolWindow } from './popups/DraggableToolWindow.js';
4
5
  export class DesignerToolbar extends BaseCustomWebComponentConstructorAppend {
5
6
  static style = css `
6
7
  node-projects-designer-tools-buttons {
@@ -60,7 +61,12 @@ export class DesignerToolbar extends BaseCustomWebComponentConstructorAppend {
60
61
  instance = document.createElement(designerToolbarButton.popup);
61
62
  else
62
63
  instance = new designerToolbarButton.popup(this.designerView.designerCanvas);
63
- this._popupContainer.appendChild(instance);
64
+ if (instance instanceof DraggableToolWindow) {
65
+ DraggableToolWindow.showWindow(instance, designerToolbarButton);
66
+ }
67
+ else {
68
+ this._popupContainer.appendChild(instance);
69
+ }
64
70
  }
65
71
  }
66
72
  setTool(tool) {
@@ -1 +1 @@
1
- {"version":3,"file":"DesignerToolbar.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/tools/toolBar/DesignerToolbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,yCAAyC,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAG5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,eAAgB,SAAQ,uCAAuC;IAC1E,MAAM,CAAmB,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;UAoB5B,CAAC;IAET,MAAM,CAAmB,QAAQ,GAAG,IAAI,CAAA;;qCAEL,CAAC;IAE5B,gBAAgB,CAAiB;IACjC,iBAAiB,CAAmB;IACpC,eAAe,CAAiB;IACjC,YAAY,CAAe;IAElC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAiB,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAiB,OAAO,CAAC,CAAC;IACtE,CAAC;IAEM,UAAU,CAAC,gBAAkC,EAAE,YAA0B;QAC9E,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;YAC/D,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1D,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAChD,IAAI,EAAE,YAAY,qBAAqB,EAAE,CAAC;oBACxC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,SAAS,CAAC,qBAA4C;QAC3D,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,EAAE,CAAC;QACtC,CAAC;aACI,CAAC;YACJ,IAAI,QAAqB,CAAC;YAC1B,IAAI,OAAO,qBAAqB,CAAC,KAAK,KAAK,QAAQ;gBACjD,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;;gBAE/D,QAAQ,GAAG,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAC/E,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEM,OAAO,CAAC,IAAY;QACzB,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC;;AAGH,cAAc,CAAC,MAAM,CAAC,gCAAgC,EAAE,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"DesignerToolbar.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/tools/toolBar/DesignerToolbar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { DraggableToolWindow } from './DraggableToolWindow.js';
2
+ import { IDesignerCanvas } from '../../../IDesignerCanvas.js';
3
+ export declare class BorderRadiusEditorWindow extends DraggableToolWindow {
4
+ private _designerCanvas;
5
+ private _config;
6
+ private _previewBox;
7
+ private _uniformCheck;
8
+ private _uniformXInput;
9
+ private _uniformYInput;
10
+ private _uniformShapeSelect;
11
+ private _uniformXVal;
12
+ private _uniformYVal;
13
+ private _tlXInput;
14
+ private _tlYInput;
15
+ private _tlShapeSelect;
16
+ private _tlXVal;
17
+ private _tlYVal;
18
+ private _trXInput;
19
+ private _trYInput;
20
+ private _trShapeSelect;
21
+ private _trXVal;
22
+ private _trYVal;
23
+ private _brXInput;
24
+ private _brYInput;
25
+ private _brShapeSelect;
26
+ private _brXVal;
27
+ private _brYVal;
28
+ private _blXInput;
29
+ private _blYInput;
30
+ private _blShapeSelect;
31
+ private _blXVal;
32
+ private _blYVal;
33
+ private _cornersUniformDiv;
34
+ private _cornersPersideDiv;
35
+ private _widthInput;
36
+ private _borderUniformCheck;
37
+ private _widthVal;
38
+ private _styleSelect;
39
+ private _colorInput;
40
+ private _opacityInput;
41
+ private _opacityVal;
42
+ private _topStyleSelect;
43
+ private _topWidthInput;
44
+ private _topWidthVal;
45
+ private _topColorInput;
46
+ private _topOpacityInput;
47
+ private _topOpacityVal;
48
+ private _rightStyleSelect;
49
+ private _rightWidthInput;
50
+ private _rightWidthVal;
51
+ private _rightColorInput;
52
+ private _rightOpacityInput;
53
+ private _rightOpacityVal;
54
+ private _bottomStyleSelect;
55
+ private _bottomWidthInput;
56
+ private _bottomWidthVal;
57
+ private _bottomColorInput;
58
+ private _bottomOpacityInput;
59
+ private _bottomOpacityVal;
60
+ private _leftStyleSelect;
61
+ private _leftWidthInput;
62
+ private _leftWidthVal;
63
+ private _leftColorInput;
64
+ private _leftOpacityInput;
65
+ private _leftOpacityVal;
66
+ private _borderUniformDiv;
67
+ private _borderPersideDiv;
68
+ private _cssOutput;
69
+ private _loadBtn;
70
+ private _copyBtn;
71
+ private _applyBtn;
72
+ protected get windowTitle(): string;
73
+ protected get windowContentStyle(): CSSStyleSheet;
74
+ protected get windowTemplate(): string;
75
+ constructor(designerCanvas?: IDesignerCanvas);
76
+ private _wireCornerControls;
77
+ private _loadFromPrimarySelection;
78
+ private _syncControls;
79
+ private _buildCss;
80
+ private _refresh;
81
+ private _applyToSelection;
82
+ }