higlass 1.13.4 → 1.13.6

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 (139) 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 +3 -3
  5. package/app/scripts/AddTrackPositionMenu.jsx +2 -2
  6. package/app/scripts/Annotations1dTrack.js +1 -1
  7. package/app/scripts/Annotations2dTrack.js +3 -5
  8. package/app/scripts/Autocomplete.jsx +14 -21
  9. package/app/scripts/AxisPixi.js +10 -12
  10. package/app/scripts/BarTrack.js +3 -3
  11. package/app/scripts/BedLikeTrack.js +12 -13
  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 +4 -2
  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 +1 -2
  23. package/app/scripts/ContextMenuItem.jsx +1 -0
  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/GalleryTracks.jsx +77 -78
  31. package/app/scripts/GenomePositionSearchBox.jsx +10 -9
  32. package/app/scripts/HeatmapOptions.jsx +8 -3
  33. package/app/scripts/HeatmapTiledPixiTrack.js +72 -53
  34. package/app/scripts/HiGlassComponent.jsx +75 -98
  35. package/app/scripts/Horizontal1dHeatmapTrack.js +1 -1
  36. package/app/scripts/Horizontal2DDomainsTrack.js +1 -1
  37. package/app/scripts/HorizontalChromosomeLabels.js +28 -22
  38. package/app/scripts/HorizontalGeneAnnotationsTrack.js +1 -1
  39. package/app/scripts/HorizontalHeatmapTrack.js +2 -2
  40. package/app/scripts/HorizontalMultivecTrack.js +6 -7
  41. package/app/scripts/HorizontalRule.js +1 -2
  42. package/app/scripts/HorizontalTiled1DPixiTrack.js +4 -4
  43. package/app/scripts/HorizontalTiledPlot.jsx +9 -9
  44. package/app/scripts/LeftTrackModifier.js +4 -0
  45. package/app/scripts/ListWrapper.jsx +1 -2
  46. package/app/scripts/MapboxTilesTrack.js +4 -4
  47. package/app/scripts/Modal.jsx +2 -2
  48. package/app/scripts/MoveableTrack.jsx +10 -12
  49. package/app/scripts/NestedContextMenu.jsx +2 -1
  50. package/app/scripts/OSMTileIdsTrack.js +1 -1
  51. package/app/scripts/OverlayTrack.js +4 -4
  52. package/app/scripts/PixiTrack.js +58 -17
  53. package/app/scripts/PlotTypeChooser.jsx +3 -4
  54. package/app/scripts/RasterTilesTrack.js +3 -2
  55. package/app/scripts/SearchField.js +5 -5
  56. package/app/scripts/SeriesListItems.jsx +3 -4
  57. package/app/scripts/SeriesListMenu.jsx +81 -11
  58. package/app/scripts/SeriesListSubmenuMixin.jsx +5 -1
  59. package/app/scripts/SketchInlinePicker.jsx +2 -2
  60. package/app/scripts/SortableList.jsx +1 -1
  61. package/app/scripts/Tiled1DPixiTrack.js +5 -1
  62. package/app/scripts/TiledPixiTrack.js +221 -76
  63. package/app/scripts/TiledPlot.jsx +35 -43
  64. package/app/scripts/TilesetFinder.jsx +12 -4
  65. package/app/scripts/Track.js +2 -2
  66. package/app/scripts/TrackArea.jsx +4 -0
  67. package/app/scripts/TrackControl.jsx +2 -2
  68. package/app/scripts/TrackRenderer.jsx +30 -31
  69. package/app/scripts/UnknownPixiTrack.js +1 -1
  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 +4 -4
  75. package/app/scripts/ViewHeader.jsx +6 -7
  76. package/app/scripts/ViewportTracker2D.js +1 -1
  77. package/app/scripts/api.js +5 -6
  78. package/app/scripts/configs/available-track-types.js +1 -1
  79. package/app/scripts/configs/positions-by-datatype.js +2 -2
  80. package/app/scripts/configs/themes.js +0 -1
  81. package/app/scripts/configs/tracks-info-by-type.js +11 -8
  82. package/app/scripts/configs/tracks-info.js +2 -2
  83. package/app/scripts/d3-context-menu.js +3 -4
  84. package/app/scripts/data-fetchers/DataFetcher.js +107 -91
  85. package/app/scripts/data-fetchers/genbank-fetcher.js +6 -10
  86. package/app/scripts/data-fetchers/local-tile-fetcher.js +2 -6
  87. package/app/scripts/gosling-exports.js +29 -0
  88. package/app/scripts/hglib.jsx +3 -1
  89. package/app/scripts/hocs/with-modal.jsx +32 -10
  90. package/app/scripts/hocs/with-pub-sub.js +28 -0
  91. package/app/scripts/hocs/with-theme.jsx +21 -14
  92. package/app/scripts/icons.jsx +3 -2
  93. package/app/scripts/mixwith.js +2 -2
  94. package/app/scripts/plugins/get-data-fetcher.js +2 -3
  95. package/app/scripts/services/chrom-info.js +32 -4
  96. package/app/scripts/services/element-resize-listener.js +2 -2
  97. package/app/scripts/services/index.js +0 -1
  98. package/app/scripts/services/tile-proxy.js +370 -282
  99. package/app/scripts/services/worker.js +36 -34
  100. package/app/scripts/test-helpers/test-helpers.jsx +3 -3
  101. package/app/scripts/types.ts +73 -38
  102. package/app/scripts/utils/DenseDataExtrema1D.js +1 -1
  103. package/app/scripts/utils/DenseDataExtrema2D.js +2 -1
  104. package/app/scripts/utils/LruCache.js +3 -2
  105. package/app/scripts/utils/assert.js +19 -0
  106. package/app/scripts/utils/background-task-scheduler.js +2 -0
  107. package/app/scripts/utils/color-domain-to-rgba-array.js +13 -3
  108. package/app/scripts/utils/color-to-hex.js +1 -1
  109. package/app/scripts/utils/dict-items.js +1 -0
  110. package/app/scripts/utils/dict-keys.js +1 -0
  111. package/app/scripts/utils/dict-values.js +1 -0
  112. package/app/scripts/utils/expand-combined-tracks.js +11 -7
  113. package/app/scripts/utils/fake-pub-sub.js +12 -0
  114. package/app/scripts/utils/fill-in-min-widths.js +47 -21
  115. package/app/scripts/utils/flatten.js +0 -1
  116. package/app/scripts/utils/get-aggregation-function.js +1 -1
  117. package/app/scripts/utils/get-default-track-for-datatype.js +36 -10
  118. package/app/scripts/utils/get-higlass-components.js +27 -3
  119. package/app/scripts/utils/get-track-position-by-uid.js +8 -1
  120. package/app/scripts/utils/get-xylofon.js +12 -9
  121. package/app/scripts/utils/has-parent.js +5 -5
  122. package/app/scripts/utils/hex-string-to-int.js +1 -1
  123. package/app/scripts/utils/interval-tree.js +222 -177
  124. package/app/scripts/utils/load-chrom-infos.js +4 -1
  125. package/app/scripts/utils/pixi-text-to-svg.js +5 -9
  126. package/app/scripts/utils/range-query-2d.js +3 -3
  127. package/app/scripts/utils/reduce.js +12 -5
  128. package/app/scripts/utils/segments-to-rows.js +14 -11
  129. package/app/scripts/utils/show-mouse-position.js +17 -1
  130. package/app/scripts/utils/svg-line.js +7 -8
  131. package/app/scripts/utils/type-guards.js +16 -7
  132. package/app/scripts/utils/visit-positioned-tracks.js +7 -5
  133. package/app/styles/d3-context-menu.css +0 -1
  134. package/app/styles/prism.css +1 -0
  135. package/dist/hglib.js +85885 -85618
  136. package/dist/hglib.min.js +110 -109
  137. package/dist/higlass.mjs +86301 -86034
  138. package/package.json +13 -17
  139. package/app/scripts/hocs/with-pub-sub.jsx +0 -28
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "higlass",
3
- "version": "1.13.4",
3
+ "version": "1.13.6",
4
4
  "description": "HiGlass Hi-C / genomic / large data viewer",
5
5
  "author": "Peter Kerpedjiev <pkerpedjiev@gmail.com>",
6
6
  "main": "dist/hglib.js",
@@ -24,13 +24,14 @@
24
24
  "tracks"
25
25
  ],
26
26
  "scripts": {
27
- "test": "wtr",
28
27
  "start": "vite",
29
28
  "build": "node ./scripts/build.mjs",
30
29
  "compile": "npm run build && zip -r dist.zip dist",
31
30
  "typecheck": "tsc",
32
- "format": "prettier --ignore-path=.gitignore --write \"**/*.{mjs,js,jsx,ts}\"",
33
- "lint": "prettier --ignore-path=.gitignore --check \"**/*.{mjs,js,jsx,ts}\" && eslint --ignore-path=.gitignore \"**/*.{mjs,js,jsx}\""
31
+ "format": "biome format --write",
32
+ "lint": "biome ci",
33
+ "test": "vitest run",
34
+ "test-watch": "vitest watch --browser.headless=false"
34
35
  },
35
36
  "repository": {
36
37
  "type": "git",
@@ -87,6 +88,7 @@
87
88
  "@babel/core": "^7.23.3",
88
89
  "@babel/plugin-transform-classes": "^7.23.3",
89
90
  "@babel/preset-react": "^7.23.3",
91
+ "@biomejs/biome": "^1.9.4",
90
92
  "@types/d3-array": "^2.7.1",
91
93
  "@types/d3-axis": "^2.0.0",
92
94
  "@types/d3-brush": "^2.1.0",
@@ -102,34 +104,28 @@
102
104
  "@types/d3-transition": "^3.0.1",
103
105
  "@types/d3-zoom": "^3.0.0",
104
106
  "@types/ndarray": "^1.0.13",
107
+ "@types/node": "^22.10.7",
105
108
  "@types/pako": "^2.0.2",
106
109
  "@types/prop-types": "^15.7.3",
107
110
  "@types/react": "^17.0.2",
108
111
  "@types/react-dom": "^17.0.2",
109
112
  "@vitejs/plugin-react": "^4.2.0",
110
- "@web/test-runner": "^0.17.2",
111
- "@web/test-runner-puppeteer": "^0.14.1",
113
+ "@vitest/browser": "^3.0.5",
112
114
  "@wojtekmaj/enzyme-adapter-react-17": "^0.6.7",
113
115
  "ajv-cli": "^5.0.0",
114
116
  "chai": "^4.3.4",
115
117
  "enzyme": "^3.4.1",
116
118
  "esbuild": "^0.19.8",
117
- "eslint": "^8.23.0",
118
- "eslint-config-airbnb": "^19.0.4",
119
- "eslint-config-prettier": "^8.5.0",
120
- "eslint-plugin-import": "^2.26.0",
121
- "eslint-plugin-jsx-a11y": "^6.6.1",
122
- "eslint-plugin-react": "^7.31.8",
123
- "eslint-plugin-react-hooks": "^4.6.0",
119
+ "msw": "^2.7.0",
124
120
  "pixi.js": "^6.5.2",
125
- "prettier": "^2.5.1",
121
+ "playwright": "^1.49.1",
126
122
  "react": "^17.0.2",
127
123
  "react-dom": "^17.0.2",
128
124
  "sass": "^1.54.5",
129
- "tinyspy": "^1.0.2",
130
- "typescript": "^5.2.2",
125
+ "typescript": "^5.7.3",
131
126
  "vite": "^5.0.3",
132
127
  "vite-plugin-babel": "^1.1.3",
133
- "vite-plugin-css-injected-by-js": "^3.3.0"
128
+ "vite-plugin-css-injected-by-js": "^3.3.0",
129
+ "vitest": "^3.0.5"
134
130
  }
135
131
  }
@@ -1,28 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable react/jsx-props-no-spreading */
3
- import React from 'react';
4
-
5
- import { toVoid } from '../utils';
6
-
7
- /** @type {import('pub-sub-es').PubSub & { __fake__: true }} */
8
- const fake = {
9
- __fake__: true,
10
- publish: toVoid,
11
- subscribe: () => ({ event: 'fake', handler: toVoid }),
12
- unsubscribe: toVoid,
13
- clear: toVoid,
14
- };
15
-
16
- const { Provider, Consumer } = React.createContext(fake);
17
-
18
- // Higher order component
19
- const withPubSub = (Component) =>
20
- React.forwardRef((props, ref) => (
21
- <Consumer>
22
- {(pubSub) => <Component ref={ref} {...props} pubSub={pubSub} />}
23
- </Consumer>
24
- ));
25
-
26
- export default withPubSub;
27
-
28
- export { fake, Provider };