@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
@@ -2,200 +2,210 @@ import { ValueType } from '../ValueType';
2
2
  import { NodeType } from '../../../item/NodeType';
3
3
  import { BindingTarget } from '../../../item/BindingTarget.js';
4
4
  export class CssPropertiesService {
5
+ //@ts-ignore
6
+ styles = [
7
+ {
8
+ name: "color",
9
+ type: "color",
10
+ service: this
11
+ }, {
12
+ name: "background-color",
13
+ type: "color",
14
+ service: this
15
+ }, {
16
+ name: "box-sizing",
17
+ type: "list",
18
+ values: ["border-box", "content-box"],
19
+ service: this
20
+ }, {
21
+ name: "border",
22
+ type: "string",
23
+ default: "0px none rbg(0,0,0)",
24
+ service: this
25
+ }, {
26
+ name: "box-shadow",
27
+ type: "string",
28
+ default: "none",
29
+ service: this
30
+ }, {
31
+ name: "opacity",
32
+ type: "number",
33
+ min: 0,
34
+ max: 1,
35
+ step: 0.1,
36
+ service: this
37
+ }, {
38
+ name: "padding",
39
+ type: "thickness",
40
+ service: this
41
+ }, {
42
+ name: "margin",
43
+ type: "thickness",
44
+ service: this
45
+ }, {
46
+ name: "position",
47
+ type: "list",
48
+ values: ["static", "relative", "absolute"],
49
+ service: this
50
+ }, {
51
+ name: "left",
52
+ type: "css-length",
53
+ service: this
54
+ }, {
55
+ name: "top",
56
+ type: "css-length",
57
+ service: this
58
+ }, {
59
+ name: "right",
60
+ type: "css-length",
61
+ service: this
62
+ }, {
63
+ name: "bottom",
64
+ type: "css-length",
65
+ service: this
66
+ }, {
67
+ name: "width",
68
+ type: "css-length",
69
+ service: this
70
+ }, {
71
+ name: "height",
72
+ type: "css-length",
73
+ service: this
74
+ }, {
75
+ name: "font-size",
76
+ type: "css-length",
77
+ service: this
78
+ }, {
79
+ name: "font-weight",
80
+ type: "list",
81
+ values: ["normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900", "lighter", "bolder"],
82
+ service: this
83
+ }
84
+ ];
85
+ //@ts-ignore
86
+ alignment = [
87
+ {
88
+ name: "display",
89
+ type: "list",
90
+ values: ["block", "inline-block", "flex", "contents", "grid", "inherit", "initial", "none"],
91
+ service: this
92
+ }, {
93
+ name: "position",
94
+ type: "list",
95
+ values: ["static", "relative", "absolute"],
96
+ service: this
97
+ }, {
98
+ name: "inset",
99
+ type: "thickness",
100
+ service: this
101
+ }, {
102
+ name: "margin",
103
+ type: "thickness",
104
+ service: this
105
+ }, {
106
+ name: "padding",
107
+ type: "thickness",
108
+ service: this
109
+ }
110
+ ];
111
+ //@ts-ignore
112
+ grid = [
113
+ {
114
+ name: "display",
115
+ type: "list",
116
+ values: ["block", "inline-block", "flex", "contents", "grid", "inherit", "initial", "none"],
117
+ service: this
118
+ }, {
119
+ name: "grid-template-columns",
120
+ type: "string",
121
+ service: this
122
+ }, {
123
+ name: "grid-template-rows",
124
+ type: "string",
125
+ service: this
126
+ }, {
127
+ name: "column-gap",
128
+ type: "css-length",
129
+ service: this
130
+ }, {
131
+ name: "row-gap",
132
+ type: "css-length",
133
+ service: this
134
+ }, {
135
+ name: "align-content",
136
+ type: "img-list",
137
+ values: ["center", "space-between", "space-around", "space-evenly", "stretch"],
138
+ service: this
139
+ }, {
140
+ name: "justify-content",
141
+ type: "img-list",
142
+ values: ["center", "start", "end", "space-between", "space-around", "space-evenly"],
143
+ service: this
144
+ }, {
145
+ name: "align-items",
146
+ type: "img-list",
147
+ values: ["center", "start", "end", "stretch", "baseline"],
148
+ service: this
149
+ }, {
150
+ name: "justify-items",
151
+ type: "img-list",
152
+ values: ["center", "start", "end", "stretch"],
153
+ service: this
154
+ }
155
+ ];
156
+ //@ts-ignore
157
+ flex = [
158
+ {
159
+ name: "display",
160
+ type: "list",
161
+ values: ["block", "inline-block", "flex", "contents", "grid", "inherit", "initial", "none"],
162
+ service: this
163
+ }, {
164
+ name: "flex-direction",
165
+ type: "img-list",
166
+ values: ["row", "column"],
167
+ service: this
168
+ }, {
169
+ name: "flex-wrap",
170
+ type: "img-list",
171
+ values: ["nowrap", "wrap"],
172
+ service: this
173
+ }, {
174
+ name: "align-content",
175
+ type: "img-list",
176
+ values: ["center", "flex-start", "flex-end", "space-between", "space-around", "stretch"],
177
+ service: this
178
+ }, {
179
+ name: "justify-content",
180
+ type: "img-list",
181
+ values: ["center", "flex-start", "flex-end", "space-between", "space-around", "space-evenly"],
182
+ service: this
183
+ }, {
184
+ name: "align-items",
185
+ type: "img-list",
186
+ values: ["center", "flex-start", "flex-end", "stretch", "baseline"],
187
+ service: this
188
+ }
189
+ ];
190
+ name;
5
191
  constructor(name) {
6
- //@ts-ignore
7
- this.styles = [
8
- {
9
- name: "color",
10
- type: "color",
11
- service: this
12
- }, {
13
- name: "background-color",
14
- type: "color",
15
- service: this
16
- }, {
17
- name: "box-sizing",
18
- type: "list",
19
- values: ["border-box", "content-box"],
20
- service: this
21
- }, {
22
- name: "border",
23
- type: "string",
24
- default: "0px none rbg(0,0,0)",
25
- service: this
26
- }, {
27
- name: "box-shadow",
28
- type: "string",
29
- default: "none",
30
- service: this
31
- }, {
32
- name: "opacity",
33
- type: "number",
34
- min: 0,
35
- max: 1,
36
- step: 0.1,
37
- service: this
38
- }, {
39
- name: "padding",
40
- type: "thickness",
41
- service: this
42
- }, {
43
- name: "margin",
44
- type: "thickness",
45
- service: this
46
- }, {
47
- name: "position",
48
- type: "list",
49
- values: ["static", "relative", "absolute"],
50
- service: this
51
- }, {
52
- name: "left",
53
- type: "css-length",
54
- service: this
55
- }, {
56
- name: "top",
57
- type: "css-length",
58
- service: this
59
- }, {
60
- name: "right",
61
- type: "css-length",
62
- service: this
63
- }, {
64
- name: "bottom",
65
- type: "css-length",
66
- service: this
67
- }, {
68
- name: "width",
69
- type: "css-length",
70
- service: this
71
- }, {
72
- name: "height",
73
- type: "css-length",
74
- service: this
75
- }, {
76
- name: "font-size",
77
- type: "css-length",
78
- service: this
79
- }, {
80
- name: "font-weight",
81
- type: "list",
82
- values: ["normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900", "lighter", "bolder"],
83
- service: this
84
- }
85
- ];
86
- //@ts-ignore
87
- this.alignment = [
88
- {
89
- name: "position",
90
- type: "list",
91
- values: ["static", "relative", "absolute"],
92
- service: this
93
- }, {
94
- name: "display",
95
- type: "list",
96
- values: ["block", "inline-block", "flex", "contents", "grid", "inherit", "initial", "none"],
97
- service: this
98
- }, {
99
- name: "flex-direction",
100
- type: "list",
101
- values: ["row", "row-reverse", "column", "column-reverse"],
102
- service: this
103
- }, {
104
- name: "flex-wrap",
105
- type: "list",
106
- values: ["nowrap", "wrap", "warp-reverse"],
107
- service: this
108
- }, {
109
- name: "justify-self",
110
- type: "list",
111
- values: ["flex-start", "center", "flex-end", "space-between", "space-around"],
112
- service: this
113
- }, {
114
- name: "justify-items",
115
- type: "list",
116
- values: ["flex-start", "center", "flex-end", "space-between", "space-around"],
117
- service: this
118
- }, {
119
- name: "justify-content",
120
- type: "list",
121
- values: ["flex-start", "center", "flex-end", "space-between", "space-around"],
122
- service: this
123
- }, {
124
- name: "align-self",
125
- type: "list",
126
- values: ["flex-start", "center", "flex-end", "space-between", "space-around"],
127
- service: this
128
- }, {
129
- name: "align-items",
130
- type: "list",
131
- values: ["flex-start", "center", "flex-end", "space-between", "space-around"],
132
- service: this
133
- }, {
134
- name: "align-content",
135
- type: "list",
136
- values: ["flex-start", "center", "flex-end", "space-between", "space-around"],
137
- service: this
138
- }, {
139
- name: "flex",
140
- type: "string",
141
- default: "0 1 auto",
142
- service: this
143
- }
144
- ];
145
- //@ts-ignore
146
- this.grid = [
147
- {
148
- name: "display",
149
- type: "list",
150
- values: ["block", "inline-block", "flex", "contents", "grid", "inherit", "initial", "none"],
151
- service: this
152
- }, {
153
- name: "grid-template-columns",
154
- type: "string",
155
- service: this
156
- }, {
157
- name: "grid-template-rows",
158
- type: "string",
159
- service: this
160
- }, {
161
- name: "column-gap",
162
- type: "css-length",
163
- service: this
164
- }, {
165
- name: "row-gap",
166
- type: "css-length",
167
- service: this
168
- }, {
169
- name: "justify-content",
170
- type: "list",
171
- values: ["space-evenly", "space-around", "space-between", "center", "start", "end"],
172
- service: this
173
- }, {
174
- name: "align-content",
175
- type: "list",
176
- values: ["space-evenly", "space-around", "space-between", "center", "start", "end"],
177
- service: this
178
- }, {
179
- name: "justify-items",
180
- type: "list",
181
- values: ["flex-start", "center", "flex-end", "space-between", "space-around"],
182
- service: this
183
- }, {
184
- name: "align-items",
185
- type: "list",
186
- values: ["flex-start", "center", "flex-end", "space-between", "space-around"],
187
- service: this
188
- }
189
- ];
190
192
  this.name = name;
191
193
  }
192
194
  isHandledElement(designItem) {
193
195
  return true;
194
196
  }
195
197
  getProperty(designItem, name) {
198
+ if (this.name == 'set-styles') {
199
+ return { name: name, type: 'string', service: this };
200
+ }
196
201
  return this[this.name][name];
197
202
  }
198
203
  getProperties(designItem) {
204
+ if (this.name == 'set-styles') {
205
+ if (!designItem)
206
+ return [];
207
+ return Array.from(designItem.styles.keys(), x => ({ name: x, type: 'string', service: this }));
208
+ }
199
209
  return this[this.name];
200
210
  }
201
211
  setValue(designItems, property, value) {
@@ -1,9 +1,9 @@
1
1
  import { UnkownElementPropertiesService } from './UnkownElementPropertiesService';
2
2
  export class ListPropertiesService extends UnkownElementPropertiesService {
3
+ name = "list";
4
+ _propertys = new Map();
3
5
  constructor(propertyDefinitions) {
4
6
  super();
5
- this.name = "list";
6
- this._propertys = new Map();
7
7
  for (let e in propertyDefinitions) {
8
8
  let parr = [];
9
9
  this._propertys.set(e, parr);
@@ -1,10 +1,7 @@
1
1
  import { AbstractBasePropertiesService } from "./AbstractBasePropertiesService";
2
2
  import { PropertiesHelper } from './PropertiesHelper';
3
3
  export class Lit2PropertiesService extends AbstractBasePropertiesService {
4
- constructor() {
5
- super(...arguments);
6
- this.name = "lit2";
7
- }
4
+ name = "lit2";
8
5
  isHandledElement(designItem) {
9
6
  let prop = designItem.element.constructor.elementProperties;
10
7
  if (prop)
@@ -1,9 +1,6 @@
1
1
  import { AbstractBasePropertiesService } from "./AbstractBasePropertiesService";
2
2
  export class LitElementPropertiesService extends AbstractBasePropertiesService {
3
- constructor() {
4
- super(...arguments);
5
- this.name = "lit";
6
- }
3
+ name = "lit";
7
4
  isHandledElement(designItem) {
8
5
  let proto = designItem.element.constructor.__proto__;
9
6
  while (proto != null) {
@@ -1,80 +1,77 @@
1
1
  import { CommonPropertiesService } from "./CommonPropertiesService";
2
2
  export class NativeElementsPropertiesService extends CommonPropertiesService {
3
- constructor() {
4
- super(...arguments);
5
- //@ts-ignore
6
- this.inputProperties = [
7
- {
8
- name: "type",
9
- type: "list",
10
- values: ["text", "number", "button", "checkbox", "color", "date", "datetime-local", "email", "file", "hidden", "image", "month", "password", "radio", "range", "reset", "search", "submit", "tel", "time", "url", "week"],
11
- service: this,
12
- defaultValue: "text"
13
- }, {
14
- name: "value",
15
- type: "string",
16
- service: this
17
- }, {
18
- name: "checked",
19
- type: "boolean",
20
- service: this
21
- }, {
22
- name: "min",
23
- type: "number",
24
- service: this
25
- }, {
26
- name: "max",
27
- type: "number",
28
- service: this
29
- }
30
- ];
31
- this.buttonProperties = [
32
- {
33
- name: "type",
34
- type: "list",
35
- values: ["button", "submit", "reset"],
36
- service: this,
37
- defaultValue: "button"
38
- }, {
39
- name: "value",
40
- type: "string",
41
- service: this
42
- }, {
43
- name: "disabled",
44
- type: "boolean",
45
- service: this
46
- }
47
- ];
48
- this.anchorProperties = [
49
- {
50
- name: "href",
51
- type: "string",
52
- service: this
53
- }
54
- ];
55
- this.divProperties = [
56
- {
57
- name: "title",
58
- type: "string",
59
- service: this
60
- }
61
- ];
62
- this.imgProperties = [
63
- {
64
- name: "src",
65
- type: "string",
66
- service: this
67
- }
68
- ];
69
- this.iframeProperties = [
70
- {
71
- name: "src",
72
- type: "string",
73
- service: this
74
- }
75
- ];
76
- this.name = "native";
77
- }
3
+ //@ts-ignore
4
+ inputProperties = [
5
+ {
6
+ name: "type",
7
+ type: "list",
8
+ values: ["text", "number", "button", "checkbox", "color", "date", "datetime-local", "email", "file", "hidden", "image", "month", "password", "radio", "range", "reset", "search", "submit", "tel", "time", "url", "week"],
9
+ service: this,
10
+ defaultValue: "text"
11
+ }, {
12
+ name: "value",
13
+ type: "string",
14
+ service: this
15
+ }, {
16
+ name: "checked",
17
+ type: "boolean",
18
+ service: this
19
+ }, {
20
+ name: "min",
21
+ type: "number",
22
+ service: this
23
+ }, {
24
+ name: "max",
25
+ type: "number",
26
+ service: this
27
+ }
28
+ ];
29
+ buttonProperties = [
30
+ {
31
+ name: "type",
32
+ type: "list",
33
+ values: ["button", "submit", "reset"],
34
+ service: this,
35
+ defaultValue: "button"
36
+ }, {
37
+ name: "value",
38
+ type: "string",
39
+ service: this
40
+ }, {
41
+ name: "disabled",
42
+ type: "boolean",
43
+ service: this
44
+ }
45
+ ];
46
+ anchorProperties = [
47
+ {
48
+ name: "href",
49
+ type: "string",
50
+ service: this
51
+ }
52
+ ];
53
+ divProperties = [
54
+ {
55
+ name: "title",
56
+ type: "string",
57
+ service: this
58
+ }
59
+ ];
60
+ imgProperties = [
61
+ {
62
+ name: "src",
63
+ type: "string",
64
+ service: this
65
+ }
66
+ ];
67
+ iframeProperties = [
68
+ {
69
+ name: "src",
70
+ type: "string",
71
+ service: this
72
+ }
73
+ ];
74
+ name = "native";
78
75
  isHandledElement(designItem) {
79
76
  switch (designItem.element.localName) {
80
77
  case 'input':
@@ -1,9 +1,6 @@
1
1
  import { AbstractBasePropertiesService } from './AbstractBasePropertiesService';
2
2
  export class PolymerPropertiesService extends AbstractBasePropertiesService {
3
- constructor() {
4
- super(...arguments);
5
- this.name = "polymer";
6
- }
3
+ name = "polymer";
7
4
  isHandledElement(designItem) {
8
5
  return designItem.element.constructor.polymerElementVersion != null;
9
6
  }
@@ -1,9 +1,7 @@
1
1
  import { ValueType } from "../ValueType";
2
2
  import { PropertiesHelper } from './PropertiesHelper';
3
3
  export class UnkownElementPropertiesService {
4
- constructor() {
5
- this.name = "unkown";
6
- }
4
+ name = "unkown";
7
5
  isHandledElement(designItem) {
8
6
  return true;
9
7
  }
@@ -1,10 +1,8 @@
1
1
  import { TypedEvent } from '@node-projects/base-custom-webcomponent';
2
2
  import { NodeType } from '../../item/NodeType';
3
3
  export class SelectionService {
4
- constructor() {
5
- this.selectedElements = [];
6
- this.onSelectionChanged = new TypedEvent();
7
- }
4
+ primarySelection;
5
+ selectedElements = [];
8
6
  setSelectedElements(designItems) {
9
7
  let oldSelectedElements = this.selectedElements;
10
8
  if (!designItems) {
@@ -33,4 +31,5 @@ export class SelectionService {
33
31
  isSelected(designItem) {
34
32
  return this.selectedElements.indexOf(designItem) >= 0;
35
33
  }
34
+ onSelectionChanged = new TypedEvent();
36
35
  }
@@ -1,7 +1,9 @@
1
1
  export class ChangeGroup {
2
+ title;
3
+ affectedItems;
4
+ commitHandler;
5
+ abortHandler;
2
6
  constructor(title, affectedItems, commitHandler, abortHandler) {
3
- this.undoStack = [];
4
- this.redoStack = [];
5
7
  this.title = title;
6
8
  this.affectedItems = affectedItems;
7
9
  this.commitHandler = commitHandler;
@@ -41,6 +43,8 @@ export class ChangeGroup {
41
43
  mergeWith(other) {
42
44
  return false;
43
45
  }
46
+ undoStack = [];
47
+ redoStack = [];
44
48
  execute(item) {
45
49
  item.do();
46
50
  for (let existingItem of this.undoStack) {
@@ -3,11 +3,9 @@ import { ChangeGroup } from "./ChangeGroup.js";
3
3
  * Manages a stack of available undo/redo actions
4
4
  */
5
5
  export class UndoService {
6
- constructor() {
7
- this._undoStack = [];
8
- this._redoStack = [];
9
- this._transactionStack = [];
10
- }
6
+ _undoStack = [];
7
+ _redoStack = [];
8
+ _transactionStack = [];
11
9
  openGroup(title, affectedItems) {
12
10
  let t = new ChangeGroup(title, affectedItems, (t) => this.commitTransactionItem(t), (t) => this.abortTransactionItem(t));
13
11
  this._transactionStack.push(t);