@node-projects/web-component-designer 0.0.91 → 0.0.94

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 (550) hide show
  1. package/README.md +2 -1
  2. package/debug.log +8 -0
  3. package/dist/Constants.d.ts +3 -3
  4. package/dist/Constants.js +3 -3
  5. package/dist/commandHandling/CommandType.d.ts +30 -28
  6. package/dist/commandHandling/CommandType.js +31 -29
  7. package/dist/commandHandling/IUiCommand.d.ts +6 -6
  8. package/dist/commandHandling/IUiCommand.js +1 -1
  9. package/dist/commandHandling/IUiCommandHandler.d.ts +5 -5
  10. package/dist/commandHandling/IUiCommandHandler.js +1 -1
  11. package/dist/elements/controls/DesignerTabControl.d.ts +26 -26
  12. package/dist/elements/controls/DesignerTabControl.js +137 -137
  13. package/dist/elements/controls/ImageButtonListSelector.d.ts +17 -17
  14. package/dist/elements/controls/ImageButtonListSelector.js +50 -50
  15. package/dist/elements/controls/NumericPopup.d.ts +6 -6
  16. package/dist/elements/controls/NumericPopup.js +8 -8
  17. package/dist/elements/controls/NumericStyleInput.d.ts +16 -16
  18. package/dist/elements/controls/NumericStyleInput.js +42 -42
  19. package/dist/elements/controls/PlainScrollbar.d.ts +15 -15
  20. package/dist/elements/controls/PlainScrollbar.js +374 -374
  21. package/dist/elements/controls/SimpleSplitView.d.ts +11 -11
  22. package/dist/elements/controls/SimpleSplitView.js +39 -39
  23. package/dist/elements/controls/ThicknessEditor.d.ts +33 -33
  24. package/dist/elements/controls/ThicknessEditor.js +90 -90
  25. package/dist/elements/documentContainer.d.ts +42 -42
  26. package/dist/elements/documentContainer.js +199 -199
  27. package/dist/elements/helper/ArrangeHelper.d.ts +7 -7
  28. package/dist/elements/helper/ArrangeHelper.js +79 -79
  29. package/dist/elements/helper/CssAttributeParser.d.ts +9 -9
  30. package/dist/elements/helper/CssAttributeParser.js +67 -67
  31. package/dist/elements/helper/CssCombiner.d.ts +11 -11
  32. package/dist/elements/helper/CssCombiner.js +289 -289
  33. package/dist/elements/helper/ElementHelper.d.ts +10 -10
  34. package/dist/elements/helper/ElementHelper.js +32 -32
  35. package/dist/elements/helper/GridHelper.d.ts +16 -16
  36. package/dist/elements/helper/GridHelper.js +111 -111
  37. package/dist/elements/helper/Helper.d.ts +6 -6
  38. package/dist/elements/helper/Helper.js +26 -26
  39. package/dist/elements/helper/IndentedTextWriter.d.ts +14 -14
  40. package/dist/elements/helper/IndentedTextWriter.js +34 -34
  41. package/dist/elements/helper/KeyNameHelper.d.ts +0 -0
  42. package/dist/elements/helper/KeyNameHelper.js +1 -0
  43. package/dist/elements/helper/LayoutHelper.d.ts +4 -4
  44. package/dist/elements/helper/LayoutHelper.js +67 -67
  45. package/dist/elements/helper/PathDataPolyfill.d.ts +101 -101
  46. package/dist/elements/helper/PathDataPolyfill.js +978 -978
  47. package/dist/elements/helper/Screenshot.d.ts +11 -11
  48. package/dist/elements/helper/Screenshot.js +59 -59
  49. package/dist/elements/helper/TransformHelper.d.ts +4 -4
  50. package/dist/elements/helper/TransformHelper.js +21 -21
  51. package/dist/elements/helper/XmlHelper.d.ts +2 -2
  52. package/dist/elements/helper/XmlHelper.js +16 -16
  53. package/dist/elements/helper/contextMenu/ContextMenuHelper.d.ts +27 -27
  54. package/dist/elements/helper/contextMenu/ContextMenuHelper.js +160 -162
  55. package/dist/elements/helper/contextMenu/IContextmenuItem.d.ts +7 -6
  56. package/dist/elements/helper/contextMenu/IContextmenuItem.js +1 -1
  57. package/dist/elements/helper/w3color.d.ts +120 -120
  58. package/dist/elements/helper/w3color.js +801 -801
  59. package/dist/elements/item/BindingMode.d.ts +4 -4
  60. package/dist/elements/item/BindingMode.js +5 -5
  61. package/dist/elements/item/BindingTarget.d.ts +8 -8
  62. package/dist/elements/item/BindingTarget.js +9 -9
  63. package/dist/elements/item/DesignItem.d.ts +66 -66
  64. package/dist/elements/item/DesignItem.js +297 -297
  65. package/dist/elements/item/IBinding.d.ts +15 -15
  66. package/dist/elements/item/IBinding.js +1 -1
  67. package/dist/elements/item/IDesignItem.d.ts +50 -50
  68. package/dist/elements/item/IDesignItem.js +1 -1
  69. package/dist/elements/item/NodeType.d.ts +5 -5
  70. package/dist/elements/item/NodeType.js +6 -6
  71. package/dist/elements/loader/IOldCustomElementsManifest.d.ts +24 -24
  72. package/dist/elements/loader/IOldCustomElementsManifest.js +1 -1
  73. package/dist/elements/loader/OldCustomElementsManifestLoader.d.ts +8 -8
  74. package/dist/elements/loader/OldCustomElementsManifestLoader.js +45 -45
  75. package/dist/elements/services/BaseServiceContainer.d.ts +10 -10
  76. package/dist/elements/services/BaseServiceContainer.js +50 -50
  77. package/dist/elements/services/DefaultServiceBootstrap.d.ts +3 -3
  78. package/dist/elements/services/DefaultServiceBootstrap.js +144 -135
  79. package/dist/elements/services/GlobalContext.d.ts +24 -24
  80. package/dist/elements/services/GlobalContext.js +63 -63
  81. package/dist/elements/services/IService.d.ts +2 -2
  82. package/dist/elements/services/IService.js +1 -1
  83. package/dist/elements/services/IServiceContainer.d.ts +5 -5
  84. package/dist/elements/services/IServiceContainer.js +1 -1
  85. package/dist/elements/services/InstanceServiceContainer.d.ts +20 -20
  86. package/dist/elements/services/InstanceServiceContainer.js +19 -19
  87. package/dist/elements/services/ServiceContainer.d.ts +78 -78
  88. package/dist/elements/services/ServiceContainer.js +75 -75
  89. package/dist/elements/services/bindableObjectsService/BindableObjectType.d.ts +9 -9
  90. package/dist/elements/services/bindableObjectsService/BindableObjectType.js +10 -10
  91. package/dist/elements/services/bindableObjectsService/IBindableObject.d.ts +8 -8
  92. package/dist/elements/services/bindableObjectsService/IBindableObject.js +1 -1
  93. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.d.ts +8 -8
  94. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.js +1 -1
  95. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.d.ts +6 -6
  96. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.js +1 -1
  97. package/dist/elements/services/bindableObjectsService/IDragDropService.d.ts +5 -0
  98. package/dist/elements/services/bindableObjectsService/IDragDropService.js +1 -0
  99. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.d.ts +10 -10
  100. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +72 -72
  101. package/dist/elements/services/bindingsService/IBindingService.d.ts +13 -13
  102. package/dist/elements/services/bindingsService/IBindingService.js +1 -1
  103. package/dist/elements/services/bindingsService/SpecialTagsBindingService.d.ts +16 -16
  104. package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +43 -43
  105. package/dist/elements/services/bindingsService/VueBindingsService.js +7 -7
  106. package/dist/elements/services/contentService/ContentService.d.ts +9 -9
  107. package/dist/elements/services/contentService/ContentService.js +8 -8
  108. package/dist/elements/services/contentService/IContentChanged.d.ts +5 -5
  109. package/dist/elements/services/contentService/IContentChanged.js +1 -1
  110. package/dist/elements/services/contentService/IContentService.d.ts +7 -7
  111. package/dist/elements/services/contentService/IContentService.js +1 -1
  112. package/dist/elements/services/copyPasteService/CopyPasteService.d.ts +8 -8
  113. package/dist/elements/services/copyPasteService/CopyPasteService.js +12 -12
  114. package/dist/elements/services/copyPasteService/ICopyPasteService.d.ts +7 -7
  115. package/dist/elements/services/copyPasteService/ICopyPasteService.js +1 -1
  116. package/dist/elements/services/demoProviderService/DemoProviderService.d.ts +6 -6
  117. package/dist/elements/services/demoProviderService/DemoProviderService.js +29 -29
  118. package/dist/elements/services/demoProviderService/IDemoProviderService.d.ts +5 -5
  119. package/dist/elements/services/demoProviderService/IDemoProviderService.js +1 -1
  120. package/dist/elements/services/dragDropService/DragDropService.d.ts +6 -6
  121. package/dist/elements/services/dragDropService/DragDropService.js +28 -28
  122. package/dist/elements/services/dragDropService/IDragDropService.d.ts +5 -5
  123. package/dist/elements/services/dragDropService/IDragDropService.js +1 -1
  124. package/dist/elements/services/elementAtPointService/ElementAtPointService.d.ts +6 -6
  125. package/dist/elements/services/elementAtPointService/ElementAtPointService.js +5 -5
  126. package/dist/elements/services/elementAtPointService/IElementAtPointService.d.ts +6 -6
  127. package/dist/elements/services/elementAtPointService/IElementAtPointService.js +1 -1
  128. package/dist/elements/services/elementsService/IElementDefinition.d.ts +33 -33
  129. package/dist/elements/services/elementsService/IElementDefinition.js +1 -1
  130. package/dist/elements/services/elementsService/IElementsJson.d.ts +5 -5
  131. package/dist/elements/services/elementsService/IElementsJson.js +1 -1
  132. package/dist/elements/services/elementsService/IElementsService.d.ts +6 -6
  133. package/dist/elements/services/elementsService/IElementsService.js +1 -1
  134. package/dist/elements/services/elementsService/JsonFileElementsService.d.ts +12 -12
  135. package/dist/elements/services/elementsService/JsonFileElementsService.js +45 -45
  136. package/dist/elements/services/elementsService/PreDefinedElementsService.d.ts +11 -11
  137. package/dist/elements/services/elementsService/PreDefinedElementsService.js +21 -21
  138. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.d.ts +9 -9
  139. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js +18 -18
  140. package/dist/elements/services/htmlParserService/IHtmlParserService.d.ts +7 -7
  141. package/dist/elements/services/htmlParserService/IHtmlParserService.js +1 -1
  142. package/dist/elements/services/htmlParserService/NodeHtmlParserService.d.ts +11 -11
  143. package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +96 -96
  144. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.d.ts +10 -10
  145. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js +62 -62
  146. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.d.ts +22 -22
  147. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.js +133 -133
  148. package/dist/elements/services/htmlWriterService/HtmlWriterService.d.ts +12 -12
  149. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +92 -92
  150. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.d.ts +7 -7
  151. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.js +7 -7
  152. package/dist/elements/services/htmlWriterService/IHtmlWriterService.d.ts +7 -7
  153. package/dist/elements/services/htmlWriterService/IHtmlWriterService.js +1 -1
  154. package/dist/elements/services/htmlWriterService/IStringPosition.d.ts +4 -4
  155. package/dist/elements/services/htmlWriterService/IStringPosition.js +1 -1
  156. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.d.ts +9 -9
  157. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js +7 -7
  158. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.d.ts +27 -27
  159. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.js +93 -93
  160. package/dist/elements/services/initializationService/DefaultIntializationService.d.ts +6 -6
  161. package/dist/elements/services/initializationService/DefaultIntializationService.js +22 -22
  162. package/dist/elements/services/initializationService/IIntializationService.d.ts +4 -4
  163. package/dist/elements/services/initializationService/IIntializationService.js +1 -1
  164. package/dist/elements/services/instanceService/DefaultInstanceService.d.ts +8 -8
  165. package/dist/elements/services/instanceService/DefaultInstanceService.js +67 -67
  166. package/dist/elements/services/instanceService/IDesignerInstance.d.ts +3 -3
  167. package/dist/elements/services/instanceService/IDesignerInstance.js +1 -1
  168. package/dist/elements/services/instanceService/IInstanceService.d.ts +8 -8
  169. package/dist/elements/services/instanceService/IInstanceService.js +1 -1
  170. package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.d.ts +4 -4
  171. package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.js +1 -1
  172. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.d.ts +6 -6
  173. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.js +32 -32
  174. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +25 -25
  175. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +94 -94
  176. package/dist/elements/services/modelCommandService/DefaultModelCommandService.d.ts +7 -7
  177. package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +126 -76
  178. package/dist/elements/services/modelCommandService/IModelCommandService.d.ts +7 -7
  179. package/dist/elements/services/modelCommandService/IModelCommandService.js +1 -1
  180. package/dist/elements/services/placementService/DefaultPlacementService.d.ts +16 -16
  181. package/dist/elements/services/placementService/DefaultPlacementService.js +109 -109
  182. package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +15 -15
  183. package/dist/elements/services/placementService/FlexBoxPlacementService.js +42 -42
  184. package/dist/elements/services/placementService/GridPlacementService.d.ts +15 -15
  185. package/dist/elements/services/placementService/GridPlacementService.js +99 -99
  186. package/dist/elements/services/placementService/IPlacementService.d.ts +15 -15
  187. package/dist/elements/services/placementService/IPlacementService.js +1 -1
  188. package/dist/elements/services/placementService/ISnaplinesProviderService.d.ts +12 -12
  189. package/dist/elements/services/placementService/ISnaplinesProviderService.js +1 -1
  190. package/dist/elements/services/placementService/SnaplinesProviderService.d.ts +14 -14
  191. package/dist/elements/services/placementService/SnaplinesProviderService.js +48 -48
  192. package/dist/elements/services/popupService/IPopupService.d.ts +16 -16
  193. package/dist/elements/services/popupService/IPopupService.js +1 -1
  194. package/dist/elements/services/popupService/PopupService.d.ts +9 -9
  195. package/dist/elements/services/popupService/PopupService.js +20 -20
  196. package/dist/elements/services/propertiesService/DefaultEditorTypesService.d.ts +6 -6
  197. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +59 -59
  198. package/dist/elements/services/propertiesService/IEditorTypesService.d.ts +5 -5
  199. package/dist/elements/services/propertiesService/IEditorTypesService.js +1 -1
  200. package/dist/elements/services/propertiesService/IPropertiesService.d.ts +16 -16
  201. package/dist/elements/services/propertiesService/IPropertiesService.js +1 -1
  202. package/dist/elements/services/propertiesService/IProperty.d.ts +21 -21
  203. package/dist/elements/services/propertiesService/IProperty.js +1 -1
  204. package/dist/elements/services/propertiesService/IPropertyEditor.d.ts +19 -19
  205. package/dist/elements/services/propertiesService/IPropertyEditor.js +1 -1
  206. package/dist/elements/services/propertiesService/PropertyType.d.ts +6 -6
  207. package/dist/elements/services/propertiesService/PropertyType.js +7 -7
  208. package/dist/elements/services/propertiesService/ValueType.d.ts +6 -6
  209. package/dist/elements/services/propertiesService/ValueType.js +7 -7
  210. package/dist/elements/services/propertiesService/app.d.ts +2 -2
  211. package/dist/elements/services/propertiesService/app.js +71 -71
  212. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.d.ts +15 -15
  213. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +41 -41
  214. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.d.ts +7 -7
  215. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.js +13 -13
  216. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.d.ts +7 -7
  217. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.js +22 -22
  218. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.d.ts +7 -7
  219. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.js +16 -16
  220. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.d.ts +8 -8
  221. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.js +40 -40
  222. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.d.ts +9 -9
  223. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.js +16 -16
  224. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.d.ts +5 -5
  225. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.js +8 -8
  226. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.d.ts +7 -7
  227. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.js +16 -16
  228. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.d.ts +7 -7
  229. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.js +28 -28
  230. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.d.ts +7 -7
  231. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.js +20 -20
  232. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.d.ts +8 -8
  233. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +14 -14
  234. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.d.ts +7 -7
  235. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.js +44 -44
  236. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +17 -17
  237. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +68 -68
  238. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.d.ts +8 -8
  239. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +12 -12
  240. package/dist/elements/services/propertiesService/services/CommonPropertiesService.d.ts +18 -18
  241. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +112 -112
  242. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +22 -22
  243. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +325 -325
  244. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +17 -17
  245. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.js +1 -1
  246. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.d.ts +4 -4
  247. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.js +1 -1
  248. package/dist/elements/services/propertiesService/services/ListPropertiesService.d.ts +12 -12
  249. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +41 -41
  250. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.d.ts +9 -9
  251. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +51 -51
  252. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.d.ts +8 -8
  253. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.js +17 -17
  254. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.d.ts +15 -15
  255. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +124 -124
  256. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.d.ts +8 -8
  257. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.js +10 -10
  258. package/dist/elements/services/propertiesService/services/PropertiesHelper.d.ts +6 -6
  259. package/dist/elements/services/propertiesService/services/PropertiesHelper.js +27 -27
  260. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +17 -17
  261. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +99 -99
  262. package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +5 -5
  263. package/dist/elements/services/selectionService/ISelectionChangedEvent.js +1 -1
  264. package/dist/elements/services/selectionService/ISelectionService.d.ts +11 -11
  265. package/dist/elements/services/selectionService/ISelectionService.js +1 -1
  266. package/dist/elements/services/selectionService/SelectionService.d.ts +12 -12
  267. package/dist/elements/services/selectionService/SelectionService.js +35 -35
  268. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.d.ts +8 -8
  269. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.js +1 -1
  270. package/dist/elements/services/treeStructureService/ITreeStructureService.d.ts +2 -2
  271. package/dist/elements/services/treeStructureService/ITreeStructureService.js +2 -2
  272. package/dist/elements/services/undoService/ChangeGroup.d.ts +17 -17
  273. package/dist/elements/services/undoService/ChangeGroup.js +56 -56
  274. package/dist/elements/services/undoService/ITransactionItem.d.ts +8 -8
  275. package/dist/elements/services/undoService/ITransactionItem.js +2 -2
  276. package/dist/elements/services/undoService/IUndoService.d.ts +13 -13
  277. package/dist/elements/services/undoService/IUndoService.js +1 -1
  278. package/dist/elements/services/undoService/UndoService.d.ts +21 -21
  279. package/dist/elements/services/undoService/UndoService.js +93 -93
  280. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.d.ts +15 -15
  281. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +70 -70
  282. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +14 -14
  283. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +44 -44
  284. package/dist/elements/services/undoService/transactionItems/DeleteAction.d.ts +13 -13
  285. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +35 -35
  286. package/dist/elements/services/undoService/transactionItems/InsertAction.d.ts +13 -13
  287. package/dist/elements/services/undoService/transactionItems/InsertAction.js +26 -26
  288. package/dist/elements/services/undoService/transactionItems/InsertChildAction.d.ts +16 -16
  289. package/dist/elements/services/undoService/transactionItems/InsertChildAction.js +31 -31
  290. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.d.ts +16 -0
  291. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +31 -0
  292. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.d.ts +15 -15
  293. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js +36 -36
  294. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.d.ts +3 -3
  295. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.js +1 -1
  296. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.d.ts +10 -11
  297. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +78 -79
  298. package/dist/elements/widgets/bindings/BindingsEditor.d.ts +17 -17
  299. package/dist/elements/widgets/bindings/BindingsEditor.js +22 -22
  300. package/dist/elements/widgets/codeView/ICodeView.d.ts +11 -11
  301. package/dist/elements/widgets/codeView/ICodeView.js +1 -1
  302. package/dist/elements/widgets/codeView/code-view-ace.d.ts +24 -24
  303. package/dist/elements/widgets/codeView/code-view-ace.js +127 -127
  304. package/dist/elements/widgets/codeView/code-view-code-mirror.d.ts +24 -24
  305. package/dist/elements/widgets/codeView/code-view-code-mirror.js +91 -91
  306. package/dist/elements/widgets/codeView/code-view-monaco.d.ts +25 -25
  307. package/dist/elements/widgets/codeView/code-view-monaco.js +105 -105
  308. package/dist/elements/widgets/demoView/IDemoView.d.ts +5 -5
  309. package/dist/elements/widgets/demoView/IDemoView.js +1 -1
  310. package/dist/elements/widgets/demoView/demoView.d.ts +11 -11
  311. package/dist/elements/widgets/demoView/demoView.js +22 -22
  312. package/dist/elements/widgets/designerView/ButtonSeperatorProvider.d.ts +8 -8
  313. package/dist/elements/widgets/designerView/ButtonSeperatorProvider.js +11 -11
  314. package/dist/elements/widgets/designerView/DesignContext.d.ts +7 -7
  315. package/dist/elements/widgets/designerView/DesignContext.js +4 -4
  316. package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.d.ts +7 -0
  317. package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.js +13 -0
  318. package/dist/elements/widgets/designerView/DomConverter.d.ts +8 -8
  319. package/dist/elements/widgets/designerView/DomConverter.js +41 -41
  320. package/dist/elements/widgets/designerView/IDesignContext.d.ts +6 -6
  321. package/dist/elements/widgets/designerView/IDesignContext.js +1 -1
  322. package/dist/elements/widgets/designerView/IDesignViewConfigButtonsProvider.d.ts +5 -5
  323. package/dist/elements/widgets/designerView/IDesignViewConfigButtonsProvider.js +1 -1
  324. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +48 -44
  325. package/dist/elements/widgets/designerView/IDesignerCanvas.js +1 -1
  326. package/dist/elements/widgets/designerView/IPlacementView.d.ts +14 -14
  327. package/dist/elements/widgets/designerView/IPlacementView.js +1 -1
  328. package/dist/elements/widgets/designerView/Snaplines.d.ts +21 -21
  329. package/dist/elements/widgets/designerView/Snaplines.js +220 -220
  330. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.d.ts +5 -5
  331. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.js +11 -11
  332. package/dist/elements/widgets/designerView/designerCanvas.d.ts +112 -103
  333. package/dist/elements/widgets/designerView/designerCanvas.js +696 -731
  334. package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.d.ts +92 -0
  335. package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.js +734 -0
  336. package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.d.ts +95 -0
  337. package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.js +768 -0
  338. package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.d.ts +94 -0
  339. package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.js +745 -0
  340. package/dist/elements/widgets/designerView/designerView.d.ts +39 -37
  341. package/dist/elements/widgets/designerView/designerView.js +224 -213
  342. package/dist/elements/widgets/designerView/extensions/AbstractExtension.d.ts +12 -12
  343. package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +8 -8
  344. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.d.ts +16 -16
  345. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.js +50 -50
  346. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.d.ts +12 -12
  347. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.js +20 -20
  348. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.d.ts +10 -10
  349. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +11 -11
  350. package/dist/elements/widgets/designerView/extensions/CanvasExtension.d.ts +10 -10
  351. package/dist/elements/widgets/designerView/extensions/CanvasExtension.js +29 -29
  352. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.d.ts +10 -10
  353. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +13 -13
  354. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.d.ts +17 -0
  355. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.js +80 -0
  356. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.d.ts +17 -17
  357. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +73 -73
  358. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.d.ts +9 -0
  359. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.js +11 -0
  360. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.d.ts +9 -9
  361. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js +11 -11
  362. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.d.ts +20 -20
  363. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js +77 -81
  364. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.d.ts +10 -10
  365. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.js +13 -13
  366. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.d.ts +14 -14
  367. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.js +38 -38
  368. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.d.ts +10 -10
  369. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.js +11 -11
  370. package/dist/elements/widgets/designerView/extensions/ExtensionManager.d.ts +17 -17
  371. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +245 -245
  372. package/dist/elements/widgets/designerView/extensions/ExtensionType.d.ts +18 -18
  373. package/dist/elements/widgets/designerView/extensions/ExtensionType.js +19 -19
  374. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.d.ts +13 -13
  375. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.js +32 -32
  376. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.d.ts +10 -10
  377. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.js +11 -11
  378. package/dist/elements/widgets/designerView/extensions/GridExtension.d.ts +10 -10
  379. package/dist/elements/widgets/designerView/extensions/GridExtension.js +30 -30
  380. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.d.ts +6 -6
  381. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.js +21 -21
  382. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.d.ts +11 -11
  383. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.js +14 -14
  384. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.d.ts +5 -5
  385. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.js +1 -1
  386. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.d.ts +9 -9
  387. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.js +1 -1
  388. package/dist/elements/widgets/designerView/extensions/IExtensionManger.d.ts +11 -11
  389. package/dist/elements/widgets/designerView/extensions/IExtensionManger.js +1 -1
  390. package/dist/elements/widgets/designerView/extensions/IframeExtension.d.ts +11 -11
  391. package/dist/elements/widgets/designerView/extensions/IframeExtension.js +46 -46
  392. package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.d.ts +9 -9
  393. package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.js +9 -9
  394. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.d.ts +11 -11
  395. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.js +23 -23
  396. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.d.ts +10 -10
  397. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js +15 -15
  398. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.d.ts +11 -11
  399. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.js +20 -20
  400. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.d.ts +10 -10
  401. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.js +11 -11
  402. package/dist/elements/widgets/designerView/extensions/OverlayLayer.d.ts +5 -5
  403. package/dist/elements/widgets/designerView/extensions/OverlayLayer.js +6 -6
  404. package/dist/elements/widgets/designerView/extensions/PathExtension.d.ts +23 -23
  405. package/dist/elements/widgets/designerView/extensions/PathExtension.js +245 -246
  406. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.d.ts +9 -9
  407. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.js +18 -17
  408. package/dist/elements/widgets/designerView/extensions/PositionExtension.d.ts +14 -14
  409. package/dist/elements/widgets/designerView/extensions/PositionExtension.js +45 -45
  410. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.d.ts +9 -9
  411. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.js +12 -12
  412. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.d.ts +13 -13
  413. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +21 -21
  414. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.d.ts +10 -10
  415. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.js +11 -11
  416. package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +25 -25
  417. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +161 -162
  418. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.d.ts +12 -12
  419. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +16 -16
  420. package/dist/elements/widgets/designerView/extensions/RotateExtension.d.ts +12 -12
  421. package/dist/elements/widgets/designerView/extensions/RotateExtension.js +71 -71
  422. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.d.ts +10 -10
  423. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +11 -11
  424. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.d.ts +11 -11
  425. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +22 -22
  426. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.d.ts +10 -10
  427. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +11 -11
  428. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.d.ts +14 -14
  429. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +69 -70
  430. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.d.ts +10 -10
  431. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +15 -13
  432. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.d.ts +8 -0
  433. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.js +15 -0
  434. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +8 -8
  435. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +14 -15
  436. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +8 -8
  437. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js +1 -1
  438. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +9 -9
  439. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +18 -18
  440. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +9 -9
  441. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +22 -22
  442. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.d.ts +8 -8
  443. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js +31 -31
  444. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.d.ts +8 -8
  445. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js +33 -34
  446. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.d.ts +8 -0
  447. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js +12 -0
  448. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.d.ts +8 -0
  449. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js +10 -0
  450. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.d.ts +8 -0
  451. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.js +14 -0
  452. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +8 -8
  453. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +14 -14
  454. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.d.ts +8 -0
  455. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js +27 -0
  456. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.d.ts +11 -11
  457. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js +11 -11
  458. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.d.ts +13 -13
  459. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.js +24 -24
  460. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.d.ts +7 -7
  461. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.js +8 -8
  462. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.d.ts +5 -5
  463. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js +1 -1
  464. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.d.ts +6 -6
  465. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js +1 -1
  466. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.d.ts +5 -5
  467. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.js +5 -5
  468. package/dist/elements/widgets/designerView/overlayLayerView.d.ts +25 -25
  469. package/dist/elements/widgets/designerView/overlayLayerView.js +129 -129
  470. package/dist/elements/widgets/designerView/tools/DrawElementTool.d.ts +19 -19
  471. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +79 -79
  472. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.d.ts +16 -16
  473. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +94 -93
  474. package/dist/elements/widgets/designerView/tools/DrawLineTool.d.ts +14 -14
  475. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +79 -78
  476. package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +20 -20
  477. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +128 -125
  478. package/dist/elements/widgets/designerView/tools/DrawRectTool.d.ts +19 -19
  479. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +109 -108
  480. package/dist/elements/widgets/designerView/tools/ITool.d.ts +9 -9
  481. package/dist/elements/widgets/designerView/tools/ITool.js +1 -1
  482. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.d.ts +12 -12
  483. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +64 -63
  484. package/dist/elements/widgets/designerView/tools/NamedTools.d.ts +14 -14
  485. package/dist/elements/widgets/designerView/tools/NamedTools.js +15 -15
  486. package/dist/elements/widgets/designerView/tools/PanTool.d.ts +10 -10
  487. package/dist/elements/widgets/designerView/tools/PanTool.js +26 -25
  488. package/dist/elements/widgets/designerView/tools/PickColorTool.d.ts +10 -10
  489. package/dist/elements/widgets/designerView/tools/PickColorTool.js +20 -20
  490. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +24 -25
  491. package/dist/elements/widgets/designerView/tools/PointerTool.js +283 -347
  492. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.d.ts +12 -12
  493. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +84 -83
  494. package/dist/elements/widgets/designerView/tools/TextTool.d.ts +11 -12
  495. package/dist/elements/widgets/designerView/tools/TextTool.js +33 -34
  496. package/dist/elements/widgets/designerView/tools/ZoomTool.d.ts +17 -17
  497. package/dist/elements/widgets/designerView/tools/ZoomTool.js +79 -79
  498. package/dist/elements/widgets/miniatureView/IMiniatureView.d.ts +2 -2
  499. package/dist/elements/widgets/miniatureView/IMiniatureView.js +1 -1
  500. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.d.ts +10 -10
  501. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.js +19 -18
  502. package/dist/elements/widgets/paletteView/paletteElements.d.ts +10 -10
  503. package/dist/elements/widgets/paletteView/paletteElements.js +72 -72
  504. package/dist/elements/widgets/paletteView/paletteTreeView.d.ts +12 -13
  505. package/dist/elements/widgets/paletteView/paletteTreeView.js +83 -84
  506. package/dist/elements/widgets/paletteView/paletteView.d.ts +11 -11
  507. package/dist/elements/widgets/paletteView/paletteView.js +31 -30
  508. package/dist/elements/widgets/propertyGrid/PropertyGrid.d.ts +21 -21
  509. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +127 -126
  510. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.d.ts +17 -17
  511. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +92 -91
  512. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.d.ts +15 -15
  513. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +48 -47
  514. package/dist/elements/widgets/treeView/ITreeView.d.ts +6 -6
  515. package/dist/elements/widgets/treeView/ITreeView.js +1 -1
  516. package/dist/elements/widgets/treeView/treeView.d.ts +28 -28
  517. package/dist/elements/widgets/treeView/treeView.js +148 -147
  518. package/dist/elements/widgets/treeView/treeViewExtended.d.ts +32 -31
  519. package/dist/elements/widgets/treeView/treeViewExtended.js +310 -296
  520. package/dist/enums/EventNames.d.ts +15 -15
  521. package/dist/enums/EventNames.js +16 -16
  522. package/dist/enums/Orientation.d.ts +8 -8
  523. package/dist/enums/Orientation.js +9 -9
  524. package/dist/enums/PointerActionType.d.ts +8 -8
  525. package/dist/enums/PointerActionType.js +9 -9
  526. package/dist/index.d.ts +190 -185
  527. package/dist/index.js +140 -135
  528. package/dist/interfaces/IActivateable.d.ts +3 -3
  529. package/dist/interfaces/IActivateable.js +1 -1
  530. package/dist/interfaces/ICommandHandler.d.ts +5 -5
  531. package/dist/interfaces/ICommandHandler.js +1 -1
  532. package/dist/interfaces/IDisposable.d.ts +3 -3
  533. package/dist/interfaces/IDisposable.js +1 -1
  534. package/dist/interfaces/IPoint.d.ts +4 -4
  535. package/dist/interfaces/IPoint.js +1 -1
  536. package/dist/interfaces/IRect.d.ts +6 -6
  537. package/dist/interfaces/IRect.js +1 -1
  538. package/dist/interfaces/ISize.d.ts +4 -4
  539. package/dist/interfaces/ISize.js +1 -1
  540. package/dist/polyfill/globals.d.ts +11 -11
  541. package/dist/polyfill/globals.js +1 -1
  542. package/dist/polyfill/mobileDragDrop.d.ts +2 -2
  543. package/dist/polyfill/mobileDragDrop.js +32 -32
  544. package/package.json +42 -42
  545. package/dist/elements/services/htmlWriterService/HtmlWriterService copy.d.ts +0 -12
  546. package/dist/elements/services/htmlWriterService/HtmlWriterService copy.js +0 -118
  547. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension copy.d.ts +0 -13
  548. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension copy.js +0 -21
  549. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider copy.d.ts +0 -10
  550. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider copy.js +0 -13
@@ -0,0 +1,734 @@
1
+ import { EventNames } from "../../../enums/EventNames";
2
+ import { InstanceServiceContainer } from '../../services/InstanceServiceContainer';
3
+ import { UndoService } from '../../services/undoService/UndoService';
4
+ import { SelectionService } from '../../services/selectionService/SelectionService';
5
+ import { DesignItem } from '../../item/DesignItem';
6
+ import { BaseCustomWebComponentLazyAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
7
+ import { dragDropFormatNameElementDefinition, dragDropFormatNameBindingObject } from '../../../Constants';
8
+ import { ContentService } from '../../services/contentService/ContentService';
9
+ import { InsertAction } from '../../services/undoService/transactionItems/InsertAction';
10
+ import { Snaplines } from './Snaplines';
11
+ import { ContextMenuHelper } from '../../helper/contextMenu/ContextMenuHelper';
12
+ import { DeleteAction } from '../../services/undoService/transactionItems/DeleteAction';
13
+ import { CommandType } from '../../../commandHandling/CommandType';
14
+ import { DefaultHtmlParserService } from "../../services/htmlParserService/DefaultHtmlParserService";
15
+ import { ExtensionType } from "./extensions/ExtensionType";
16
+ import { ExtensionManager } from "./extensions/ExtensionManager";
17
+ import { NamedTools } from "./tools/NamedTools";
18
+ import { Screenshot } from '../../helper/Screenshot';
19
+ import { dataURItoBlob, exportData } from "../../helper/Helper";
20
+ import { DomHelper } from '@node-projects/base-custom-webcomponent/dist/DomHelper';
21
+ import { OverlayLayer } from "./extensions/OverlayLayer";
22
+ import { OverlayLayerView } from './overlayLayerView';
23
+ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
24
+ // Public Properties
25
+ serviceContainer;
26
+ instanceServiceContainer;
27
+ containerBoundingRect;
28
+ outerRect;
29
+ // IPlacementView
30
+ gridSize = 10;
31
+ alignOnGrid = false;
32
+ alignOnSnap = true;
33
+ snapLines;
34
+ overlayLayer;
35
+ rootDesignItem;
36
+ eatEvents;
37
+ transformHelperElement;
38
+ _zoomFactor = 1; //if scale or zoom css property is used this needs to be the value
39
+ _scaleFactor = 1; //if scale css property is used this need to be the scale value
40
+ _canvasOffset = { x: 0, y: 0 };
41
+ get zoomFactor() {
42
+ return this._zoomFactor;
43
+ }
44
+ set zoomFactor(value) {
45
+ this._zoomFactor = value;
46
+ this.zoomFactorChanged();
47
+ }
48
+ get scaleFactor() {
49
+ return this._scaleFactor;
50
+ }
51
+ get canvasOffset() {
52
+ return this._canvasOffset;
53
+ }
54
+ set canvasOffset(value) {
55
+ this._canvasOffset = value;
56
+ this.zoomFactorChanged();
57
+ }
58
+ onContentChanged = new TypedEvent();
59
+ // Private Variables
60
+ _canvas;
61
+ _canvasContainer;
62
+ _outercanvas2;
63
+ _lastHoverDesignItem;
64
+ _onContextMenuBound;
65
+ _pointerEventHandlerBound;
66
+ _firstConnect;
67
+ _onKeyDownBound;
68
+ _onKeyUpBound;
69
+ static style = css `
70
+ :host {
71
+ display: block;
72
+ box-sizing: border-box;
73
+ width: 100%;
74
+ position: relative;
75
+ transform: translateZ(0);
76
+ overflow: hidden;
77
+
78
+ font-family: initial;
79
+ font-size: initial;
80
+ font-weight: initial;
81
+ font-style: initial;
82
+ line-height: initial;
83
+ }
84
+ * {
85
+ touch-action: none;
86
+ }
87
+ #node-projects-designer-canvas-canvas {
88
+ background-color: var(--canvas-background, white);
89
+ /* 10px grid, using http://www.patternify.com/ */
90
+ background-image: url(data:image/png;base64,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);
91
+ background-position: 0px 0px;
92
+ box-sizing: border-box;
93
+ width: 100%;
94
+ height: 100%;
95
+ transform-origin: 0 0;
96
+ }
97
+
98
+ #node-projects-designer-canvas-canvas.dragFileActive {
99
+ outline: blue 4px solid;
100
+ outline-offset: -4px;
101
+ }
102
+
103
+ node-projects-overlay-layer-view {
104
+ box-sizing: border-box;
105
+ width: 100%;
106
+ height: 100%;
107
+ position: absolute;
108
+ top: 0;
109
+ left: 0;
110
+ pointer-events: none;
111
+ overflow: visible;
112
+ user-select: none;
113
+ -webkit-user-select: none;
114
+ z-index: 999999999999;
115
+ }
116
+
117
+ #node-projects-designer-canvas-canvas * {
118
+ cursor: pointer;
119
+ user-select: none;
120
+ -webkit-user-select: none;
121
+ }
122
+
123
+ #transformHelper {
124
+ height: 0;
125
+ width: 0;
126
+ }`;
127
+ static template = html `
128
+ <div style="display: flex;flex-direction: column;width: 100%;height: 100%;">
129
+ <div style="width: 100%;height: 100%;">
130
+ <div id="node-projects-designer-canvas-outercanvas2"
131
+ style="width:100%;height:100%;position:relative;">
132
+ <div id="node-projects-designer-canvas-canvasContainer"
133
+ style="width: 100%;height: 100%;margin: auto;position: absolute;top: 0;/* bottom: 0; does not work with fixed sized when size is bigger then view */left: 0;user-select: none;">
134
+ <div id="node-projects-designer-canvas-canvas" part="canvas" tabindex="0"></div>
135
+ </div>
136
+ </div>
137
+ </div>
138
+ <div id="transformHelper"></div>
139
+ </div>`;
140
+ extensionManager;
141
+ _pointerextensions;
142
+ _onDblClickBound;
143
+ constructor() {
144
+ super();
145
+ this._canvas = this._getDomElement('node-projects-designer-canvas-canvas');
146
+ this._canvasContainer = this._getDomElement('node-projects-designer-canvas-canvasContainer');
147
+ this._outercanvas2 = this._getDomElement('node-projects-designer-canvas-outercanvas2');
148
+ this.transformHelperElement = this._getDomElement('transformHelper');
149
+ this._onKeyDownBound = this.onKeyDown.bind(this);
150
+ this._onKeyUpBound = this.onKeyUp.bind(this);
151
+ this._onDblClickBound = this._onDblClick.bind(this);
152
+ this._onContextMenuBound = this._onContextMenu.bind(this);
153
+ this._pointerEventHandlerBound = this._pointerEventHandler.bind(this);
154
+ this._canvas.oncontextmenu = this._onContextMenuBound;
155
+ }
156
+ get designerWidth() {
157
+ return this._canvasContainer.style.width;
158
+ }
159
+ set designerWidth(value) {
160
+ this._canvasContainer.style.width = value;
161
+ this.zoomFactorChanged();
162
+ }
163
+ get designerHeight() {
164
+ return this._canvasContainer.style.height;
165
+ }
166
+ set designerHeight(value) {
167
+ this._canvasContainer.style.height = value;
168
+ this.zoomFactorChanged();
169
+ }
170
+ get designerOffsetWidth() {
171
+ return this._canvasContainer.offsetWidth;
172
+ }
173
+ get designerOffsetHeight() {
174
+ return this._canvasContainer.offsetHeight;
175
+ }
176
+ set additionalStyle(value) {
177
+ if (value) {
178
+ for (let r of value.rules) {
179
+ if (r instanceof CSSStyleRule) {
180
+ let parts = r.selectorText.split(',');
181
+ let t = '';
182
+ for (let p of parts) {
183
+ if (r.selectorText)
184
+ t += ',';
185
+ t += '#canvas ' + p;
186
+ }
187
+ r.selectorText = t;
188
+ }
189
+ }
190
+ this.shadowRoot.adoptedStyleSheets = [this.constructor.style, value];
191
+ }
192
+ else
193
+ this.shadowRoot.adoptedStyleSheets = [this.constructor.style];
194
+ }
195
+ /* --- start IUiCommandHandler --- */
196
+ async executeCommand(command) {
197
+ const modelCommandService = this.serviceContainer.modelCommandService;
198
+ if (modelCommandService) {
199
+ let handeled = await modelCommandService.executeCommand(this, command);
200
+ if (handeled != null)
201
+ return;
202
+ }
203
+ switch (command.type) {
204
+ case CommandType.screenshot:
205
+ {
206
+ if (!this.instanceServiceContainer.selectionService.primarySelection)
207
+ alert("you need to select an element!");
208
+ else {
209
+ if (!Screenshot.screenshotsEnabled) {
210
+ alert("you need to select current tab in next browser dialog, or screenshots will not work correctly");
211
+ }
212
+ const el = this.instanceServiceContainer.selectionService.primarySelection.element;
213
+ const sel = this.instanceServiceContainer.selectionService.selectedElements;
214
+ this.instanceServiceContainer.selectionService.setSelectedElements(null);
215
+ const screenshot = await Screenshot.takeScreenshot(el, el.clientWidth, el.clientHeight);
216
+ await exportData(dataURItoBlob(screenshot), "screenshot.png");
217
+ this.instanceServiceContainer.selectionService.setSelectedElements(sel);
218
+ }
219
+ }
220
+ break;
221
+ case CommandType.setTool:
222
+ {
223
+ this.serviceContainer.globalContext.tool = this.serviceContainer.designerTools.get(command.parameter);
224
+ }
225
+ break;
226
+ case CommandType.setStrokeColor:
227
+ {
228
+ this.serviceContainer.globalContext.strokeColor = command.parameter;
229
+ }
230
+ break;
231
+ case CommandType.setFillBrush:
232
+ {
233
+ this.serviceContainer.globalContext.fillBrush = command.parameter;
234
+ }
235
+ break;
236
+ case CommandType.setStrokeThickness:
237
+ {
238
+ this.serviceContainer.globalContext.strokeThickness = command.parameter;
239
+ }
240
+ break;
241
+ case CommandType.delete:
242
+ this.handleDeleteCommand();
243
+ break;
244
+ case CommandType.undo:
245
+ this.instanceServiceContainer.undoService.undo();
246
+ break;
247
+ case CommandType.redo:
248
+ this.instanceServiceContainer.undoService.redo();
249
+ break;
250
+ case CommandType.copy:
251
+ this.handleCopyCommand();
252
+ break;
253
+ case CommandType.cut:
254
+ this.handleCopyCommand();
255
+ this.handleDeleteCommand();
256
+ break;
257
+ case CommandType.paste:
258
+ this.handlePasteCommand();
259
+ break;
260
+ case CommandType.selectAll:
261
+ this.handleSelectAll();
262
+ break;
263
+ }
264
+ }
265
+ canExecuteCommand(command) {
266
+ const modelCommandService = this.serviceContainer.modelCommandService;
267
+ if (modelCommandService) {
268
+ let handeled = modelCommandService.canExecuteCommand(this, command);
269
+ if (handeled !== null)
270
+ return handeled;
271
+ }
272
+ if (command.type === CommandType.undo) {
273
+ return this.instanceServiceContainer.undoService.canUndo();
274
+ }
275
+ if (command.type === CommandType.redo) {
276
+ return this.instanceServiceContainer.undoService.canRedo();
277
+ }
278
+ if (command.type === CommandType.setTool) {
279
+ return this.serviceContainer.designerTools.has(command.parameter);
280
+ }
281
+ return true;
282
+ }
283
+ /* --- end IUiCommandHandler --- */
284
+ handleSelectAll() {
285
+ this.instanceServiceContainer.selectionService.setSelectedElements(Array.from(this.rootDesignItem.children()));
286
+ }
287
+ async handleCopyCommand() {
288
+ await this.serviceContainer.copyPasteService.copyItems(this.instanceServiceContainer.selectionService.selectedElements);
289
+ }
290
+ async handlePasteCommand() {
291
+ const designItems = await this.serviceContainer.copyPasteService.getPasteItems(this.serviceContainer, this.instanceServiceContainer);
292
+ let grp = this.rootDesignItem.openGroup("Insert");
293
+ if (designItems) {
294
+ for (let di of designItems) {
295
+ this.instanceServiceContainer.undoService.execute(new InsertAction(this.rootDesignItem, this.rootDesignItem.childCount, di));
296
+ }
297
+ const intializationService = this.serviceContainer.intializationService;
298
+ if (intializationService) {
299
+ for (let di of designItems)
300
+ intializationService.init(di);
301
+ }
302
+ this.instanceServiceContainer.selectionService.setSelectedElements(designItems);
303
+ }
304
+ grp.commit();
305
+ this.snapLines.clearSnaplines();
306
+ }
307
+ handleDeleteCommand() {
308
+ let items = this.instanceServiceContainer.selectionService.selectedElements;
309
+ this.instanceServiceContainer.undoService.execute(new DeleteAction(items));
310
+ this.instanceServiceContainer.selectionService.setSelectedElements(null);
311
+ }
312
+ initialize(serviceContainer) {
313
+ this.serviceContainer = serviceContainer;
314
+ this.instanceServiceContainer = new InstanceServiceContainer(this);
315
+ this.instanceServiceContainer.register("undoService", new UndoService(this));
316
+ this.instanceServiceContainer.register("selectionService", new SelectionService);
317
+ this.rootDesignItem = DesignItem.GetOrCreateDesignItem(this._canvas, this.serviceContainer, this.instanceServiceContainer);
318
+ this.instanceServiceContainer.register("contentService", new ContentService(this.rootDesignItem));
319
+ this.extensionManager = new ExtensionManager(this);
320
+ this.overlayLayer = new OverlayLayerView(serviceContainer);
321
+ this.overlayLayer.style.pointerEvents = 'none';
322
+ this._canvasContainer.appendChild(this.overlayLayer);
323
+ this.snapLines = new Snaplines(this.overlayLayer);
324
+ this.snapLines.initialize(this.rootDesignItem);
325
+ if (this.serviceContainer.designerPointerExtensions)
326
+ for (let pe of this.serviceContainer.designerPointerExtensions) {
327
+ if (!this._pointerextensions)
328
+ this._pointerextensions = [];
329
+ this._pointerextensions.push(pe.getExtension(this));
330
+ }
331
+ if (this.children) {
332
+ let children = this.children;
333
+ if (this.children.length == 1 && this.children[0] instanceof HTMLSlotElement) {
334
+ children = this.children[0].assignedElements();
335
+ }
336
+ const parser = this.serviceContainer.getLastServiceWhere('htmlParserService', x => x.constructor == DefaultHtmlParserService);
337
+ this.addDesignItems(parser.createDesignItems(children, this.serviceContainer, this.instanceServiceContainer));
338
+ }
339
+ }
340
+ elementFromPoint(x, y) {
341
+ //@ts-ignore
342
+ return this.shadowRoot.elementFromPoint(x, y);
343
+ }
344
+ connectedCallback() {
345
+ if (!this._firstConnect) {
346
+ this._firstConnect = true;
347
+ this._outercanvas2.addEventListener(EventNames.PointerDown, this._pointerEventHandlerBound);
348
+ this._outercanvas2.addEventListener(EventNames.PointerMove, this._pointerEventHandlerBound);
349
+ this._outercanvas2.addEventListener(EventNames.PointerUp, this._pointerEventHandlerBound);
350
+ this._outercanvas2.addEventListener(EventNames.DragEnter, event => this._onDragEnter(event));
351
+ this._outercanvas2.addEventListener(EventNames.DragLeave, event => this._onDragLeave(event));
352
+ this._outercanvas2.addEventListener(EventNames.DragOver, event => this._onDragOver(event));
353
+ this._outercanvas2.addEventListener(EventNames.Drop, event => this._onDrop(event));
354
+ this._canvas.addEventListener(EventNames.KeyDown, this._onKeyDownBound, true);
355
+ this._canvas.addEventListener(EventNames.KeyUp, this._onKeyUpBound, true);
356
+ this._canvas.addEventListener(EventNames.DblClick, this._onDblClickBound, true);
357
+ }
358
+ }
359
+ zoomFactorChanged() {
360
+ //a@ts-ignore
361
+ //this._canvasContainer.style.zoom = <any>this._zoomFactor;
362
+ //this._canvasContainer.style.transform = 'scale(' + this._zoomFactor+') translate(' + this._translate.x + ', '+this._translate.y+')';
363
+ //this._canvasContainer.style.transformOrigin = '0 0';
364
+ this._canvasContainer.style.bottom = this._outercanvas2.offsetHeight >= this._canvasContainer.offsetHeight ? '0' : '';
365
+ this._canvasContainer.style.right = this._outercanvas2.offsetWidth >= this._canvasContainer.offsetWidth ? '0' : '';
366
+ this._updateTransform();
367
+ }
368
+ _updateTransform() {
369
+ this._scaleFactor = this._zoomFactor;
370
+ this._canvasContainer.style.transform = 'scale(' + this._zoomFactor + ') translate(' + this._canvasOffset.x + 'px, ' + this._canvasOffset.y + 'px)';
371
+ this._canvasContainer.style.transformOrigin = '0 0';
372
+ this.snapLines.clearSnaplines();
373
+ }
374
+ setDesignItems(designItems) {
375
+ this._fillCalculationrects();
376
+ this.instanceServiceContainer.undoService.clear();
377
+ this.overlayLayer.removeAllOverlays();
378
+ DomHelper.removeAllChildnodes(this.overlayLayer);
379
+ this.rootDesignItem.clearChildren();
380
+ this.addDesignItems(designItems);
381
+ this.instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'parsed' });
382
+ }
383
+ addDesignItems(designItems) {
384
+ if (designItems) {
385
+ for (let di of designItems) {
386
+ this.rootDesignItem._insertChildInternal(di);
387
+ }
388
+ }
389
+ const intializationService = this.serviceContainer.intializationService;
390
+ if (intializationService) {
391
+ for (let di of designItems)
392
+ intializationService.init(di);
393
+ }
394
+ this.snapLines.clearSnaplines();
395
+ const prepService = this.serviceContainer.prepareElementsForDesignerService;
396
+ if (prepService)
397
+ requestAnimationFrame(() => prepService.prepareElementsForDesigner(this.rootDesignItem));
398
+ }
399
+ _onDragEnter(event) {
400
+ this._fillCalculationrects();
401
+ event.preventDefault();
402
+ const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
403
+ if (hasTransferDataBindingObject) {
404
+ const ddService = this.serviceContainer.bindableObjectDragDropService;
405
+ if (ddService) {
406
+ const effect = ddService.dragEnter(this, event);
407
+ event.dataTransfer.dropEffect = effect;
408
+ }
409
+ }
410
+ }
411
+ _onDragLeave(event) {
412
+ this._fillCalculationrects();
413
+ event.preventDefault();
414
+ this._canvas.classList.remove('dragFileActive');
415
+ const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
416
+ if (hasTransferDataBindingObject) {
417
+ const ddService = this.serviceContainer.bindableObjectDragDropService;
418
+ if (ddService) {
419
+ const effect = ddService.dragLeave(this, event);
420
+ event.dataTransfer.dropEffect = effect;
421
+ }
422
+ }
423
+ }
424
+ _onDragOver(event) {
425
+ event.preventDefault();
426
+ /*if (this.alignOnSnap) {
427
+ this.snapLines.calculateSnaplines(this.instanceServiceContainer.selectionService.selectedElements);
428
+ //TODO: fix this following code...
429
+ const currentPoint = this.getDesignerMousepoint(event);
430
+ let containerService = this.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(this.rootDesignItem))
431
+ containerService.finishPlace(this, this.rootDesignItem, this._initialPoint, currentPoint, this.instanceServiceContainer.selectionService.selectedElements);
432
+ }*/
433
+ this._fillCalculationrects();
434
+ if (event.dataTransfer.types.length > 0 && event.dataTransfer.types[0] == 'Files') {
435
+ const ddService = this.serviceContainer.dragDropService;
436
+ if (ddService) {
437
+ const effect = ddService.dragOver(event);
438
+ event.dataTransfer.dropEffect = effect;
439
+ if (effect !== 'none')
440
+ this._canvas.classList.add('dragFileActive');
441
+ }
442
+ }
443
+ const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
444
+ if (hasTransferDataBindingObject) {
445
+ const ddService = this.serviceContainer.bindableObjectDragDropService;
446
+ if (ddService) {
447
+ const effect = ddService.dragOver(this, event);
448
+ event.dataTransfer.dropEffect = effect;
449
+ }
450
+ }
451
+ }
452
+ async _onDrop(event) {
453
+ event.preventDefault();
454
+ this._canvas.classList.remove('dragFileActive');
455
+ this._fillCalculationrects();
456
+ if (event.dataTransfer.files?.length > 0) {
457
+ const ddService = this.serviceContainer.dragDropService;
458
+ if (ddService) {
459
+ ddService.drop(this, event);
460
+ }
461
+ }
462
+ else {
463
+ const transferDataBindingObject = event.dataTransfer.getData(dragDropFormatNameBindingObject);
464
+ if (transferDataBindingObject) {
465
+ const bo = JSON.parse(transferDataBindingObject);
466
+ const ddService = this.serviceContainer.bindableObjectDragDropService;
467
+ if (ddService) {
468
+ const effect = ddService.drop(this, event, bo);
469
+ event.dataTransfer.dropEffect = effect;
470
+ }
471
+ }
472
+ else {
473
+ this._fillCalculationrects();
474
+ const position = this.getNormalizedEventCoordinates(event);
475
+ const transferData = event.dataTransfer.getData(dragDropFormatNameElementDefinition);
476
+ const elementDefinition = JSON.parse(transferData);
477
+ const di = await this.serviceContainer.forSomeServicesTillResult("instanceService", (service) => service.getElement(elementDefinition, this.serviceContainer, this.instanceServiceContainer));
478
+ const grp = di.openGroup("Insert");
479
+ di.setStyle('position', 'absolute');
480
+ di.setStyle('left', position.x + 'px');
481
+ di.setStyle('top', position.y + 'px');
482
+ this.instanceServiceContainer.undoService.execute(new InsertAction(this.rootDesignItem, this.rootDesignItem.childCount, di));
483
+ grp.commit();
484
+ requestAnimationFrame(() => this.instanceServiceContainer.selectionService.setSelectedElements([di]));
485
+ }
486
+ }
487
+ }
488
+ _onContextMenu(event) {
489
+ event.preventDefault();
490
+ if (!event.shiftKey) {
491
+ let items = this.getItemsBelowMouse(event);
492
+ if (items.indexOf(this.instanceServiceContainer.selectionService.primarySelection.element) >= 0)
493
+ this.showDesignItemContextMenu(this.instanceServiceContainer.selectionService.primarySelection, event);
494
+ else {
495
+ const designItem = DesignItem.GetOrCreateDesignItem(event.target, this.serviceContainer, this.instanceServiceContainer);
496
+ if (!this.instanceServiceContainer.selectionService.isSelected(designItem)) {
497
+ this.instanceServiceContainer.selectionService.setSelectedElements([designItem]);
498
+ }
499
+ this.showDesignItemContextMenu(designItem, event);
500
+ }
501
+ }
502
+ }
503
+ showDesignItemContextMenu(designItem, event) {
504
+ const mnuItems = [];
505
+ for (let cme of this.serviceContainer.designerContextMenuExtensions) {
506
+ if (cme.shouldProvideContextmenu(event, this, designItem, 'designer')) {
507
+ mnuItems.push(...cme.provideContextMenuItems(event, this, designItem));
508
+ }
509
+ }
510
+ let ctxMnu = ContextMenuHelper.showContextMenu(null, event, null, mnuItems);
511
+ return ctxMnu;
512
+ }
513
+ _onDblClick(event) {
514
+ event.preventDefault();
515
+ this.extensionManager.applyExtension(this.instanceServiceContainer.selectionService.primarySelection, ExtensionType.Doubleclick);
516
+ }
517
+ onKeyUp(event) {
518
+ if (event.composedPath().indexOf(this.eatEvents) >= 0)
519
+ return;
520
+ switch (event.key) {
521
+ case 'ArrowUp':
522
+ //this._resetPointerEventsForClickThrough();
523
+ break;
524
+ }
525
+ event.preventDefault();
526
+ }
527
+ onKeyDown(event) {
528
+ if (event.composedPath().indexOf(this.eatEvents) >= 0)
529
+ return;
530
+ //TODO: keyboard events maybe should also be handeled by tools
531
+ if ((event.ctrlKey || event.metaKey) && event.key === 'z' && !event.shiftKey)
532
+ this.executeCommand({ type: CommandType.undo });
533
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'z' && event.shiftKey)
534
+ this.executeCommand({ type: CommandType.redo });
535
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'y')
536
+ this.executeCommand({ type: CommandType.redo });
537
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'a')
538
+ this.executeCommand({ type: CommandType.selectAll });
539
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'c')
540
+ this.executeCommand({ type: CommandType.copy });
541
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'v')
542
+ this.executeCommand({ type: CommandType.paste });
543
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'x')
544
+ this.executeCommand({ type: CommandType.cut });
545
+ else {
546
+ let primarySelection = this.instanceServiceContainer.selectionService.primarySelection;
547
+ if (!primarySelection) {
548
+ return;
549
+ }
550
+ let moveOffset = 1;
551
+ if (event.shiftKey)
552
+ moveOffset = 10;
553
+ switch (event.key) {
554
+ case 'Delete':
555
+ case 'Backspace':
556
+ this.executeCommand({ type: CommandType.delete });
557
+ break;
558
+ case 'ArrowUp':
559
+ {
560
+ this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('top', parseInt(x.element.style.top) - moveOffset + 'px'));
561
+ this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
562
+ }
563
+ break;
564
+ case 'ArrowDown':
565
+ {
566
+ this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('top', parseInt(x.element.style.top) + moveOffset + 'px'));
567
+ this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
568
+ }
569
+ break;
570
+ case 'ArrowLeft':
571
+ {
572
+ this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('left', parseInt(x.element.style.left) - moveOffset + 'px'));
573
+ this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
574
+ }
575
+ break;
576
+ case 'ArrowRight':
577
+ {
578
+ this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('left', parseInt(x.element.style.left) + moveOffset + 'px'));
579
+ this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
580
+ }
581
+ break;
582
+ }
583
+ }
584
+ event.preventDefault();
585
+ }
586
+ getNormalizedEventCoordinates(event) {
587
+ const offsetOfOuterX = (event.clientX - this.outerRect.x) / this.zoomFactor;
588
+ const offsetOfCanvasX = this.containerBoundingRect.x - this.outerRect.x / this.zoomFactor * this._scaleFactor;
589
+ const offsetOfOuterY = (event.clientY - this.outerRect.y) / this.zoomFactor;
590
+ const offsetOfCanvasY = this.containerBoundingRect.y - this.outerRect.y / this.zoomFactor * this._scaleFactor;
591
+ return {
592
+ x: offsetOfOuterX - offsetOfCanvasX + offsetOfCanvasX - offsetOfCanvasX / this.zoomFactor,
593
+ y: offsetOfOuterY - offsetOfCanvasY + offsetOfCanvasY - offsetOfCanvasY / this.zoomFactor
594
+ };
595
+ }
596
+ getNormalizedElementCoordinates(element) {
597
+ const targetRect = element.getBoundingClientRect();
598
+ return { x: (targetRect.x - this.containerBoundingRect.x) / this.scaleFactor, y: (targetRect.y - this.containerBoundingRect.y) / this.scaleFactor, width: targetRect.width / this.scaleFactor, height: targetRect.height / this.scaleFactor };
599
+ }
600
+ getNormalizedOffsetInElement(event, element) {
601
+ const normEvt = this.getNormalizedEventCoordinates(event);
602
+ const normEl = this.getNormalizedElementCoordinates(element);
603
+ return { x: normEvt.x - normEl.x, y: normEvt.y - normEl.y };
604
+ }
605
+ getElementAtPoint(point, ignoreElementCallback) {
606
+ let backupPEventsMap = new Map();
607
+ let currentElement = this.elementFromPoint(point.x, point.y);
608
+ let lastElement = null;
609
+ try {
610
+ while (currentElement != null) {
611
+ if (currentElement == lastElement) {
612
+ currentElement = null;
613
+ break;
614
+ }
615
+ lastElement = currentElement;
616
+ if (currentElement == this._canvas) {
617
+ break;
618
+ }
619
+ if (currentElement === this.overlayLayer) {
620
+ currentElement = this.overlayLayer.elementFromPoint(point.x, point.y);
621
+ break;
622
+ }
623
+ if (!ignoreElementCallback || !ignoreElementCallback(currentElement)) {
624
+ break;
625
+ }
626
+ backupPEventsMap.set(currentElement, currentElement.style.pointerEvents);
627
+ currentElement.style.pointerEvents = 'none';
628
+ if (currentElement.shadowRoot) {
629
+ for (let e of currentElement.shadowRoot.querySelectorAll('*')) {
630
+ if (!backupPEventsMap.has(e)) {
631
+ if (e.style)
632
+ backupPEventsMap.set(e, e.style.pointerEvents);
633
+ e.style.pointerEvents = 'none';
634
+ }
635
+ }
636
+ }
637
+ currentElement = this.elementFromPoint(point.x, point.y);
638
+ }
639
+ }
640
+ finally {
641
+ for (let e of backupPEventsMap.entries()) {
642
+ e[0].style.pointerEvents = e[1];
643
+ }
644
+ }
645
+ return currentElement;
646
+ }
647
+ _rect;
648
+ _pointerEventHandler(event, forceElement = null) {
649
+ this._fillCalculationrects();
650
+ if (this._pointerextensions) {
651
+ for (let pe of this._pointerextensions)
652
+ pe.refresh(event);
653
+ }
654
+ if (event.composedPath().indexOf(this.eatEvents) >= 0)
655
+ return;
656
+ if (event.buttons == 2)
657
+ return;
658
+ let currentElement;
659
+ if (forceElement)
660
+ currentElement = forceElement;
661
+ else {
662
+ currentElement = this.serviceContainer.elementAtPointService.getElementAtPoint(this, { x: event.x, y: event.y });
663
+ if (currentElement === this._outercanvas2 || currentElement === this.overlayLayer || !currentElement) {
664
+ currentElement = this._canvas;
665
+ }
666
+ } /* else {
667
+ if (!DesignerCanvas.hasOrIsParent(currentElement, this._canvas))
668
+ return;
669
+ }*/
670
+ //TODO: remove duplication when tool refactoring starts
671
+ //this._fillCalculationrects();
672
+ const currentDesignItem = DesignItem.GetOrCreateDesignItem(currentElement, this.serviceContainer, this.instanceServiceContainer);
673
+ if (this._lastHoverDesignItem != currentDesignItem) {
674
+ if (this._lastHoverDesignItem)
675
+ this.extensionManager.removeExtension(this._lastHoverDesignItem, ExtensionType.MouseOver);
676
+ if (currentDesignItem && currentDesignItem != this.rootDesignItem && DomHelper.getHost(currentElement.parentNode) !== this.overlayLayer)
677
+ this.extensionManager.applyExtension(currentDesignItem, ExtensionType.MouseOver);
678
+ this._lastHoverDesignItem = currentDesignItem;
679
+ }
680
+ if (currentElement && DomHelper.getHost(currentElement.parentNode) === this.overlayLayer) {
681
+ if (this.eatEvents)
682
+ return;
683
+ currentElement = this.instanceServiceContainer.selectionService.primarySelection?.element ?? this._canvas;
684
+ }
685
+ this._fillCalculationrects();
686
+ let tool = this.serviceContainer.globalContext.tool ?? this.serviceContainer.designerTools.get(NamedTools.Pointer);
687
+ this._canvas.style.cursor = tool.cursor;
688
+ tool.pointerEventHandler(this, event, currentElement);
689
+ }
690
+ _fillCalculationrects() {
691
+ this.containerBoundingRect = this._canvasContainer.getBoundingClientRect();
692
+ this.outerRect = this._outercanvas2.getBoundingClientRect();
693
+ }
694
+ addOverlay(element, overlayLayer = OverlayLayer.Normal) {
695
+ this.overlayLayer.addOverlay(element, overlayLayer);
696
+ }
697
+ removeOverlay(element) {
698
+ this.overlayLayer.removeOverlay(element);
699
+ }
700
+ getItemsBelowMouse(event) {
701
+ const lstEl = [];
702
+ //search for containers below mouse cursor.
703
+ //to do this, we need to disable pointer events for each in a loop and search wich element is there
704
+ let backupPEventsMap = new Map();
705
+ try {
706
+ let el = this.elementFromPoint(event.x, event.y);
707
+ backupPEventsMap.set(el, el.style.pointerEvents);
708
+ el.style.pointerEvents = 'none';
709
+ if (el !== this.rootDesignItem.element) {
710
+ el = this.elementFromPoint(event.x, event.y);
711
+ while (el != null) {
712
+ if (el === this.rootDesignItem.element)
713
+ break;
714
+ if (el !== this.overlayLayer && el.parentElement !== this.overlayLayer && el.getRootNode() === this.shadowRoot)
715
+ lstEl.push(el);
716
+ if (!backupPEventsMap.has(el))
717
+ backupPEventsMap.set(el, el.style.pointerEvents);
718
+ el.style.pointerEvents = 'none';
719
+ const oldEl = el;
720
+ el = this.elementFromPoint(event.x, event.y);
721
+ if (oldEl === el)
722
+ break;
723
+ }
724
+ }
725
+ }
726
+ finally {
727
+ for (let e of backupPEventsMap.entries()) {
728
+ e[0].style.pointerEvents = e[1];
729
+ }
730
+ }
731
+ return lstEl;
732
+ }
733
+ }
734
+ customElements.define('node-projects-designer-canvas', DesignerCanvas);