@genome-spy/core 0.73.0 → 0.75.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/dist/bundle/AbortablePromiseCache-3gHJdF3E.js +96 -0
  2. package/dist/bundle/browser-BTgw5ieH.js +126 -0
  3. package/dist/bundle/chunk-DmhlhrBa.js +11 -0
  4. package/dist/bundle/esm-BDFRLEuD.js +1248 -0
  5. package/dist/bundle/esm-BygJiwh0.js +573 -0
  6. package/dist/bundle/esm-CGX-qz1d.js +155 -0
  7. package/dist/bundle/esm-CgfVIRJ-.js +121 -0
  8. package/dist/bundle/esm-CuMSzCHy.js +298 -0
  9. package/dist/bundle/esm-DMXpJXM4.js +369 -0
  10. package/dist/bundle/esm-DQiq2Zhd.js +1426 -0
  11. package/dist/bundle/esm-DtE8VqAv.js +1015 -0
  12. package/dist/bundle/esm-sIoQYZ21.js +461 -0
  13. package/dist/bundle/index.es.js +21266 -25938
  14. package/dist/bundle/index.js +367 -383
  15. package/dist/bundle/parquetRead-DG_-F5j5.js +1609 -0
  16. package/dist/schema.json +13421 -7210
  17. package/dist/src/config/axisConfig.d.ts +16 -0
  18. package/dist/src/config/axisConfig.d.ts.map +1 -0
  19. package/dist/src/config/axisConfig.js +84 -0
  20. package/dist/src/config/defaultConfig.d.ts +3 -0
  21. package/dist/src/config/defaultConfig.d.ts.map +1 -0
  22. package/dist/src/config/defaultConfig.js +38 -0
  23. package/dist/src/config/defaults/axisDefaults.d.ts +5 -0
  24. package/dist/src/config/defaults/axisDefaults.d.ts.map +1 -0
  25. package/dist/src/config/defaults/axisDefaults.js +72 -0
  26. package/dist/src/config/defaults/markDefaults.d.ts +15 -0
  27. package/dist/src/config/defaults/markDefaults.d.ts.map +1 -0
  28. package/dist/src/config/defaults/markDefaults.js +121 -0
  29. package/dist/src/config/defaults/scaleDefaults.d.ts +5 -0
  30. package/dist/src/config/defaults/scaleDefaults.d.ts.map +1 -0
  31. package/dist/src/config/defaults/scaleDefaults.js +18 -0
  32. package/dist/src/config/defaults/titleDefaults.d.ts +5 -0
  33. package/dist/src/config/defaults/titleDefaults.d.ts.map +1 -0
  34. package/dist/src/config/defaults/titleDefaults.js +47 -0
  35. package/dist/src/config/defaults/viewDefaults.d.ts +3 -0
  36. package/dist/src/config/defaults/viewDefaults.d.ts.map +1 -0
  37. package/dist/src/config/defaults/viewDefaults.js +2 -0
  38. package/dist/src/config/markConfig.d.ts +8 -0
  39. package/dist/src/config/markConfig.d.ts.map +1 -0
  40. package/dist/src/config/markConfig.js +27 -0
  41. package/dist/src/config/mergeConfig.d.ts +8 -0
  42. package/dist/src/config/mergeConfig.d.ts.map +1 -0
  43. package/dist/src/config/mergeConfig.js +81 -0
  44. package/dist/src/config/resolveConfig.d.ts +22 -0
  45. package/dist/src/config/resolveConfig.d.ts.map +1 -0
  46. package/dist/src/config/resolveConfig.js +32 -0
  47. package/dist/src/config/scaleConfig.d.ts +40 -0
  48. package/dist/src/config/scaleConfig.d.ts.map +1 -0
  49. package/dist/src/config/scaleConfig.js +220 -0
  50. package/dist/src/config/styleUtils.d.ts +6 -0
  51. package/dist/src/config/styleUtils.d.ts.map +1 -0
  52. package/dist/src/config/styleUtils.js +10 -0
  53. package/dist/src/config/themes.d.ts +15 -0
  54. package/dist/src/config/themes.d.ts.map +1 -0
  55. package/dist/src/config/themes.js +293 -0
  56. package/dist/src/config/titleConfig.d.ts +12 -0
  57. package/dist/src/config/titleConfig.d.ts.map +1 -0
  58. package/dist/src/config/titleConfig.js +42 -0
  59. package/dist/src/config/viewConfig.d.ts +7 -0
  60. package/dist/src/config/viewConfig.d.ts.map +1 -0
  61. package/dist/src/config/viewConfig.js +29 -0
  62. package/dist/src/data/flowNode.d.ts +22 -1
  63. package/dist/src/data/flowNode.d.ts.map +1 -1
  64. package/dist/src/data/flowNode.js +37 -1
  65. package/dist/src/data/formats/bed.d.ts.map +1 -1
  66. package/dist/src/data/formats/bed.js +6 -1
  67. package/dist/src/data/formats/bedpe.d.ts.map +1 -1
  68. package/dist/src/data/formats/bedpe.js +4 -0
  69. package/dist/src/data/formats/fasta.d.ts.map +1 -1
  70. package/dist/src/data/formats/fasta.js +4 -0
  71. package/dist/src/data/formats/parquet.d.ts.map +1 -1
  72. package/dist/src/data/formats/parquet.js +4 -0
  73. package/dist/src/data/sources/dataSourceFactory.d.ts +2 -13
  74. package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
  75. package/dist/src/data/sources/dataSourceFactory.js +5 -141
  76. package/dist/src/data/sources/dataUtils.d.ts +25 -0
  77. package/dist/src/data/sources/dataUtils.d.ts.map +1 -1
  78. package/dist/src/data/sources/dataUtils.js +23 -0
  79. package/dist/src/data/sources/inlineSource.js +2 -2
  80. package/dist/src/data/sources/lazy/axisGenomeSource.d.ts.map +1 -1
  81. package/dist/src/data/sources/lazy/axisGenomeSource.js +11 -0
  82. package/dist/src/data/sources/lazy/axisTickSource.d.ts +1 -1
  83. package/dist/src/data/sources/lazy/axisTickSource.d.ts.map +1 -1
  84. package/dist/src/data/sources/lazy/axisTickSource.js +19 -8
  85. package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -1
  86. package/dist/src/data/sources/lazy/bamSource.js +11 -0
  87. package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
  88. package/dist/src/data/sources/lazy/bigBedSource.js +12 -1
  89. package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
  90. package/dist/src/data/sources/lazy/bigWigSource.js +11 -0
  91. package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
  92. package/dist/src/data/sources/lazy/gff3Source.js +12 -1
  93. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
  94. package/dist/src/data/sources/lazy/indexedFastaSource.js +11 -0
  95. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts +27 -0
  96. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts.map +1 -0
  97. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.js +65 -0
  98. package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts +2 -0
  99. package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts.map +1 -0
  100. package/dist/src/data/sources/lazy/registerBuiltInLazySources.js +8 -0
  101. package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
  102. package/dist/src/data/sources/lazy/singleAxisLazySource.js +11 -2
  103. package/dist/src/data/sources/lazy/vcfSource.d.ts.map +1 -1
  104. package/dist/src/data/sources/lazy/vcfSource.js +11 -0
  105. package/dist/src/data/sources/urlSource.d.ts.map +1 -1
  106. package/dist/src/data/sources/urlSource.js +13 -5
  107. package/dist/src/data/transforms/aggregate.d.ts +1 -0
  108. package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
  109. package/dist/src/data/transforms/aggregate.js +30 -8
  110. package/dist/src/data/transforms/aggregateOps.d.ts.map +1 -1
  111. package/dist/src/data/transforms/aggregateOps.js +12 -1
  112. package/dist/src/data/transforms/coverage.js +2 -2
  113. package/dist/src/data/transforms/filter.js +1 -1
  114. package/dist/src/data/transforms/filterScoredLabels.d.ts +6 -0
  115. package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
  116. package/dist/src/data/transforms/filterScoredLabels.js +9 -0
  117. package/dist/src/data/transforms/measureText.d.ts +1 -0
  118. package/dist/src/data/transforms/measureText.d.ts.map +1 -1
  119. package/dist/src/data/transforms/measureText.js +14 -5
  120. package/dist/src/data/transforms/pileup.d.ts.map +1 -1
  121. package/dist/src/data/transforms/pileup.js +1 -2
  122. package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
  123. package/dist/src/data/transforms/regexFold.js +0 -1
  124. package/dist/src/embedFactory.d.ts +13 -0
  125. package/dist/src/embedFactory.d.ts.map +1 -0
  126. package/dist/src/embedFactory.js +127 -0
  127. package/dist/src/encoder/accessor.d.ts +3 -12
  128. package/dist/src/encoder/accessor.d.ts.map +1 -1
  129. package/dist/src/encoder/accessor.js +10 -65
  130. package/dist/src/encoder/encoder.d.ts +51 -8
  131. package/dist/src/encoder/encoder.d.ts.map +1 -1
  132. package/dist/src/encoder/encoder.js +179 -55
  133. package/dist/src/fonts/bmFontManager.js +1 -1
  134. package/dist/src/full.d.ts +2 -0
  135. package/dist/src/full.d.ts.map +1 -0
  136. package/dist/src/full.js +2 -0
  137. package/dist/src/genome/genome.d.ts +8 -0
  138. package/dist/src/genome/genome.d.ts.map +1 -1
  139. package/dist/src/genome/genome.js +16 -2
  140. package/dist/src/genome/genomeStore.js +1 -1
  141. package/dist/src/genome/rootGenomeConfig.d.ts.map +1 -1
  142. package/dist/src/genome/rootGenomeConfig.js +6 -2
  143. package/dist/src/genome/scaleLocus.d.ts.map +1 -1
  144. package/dist/src/genome/scaleLocus.js +31 -7
  145. package/dist/src/genomeSpy/cursorManager.d.ts +69 -0
  146. package/dist/src/genomeSpy/cursorManager.d.ts.map +1 -0
  147. package/dist/src/genomeSpy/cursorManager.js +131 -0
  148. package/dist/src/genomeSpy/headlessBootstrap.d.ts +113 -0
  149. package/dist/src/genomeSpy/headlessBootstrap.d.ts.map +1 -0
  150. package/dist/src/genomeSpy/headlessBootstrap.js +246 -0
  151. package/dist/src/genomeSpy/interactionController.d.ts +5 -0
  152. package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
  153. package/dist/src/genomeSpy/interactionController.js +292 -59
  154. package/dist/src/genomeSpy/interactionDispatcher.d.ts +50 -0
  155. package/dist/src/genomeSpy/interactionDispatcher.d.ts.map +1 -0
  156. package/dist/src/genomeSpy/interactionDispatcher.js +203 -0
  157. package/dist/src/genomeSpy/viewContextFactory.d.ts +4 -2
  158. package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -1
  159. package/dist/src/genomeSpy/viewContextFactory.js +12 -4
  160. package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -1
  161. package/dist/src/genomeSpy/viewDataInit.js +7 -3
  162. package/dist/src/genomeSpy.d.ts +1 -124
  163. package/dist/src/genomeSpy.d.ts.map +1 -1
  164. package/dist/src/genomeSpy.js +7 -688
  165. package/dist/src/genomeSpyBase.d.ts +133 -0
  166. package/dist/src/genomeSpyBase.d.ts.map +1 -0
  167. package/dist/src/genomeSpyBase.js +719 -0
  168. package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
  169. package/dist/src/gl/arrayBuilder.js +0 -3
  170. package/dist/src/gl/colorUtils.d.ts.map +1 -1
  171. package/dist/src/gl/colorUtils.js +3 -0
  172. package/dist/src/gl/dataToVertices.d.ts +12 -14
  173. package/dist/src/gl/dataToVertices.d.ts.map +1 -1
  174. package/dist/src/gl/dataToVertices.js +121 -95
  175. package/dist/src/gl/glslScaleGenerator.d.ts +5 -2
  176. package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
  177. package/dist/src/gl/glslScaleGenerator.js +15 -15
  178. package/dist/src/gl/vertexRangeIndex.d.ts +23 -0
  179. package/dist/src/gl/vertexRangeIndex.d.ts.map +1 -0
  180. package/dist/src/gl/vertexRangeIndex.js +150 -0
  181. package/dist/src/index.d.ts +3 -9
  182. package/dist/src/index.d.ts.map +1 -1
  183. package/dist/src/index.js +5 -114
  184. package/dist/src/marks/__snapshots__/shaderSnapshot.test.js.snap +4462 -0
  185. package/dist/src/marks/link.d.ts.map +1 -1
  186. package/dist/src/marks/link.js +0 -23
  187. package/dist/src/marks/mark.d.ts +8 -1
  188. package/dist/src/marks/mark.d.ts.map +1 -1
  189. package/dist/src/marks/mark.js +61 -20
  190. package/dist/src/marks/markUtils.d.ts +18 -1
  191. package/dist/src/marks/markUtils.d.ts.map +1 -1
  192. package/dist/src/marks/markUtils.js +52 -4
  193. package/dist/src/marks/point.d.ts.map +1 -1
  194. package/dist/src/marks/point.js +6 -26
  195. package/dist/src/marks/rect.d.ts.map +1 -1
  196. package/dist/src/marks/rect.js +13 -21
  197. package/dist/src/marks/rule.d.ts +7 -2
  198. package/dist/src/marks/rule.d.ts.map +1 -1
  199. package/dist/src/marks/rule.js +125 -16
  200. package/dist/src/marks/text.d.ts.map +1 -1
  201. package/dist/src/marks/text.js +5 -47
  202. package/dist/src/minimal.d.ts +8 -0
  203. package/dist/src/minimal.d.ts.map +1 -0
  204. package/dist/src/minimal.js +21 -0
  205. package/dist/src/paramRuntime/expressionCompiler.d.ts +2 -1
  206. package/dist/src/paramRuntime/expressionCompiler.d.ts.map +1 -1
  207. package/dist/src/paramRuntime/expressionCompiler.js +3 -2
  208. package/dist/src/paramRuntime/expressionRef.d.ts +4 -1
  209. package/dist/src/paramRuntime/expressionRef.d.ts.map +1 -1
  210. package/dist/src/paramRuntime/expressionRef.js +10 -3
  211. package/dist/src/paramRuntime/graphRuntime.d.ts.map +1 -1
  212. package/dist/src/paramRuntime/graphRuntime.js +15 -6
  213. package/dist/src/paramRuntime/paramRuntime.d.ts +8 -2
  214. package/dist/src/paramRuntime/paramRuntime.d.ts.map +1 -1
  215. package/dist/src/paramRuntime/paramRuntime.js +10 -5
  216. package/dist/src/paramRuntime/types.d.ts +1 -0
  217. package/dist/src/paramRuntime/types.d.ts.map +1 -1
  218. package/dist/src/paramRuntime/types.js +1 -0
  219. package/dist/src/paramRuntime/viewParamRuntime.d.ts +24 -4
  220. package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -1
  221. package/dist/src/paramRuntime/viewParamRuntime.js +52 -6
  222. package/dist/src/scale/scale.d.ts.map +1 -1
  223. package/dist/src/scale/scale.js +14 -7
  224. package/dist/src/scales/axisResolution.d.ts.map +1 -1
  225. package/dist/src/scales/axisResolution.js +9 -5
  226. package/dist/src/scales/domainPlanner.d.ts +82 -16
  227. package/dist/src/scales/domainPlanner.d.ts.map +1 -1
  228. package/dist/src/scales/domainPlanner.js +364 -131
  229. package/dist/src/scales/indexLikeDomainUtils.d.ts +29 -0
  230. package/dist/src/scales/indexLikeDomainUtils.d.ts.map +1 -0
  231. package/dist/src/scales/indexLikeDomainUtils.js +67 -0
  232. package/dist/src/scales/resolutionMemberOrder.d.ts +15 -0
  233. package/dist/src/scales/resolutionMemberOrder.d.ts.map +1 -0
  234. package/dist/src/scales/resolutionMemberOrder.js +22 -0
  235. package/dist/src/scales/scaleInstanceManager.d.ts.map +1 -1
  236. package/dist/src/scales/scaleInstanceManager.js +7 -2
  237. package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
  238. package/dist/src/scales/scaleInteractionController.js +43 -4
  239. package/dist/src/scales/scalePropsResolver.d.ts +5 -3
  240. package/dist/src/scales/scalePropsResolver.d.ts.map +1 -1
  241. package/dist/src/scales/scalePropsResolver.js +108 -8
  242. package/dist/src/scales/scaleResolution.d.ts +35 -1
  243. package/dist/src/scales/scaleResolution.d.ts.map +1 -1
  244. package/dist/src/scales/scaleResolution.js +381 -66
  245. package/dist/src/scales/scaleResolutionTestUtils.d.ts.map +1 -1
  246. package/dist/src/scales/scaleResolutionTestUtils.js +6 -2
  247. package/dist/src/scales/scaleRules.d.ts.map +1 -1
  248. package/dist/src/scales/scaleRules.js +16 -2
  249. package/dist/src/scales/selectionDomainUtils.d.ts +30 -0
  250. package/dist/src/scales/selectionDomainUtils.d.ts.map +1 -1
  251. package/dist/src/scales/selectionDomainUtils.js +116 -1
  252. package/dist/src/screenshotExport.d.ts +23 -0
  253. package/dist/src/screenshotExport.d.ts.map +1 -0
  254. package/dist/src/screenshotExport.js +44 -0
  255. package/dist/src/screenshotHarness.d.ts.map +1 -1
  256. package/dist/src/screenshotHarness.js +26 -25
  257. package/dist/src/spec/axis.d.ts +43 -32
  258. package/dist/src/spec/channel.d.ts +19 -13
  259. package/dist/src/spec/config.d.ts +264 -0
  260. package/dist/src/spec/data.d.ts +19 -0
  261. package/dist/src/spec/decoration.d.ts +51 -0
  262. package/dist/src/spec/exampleFiles.d.ts +12 -0
  263. package/dist/src/spec/exampleFiles.d.ts.map +1 -0
  264. package/dist/src/spec/exampleFiles.js +52 -0
  265. package/dist/src/spec/font.d.ts +1 -1
  266. package/dist/src/spec/mark.d.ts +97 -13
  267. package/dist/src/spec/parameter.d.ts +30 -10
  268. package/dist/src/spec/root.d.ts +14 -0
  269. package/dist/src/spec/scale.d.ts +31 -14
  270. package/dist/src/spec/title.d.ts +13 -2
  271. package/dist/src/spec/tooltip.d.ts +1 -1
  272. package/dist/src/spec/transform.d.ts +39 -4
  273. package/dist/src/spec/view.d.ts +67 -19
  274. package/dist/src/styles/genome-spy.css +55 -55
  275. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  276. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  277. package/dist/src/styles/genome-spy.css.js +23 -22
  278. package/dist/src/testSetup.d.ts +2 -0
  279. package/dist/src/testSetup.d.ts.map +1 -0
  280. package/dist/src/testSetup.js +5 -0
  281. package/dist/src/tooltip/dataTooltipHandler.js +8 -2
  282. package/dist/src/tooltip/tooltipContext.d.ts.map +1 -1
  283. package/dist/src/tooltip/tooltipContext.js +3 -2
  284. package/dist/src/types/embedApi.d.ts +7 -0
  285. package/dist/src/types/encoder.d.ts +17 -15
  286. package/dist/src/types/scaleResolutionApi.d.ts +20 -0
  287. package/dist/src/types/viewContext.d.ts +23 -1
  288. package/dist/src/utils/expression.d.ts +18 -10
  289. package/dist/src/utils/expression.d.ts.map +1 -1
  290. package/dist/src/utils/expression.js +354 -19
  291. package/dist/src/utils/field.d.ts.map +1 -1
  292. package/dist/src/utils/field.js +0 -1
  293. package/dist/src/utils/inertia.d.ts.map +1 -1
  294. package/dist/src/utils/inertia.js +0 -1
  295. package/dist/src/utils/inputBinding.d.ts +1 -1
  296. package/dist/src/utils/interaction.d.ts +109 -0
  297. package/dist/src/utils/interaction.d.ts.map +1 -0
  298. package/dist/src/utils/interaction.js +200 -0
  299. package/dist/src/utils/interactionEvent.d.ts +21 -42
  300. package/dist/src/utils/interactionEvent.d.ts.map +1 -1
  301. package/dist/src/utils/interactionEvent.js +43 -66
  302. package/dist/src/utils/kWayMerge.js +1 -1
  303. package/dist/src/utils/mergeObjects.d.ts.map +1 -1
  304. package/dist/src/utils/mergeObjects.js +0 -2
  305. package/dist/src/utils/radixSort.d.ts.map +1 -1
  306. package/dist/src/utils/radixSort.js +0 -2
  307. package/dist/src/utils/throttle.d.ts.map +1 -1
  308. package/dist/src/utils/throttle.js +0 -2
  309. package/dist/src/utils/ui/tooltip.d.ts +1 -0
  310. package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
  311. package/dist/src/utils/ui/tooltip.js +1 -0
  312. package/dist/src/utils/url.js +1 -1
  313. package/dist/src/view/axisGridView.d.ts +1 -1
  314. package/dist/src/view/axisGridView.d.ts.map +1 -1
  315. package/dist/src/view/axisGridView.js +2 -47
  316. package/dist/src/view/axisView.d.ts +2 -3
  317. package/dist/src/view/axisView.d.ts.map +1 -1
  318. package/dist/src/view/axisView.js +251 -106
  319. package/dist/src/view/concatView.d.ts +2 -1
  320. package/dist/src/view/concatView.d.ts.map +1 -1
  321. package/dist/src/view/concatView.js +4 -2
  322. package/dist/src/view/containerMutationHelper.d.ts +3 -0
  323. package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
  324. package/dist/src/view/containerMutationHelper.js +4 -1
  325. package/dist/src/view/facetView.d.ts +1 -1
  326. package/dist/src/view/facetView.js +3 -3
  327. package/dist/src/view/flowBuilder.d.ts +1 -1
  328. package/dist/src/view/flowBuilder.d.ts.map +1 -1
  329. package/dist/src/view/flowBuilder.js +13 -9
  330. package/dist/src/view/gridView/gridChild.d.ts +6 -0
  331. package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
  332. package/dist/src/view/gridView/gridChild.js +72 -43
  333. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  334. package/dist/src/view/gridView/gridView.js +255 -101
  335. package/dist/src/view/gridView/keyboardZoomController.d.ts +2 -2
  336. package/dist/src/view/gridView/keyboardZoomController.d.ts.map +1 -1
  337. package/dist/src/view/gridView/keyboardZoomController.js +1 -1
  338. package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
  339. package/dist/src/view/gridView/scrollbar.js +4 -2
  340. package/dist/src/view/gridView/selectionRect.d.ts +4 -0
  341. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  342. package/dist/src/view/gridView/selectionRect.js +20 -1
  343. package/dist/src/view/gridView/separatorView.d.ts +1 -0
  344. package/dist/src/view/gridView/separatorView.d.ts.map +1 -1
  345. package/dist/src/view/gridView/separatorView.js +9 -0
  346. package/dist/src/view/interactionRouting.d.ts +20 -0
  347. package/dist/src/view/interactionRouting.d.ts.map +1 -0
  348. package/dist/src/view/interactionRouting.js +53 -0
  349. package/dist/src/view/layerView.d.ts.map +1 -1
  350. package/dist/src/view/layerView.js +12 -9
  351. package/dist/src/view/layout/grid.js +1 -1
  352. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
  353. package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +0 -2
  354. package/dist/src/view/resolutionPlanner.d.ts +9 -0
  355. package/dist/src/view/resolutionPlanner.d.ts.map +1 -0
  356. package/dist/src/view/resolutionPlanner.js +302 -0
  357. package/dist/src/view/testUtils.d.ts +17 -3
  358. package/dist/src/view/testUtils.d.ts.map +1 -1
  359. package/dist/src/view/testUtils.js +62 -69
  360. package/dist/src/view/title.d.ts +8 -1
  361. package/dist/src/view/title.d.ts.map +1 -1
  362. package/dist/src/view/title.js +66 -76
  363. package/dist/src/view/unitView.d.ts +1 -1
  364. package/dist/src/view/unitView.d.ts.map +1 -1
  365. package/dist/src/view/unitView.js +72 -169
  366. package/dist/src/view/view.d.ts +76 -30
  367. package/dist/src/view/view.d.ts.map +1 -1
  368. package/dist/src/view/view.js +138 -48
  369. package/dist/src/view/viewFactory.d.ts +11 -3
  370. package/dist/src/view/viewFactory.d.ts.map +1 -1
  371. package/dist/src/view/viewFactory.js +37 -11
  372. package/dist/src/view/viewUtils.d.ts.map +1 -1
  373. package/dist/src/view/viewUtils.js +41 -5
  374. package/dist/src/view/zoom.d.ts +2 -2
  375. package/dist/src/view/zoom.d.ts.map +1 -1
  376. package/dist/src/view/zoom.js +21 -23
  377. package/package.json +18 -10
  378. package/dist/bundle/AbortablePromiseCache-Dj0vzLnp.js +0 -149
  379. package/dist/bundle/browser-0iNU5Wit.js +0 -138
  380. package/dist/bundle/index-BYsZN7b0.js +0 -1597
  381. package/dist/bundle/index-C3kClAEN.js +0 -1771
  382. package/dist/bundle/index-C7wOh6y1.js +0 -657
  383. package/dist/bundle/index-CRaQAuki.js +0 -326
  384. package/dist/bundle/index-D9v1PCj9.js +0 -507
  385. package/dist/bundle/index-GDOuv_D5.js +0 -266
  386. package/dist/bundle/index-Gt44EOIH.js +0 -628
  387. package/dist/bundle/inflate-GtwLkvSP.js +0 -1048
  388. package/dist/bundle/parquetRead-BnAGCa4_.js +0 -1663
  389. package/dist/bundle/unzip-Bac01w6X.js +0 -1492
  390. package/dist/src/config/scaleDefaults.d.ts +0 -8
  391. package/dist/src/config/scaleDefaults.d.ts.map +0 -1
  392. package/dist/src/config/scaleDefaults.js +0 -45
@@ -54,7 +54,7 @@ function recordTimeStamp(fn) {
54
54
  }
55
55
 
56
56
  /**
57
- * @param {import("../utils/interactionEvent.js").default} event
57
+ * @param {import("../utils/interaction.js").default} event
58
58
  * @param {import("./layout/rectangle.js").default} coords
59
59
  * @param {(zoomEvent: ZoomEvent) => boolean | void} handleZoom
60
60
  * @param {import("../types/viewContext.js").Hover} [hover]
@@ -68,7 +68,7 @@ export function interactionToZoom(event, coords, handleZoom, hover, animator) {
68
68
  // TODO: Wheel-zoom inertia should probably be moved here and the faked wheel
69
69
  // events in genomeSpy.js and inertia.js should be retired.
70
70
 
71
- const wheelEvent = /** @type {WheelEvent} */ (event.uiEvent);
71
+ const wheelEvent = event.wheelEvent;
72
72
  const wheelMultiplier = wheelEvent.deltaMode ? 120 : 1;
73
73
 
74
74
  if (!wheelEvent.deltaX && !wheelEvent.deltaY) {
@@ -116,26 +116,22 @@ export function interactionToZoom(event, coords, handleZoom, hover, animator) {
116
116
  }
117
117
  }
118
118
 
119
- let handled = false;
120
- if (Math.abs(wheelEvent.deltaX) < Math.abs(wheelEvent.deltaY)) {
121
- handled =
122
- handleZoom({
123
- x,
124
- y,
125
- xDelta: 0,
126
- yDelta: 0,
127
- zDelta: (wheelEvent.deltaY * wheelMultiplier) / 300,
128
- }) === true;
129
- } else {
130
- handled =
131
- handleZoom({
132
- x,
133
- y,
134
- xDelta: -wheelEvent.deltaX * wheelMultiplier,
135
- yDelta: 0,
136
- zDelta: 0,
137
- }) === true;
138
- }
119
+ const handled =
120
+ Math.abs(wheelEvent.deltaX) < Math.abs(wheelEvent.deltaY)
121
+ ? handleZoom({
122
+ x,
123
+ y,
124
+ xDelta: 0,
125
+ yDelta: 0,
126
+ zDelta: (wheelEvent.deltaY * wheelMultiplier) / 300,
127
+ }) === true
128
+ : handleZoom({
129
+ x,
130
+ y,
131
+ xDelta: -wheelEvent.deltaX * wheelMultiplier,
132
+ yDelta: 0,
133
+ zDelta: 0,
134
+ }) === true;
139
135
 
140
136
  if (handled) {
141
137
  wheelEvent.preventDefault();
@@ -150,6 +146,7 @@ export function interactionToZoom(event, coords, handleZoom, hover, animator) {
150
146
 
151
147
  const mouseEvent = event.mouseEvent;
152
148
  mouseEvent.preventDefault();
149
+ event.target?.context.suspendHoverTracking();
153
150
 
154
151
  let prevPoint = Point.fromMouseEvent(mouseEvent);
155
152
 
@@ -172,9 +169,10 @@ export function interactionToZoom(event, coords, handleZoom, hover, animator) {
172
169
  prevPoint = point;
173
170
  };
174
171
 
175
- const onMouseup = () => {
172
+ const onMouseup = (/** @type {MouseEvent} */ upEvent) => {
176
173
  document.removeEventListener("mousemove", onMousemove);
177
174
  document.removeEventListener("mouseup", onMouseup);
175
+ event.target?.context.resumeHoverTracking(upEvent);
178
176
  startPanInertia(
179
177
  interactionState,
180
178
  eventBuffer,
package/package.json CHANGED
@@ -7,13 +7,20 @@
7
7
  },
8
8
  "contributors": [],
9
9
  "license": "MIT",
10
- "version": "0.73.0",
10
+ "version": "0.75.0",
11
11
  "jsdelivr": "dist/bundle/index.js",
12
12
  "unpkg": "dist/bundle/index.js",
13
13
  "browser": "dist/bundle/index.js",
14
14
  "type": "module",
15
15
  "exports": {
16
16
  ".": "./dist/src/index.js",
17
+ "./minimal": "./dist/src/minimal.js",
18
+ "./full": "./dist/src/full.js",
19
+ "./browser": {
20
+ "import": "./dist/bundle/index.es.js",
21
+ "default": "./dist/bundle/index.js"
22
+ },
23
+ "./data/*": "./dist/src/data/*",
17
24
  "./*": "./dist/src/*",
18
25
  "./schema.json": "./dist/schema.json"
19
26
  },
@@ -28,6 +35,7 @@
28
35
  "scripts": {
29
36
  "dev": "node dev-server.mjs",
30
37
  "capture:screenshots": "node scripts/captureScreenshots.mjs",
38
+ "verify:bundle:minimal": "node scripts/verifyMinimalBundle.mjs",
31
39
  "build": "rm -rf dist && mkdir -p dist && node scripts/build.mjs && vite build && npm run build:schema && npm run build:typings",
32
40
  "prepublishOnly": "npm run build",
33
41
  "test:tsc": "tsc -p tsconfig.json --noEmit",
@@ -37,12 +45,12 @@
37
45
  "postpack": "node scripts/postpack.mjs"
38
46
  },
39
47
  "dependencies": {
40
- "@gmod/bam": "^7.0.5",
41
- "@gmod/bbi": "^7.1.0",
42
- "@gmod/bed": "^2.1.7",
43
- "@gmod/indexedfasta": "^4.0.7",
44
- "@gmod/tabix": "^3.1.2",
45
- "@gmod/vcf": "^6.1.0",
48
+ "@gmod/bam": "^7.1.19",
49
+ "@gmod/bbi": "^9.0.0",
50
+ "@gmod/bed": "^2.1.10",
51
+ "@gmod/indexedfasta": "^5.0.2",
52
+ "@gmod/tabix": "^3.2.2",
53
+ "@gmod/vcf": "^7.0.0",
46
54
  "@types/d3-array": "^3.2.2",
47
55
  "@types/d3-dsv": "^3.0.7",
48
56
  "@types/d3-ease": "^3.0.2",
@@ -56,8 +64,8 @@
56
64
  "d3-format": "^3.1.0",
57
65
  "events": "^3.3.0",
58
66
  "flatqueue": "^3.0.0",
59
- "generic-filehandle2": "^2.0.14",
60
- "gff-nostream": "^2.0.0",
67
+ "generic-filehandle2": "^2.0.18",
68
+ "gff-nostream": "^3.0.2",
61
69
  "hyparquet": "^1.25.0",
62
70
  "internmap": "^2.0.3",
63
71
  "lit": "^3.3.0",
@@ -70,5 +78,5 @@
70
78
  "devDependencies": {
71
79
  "@types/long": "^4.0.1"
72
80
  },
73
- "gitHead": "925d6b740d4bbb3d28a8e6f4a869cfca60c58449"
81
+ "gitHead": "c641f51070e075b989f29c8b9c6ad1879ce77a6f"
74
82
  }
@@ -1,149 +0,0 @@
1
- class h {
2
- }
3
- class d {
4
- constructor() {
5
- this.signals = /* @__PURE__ */ new Set(), this.abortController = new AbortController();
6
- }
7
- /**
8
- * @param {AbortSignal} [signal] optional AbortSignal to add. if falsy,
9
- * will be treated as a null-signal, and this abortcontroller will no
10
- * longer be abortable.
11
- */
12
- //@ts-ignore
13
- addSignal(t = new h()) {
14
- if (this.signal.aborted)
15
- throw new Error("cannot add a signal, already aborted!");
16
- this.signals.add(t), t.aborted ? this.handleAborted(t) : typeof t.addEventListener == "function" && t.addEventListener("abort", () => {
17
- this.handleAborted(t);
18
- });
19
- }
20
- handleAborted(t) {
21
- this.signals.delete(t), this.signals.size === 0 && this.abortController.abort();
22
- }
23
- get signal() {
24
- return this.abortController.signal;
25
- }
26
- abort() {
27
- this.abortController.abort();
28
- }
29
- }
30
- class b {
31
- constructor() {
32
- this.callbacks = /* @__PURE__ */ new Set();
33
- }
34
- addCallback(t = () => {
35
- }) {
36
- this.callbacks.add(t), this.currentMessage && t(this.currentMessage);
37
- }
38
- callback(t) {
39
- this.currentMessage = t;
40
- for (const e of this.callbacks)
41
- e(t);
42
- }
43
- }
44
- class l {
45
- constructor({ fill: t, cache: e }) {
46
- if (typeof t != "function")
47
- throw new TypeError("must pass a fill function");
48
- if (typeof e != "object")
49
- throw new TypeError("must pass a cache object");
50
- if (typeof e.get != "function" || typeof e.set != "function" || typeof e.delete != "function")
51
- throw new TypeError("cache must implement get(key), set(key, val), and and delete(key)");
52
- this.cache = e, this.fillCallback = t;
53
- }
54
- static isAbortException(t) {
55
- return (
56
- // DOMException
57
- t.name === "AbortError" || // standard-ish non-DOM abort exception
58
- //@ts-ignore
59
- t.code === "ERR_ABORTED" || // stringified DOMException
60
- t.message === "AbortError: aborted" || // stringified standard-ish exception
61
- t.message === "Error: aborted"
62
- );
63
- }
64
- evict(t, e) {
65
- this.cache.get(t) === e && this.cache.delete(t);
66
- }
67
- fill(t, e, r, s) {
68
- const o = new d(), i = new b();
69
- i.addCallback(s);
70
- const a = {
71
- aborter: o,
72
- promise: this.fillCallback(e, o.signal, (n) => {
73
- i.callback(n);
74
- }),
75
- settled: !1,
76
- statusReporter: i,
77
- get aborted() {
78
- return this.aborter.signal.aborted;
79
- }
80
- };
81
- a.aborter.addSignal(r), a.aborter.signal.addEventListener("abort", () => {
82
- a.settled || this.evict(t, a);
83
- }), a.promise.then(() => {
84
- a.settled = !0;
85
- }, () => {
86
- a.settled = !0, this.evict(t, a);
87
- }).catch((n) => {
88
- throw console.error(n), n;
89
- }), this.cache.set(t, a);
90
- }
91
- static checkSinglePromise(t, e) {
92
- function r() {
93
- if (e?.aborted)
94
- throw Object.assign(new Error("aborted"), { code: "ERR_ABORTED" });
95
- }
96
- return t.then((s) => (r(), s), (s) => {
97
- throw r(), s;
98
- });
99
- }
100
- has(t) {
101
- return this.cache.has(t);
102
- }
103
- /**
104
- * Callback for getting status of the pending async
105
- *
106
- * @callback statusCallback
107
- * @param {any} status, current status string or message object
108
- */
109
- /**
110
- * @param {any} key cache key to use for this request
111
- * @param {any} data data passed as the first argument to the fill callback
112
- * @param {AbortSignal} [signal] optional AbortSignal object that aborts the request
113
- * @param {statusCallback} a callback to get the current status of a pending async operation
114
- */
115
- get(t, e, r, s) {
116
- if (!r && e instanceof AbortSignal)
117
- throw new TypeError("second get argument appears to be an AbortSignal, perhaps you meant to pass `null` for the fill data?");
118
- const o = this.cache.get(t);
119
- return o ? o.aborted && !o.settled ? (this.evict(t, o), this.get(t, e, r, s)) : o.settled ? o.promise : (o.aborter.addSignal(r), o.statusReporter.addCallback(s), l.checkSinglePromise(o.promise, r)) : (this.fill(t, e, r, s), l.checkSinglePromise(
120
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
121
- this.cache.get(t).promise,
122
- r
123
- ));
124
- }
125
- /**
126
- * delete the given entry from the cache. if it exists and its fill request has
127
- * not yet settled, the fill will be signaled to abort.
128
- *
129
- * @param {any} key
130
- */
131
- delete(t) {
132
- const e = this.cache.get(t);
133
- e && (e.settled || e.aborter.abort(), this.cache.delete(t));
134
- }
135
- /**
136
- * Clear all requests from the cache. Aborts any that have not settled.
137
- * @returns {number} count of entries deleted
138
- */
139
- clear() {
140
- const t = this.cache.keys();
141
- let e = 0;
142
- for (let r = t.next(); !r.done; r = t.next())
143
- this.delete(r.value), e += 1;
144
- return e;
145
- }
146
- }
147
- export {
148
- l as A
149
- };
@@ -1,138 +0,0 @@
1
- class f {
2
- constructor(e) {
3
- this.blob = e;
4
- }
5
- async read(e, t = 0) {
6
- if (!e)
7
- return new Uint8Array(0);
8
- const s = t, n = s + e, a = this.blob.slice(s, n);
9
- return a.bytes ? a.bytes() : new Uint8Array(await a.arrayBuffer());
10
- }
11
- async readFile(e) {
12
- const t = typeof e == "string" ? e : e?.encoding;
13
- if (t === "utf8")
14
- return this.blob.text();
15
- if (t)
16
- throw new Error(`unsupported encoding: ${t}`);
17
- return this.blob.bytes ? this.blob.bytes() : new Uint8Array(await this.blob.arrayBuffer());
18
- }
19
- async stat() {
20
- return { size: this.blob.size };
21
- }
22
- async close() {
23
- }
24
- }
25
- function d(i) {
26
- return (typeof i == "object" && i !== null && "message" in i ? i.message : `${i}`).replace(/\.$/, "");
27
- }
28
- class u {
29
- constructor(e, t = {}) {
30
- this.baseOverrides = {}, this.url = e;
31
- const s = t.fetch || globalThis.fetch.bind(globalThis);
32
- t.overrides && (this.baseOverrides = t.overrides), this.fetchImplementation = s;
33
- }
34
- async fetch(e, t) {
35
- const s = (a) => new Error(`${d(a)} fetching ${e}`, { cause: a });
36
- let n;
37
- try {
38
- n = await this.fetchImplementation(e, t);
39
- } catch (a) {
40
- if (`${a}`.includes("Failed to fetch")) {
41
- console.warn(`generic-filehandle: refetching ${e} to attempt to work around chrome CORS header caching bug`);
42
- try {
43
- n = await this.fetchImplementation(e, {
44
- ...t,
45
- cache: "reload"
46
- });
47
- } catch (c) {
48
- throw s(c);
49
- }
50
- } else
51
- throw s(a);
52
- }
53
- return n;
54
- }
55
- async read(e, t, s = {}) {
56
- if (e === 0)
57
- return new Uint8Array(0);
58
- const { headers: n = {}, signal: a, overrides: c = {} } = s;
59
- e < 1 / 0 ? n.range = `bytes=${t}-${t + e - 1}` : e === 1 / 0 && t !== 0 && (n.range = `bytes=${t}-`);
60
- const r = await this.fetch(this.url, {
61
- ...this.baseOverrides,
62
- ...c,
63
- headers: {
64
- ...this.baseOverrides.headers,
65
- ...c.headers,
66
- ...n
67
- },
68
- method: "GET",
69
- redirect: "follow",
70
- mode: "cors",
71
- signal: a
72
- });
73
- if (!r.ok)
74
- throw new Error(`HTTP ${r.status} fetching ${this.url}`);
75
- if (r.status === 200 && t === 0 || r.status === 206) {
76
- const l = r.headers.get("content-range"), o = /\/(\d+)$/.exec(l || "");
77
- o?.[1] && (this._stat = {
78
- size: parseInt(o[1], 10)
79
- });
80
- const h = r.bytes ? await r.bytes() : new Uint8Array(await r.arrayBuffer());
81
- return h.byteLength <= e ? h : h.subarray(0, e);
82
- }
83
- throw new Error(r.status === 200 ? `${this.url} fetch returned status 200, expected 206` : `HTTP ${r.status} fetching ${this.url}`);
84
- }
85
- async readFile(e = {}) {
86
- let t, s;
87
- if (typeof e == "string")
88
- t = e, s = {};
89
- else {
90
- t = e.encoding;
91
- const { encoding: l, ...o } = e;
92
- s = o;
93
- }
94
- const { headers: n = {}, signal: a, overrides: c = {} } = s, r = await this.fetch(this.url, {
95
- ...this.baseOverrides,
96
- ...c,
97
- headers: {
98
- ...this.baseOverrides.headers,
99
- ...c.headers,
100
- ...n
101
- },
102
- method: "GET",
103
- redirect: "follow",
104
- mode: "cors",
105
- signal: a
106
- });
107
- if (!r.ok)
108
- throw new Error(`HTTP ${r.status} fetching ${this.url}`);
109
- if (t === "utf8")
110
- return r.text();
111
- if (t)
112
- throw new Error(`unsupported encoding: ${t}`);
113
- return r.bytes ? r.bytes() : new Uint8Array(await r.arrayBuffer());
114
- }
115
- async stat() {
116
- if (!this._stat && (await this.read(10, 0), !this._stat))
117
- throw new Error(`unable to determine size of file at ${this.url}`);
118
- return this._stat;
119
- }
120
- async close() {
121
- }
122
- }
123
- class w {
124
- readFile() {
125
- throw new Error("unimplemented");
126
- }
127
- read() {
128
- throw new Error("unimplemented");
129
- }
130
- close() {
131
- throw new Error("unimplemented");
132
- }
133
- }
134
- export {
135
- f as BlobFile,
136
- w as LocalFile,
137
- u as RemoteFile
138
- };