@genome-spy/core 0.73.0 → 0.74.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 (359) 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 +21071 -25935
  14. package/dist/bundle/index.js +363 -379
  15. package/dist/bundle/parquetRead-DG_-F5j5.js +1609 -0
  16. package/dist/schema.json +13098 -7095
  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/lazy/axisGenomeSource.d.ts.map +1 -1
  77. package/dist/src/data/sources/lazy/axisGenomeSource.js +11 -0
  78. package/dist/src/data/sources/lazy/axisTickSource.d.ts +1 -1
  79. package/dist/src/data/sources/lazy/axisTickSource.d.ts.map +1 -1
  80. package/dist/src/data/sources/lazy/axisTickSource.js +19 -8
  81. package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -1
  82. package/dist/src/data/sources/lazy/bamSource.js +11 -0
  83. package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
  84. package/dist/src/data/sources/lazy/bigBedSource.js +12 -1
  85. package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
  86. package/dist/src/data/sources/lazy/bigWigSource.js +11 -0
  87. package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
  88. package/dist/src/data/sources/lazy/gff3Source.js +12 -1
  89. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
  90. package/dist/src/data/sources/lazy/indexedFastaSource.js +11 -0
  91. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts +27 -0
  92. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts.map +1 -0
  93. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.js +65 -0
  94. package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts +2 -0
  95. package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts.map +1 -0
  96. package/dist/src/data/sources/lazy/registerBuiltInLazySources.js +8 -0
  97. package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
  98. package/dist/src/data/sources/lazy/singleAxisLazySource.js +11 -2
  99. package/dist/src/data/sources/lazy/vcfSource.d.ts.map +1 -1
  100. package/dist/src/data/sources/lazy/vcfSource.js +11 -0
  101. package/dist/src/data/sources/urlSource.d.ts.map +1 -1
  102. package/dist/src/data/sources/urlSource.js +5 -2
  103. package/dist/src/data/transforms/aggregate.d.ts +1 -0
  104. package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
  105. package/dist/src/data/transforms/aggregate.js +30 -8
  106. package/dist/src/data/transforms/aggregateOps.d.ts.map +1 -1
  107. package/dist/src/data/transforms/aggregateOps.js +12 -1
  108. package/dist/src/data/transforms/coverage.js +2 -2
  109. package/dist/src/data/transforms/filter.js +1 -1
  110. package/dist/src/data/transforms/filterScoredLabels.d.ts +6 -0
  111. package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
  112. package/dist/src/data/transforms/filterScoredLabels.js +9 -0
  113. package/dist/src/data/transforms/measureText.d.ts +1 -0
  114. package/dist/src/data/transforms/measureText.d.ts.map +1 -1
  115. package/dist/src/data/transforms/measureText.js +14 -5
  116. package/dist/src/data/transforms/pileup.d.ts.map +1 -1
  117. package/dist/src/data/transforms/pileup.js +1 -2
  118. package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
  119. package/dist/src/data/transforms/regexFold.js +0 -1
  120. package/dist/src/embedFactory.d.ts +13 -0
  121. package/dist/src/embedFactory.d.ts.map +1 -0
  122. package/dist/src/embedFactory.js +127 -0
  123. package/dist/src/encoder/accessor.d.ts +3 -12
  124. package/dist/src/encoder/accessor.d.ts.map +1 -1
  125. package/dist/src/encoder/accessor.js +10 -65
  126. package/dist/src/encoder/encoder.d.ts +51 -8
  127. package/dist/src/encoder/encoder.d.ts.map +1 -1
  128. package/dist/src/encoder/encoder.js +179 -55
  129. package/dist/src/fonts/bmFontManager.js +1 -1
  130. package/dist/src/full.d.ts +2 -0
  131. package/dist/src/full.d.ts.map +1 -0
  132. package/dist/src/full.js +2 -0
  133. package/dist/src/genome/genome.d.ts +8 -0
  134. package/dist/src/genome/genome.d.ts.map +1 -1
  135. package/dist/src/genome/genome.js +16 -2
  136. package/dist/src/genome/genomeStore.js +1 -1
  137. package/dist/src/genome/rootGenomeConfig.d.ts.map +1 -1
  138. package/dist/src/genome/rootGenomeConfig.js +6 -2
  139. package/dist/src/genome/scaleLocus.d.ts.map +1 -1
  140. package/dist/src/genome/scaleLocus.js +26 -7
  141. package/dist/src/genomeSpy/cursorManager.d.ts +69 -0
  142. package/dist/src/genomeSpy/cursorManager.d.ts.map +1 -0
  143. package/dist/src/genomeSpy/cursorManager.js +131 -0
  144. package/dist/src/genomeSpy/headlessBootstrap.d.ts +113 -0
  145. package/dist/src/genomeSpy/headlessBootstrap.d.ts.map +1 -0
  146. package/dist/src/genomeSpy/headlessBootstrap.js +246 -0
  147. package/dist/src/genomeSpy/interactionController.d.ts +5 -0
  148. package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
  149. package/dist/src/genomeSpy/interactionController.js +212 -19
  150. package/dist/src/genomeSpy/interactionDispatcher.d.ts +50 -0
  151. package/dist/src/genomeSpy/interactionDispatcher.d.ts.map +1 -0
  152. package/dist/src/genomeSpy/interactionDispatcher.js +203 -0
  153. package/dist/src/genomeSpy/viewContextFactory.d.ts +4 -2
  154. package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -1
  155. package/dist/src/genomeSpy/viewContextFactory.js +12 -4
  156. package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -1
  157. package/dist/src/genomeSpy/viewDataInit.js +7 -3
  158. package/dist/src/genomeSpy.d.ts +1 -124
  159. package/dist/src/genomeSpy.d.ts.map +1 -1
  160. package/dist/src/genomeSpy.js +7 -688
  161. package/dist/src/genomeSpyBase.d.ts +133 -0
  162. package/dist/src/genomeSpyBase.d.ts.map +1 -0
  163. package/dist/src/genomeSpyBase.js +719 -0
  164. package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
  165. package/dist/src/gl/arrayBuilder.js +0 -3
  166. package/dist/src/gl/colorUtils.d.ts.map +1 -1
  167. package/dist/src/gl/colorUtils.js +3 -0
  168. package/dist/src/gl/dataToVertices.d.ts.map +1 -1
  169. package/dist/src/gl/dataToVertices.js +13 -8
  170. package/dist/src/gl/glslScaleGenerator.d.ts +2 -2
  171. package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
  172. package/dist/src/gl/glslScaleGenerator.js +5 -7
  173. package/dist/src/index.d.ts +3 -9
  174. package/dist/src/index.d.ts.map +1 -1
  175. package/dist/src/index.js +5 -114
  176. package/dist/src/marks/__snapshots__/shaderSnapshot.test.js.snap +4462 -0
  177. package/dist/src/marks/link.d.ts.map +1 -1
  178. package/dist/src/marks/link.js +0 -23
  179. package/dist/src/marks/mark.d.ts +8 -1
  180. package/dist/src/marks/mark.d.ts.map +1 -1
  181. package/dist/src/marks/mark.js +61 -20
  182. package/dist/src/marks/markUtils.d.ts +18 -1
  183. package/dist/src/marks/markUtils.d.ts.map +1 -1
  184. package/dist/src/marks/markUtils.js +52 -4
  185. package/dist/src/marks/point.d.ts.map +1 -1
  186. package/dist/src/marks/point.js +6 -26
  187. package/dist/src/marks/rect.d.ts.map +1 -1
  188. package/dist/src/marks/rect.js +13 -21
  189. package/dist/src/marks/rule.d.ts +7 -2
  190. package/dist/src/marks/rule.d.ts.map +1 -1
  191. package/dist/src/marks/rule.js +125 -16
  192. package/dist/src/marks/text.d.ts.map +1 -1
  193. package/dist/src/marks/text.js +5 -47
  194. package/dist/src/minimal.d.ts +8 -0
  195. package/dist/src/minimal.d.ts.map +1 -0
  196. package/dist/src/minimal.js +21 -0
  197. package/dist/src/paramRuntime/viewParamRuntime.d.ts +19 -0
  198. package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -1
  199. package/dist/src/paramRuntime/viewParamRuntime.js +35 -0
  200. package/dist/src/scale/scale.d.ts.map +1 -1
  201. package/dist/src/scale/scale.js +13 -7
  202. package/dist/src/scales/axisResolution.d.ts.map +1 -1
  203. package/dist/src/scales/axisResolution.js +9 -5
  204. package/dist/src/scales/domainPlanner.d.ts +28 -8
  205. package/dist/src/scales/domainPlanner.d.ts.map +1 -1
  206. package/dist/src/scales/domainPlanner.js +207 -73
  207. package/dist/src/scales/indexLikeDomainUtils.d.ts +29 -0
  208. package/dist/src/scales/indexLikeDomainUtils.d.ts.map +1 -0
  209. package/dist/src/scales/indexLikeDomainUtils.js +67 -0
  210. package/dist/src/scales/resolutionMemberOrder.d.ts +15 -0
  211. package/dist/src/scales/resolutionMemberOrder.d.ts.map +1 -0
  212. package/dist/src/scales/resolutionMemberOrder.js +22 -0
  213. package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
  214. package/dist/src/scales/scaleInteractionController.js +43 -4
  215. package/dist/src/scales/scalePropsResolver.d.ts +3 -1
  216. package/dist/src/scales/scalePropsResolver.d.ts.map +1 -1
  217. package/dist/src/scales/scalePropsResolver.js +83 -6
  218. package/dist/src/scales/scaleResolution.d.ts +23 -0
  219. package/dist/src/scales/scaleResolution.d.ts.map +1 -1
  220. package/dist/src/scales/scaleResolution.js +220 -58
  221. package/dist/src/scales/scaleResolutionTestUtils.d.ts.map +1 -1
  222. package/dist/src/scales/scaleResolutionTestUtils.js +6 -2
  223. package/dist/src/scales/scaleRules.d.ts.map +1 -1
  224. package/dist/src/scales/scaleRules.js +16 -2
  225. package/dist/src/scales/selectionDomainUtils.d.ts +30 -0
  226. package/dist/src/scales/selectionDomainUtils.d.ts.map +1 -1
  227. package/dist/src/scales/selectionDomainUtils.js +116 -1
  228. package/dist/src/screenshotHarness.js +3 -4
  229. package/dist/src/spec/axis.d.ts +41 -30
  230. package/dist/src/spec/channel.d.ts +15 -9
  231. package/dist/src/spec/config.d.ts +264 -0
  232. package/dist/src/spec/data.d.ts +7 -0
  233. package/dist/src/spec/decoration.d.ts +51 -0
  234. package/dist/src/spec/exampleFiles.d.ts +12 -0
  235. package/dist/src/spec/exampleFiles.d.ts.map +1 -0
  236. package/dist/src/spec/exampleFiles.js +52 -0
  237. package/dist/src/spec/font.d.ts +1 -1
  238. package/dist/src/spec/mark.d.ts +97 -13
  239. package/dist/src/spec/parameter.d.ts +30 -10
  240. package/dist/src/spec/root.d.ts +14 -0
  241. package/dist/src/spec/scale.d.ts +18 -13
  242. package/dist/src/spec/title.d.ts +13 -2
  243. package/dist/src/spec/tooltip.d.ts +1 -1
  244. package/dist/src/spec/transform.d.ts +39 -4
  245. package/dist/src/spec/view.d.ts +67 -19
  246. package/dist/src/styles/genome-spy.css +55 -55
  247. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  248. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  249. package/dist/src/styles/genome-spy.css.js +23 -22
  250. package/dist/src/testSetup.d.ts +2 -0
  251. package/dist/src/testSetup.d.ts.map +1 -0
  252. package/dist/src/testSetup.js +5 -0
  253. package/dist/src/tooltip/dataTooltipHandler.js +8 -2
  254. package/dist/src/tooltip/tooltipContext.d.ts.map +1 -1
  255. package/dist/src/tooltip/tooltipContext.js +3 -2
  256. package/dist/src/types/embedApi.d.ts +7 -0
  257. package/dist/src/types/encoder.d.ts +17 -15
  258. package/dist/src/types/scaleResolutionApi.d.ts +20 -0
  259. package/dist/src/types/viewContext.d.ts +23 -1
  260. package/dist/src/utils/expression.d.ts +2 -2
  261. package/dist/src/utils/expression.d.ts.map +1 -1
  262. package/dist/src/utils/expression.js +63 -8
  263. package/dist/src/utils/field.d.ts.map +1 -1
  264. package/dist/src/utils/field.js +0 -1
  265. package/dist/src/utils/inertia.d.ts.map +1 -1
  266. package/dist/src/utils/inertia.js +0 -1
  267. package/dist/src/utils/inputBinding.d.ts +1 -1
  268. package/dist/src/utils/interaction.d.ts +109 -0
  269. package/dist/src/utils/interaction.d.ts.map +1 -0
  270. package/dist/src/utils/interaction.js +200 -0
  271. package/dist/src/utils/interactionEvent.d.ts +21 -42
  272. package/dist/src/utils/interactionEvent.d.ts.map +1 -1
  273. package/dist/src/utils/interactionEvent.js +43 -66
  274. package/dist/src/utils/kWayMerge.js +1 -1
  275. package/dist/src/utils/mergeObjects.d.ts.map +1 -1
  276. package/dist/src/utils/mergeObjects.js +0 -2
  277. package/dist/src/utils/radixSort.d.ts.map +1 -1
  278. package/dist/src/utils/radixSort.js +0 -2
  279. package/dist/src/utils/throttle.d.ts.map +1 -1
  280. package/dist/src/utils/throttle.js +0 -2
  281. package/dist/src/utils/ui/tooltip.d.ts +1 -0
  282. package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
  283. package/dist/src/utils/ui/tooltip.js +1 -0
  284. package/dist/src/utils/url.js +1 -1
  285. package/dist/src/view/axisGridView.d.ts +1 -1
  286. package/dist/src/view/axisGridView.d.ts.map +1 -1
  287. package/dist/src/view/axisGridView.js +2 -47
  288. package/dist/src/view/axisView.d.ts +2 -3
  289. package/dist/src/view/axisView.d.ts.map +1 -1
  290. package/dist/src/view/axisView.js +251 -106
  291. package/dist/src/view/concatView.d.ts +2 -1
  292. package/dist/src/view/concatView.d.ts.map +1 -1
  293. package/dist/src/view/concatView.js +4 -2
  294. package/dist/src/view/containerMutationHelper.d.ts +3 -0
  295. package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
  296. package/dist/src/view/containerMutationHelper.js +4 -1
  297. package/dist/src/view/facetView.d.ts +1 -1
  298. package/dist/src/view/facetView.js +3 -3
  299. package/dist/src/view/flowBuilder.js +2 -2
  300. package/dist/src/view/gridView/gridChild.d.ts +6 -0
  301. package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
  302. package/dist/src/view/gridView/gridChild.js +72 -43
  303. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  304. package/dist/src/view/gridView/gridView.js +255 -101
  305. package/dist/src/view/gridView/keyboardZoomController.d.ts +2 -2
  306. package/dist/src/view/gridView/keyboardZoomController.d.ts.map +1 -1
  307. package/dist/src/view/gridView/keyboardZoomController.js +1 -1
  308. package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
  309. package/dist/src/view/gridView/scrollbar.js +4 -2
  310. package/dist/src/view/gridView/selectionRect.d.ts +4 -0
  311. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  312. package/dist/src/view/gridView/selectionRect.js +20 -1
  313. package/dist/src/view/gridView/separatorView.d.ts +1 -0
  314. package/dist/src/view/gridView/separatorView.d.ts.map +1 -1
  315. package/dist/src/view/gridView/separatorView.js +9 -0
  316. package/dist/src/view/interactionRouting.d.ts +20 -0
  317. package/dist/src/view/interactionRouting.d.ts.map +1 -0
  318. package/dist/src/view/interactionRouting.js +53 -0
  319. package/dist/src/view/layerView.d.ts.map +1 -1
  320. package/dist/src/view/layerView.js +12 -9
  321. package/dist/src/view/layout/grid.js +1 -1
  322. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
  323. package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +0 -2
  324. package/dist/src/view/testUtils.d.ts +17 -3
  325. package/dist/src/view/testUtils.d.ts.map +1 -1
  326. package/dist/src/view/testUtils.js +62 -69
  327. package/dist/src/view/title.d.ts +8 -1
  328. package/dist/src/view/title.d.ts.map +1 -1
  329. package/dist/src/view/title.js +66 -76
  330. package/dist/src/view/unitView.d.ts +1 -1
  331. package/dist/src/view/unitView.d.ts.map +1 -1
  332. package/dist/src/view/unitView.js +67 -17
  333. package/dist/src/view/view.d.ts +76 -30
  334. package/dist/src/view/view.d.ts.map +1 -1
  335. package/dist/src/view/view.js +136 -47
  336. package/dist/src/view/viewFactory.d.ts +11 -3
  337. package/dist/src/view/viewFactory.d.ts.map +1 -1
  338. package/dist/src/view/viewFactory.js +37 -11
  339. package/dist/src/view/viewUtils.d.ts.map +1 -1
  340. package/dist/src/view/viewUtils.js +41 -5
  341. package/dist/src/view/zoom.d.ts +2 -2
  342. package/dist/src/view/zoom.d.ts.map +1 -1
  343. package/dist/src/view/zoom.js +21 -23
  344. package/package.json +18 -10
  345. package/dist/bundle/AbortablePromiseCache-Dj0vzLnp.js +0 -149
  346. package/dist/bundle/browser-0iNU5Wit.js +0 -138
  347. package/dist/bundle/index-BYsZN7b0.js +0 -1597
  348. package/dist/bundle/index-C3kClAEN.js +0 -1771
  349. package/dist/bundle/index-C7wOh6y1.js +0 -657
  350. package/dist/bundle/index-CRaQAuki.js +0 -326
  351. package/dist/bundle/index-D9v1PCj9.js +0 -507
  352. package/dist/bundle/index-GDOuv_D5.js +0 -266
  353. package/dist/bundle/index-Gt44EOIH.js +0 -628
  354. package/dist/bundle/inflate-GtwLkvSP.js +0 -1048
  355. package/dist/bundle/parquetRead-BnAGCa4_.js +0 -1663
  356. package/dist/bundle/unzip-Bac01w6X.js +0 -1492
  357. package/dist/src/config/scaleDefaults.d.ts +0 -8
  358. package/dist/src/config/scaleDefaults.d.ts.map +0 -1
  359. 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.74.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": "7648d8c8670e288486f20bd7fe73509c4844cd83"
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
- };