higlass 1.13.6 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/app/scripts/AddTrackDialog.jsx +8 -1
  2. package/app/scripts/AddTrackPositionMenu.jsx +26 -5
  3. package/app/scripts/Annotations1dTrack.js +90 -251
  4. package/app/scripts/Annotations2dTrack.js +9 -2
  5. package/app/scripts/Autocomplete.jsx +1 -9
  6. package/app/scripts/BedLikeTrack.js +549 -441
  7. package/app/scripts/ContextMenuContainer.jsx +3 -0
  8. package/app/scripts/ContextMenuItem.jsx +13 -2
  9. package/app/scripts/FilledLine.js +349 -0
  10. package/app/scripts/GenomePositionSearchBox.jsx +178 -477
  11. package/app/scripts/HiGlassComponent.jsx +443 -349
  12. package/app/scripts/HiGlassComponentContext.js +5 -0
  13. package/app/scripts/SeriesListMenu.jsx +94 -44
  14. package/app/scripts/SeriesListSubmenuMixin.jsx +1 -0
  15. package/app/scripts/Tiled1DPixiTrack.js +0 -1
  16. package/app/scripts/TiledPixiTrack.js +72 -63
  17. package/app/scripts/TiledPlot.jsx +530 -77
  18. package/app/scripts/TrackRenderer.jsx +2 -2
  19. package/app/scripts/ViewContextMenu.jsx +50 -2
  20. package/app/scripts/ViewHeader.jsx +3 -2
  21. package/app/scripts/api.js +87 -6
  22. package/app/scripts/configs/index.js +6 -1
  23. package/app/scripts/configs/primitives.js +2 -0
  24. package/app/scripts/configs/tracks-info.js +1 -0
  25. package/app/scripts/data-fetchers/genbank-fetcher.js +9 -14
  26. package/app/scripts/data-fetchers/local-tile-fetcher.js +8 -2
  27. package/app/scripts/hglib.jsx +61 -70
  28. package/app/scripts/options-info.js +49 -11
  29. package/app/scripts/services/tile-proxy.js +0 -4
  30. package/app/scripts/services/worker.js +1 -0
  31. package/app/scripts/test-helpers/index.js +2 -1
  32. package/app/scripts/test-helpers/test-helpers.jsx +154 -66
  33. package/app/scripts/types.ts +68 -3
  34. package/app/scripts/utils/copy-text-to-clipboard.js +36 -0
  35. package/app/scripts/utils/decompress.js +33 -0
  36. package/app/scripts/utils/default-tracks.js +46 -0
  37. package/app/scripts/utils/get-default-track-for-datatype.js +2 -1
  38. package/app/scripts/utils/get-default-tracks-for-datatype.ts +46 -0
  39. package/app/scripts/utils/index.js +1 -0
  40. package/app/scripts/utils/positioned-tracks-to-all-tracks.js +55 -0
  41. package/app/scripts/utils/show-mouse-position.js +0 -16
  42. package/app/scripts/utils/visit-positioned-tracks.js +4 -1
  43. package/app/styles/AddTrackPositionMenu.module.scss +37 -0
  44. package/app/styles/HiGlass.module.scss +3 -1
  45. package/app/styles/TiledPlot.module.scss +20 -0
  46. package/dist/app/schema.json +525 -0
  47. package/dist/app/scripts/AddTrackDialog.d.ts +64 -0
  48. package/dist/app/scripts/AddTrackPositionMenu.d.ts +5 -0
  49. package/dist/app/scripts/Annotations1dTrack.d.ts +15 -0
  50. package/dist/app/scripts/Annotations2dTrack.d.ts +95 -0
  51. package/dist/app/scripts/ArrowheadDomainsTrack.d.ts +36 -0
  52. package/dist/app/scripts/Autocomplete.d.ts +102 -0
  53. package/dist/app/scripts/AxisPixi.d.ts +25 -0
  54. package/dist/app/scripts/BarTrack.d.ts +28 -0
  55. package/dist/app/scripts/BedLikeTrack.d.ts +84 -0
  56. package/dist/app/scripts/Button.d.ts +3 -0
  57. package/dist/app/scripts/CNVIntervalTrack.d.ts +12 -0
  58. package/dist/app/scripts/CenterTiledPlot.d.ts +3 -0
  59. package/dist/app/scripts/CenterTrack.d.ts +92 -0
  60. package/dist/app/scripts/Chromosome2DAnnotations.d.ts +10 -0
  61. package/dist/app/scripts/Chromosome2DLabels.d.ts +13 -0
  62. package/dist/app/scripts/ChromosomeGrid.d.ts +24 -0
  63. package/dist/app/scripts/ChromosomeInfo.d.ts +14 -0
  64. package/dist/app/scripts/CloseTrackMenu.d.ts +10 -0
  65. package/dist/app/scripts/CombinedTrack.d.ts +32 -0
  66. package/dist/app/scripts/ConfigTrackMenu.d.ts +10 -0
  67. package/dist/app/scripts/ConfigViewMenu.d.ts +34 -0
  68. package/dist/app/scripts/ConfigureSeriesMenu.d.ts +3 -0
  69. package/dist/app/scripts/ContextMenuContainer.d.ts +36 -0
  70. package/dist/app/scripts/ContextMenuItem.d.ts +34 -0
  71. package/dist/app/scripts/Cross.d.ts +3 -0
  72. package/dist/app/scripts/CrossRule.d.ts +24 -0
  73. package/dist/app/scripts/CustomTrackDialog.d.ts +17 -0
  74. package/dist/app/scripts/Dialog.d.ts +5 -0
  75. package/dist/app/scripts/DivergentBarTrack.d.ts +4 -0
  76. package/dist/app/scripts/DragListeningDiv.d.ts +32 -0
  77. package/dist/app/scripts/DraggableDiv.d.ts +63 -0
  78. package/dist/app/scripts/ExportLinkDialog.d.ts +21 -0
  79. package/dist/app/scripts/FilledLine.d.ts +5 -0
  80. package/dist/app/scripts/FixedTrack.d.ts +5 -0
  81. package/dist/app/scripts/GalleryTracks.d.ts +20 -0
  82. package/dist/app/scripts/GenomePositionSearchBox.d.ts +95 -0
  83. package/dist/app/scripts/HeatmapOptions.d.ts +30 -0
  84. package/dist/app/scripts/HeatmapTiledPixiTrack.d.ts +184 -0
  85. package/dist/app/scripts/HiGlassComponent.d.ts +762 -0
  86. package/dist/app/scripts/HiGlassComponentContext.d.ts +3 -0
  87. package/dist/app/scripts/HiGlassTrackComponent.d.ts +37 -0
  88. package/dist/app/scripts/Horizontal1dHeatmapTrack.d.ts +9 -0
  89. package/dist/app/scripts/Horizontal2DDomainsTrack.d.ts +21 -0
  90. package/dist/app/scripts/HorizontalChromosomeLabels.d.ts +47 -0
  91. package/dist/app/scripts/HorizontalGeneAnnotationsTrack.d.ts +25 -0
  92. package/dist/app/scripts/HorizontalHeatmapTrack.d.ts +12 -0
  93. package/dist/app/scripts/HorizontalItem.d.ts +3 -0
  94. package/dist/app/scripts/HorizontalLine1DPixiTrack.d.ts +23 -0
  95. package/dist/app/scripts/HorizontalMultivecTrack.d.ts +50 -0
  96. package/dist/app/scripts/HorizontalPoint1DPixiTrack.d.ts +5 -0
  97. package/dist/app/scripts/HorizontalRule.d.ts +22 -0
  98. package/dist/app/scripts/HorizontalTiled1DPixiTrack.d.ts +26 -0
  99. package/dist/app/scripts/HorizontalTiledPlot.d.ts +49 -0
  100. package/dist/app/scripts/HorizontalTrack.d.ts +6 -0
  101. package/dist/app/scripts/Id2DTiledPixiTrack.d.ts +10 -0
  102. package/dist/app/scripts/IdHorizontal1DTiledPixiTrack.d.ts +6 -0
  103. package/dist/app/scripts/IdVertical1DTiledPixiTrack.d.ts +7 -0
  104. package/dist/app/scripts/LeftAxisTrack.d.ts +9 -0
  105. package/dist/app/scripts/LeftTrackModifier.d.ts +29 -0
  106. package/dist/app/scripts/ListWrapper.d.ts +64 -0
  107. package/dist/app/scripts/MapboxTilesTrack.d.ts +9 -0
  108. package/dist/app/scripts/Modal.d.ts +5 -0
  109. package/dist/app/scripts/MoveableTrack.d.ts +18 -0
  110. package/dist/app/scripts/NestedContextMenu.d.ts +7 -0
  111. package/dist/app/scripts/OSMTileIdsTrack.d.ts +5 -0
  112. package/dist/app/scripts/OSMTilesTrack.d.ts +129 -0
  113. package/dist/app/scripts/OverlayTrack.d.ts +13 -0
  114. package/dist/app/scripts/PixiTrack.d.ts +174 -0
  115. package/dist/app/scripts/PlotTypeChooser.d.ts +25 -0
  116. package/dist/app/scripts/PopupMenu.d.ts +28 -0
  117. package/dist/app/scripts/RasterTilesTrack.d.ts +9 -0
  118. package/dist/app/scripts/RuleMixin.d.ts +2 -0
  119. package/dist/app/scripts/SVGTrack.d.ts +15 -0
  120. package/dist/app/scripts/SearchField.d.ts +13 -0
  121. package/dist/app/scripts/SeriesListItems.d.ts +2 -0
  122. package/dist/app/scripts/SeriesListMenu.d.ts +51 -0
  123. package/dist/app/scripts/SeriesListSubmenuMixin.d.ts +2 -0
  124. package/dist/app/scripts/SketchInlinePicker.d.ts +25 -0
  125. package/dist/app/scripts/SortableList.d.ts +22 -0
  126. package/dist/app/scripts/SquareMarkersTrack.d.ts +22 -0
  127. package/dist/app/scripts/Tiled1DPixiTrack.d.ts +60 -0
  128. package/dist/app/scripts/TiledPixiTrack.d.ts +369 -0
  129. package/dist/app/scripts/TiledPlot.d.ts +313 -0
  130. package/dist/app/scripts/TilesetFinder.d.ts +65 -0
  131. package/dist/app/scripts/TopAxisTrack.d.ts +9 -0
  132. package/dist/app/scripts/Track.d.ts +196 -0
  133. package/dist/app/scripts/TrackArea.d.ts +26 -0
  134. package/dist/app/scripts/TrackControl.d.ts +5 -0
  135. package/dist/app/scripts/TrackRenderer.d.ts +724 -0
  136. package/dist/app/scripts/UnknownPixiTrack.d.ts +7 -0
  137. package/dist/app/scripts/ValueIntervalTrack.d.ts +6 -0
  138. package/dist/app/scripts/VerticalItem.d.ts +3 -0
  139. package/dist/app/scripts/VerticalRule.d.ts +21 -0
  140. package/dist/app/scripts/VerticalTiled1DPixiTrack.d.ts +6 -0
  141. package/dist/app/scripts/VerticalTiledPlot.d.ts +50 -0
  142. package/dist/app/scripts/VerticalTrack.d.ts +6 -0
  143. package/dist/app/scripts/ViewConfigEditor.d.ts +53 -0
  144. package/dist/app/scripts/ViewContextMenu.d.ts +17 -0
  145. package/dist/app/scripts/ViewHeader.d.ts +75 -0
  146. package/dist/app/scripts/ViewportTracker2D.d.ts +17 -0
  147. package/dist/app/scripts/ViewportTracker2DPixi.d.ts +11 -0
  148. package/dist/app/scripts/ViewportTrackerHorizontal.d.ts +17 -0
  149. package/dist/app/scripts/ViewportTrackerVertical.d.ts +17 -0
  150. package/dist/app/scripts/api.d.ts +640 -0
  151. package/dist/app/scripts/configs/available-track-types.d.ts +2 -0
  152. package/dist/app/scripts/configs/colormaps.d.ts +2 -0
  153. package/dist/app/scripts/configs/datatype-to-track-type.d.ts +4 -0
  154. package/dist/app/scripts/configs/default-tracks-for-datatype.d.ts +38 -0
  155. package/dist/app/scripts/configs/dense-data-extrema-config.d.ts +2 -0
  156. package/dist/app/scripts/configs/globals.d.ts +5 -0
  157. package/dist/app/scripts/configs/index.d.ts +16 -0
  158. package/dist/app/scripts/configs/positions-by-datatype.d.ts +2 -0
  159. package/dist/app/scripts/configs/primitives.d.ts +20 -0
  160. package/dist/app/scripts/configs/themes.d.ts +3 -0
  161. package/dist/app/scripts/configs/tracks-info-by-type.d.ts +4 -0
  162. package/dist/app/scripts/configs/tracks-info.d.ts +24 -0
  163. package/dist/app/scripts/d3-context-menu.d.ts +2 -0
  164. package/dist/app/scripts/data-fetchers/DataFetcher.d.ts +151 -0
  165. package/dist/app/scripts/data-fetchers/genbank-fetcher.d.ts +86 -0
  166. package/dist/app/scripts/data-fetchers/index.d.ts +3 -0
  167. package/dist/app/scripts/data-fetchers/local-tile-fetcher.d.ts +47 -0
  168. package/dist/app/scripts/gosling-exports.d.ts +17 -0
  169. package/dist/app/scripts/hglib.d.ts +24 -0
  170. package/dist/app/scripts/hocs/with-modal.d.ts +19 -0
  171. package/dist/app/scripts/hocs/with-pub-sub.d.ts +22 -0
  172. package/dist/app/scripts/hocs/with-theme.d.ts +13 -0
  173. package/dist/app/scripts/icons.d.ts +161 -0
  174. package/dist/app/scripts/mixwith.d.ts +27 -0
  175. package/dist/app/scripts/options-info.d.ts +1355 -0
  176. package/dist/app/scripts/plugins/available-for-plugins.d.ts +2338 -0
  177. package/dist/app/scripts/plugins/get-data-fetcher.d.ts +2 -0
  178. package/dist/app/scripts/plugins/index.d.ts +2 -0
  179. package/dist/app/scripts/services/chrom-info.d.ts +10 -0
  180. package/dist/app/scripts/services/dom-event.d.ts +7 -0
  181. package/dist/app/scripts/services/element-resize-listener.d.ts +5 -0
  182. package/dist/app/scripts/services/index.d.ts +5 -0
  183. package/dist/app/scripts/services/tile-proxy.d.ts +180 -0
  184. package/dist/app/scripts/services/worker.d.ts +157 -0
  185. package/dist/app/scripts/symbol.d.ts +13 -0
  186. package/dist/app/scripts/test-helpers/index.d.ts +1 -0
  187. package/dist/app/scripts/test-helpers/test-helpers.d.ts +33 -0
  188. package/dist/app/scripts/track-utils.d.ts +73 -0
  189. package/dist/app/scripts/types.d.ts +199 -0
  190. package/dist/app/scripts/utils/DenseDataExtrema1D.d.ts +88 -0
  191. package/dist/app/scripts/utils/DenseDataExtrema2D.d.ts +97 -0
  192. package/dist/app/scripts/utils/LruCache.d.ts +44 -0
  193. package/dist/app/scripts/utils/abs-to-chr.d.ts +14 -0
  194. package/dist/app/scripts/utils/accessor-transposition.d.ts +14 -0
  195. package/dist/app/scripts/utils/add-arrays.d.ts +18 -0
  196. package/dist/app/scripts/utils/add-class.d.ts +8 -0
  197. package/dist/app/scripts/utils/add-event-listener-once.d.ts +11 -0
  198. package/dist/app/scripts/utils/assert.d.ts +17 -0
  199. package/dist/app/scripts/utils/background-task-scheduler.d.ts +47 -0
  200. package/dist/app/scripts/utils/base64-to-canvas.d.ts +9 -0
  201. package/dist/app/scripts/utils/chr-to-abs.d.ts +10 -0
  202. package/dist/app/scripts/utils/chrom-info-bisector.d.ts +4 -0
  203. package/dist/app/scripts/utils/clone-event.d.ts +12 -0
  204. package/dist/app/scripts/utils/color-domain-to-rgba-array.d.ts +13 -0
  205. package/dist/app/scripts/utils/color-to-hex.d.ts +9 -0
  206. package/dist/app/scripts/utils/color-to-rgba.d.ts +9 -0
  207. package/dist/app/scripts/utils/copy-text-to-clipboard.d.ts +2 -0
  208. package/dist/app/scripts/utils/data-to-genomic-loci.d.ts +11 -0
  209. package/dist/app/scripts/utils/debounce.d.ts +5 -0
  210. package/dist/app/scripts/utils/dec-to-hex-str.d.ts +8 -0
  211. package/dist/app/scripts/utils/decompress.d.ts +27 -0
  212. package/dist/app/scripts/utils/default-tracks.d.ts +3 -0
  213. package/dist/app/scripts/utils/dict-from-tuples.d.ts +11 -0
  214. package/dist/app/scripts/utils/dict-items.d.ts +18 -0
  215. package/dist/app/scripts/utils/dict-keys.d.ts +10 -0
  216. package/dist/app/scripts/utils/dict-values.d.ts +8 -0
  217. package/dist/app/scripts/utils/download.d.ts +7 -0
  218. package/dist/app/scripts/utils/expand-combined-tracks.d.ts +11 -0
  219. package/dist/app/scripts/utils/fake-pub-sub.d.ts +11 -0
  220. package/dist/app/scripts/utils/fill-in-min-widths.d.ts +44 -0
  221. package/dist/app/scripts/utils/flatten.d.ts +9 -0
  222. package/dist/app/scripts/utils/for-each.d.ts +9 -0
  223. package/dist/app/scripts/utils/forward-event.d.ts +7 -0
  224. package/dist/app/scripts/utils/genome-loci-to-pixels.d.ts +9 -0
  225. package/dist/app/scripts/utils/genomic-range-to-chromosome-chunks.d.ts +21 -0
  226. package/dist/app/scripts/utils/get-aggregation-function.d.ts +10 -0
  227. package/dist/app/scripts/utils/get-default-track-for-datatype.d.ts +21 -0
  228. package/dist/app/scripts/utils/get-default-tracks-for-datatype.d.ts +3 -0
  229. package/dist/app/scripts/utils/get-element-dim.d.ts +7 -0
  230. package/dist/app/scripts/utils/get-higlass-components.d.ts +7 -0
  231. package/dist/app/scripts/utils/get-track-by-uid.d.ts +7 -0
  232. package/dist/app/scripts/utils/get-track-conf-from-hgc.d.ts +10 -0
  233. package/dist/app/scripts/utils/get-track-obj-by-id.d.ts +2 -0
  234. package/dist/app/scripts/utils/get-track-position-by-uid.d.ts +13 -0
  235. package/dist/app/scripts/utils/get-xylofon.d.ts +2 -0
  236. package/dist/app/scripts/utils/gradient.d.ts +14 -0
  237. package/dist/app/scripts/utils/has-class.d.ts +8 -0
  238. package/dist/app/scripts/utils/has-parent.d.ts +9 -0
  239. package/dist/app/scripts/utils/hex-string-to-int.d.ts +14 -0
  240. package/dist/app/scripts/utils/index.d.ts +89 -0
  241. package/dist/app/scripts/utils/interval-tree.d.ts +109 -0
  242. package/dist/app/scripts/utils/into-the-void.d.ts +6 -0
  243. package/dist/app/scripts/utils/is-track-or-child-track.d.ts +7 -0
  244. package/dist/app/scripts/utils/is-track-range-selectable.d.ts +2 -0
  245. package/dist/app/scripts/utils/is-within.d.ts +12 -0
  246. package/dist/app/scripts/utils/lat-to-y.d.ts +9 -0
  247. package/dist/app/scripts/utils/lng-to-x.d.ts +8 -0
  248. package/dist/app/scripts/utils/load-chrom-infos.d.ts +8 -0
  249. package/dist/app/scripts/utils/map.d.ts +13 -0
  250. package/dist/app/scripts/utils/max-non-zero.d.ts +6 -0
  251. package/dist/app/scripts/utils/max.d.ts +10 -0
  252. package/dist/app/scripts/utils/min-non-zero.d.ts +6 -0
  253. package/dist/app/scripts/utils/min.d.ts +10 -0
  254. package/dist/app/scripts/utils/mod.d.ts +9 -0
  255. package/dist/app/scripts/utils/ndarray-assign.d.ts +2 -0
  256. package/dist/app/scripts/utils/ndarray-flatten.d.ts +2 -0
  257. package/dist/app/scripts/utils/ndarray-to-list.d.ts +2 -0
  258. package/dist/app/scripts/utils/numericify-version.d.ts +6 -0
  259. package/dist/app/scripts/utils/obj-vals.d.ts +8 -0
  260. package/dist/app/scripts/utils/or.d.ts +8 -0
  261. package/dist/app/scripts/utils/parse-chromsizes-rows.d.ts +34 -0
  262. package/dist/app/scripts/utils/pixi-text-to-svg.d.ts +2 -0
  263. package/dist/app/scripts/utils/positioned-tracks-to-all-tracks.d.ts +26 -0
  264. package/dist/app/scripts/utils/q.d.ts +18 -0
  265. package/dist/app/scripts/utils/rad-to-deg.d.ts +7 -0
  266. package/dist/app/scripts/utils/range-query-2d.d.ts +17 -0
  267. package/dist/app/scripts/utils/reduce.d.ts +14 -0
  268. package/dist/app/scripts/utils/rel-to-abs-chrom-pos.d.ts +10 -0
  269. package/dist/app/scripts/utils/remove-class.d.ts +7 -0
  270. package/dist/app/scripts/utils/reset-d3-brush-style.d.ts +10 -0
  271. package/dist/app/scripts/utils/rgb-to-hex.d.ts +8 -0
  272. package/dist/app/scripts/utils/scales-center-and-k.d.ts +12 -0
  273. package/dist/app/scripts/utils/scales-to-genome-loci.d.ts +3 -0
  274. package/dist/app/scripts/utils/segments-to-rows.d.ts +15 -0
  275. package/dist/app/scripts/utils/selected-items-to-cum-weights.d.ts +12 -0
  276. package/dist/app/scripts/utils/selected-items-to-size.d.ts +13 -0
  277. package/dist/app/scripts/utils/show-mouse-position.d.ts +54 -0
  278. package/dist/app/scripts/utils/some.d.ts +10 -0
  279. package/dist/app/scripts/utils/sum.d.ts +8 -0
  280. package/dist/app/scripts/utils/svg-line.d.ts +2 -0
  281. package/dist/app/scripts/utils/throttle-and-debounce.d.ts +33 -0
  282. package/dist/app/scripts/utils/tile-to-canvas.d.ts +9 -0
  283. package/dist/app/scripts/utils/timeout.d.ts +3 -0
  284. package/dist/app/scripts/utils/to-void.d.ts +3 -0
  285. package/dist/app/scripts/utils/total-track-pixel-height.d.ts +27 -0
  286. package/dist/app/scripts/utils/trim-trailing-slash.d.ts +7 -0
  287. package/dist/app/scripts/utils/type-guards.d.ts +36 -0
  288. package/dist/app/scripts/utils/value-to-color.d.ts +12 -0
  289. package/dist/app/scripts/utils/visit-positioned-tracks.d.ts +18 -0
  290. package/dist/app/scripts/utils/visit-tracks.d.ts +9 -0
  291. package/dist/esm.html +1 -3
  292. package/dist/hglib.js +65302 -79868
  293. package/dist/hglib.min.js +104 -112
  294. package/dist/higlass.mjs +64214 -78780
  295. package/dist/index.html +1 -3
  296. package/dist/package.json +134 -0
  297. package/package.json +13 -10
@@ -0,0 +1,199 @@
1
+ import type * as configs from './configs';
2
+ import type { ChromsizeRow } from './utils/parse-chromsizes-rows';
3
+ export type Theme = typeof configs.THEME_DARK | typeof configs.THEME_LIGHT;
4
+ export type SizeMode = typeof configs.SIZE_MODE_DEFAULT | typeof configs.SIZE_MODE_BOUNDED | typeof configs.SIZE_MODE_OVERFLOW | typeof configs.SIZE_MODE_BOUNDED_OVERFLOW | typeof configs.SIZE_MODE_SCROLL;
5
+ export type HiGlassViewConfig = Record<string, unknown>;
6
+ /** Additional options for how the {@link HiGlassComponent} is drawn and behaves */
7
+ export interface HiGlassOptions {
8
+ /** An auth token to be included with every tile request. */
9
+ authToken?: string;
10
+ /**
11
+ * Whether the component should be sized to fit within the enclosing div.
12
+ *
13
+ * If `false`, the component will grow as needed to fit the tracks within it.
14
+ */
15
+ bounded?: boolean;
16
+ /**
17
+ * Whether the layout be changed.
18
+ *
19
+ * If `false`, the view headers will be hidden. Overrides the `editable` value in the viewconf if specified.
20
+ */
21
+ editable?: boolean;
22
+ /** A set of default options that will be used for newly added tracks. */
23
+ defaultTrackOptions?: {
24
+ /** Options for all tracks types. */
25
+ all?: Record<string, unknown>;
26
+ /** Options for specific tracks types. */
27
+ trackSpecific?: Record<string, Record<string, unknown>>;
28
+ };
29
+ viewMarginTop?: number;
30
+ viewMarginBottom?: number;
31
+ viewMarginLeft?: number;
32
+ viewMarginRight?: number;
33
+ viewPaddingTop?: number;
34
+ viewPaddingBottom?: number;
35
+ viewPaddingLeft?: number;
36
+ viewPaddingRight?: number;
37
+ theme?: 'dark' | 'light';
38
+ isDarkTheme?: boolean;
39
+ moustTool?: 'select' | 'track-select';
40
+ pluginTracks?: Record<string, unknown>;
41
+ pluginDataFetchers?: Record<string, unknown>;
42
+ pixelPreciseMarginPadding?: boolean;
43
+ sizeMode?: SizeMode;
44
+ renderer?: 'canvas';
45
+ onViewConfLoaded?: () => void;
46
+ cheatCodesEnabled?: boolean;
47
+ rangeSelectionOnAlt?: boolean;
48
+ tracksEditable?: boolean;
49
+ zoomFixed?: boolean;
50
+ containerPaddingX?: number;
51
+ containerPaddingY?: number;
52
+ broadcastMousePositionGlobally?: boolean;
53
+ showGlobalMousePosition?: boolean;
54
+ globalMousePosition?: boolean;
55
+ }
56
+ export type Scale = import('d3-scale').ScaleContinuousNumeric<number, number>;
57
+ export type TrackPosition = typeof import('./configs/primitives').TRACK_LOCATIONS[number];
58
+ export type ChromInfo<Name extends string = string> = {
59
+ cumPositions: {
60
+ id?: number;
61
+ pos: number;
62
+ chr: Name;
63
+ }[];
64
+ chrPositions: Record<Name, {
65
+ pos: number;
66
+ }>;
67
+ chromLengths: Record<Name, number>;
68
+ totalLength: number;
69
+ };
70
+ export type UnknownTrackConfig = {
71
+ type: string;
72
+ uid: string;
73
+ server: string;
74
+ tilesetUid: string;
75
+ options?: Record<string, unknown>;
76
+ position?: TrackPosition;
77
+ data?: Record<string, unknown>;
78
+ coordSystem?: unknown;
79
+ height?: number;
80
+ width?: number;
81
+ x?: number;
82
+ y?: number;
83
+ chromInfoPath?: string;
84
+ projectionXDomain?: [number, number];
85
+ projectionYDomain?: [number, number];
86
+ registerViewportChanged?: unknown;
87
+ removeViewportChanged?: unknown;
88
+ setDomainsCallback?: unknown;
89
+ };
90
+ export type CombinedTrackConfig = {
91
+ type: 'combined';
92
+ contents: Array<UnknownTrackConfig>;
93
+ uid: string;
94
+ server?: string;
95
+ height?: number;
96
+ width?: number;
97
+ tilesetUid?: string;
98
+ options?: Record<string, unknown>;
99
+ position?: TrackPosition;
100
+ data?: Record<string, unknown>;
101
+ coordSystem?: unknown;
102
+ x?: number;
103
+ y?: number;
104
+ chromInfoPath?: string;
105
+ projectionXDomain?: [number, number];
106
+ projectionYDomain?: [number, number];
107
+ registerViewportChanged?: unknown;
108
+ removeViewportChanged?: unknown;
109
+ setDomainsCallback?: unknown;
110
+ };
111
+ export type TrackConfig = UnknownTrackConfig | CombinedTrackConfig;
112
+ export type TrackVisitor = (track: TrackConfig, position: null | TrackPosition) => void;
113
+ type ZoomedFunction = (xScale: Scale, yScale: Scale, k?: number, x?: number, y?: number, xPosition?: number, yPosition?: number) => void;
114
+ export interface TrackObject {
115
+ draw(): void;
116
+ rerender(options: unknown): void;
117
+ delayDrawing: boolean;
118
+ flipText?: boolean;
119
+ originalTrack?: TrackObject;
120
+ childTracks?: TrackObject[];
121
+ createdTracks: Record<string, TrackObject>;
122
+ refScalesChanged(x: Scale, y: Scale): void;
123
+ position: [number, number];
124
+ dimensions: [number, number];
125
+ updateContents(contents: TrackConfig[], x: unknown): TrackObject;
126
+ zoomed: ZoomedFunction;
127
+ setPosition(position: [number, number]): void;
128
+ setDimensions(dimensions: [number, number]): void;
129
+ remove(): void;
130
+ movedY(extent: number): void;
131
+ zoomedY(yPosition: number, wheelDelta: number): void;
132
+ fetching?: Set<unknown>;
133
+ tilesetInfo?: TilesetInfo;
134
+ chromInfo?: unknown;
135
+ }
136
+ /** Minimum information describing a tileset. */
137
+ export type TilesetInfoShared = {
138
+ name: string;
139
+ min_pos: number[];
140
+ max_pos: number[];
141
+ max_zoom: number;
142
+ coordSystem?: string;
143
+ tile_size?: number;
144
+ max_tile_width?: number;
145
+ transforms?: {
146
+ name: string;
147
+ value: string;
148
+ }[];
149
+ chromsizes?: ArrayLike<ChromsizeRow>;
150
+ error?: string;
151
+ };
152
+ export type LegacyTilesetInfo = TilesetInfoShared & {
153
+ max_width: number;
154
+ bins_per_dimension?: number;
155
+ };
156
+ export type ResolutionsTilesetInfo = TilesetInfoShared & {
157
+ resolutions: number[];
158
+ };
159
+ export type TilesetInfo = LegacyTilesetInfo | ResolutionsTilesetInfo;
160
+ export type DataConfig = {
161
+ server?: string;
162
+ url?: string;
163
+ filetype?: string;
164
+ coordSystem?: string;
165
+ children?: DataConfig[];
166
+ options?: Record<string, any>;
167
+ type?: string;
168
+ slicePos?: number;
169
+ };
170
+ export type HandleTilesetInfoFinished = (info: TilesetInfo | null | {
171
+ error: string;
172
+ }, tilesetUid?: string) => void;
173
+ export interface AbstractDataFetcher<TileType, DataConfig> {
174
+ tilesetInfo(callback?: HandleTilesetInfoFinished): Promise<TilesetInfo | undefined>;
175
+ fetchTilesDebounced(receivedTiles: (tiles: Record<string, TileType>) => void, tileIds: string[]): Promise<Record<string, TileType>>;
176
+ dataConfig: DataConfig;
177
+ }
178
+ export type TilesRequest = {
179
+ id: string;
180
+ tileIds: Array<string>;
181
+ server: string;
182
+ options?: Record<string, any>;
183
+ };
184
+ export type TilesetInfoRequest = {
185
+ server: string;
186
+ tilesetUid: string;
187
+ };
188
+ export type RegisterTilesetRequest = {
189
+ server: string;
190
+ url: string;
191
+ filetype: string;
192
+ coordSystem?: string;
193
+ };
194
+ export type TileSource<T> = {
195
+ fetchTiles: (request: TilesRequest) => Promise<Record<string, T>>;
196
+ fetchTilesetInfo: (request: TilesetInfoRequest) => Promise<Record<string, TilesetInfo>>;
197
+ registerTileset: (request: RegisterTilesetRequest) => Promise<Response>;
198
+ };
199
+ export {};
@@ -0,0 +1,88 @@
1
+ export default DenseDataExtrema1D;
2
+ /**
3
+ * @template {ArrayLike<number>} [T=ArrayLike<number>]
4
+ */
5
+ declare class DenseDataExtrema1D<T extends ArrayLike<number> = ArrayLike<number>> {
6
+ /**
7
+ * This module efficiently computes extrema of arbitrary subsets of a given data array.
8
+ * The array is subdivided into 'numSubsets' subsets where extrema are precomputed.
9
+ * These values are used to compute extrema given arbitrary start and end indices via
10
+ * the getMinNonZeroInSubset and getMaxNonZeroInSubset methods.
11
+ * @param {T} data
12
+ */
13
+ constructor(data: T);
14
+ /** @type {number} */
15
+ epsilon: number;
16
+ /** @type {T} */
17
+ data: T;
18
+ /** @type {number} */
19
+ tileSize: number;
20
+ /** @type {number} */
21
+ paddedTileSize: number;
22
+ /** @type {number} */
23
+ numSubsets: number;
24
+ /** @type {number} */
25
+ subsetSize: number;
26
+ subsetMinimums: number[];
27
+ subsetMaximums: number[];
28
+ minNonZeroInTile: number;
29
+ maxNonZeroInTile: number;
30
+ /**
31
+ * Computes the non-zero minimum in a subset using precomputed values,
32
+ * if possible. data[end] is not considered.
33
+ *
34
+ * @param {[start: number, end: number]} indexBounds
35
+ * @return {number} non-zero minium of the subset
36
+ */
37
+ getMinNonZeroInSubset(indexBounds: [start: number, end: number]): number;
38
+ /**
39
+ * Computes the non-zero maximum in a subset using precomputed values, if possible
40
+ *
41
+ * @param {[start: number, end: number]} indexBounds
42
+ * @return {number} non-zero maxium of the subset
43
+ */
44
+ getMaxNonZeroInSubset(indexBounds: [start: number, end: number]): number;
45
+ /**
46
+ * Precomputes non-zero minimums of subsets of the given data vector
47
+ *
48
+ * @returns {Array<number>} - Minimums of the regularly subdivided data vector
49
+ */
50
+ computeSubsetNonZeroMinimums(): Array<number>;
51
+ /**
52
+ * Precomputes non-zero maximums of subsets of the given data vector
53
+ * @return {Array<number>} Maximums of the regularly subdivided data vector
54
+ */
55
+ computeSubsetNonZeroMaximums(): Array<number>;
56
+ /**
57
+ * Computes the non-zero minimum in the entire data array using precomputed values
58
+ *
59
+ * @return {number} Non-zeros maximum of the data
60
+ */
61
+ getMinNonZeroInTile(): number;
62
+ /**
63
+ * Computes the non-zero maximum in the entire data array using precomputed values
64
+ *
65
+ * @return {number} Non-zeros maximum of the data
66
+ */
67
+ getMaxNonZeroInTile(): number;
68
+ /**
69
+ * Calculate the minimum non-zero value in the data from start
70
+ * to end. No precomputations are used to compute the min.
71
+ *
72
+ * @param {ArrayLike<number>} data
73
+ * @param {number} start
74
+ * @param {number} end
75
+ * @return {number} non-zero min in subset
76
+ */
77
+ minNonZero(data: ArrayLike<number>, start: number, end: number): number;
78
+ /**
79
+ * Calculate the maximum non-zero value in the data from start
80
+ * to end. No precomputations are used to compute the max.
81
+ *
82
+ * @param {ArrayLike<number>} data
83
+ * @param {number} start
84
+ * @param {number} end
85
+ * @return {number} non-zero max in subset
86
+ */
87
+ maxNonZero(data: ArrayLike<number>, start: number, end: number): number;
88
+ }
@@ -0,0 +1,97 @@
1
+ export default DenseDataExtrema2D;
2
+ export type View2D = {
3
+ get: (i: number, j: number) => number;
4
+ set: (i: number, j: number, v: number) => void;
5
+ };
6
+ /**
7
+ * @typedef View2D
8
+ * @property {(i: number, j: number) => number} get
9
+ * @property {(i: number, j: number, v: number) => void} set
10
+ */
11
+ declare class DenseDataExtrema2D {
12
+ /**
13
+ * This module efficiently computes extrema of subsets of a given data matrix.
14
+ * The matrix is subdivided into 'numSubsets' subsets where extrema are precomputed.
15
+ * These values are used to efficiently approximate extrema given arbitrary subsets.
16
+ * Larger values of 'numSubsets' lead to more accurate approximations (more expensive).
17
+ *
18
+ * @param {ArrayLike<number>} data array of quadratic length
19
+ */
20
+ constructor(data: ArrayLike<number>);
21
+ /** @type {number} */
22
+ epsilon: number;
23
+ /** @type {number} */
24
+ tileSize: number;
25
+ /** @type {number} */
26
+ numSubsets: number;
27
+ /** @type {number} */
28
+ subsetSize: number;
29
+ /** @type {View2D} */
30
+ subsetMinimums: View2D;
31
+ /** @type {View2D} */
32
+ subsetMaximums: View2D;
33
+ /** @type {number} */
34
+ minNonZeroInTile: number;
35
+ /** @type {number} */
36
+ maxNonZeroInTile: number;
37
+ /**
38
+ * Computes an approximation of the non-zero minimum in a subset
39
+ *
40
+ * @param {[startX: number, startY: number, endX: number, endY: number]} indexBounds
41
+ * @return {number} Non-zero minium of the subset
42
+ */
43
+ getMinNonZeroInSubset(indexBounds: [startX: number, startY: number, endX: number, endY: number]): number;
44
+ /**
45
+ * Computes an approximation of the non-zero maximum in a subset
46
+ *
47
+ * @param {[startX: number, startY: number, endX: number, endY: number]} indexBounds
48
+ * @return {number} Non-zero maxium of the subset
49
+ */
50
+ getMaxNonZeroInSubset(indexBounds: [startX: number, startY: number, endX: number, endY: number]): number;
51
+ /**
52
+ * Precomputes non-zero minimums of subsets of a given matrix
53
+ * @param {View2D} dataMatrix
54
+ * @return {View2D} Matrix containing minimums of the dataMatrix after subdivision using a regular grid
55
+ */
56
+ computeSubsetNonZeroMinimums(dataMatrix: View2D): View2D;
57
+ /**
58
+ * Precomputes non-zero maximums of subsets of a given matrix
59
+ *
60
+ * @param {View2D} dataMatrix
61
+ * @return {View2D} Matrix containing maximums of the dataMatrix after subdivision using a regular grid
62
+ */
63
+ computeSubsetNonZeroMaximums(dataMatrix: View2D): View2D;
64
+ /**
65
+ * Computes the non-zero minimum of a subset of a matrix (ndarray)
66
+ * @param {View2D} arr
67
+ * @param {number} rowOffset - Starting row of the subset
68
+ * @param {number} colOffset - Starting column of the subset
69
+ * @param {number} width - Width (num columns) of the subset
70
+ * @param {number} height - Height (num rows) of the subset
71
+ * @return {number} Non-zeros - minimum of the subset
72
+ */
73
+ getMinNonZeroInNdarraySubset(arr: View2D, rowOffset: number, colOffset: number, width: number, height: number): number;
74
+ /**
75
+ * Computes the non-zero maximum of a subset of a matrix (ndarray)
76
+ * @param {View2D} arr
77
+ * @param {number} rowOffset - Starting row of the subset
78
+ * @param {number} colOffset - Starting column of the subset
79
+ * @param {number} width - Width (num columns) of the subset
80
+ * @param {number} height - Height (num rows) of the subset
81
+ * @return {number} Non-zeros maximum of the subset
82
+ */
83
+ getMaxNonZeroInNdarraySubset(arr: View2D, rowOffset: number, colOffset: number, width: number, height: number): number;
84
+ mirrorPrecomputedExtrema(): void;
85
+ /**
86
+ * Computes the non-zero minimum in the entire data array using precomputed values
87
+ *
88
+ * @return {number} Non-zeros minimum of the data
89
+ */
90
+ getMinNonZeroInTile(): number;
91
+ /**
92
+ * Computes the non-zero maximum in the entire data array using precomputed values
93
+ *
94
+ * @return {number} Non-zeros maximum of the data
95
+ */
96
+ getMaxNonZeroInTile(): number;
97
+ }
@@ -0,0 +1,44 @@
1
+ export default LruCache;
2
+ /**
3
+ * A doubly linked list-based Least Recently Used (LRU) cache. Will keep most
4
+ * recently used items while discarding least recently used items when its limit
5
+ * is reached.
6
+ *
7
+ * Licensed under MIT. Copyright (c) 2010 Rasmus Andersson <http://hunch.se/>
8
+ * See README.md for details.
9
+ *
10
+ * Illustration of the design:
11
+ *
12
+ * entry entry entry entry
13
+ * ______ ______ ______ ______
14
+ * | head |.newer => | |.newer => | |.newer => | tail |
15
+ * | A | | B | | C | | D |
16
+ * |______| <= older.|______| <= older.|______| <= older.|______|
17
+ *
18
+ * removed <-- <-- <-- <-- <-- <-- <-- <-- <-- <-- <-- added
19
+ */
20
+ declare function LruCache(limit: any): void;
21
+ declare class LruCache {
22
+ /**
23
+ * A doubly linked list-based Least Recently Used (LRU) cache. Will keep most
24
+ * recently used items while discarding least recently used items when its limit
25
+ * is reached.
26
+ *
27
+ * Licensed under MIT. Copyright (c) 2010 Rasmus Andersson <http://hunch.se/>
28
+ * See README.md for details.
29
+ *
30
+ * Illustration of the design:
31
+ *
32
+ * entry entry entry entry
33
+ * ______ ______ ______ ______
34
+ * | head |.newer => | |.newer => | |.newer => | tail |
35
+ * | A | | B | | C | | D |
36
+ * |______| <= older.|______| <= older.|______| <= older.|______|
37
+ *
38
+ * removed <-- <-- <-- <-- <-- <-- <-- <-- <-- <-- <-- added
39
+ */
40
+ constructor(limit: any);
41
+ size: number;
42
+ limit: any;
43
+ _keymap: {};
44
+ }
@@ -0,0 +1,14 @@
1
+ export default absToChr;
2
+ export type ChromosomePosition<Name extends string> = [name: Name, pos: number, offset: number, insertPoint: number];
3
+ /**
4
+ * @template {string} Name
5
+ * @typedef {[name: Name, pos: number, offset: number, insertPoint: number ]} ChromosomePosition
6
+ */
7
+ /**
8
+ * Convert an absolute genome position to a chromosome position.
9
+ * @template {string} Name
10
+ * @param {number} absPosition - Absolute genome position.
11
+ * @param {import('../types').ChromInfo<Name>} chromInfo - Chromosome info object.
12
+ * @return {ChromosomePosition<Name> | null} The chromosome position.
13
+ */
14
+ declare function absToChr<Name extends string>(absPosition: number, chromInfo: import("../types").ChromInfo<Name>): ChromosomePosition<Name> | null;
@@ -0,0 +1,14 @@
1
+ export default accessorTransposition;
2
+ /**
3
+ * Factory function for a transposition accessor for a 2D matrix in form of a 1D
4
+ * array.
5
+ *
6
+ * @description
7
+ * i^T = column * i + row
8
+ * where column: `Math.floor(i / x)` and row: `Math.floor(i / x)`
9
+ *
10
+ * @param {number} x - X dimension of the 2D matrix
11
+ * @param {number} y - Y dimension of the 2D matrix
12
+ * @return {(index: number) => number} Accessor function converting the orignal 1D index into the transposed index
13
+ */
14
+ declare function accessorTransposition(x: number, y: number): (index: number) => number;
@@ -0,0 +1,18 @@
1
+ export default addArrays;
2
+ /**
3
+ * Add two 1D arrays
4
+ *
5
+ * @description
6
+ * `a2` is added onto `a1`, hence `a2` needs to be at least as long as `a1`.
7
+ *
8
+ * @example
9
+ * ```
10
+ * addArrays([1,2,3], [2,3,4,5]) === [3,5,7]
11
+ * ```
12
+ *
13
+ * @param {Array<number>} a1 - First array of numbers
14
+ * @param {Array<number>} a2 - Second array of numbers
15
+ * @param {(index: number) => number} accessor - Allows to use custom accessors. This can be useful when a2 represents a transformed (e.g., transposed matrix).
16
+ * @return {Array<number>} - Combination of both arrays.
17
+ */
18
+ declare function addArrays(a1: Array<number>, a2: Array<number>, accessor?: (index: number) => number): Array<number>;
@@ -0,0 +1,8 @@
1
+ export default addClass;
2
+ /**
3
+ * Method to add a class name to an HTML or SVG element.
4
+ * @param {Element} el - HTML or SVG element to add a class to.
5
+ * @param {string} className - The class name to be added.
6
+ * @returns {void}
7
+ */
8
+ declare function addClass(el: Element, className: string): void;
@@ -0,0 +1,11 @@
1
+ export default addEventListenerOnce;
2
+ /**
3
+ * Add an event listener that fires only once and auto-removes itself
4
+ *
5
+ * @template {keyof HTMLElementEventMap} K
6
+ *
7
+ * @param {HTMLElement} element - DOM element to assign listener to.
8
+ * @param {K} eventName - Event name to listen to.
9
+ * @param {(event: HTMLElementEventMap[K]) => void} f - Event callback function.
10
+ */
11
+ declare function addEventListenerOnce<K extends keyof HTMLElementEventMap>(element: HTMLElement, eventName: K, f: (event: HTMLElementEventMap[K]) => void): void;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Make an assertion.
3
+ *
4
+ * Usage
5
+ * @example
6
+ * ```ts
7
+ * const value: boolean = Math.random() <= 0.5;
8
+ * assert(value, "value is greater than than 0.5!");
9
+ * value // true
10
+ * ```
11
+ *
12
+ * @param {unknown} expression - The expression to test.
13
+ * @param {string=} msg - The optional message to display if the assertion fails.
14
+ * @returns {asserts expression}
15
+ * @throws an {@link Error} if `expression` is not truthy.
16
+ */
17
+ export default function assert(expression: unknown, msg?: string | undefined): asserts expression;
@@ -0,0 +1,47 @@
1
+ export default backgroundTaskScheduler;
2
+ export type DataTask<T> = {
3
+ data: T;
4
+ handler: (data: T) => void;
5
+ trackId?: string | undefined;
6
+ };
7
+ export type NullDataTask = {
8
+ data: null;
9
+ handler: () => void;
10
+ trackId?: string | undefined;
11
+ };
12
+ export type Task = DataTask<any> | NullDataTask;
13
+ declare const backgroundTaskScheduler: BackgroundTaskScheduler;
14
+ /**
15
+ */
16
+ declare class BackgroundTaskScheduler {
17
+ /** @type {Task[]} */
18
+ taskList: Task[];
19
+ taskHandle: number | null;
20
+ requestIdleCallbackTimeout: number;
21
+ /**
22
+ * @template T
23
+ * @overload
24
+ * @param {(data: T) => void} taskHandler
25
+ * @param {T} taskData
26
+ * @param {string | null=} trackId
27
+ * @return {void}
28
+ */
29
+ enqueueTask<T>(taskHandler: (data: T) => void, taskData: T, trackId?: (string | null) | undefined): void;
30
+ /**
31
+ * If `taskData` is `null` the `taskHandler` will eventaully be called without any arguments.
32
+ *
33
+ * @overload
34
+ * @param {() => void} taskHandler
35
+ * @param {null} taskData
36
+ * @param {string | null=} trackId
37
+ * @return {void}
38
+ */
39
+ enqueueTask(taskHandler: () => void, taskData: null, trackId?: (string | null) | undefined): void;
40
+ /**
41
+ * @param {{ timeRemaining(): number, didTimeout: boolean }} deadline
42
+ */
43
+ runTaskQueue(deadline: {
44
+ timeRemaining(): number;
45
+ didTimeout: boolean;
46
+ }): void;
47
+ }
@@ -0,0 +1,9 @@
1
+ export default base64ToCanvas;
2
+ /**
3
+ * Convert a base64 encoded image into a canvas object.
4
+ * @param {string} base64 - Base64 string encoding the image.
5
+ * @param {number} width - Custom width for the canvas object.
6
+ * @param {number} height - Custom height for the canvas object.
7
+ * @return {Promise<HTMLCanvasElement>} The converted canvas object
8
+ */
9
+ declare function base64ToCanvas(base64: string, width: number, height: number): Promise<HTMLCanvasElement>;
@@ -0,0 +1,10 @@
1
+ export default chrToAbs;
2
+ /**
3
+ * Convert a chromosome position to an absolute genome position.
4
+ *
5
+ * @template {string} Name
6
+ * @param {Name} chrom - Chromosome name
7
+ * @param {number} chromPos - Chromosome position
8
+ * @param {import('../types').ChromInfo<Name>} chromInfo - Chromosome info object
9
+ */
10
+ declare function chrToAbs<Name extends string>(chrom: Name, chromPos: number, chromInfo: import("../types").ChromInfo<Name>): number;
@@ -0,0 +1,4 @@
1
+ export default chromInfoBisector;
2
+ declare const chromInfoBisector: (array: ArrayLike<{
3
+ pos: number;
4
+ }>, x: any, lo?: number, hi?: number) => number;
@@ -0,0 +1,12 @@
1
+ export default cloneEvent;
2
+ /**
3
+ * Clone an event by invoking the source event's constructor and passing in the source event.
4
+ *
5
+ * @template {Event & { sourceUid?: string, forwarded?: boolean }} TEvent
6
+ * @param {TEvent} event - Source event to be cloned.
7
+ * @return {TEvent} Cloned event
8
+ */
9
+ declare function cloneEvent<TEvent extends Event & {
10
+ sourceUid?: string;
11
+ forwarded?: boolean;
12
+ }>(event: TEvent): TEvent;
@@ -0,0 +1,13 @@
1
+ export default colorDomainToRgbaArray;
2
+ export type Color = [r: number, g: number, b: number, a: number];
3
+ /** @typedef {[r: number, g: number, b: number, a: number]} Color */
4
+ /**
5
+ * Convert a color domain to a 255 element array of [r,g,b,a]
6
+ * values (all from 0 to 255). The last color (255) will always be
7
+ * transparent
8
+ *
9
+ * @param {readonly [start: string, end: string]} colorRange
10
+ * @param {boolean} noTansparent
11
+ * @returns {Array<Color>}
12
+ */
13
+ declare function colorDomainToRgbaArray(colorRange: readonly [start: string, end: string], noTansparent?: boolean): Array<Color>;
@@ -0,0 +1,9 @@
1
+ export default colorToHex;
2
+ /**
3
+ * Convert a regular color value (e.g. 'red', '#FF0000', 'rgb(255,0,0)') to a
4
+ * hex value which is legible by PIXI
5
+ *
6
+ * @param {string} colorValue - Color value to convert
7
+ * @return {number} Hex value
8
+ */
9
+ declare function colorToHex(colorValue: string): number;
@@ -0,0 +1,9 @@
1
+ export default colorToRgba;
2
+ /**
3
+ * Convert a regular color value (e.g. 'red', '#FF0000', 'rgb(255,0,0)') to a
4
+ * RGBA array, with support for the value "transparent".
5
+ *
6
+ * @param {string} colorValue - An RGB(A) color value to convert.
7
+ * @return {[r: number, g: number, b: number, a: number]} An RGBA array.
8
+ */
9
+ declare function colorToRgba(colorValue: string): [r: number, g: number, b: number, a: number];
@@ -0,0 +1,2 @@
1
+ /** @param {string} text */
2
+ export default function copyTextToClipboard(text: string): void;
@@ -0,0 +1,11 @@
1
+ export default dataToGenomicLoci;
2
+ export type GenomicLoci = [startChromName: string, startChromPos: number, endChromName: string, endChromPos: number];
3
+ /** @typedef {[startChromName: string, startChromPos: number, endChromName: string, endChromPos: number]} GenomicLoci */
4
+ /**
5
+ * Convert a pair of data coordinates to genomic coordinates.
6
+ * @param {number} x0 - The first data coordinate.
7
+ * @param {number} x1 - The second data coordinate.
8
+ * @param {import('../types').ChromInfo} chromInfo - The chromosome info object.
9
+ * @returns {GenomicLoci} The genomic coordinates.
10
+ */
11
+ declare function dataToGenomicLoci(x0: number, x1: number, chromInfo: import("../types").ChromInfo): GenomicLoci;
@@ -0,0 +1,5 @@
1
+ export function debounce<Args extends any[]>(func: (...args: Args) => void, wait: number, immediate: boolean): {
2
+ (...args: Args): void;
3
+ cancel(): void;
4
+ };
5
+ export default debounce;