@node-projects/web-component-designer 0.1.0 → 0.1.1

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 (647) hide show
  1. package/dist/Constants.d.ts +4 -0
  2. package/dist/Constants.js +6 -0
  3. package/dist/commandHandling/CommandType.d.ts +34 -0
  4. package/dist/commandHandling/CommandType.js +35 -0
  5. package/dist/commandHandling/IUiCommand.d.ts +10 -0
  6. package/dist/commandHandling/IUiCommand.js +1 -0
  7. package/dist/commandHandling/IUiCommandHandler.d.ts +5 -0
  8. package/dist/commandHandling/IUiCommandHandler.js +1 -0
  9. package/dist/elements/controls/DesignerTabControl.d.ts +24 -0
  10. package/dist/elements/controls/DesignerTabControl.js +237 -0
  11. package/dist/elements/controls/ImageButtonListSelector.d.ts +17 -0
  12. package/dist/elements/controls/ImageButtonListSelector.js +81 -0
  13. package/dist/elements/controls/MetricsEditor.d.ts +18 -0
  14. package/dist/elements/controls/MetricsEditor.js +151 -0
  15. package/dist/elements/controls/NumericPopup.d.ts +6 -0
  16. package/dist/elements/controls/NumericPopup.js +39 -0
  17. package/dist/elements/controls/NumericStyleInput.d.ts +16 -0
  18. package/dist/elements/controls/NumericStyleInput.js +56 -0
  19. package/dist/elements/controls/PlainScrollbar.d.ts +15 -0
  20. package/dist/elements/controls/PlainScrollbar.js +488 -0
  21. package/dist/elements/controls/SimpleSplitView.d.ts +11 -0
  22. package/dist/elements/controls/SimpleSplitView.js +68 -0
  23. package/dist/elements/controls/ThicknessEditor.d.ts +33 -0
  24. package/dist/elements/controls/ThicknessEditor.js +145 -0
  25. package/dist/elements/documentContainer.d.ts +54 -0
  26. package/dist/elements/documentContainer.js +243 -0
  27. package/dist/elements/helper/ArrangeHelper.d.ts +8 -0
  28. package/dist/elements/helper/ArrangeHelper.js +105 -0
  29. package/dist/elements/helper/ClipboardHelper.d.ts +4 -0
  30. package/dist/elements/helper/ClipboardHelper.js +90 -0
  31. package/dist/elements/helper/CssAttributeParser.d.ts +9 -0
  32. package/dist/elements/helper/CssAttributeParser.js +67 -0
  33. package/dist/elements/helper/CssCombiner.d.ts +11 -0
  34. package/dist/elements/helper/CssCombiner.js +297 -0
  35. package/dist/elements/helper/CssUnitConverter.d.ts +3 -0
  36. package/dist/elements/helper/CssUnitConverter.js +101 -0
  37. package/dist/elements/helper/ElementHelper.d.ts +23 -0
  38. package/dist/elements/helper/ElementHelper.js +136 -0
  39. package/dist/elements/helper/GridHelper.d.ts +23 -0
  40. package/dist/elements/helper/GridHelper.js +131 -0
  41. package/dist/elements/helper/Helper.d.ts +8 -0
  42. package/dist/elements/helper/Helper.js +36 -0
  43. package/dist/elements/helper/ITextWriter.d.ts +11 -0
  44. package/dist/elements/helper/ITextWriter.js +1 -0
  45. package/dist/elements/helper/IndentedTextWriter.d.ts +15 -0
  46. package/dist/elements/helper/IndentedTextWriter.js +34 -0
  47. package/dist/elements/helper/LayoutHelper.d.ts +4 -0
  48. package/dist/elements/helper/LayoutHelper.js +73 -0
  49. package/dist/elements/helper/NpmPackageHacks.json +15 -0
  50. package/dist/elements/helper/NpmPackageLoader.d.ts +20 -0
  51. package/dist/elements/helper/NpmPackageLoader.js +357 -0
  52. package/dist/elements/helper/PathDataPolyfill.d.ts +101 -0
  53. package/dist/elements/helper/PathDataPolyfill.js +971 -0
  54. package/dist/elements/helper/Screenshot.d.ts +11 -0
  55. package/dist/elements/helper/Screenshot.js +60 -0
  56. package/dist/elements/helper/SimpleTextWriter.d.ts +13 -0
  57. package/dist/elements/helper/SimpleTextWriter.js +26 -0
  58. package/dist/elements/helper/SvgHelper.d.ts +1 -0
  59. package/dist/elements/helper/SvgHelper.js +13 -0
  60. package/dist/elements/helper/SwitchContainerHelper.d.ts +2 -0
  61. package/dist/elements/helper/SwitchContainerHelper.js +45 -0
  62. package/dist/elements/helper/TextHelper.d.ts +10 -0
  63. package/dist/elements/helper/TextHelper.js +23 -0
  64. package/dist/elements/helper/TransformHelper.d.ts +23 -0
  65. package/dist/elements/helper/TransformHelper.js +239 -0
  66. package/dist/elements/helper/XmlHelper.d.ts +2 -0
  67. package/dist/elements/helper/XmlHelper.js +16 -0
  68. package/dist/elements/helper/contextMenu/ContextMenu.d.ts +26 -0
  69. package/dist/elements/helper/contextMenu/ContextMenu.js +345 -0
  70. package/dist/elements/helper/contextMenu/IContextMenuItem.d.ts +12 -0
  71. package/dist/elements/helper/contextMenu/IContextMenuItem.js +3 -0
  72. package/dist/elements/helper/w3color.d.ts +120 -0
  73. package/dist/elements/helper/w3color.js +801 -0
  74. package/dist/elements/item/BindingMode.d.ts +4 -0
  75. package/dist/elements/item/BindingMode.js +5 -0
  76. package/dist/elements/item/BindingTarget.d.ts +8 -0
  77. package/dist/elements/item/BindingTarget.js +9 -0
  78. package/dist/elements/item/DesignItem.d.ts +96 -0
  79. package/dist/elements/item/DesignItem.js +513 -0
  80. package/dist/elements/item/IBinding.d.ts +15 -0
  81. package/dist/elements/item/IBinding.js +1 -0
  82. package/dist/elements/item/IDesignItem.d.ts +74 -0
  83. package/dist/elements/item/IDesignItem.js +1 -0
  84. package/dist/elements/item/NodeType.d.ts +8 -0
  85. package/dist/elements/item/NodeType.js +9 -0
  86. package/dist/elements/services/BaseServiceContainer.d.ts +15 -0
  87. package/dist/elements/services/BaseServiceContainer.js +67 -0
  88. package/dist/elements/services/DefaultServiceBootstrap.d.ts +3 -0
  89. package/dist/elements/services/DefaultServiceBootstrap.js +202 -0
  90. package/dist/elements/services/GlobalContext.d.ts +32 -0
  91. package/dist/elements/services/GlobalContext.js +69 -0
  92. package/dist/elements/services/IService.d.ts +2 -0
  93. package/dist/elements/services/IService.js +1 -0
  94. package/dist/elements/services/IServiceContainer.d.ts +5 -0
  95. package/dist/elements/services/IServiceContainer.js +1 -0
  96. package/dist/elements/services/InstanceServiceContainer.d.ts +27 -0
  97. package/dist/elements/services/InstanceServiceContainer.js +26 -0
  98. package/dist/elements/services/ServiceContainer.d.ts +122 -0
  99. package/dist/elements/services/ServiceContainer.js +103 -0
  100. package/dist/elements/services/bindableObjectsService/BindableObjectType.d.ts +9 -0
  101. package/dist/elements/services/bindableObjectsService/BindableObjectType.js +10 -0
  102. package/dist/elements/services/bindableObjectsService/IBindableObject.d.ts +8 -0
  103. package/dist/elements/services/bindableObjectsService/IBindableObject.js +1 -0
  104. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.d.ts +12 -0
  105. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.js +1 -0
  106. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.d.ts +6 -0
  107. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.js +1 -0
  108. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.d.ts +10 -0
  109. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +73 -0
  110. package/dist/elements/services/bindingsService/IBindingService.d.ts +13 -0
  111. package/dist/elements/services/bindingsService/IBindingService.js +1 -0
  112. package/dist/elements/services/bindingsService/SpecialTagsBindingService.d.ts +16 -0
  113. package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +44 -0
  114. package/dist/elements/services/bindingsService/VueBindingsService.d.ts +0 -0
  115. package/dist/elements/services/bindingsService/VueBindingsService.js +7 -0
  116. package/dist/elements/services/configUiService/IConfigUiService.d.ts +5 -0
  117. package/dist/elements/services/configUiService/IConfigUiService.js +1 -0
  118. package/dist/elements/services/contentService/ContentService.d.ts +9 -0
  119. package/dist/elements/services/contentService/ContentService.js +8 -0
  120. package/dist/elements/services/contentService/IContentChanged.d.ts +10 -0
  121. package/dist/elements/services/contentService/IContentChanged.js +1 -0
  122. package/dist/elements/services/contentService/IContentService.d.ts +7 -0
  123. package/dist/elements/services/contentService/IContentService.js +1 -0
  124. package/dist/elements/services/copyPasteService/CopyPasteAsJsonService.d.ts +9 -0
  125. package/dist/elements/services/copyPasteService/CopyPasteAsJsonService.js +54 -0
  126. package/dist/elements/services/copyPasteService/CopyPasteService.d.ts +10 -0
  127. package/dist/elements/services/copyPasteService/CopyPasteService.js +33 -0
  128. package/dist/elements/services/copyPasteService/ICopyPasteService.d.ts +8 -0
  129. package/dist/elements/services/copyPasteService/ICopyPasteService.js +1 -0
  130. package/dist/elements/services/demoProviderService/IDemoProviderService.d.ts +5 -0
  131. package/dist/elements/services/demoProviderService/IDemoProviderService.js +1 -0
  132. package/dist/elements/services/demoProviderService/IframeDemoProviderService.d.ts +6 -0
  133. package/dist/elements/services/demoProviderService/IframeDemoProviderService.js +38 -0
  134. package/dist/elements/services/demoProviderService/SimpleDemoProviderService.d.ts +6 -0
  135. package/dist/elements/services/demoProviderService/SimpleDemoProviderService.js +27 -0
  136. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.d.ts +10 -0
  137. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.js +10 -0
  138. package/dist/elements/services/designItemDocumentPositionService/IDesignItemDocumentPositionService.d.ts +6 -0
  139. package/dist/elements/services/designItemDocumentPositionService/IDesignItemDocumentPositionService.js +1 -0
  140. package/dist/elements/services/designItemService/DesignItemService.d.ts +7 -0
  141. package/dist/elements/services/designItemService/DesignItemService.js +6 -0
  142. package/dist/elements/services/designItemService/IDesignItemService.d.ts +6 -0
  143. package/dist/elements/services/designItemService/IDesignItemService.js +1 -0
  144. package/dist/elements/services/designerAddons/IDesignerAddonJson.d.ts +3 -0
  145. package/dist/elements/services/designerAddons/IDesignerAddonJson.js +1 -0
  146. package/dist/elements/services/dragDropService/DragDropService.d.ts +14 -0
  147. package/dist/elements/services/dragDropService/DragDropService.js +89 -0
  148. package/dist/elements/services/dragDropService/ExternalDragDropService.d.ts +6 -0
  149. package/dist/elements/services/dragDropService/ExternalDragDropService.js +22 -0
  150. package/dist/elements/services/dragDropService/IDragDropService.d.ts +10 -0
  151. package/dist/elements/services/dragDropService/IDragDropService.js +1 -0
  152. package/dist/elements/services/dragDropService/IExternalDragDropService.d.ts +5 -0
  153. package/dist/elements/services/dragDropService/IExternalDragDropService.js +1 -0
  154. package/dist/elements/services/dragDropService/IPropertyGridDragDropService.d.ts +6 -0
  155. package/dist/elements/services/dragDropService/IPropertyGridDragDropService.js +1 -0
  156. package/dist/elements/services/elementAtPointService/ElementAtPointService.d.ts +6 -0
  157. package/dist/elements/services/elementAtPointService/ElementAtPointService.js +5 -0
  158. package/dist/elements/services/elementAtPointService/IElementAtPointService.d.ts +6 -0
  159. package/dist/elements/services/elementAtPointService/IElementAtPointService.js +1 -0
  160. package/dist/elements/services/elementInteractionService/IElementInteractionService.d.ts +5 -0
  161. package/dist/elements/services/elementInteractionService/IElementInteractionService.js +1 -0
  162. package/dist/elements/services/elementsService/IElementDefinition.d.ts +31 -0
  163. package/dist/elements/services/elementsService/IElementDefinition.js +1 -0
  164. package/dist/elements/services/elementsService/IElementsJson.d.ts +5 -0
  165. package/dist/elements/services/elementsService/IElementsJson.js +1 -0
  166. package/dist/elements/services/elementsService/IElementsService.d.ts +6 -0
  167. package/dist/elements/services/elementsService/IElementsService.js +1 -0
  168. package/dist/elements/services/elementsService/JsonFileElementsService.d.ts +12 -0
  169. package/dist/elements/services/elementsService/JsonFileElementsService.js +45 -0
  170. package/dist/elements/services/elementsService/PreDefinedElementsService.d.ts +11 -0
  171. package/dist/elements/services/elementsService/PreDefinedElementsService.js +21 -0
  172. package/dist/elements/services/elementsService/WebcomponentManifestElementsService.d.ts +13 -0
  173. package/dist/elements/services/elementsService/WebcomponentManifestElementsService.js +45 -0
  174. package/dist/elements/services/eventsService/EventsService.d.ts +49 -0
  175. package/dist/elements/services/eventsService/EventsService.js +103 -0
  176. package/dist/elements/services/eventsService/IEvent.d.ts +5 -0
  177. package/dist/elements/services/eventsService/IEvent.js +1 -0
  178. package/dist/elements/services/eventsService/IEventsService.d.ts +7 -0
  179. package/dist/elements/services/eventsService/IEventsService.js +1 -0
  180. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.d.ts +9 -0
  181. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js +18 -0
  182. package/dist/elements/services/htmlParserService/IHtmlParserService.d.ts +7 -0
  183. package/dist/elements/services/htmlParserService/IHtmlParserService.js +1 -0
  184. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.d.ts +11 -0
  185. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js +71 -0
  186. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.d.ts +23 -0
  187. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.js +142 -0
  188. package/dist/elements/services/htmlWriterService/HtmlWriterService.d.ts +13 -0
  189. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +116 -0
  190. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.d.ts +7 -0
  191. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.js +1 -0
  192. package/dist/elements/services/htmlWriterService/IHtmlWriterService.d.ts +7 -0
  193. package/dist/elements/services/htmlWriterService/IHtmlWriterService.js +1 -0
  194. package/dist/elements/services/htmlWriterService/IStringPosition.d.ts +4 -0
  195. package/dist/elements/services/htmlWriterService/IStringPosition.js +1 -0
  196. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.d.ts +10 -0
  197. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js +52 -0
  198. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.d.ts +27 -0
  199. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.js +98 -0
  200. package/dist/elements/services/initializationService/IIntializationService.d.ts +4 -0
  201. package/dist/elements/services/initializationService/IIntializationService.js +1 -0
  202. package/dist/elements/services/instanceService/DefaultInstanceService.d.ts +8 -0
  203. package/dist/elements/services/instanceService/DefaultInstanceService.js +71 -0
  204. package/dist/elements/services/instanceService/IDesignerInstance.d.ts +3 -0
  205. package/dist/elements/services/instanceService/IDesignerInstance.js +1 -0
  206. package/dist/elements/services/instanceService/IInstanceService.d.ts +8 -0
  207. package/dist/elements/services/instanceService/IInstanceService.js +1 -0
  208. package/dist/elements/services/manifestParsers/IOldCustomElementsManifest.d.ts +24 -0
  209. package/dist/elements/services/manifestParsers/IOldCustomElementsManifest.js +1 -0
  210. package/dist/elements/services/manifestParsers/OldCustomElementsManifestLoader.d.ts +8 -0
  211. package/dist/elements/services/manifestParsers/OldCustomElementsManifestLoader.js +45 -0
  212. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +26 -0
  213. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +114 -0
  214. package/dist/elements/services/modelCommandService/DefaultModelCommandService.d.ts +7 -0
  215. package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +148 -0
  216. package/dist/elements/services/modelCommandService/IModelCommandService.d.ts +7 -0
  217. package/dist/elements/services/modelCommandService/IModelCommandService.js +1 -0
  218. package/dist/elements/services/placementService/DefaultPlacementService.d.ts +19 -0
  219. package/dist/elements/services/placementService/DefaultPlacementService.js +148 -0
  220. package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +20 -0
  221. package/dist/elements/services/placementService/FlexBoxPlacementService.js +144 -0
  222. package/dist/elements/services/placementService/GridPlacementService.d.ts +20 -0
  223. package/dist/elements/services/placementService/GridPlacementService.js +117 -0
  224. package/dist/elements/services/placementService/IPlacementService.d.ts +18 -0
  225. package/dist/elements/services/placementService/IPlacementService.js +1 -0
  226. package/dist/elements/services/placementService/ISnaplinesProviderService.d.ts +12 -0
  227. package/dist/elements/services/placementService/ISnaplinesProviderService.js +1 -0
  228. package/dist/elements/services/placementService/SnaplinesProviderService.d.ts +14 -0
  229. package/dist/elements/services/placementService/SnaplinesProviderService.js +52 -0
  230. package/dist/elements/services/popupService/IPopupService.d.ts +16 -0
  231. package/dist/elements/services/popupService/IPopupService.js +1 -0
  232. package/dist/elements/services/popupService/PopupService.d.ts +9 -0
  233. package/dist/elements/services/popupService/PopupService.js +20 -0
  234. package/dist/elements/services/propertiesService/DefaultEditorTypesService.d.ts +6 -0
  235. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +64 -0
  236. package/dist/elements/services/propertiesService/IEditorTypesService.d.ts +5 -0
  237. package/dist/elements/services/propertiesService/IEditorTypesService.js +1 -0
  238. package/dist/elements/services/propertiesService/IPropertiesService.d.ts +25 -0
  239. package/dist/elements/services/propertiesService/IPropertiesService.js +6 -0
  240. package/dist/elements/services/propertiesService/IProperty.d.ts +22 -0
  241. package/dist/elements/services/propertiesService/IProperty.js +1 -0
  242. package/dist/elements/services/propertiesService/IPropertyEditor.d.ts +19 -0
  243. package/dist/elements/services/propertiesService/IPropertyEditor.js +1 -0
  244. package/dist/elements/services/propertiesService/IPropertyGroup.d.ts +6 -0
  245. package/dist/elements/services/propertiesService/IPropertyGroup.js +1 -0
  246. package/dist/elements/services/propertiesService/IPropertyTabsService.d.ts +8 -0
  247. package/dist/elements/services/propertiesService/IPropertyTabsService.js +1 -0
  248. package/dist/elements/services/propertiesService/PropertyTabsService.d.ts +27 -0
  249. package/dist/elements/services/propertiesService/PropertyTabsService.js +53 -0
  250. package/dist/elements/services/propertiesService/PropertyType.d.ts +8 -0
  251. package/dist/elements/services/propertiesService/PropertyType.js +9 -0
  252. package/dist/elements/services/propertiesService/ValueType.d.ts +7 -0
  253. package/dist/elements/services/propertiesService/ValueType.js +8 -0
  254. package/dist/elements/services/propertiesService/app.d.ts +2 -0
  255. package/dist/elements/services/propertiesService/app.js +71 -0
  256. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.d.ts +15 -0
  257. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +41 -0
  258. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.d.ts +7 -0
  259. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.js +13 -0
  260. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.d.ts +7 -0
  261. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.js +22 -0
  262. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.d.ts +7 -0
  263. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.js +16 -0
  264. package/dist/elements/services/propertiesService/propertyEditors/FontPropertyEditor.d.ts +9 -0
  265. package/dist/elements/services/propertiesService/propertyEditors/FontPropertyEditor.js +37 -0
  266. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.d.ts +8 -0
  267. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.js +40 -0
  268. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.d.ts +9 -0
  269. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.js +21 -0
  270. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.d.ts +5 -0
  271. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.js +13 -0
  272. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.d.ts +7 -0
  273. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.js +16 -0
  274. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.d.ts +9 -0
  275. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.js +45 -0
  276. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.d.ts +7 -0
  277. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.js +20 -0
  278. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.d.ts +8 -0
  279. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +14 -0
  280. package/dist/elements/services/propertiesService/propertyEditors/special/GridAssignedRowColumnPropertyEditor.d.ts +8 -0
  281. package/dist/elements/services/propertiesService/propertyEditors/special/GridAssignedRowColumnPropertyEditor.js +50 -0
  282. package/dist/elements/services/propertiesService/propertyEditors/special/MetricsPropertyEditor.d.ts +8 -0
  283. package/dist/elements/services/propertiesService/propertyEditors/special/MetricsPropertyEditor.js +15 -0
  284. package/dist/elements/services/propertiesService/services/AbstractPolymerLikePropertiesService.d.ts +11 -0
  285. package/dist/elements/services/propertiesService/services/AbstractPolymerLikePropertiesService.js +55 -0
  286. package/dist/elements/services/propertiesService/services/AbstractPropertiesService.d.ts +24 -0
  287. package/dist/elements/services/propertiesService/services/AbstractPropertiesService.js +195 -0
  288. package/dist/elements/services/propertiesService/services/AttachedPropertiesService.d.ts +11 -0
  289. package/dist/elements/services/propertiesService/services/AttachedPropertiesService.js +22 -0
  290. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +21 -0
  291. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +99 -0
  292. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.d.ts +8 -0
  293. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +14 -0
  294. package/dist/elements/services/propertiesService/services/CommonPropertiesService.d.ts +13 -0
  295. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +49 -0
  296. package/dist/elements/services/propertiesService/services/ContentAndIdPropertiesService.d.ts +19 -0
  297. package/dist/elements/services/propertiesService/services/ContentAndIdPropertiesService.js +84 -0
  298. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.d.ts +34 -0
  299. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +105 -0
  300. package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.d.ts +17 -0
  301. package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.js +43 -0
  302. package/dist/elements/services/propertiesService/services/CssProperties.json +618 -0
  303. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +25 -0
  304. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +137 -0
  305. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +17 -0
  306. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.js +1 -0
  307. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.d.ts +4 -0
  308. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.js +1 -0
  309. package/dist/elements/services/propertiesService/services/ListPropertiesService.d.ts +15 -0
  310. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +45 -0
  311. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.d.ts +10 -0
  312. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +51 -0
  313. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.d.ts +8 -0
  314. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.js +17 -0
  315. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.d.ts +21 -0
  316. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +211 -0
  317. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.d.ts +8 -0
  318. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.js +10 -0
  319. package/dist/elements/services/propertiesService/services/PropertiesHelper.d.ts +6 -0
  320. package/dist/elements/services/propertiesService/services/PropertiesHelper.js +27 -0
  321. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.d.ts +16 -0
  322. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.js +259 -0
  323. package/dist/elements/services/propertiesService/services/UnkownElementsPropertiesService.d.ts +10 -0
  324. package/dist/elements/services/propertiesService/services/UnkownElementsPropertiesService.js +28 -0
  325. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.d.ts +20 -0
  326. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.js +81 -0
  327. package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +5 -0
  328. package/dist/elements/services/selectionService/ISelectionChangedEvent.js +1 -0
  329. package/dist/elements/services/selectionService/ISelectionService.d.ts +11 -0
  330. package/dist/elements/services/selectionService/ISelectionService.js +1 -0
  331. package/dist/elements/services/selectionService/SelectionService.d.ts +17 -0
  332. package/dist/elements/services/selectionService/SelectionService.js +50 -0
  333. package/dist/elements/services/stylesheetService/AbstractStylesheetService.d.ts +47 -0
  334. package/dist/elements/services/stylesheetService/AbstractStylesheetService.js +138 -0
  335. package/dist/elements/services/stylesheetService/IStylesheetService.d.ts +42 -0
  336. package/dist/elements/services/stylesheetService/IStylesheetService.js +1 -0
  337. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.d.ts +8 -0
  338. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.js +1 -0
  339. package/dist/elements/services/treeStructureService/ITreeStructureService.d.ts +2 -0
  340. package/dist/elements/services/treeStructureService/ITreeStructureService.js +2 -0
  341. package/dist/elements/services/undoService/ChangeGroup.d.ts +18 -0
  342. package/dist/elements/services/undoService/ChangeGroup.js +67 -0
  343. package/dist/elements/services/undoService/ITransactionItem.d.ts +8 -0
  344. package/dist/elements/services/undoService/ITransactionItem.js +2 -0
  345. package/dist/elements/services/undoService/IUndoService.d.ts +14 -0
  346. package/dist/elements/services/undoService/IUndoService.js +1 -0
  347. package/dist/elements/services/undoService/UndoService.d.ts +22 -0
  348. package/dist/elements/services/undoService/UndoService.js +113 -0
  349. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.d.ts +15 -0
  350. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +70 -0
  351. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +14 -0
  352. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +62 -0
  353. package/dist/elements/services/undoService/transactionItems/DeleteAction.d.ts +13 -0
  354. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +35 -0
  355. package/dist/elements/services/undoService/transactionItems/InsertAction.d.ts +13 -0
  356. package/dist/elements/services/undoService/transactionItems/InsertAction.js +26 -0
  357. package/dist/elements/services/undoService/transactionItems/InsertChildAction.d.ts +16 -0
  358. package/dist/elements/services/undoService/transactionItems/InsertChildAction.js +40 -0
  359. package/dist/elements/services/undoService/transactionItems/SelectionChangedAction.d.ts +14 -0
  360. package/dist/elements/services/undoService/transactionItems/SelectionChangedAction.js +28 -0
  361. package/dist/elements/services/undoService/transactionItems/SetDesignItemsAction.d.ts +12 -0
  362. package/dist/elements/services/undoService/transactionItems/SetDesignItemsAction.js +22 -0
  363. package/dist/elements/services/undoService/transactionItems/StylesheetChangedAction.d.ts +14 -0
  364. package/dist/elements/services/undoService/transactionItems/StylesheetChangedAction.js +24 -0
  365. package/dist/elements/services/undoService/transactionItems/TextContentChangeAction.d.ts +14 -0
  366. package/dist/elements/services/undoService/transactionItems/TextContentChangeAction.js +24 -0
  367. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.d.ts +3 -0
  368. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.js +1 -0
  369. package/dist/elements/widgets/bindings/BindingsEditor.d.ts +17 -0
  370. package/dist/elements/widgets/bindings/BindingsEditor.js +53 -0
  371. package/dist/elements/widgets/codeView/ICodeView.d.ts +11 -0
  372. package/dist/elements/widgets/codeView/ICodeView.js +1 -0
  373. package/dist/elements/widgets/codeView/code-view-simple.d.ts +23 -0
  374. package/dist/elements/widgets/codeView/code-view-simple.js +55 -0
  375. package/dist/elements/widgets/debugView/debug-view.d.ts +18 -0
  376. package/dist/elements/widgets/debugView/debug-view.js +241 -0
  377. package/dist/elements/widgets/demoView/IDemoView.d.ts +7 -0
  378. package/dist/elements/widgets/demoView/IDemoView.js +1 -0
  379. package/dist/elements/widgets/demoView/demoView.d.ts +17 -0
  380. package/dist/elements/widgets/demoView/demoView.js +72 -0
  381. package/dist/elements/widgets/designerView/DesignContext.d.ts +8 -0
  382. package/dist/elements/widgets/designerView/DesignContext.js +5 -0
  383. package/dist/elements/widgets/designerView/DomConverter.d.ts +7 -0
  384. package/dist/elements/widgets/designerView/DomConverter.js +43 -0
  385. package/dist/elements/widgets/designerView/IDesignContext.d.ts +7 -0
  386. package/dist/elements/widgets/designerView/IDesignContext.js +1 -0
  387. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +60 -0
  388. package/dist/elements/widgets/designerView/IDesignerCanvas.js +1 -0
  389. package/dist/elements/widgets/designerView/IPlacementView.d.ts +13 -0
  390. package/dist/elements/widgets/designerView/IPlacementView.js +1 -0
  391. package/dist/elements/widgets/designerView/Snaplines.d.ts +21 -0
  392. package/dist/elements/widgets/designerView/Snaplines.js +220 -0
  393. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.d.ts +5 -0
  394. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.js +11 -0
  395. package/dist/elements/widgets/designerView/designerCanvas.d.ts +133 -0
  396. package/dist/elements/widgets/designerView/designerCanvas.js +1119 -0
  397. package/dist/elements/widgets/designerView/designerView.d.ts +39 -0
  398. package/dist/elements/widgets/designerView/designerView.js +339 -0
  399. package/dist/elements/widgets/designerView/extensions/AbstractExtension.d.ts +12 -0
  400. package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +8 -0
  401. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.d.ts +21 -0
  402. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.js +77 -0
  403. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.d.ts +11 -0
  404. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.js +21 -0
  405. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.d.ts +10 -0
  406. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +13 -0
  407. package/dist/elements/widgets/designerView/extensions/CanvasExtension.d.ts +10 -0
  408. package/dist/elements/widgets/designerView/extensions/CanvasExtension.js +27 -0
  409. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.d.ts +10 -0
  410. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +15 -0
  411. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.d.ts +24 -0
  412. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +96 -0
  413. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.d.ts +9 -0
  414. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js +11 -0
  415. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.d.ts +15 -0
  416. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.js +60 -0
  417. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.d.ts +10 -0
  418. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.js +13 -0
  419. package/dist/elements/widgets/designerView/extensions/ExtensionManager.d.ts +22 -0
  420. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +313 -0
  421. package/dist/elements/widgets/designerView/extensions/ExtensionType.d.ts +30 -0
  422. package/dist/elements/widgets/designerView/extensions/ExtensionType.js +31 -0
  423. package/dist/elements/widgets/designerView/extensions/FlexboxExtension.d.ts +11 -0
  424. package/dist/elements/widgets/designerView/extensions/FlexboxExtension.js +20 -0
  425. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.d.ts +11 -0
  426. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.js +17 -0
  427. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtension.d.ts +11 -0
  428. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtension.js +19 -0
  429. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.d.ts +10 -0
  430. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.js +13 -0
  431. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.d.ts +13 -0
  432. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.js +32 -0
  433. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.d.ts +10 -0
  434. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.js +13 -0
  435. package/dist/elements/widgets/designerView/extensions/HighlightElementExtension.d.ts +11 -0
  436. package/dist/elements/widgets/designerView/extensions/HighlightElementExtension.js +20 -0
  437. package/dist/elements/widgets/designerView/extensions/HighlightElementExtensionProvider.d.ts +10 -0
  438. package/dist/elements/widgets/designerView/extensions/HighlightElementExtensionProvider.js +13 -0
  439. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.d.ts +5 -0
  440. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.js +1 -0
  441. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.d.ts +9 -0
  442. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.js +1 -0
  443. package/dist/elements/widgets/designerView/extensions/IExtensionManger.d.ts +14 -0
  444. package/dist/elements/widgets/designerView/extensions/IExtensionManger.js +1 -0
  445. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtension.d.ts +11 -0
  446. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtension.js +19 -0
  447. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.d.ts +13 -0
  448. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.js +24 -0
  449. package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtension.d.ts +15 -0
  450. package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtension.js +34 -0
  451. package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.d.ts +10 -0
  452. package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js +13 -0
  453. package/dist/elements/widgets/designerView/extensions/OverlayLayer.d.ts +5 -0
  454. package/dist/elements/widgets/designerView/extensions/OverlayLayer.js +6 -0
  455. package/dist/elements/widgets/designerView/extensions/PlacementExtension.d.ts +11 -0
  456. package/dist/elements/widgets/designerView/extensions/PlacementExtension.js +22 -0
  457. package/dist/elements/widgets/designerView/extensions/PlacementExtensionProvider.d.ts +10 -0
  458. package/dist/elements/widgets/designerView/extensions/PlacementExtensionProvider.js +13 -0
  459. package/dist/elements/widgets/designerView/extensions/PositionExtension.d.ts +16 -0
  460. package/dist/elements/widgets/designerView/extensions/PositionExtension.js +42 -0
  461. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.d.ts +10 -0
  462. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.js +16 -0
  463. package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +27 -0
  464. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +334 -0
  465. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.d.ts +12 -0
  466. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +20 -0
  467. package/dist/elements/widgets/designerView/extensions/RotateExtension.d.ts +18 -0
  468. package/dist/elements/widgets/designerView/extensions/RotateExtension.js +107 -0
  469. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.d.ts +10 -0
  470. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +17 -0
  471. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.d.ts +14 -0
  472. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +35 -0
  473. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.d.ts +10 -0
  474. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +14 -0
  475. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.d.ts +15 -0
  476. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +94 -0
  477. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.d.ts +12 -0
  478. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +28 -0
  479. package/dist/elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton.d.ts +12 -0
  480. package/dist/elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton.js +40 -0
  481. package/dist/elements/widgets/designerView/extensions/buttons/ButtonSeperatorProvider.d.ts +8 -0
  482. package/dist/elements/widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js +12 -0
  483. package/dist/elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.d.ts +4 -0
  484. package/dist/elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js +7 -0
  485. package/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.d.ts +4 -0
  486. package/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js +7 -0
  487. package/dist/elements/widgets/designerView/extensions/buttons/IDesignViewConfigButtonsProvider.d.ts +5 -0
  488. package/dist/elements/widgets/designerView/extensions/buttons/IDesignViewConfigButtonsProvider.js +1 -0
  489. package/dist/elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.d.ts +4 -0
  490. package/dist/elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js +7 -0
  491. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.d.ts +5 -0
  492. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js +7 -0
  493. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +8 -0
  494. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +14 -0
  495. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +8 -0
  496. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js +1 -0
  497. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +9 -0
  498. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +17 -0
  499. package/dist/elements/widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.d.ts +8 -0
  500. package/dist/elements/widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.js +15 -0
  501. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +9 -0
  502. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +33 -0
  503. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.d.ts +8 -0
  504. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js +31 -0
  505. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.d.ts +8 -0
  506. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js +33 -0
  507. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.d.ts +8 -0
  508. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js +13 -0
  509. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.d.ts +8 -0
  510. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js +13 -0
  511. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.d.ts +8 -0
  512. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js +10 -0
  513. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +8 -0
  514. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +15 -0
  515. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.d.ts +8 -0
  516. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js +27 -0
  517. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.d.ts +16 -0
  518. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.js +66 -0
  519. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.d.ts +11 -0
  520. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js +22 -0
  521. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.d.ts +18 -0
  522. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.js +118 -0
  523. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.d.ts +10 -0
  524. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.js +20 -0
  525. package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.d.ts +13 -0
  526. package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js +28 -0
  527. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.d.ts +11 -0
  528. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js +11 -0
  529. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.d.ts +13 -0
  530. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.js +26 -0
  531. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.d.ts +7 -0
  532. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.js +10 -0
  533. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.d.ts +5 -0
  534. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js +1 -0
  535. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.d.ts +6 -0
  536. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js +1 -0
  537. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.d.ts +43 -0
  538. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +183 -0
  539. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.d.ts +9 -0
  540. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.js +13 -0
  541. package/dist/elements/widgets/designerView/extensions/svg/LineExtension.d.ts +32 -0
  542. package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js +147 -0
  543. package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.d.ts +9 -0
  544. package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.js +14 -0
  545. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.d.ts +31 -0
  546. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +329 -0
  547. package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.d.ts +9 -0
  548. package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.js +14 -0
  549. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.d.ts +49 -0
  550. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +211 -0
  551. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.d.ts +9 -0
  552. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.js +14 -0
  553. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.d.ts +5 -0
  554. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.js +9 -0
  555. package/dist/elements/widgets/designerView/overlayLayerView.d.ts +30 -0
  556. package/dist/elements/widgets/designerView/overlayLayerView.js +211 -0
  557. package/dist/elements/widgets/designerView/tools/DrawElementTool.d.ts +19 -0
  558. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +79 -0
  559. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.d.ts +16 -0
  560. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +98 -0
  561. package/dist/elements/widgets/designerView/tools/DrawLineTool.d.ts +14 -0
  562. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +83 -0
  563. package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +20 -0
  564. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +132 -0
  565. package/dist/elements/widgets/designerView/tools/DrawRectTool.d.ts +19 -0
  566. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +113 -0
  567. package/dist/elements/widgets/designerView/tools/ITool.d.ts +9 -0
  568. package/dist/elements/widgets/designerView/tools/ITool.js +1 -0
  569. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.d.ts +12 -0
  570. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +68 -0
  571. package/dist/elements/widgets/designerView/tools/NamedTools.d.ts +15 -0
  572. package/dist/elements/widgets/designerView/tools/NamedTools.js +16 -0
  573. package/dist/elements/widgets/designerView/tools/PanTool.d.ts +10 -0
  574. package/dist/elements/widgets/designerView/tools/PanTool.js +26 -0
  575. package/dist/elements/widgets/designerView/tools/PickColorTool.d.ts +10 -0
  576. package/dist/elements/widgets/designerView/tools/PickColorTool.js +20 -0
  577. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +36 -0
  578. package/dist/elements/widgets/designerView/tools/PointerTool.js +400 -0
  579. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.d.ts +12 -0
  580. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +88 -0
  581. package/dist/elements/widgets/designerView/tools/TextTool.d.ts +14 -0
  582. package/dist/elements/widgets/designerView/tools/TextTool.js +51 -0
  583. package/dist/elements/widgets/designerView/tools/ZoomTool.d.ts +17 -0
  584. package/dist/elements/widgets/designerView/tools/ZoomTool.js +82 -0
  585. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.d.ts +19 -0
  586. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +86 -0
  587. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.d.ts +19 -0
  588. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.js +62 -0
  589. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.d.ts +4 -0
  590. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.js +1 -0
  591. package/dist/elements/widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.d.ts +5 -0
  592. package/dist/elements/widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.js +16 -0
  593. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.d.ts +5 -0
  594. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.js +7 -0
  595. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.d.ts +5 -0
  596. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.js +10 -0
  597. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.d.ts +7 -0
  598. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.js +11 -0
  599. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.d.ts +5 -0
  600. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.js +7 -0
  601. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.d.ts +5 -0
  602. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.js +10 -0
  603. package/dist/elements/widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.d.ts +5 -0
  604. package/dist/elements/widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.js +7 -0
  605. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.d.ts +6 -0
  606. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.js +102 -0
  607. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.d.ts +31 -0
  608. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js +293 -0
  609. package/dist/elements/widgets/miniatureView/IMiniatureView.d.ts +2 -0
  610. package/dist/elements/widgets/miniatureView/IMiniatureView.js +1 -0
  611. package/dist/elements/widgets/paletteView/paletteElements.d.ts +10 -0
  612. package/dist/elements/widgets/paletteView/paletteElements.js +139 -0
  613. package/dist/elements/widgets/paletteView/paletteView.d.ts +11 -0
  614. package/dist/elements/widgets/paletteView/paletteView.js +38 -0
  615. package/dist/elements/widgets/propertyGrid/PropertyGrid.d.ts +24 -0
  616. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +125 -0
  617. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.d.ts +28 -0
  618. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +361 -0
  619. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.d.ts +21 -0
  620. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +159 -0
  621. package/dist/elements/widgets/treeView/ITreeView.d.ts +6 -0
  622. package/dist/elements/widgets/treeView/ITreeView.js +1 -0
  623. package/dist/elements/widgets/treeView/treeView.d.ts +28 -0
  624. package/dist/elements/widgets/treeView/treeView.js +242 -0
  625. package/dist/enums/EventNames.d.ts +16 -0
  626. package/dist/enums/EventNames.js +17 -0
  627. package/dist/enums/Orientation.d.ts +8 -0
  628. package/dist/enums/Orientation.js +9 -0
  629. package/dist/enums/PointerActionType.d.ts +8 -0
  630. package/dist/enums/PointerActionType.js +9 -0
  631. package/dist/index.d.ts +266 -0
  632. package/dist/index.js +197 -0
  633. package/dist/interfaces/IActivateable.d.ts +3 -0
  634. package/dist/interfaces/IActivateable.js +1 -0
  635. package/dist/interfaces/IDisposable.d.ts +3 -0
  636. package/dist/interfaces/IDisposable.js +1 -0
  637. package/dist/interfaces/IPoint.d.ts +4 -0
  638. package/dist/interfaces/IPoint.js +1 -0
  639. package/dist/interfaces/IPoint3D.d.ts +5 -0
  640. package/dist/interfaces/IPoint3D.js +1 -0
  641. package/dist/interfaces/IRect.d.ts +6 -0
  642. package/dist/interfaces/IRect.js +1 -0
  643. package/dist/interfaces/ISize.d.ts +4 -0
  644. package/dist/interfaces/ISize.js +1 -0
  645. package/dist/polyfill/globals.d.ts +11 -0
  646. package/dist/polyfill/globals.js +1 -0
  647. package/package.json +1 -1
@@ -0,0 +1,971 @@
1
+ // https://github.com/jarek-foksa/path-data-polyfill
2
+ // @info
3
+ // Polyfill for SVG getPathData() and setPathData() methods. Based on:
4
+ // - SVGPathSeg polyfill by Philip Rogers (MIT License)
5
+ // https://github.com/progers/pathseg
6
+ // - SVGPathNormalizer by Tadahisa Motooka (MIT License)
7
+ // https://github.com/motooka/SVGPathNormalizer/tree/master/src
8
+ // - arcToCubicCurves() by Dmitry Baranovskiy (MIT License)
9
+ // https://github.com/DmitryBaranovskiy/raphael/blob/v2.1.1/raphael.core.js#L1837
10
+ // @author
11
+ // Jarosław Foksa
12
+ // @license
13
+ // MIT License
14
+ if (!SVGPathElement.prototype.getPathData || !SVGPathElement.prototype.setPathData) {
15
+ (function () {
16
+ var commandsMap = {
17
+ "Z": "Z", "M": "M", "L": "L", "C": "C", "Q": "Q", "A": "A", "H": "H", "V": "V", "S": "S", "T": "T",
18
+ "z": "Z", "m": "m", "l": "l", "c": "c", "q": "q", "a": "a", "h": "h", "v": "v", "s": "s", "t": "t"
19
+ };
20
+ var Source = function (string) {
21
+ //@ts-ignore
22
+ this._string = string;
23
+ //@ts-ignore
24
+ this._currentIndex = 0;
25
+ //@ts-ignore
26
+ this._endIndex = this._string.length;
27
+ //@ts-ignore
28
+ this._prevCommand = null;
29
+ //@ts-ignore
30
+ this._skipOptionalSpaces();
31
+ };
32
+ Source.prototype = {
33
+ parseSegment: function () {
34
+ var char = this._string[this._currentIndex];
35
+ var command = commandsMap[char] ? commandsMap[char] : null;
36
+ if (command === null) {
37
+ // Possibly an implicit command. Not allowed if this is the first command.
38
+ if (this._prevCommand === null) {
39
+ return null;
40
+ }
41
+ // Check for remaining coordinates in the current command.
42
+ if ((char === "+" || char === "-" || char === "." || (char >= "0" && char <= "9")) && this._prevCommand !== "Z") {
43
+ if (this._prevCommand === "M") {
44
+ command = "L";
45
+ }
46
+ else if (this._prevCommand === "m") {
47
+ command = "l";
48
+ }
49
+ else {
50
+ command = this._prevCommand;
51
+ }
52
+ }
53
+ else {
54
+ command = null;
55
+ }
56
+ if (command === null) {
57
+ return null;
58
+ }
59
+ }
60
+ else {
61
+ this._currentIndex += 1;
62
+ }
63
+ this._prevCommand = command;
64
+ var values = null;
65
+ var cmd = command.toUpperCase();
66
+ if (cmd === "H" || cmd === "V") {
67
+ values = [this._parseNumber()];
68
+ }
69
+ else if (cmd === "M" || cmd === "L" || cmd === "T") {
70
+ values = [this._parseNumber(), this._parseNumber()];
71
+ }
72
+ else if (cmd === "S" || cmd === "Q") {
73
+ values = [this._parseNumber(), this._parseNumber(), this._parseNumber(), this._parseNumber()];
74
+ }
75
+ else if (cmd === "C") {
76
+ values = [
77
+ this._parseNumber(),
78
+ this._parseNumber(),
79
+ this._parseNumber(),
80
+ this._parseNumber(),
81
+ this._parseNumber(),
82
+ this._parseNumber()
83
+ ];
84
+ }
85
+ else if (cmd === "A") {
86
+ values = [
87
+ this._parseNumber(),
88
+ this._parseNumber(),
89
+ this._parseNumber(),
90
+ this._parseArcFlag(),
91
+ this._parseArcFlag(),
92
+ this._parseNumber(),
93
+ this._parseNumber()
94
+ ];
95
+ }
96
+ else if (cmd === "Z") {
97
+ this._skipOptionalSpaces();
98
+ values = [];
99
+ }
100
+ if (values === null || values.indexOf(null) >= 0) {
101
+ // Unknown command or known command with invalid values
102
+ return null;
103
+ }
104
+ else {
105
+ return { type: command, values: values };
106
+ }
107
+ },
108
+ hasMoreData: function () {
109
+ return this._currentIndex < this._endIndex;
110
+ },
111
+ peekSegmentType: function () {
112
+ var char = this._string[this._currentIndex];
113
+ return commandsMap[char] ? commandsMap[char] : null;
114
+ },
115
+ initialCommandIsMoveTo: function () {
116
+ // If the path is empty it is still valid, so return true.
117
+ if (!this.hasMoreData()) {
118
+ return true;
119
+ }
120
+ var command = this.peekSegmentType();
121
+ // Path must start with moveTo.
122
+ return command === "M" || command === "m";
123
+ },
124
+ _isCurrentSpace: function () {
125
+ var char = this._string[this._currentIndex];
126
+ return char <= " " && (char === " " || char === "\n" || char === "\t" || char === "\r" || char === "\f");
127
+ },
128
+ _skipOptionalSpaces: function () {
129
+ while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {
130
+ this._currentIndex += 1;
131
+ }
132
+ return this._currentIndex < this._endIndex;
133
+ },
134
+ _skipOptionalSpacesOrDelimiter: function () {
135
+ if (this._currentIndex < this._endIndex &&
136
+ !this._isCurrentSpace() &&
137
+ this._string[this._currentIndex] !== ",") {
138
+ return false;
139
+ }
140
+ if (this._skipOptionalSpaces()) {
141
+ if (this._currentIndex < this._endIndex && this._string[this._currentIndex] === ",") {
142
+ this._currentIndex += 1;
143
+ this._skipOptionalSpaces();
144
+ }
145
+ }
146
+ return this._currentIndex < this._endIndex;
147
+ },
148
+ // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from
149
+ // Source/core/svg/SVGParserUtilities.cpp.
150
+ // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF
151
+ _parseNumber: function () {
152
+ var exponent = 0;
153
+ var integer = 0;
154
+ var frac = 1;
155
+ var decimal = 0;
156
+ var sign = 1;
157
+ var expsign = 1;
158
+ var startIndex = this._currentIndex;
159
+ this._skipOptionalSpaces();
160
+ // Read the sign.
161
+ if (this._currentIndex < this._endIndex && this._string[this._currentIndex] === "+") {
162
+ this._currentIndex += 1;
163
+ }
164
+ else if (this._currentIndex < this._endIndex && this._string[this._currentIndex] === "-") {
165
+ this._currentIndex += 1;
166
+ sign = -1;
167
+ }
168
+ if (this._currentIndex === this._endIndex ||
169
+ ((this._string[this._currentIndex] < "0" || this._string[this._currentIndex] > "9") &&
170
+ this._string[this._currentIndex] !== ".")) {
171
+ // The first character of a number must be one of [0-9+-.].
172
+ return null;
173
+ }
174
+ // Read the integer part, build right-to-left.
175
+ var startIntPartIndex = this._currentIndex;
176
+ while (this._currentIndex < this._endIndex &&
177
+ this._string[this._currentIndex] >= "0" &&
178
+ this._string[this._currentIndex] <= "9") {
179
+ this._currentIndex += 1; // Advance to first non-digit.
180
+ }
181
+ if (this._currentIndex !== startIntPartIndex) {
182
+ var scanIntPartIndex = this._currentIndex - 1;
183
+ var multiplier = 1;
184
+ while (scanIntPartIndex >= startIntPartIndex) {
185
+ integer += multiplier * (this._string[scanIntPartIndex] - "0");
186
+ scanIntPartIndex -= 1;
187
+ multiplier *= 10;
188
+ }
189
+ }
190
+ // Read the decimals.
191
+ if (this._currentIndex < this._endIndex && this._string[this._currentIndex] === ".") {
192
+ this._currentIndex += 1;
193
+ // There must be a least one digit following the .
194
+ if (this._currentIndex >= this._endIndex ||
195
+ this._string[this._currentIndex] < "0" ||
196
+ this._string[this._currentIndex] > "9") {
197
+ return null;
198
+ }
199
+ while (this._currentIndex < this._endIndex &&
200
+ this._string[this._currentIndex] >= "0" &&
201
+ this._string[this._currentIndex] <= "9") {
202
+ frac *= 10;
203
+ decimal += (this._string.charAt(this._currentIndex) - "0") / frac;
204
+ this._currentIndex += 1;
205
+ }
206
+ }
207
+ // Read the exponent part.
208
+ if (this._currentIndex !== startIndex &&
209
+ this._currentIndex + 1 < this._endIndex &&
210
+ (this._string[this._currentIndex] === "e" || this._string[this._currentIndex] === "E") &&
211
+ (this._string[this._currentIndex + 1] !== "x" && this._string[this._currentIndex + 1] !== "m")) {
212
+ this._currentIndex += 1;
213
+ // Read the sign of the exponent.
214
+ if (this._string[this._currentIndex] === "+") {
215
+ this._currentIndex += 1;
216
+ }
217
+ else if (this._string[this._currentIndex] === "-") {
218
+ this._currentIndex += 1;
219
+ expsign = -1;
220
+ }
221
+ // There must be an exponent.
222
+ if (this._currentIndex >= this._endIndex ||
223
+ this._string[this._currentIndex] < "0" ||
224
+ this._string[this._currentIndex] > "9") {
225
+ return null;
226
+ }
227
+ while (this._currentIndex < this._endIndex &&
228
+ this._string[this._currentIndex] >= "0" &&
229
+ this._string[this._currentIndex] <= "9") {
230
+ exponent *= 10;
231
+ exponent += (this._string[this._currentIndex] - "0");
232
+ this._currentIndex += 1;
233
+ }
234
+ }
235
+ var number = integer + decimal;
236
+ number *= sign;
237
+ if (exponent) {
238
+ number *= Math.pow(10, expsign * exponent);
239
+ }
240
+ if (startIndex === this._currentIndex) {
241
+ return null;
242
+ }
243
+ this._skipOptionalSpacesOrDelimiter();
244
+ return number;
245
+ },
246
+ _parseArcFlag: function () {
247
+ if (this._currentIndex >= this._endIndex) {
248
+ return null;
249
+ }
250
+ var flag = null;
251
+ var flagChar = this._string[this._currentIndex];
252
+ this._currentIndex += 1;
253
+ if (flagChar === "0") {
254
+ flag = 0;
255
+ }
256
+ else if (flagChar === "1") {
257
+ flag = 1;
258
+ }
259
+ else {
260
+ return null;
261
+ }
262
+ this._skipOptionalSpacesOrDelimiter();
263
+ return flag;
264
+ }
265
+ };
266
+ var parsePathDataString = function (string) {
267
+ if (!string || string.length === 0)
268
+ return [];
269
+ var source = new Source(string);
270
+ var pathData = [];
271
+ if (source.initialCommandIsMoveTo()) {
272
+ while (source.hasMoreData()) {
273
+ var pathSeg = source.parseSegment();
274
+ if (pathSeg === null) {
275
+ break;
276
+ }
277
+ else {
278
+ pathData.push(pathSeg);
279
+ }
280
+ }
281
+ }
282
+ return pathData;
283
+ };
284
+ // @info
285
+ // Get an array of corresponding cubic bezier curve parameters for given arc curve paramters.
286
+ var arcToCubicCurves = function (x1, y1, x2, y2, r1, r2, angle, largeArcFlag, sweepFlag, _recursive) {
287
+ var degToRad = function (degrees) {
288
+ return (Math.PI * degrees) / 180;
289
+ };
290
+ var rotate = function (x, y, angleRad) {
291
+ var X = x * Math.cos(angleRad) - y * Math.sin(angleRad);
292
+ var Y = x * Math.sin(angleRad) + y * Math.cos(angleRad);
293
+ return { x: X, y: Y };
294
+ };
295
+ var angleRad = degToRad(angle);
296
+ var params = [];
297
+ var f1, f2, cx, cy;
298
+ if (_recursive) {
299
+ f1 = _recursive[0];
300
+ f2 = _recursive[1];
301
+ cx = _recursive[2];
302
+ cy = _recursive[3];
303
+ }
304
+ else {
305
+ var p1 = rotate(x1, y1, -angleRad);
306
+ x1 = p1.x;
307
+ y1 = p1.y;
308
+ var p2 = rotate(x2, y2, -angleRad);
309
+ x2 = p2.x;
310
+ y2 = p2.y;
311
+ var x = (x1 - x2) / 2;
312
+ var y = (y1 - y2) / 2;
313
+ var h = (x * x) / (r1 * r1) + (y * y) / (r2 * r2);
314
+ if (h > 1) {
315
+ h = Math.sqrt(h);
316
+ r1 = h * r1;
317
+ r2 = h * r2;
318
+ }
319
+ var sign;
320
+ if (largeArcFlag === sweepFlag) {
321
+ sign = -1;
322
+ }
323
+ else {
324
+ sign = 1;
325
+ }
326
+ var r1Pow = r1 * r1;
327
+ var r2Pow = r2 * r2;
328
+ var left = r1Pow * r2Pow - r1Pow * y * y - r2Pow * x * x;
329
+ var right = r1Pow * y * y + r2Pow * x * x;
330
+ var k = sign * Math.sqrt(Math.abs(left / right));
331
+ cx = k * r1 * y / r2 + (x1 + x2) / 2;
332
+ cy = k * -r2 * x / r1 + (y1 + y2) / 2;
333
+ f1 = Math.asin(parseFloat(((y1 - cy) / r2).toFixed(9)));
334
+ f2 = Math.asin(parseFloat(((y2 - cy) / r2).toFixed(9)));
335
+ if (x1 < cx) {
336
+ f1 = Math.PI - f1;
337
+ }
338
+ if (x2 < cx) {
339
+ f2 = Math.PI - f2;
340
+ }
341
+ if (f1 < 0) {
342
+ f1 = Math.PI * 2 + f1;
343
+ }
344
+ if (f2 < 0) {
345
+ f2 = Math.PI * 2 + f2;
346
+ }
347
+ if (sweepFlag && f1 > f2) {
348
+ f1 = f1 - Math.PI * 2;
349
+ }
350
+ if (!sweepFlag && f2 > f1) {
351
+ f2 = f2 - Math.PI * 2;
352
+ }
353
+ }
354
+ var df = f2 - f1;
355
+ if (Math.abs(df) > (Math.PI * 120 / 180)) {
356
+ var f2old = f2;
357
+ var x2old = x2;
358
+ var y2old = y2;
359
+ if (sweepFlag && f2 > f1) {
360
+ f2 = f1 + (Math.PI * 120 / 180) * (1);
361
+ }
362
+ else {
363
+ f2 = f1 + (Math.PI * 120 / 180) * (-1);
364
+ }
365
+ x2 = cx + r1 * Math.cos(f2);
366
+ y2 = cy + r2 * Math.sin(f2);
367
+ params = arcToCubicCurves(x2, y2, x2old, y2old, r1, r2, angle, 0, sweepFlag, [f2, f2old, cx, cy]);
368
+ }
369
+ df = f2 - f1;
370
+ var c1 = Math.cos(f1);
371
+ var s1 = Math.sin(f1);
372
+ var c2 = Math.cos(f2);
373
+ var s2 = Math.sin(f2);
374
+ var t = Math.tan(df / 4);
375
+ var hx = 4 / 3 * r1 * t;
376
+ var hy = 4 / 3 * r2 * t;
377
+ var m1 = [x1, y1];
378
+ var m2 = [x1 + hx * s1, y1 - hy * c1];
379
+ var m3 = [x2 + hx * s2, y2 - hy * c2];
380
+ var m4 = [x2, y2];
381
+ m2[0] = 2 * m1[0] - m2[0];
382
+ m2[1] = 2 * m1[1] - m2[1];
383
+ if (_recursive) {
384
+ return [m2, m3, m4].concat(params);
385
+ }
386
+ else {
387
+ params = [m2, m3, m4].concat(params);
388
+ var curves = [];
389
+ for (var i = 0; i < params.length; i += 3) {
390
+ let r1 = rotate(params[i][0], params[i][1], angleRad);
391
+ let r2 = rotate(params[i + 1][0], params[i + 1][1], angleRad);
392
+ let r3 = rotate(params[i + 2][0], params[i + 2][1], angleRad);
393
+ curves.push([r1.x, r1.y, r2.x, r2.y, r3.x, r3.y]);
394
+ }
395
+ return curves;
396
+ }
397
+ };
398
+ /*var clonePathData = function (pathData) {
399
+ return pathData.map(function (seg) {
400
+ return { type: seg.type, values: Array.prototype.slice.call(seg.values) }
401
+ });
402
+ };*/
403
+ // @info
404
+ // Takes any path data, returns path data that consists only from absolute commands.
405
+ var absolutizePathData = function (pathData) {
406
+ var absolutizedPathData = [];
407
+ var currentX = null;
408
+ var currentY = null;
409
+ var subpathX = null;
410
+ var subpathY = null;
411
+ pathData.forEach(function (seg) {
412
+ var type = seg.type;
413
+ if (type === "M") {
414
+ var x = seg.values[0];
415
+ var y = seg.values[1];
416
+ absolutizedPathData.push({ type: "M", values: [x, y] });
417
+ subpathX = x;
418
+ subpathY = y;
419
+ currentX = x;
420
+ currentY = y;
421
+ }
422
+ else if (type === "m") {
423
+ var x = currentX + seg.values[0];
424
+ var y = currentY + seg.values[1];
425
+ absolutizedPathData.push({ type: "M", values: [x, y] });
426
+ subpathX = x;
427
+ subpathY = y;
428
+ currentX = x;
429
+ currentY = y;
430
+ }
431
+ else if (type === "L") {
432
+ var x = seg.values[0];
433
+ var y = seg.values[1];
434
+ absolutizedPathData.push({ type: "L", values: [x, y] });
435
+ currentX = x;
436
+ currentY = y;
437
+ }
438
+ else if (type === "l") {
439
+ var x = currentX + seg.values[0];
440
+ var y = currentY + seg.values[1];
441
+ absolutizedPathData.push({ type: "L", values: [x, y] });
442
+ currentX = x;
443
+ currentY = y;
444
+ }
445
+ else if (type === "C") {
446
+ var x1 = seg.values[0];
447
+ var y1 = seg.values[1];
448
+ var x2 = seg.values[2];
449
+ var y2 = seg.values[3];
450
+ var x = seg.values[4];
451
+ var y = seg.values[5];
452
+ absolutizedPathData.push({ type: "C", values: [x1, y1, x2, y2, x, y] });
453
+ currentX = x;
454
+ currentY = y;
455
+ }
456
+ else if (type === "c") {
457
+ var x1 = currentX + seg.values[0];
458
+ var y1 = currentY + seg.values[1];
459
+ var x2 = currentX + seg.values[2];
460
+ var y2 = currentY + seg.values[3];
461
+ var x = currentX + seg.values[4];
462
+ var y = currentY + seg.values[5];
463
+ absolutizedPathData.push({ type: "C", values: [x1, y1, x2, y2, x, y] });
464
+ currentX = x;
465
+ currentY = y;
466
+ }
467
+ else if (type === "Q") {
468
+ var x1 = seg.values[0];
469
+ var y1 = seg.values[1];
470
+ var x = seg.values[2];
471
+ var y = seg.values[3];
472
+ absolutizedPathData.push({ type: "Q", values: [x1, y1, x, y] });
473
+ currentX = x;
474
+ currentY = y;
475
+ }
476
+ else if (type === "q") {
477
+ var x1 = currentX + seg.values[0];
478
+ var y1 = currentY + seg.values[1];
479
+ var x = currentX + seg.values[2];
480
+ var y = currentY + seg.values[3];
481
+ absolutizedPathData.push({ type: "Q", values: [x1, y1, x, y] });
482
+ currentX = x;
483
+ currentY = y;
484
+ }
485
+ else if (type === "A") {
486
+ var x = seg.values[5];
487
+ var y = seg.values[6];
488
+ absolutizedPathData.push({
489
+ type: "A",
490
+ values: [seg.values[0], seg.values[1], seg.values[2], seg.values[3], seg.values[4], x, y]
491
+ });
492
+ currentX = x;
493
+ currentY = y;
494
+ }
495
+ else if (type === "a") {
496
+ var x = currentX + seg.values[5];
497
+ var y = currentY + seg.values[6];
498
+ absolutizedPathData.push({
499
+ type: "A",
500
+ values: [seg.values[0], seg.values[1], seg.values[2], seg.values[3], seg.values[4], x, y]
501
+ });
502
+ currentX = x;
503
+ currentY = y;
504
+ }
505
+ else if (type === "H") {
506
+ var x = seg.values[0];
507
+ absolutizedPathData.push({ type: "H", values: [x] });
508
+ currentX = x;
509
+ }
510
+ else if (type === "h") {
511
+ var x = currentX + seg.values[0];
512
+ absolutizedPathData.push({ type: "H", values: [x] });
513
+ currentX = x;
514
+ }
515
+ else if (type === "V") {
516
+ var y = seg.values[0];
517
+ absolutizedPathData.push({ type: "V", values: [y] });
518
+ currentY = y;
519
+ }
520
+ else if (type === "v") {
521
+ var y = currentY + seg.values[0];
522
+ absolutizedPathData.push({ type: "V", values: [y] });
523
+ currentY = y;
524
+ }
525
+ else if (type === "S") {
526
+ var x2 = seg.values[0];
527
+ var y2 = seg.values[1];
528
+ var x = seg.values[2];
529
+ var y = seg.values[3];
530
+ absolutizedPathData.push({ type: "S", values: [x2, y2, x, y] });
531
+ currentX = x;
532
+ currentY = y;
533
+ }
534
+ else if (type === "s") {
535
+ var x2 = currentX + seg.values[0];
536
+ var y2 = currentY + seg.values[1];
537
+ var x = currentX + seg.values[2];
538
+ var y = currentY + seg.values[3];
539
+ absolutizedPathData.push({ type: "S", values: [x2, y2, x, y] });
540
+ currentX = x;
541
+ currentY = y;
542
+ }
543
+ else if (type === "T") {
544
+ var x = seg.values[0];
545
+ var y = seg.values[1];
546
+ absolutizedPathData.push({ type: "T", values: [x, y] });
547
+ currentX = x;
548
+ currentY = y;
549
+ }
550
+ else if (type === "t") {
551
+ var x = currentX + seg.values[0];
552
+ var y = currentY + seg.values[1];
553
+ absolutizedPathData.push({ type: "T", values: [x, y] });
554
+ currentX = x;
555
+ currentY = y;
556
+ }
557
+ else if (type === "Z" || type === "z") {
558
+ absolutizedPathData.push({ type: "Z", values: [] });
559
+ currentX = subpathX;
560
+ currentY = subpathY;
561
+ }
562
+ });
563
+ return absolutizedPathData;
564
+ };
565
+ // @info
566
+ // Takes path data that consists only from absolute commands, returns path data that consists only from
567
+ // "M", "L", "C" and "Z" commands.
568
+ var reducePathData = function (pathData) {
569
+ var reducedPathData = [];
570
+ var lastType = null;
571
+ var lastControlX = null;
572
+ var lastControlY = null;
573
+ var currentX = null;
574
+ var currentY = null;
575
+ var subpathX = null;
576
+ var subpathY = null;
577
+ pathData.forEach(function (seg) {
578
+ if (seg.type === "M") {
579
+ var x = seg.values[0];
580
+ var y = seg.values[1];
581
+ reducedPathData.push({ type: "M", values: [x, y] });
582
+ subpathX = x;
583
+ subpathY = y;
584
+ currentX = x;
585
+ currentY = y;
586
+ }
587
+ else if (seg.type === "C") {
588
+ var x1 = seg.values[0];
589
+ var y1 = seg.values[1];
590
+ var x2 = seg.values[2];
591
+ var y2 = seg.values[3];
592
+ var x = seg.values[4];
593
+ var y = seg.values[5];
594
+ reducedPathData.push({ type: "C", values: [x1, y1, x2, y2, x, y] });
595
+ lastControlX = x2;
596
+ lastControlY = y2;
597
+ currentX = x;
598
+ currentY = y;
599
+ }
600
+ else if (seg.type === "L") {
601
+ var x = seg.values[0];
602
+ var y = seg.values[1];
603
+ reducedPathData.push({ type: "L", values: [x, y] });
604
+ currentX = x;
605
+ currentY = y;
606
+ }
607
+ else if (seg.type === "H") {
608
+ var x = seg.values[0];
609
+ reducedPathData.push({ type: "L", values: [x, currentY] });
610
+ currentX = x;
611
+ }
612
+ else if (seg.type === "V") {
613
+ var y = seg.values[0];
614
+ reducedPathData.push({ type: "L", values: [currentX, y] });
615
+ currentY = y;
616
+ }
617
+ else if (seg.type === "S") {
618
+ var x2 = seg.values[0];
619
+ var y2 = seg.values[1];
620
+ var x = seg.values[2];
621
+ var y = seg.values[3];
622
+ var cx1, cy1;
623
+ if (lastType === "C" || lastType === "S") {
624
+ cx1 = currentX + (currentX - lastControlX);
625
+ cy1 = currentY + (currentY - lastControlY);
626
+ }
627
+ else {
628
+ cx1 = currentX;
629
+ cy1 = currentY;
630
+ }
631
+ reducedPathData.push({ type: "C", values: [cx1, cy1, x2, y2, x, y] });
632
+ lastControlX = x2;
633
+ lastControlY = y2;
634
+ currentX = x;
635
+ currentY = y;
636
+ }
637
+ else if (seg.type === "T") {
638
+ var x = seg.values[0];
639
+ var y = seg.values[1];
640
+ var x1, y1;
641
+ if (lastType === "Q" || lastType === "T") {
642
+ x1 = currentX + (currentX - lastControlX);
643
+ y1 = currentY + (currentY - lastControlY);
644
+ }
645
+ else {
646
+ x1 = currentX;
647
+ y1 = currentY;
648
+ }
649
+ var cx1 = currentX + 2 * (x1 - currentX) / 3;
650
+ var cy1 = currentY + 2 * (y1 - currentY) / 3;
651
+ var cx2 = x + 2 * (x1 - x) / 3;
652
+ var cy2 = y + 2 * (y1 - y) / 3;
653
+ reducedPathData.push({ type: "C", values: [cx1, cy1, cx2, cy2, x, y] });
654
+ lastControlX = x1;
655
+ lastControlY = y1;
656
+ currentX = x;
657
+ currentY = y;
658
+ }
659
+ else if (seg.type === "Q") {
660
+ var x1 = seg.values[0];
661
+ var y1 = seg.values[1];
662
+ var x = seg.values[2];
663
+ var y = seg.values[3];
664
+ var cx1 = currentX + 2 * (x1 - currentX) / 3;
665
+ var cy1 = currentY + 2 * (y1 - currentY) / 3;
666
+ var cx2 = x + 2 * (x1 - x) / 3;
667
+ var cy2 = y + 2 * (y1 - y) / 3;
668
+ reducedPathData.push({ type: "C", values: [cx1, cy1, cx2, cy2, x, y] });
669
+ lastControlX = x1;
670
+ lastControlY = y1;
671
+ currentX = x;
672
+ currentY = y;
673
+ }
674
+ else if (seg.type === "A") {
675
+ let r1 = Math.abs(seg.values[0]);
676
+ let r2 = Math.abs(seg.values[1]);
677
+ var angle = seg.values[2];
678
+ var largeArcFlag = seg.values[3];
679
+ var sweepFlag = seg.values[4];
680
+ var x = seg.values[5];
681
+ var y = seg.values[6];
682
+ if (r1 === 0 || r2 === 0) {
683
+ reducedPathData.push({ type: "C", values: [currentX, currentY, x, y, x, y] });
684
+ currentX = x;
685
+ currentY = y;
686
+ }
687
+ else {
688
+ if (currentX !== x || currentY !== y) {
689
+ var curves = arcToCubicCurves(currentX, currentY, x, y, r1, r2, angle, largeArcFlag, sweepFlag);
690
+ curves.forEach(function (curve) {
691
+ reducedPathData.push({ type: "C", values: curve });
692
+ });
693
+ currentX = x;
694
+ currentY = y;
695
+ }
696
+ }
697
+ }
698
+ else if (seg.type === "Z") {
699
+ reducedPathData.push(seg);
700
+ currentX = subpathX;
701
+ currentY = subpathY;
702
+ }
703
+ lastType = seg.type;
704
+ });
705
+ return reducedPathData;
706
+ };
707
+ SVGPathElement.prototype.getPathData = function (options) {
708
+ if (options && options.normalize) {
709
+ /*if (this[$cachedNormalizedPathData]) {
710
+ return clonePathData(this[$cachedNormalizedPathData]);
711
+ }
712
+ else */ {
713
+ let pathData;
714
+ /*if (this[$cachedPathData]) {
715
+ pathData = clonePathData(this[$cachedPathData]);
716
+ }
717
+ else */ {
718
+ pathData = parsePathDataString(this.getAttribute("d") || "");
719
+ //this[$cachedPathData] = clonePathData(pathData);
720
+ }
721
+ let normalizedPathData = reducePathData(absolutizePathData(pathData));
722
+ //this[$cachedNormalizedPathData] = clonePathData(normalizedPathData);
723
+ return normalizedPathData;
724
+ }
725
+ }
726
+ else {
727
+ /*if (this[$cachedPathData]) {
728
+ return clonePathData(this[$cachedPathData]);
729
+ }
730
+ else*/ {
731
+ let pathData = parsePathDataString(this.getAttribute("d") || "");
732
+ //this[$cachedPathData] = clonePathData(pathData);
733
+ return pathData;
734
+ }
735
+ }
736
+ };
737
+ SVGPathElement.prototype.setPathData = function (pathData) {
738
+ if (pathData.length === 0) {
739
+ this.removeAttribute("d");
740
+ }
741
+ else {
742
+ let d = "";
743
+ for (let i = 0, l = pathData.length; i < l; i += 1) {
744
+ let seg = pathData[i];
745
+ if (i > 0) {
746
+ d += " ";
747
+ }
748
+ d += seg.type;
749
+ if (seg.values && seg.values.length > 0) {
750
+ d += " " + seg.values.join(" ");
751
+ }
752
+ }
753
+ this.setAttribute("d", d);
754
+ }
755
+ };
756
+ SVGRectElement.prototype.getPathData = function (options) {
757
+ var x = this.x.baseVal.value;
758
+ var y = this.y.baseVal.value;
759
+ var width = this.width.baseVal.value;
760
+ var height = this.height.baseVal.value;
761
+ var rx = this.hasAttribute("rx") ? this.rx.baseVal.value : this.ry.baseVal.value;
762
+ var ry = this.hasAttribute("ry") ? this.ry.baseVal.value : this.rx.baseVal.value;
763
+ if (rx > width / 2) {
764
+ rx = width / 2;
765
+ }
766
+ if (ry > height / 2) {
767
+ ry = height / 2;
768
+ }
769
+ var pathData = [
770
+ { type: "M", values: [x + rx, y] },
771
+ { type: "H", values: [x + width - rx] },
772
+ { type: "A", values: [rx, ry, 0, 0, 1, x + width, y + ry] },
773
+ { type: "V", values: [y + height - ry] },
774
+ { type: "A", values: [rx, ry, 0, 0, 1, x + width - rx, y + height] },
775
+ { type: "H", values: [x + rx] },
776
+ { type: "A", values: [rx, ry, 0, 0, 1, x, y + height - ry] },
777
+ { type: "V", values: [y + ry] },
778
+ { type: "A", values: [rx, ry, 0, 0, 1, x + rx, y] },
779
+ { type: "Z", values: [] }
780
+ ];
781
+ // Get rid of redundant "A" segs when either rx or ry is 0
782
+ pathData = pathData.filter(function (s) {
783
+ return s.type === "A" && (s.values[0] === 0 || s.values[1] === 0) ? false : true;
784
+ });
785
+ if (options && options.normalize === true) {
786
+ pathData = reducePathData(pathData);
787
+ }
788
+ return pathData;
789
+ };
790
+ SVGCircleElement.prototype.getPathData = function (options) {
791
+ var cx = this.cx.baseVal.value;
792
+ var cy = this.cy.baseVal.value;
793
+ var r = this.r.baseVal.value;
794
+ var pathData = [
795
+ { type: "M", values: [cx + r, cy] },
796
+ { type: "A", values: [r, r, 0, 0, 1, cx, cy + r] },
797
+ { type: "A", values: [r, r, 0, 0, 1, cx - r, cy] },
798
+ { type: "A", values: [r, r, 0, 0, 1, cx, cy - r] },
799
+ { type: "A", values: [r, r, 0, 0, 1, cx + r, cy] },
800
+ { type: "Z", values: [] }
801
+ ];
802
+ if (options && options.normalize === true) {
803
+ pathData = reducePathData(pathData);
804
+ }
805
+ return pathData;
806
+ };
807
+ SVGEllipseElement.prototype.getPathData = function (options) {
808
+ var cx = this.cx.baseVal.value;
809
+ var cy = this.cy.baseVal.value;
810
+ var rx = this.rx.baseVal.value;
811
+ var ry = this.ry.baseVal.value;
812
+ var pathData = [
813
+ { type: "M", values: [cx + rx, cy] },
814
+ { type: "A", values: [rx, ry, 0, 0, 1, cx, cy + ry] },
815
+ { type: "A", values: [rx, ry, 0, 0, 1, cx - rx, cy] },
816
+ { type: "A", values: [rx, ry, 0, 0, 1, cx, cy - ry] },
817
+ { type: "A", values: [rx, ry, 0, 0, 1, cx + rx, cy] },
818
+ { type: "Z", values: [] }
819
+ ];
820
+ if (options && options.normalize === true) {
821
+ pathData = reducePathData(pathData);
822
+ }
823
+ return pathData;
824
+ };
825
+ SVGLineElement.prototype.getPathData = function () {
826
+ return [
827
+ { type: "M", values: [this.x1.baseVal.value, this.y1.baseVal.value] },
828
+ { type: "L", values: [this.x2.baseVal.value, this.y2.baseVal.value] }
829
+ ];
830
+ };
831
+ SVGPolylineElement.prototype.getPathData = function () {
832
+ var pathData = [];
833
+ for (var i = 0; i < this.points.numberOfItems; i += 1) {
834
+ var point = this.points.getItem(i);
835
+ pathData.push({
836
+ type: (i === 0 ? "M" : "L"),
837
+ values: [point.x, point.y]
838
+ });
839
+ }
840
+ return pathData;
841
+ };
842
+ SVGPolygonElement.prototype.getPathData = function () {
843
+ var pathData = [];
844
+ for (var i = 0; i < this.points.numberOfItems; i += 1) {
845
+ var point = this.points.getItem(i);
846
+ pathData.push({
847
+ type: (i === 0 ? "M" : "L"),
848
+ values: [point.x, point.y]
849
+ });
850
+ }
851
+ pathData.push({
852
+ type: "Z",
853
+ values: []
854
+ });
855
+ return pathData;
856
+ };
857
+ })();
858
+ }
859
+ export function straightenLine(p1, p2, only90Steps = false) {
860
+ let newP;
861
+ let alpha = calculateAlpha(p1, p2);
862
+ let normLength;
863
+ if (only90Steps) {
864
+ if (alpha >= 315 && alpha < 360 || alpha >= 0 && alpha < 45) { // 0
865
+ newP = { x: p2.x, y: p1.y };
866
+ }
867
+ else if (alpha >= 45 && alpha < 135) { // 90
868
+ newP = { x: p1.x, y: p2.y };
869
+ }
870
+ else if (alpha >= 135 && alpha < 225) { // 180
871
+ newP = { x: p2.x, y: p1.y };
872
+ }
873
+ else if (alpha >= 225 && alpha < 315) { // 270
874
+ newP = { x: p1.x, y: p2.y };
875
+ }
876
+ }
877
+ else {
878
+ if (alpha >= 337.5 && alpha < 360 || alpha >= 0 && alpha < 22.5) { // 0
879
+ newP = { x: p2.x, y: p1.y };
880
+ }
881
+ else if (alpha >= 22.5 && alpha < 67.5) { // 45
882
+ normLength = calculateNormLegth(p1, p2);
883
+ newP = { x: p1.x + normLength, y: p1.y - normLength };
884
+ }
885
+ else if (alpha >= 67.5 && alpha < 112.5) { // 90
886
+ newP = { x: p1.x, y: p2.y };
887
+ }
888
+ else if (alpha >= 112.5 && alpha < 157.5) { // 135
889
+ normLength = calculateNormLegth(p1, p2);
890
+ newP = { x: p1.x - normLength, y: p1.y - normLength };
891
+ }
892
+ else if (alpha >= 157.5 && alpha < 202.5) { // 180
893
+ newP = { x: p2.x, y: p1.y };
894
+ }
895
+ else if (alpha >= 202.5 && alpha < 247.5) { // 225
896
+ normLength = calculateNormLegth(p1, p2);
897
+ newP = { x: p1.x - normLength, y: p1.y + normLength };
898
+ }
899
+ else if (alpha >= 247.5 && alpha < 292.5) { // 270
900
+ newP = { x: p1.x, y: p2.y };
901
+ }
902
+ else if (alpha >= 292.5 && alpha < 337.5) { // 315
903
+ normLength = calculateNormLegth(p1, p2);
904
+ newP = { x: p1.x + normLength, y: p1.y + normLength };
905
+ }
906
+ }
907
+ return newP;
908
+ }
909
+ export function calculateNormLegth(p1, p2) {
910
+ let normLenght;
911
+ let currentLength = Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
912
+ let alpha = calculateAlpha(p1, p2);
913
+ let beta = alpha - ((Math.floor(alpha / 90) * 90) + 45);
914
+ normLenght = currentLength * Math.cos(beta * (Math.PI / 180)) / Math.sqrt(2);
915
+ return normLenght;
916
+ }
917
+ export function calculateAlpha(p1, p2) {
918
+ let alpha = -1 * Math.atan2(p2.y - p1.y, p2.x - p1.x) * 180 / Math.PI;
919
+ if (alpha < 0)
920
+ alpha += 360;
921
+ return alpha;
922
+ }
923
+ export function moveSVGPath(path, xFactor, yFactor) {
924
+ let newPathData = "";
925
+ let pd = path.getPathData({ normalize: true });
926
+ {
927
+ for (let p of pd) {
928
+ switch (p.type) {
929
+ case ('M'):
930
+ case ('m'):
931
+ case ('L'):
932
+ case ('l'):
933
+ case ('T'):
934
+ case ('t'):
935
+ newPathData += p.type + " " + (p.values[0] - xFactor) + " " + (p.values[1] - yFactor) + " ";
936
+ break;
937
+ case ('Z'):
938
+ case ('z'):
939
+ newPathData += p.type + " ";
940
+ break;
941
+ case ('C'):
942
+ case ('c'):
943
+ newPathData += p.type + " " + (p.values[0] - xFactor) + " " + (p.values[1] - yFactor) + " " + (p.values[2] - xFactor) + " " + (p.values[3] - yFactor) + " " + (p.values[4] - xFactor) + " " + (p.values[5] - yFactor) + " ";
944
+ break;
945
+ case ('S'):
946
+ case ('s'):
947
+ case ('Q'):
948
+ case ('q'):
949
+ newPathData += p.type + " " + (p.values[0] - xFactor) + " " + (p.values[1] - yFactor) + " " + (p.values[2] - xFactor) + " " + (p.values[3] - yFactor) + " ";
950
+ break;
951
+ case ('A'):
952
+ case ('a'):
953
+ newPathData += p.type + " " + (p.values[0] - xFactor) + " " + (p.values[1] - yFactor) + " " + p.values[2] + " " + p.values[3] + " " + p.values[4] + " " + (p.values[5] - xFactor) + " " + (p.values[6] - yFactor) + " ";
954
+ break;
955
+ }
956
+ }
957
+ }
958
+ return newPathData;
959
+ }
960
+ export function createPathD(path) {
961
+ let pathD = "";
962
+ for (let p of path) {
963
+ pathD += p.type + " ";
964
+ for (var i = 0; i < p.values.length; i++) {
965
+ if (p.values[i] != null && !isNaN(p.values[i])) {
966
+ pathD += p.values[i] + " ";
967
+ }
968
+ }
969
+ }
970
+ return pathD;
971
+ }