@node-projects/web-component-designer 0.0.215 → 0.0.217

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 (633) hide show
  1. package/dist/Constants.d.ts +3 -3
  2. package/dist/Constants.js +5 -5
  3. package/dist/commandHandling/CommandType.d.ts +32 -32
  4. package/dist/commandHandling/CommandType.js +33 -33
  5. package/dist/commandHandling/IUiCommand.d.ts +10 -10
  6. package/dist/commandHandling/IUiCommand.js +1 -1
  7. package/dist/commandHandling/IUiCommandHandler.d.ts +5 -5
  8. package/dist/commandHandling/IUiCommandHandler.js +1 -1
  9. package/dist/elements/controls/DesignerTabControl.d.ts +24 -24
  10. package/dist/elements/controls/DesignerTabControl.js +152 -151
  11. package/dist/elements/controls/ImageButtonListSelector.d.ts +17 -17
  12. package/dist/elements/controls/ImageButtonListSelector.js +51 -50
  13. package/dist/elements/controls/MetricsEditor.d.ts +14 -14
  14. package/dist/elements/controls/MetricsEditor.js +37 -36
  15. package/dist/elements/controls/NumericPopup.d.ts +6 -6
  16. package/dist/elements/controls/NumericPopup.js +9 -8
  17. package/dist/elements/controls/NumericStyleInput.d.ts +16 -16
  18. package/dist/elements/controls/NumericStyleInput.js +43 -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 +40 -39
  23. package/dist/elements/controls/ThicknessEditor.d.ts +33 -33
  24. package/dist/elements/controls/ThicknessEditor.js +91 -90
  25. package/dist/elements/documentContainer.d.ts +54 -54
  26. package/dist/elements/documentContainer.js +227 -224
  27. package/dist/elements/helper/ArrangeHelper.d.ts +8 -8
  28. package/dist/elements/helper/ArrangeHelper.js +105 -105
  29. package/dist/elements/helper/ClipboardHelper.d.ts +4 -4
  30. package/dist/elements/helper/ClipboardHelper.js +90 -90
  31. package/dist/elements/helper/CssAttributeParser.d.ts +9 -9
  32. package/dist/elements/helper/CssAttributeParser.js +67 -67
  33. package/dist/elements/helper/CssCombiner.d.ts +11 -11
  34. package/dist/elements/helper/CssCombiner.js +298 -297
  35. package/dist/elements/helper/CssUnitConverter.d.ts +3 -3
  36. package/dist/elements/helper/CssUnitConverter.js +101 -101
  37. package/dist/elements/helper/ElementHelper.d.ts +19 -18
  38. package/dist/elements/helper/ElementHelper.js +107 -101
  39. package/dist/elements/helper/GridHelper.d.ts +19 -19
  40. package/dist/elements/helper/GridHelper.js +112 -112
  41. package/dist/elements/helper/Helper.d.ts +8 -8
  42. package/dist/elements/helper/Helper.js +36 -36
  43. package/dist/elements/helper/ITextWriter.d.ts +11 -11
  44. package/dist/elements/helper/ITextWriter.js +1 -1
  45. package/dist/elements/helper/IndentedTextWriter.d.ts +15 -15
  46. package/dist/elements/helper/IndentedTextWriter.js +34 -34
  47. package/dist/elements/helper/LayoutHelper.d.ts +4 -4
  48. package/dist/elements/helper/LayoutHelper.js +73 -73
  49. package/dist/elements/helper/NpmPackageLoader.d.ts +17 -17
  50. package/dist/elements/helper/NpmPackageLoader.js +207 -207
  51. package/dist/elements/helper/PathDataPolyfill.d.ts +101 -101
  52. package/dist/elements/helper/PathDataPolyfill.js +955 -955
  53. package/dist/elements/helper/Screenshot.d.ts +11 -11
  54. package/dist/elements/helper/Screenshot.js +60 -60
  55. package/dist/elements/helper/SimpleTextWriter.d.ts +13 -13
  56. package/dist/elements/helper/SimpleTextWriter.js +26 -26
  57. package/dist/elements/helper/SvgHelper.d.ts +1 -1
  58. package/dist/elements/helper/SvgHelper.js +13 -13
  59. package/dist/elements/helper/SwitchContainerHelper.d.ts +2 -2
  60. package/dist/elements/helper/SwitchContainerHelper.js +45 -45
  61. package/dist/elements/helper/TextHelper.d.ts +10 -10
  62. package/dist/elements/helper/TextHelper.js +23 -23
  63. package/dist/elements/helper/TransformHelper.d.ts +23 -23
  64. package/dist/elements/helper/TransformHelper.js +224 -224
  65. package/dist/elements/helper/XmlHelper.d.ts +2 -2
  66. package/dist/elements/helper/XmlHelper.js +16 -16
  67. package/dist/elements/helper/contextMenu/ContextMenu.d.ts +25 -25
  68. package/dist/elements/helper/contextMenu/ContextMenu.js +232 -231
  69. package/dist/elements/helper/contextMenu/IContextMenuItem.d.ts +9 -9
  70. package/dist/elements/helper/contextMenu/IContextMenuItem.js +2 -2
  71. package/dist/elements/helper/w3color.d.ts +120 -120
  72. package/dist/elements/helper/w3color.js +801 -801
  73. package/dist/elements/item/BindingMode.d.ts +4 -4
  74. package/dist/elements/item/BindingMode.js +5 -5
  75. package/dist/elements/item/BindingTarget.d.ts +8 -8
  76. package/dist/elements/item/BindingTarget.js +9 -9
  77. package/dist/elements/item/DesignItem.d.ts +88 -88
  78. package/dist/elements/item/DesignItem.js +465 -464
  79. package/dist/elements/item/IBinding.d.ts +15 -15
  80. package/dist/elements/item/IBinding.js +1 -1
  81. package/dist/elements/item/IDesignItem.d.ts +70 -70
  82. package/dist/elements/item/IDesignItem.js +1 -1
  83. package/dist/elements/item/NodeType.d.ts +8 -8
  84. package/dist/elements/item/NodeType.js +9 -9
  85. package/dist/elements/loader/IOldCustomElementsManifest.d.ts +24 -24
  86. package/dist/elements/loader/IOldCustomElementsManifest.js +1 -1
  87. package/dist/elements/loader/OldCustomElementsManifestLoader.d.ts +8 -8
  88. package/dist/elements/loader/OldCustomElementsManifestLoader.js +45 -45
  89. package/dist/elements/services/BaseServiceContainer.d.ts +14 -14
  90. package/dist/elements/services/BaseServiceContainer.js +54 -54
  91. package/dist/elements/services/DefaultServiceBootstrap.d.ts +3 -3
  92. package/dist/elements/services/DefaultServiceBootstrap.js +193 -191
  93. package/dist/elements/services/GlobalContext.d.ts +27 -27
  94. package/dist/elements/services/GlobalContext.js +68 -68
  95. package/dist/elements/services/IService.d.ts +2 -2
  96. package/dist/elements/services/IService.js +1 -1
  97. package/dist/elements/services/IServiceContainer.d.ts +5 -5
  98. package/dist/elements/services/IServiceContainer.js +1 -1
  99. package/dist/elements/services/InstanceServiceContainer.d.ts +27 -24
  100. package/dist/elements/services/InstanceServiceContainer.js +26 -23
  101. package/dist/elements/services/ServiceContainer.d.ts +105 -103
  102. package/dist/elements/services/ServiceContainer.js +85 -85
  103. package/dist/elements/services/bindableObjectsService/BindableObjectType.d.ts +9 -9
  104. package/dist/elements/services/bindableObjectsService/BindableObjectType.js +10 -10
  105. package/dist/elements/services/bindableObjectsService/IBindableObject.d.ts +8 -8
  106. package/dist/elements/services/bindableObjectsService/IBindableObject.js +1 -1
  107. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.d.ts +8 -8
  108. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.js +1 -1
  109. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.d.ts +6 -6
  110. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.js +1 -1
  111. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.d.ts +10 -10
  112. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +74 -73
  113. package/dist/elements/services/bindingsService/IBindingService.d.ts +13 -13
  114. package/dist/elements/services/bindingsService/IBindingService.js +1 -1
  115. package/dist/elements/services/bindingsService/SpecialTagsBindingService.d.ts +16 -16
  116. package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +45 -44
  117. package/dist/elements/services/bindingsService/VueBindingsService.js +7 -7
  118. package/dist/elements/services/contentService/ContentService.d.ts +9 -9
  119. package/dist/elements/services/contentService/ContentService.js +8 -8
  120. package/dist/elements/services/contentService/IContentChanged.d.ts +10 -10
  121. package/dist/elements/services/contentService/IContentChanged.js +1 -1
  122. package/dist/elements/services/contentService/IContentService.d.ts +7 -7
  123. package/dist/elements/services/contentService/IContentService.js +1 -1
  124. package/dist/elements/services/copyPasteService/CopyPasteService.d.ts +10 -10
  125. package/dist/elements/services/copyPasteService/CopyPasteService.js +33 -33
  126. package/dist/elements/services/copyPasteService/ICopyPasteService.d.ts +8 -8
  127. package/dist/elements/services/copyPasteService/ICopyPasteService.js +1 -1
  128. package/dist/elements/services/demoProviderService/DemoProviderService.d.ts +6 -6
  129. package/dist/elements/services/demoProviderService/DemoProviderService.js +29 -29
  130. package/dist/elements/services/demoProviderService/IDemoProviderService.d.ts +5 -5
  131. package/dist/elements/services/demoProviderService/IDemoProviderService.js +1 -1
  132. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.d.ts +10 -0
  133. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.js +10 -0
  134. package/dist/elements/services/designItemDocumentPositionService/IDesignItemDocumentPositionService.d.ts +6 -0
  135. package/dist/elements/services/designItemDocumentPositionService/IDesignItemDocumentPositionService.js +1 -0
  136. package/dist/elements/services/designerAddons/IDesignerAddonJson.d.ts +6 -6
  137. package/dist/elements/services/designerAddons/IDesignerAddonJson.js +1 -1
  138. package/dist/elements/services/dragDropService/DragDropService.d.ts +6 -6
  139. package/dist/elements/services/dragDropService/DragDropService.js +28 -28
  140. package/dist/elements/services/dragDropService/IDragDropService.d.ts +5 -5
  141. package/dist/elements/services/dragDropService/IDragDropService.js +1 -1
  142. package/dist/elements/services/elementAtPointService/ElementAtPointService.d.ts +6 -6
  143. package/dist/elements/services/elementAtPointService/ElementAtPointService.js +5 -5
  144. package/dist/elements/services/elementAtPointService/IElementAtPointService.d.ts +6 -6
  145. package/dist/elements/services/elementAtPointService/IElementAtPointService.js +1 -1
  146. package/dist/elements/services/elementInteractionService/IElementInteractionService.d.ts +5 -5
  147. package/dist/elements/services/elementInteractionService/IElementInteractionService.js +1 -1
  148. package/dist/elements/services/elementsService/IElementDefinition.d.ts +31 -31
  149. package/dist/elements/services/elementsService/IElementDefinition.js +1 -1
  150. package/dist/elements/services/elementsService/IElementsJson.d.ts +5 -5
  151. package/dist/elements/services/elementsService/IElementsJson.js +1 -1
  152. package/dist/elements/services/elementsService/IElementsService.d.ts +6 -6
  153. package/dist/elements/services/elementsService/IElementsService.js +1 -1
  154. package/dist/elements/services/elementsService/JsonFileElementsService.d.ts +12 -12
  155. package/dist/elements/services/elementsService/JsonFileElementsService.js +45 -45
  156. package/dist/elements/services/elementsService/PreDefinedElementsService.d.ts +11 -11
  157. package/dist/elements/services/elementsService/PreDefinedElementsService.js +21 -21
  158. package/dist/elements/services/elementsService/WebcomponentManifestElementsService.d.ts +13 -13
  159. package/dist/elements/services/elementsService/WebcomponentManifestElementsService.js +39 -39
  160. package/dist/elements/services/htmlParserService/AbstractClassElementParserService.d.ts +12 -12
  161. package/dist/elements/services/htmlParserService/AbstractClassElementParserService.js +106 -106
  162. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.d.ts +9 -9
  163. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js +18 -18
  164. package/dist/elements/services/htmlParserService/IHtmlParserService.d.ts +7 -7
  165. package/dist/elements/services/htmlParserService/IHtmlParserService.js +1 -1
  166. package/dist/elements/services/htmlParserService/LitElementParserService.d.ts +12 -12
  167. package/dist/elements/services/htmlParserService/LitElementParserService.js +91 -91
  168. package/dist/elements/services/htmlParserService/NodeHtmlParserService.d.ts +11 -11
  169. package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +87 -81
  170. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.d.ts +9 -10
  171. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js +62 -62
  172. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.d.ts +21 -22
  173. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.js +133 -133
  174. package/dist/elements/services/htmlWriterService/HtmlWriterService.d.ts +12 -13
  175. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +109 -109
  176. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.d.ts +7 -7
  177. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.js +7 -7
  178. package/dist/elements/services/htmlWriterService/IHtmlWriterService.d.ts +6 -7
  179. package/dist/elements/services/htmlWriterService/IHtmlWriterService.js +1 -1
  180. package/dist/elements/services/htmlWriterService/IStringPosition.d.ts +4 -4
  181. package/dist/elements/services/htmlWriterService/IStringPosition.js +1 -1
  182. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.d.ts +8 -9
  183. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js +8 -7
  184. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.d.ts +25 -27
  185. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.js +89 -93
  186. package/dist/elements/services/initializationService/IIntializationService.d.ts +4 -4
  187. package/dist/elements/services/initializationService/IIntializationService.js +1 -1
  188. package/dist/elements/services/instanceService/DefaultInstanceService.d.ts +8 -8
  189. package/dist/elements/services/instanceService/DefaultInstanceService.js +71 -71
  190. package/dist/elements/services/instanceService/IDesignerInstance.d.ts +3 -3
  191. package/dist/elements/services/instanceService/IDesignerInstance.js +1 -1
  192. package/dist/elements/services/instanceService/IInstanceService.d.ts +8 -8
  193. package/dist/elements/services/instanceService/IInstanceService.js +1 -1
  194. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +26 -26
  195. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +114 -114
  196. package/dist/elements/services/modelCommandService/DefaultModelCommandService.d.ts +7 -7
  197. package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +128 -128
  198. package/dist/elements/services/modelCommandService/IModelCommandService.d.ts +7 -7
  199. package/dist/elements/services/modelCommandService/IModelCommandService.js +1 -1
  200. package/dist/elements/services/placementService/DefaultPlacementService.d.ts +18 -18
  201. package/dist/elements/services/placementService/DefaultPlacementService.js +134 -134
  202. package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +17 -17
  203. package/dist/elements/services/placementService/FlexBoxPlacementService.js +113 -113
  204. package/dist/elements/services/placementService/GridPlacementService.d.ts +17 -17
  205. package/dist/elements/services/placementService/GridPlacementService.js +108 -108
  206. package/dist/elements/services/placementService/IPlacementService.d.ts +17 -17
  207. package/dist/elements/services/placementService/IPlacementService.js +1 -1
  208. package/dist/elements/services/placementService/ISnaplinesProviderService.d.ts +12 -12
  209. package/dist/elements/services/placementService/ISnaplinesProviderService.js +1 -1
  210. package/dist/elements/services/placementService/SnaplinesProviderService.d.ts +14 -14
  211. package/dist/elements/services/placementService/SnaplinesProviderService.js +48 -48
  212. package/dist/elements/services/popupService/IPopupService.d.ts +16 -16
  213. package/dist/elements/services/popupService/IPopupService.js +1 -1
  214. package/dist/elements/services/popupService/PopupService.d.ts +9 -9
  215. package/dist/elements/services/popupService/PopupService.js +20 -20
  216. package/dist/elements/services/propertiesService/DefaultEditorTypesService.d.ts +6 -6
  217. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +64 -64
  218. package/dist/elements/services/propertiesService/IEditorTypesService.d.ts +5 -5
  219. package/dist/elements/services/propertiesService/IEditorTypesService.js +1 -1
  220. package/dist/elements/services/propertiesService/IPropertiesService.d.ts +25 -25
  221. package/dist/elements/services/propertiesService/IPropertiesService.js +6 -6
  222. package/dist/elements/services/propertiesService/IProperty.d.ts +22 -22
  223. package/dist/elements/services/propertiesService/IProperty.js +1 -1
  224. package/dist/elements/services/propertiesService/IPropertyEditor.d.ts +19 -19
  225. package/dist/elements/services/propertiesService/IPropertyEditor.js +1 -1
  226. package/dist/elements/services/propertiesService/IPropertyGroup.d.ts +6 -6
  227. package/dist/elements/services/propertiesService/IPropertyGroup.js +1 -1
  228. package/dist/elements/services/propertiesService/IPropertyTabsService.d.ts +8 -8
  229. package/dist/elements/services/propertiesService/IPropertyTabsService.js +1 -1
  230. package/dist/elements/services/propertiesService/PropertyTabsService.d.ts +17 -17
  231. package/dist/elements/services/propertiesService/PropertyTabsService.js +30 -30
  232. package/dist/elements/services/propertiesService/PropertyType.d.ts +8 -8
  233. package/dist/elements/services/propertiesService/PropertyType.js +9 -9
  234. package/dist/elements/services/propertiesService/ValueType.d.ts +6 -6
  235. package/dist/elements/services/propertiesService/ValueType.js +7 -7
  236. package/dist/elements/services/propertiesService/app.d.ts +2 -2
  237. package/dist/elements/services/propertiesService/app.js +71 -71
  238. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.d.ts +15 -15
  239. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +41 -41
  240. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.d.ts +7 -7
  241. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.js +13 -13
  242. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.d.ts +7 -7
  243. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.js +22 -22
  244. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.d.ts +7 -7
  245. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.js +16 -16
  246. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.d.ts +8 -8
  247. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.js +40 -40
  248. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.d.ts +9 -9
  249. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.js +17 -16
  250. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.d.ts +5 -5
  251. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.js +9 -8
  252. package/dist/elements/services/propertiesService/propertyEditors/MetricsPropertyEditor.d.ts +8 -8
  253. package/dist/elements/services/propertiesService/propertyEditors/MetricsPropertyEditor.js +14 -14
  254. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.d.ts +7 -7
  255. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.js +16 -16
  256. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.d.ts +7 -7
  257. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.js +28 -28
  258. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.d.ts +7 -7
  259. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.js +20 -20
  260. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.d.ts +8 -8
  261. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +14 -14
  262. package/dist/elements/services/propertiesService/services/AbstractPolymerLikePropertiesService.d.ts +9 -9
  263. package/dist/elements/services/propertiesService/services/AbstractPolymerLikePropertiesService.js +48 -48
  264. package/dist/elements/services/propertiesService/services/AbstractPropertiesService.d.ts +21 -21
  265. package/dist/elements/services/propertiesService/services/AbstractPropertiesService.js +175 -175
  266. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +20 -20
  267. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +91 -91
  268. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.d.ts +8 -8
  269. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +14 -14
  270. package/dist/elements/services/propertiesService/services/CommonPropertiesService.d.ts +13 -13
  271. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +44 -44
  272. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.d.ts +34 -34
  273. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +103 -103
  274. package/dist/elements/services/propertiesService/services/CssProperties.json +541 -541
  275. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +17 -17
  276. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +86 -86
  277. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +17 -17
  278. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.js +1 -1
  279. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.d.ts +4 -4
  280. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.js +1 -1
  281. package/dist/elements/services/propertiesService/services/ListPropertiesService.d.ts +14 -14
  282. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +45 -45
  283. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.d.ts +9 -9
  284. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +51 -51
  285. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.d.ts +8 -8
  286. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.js +17 -17
  287. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.d.ts +20 -20
  288. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +211 -211
  289. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.d.ts +8 -8
  290. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.js +10 -10
  291. package/dist/elements/services/propertiesService/services/PropertiesHelper.d.ts +6 -6
  292. package/dist/elements/services/propertiesService/services/PropertiesHelper.js +27 -27
  293. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.d.ts +15 -15
  294. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.js +259 -259
  295. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.d.ts +18 -18
  296. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.js +77 -77
  297. package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +5 -5
  298. package/dist/elements/services/selectionService/ISelectionChangedEvent.js +1 -1
  299. package/dist/elements/services/selectionService/ISelectionService.d.ts +11 -11
  300. package/dist/elements/services/selectionService/ISelectionService.js +1 -1
  301. package/dist/elements/services/selectionService/SelectionService.d.ts +17 -17
  302. package/dist/elements/services/selectionService/SelectionService.js +50 -50
  303. package/dist/elements/services/stylesheetService/AbstractStylesheetService.d.ts +46 -46
  304. package/dist/elements/services/stylesheetService/AbstractStylesheetService.js +136 -136
  305. package/dist/elements/services/stylesheetService/CssToolsStylesheetService.d.ts +40 -40
  306. package/dist/elements/services/stylesheetService/CssToolsStylesheetService.js +99 -99
  307. package/dist/elements/services/stylesheetService/CssTreeStylesheetService.d.ts +56 -56
  308. package/dist/elements/services/stylesheetService/CssTreeStylesheetService.js +198 -198
  309. package/dist/elements/services/stylesheetService/IStylesheetService.d.ts +41 -41
  310. package/dist/elements/services/stylesheetService/IStylesheetService.js +1 -1
  311. package/dist/elements/services/stylesheetService/SpecificityCalculator.d.ts +7 -7
  312. package/dist/elements/services/stylesheetService/SpecificityCalculator.js +178 -178
  313. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.d.ts +8 -8
  314. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.js +1 -1
  315. package/dist/elements/services/treeStructureService/ITreeStructureService.d.ts +2 -2
  316. package/dist/elements/services/treeStructureService/ITreeStructureService.js +2 -2
  317. package/dist/elements/services/undoService/ChangeGroup.d.ts +18 -18
  318. package/dist/elements/services/undoService/ChangeGroup.js +67 -67
  319. package/dist/elements/services/undoService/ITransactionItem.d.ts +8 -8
  320. package/dist/elements/services/undoService/ITransactionItem.js +2 -2
  321. package/dist/elements/services/undoService/IUndoService.d.ts +14 -14
  322. package/dist/elements/services/undoService/IUndoService.js +1 -1
  323. package/dist/elements/services/undoService/UndoService.d.ts +22 -22
  324. package/dist/elements/services/undoService/UndoService.js +113 -107
  325. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.d.ts +15 -15
  326. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +70 -70
  327. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +14 -14
  328. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +40 -40
  329. package/dist/elements/services/undoService/transactionItems/DeleteAction.d.ts +13 -13
  330. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +35 -35
  331. package/dist/elements/services/undoService/transactionItems/InsertAction.d.ts +13 -13
  332. package/dist/elements/services/undoService/transactionItems/InsertAction.js +26 -26
  333. package/dist/elements/services/undoService/transactionItems/InsertChildAction.d.ts +16 -16
  334. package/dist/elements/services/undoService/transactionItems/InsertChildAction.js +40 -40
  335. package/dist/elements/services/undoService/transactionItems/SelectionChangedAction.d.ts +14 -14
  336. package/dist/elements/services/undoService/transactionItems/SelectionChangedAction.js +28 -28
  337. package/dist/elements/services/undoService/transactionItems/SetDesignItemsAction.d.ts +12 -12
  338. package/dist/elements/services/undoService/transactionItems/SetDesignItemsAction.js +22 -22
  339. package/dist/elements/services/undoService/transactionItems/StylesheetChangedAction.d.ts +14 -14
  340. package/dist/elements/services/undoService/transactionItems/StylesheetChangedAction.js +24 -24
  341. package/dist/elements/services/undoService/transactionItems/StylesheetStyleChangeAction.d.ts +17 -17
  342. package/dist/elements/services/undoService/transactionItems/StylesheetStyleChangeAction.js +28 -28
  343. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.d.ts +3 -3
  344. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.js +1 -1
  345. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.d.ts +10 -10
  346. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +85 -84
  347. package/dist/elements/widgets/bindings/BindingsEditor.d.ts +17 -17
  348. package/dist/elements/widgets/bindings/BindingsEditor.js +23 -22
  349. package/dist/elements/widgets/codeView/ICodeView.d.ts +11 -11
  350. package/dist/elements/widgets/codeView/ICodeView.js +1 -1
  351. package/dist/elements/widgets/codeView/code-view-ace.d.ts +24 -24
  352. package/dist/elements/widgets/codeView/code-view-ace.js +128 -127
  353. package/dist/elements/widgets/codeView/code-view-code-mirror.d.ts +24 -24
  354. package/dist/elements/widgets/codeView/code-view-code-mirror.js +97 -96
  355. package/dist/elements/widgets/codeView/code-view-monaco.d.ts +27 -27
  356. package/dist/elements/widgets/codeView/code-view-monaco.js +162 -160
  357. package/dist/elements/widgets/codeView/code-view-simple.d.ts +23 -23
  358. package/dist/elements/widgets/codeView/code-view-simple.js +38 -37
  359. package/dist/elements/widgets/demoView/IDemoView.d.ts +7 -7
  360. package/dist/elements/widgets/demoView/IDemoView.js +1 -1
  361. package/dist/elements/widgets/demoView/demoView.d.ts +17 -17
  362. package/dist/elements/widgets/demoView/demoView.js +27 -26
  363. package/dist/elements/widgets/designerView/DesignContext.d.ts +7 -7
  364. package/dist/elements/widgets/designerView/DesignContext.js +4 -4
  365. package/dist/elements/widgets/designerView/DomConverter.d.ts +7 -8
  366. package/dist/elements/widgets/designerView/DomConverter.js +42 -42
  367. package/dist/elements/widgets/designerView/IDesignContext.d.ts +6 -6
  368. package/dist/elements/widgets/designerView/IDesignContext.js +1 -1
  369. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +59 -59
  370. package/dist/elements/widgets/designerView/IDesignerCanvas.js +1 -1
  371. package/dist/elements/widgets/designerView/IPlacementView.d.ts +13 -13
  372. package/dist/elements/widgets/designerView/IPlacementView.js +1 -1
  373. package/dist/elements/widgets/designerView/Snaplines.d.ts +21 -21
  374. package/dist/elements/widgets/designerView/Snaplines.js +220 -220
  375. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.d.ts +5 -5
  376. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.js +11 -11
  377. package/dist/elements/widgets/designerView/designerCanvas.d.ts +132 -132
  378. package/dist/elements/widgets/designerView/designerCanvas.js +967 -962
  379. package/dist/elements/widgets/designerView/designerView.d.ts +39 -40
  380. package/dist/elements/widgets/designerView/designerView.js +218 -216
  381. package/dist/elements/widgets/designerView/extensions/AbstractExtension.d.ts +12 -12
  382. package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +8 -8
  383. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.d.ts +19 -19
  384. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.js +65 -65
  385. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.d.ts +11 -11
  386. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.js +21 -21
  387. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.d.ts +10 -10
  388. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +11 -11
  389. package/dist/elements/widgets/designerView/extensions/CanvasExtension.d.ts +10 -10
  390. package/dist/elements/widgets/designerView/extensions/CanvasExtension.js +27 -27
  391. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.d.ts +10 -10
  392. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +13 -13
  393. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.d.ts +24 -24
  394. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +90 -89
  395. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.d.ts +9 -9
  396. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js +11 -11
  397. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.d.ts +23 -23
  398. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js +87 -86
  399. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.d.ts +10 -10
  400. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.js +13 -13
  401. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.d.ts +15 -15
  402. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.js +60 -60
  403. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.d.ts +10 -10
  404. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.js +11 -11
  405. package/dist/elements/widgets/designerView/extensions/ExtensionManager.d.ts +22 -22
  406. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +305 -305
  407. package/dist/elements/widgets/designerView/extensions/ExtensionType.d.ts +23 -23
  408. package/dist/elements/widgets/designerView/extensions/ExtensionType.js +24 -24
  409. package/dist/elements/widgets/designerView/extensions/FlexboxExtension.d.ts +11 -11
  410. package/dist/elements/widgets/designerView/extensions/FlexboxExtension.js +20 -20
  411. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.d.ts +11 -11
  412. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.js +15 -15
  413. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtension.d.ts +11 -11
  414. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtension.js +19 -19
  415. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.d.ts +10 -10
  416. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.js +11 -11
  417. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.d.ts +13 -13
  418. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.js +33 -33
  419. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.d.ts +10 -10
  420. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.js +11 -11
  421. package/dist/elements/widgets/designerView/extensions/HighlightElementExtension.d.ts +11 -11
  422. package/dist/elements/widgets/designerView/extensions/HighlightElementExtension.js +20 -20
  423. package/dist/elements/widgets/designerView/extensions/HighlightElementExtensionProvider.d.ts +10 -10
  424. package/dist/elements/widgets/designerView/extensions/HighlightElementExtensionProvider.js +11 -11
  425. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.d.ts +5 -5
  426. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.js +1 -1
  427. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.d.ts +9 -9
  428. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.js +1 -1
  429. package/dist/elements/widgets/designerView/extensions/IExtensionManger.d.ts +14 -14
  430. package/dist/elements/widgets/designerView/extensions/IExtensionManger.js +1 -1
  431. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtension.d.ts +11 -11
  432. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtension.js +19 -19
  433. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.d.ts +13 -13
  434. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.js +22 -22
  435. package/dist/elements/widgets/designerView/extensions/OverlayLayer.d.ts +5 -5
  436. package/dist/elements/widgets/designerView/extensions/OverlayLayer.js +6 -6
  437. package/dist/elements/widgets/designerView/extensions/PlacementExtension.d.ts +11 -11
  438. package/dist/elements/widgets/designerView/extensions/PlacementExtension.js +22 -22
  439. package/dist/elements/widgets/designerView/extensions/PlacementExtensionProvider.d.ts +10 -10
  440. package/dist/elements/widgets/designerView/extensions/PlacementExtensionProvider.js +11 -11
  441. package/dist/elements/widgets/designerView/extensions/PositionExtension.d.ts +16 -16
  442. package/dist/elements/widgets/designerView/extensions/PositionExtension.js +42 -42
  443. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.d.ts +10 -10
  444. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.js +14 -14
  445. package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +27 -27
  446. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +335 -335
  447. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.d.ts +12 -12
  448. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +18 -18
  449. package/dist/elements/widgets/designerView/extensions/RotateExtension.d.ts +18 -18
  450. package/dist/elements/widgets/designerView/extensions/RotateExtension.js +108 -108
  451. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.d.ts +10 -10
  452. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +14 -14
  453. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.d.ts +14 -14
  454. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +35 -35
  455. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.d.ts +10 -10
  456. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +11 -11
  457. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.d.ts +15 -15
  458. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +94 -94
  459. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.d.ts +12 -12
  460. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +26 -26
  461. package/dist/elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton.d.ts +12 -12
  462. package/dist/elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton.js +40 -40
  463. package/dist/elements/widgets/designerView/extensions/buttons/ButtonSeperatorProvider.d.ts +8 -8
  464. package/dist/elements/widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js +12 -12
  465. package/dist/elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.d.ts +4 -4
  466. package/dist/elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js +7 -7
  467. package/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.d.ts +4 -4
  468. package/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js +7 -7
  469. package/dist/elements/widgets/designerView/extensions/buttons/IDesignViewConfigButtonsProvider.d.ts +5 -5
  470. package/dist/elements/widgets/designerView/extensions/buttons/IDesignViewConfigButtonsProvider.js +1 -1
  471. package/dist/elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.d.ts +4 -4
  472. package/dist/elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js +7 -7
  473. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.d.ts +5 -5
  474. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js +7 -7
  475. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +8 -8
  476. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +14 -14
  477. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +8 -8
  478. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js +1 -1
  479. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +9 -9
  480. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +17 -17
  481. package/dist/elements/widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.d.ts +8 -8
  482. package/dist/elements/widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.js +15 -15
  483. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +9 -9
  484. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +33 -33
  485. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.d.ts +8 -8
  486. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js +31 -31
  487. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.d.ts +8 -8
  488. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js +33 -33
  489. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.d.ts +8 -8
  490. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js +13 -13
  491. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.d.ts +8 -8
  492. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js +13 -13
  493. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.d.ts +8 -8
  494. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js +10 -10
  495. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +8 -8
  496. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +15 -15
  497. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.d.ts +8 -8
  498. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js +27 -27
  499. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.d.ts +15 -15
  500. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.js +56 -56
  501. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.d.ts +11 -11
  502. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js +15 -15
  503. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.d.ts +17 -17
  504. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.js +111 -111
  505. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.d.ts +10 -10
  506. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.js +15 -15
  507. package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.d.ts +13 -13
  508. package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js +28 -28
  509. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.d.ts +11 -11
  510. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js +11 -11
  511. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.d.ts +13 -13
  512. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.js +24 -24
  513. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.d.ts +7 -7
  514. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.js +8 -8
  515. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.d.ts +5 -5
  516. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js +1 -1
  517. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.d.ts +6 -6
  518. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js +1 -1
  519. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.d.ts +41 -41
  520. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +174 -174
  521. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.d.ts +9 -9
  522. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.js +13 -13
  523. package/dist/elements/widgets/designerView/extensions/svg/LineExtension.d.ts +32 -32
  524. package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js +147 -147
  525. package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.d.ts +9 -9
  526. package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.js +14 -14
  527. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.d.ts +29 -29
  528. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +320 -320
  529. package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.d.ts +9 -9
  530. package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.js +14 -14
  531. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.d.ts +46 -46
  532. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +199 -199
  533. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.d.ts +9 -9
  534. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.js +14 -14
  535. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.d.ts +5 -5
  536. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.js +6 -5
  537. package/dist/elements/widgets/designerView/overlayLayerView.d.ts +29 -29
  538. package/dist/elements/widgets/designerView/overlayLayerView.js +181 -180
  539. package/dist/elements/widgets/designerView/tools/DrawElementTool.d.ts +19 -19
  540. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +79 -79
  541. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.d.ts +16 -16
  542. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +94 -94
  543. package/dist/elements/widgets/designerView/tools/DrawLineTool.d.ts +14 -14
  544. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +79 -79
  545. package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +20 -20
  546. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +128 -128
  547. package/dist/elements/widgets/designerView/tools/DrawRectTool.d.ts +19 -19
  548. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +109 -109
  549. package/dist/elements/widgets/designerView/tools/ITool.d.ts +9 -9
  550. package/dist/elements/widgets/designerView/tools/ITool.js +1 -1
  551. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.d.ts +12 -12
  552. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +66 -66
  553. package/dist/elements/widgets/designerView/tools/NamedTools.d.ts +15 -15
  554. package/dist/elements/widgets/designerView/tools/NamedTools.js +16 -16
  555. package/dist/elements/widgets/designerView/tools/PanTool.d.ts +10 -10
  556. package/dist/elements/widgets/designerView/tools/PanTool.js +26 -26
  557. package/dist/elements/widgets/designerView/tools/PickColorTool.d.ts +10 -10
  558. package/dist/elements/widgets/designerView/tools/PickColorTool.js +20 -20
  559. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +36 -36
  560. package/dist/elements/widgets/designerView/tools/PointerTool.js +397 -397
  561. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.d.ts +12 -12
  562. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +86 -86
  563. package/dist/elements/widgets/designerView/tools/TextTool.d.ts +14 -14
  564. package/dist/elements/widgets/designerView/tools/TextTool.js +51 -51
  565. package/dist/elements/widgets/designerView/tools/ZoomTool.d.ts +17 -17
  566. package/dist/elements/widgets/designerView/tools/ZoomTool.js +82 -82
  567. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.d.ts +19 -19
  568. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +74 -73
  569. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.d.ts +19 -19
  570. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.js +45 -44
  571. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.d.ts +4 -4
  572. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.js +1 -1
  573. package/dist/elements/widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.d.ts +5 -5
  574. package/dist/elements/widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.js +16 -16
  575. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.d.ts +5 -5
  576. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.js +7 -7
  577. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.d.ts +5 -5
  578. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.js +10 -10
  579. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.d.ts +7 -7
  580. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.js +11 -11
  581. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.d.ts +5 -5
  582. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.js +7 -7
  583. package/dist/elements/widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.d.ts +5 -5
  584. package/dist/elements/widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.js +7 -7
  585. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.d.ts +6 -6
  586. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.js +27 -26
  587. package/dist/elements/widgets/miniatureView/IMiniatureView.d.ts +2 -2
  588. package/dist/elements/widgets/miniatureView/IMiniatureView.js +1 -1
  589. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.d.ts +10 -10
  590. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.js +20 -19
  591. package/dist/elements/widgets/paletteView/paletteElements.d.ts +10 -10
  592. package/dist/elements/widgets/paletteView/paletteElements.js +73 -72
  593. package/dist/elements/widgets/paletteView/paletteTreeView.d.ts +12 -12
  594. package/dist/elements/widgets/paletteView/paletteTreeView.js +91 -90
  595. package/dist/elements/widgets/paletteView/paletteView.d.ts +11 -11
  596. package/dist/elements/widgets/paletteView/paletteView.js +33 -32
  597. package/dist/elements/widgets/propertyGrid/PropertyGrid.d.ts +22 -22
  598. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +100 -99
  599. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.d.ts +22 -22
  600. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +181 -181
  601. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.d.ts +16 -16
  602. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +74 -73
  603. package/dist/elements/widgets/treeView/ITreeView.d.ts +6 -6
  604. package/dist/elements/widgets/treeView/ITreeView.js +1 -1
  605. package/dist/elements/widgets/treeView/treeView.d.ts +28 -28
  606. package/dist/elements/widgets/treeView/treeView.js +149 -148
  607. package/dist/elements/widgets/treeView/treeViewExtended.d.ts +32 -32
  608. package/dist/elements/widgets/treeView/treeViewExtended.js +286 -285
  609. package/dist/enums/EventNames.d.ts +16 -16
  610. package/dist/enums/EventNames.js +17 -17
  611. package/dist/enums/Orientation.d.ts +8 -8
  612. package/dist/enums/Orientation.js +9 -9
  613. package/dist/enums/PointerActionType.d.ts +8 -8
  614. package/dist/enums/PointerActionType.js +9 -9
  615. package/dist/index.d.ts +254 -252
  616. package/dist/index.js +195 -194
  617. package/dist/interfaces/IActivateable.d.ts +3 -3
  618. package/dist/interfaces/IActivateable.js +1 -1
  619. package/dist/interfaces/ICommandHandler.d.ts +5 -5
  620. package/dist/interfaces/ICommandHandler.js +1 -1
  621. package/dist/interfaces/IDisposable.d.ts +3 -3
  622. package/dist/interfaces/IDisposable.js +1 -1
  623. package/dist/interfaces/IPoint.d.ts +4 -4
  624. package/dist/interfaces/IPoint.js +1 -1
  625. package/dist/interfaces/IPoint3D.d.ts +5 -5
  626. package/dist/interfaces/IPoint3D.js +1 -1
  627. package/dist/interfaces/IRect.d.ts +6 -6
  628. package/dist/interfaces/IRect.js +1 -1
  629. package/dist/interfaces/ISize.d.ts +4 -4
  630. package/dist/interfaces/ISize.js +1 -1
  631. package/dist/polyfill/globals.d.ts +11 -11
  632. package/dist/polyfill/globals.js +1 -1
  633. package/package.json +6 -6
@@ -1,801 +1,801 @@
1
- /* w3color.js ver.1.18 by w3schools.com (Do not remove this line)*/
2
- export class w3color {
3
- red = 0;
4
- green = 0;
5
- blue = 0;
6
- hue = 0;
7
- sat = 0;
8
- lightness = 0;
9
- whiteness = 0;
10
- blackness = 0;
11
- cyan = 0;
12
- magenta = 0;
13
- yellow = 0;
14
- black = 0;
15
- ncol = 'R';
16
- opacity = 1;
17
- valid = false;
18
- toRgbString() {
19
- return "rgb(" + this.red + ", " + this.green + ", " + this.blue + ")";
20
- }
21
- toRgbaString() {
22
- return "rgba(" + this.red + ", " + this.green + ", " + this.blue + ", " + this.opacity + ")";
23
- }
24
- toHwbString() {
25
- return "hwb(" + this.hue + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%)";
26
- }
27
- toHwbStringDecimal() {
28
- return "hwb(" + this.hue + ", " + this.whiteness + ", " + this.blackness + ")";
29
- }
30
- toHwbaString() {
31
- return "hwba(" + this.hue + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%, " + this.opacity + ")";
32
- }
33
- toHslString() {
34
- return "hsl(" + this.hue + ", " + Math.round(this.sat * 100) + "%, " + Math.round(this.lightness * 100) + "%)";
35
- }
36
- toHslStringDecimal() {
37
- return "hsl(" + this.hue + ", " + this.sat + ", " + this.lightness + ")";
38
- }
39
- toHslaString() {
40
- return "hsla(" + this.hue + ", " + Math.round(this.sat * 100) + "%, " + Math.round(this.lightness * 100) + "%, " + this.opacity + ")";
41
- }
42
- toCmykString() {
43
- return "cmyk(" + Math.round(this.cyan * 100) + "%, " + Math.round(this.magenta * 100) + "%, " + Math.round(this.yellow * 100) + "%, " + Math.round(this.black * 100) + "%)";
44
- }
45
- toCmykStringDecimal() {
46
- return "cmyk(" + this.cyan + ", " + this.magenta + ", " + this.yellow + ", " + this.black + ")";
47
- }
48
- toNcolString() {
49
- return this.ncol + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%";
50
- }
51
- toNcolStringDecimal() {
52
- return this.ncol + ", " + this.whiteness + ", " + this.blackness;
53
- }
54
- toNcolaString() {
55
- return this.ncol + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%, " + this.opacity;
56
- }
57
- toName() {
58
- let r, g, b, colorhexs = w3color.getColorArr('hexs');
59
- for (let i = 0; i < colorhexs.length; i++) {
60
- r = parseInt(colorhexs[i].substr(0, 2), 16);
61
- g = parseInt(colorhexs[i].substr(2, 2), 16);
62
- b = parseInt(colorhexs[i].substr(4, 2), 16);
63
- if (this.red == r && this.green == g && this.blue == b) {
64
- return w3color.getColorArr('names')[i];
65
- }
66
- }
67
- return null;
68
- }
69
- toHexString() {
70
- let r = w3color.toHex(this.red);
71
- let g = w3color.toHex(this.green);
72
- let b = w3color.toHex(this.blue);
73
- return "#" + r + g + b;
74
- }
75
- toNameOrHexString() {
76
- let name = this.toName();
77
- if (!name)
78
- name = this.toHexString();
79
- return name;
80
- }
81
- toRgb() {
82
- return { r: this.red, g: this.green, b: this.blue, a: this.opacity };
83
- }
84
- toHsl() {
85
- return { h: this.hue, s: this.sat, l: this.lightness, a: this.opacity };
86
- }
87
- toHwb() {
88
- return { h: this.hue, w: this.whiteness, b: this.blackness, a: this.opacity };
89
- }
90
- toCmyk() {
91
- return { c: this.cyan, m: this.magenta, y: this.yellow, k: this.black, a: this.opacity };
92
- }
93
- toNcol() {
94
- return { ncol: this.ncol, w: this.whiteness, b: this.blackness, a: this.opacity };
95
- }
96
- isDark(n) {
97
- let m = (n || 128);
98
- return (((this.red * 299 + this.green * 587 + this.blue * 114) / 1000) < m);
99
- }
100
- saturate(n) {
101
- let x, rgb, color;
102
- x = (n / 100 || 0.1);
103
- this.sat += x;
104
- if (this.sat > 1) {
105
- this.sat = 1;
106
- }
107
- rgb = w3color.hslToRgb(this.hue, this.sat, this.lightness);
108
- color = w3color.colorObject(rgb, this.opacity, this.hue, this.sat);
109
- this.attachValues(color);
110
- }
111
- desaturate(n) {
112
- let x, rgb, color;
113
- x = (n / 100 || 0.1);
114
- this.sat -= x;
115
- if (this.sat < 0) {
116
- this.sat = 0;
117
- }
118
- rgb = w3color.hslToRgb(this.hue, this.sat, this.lightness);
119
- color = w3color.colorObject(rgb, this.opacity, this.hue, this.sat);
120
- this.attachValues(color);
121
- }
122
- lighter(n) {
123
- let x, rgb, color;
124
- x = (n / 100 || 0.1);
125
- this.lightness += x;
126
- if (this.lightness > 1) {
127
- this.lightness = 1;
128
- }
129
- rgb = w3color.hslToRgb(this.hue, this.sat, this.lightness);
130
- color = w3color.colorObject(rgb, this.opacity, this.hue, this.sat);
131
- this.attachValues(color);
132
- }
133
- darker(n) {
134
- let x, rgb, color;
135
- x = (n / 100 || 0.1);
136
- this.lightness -= x;
137
- if (this.lightness < 0) {
138
- this.lightness = 0;
139
- }
140
- rgb = w3color.hslToRgb(this.hue, this.sat, this.lightness);
141
- color = w3color.colorObject(rgb, this.opacity, this.hue, this.sat);
142
- this.attachValues(color);
143
- }
144
- attachValues(color) {
145
- this.red = color.red;
146
- this.green = color.green;
147
- this.blue = color.blue;
148
- this.hue = color.hue;
149
- this.sat = color.sat;
150
- this.lightness = color.lightness;
151
- this.whiteness = color.whiteness;
152
- this.blackness = color.blackness;
153
- this.cyan = color.cyan;
154
- this.magenta = color.magenta;
155
- this.yellow = color.yellow;
156
- this.black = color.black;
157
- this.ncol = color.ncol;
158
- this.opacity = color.opacity;
159
- this.valid = color.valid;
160
- }
161
- static toColorObject(c) {
162
- let x, y, typ, arr = [], arrlength, i, opacity, match, a, hue, sat, rgb, colornames = [], colorhexs = [];
163
- c = w3color.w3trim(c.toLowerCase());
164
- x = c.substr(0, 1).toUpperCase();
165
- y = c.substr(1);
166
- a = 1;
167
- if ((x == "R" || x == "Y" || x == "G" || x == "C" || x == "B" || x == "M" || x == "W") && !isNaN(y)) {
168
- if (c.length == 6 && c.indexOf(",") == -1) {
169
- }
170
- else {
171
- c = "ncol(" + c + ")";
172
- }
173
- }
174
- if (c.length != 3 && c.length != 6 && !isNaN(c)) {
175
- c = "ncol(" + c + ")";
176
- }
177
- if (c.indexOf(",") > 0 && c.indexOf("(") == -1) {
178
- c = "ncol(" + c + ")";
179
- }
180
- if (c.substr(0, 3) == "rgb" || c.substr(0, 3) == "hsl" || c.substr(0, 3) == "hwb" || c.substr(0, 4) == "ncol" || c.substr(0, 4) == "cmyk") {
181
- if (c.substr(0, 4) == "ncol") {
182
- if (c.split(",").length == 4 && c.indexOf("ncola") == -1) {
183
- c = c.replace("ncol", "ncola");
184
- }
185
- typ = "ncol";
186
- c = c.substr(4);
187
- }
188
- else if (c.substr(0, 4) == "cmyk") {
189
- typ = "cmyk";
190
- c = c.substr(4);
191
- }
192
- else {
193
- typ = c.substr(0, 3);
194
- c = c.substr(3);
195
- }
196
- arrlength = 3;
197
- opacity = false;
198
- if (c.substr(0, 1).toLowerCase() == "a") {
199
- arrlength = 4;
200
- opacity = true;
201
- c = c.substr(1);
202
- }
203
- else if (typ == "cmyk") {
204
- arrlength = 4;
205
- if (c.split(",").length == 5) {
206
- arrlength = 5;
207
- opacity = true;
208
- }
209
- }
210
- c = c.replace("(", "");
211
- c = c.replace(")", "");
212
- arr = c.split(",");
213
- if (typ == "rgb") {
214
- if (arr.length != arrlength) {
215
- return new w3color();
216
- }
217
- for (i = 0; i < arrlength; i++) {
218
- if (arr[i] == "" || arr[i] == " ") {
219
- arr[i] = "0";
220
- }
221
- if (arr[i].indexOf("%") > -1) {
222
- arr[i] = arr[i].replace("%", "");
223
- arr[i] = Number(arr[i] / 100);
224
- if (i < 3) {
225
- arr[i] = Math.round(arr[i] * 255);
226
- }
227
- }
228
- if (isNaN(arr[i])) {
229
- return new w3color();
230
- }
231
- if (parseInt(arr[i]) > 255) {
232
- arr[i] = 255;
233
- }
234
- if (i < 3) {
235
- arr[i] = parseInt(arr[i]);
236
- }
237
- if (i == 3 && Number(arr[i]) > 1) {
238
- arr[i] = 1;
239
- }
240
- }
241
- rgb = { r: arr[0], g: arr[1], b: arr[2] };
242
- if (opacity == true) {
243
- a = Number(arr[3]);
244
- }
245
- }
246
- if (typ == "hsl" || typ == "hwb" || typ == "ncol") {
247
- while (arr.length < arrlength) {
248
- arr.push("0");
249
- }
250
- if (typ == "hsl" || typ == "hwb") {
251
- if (parseInt(arr[0]) >= 360) {
252
- arr[0] = 0;
253
- }
254
- }
255
- for (i = 1; i < arrlength; i++) {
256
- if (arr[i].indexOf("%") > -1) {
257
- arr[i] = arr[i].replace("%", "");
258
- arr[i] = Number(arr[i]);
259
- if (isNaN(arr[i])) {
260
- return new w3color();
261
- }
262
- arr[i] = arr[i] / 100;
263
- }
264
- else {
265
- arr[i] = Number(arr[i]);
266
- }
267
- if (Number(arr[i]) > 1) {
268
- arr[i] = 1;
269
- }
270
- if (Number(arr[i]) < 0) {
271
- arr[i] = 0;
272
- }
273
- }
274
- if (typ == "hsl") {
275
- rgb = w3color.hslToRgb(arr[0], arr[1], arr[2]);
276
- hue = Number(arr[0]);
277
- sat = Number(arr[1]);
278
- }
279
- if (typ == "hwb") {
280
- rgb = w3color.hwbToRgb(arr[0], arr[1], arr[2]);
281
- }
282
- if (typ == "ncol") {
283
- rgb = w3color.ncolToRgb(arr[0], arr[1], arr[2]);
284
- }
285
- if (opacity == true) {
286
- a = Number(arr[3]);
287
- }
288
- }
289
- if (typ == "cmyk") {
290
- while (arr.length < arrlength) {
291
- arr.push("0");
292
- }
293
- for (i = 0; i < arrlength; i++) {
294
- if (arr[i].indexOf("%") > -1) {
295
- arr[i] = arr[i].replace("%", "");
296
- arr[i] = Number(arr[i]);
297
- if (isNaN(arr[i])) {
298
- return new w3color();
299
- }
300
- arr[i] = arr[i] / 100;
301
- }
302
- else {
303
- arr[i] = Number(arr[i]);
304
- }
305
- if (Number(arr[i]) > 1) {
306
- arr[i] = 1;
307
- }
308
- if (Number(arr[i]) < 0) {
309
- arr[i] = 0;
310
- }
311
- }
312
- rgb = w3color.cmykToRgb(arr[0], arr[1], arr[2], arr[3]);
313
- if (opacity == true) {
314
- a = Number(arr[4]);
315
- }
316
- }
317
- }
318
- else if (c.substr(0, 3) == "ncs") {
319
- rgb = w3color.ncsToRgb(c);
320
- }
321
- else {
322
- match = false;
323
- colornames = w3color.getColorArr('names');
324
- for (i = 0; i < colornames.length; i++) {
325
- if (c.toLowerCase() == colornames[i].toLowerCase()) {
326
- colorhexs = w3color.getColorArr('hexs');
327
- match = true;
328
- rgb = {
329
- r: parseInt(colorhexs[i].substr(0, 2), 16),
330
- g: parseInt(colorhexs[i].substr(2, 2), 16),
331
- b: parseInt(colorhexs[i].substr(4, 2), 16)
332
- };
333
- break;
334
- }
335
- }
336
- if (match == false) {
337
- c = c.replace("#", "");
338
- if (c.length == 3) {
339
- c = c.substr(0, 1) + c.substr(0, 1) + c.substr(1, 1) + c.substr(1, 1) + c.substr(2, 1) + c.substr(2, 1);
340
- }
341
- for (i = 0; i < c.length; i++) {
342
- if (!w3color.isHex(c.substr(i, 1))) {
343
- return new w3color();
344
- }
345
- }
346
- arr[0] = parseInt(c.substr(0, 2), 16);
347
- arr[1] = parseInt(c.substr(2, 2), 16);
348
- arr[2] = parseInt(c.substr(4, 2), 16);
349
- for (i = 0; i < 3; i++) {
350
- if (isNaN(arr[i])) {
351
- return new w3color();
352
- }
353
- }
354
- rgb = {
355
- r: arr[0],
356
- g: arr[1],
357
- b: arr[2]
358
- };
359
- }
360
- }
361
- return w3color.colorObject(rgb, a, hue, sat);
362
- }
363
- static colorObject(rgb, a, h, s) {
364
- let hsl, hwb, cmyk, ncol, color, hue, sat;
365
- if (!rgb) {
366
- return new w3color();
367
- }
368
- if (a === null) {
369
- a = 1;
370
- }
371
- hsl = w3color.rgbToHsl(rgb.r, rgb.g, rgb.b);
372
- hwb = w3color.rgbToHwb(rgb.r, rgb.g, rgb.b);
373
- cmyk = w3color.rgbToCmyk(rgb.r, rgb.g, rgb.b);
374
- hue = (h || hsl.h);
375
- sat = (s || hsl.s);
376
- ncol = w3color.hueToNcol(hue);
377
- color = {
378
- red: rgb.r,
379
- green: rgb.g,
380
- blue: rgb.b,
381
- hue: hue,
382
- sat: sat,
383
- lightness: hsl.l,
384
- whiteness: hwb.w,
385
- blackness: hwb.b,
386
- cyan: cmyk.c,
387
- magenta: cmyk.m,
388
- yellow: cmyk.y,
389
- black: cmyk.k,
390
- ncol: ncol,
391
- opacity: a,
392
- valid: true
393
- };
394
- color = w3color.roundDecimals(color);
395
- return Object.assign(new w3color(), color);
396
- }
397
- static getColorArr(x) {
398
- if (x == "names") {
399
- return ['AliceBlue', 'AntiqueWhite', 'Aqua', 'Aquamarine', 'Azure', 'Beige', 'Bisque', 'Black', 'BlanchedAlmond', 'Blue', 'BlueViolet', 'Brown', 'BurlyWood', 'CadetBlue', 'Chartreuse', 'Chocolate', 'Coral', 'CornflowerBlue', 'Cornsilk', 'Crimson', 'Cyan', 'DarkBlue', 'DarkCyan', 'DarkGoldenRod', 'DarkGray', 'DarkGrey', 'DarkGreen', 'DarkKhaki', 'DarkMagenta', 'DarkOliveGreen', 'DarkOrange', 'DarkOrchid', 'DarkRed', 'DarkSalmon', 'DarkSeaGreen', 'DarkSlateBlue', 'DarkSlateGray', 'DarkSlateGrey', 'DarkTurquoise', 'DarkViolet', 'DeepPink', 'DeepSkyBlue', 'DimGray', 'DimGrey', 'DodgerBlue', 'FireBrick', 'FloralWhite', 'ForestGreen', 'Fuchsia', 'Gainsboro', 'GhostWhite', 'Gold', 'GoldenRod', 'Gray', 'Grey', 'Green', 'GreenYellow', 'HoneyDew', 'HotPink', 'IndianRed', 'Indigo', 'Ivory', 'Khaki', 'Lavender', 'LavenderBlush', 'LawnGreen', 'LemonChiffon', 'LightBlue', 'LightCoral', 'LightCyan', 'LightGoldenRodYellow', 'LightGray', 'LightGrey', 'LightGreen', 'LightPink', 'LightSalmon', 'LightSeaGreen', 'LightSkyBlue', 'LightSlateGray', 'LightSlateGrey', 'LightSteelBlue', 'LightYellow', 'Lime', 'LimeGreen', 'Linen', 'Magenta', 'Maroon', 'MediumAquaMarine', 'MediumBlue', 'MediumOrchid', 'MediumPurple', 'MediumSeaGreen', 'MediumSlateBlue', 'MediumSpringGreen', 'MediumTurquoise', 'MediumVioletRed', 'MidnightBlue', 'MintCream', 'MistyRose', 'Moccasin', 'NavajoWhite', 'Navy', 'OldLace', 'Olive', 'OliveDrab', 'Orange', 'OrangeRed', 'Orchid', 'PaleGoldenRod', 'PaleGreen', 'PaleTurquoise', 'PaleVioletRed', 'PapayaWhip', 'PeachPuff', 'Peru', 'Pink', 'Plum', 'PowderBlue', 'Purple', 'RebeccaPurple', 'Red', 'RosyBrown', 'RoyalBlue', 'SaddleBrown', 'Salmon', 'SandyBrown', 'SeaGreen', 'SeaShell', 'Sienna', 'Silver', 'SkyBlue', 'SlateBlue', 'SlateGray', 'SlateGrey', 'Snow', 'SpringGreen', 'SteelBlue', 'Tan', 'Teal', 'Thistle', 'Tomato', 'Turquoise', 'Violet', 'Wheat', 'White', 'WhiteSmoke', 'Yellow', 'YellowGreen'];
400
- }
401
- if (x == "hexs") {
402
- return ['f0f8ff', 'faebd7', '00ffff', '7fffd4', 'f0ffff', 'f5f5dc', 'ffe4c4', '000000', 'ffebcd', '0000ff', '8a2be2', 'a52a2a', 'deb887', '5f9ea0', '7fff00', 'd2691e', 'ff7f50', '6495ed', 'fff8dc', 'dc143c', '00ffff', '00008b', '008b8b', 'b8860b', 'a9a9a9', 'a9a9a9', '006400', 'bdb76b', '8b008b', '556b2f', 'ff8c00', '9932cc', '8b0000', 'e9967a', '8fbc8f', '483d8b', '2f4f4f', '2f4f4f', '00ced1', '9400d3', 'ff1493', '00bfff', '696969', '696969', '1e90ff', 'b22222', 'fffaf0', '228b22', 'ff00ff', 'dcdcdc', 'f8f8ff', 'ffd700', 'daa520', '808080', '808080', '008000', 'adff2f', 'f0fff0', 'ff69b4', 'cd5c5c', '4b0082', 'fffff0', 'f0e68c', 'e6e6fa', 'fff0f5', '7cfc00', 'fffacd', 'add8e6', 'f08080', 'e0ffff', 'fafad2', 'd3d3d3', 'd3d3d3', '90ee90', 'ffb6c1', 'ffa07a', '20b2aa', '87cefa', '778899', '778899', 'b0c4de', 'ffffe0', '00ff00', '32cd32', 'faf0e6', 'ff00ff', '800000', '66cdaa', '0000cd', 'ba55d3', '9370db', '3cb371', '7b68ee', '00fa9a', '48d1cc', 'c71585', '191970', 'f5fffa', 'ffe4e1', 'ffe4b5', 'ffdead', '000080', 'fdf5e6', '808000', '6b8e23', 'ffa500', 'ff4500', 'da70d6', 'eee8aa', '98fb98', 'afeeee', 'db7093', 'ffefd5', 'ffdab9', 'cd853f', 'ffc0cb', 'dda0dd', 'b0e0e6', '800080', '663399', 'ff0000', 'bc8f8f', '4169e1', '8b4513', 'fa8072', 'f4a460', '2e8b57', 'fff5ee', 'a0522d', 'c0c0c0', '87ceeb', '6a5acd', '708090', '708090', 'fffafa', '00ff7f', '4682b4', 'd2b48c', '008080', 'd8bfd8', 'ff6347', '40e0d0', 'ee82ee', 'f5deb3', 'ffffff', 'f5f5f5', 'ffff00', '9acd32'];
403
- }
404
- return null;
405
- }
406
- static roundDecimals(c) {
407
- c.red = Number(c.red.toFixed(0));
408
- c.green = Number(c.green.toFixed(0));
409
- c.blue = Number(c.blue.toFixed(0));
410
- c.hue = Number(c.hue.toFixed(0));
411
- c.sat = Number(c.sat.toFixed(2));
412
- c.lightness = Number(c.lightness.toFixed(2));
413
- c.whiteness = Number(c.whiteness.toFixed(2));
414
- c.blackness = Number(c.blackness.toFixed(2));
415
- c.cyan = Number(c.cyan.toFixed(2));
416
- c.magenta = Number(c.magenta.toFixed(2));
417
- c.yellow = Number(c.yellow.toFixed(2));
418
- c.black = Number(c.black.toFixed(2));
419
- c.ncol = c.ncol.substr(0, 1) + Math.round(Number(c.ncol.substr(1)));
420
- c.opacity = Number(c.opacity.toFixed(2));
421
- return c;
422
- }
423
- static hslToRgb(hue, sat, light) {
424
- let t1, t2, r, g, b;
425
- hue = hue / 60;
426
- if (light <= 0.5) {
427
- t2 = light * (sat + 1);
428
- }
429
- else {
430
- t2 = light + sat - (light * sat);
431
- }
432
- t1 = light * 2 - t2;
433
- r = w3color.hueToRgb(t1, t2, hue + 2) * 255;
434
- g = w3color.hueToRgb(t1, t2, hue) * 255;
435
- b = w3color.hueToRgb(t1, t2, hue - 2) * 255;
436
- return { r: r, g: g, b: b };
437
- }
438
- static hueToRgb(t1, t2, hue) {
439
- if (hue < 0)
440
- hue += 6;
441
- if (hue >= 6)
442
- hue -= 6;
443
- if (hue < 1)
444
- return (t2 - t1) * hue + t1;
445
- else if (hue < 3)
446
- return t2;
447
- else if (hue < 4)
448
- return (t2 - t1) * (4 - hue) + t1;
449
- else
450
- return t1;
451
- }
452
- static hwbToRgb(hue, white, black) {
453
- let i, rgb, rgbArr = [], tot;
454
- rgb = w3color.hslToRgb(hue, 1, 0.50);
455
- rgbArr[0] = rgb.r / 255;
456
- rgbArr[1] = rgb.g / 255;
457
- rgbArr[2] = rgb.b / 255;
458
- tot = white + black;
459
- if (tot > 1) {
460
- white = Number((white / tot).toFixed(2));
461
- black = Number((black / tot).toFixed(2));
462
- }
463
- for (i = 0; i < 3; i++) {
464
- rgbArr[i] *= (1 - (white) - (black));
465
- rgbArr[i] += (white);
466
- rgbArr[i] = Number(rgbArr[i] * 255);
467
- }
468
- return { r: rgbArr[0], g: rgbArr[1], b: rgbArr[2] };
469
- }
470
- static cmykToRgb(c, m, y, k) {
471
- let r, g, b;
472
- r = 255 - ((Math.min(1, c * (1 - k) + k)) * 255);
473
- g = 255 - ((Math.min(1, m * (1 - k) + k)) * 255);
474
- b = 255 - ((Math.min(1, y * (1 - k) + k)) * 255);
475
- return { r: r, g: g, b: b };
476
- }
477
- static ncolToRgb(ncol, white, black) {
478
- let letter, percent, h;
479
- h = ncol;
480
- if (isNaN(ncol.substr(0, 1))) {
481
- letter = ncol.substr(0, 1).toUpperCase();
482
- percent = ncol.substr(1);
483
- if (percent == "") {
484
- percent = 0;
485
- }
486
- percent = Number(percent);
487
- if (isNaN(percent)) {
488
- return false;
489
- }
490
- if (letter == "R") {
491
- h = 0 + (percent * 0.6);
492
- }
493
- if (letter == "Y") {
494
- h = 60 + (percent * 0.6);
495
- }
496
- if (letter == "G") {
497
- h = 120 + (percent * 0.6);
498
- }
499
- if (letter == "C") {
500
- h = 180 + (percent * 0.6);
501
- }
502
- if (letter == "B") {
503
- h = 240 + (percent * 0.6);
504
- }
505
- if (letter == "M") {
506
- h = 300 + (percent * 0.6);
507
- }
508
- if (letter == "W") {
509
- h = 0;
510
- white = 1 - (percent / 100);
511
- black = (percent / 100);
512
- }
513
- }
514
- return w3color.hwbToRgb(h, white, black);
515
- }
516
- static hueToNcol(hue) {
517
- while (hue >= 360) {
518
- hue = hue - 360;
519
- }
520
- if (hue < 60) {
521
- return "R" + (hue / 0.6);
522
- }
523
- if (hue < 120) {
524
- return "Y" + ((hue - 60) / 0.6);
525
- }
526
- if (hue < 180) {
527
- return "G" + ((hue - 120) / 0.6);
528
- }
529
- if (hue < 240) {
530
- return "C" + ((hue - 180) / 0.6);
531
- }
532
- if (hue < 300) {
533
- return "B" + ((hue - 240) / 0.6);
534
- }
535
- if (hue < 360) {
536
- return "M" + ((hue - 300) / 0.6);
537
- }
538
- return null;
539
- }
540
- static ncsToRgb(ncs) {
541
- let black, chroma, bc, percent, black1, chroma1, factor1, blue1, red1, red2, green1, green2, blue2, max, factor2, grey, r, g, b;
542
- ncs = w3color.w3trim(ncs).toUpperCase();
543
- ncs = ncs.replace("(", "");
544
- ncs = ncs.replace(")", "");
545
- ncs = ncs.replace("NCS", "NCS ");
546
- ncs = ncs.replace(/ /g, " ");
547
- if (ncs.indexOf("NCS") == -1) {
548
- ncs = "NCS " + ncs;
549
- }
550
- ncs = ncs.match(/^(?:NCS|NCS\sS)\s(\d{2})(\d{2})-(N|[A-Z])(\d{2})?([A-Z])?$/);
551
- if (ncs === null)
552
- return null;
553
- black = parseInt(ncs[1], 10);
554
- chroma = parseInt(ncs[2], 10);
555
- bc = ncs[3];
556
- if (bc != "N" && bc != "Y" && bc != "R" && bc != "B" && bc != "G") {
557
- return null;
558
- }
559
- percent = parseInt(ncs[4], 10) || 0;
560
- if (bc !== 'N') {
561
- black1 = (1.05 * black - 5.25);
562
- chroma1 = chroma;
563
- if (bc === 'Y' && percent <= 60) {
564
- red1 = 1;
565
- }
566
- else if ((bc === 'Y' && percent > 60) || (bc === 'R' && percent <= 80)) {
567
- if (bc === 'Y') {
568
- factor1 = percent - 60;
569
- }
570
- else {
571
- factor1 = percent + 40;
572
- }
573
- red1 = ((Math.sqrt(14884 - Math.pow(factor1, 2))) - 22) / 100;
574
- }
575
- else if ((bc === 'R' && percent > 80) || (bc === 'B')) {
576
- red1 = 0;
577
- }
578
- else if (bc === 'G') {
579
- factor1 = (percent - 170);
580
- red1 = ((Math.sqrt(33800 - Math.pow(factor1, 2))) - 70) / 100;
581
- }
582
- if (bc === 'Y' && percent <= 80) {
583
- blue1 = 0;
584
- }
585
- else if ((bc === 'Y' && percent > 80) || (bc === 'R' && percent <= 60)) {
586
- if (bc === 'Y') {
587
- factor1 = (percent - 80) + 20.5;
588
- }
589
- else {
590
- factor1 = (percent + 20) + 20.5;
591
- }
592
- blue1 = (104 - (Math.sqrt(11236 - Math.pow(factor1, 2)))) / 100;
593
- }
594
- else if ((bc === 'R' && percent > 60) || (bc === 'B' && percent <= 80)) {
595
- if (bc === 'R') {
596
- factor1 = (percent - 60) - 60;
597
- }
598
- else {
599
- factor1 = (percent + 40) - 60;
600
- }
601
- blue1 = ((Math.sqrt(10000 - Math.pow(factor1, 2))) - 10) / 100;
602
- }
603
- else if ((bc === 'B' && percent > 80) || (bc === 'G' && percent <= 40)) {
604
- if (bc === 'B') {
605
- factor1 = (percent - 80) - 131;
606
- }
607
- else {
608
- factor1 = (percent + 20) - 131;
609
- }
610
- blue1 = (122 - (Math.sqrt(19881 - Math.pow(factor1, 2)))) / 100;
611
- }
612
- else if (bc === 'G' && percent > 40) {
613
- blue1 = 0;
614
- }
615
- if (bc === 'Y') {
616
- green1 = (85 - 17 / 20 * percent) / 100;
617
- }
618
- else if (bc === 'R' && percent <= 60) {
619
- green1 = 0;
620
- }
621
- else if (bc === 'R' && percent > 60) {
622
- factor1 = (percent - 60) + 35;
623
- green1 = (67.5 - (Math.sqrt(5776 - Math.pow(factor1, 2)))) / 100;
624
- }
625
- else if (bc === 'B' && percent <= 60) {
626
- factor1 = (1 * percent - 68.5);
627
- green1 = (6.5 + (Math.sqrt(7044.5 - Math.pow(factor1, 2)))) / 100;
628
- }
629
- else if ((bc === 'B' && percent > 60) || (bc === 'G' && percent <= 60)) {
630
- green1 = 0.9;
631
- }
632
- else if (bc === 'G' && percent > 60) {
633
- factor1 = (percent - 60);
634
- green1 = (90 - (1 / 8 * factor1)) / 100;
635
- }
636
- factor1 = (red1 + green1 + blue1) / 3;
637
- red2 = ((factor1 - red1) * (100 - chroma1) / 100) + red1;
638
- green2 = ((factor1 - green1) * (100 - chroma1) / 100) + green1;
639
- blue2 = ((factor1 - blue1) * (100 - chroma1) / 100) + blue1;
640
- if (red2 > green2 && red2 > blue2) {
641
- max = red2;
642
- }
643
- else if (green2 > red2 && green2 > blue2) {
644
- max = green2;
645
- }
646
- else if (blue2 > red2 && blue2 > green2) {
647
- max = blue2;
648
- }
649
- else {
650
- max = (red2 + green2 + blue2) / 3;
651
- }
652
- factor2 = 1 / max;
653
- //@ts-ignore
654
- r = parseInt((red2 * factor2 * (100 - black1) / 100) * 255, 10);
655
- //@ts-ignore
656
- g = parseInt((green2 * factor2 * (100 - black1) / 100) * 255, 10);
657
- //@ts-ignore
658
- b = parseInt((blue2 * factor2 * (100 - black1) / 100) * 255, 10);
659
- if (r > 255) {
660
- r = 255;
661
- }
662
- if (g > 255) {
663
- g = 255;
664
- }
665
- if (b > 255) {
666
- b = 255;
667
- }
668
- if (r < 0) {
669
- r = 0;
670
- }
671
- if (g < 0) {
672
- g = 0;
673
- }
674
- if (b < 0) {
675
- b = 0;
676
- }
677
- }
678
- else {
679
- //@ts-ignore
680
- grey = parseInt((1 - black / 100) * 255, 10);
681
- if (grey > 255) {
682
- grey = 255;
683
- }
684
- if (grey < 0) {
685
- grey = 0;
686
- }
687
- r = grey;
688
- g = grey;
689
- b = grey;
690
- }
691
- return {
692
- r: r,
693
- g: g,
694
- b: b
695
- };
696
- }
697
- static rgbToHsl(r, g, b) {
698
- let min, max, i, l, s, maxcolor, h, rgb = [];
699
- rgb[0] = r / 255;
700
- rgb[1] = g / 255;
701
- rgb[2] = b / 255;
702
- min = rgb[0];
703
- max = rgb[0];
704
- maxcolor = 0;
705
- for (i = 0; i < rgb.length - 1; i++) {
706
- if (rgb[i + 1] <= min) {
707
- min = rgb[i + 1];
708
- }
709
- if (rgb[i + 1] >= max) {
710
- max = rgb[i + 1];
711
- maxcolor = i + 1;
712
- }
713
- }
714
- if (maxcolor == 0) {
715
- h = (rgb[1] - rgb[2]) / (max - min);
716
- }
717
- if (maxcolor == 1) {
718
- h = 2 + (rgb[2] - rgb[0]) / (max - min);
719
- }
720
- if (maxcolor == 2) {
721
- h = 4 + (rgb[0] - rgb[1]) / (max - min);
722
- }
723
- if (isNaN(h)) {
724
- h = 0;
725
- }
726
- h = h * 60;
727
- if (h < 0) {
728
- h = h + 360;
729
- }
730
- l = (min + max) / 2;
731
- if (min == max) {
732
- s = 0;
733
- }
734
- else {
735
- if (l < 0.5) {
736
- s = (max - min) / (max + min);
737
- }
738
- else {
739
- s = (max - min) / (2 - max - min);
740
- }
741
- }
742
- s = s;
743
- return { h: h, s: s, l: l };
744
- }
745
- static rgbToHwb(r, g, b) {
746
- let h, w, bl;
747
- r = r / 255;
748
- g = g / 255;
749
- b = b / 255;
750
- let max = Math.max(r, g, b);
751
- let min = Math.min(r, g, b);
752
- let chroma = max - min;
753
- if (chroma == 0) {
754
- h = 0;
755
- }
756
- else if (r == max) {
757
- h = (((g - b) / chroma) % 6) * 360;
758
- }
759
- else if (g == max) {
760
- h = ((((b - r) / chroma) + 2) % 6) * 360;
761
- }
762
- else {
763
- h = ((((r - g) / chroma) + 4) % 6) * 360;
764
- }
765
- w = min;
766
- bl = 1 - max;
767
- return { h: h, w: w, b: bl };
768
- }
769
- static rgbToCmyk(r, g, b) {
770
- let c, m, y, k;
771
- r = r / 255;
772
- g = g / 255;
773
- b = b / 255;
774
- let max = Math.max(r, g, b);
775
- k = 1 - max;
776
- if (k == 1) {
777
- c = 0;
778
- m = 0;
779
- y = 0;
780
- }
781
- else {
782
- c = (1 - r - k) / (1 - k);
783
- m = (1 - g - k) / (1 - k);
784
- y = (1 - b - k) / (1 - k);
785
- }
786
- return { c: c, m: m, y: y, k: k };
787
- }
788
- static toHex(n) {
789
- let hex = n.toString(16);
790
- while (hex.length < 2) {
791
- hex = "0" + hex;
792
- }
793
- return hex;
794
- }
795
- static w3trim(x) {
796
- return x.replace(/^\s+|\s+$/g, '');
797
- }
798
- static isHex(x) {
799
- return ('0123456789ABCDEFabcdef'.indexOf(x) > -1);
800
- }
801
- }
1
+ /* w3color.js ver.1.18 by w3schools.com (Do not remove this line)*/
2
+ export class w3color {
3
+ red = 0;
4
+ green = 0;
5
+ blue = 0;
6
+ hue = 0;
7
+ sat = 0;
8
+ lightness = 0;
9
+ whiteness = 0;
10
+ blackness = 0;
11
+ cyan = 0;
12
+ magenta = 0;
13
+ yellow = 0;
14
+ black = 0;
15
+ ncol = 'R';
16
+ opacity = 1;
17
+ valid = false;
18
+ toRgbString() {
19
+ return "rgb(" + this.red + ", " + this.green + ", " + this.blue + ")";
20
+ }
21
+ toRgbaString() {
22
+ return "rgba(" + this.red + ", " + this.green + ", " + this.blue + ", " + this.opacity + ")";
23
+ }
24
+ toHwbString() {
25
+ return "hwb(" + this.hue + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%)";
26
+ }
27
+ toHwbStringDecimal() {
28
+ return "hwb(" + this.hue + ", " + this.whiteness + ", " + this.blackness + ")";
29
+ }
30
+ toHwbaString() {
31
+ return "hwba(" + this.hue + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%, " + this.opacity + ")";
32
+ }
33
+ toHslString() {
34
+ return "hsl(" + this.hue + ", " + Math.round(this.sat * 100) + "%, " + Math.round(this.lightness * 100) + "%)";
35
+ }
36
+ toHslStringDecimal() {
37
+ return "hsl(" + this.hue + ", " + this.sat + ", " + this.lightness + ")";
38
+ }
39
+ toHslaString() {
40
+ return "hsla(" + this.hue + ", " + Math.round(this.sat * 100) + "%, " + Math.round(this.lightness * 100) + "%, " + this.opacity + ")";
41
+ }
42
+ toCmykString() {
43
+ return "cmyk(" + Math.round(this.cyan * 100) + "%, " + Math.round(this.magenta * 100) + "%, " + Math.round(this.yellow * 100) + "%, " + Math.round(this.black * 100) + "%)";
44
+ }
45
+ toCmykStringDecimal() {
46
+ return "cmyk(" + this.cyan + ", " + this.magenta + ", " + this.yellow + ", " + this.black + ")";
47
+ }
48
+ toNcolString() {
49
+ return this.ncol + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%";
50
+ }
51
+ toNcolStringDecimal() {
52
+ return this.ncol + ", " + this.whiteness + ", " + this.blackness;
53
+ }
54
+ toNcolaString() {
55
+ return this.ncol + ", " + Math.round(this.whiteness * 100) + "%, " + Math.round(this.blackness * 100) + "%, " + this.opacity;
56
+ }
57
+ toName() {
58
+ let r, g, b, colorhexs = w3color.getColorArr('hexs');
59
+ for (let i = 0; i < colorhexs.length; i++) {
60
+ r = parseInt(colorhexs[i].substr(0, 2), 16);
61
+ g = parseInt(colorhexs[i].substr(2, 2), 16);
62
+ b = parseInt(colorhexs[i].substr(4, 2), 16);
63
+ if (this.red == r && this.green == g && this.blue == b) {
64
+ return w3color.getColorArr('names')[i];
65
+ }
66
+ }
67
+ return null;
68
+ }
69
+ toHexString() {
70
+ let r = w3color.toHex(this.red);
71
+ let g = w3color.toHex(this.green);
72
+ let b = w3color.toHex(this.blue);
73
+ return "#" + r + g + b;
74
+ }
75
+ toNameOrHexString() {
76
+ let name = this.toName();
77
+ if (!name)
78
+ name = this.toHexString();
79
+ return name;
80
+ }
81
+ toRgb() {
82
+ return { r: this.red, g: this.green, b: this.blue, a: this.opacity };
83
+ }
84
+ toHsl() {
85
+ return { h: this.hue, s: this.sat, l: this.lightness, a: this.opacity };
86
+ }
87
+ toHwb() {
88
+ return { h: this.hue, w: this.whiteness, b: this.blackness, a: this.opacity };
89
+ }
90
+ toCmyk() {
91
+ return { c: this.cyan, m: this.magenta, y: this.yellow, k: this.black, a: this.opacity };
92
+ }
93
+ toNcol() {
94
+ return { ncol: this.ncol, w: this.whiteness, b: this.blackness, a: this.opacity };
95
+ }
96
+ isDark(n) {
97
+ let m = (n || 128);
98
+ return (((this.red * 299 + this.green * 587 + this.blue * 114) / 1000) < m);
99
+ }
100
+ saturate(n) {
101
+ let x, rgb, color;
102
+ x = (n / 100 || 0.1);
103
+ this.sat += x;
104
+ if (this.sat > 1) {
105
+ this.sat = 1;
106
+ }
107
+ rgb = w3color.hslToRgb(this.hue, this.sat, this.lightness);
108
+ color = w3color.colorObject(rgb, this.opacity, this.hue, this.sat);
109
+ this.attachValues(color);
110
+ }
111
+ desaturate(n) {
112
+ let x, rgb, color;
113
+ x = (n / 100 || 0.1);
114
+ this.sat -= x;
115
+ if (this.sat < 0) {
116
+ this.sat = 0;
117
+ }
118
+ rgb = w3color.hslToRgb(this.hue, this.sat, this.lightness);
119
+ color = w3color.colorObject(rgb, this.opacity, this.hue, this.sat);
120
+ this.attachValues(color);
121
+ }
122
+ lighter(n) {
123
+ let x, rgb, color;
124
+ x = (n / 100 || 0.1);
125
+ this.lightness += x;
126
+ if (this.lightness > 1) {
127
+ this.lightness = 1;
128
+ }
129
+ rgb = w3color.hslToRgb(this.hue, this.sat, this.lightness);
130
+ color = w3color.colorObject(rgb, this.opacity, this.hue, this.sat);
131
+ this.attachValues(color);
132
+ }
133
+ darker(n) {
134
+ let x, rgb, color;
135
+ x = (n / 100 || 0.1);
136
+ this.lightness -= x;
137
+ if (this.lightness < 0) {
138
+ this.lightness = 0;
139
+ }
140
+ rgb = w3color.hslToRgb(this.hue, this.sat, this.lightness);
141
+ color = w3color.colorObject(rgb, this.opacity, this.hue, this.sat);
142
+ this.attachValues(color);
143
+ }
144
+ attachValues(color) {
145
+ this.red = color.red;
146
+ this.green = color.green;
147
+ this.blue = color.blue;
148
+ this.hue = color.hue;
149
+ this.sat = color.sat;
150
+ this.lightness = color.lightness;
151
+ this.whiteness = color.whiteness;
152
+ this.blackness = color.blackness;
153
+ this.cyan = color.cyan;
154
+ this.magenta = color.magenta;
155
+ this.yellow = color.yellow;
156
+ this.black = color.black;
157
+ this.ncol = color.ncol;
158
+ this.opacity = color.opacity;
159
+ this.valid = color.valid;
160
+ }
161
+ static toColorObject(c) {
162
+ let x, y, typ, arr = [], arrlength, i, opacity, match, a, hue, sat, rgb, colornames = [], colorhexs = [];
163
+ c = w3color.w3trim(c.toLowerCase());
164
+ x = c.substr(0, 1).toUpperCase();
165
+ y = c.substr(1);
166
+ a = 1;
167
+ if ((x == "R" || x == "Y" || x == "G" || x == "C" || x == "B" || x == "M" || x == "W") && !isNaN(y)) {
168
+ if (c.length == 6 && c.indexOf(",") == -1) {
169
+ }
170
+ else {
171
+ c = "ncol(" + c + ")";
172
+ }
173
+ }
174
+ if (c.length != 3 && c.length != 6 && !isNaN(c)) {
175
+ c = "ncol(" + c + ")";
176
+ }
177
+ if (c.indexOf(",") > 0 && c.indexOf("(") == -1) {
178
+ c = "ncol(" + c + ")";
179
+ }
180
+ if (c.substr(0, 3) == "rgb" || c.substr(0, 3) == "hsl" || c.substr(0, 3) == "hwb" || c.substr(0, 4) == "ncol" || c.substr(0, 4) == "cmyk") {
181
+ if (c.substr(0, 4) == "ncol") {
182
+ if (c.split(",").length == 4 && c.indexOf("ncola") == -1) {
183
+ c = c.replace("ncol", "ncola");
184
+ }
185
+ typ = "ncol";
186
+ c = c.substr(4);
187
+ }
188
+ else if (c.substr(0, 4) == "cmyk") {
189
+ typ = "cmyk";
190
+ c = c.substr(4);
191
+ }
192
+ else {
193
+ typ = c.substr(0, 3);
194
+ c = c.substr(3);
195
+ }
196
+ arrlength = 3;
197
+ opacity = false;
198
+ if (c.substr(0, 1).toLowerCase() == "a") {
199
+ arrlength = 4;
200
+ opacity = true;
201
+ c = c.substr(1);
202
+ }
203
+ else if (typ == "cmyk") {
204
+ arrlength = 4;
205
+ if (c.split(",").length == 5) {
206
+ arrlength = 5;
207
+ opacity = true;
208
+ }
209
+ }
210
+ c = c.replace("(", "");
211
+ c = c.replace(")", "");
212
+ arr = c.split(",");
213
+ if (typ == "rgb") {
214
+ if (arr.length != arrlength) {
215
+ return new w3color();
216
+ }
217
+ for (i = 0; i < arrlength; i++) {
218
+ if (arr[i] == "" || arr[i] == " ") {
219
+ arr[i] = "0";
220
+ }
221
+ if (arr[i].indexOf("%") > -1) {
222
+ arr[i] = arr[i].replace("%", "");
223
+ arr[i] = Number(arr[i] / 100);
224
+ if (i < 3) {
225
+ arr[i] = Math.round(arr[i] * 255);
226
+ }
227
+ }
228
+ if (isNaN(arr[i])) {
229
+ return new w3color();
230
+ }
231
+ if (parseInt(arr[i]) > 255) {
232
+ arr[i] = 255;
233
+ }
234
+ if (i < 3) {
235
+ arr[i] = parseInt(arr[i]);
236
+ }
237
+ if (i == 3 && Number(arr[i]) > 1) {
238
+ arr[i] = 1;
239
+ }
240
+ }
241
+ rgb = { r: arr[0], g: arr[1], b: arr[2] };
242
+ if (opacity == true) {
243
+ a = Number(arr[3]);
244
+ }
245
+ }
246
+ if (typ == "hsl" || typ == "hwb" || typ == "ncol") {
247
+ while (arr.length < arrlength) {
248
+ arr.push("0");
249
+ }
250
+ if (typ == "hsl" || typ == "hwb") {
251
+ if (parseInt(arr[0]) >= 360) {
252
+ arr[0] = 0;
253
+ }
254
+ }
255
+ for (i = 1; i < arrlength; i++) {
256
+ if (arr[i].indexOf("%") > -1) {
257
+ arr[i] = arr[i].replace("%", "");
258
+ arr[i] = Number(arr[i]);
259
+ if (isNaN(arr[i])) {
260
+ return new w3color();
261
+ }
262
+ arr[i] = arr[i] / 100;
263
+ }
264
+ else {
265
+ arr[i] = Number(arr[i]);
266
+ }
267
+ if (Number(arr[i]) > 1) {
268
+ arr[i] = 1;
269
+ }
270
+ if (Number(arr[i]) < 0) {
271
+ arr[i] = 0;
272
+ }
273
+ }
274
+ if (typ == "hsl") {
275
+ rgb = w3color.hslToRgb(arr[0], arr[1], arr[2]);
276
+ hue = Number(arr[0]);
277
+ sat = Number(arr[1]);
278
+ }
279
+ if (typ == "hwb") {
280
+ rgb = w3color.hwbToRgb(arr[0], arr[1], arr[2]);
281
+ }
282
+ if (typ == "ncol") {
283
+ rgb = w3color.ncolToRgb(arr[0], arr[1], arr[2]);
284
+ }
285
+ if (opacity == true) {
286
+ a = Number(arr[3]);
287
+ }
288
+ }
289
+ if (typ == "cmyk") {
290
+ while (arr.length < arrlength) {
291
+ arr.push("0");
292
+ }
293
+ for (i = 0; i < arrlength; i++) {
294
+ if (arr[i].indexOf("%") > -1) {
295
+ arr[i] = arr[i].replace("%", "");
296
+ arr[i] = Number(arr[i]);
297
+ if (isNaN(arr[i])) {
298
+ return new w3color();
299
+ }
300
+ arr[i] = arr[i] / 100;
301
+ }
302
+ else {
303
+ arr[i] = Number(arr[i]);
304
+ }
305
+ if (Number(arr[i]) > 1) {
306
+ arr[i] = 1;
307
+ }
308
+ if (Number(arr[i]) < 0) {
309
+ arr[i] = 0;
310
+ }
311
+ }
312
+ rgb = w3color.cmykToRgb(arr[0], arr[1], arr[2], arr[3]);
313
+ if (opacity == true) {
314
+ a = Number(arr[4]);
315
+ }
316
+ }
317
+ }
318
+ else if (c.substr(0, 3) == "ncs") {
319
+ rgb = w3color.ncsToRgb(c);
320
+ }
321
+ else {
322
+ match = false;
323
+ colornames = w3color.getColorArr('names');
324
+ for (i = 0; i < colornames.length; i++) {
325
+ if (c.toLowerCase() == colornames[i].toLowerCase()) {
326
+ colorhexs = w3color.getColorArr('hexs');
327
+ match = true;
328
+ rgb = {
329
+ r: parseInt(colorhexs[i].substr(0, 2), 16),
330
+ g: parseInt(colorhexs[i].substr(2, 2), 16),
331
+ b: parseInt(colorhexs[i].substr(4, 2), 16)
332
+ };
333
+ break;
334
+ }
335
+ }
336
+ if (match == false) {
337
+ c = c.replace("#", "");
338
+ if (c.length == 3) {
339
+ c = c.substr(0, 1) + c.substr(0, 1) + c.substr(1, 1) + c.substr(1, 1) + c.substr(2, 1) + c.substr(2, 1);
340
+ }
341
+ for (i = 0; i < c.length; i++) {
342
+ if (!w3color.isHex(c.substr(i, 1))) {
343
+ return new w3color();
344
+ }
345
+ }
346
+ arr[0] = parseInt(c.substr(0, 2), 16);
347
+ arr[1] = parseInt(c.substr(2, 2), 16);
348
+ arr[2] = parseInt(c.substr(4, 2), 16);
349
+ for (i = 0; i < 3; i++) {
350
+ if (isNaN(arr[i])) {
351
+ return new w3color();
352
+ }
353
+ }
354
+ rgb = {
355
+ r: arr[0],
356
+ g: arr[1],
357
+ b: arr[2]
358
+ };
359
+ }
360
+ }
361
+ return w3color.colorObject(rgb, a, hue, sat);
362
+ }
363
+ static colorObject(rgb, a, h, s) {
364
+ let hsl, hwb, cmyk, ncol, color, hue, sat;
365
+ if (!rgb) {
366
+ return new w3color();
367
+ }
368
+ if (a === null) {
369
+ a = 1;
370
+ }
371
+ hsl = w3color.rgbToHsl(rgb.r, rgb.g, rgb.b);
372
+ hwb = w3color.rgbToHwb(rgb.r, rgb.g, rgb.b);
373
+ cmyk = w3color.rgbToCmyk(rgb.r, rgb.g, rgb.b);
374
+ hue = (h || hsl.h);
375
+ sat = (s || hsl.s);
376
+ ncol = w3color.hueToNcol(hue);
377
+ color = {
378
+ red: rgb.r,
379
+ green: rgb.g,
380
+ blue: rgb.b,
381
+ hue: hue,
382
+ sat: sat,
383
+ lightness: hsl.l,
384
+ whiteness: hwb.w,
385
+ blackness: hwb.b,
386
+ cyan: cmyk.c,
387
+ magenta: cmyk.m,
388
+ yellow: cmyk.y,
389
+ black: cmyk.k,
390
+ ncol: ncol,
391
+ opacity: a,
392
+ valid: true
393
+ };
394
+ color = w3color.roundDecimals(color);
395
+ return Object.assign(new w3color(), color);
396
+ }
397
+ static getColorArr(x) {
398
+ if (x == "names") {
399
+ return ['AliceBlue', 'AntiqueWhite', 'Aqua', 'Aquamarine', 'Azure', 'Beige', 'Bisque', 'Black', 'BlanchedAlmond', 'Blue', 'BlueViolet', 'Brown', 'BurlyWood', 'CadetBlue', 'Chartreuse', 'Chocolate', 'Coral', 'CornflowerBlue', 'Cornsilk', 'Crimson', 'Cyan', 'DarkBlue', 'DarkCyan', 'DarkGoldenRod', 'DarkGray', 'DarkGrey', 'DarkGreen', 'DarkKhaki', 'DarkMagenta', 'DarkOliveGreen', 'DarkOrange', 'DarkOrchid', 'DarkRed', 'DarkSalmon', 'DarkSeaGreen', 'DarkSlateBlue', 'DarkSlateGray', 'DarkSlateGrey', 'DarkTurquoise', 'DarkViolet', 'DeepPink', 'DeepSkyBlue', 'DimGray', 'DimGrey', 'DodgerBlue', 'FireBrick', 'FloralWhite', 'ForestGreen', 'Fuchsia', 'Gainsboro', 'GhostWhite', 'Gold', 'GoldenRod', 'Gray', 'Grey', 'Green', 'GreenYellow', 'HoneyDew', 'HotPink', 'IndianRed', 'Indigo', 'Ivory', 'Khaki', 'Lavender', 'LavenderBlush', 'LawnGreen', 'LemonChiffon', 'LightBlue', 'LightCoral', 'LightCyan', 'LightGoldenRodYellow', 'LightGray', 'LightGrey', 'LightGreen', 'LightPink', 'LightSalmon', 'LightSeaGreen', 'LightSkyBlue', 'LightSlateGray', 'LightSlateGrey', 'LightSteelBlue', 'LightYellow', 'Lime', 'LimeGreen', 'Linen', 'Magenta', 'Maroon', 'MediumAquaMarine', 'MediumBlue', 'MediumOrchid', 'MediumPurple', 'MediumSeaGreen', 'MediumSlateBlue', 'MediumSpringGreen', 'MediumTurquoise', 'MediumVioletRed', 'MidnightBlue', 'MintCream', 'MistyRose', 'Moccasin', 'NavajoWhite', 'Navy', 'OldLace', 'Olive', 'OliveDrab', 'Orange', 'OrangeRed', 'Orchid', 'PaleGoldenRod', 'PaleGreen', 'PaleTurquoise', 'PaleVioletRed', 'PapayaWhip', 'PeachPuff', 'Peru', 'Pink', 'Plum', 'PowderBlue', 'Purple', 'RebeccaPurple', 'Red', 'RosyBrown', 'RoyalBlue', 'SaddleBrown', 'Salmon', 'SandyBrown', 'SeaGreen', 'SeaShell', 'Sienna', 'Silver', 'SkyBlue', 'SlateBlue', 'SlateGray', 'SlateGrey', 'Snow', 'SpringGreen', 'SteelBlue', 'Tan', 'Teal', 'Thistle', 'Tomato', 'Turquoise', 'Violet', 'Wheat', 'White', 'WhiteSmoke', 'Yellow', 'YellowGreen'];
400
+ }
401
+ if (x == "hexs") {
402
+ return ['f0f8ff', 'faebd7', '00ffff', '7fffd4', 'f0ffff', 'f5f5dc', 'ffe4c4', '000000', 'ffebcd', '0000ff', '8a2be2', 'a52a2a', 'deb887', '5f9ea0', '7fff00', 'd2691e', 'ff7f50', '6495ed', 'fff8dc', 'dc143c', '00ffff', '00008b', '008b8b', 'b8860b', 'a9a9a9', 'a9a9a9', '006400', 'bdb76b', '8b008b', '556b2f', 'ff8c00', '9932cc', '8b0000', 'e9967a', '8fbc8f', '483d8b', '2f4f4f', '2f4f4f', '00ced1', '9400d3', 'ff1493', '00bfff', '696969', '696969', '1e90ff', 'b22222', 'fffaf0', '228b22', 'ff00ff', 'dcdcdc', 'f8f8ff', 'ffd700', 'daa520', '808080', '808080', '008000', 'adff2f', 'f0fff0', 'ff69b4', 'cd5c5c', '4b0082', 'fffff0', 'f0e68c', 'e6e6fa', 'fff0f5', '7cfc00', 'fffacd', 'add8e6', 'f08080', 'e0ffff', 'fafad2', 'd3d3d3', 'd3d3d3', '90ee90', 'ffb6c1', 'ffa07a', '20b2aa', '87cefa', '778899', '778899', 'b0c4de', 'ffffe0', '00ff00', '32cd32', 'faf0e6', 'ff00ff', '800000', '66cdaa', '0000cd', 'ba55d3', '9370db', '3cb371', '7b68ee', '00fa9a', '48d1cc', 'c71585', '191970', 'f5fffa', 'ffe4e1', 'ffe4b5', 'ffdead', '000080', 'fdf5e6', '808000', '6b8e23', 'ffa500', 'ff4500', 'da70d6', 'eee8aa', '98fb98', 'afeeee', 'db7093', 'ffefd5', 'ffdab9', 'cd853f', 'ffc0cb', 'dda0dd', 'b0e0e6', '800080', '663399', 'ff0000', 'bc8f8f', '4169e1', '8b4513', 'fa8072', 'f4a460', '2e8b57', 'fff5ee', 'a0522d', 'c0c0c0', '87ceeb', '6a5acd', '708090', '708090', 'fffafa', '00ff7f', '4682b4', 'd2b48c', '008080', 'd8bfd8', 'ff6347', '40e0d0', 'ee82ee', 'f5deb3', 'ffffff', 'f5f5f5', 'ffff00', '9acd32'];
403
+ }
404
+ return null;
405
+ }
406
+ static roundDecimals(c) {
407
+ c.red = Number(c.red.toFixed(0));
408
+ c.green = Number(c.green.toFixed(0));
409
+ c.blue = Number(c.blue.toFixed(0));
410
+ c.hue = Number(c.hue.toFixed(0));
411
+ c.sat = Number(c.sat.toFixed(2));
412
+ c.lightness = Number(c.lightness.toFixed(2));
413
+ c.whiteness = Number(c.whiteness.toFixed(2));
414
+ c.blackness = Number(c.blackness.toFixed(2));
415
+ c.cyan = Number(c.cyan.toFixed(2));
416
+ c.magenta = Number(c.magenta.toFixed(2));
417
+ c.yellow = Number(c.yellow.toFixed(2));
418
+ c.black = Number(c.black.toFixed(2));
419
+ c.ncol = c.ncol.substr(0, 1) + Math.round(Number(c.ncol.substr(1)));
420
+ c.opacity = Number(c.opacity.toFixed(2));
421
+ return c;
422
+ }
423
+ static hslToRgb(hue, sat, light) {
424
+ let t1, t2, r, g, b;
425
+ hue = hue / 60;
426
+ if (light <= 0.5) {
427
+ t2 = light * (sat + 1);
428
+ }
429
+ else {
430
+ t2 = light + sat - (light * sat);
431
+ }
432
+ t1 = light * 2 - t2;
433
+ r = w3color.hueToRgb(t1, t2, hue + 2) * 255;
434
+ g = w3color.hueToRgb(t1, t2, hue) * 255;
435
+ b = w3color.hueToRgb(t1, t2, hue - 2) * 255;
436
+ return { r: r, g: g, b: b };
437
+ }
438
+ static hueToRgb(t1, t2, hue) {
439
+ if (hue < 0)
440
+ hue += 6;
441
+ if (hue >= 6)
442
+ hue -= 6;
443
+ if (hue < 1)
444
+ return (t2 - t1) * hue + t1;
445
+ else if (hue < 3)
446
+ return t2;
447
+ else if (hue < 4)
448
+ return (t2 - t1) * (4 - hue) + t1;
449
+ else
450
+ return t1;
451
+ }
452
+ static hwbToRgb(hue, white, black) {
453
+ let i, rgb, rgbArr = [], tot;
454
+ rgb = w3color.hslToRgb(hue, 1, 0.50);
455
+ rgbArr[0] = rgb.r / 255;
456
+ rgbArr[1] = rgb.g / 255;
457
+ rgbArr[2] = rgb.b / 255;
458
+ tot = white + black;
459
+ if (tot > 1) {
460
+ white = Number((white / tot).toFixed(2));
461
+ black = Number((black / tot).toFixed(2));
462
+ }
463
+ for (i = 0; i < 3; i++) {
464
+ rgbArr[i] *= (1 - (white) - (black));
465
+ rgbArr[i] += (white);
466
+ rgbArr[i] = Number(rgbArr[i] * 255);
467
+ }
468
+ return { r: rgbArr[0], g: rgbArr[1], b: rgbArr[2] };
469
+ }
470
+ static cmykToRgb(c, m, y, k) {
471
+ let r, g, b;
472
+ r = 255 - ((Math.min(1, c * (1 - k) + k)) * 255);
473
+ g = 255 - ((Math.min(1, m * (1 - k) + k)) * 255);
474
+ b = 255 - ((Math.min(1, y * (1 - k) + k)) * 255);
475
+ return { r: r, g: g, b: b };
476
+ }
477
+ static ncolToRgb(ncol, white, black) {
478
+ let letter, percent, h;
479
+ h = ncol;
480
+ if (isNaN(ncol.substr(0, 1))) {
481
+ letter = ncol.substr(0, 1).toUpperCase();
482
+ percent = ncol.substr(1);
483
+ if (percent == "") {
484
+ percent = 0;
485
+ }
486
+ percent = Number(percent);
487
+ if (isNaN(percent)) {
488
+ return false;
489
+ }
490
+ if (letter == "R") {
491
+ h = 0 + (percent * 0.6);
492
+ }
493
+ if (letter == "Y") {
494
+ h = 60 + (percent * 0.6);
495
+ }
496
+ if (letter == "G") {
497
+ h = 120 + (percent * 0.6);
498
+ }
499
+ if (letter == "C") {
500
+ h = 180 + (percent * 0.6);
501
+ }
502
+ if (letter == "B") {
503
+ h = 240 + (percent * 0.6);
504
+ }
505
+ if (letter == "M") {
506
+ h = 300 + (percent * 0.6);
507
+ }
508
+ if (letter == "W") {
509
+ h = 0;
510
+ white = 1 - (percent / 100);
511
+ black = (percent / 100);
512
+ }
513
+ }
514
+ return w3color.hwbToRgb(h, white, black);
515
+ }
516
+ static hueToNcol(hue) {
517
+ while (hue >= 360) {
518
+ hue = hue - 360;
519
+ }
520
+ if (hue < 60) {
521
+ return "R" + (hue / 0.6);
522
+ }
523
+ if (hue < 120) {
524
+ return "Y" + ((hue - 60) / 0.6);
525
+ }
526
+ if (hue < 180) {
527
+ return "G" + ((hue - 120) / 0.6);
528
+ }
529
+ if (hue < 240) {
530
+ return "C" + ((hue - 180) / 0.6);
531
+ }
532
+ if (hue < 300) {
533
+ return "B" + ((hue - 240) / 0.6);
534
+ }
535
+ if (hue < 360) {
536
+ return "M" + ((hue - 300) / 0.6);
537
+ }
538
+ return null;
539
+ }
540
+ static ncsToRgb(ncs) {
541
+ let black, chroma, bc, percent, black1, chroma1, factor1, blue1, red1, red2, green1, green2, blue2, max, factor2, grey, r, g, b;
542
+ ncs = w3color.w3trim(ncs).toUpperCase();
543
+ ncs = ncs.replace("(", "");
544
+ ncs = ncs.replace(")", "");
545
+ ncs = ncs.replace("NCS", "NCS ");
546
+ ncs = ncs.replace(/ /g, " ");
547
+ if (ncs.indexOf("NCS") == -1) {
548
+ ncs = "NCS " + ncs;
549
+ }
550
+ ncs = ncs.match(/^(?:NCS|NCS\sS)\s(\d{2})(\d{2})-(N|[A-Z])(\d{2})?([A-Z])?$/);
551
+ if (ncs === null)
552
+ return null;
553
+ black = parseInt(ncs[1], 10);
554
+ chroma = parseInt(ncs[2], 10);
555
+ bc = ncs[3];
556
+ if (bc != "N" && bc != "Y" && bc != "R" && bc != "B" && bc != "G") {
557
+ return null;
558
+ }
559
+ percent = parseInt(ncs[4], 10) || 0;
560
+ if (bc !== 'N') {
561
+ black1 = (1.05 * black - 5.25);
562
+ chroma1 = chroma;
563
+ if (bc === 'Y' && percent <= 60) {
564
+ red1 = 1;
565
+ }
566
+ else if ((bc === 'Y' && percent > 60) || (bc === 'R' && percent <= 80)) {
567
+ if (bc === 'Y') {
568
+ factor1 = percent - 60;
569
+ }
570
+ else {
571
+ factor1 = percent + 40;
572
+ }
573
+ red1 = ((Math.sqrt(14884 - Math.pow(factor1, 2))) - 22) / 100;
574
+ }
575
+ else if ((bc === 'R' && percent > 80) || (bc === 'B')) {
576
+ red1 = 0;
577
+ }
578
+ else if (bc === 'G') {
579
+ factor1 = (percent - 170);
580
+ red1 = ((Math.sqrt(33800 - Math.pow(factor1, 2))) - 70) / 100;
581
+ }
582
+ if (bc === 'Y' && percent <= 80) {
583
+ blue1 = 0;
584
+ }
585
+ else if ((bc === 'Y' && percent > 80) || (bc === 'R' && percent <= 60)) {
586
+ if (bc === 'Y') {
587
+ factor1 = (percent - 80) + 20.5;
588
+ }
589
+ else {
590
+ factor1 = (percent + 20) + 20.5;
591
+ }
592
+ blue1 = (104 - (Math.sqrt(11236 - Math.pow(factor1, 2)))) / 100;
593
+ }
594
+ else if ((bc === 'R' && percent > 60) || (bc === 'B' && percent <= 80)) {
595
+ if (bc === 'R') {
596
+ factor1 = (percent - 60) - 60;
597
+ }
598
+ else {
599
+ factor1 = (percent + 40) - 60;
600
+ }
601
+ blue1 = ((Math.sqrt(10000 - Math.pow(factor1, 2))) - 10) / 100;
602
+ }
603
+ else if ((bc === 'B' && percent > 80) || (bc === 'G' && percent <= 40)) {
604
+ if (bc === 'B') {
605
+ factor1 = (percent - 80) - 131;
606
+ }
607
+ else {
608
+ factor1 = (percent + 20) - 131;
609
+ }
610
+ blue1 = (122 - (Math.sqrt(19881 - Math.pow(factor1, 2)))) / 100;
611
+ }
612
+ else if (bc === 'G' && percent > 40) {
613
+ blue1 = 0;
614
+ }
615
+ if (bc === 'Y') {
616
+ green1 = (85 - 17 / 20 * percent) / 100;
617
+ }
618
+ else if (bc === 'R' && percent <= 60) {
619
+ green1 = 0;
620
+ }
621
+ else if (bc === 'R' && percent > 60) {
622
+ factor1 = (percent - 60) + 35;
623
+ green1 = (67.5 - (Math.sqrt(5776 - Math.pow(factor1, 2)))) / 100;
624
+ }
625
+ else if (bc === 'B' && percent <= 60) {
626
+ factor1 = (1 * percent - 68.5);
627
+ green1 = (6.5 + (Math.sqrt(7044.5 - Math.pow(factor1, 2)))) / 100;
628
+ }
629
+ else if ((bc === 'B' && percent > 60) || (bc === 'G' && percent <= 60)) {
630
+ green1 = 0.9;
631
+ }
632
+ else if (bc === 'G' && percent > 60) {
633
+ factor1 = (percent - 60);
634
+ green1 = (90 - (1 / 8 * factor1)) / 100;
635
+ }
636
+ factor1 = (red1 + green1 + blue1) / 3;
637
+ red2 = ((factor1 - red1) * (100 - chroma1) / 100) + red1;
638
+ green2 = ((factor1 - green1) * (100 - chroma1) / 100) + green1;
639
+ blue2 = ((factor1 - blue1) * (100 - chroma1) / 100) + blue1;
640
+ if (red2 > green2 && red2 > blue2) {
641
+ max = red2;
642
+ }
643
+ else if (green2 > red2 && green2 > blue2) {
644
+ max = green2;
645
+ }
646
+ else if (blue2 > red2 && blue2 > green2) {
647
+ max = blue2;
648
+ }
649
+ else {
650
+ max = (red2 + green2 + blue2) / 3;
651
+ }
652
+ factor2 = 1 / max;
653
+ //@ts-ignore
654
+ r = parseInt((red2 * factor2 * (100 - black1) / 100) * 255, 10);
655
+ //@ts-ignore
656
+ g = parseInt((green2 * factor2 * (100 - black1) / 100) * 255, 10);
657
+ //@ts-ignore
658
+ b = parseInt((blue2 * factor2 * (100 - black1) / 100) * 255, 10);
659
+ if (r > 255) {
660
+ r = 255;
661
+ }
662
+ if (g > 255) {
663
+ g = 255;
664
+ }
665
+ if (b > 255) {
666
+ b = 255;
667
+ }
668
+ if (r < 0) {
669
+ r = 0;
670
+ }
671
+ if (g < 0) {
672
+ g = 0;
673
+ }
674
+ if (b < 0) {
675
+ b = 0;
676
+ }
677
+ }
678
+ else {
679
+ //@ts-ignore
680
+ grey = parseInt((1 - black / 100) * 255, 10);
681
+ if (grey > 255) {
682
+ grey = 255;
683
+ }
684
+ if (grey < 0) {
685
+ grey = 0;
686
+ }
687
+ r = grey;
688
+ g = grey;
689
+ b = grey;
690
+ }
691
+ return {
692
+ r: r,
693
+ g: g,
694
+ b: b
695
+ };
696
+ }
697
+ static rgbToHsl(r, g, b) {
698
+ let min, max, i, l, s, maxcolor, h, rgb = [];
699
+ rgb[0] = r / 255;
700
+ rgb[1] = g / 255;
701
+ rgb[2] = b / 255;
702
+ min = rgb[0];
703
+ max = rgb[0];
704
+ maxcolor = 0;
705
+ for (i = 0; i < rgb.length - 1; i++) {
706
+ if (rgb[i + 1] <= min) {
707
+ min = rgb[i + 1];
708
+ }
709
+ if (rgb[i + 1] >= max) {
710
+ max = rgb[i + 1];
711
+ maxcolor = i + 1;
712
+ }
713
+ }
714
+ if (maxcolor == 0) {
715
+ h = (rgb[1] - rgb[2]) / (max - min);
716
+ }
717
+ if (maxcolor == 1) {
718
+ h = 2 + (rgb[2] - rgb[0]) / (max - min);
719
+ }
720
+ if (maxcolor == 2) {
721
+ h = 4 + (rgb[0] - rgb[1]) / (max - min);
722
+ }
723
+ if (isNaN(h)) {
724
+ h = 0;
725
+ }
726
+ h = h * 60;
727
+ if (h < 0) {
728
+ h = h + 360;
729
+ }
730
+ l = (min + max) / 2;
731
+ if (min == max) {
732
+ s = 0;
733
+ }
734
+ else {
735
+ if (l < 0.5) {
736
+ s = (max - min) / (max + min);
737
+ }
738
+ else {
739
+ s = (max - min) / (2 - max - min);
740
+ }
741
+ }
742
+ s = s;
743
+ return { h: h, s: s, l: l };
744
+ }
745
+ static rgbToHwb(r, g, b) {
746
+ let h, w, bl;
747
+ r = r / 255;
748
+ g = g / 255;
749
+ b = b / 255;
750
+ let max = Math.max(r, g, b);
751
+ let min = Math.min(r, g, b);
752
+ let chroma = max - min;
753
+ if (chroma == 0) {
754
+ h = 0;
755
+ }
756
+ else if (r == max) {
757
+ h = (((g - b) / chroma) % 6) * 360;
758
+ }
759
+ else if (g == max) {
760
+ h = ((((b - r) / chroma) + 2) % 6) * 360;
761
+ }
762
+ else {
763
+ h = ((((r - g) / chroma) + 4) % 6) * 360;
764
+ }
765
+ w = min;
766
+ bl = 1 - max;
767
+ return { h: h, w: w, b: bl };
768
+ }
769
+ static rgbToCmyk(r, g, b) {
770
+ let c, m, y, k;
771
+ r = r / 255;
772
+ g = g / 255;
773
+ b = b / 255;
774
+ let max = Math.max(r, g, b);
775
+ k = 1 - max;
776
+ if (k == 1) {
777
+ c = 0;
778
+ m = 0;
779
+ y = 0;
780
+ }
781
+ else {
782
+ c = (1 - r - k) / (1 - k);
783
+ m = (1 - g - k) / (1 - k);
784
+ y = (1 - b - k) / (1 - k);
785
+ }
786
+ return { c: c, m: m, y: y, k: k };
787
+ }
788
+ static toHex(n) {
789
+ let hex = n.toString(16);
790
+ while (hex.length < 2) {
791
+ hex = "0" + hex;
792
+ }
793
+ return hex;
794
+ }
795
+ static w3trim(x) {
796
+ return x.replace(/^\s+|\s+$/g, '');
797
+ }
798
+ static isHex(x) {
799
+ return ('0123456789ABCDEFabcdef'.indexOf(x) > -1);
800
+ }
801
+ }