higlass 1.13.5 → 2.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 (392) hide show
  1. package/README.md +48 -54
  2. package/app/globals.d.ts +1 -1
  3. package/app/missing-types.d.ts +4 -1
  4. package/app/scripts/AddTrackDialog.jsx +11 -4
  5. package/app/scripts/AddTrackPositionMenu.jsx +28 -7
  6. package/app/scripts/Annotations1dTrack.js +90 -251
  7. package/app/scripts/Annotations2dTrack.js +12 -7
  8. package/app/scripts/Autocomplete.jsx +13 -28
  9. package/app/scripts/AxisPixi.js +6 -10
  10. package/app/scripts/BarTrack.js +3 -3
  11. package/app/scripts/BedLikeTrack.js +556 -449
  12. package/app/scripts/Button.jsx +1 -1
  13. package/app/scripts/CNVIntervalTrack.js +1 -1
  14. package/app/scripts/CenterTrack.jsx +8 -7
  15. package/app/scripts/Chromosome2DAnnotations.js +1 -1
  16. package/app/scripts/Chromosome2DLabels.js +1 -1
  17. package/app/scripts/ChromosomeGrid.js +49 -38
  18. package/app/scripts/ChromosomeInfo.js +1 -1
  19. package/app/scripts/CombinedTrack.js +3 -1
  20. package/app/scripts/ConfigTrackMenu.jsx +1 -1
  21. package/app/scripts/ConfigViewMenu.jsx +2 -2
  22. package/app/scripts/ContextMenuContainer.jsx +4 -2
  23. package/app/scripts/ContextMenuItem.jsx +14 -2
  24. package/app/scripts/CrossRule.js +1 -1
  25. package/app/scripts/CustomTrackDialog.jsx +2 -2
  26. package/app/scripts/Dialog.jsx +2 -2
  27. package/app/scripts/DragListeningDiv.jsx +1 -1
  28. package/app/scripts/DraggableDiv.jsx +2 -3
  29. package/app/scripts/ExportLinkDialog.jsx +1 -1
  30. package/app/scripts/FilledLine.js +349 -0
  31. package/app/scripts/GalleryTracks.jsx +77 -78
  32. package/app/scripts/GenomePositionSearchBox.jsx +184 -482
  33. package/app/scripts/HeatmapOptions.jsx +4 -2
  34. package/app/scripts/HeatmapTiledPixiTrack.js +23 -32
  35. package/app/scripts/HiGlassComponent.jsx +515 -444
  36. package/app/scripts/HiGlassComponentContext.js +5 -0
  37. package/app/scripts/Horizontal1dHeatmapTrack.js +1 -1
  38. package/app/scripts/Horizontal2DDomainsTrack.js +1 -1
  39. package/app/scripts/HorizontalChromosomeLabels.js +28 -22
  40. package/app/scripts/HorizontalGeneAnnotationsTrack.js +1 -1
  41. package/app/scripts/HorizontalHeatmapTrack.js +2 -2
  42. package/app/scripts/HorizontalMultivecTrack.js +6 -7
  43. package/app/scripts/HorizontalRule.js +1 -2
  44. package/app/scripts/HorizontalTiled1DPixiTrack.js +4 -4
  45. package/app/scripts/HorizontalTiledPlot.jsx +9 -9
  46. package/app/scripts/LeftTrackModifier.js +4 -0
  47. package/app/scripts/ListWrapper.jsx +1 -2
  48. package/app/scripts/MapboxTilesTrack.js +1 -2
  49. package/app/scripts/Modal.jsx +2 -2
  50. package/app/scripts/MoveableTrack.jsx +10 -12
  51. package/app/scripts/NestedContextMenu.jsx +2 -1
  52. package/app/scripts/OSMTileIdsTrack.js +1 -1
  53. package/app/scripts/OverlayTrack.js +4 -4
  54. package/app/scripts/PixiTrack.js +27 -13
  55. package/app/scripts/PlotTypeChooser.jsx +3 -4
  56. package/app/scripts/SearchField.js +5 -5
  57. package/app/scripts/SeriesListItems.jsx +3 -4
  58. package/app/scripts/SeriesListMenu.jsx +95 -53
  59. package/app/scripts/SeriesListSubmenuMixin.jsx +2 -1
  60. package/app/scripts/SketchInlinePicker.jsx +2 -2
  61. package/app/scripts/SortableList.jsx +1 -1
  62. package/app/scripts/Tiled1DPixiTrack.js +4 -1
  63. package/app/scripts/TiledPixiTrack.js +244 -102
  64. package/app/scripts/TiledPlot.jsx +565 -118
  65. package/app/scripts/TilesetFinder.jsx +12 -4
  66. package/app/scripts/Track.js +1 -1
  67. package/app/scripts/TrackArea.jsx +4 -0
  68. package/app/scripts/TrackControl.jsx +2 -2
  69. package/app/scripts/TrackRenderer.jsx +32 -33
  70. package/app/scripts/ValueIntervalTrack.js +1 -1
  71. package/app/scripts/VerticalRule.js +2 -2
  72. package/app/scripts/VerticalTiledPlot.jsx +7 -7
  73. package/app/scripts/ViewConfigEditor.jsx +1 -1
  74. package/app/scripts/ViewContextMenu.jsx +53 -5
  75. package/app/scripts/ViewHeader.jsx +9 -9
  76. package/app/scripts/ViewportTracker2D.js +1 -1
  77. package/app/scripts/api.js +92 -12
  78. package/app/scripts/configs/available-track-types.js +1 -1
  79. package/app/scripts/configs/index.js +6 -1
  80. package/app/scripts/configs/positions-by-datatype.js +2 -2
  81. package/app/scripts/configs/primitives.js +2 -0
  82. package/app/scripts/configs/themes.js +0 -1
  83. package/app/scripts/configs/tracks-info-by-type.js +11 -8
  84. package/app/scripts/configs/tracks-info.js +3 -2
  85. package/app/scripts/d3-context-menu.js +3 -4
  86. package/app/scripts/data-fetchers/DataFetcher.js +35 -36
  87. package/app/scripts/data-fetchers/genbank-fetcher.js +13 -22
  88. package/app/scripts/data-fetchers/local-tile-fetcher.js +10 -8
  89. package/app/scripts/hglib.jsx +62 -71
  90. package/app/scripts/hocs/with-modal.jsx +32 -10
  91. package/app/scripts/hocs/with-pub-sub.js +12 -3
  92. package/app/scripts/hocs/with-theme.jsx +21 -14
  93. package/app/scripts/icons.jsx +3 -2
  94. package/app/scripts/mixwith.js +2 -2
  95. package/app/scripts/options-info.js +49 -11
  96. package/app/scripts/plugins/get-data-fetcher.js +2 -3
  97. package/app/scripts/services/chrom-info.js +32 -4
  98. package/app/scripts/services/element-resize-listener.js +2 -2
  99. package/app/scripts/services/index.js +0 -1
  100. package/app/scripts/services/tile-proxy.js +368 -285
  101. package/app/scripts/services/worker.js +31 -28
  102. package/app/scripts/test-helpers/index.js +2 -1
  103. package/app/scripts/test-helpers/test-helpers.jsx +157 -69
  104. package/app/scripts/types.ts +118 -47
  105. package/app/scripts/utils/LruCache.js +3 -2
  106. package/app/scripts/utils/assert.js +19 -0
  107. package/app/scripts/utils/background-task-scheduler.js +2 -0
  108. package/app/scripts/utils/color-domain-to-rgba-array.js +13 -3
  109. package/app/scripts/utils/copy-text-to-clipboard.js +36 -0
  110. package/app/scripts/utils/decompress.js +33 -0
  111. package/app/scripts/utils/default-tracks.js +46 -0
  112. package/app/scripts/utils/dict-items.js +1 -0
  113. package/app/scripts/utils/dict-keys.js +1 -0
  114. package/app/scripts/utils/dict-values.js +1 -0
  115. package/app/scripts/utils/expand-combined-tracks.js +11 -7
  116. package/app/scripts/utils/fill-in-min-widths.js +47 -21
  117. package/app/scripts/utils/flatten.js +0 -1
  118. package/app/scripts/utils/get-aggregation-function.js +1 -1
  119. package/app/scripts/utils/get-default-track-for-datatype.js +37 -10
  120. package/app/scripts/utils/get-default-tracks-for-datatype.ts +46 -0
  121. package/app/scripts/utils/get-higlass-components.js +27 -3
  122. package/app/scripts/utils/get-track-position-by-uid.js +8 -1
  123. package/app/scripts/utils/get-xylofon.js +12 -9
  124. package/app/scripts/utils/has-parent.js +5 -5
  125. package/app/scripts/utils/hex-string-to-int.js +1 -1
  126. package/app/scripts/utils/index.js +1 -0
  127. package/app/scripts/utils/interval-tree.js +222 -177
  128. package/app/scripts/utils/load-chrom-infos.js +4 -1
  129. package/app/scripts/utils/pixi-text-to-svg.js +5 -9
  130. package/app/scripts/utils/positioned-tracks-to-all-tracks.js +55 -0
  131. package/app/scripts/utils/range-query-2d.js +3 -3
  132. package/app/scripts/utils/reduce.js +12 -5
  133. package/app/scripts/utils/segments-to-rows.js +14 -11
  134. package/app/scripts/utils/svg-line.js +7 -8
  135. package/app/scripts/utils/type-guards.js +16 -7
  136. package/app/scripts/utils/visit-positioned-tracks.js +9 -4
  137. package/app/styles/AddTrackPositionMenu.module.scss +37 -0
  138. package/app/styles/HiGlass.module.scss +3 -1
  139. package/app/styles/d3-context-menu.css +0 -1
  140. package/app/styles/prism.css +1 -0
  141. package/dist/app/schema.json +525 -0
  142. package/dist/app/scripts/AddTrackDialog.d.ts +64 -0
  143. package/dist/app/scripts/AddTrackPositionMenu.d.ts +5 -0
  144. package/dist/app/scripts/Annotations1dTrack.d.ts +15 -0
  145. package/dist/app/scripts/Annotations2dTrack.d.ts +95 -0
  146. package/dist/app/scripts/ArrowheadDomainsTrack.d.ts +36 -0
  147. package/dist/app/scripts/Autocomplete.d.ts +102 -0
  148. package/dist/app/scripts/AxisPixi.d.ts +25 -0
  149. package/dist/app/scripts/BarTrack.d.ts +28 -0
  150. package/dist/app/scripts/BedLikeTrack.d.ts +84 -0
  151. package/dist/app/scripts/Button.d.ts +3 -0
  152. package/dist/app/scripts/CNVIntervalTrack.d.ts +12 -0
  153. package/dist/app/scripts/CenterTiledPlot.d.ts +3 -0
  154. package/dist/app/scripts/CenterTrack.d.ts +92 -0
  155. package/dist/app/scripts/Chromosome2DAnnotations.d.ts +10 -0
  156. package/dist/app/scripts/Chromosome2DLabels.d.ts +13 -0
  157. package/dist/app/scripts/ChromosomeGrid.d.ts +24 -0
  158. package/dist/app/scripts/ChromosomeInfo.d.ts +14 -0
  159. package/dist/app/scripts/CloseTrackMenu.d.ts +10 -0
  160. package/dist/app/scripts/CombinedTrack.d.ts +32 -0
  161. package/dist/app/scripts/ConfigTrackMenu.d.ts +10 -0
  162. package/dist/app/scripts/ConfigViewMenu.d.ts +34 -0
  163. package/dist/app/scripts/ConfigureSeriesMenu.d.ts +3 -0
  164. package/dist/app/scripts/ContextMenuContainer.d.ts +36 -0
  165. package/dist/app/scripts/ContextMenuItem.d.ts +34 -0
  166. package/dist/app/scripts/Cross.d.ts +3 -0
  167. package/dist/app/scripts/CrossRule.d.ts +24 -0
  168. package/dist/app/scripts/CustomTrackDialog.d.ts +17 -0
  169. package/dist/app/scripts/Dialog.d.ts +5 -0
  170. package/dist/app/scripts/DivergentBarTrack.d.ts +4 -0
  171. package/dist/app/scripts/DragListeningDiv.d.ts +32 -0
  172. package/dist/app/scripts/DraggableDiv.d.ts +63 -0
  173. package/dist/app/scripts/ExportLinkDialog.d.ts +21 -0
  174. package/dist/app/scripts/FilledLine.d.ts +5 -0
  175. package/dist/app/scripts/FixedTrack.d.ts +5 -0
  176. package/dist/app/scripts/GalleryTracks.d.ts +20 -0
  177. package/dist/app/scripts/GenomePositionSearchBox.d.ts +95 -0
  178. package/dist/app/scripts/HeatmapOptions.d.ts +30 -0
  179. package/dist/app/scripts/HeatmapTiledPixiTrack.d.ts +184 -0
  180. package/dist/app/scripts/HiGlassComponent.d.ts +762 -0
  181. package/dist/app/scripts/HiGlassComponentContext.d.ts +3 -0
  182. package/dist/app/scripts/HiGlassTrackComponent.d.ts +37 -0
  183. package/dist/app/scripts/Horizontal1dHeatmapTrack.d.ts +9 -0
  184. package/dist/app/scripts/Horizontal2DDomainsTrack.d.ts +21 -0
  185. package/dist/app/scripts/HorizontalChromosomeLabels.d.ts +47 -0
  186. package/dist/app/scripts/HorizontalGeneAnnotationsTrack.d.ts +25 -0
  187. package/dist/app/scripts/HorizontalHeatmapTrack.d.ts +12 -0
  188. package/dist/app/scripts/HorizontalItem.d.ts +3 -0
  189. package/dist/app/scripts/HorizontalLine1DPixiTrack.d.ts +23 -0
  190. package/dist/app/scripts/HorizontalMultivecTrack.d.ts +50 -0
  191. package/dist/app/scripts/HorizontalPoint1DPixiTrack.d.ts +5 -0
  192. package/dist/app/scripts/HorizontalRule.d.ts +22 -0
  193. package/dist/app/scripts/HorizontalTiled1DPixiTrack.d.ts +26 -0
  194. package/dist/app/scripts/HorizontalTiledPlot.d.ts +49 -0
  195. package/dist/app/scripts/HorizontalTrack.d.ts +6 -0
  196. package/dist/app/scripts/Id2DTiledPixiTrack.d.ts +10 -0
  197. package/dist/app/scripts/IdHorizontal1DTiledPixiTrack.d.ts +6 -0
  198. package/dist/app/scripts/IdVertical1DTiledPixiTrack.d.ts +7 -0
  199. package/dist/app/scripts/LeftAxisTrack.d.ts +9 -0
  200. package/dist/app/scripts/LeftTrackModifier.d.ts +29 -0
  201. package/dist/app/scripts/ListWrapper.d.ts +64 -0
  202. package/dist/app/scripts/MapboxTilesTrack.d.ts +9 -0
  203. package/dist/app/scripts/Modal.d.ts +5 -0
  204. package/dist/app/scripts/MoveableTrack.d.ts +18 -0
  205. package/dist/app/scripts/NestedContextMenu.d.ts +7 -0
  206. package/dist/app/scripts/OSMTileIdsTrack.d.ts +5 -0
  207. package/dist/app/scripts/OSMTilesTrack.d.ts +129 -0
  208. package/dist/app/scripts/OverlayTrack.d.ts +13 -0
  209. package/dist/app/scripts/PixiTrack.d.ts +174 -0
  210. package/dist/app/scripts/PlotTypeChooser.d.ts +25 -0
  211. package/dist/app/scripts/PopupMenu.d.ts +28 -0
  212. package/dist/app/scripts/RasterTilesTrack.d.ts +9 -0
  213. package/dist/app/scripts/RuleMixin.d.ts +2 -0
  214. package/dist/app/scripts/SVGTrack.d.ts +15 -0
  215. package/dist/app/scripts/SearchField.d.ts +13 -0
  216. package/dist/app/scripts/SeriesListItems.d.ts +2 -0
  217. package/dist/app/scripts/SeriesListMenu.d.ts +51 -0
  218. package/dist/app/scripts/SeriesListSubmenuMixin.d.ts +2 -0
  219. package/dist/app/scripts/SketchInlinePicker.d.ts +25 -0
  220. package/dist/app/scripts/SortableList.d.ts +22 -0
  221. package/dist/app/scripts/SquareMarkersTrack.d.ts +22 -0
  222. package/dist/app/scripts/Tiled1DPixiTrack.d.ts +60 -0
  223. package/dist/app/scripts/TiledPixiTrack.d.ts +369 -0
  224. package/dist/app/scripts/TiledPlot.d.ts +313 -0
  225. package/dist/app/scripts/TilesetFinder.d.ts +65 -0
  226. package/dist/app/scripts/TopAxisTrack.d.ts +9 -0
  227. package/dist/app/scripts/Track.d.ts +196 -0
  228. package/dist/app/scripts/TrackArea.d.ts +26 -0
  229. package/dist/app/scripts/TrackControl.d.ts +5 -0
  230. package/dist/app/scripts/TrackRenderer.d.ts +724 -0
  231. package/dist/app/scripts/UnknownPixiTrack.d.ts +7 -0
  232. package/dist/app/scripts/ValueIntervalTrack.d.ts +6 -0
  233. package/dist/app/scripts/VerticalItem.d.ts +3 -0
  234. package/dist/app/scripts/VerticalRule.d.ts +21 -0
  235. package/dist/app/scripts/VerticalTiled1DPixiTrack.d.ts +6 -0
  236. package/dist/app/scripts/VerticalTiledPlot.d.ts +50 -0
  237. package/dist/app/scripts/VerticalTrack.d.ts +6 -0
  238. package/dist/app/scripts/ViewConfigEditor.d.ts +53 -0
  239. package/dist/app/scripts/ViewContextMenu.d.ts +17 -0
  240. package/dist/app/scripts/ViewHeader.d.ts +75 -0
  241. package/dist/app/scripts/ViewportTracker2D.d.ts +17 -0
  242. package/dist/app/scripts/ViewportTracker2DPixi.d.ts +11 -0
  243. package/dist/app/scripts/ViewportTrackerHorizontal.d.ts +17 -0
  244. package/dist/app/scripts/ViewportTrackerVertical.d.ts +17 -0
  245. package/dist/app/scripts/api.d.ts +640 -0
  246. package/dist/app/scripts/configs/available-track-types.d.ts +2 -0
  247. package/dist/app/scripts/configs/colormaps.d.ts +2 -0
  248. package/dist/app/scripts/configs/datatype-to-track-type.d.ts +4 -0
  249. package/dist/app/scripts/configs/default-tracks-for-datatype.d.ts +38 -0
  250. package/dist/app/scripts/configs/dense-data-extrema-config.d.ts +2 -0
  251. package/dist/app/scripts/configs/globals.d.ts +5 -0
  252. package/dist/app/scripts/configs/index.d.ts +16 -0
  253. package/dist/app/scripts/configs/positions-by-datatype.d.ts +2 -0
  254. package/dist/app/scripts/configs/primitives.d.ts +20 -0
  255. package/dist/app/scripts/configs/themes.d.ts +3 -0
  256. package/dist/app/scripts/configs/tracks-info-by-type.d.ts +4 -0
  257. package/dist/app/scripts/configs/tracks-info.d.ts +24 -0
  258. package/dist/app/scripts/d3-context-menu.d.ts +2 -0
  259. package/dist/app/scripts/data-fetchers/DataFetcher.d.ts +151 -0
  260. package/dist/app/scripts/data-fetchers/genbank-fetcher.d.ts +86 -0
  261. package/dist/app/scripts/data-fetchers/index.d.ts +3 -0
  262. package/dist/app/scripts/data-fetchers/local-tile-fetcher.d.ts +47 -0
  263. package/dist/app/scripts/gosling-exports.d.ts +17 -0
  264. package/dist/app/scripts/hglib.d.ts +24 -0
  265. package/dist/app/scripts/hocs/with-modal.d.ts +19 -0
  266. package/dist/app/scripts/hocs/with-pub-sub.d.ts +22 -0
  267. package/dist/app/scripts/hocs/with-theme.d.ts +13 -0
  268. package/dist/app/scripts/icons.d.ts +161 -0
  269. package/dist/app/scripts/mixwith.d.ts +27 -0
  270. package/dist/app/scripts/options-info.d.ts +1355 -0
  271. package/dist/app/scripts/plugins/available-for-plugins.d.ts +2338 -0
  272. package/dist/app/scripts/plugins/get-data-fetcher.d.ts +2 -0
  273. package/dist/app/scripts/plugins/index.d.ts +2 -0
  274. package/dist/app/scripts/services/chrom-info.d.ts +10 -0
  275. package/dist/app/scripts/services/dom-event.d.ts +7 -0
  276. package/dist/app/scripts/services/element-resize-listener.d.ts +5 -0
  277. package/dist/app/scripts/services/index.d.ts +5 -0
  278. package/dist/app/scripts/services/tile-proxy.d.ts +180 -0
  279. package/dist/app/scripts/services/worker.d.ts +157 -0
  280. package/dist/app/scripts/symbol.d.ts +13 -0
  281. package/dist/app/scripts/test-helpers/index.d.ts +1 -0
  282. package/dist/app/scripts/test-helpers/test-helpers.d.ts +33 -0
  283. package/dist/app/scripts/track-utils.d.ts +73 -0
  284. package/dist/app/scripts/types.d.ts +199 -0
  285. package/dist/app/scripts/utils/DenseDataExtrema1D.d.ts +88 -0
  286. package/dist/app/scripts/utils/DenseDataExtrema2D.d.ts +97 -0
  287. package/dist/app/scripts/utils/LruCache.d.ts +44 -0
  288. package/dist/app/scripts/utils/abs-to-chr.d.ts +14 -0
  289. package/dist/app/scripts/utils/accessor-transposition.d.ts +14 -0
  290. package/dist/app/scripts/utils/add-arrays.d.ts +18 -0
  291. package/dist/app/scripts/utils/add-class.d.ts +8 -0
  292. package/dist/app/scripts/utils/add-event-listener-once.d.ts +11 -0
  293. package/dist/app/scripts/utils/assert.d.ts +17 -0
  294. package/dist/app/scripts/utils/background-task-scheduler.d.ts +47 -0
  295. package/dist/app/scripts/utils/base64-to-canvas.d.ts +9 -0
  296. package/dist/app/scripts/utils/chr-to-abs.d.ts +10 -0
  297. package/dist/app/scripts/utils/chrom-info-bisector.d.ts +4 -0
  298. package/dist/app/scripts/utils/clone-event.d.ts +12 -0
  299. package/dist/app/scripts/utils/color-domain-to-rgba-array.d.ts +13 -0
  300. package/dist/app/scripts/utils/color-to-hex.d.ts +9 -0
  301. package/dist/app/scripts/utils/color-to-rgba.d.ts +9 -0
  302. package/dist/app/scripts/utils/copy-text-to-clipboard.d.ts +2 -0
  303. package/dist/app/scripts/utils/data-to-genomic-loci.d.ts +11 -0
  304. package/dist/app/scripts/utils/debounce.d.ts +5 -0
  305. package/dist/app/scripts/utils/dec-to-hex-str.d.ts +8 -0
  306. package/dist/app/scripts/utils/decompress.d.ts +27 -0
  307. package/dist/app/scripts/utils/default-tracks.d.ts +3 -0
  308. package/dist/app/scripts/utils/dict-from-tuples.d.ts +11 -0
  309. package/dist/app/scripts/utils/dict-items.d.ts +18 -0
  310. package/dist/app/scripts/utils/dict-keys.d.ts +10 -0
  311. package/dist/app/scripts/utils/dict-values.d.ts +8 -0
  312. package/dist/app/scripts/utils/download.d.ts +7 -0
  313. package/dist/app/scripts/utils/expand-combined-tracks.d.ts +11 -0
  314. package/dist/app/scripts/utils/fake-pub-sub.d.ts +11 -0
  315. package/dist/app/scripts/utils/fill-in-min-widths.d.ts +44 -0
  316. package/dist/app/scripts/utils/flatten.d.ts +9 -0
  317. package/dist/app/scripts/utils/for-each.d.ts +9 -0
  318. package/dist/app/scripts/utils/forward-event.d.ts +7 -0
  319. package/dist/app/scripts/utils/genome-loci-to-pixels.d.ts +9 -0
  320. package/dist/app/scripts/utils/genomic-range-to-chromosome-chunks.d.ts +21 -0
  321. package/dist/app/scripts/utils/get-aggregation-function.d.ts +10 -0
  322. package/dist/app/scripts/utils/get-default-track-for-datatype.d.ts +21 -0
  323. package/dist/app/scripts/utils/get-default-tracks-for-datatype.d.ts +3 -0
  324. package/dist/app/scripts/utils/get-element-dim.d.ts +7 -0
  325. package/dist/app/scripts/utils/get-higlass-components.d.ts +7 -0
  326. package/dist/app/scripts/utils/get-track-by-uid.d.ts +7 -0
  327. package/dist/app/scripts/utils/get-track-conf-from-hgc.d.ts +10 -0
  328. package/dist/app/scripts/utils/get-track-obj-by-id.d.ts +2 -0
  329. package/dist/app/scripts/utils/get-track-position-by-uid.d.ts +13 -0
  330. package/dist/app/scripts/utils/get-xylofon.d.ts +2 -0
  331. package/dist/app/scripts/utils/gradient.d.ts +14 -0
  332. package/dist/app/scripts/utils/has-class.d.ts +8 -0
  333. package/dist/app/scripts/utils/has-parent.d.ts +9 -0
  334. package/dist/app/scripts/utils/hex-string-to-int.d.ts +14 -0
  335. package/dist/app/scripts/utils/index.d.ts +89 -0
  336. package/dist/app/scripts/utils/interval-tree.d.ts +109 -0
  337. package/dist/app/scripts/utils/into-the-void.d.ts +6 -0
  338. package/dist/app/scripts/utils/is-track-or-child-track.d.ts +7 -0
  339. package/dist/app/scripts/utils/is-track-range-selectable.d.ts +2 -0
  340. package/dist/app/scripts/utils/is-within.d.ts +12 -0
  341. package/dist/app/scripts/utils/lat-to-y.d.ts +9 -0
  342. package/dist/app/scripts/utils/lng-to-x.d.ts +8 -0
  343. package/dist/app/scripts/utils/load-chrom-infos.d.ts +8 -0
  344. package/dist/app/scripts/utils/map.d.ts +13 -0
  345. package/dist/app/scripts/utils/max-non-zero.d.ts +6 -0
  346. package/dist/app/scripts/utils/max.d.ts +10 -0
  347. package/dist/app/scripts/utils/min-non-zero.d.ts +6 -0
  348. package/dist/app/scripts/utils/min.d.ts +10 -0
  349. package/dist/app/scripts/utils/mod.d.ts +9 -0
  350. package/dist/app/scripts/utils/ndarray-assign.d.ts +2 -0
  351. package/dist/app/scripts/utils/ndarray-flatten.d.ts +2 -0
  352. package/dist/app/scripts/utils/ndarray-to-list.d.ts +2 -0
  353. package/dist/app/scripts/utils/numericify-version.d.ts +6 -0
  354. package/dist/app/scripts/utils/obj-vals.d.ts +8 -0
  355. package/dist/app/scripts/utils/or.d.ts +8 -0
  356. package/dist/app/scripts/utils/parse-chromsizes-rows.d.ts +34 -0
  357. package/dist/app/scripts/utils/pixi-text-to-svg.d.ts +2 -0
  358. package/dist/app/scripts/utils/positioned-tracks-to-all-tracks.d.ts +26 -0
  359. package/dist/app/scripts/utils/q.d.ts +18 -0
  360. package/dist/app/scripts/utils/rad-to-deg.d.ts +7 -0
  361. package/dist/app/scripts/utils/range-query-2d.d.ts +17 -0
  362. package/dist/app/scripts/utils/reduce.d.ts +14 -0
  363. package/dist/app/scripts/utils/rel-to-abs-chrom-pos.d.ts +10 -0
  364. package/dist/app/scripts/utils/remove-class.d.ts +7 -0
  365. package/dist/app/scripts/utils/reset-d3-brush-style.d.ts +10 -0
  366. package/dist/app/scripts/utils/rgb-to-hex.d.ts +8 -0
  367. package/dist/app/scripts/utils/scales-center-and-k.d.ts +12 -0
  368. package/dist/app/scripts/utils/scales-to-genome-loci.d.ts +3 -0
  369. package/dist/app/scripts/utils/segments-to-rows.d.ts +15 -0
  370. package/dist/app/scripts/utils/selected-items-to-cum-weights.d.ts +12 -0
  371. package/dist/app/scripts/utils/selected-items-to-size.d.ts +13 -0
  372. package/dist/app/scripts/utils/show-mouse-position.d.ts +54 -0
  373. package/dist/app/scripts/utils/some.d.ts +10 -0
  374. package/dist/app/scripts/utils/sum.d.ts +8 -0
  375. package/dist/app/scripts/utils/svg-line.d.ts +2 -0
  376. package/dist/app/scripts/utils/throttle-and-debounce.d.ts +33 -0
  377. package/dist/app/scripts/utils/tile-to-canvas.d.ts +9 -0
  378. package/dist/app/scripts/utils/timeout.d.ts +3 -0
  379. package/dist/app/scripts/utils/to-void.d.ts +3 -0
  380. package/dist/app/scripts/utils/total-track-pixel-height.d.ts +27 -0
  381. package/dist/app/scripts/utils/trim-trailing-slash.d.ts +7 -0
  382. package/dist/app/scripts/utils/type-guards.d.ts +36 -0
  383. package/dist/app/scripts/utils/value-to-color.d.ts +12 -0
  384. package/dist/app/scripts/utils/visit-positioned-tracks.d.ts +18 -0
  385. package/dist/app/scripts/utils/visit-tracks.d.ts +9 -0
  386. package/dist/esm.html +1 -3
  387. package/dist/hglib.js +86315 -100592
  388. package/dist/hglib.min.js +123 -131
  389. package/dist/higlass.mjs +88861 -103138
  390. package/dist/index.html +1 -3
  391. package/dist/package.json +134 -0
  392. package/package.json +25 -27
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
- import React from 'react';
3
2
  import PropTypes from 'prop-types';
3
+ import React from 'react';
4
4
 
5
5
  import classes from '../styles/Button.module.scss';
6
6
 
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
- import { scaleBand } from 'd3-scale';
3
2
  import { range } from 'd3-array';
3
+ import { scaleBand } from 'd3-scale';
4
4
  import { segmentsToRows } from './utils';
5
5
 
6
6
  import HorizontalTiled1DPixiTrack from './HorizontalTiled1DPixiTrack';
@@ -1,25 +1,25 @@
1
1
  // @ts-nocheck
2
- import PropTypes from 'prop-types';
3
- import React from 'react';
2
+ import clsx from 'clsx';
4
3
  import { brush, brushX, brushY } from 'd3-brush';
5
4
  import { select } from 'd3-selection';
6
- import clsx from 'clsx';
5
+ import PropTypes from 'prop-types';
6
+ import React from 'react';
7
7
 
8
8
  import TrackControl from './TrackControl';
9
9
 
10
10
  // Utils
11
- import { or, resetD3BrushStyle, IS_TRACK_RANGE_SELECTABLE } from './utils';
11
+ import { IS_TRACK_RANGE_SELECTABLE, or, resetD3BrushStyle } from './utils';
12
12
 
13
13
  // Styles
14
- import styles from '../styles/CenterTrack.module.scss'; // eslint-disable-line no-unused-vars
15
- import stylesTrack from '../styles/Track.module.scss'; // eslint-disable-line no-unused-vars
14
+ import styles from '../styles/CenterTrack.module.scss';
15
+ import stylesTrack from '../styles/Track.module.scss';
16
16
 
17
17
  const STYLES = {
18
18
  pointerEvents: 'all',
19
19
  };
20
20
 
21
21
  function sourceEvent(event) {
22
- return event && event.sourceEvent;
22
+ return event?.sourceEvent;
23
23
  }
24
24
 
25
25
  class CenterTrack extends React.Component {
@@ -488,6 +488,7 @@ class CenterTrack extends React.Component {
488
488
  }}
489
489
  xmlns="http://www.w3.org/2000/svg"
490
490
  >
491
+ <title>Range Selection Brush</title>
491
492
  <g
492
493
  ref={(el) => {
493
494
  this.brushElX = select(el);
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
2
  import { color } from 'd3-color';
3
3
 
4
- import PixiTrack from './PixiTrack';
5
4
  import ChromosomeInfo from './ChromosomeInfo';
5
+ import PixiTrack from './PixiTrack';
6
6
 
7
7
  // Configs
8
8
  import { GLOBALS } from './configs';
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
2
  import boxIntersect from 'box-intersect';
3
3
 
4
- import PixiTrack from './PixiTrack';
5
4
  import ChromosomeInfo from './ChromosomeInfo';
5
+ import PixiTrack from './PixiTrack';
6
6
  import SearchField from './SearchField';
7
7
 
8
8
  import { absToChr } from './utils';
@@ -1,14 +1,13 @@
1
1
  // @ts-nocheck
2
- import PixiTrack from './PixiTrack';
3
2
  import ChromosomeInfo from './ChromosomeInfo';
4
- import SearchField from './SearchField';
3
+ import TiledPixiTrack from './TiledPixiTrack';
5
4
 
6
5
  import { colorToHex } from './utils';
7
6
 
8
7
  // Configs
9
8
  import { GLOBALS } from './configs';
10
9
 
11
- class ChromosomeGrid extends PixiTrack {
10
+ class ChromosomeGrid extends TiledPixiTrack {
12
11
  constructor(context, options) {
13
12
  super(context, options);
14
13
  const {
@@ -20,47 +19,59 @@ class ChromosomeGrid extends PixiTrack {
20
19
  isOverlay = false,
21
20
  } = context;
22
21
 
23
- this.searchField = null;
24
22
  this.chromInfo = null;
25
23
  this.animate = animate;
26
24
  this.orientation = orientation;
27
25
  this.isOverlay = isOverlay;
28
26
 
29
- let chromSizesPath = chromInfoPath;
30
-
31
- if (!chromSizesPath) {
32
- chromSizesPath = `${dataConfig.server}/chrom-sizes/?id=${dataConfig.tilesetUid}`;
27
+ /** The previous chromInfoPath approach to loading chromosome size.
28
+ *
29
+ * This is superseded by loading chromosome sizes directly from the
30
+ * tileset info object
31
+ */
32
+ if (chromInfoPath) {
33
+ ChromosomeInfo(
34
+ chromInfoPath,
35
+ (newChromInfo) => {
36
+ this.chromInfo = newChromInfo;
37
+
38
+ this.tilesetInfoReceived();
39
+ },
40
+ this.pubSub,
41
+ );
33
42
  }
43
+ }
34
44
 
35
- ChromosomeInfo(
36
- chromSizesPath,
37
- (newChromInfo) => {
38
- this.chromInfo = newChromInfo;
39
-
40
- this.searchField = new SearchField(this.chromInfo);
41
-
42
- this.texts = [];
43
- this.lineGraphics = new GLOBALS.PIXI.Graphics();
44
- this.lineGraphics1dH = new GLOBALS.PIXI.Graphics();
45
- this.lineGraphics1dV = new GLOBALS.PIXI.Graphics();
46
- this.lineGraphics2d = new GLOBALS.PIXI.Graphics();
47
- this.mask1dH = new GLOBALS.PIXI.Graphics();
48
- this.mask1dV = new GLOBALS.PIXI.Graphics();
49
- this.mask2d = new GLOBALS.PIXI.Graphics();
50
-
51
- this.lineGraphics.addChild(this.lineGraphics1dH);
52
- this.lineGraphics1dH.addChild(this.mask1dH);
53
- this.lineGraphics.addChild(this.lineGraphics1dV);
54
- this.lineGraphics1dV.addChild(this.mask1dV);
55
- this.lineGraphics.addChild(this.lineGraphics2d);
56
- this.lineGraphics2d.addChild(this.mask2d);
57
- this.pMain.addChild(this.lineGraphics);
58
-
59
- this.draw();
60
- this.animate();
61
- },
62
- pubSub,
63
- );
45
+ /** We got tileset info which (presumably) has chromsizes.
46
+ *
47
+ * Set up all the graphics objects necessary for rendering
48
+ * the chromosome grid.
49
+ */
50
+ tilesetInfoReceived() {
51
+ this.texts = [];
52
+ this.lineGraphics = new GLOBALS.PIXI.Graphics();
53
+ this.lineGraphics1dH = new GLOBALS.PIXI.Graphics();
54
+ this.lineGraphics1dV = new GLOBALS.PIXI.Graphics();
55
+ this.lineGraphics2d = new GLOBALS.PIXI.Graphics();
56
+ this.mask1dH = new GLOBALS.PIXI.Graphics();
57
+ this.mask1dV = new GLOBALS.PIXI.Graphics();
58
+ this.mask2d = new GLOBALS.PIXI.Graphics();
59
+
60
+ this.lineGraphics.addChild(this.lineGraphics1dH);
61
+ this.lineGraphics1dH.addChild(this.mask1dH);
62
+ this.lineGraphics.addChild(this.lineGraphics1dV);
63
+ this.lineGraphics1dV.addChild(this.mask1dV);
64
+ this.lineGraphics.addChild(this.lineGraphics2d);
65
+ this.lineGraphics2d.addChild(this.mask2d);
66
+ this.pMain.addChild(this.lineGraphics);
67
+
68
+ this.draw();
69
+ this.animate();
70
+ }
71
+
72
+ calculateVisibleTiles() {
73
+ /** This track does not use tiles so return an empty set */
74
+ return [];
64
75
  }
65
76
 
66
77
  drawLines(orientation = this.orientation, left = 0, top = 0) {
@@ -123,7 +134,7 @@ class ChromosomeGrid extends PixiTrack {
123
134
  return;
124
135
  }
125
136
 
126
- if (!this.searchField) {
137
+ if (!this.tilesetInfo) {
127
138
  return;
128
139
  }
129
140
 
@@ -4,8 +4,8 @@ import { tileProxy } from './services';
4
4
 
5
5
  import absToChr from './utils/abs-to-chr';
6
6
  import chrToAbs from './utils/chr-to-abs';
7
- import parseChromsizesRows from './utils/parse-chromsizes-rows';
8
7
  import fakePubSub from './utils/fake-pub-sub';
8
+ import parseChromsizesRows from './utils/parse-chromsizes-rows';
9
9
 
10
10
  function ChromosomeInfo(filepath, success, pubSub = fakePubSub) {
11
11
  const ret = {};
@@ -175,6 +175,7 @@ class CombinedTrack {
175
175
  }
176
176
 
177
177
  minValue(_) {
178
+ // biome-ignore lint/style/noArguments: Getter/Setter
178
179
  if (arguments.length === 0) {
179
180
  const minValues = this.childTracks
180
181
  .filter((x) => x.minValue) // filter for tracks which have the minValue function
@@ -192,6 +193,7 @@ class CombinedTrack {
192
193
  }
193
194
 
194
195
  maxValue(_) {
196
+ // biome-ignore lint/style/noArguments: Getter/Setter
195
197
  if (arguments.length === 0) {
196
198
  const maxValues = this.childTracks
197
199
  .filter((x) => x.maxValue) // filter for tracks which have the minValue function
@@ -230,7 +232,7 @@ class CombinedTrack {
230
232
  if (childTrack.getMouseOverHtml) {
231
233
  const trackHtml = childTrack.getMouseOverHtml(trackX, trackY);
232
234
 
233
- if (trackHtml && trackHtml.length) {
235
+ if (trackHtml?.length) {
234
236
  mouseOverHtml += trackHtml;
235
237
  mouseOverHtml += '<br/>';
236
238
  }
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
- import React from 'react';
3
2
  import clsx from 'clsx';
3
+ import React from 'react';
4
4
  import { mix } from './mixwith';
5
5
 
6
6
  import ContextMenuContainer from './ContextMenuContainer';
@@ -1,7 +1,7 @@
1
1
  // @ts-nocheck
2
- import React from 'react';
3
- import PropTypes from 'prop-types';
4
2
  import clsx from 'clsx';
3
+ import PropTypes from 'prop-types';
4
+ import React from 'react';
5
5
 
6
6
  import ContextMenuContainer from './ContextMenuContainer';
7
7
  import ContextMenuItem from './ContextMenuItem';
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
+ import clsx from 'clsx';
2
3
  import PropTypes from 'prop-types';
3
4
  import React from 'react';
4
5
  import ReactDOM from 'react-dom';
5
- import clsx from 'clsx';
6
6
 
7
7
  import { THEME_DARK } from './configs';
8
8
 
@@ -36,7 +36,6 @@ class ContextMenuContainer extends React.Component {
36
36
  this.updateOrientation();
37
37
  }
38
38
 
39
- // eslint-disable-next-line camelcase
40
39
  UNSAFE_componentWillReceiveProps(newProps) {
41
40
  this.adjusted = false;
42
41
 
@@ -59,6 +58,9 @@ class ContextMenuContainer extends React.Component {
59
58
  });
60
59
  }
61
60
 
61
+ /**
62
+ * @param {React.MouseEvent} evt
63
+ */
62
64
  handleItemMouseEnter(evt, series) {
63
65
  this.handleItemMouseEnterWithRect(
64
66
  evt.currentTarget.getBoundingClientRect(),
@@ -1,20 +1,32 @@
1
- // @ts-nocheck
1
+ import clsx from 'clsx';
2
2
  import PropTypes from 'prop-types';
3
3
  import React from 'react';
4
4
 
5
5
  // Styles
6
6
  import classes from '../styles/ContextMenu.module.scss';
7
7
 
8
+ /**
9
+ * @typedef ContextMenuItemProps
10
+ * @prop {string} [className]
11
+ * @prop {(evt: React.MouseEvent) => void} onClick
12
+ * @prop {(evt: React.MouseEvent) => void} onMouseEnter
13
+ * @prop {(evt: React.MouseEvent) => void} onMouseLeave
14
+ */
15
+
16
+ /**
17
+ * @param {React.PropsWithChildren<ContextMenuItemProps>} props
18
+ */
8
19
  function ContextMenuItem(props) {
9
20
  return (
10
21
  <div
11
22
  data-menu-item-for={
12
23
  typeof props.children === 'string' ? props.children : null
13
24
  }
14
- className={classes['context-menu-item']}
25
+ className={clsx(classes['context-menu-item'], props.className)}
15
26
  onClick={(e) => props.onClick(e)}
16
27
  onMouseEnter={(e) => props.onMouseEnter(e)}
17
28
  onMouseLeave={(e) => props.onMouseLeave(e)}
29
+ // biome-ignore lint/a11y/useSemanticElements:
18
30
  role="button"
19
31
  tabIndex={0}
20
32
  >
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
- import { colorToHex } from './utils';
3
2
  import { mix } from './mixwith';
3
+ import { colorToHex } from './utils';
4
4
 
5
5
  import PixiTrack from './PixiTrack';
6
6
  import RuleMixin from './RuleMixin';
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
- import React from 'react';
3
2
  import PropTypes from 'prop-types';
3
+ import React from 'react';
4
4
 
5
5
  import Dialog from './Dialog';
6
6
 
@@ -12,7 +12,7 @@ class CustomTrackDialog extends React.PureComponent {
12
12
  const childrenWithProp = [];
13
13
  this.props.children.forEach((Child, i) => {
14
14
  const key = `customTrackDialog_${i}`;
15
- // eslint-disable-next-line react/jsx-props-no-spreading
15
+
16
16
  childrenWithProp.push(<Child key={key} {...this.props.bodyProps[i]} />);
17
17
  });
18
18
 
@@ -1,7 +1,7 @@
1
1
  // @ts-nocheck
2
- import React from 'react';
3
- import PropTypes from 'prop-types';
4
2
  import clsx from 'clsx';
3
+ import PropTypes from 'prop-types';
4
+ import React from 'react';
5
5
 
6
6
  import Button from './Button';
7
7
  import Cross from './Cross';
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
+ import clsx from 'clsx';
2
3
  import PropTypes from 'prop-types';
3
4
  import React from 'react';
4
5
  import slugid from 'slugid';
5
- import clsx from 'clsx';
6
6
 
7
7
  import withPubSub from './hocs/with-pub-sub';
8
8
 
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
+ import clsx from 'clsx';
2
3
  import { drag } from 'd3-drag';
3
4
  import { pointer, select } from 'd3-selection';
4
5
  import PropTypes from 'prop-types';
5
6
  import React from 'react';
6
- import clsx from 'clsx';
7
7
 
8
- import withTheme from './hocs/with-theme';
9
8
  import { THEME_DARK } from './configs';
9
+ import withTheme from './hocs/with-theme';
10
10
 
11
11
  import classes from '../styles/DraggableDiv.module.scss';
12
12
 
@@ -65,7 +65,6 @@ class DraggableDiv extends React.Component {
65
65
  select(this.rightHandle).call(this.dragRight);
66
66
  }
67
67
 
68
- // eslint-disable-next-line camelcase
69
68
  UNSAFE_componentWillReceiveProps(newProps) {
70
69
  if ('width' in newProps) {
71
70
  this.setState({ width: newProps.width });
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
- import React from 'react';
3
2
  import PropTypes from 'prop-types';
3
+ import React from 'react';
4
4
 
5
5
  import Button from './Button';
6
6
  import Dialog from './Dialog';