@visuallyjs/browser-ui 1.0.0

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 (427) hide show
  1. package/css/visuallyjs-theme.css +148 -0
  2. package/css/visuallyjs.css +1879 -0
  3. package/js/visuallyjs.browser-ui.cjs.js +143 -0
  4. package/js/visuallyjs.browser-ui.esm.js +143 -0
  5. package/package.json +16 -0
  6. package/types/browser-ui/base-dom-ui-layout-adapter.d.ts +14 -0
  7. package/types/browser-ui/browser-ui.d.ts +95 -0
  8. package/types/browser-ui/browser-util.d.ts +233 -0
  9. package/types/browser-ui/browser-visuallyjs-instance.d.ts +881 -0
  10. package/types/browser-ui/canvas-layout-adapter.d.ts +15 -0
  11. package/types/browser-ui/collicat.d.ts +245 -0
  12. package/types/browser-ui/components/controls/controls-component.d.ts +137 -0
  13. package/types/browser-ui/components/controls/copy-paste-controls-component.d.ts +9 -0
  14. package/types/browser-ui/components/controls/css-classes.d.ts +79 -0
  15. package/types/browser-ui/components/controls/index.d.ts +4 -0
  16. package/types/browser-ui/components/controls/svg-export-component.d.ts +60 -0
  17. package/types/browser-ui/components/edge-type-picker/edge-type-picker.d.ts +37 -0
  18. package/types/browser-ui/components/edge-type-picker/index.d.ts +1 -0
  19. package/types/browser-ui/components/index.d.ts +4 -0
  20. package/types/browser-ui/components/inspector/color-picker-tag.d.ts +32 -0
  21. package/types/browser-ui/components/inspector/definitions.d.ts +114 -0
  22. package/types/browser-ui/components/inspector/edge-type-tag.d.ts +15 -0
  23. package/types/browser-ui/components/inspector/index.d.ts +6 -0
  24. package/types/browser-ui/components/inspector/inspector.d.ts +138 -0
  25. package/types/browser-ui/components/inspector/shape-type-inspector.d.ts +43 -0
  26. package/types/browser-ui/components/inspector/vanilla-inspector.d.ts +39 -0
  27. package/types/browser-ui/components/palette/index.d.ts +2 -0
  28. package/types/browser-ui/components/palette/palette-content-generator.d.ts +14 -0
  29. package/types/browser-ui/components/palette/palette-options.d.ts +159 -0
  30. package/types/browser-ui/components/palette/palette.d.ts +126 -0
  31. package/types/browser-ui/connector-editor.d.ts +65 -0
  32. package/types/browser-ui/connector-editors/anchors.d.ts +31 -0
  33. package/types/browser-ui/connector-editors/css-constants.d.ts +33 -0
  34. package/types/browser-ui/connector-editors/definitions.d.ts +74 -0
  35. package/types/browser-ui/connector-editors/editor-base.d.ts +177 -0
  36. package/types/browser-ui/connector-editors/index.d.ts +52 -0
  37. package/types/browser-ui/connector-editors/util.d.ts +33 -0
  38. package/types/browser-ui/connector-editors-bezier/bezier-editor.d.ts +82 -0
  39. package/types/browser-ui/connector-editors-bezier/css-constants.d.ts +42 -0
  40. package/types/browser-ui/connector-editors-bezier/index.d.ts +9 -0
  41. package/types/browser-ui/connector-editors-orthogonal/css-constants.d.ts +28 -0
  42. package/types/browser-ui/connector-editors-orthogonal/index.d.ts +9 -0
  43. package/types/browser-ui/connector-editors-orthogonal/orthogonal-editor.d.ts +86 -0
  44. package/types/browser-ui/connector-editors-straight/auto-split-mode.d.ts +24 -0
  45. package/types/browser-ui/connector-editors-straight/click-split-mode.d.ts +20 -0
  46. package/types/browser-ui/connector-editors-straight/css-constants.d.ts +30 -0
  47. package/types/browser-ui/connector-editors-straight/definitions.d.ts +69 -0
  48. package/types/browser-ui/connector-editors-straight/index.d.ts +11 -0
  49. package/types/browser-ui/connector-editors-straight/straight-editor.d.ts +42 -0
  50. package/types/browser-ui/constants.d.ts +79 -0
  51. package/types/browser-ui/copy-paste/clipboard.d.ts +34 -0
  52. package/types/browser-ui/copy-paste/index.d.ts +2 -0
  53. package/types/browser-ui/copy-paste/transformer.d.ts +14 -0
  54. package/types/browser-ui/css-constants.d.ts +436 -0
  55. package/types/browser-ui/d.d.ts +2 -0
  56. package/types/browser-ui/definitions.d.ts +442 -0
  57. package/types/browser-ui/dialogs/binder.d.ts +49 -0
  58. package/types/browser-ui/dialogs/constants.d.ts +51 -0
  59. package/types/browser-ui/dialogs/dialogs.d.ts +30 -0
  60. package/types/browser-ui/dialogs/index.d.ts +3 -0
  61. package/types/browser-ui/drag-manager-2.d.ts +54 -0
  62. package/types/browser-ui/edge-handler-base.d.ts +168 -0
  63. package/types/browser-ui/edge-input-handler.d.ts +116 -0
  64. package/types/browser-ui/edge-mappings/flowchart-basic.d.ts +22 -0
  65. package/types/browser-ui/edge-mappings/index.d.ts +1 -0
  66. package/types/browser-ui/edge-relocate-handler.d.ts +51 -0
  67. package/types/browser-ui/element-drag-handler-2.d.ts +254 -0
  68. package/types/browser-ui/element-dragger.d.ts +45 -0
  69. package/types/browser-ui/element-facade.d.ts +11 -0
  70. package/types/browser-ui/event-manager.d.ts +50 -0
  71. package/types/browser-ui/fixed-layer.d.ts +107 -0
  72. package/types/browser-ui/group-layout-adapter.d.ts +19 -0
  73. package/types/browser-ui/html-element-overlay.d.ts +32 -0
  74. package/types/browser-ui/icons/definitions.d.ts +59 -0
  75. package/types/browser-ui/icons/icon-renderer.d.ts +43 -0
  76. package/types/browser-ui/icons/index.d.ts +2 -0
  77. package/types/browser-ui/index.d.ts +48 -0
  78. package/types/browser-ui/pan-zoom-options.d.ts +262 -0
  79. package/types/browser-ui/pan-zoom.d.ts +674 -0
  80. package/types/browser-ui/paper-renderer/definitions.d.ts +83 -0
  81. package/types/browser-ui/paper-renderer/index.d.ts +2 -0
  82. package/types/browser-ui/paper-renderer/paper.d.ts +50 -0
  83. package/types/browser-ui/pinch-listener.d.ts +33 -0
  84. package/types/browser-ui/plugins/background/available-backgrounds.d.ts +12 -0
  85. package/types/browser-ui/plugins/background/background-options.d.ts +62 -0
  86. package/types/browser-ui/plugins/background/background-plugin.d.ts +62 -0
  87. package/types/browser-ui/plugins/background/generated-grid-background.d.ts +230 -0
  88. package/types/browser-ui/plugins/background/index.d.ts +6 -0
  89. package/types/browser-ui/plugins/background/simple-background.d.ts +33 -0
  90. package/types/browser-ui/plugins/background/tiled-background.d.ts +118 -0
  91. package/types/browser-ui/plugins/browser-ui-plugin.d.ts +90 -0
  92. package/types/browser-ui/plugins/edge-routing/index.d.ts +66 -0
  93. package/types/browser-ui/plugins/index.d.ts +5 -0
  94. package/types/browser-ui/plugins/selected-edge-highlight/index.d.ts +1 -0
  95. package/types/browser-ui/plugins/selected-edge-highlight/selected-edge-highlight-plugin.d.ts +36 -0
  96. package/types/browser-ui/plugins/ui-states/index.d.ts +2 -0
  97. package/types/browser-ui/plugins/ui-states/ui-state.d.ts +14 -0
  98. package/types/browser-ui/plugins/ui-states/ui-states-plugin.d.ts +69 -0
  99. package/types/browser-ui/positioning-and-sizing-utils.d.ts +103 -0
  100. package/types/browser-ui/shape-library/index.d.ts +4 -0
  101. package/types/browser-ui/shape-library/shape-library-definitions.d.ts +243 -0
  102. package/types/browser-ui/shape-library/shape-library.d.ts +266 -0
  103. package/types/browser-ui/shape-library/shapes-basic.d.ts +7 -0
  104. package/types/browser-ui/shape-library/shapes-flowchart.d.ts +7 -0
  105. package/types/browser-ui/storage.d.ts +8 -0
  106. package/types/browser-ui/surface-renderer/anim/anim.d.ts +64 -0
  107. package/types/browser-ui/surface-renderer/anim/constants.d.ts +74 -0
  108. package/types/browser-ui/surface-renderer/anim/definitions.d.ts +134 -0
  109. package/types/browser-ui/surface-renderer/anim/index.d.ts +4 -0
  110. package/types/browser-ui/surface-renderer/anim/path-transport.d.ts +23 -0
  111. package/types/browser-ui/surface-renderer/css-classes.d.ts +64 -0
  112. package/types/browser-ui/surface-renderer/decorators.d.ts +162 -0
  113. package/types/browser-ui/surface-renderer/definitions.d.ts +83 -0
  114. package/types/browser-ui/surface-renderer/diagrams/constants.d.ts +28 -0
  115. package/types/browser-ui/surface-renderer/diagrams/definitions.d.ts +528 -0
  116. package/types/browser-ui/surface-renderer/diagrams/diagram-cell.d.ts +123 -0
  117. package/types/browser-ui/surface-renderer/diagrams/diagram-link.d.ts +116 -0
  118. package/types/browser-ui/surface-renderer/diagrams/diagram-palette.d.ts +11 -0
  119. package/types/browser-ui/surface-renderer/diagrams/diagram-tools.d.ts +112 -0
  120. package/types/browser-ui/surface-renderer/diagrams/diagram.d.ts +221 -0
  121. package/types/browser-ui/surface-renderer/diagrams/index.d.ts +25 -0
  122. package/types/browser-ui/surface-renderer/diagrams/mediator.d.ts +59 -0
  123. package/types/browser-ui/surface-renderer/diagrams/util.d.ts +15 -0
  124. package/types/browser-ui/surface-renderer/elastic-group-manager.d.ts +102 -0
  125. package/types/browser-ui/surface-renderer/index.d.ts +34 -0
  126. package/types/browser-ui/surface-renderer/params.d.ts +175 -0
  127. package/types/browser-ui/surface-renderer/plugins/controls/controls-plugin.d.ts +26 -0
  128. package/types/browser-ui/surface-renderer/plugins/controls/index.d.ts +1 -0
  129. package/types/browser-ui/surface-renderer/plugins/drag-groups/drag-groups-plugin.d.ts +78 -0
  130. package/types/browser-ui/surface-renderer/plugins/drag-groups/index.d.ts +1 -0
  131. package/types/browser-ui/surface-renderer/plugins/export-controls/export-controls-plugin.d.ts +25 -0
  132. package/types/browser-ui/surface-renderer/plugins/export-controls/index.d.ts +1 -0
  133. package/types/browser-ui/surface-renderer/plugins/index.d.ts +10 -0
  134. package/types/browser-ui/surface-renderer/plugins/lasso/index.d.ts +2 -0
  135. package/types/browser-ui/surface-renderer/plugins/lasso/lasso-plugin.d.ts +78 -0
  136. package/types/browser-ui/surface-renderer/plugins/lasso/lasso.d.ts +74 -0
  137. package/types/browser-ui/surface-renderer/plugins/miniview/index.d.ts +1 -0
  138. package/types/browser-ui/surface-renderer/plugins/miniview/miniview-plugin.d.ts +235 -0
  139. package/types/browser-ui/surface-renderer/plugins/palette/index.d.ts +1 -0
  140. package/types/browser-ui/surface-renderer/plugins/palette/palette-plugin.d.ts +17 -0
  141. package/types/browser-ui/surface-renderer/plugins/pan-buttons/index.d.ts +1 -0
  142. package/types/browser-ui/surface-renderer/plugins/pan-buttons/pan-buttons-plugin.d.ts +55 -0
  143. package/types/browser-ui/surface-renderer/plugins/resizing-tools/border-drag-handlers.d.ts +3 -0
  144. package/types/browser-ui/surface-renderer/plugins/resizing-tools/definitions.d.ts +411 -0
  145. package/types/browser-ui/surface-renderer/plugins/resizing-tools/drag-handlers.d.ts +3 -0
  146. package/types/browser-ui/surface-renderer/plugins/resizing-tools/handle-gen.d.ts +15 -0
  147. package/types/browser-ui/surface-renderer/plugins/resizing-tools/index.d.ts +4 -0
  148. package/types/browser-ui/surface-renderer/plugins/resizing-tools/resizing-tools-plugin.d.ts +185 -0
  149. package/types/browser-ui/surface-renderer/plugins/resizing-tools/util.d.ts +16 -0
  150. package/types/browser-ui/surface-renderer/plugins/snaplines/index.d.ts +1 -0
  151. package/types/browser-ui/surface-renderer/plugins/snaplines/snaplines-plugin.d.ts +128 -0
  152. package/types/browser-ui/surface-renderer/plugins/vertex-drawing/definitions.d.ts +90 -0
  153. package/types/browser-ui/surface-renderer/plugins/vertex-drawing/index.d.ts +2 -0
  154. package/types/browser-ui/surface-renderer/plugins/vertex-drawing/vertex-drawing-plugin.d.ts +64 -0
  155. package/types/browser-ui/surface-renderer/shape-palette-options.d.ts +127 -0
  156. package/types/browser-ui/surface-renderer/shape-palette.d.ts +55 -0
  157. package/types/browser-ui/surface-renderer/surface-decorator.d.ts +35 -0
  158. package/types/browser-ui/surface-renderer/surface-events.d.ts +9 -0
  159. package/types/browser-ui/surface-renderer/surface-render-options.d.ts +125 -0
  160. package/types/browser-ui/surface-renderer/surface.d.ts +665 -0
  161. package/types/browser-ui/svg-component.d.ts +6 -0
  162. package/types/browser-ui/svg-element-connector.d.ts +16 -0
  163. package/types/browser-ui/svg-element-overlay.d.ts +55 -0
  164. package/types/browser-ui/svg-export/definitions.d.ts +153 -0
  165. package/types/browser-ui/svg-export/image-export-ui.d.ts +20 -0
  166. package/types/browser-ui/svg-export/image-exporter.d.ts +15 -0
  167. package/types/browser-ui/svg-export/index.d.ts +6 -0
  168. package/types/browser-ui/svg-export/svg-export-ui.d.ts +11 -0
  169. package/types/browser-ui/svg-export/svg-exporter.d.ts +8 -0
  170. package/types/browser-ui/svg-export/util.d.ts +23 -0
  171. package/types/browser-ui/svg-util.d.ts +27 -0
  172. package/types/browser-ui/templating/browser-ui-recado.d.ts +48 -0
  173. package/types/browser-ui/templating/custom-tag-definition.d.ts +32 -0
  174. package/types/browser-ui/templating/index.d.ts +11 -0
  175. package/types/browser-ui/templating/recado-template-renderer.d.ts +69 -0
  176. package/types/browser-ui/ui-path.d.ts +57 -0
  177. package/types/browser-ui/util.d.ts +4 -0
  178. package/types/browser-ui/wheel-listener.d.ts +2 -0
  179. package/types/charts/area/area-chart.d.ts +85 -0
  180. package/types/charts/area/index.d.ts +1 -0
  181. package/types/charts/bar-and-column/bar-chart.d.ts +34 -0
  182. package/types/charts/bar-and-column/bar-plot.d.ts +90 -0
  183. package/types/charts/bar-and-column/column-chart.d.ts +35 -0
  184. package/types/charts/bar-and-column/index.d.ts +3 -0
  185. package/types/charts/base-chart.d.ts +395 -0
  186. package/types/charts/base-xy-chart.d.ts +224 -0
  187. package/types/charts/bubble/bubble-chart.d.ts +30 -0
  188. package/types/charts/bubble/definitions.d.ts +32 -0
  189. package/types/charts/bubble/index.d.ts +2 -0
  190. package/types/charts/category-value-chart.d.ts +146 -0
  191. package/types/charts/chart-exporter.d.ts +38 -0
  192. package/types/charts/chart-zoom-controls.d.ts +23 -0
  193. package/types/charts/constants.d.ts +16 -0
  194. package/types/charts/css-classes.d.ts +312 -0
  195. package/types/charts/datasource.d.ts +61 -0
  196. package/types/charts/definitions.d.ts +261 -0
  197. package/types/charts/domain_scale_utilities.d.ts +72 -0
  198. package/types/charts/dual-value-chart.d.ts +60 -0
  199. package/types/charts/gauge/definitions.d.ts +108 -0
  200. package/types/charts/gauge/gauge-chart.d.ts +91 -0
  201. package/types/charts/gauge/index.d.ts +2 -0
  202. package/types/charts/index.d.ts +25 -0
  203. package/types/charts/legend.d.ts +120 -0
  204. package/types/charts/line/index.d.ts +1 -0
  205. package/types/charts/line/line-chart.d.ts +79 -0
  206. package/types/charts/markers.d.ts +13 -0
  207. package/types/charts/pie/index.d.ts +1 -0
  208. package/types/charts/pie/pie-chart.d.ts +146 -0
  209. package/types/charts/plot.d.ts +75 -0
  210. package/types/charts/sankey/index.d.ts +1 -0
  211. package/types/charts/sankey/preprocessor.d.ts +37 -0
  212. package/types/charts/sankey/sankey.d.ts +208 -0
  213. package/types/charts/scatter/definitions.d.ts +6 -0
  214. package/types/charts/scatter/index.d.ts +2 -0
  215. package/types/charts/scatter/scatter-chart.d.ts +16 -0
  216. package/types/charts/series/array-based-series.d.ts +95 -0
  217. package/types/charts/series/collation-series.d.ts +24 -0
  218. package/types/charts/series/definitions.d.ts +52 -0
  219. package/types/charts/series/dual-value-chart-series.d.ts +26 -0
  220. package/types/charts/series/index.d.ts +7 -0
  221. package/types/charts/series/record-based-series.d.ts +58 -0
  222. package/types/charts/series/series.d.ts +66 -0
  223. package/types/charts/series/summing-collation-series.d.ts +31 -0
  224. package/types/charts/series/summing-series.d.ts +19 -0
  225. package/types/charts/series-based-chart.d.ts +59 -0
  226. package/types/charts/tooltip.d.ts +167 -0
  227. package/types/charts/util.d.ts +149 -0
  228. package/types/core/astar/astar-path-finder.d.ts +37 -0
  229. package/types/core/astar/astar-util.d.ts +100 -0
  230. package/types/core/astar/candidate-finder.d.ts +16 -0
  231. package/types/core/astar/candidate-sorter.d.ts +10 -0
  232. package/types/core/astar/definitions.d.ts +185 -0
  233. package/types/core/astar/index.d.ts +3 -0
  234. package/types/core/astar/path-to-segments.d.ts +45 -0
  235. package/types/core/autosaver.d.ts +67 -0
  236. package/types/core/color-generator.d.ts +66 -0
  237. package/types/core/constants.d.ts +181 -0
  238. package/types/core/csv-loader.d.ts +84 -0
  239. package/types/core/datamodel/data-model.d.ts +23 -0
  240. package/types/core/datamodel/vertex-definition.d.ts +40 -0
  241. package/types/core/datasource.d.ts +87 -0
  242. package/types/core/event-constants.d.ts +308 -0
  243. package/types/core/event-generator.d.ts +102 -0
  244. package/types/core/filterable-dataset.d.ts +38 -0
  245. package/types/core/geom.d.ts +278 -0
  246. package/types/core/index.d.ts +39 -0
  247. package/types/core/io.d.ts +106 -0
  248. package/types/core/layout/absolute-layout.d.ts +91 -0
  249. package/types/core/layout/abstract-layout-adapter.d.ts +17 -0
  250. package/types/core/layout/abstract-layout.d.ts +192 -0
  251. package/types/core/layout/circular/circular-layout.d.ts +31 -0
  252. package/types/core/layout/circular/index.d.ts +1 -0
  253. package/types/core/layout/empty-layout.d.ts +17 -0
  254. package/types/core/layout/force-directed/force-directed-layout.d.ts +148 -0
  255. package/types/core/layout/force-directed/index.d.ts +1 -0
  256. package/types/core/layout/grid/definitions.d.ts +81 -0
  257. package/types/core/layout/grid/grid-layout.d.ts +60 -0
  258. package/types/core/layout/grid/index.d.ts +2 -0
  259. package/types/core/layout/hierarchical/abstract-hierarchical-layout.d.ts +90 -0
  260. package/types/core/layout/hierarchical/balloon-layout.d.ts +62 -0
  261. package/types/core/layout/hierarchical/definitions.d.ts +45 -0
  262. package/types/core/layout/hierarchical/hierarchical-layout.d.ts +102 -0
  263. package/types/core/layout/hierarchical/index.d.ts +5 -0
  264. package/types/core/layout/hierarchical/parent-relative-placement.d.ts +96 -0
  265. package/types/core/layout/hierarchy/assign-layers-stage.d.ts +26 -0
  266. package/types/core/layout/hierarchy/crossing-stage.d.ts +78 -0
  267. package/types/core/layout/hierarchy/definitions.d.ts +261 -0
  268. package/types/core/layout/hierarchy/edge-routing.d.ts +25 -0
  269. package/types/core/layout/hierarchy/hierarchy-layout-stage.d.ts +9 -0
  270. package/types/core/layout/hierarchy/hierarchy-layout.d.ts +87 -0
  271. package/types/core/layout/hierarchy/index.d.ts +11 -0
  272. package/types/core/layout/hierarchy/model.d.ts +167 -0
  273. package/types/core/layout/hierarchy/parent-relative-placement.d.ts +69 -0
  274. package/types/core/layout/hierarchy/placement-stage.d.ts +82 -0
  275. package/types/core/layout/hierarchy/util.d.ts +13 -0
  276. package/types/core/layout/hierarchy/vertex-set.d.ts +45 -0
  277. package/types/core/layout/index.d.ts +10 -0
  278. package/types/core/layout/layouts.d.ts +10 -0
  279. package/types/core/magnetizer.d.ts +232 -0
  280. package/types/core/model/anchor.d.ts +38 -0
  281. package/types/core/model/cluster.d.ts +19 -0
  282. package/types/core/model/defs.d.ts +8 -0
  283. package/types/core/model/djikstra.d.ts +26 -0
  284. package/types/core/model/floyd-warshall.d.ts +15 -0
  285. package/types/core/model/graph.d.ts +1166 -0
  286. package/types/core/model/path.d.ts +227 -0
  287. package/types/core/params.d.ts +476 -0
  288. package/types/core/renderer.d.ts +74 -0
  289. package/types/core/router/common.d.ts +104 -0
  290. package/types/core/router/direct-router.d.ts +12 -0
  291. package/types/core/router/index.d.ts +3 -0
  292. package/types/core/router/orthogonal-router.d.ts +46 -0
  293. package/types/core/rtree/definitions.d.ts +24 -0
  294. package/types/core/rtree/hilbert.d.ts +9 -0
  295. package/types/core/rtree/index.d.ts +4 -0
  296. package/types/core/rtree/rtree.d.ts +102 -0
  297. package/types/core/rtree/util.d.ts +55 -0
  298. package/types/core/search/index.d.ts +1 -0
  299. package/types/core/search/visuallyjs-search.d.ts +167 -0
  300. package/types/core/selection.d.ts +394 -0
  301. package/types/core/templates/abstract-entry.d.ts +19 -0
  302. package/types/core/templates/comment-entry.d.ts +11 -0
  303. package/types/core/templates/core.d.ts +162 -0
  304. package/types/core/templates/custom-tag.d.ts +74 -0
  305. package/types/core/templates/defs.d.ts +123 -0
  306. package/types/core/templates/each-entry.d.ts +23 -0
  307. package/types/core/templates/element-entry.d.ts +18 -0
  308. package/types/core/templates/elements.d.ts +14 -0
  309. package/types/core/templates/executions.d.ts +100 -0
  310. package/types/core/templates/expressions.d.ts +47 -0
  311. package/types/core/templates/fake-dom.d.ts +42 -0
  312. package/types/core/templates/headless.d.ts +15 -0
  313. package/types/core/templates/if-entry.d.ts +25 -0
  314. package/types/core/templates/index.d.ts +14 -0
  315. package/types/core/templates/parser.d.ts +84 -0
  316. package/types/core/templates/text-entry.d.ts +17 -0
  317. package/types/core/templates/tmpl-entry.d.ts +13 -0
  318. package/types/core/toolkit.d.ts +1314 -0
  319. package/types/core/undo-redo/compound-action.d.ts +19 -0
  320. package/types/core/undo-redo/edge-action.d.ts +62 -0
  321. package/types/core/undo-redo/group-action.d.ts +60 -0
  322. package/types/core/undo-redo/move-action.d.ts +18 -0
  323. package/types/core/undo-redo/node-group-action.d.ts +62 -0
  324. package/types/core/undo-redo/port-action.d.ts +29 -0
  325. package/types/core/undo-redo/renderer-vertex-removed-action.d.ts +17 -0
  326. package/types/core/undo-redo/set-type-action.d.ts +14 -0
  327. package/types/core/undo-redo/undo-redo.d.ts +203 -0
  328. package/types/core/undo-redo/update-action.d.ts +20 -0
  329. package/types/core/undo-redo/vertex-update-action.d.ts +12 -0
  330. package/types/core/util.d.ts +661 -0
  331. package/types/index.d.ts +16 -0
  332. package/types/l.d.ts +2 -0
  333. package/types/test-support/index.d.ts +1 -0
  334. package/types/test-support/test-support.d.ts +833 -0
  335. package/types/ui/common/abstract-segment.d.ts +88 -0
  336. package/types/ui/common/anchor.d.ts +280 -0
  337. package/types/ui/common/connector.d.ts +106 -0
  338. package/types/ui/common/index.d.ts +5 -0
  339. package/types/ui/common/overlay.d.ts +117 -0
  340. package/types/ui/common/paint-style.d.ts +33 -0
  341. package/types/ui/connector-bezier/abstract-bezier-connector.d.ts +68 -0
  342. package/types/ui/connector-bezier/bezier-connector.d.ts +34 -0
  343. package/types/ui/connector-bezier/bezier-segment.d.ts +31 -0
  344. package/types/ui/connector-bezier/bezier.d.ts +129 -0
  345. package/types/ui/connector-bezier/index.d.ts +6 -0
  346. package/types/ui/connector-bezier/operations.d.ts +18 -0
  347. package/types/ui/connector-bezier/quadratic-bezier-connector.d.ts +35 -0
  348. package/types/ui/connector-orthogonal/default-orthogonal-path-compute.d.ts +11 -0
  349. package/types/ui/connector-orthogonal/definitions.d.ts +120 -0
  350. package/types/ui/connector-orthogonal/index.d.ts +7 -0
  351. package/types/ui/connector-orthogonal/modern-source-target-relocator.d.ts +37 -0
  352. package/types/ui/connector-orthogonal/operations.d.ts +49 -0
  353. package/types/ui/connector-orthogonal/stub-calculators.d.ts +12 -0
  354. package/types/ui/connector-orthogonal/utils.d.ts +134 -0
  355. package/types/ui/connector-orthogonal/vertex-avoidance.d.ts +29 -0
  356. package/types/ui/connector-straight/index.d.ts +2 -0
  357. package/types/ui/connector-straight/operations.d.ts +55 -0
  358. package/types/ui/connector-straight/straight-connector.d.ts +121 -0
  359. package/types/ui/copy-paste/clipboard.d.ts +45 -0
  360. package/types/ui/copy-paste/copy-data.d.ts +93 -0
  361. package/types/ui/copy-paste/index.d.ts +2 -0
  362. package/types/ui/core/callbacks.d.ts +48 -0
  363. package/types/ui/core/component/component.d.ts +115 -0
  364. package/types/ui/core/connector/abstract-connector.d.ts +66 -0
  365. package/types/ui/core/connector/arc-segment.d.ts +39 -0
  366. package/types/ui/core/connector/connection-impl.d.ts +81 -0
  367. package/types/ui/core/connector/connections.d.ts +113 -0
  368. package/types/ui/core/connector/connectors.d.ts +205 -0
  369. package/types/ui/core/connector/operations.d.ts +0 -0
  370. package/types/ui/core/connector/segments.d.ts +24 -0
  371. package/types/ui/core/connector/straight-segment.d.ts +32 -0
  372. package/types/ui/core/constants.d.ts +181 -0
  373. package/types/ui/core/context.d.ts +26 -0
  374. package/types/ui/core/core-events.d.ts +7 -0
  375. package/types/ui/core/core.d.ts +1734 -0
  376. package/types/ui/core/css-constants.d.ts +149 -0
  377. package/types/ui/core/defaults.d.ts +242 -0
  378. package/types/ui/core/definitions.d.ts +540 -0
  379. package/types/ui/core/event-constants.d.ts +510 -0
  380. package/types/ui/core/factory/anchor-record-factory.d.ts +17 -0
  381. package/types/ui/core/factory/continuous-anchors.d.ts +27 -0
  382. package/types/ui/core/factory/overlay-factory.d.ts +8 -0
  383. package/types/ui/core/grid-profile.d.ts +28 -0
  384. package/types/ui/core/group-collapse-expand.d.ts +23 -0
  385. package/types/ui/core/group-sizer.d.ts +9 -0
  386. package/types/ui/core/index.d.ts +45 -0
  387. package/types/ui/core/magnetize-profile.d.ts +82 -0
  388. package/types/ui/core/overlay/arrow-overlay.d.ts +34 -0
  389. package/types/ui/core/overlay/custom-overlay.d.ts +38 -0
  390. package/types/ui/core/overlay/diamond-overlay.d.ts +14 -0
  391. package/types/ui/core/overlay/dot-overlay.d.ts +54 -0
  392. package/types/ui/core/overlay/ellipse-overlay.d.ts +60 -0
  393. package/types/ui/core/overlay/label-overlay.d.ts +37 -0
  394. package/types/ui/core/overlay/overlay.d.ts +131 -0
  395. package/types/ui/core/overlay/plain-arrow-overlay.d.ts +15 -0
  396. package/types/ui/core/overlay/rectangle-overlay.d.ts +66 -0
  397. package/types/ui/core/params.d.ts +223 -0
  398. package/types/ui/core/router/astar-path-finder.d.ts +29 -0
  399. package/types/ui/core/router/base-router.d.ts +100 -0
  400. package/types/ui/core/router/default-router.d.ts +38 -0
  401. package/types/ui/core/router/index.d.ts +5 -0
  402. package/types/ui/core/router/router-utils.d.ts +118 -0
  403. package/types/ui/core/router/router.d.ts +30 -0
  404. package/types/ui/core/type-descriptors.d.ts +83 -0
  405. package/types/ui/core/ui-model.d.ts +65 -0
  406. package/types/ui/core/view/common-options.d.ts +15 -0
  407. package/types/ui/core/view/edge-options.d.ts +126 -0
  408. package/types/ui/core/view/events.d.ts +159 -0
  409. package/types/ui/core/view/group-options.d.ts +75 -0
  410. package/types/ui/core/view/index.d.ts +35 -0
  411. package/types/ui/core/view/node-options.d.ts +20 -0
  412. package/types/ui/core/view/node-or-port-options.d.ts +28 -0
  413. package/types/ui/core/view/port-options.d.ts +51 -0
  414. package/types/ui/core/view/vertex-options.d.ts +28 -0
  415. package/types/ui/core/viewport.d.ts +297 -0
  416. package/types/ui/index.d.ts +9 -0
  417. package/types/ui/plugins/definitions.d.ts +118 -0
  418. package/types/ui/plugins/index.d.ts +2 -0
  419. package/types/ui/plugins/plugins.d.ts +7 -0
  420. package/types/ui/property-mappings/definitions.d.ts +28 -0
  421. package/types/ui/property-mappings/index.d.ts +2 -0
  422. package/types/ui/property-mappings/property-mapper.d.ts +16 -0
  423. package/types/ui/util/index.d.ts +3 -0
  424. package/types/ui/util/property-tracker.d.ts +8 -0
  425. package/types/ui/util/svg-constants.d.ts +111 -0
  426. package/types/ui/util/util.d.ts +69 -0
  427. package/types/version.d.ts +1 -0
@@ -0,0 +1,881 @@
1
+ import { EVENT_EDGE_CLICK, EVENT_EDGE_CONTEXTMENU, EVENT_EDGE_DBLCLICK, EVENT_EDGE_MOUSEDOWN, EVENT_EDGE_MOUSEOUT, EVENT_EDGE_MOUSEOVER, EVENT_EDGE_MOUSEUP, EVENT_VERTEX_CLICK, EVENT_VERTEX_TAP, EVENT_VERTEX_DBLTAP, EVENT_VERTEX_MOUSEOVER, EVENT_VERTEX_MOUSEOUT, EVENT_VERTEX_MOUSEMOVE, EVENT_VERTEX_MOUSEUP, EVENT_VERTEX_MOUSEDOWN, EVENT_VERTEX_CONTEXTMENU, EVENT_VERTEX_DBLCLICK, Overlay, OverlayPaintParams, LabelOverlay, Connection, ConnectorPath, UICore, TypeDescriptorBase, VertexMapping, GroupMapping, PortMapping, NodeMapping, DragHandler2, ViewportElement, OverlaySpec, Connector, PaintStyle, ZoomToFitOptions, ZoomToFitIfNecessaryOptions, ZoomToElementsOptions, PropertyMapper, EdgePropertyMappings, ViewportGroupElement, ViewportNodeElement } from '../ui';
2
+ import { VisuallyJSDOMElement } from './element-facade';
3
+ import { VisuallyJsModel, Base, Edge, Group, Node, ObjectData, Port, Vertex, VisuallyJsSelection, DataSource, EVENT_GROUP_MOVE, Grid, GroupRemovedParams, NodeRemovedParams, PointXY, RectangleXY, Size, CustomTagOptions, AbstractLayoutAdapter, LayoutResultSet } from "../core";
4
+ import { TemplateRenderer } from "./browser-ui";
5
+ import { Background, BrowserUIDefaults, BrowserUIOptions, ElementModelInfo, SupportsClassManipulation, SupportsClassManipulationElement } from "./definitions";
6
+ import { BrowserElement } from './util';
7
+ import { ShapeLibrary } from "./shape-library";
8
+ import { BrowserUIClipboard } from "./copy-paste";
9
+ /**
10
+ * An event that the BrowserUI renderer may fire.
11
+ */
12
+ export type BrowserUIEvent = typeof EVENT_EDGE_MOUSEUP | typeof EVENT_EDGE_MOUSEDOWN | typeof EVENT_VERTEX_CLICK | typeof EVENT_VERTEX_DBLCLICK | typeof EVENT_EDGE_CONTEXTMENU | typeof EVENT_EDGE_CLICK | typeof EVENT_EDGE_DBLCLICK | typeof EVENT_VERTEX_DBLTAP | typeof EVENT_VERTEX_TAP | typeof EVENT_VERTEX_MOUSEOVER | typeof EVENT_VERTEX_MOUSEOUT | typeof EVENT_VERTEX_MOUSEMOVE | typeof EVENT_VERTEX_MOUSEDOWN | typeof EVENT_VERTEX_MOUSEUP | typeof EVENT_VERTEX_CONTEXTMENU | typeof EVENT_VERTEX_MOUSEOVER | typeof EVENT_EDGE_MOUSEOVER | typeof EVENT_EDGE_MOUSEOUT | typeof EVENT_GROUP_MOVE;
13
+ /**
14
+ * Subclass of UICore that renders to the DOM in a browser, and supports dragging of elements/connections.
15
+ * @group Components
16
+ * @internal
17
+ *
18
+ */
19
+ export declare abstract class BrowserUI<EVT = any> extends UICore<BrowserElement, EVT | BrowserUIEvent> {
20
+ model: VisuallyJsModel;
21
+ protected $suspendRendering: boolean;
22
+ /**
23
+ * Clipboard for copy/paste of data.
24
+ */
25
+ clipboard: BrowserUIClipboard;
26
+ /**
27
+ * @internal
28
+ * @param mel
29
+ */
30
+ $syncManagedElementWithView(mel: ViewportElement<BrowserElement>, andThenRepaint: boolean): void;
31
+ protected $shapeLibrary: ShapeLibrary<ObjectData>;
32
+ protected $_propertyMapper: PropertyMapper;
33
+ private _templateRenderer;
34
+ private readonly _nodeRenderer;
35
+ private readonly _groupRenderer;
36
+ private readonly __containerEvents;
37
+ private _dragManager2;
38
+ private readonly _resizeObserver;
39
+ private readonly _managedElementsSelector;
40
+ private readonly _hoverEvents;
41
+ private readonly _eventManager;
42
+ private _canDropHandler;
43
+ private _transferrableVertexAttributes;
44
+ /**
45
+ * Adds some attributes to the list of attributes that should be copied from
46
+ * a rendered element's firstElementChild.
47
+ * @internal
48
+ * @param atts
49
+ */
50
+ $addTransferrableVertexAttributes(atts: Array<string>): void;
51
+ $enableVertexDrag(): void;
52
+ $disableVertexDrag(): void;
53
+ /**
54
+ * Determines whether or not the given candidate may be dropped onto either the given target vertex, or the canvas. This method is invoked by the drag handler and the palette
55
+ * @param candidate
56
+ * @param target
57
+ * @param onCanvas
58
+ * @internal
59
+ */
60
+ $canDrop(candidate: Node | Group, target?: Node | Group, onCanvas?: boolean): boolean;
61
+ $vertexRendered<N extends Vertex>(v: N, el: BrowserElement, def: VertexMapping<any, BrowserElement>, eventInfo?: {
62
+ position: PointXY;
63
+ }): void;
64
+ protected constructor(model: VisuallyJsModel, dataSource: DataSource, container: BrowserElement, options: BrowserUIOptions, templateRenderer: TemplateRenderer<BrowserElement>, defaults: BrowserUIDefaults);
65
+ $createDefaultLayoutAdapter(): AbstractLayoutAdapter<BrowserElement>;
66
+ $createGroupLayoutAdapter(group: Group): AbstractLayoutAdapter<HTMLElement | SVGElement>;
67
+ /**
68
+ * @internal
69
+ */
70
+ $startPanRepeat(dirX: 1 | 0 | -1, dirY: 1 | 0 | -1, dx: number, dy: number, interval: number, cb?: (total: PointXY) => any): void;
71
+ /**
72
+ * @internal
73
+ */
74
+ $stopPanRepeat(): void;
75
+ /**
76
+ * @internal
77
+ */
78
+ private _shapeDefsSvgElement;
79
+ /**
80
+ * @internal
81
+ */
82
+ private _setupShapeDefs;
83
+ /**
84
+ * Fire an event for an overlay, and for its related component.
85
+ * @internal
86
+ * @param overlay
87
+ * @param event
88
+ * @param e
89
+ */
90
+ private __fireOverlayMethod;
91
+ /**
92
+ * Whether or not the UI instance renders asynchronously.
93
+ * @internal
94
+ */
95
+ $isAsynchronousRender(): boolean;
96
+ /**
97
+ * @internal
98
+ */
99
+ $isDraggingSupported(): boolean;
100
+ /**
101
+ * Removes the given element from the display. The element may or may not be related to a vertex in the dataset.
102
+ * @internal
103
+ * @param element
104
+ */
105
+ $removeElement(element: BrowserElement): void;
106
+ /**
107
+ * TODO unless the core calls this, this method is not needed.
108
+ * @param el
109
+ * @param parent
110
+ * @param insertAtStart
111
+ * @internal
112
+ */
113
+ $appendElement(el: Element, parent: Element, insertAtStart?: boolean): void;
114
+ $setElementVisible(el: BrowserElement, visible: boolean): void;
115
+ /**
116
+ * @override
117
+ * @param p
118
+ * @internal
119
+ */
120
+ $doVertexUpdated(el: ViewportElement<BrowserElement>): void;
121
+ /**
122
+ * @internal
123
+ * @override
124
+ */
125
+ $graphClearStart(): void;
126
+ /**
127
+ * @internal
128
+ * @param el
129
+ * @private
130
+ */
131
+ $appendElementToContainer(el: BrowserElement, insertAtStart?: boolean): void;
132
+ $appendElementToVertexLayer(el: BrowserElement, insertAtStart?: boolean): void;
133
+ $appendElementToToolsLayer(el: BrowserElement, insertAtStart?: boolean): void;
134
+ $appendOverlayElement(e: BrowserElement, insertAtStart?: boolean): void;
135
+ $appendVertexElement(e: BrowserElement, insertAtStart?: boolean): void;
136
+ $appendEdgeElement(e: BrowserElement, insertAtStart?: boolean): void;
137
+ /**
138
+ *
139
+ * @param el
140
+ * @internal
141
+ */
142
+ $getAssociatedElements(el: BrowserElement): Array<BrowserElement>;
143
+ /**
144
+ * Gets the CSS class for the given element.
145
+ * @param el
146
+ * @internal
147
+ */
148
+ $getClassFromElement(el: BrowserElement): string;
149
+ /**
150
+ * Add one or more classes to the given element or list of elements.
151
+ * @param el Element, or list of elements to which to add the class(es)
152
+ * @param clazz A space separated list of classes to add.
153
+ * @internal
154
+ */
155
+ $addClassToElement(el: BrowserElement | NodeListOf<BrowserElement>, clazz: string): void;
156
+ /**
157
+ * Returns whether or not the given element has the given class.
158
+ * @param el
159
+ * @param clazz
160
+ * @internal
161
+ */
162
+ $elementHasClass(el: BrowserElement, clazz: string): boolean;
163
+ /**
164
+ * Remove one or more classes from the given element or list of elements.
165
+ * @param el Element, or list of elements from which to remove the class(es)
166
+ * @param clazz A space separated list of classes to remove.
167
+ * @internal
168
+ */
169
+ $removeClassFromElement(el: BrowserElement | NodeListOf<BrowserElement>, clazz: string): void;
170
+ /**
171
+ * Toggles one or more classes on the given element or list of elements.
172
+ * @param el Element, or list of elements on which to toggle the class(es)
173
+ * @param clazz A space separated list of classes to toggle.
174
+ * @internal
175
+ */
176
+ $toggleClassOnElement(el: BrowserElement | NodeListOf<BrowserElement>, clazz: string): void;
177
+ /**
178
+ * Updates classes for the given element
179
+ * @param el
180
+ * @param classesToAdd
181
+ * @param classesToRemove
182
+ * @internal
183
+ */
184
+ $updateElementClasses(el: BrowserElement, classesToAdd: Array<string>, classesToRemove: Array<string>): void;
185
+ /**
186
+ * Sets an attribute on the given element.
187
+ * @param el
188
+ * @param name
189
+ * @param value
190
+ * @internal
191
+ */
192
+ $setAttribute(el: BrowserElement, name: string, value: string): void;
193
+ /**
194
+ * Gets an attribute from the given element.
195
+ * @param el
196
+ * @param name
197
+ * @internal
198
+ */
199
+ $getAttribute(el: BrowserElement, name: string): string;
200
+ /**
201
+ * Sets some attributes on the given element.
202
+ * @param el - Element to set attributes on
203
+ * @param atts - Map of attributes to set.
204
+ * @internal
205
+ */
206
+ $setAttributes(el: Element, atts: Record<string, string>): void;
207
+ /**
208
+ * Remove an attribute from the given element.
209
+ * @param el - Element to remove an attribute from
210
+ * @param attName - Name of the attribute to remove
211
+ * @internal
212
+ */
213
+ $removeAttribute(el: Element, attName: string): void;
214
+ /**
215
+ * Bind an event listener to the given element or elements.
216
+ * @param el - Element, or elements, to bind the event listener to.
217
+ * @param event - Name of the event to bind to.
218
+ * @param callbackOrSelector - Either a callback function, or a CSS 3 selector. When this is a selector the event listener is bound as a "delegate", ie. the event listeners listens to events on children of the given `el` that match the selector.
219
+ * @param callback - Callback function for event. Only supplied when you're binding a delegated event handler.
220
+ *
221
+ */
222
+ on(el: Document | BrowserElement | NodeListOf<BrowserElement>, event: string, callbackOrSelector: Function | string, callback?: Function): this;
223
+ /**
224
+ * Remove an event binding from the given element or elements.
225
+ * @param el - Element, or elements, from which to remove the event binding.
226
+ * @param event - Name of the event to unbind.
227
+ * @param callback - The function you wish to unbind.
228
+ *
229
+ */
230
+ off(el: Document | BrowserElement | NodeListOf<BrowserElement>, event: string, callback: Function): this;
231
+ /**
232
+ * Trigger an event on the given element. Exposed for API users but mostly intended for internal use.
233
+ * @param el - Element to trigger the event on.
234
+ * @param event - Name of the event to trigger.
235
+ * @param originalEvent - Optional event that gave rise to this method being called.
236
+ * @param payload - Optional `payload` to set on the Event that is created.
237
+ * @param detail - Optional detail for the Event that is created.
238
+ */
239
+ trigger(el: Document | BrowserElement, event: string, originalEvent?: Event, payload?: any, detail?: number): void;
240
+ /**
241
+ * Gets the position of the given element relative to the browser viewport's origin. This method is safe for
242
+ * both HTML and SVG elements.
243
+ * @internal
244
+ * @param el
245
+ */
246
+ $getOffsetRelativeToRoot(el: BrowserElement): PointXY;
247
+ private _adjustForParents;
248
+ /**
249
+ * Exposed on this class to assist core in abstracting out the specifics of the renderer.
250
+ * @internal
251
+ * @param el
252
+ *
253
+ * Places this is called:
254
+ *
255
+ * - drawAnchorPlaceholders in edge editor base
256
+ * - getOffset method passed in the pan zoom of miniview
257
+ * - getOffset method passed in to pan zoom of surface
258
+ * - refreshElement method of Viewport
259
+ *
260
+ */
261
+ $getElementPositionInUIRelativeToCanvasOrigin(el: BrowserElement, knownElementSize?: Size): PointXY;
262
+ $setElementSizeInUI(el: BrowserElement, width: number, height: number): void;
263
+ $setElementWidth(el: BrowserElement, width: number): void;
264
+ $setElementHeight(el: BrowserElement, height: number): void;
265
+ /**
266
+ * Exposed on this class to assist core in abstracting out the specifics of the renderer.
267
+ * @internal
268
+ * @param el
269
+ */
270
+ $getSize(el: BrowserElement): Size;
271
+ $setElementRotation(el: BrowserElement, r: number): void;
272
+ /**
273
+ * Gets the position of the given element relative to its offset parent,
274
+ * in canvas coordinates, ie. not scaled per the current zoom. Currently
275
+ * this method is only used to find the offset to a group's content area.
276
+ * @param el
277
+ * @internal
278
+ */
279
+ $getElementPositionInUIRelativeToParent(el: BrowserElement): PointXY;
280
+ /**
281
+ * Gets the position of the given element relative to the visible window origin, _in page coordinates_. The implementation invokes `getBoundingClientRect()` on the element and returns that value, which is a rectangle whose dimensions and location match what the user sees, where [0,0] is the origin of the browser window. It is important to note that this method does _not_ take page scroll into account. The value returned from this method is as the user sees it with respect to the browser's top left corner. Note also that this method is ignorant of zoom: the value returned is as the user sees it, that is with any zoom applied.
282
+ * @param el Element to get position for.
283
+ * @internal
284
+ */
285
+ $getElementPositionInWindow(el: BrowserElement): RectangleXY;
286
+ /**
287
+ * Gets a style property from some element.
288
+ * Exposed on this class to assist core in abstracting out the specifics of the renderer.
289
+ * @internal
290
+ * @param el Element to get property from
291
+ * @param prop Property to look up
292
+ */
293
+ $getStyle(el: Element, prop: string): any;
294
+ /**
295
+ * Gets the element representing some group's content area. Exposed on this class to assist core in abstracting out the specifics of the renderer.
296
+ * @internal
297
+ * @param el
298
+ */
299
+ $getGroupContentAreaElement(el: BrowserElement): BrowserElement;
300
+ /**
301
+ * Exposed on this class to assist core in abstracting out the specifics of the renderer.
302
+ * @internal
303
+ * @param ctx Either a string representing a selector, or an element. If a string, the container root is assumed to be the element context. Otherwise the context is this value and the selector is the second arg to the method.
304
+ * @param spec If `ctx` is an element, this is the selector
305
+ */
306
+ $getSelector(ctx: string | Element, spec?: string): Array<VisuallyJSDOMElement>;
307
+ $setViewportElementPosition(el: ViewportElement<BrowserElement>, p: PointXY): void;
308
+ /**
309
+ * Sets whether or not the given element, or element representing the given vertex, is draggable.
310
+ * @param element Vertex id, vertex, or DOM element
311
+ * @param draggable
312
+ */
313
+ setDraggable(element: string | BrowserElement | Vertex, draggable: boolean): void;
314
+ /**
315
+ * Helper method to get the draggable state of some element. Under the hood all this does is check for the
316
+ * existence of the `data-vjs-not-draggable` attribute.
317
+ * @param el - Element to get draggable state for.
318
+ *
319
+ */
320
+ isDraggable(el: BrowserElement): boolean;
321
+ toggleDraggable(el: BrowserElement): boolean;
322
+ /**
323
+ * Fires an edge event, but only if the edge is not marked transient (or fireEvenIfTransient is true)
324
+ * @param localEvent
325
+ * @param globalEvent
326
+ * @param connection
327
+ * @param evt
328
+ * @param overlay
329
+ * @param fireEvenIfTransient
330
+ * @internal
331
+ */
332
+ private __fireEdgeEvent;
333
+ /**
334
+ * @overridable
335
+ * @param payload
336
+ */
337
+ protected $edgeTap(payload: {
338
+ obj: Edge;
339
+ e: MouseEvent;
340
+ connection: Connection<BrowserElement>;
341
+ overlay?: Overlay<BrowserElement>;
342
+ }): void;
343
+ /**
344
+ * Gets the name of the attribute that is used to determine the label for the given edge.
345
+ * @param edge
346
+ *
347
+ */
348
+ getLabelLocationAttribute(edge: Edge): string;
349
+ private __handleOverlayClick;
350
+ private _overlayClick;
351
+ private _overlayDblClick;
352
+ private _overlayTap;
353
+ private _overlayDblTap;
354
+ private __handleConnectorClick;
355
+ private _connectorClick;
356
+ private _connectorDblClick;
357
+ private _connectorTap;
358
+ private _connectorDblTap;
359
+ private __overlayHover;
360
+ private _overlayMouseover;
361
+ private _overlayMouseout;
362
+ private __doConnectorHover;
363
+ private __connectorHover;
364
+ private _connectorMouseover;
365
+ private _connectorMouseout;
366
+ private __connectorMouseupdown;
367
+ private _connectorMouseup;
368
+ private _connectorMousedown;
369
+ private _connectorContextmenu;
370
+ private _getElementPayload;
371
+ private __elementEvent;
372
+ private _elementClick;
373
+ private _elementDblClick;
374
+ private _elementTap;
375
+ private _elementDblTap;
376
+ private _elementContextmenu;
377
+ private _elementMouseout;
378
+ private _elementMouseover;
379
+ private _elementMousemove;
380
+ private _toggleGroupCollapse;
381
+ private __bindContainerEvent;
382
+ /**
383
+ * Register a drag handler. If the drag manager is not yet ready the handler will be put in a waiting list,
384
+ * and processed once the drag manager has been created.
385
+ * @param handler
386
+ * @internal
387
+ */
388
+ addDragHandler(handler: DragHandler2<BrowserElement>): void;
389
+ /**
390
+ * List of drag handlers registered prior to the drag manager having been constructed.
391
+ * @internal
392
+ */
393
+ private _pendingDragHandlers;
394
+ /**
395
+ * Initialise the drag manager, destroying any previous manager (there will be one if the container has changed). This method also adds any drag handlers which were registered on this class prior to the drag manager being ready, and then clears that list.
396
+ * @internal
397
+ */
398
+ private _initDragHandler;
399
+ /**
400
+ * Called by the drag manager at the start of a drag. Subclasses can override this method to perform any actions they may need to undertake. For instance, the Surface will want to tell its pan/zoom widget to take a snapshot of the current compound zoom.
401
+ * @internal
402
+ * @param e
403
+ */
404
+ protected _elementDragInit(e: MouseEvent): void;
405
+ /**
406
+ * Maps the location of the given location on the page onto the coordinate space of this widget, returning a value representing a location in canvas coordinates with respect to the origin of the instance's canvas.
407
+ */
408
+ abstract fromPageLocation(x: number, y: number): PointXY;
409
+ /**
410
+ * Maps the location of the given location in the window onto the coordinate space of this widget, returning a value representing a location in canvas coordinates with respect to the origin of the instance's canvas. The input values are in "window" coordinates, where the concept of the window is that it is the visible space the user can see. In a browser, for example, this means the visible area of the page; it does not necessarily correlate with page coordinates because the page may be scrolled.
411
+ */
412
+ abstract fromWindowLocation(x: number, y: number): PointXY;
413
+ /**
414
+ * Maps the given location relative to the viewport origin, to a page location, allowing for zoom and pan of the canvas. This takes into account the offset of the viewport in the page so that what you get back is the mapped position relative to the target element's [left,top] corner.
415
+ * @param left X location
416
+ * @param top Y location
417
+ * @returns The mapped location, as a PointXY object.
418
+ *
419
+ */
420
+ abstract toPageLocation(left: number, top: number): PointXY;
421
+ /**
422
+ * Maps the location of the given event on the page onto the coordinate space of this widget, returning a value representing where the given event appears to be with respect to the origin of the UI's viewport.
423
+ * @param event
424
+ */
425
+ abstract mapEventLocation(event: MouseEvent): PointXY;
426
+ /**
427
+ * Maps the given x,y to canvas coordinates via `fromPageLocation`, snaps that canvas location to the given grid, and then converts the snapped canvas location back to page coordinates.
428
+ * @param x X position, in page coordinates.
429
+ * @param y Y position, in page coordinates
430
+ * @param grid Grid to apply - in canvas coordinates.
431
+ * @returns The given page location snapped to the given grid, in page coordinates.
432
+ *
433
+ */
434
+ snapPageLocationToGrid(x: number, y: number, grid: Grid): PointXY;
435
+ /**
436
+ * Gets the element that is the root for everything added to the UI.
437
+ * @internal
438
+ */
439
+ abstract $getCanvasElement(): BrowserElement;
440
+ /**
441
+ * Zoom in by one zoom step.
442
+ */
443
+ abstract zoomIn(canvasLoc?: PointXY): void;
444
+ /**
445
+ * Zoom out by one zoom step.
446
+ */
447
+ abstract zoomOut(canvasLoc?: PointXY): void;
448
+ /**
449
+ * Gets all of the managed nodes that are visible, or partly visible, in the current viewport.
450
+ * @internal
451
+ */
452
+ $getNodesInViewport(): Array<{
453
+ el: ViewportNodeElement<BrowserElement>;
454
+ bb: RectangleXY;
455
+ }>;
456
+ /**
457
+ * Gets all of the managed groups that are visible, or partly visible, in the current viewport.
458
+ * @internal
459
+ */
460
+ $getGroupsInViewport(): Array<{
461
+ el: ViewportGroupElement<BrowserElement>;
462
+ bb: RectangleXY;
463
+ }>;
464
+ $isTouchDevice(): boolean;
465
+ $isArrayLike<E = any>(el: any): el is ArrayLike<E>;
466
+ abstract addBackground(background: Background): void;
467
+ abstract removeBackground(background: Background): void;
468
+ protected _getVerticesInViewport<T extends ViewportElement<BrowserElement>>(type: string, vpElement: BrowserElement, extractEl?: (el: BrowserElement) => BrowserElement): Array<{
469
+ el: T;
470
+ bb: RectangleXY;
471
+ }>;
472
+ private _attachEventDelegates;
473
+ private _detachEventDelegates;
474
+ /**
475
+ * Sets the element this instance will use as the container for everything it adds to the UI. In normal use this method is not expected to be called very often, if at all. The method is used by the instance constructor and also in certain situations by the model.
476
+ * @param newContainer
477
+ * @internal
478
+ */
479
+ setContainer(newContainer: BrowserElement): void;
480
+ /**
481
+ * Clears all endpoints and connections and managed elements from the instance of the UI. Does not also clear out
482
+ * event listeners, selectors, or connection types - for that, use `destroy()`.
483
+ */
484
+ reset(): void;
485
+ /**
486
+ * Clears the instance and unbinds any listeners on the instance. After you call this method you cannot use this
487
+ * instance of the UI again.
488
+ *
489
+ */
490
+ destroy(): void;
491
+ /**
492
+ * Stops managing the given element.
493
+ * @param el - Element, or ID of the element to stop managing.
494
+ * @param removeElement - If true, also remove the element from the renderer.
495
+ * @internal
496
+ */
497
+ $__unmanage(el: BrowserElement, removeChildren: boolean, removeElement: boolean): void;
498
+ /**
499
+ * @internal
500
+ * @param o
501
+ * @param clazz
502
+ */
503
+ $addOverlayClass(o: Overlay<BrowserElement>, clazz: string): void;
504
+ /**
505
+ * @internal
506
+ * @param o
507
+ * @param clazz
508
+ */
509
+ $removeOverlayClass(o: Overlay<BrowserElement>, clazz: string): void;
510
+ /**
511
+ * @internal
512
+ */
513
+ getGroupDefinition(group: Group): GroupMapping<BrowserElement>;
514
+ /**
515
+ * @internal
516
+ */
517
+ getPortDefinition(port: Port): PortMapping<BrowserElement>;
518
+ /**
519
+ * @internal
520
+ */
521
+ getNodeDefinition(node: Node): NodeMapping<BrowserElement>;
522
+ getVertexDefinition(vertex: Vertex): VertexMapping<any, any>;
523
+ /**
524
+ * TODO this seems to be functionality that only belongs to Recado/Knockle to me. Specifically what's happening here is that a definition containing only 'template' but no 'templateId' is causing an internal value for templateId to be written to the definition, and then for the template to be registered with the renderer.
525
+ * @param def
526
+ * @internal
527
+ */
528
+ private _ensureTemplate;
529
+ /**
530
+ * Register a custom tag on the UI. This will only take effect if the UI is using the default VisuallyJs template
531
+ * renderer.
532
+ * @param tagName
533
+ * @param handlers
534
+ */
535
+ registerTag(tagName: string, handlers: CustomTagOptions): void;
536
+ /**
537
+ * Creates a renderer for a node or group.
538
+ * @param objectType
539
+ * @param idFunctionToUse
540
+ * @param typeFunctionToUse
541
+ * @private
542
+ */
543
+ private createRenderer;
544
+ protected $resolveVertexSizeFromModel(v: Vertex, def: VertexMapping<any, BrowserElement>): Size;
545
+ /**
546
+ * Renders the given node. For internal use.
547
+ * @param n
548
+ * @param eventInfo
549
+ * @internal
550
+ */
551
+ $doRenderNode(n: Node, eventInfo?: any): void;
552
+ /**
553
+ * Re-renders the given node, unless it has not yet been rendered, in which case we just call doRenderNode
554
+ * @param n
555
+ * @internal
556
+ */
557
+ $reRenderNode(n: Node): void;
558
+ /**
559
+ * Renders the given group. For internal use.
560
+ * @param g
561
+ * @param eventInfo
562
+ * @internal
563
+ */
564
+ $doRenderGroup(g: Group, eventInfo?: any): void;
565
+ /**
566
+ * Paints the given overlay.
567
+ * @internal
568
+ * @param o
569
+ * @param params Params that were returned from the `$drawOverlay` method
570
+ * @param parentOrigin
571
+ */
572
+ $paintOverlay(o: Overlay<BrowserElement>, params: OverlayPaintParams, parentOrigin: PointXY): void;
573
+ /**
574
+ * Sets the visibility of some overlay.
575
+ * @param o - Overlay to hide or show
576
+ * @param visible - If true, make the overlay visible, if false, make the overlay invisible.
577
+ */
578
+ setOverlayVisible(o: Overlay<BrowserElement>, visible: boolean): void;
579
+ /**
580
+ * @internal
581
+ * @param o
582
+ * @param c
583
+ */
584
+ $reattachOverlay(o: Overlay<BrowserElement>, c: Connection<BrowserElement>): void;
585
+ /**
586
+ * @internal
587
+ * @param o
588
+ * @param hover
589
+ */
590
+ $setOverlayHover(o: Overlay<BrowserElement>, hover: boolean): void;
591
+ /**
592
+ * @internal
593
+ * @param o
594
+ */
595
+ destroyOverlay(o: Overlay<BrowserElement>): void;
596
+ /**
597
+ * Computes what needs to be drawn for an overlay, given the overlay, the path inscribed by the connector, its paint style, and an optional absolute position. I have attempted to make this method as standalone as possible, so that it can be used to draw representations of overlays outside of the context of an edge in a surface, like for an inspector where someone can choose line type etc
598
+ * @internal
599
+ * @param o Overlay to compute
600
+ * @param connectorPath The path on which the overlay resides.
601
+ * @param paintStyle
602
+ * @param absolutePosition
603
+ */
604
+ $drawOverlay(o: Overlay<BrowserElement>, connectorPath: ConnectorPath, paintStyle: PaintStyle, absolutePosition?: PointXY): OverlayPaintParams;
605
+ /**
606
+ * @internal
607
+ * @param o
608
+ */
609
+ updateLabel(o: LabelOverlay<BrowserElement>): void;
610
+ /**
611
+ * @internal
612
+ * @param connection
613
+ * @param hover
614
+ */
615
+ $setHover(connection: Connection<BrowserElement>, hover: boolean): void;
616
+ /**
617
+ * @internal
618
+ * @param connection
619
+ * @param paintStyle
620
+ */
621
+ $paintConnector(connection: Connection<BrowserElement>, paintStyle: PaintStyle): void;
622
+ /**
623
+ * @internal
624
+ * @param connection
625
+ * @param hover
626
+ */
627
+ $setConnectorHover(connection: Connection<BrowserElement>, hover: boolean): void;
628
+ /**
629
+ * @internal
630
+ * @param connection
631
+ */
632
+ $destroyConnector(connection: Connection<any>): void;
633
+ /**
634
+ * @internal
635
+ * @param connector
636
+ * @param clazz
637
+ */
638
+ $addConnectorClass(connector: Connector, clazz: string): void;
639
+ /**
640
+ * @internal
641
+ * @param connector
642
+ * @param clazz
643
+ */
644
+ $removeConnectorClass(connector: Connector, clazz: string): void;
645
+ /**
646
+ * @internal
647
+ * @param connector
648
+ */
649
+ $getConnectorClass(connector: Connector): string;
650
+ /**
651
+ * @internal
652
+ * @param connector
653
+ * @param v
654
+ */
655
+ $setConnectorVisible(connector: Connector, v: boolean): void;
656
+ /**
657
+ * @internal
658
+ * @param connector
659
+ * @param t
660
+ */
661
+ $applyConnectorType(connector: Connector, t: TypeDescriptorBase): void;
662
+ /**
663
+ * @override
664
+ * @param deletion
665
+ * @internal
666
+ */
667
+ $nodeRemoved(deletion: NodeRemovedParams): ViewportElement<BrowserElement>;
668
+ /**
669
+ * Notification from the model that a group was removed. We hand off to the core first, then we remove the group's element from any drag groups, and instruct the template renderer to cleanup the group element.
670
+ * @internal
671
+ */
672
+ $groupRemoved(deletion: GroupRemovedParams): ViewportGroupElement<BrowserElement>;
673
+ /**
674
+ * Adds a class to the DOM element represented by `el`, which can be a Selection, or an instance of many different types - see the `SupportsClassManipulation` interface for a complete list.
675
+ * @param el
676
+ * @param clazz
677
+ */
678
+ addClass(el: VisuallyJsSelection | SupportsClassManipulation, clazz: string): void;
679
+ /**
680
+ * Removes a class from the DOM element represented by `el`, which can be a Selection, or an instance of many different types - see the `SupportsClassManipulation` interface for a complete list.
681
+ * @param el
682
+ * @param clazz
683
+ *
684
+ */
685
+ removeClass(el: VisuallyJsSelection | SupportsClassManipulation, clazz: string): void;
686
+ /**
687
+ * Toggles a class on the DOM element represented by `el`, which can be a Selection, or an instance of many different types - see the {@link SupportsClassManipulation} type for a complete list.
688
+ * @param el
689
+ * @param clazz
690
+ */
691
+ toggleClass(el: VisuallyJsSelection | SupportsClassManipulation, clazz: string): void;
692
+ /**
693
+ * Returns whether the DOM element represented by `el` - which can be an Edge, Connection, Node, Group, DOM element, or ID of some model object - has the given class.
694
+ * @param el
695
+ * @param clazz
696
+ *
697
+ */
698
+ hasClass(el: SupportsClassManipulationElement, clazz: string): boolean;
699
+ /**
700
+ * @internal
701
+ * @param el
702
+ * @param clazz
703
+ * @param fn
704
+ */
705
+ private _classOperation;
706
+ /**
707
+ * @internal
708
+ * @param c
709
+ * @param v
710
+ * @private
711
+ */
712
+ $setConnectionVisible(c: Connection<BrowserElement>, v: boolean): void;
713
+ /**
714
+ * Manage an element. Adds the element to the viewport and sets up tracking for endpoints/connections for the element, as well as enabling dragging for the element. This method is called internally by various methods of the UI, such as `connect`, `addEndpoint`, `makeSource` and `makeTarget`, so if you use those methods to setup your UI then you may not need to call this. However, if you use the `addSourceSelector` and `addTargetSelector` methods to configure your UI then you will need to register elements using this method, or they will not be draggable.
715
+ * @param element - Element to manage. This method does not accept a DOM element ID as argument. If you wish to manage elements via their DOM element ID, you should use `manageAll` and pass in an appropriate CSS selector that represents your element, eg `#myElementId`.
716
+ * @param modelObject
717
+ * @param position
718
+ * @param size
719
+ * @param rotation
720
+ * @param _recalc - Maybe recalculate offsets for the element also. It is not recommended that clients of the API use this parameter; it's used in certain scenarios internally
721
+ * @internal
722
+ */
723
+ $manage(element: BrowserElement, modelObject: Vertex, position: PointXY, size: Size, rotation: number, _recalc: boolean): ViewportElement<BrowserElement>;
724
+ /**
725
+ * For some DOM element, find the model object it is mapping, and the related type definition for objects of that type.
726
+ * @param el
727
+ * @param asSource
728
+ * @private
729
+ * @internal
730
+ */
731
+ $getModelInfoForDragElement(el: BrowserElement, asSource: boolean, createMissingPorts: boolean): ElementModelInfo;
732
+ $isElement(obj: any): obj is BrowserElement;
733
+ getModelObjectFromElement(el: BrowserElement, searchAncestors: boolean, createMissingPorts: boolean): {
734
+ obj: Node | Group | Port | Edge;
735
+ el: VisuallyJSDOMElement;
736
+ missingPortCreated: boolean;
737
+ } | null;
738
+ /**
739
+ * Gets the DOM node that was rendered for the Port with the given id (does not retrieve `vjs-endpoint` elements)
740
+ * @param portIdOrPort Either the port, or the id of the port for which to retrieve the rendered element. Note that you must supply a "full" id here, that is in dotted notation with the id of the Node/Group on which the port resides.
741
+ * @returns DOM element for the given Port, null if not found.
742
+ */
743
+ getRenderedPort(portIdOrPort: string | Port): BrowserElement;
744
+ /**
745
+ * @internal
746
+ * @param e
747
+ * @private
748
+ */
749
+ $isSupportedElement(e: any): e is BrowserElement;
750
+ /**
751
+ * Invoked after a layout refresh
752
+ * @internal
753
+ * @param p
754
+ * @private
755
+ */
756
+ $afterRefresh(p: LayoutResultSet): void;
757
+ /**
758
+ * invoked after a full relayout.
759
+ * @internal
760
+ * @param p
761
+ * @private
762
+ */
763
+ $afterRelayout(p: LayoutResultSet): void;
764
+ $zoomToFit(params?: ZoomToFitOptions): void;
765
+ $zoomToFitIfNecessary(params?: ZoomToFitIfNecessaryOptions): void;
766
+ $zoomToElements(params?: ZoomToElementsOptions<BrowserElement>): void;
767
+ /**
768
+ * A transient vertex is a blank SVG element in this renderer - regardless of the container type.
769
+ * @internal
770
+ * @param position
771
+ * @param size
772
+ * @param data
773
+ * @param style
774
+ * @param clazz
775
+ * @param atts
776
+ */
777
+ $renderTransientVertex(position: PointXY, size: Size, data?: ObjectData, style?: Record<string, any>, clazz?: string, atts?: Record<string, string>): SVGElement;
778
+ /**
779
+ * For some node/group, get the element that was used to render it.
780
+ * @param obj
781
+ */
782
+ getRenderedElement(obj: string | Base): BrowserElement;
783
+ /**
784
+ * Gets the current zoom. This class returns the programmatic zoom level, which may not be what the user sees. Subclasses will generally override this.
785
+ *
786
+ */
787
+ getZoom(): number;
788
+ /**
789
+ * Gets the zoom as seen by the user. This class does not attempt to implement this method, instead assuming that the zoom is as set on the instance. Subclasses will generally override this.
790
+ */
791
+ getEffectiveVisibleZoom(): number;
792
+ /**
793
+ * @internal
794
+ */
795
+ getShapeLibrary(): ShapeLibrary<ObjectData>;
796
+ /**
797
+ * Gets the list of edge property mappings this UI is using. May be an empty list.
798
+ * @internal
799
+ */
800
+ $getEdgePropertyMappings(): EdgePropertyMappings;
801
+ /**
802
+ * Sets whether rendering is suspended or not.
803
+ * @param val
804
+ * @param thenRefresh If true, the surface will refresh after the change in state.
805
+ */
806
+ setSuspendRendering(val: boolean, thenRefresh?: boolean): void;
807
+ /**
808
+ * @internal
809
+ */
810
+ isSuspendRendering(): boolean;
811
+ protected $getCollapsedGroupSize(group: Group, currentSize: Size): Size;
812
+ /**
813
+ * Draw an edge from source point to target point, returning an SVG element. For internal use.
814
+ * @param properties object containing simple edge properties to apply, may be empty.
815
+ * @param source Source of the edge
816
+ * @param target Target of the edge
817
+ * @param overlays List of overlays to draw on the edge. May be empty.
818
+ * @param sampleData Optional data to use to populate parameterised overlays such as labels.
819
+ * @internal
820
+ */
821
+ $drawAdHocEdge(properties: ObjectData, source: PointXY, target: PointXY, overlays?: Array<OverlaySpec>, sourceMarker?: OverlaySpec, targetMarker?: OverlaySpec, sampleData?: ObjectData): HTMLElement;
822
+ /**
823
+ * Moves the specified element or vertex to the back of its parent’s children in the DOM order. Optionally moves its ancestors to the back as well.
824
+ * @param {string | Vertex | BrowserElement} v - The element, vertex, or browser element to be moved to the back.
825
+ * @param {boolean} [alsoSendAncestorsToBack] - If true, the ancestors of the specified element are also moved to the back.
826
+ * @return {void} No return value.
827
+ */
828
+ toBack(v: string | Vertex | BrowserElement, alsoSendAncestorsToBack?: boolean): void;
829
+ /**
830
+ * Brings the specified element or vertex to the front within its parent container.
831
+ * Optionally, this method can also ensure all ancestor elements are brought to the front.
832
+ * @param {string | Vertex | BrowserElement} v - The element or vertex to be brought to the front. This can be a string identifier, a `Vertex` object, or a `BrowserElement`.
833
+ * @param {boolean} [alsoBringAncestorsToFront=false] - Indicates whether the ancestors of the specified element should also be brought to the front. Defaults to `false`.
834
+ * @return {void} This method does not return a value.
835
+ */
836
+ toFront(v: string | Vertex | BrowserElement, alsoBringAncestorsToFront?: boolean): void;
837
+ /**
838
+ * Directly sets the size of a group element (using the `setSize` method, which abstracts out if its an HTML or SVG element). If the group element is an SVG element then that element is the one that is resized. Otherwise if the group element is an HTML element, we resize its content area, because we can then let CSS be applied.
839
+ * @internal
840
+ * @param group
841
+ * @param size
842
+ * @private
843
+ */
844
+ $setGroupElementSize(group: Group, size: Size): void;
845
+ /**
846
+ * Sets the UI mode. In the base class this method has an empty implementation.
847
+ * @param mode
848
+ * @param doNotClearSelection
849
+ */
850
+ setMode(mode: string, doNotClearSelection?: boolean): void;
851
+ /**
852
+ * Wraps the underlying model's `batch` function with the added step of first suspending events being fired from this renderer.
853
+ * @param fn Function to run while rendering and events are both suspended.
854
+ */
855
+ batch(fn: () => any): void;
856
+ /**
857
+ * Sets whether the given vertex is enabled for connection drag/drop.
858
+ * @param v The vertex to set enabled state for.
859
+ * @param state
860
+ */
861
+ setEnabled(v: Vertex, state: boolean): boolean;
862
+ /**
863
+ * Flash the given vertex or vertices.
864
+ * @param vertices Either a vertex, a vertex id, or an element, or an array of any of these.
865
+ * @param duration Optional; defaults to 1000ms. Duration of the animation in milliseconds.
866
+ * @param animName Optional; the name of the CSS animation to apply. Defaults to ANIM_SURFACE_ELEMENT_FLASH.
867
+ */
868
+ flashVertex(vertices: string | Node | Group | Element | Array<string | Node | Group | Element>, duration?: number, animName?: string): void;
869
+ /**
870
+ * Flash the nodes and groups in the given selection.
871
+ * @param sel Selection to flash nodes and groups for
872
+ * @param duration Optional; defaults to 1000ms. Duration of the animation, in milliseconds.
873
+ * @param animName Optional; the name of the CSS animation to apply. Defaults to ANIM_SURFACE_ELEMENT_FLASH.
874
+ */
875
+ flashSelection(sel: VisuallyJsSelection, duration: number, animName: string): void;
876
+ /**
877
+ * When the UI is rendering a Selection, this method triggers a reload on the selection, causing the UI to be cleared and recreated.
878
+ *
879
+ */
880
+ reload(): void;
881
+ }