@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,74 @@
1
+ import { Node, Group, Base, Port, Edge, Vertex } from './model/graph';
2
+ import { EdgeAddedParams, EdgeRemovedParams, EdgeSourceChangedParams, EdgeTargetChangedParams, GroupAddedParams, GroupMemberAddedParams, GroupMemberRemovedParams, GroupRemovedParams, NodeAddedParams, NodeRemovedParams, PortAddedParams, PortRemovedParams, VertexUpdatedParams } from "./params";
3
+ import { VisuallyJsSelection } from "./selection";
4
+ /**
5
+ * Definition of a gradient - an array of [offset, color] entries.
6
+ */
7
+ export type GradientSpec = Array<[number, string]>;
8
+ /**
9
+ * Definition of an object that can render an instance of {@link VisuallyJsModel}. This interface is not something a user of the API needs to be concerned with, unless you are creating your own renderer type.
10
+ */
11
+ export interface VisuallyJsRenderer<E, EVT = any> {
12
+ id: string;
13
+ bind(evt: EVT, payload: any): void;
14
+ onDestroy(cb: (r: VisuallyJsRenderer<E>) => any): void;
15
+ /**
16
+ * Sets the position of some vertex and updates the model. This method will honour any grid that is currently in effect.
17
+ */
18
+ setPosition(vertex: Node | Group | E, x: number, y: number): void;
19
+ setSuspendRendering(v: boolean, thenRefresh?: boolean): void;
20
+ expandGroup(group: Group): void;
21
+ collapseGroup(group: Group): void;
22
+ $nodeAdded(p: NodeAddedParams): void;
23
+ $groupAdded(p: GroupAddedParams): void;
24
+ $edgeAdded(data: EdgeAddedParams, context?: Record<string, any>): void;
25
+ $portAdded(p: PortAddedParams): void;
26
+ $nodeRemoved(node: NodeRemovedParams): void;
27
+ $groupRemoved(group: GroupRemovedParams): void;
28
+ $edgeRemoved(data: EdgeRemovedParams): void;
29
+ $portRemoved(data: PortRemovedParams): void;
30
+ /**
31
+ * export the geometry for some edge. Used by the model when the geometry is set on an
32
+ * edge that does not currently have a geometry object.
33
+ * @param edge
34
+ * @internal
35
+ */
36
+ $exportEdgeGeometry(edge: Edge): any;
37
+ $edgeGeometryUpdated(edge: Edge, geometry: any, originalGeometry: any): void;
38
+ $nodeTypeChanged(node: Node, previousType: string, newType: string): void;
39
+ $groupTypeChanged(group: Group, previousType: string, newType: string): void;
40
+ $edgeTypeChanged(edge: Edge, previousType: string, newType: string): void;
41
+ $portTypeChanged(port: Port, previousType: string, newType: string): void;
42
+ $groupMemberAdded(p: GroupMemberAddedParams): void;
43
+ $groupMemberRemoved(p: GroupMemberRemovedParams): void;
44
+ $vertexUpdated(p: VertexUpdatedParams): void;
45
+ $graphClearStart(): void;
46
+ $graphClearEnd(): void;
47
+ $edgeSourceChanged(params: EdgeSourceChangedParams): void;
48
+ $edgeTargetChanged(params: EdgeTargetChangedParams): void;
49
+ $select(payload: {
50
+ obj: Base;
51
+ selection: VisuallyJsSelection;
52
+ }): void;
53
+ $deselect(payload: {
54
+ selection: VisuallyJsSelection;
55
+ obj: Base;
56
+ }): void;
57
+ $selectionCleared(sel: VisuallyJsSelection): any;
58
+ $dataLoadStart(): any;
59
+ $dataAppendStart(): any;
60
+ $dataLoadEnd(): any;
61
+ $dataAppendEnd(): any;
62
+ $renderDummyVertex(v: Vertex): void;
63
+ }
64
+ /**
65
+ * A lightweight interface for UIs to respond to interactivity events
66
+ * propagated by the model.
67
+ * @group Model
68
+ * @internal
69
+ */
70
+ export interface UIObserver {
71
+ onHover?: (source: UIObserver, obj: Base, state: boolean) => void;
72
+ onSelect?: (source: UIObserver, obj: Base, state: boolean) => void;
73
+ onTap?: (source: UIObserver, obj: Base, event: MouseEvent) => void;
74
+ }
@@ -0,0 +1,104 @@
1
+ import { PointXY, Size } from "../util";
2
+ import { OrthogonalRouterMode } from "./orthogonal-router";
3
+ import { X, Y } from "../constants";
4
+ export type OrientationAxis = typeof X | typeof Y;
5
+ /**
6
+ * @internal
7
+ * @param gates
8
+ */
9
+ export declare function createGateMap(gates: Array<Gate>): Record<string, Gate>;
10
+ export type RouterLine = {
11
+ source: PointXY;
12
+ target: PointXY;
13
+ id: string;
14
+ };
15
+ /**
16
+ * @internal
17
+ * @param line
18
+ */
19
+ export declare function routerLineSgn(line: RouterLine, axis: number): number;
20
+ /**
21
+ * @internal
22
+ * @param line1
23
+ * @param line2
24
+ */
25
+ export declare function routerLineIntersects(line1: RouterLine, line2: RouterLine, axis: number): boolean;
26
+ export interface RouterEdge {
27
+ id: string;
28
+ pathDirection: number;
29
+ sourceId: string;
30
+ targetId: string;
31
+ path: Array<GateId>;
32
+ }
33
+ /**
34
+ * @internal
35
+ * @param edges
36
+ * @param gates
37
+ * @param gateMap
38
+ * @param getVertexPosition
39
+ * @param getVertexSize
40
+ */
41
+ export declare function sortAndPlaceEdges(edges: Array<RouterEdge>, gates: Array<Gate>, gateMap: Record<string, Gate>, getVertexPosition: (id: string) => PointXY, getVertexSize: (id: string) => Size): void;
42
+ export interface RoutingInformation<T extends RouterRegion = RouterRegion> {
43
+ gateMap?: Record<string, Gate>;
44
+ gates: Array<Gate>;
45
+ edges: Array<RouterEdge>;
46
+ regions: Array<T>;
47
+ edgeMap: Record<string, RouterEdge>;
48
+ }
49
+ /**
50
+ * Helper functions for a router. Would be best refactored out of existence probably.
51
+ * @internal
52
+ */
53
+ export interface RouterOptions<T extends RouterRegion = RouterRegion> extends RoutingInformation<T> {
54
+ getVertexPosition: (id: string) => PointXY;
55
+ getVertexSize: (id: string) => Size;
56
+ }
57
+ export interface RouterRegion {
58
+ id: string;
59
+ left: number;
60
+ top: number;
61
+ width: number;
62
+ height: number;
63
+ lines: Array<RouterLine>;
64
+ }
65
+ /**
66
+ * @internal
67
+ */
68
+ export interface EdgeRouterOptions<T extends RouterRegion = RouterRegion> extends RouterOptions<T> {
69
+ mode?: OrthogonalRouterMode;
70
+ pad?: number;
71
+ axis: number;
72
+ }
73
+ export type GateId = string;
74
+ /**
75
+ * The gate between two regions. A gate is a region in the plane of either the x or y axis (axis === 0 for x, 1 for y), and
76
+ * consists of a segment that is a line in that axis, having a start and end point.
77
+ * @internal
78
+ */
79
+ export interface Gate<E extends RouterEdge = RouterEdge> {
80
+ id: GateId;
81
+ a: {
82
+ id: string;
83
+ type: string;
84
+ };
85
+ b: {
86
+ id: string;
87
+ type: string;
88
+ };
89
+ axis: number;
90
+ segment: {
91
+ point1: number;
92
+ point2: number;
93
+ };
94
+ length: number;
95
+ otherAxisLocation: number;
96
+ midpoint: PointXY;
97
+ edges: Array<{
98
+ edge: E;
99
+ next: Gate;
100
+ location?: number;
101
+ }>;
102
+ }
103
+ export type GatedPath = Array<Gate>;
104
+ export declare function populateRegions(edges: Array<RouterEdge>, regions: Array<RouterRegion>, gateMap: Record<string, Gate>): void;
@@ -0,0 +1,12 @@
1
+ import { EdgeRouterOptions } from "./common";
2
+ import { PointXY } from "../util";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface DirectRouterOptions extends EdgeRouterOptions {
7
+ }
8
+ /**
9
+ * @internal
10
+ * @param options
11
+ */
12
+ export declare function directRouter(options: DirectRouterOptions): Record<string, Array<PointXY>>;
@@ -0,0 +1,3 @@
1
+ export * from './common';
2
+ export * from './orthogonal-router';
3
+ export * from './direct-router';
@@ -0,0 +1,46 @@
1
+ import { RouterLine, RouterRegion, EdgeRouterOptions } from "./common";
2
+ import { PointXY } from "../util";
3
+ /**
4
+ * Identifies the 'separate' orthogonal router mode.
5
+ * @group Plugins
6
+ * @category Edge Routing
7
+ * @constant
8
+ */
9
+ export declare const ORTHOGONAL_ROUTER_MODE_SEPARATE = "separate";
10
+ /**
11
+ * Identifies the 'bus' orthogonal router mode.
12
+ * @group Plugins
13
+ * @category Edge Routing
14
+ * @constant
15
+ */
16
+ export declare const ORTHOGONAL_ROUTER_MODE_BUS = "bus";
17
+ /**
18
+ * How to draw edges in 'orthogonal' mode in the {@link EdgeRoutingPlugin}. `bus` collates lines that are traversing a segment together into one line. `separate` draws lines that are traversing a segment together as parallel lines.
19
+ * @group Plugins
20
+ * @category Edge Routing
21
+ */
22
+ export type OrthogonalRouterMode = typeof ORTHOGONAL_ROUTER_MODE_BUS | typeof ORTHOGONAL_ROUTER_MODE_SEPARATE;
23
+ /**
24
+ * @internal
25
+ */
26
+ export interface OrthogonalRouterOptions extends EdgeRouterOptions<OrthogonalRouterRegion> {
27
+ axis: number;
28
+ mode?: OrthogonalRouterMode;
29
+ pad?: number;
30
+ }
31
+ /**
32
+ * @internal
33
+ */
34
+ export interface OrthogonalRouterRegion extends RouterRegion {
35
+ lineSets: Array<Array<RouterLine>>;
36
+ }
37
+ /**
38
+ * Route a set of orthogonal lines through a series of regions.
39
+ * @param gates
40
+ * @param edges
41
+ * @param vertices
42
+ * @param regions
43
+ * @param mode
44
+ * @internal
45
+ */
46
+ export declare function orthogonalRouter(options: OrthogonalRouterOptions): Record<string, Array<PointXY>>;
@@ -0,0 +1,24 @@
1
+ import { ObjectData } from "../model/graph";
2
+ import { RectangleXY } from "../util";
3
+ /**
4
+ * Base region used by RTree
5
+ * @internal
6
+ */
7
+ export interface RTreeRegion extends RectangleXY {
8
+ data?: ObjectData;
9
+ children: Array<RTreeRegion>;
10
+ parent?: RTreeRegion;
11
+ id?: string;
12
+ }
13
+ /**
14
+ * Default max child count for RTree nodes
15
+ * @internal
16
+ */
17
+ export declare const RTREE_DEFAULT_MAX_CHILD_ENTRIES = 4;
18
+ /**
19
+ * A data node in an RTree
20
+ * @internal
21
+ */
22
+ export interface RTreeDataNode extends RTreeRegion {
23
+ id: string;
24
+ }
@@ -0,0 +1,9 @@
1
+ import { RectangleXY } from "../util";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const HilbertCurves: {
6
+ sortRect: <T extends RectangleXY>(listOfRectangles: Array<T>) => Array<T>;
7
+ toHilbertCoordinates: (maxCoordinate: number, x: number, y: number) => number;
8
+ hilbertInterleaveBits: (odd: number, even: number) => number;
9
+ };
@@ -0,0 +1,4 @@
1
+ export * from './definitions';
2
+ export * from './hilbert';
3
+ export * from './rtree';
4
+ export * from './util';
@@ -0,0 +1,102 @@
1
+ import { RTreeDataNode, RTreeRegion } from "./definitions";
2
+ import { ObjectData } from "../model/graph";
3
+ import { Extents, LineXY, RectangleXY } from "../util";
4
+ /**
5
+ * Options for an rtree search
6
+ * @internal
7
+ */
8
+ export interface RTreeSearchOptions {
9
+ /**
10
+ * Padding to put around every object we test. Defaults to 0.
11
+ */
12
+ margin?: number;
13
+ /**
14
+ * Whether or not to return as soon as one hit is found. Defaults to false.
15
+ */
16
+ greedy?: boolean;
17
+ /**
18
+ * Minimum overlap, in units squared, required before a match is made.
19
+ */
20
+ minimumOverlap?: number;
21
+ }
22
+ /**
23
+ * An RTree. Used internally to facilitate fast spatial querying.
24
+ * @internal
25
+ */
26
+ export declare class RTree {
27
+ private readonly _maxNodes;
28
+ private _root;
29
+ private _dataNodes;
30
+ constructor(maxNodes?: number);
31
+ search(searchBoundary: RectangleXY, options?: RTreeSearchOptions): Array<RTreeDataNode>;
32
+ searchAndRank(searchBoundary: RectangleXY, options?: RTreeSearchOptions): Array<{
33
+ node: RTreeDataNode;
34
+ overlap: number;
35
+ }>;
36
+ private _search;
37
+ /**
38
+ * Find all data nodes that the given line intersects with, optionally ignoring
39
+ * some list of IDs.
40
+ * @param l
41
+ * @param ignoreIds
42
+ */
43
+ findIntersectionsWithLine(l: LineXY, ignoreIds?: Array<string>): Array<RTreeDataNode>;
44
+ insert(data: Array<RTreeRegion | RTreeDataNode> | RTreeRegion | RTreeDataNode): void;
45
+ private _balanceTreePath;
46
+ private _recursiveTreeLayer;
47
+ /**
48
+ * Loads tree data. Caution: this method clears the tree before loading. It is not an incremental add.
49
+ * @param listOfData
50
+ */
51
+ load(listOfData: Array<RTreeDataNode>): void;
52
+ /**
53
+ * Gets the bounds of the root element of the tree - which encompasses all the children.
54
+ */
55
+ getBounds(): RectangleXY;
56
+ /**
57
+ * @deprecated
58
+ */
59
+ getExtents(): Extents;
60
+ /**
61
+ * Finds the record with the given ID and removes it if found, rebalancing the tree afterwards.
62
+ * @param id
63
+ */
64
+ removeById(id: string): RTreeRegion;
65
+ /**
66
+ * Internal method to remove a record. This method takes an optional list of nodes to add to the nodes we're reinserting
67
+ * after the record has been removed - an optimisation for the update case.
68
+ * @param r
69
+ * @param nodesToInsertAfterRemove
70
+ * @internal
71
+ */
72
+ private _doRemove;
73
+ /**
74
+ * Search for a data record by ID. This method is for retrieving data elements stored in the tree, not for searching the
75
+ * tree's rectangles.
76
+ * @param id
77
+ */
78
+ searchById(id: string): RTreeRegion;
79
+ /**
80
+ * Update the position of the given record. Internally this just removes the record and re-inserts it.
81
+ * @param id
82
+ * @param x
83
+ * @param y
84
+ * @param width
85
+ * @param height
86
+ * @param data
87
+ * @internal
88
+ */
89
+ update(id: string, x: number, y: number, width: number, height: number, data?: ObjectData): void;
90
+ clear(): void;
91
+ /**
92
+ * For debug purposes mostly.
93
+ * @internal
94
+ */
95
+ getLeafNodes(): Array<RTreeDataNode>;
96
+ /**
97
+ * Get all of the leaf nodes under the given focus.
98
+ * @param focus
99
+ * @private
100
+ */
101
+ private _findLeafNodes;
102
+ }
@@ -0,0 +1,55 @@
1
+ import { RTreeRegion } from "./definitions";
2
+ export declare function _growToFit(rectToGrow: RTreeRegion, otherRect: RTreeRegion): void;
3
+ /**
4
+ * Adjust the bounds of `rect` so that they fit the bounds of its children, then if the rect has a parent, traverse up to the parent
5
+ * and invoke the method again.
6
+ * @param rect
7
+ * @private
8
+ */
9
+ export declare function _updateRTreeRegionBounds(rect: RTreeRegion): void;
10
+ export declare function _areaIfGrownBy(rectToGrow: RTreeRegion, otherRect: RTreeRegion): number;
11
+ export declare function splitIntoSiblings(r: RTreeRegion): [RTreeRegion, RTreeRegion];
12
+ /**
13
+ * Create a new, empty, RTree region
14
+ * @private
15
+ * @internal
16
+ */
17
+ export declare function _emptyRTreeRegion(id?: string): RTreeRegion;
18
+ /**
19
+ * Return whether or not the given region is a leaf
20
+ * @param r
21
+ * @internal
22
+ */
23
+ export declare function _isLeaf(r: RTreeRegion): boolean;
24
+ /**
25
+ * Return whether or not the given region has one or more leaf nodes
26
+ * @param r
27
+ * @internal
28
+ */
29
+ export declare function _hasLeafNodes(r: RTreeRegion): boolean;
30
+ /**
31
+ * Insert the given child into the given parent, set the parent flag on the child, and grow the parent to fit the new child.
32
+ * @param parentRect
33
+ * @param childRect
34
+ * @internal
35
+ */
36
+ export declare function insertRTreeChild(parentRect: RTreeRegion, childRect: RTreeRegion): void;
37
+ /**
38
+ * removes the given childRect from parentRect, by taking it out of parentRect's `children`. That is all this method does; there is
39
+ * no reordering of the tree. This method is designed to be used in conjunction with other methods that operate on the tree.
40
+ * @param parentRect
41
+ * @param childRect
42
+ * @internal
43
+ */
44
+ export declare function removeRTreeChild(parentRect: RTreeRegion, childRect: RTreeRegion): boolean;
45
+ /**
46
+ * @internal
47
+ * @param a
48
+ */
49
+ export declare function flatten(a: Array<any>): Array<any>;
50
+ /**
51
+ * @internal
52
+ * @param a
53
+ * @param mapFunc
54
+ */
55
+ export declare function minBy<T, Q>(a: Array<T>, mapFunc: (t: T) => Q): T;
@@ -0,0 +1 @@
1
+ export * from './visuallyjs-search';
@@ -0,0 +1,167 @@
1
+ import { Edge, Group, Port, Node, VisuallyJsModel } from "..";
2
+ /**
3
+ * @internal
4
+ */
5
+ export type Token = {
6
+ token: string;
7
+ context: string;
8
+ };
9
+ /**
10
+ * @internal
11
+ */
12
+ export type Tokenizer = (s: string) => Array<Token>;
13
+ /**
14
+ * @internal
15
+ */
16
+ export declare function WhitespaceReplacingTokenizer(value: string): Array<Token>;
17
+ /**
18
+ * @internal
19
+ */
20
+ export declare function DefaultSearchTokenizer(value: string): Array<Token>;
21
+ /**
22
+ * @internal
23
+ */
24
+ export type Sorter = (a: HasScore, b: HasScore) => number;
25
+ export type SearchDocumentIdFunction = (doc: any) => string;
26
+ export interface HasScore {
27
+ score: number;
28
+ }
29
+ export interface Hit extends HasScore {
30
+ document: any;
31
+ contexts: Array<string>;
32
+ }
33
+ /**
34
+ * Options for the search index.
35
+ * @group Search
36
+ */
37
+ export interface SearchIndexOptions {
38
+ /**
39
+ * Optional list of fields to index. By default this is empty, meaning all fields (minus any `exclusions`) will be indexed.
40
+ */
41
+ fields?: Array<string>;
42
+ /**
43
+ * Optional limit for the number of result a search should return. Defaults to 10.
44
+ */
45
+ limit?: number;
46
+ /**
47
+ * Optional list of field names to omit from the documents stored for each node. This means that any field in this list will not be indexed.
48
+ */
49
+ exclusions?: Array<string>;
50
+ /**
51
+ * Whether or not the search index should ignore case. By default this is false.
52
+ */
53
+ caseSensitive?: boolean;
54
+ /**
55
+ * @internal
56
+ */
57
+ idFunction?: SearchDocumentIdFunction;
58
+ /**
59
+ * Function to use for sorting. Only "by score" is currently supported.
60
+ * @internal
61
+ */
62
+ sorter?: Sorter;
63
+ /**
64
+ * The tokenizer to use to split each field up into its parts.
65
+ * @internal
66
+ */
67
+ tokenizer?: Tokenizer;
68
+ /**
69
+ * The tokenizer to use to split a search term up into multiple matches. Not currently supported.
70
+ * @internal
71
+ */
72
+ searchTokenizer?: Tokenizer;
73
+ }
74
+ /**
75
+ * A document in the search index.
76
+ * @group Search
77
+ */
78
+ export interface IndexDocument extends HasScore {
79
+ document: any;
80
+ }
81
+ /**
82
+ * @internal
83
+ */
84
+ export interface IndexEntry {
85
+ index: number;
86
+ children: any;
87
+ documentIds: any;
88
+ key: string;
89
+ }
90
+ /**
91
+ * Index for a dataset
92
+ * @group Search
93
+ * @internal
94
+ */
95
+ declare class DatasetIndex {
96
+ fields: Array<string>;
97
+ root: IndexEntry;
98
+ tokenizer: Tokenizer;
99
+ searchTokenizer: Tokenizer;
100
+ limit: number;
101
+ exclusions: Array<string>;
102
+ caseSensitive: boolean;
103
+ idFunction: SearchDocumentIdFunction;
104
+ sorter: Sorter;
105
+ private _nodeIdx;
106
+ private _makeNode;
107
+ private _documentMap;
108
+ private _documentList;
109
+ private _documentCount;
110
+ private _nodeMap;
111
+ constructor(options?: SearchIndexOptions);
112
+ private _storeNodeReferenceForDocument;
113
+ private _addToken;
114
+ private removeExclusions;
115
+ add(doc: any): void;
116
+ addAll(...docs: Array<any>): void;
117
+ reindex(doc: any): void;
118
+ remove(doc: any): void;
119
+ clear(): void;
120
+ getDocumentCount(): number;
121
+ getDocumentList(): Array<IndexDocument>;
122
+ getDocument(id: string): IndexDocument;
123
+ search(q: string, searchLimit?: number): Array<Hit>;
124
+ }
125
+ /**
126
+ * Results from a text search
127
+ * @group Search
128
+ */
129
+ export type SearchResults = {
130
+ /**
131
+ * List of matching nodes found
132
+ */
133
+ nodes: Array<Node>;
134
+ /**
135
+ * List of matching groups found
136
+ */
137
+ groups: Array<Group>;
138
+ /**
139
+ * List of matching edges found
140
+ */
141
+ edges: Array<Edge>;
142
+ /**
143
+ * List of matching ports found
144
+ */
145
+ ports: Array<Port>;
146
+ };
147
+ /**
148
+ * Search index.
149
+ * @group Search
150
+ */
151
+ export declare class Index {
152
+ instance: VisuallyJsModel;
153
+ nodeIndex: DatasetIndex;
154
+ groupIndex: DatasetIndex;
155
+ edgeIndex: DatasetIndex;
156
+ portIndex: DatasetIndex;
157
+ constructor(instance: VisuallyJsModel, options?: SearchIndexOptions);
158
+ private _indexNode;
159
+ private _indexGroup;
160
+ private _indexEdge;
161
+ /**
162
+ * Search the index for the given string.
163
+ * @param value
164
+ */
165
+ search(value: string): SearchResults;
166
+ }
167
+ export {};