@node-projects/web-component-designer 0.2.30 → 0.2.32

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 (69) hide show
  1. package/README.md +6 -0
  2. package/THEMING.md +217 -0
  3. package/dist/elements/controls/ColorEditor.js +12 -12
  4. package/dist/elements/controls/DesignerTabControl.js +16 -16
  5. package/dist/elements/controls/ImageButtonListSelector.js +6 -6
  6. package/dist/elements/controls/MetricsEditor.js +6 -6
  7. package/dist/elements/controls/NumericStyleInput.js +2 -2
  8. package/dist/elements/controls/PlainScrollbar.js +12 -12
  9. package/dist/elements/controls/PlainScrollbar.js.map +1 -1
  10. package/dist/elements/controls/ThicknessEditor.js +2 -2
  11. package/dist/elements/helper/contextMenu/ContextMenu.js +18 -18
  12. package/dist/elements/services/ServiceContainer.d.ts +2 -0
  13. package/dist/elements/services/ServiceContainer.js.map +1 -1
  14. package/dist/elements/services/propertiesService/propertyEditors/CssPropertyEditor.js +1 -1
  15. package/dist/elements/services/propertiesService/propertyEditors/CssPropertyEditor.js.map +1 -1
  16. package/dist/elements/services/resizeService/IElementResizeStrategy.d.ts +29 -0
  17. package/dist/elements/services/resizeService/IElementResizeStrategy.js +2 -0
  18. package/dist/elements/services/resizeService/IElementResizeStrategy.js.map +1 -0
  19. package/dist/elements/widgets/debugView/debug-view.js +5 -5
  20. package/dist/elements/widgets/demoView/demoView.js +4 -4
  21. package/dist/elements/widgets/designerView/designerCanvas.js +10 -9
  22. package/dist/elements/widgets/designerView/designerCanvas.js.map +1 -1
  23. package/dist/elements/widgets/designerView/designerView.js +121 -55
  24. package/dist/elements/widgets/designerView/designerView.js.map +1 -1
  25. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.js +1 -1
  26. package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +6 -1
  27. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +103 -13
  28. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js.map +1 -1
  29. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +4 -1
  30. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js.map +1 -1
  31. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +1 -1
  32. package/dist/elements/widgets/designerView/extensions/buttons/RoundPixelsDesignViewConfigButton.js +2 -1
  33. package/dist/elements/widgets/designerView/extensions/buttons/RoundPixelsDesignViewConfigButton.js.map +1 -1
  34. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js +4 -4
  35. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js.map +1 -1
  36. package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js +1 -1
  37. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.js +5 -5
  38. package/dist/elements/widgets/designerView/extensions/transforms/ProjectiveTransformExtensionProvider.js +3 -3
  39. package/dist/elements/widgets/designerView/extensions/transforms/RotateExtensionProvider.js +2 -2
  40. package/dist/elements/widgets/designerView/extensions/transforms/RotateExtensionProvider.js.map +1 -1
  41. package/dist/elements/widgets/designerView/extensions/transforms/RotateGroupExtensionProvider.js +3 -3
  42. package/dist/elements/widgets/designerView/extensions/transforms/SkewExtensionProvider.js +2 -2
  43. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtensionProvider.js +1 -1
  44. package/dist/elements/widgets/designerView/overlayLayerView.js +8 -8
  45. package/dist/elements/widgets/designerView/overlayLayerView.js.map +1 -1
  46. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.js +1 -1
  47. package/dist/elements/widgets/designerView/tools/toolBar/popups/AbstractBaseToolPopup.js +5 -5
  48. package/dist/elements/widgets/designerView/tools/toolBar/popups/BorderRadiusEditorWindow.js +23 -23
  49. package/dist/elements/widgets/designerView/tools/toolBar/popups/BoxShadowEditorWindow.js +26 -26
  50. package/dist/elements/widgets/designerView/tools/toolBar/popups/DraggableToolWindow.js +8 -8
  51. package/dist/elements/widgets/designerView/tools/toolBar/popups/GradientEditorWindow.js +27 -27
  52. package/dist/elements/widgets/designerView/tools/toolBar/popups/TextShadowEditorWindow.js +23 -23
  53. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js +3 -3
  54. package/dist/elements/widgets/layerDepthView/layerDepthView.js +5 -5
  55. package/dist/elements/widgets/miniatureView/miniatureView.js +1 -1
  56. package/dist/elements/widgets/paletteView/paletteElements.js +3 -3
  57. package/dist/elements/widgets/paletteView/paletteView.js +7 -0
  58. package/dist/elements/widgets/paletteView/paletteView.js.map +1 -1
  59. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +2 -2
  60. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +15 -14
  61. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js.map +1 -1
  62. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +6 -6
  63. package/dist/elements/widgets/treeView/treeView.js +10 -10
  64. package/dist/index-min.js +15 -15
  65. package/dist/index-min.js.map +3 -3
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/package.json +1 -1
@@ -49,38 +49,92 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
49
49
  touch-action: none;
50
50
  }
51
51
  #lowertoolbar {
52
- height: 16px;
53
- background: #787f82;
52
+ height: var(--wcd-designer-view-statusbar-height, 28px);
53
+ box-sizing: border-box;
54
+ background: var(--wcd-designer-view-statusbar-background, #787f82);
55
+ color: var(--wcd-designer-view-statusbar-color, #354348);
54
56
  display: flex;
57
+ align-items: center;
58
+ gap: 4px;
59
+ font-size: 12px;
60
+ overflow-x: auto;
61
+ scrollbar-width: none;
62
+ padding: 2px 6px;
55
63
  bottom: 0;
56
64
  position: absolute;
57
- font-size: 12px;
58
65
  width: 100%;
59
66
  }
60
- input {
61
- width: 40px;
62
- height: 16px;
63
- padding: 0;
64
- border: 0;
65
- font-size: 12px;
67
+ #zoomInput {
68
+ flex: 0 0 52px;
69
+ box-sizing: border-box;
70
+ width: 52px;
71
+ height: 24px;
72
+ padding: 0 4px;
73
+ border: 1px solid transparent;
74
+ border-radius: 4px;
75
+ background: transparent;
76
+ color: inherit;
77
+ font-family: inherit;
78
+ font-size: 11px;
66
79
  text-align: center;
67
- margin-right: 1px;
68
80
  }
69
81
  .toolbar-control {
70
- min-width: 16px;
71
- height: 16px;
72
- display: block;
73
- margin-right: 1px;
74
- cursor: default;
82
+ box-sizing: border-box;
83
+ font: inherit;
84
+ flex: 0 0 24px;
85
+ width: 24px;
86
+ height: 24px;
87
+ padding: 4px;
88
+ border: 0;
89
+ border-radius: 4px;
90
+ background: transparent;
91
+ color: inherit;
92
+ cursor: pointer;
75
93
  display: flex;
76
94
  justify-content: center;
77
95
  align-items: center;
96
+ }
97
+ .toolbar-control-input {
98
+ flex-basis: 52px;
99
+ width: 52px;
100
+ padding: 0;
101
+ }
102
+ .toolbar-control-input input {
103
+ box-sizing: border-box;
104
+ width: 100%;
105
+ min-width: 0;
106
+ height: 24px;
107
+ padding: 0 4px;
108
+ border: 1px solid var(--wcd-color-border, #596c7a);
109
+ border-radius: 4px;
110
+ font: inherit;
111
+ color: inherit;
112
+ background: var(--wcd-input-background-color, white);
113
+ }
114
+ .toolbar-control svg {
115
+ width: 16px;
116
+ height: 16px;
117
+ fill: none;
118
+ stroke: currentColor;
119
+ stroke-width: 1.6;
120
+ stroke-linecap: round;
121
+ stroke-linejoin: round;
122
+ pointer-events: none;
123
+ }
124
+ #zoomInput:focus-visible, .toolbar-control:focus-visible, .toolbar-control-input input:focus-visible {
125
+ outline: 2px solid var(--wcd-color-focus, #47977c);
126
+ outline-offset: -2px;
127
+ }
128
+ .toolbar-separator {
129
+ height: 14px;
130
+ margin: 0 2px;
131
+ border-left: 1px solid var(--wcd-color-border, #596c7a);
78
132
  }
79
133
  .selected {
80
- background-color: deepskyblue;
134
+ background-color: var(--wcd-designer-view-tool-selected-background, deepskyblue);
81
135
  }
82
136
  .toolbar-control:hover {
83
- background-color:rgba(164,206,249,.6);
137
+ background-color: var(--wcd-designer-view-tool-hover-background, rgba(164,206,249,.6));
84
138
  }
85
139
  #outer {
86
140
  user-select: none;
@@ -92,39 +146,26 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
92
146
  #canvas {
93
147
  left: 24px;
94
148
  width: calc(100% - 24px - 16px);
95
- height: calc(100% - 32px);
149
+ height: calc(100% - var(--wcd-designer-view-statusbar-height, 28px) - 16px);
96
150
  }
97
151
 
98
152
  #tool-bar {
99
153
  width: 24px;
100
- height: calc(100% - 32px);
154
+ height: calc(100% - var(--wcd-designer-view-statusbar-height, 28px) - 16px);
101
155
  position: absolute;
102
- background-color: lightgray;
156
+ background-color: var(--wcd-designer-view-toolbar-background, lightgray);
103
157
  }
104
158
 
105
- .zoom-in {
106
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNqkU11o01AUTtI06U/6tzHWbnNVS+k67FAG/gwfZEOcCrpNEBwEH2Q+Otqxh+5VEaHYV18UwQd9sk4Q+6CUKogbtSoM10qftJS2iGuT/iRpshvvDZu4DHHggY+TnHu+795zz7m4qqrYxfA6pjerlcHMZvMQQRCL8Hccoh+iBJECAMQEQci3Wk2MxP5iqgqmJUmIB3xkdTRoKgQG6Wr1JxBX1oTQx3UxCdcjMO2ZJiCK4g4y3HUIACV+bsL5dSRAWfwe636z0WBzWEFzn5vku5xyIZGsx2UF5AhEaDYbO8Dz3KLPi1X9B2iTy0pRiDx5/Z2bJgmGwDH8WMhuDxzEf6A8TYDneT3GR4JMzcVQThNlcCtANaM48pICutodxXTkkI1HeVslSPor6B/wWL7B3Z1n2KR3O3h05rkDOkd2eYoSxM025PVrAgAQeoFSuSLI3Q66jpJNRsIWPLvM5JJTTUkGGsqVtgJ5JU3AaLTqBVKZT9xh7yDT2Gh05G4bNQBzGETkBbkMVAxbzdadMJbSBDzCHXgKgKGZQJCp0IP32dnEaKhd6nOZAay7mXk6UUGeIHDDh88NKb0qumjaHiN391/1GjtrJ6ZPSb33H9eJYomuTJ601Qf7SKVYVlqplZblxRvOThrtEaC28qSOPAwncCYSWbzJsrO3XP4br9KZa1fTmcaOSTQYLDFFaeURh/yDfLynp/fCwkI0yrKX79ZqG49sUr2A44a3u+d08/fXVhfAeZ8vcDocjs6z7KV7xeL3JzBcwPZgmoAkScGlpdvzc3NXHuZyXxIwlMX2aJoAfFkvx8aGnRzH5WEpr7cXuerKPwVw1Lb/sV8CDACbf0U37X3NqwAAAABJRU5ErkJggg==);
107
- }
108
- .zoom-out {
109
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmVJREFUeNqkU01oE0EUnv3Nf0xsS01jEzWUNCUplh7U4kEiVVEQqyBYWDxor5am5JBeFRGCuXpRBA8KHqIHMYISohdTYlQo2kguaghJUNvd/O1udjvr7NKWZHuw4IMHM/v9zHu8t5iiKCAYDAKi/xQ4MHEdbIXFYgUmk2kUx/EouoZRulGWUaYhhHGe5wutVhOQKtk3/RToQ1HgjCjyCb+PrE0GjEW/x1Cr/YFCdoUPffwqpBAeQbRnmoEgCD1i9OoohHLi7EnHt3E/bfb0m/pwDGBeF04P77Mpex1SMZliE5IMV3FV0Gw2erJe56I+L6iNHDQYnRaaVsXb5uh8JGS3+w9hv1SeVkG9Xtd3EB4PDBecVtplpAmHKMMesN2R2Ymg7fer9PfwZgui3sC932X+gV53nGZSXj2Yf36B5oWNNtK5NQMIcT2nXKnyUt8eA6uSUf1YNyhKsFmptmWkK2sGFGXRG6Rzn7jDXo+1sdboSBSJEd0gVABYzrMOpEtrBi7+DqoCAnUn1JTo0IP3+dnkZKhdHnKaIEUSXRPCiA+fG2JmWXAaDPY4uXP+ipfqrBybOSEO3n/M4qWyoXrmuE30DJHWUkVupbMt44u3nJ2k7BGotAqkTjyGNvBiJBK9yTCzt5wjN15ncteuZnKNnk0kCHNcllsFVUN2iY8ODAyeX1yMxRjm8t319bVHNpEtYhjxbseago3t0+YU4Dmfzz+9sBCbZ5hL90qln0/Q5yLYRWgGoigGlpZuz8/NXXm4uvolqY4a7DI0A/RnvZyaGnNwHFdArbzZArla9p8GmDq2/4m/AgwATHQSD48kJDUAAAAASUVORK5CYII=);
110
- }
111
- .snap-grid {
112
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAblJREFUeNqkUjtLA0EQnntFyKNKJdiFgIlGC5G0FlaaIsYgiKAgKIKdjbV/wM7GImBhI6JFMFWKK3yBimBAhJDuUEgimMSYS0hunbncHRtFjLjw7X7z7ezszM4KjDEQRRG+jnlEgvYAAgLAJpoT1tYdA9gzAAqLuC/DD4N1EZC87v1IYnZ0MBj0k/6Szw/nTs7GO+8f62gWBCuDHTRG+ABxgGScsd3JlYWlJogu9TSjkT41NzM0AEbr5uDocJmxLTv3CCJpgbRkAKcWpq14vP7scVqrVKsbBOKktayS7BL4RzB5uxvAo7++SfV6vYnmBenESaM9/qCESFt4pPUJJzrlLpe/vQ9pTeex8A0EQcggwILJo9EohMPhNVW9ZqFQaJvsWCzWozGuCxJ3gck1TYNGo+Hy+XxQKpXalUoFisUi1Go1RyM/uwtZLsADYkxRlGnMZLXT6QQkSSqglsIV0HY0XddTdgkqV4LD6YPJsgwYzLSJEygQraz70YDvRg9Hh3O8DdptM1uTEwzDMDnvTHVfWfy+D8592W4Jt1wJfXOnC0h8XMw/cbuEHOKZc/iNX9qC2cb/jE8BBgAvhdOb37HVsgAAAABJRU5ErkJggg==);
113
- }
114
- .snap-guide {
115
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYVJREFUeNqkU7tKA1EQnbs3CnlVqbQNARMjFilS+AnZQhIbW0ER/AA/wlYbhXR2wUKx0iKNYGMKDViEdEIgieBujGvCPpyz7sK6iWLIwJk798zsuXsfIxzHoXksAqcoij+vMbYq7MoszGxaEB3wtODlH3i5E5uojck210RCgq7SJie4MC0TsdO1cim/lMmkwHdarZWni+t16/1jz/FElJBAGc5imLzyakXNG0IuVo+OnwHE4JCzgisG7BJu/I3CQjyRuq1dvWi6vg8gBofcOHgGAZO+AFv88/VNDofDEcd3IBCD43ycfhEowY28Sazfnzh1cKMggWsUQvi4waiqKuVyud16/d7JZrOHxWJxKudMuQV3C81mk3RdX0wmk9Tr9UxN06jb7dJgMPjBwQRUAu/AtWg0SpZl7TDSUso2/1UVNWHOMIwJARzWBhcQwMXu1oJb9Ufbtsk0zYktPLrvgD8E/mWeYoNxxlj2xoZ3qI2/YrePQs10PksjTRPozCog5m3nLwEGABrLzseuHT6IAAAAAElFTkSuQmCC);
116
- }
117
-
118
159
  .bottom-scroll {
119
160
  width: calc(100% - 16px);
120
161
  position: absolute;
121
- bottom: 16px;
162
+ bottom: var(--wcd-designer-view-statusbar-height, 28px);
122
163
  height: 16px;
123
164
  box-sizing: border-box;
124
165
  z-index: 1;
125
166
  }
126
167
  .right-scroll {
127
- height: calc(100% - 32px);
168
+ height: calc(100% - var(--wcd-designer-view-statusbar-height, 28px) - 16px);
128
169
  position: absolute;
129
170
  right: 0;
130
171
  top: 0;
@@ -135,10 +176,10 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
135
176
  .bottom-right {
136
177
  width: 16px;
137
178
  height: 16px;
138
- bottom: 16px;
179
+ bottom: var(--wcd-designer-view-statusbar-height, 28px);
139
180
  right: 0;
140
181
  position: absolute;
141
- background: #f0f0f0;
182
+ background: var(--wcd-designer-view-corner-background, #f0f0f0);
142
183
  }`;
143
184
  static template = html `
144
185
  <div id="outer">
@@ -146,18 +187,27 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
146
187
  <node-projects-plain-scrollbar id="s-vert" value="0.5" orientation="vertical" class="right-scroll">
147
188
  </node-projects-plain-scrollbar>
148
189
  <div class="bottom-right"></div>
149
- <div id="lowertoolbar">
150
- <input id="zoomInput" type="text" value="100%">
151
- <div title="decrease zoom" id="zoomIncrease" class="toolbar-control zoom-in"></div>
152
- <div title="increase zoom" id="zoomDecrease" class="toolbar-control zoom-out"></div>
153
- <div title="reset zoom" id="zoomReset" class="toolbar-control"
154
- style="width: 16px; height: 16px; font-size: 14px; display: flex; align-items: center; justify-content: center;">1
155
- </div>
156
- <div title="zoom to fit" id="zoomFit" class="toolbar-control"
157
- style="width: 16px; height: 16px; font-size: 8px; display: flex; align-items: center; justify-content: center;">
158
- 100%</div>
159
- <div title="snap to grid" id="alignGrid" class="toolbar-control snap-grid"></div>
160
- <div title="snap to elements" id="alignSnap" class="toolbar-control snap-guide"></div>
190
+ <div id="lowertoolbar" role="group" aria-label="Canvas controls">
191
+ <input id="zoomInput" type="text" value="100%" aria-label="Zoom percentage">
192
+ <button type="button" title="Zoom out" aria-label="Zoom out" id="zoomDecrease" class="toolbar-control">
193
+ <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14"/></svg>
194
+ </button>
195
+ <button type="button" title="Zoom in" aria-label="Zoom in" id="zoomIncrease" class="toolbar-control">
196
+ <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M12 5v14"/></svg>
197
+ </button>
198
+ <button type="button" title="Reset zoom to 100%" aria-label="Reset zoom to 100%" id="zoomReset" class="toolbar-control">
199
+ <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 9l2-2v10M15 9l2-2v10"/><path d="M11 10h.01M11 14h.01" stroke-width="2.5"/></svg>
200
+ </button>
201
+ <button type="button" title="Zoom to fit" aria-label="Zoom to fit" id="zoomFit" class="toolbar-control">
202
+ <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M8 3H3v5m13-5h5v5M3 16v5h5m13-5v5h-5"/><rect x="7" y="7" width="10" height="10" rx="1"/></svg>
203
+ </button>
204
+ <span class="toolbar-separator" aria-hidden="true"></span>
205
+ <button type="button" title="Snap to grid (right-click to set grid size)" aria-label="Snap to grid" aria-pressed="false" id="alignGrid" class="toolbar-control">
206
+ <svg viewBox="0 0 24 24" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M9 3v18m6-18v18M3 9h18M3 15h18"/></svg>
207
+ </button>
208
+ <button type="button" title="Snap to elements" aria-label="Snap to elements" aria-pressed="false" id="alignSnap" class="toolbar-control">
209
+ <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 4h4v9a3 3 0 0 0 6 0V4h4v9a7 7 0 0 1-14 0V4Z"/><path d="M5 8h4m6 0h4"/></svg>
210
+ </button>
161
211
  </div>
162
212
  </div>`;
163
213
  constructor(useIframe = false) {
@@ -203,13 +253,23 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
203
253
  this.zoomToFit();
204
254
  };
205
255
  this.addEventListener(EventNames.Wheel, event => this._onWheel(event));
206
- let alignSnap = this._getDomElement('alignSnap');
207
- alignSnap.onclick = () => { this._designerCanvas.alignOnSnap = !this._designerCanvas.alignOnSnap; alignSnap.style.backgroundColor = this._designerCanvas.alignOnSnap ? 'deepskyblue' : ''; };
208
- alignSnap.style.backgroundColor = this._designerCanvas.alignOnSnap ? 'deepskyblue' : '';
256
+ const updateSnapButton = (button, active) => {
257
+ button.classList.toggle('selected', active);
258
+ button.setAttribute('aria-pressed', String(active));
259
+ };
260
+ const alignSnap = this._getDomElement('alignSnap');
261
+ alignSnap.onclick = () => {
262
+ this._designerCanvas.alignOnSnap = !this._designerCanvas.alignOnSnap;
263
+ updateSnapButton(alignSnap, this._designerCanvas.alignOnSnap);
264
+ };
265
+ updateSnapButton(alignSnap, this._designerCanvas.alignOnSnap);
209
266
  alignSnap.oncontextmenu = e => { e.preventDefault(); };
210
- let alignGrid = this._getDomElement('alignGrid');
211
- alignGrid.onclick = () => { this._designerCanvas.alignOnGrid = !this._designerCanvas.alignOnGrid; alignGrid.style.backgroundColor = this._designerCanvas.alignOnGrid ? 'deepskyblue' : ''; };
212
- alignGrid.style.backgroundColor = this._designerCanvas.alignOnGrid ? 'deepskyblue' : '';
267
+ const alignGrid = this._getDomElement('alignGrid');
268
+ alignGrid.onclick = () => {
269
+ this._designerCanvas.alignOnGrid = !this._designerCanvas.alignOnGrid;
270
+ updateSnapButton(alignGrid, this._designerCanvas.alignOnGrid);
271
+ };
272
+ updateSnapButton(alignGrid, this._designerCanvas.alignOnGrid);
213
273
  alignGrid.oncontextmenu = e => {
214
274
  e.preventDefault();
215
275
  let res = prompt("raster size", this.designerCanvas.gridSize.toString());
@@ -220,6 +280,7 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
220
280
  }
221
281
  };
222
282
  this._lowertoolbar = this._getDomElement('lowertoolbar');
283
+ this._lowertoolbar.onwheel = event => event.stopPropagation();
223
284
  this._sVert.addEventListener('scrollbar-input', (e) => this._onScrollbar(e));
224
285
  this._sHor.addEventListener('scrollbar-input', (e) => this._onScrollbar(e));
225
286
  }
@@ -241,6 +302,11 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
241
302
  this._designerCanvas.zoomPoint(centerPoint, newZoom);
242
303
  }
243
304
  _configureZoomButton(button, direction) {
305
+ // Pointer presses already zoom on pointerdown; keyboard activation emits a click with detail 0.
306
+ button.onclick = event => {
307
+ if (event.detail === 0)
308
+ this._zoomStep(direction);
309
+ };
244
310
  button.onpointerdown = event => {
245
311
  if (!event.isPrimary || event.button != 0)
246
312
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"designerView.js","sourceRoot":"","sources":["../../../../src/elements/widgets/designerView/designerView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"designerView.js","sourceRoot":"","sources":["../../../../src/elements/widgets/designerView/designerView.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export class ElementDragTitleExtensionProvider {
12
12
  return new ElementDragTitleExtension(extensionManager, designerView, designItem, this._createTitleText);
13
13
  }
14
14
  static style = css `
15
- .svg-text-primary { stroke: none; color: white; font-family: monospace; }
15
+ .svg-text-primary { stroke: none; color: var(--wcd-color-text, white); font-family: monospace; }
16
16
  `;
17
17
  }
18
18
  //# sourceMappingURL=ElementDragTitleExtensionProvider.js.map
@@ -21,11 +21,16 @@ export declare class ResizeExtension extends AbstractExtension {
21
21
  private _initialLocalToCanvasMatrix;
22
22
  private _initialBorderBoxSize;
23
23
  private _initialFixedResizeAnchor;
24
+ private _currentAnchorHandle;
25
+ private _resizeStrategy;
26
+ private _resizeStrategyState;
24
27
  constructor(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, extendedItem: IDesignItem, resizeAllSelected: boolean);
25
28
  extend(cache: Record<string | symbol, any>, event?: Event): void;
26
29
  refresh(cache: Record<string | symbol, any>, event?: Event): void;
27
- _drawResizerOverlay(x: number, y: number, cursor: string, oldCircle?: SVGCircleElement): SVGCircleElement;
30
+ private _oppositeHandle;
31
+ _drawResizerOverlay(x: number, y: number, cursor: string, oldCircle?: SVGCircleElement, visibility?: 'show' | 'hide'): SVGCircleElement;
28
32
  _pointerActionTypeResize(circle: SVGCircleElement, event: PointerEvent, actionMode: string): void;
33
+ private _strategyContext;
29
34
  private _getLocalHandleDelta;
30
35
  private _getCurrentBorderBoxSize;
31
36
  private _getInitialSize;
@@ -38,9 +38,13 @@ export class ResizeExtension extends AbstractExtension {
38
38
  _initialLocalToCanvasMatrix = null;
39
39
  _initialBorderBoxSize = null;
40
40
  _initialFixedResizeAnchor = null;
41
+ _currentAnchorHandle = null;
42
+ _resizeStrategy;
43
+ _resizeStrategyState;
41
44
  constructor(extensionManager, designerCanvas, extendedItem, resizeAllSelected) {
42
45
  super(extensionManager, designerCanvas, extendedItem);
43
46
  this.resizeAllSelected = resizeAllSelected;
47
+ this._resizeStrategy = designerCanvas.serviceContainer.getLastServiceWhere('elementResizeStrategy', strategy => strategy.isHandledElement(extendedItem));
44
48
  }
45
49
  extend(cache, event) {
46
50
  this.refresh(cache, event);
@@ -54,25 +58,75 @@ export class ResizeExtension extends AbstractExtension {
54
58
  return;
55
59
  }
56
60
  if (this._valuesHaveChanges(this.designerCanvas.zoomFactor, transformedCornerPoints.p1.x, transformedCornerPoints.p1.y, transformedCornerPoints.p2.x, transformedCornerPoints.p2.y, transformedCornerPoints.p3.x, transformedCornerPoints.p3.y, transformedCornerPoints.p4.x, transformedCornerPoints.p4.y)) {
57
- this._circle1 = this._drawResizerOverlay(transformedCornerPoints.p1.x, transformedCornerPoints.p1.y, 'nw-resize', this._circle1);
58
- this._circle2 = this._drawResizerOverlay((transformedCornerPoints.p1.x + (transformedCornerPoints.p2.x - transformedCornerPoints.p1.x) / 2), (transformedCornerPoints.p1.y + (transformedCornerPoints.p2.y - transformedCornerPoints.p1.y) / 2), 'n-resize', this._circle2);
59
- this._circle3 = this._drawResizerOverlay(transformedCornerPoints.p2.x, transformedCornerPoints.p2.y, 'ne-resize', this._circle3);
60
- this._circle4 = this._drawResizerOverlay((transformedCornerPoints.p1.x + (transformedCornerPoints.p4.x - transformedCornerPoints.p1.x) / 2), (transformedCornerPoints.p1.y + (transformedCornerPoints.p4.y - transformedCornerPoints.p1.y) / 2), 'w-resize', this._circle4);
61
- this._circle5 = this._drawResizerOverlay(transformedCornerPoints.p4.x, transformedCornerPoints.p4.y, 'sw-resize', this._circle5);
62
- this._circle6 = this._drawResizerOverlay((transformedCornerPoints.p4.x + (transformedCornerPoints.p3.x - transformedCornerPoints.p4.x) / 2), (transformedCornerPoints.p4.y + (transformedCornerPoints.p3.y - transformedCornerPoints.p4.y) / 2), 's-resize', this._circle6);
63
- this._circle8 = this._drawResizerOverlay((transformedCornerPoints.p2.x + (transformedCornerPoints.p3.x - transformedCornerPoints.p2.x) / 2), (transformedCornerPoints.p2.y + (transformedCornerPoints.p3.y - transformedCornerPoints.p2.y) / 2), 'e-resize', this._circle8);
64
- this._circle7 = this._drawResizerOverlay(transformedCornerPoints.p3.x, transformedCornerPoints.p3.y, 'se-resize', this._circle7);
61
+ const points = {
62
+ 'nw-resize': transformedCornerPoints.p1,
63
+ 'n-resize': { x: (transformedCornerPoints.p1.x + transformedCornerPoints.p2.x) / 2, y: (transformedCornerPoints.p1.y + transformedCornerPoints.p2.y) / 2 },
64
+ 'ne-resize': transformedCornerPoints.p2,
65
+ 'w-resize': { x: (transformedCornerPoints.p1.x + transformedCornerPoints.p4.x) / 2, y: (transformedCornerPoints.p1.y + transformedCornerPoints.p4.y) / 2 },
66
+ 'sw-resize': transformedCornerPoints.p4,
67
+ 's-resize': { x: (transformedCornerPoints.p4.x + transformedCornerPoints.p3.x) / 2, y: (transformedCornerPoints.p4.y + transformedCornerPoints.p3.y) / 2 },
68
+ 'e-resize': { x: (transformedCornerPoints.p2.x + transformedCornerPoints.p3.x) / 2, y: (transformedCornerPoints.p2.y + transformedCornerPoints.p3.y) / 2 },
69
+ 'se-resize': transformedCornerPoints.p3,
70
+ };
71
+ const overlay = (handle, oldCircle) => {
72
+ let pointHandle = handle;
73
+ let visibility;
74
+ const originalHandle = this._actionModeStarted;
75
+ const effectiveHandle = this._currentAnchorHandle;
76
+ if (this._initialPoint && effectiveHandle && effectiveHandle !== originalHandle) {
77
+ if (handle === originalHandle) {
78
+ // Keep the circle that owns pointer capture alive and move it to
79
+ // the normalised endpoint after a signed-axis crossing.
80
+ pointHandle = effectiveHandle;
81
+ visibility = 'show';
82
+ }
83
+ else if (handle === effectiveHandle) {
84
+ if (this._oppositeHandle(originalHandle) === effectiveHandle) {
85
+ // Crossing both axes swaps the two endpoint circles.
86
+ pointHandle = originalHandle;
87
+ visibility = 'show';
88
+ }
89
+ else {
90
+ // A one-axis crossing already displays this endpoint through
91
+ // the captured circle above; suppress the duplicate.
92
+ visibility = 'hide';
93
+ }
94
+ }
95
+ }
96
+ const point = points[pointHandle];
97
+ return this._drawResizerOverlay(point.x, point.y, handle, oldCircle, visibility);
98
+ };
99
+ this._circle1 = overlay('nw-resize', this._circle1);
100
+ this._circle2 = overlay('n-resize', this._circle2);
101
+ this._circle3 = overlay('ne-resize', this._circle3);
102
+ this._circle4 = overlay('w-resize', this._circle4);
103
+ this._circle5 = overlay('sw-resize', this._circle5);
104
+ this._circle6 = overlay('s-resize', this._circle6);
105
+ this._circle8 = overlay('e-resize', this._circle8);
106
+ this._circle7 = overlay('se-resize', this._circle7);
65
107
  }
66
108
  }
67
- _drawResizerOverlay(x, y, cursor, oldCircle) {
109
+ _oppositeHandle(handle) {
110
+ const opposite = {
111
+ 'nw-resize': 'se-resize', 'n-resize': 's-resize', 'ne-resize': 'sw-resize',
112
+ 'w-resize': 'e-resize', 'sw-resize': 'ne-resize', 's-resize': 'n-resize',
113
+ 'e-resize': 'w-resize', 'se-resize': 'nw-resize'
114
+ };
115
+ return opposite[handle];
116
+ }
117
+ _drawResizerOverlay(x, y, cursor, oldCircle, visibility) {
68
118
  let circle = this._drawCircle(x, y, this.designerCanvas.serviceContainer.options.resizerPixelSize / this.designerCanvas.zoomFactor, 'svg-primary-resizer', oldCircle);
69
119
  circle.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
70
120
  if (!oldCircle) {
71
121
  circle.addEventListener(EventNames.PointerDown, event => this._pointerActionTypeResize(circle, event, cursor));
72
122
  circle.addEventListener(EventNames.PointerMove, event => this._pointerActionTypeResize(circle, event, cursor));
73
123
  circle.addEventListener(EventNames.PointerUp, event => this._pointerActionTypeResize(circle, event, cursor));
124
+ if (this._resizeStrategy)
125
+ circle.addEventListener('pointercancel', event => this._pointerActionTypeResize(circle, event, cursor));
74
126
  }
75
127
  circle.style.cursor = cursor;
128
+ circle.style.display = visibility === 'show' ? '' : visibility === 'hide' ? 'none'
129
+ : this._resizeStrategy && !this._resizeStrategy.getEnabledHandles(this.extendedItem).includes(cursor) ? 'none' : '';
76
130
  return circle;
77
131
  }
78
132
  _pointerActionTypeResize(circle, event, actionMode) {
@@ -92,9 +146,13 @@ export class ResizeExtension extends AbstractExtension {
92
146
  this._initialLocalToCanvasMatrix = getElementLocalToCanvasMatrix(this.extendedItem);
93
147
  this._initialBorderBoxSize = getElementSize(this.extendedItem.element);
94
148
  this._initialFixedResizeAnchor = this._getFixedResizeAnchor(this.extendedItem.element.getBoxQuads({ box: 'border', relativeTo: this.designerCanvas.canvas, iframes: this.designerCanvas.iframes })[0], actionMode);
149
+ this._currentAnchorHandle = actionMode;
95
150
  this._initialSizes = [];
96
151
  this._actionModeStarted = actionMode;
97
152
  this._initialSizes.push(this._getInitialSize(this.extendedItem.element));
153
+ if (this._resizeStrategy) {
154
+ this._resizeStrategyState = this._resizeStrategy.begin(this._strategyContext(this._initialSizes[0]));
155
+ }
98
156
  if (this.resizeAllSelected) {
99
157
  for (const designItem of this.designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
100
158
  this._initialSizes.push(this._getInitialSize(designItem.element));
@@ -243,10 +301,17 @@ export class ResizeExtension extends AbstractExtension {
243
301
  }
244
302
  break;
245
303
  }
246
- const currentBorderBoxSize = this._getCurrentBorderBoxSize(deltaX, deltaY);
304
+ let currentBorderBoxSize = this._getCurrentBorderBoxSize(deltaX, deltaY);
247
305
  if (!currentBorderBoxSize) {
248
306
  return;
249
307
  }
308
+ if (this._resizeStrategy) {
309
+ const strategySize = this._resizeStrategy.preview(this._strategyContext(currentBorderBoxSize), this._resizeStrategyState);
310
+ if (strategySize) {
311
+ currentBorderBoxSize = strategySize;
312
+ this._currentAnchorHandle = strategySize.anchorHandle ?? this._actionModeStarted;
313
+ }
314
+ }
250
315
  this._applyAnchorCorrection(currentBorderBoxSize);
251
316
  const resizedElements = [this.extendedItem, this.extendedItem.parent];
252
317
  if (this.resizeAllSelected)
@@ -263,8 +328,14 @@ export class ResizeExtension extends AbstractExtension {
263
328
  let cg = this.extendedItem.openGroup((this.resizeAllSelected && this.designerCanvas.instanceServiceContainer.selectionService.selectedElements.length > 1) ? "Resize Elements" : "Resize &lt;" + this.extendedItem.name + "&gt;");
264
329
  try {
265
330
  const element = this.extendedItem.element;
266
- this.extendedItem.setStyle('width', this.extendedItem.element.style.width);
267
- this.extendedItem.setStyle('height', this.extendedItem.element.style.height);
331
+ if (this._resizeStrategy) {
332
+ const currentSize = getElementSize(this.extendedItem.element);
333
+ this._resizeStrategy.commit(this._strategyContext(currentSize), this._resizeStrategyState);
334
+ }
335
+ else {
336
+ this.extendedItem.setStyle('width', this.extendedItem.element.style.width);
337
+ this.extendedItem.setStyle('height', this.extendedItem.element.style.height);
338
+ }
268
339
  let left = parseFloat(normalizeToAbsolutePosition(element, 'left'));
269
340
  let top = parseFloat(normalizeToAbsolutePosition(element, 'top'));
270
341
  const anchorCorrection = this._getAnchorCorrectionInParent(getElementSize(this.extendedItem.element));
@@ -302,9 +373,28 @@ export class ResizeExtension extends AbstractExtension {
302
373
  this._initialLocalToCanvasMatrix = null;
303
374
  this._initialBorderBoxSize = null;
304
375
  this._initialFixedResizeAnchor = null;
376
+ this._currentAnchorHandle = null;
377
+ this._resizeStrategyState = undefined;
378
+ break;
379
+ case 'pointercancel':
380
+ if (this._initialPoint && this._resizeStrategy && this._initialSizes) {
381
+ this._resizeStrategy.cancel(this._strategyContext(this._initialSizes[0]), this._resizeStrategyState);
382
+ }
383
+ this._initialSizes = null;
384
+ this._initialPoint = null;
385
+ this._resizeStrategyState = undefined;
386
+ this._currentAnchorHandle = null;
305
387
  break;
306
388
  }
307
389
  }
390
+ _strategyContext(currentSize) {
391
+ return {
392
+ designItem: this.extendedItem,
393
+ handle: this._actionModeStarted,
394
+ initialSize: this._initialSizes?.[0] ?? currentSize,
395
+ currentSize
396
+ };
397
+ }
308
398
  _getLocalHandleDelta(currentHandleCanvasPoint) {
309
399
  if (!this._initialHandleCanvasPoint || !this._initialLocalToCanvasMatrix) {
310
400
  return null;
@@ -414,7 +504,7 @@ export class ResizeExtension extends AbstractExtension {
414
504
  if (!this._initialFixedResizeAnchor) {
415
505
  return null;
416
506
  }
417
- const currentAnchorLocal = this._getFixedResizeAnchorLocal(currentBorderBoxSize, this._actionModeStarted);
507
+ const currentAnchorLocal = this._getFixedResizeAnchorLocal(currentBorderBoxSize, this._currentAnchorHandle ?? this._actionModeStarted);
418
508
  if (!currentAnchorLocal) {
419
509
  return null;
420
510
  }