@node-projects/web-component-designer 0.0.32 → 0.0.36

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 (210) hide show
  1. package/README.md +7 -0
  2. package/assets/images/chromeDevtools/LICENSE +27 -0
  3. package/assets/images/chromeDevtools/align-content-center-icon.svg +70 -0
  4. package/assets/images/chromeDevtools/align-content-flex-end-icon.svg +1 -0
  5. package/assets/images/chromeDevtools/align-content-flex-start-icon.svg +66 -0
  6. package/assets/images/chromeDevtools/align-content-space-around-icon.svg +1 -0
  7. package/assets/images/chromeDevtools/align-content-space-between-icon.svg +1 -0
  8. package/assets/images/chromeDevtools/align-content-space-evenly-icon.svg +1 -0
  9. package/assets/images/chromeDevtools/align-content-stretch-icon.svg +53 -0
  10. package/assets/images/chromeDevtools/align-items-baseline-icon.svg +1 -0
  11. package/assets/images/chromeDevtools/align-items-center-icon.svg +1 -0
  12. package/assets/images/chromeDevtools/align-items-end-icon.svg +1 -0
  13. package/assets/images/chromeDevtools/align-items-flex-end-icon.svg +1 -0
  14. package/assets/images/chromeDevtools/align-items-flex-start-icon.svg +57 -0
  15. package/assets/images/chromeDevtools/align-items-start-icon.svg +57 -0
  16. package/assets/images/chromeDevtools/align-items-stretch-icon.svg +1 -0
  17. package/assets/images/chromeDevtools/align-self-center-icon.svg +1 -0
  18. package/assets/images/chromeDevtools/align-self-flex-end-icon.svg +1 -0
  19. package/assets/images/chromeDevtools/align-self-flex-start-icon.svg +57 -0
  20. package/assets/images/chromeDevtools/align-self-stretch-icon.svg +1 -0
  21. package/assets/images/chromeDevtools/baseline-icon.svg +1 -0
  22. package/assets/images/chromeDevtools/flex-direction-column-icon.svg +1 -0
  23. package/assets/images/chromeDevtools/flex-direction-icon.svg +1 -0
  24. package/assets/images/chromeDevtools/flex-direction-row-icon.svg +1 -0
  25. package/assets/images/chromeDevtools/flex-nowrap-icon.svg +5 -0
  26. package/assets/images/chromeDevtools/flex-wrap-icon.svg +8 -0
  27. package/assets/images/chromeDevtools/info.txt +2 -0
  28. package/assets/images/chromeDevtools/justify-content-center-icon.svg +1 -0
  29. package/assets/images/chromeDevtools/justify-content-end-icon.svg +71 -0
  30. package/assets/images/chromeDevtools/justify-content-flex-end-icon.svg +71 -0
  31. package/assets/images/chromeDevtools/justify-content-flex-start-icon.svg +1 -0
  32. package/assets/images/chromeDevtools/justify-content-space-around-icon.svg +1 -0
  33. package/assets/images/chromeDevtools/justify-content-space-between-icon.svg +1 -0
  34. package/assets/images/chromeDevtools/justify-content-space-evenly-icon.svg +1 -0
  35. package/assets/images/chromeDevtools/justify-content-start-icon.svg +1 -0
  36. package/assets/images/chromeDevtools/justify-items-center-icon.svg +1 -0
  37. package/assets/images/chromeDevtools/justify-items-end-icon.svg +57 -0
  38. package/assets/images/chromeDevtools/justify-items-start-icon.svg +1 -0
  39. package/assets/images/chromeDevtools/justify-items-stretch-icon.svg +1 -0
  40. package/dist/commandHandling/CommandType.d.ts +1 -0
  41. package/dist/commandHandling/CommandType.js +1 -0
  42. package/dist/elements/controls/DesignerTabControl.js +94 -86
  43. package/dist/elements/controls/ImageButtonListSelector copy.d.ts +17 -0
  44. package/dist/elements/controls/ImageButtonListSelector copy.js +82 -0
  45. package/dist/elements/controls/ImageButtonListSelector.d.ts +17 -0
  46. package/dist/elements/controls/ImageButtonListSelector.js +81 -0
  47. package/dist/elements/controls/ThicknessEditor.d.ts +17 -0
  48. package/dist/elements/controls/ThicknessEditor.js +80 -0
  49. package/dist/elements/documentContainer.js +20 -13
  50. package/dist/elements/helper/CssAttributeParser.js +3 -3
  51. package/dist/elements/helper/CssCombiner.js +1 -1
  52. package/dist/elements/helper/IndentedTextWriter.js +3 -5
  53. package/dist/elements/helper/Screenshot.js +4 -0
  54. package/dist/elements/helper/contextMenu/ContextMenuHelper.js +59 -53
  55. package/dist/elements/helper/w3color.js +15 -17
  56. package/dist/elements/item/DesignItem.js +21 -15
  57. package/dist/elements/services/BaseServiceContainer.js +1 -3
  58. package/dist/elements/services/DefaultServiceBootstrap.js +2 -0
  59. package/dist/elements/services/GlobalContext.js +8 -6
  60. package/dist/elements/services/InstanceServiceContainer.js +1 -4
  61. package/dist/elements/services/ServiceContainer.d.ts +3 -0
  62. package/dist/elements/services/ServiceContainer.js +11 -10
  63. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +1 -1
  64. package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +5 -5
  65. package/dist/elements/services/contentService/ContentService.js +2 -1
  66. package/dist/elements/services/copyPasteService/CopyPasteService.d.ts +8 -0
  67. package/dist/elements/services/copyPasteService/CopyPasteService.js +12 -0
  68. package/dist/elements/services/copyPasteService/ICopyPasteService copy.d.ts +0 -0
  69. package/dist/elements/services/copyPasteService/ICopyPasteService copy.js +1 -0
  70. package/dist/elements/services/copyPasteService/ICopyPasteService.d.ts +7 -0
  71. package/dist/elements/services/copyPasteService/ICopyPasteService.js +1 -0
  72. package/dist/elements/services/elementsService/JsonFileElementsService.js +14 -10
  73. package/dist/elements/services/elementsService/PreDefinedElementsService.js +6 -4
  74. package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +2 -1
  75. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.js +3 -0
  76. package/dist/elements/services/placementService/DefaultPlacementService.d.ts +3 -4
  77. package/dist/elements/services/placementService/DefaultPlacementService.js +10 -10
  78. package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +3 -4
  79. package/dist/elements/services/placementService/FlexBoxPlacementService.js +3 -3
  80. package/dist/elements/services/placementService/GridPlacementService.d.ts +3 -4
  81. package/dist/elements/services/placementService/GridPlacementService.js +3 -3
  82. package/dist/elements/services/placementService/IPlacementService.d.ts +3 -4
  83. package/dist/elements/services/popupService/PopupService.js +3 -1
  84. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +10 -0
  85. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +4 -1
  86. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.d.ts +8 -0
  87. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.js +40 -0
  88. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.d.ts +8 -0
  89. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.js +40 -0
  90. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.js +7 -6
  91. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.js +6 -6
  92. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.js +1 -2
  93. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.d.ts +8 -0
  94. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +14 -0
  95. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +1 -3
  96. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +1 -4
  97. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +21 -23
  98. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +3 -2
  99. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +194 -184
  100. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +2 -2
  101. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +1 -4
  102. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.js +1 -4
  103. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +72 -75
  104. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.js +1 -4
  105. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +1 -3
  106. package/dist/elements/services/selectionService/SelectionService.js +3 -4
  107. package/dist/elements/services/undoService/ChangeGroup.js +6 -2
  108. package/dist/elements/services/undoService/UndoService.js +3 -5
  109. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +5 -0
  110. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +5 -0
  111. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +5 -0
  112. package/dist/elements/services/undoService/transactionItems/InsertAction.js +4 -0
  113. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +7 -0
  114. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js +5 -0
  115. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +27 -24
  116. package/dist/elements/widgets/bindings/BindingsEditor.js +6 -6
  117. package/dist/elements/widgets/codeView/code-view-ace.js +12 -7
  118. package/dist/elements/widgets/codeView/code-view-code-mirror.js +18 -13
  119. package/dist/elements/widgets/codeView/code-view-monaco.js +16 -11
  120. package/dist/elements/widgets/demoView/demoView.js +24 -22
  121. package/dist/elements/widgets/designerView/DesignContext.js +1 -3
  122. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +2 -2
  123. package/dist/elements/widgets/designerView/Snaplines.js +8 -5
  124. package/dist/elements/widgets/designerView/designerCanvas.d.ts +5 -4
  125. package/dist/elements/widgets/designerView/designerCanvas.js +131 -113
  126. package/dist/elements/widgets/designerView/designerView.d.ts +1 -0
  127. package/dist/elements/widgets/designerView/designerView.js +117 -81
  128. package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +5 -1
  129. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.js +2 -0
  130. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +4 -6
  131. package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.d.ts +10 -0
  132. package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.js +29 -0
  133. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.d.ts +10 -0
  134. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.js +15 -0
  135. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +3 -5
  136. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +11 -8
  137. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +1 -0
  138. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.js +1 -0
  139. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.js +3 -5
  140. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.js +5 -7
  141. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.js +1 -0
  142. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js +3 -5
  143. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.js +1 -0
  144. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.js +3 -5
  145. package/dist/elements/widgets/designerView/extensions/PathExtension.js +4 -0
  146. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.d.ts +10 -0
  147. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.js +29 -0
  148. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.d.ts +10 -0
  149. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.js +15 -0
  150. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.d.ts +10 -0
  151. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.js +15 -0
  152. package/dist/elements/widgets/designerView/extensions/PositionExtension.js +4 -0
  153. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +2 -0
  154. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +14 -4
  155. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +1 -0
  156. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +3 -5
  157. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +1 -0
  158. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +3 -5
  159. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +3 -0
  160. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +3 -5
  161. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +1 -3
  162. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.d.ts +22 -0
  163. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js +82 -0
  164. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.d.ts +22 -0
  165. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.js +78 -0
  166. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.d.ts +7 -0
  167. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.js +20 -0
  168. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.d.ts +7 -0
  169. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.js +20 -0
  170. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.d.ts +7 -0
  171. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.js +20 -0
  172. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.d.ts +5 -0
  173. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.js +1 -0
  174. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.d.ts +9 -0
  175. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.js +1 -0
  176. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.d.ts +5 -0
  177. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js +1 -0
  178. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.d.ts +9 -0
  179. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js +1 -0
  180. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.d.ts +7 -0
  181. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.js +20 -0
  182. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.d.ts +7 -0
  183. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.js +20 -0
  184. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.js +3 -3
  185. package/dist/elements/widgets/designerView/overlayLayerView.js +28 -24
  186. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +5 -1
  187. package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +0 -1
  188. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +4 -3
  189. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.d.ts +0 -1
  190. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +4 -5
  191. package/dist/elements/widgets/designerView/tools/PanTool.js +1 -3
  192. package/dist/elements/widgets/designerView/tools/PickColorTool.js +1 -3
  193. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +2 -1
  194. package/dist/elements/widgets/designerView/tools/PointerTool.js +75 -63
  195. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +10 -9
  196. package/dist/elements/widgets/designerView/tools/TextTool.js +1 -1
  197. package/dist/elements/widgets/designerView/tools/ZoomTool.js +1 -3
  198. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.js +5 -4
  199. package/dist/elements/widgets/paletteView/paletteElements.js +45 -45
  200. package/dist/elements/widgets/paletteView/paletteTreeView.js +53 -51
  201. package/dist/elements/widgets/paletteView/paletteView.js +9 -8
  202. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +37 -18
  203. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +14 -10
  204. package/dist/elements/widgets/treeView/treeView.js +102 -96
  205. package/dist/elements/widgets/treeView/treeViewExtended.js +72 -70
  206. package/dist/index.d.ts +2 -1
  207. package/dist/index.js +1 -0
  208. package/dist/interfaces/IDesignerMousePoint.d.ts +2 -0
  209. package/package.json +1 -1
  210. package/tsconfig.json +1 -1
@@ -19,7 +19,7 @@ export class DefaultPlacementService {
19
19
  getElementOffset(container, designItem) {
20
20
  return container.element.getBoundingClientRect();
21
21
  }
22
- calculateTrack(event, placementView, startPoint, newPoint, item) {
22
+ calculateTrack(event, placementView, startPoint, offsetInControl, newPoint, item) {
23
23
  let trackX = newPoint.x - startPoint.x;
24
24
  let trackY = newPoint.y - startPoint.y;
25
25
  if (!event.ctrlKey) {
@@ -29,15 +29,15 @@ export class DefaultPlacementService {
29
29
  }
30
30
  else if (placementView.alignOnSnap) {
31
31
  let rect = item.element.getBoundingClientRect();
32
- let newPos = placementView.snapLines.snapToPosition({ x: newPoint.originalX - startPoint.offsetInControlX, y: newPoint.originalY - startPoint.offsetInControlY }, { width: rect.width, height: rect.height }, { x: trackX > 0 ? 1 : -1, y: trackY > 0 ? 1 : -1 });
32
+ let newPos = placementView.snapLines.snapToPosition({ x: newPoint.x - offsetInControl.x, y: newPoint.y - offsetInControl.y }, { width: rect.width, height: rect.height }, { x: trackX > 0 ? 1 : -1, y: trackY > 0 ? 1 : -1 });
33
33
  if (newPos.x !== null) {
34
- trackX = newPos.x - Math.round(startPoint.originalX) + Math.round(startPoint.offsetInControlX);
34
+ trackX = newPos.x - Math.round(startPoint.x) + Math.round(offsetInControl.x);
35
35
  }
36
36
  else {
37
37
  trackX = Math.round(trackX);
38
38
  }
39
39
  if (newPos.y !== null) {
40
- trackY = newPos.y - Math.round(startPoint.originalY) + Math.round(startPoint.offsetInControlY);
40
+ trackY = newPos.y - Math.round(startPoint.y) + Math.round(offsetInControl.y);
41
41
  }
42
42
  else {
43
43
  trackY = Math.round(trackY);
@@ -46,7 +46,7 @@ export class DefaultPlacementService {
46
46
  }
47
47
  return { x: trackX, y: trackY };
48
48
  }
49
- placePoint(event, placementView, container, startPoint, newPoint, items) {
49
+ placePoint(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
50
50
  let trackX = newPoint.x;
51
51
  let trackY = newPoint.y;
52
52
  if (!event.ctrlKey) {
@@ -55,7 +55,7 @@ export class DefaultPlacementService {
55
55
  trackY = Math.round(trackY / placementView.gridSize) * placementView.gridSize;
56
56
  }
57
57
  else if (placementView.alignOnSnap) {
58
- let newPos = placementView.snapLines.snapToPosition({ x: newPoint.originalX - startPoint.offsetInControlX, y: newPoint.originalY - startPoint.offsetInControlY }, null, { x: trackX > 0 ? 1 : -1, y: trackY > 0 ? 1 : -1 });
58
+ let newPos = placementView.snapLines.snapToPosition({ x: newPoint.x - offsetInControl.x, y: newPoint.y - offsetInControl.y }, null, { x: trackX > 0 ? 1 : -1, y: trackY > 0 ? 1 : -1 });
59
59
  if (newPos.x !== null) {
60
60
  trackX = newPos.x;
61
61
  }
@@ -72,10 +72,10 @@ export class DefaultPlacementService {
72
72
  }
73
73
  return { x: trackX, y: trackY };
74
74
  }
75
- place(event, placementView, container, startPoint, newPoint, items) {
75
+ place(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
76
76
  //TODO:, this should revert all undo actions while active
77
77
  //maybe a undo actions returns itself or an id so it could be changed?
78
- let track = this.calculateTrack(event, placementView, startPoint, newPoint, items[0]);
78
+ let track = this.calculateTrack(event, placementView, startPoint, offsetInControl, newPoint, items[0]);
79
79
  //TODO: -> what is if a transform already exists -> backup existing style.?
80
80
  for (const designItem of items) {
81
81
  designItem.element.style.transform = 'translate(' + track.x + 'px, ' + track.y + 'px)';
@@ -85,8 +85,8 @@ export class DefaultPlacementService {
85
85
  }
86
86
  leaveContainer(container, items) {
87
87
  }
88
- finishPlace(event, placementView, container, startPoint, newPoint, items) {
89
- let track = this.calculateTrack(event, placementView, startPoint, newPoint, items[0]);
88
+ finishPlace(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
89
+ let track = this.calculateTrack(event, placementView, startPoint, offsetInControl, newPoint, items[0]);
90
90
  for (const designItem of items) {
91
91
  let movedElement = designItem.element;
92
92
  let oldLeft = parseInt(movedElement.style.left);
@@ -1,4 +1,3 @@
1
- import { IDesignerMousePoint } from '../../../interfaces/IDesignerMousePoint.js';
2
1
  import { IPoint } from '../../../interfaces/IPoint.js';
3
2
  import { IDesignItem } from '../../item/IDesignItem.js';
4
3
  import { IPlacementView } from '../../widgets/designerView/IPlacementView.js';
@@ -10,7 +9,7 @@ export declare class FlexBoxPlacementService implements IPlacementService {
10
9
  canEnter(container: IDesignItem, items: IDesignItem[]): boolean;
11
10
  canLeave(container: IDesignItem, items: IDesignItem[]): boolean;
12
11
  getElementOffset(container: IDesignItem, designItem?: IDesignItem): IPoint;
13
- placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): IPoint;
14
- place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): void;
15
- finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): void;
12
+ placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): IPoint;
13
+ place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
14
+ finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
16
15
  }
@@ -18,11 +18,11 @@ export class FlexBoxPlacementService {
18
18
  //TODO: offset could be bigger, when it was in a other cell???
19
19
  return container.element.getBoundingClientRect();
20
20
  }
21
- placePoint(event, placementView, container, startPoint, newPoint, items) {
21
+ placePoint(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
22
22
  return null;
23
23
  }
24
- place(event, placementView, container, startPoint, newPoint, items) {
24
+ place(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
25
25
  }
26
- finishPlace(event, placementView, container, startPoint, newPoint, items) {
26
+ finishPlace(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
27
27
  }
28
28
  }
@@ -1,7 +1,6 @@
1
1
  import type { IPoint } from '../../../interfaces/IPoint.js';
2
2
  import type { IPlacementService } from './IPlacementService.js';
3
3
  import type { IDesignItem } from '../../item/IDesignItem.js';
4
- import { IDesignerMousePoint } from '../../../interfaces/IDesignerMousePoint.js';
5
4
  import { IPlacementView } from '../../widgets/designerView/IPlacementView.js';
6
5
  export declare class GridPlacementService implements IPlacementService {
7
6
  enterContainer(container: IDesignItem, items: IDesignItem[]): void;
@@ -10,7 +9,7 @@ export declare class GridPlacementService implements IPlacementService {
10
9
  canEnter(container: IDesignItem, items: IDesignItem[]): boolean;
11
10
  canLeave(container: IDesignItem, items: IDesignItem[]): boolean;
12
11
  getElementOffset(container: IDesignItem, designItem?: IDesignItem): IPoint;
13
- placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): IPoint;
14
- place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): void;
15
- finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): void;
12
+ placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): IPoint;
13
+ place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
14
+ finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
16
15
  }
@@ -18,11 +18,11 @@ export class GridPlacementService {
18
18
  //TODO: offset could be bigger, when it was in a other cell???
19
19
  return container.element.getBoundingClientRect();
20
20
  }
21
- placePoint(event, placementView, container, startPoint, newPoint, items) {
21
+ placePoint(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
22
22
  return null;
23
23
  }
24
- place(event, placementView, container, startPoint, newPoint, items) {
24
+ place(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
25
25
  }
26
- finishPlace(event, placementView, container, startPoint, newPoint, items) {
26
+ finishPlace(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
27
27
  }
28
28
  }
@@ -1,7 +1,6 @@
1
1
  import { IService } from "../IService";
2
2
  import { IDesignItem } from "../../item/IDesignItem";
3
3
  import { IPlacementView } from "../../widgets/designerView/IPlacementView";
4
- import { IDesignerMousePoint } from "../../../interfaces/IDesignerMousePoint";
5
4
  import { IPoint } from "../../../interfaces/IPoint";
6
5
  export interface IPlacementService extends IService {
7
6
  serviceForContainer(container: IDesignItem): any;
@@ -10,7 +9,7 @@ export interface IPlacementService extends IService {
10
9
  enterContainer(container: IDesignItem, items: IDesignItem[]): any;
11
10
  leaveContainer(container: IDesignItem, items: IDesignItem[]): any;
12
11
  getElementOffset(container: IDesignItem, designItem?: IDesignItem): IPoint;
13
- placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): IPoint;
14
- place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): any;
15
- finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IDesignerMousePoint, newPoint: IDesignerMousePoint, items: IDesignItem[]): any;
12
+ placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): IPoint;
13
+ place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): any;
14
+ finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): any;
16
15
  }
@@ -1,8 +1,10 @@
1
1
  export class PopupService {
2
+ container;
3
+ zindex;
4
+ ;
2
5
  constructor(container) {
3
6
  this.container = container;
4
7
  }
5
- ;
6
8
  showPopup(element, popupPlacement) {
7
9
  this.container.appendChild(element);
8
10
  this.bringToFront(element);
@@ -5,6 +5,8 @@ import { NumberPropertyEditor } from "./propertyEditors/NumberPropertyEditor";
5
5
  import { SelectPropertyEditor } from "./propertyEditors/SelectPropertyEditor";
6
6
  import { TextPropertyEditor } from './propertyEditors/TextPropertyEditor';
7
7
  import { BooleanPropertyEditor } from './propertyEditors/BooleanPropertyEditor';
8
+ import { ImageButtonListPropertyEditor } from './propertyEditors/ImageButtonListPropertyEditor';
9
+ import { ThicknessPropertyEditor } from "./propertyEditors/ThicknessPropertyEditor.js";
8
10
  export class DefaultEditorTypesService {
9
11
  getEditorForProperty(property) {
10
12
  if (property.createEditor)
@@ -38,6 +40,14 @@ export class DefaultEditorTypesService {
38
40
  {
39
41
  return new BooleanPropertyEditor(property);
40
42
  }
43
+ case "img-list":
44
+ {
45
+ return new ImageButtonListPropertyEditor(property);
46
+ }
47
+ case "thickness":
48
+ {
49
+ return new ThicknessPropertyEditor(property);
50
+ }
41
51
  case "css-length":
42
52
  case "thickness":
43
53
  case "string":
@@ -1,8 +1,11 @@
1
1
  import { ValueType } from '../ValueType';
2
2
  import { PropertyChangeAction } from "../../undoService/transactionItems/PropertyChangeAction";
3
3
  export class BasePropertyEditor {
4
+ element;
5
+ property;
6
+ designItems;
7
+ disableChangeNotification = false;
4
8
  constructor(property) {
5
- this.disableChangeNotification = false;
6
9
  this.property = property;
7
10
  }
8
11
  _valueChanged(newValue) {
@@ -0,0 +1,8 @@
1
+ import { IProperty } from "../IProperty";
2
+ import { BasePropertyEditor } from './BasePropertyEditor';
3
+ import { ValueType } from "../ValueType";
4
+ import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
5
+ export declare class ImageButtonListPropertyEditor extends BasePropertyEditor<ImageButtonListSelector> {
6
+ constructor(property: IProperty);
7
+ refreshValue(valueType: ValueType, value: any): void;
8
+ }
@@ -0,0 +1,40 @@
1
+ import { BasePropertyEditor } from './BasePropertyEditor';
2
+ import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
3
+ import { PropertiesHelper } from "../services/PropertiesHelper.js";
4
+ import { assetsPath } from "../../../../Constants.js";
5
+ export class ImageButtonListPropertyEditor extends BasePropertyEditor {
6
+ constructor(property) {
7
+ super(property);
8
+ const selector = new ImageButtonListSelector();
9
+ selector.property = property.name;
10
+ selector.unsetValue = property.defaultValue;
11
+ const propName = PropertiesHelper.camelToDashCase(property.name);
12
+ if (property.type == 'enum') {
13
+ for (let v of property.enumValues) {
14
+ let button = document.createElement("button");
15
+ button.dataset.value = v[1];
16
+ let img = document.createElement("img");
17
+ img.title = v[1];
18
+ img.src = assetsPath + 'images/chromeDevtools/' + propName + '-' + v[1] + '-icon.svg';
19
+ button.appendChild(img);
20
+ selector.appendChild(button);
21
+ }
22
+ }
23
+ else {
24
+ for (let v of property.values) {
25
+ let button = document.createElement("button");
26
+ button.dataset.value = v;
27
+ let img = document.createElement("img");
28
+ img.title = v;
29
+ img.src = assetsPath + 'images/chromeDevtools/' + propName + '-' + v + '-icon.svg';
30
+ button.appendChild(img);
31
+ selector.appendChild(button);
32
+ }
33
+ }
34
+ selector.valueChanged.on((e) => this._valueChanged(e.newValue));
35
+ this.element = selector;
36
+ }
37
+ refreshValue(valueType, value) {
38
+ this.element.value = value;
39
+ }
40
+ }
@@ -0,0 +1,8 @@
1
+ import { IProperty } from "../IProperty";
2
+ import { BasePropertyEditor } from './BasePropertyEditor';
3
+ import { ValueType } from "../ValueType";
4
+ import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
5
+ export declare class ImageButtonListPropertyEditor extends BasePropertyEditor<ImageButtonListSelector> {
6
+ constructor(property: IProperty);
7
+ refreshValue(valueType: ValueType, value: any): void;
8
+ }
@@ -0,0 +1,40 @@
1
+ import { BasePropertyEditor } from './BasePropertyEditor';
2
+ import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
3
+ import { PropertiesHelper } from "../services/PropertiesHelper.js";
4
+ import { assetsPath } from "../../../../Constants.js";
5
+ export class ImageButtonListPropertyEditor extends BasePropertyEditor {
6
+ constructor(property) {
7
+ super(property);
8
+ const selector = new ImageButtonListSelector();
9
+ selector.property = property.name;
10
+ selector.unsetValue = property.defaultValue;
11
+ const propName = PropertiesHelper.camelToDashCase(property.name);
12
+ if (property.type == 'enum') {
13
+ for (let v of property.enumValues) {
14
+ let button = document.createElement("button");
15
+ button.dataset.value = v[1];
16
+ let img = document.createElement("img");
17
+ img.title = v[1];
18
+ img.src = assetsPath + 'images/chromeDevtools/' + propName + '-' + v[1] + '-icon.svg';
19
+ button.appendChild(img);
20
+ selector.appendChild(button);
21
+ }
22
+ }
23
+ else {
24
+ for (let v of property.values) {
25
+ let button = document.createElement("button");
26
+ button.dataset.value = v;
27
+ let img = document.createElement("img");
28
+ img.title = v;
29
+ img.src = assetsPath + 'images/chromeDevtools/' + propName + '-' + v + '-icon.svg';
30
+ button.appendChild(img);
31
+ selector.appendChild(button);
32
+ }
33
+ }
34
+ selector.valueChanged.on((e) => this._valueChanged(e.newValue));
35
+ this.element = selector;
36
+ }
37
+ refreshValue(valueType, value) {
38
+ this.element.value = value;
39
+ }
40
+ }
@@ -1,6 +1,13 @@
1
1
  import { BasePropertyEditor } from './BasePropertyEditor';
2
2
  import { html } from '@node-projects/base-custom-webcomponent';
3
3
  export class JsonPropertyEditor extends BasePropertyEditor {
4
+ static template = html `
5
+ <div style="display: flex;">
6
+ <input id="input" type="text">
7
+ <button style="width: 30px;">...</button>
8
+ </div>
9
+ `;
10
+ _input;
4
11
  constructor(property) {
5
12
  super(property);
6
13
  let el = JsonPropertyEditor.template.content.cloneNode(true);
@@ -12,9 +19,3 @@ export class JsonPropertyEditor extends BasePropertyEditor {
12
19
  this._input.value = value;
13
20
  }
14
21
  }
15
- JsonPropertyEditor.template = html `
16
- <div style="display: flex;">
17
- <input id="input" type="text">
18
- <button style="width: 30px;">...</button>
19
- </div>
20
- `;
@@ -1,13 +1,13 @@
1
1
  import { html, BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
2
2
  export class JsonPropertyPopupEditor extends BaseCustomWebComponentConstructorAppend {
3
- constructor() {
4
- super();
5
- //codeview
6
- }
7
- }
8
- JsonPropertyPopupEditor.template = html `
3
+ static template = html `
9
4
  <div style="display: flex;">
10
5
  <input id="input" type="text">
11
6
  <button style="width: 30px;">...</button>
12
7
  </div>
13
8
  `;
9
+ constructor() {
10
+ super();
11
+ //codeview
12
+ }
13
+ }
@@ -6,9 +6,8 @@ export class TextPropertyEditor extends BasePropertyEditor {
6
6
  element.type = "text";
7
7
  element.onchange = (e) => this._valueChanged(element.value);
8
8
  element.onfocus = (e) => {
9
- var _a;
10
9
  element.selectionStart = 0;
11
- element.selectionEnd = (_a = element.value) === null || _a === void 0 ? void 0 : _a.length;
10
+ element.selectionEnd = element.value?.length;
12
11
  };
13
12
  this.element = element;
14
13
  }
@@ -0,0 +1,8 @@
1
+ import { IProperty } from "../IProperty";
2
+ import { BasePropertyEditor } from './BasePropertyEditor';
3
+ import { ValueType } from "../ValueType";
4
+ import { ThicknessEditor } from '../../../controls/ThicknessEditor';
5
+ export declare class ThicknessPropertyEditor extends BasePropertyEditor<ThicknessEditor> {
6
+ constructor(property: IProperty);
7
+ refreshValue(valueType: ValueType, value: any): void;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { BasePropertyEditor } from './BasePropertyEditor';
2
+ import { ThicknessEditor } from '../../../controls/ThicknessEditor';
3
+ export class ThicknessPropertyEditor extends BasePropertyEditor {
4
+ constructor(property) {
5
+ super(property);
6
+ const selector = new ThicknessEditor();
7
+ selector.property = property.name;
8
+ selector.valueChanged.on((e) => this._valueChanged(e.newValue));
9
+ this.element = selector;
10
+ }
11
+ refreshValue(valueType, value) {
12
+ this.element.value = value;
13
+ }
14
+ }
@@ -1,8 +1,6 @@
1
1
  import { ValueType } from "../ValueType";
2
2
  export class AttributesPropertiesService {
3
- constructor() {
4
- this.name = "attributes";
5
- }
3
+ name = "attributes";
6
4
  isHandledElement(designItem) {
7
5
  return true;
8
6
  }
@@ -1,10 +1,7 @@
1
1
  import { BaseCustomWebComponentLazyAppend, BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
2
2
  import { AbstractBasePropertiesService } from './AbstractBasePropertiesService';
3
3
  export class BaseCustomWebComponentPropertiesService extends AbstractBasePropertiesService {
4
- constructor() {
5
- super(...arguments);
6
- this.name = "baseCustomWebComponent";
7
- }
4
+ name = "baseCustomWebComponent";
8
5
  isHandledElement(designItem) {
9
6
  return designItem.element instanceof BaseCustomWebComponentLazyAppend || designItem.element instanceof BaseCustomWebComponentConstructorAppend;
10
7
  }
@@ -1,28 +1,26 @@
1
1
  import { ValueType } from "../ValueType";
2
2
  export class CommonPropertiesService {
3
- constructor() {
4
- //@ts-ignore
5
- this.commonProperties = [
6
- {
7
- name: "id",
8
- type: "string",
9
- service: this
10
- }, {
11
- name: "class",
12
- type: "string",
13
- service: this
14
- }, {
15
- name: "title",
16
- type: "string",
17
- service: this
18
- }, {
19
- name: "tabindex",
20
- type: "number",
21
- service: this
22
- }
23
- ];
24
- this.name = "common";
25
- }
3
+ //@ts-ignore
4
+ commonProperties = [
5
+ {
6
+ name: "id",
7
+ type: "string",
8
+ service: this
9
+ }, {
10
+ name: "class",
11
+ type: "string",
12
+ service: this
13
+ }, {
14
+ name: "title",
15
+ type: "string",
16
+ service: this
17
+ }, {
18
+ name: "tabindex",
19
+ type: "number",
20
+ service: this
21
+ }
22
+ ];
23
+ name = "common";
26
24
  isHandledElement(designItem) {
27
25
  return true;
28
26
  }
@@ -6,8 +6,9 @@ export declare class CssPropertiesService implements IPropertiesService {
6
6
  private styles;
7
7
  private alignment;
8
8
  private grid;
9
- name: 'alignment' | 'styles' | 'grid';
10
- constructor(name: 'alignment' | 'styles' | 'grid');
9
+ private flex;
10
+ name: 'set-styles' | 'alignment' | 'styles' | 'grid' | 'flex';
11
+ constructor(name: 'set-styles' | 'alignment' | 'styles' | 'grid' | 'flex');
11
12
  isHandledElement(designItem: IDesignItem): boolean;
12
13
  getProperty(designItem: IDesignItem, name: string): IProperty;
13
14
  getProperties(designItem: IDesignItem): IProperty[];