@node-projects/web-component-designer 0.0.81 → 0.0.85

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 (515) hide show
  1. package/debug.log +8 -0
  2. package/dist/Constants.d.ts +3 -3
  3. package/dist/Constants.js +3 -3
  4. package/dist/commandHandling/CommandType.d.ts +28 -28
  5. package/dist/commandHandling/CommandType.js +29 -29
  6. package/dist/commandHandling/IUiCommand.d.ts +6 -6
  7. package/dist/commandHandling/IUiCommand.js +1 -1
  8. package/dist/commandHandling/IUiCommandHandler.d.ts +5 -5
  9. package/dist/commandHandling/IUiCommandHandler.js +1 -1
  10. package/dist/elements/controls/DesignerTabControl.d.ts +26 -25
  11. package/dist/elements/controls/DesignerTabControl.js +137 -134
  12. package/dist/elements/controls/ImageButtonListSelector.d.ts +17 -17
  13. package/dist/elements/controls/ImageButtonListSelector.js +50 -50
  14. package/dist/elements/controls/NumericPopup.d.ts +6 -6
  15. package/dist/elements/controls/NumericPopup.js +8 -8
  16. package/dist/elements/controls/NumericStyleInput.d.ts +16 -16
  17. package/dist/elements/controls/NumericStyleInput.js +42 -42
  18. package/dist/elements/controls/PlainScrollbar.d.ts +15 -15
  19. package/dist/elements/controls/PlainScrollbar.js +368 -368
  20. package/dist/elements/controls/SimpleSplitView.d.ts +11 -11
  21. package/dist/elements/controls/SimpleSplitView.js +39 -39
  22. package/dist/elements/controls/ThicknessEditor.d.ts +33 -33
  23. package/dist/elements/controls/ThicknessEditor.js +90 -90
  24. package/dist/elements/documentContainer.d.ts +42 -41
  25. package/dist/elements/documentContainer.js +197 -195
  26. package/dist/elements/helper/CssAttributeParser.d.ts +9 -9
  27. package/dist/elements/helper/CssAttributeParser.js +67 -67
  28. package/dist/elements/helper/CssCombiner.d.ts +11 -11
  29. package/dist/elements/helper/CssCombiner.js +289 -289
  30. package/dist/elements/helper/ElementHelper.d.ts +9 -9
  31. package/dist/elements/helper/ElementHelper.js +22 -22
  32. package/dist/elements/helper/GridHelper.d.ts +16 -16
  33. package/dist/elements/helper/GridHelper.js +111 -111
  34. package/dist/elements/helper/Helper.d.ts +6 -6
  35. package/dist/elements/helper/Helper.js +26 -26
  36. package/dist/elements/helper/IndentedTextWriter.d.ts +14 -14
  37. package/dist/elements/helper/IndentedTextWriter.js +34 -34
  38. package/dist/elements/helper/LayoutHelper.d.ts +4 -4
  39. package/dist/elements/helper/LayoutHelper.js +67 -67
  40. package/dist/elements/helper/PathDataPolyfill.d.ts +101 -101
  41. package/dist/elements/helper/PathDataPolyfill.js +978 -978
  42. package/dist/elements/helper/Screenshot.d.ts +11 -11
  43. package/dist/elements/helper/Screenshot.js +59 -59
  44. package/dist/elements/helper/TransformHelper.d.ts +1 -1
  45. package/dist/elements/helper/TransformHelper.js +12 -12
  46. package/dist/elements/helper/XmlHelper.d.ts +2 -2
  47. package/dist/elements/helper/XmlHelper.js +16 -16
  48. package/dist/elements/helper/contextMenu/ContextMenuHelper.d.ts +27 -27
  49. package/dist/elements/helper/contextMenu/ContextMenuHelper.js +162 -162
  50. package/dist/elements/helper/contextMenu/IContextmenuItem.d.ts +6 -6
  51. package/dist/elements/helper/contextMenu/IContextmenuItem.js +1 -1
  52. package/dist/elements/helper/w3color.d.ts +120 -120
  53. package/dist/elements/helper/w3color.js +801 -801
  54. package/dist/elements/item/BindingMode.d.ts +4 -4
  55. package/dist/elements/item/BindingMode.js +5 -5
  56. package/dist/elements/item/BindingTarget.d.ts +8 -8
  57. package/dist/elements/item/BindingTarget.js +9 -9
  58. package/dist/elements/item/DesignItem.d.ts +64 -64
  59. package/dist/elements/item/DesignItem.js +289 -289
  60. package/dist/elements/item/IBinding.d.ts +15 -15
  61. package/dist/elements/item/IBinding.js +1 -1
  62. package/dist/elements/item/IDesignItem.d.ts +49 -49
  63. package/dist/elements/item/IDesignItem.js +1 -1
  64. package/dist/elements/item/NodeType.d.ts +5 -5
  65. package/dist/elements/item/NodeType.js +6 -6
  66. package/dist/elements/loader/IOldCustomElementsManifest.d.ts +24 -24
  67. package/dist/elements/loader/IOldCustomElementsManifest.js +1 -1
  68. package/dist/elements/loader/OldCustomElementsManifestLoader.d.ts +8 -8
  69. package/dist/elements/loader/OldCustomElementsManifestLoader.js +45 -45
  70. package/dist/elements/services/BaseServiceContainer.d.ts +10 -10
  71. package/dist/elements/services/BaseServiceContainer.js +50 -50
  72. package/dist/elements/services/DefaultServiceBootstrap.d.ts +3 -3
  73. package/dist/elements/services/DefaultServiceBootstrap.js +139 -136
  74. package/dist/elements/services/GlobalContext.d.ts +24 -24
  75. package/dist/elements/services/GlobalContext.js +63 -63
  76. package/dist/elements/services/IService.d.ts +2 -2
  77. package/dist/elements/services/IService.js +1 -1
  78. package/dist/elements/services/IServiceContainer.d.ts +5 -5
  79. package/dist/elements/services/IServiceContainer.js +1 -1
  80. package/dist/elements/services/InstanceServiceContainer.d.ts +20 -20
  81. package/dist/elements/services/InstanceServiceContainer.js +19 -19
  82. package/dist/elements/services/ServiceContainer.d.ts +80 -80
  83. package/dist/elements/services/ServiceContainer.js +70 -70
  84. package/dist/elements/services/bindableObjectsService/BindableObjectType.d.ts +9 -9
  85. package/dist/elements/services/bindableObjectsService/BindableObjectType.js +10 -10
  86. package/dist/elements/services/bindableObjectsService/IBindableObject.d.ts +8 -8
  87. package/dist/elements/services/bindableObjectsService/IBindableObject.js +1 -1
  88. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.d.ts +8 -8
  89. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.js +1 -1
  90. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.d.ts +6 -6
  91. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.js +1 -1
  92. package/dist/elements/services/bindableObjectsService/IDragDropService.d.ts +5 -0
  93. package/dist/elements/services/bindableObjectsService/IDragDropService.js +1 -0
  94. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.d.ts +10 -10
  95. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +72 -72
  96. package/dist/elements/services/bindingsService/IBindingService.d.ts +13 -13
  97. package/dist/elements/services/bindingsService/IBindingService.js +1 -1
  98. package/dist/elements/services/bindingsService/SpecialTagsBindingService.d.ts +16 -16
  99. package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +43 -43
  100. package/dist/elements/services/bindingsService/VueBindingsService.js +7 -7
  101. package/dist/elements/services/contentService/ContentService.d.ts +9 -9
  102. package/dist/elements/services/contentService/ContentService.js +8 -8
  103. package/dist/elements/services/contentService/IContentChanged.d.ts +5 -5
  104. package/dist/elements/services/contentService/IContentChanged.js +1 -1
  105. package/dist/elements/services/contentService/IContentService.d.ts +7 -7
  106. package/dist/elements/services/contentService/IContentService.js +1 -1
  107. package/dist/elements/services/copyPasteService/CopyPasteService.d.ts +8 -8
  108. package/dist/elements/services/copyPasteService/CopyPasteService.js +12 -12
  109. package/dist/elements/services/copyPasteService/ICopyPasteService.d.ts +7 -7
  110. package/dist/elements/services/copyPasteService/ICopyPasteService.js +1 -1
  111. package/dist/elements/services/demoProviderService/DemoProviderService.d.ts +6 -6
  112. package/dist/elements/services/demoProviderService/DemoProviderService.js +29 -29
  113. package/dist/elements/services/demoProviderService/IDemoProviderService.d.ts +5 -5
  114. package/dist/elements/services/demoProviderService/IDemoProviderService.js +1 -1
  115. package/dist/elements/services/dragDropService/DragDropService.d.ts +6 -6
  116. package/dist/elements/services/dragDropService/DragDropService.js +28 -28
  117. package/dist/elements/services/dragDropService/IDragDropService.d.ts +5 -5
  118. package/dist/elements/services/dragDropService/IDragDropService.js +1 -1
  119. package/dist/elements/services/elementAtPointService/ElementAtPointService.d.ts +6 -6
  120. package/dist/elements/services/elementAtPointService/ElementAtPointService.js +5 -5
  121. package/dist/elements/services/elementAtPointService/IElementAtPointService.d.ts +6 -6
  122. package/dist/elements/services/elementAtPointService/IElementAtPointService.js +1 -1
  123. package/dist/elements/services/elementsService/IElementDefinition.d.ts +33 -33
  124. package/dist/elements/services/elementsService/IElementDefinition.js +1 -1
  125. package/dist/elements/services/elementsService/IElementsJson.d.ts +5 -5
  126. package/dist/elements/services/elementsService/IElementsJson.js +1 -1
  127. package/dist/elements/services/elementsService/IElementsService.d.ts +6 -6
  128. package/dist/elements/services/elementsService/IElementsService.js +1 -1
  129. package/dist/elements/services/elementsService/JsonFileElementsService.d.ts +12 -12
  130. package/dist/elements/services/elementsService/JsonFileElementsService.js +45 -45
  131. package/dist/elements/services/elementsService/PreDefinedElementsService.d.ts +11 -11
  132. package/dist/elements/services/elementsService/PreDefinedElementsService.js +21 -21
  133. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.d.ts +9 -9
  134. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js +18 -18
  135. package/dist/elements/services/htmlParserService/IHtmlParserService.d.ts +7 -7
  136. package/dist/elements/services/htmlParserService/IHtmlParserService.js +1 -1
  137. package/dist/elements/services/htmlParserService/NodeHtmlParserService.d.ts +11 -11
  138. package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +87 -87
  139. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.d.ts +10 -10
  140. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js +62 -62
  141. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.d.ts +22 -22
  142. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.js +133 -133
  143. package/dist/elements/services/htmlWriterService/HtmlWriterService.d.ts +12 -12
  144. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +91 -91
  145. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.d.ts +7 -7
  146. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.js +7 -7
  147. package/dist/elements/services/htmlWriterService/IHtmlWriterService.d.ts +7 -7
  148. package/dist/elements/services/htmlWriterService/IHtmlWriterService.js +1 -1
  149. package/dist/elements/services/htmlWriterService/IStringPosition.d.ts +4 -4
  150. package/dist/elements/services/htmlWriterService/IStringPosition.js +1 -1
  151. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.d.ts +9 -9
  152. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js +7 -7
  153. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.d.ts +27 -27
  154. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.js +93 -93
  155. package/dist/elements/services/initializationService/DefaultIntializationService.d.ts +6 -6
  156. package/dist/elements/services/initializationService/DefaultIntializationService.js +22 -22
  157. package/dist/elements/services/initializationService/IIntializationService.d.ts +4 -4
  158. package/dist/elements/services/initializationService/IIntializationService.js +1 -1
  159. package/dist/elements/services/instanceService/DefaultInstanceService.d.ts +8 -8
  160. package/dist/elements/services/instanceService/DefaultInstanceService.js +67 -67
  161. package/dist/elements/services/instanceService/IDesignerInstance.d.ts +3 -3
  162. package/dist/elements/services/instanceService/IDesignerInstance.js +1 -1
  163. package/dist/elements/services/instanceService/IInstanceService.d.ts +8 -8
  164. package/dist/elements/services/instanceService/IInstanceService.js +1 -1
  165. package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.d.ts +4 -4
  166. package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.js +1 -1
  167. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.d.ts +6 -6
  168. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.js +32 -32
  169. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +25 -25
  170. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +94 -94
  171. package/dist/elements/services/modelCommandService/DefaultModelCommandService.d.ts +7 -7
  172. package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +72 -72
  173. package/dist/elements/services/modelCommandService/IModelCommandService.d.ts +7 -7
  174. package/dist/elements/services/modelCommandService/IModelCommandService.js +1 -1
  175. package/dist/elements/services/placementService/DefaultPlacementService.d.ts +16 -16
  176. package/dist/elements/services/placementService/DefaultPlacementService.js +109 -109
  177. package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +15 -15
  178. package/dist/elements/services/placementService/FlexBoxPlacementService.js +42 -42
  179. package/dist/elements/services/placementService/GridPlacementService.d.ts +15 -15
  180. package/dist/elements/services/placementService/GridPlacementService.js +99 -99
  181. package/dist/elements/services/placementService/IPlacementService.d.ts +15 -15
  182. package/dist/elements/services/placementService/IPlacementService.js +1 -1
  183. package/dist/elements/services/placementService/ISnaplinesProviderService.d.ts +12 -12
  184. package/dist/elements/services/placementService/ISnaplinesProviderService.js +1 -1
  185. package/dist/elements/services/placementService/SnaplinesProviderService.d.ts +14 -14
  186. package/dist/elements/services/placementService/SnaplinesProviderService.js +48 -48
  187. package/dist/elements/services/popupService/IPopupService.d.ts +16 -16
  188. package/dist/elements/services/popupService/IPopupService.js +1 -1
  189. package/dist/elements/services/popupService/PopupService.d.ts +9 -9
  190. package/dist/elements/services/popupService/PopupService.js +20 -20
  191. package/dist/elements/services/propertiesService/DefaultEditorTypesService.d.ts +6 -6
  192. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +59 -59
  193. package/dist/elements/services/propertiesService/IEditorTypesService.d.ts +5 -5
  194. package/dist/elements/services/propertiesService/IEditorTypesService.js +1 -1
  195. package/dist/elements/services/propertiesService/IPropertiesService.d.ts +16 -16
  196. package/dist/elements/services/propertiesService/IPropertiesService.js +1 -1
  197. package/dist/elements/services/propertiesService/IProperty.d.ts +21 -21
  198. package/dist/elements/services/propertiesService/IProperty.js +1 -1
  199. package/dist/elements/services/propertiesService/IPropertyEditor.d.ts +19 -19
  200. package/dist/elements/services/propertiesService/IPropertyEditor.js +1 -1
  201. package/dist/elements/services/propertiesService/PropertyType.d.ts +6 -6
  202. package/dist/elements/services/propertiesService/PropertyType.js +7 -7
  203. package/dist/elements/services/propertiesService/ValueType.d.ts +6 -6
  204. package/dist/elements/services/propertiesService/ValueType.js +7 -7
  205. package/dist/elements/services/propertiesService/app.d.ts +2 -2
  206. package/dist/elements/services/propertiesService/app.js +71 -71
  207. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.d.ts +15 -15
  208. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +41 -41
  209. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.d.ts +7 -7
  210. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.js +13 -13
  211. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.d.ts +7 -7
  212. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.js +22 -22
  213. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.d.ts +7 -7
  214. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.js +16 -16
  215. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.d.ts +8 -8
  216. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.js +40 -40
  217. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.d.ts +9 -9
  218. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.js +16 -16
  219. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.d.ts +5 -5
  220. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.js +8 -8
  221. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.d.ts +7 -7
  222. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.js +16 -16
  223. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.d.ts +7 -7
  224. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.js +28 -28
  225. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.d.ts +7 -7
  226. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.js +20 -20
  227. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.d.ts +8 -8
  228. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +14 -14
  229. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.d.ts +7 -7
  230. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.js +44 -44
  231. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +17 -17
  232. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +68 -68
  233. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.d.ts +8 -8
  234. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +12 -12
  235. package/dist/elements/services/propertiesService/services/CommonPropertiesService.d.ts +18 -18
  236. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +112 -112
  237. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +22 -22
  238. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +325 -325
  239. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +17 -17
  240. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.js +1 -1
  241. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.d.ts +4 -4
  242. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.js +1 -1
  243. package/dist/elements/services/propertiesService/services/ListPropertiesService.d.ts +12 -12
  244. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +41 -41
  245. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.d.ts +9 -9
  246. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +51 -51
  247. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.d.ts +8 -8
  248. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.js +17 -17
  249. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.d.ts +15 -15
  250. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +124 -124
  251. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.d.ts +8 -8
  252. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.js +10 -10
  253. package/dist/elements/services/propertiesService/services/PropertiesHelper.d.ts +6 -6
  254. package/dist/elements/services/propertiesService/services/PropertiesHelper.js +27 -27
  255. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +17 -17
  256. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +99 -99
  257. package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +5 -5
  258. package/dist/elements/services/selectionService/ISelectionChangedEvent.js +1 -1
  259. package/dist/elements/services/selectionService/ISelectionService.d.ts +11 -11
  260. package/dist/elements/services/selectionService/ISelectionService.js +1 -1
  261. package/dist/elements/services/selectionService/SelectionService.d.ts +12 -12
  262. package/dist/elements/services/selectionService/SelectionService.js +35 -35
  263. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.d.ts +8 -8
  264. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.js +1 -1
  265. package/dist/elements/services/treeStructureService/ITreeStructureService.d.ts +2 -2
  266. package/dist/elements/services/treeStructureService/ITreeStructureService.js +2 -2
  267. package/dist/elements/services/undoService/ChangeGroup.d.ts +17 -17
  268. package/dist/elements/services/undoService/ChangeGroup.js +56 -56
  269. package/dist/elements/services/undoService/ITransactionItem.d.ts +8 -8
  270. package/dist/elements/services/undoService/ITransactionItem.js +2 -2
  271. package/dist/elements/services/undoService/IUndoService.d.ts +13 -13
  272. package/dist/elements/services/undoService/IUndoService.js +1 -1
  273. package/dist/elements/services/undoService/UndoService.d.ts +21 -21
  274. package/dist/elements/services/undoService/UndoService.js +92 -92
  275. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.d.ts +15 -15
  276. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +70 -70
  277. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +14 -14
  278. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +44 -44
  279. package/dist/elements/services/undoService/transactionItems/DeleteAction.d.ts +13 -13
  280. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +35 -35
  281. package/dist/elements/services/undoService/transactionItems/InsertAction.d.ts +13 -13
  282. package/dist/elements/services/undoService/transactionItems/InsertAction.js +29 -29
  283. package/dist/elements/services/undoService/transactionItems/InsertChildAction.d.ts +16 -16
  284. package/dist/elements/services/undoService/transactionItems/InsertChildAction.js +31 -31
  285. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.d.ts +16 -0
  286. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +31 -0
  287. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.d.ts +15 -15
  288. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js +36 -36
  289. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.d.ts +3 -3
  290. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.js +1 -1
  291. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.d.ts +11 -11
  292. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +79 -79
  293. package/dist/elements/widgets/bindings/BindingsEditor.d.ts +17 -17
  294. package/dist/elements/widgets/bindings/BindingsEditor.js +22 -22
  295. package/dist/elements/widgets/codeView/ICodeView.d.ts +11 -11
  296. package/dist/elements/widgets/codeView/ICodeView.js +1 -1
  297. package/dist/elements/widgets/codeView/code-view-ace.d.ts +24 -24
  298. package/dist/elements/widgets/codeView/code-view-ace.js +127 -127
  299. package/dist/elements/widgets/codeView/code-view-code-mirror.d.ts +24 -24
  300. package/dist/elements/widgets/codeView/code-view-code-mirror.js +91 -91
  301. package/dist/elements/widgets/codeView/code-view-monaco.d.ts +25 -25
  302. package/dist/elements/widgets/codeView/code-view-monaco.js +105 -105
  303. package/dist/elements/widgets/demoView/IDemoView.d.ts +5 -5
  304. package/dist/elements/widgets/demoView/IDemoView.js +1 -1
  305. package/dist/elements/widgets/demoView/demoView.d.ts +11 -11
  306. package/dist/elements/widgets/demoView/demoView.js +22 -22
  307. package/dist/elements/widgets/designerView/ButtonSeperatorProvider.d.ts +8 -8
  308. package/dist/elements/widgets/designerView/ButtonSeperatorProvider.js +11 -11
  309. package/dist/elements/widgets/designerView/DesignContext.d.ts +7 -7
  310. package/dist/elements/widgets/designerView/DesignContext.js +4 -4
  311. package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.d.ts +7 -0
  312. package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.js +13 -0
  313. package/dist/elements/widgets/designerView/DomConverter.d.ts +8 -8
  314. package/dist/elements/widgets/designerView/DomConverter.js +41 -41
  315. package/dist/elements/widgets/designerView/IDesignContext.d.ts +6 -6
  316. package/dist/elements/widgets/designerView/IDesignContext.js +1 -1
  317. package/dist/elements/widgets/designerView/IDesignViewConfigButtonsProvider.d.ts +5 -5
  318. package/dist/elements/widgets/designerView/IDesignViewConfigButtonsProvider.js +1 -1
  319. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +34 -34
  320. package/dist/elements/widgets/designerView/IDesignerCanvas.js +1 -1
  321. package/dist/elements/widgets/designerView/IPlacementView.d.ts +13 -13
  322. package/dist/elements/widgets/designerView/IPlacementView.js +1 -1
  323. package/dist/elements/widgets/designerView/Snaplines.d.ts +21 -21
  324. package/dist/elements/widgets/designerView/Snaplines.js +220 -220
  325. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.d.ts +5 -5
  326. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.js +11 -11
  327. package/dist/elements/widgets/designerView/designerCanvas.d.ts +90 -88
  328. package/dist/elements/widgets/designerView/designerCanvas.js +625 -613
  329. package/dist/elements/widgets/designerView/designerView.d.ts +37 -37
  330. package/dist/elements/widgets/designerView/designerView.js +212 -179
  331. package/dist/elements/widgets/designerView/extensions/AbstractExtension.d.ts +12 -12
  332. package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +8 -8
  333. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.d.ts +16 -16
  334. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.js +50 -50
  335. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.d.ts +12 -12
  336. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.js +20 -20
  337. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.d.ts +10 -10
  338. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +11 -11
  339. package/dist/elements/widgets/designerView/extensions/CanvasExtension.d.ts +10 -10
  340. package/dist/elements/widgets/designerView/extensions/CanvasExtension.js +29 -29
  341. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.d.ts +10 -10
  342. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +13 -13
  343. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.d.ts +17 -17
  344. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +71 -71
  345. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.d.ts +9 -9
  346. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js +11 -11
  347. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.d.ts +14 -0
  348. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.js +38 -0
  349. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.d.ts +10 -0
  350. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.js +13 -0
  351. package/dist/elements/widgets/designerView/extensions/ExtensionManager.d.ts +17 -16
  352. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +243 -217
  353. package/dist/elements/widgets/designerView/extensions/ExtensionType.d.ts +18 -18
  354. package/dist/elements/widgets/designerView/extensions/ExtensionType.js +19 -19
  355. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.d.ts +13 -13
  356. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.js +32 -32
  357. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.d.ts +10 -10
  358. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.js +11 -11
  359. package/dist/elements/widgets/designerView/extensions/GridExtension.d.ts +10 -10
  360. package/dist/elements/widgets/designerView/extensions/GridExtension.js +30 -30
  361. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.d.ts +6 -6
  362. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.js +21 -21
  363. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.d.ts +11 -11
  364. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.js +14 -14
  365. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.d.ts +5 -5
  366. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.js +1 -1
  367. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.d.ts +9 -9
  368. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.js +1 -1
  369. package/dist/elements/widgets/designerView/extensions/IExtensionManger.d.ts +11 -11
  370. package/dist/elements/widgets/designerView/extensions/IExtensionManger.js +1 -1
  371. package/dist/elements/widgets/designerView/extensions/IframeExtension.d.ts +11 -0
  372. package/dist/elements/widgets/designerView/extensions/IframeExtension.js +46 -0
  373. package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.d.ts +9 -0
  374. package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.js +9 -0
  375. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.d.ts +11 -11
  376. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.js +22 -22
  377. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.d.ts +10 -10
  378. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js +15 -15
  379. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.d.ts +11 -11
  380. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.js +20 -20
  381. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.d.ts +10 -10
  382. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.js +11 -11
  383. package/dist/elements/widgets/designerView/extensions/OverlayLayer.d.ts +5 -5
  384. package/dist/elements/widgets/designerView/extensions/OverlayLayer.js +6 -6
  385. package/dist/elements/widgets/designerView/extensions/PathExtension.d.ts +23 -21
  386. package/dist/elements/widgets/designerView/extensions/PathExtension.js +249 -210
  387. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.d.ts +9 -9
  388. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.js +17 -17
  389. package/dist/elements/widgets/designerView/extensions/PositionExtension.d.ts +14 -14
  390. package/dist/elements/widgets/designerView/extensions/PositionExtension.js +45 -45
  391. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.d.ts +9 -9
  392. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.js +12 -12
  393. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.d.ts +13 -13
  394. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +21 -21
  395. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.d.ts +10 -10
  396. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.js +11 -11
  397. package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +25 -25
  398. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +158 -150
  399. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.d.ts +12 -12
  400. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +16 -15
  401. package/dist/elements/widgets/designerView/extensions/RotateExtension.d.ts +12 -12
  402. package/dist/elements/widgets/designerView/extensions/RotateExtension.js +71 -71
  403. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.d.ts +10 -10
  404. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +11 -11
  405. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.d.ts +11 -11
  406. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +22 -22
  407. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.d.ts +10 -10
  408. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +11 -11
  409. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.d.ts +14 -14
  410. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +69 -68
  411. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.d.ts +10 -10
  412. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +13 -13
  413. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +8 -8
  414. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +15 -15
  415. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +8 -8
  416. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js +1 -1
  417. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +10 -10
  418. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +51 -51
  419. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +9 -9
  420. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +22 -22
  421. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.d.ts +8 -8
  422. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js +31 -31
  423. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.d.ts +8 -8
  424. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js +34 -34
  425. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +8 -8
  426. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +14 -14
  427. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.d.ts +11 -11
  428. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js +11 -11
  429. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.d.ts +13 -13
  430. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.js +24 -24
  431. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.d.ts +7 -7
  432. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.js +8 -8
  433. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.d.ts +5 -5
  434. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js +1 -1
  435. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.d.ts +6 -6
  436. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js +1 -1
  437. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.d.ts +5 -5
  438. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.js +5 -5
  439. package/dist/elements/widgets/designerView/overlayLayerView.d.ts +25 -25
  440. package/dist/elements/widgets/designerView/overlayLayerView.js +129 -129
  441. package/dist/elements/widgets/designerView/tools/DrawElementTool.d.ts +19 -18
  442. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +79 -78
  443. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.d.ts +16 -15
  444. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +92 -91
  445. package/dist/elements/widgets/designerView/tools/DrawLineTool.d.ts +14 -13
  446. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +77 -76
  447. package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +20 -19
  448. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +124 -123
  449. package/dist/elements/widgets/designerView/tools/DrawRectTool.d.ts +19 -18
  450. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +107 -106
  451. package/dist/elements/widgets/designerView/tools/ITool.d.ts +9 -8
  452. package/dist/elements/widgets/designerView/tools/ITool.js +1 -1
  453. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.d.ts +12 -11
  454. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +62 -61
  455. package/dist/elements/widgets/designerView/tools/NamedTools.d.ts +14 -14
  456. package/dist/elements/widgets/designerView/tools/NamedTools.js +15 -15
  457. package/dist/elements/widgets/designerView/tools/PanTool.d.ts +10 -9
  458. package/dist/elements/widgets/designerView/tools/PanTool.js +24 -23
  459. package/dist/elements/widgets/designerView/tools/PickColorTool.d.ts +10 -9
  460. package/dist/elements/widgets/designerView/tools/PickColorTool.js +20 -19
  461. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +24 -23
  462. package/dist/elements/widgets/designerView/tools/PointerTool.js +326 -325
  463. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.d.ts +12 -11
  464. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +82 -81
  465. package/dist/elements/widgets/designerView/tools/TextTool.d.ts +12 -11
  466. package/dist/elements/widgets/designerView/tools/TextTool.js +34 -33
  467. package/dist/elements/widgets/designerView/tools/ZoomTool.d.ts +10 -9
  468. package/dist/elements/widgets/designerView/tools/ZoomTool.js +10 -9
  469. package/dist/elements/widgets/miniatureView/IMiniatureView.d.ts +2 -2
  470. package/dist/elements/widgets/miniatureView/IMiniatureView.js +1 -1
  471. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.d.ts +10 -10
  472. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.js +18 -18
  473. package/dist/elements/widgets/paletteView/paletteElements.d.ts +10 -10
  474. package/dist/elements/widgets/paletteView/paletteElements.js +72 -72
  475. package/dist/elements/widgets/paletteView/paletteTreeView.d.ts +13 -13
  476. package/dist/elements/widgets/paletteView/paletteTreeView.js +76 -76
  477. package/dist/elements/widgets/paletteView/paletteView.d.ts +11 -11
  478. package/dist/elements/widgets/paletteView/paletteView.js +30 -30
  479. package/dist/elements/widgets/propertyGrid/PropertyGrid.d.ts +21 -21
  480. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +126 -126
  481. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.d.ts +17 -17
  482. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +91 -91
  483. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.d.ts +15 -15
  484. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +47 -47
  485. package/dist/elements/widgets/treeView/ITreeView.d.ts +6 -6
  486. package/dist/elements/widgets/treeView/ITreeView.js +1 -1
  487. package/dist/elements/widgets/treeView/treeView.d.ts +28 -28
  488. package/dist/elements/widgets/treeView/treeView.js +148 -148
  489. package/dist/elements/widgets/treeView/treeViewExtended.d.ts +31 -31
  490. package/dist/elements/widgets/treeView/treeViewExtended.js +300 -300
  491. package/dist/enums/EventNames.d.ts +15 -15
  492. package/dist/enums/EventNames.js +16 -16
  493. package/dist/enums/PointerActionType.d.ts +8 -8
  494. package/dist/enums/PointerActionType.js +9 -9
  495. package/dist/index.d.ts +185 -183
  496. package/dist/index.js +134 -132
  497. package/dist/interfaces/IActivateable.d.ts +3 -3
  498. package/dist/interfaces/IActivateable.js +1 -1
  499. package/dist/interfaces/ICommandHandler.d.ts +5 -5
  500. package/dist/interfaces/ICommandHandler.js +1 -1
  501. package/dist/interfaces/IDisposable.d.ts +3 -3
  502. package/dist/interfaces/IDisposable.js +1 -1
  503. package/dist/interfaces/IPoint.d.ts +4 -4
  504. package/dist/interfaces/IPoint.js +1 -1
  505. package/dist/interfaces/IRect.d.ts +6 -6
  506. package/dist/interfaces/IRect.js +1 -1
  507. package/dist/interfaces/ISize.d.ts +4 -4
  508. package/dist/interfaces/ISize.js +1 -1
  509. package/dist/polyfill/globals.d.ts +11 -11
  510. package/dist/polyfill/globals.js +1 -1
  511. package/dist/polyfill/mobileDragDrop.d.ts +2 -2
  512. package/dist/polyfill/mobileDragDrop.js +32 -32
  513. package/package.json +41 -42
  514. package/dist/elements/services/htmlWriterService/HtmlWriterService copy.d.ts +0 -12
  515. package/dist/elements/services/htmlWriterService/HtmlWriterService copy.js +0 -118
@@ -1,348 +1,348 @@
1
- //included from: https://github.com/chdh/plain-scrollbar
2
- class Widget {
3
- host;
4
- root;
5
- trough;
6
- button1; // up/left button
7
- button2; // down/right button
8
- thumb;
9
- isConnected = false;
10
- thumbSize = 0.3; // relative thumb size (0..1)
11
- value = 0; // current scrollbar position (0..1)
12
- orientation = false; // false=horizontal, true=vertical
13
- clickRepeatDelay = 300; // click repetition delay time in ms
14
- clickRepeatInterval = 100; // click repetition interval time in ms
15
- defaultThumbMinSize = 25; // default for minimum thumb size in pixels
16
- dragStartPos; // dragging start pointer position (clientX/Y)
17
- dragStartValue; // dragging start scrollbar position
18
- eventTimeoutId;
19
- pointerCaptureId; // `undefined` = no capture active
20
- pointerCaptureElement;
21
- // User interaction state:
22
- thumbDragging; // true while user is dragging the thumb
23
- button1Active; // true while user has pointer clicked down on button 1
24
- button2Active; // true while user has pointer clicked down on button 2
25
- troughActive; // true while user has pointer clicked down on trough
26
- constructor(host) {
27
- this.host = host;
28
- host.attachShadow({ mode: "open" });
29
- const shadowRoot = host.shadowRoot;
30
- shadowRoot.innerHTML = scrollbarHtmlTemplate;
31
- this.root = shadowRoot.querySelector("#root");
32
- this.trough = shadowRoot.querySelector("#trough");
33
- this.button1 = shadowRoot.querySelector("#button1");
34
- this.button2 = shadowRoot.querySelector("#button2");
35
- this.thumb = shadowRoot.querySelector("#thumb");
36
- this.trough.addEventListener("pointerdown", this.onTroughPointerDown);
37
- this.trough.addEventListener("pointerup", this.onPointerUp);
38
- this.trough.addEventListener("pointercancel", this.onPointerUp);
39
- this.button1.addEventListener("pointerdown", (event) => this.onButtonPointerDown(event, 1));
40
- this.button1.addEventListener("pointerup", this.onPointerUp);
41
- this.button1.addEventListener("pointercancel", this.onPointerUp);
42
- this.button1.addEventListener("contextmenu", (e) => e.preventDefault()); // to prevent popup on long touch
43
- this.button2.addEventListener("pointerdown", (event) => this.onButtonPointerDown(event, 2));
44
- this.button2.addEventListener("pointerup", this.onPointerUp);
45
- this.button2.addEventListener("pointercancel", this.onPointerUp);
46
- this.button2.addEventListener("contextmenu", (e) => e.preventDefault()); // to prevent popup on long touch
47
- this.thumb.addEventListener("pointerdown", this.onThumbPointerDown);
48
- this.thumb.addEventListener("pointerup", this.onPointerUp);
49
- this.thumb.addEventListener("pointercancel", this.onPointerUp);
50
- this.thumb.addEventListener("pointermove", this.onThumbPointerMove);
51
- this.resetInteractionState();
52
- }
53
- resetInteractionState() {
54
- this.thumbDragging = false;
55
- this.button1Active = false;
56
- this.button2Active = false;
57
- this.troughActive = false;
58
- }
59
- connectedCallback() {
60
- this.isConnected = true;
61
- this.resetInteractionState();
62
- this.updateLayout();
63
- this.updateStyle();
64
- }
65
- disconnectedCallback() {
66
- this.isConnected = false;
67
- this.resetInteractionState();
68
- this.stopEventRepetition();
69
- this.stopPointerCapture();
70
- }
71
- updateLayout() {
72
- if (!this.isConnected) {
73
- return;
74
- }
75
- this.root.classList.toggle("horizontal", !this.orientation);
76
- this.root.classList.toggle("vertical", this.orientation);
77
- this.thumb.style.display = (this.thumbSize == 0) ? "none" : "";
78
- this.thumb.style.height = this.orientation ? percent(this.getEffectiveThumbSize()) : "";
79
- this.thumb.style.width = this.orientation ? "" : percent(this.getEffectiveThumbSize());
80
- this.thumb.style.top = "";
81
- this.thumb.style.left = "";
82
- this.updateThumbPosition();
83
- }
84
- updateStyle() {
85
- if (!this.isConnected) {
86
- return;
87
- }
88
- this.thumb.classList.toggle("active", this.thumbDragging);
89
- this.button1.classList.toggle("active", this.button1Active);
90
- this.button2.classList.toggle("active", this.button2Active);
91
- void this.troughActive;
92
- } // tslint:disable-line
93
- updateThumbPosition() {
94
- const v = (1 - this.getEffectiveThumbSize()) * this.value;
95
- if (this.orientation) {
96
- this.thumb.style.top = percent(v);
97
- }
98
- else {
99
- this.thumb.style.left = percent(v);
100
- }
101
- }
102
- getThroughSize() {
103
- return this.orientation ? this.trough.clientHeight : this.trough.clientWidth;
104
- }
105
- computeThumbMoveValue(distancePixels) {
106
- const troughSlidePixels = this.getThroughSize() * (1 - this.getEffectiveThumbSize());
107
- if (troughSlidePixels < EPS) {
108
- return 0;
109
- }
110
- return distancePixels / troughSlidePixels;
111
- }
112
- setThumbSize(newThumbSize) {
113
- const clippedNewThumbSize = Math.max(0, Math.min(1, newThumbSize));
114
- if (clippedNewThumbSize == this.thumbSize) {
115
- return;
116
- }
117
- this.thumbSize = clippedNewThumbSize;
118
- this.updateLayout();
119
- }
120
- getThumbMinSize() {
121
- const s = this.getCssVar("--plain-scrollbar-thumb-min-size");
122
- if (!s) {
123
- return this.defaultThumbMinSize;
124
- }
125
- const px = decodePxValue(s);
126
- if (!px) {
127
- return this.defaultThumbMinSize;
128
- }
129
- return px;
130
- }
131
- getEffectiveThumbSize() {
132
- const thumbMinSize = this.getThumbMinSize();
133
- const throughSize = this.getThroughSize();
134
- if (!throughSize) {
135
- return this.thumbSize;
136
- }
137
- const min = Math.min(1, thumbMinSize / throughSize);
138
- return Math.max(min, this.thumbSize);
139
- }
140
- setValue(newValue) {
141
- const clippedNewValue = Math.max(0, Math.min(1, newValue));
142
- if (clippedNewValue == this.value) {
143
- return false;
144
- }
145
- this.value = clippedNewValue;
146
- this.updateThumbPosition();
147
- return true;
148
- }
149
- setOrientation(newOrientation) {
150
- if (newOrientation == this.orientation) {
151
- return false;
152
- }
153
- this.orientation = newOrientation;
154
- this.updateLayout();
155
- return true;
156
- }
157
- getCssVar(varName) {
158
- const s = getComputedStyle(this.root).getPropertyValue(varName);
159
- if (!s) {
160
- return null;
161
- }
162
- return s.trim();
163
- }
164
- //--- Outgoing events -------------------------------------------------------
165
- fireEvent(eventSubType) {
166
- const event = new CustomEvent("scrollbar-input", { detail: eventSubType });
167
- this.host.dispatchEvent(event);
168
- }
169
- fireEventRepeatedly(eventSubType, repeatDelay, repeatInterval, repeatCounter = 0) {
170
- this.stopEventRepetition();
171
- this.fireEvent(eventSubType);
172
- const delay = (repeatCounter == 0) ? repeatDelay : repeatInterval;
173
- const f = () => this.fireEventRepeatedly(eventSubType, repeatDelay, repeatInterval, repeatCounter + 1);
174
- this.eventTimeoutId = setTimeout(f, delay);
175
- }
176
- stopEventRepetition() {
177
- if (this.eventTimeoutId) {
178
- clearTimeout(this.eventTimeoutId);
179
- this.eventTimeoutId = undefined;
180
- }
181
- }
182
- //--- Pointer input ----------------------------------------------------------
183
- startPointerCapture(element, pointerId) {
184
- this.stopPointerCapture();
185
- element.setPointerCapture(pointerId);
186
- this.pointerCaptureElement = element;
187
- this.pointerCaptureId = pointerId;
188
- }
189
- stopPointerCapture() {
190
- if (!this.pointerCaptureId) {
191
- return;
192
- }
193
- this.pointerCaptureElement.releasePointerCapture(this.pointerCaptureId);
194
- this.pointerCaptureId = undefined;
195
- }
196
- onTroughPointerDown = (event) => {
197
- if (!this.isConnected || this.pointerCaptureId) {
198
- return;
199
- }
200
- if (!event.isPrimary || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.button != 0) {
201
- return;
202
- }
203
- const r = this.trough.getBoundingClientRect();
204
- const pos = this.orientation ? event.clientY - r.top : event.clientX - r.left;
205
- const threshold = (this.orientation ? r.height : r.width) * (1 - this.getEffectiveThumbSize()) * this.value;
206
- const direction = pos > threshold;
207
- const eventSubType = direction ? "incrementLarge" : "decrementLarge";
208
- this.troughActive = true;
209
- event.preventDefault();
210
- this.startPointerCapture(this.trough, event.pointerId);
211
- this.fireEventRepeatedly(eventSubType, this.clickRepeatDelay, this.clickRepeatInterval);
212
- };
213
- onButtonPointerDown = (event, buttonNo) => {
214
- if (!this.isConnected || this.pointerCaptureId) {
215
- return;
216
- }
217
- if (!event.isPrimary || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.button != 0) {
218
- return;
219
- }
220
- switch (buttonNo) {
221
- case 1:
222
- this.button1Active = true;
223
- break;
224
- case 2:
225
- this.button2Active = true;
226
- break;
227
- }
228
- const eventSubType = (buttonNo == 1) ? "decrementSmall" : "incrementSmall";
229
- this.updateStyle();
230
- event.preventDefault();
231
- const buttonElement = (buttonNo == 1) ? this.button1 : this.button2;
232
- this.startPointerCapture(buttonElement, event.pointerId);
233
- this.fireEventRepeatedly(eventSubType, this.clickRepeatDelay, this.clickRepeatInterval);
234
- };
235
- onThumbPointerDown = (event) => {
236
- if (!this.isConnected || this.pointerCaptureId) {
237
- return;
238
- }
239
- if (!event.isPrimary || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.button != 0) {
240
- return;
241
- }
242
- this.dragStartPos = this.orientation ? event.clientY : event.clientX;
243
- this.dragStartValue = this.value;
244
- this.thumbDragging = true;
245
- this.updateStyle();
246
- event.preventDefault();
247
- this.startPointerCapture(this.thumb, event.pointerId);
248
- };
249
- onThumbPointerMove = (event) => {
250
- if (!this.isConnected) {
251
- return;
252
- }
253
- if (!event.isPrimary || !this.thumbDragging) {
254
- return;
255
- }
256
- const pos = this.orientation ? event.clientY : event.clientX;
257
- const deltaPixels = pos - this.dragStartPos;
258
- const deltaValue = this.computeThumbMoveValue(deltaPixels);
259
- const newValue = this.dragStartValue + deltaValue;
260
- event.preventDefault();
261
- if (this.setValue(newValue)) {
262
- this.fireEvent("value");
263
- }
264
- };
265
- onPointerUp = (event) => {
266
- if (!this.isConnected) {
267
- return;
268
- }
269
- if (!event.isPrimary) {
270
- return;
271
- }
272
- this.resetInteractionState();
273
- this.updateStyle();
274
- this.stopEventRepetition();
275
- this.stopPointerCapture();
276
- event.preventDefault();
277
- };
278
- } // end class
279
- //--- Custom Element -----------------------------------------------------------
280
- export class PlainScrollbar extends HTMLElement {
281
- widget;
282
- constructor() {
283
- super();
284
- const value = parseFloat(this.getAttribute("value"));
285
- this.widget = new Widget(this);
286
- if (!isNaN(value))
287
- this.widget.value = value;
288
- }
289
- /* @Override */ connectedCallback() {
290
- this.widget.connectedCallback();
291
- }
292
- /* @Override */ disconnectedCallback() {
293
- this.widget.disconnectedCallback();
294
- }
295
- //--- Element properties ----------------------------------------------------
296
- // Size of the thumb, relative to the trough.
297
- // A value between 0 and 1.
298
- // 0 is used to hide the thumb. Small values greater than 0 are overridden by `plain-scrollbar-thumb-min-size`.
299
- get thumbSize() {
300
- return this.widget.thumbSize;
301
- }
302
- set thumbSize(v) {
303
- this.widget.setThumbSize(v);
304
- }
305
- // The current position of the scrollbar.
306
- // A value between 0 and 1.
307
- get value() {
308
- return this.widget.value;
309
- }
310
- set value(v) {
311
- this.widget.setValue(v);
312
- }
313
- // Orientation of the scrollbar.
314
- // "horizontal" or "vertical".
315
- get orientation() {
316
- return formatOrientation(this.widget.orientation);
317
- }
318
- set orientation(s) {
319
- if (this.widget.setOrientation(decodeOrientation(s))) {
320
- this.setAttribute("orientation", this.orientation);
321
- }
322
- }
323
- // Returns false=horizontal, true=vertical.
324
- get orientationBoolean() {
325
- return this.widget.orientation;
326
- }
327
- //--- Element attributes ----------------------------------------------------
328
- /* @Override */ static get observedAttributes() {
329
- return ["orientation"];
330
- }
331
- /* @Override */ attributeChangedCallback(attrName, _oldValue, newValue) {
332
- switch (attrName) {
333
- case "orientation": {
334
- if (newValue) {
335
- this.widget.setOrientation(decodeOrientation(newValue));
336
- }
337
- break;
338
- }
339
- }
340
- }
341
- } // end class
342
- //------------------------------------------------------------------------------
343
- const EPS = 1E-9;
344
- const buttonSize = "var(--plain-scrollbar-button-size, 13px)";
345
- const buttonPath = '<path d="M -60 30 h 120 L 0 -30 z" stroke-width="0"/>';
1
+ //included from: https://github.com/chdh/plain-scrollbar
2
+ class Widget {
3
+ host;
4
+ root;
5
+ trough;
6
+ button1; // up/left button
7
+ button2; // down/right button
8
+ thumb;
9
+ isConnected = false;
10
+ thumbSize = 0.3; // relative thumb size (0..1)
11
+ value = 0; // current scrollbar position (0..1)
12
+ orientation = false; // false=horizontal, true=vertical
13
+ clickRepeatDelay = 300; // click repetition delay time in ms
14
+ clickRepeatInterval = 100; // click repetition interval time in ms
15
+ defaultThumbMinSize = 25; // default for minimum thumb size in pixels
16
+ dragStartPos; // dragging start pointer position (clientX/Y)
17
+ dragStartValue; // dragging start scrollbar position
18
+ eventTimeoutId;
19
+ pointerCaptureId; // `undefined` = no capture active
20
+ pointerCaptureElement;
21
+ // User interaction state:
22
+ thumbDragging; // true while user is dragging the thumb
23
+ button1Active; // true while user has pointer clicked down on button 1
24
+ button2Active; // true while user has pointer clicked down on button 2
25
+ troughActive; // true while user has pointer clicked down on trough
26
+ constructor(host) {
27
+ this.host = host;
28
+ host.attachShadow({ mode: "open" });
29
+ const shadowRoot = host.shadowRoot;
30
+ shadowRoot.innerHTML = scrollbarHtmlTemplate;
31
+ this.root = shadowRoot.querySelector("#root");
32
+ this.trough = shadowRoot.querySelector("#trough");
33
+ this.button1 = shadowRoot.querySelector("#button1");
34
+ this.button2 = shadowRoot.querySelector("#button2");
35
+ this.thumb = shadowRoot.querySelector("#thumb");
36
+ this.trough.addEventListener("pointerdown", this.onTroughPointerDown);
37
+ this.trough.addEventListener("pointerup", this.onPointerUp);
38
+ this.trough.addEventListener("pointercancel", this.onPointerUp);
39
+ this.button1.addEventListener("pointerdown", (event) => this.onButtonPointerDown(event, 1));
40
+ this.button1.addEventListener("pointerup", this.onPointerUp);
41
+ this.button1.addEventListener("pointercancel", this.onPointerUp);
42
+ this.button1.addEventListener("contextmenu", (e) => e.preventDefault()); // to prevent popup on long touch
43
+ this.button2.addEventListener("pointerdown", (event) => this.onButtonPointerDown(event, 2));
44
+ this.button2.addEventListener("pointerup", this.onPointerUp);
45
+ this.button2.addEventListener("pointercancel", this.onPointerUp);
46
+ this.button2.addEventListener("contextmenu", (e) => e.preventDefault()); // to prevent popup on long touch
47
+ this.thumb.addEventListener("pointerdown", this.onThumbPointerDown);
48
+ this.thumb.addEventListener("pointerup", this.onPointerUp);
49
+ this.thumb.addEventListener("pointercancel", this.onPointerUp);
50
+ this.thumb.addEventListener("pointermove", this.onThumbPointerMove);
51
+ this.resetInteractionState();
52
+ }
53
+ resetInteractionState() {
54
+ this.thumbDragging = false;
55
+ this.button1Active = false;
56
+ this.button2Active = false;
57
+ this.troughActive = false;
58
+ }
59
+ connectedCallback() {
60
+ this.isConnected = true;
61
+ this.resetInteractionState();
62
+ this.updateLayout();
63
+ this.updateStyle();
64
+ }
65
+ disconnectedCallback() {
66
+ this.isConnected = false;
67
+ this.resetInteractionState();
68
+ this.stopEventRepetition();
69
+ this.stopPointerCapture();
70
+ }
71
+ updateLayout() {
72
+ if (!this.isConnected) {
73
+ return;
74
+ }
75
+ this.root.classList.toggle("horizontal", !this.orientation);
76
+ this.root.classList.toggle("vertical", this.orientation);
77
+ this.thumb.style.display = (this.thumbSize == 0) ? "none" : "";
78
+ this.thumb.style.height = this.orientation ? percent(this.getEffectiveThumbSize()) : "";
79
+ this.thumb.style.width = this.orientation ? "" : percent(this.getEffectiveThumbSize());
80
+ this.thumb.style.top = "";
81
+ this.thumb.style.left = "";
82
+ this.updateThumbPosition();
83
+ }
84
+ updateStyle() {
85
+ if (!this.isConnected) {
86
+ return;
87
+ }
88
+ this.thumb.classList.toggle("active", this.thumbDragging);
89
+ this.button1.classList.toggle("active", this.button1Active);
90
+ this.button2.classList.toggle("active", this.button2Active);
91
+ void this.troughActive;
92
+ } // tslint:disable-line
93
+ updateThumbPosition() {
94
+ const v = (1 - this.getEffectiveThumbSize()) * this.value;
95
+ if (this.orientation) {
96
+ this.thumb.style.top = percent(v);
97
+ }
98
+ else {
99
+ this.thumb.style.left = percent(v);
100
+ }
101
+ }
102
+ getThroughSize() {
103
+ return this.orientation ? this.trough.clientHeight : this.trough.clientWidth;
104
+ }
105
+ computeThumbMoveValue(distancePixels) {
106
+ const troughSlidePixels = this.getThroughSize() * (1 - this.getEffectiveThumbSize());
107
+ if (troughSlidePixels < EPS) {
108
+ return 0;
109
+ }
110
+ return distancePixels / troughSlidePixels;
111
+ }
112
+ setThumbSize(newThumbSize) {
113
+ const clippedNewThumbSize = Math.max(0, Math.min(1, newThumbSize));
114
+ if (clippedNewThumbSize == this.thumbSize) {
115
+ return;
116
+ }
117
+ this.thumbSize = clippedNewThumbSize;
118
+ this.updateLayout();
119
+ }
120
+ getThumbMinSize() {
121
+ const s = this.getCssVar("--plain-scrollbar-thumb-min-size");
122
+ if (!s) {
123
+ return this.defaultThumbMinSize;
124
+ }
125
+ const px = decodePxValue(s);
126
+ if (!px) {
127
+ return this.defaultThumbMinSize;
128
+ }
129
+ return px;
130
+ }
131
+ getEffectiveThumbSize() {
132
+ const thumbMinSize = this.getThumbMinSize();
133
+ const throughSize = this.getThroughSize();
134
+ if (!throughSize) {
135
+ return this.thumbSize;
136
+ }
137
+ const min = Math.min(1, thumbMinSize / throughSize);
138
+ return Math.max(min, this.thumbSize);
139
+ }
140
+ setValue(newValue) {
141
+ const clippedNewValue = Math.max(0, Math.min(1, newValue));
142
+ if (clippedNewValue == this.value) {
143
+ return false;
144
+ }
145
+ this.value = clippedNewValue;
146
+ this.updateThumbPosition();
147
+ return true;
148
+ }
149
+ setOrientation(newOrientation) {
150
+ if (newOrientation == this.orientation) {
151
+ return false;
152
+ }
153
+ this.orientation = newOrientation;
154
+ this.updateLayout();
155
+ return true;
156
+ }
157
+ getCssVar(varName) {
158
+ const s = getComputedStyle(this.root).getPropertyValue(varName);
159
+ if (!s) {
160
+ return null;
161
+ }
162
+ return s.trim();
163
+ }
164
+ //--- Outgoing events -------------------------------------------------------
165
+ fireEvent(eventSubType) {
166
+ const event = new CustomEvent("scrollbar-input", { detail: eventSubType });
167
+ this.host.dispatchEvent(event);
168
+ }
169
+ fireEventRepeatedly(eventSubType, repeatDelay, repeatInterval, repeatCounter = 0) {
170
+ this.stopEventRepetition();
171
+ this.fireEvent(eventSubType);
172
+ const delay = (repeatCounter == 0) ? repeatDelay : repeatInterval;
173
+ const f = () => this.fireEventRepeatedly(eventSubType, repeatDelay, repeatInterval, repeatCounter + 1);
174
+ this.eventTimeoutId = setTimeout(f, delay);
175
+ }
176
+ stopEventRepetition() {
177
+ if (this.eventTimeoutId) {
178
+ clearTimeout(this.eventTimeoutId);
179
+ this.eventTimeoutId = undefined;
180
+ }
181
+ }
182
+ //--- Pointer input ----------------------------------------------------------
183
+ startPointerCapture(element, pointerId) {
184
+ this.stopPointerCapture();
185
+ element.setPointerCapture(pointerId);
186
+ this.pointerCaptureElement = element;
187
+ this.pointerCaptureId = pointerId;
188
+ }
189
+ stopPointerCapture() {
190
+ if (!this.pointerCaptureId) {
191
+ return;
192
+ }
193
+ this.pointerCaptureElement.releasePointerCapture(this.pointerCaptureId);
194
+ this.pointerCaptureId = undefined;
195
+ }
196
+ onTroughPointerDown = (event) => {
197
+ if (!this.isConnected || this.pointerCaptureId) {
198
+ return;
199
+ }
200
+ if (!event.isPrimary || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.button != 0) {
201
+ return;
202
+ }
203
+ const r = this.trough.getBoundingClientRect();
204
+ const pos = this.orientation ? event.clientY - r.top : event.clientX - r.left;
205
+ const threshold = (this.orientation ? r.height : r.width) * (1 - this.getEffectiveThumbSize()) * this.value;
206
+ const direction = pos > threshold;
207
+ const eventSubType = direction ? "incrementLarge" : "decrementLarge";
208
+ this.troughActive = true;
209
+ event.preventDefault();
210
+ this.startPointerCapture(this.trough, event.pointerId);
211
+ this.fireEventRepeatedly(eventSubType, this.clickRepeatDelay, this.clickRepeatInterval);
212
+ };
213
+ onButtonPointerDown = (event, buttonNo) => {
214
+ if (!this.isConnected || this.pointerCaptureId) {
215
+ return;
216
+ }
217
+ if (!event.isPrimary || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.button != 0) {
218
+ return;
219
+ }
220
+ switch (buttonNo) {
221
+ case 1:
222
+ this.button1Active = true;
223
+ break;
224
+ case 2:
225
+ this.button2Active = true;
226
+ break;
227
+ }
228
+ const eventSubType = (buttonNo == 1) ? "decrementSmall" : "incrementSmall";
229
+ this.updateStyle();
230
+ event.preventDefault();
231
+ const buttonElement = (buttonNo == 1) ? this.button1 : this.button2;
232
+ this.startPointerCapture(buttonElement, event.pointerId);
233
+ this.fireEventRepeatedly(eventSubType, this.clickRepeatDelay, this.clickRepeatInterval);
234
+ };
235
+ onThumbPointerDown = (event) => {
236
+ if (!this.isConnected || this.pointerCaptureId) {
237
+ return;
238
+ }
239
+ if (!event.isPrimary || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.button != 0) {
240
+ return;
241
+ }
242
+ this.dragStartPos = this.orientation ? event.clientY : event.clientX;
243
+ this.dragStartValue = this.value;
244
+ this.thumbDragging = true;
245
+ this.updateStyle();
246
+ event.preventDefault();
247
+ this.startPointerCapture(this.thumb, event.pointerId);
248
+ };
249
+ onThumbPointerMove = (event) => {
250
+ if (!this.isConnected) {
251
+ return;
252
+ }
253
+ if (!event.isPrimary || !this.thumbDragging) {
254
+ return;
255
+ }
256
+ const pos = this.orientation ? event.clientY : event.clientX;
257
+ const deltaPixels = pos - this.dragStartPos;
258
+ const deltaValue = this.computeThumbMoveValue(deltaPixels);
259
+ const newValue = this.dragStartValue + deltaValue;
260
+ event.preventDefault();
261
+ if (this.setValue(newValue)) {
262
+ this.fireEvent("value");
263
+ }
264
+ };
265
+ onPointerUp = (event) => {
266
+ if (!this.isConnected) {
267
+ return;
268
+ }
269
+ if (!event.isPrimary) {
270
+ return;
271
+ }
272
+ this.resetInteractionState();
273
+ this.updateStyle();
274
+ this.stopEventRepetition();
275
+ this.stopPointerCapture();
276
+ event.preventDefault();
277
+ };
278
+ } // end class
279
+ //--- Custom Element -----------------------------------------------------------
280
+ export class PlainScrollbar extends HTMLElement {
281
+ widget;
282
+ constructor() {
283
+ super();
284
+ const value = parseFloat(this.getAttribute("value"));
285
+ this.widget = new Widget(this);
286
+ if (!isNaN(value))
287
+ this.widget.value = value;
288
+ }
289
+ /* @Override */ connectedCallback() {
290
+ this.widget.connectedCallback();
291
+ }
292
+ /* @Override */ disconnectedCallback() {
293
+ this.widget.disconnectedCallback();
294
+ }
295
+ //--- Element properties ----------------------------------------------------
296
+ // Size of the thumb, relative to the trough.
297
+ // A value between 0 and 1.
298
+ // 0 is used to hide the thumb. Small values greater than 0 are overridden by `plain-scrollbar-thumb-min-size`.
299
+ get thumbSize() {
300
+ return this.widget.thumbSize;
301
+ }
302
+ set thumbSize(v) {
303
+ this.widget.setThumbSize(v);
304
+ }
305
+ // The current position of the scrollbar.
306
+ // A value between 0 and 1.
307
+ get value() {
308
+ return this.widget.value;
309
+ }
310
+ set value(v) {
311
+ this.widget.setValue(v);
312
+ }
313
+ // Orientation of the scrollbar.
314
+ // "horizontal" or "vertical".
315
+ get orientation() {
316
+ return formatOrientation(this.widget.orientation);
317
+ }
318
+ set orientation(s) {
319
+ if (this.widget.setOrientation(decodeOrientation(s))) {
320
+ this.setAttribute("orientation", this.orientation);
321
+ }
322
+ }
323
+ // Returns false=horizontal, true=vertical.
324
+ get orientationBoolean() {
325
+ return this.widget.orientation;
326
+ }
327
+ //--- Element attributes ----------------------------------------------------
328
+ /* @Override */ static get observedAttributes() {
329
+ return ["orientation"];
330
+ }
331
+ /* @Override */ attributeChangedCallback(attrName, _oldValue, newValue) {
332
+ switch (attrName) {
333
+ case "orientation": {
334
+ if (newValue) {
335
+ this.widget.setOrientation(decodeOrientation(newValue));
336
+ }
337
+ break;
338
+ }
339
+ }
340
+ }
341
+ } // end class
342
+ //------------------------------------------------------------------------------
343
+ const EPS = 1E-9;
344
+ const buttonSize = "var(--plain-scrollbar-button-size, 13px)";
345
+ const buttonPath = '<path d="M -60 30 h 120 L 0 -30 z" stroke-width="0"/>';
346
346
  const scrollbarStyle = `
347
347
  :host {
348
348
  display: block;
@@ -442,7 +442,7 @@ const scrollbarStyle = `
442
442
  #button2.active {
443
443
  background-color: var(--plain-scrollbar-button-color-active, #c0c0c0);
444
444
  }
445
- `;
445
+ `;
446
446
  const scrollbarHtmlTemplate = `
447
447
  <style>${scrollbarStyle}</style>
448
448
  <div id="root" part="root">
@@ -458,25 +458,25 @@ const scrollbarHtmlTemplate = `
458
458
  <svg id="rightArrow" part="arrow rightArrow" viewBox="-100 -100 200 200"><g transform="rotate(90)">${buttonPath}</g></svg>
459
459
  </div>
460
460
  </div>
461
- `;
462
- //------------------------------------------------------------------------------
463
- function formatOrientation(b) {
464
- return b ? "vertical" : "horizontal";
465
- }
466
- function decodeOrientation(s) {
467
- switch (s) {
468
- case "vertical": return true;
469
- case "horizontal": return false;
470
- default: throw new Error("Invalid orientation value \"" + s + "\".");
471
- }
472
- }
473
- function percent(v) {
474
- return (v * 100).toFixed(3) + "%";
475
- }
476
- function decodePxValue(s) {
477
- if (!s || !s.endsWith("px")) {
478
- return undefined;
479
- }
480
- return Number(s.substring(0, s.length - 2));
481
- }
482
- customElements.define("node-projects-plain-scrollbar", PlainScrollbar);
461
+ `;
462
+ //------------------------------------------------------------------------------
463
+ function formatOrientation(b) {
464
+ return b ? "vertical" : "horizontal";
465
+ }
466
+ function decodeOrientation(s) {
467
+ switch (s) {
468
+ case "vertical": return true;
469
+ case "horizontal": return false;
470
+ default: throw new Error("Invalid orientation value \"" + s + "\".");
471
+ }
472
+ }
473
+ function percent(v) {
474
+ return (v * 100).toFixed(3) + "%";
475
+ }
476
+ function decodePxValue(s) {
477
+ if (!s || !s.endsWith("px")) {
478
+ return undefined;
479
+ }
480
+ return Number(s.substring(0, s.length - 2));
481
+ }
482
+ customElements.define("node-projects-plain-scrollbar", PlainScrollbar);