@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
@@ -0,0 +1,51 @@
1
+ import { ShadowProps } from "./mark.js";
2
+
3
+ export interface ZIndexProps {
4
+ /**
5
+ * Z-order relative to the view content.
6
+ *
7
+ * Values greater than `0` render after the view marks. Values less than or
8
+ * equal to `0` render before the marks.
9
+ * The default value depends on the element type.
10
+ */
11
+ zindex?: number;
12
+ }
13
+
14
+ export interface StrokeZIndexProps {
15
+ /**
16
+ * Z-order of the stroke relative to the view content.
17
+ *
18
+ * Values greater than `0` render the stroke after the view marks. Values
19
+ * less than or equal to `0` render before the marks.
20
+ * The default value depends on the element type.
21
+ */
22
+ strokeZindex?: number;
23
+ }
24
+
25
+ export interface ViewBackgroundProps
26
+ extends ShadowProps, ZIndexProps, StrokeZIndexProps {
27
+ /**
28
+ * Fill color of the view background.
29
+ */
30
+ fill?: string;
31
+
32
+ /**
33
+ * Opacity of the view background fill.
34
+ */
35
+ fillOpacity?: number;
36
+
37
+ /**
38
+ * Stroke color of the view background.
39
+ */
40
+ stroke?: string;
41
+
42
+ /**
43
+ * Stroke width of the view background border.
44
+ */
45
+ strokeWidth?: number;
46
+
47
+ /**
48
+ * Opacity of the view background stroke.
49
+ */
50
+ strokeOpacity?: number;
51
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Collects shared example specs used by the offline example suite.
3
+ *
4
+ * @returns {string[]}
5
+ */
6
+ export function collectSharedExamplePaths(): string[];
7
+ /**
8
+ * @param {string} examplePath
9
+ * @returns {any}
10
+ */
11
+ export function loadSharedExampleSpec(examplePath: string): any;
12
+ //# sourceMappingURL=exampleFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exampleFiles.d.ts","sourceRoot":"","sources":["../../../src/spec/exampleFiles.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,6CAFa,MAAM,EAAE,CAcpB;AAED;;;GAGG;AACH,mDAHW,MAAM,GACJ,GAAG,CAMf"}
@@ -0,0 +1,52 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { fileURLToPath } from "url";
4
+
5
+ const packageDir = path.dirname(fileURLToPath(import.meta.url));
6
+ const repoRoot = path.resolve(packageDir, "..", "..", "..", "..");
7
+
8
+ const sharedExampleDirs = ["examples/core", "examples/docs"];
9
+
10
+ /**
11
+ * Collects shared example specs used by the offline example suite.
12
+ *
13
+ * @returns {string[]}
14
+ */
15
+ export function collectSharedExamplePaths() {
16
+ /** @type {string[]} */
17
+ const paths = [];
18
+
19
+ for (const dir of sharedExampleDirs) {
20
+ visit(path.join(repoRoot, dir), (absolutePath) => {
21
+ const relativePath = path.relative(repoRoot, absolutePath);
22
+ paths.push(relativePath.split(path.sep).join("/"));
23
+ });
24
+ }
25
+
26
+ return paths.sort();
27
+ }
28
+
29
+ /**
30
+ * @param {string} examplePath
31
+ * @returns {any}
32
+ */
33
+ export function loadSharedExampleSpec(examplePath) {
34
+ return JSON.parse(
35
+ fs.readFileSync(path.join(repoRoot, examplePath), "utf8")
36
+ );
37
+ }
38
+
39
+ /**
40
+ * @param {string} dir
41
+ * @param {(absolutePath: string) => void} visitor
42
+ */
43
+ function visit(dir, visitor) {
44
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
45
+ const absolutePath = path.join(dir, entry.name);
46
+ if (entry.isDirectory()) {
47
+ visit(absolutePath, visitor);
48
+ } else if (entry.isFile() && entry.name.endsWith(".json")) {
49
+ visitor(absolutePath);
50
+ }
51
+ }
52
+ }
@@ -12,4 +12,4 @@ export type FontWeight =
12
12
 
13
13
  export type Align = "left" | "center" | "right";
14
14
 
15
- export type Baseline = "top" | "middle" | "bottom" | "alphabetic";
15
+ export type Baseline = "top" | "middle" | "bottom" | "alphabetic" | "baseline";
@@ -3,11 +3,25 @@ import { ExprRef } from "./parameter.js";
3
3
  import { Align, Baseline, FontStyle, FontWeight } from "./font.js";
4
4
  import { Tooltip } from "./tooltip.js";
5
5
 
6
- export type MarkType = "rect" | "point" | "rule" | "text" | "link";
6
+ export type MarkType = "rect" | "point" | "rule" | "tick" | "text" | "link";
7
7
 
8
8
  export interface MarkPropsBase {
9
9
  type: MarkType;
10
10
 
11
+ /**
12
+ * Named style reference(s) resolved from `config.style`.
13
+ * If an array is provided, later styles override earlier ones.
14
+ */
15
+ style?: string | string[];
16
+
17
+ /**
18
+ * Mouse cursor shown while the pointer is over the mark.
19
+ * Mark cursor takes precedence over enclosing view cursors.
20
+ *
21
+ * __Default value:__ browser default
22
+ */
23
+ cursor?: string | ExprRef;
24
+
11
25
  // Channels.
12
26
 
13
27
  /**
@@ -62,6 +76,14 @@ export interface MarkPropsBase {
62
76
  */
63
77
  minBufferSize?: number;
64
78
 
79
+ /**
80
+ * Whether the x channel should build an index for efficient subset rendering.
81
+ * If omitted, GenomeSpy enables indexing automatically for positional x encodings.
82
+ *
83
+ * @internal
84
+ */
85
+ buildIndex?: boolean;
86
+
65
87
  /**
66
88
  * Tooltip handler. If `null`, no tooltip is shown. If string, specifies
67
89
  * the [tooltip handler](https://genomespy.app/docs/api/#custom-tooltip-handlers)
@@ -196,7 +218,8 @@ export interface ViewportEdgeFadeProps {
196
218
  }
197
219
 
198
220
  export interface RectProps
199
- extends MarkPropsBase,
221
+ extends
222
+ MarkPropsBase,
200
223
  SecondaryPositionProps,
201
224
  FillAndStrokeProps,
202
225
  ShadowProps {
@@ -291,15 +314,10 @@ export interface RectProps
291
314
  | ExprRef;
292
315
  }
293
316
 
294
- export interface RuleProps
295
- extends MarkPropsBase,
296
- SecondaryPositionProps,
297
- SizeProps {
298
- type: "rule";
299
-
317
+ export interface StrokeStyleProps {
300
318
  /**
301
- * The minimum length of the rule in pixels. Use this property to ensure that
302
- * very short ranged rules remain visible even when the user zooms out.
319
+ * The minimum stroke length in pixels. Use this property to ensure that
320
+ * very short strokes remain visible even when the user zooms out.
303
321
  *
304
322
  * **Default value:** `0`
305
323
  */
@@ -327,8 +345,38 @@ export interface RuleProps
327
345
  strokeCap?: "butt" | "square" | "round" | ExprRef;
328
346
  }
329
347
 
348
+ export interface RuleProps
349
+ extends MarkPropsBase, SecondaryPositionProps, SizeProps, StrokeStyleProps {
350
+ type: "rule";
351
+ }
352
+
353
+ export interface TickProps extends MarkPropsBase, StrokeStyleProps {
354
+ type: "tick";
355
+
356
+ /**
357
+ * The orientation of the tick mark.
358
+ *
359
+ * If omitted, GenomeSpy infers the orientation when one positional channel
360
+ * uses a band-like scale and the other does not, or when the orthogonal
361
+ * channel is omitted. Specify `orient` explicitly when both `x` and `y`
362
+ * use band-like scales.
363
+ *
364
+ * **Default value:** inferred
365
+ */
366
+ orient?: "vertical" | "horizontal";
367
+
368
+ /**
369
+ * The thickness of the tick mark in pixels.
370
+ * Equivalent to the `size` of the underlying rule mark.
371
+ *
372
+ * **Default value:** `1`
373
+ */
374
+ thickness?: number;
375
+ }
376
+
330
377
  export interface TextProps
331
- extends MarkPropsBase,
378
+ extends
379
+ MarkPropsBase,
332
380
  SecondaryPositionProps,
333
381
  AngleProps,
334
382
  ViewportEdgeFadeProps,
@@ -457,7 +505,8 @@ export interface TextProps
457
505
  }
458
506
 
459
507
  export interface PointProps
460
- extends MarkPropsBase,
508
+ extends
509
+ MarkPropsBase,
461
510
  FillAndStrokeProps,
462
511
  AngleProps,
463
512
  SizeProps,
@@ -482,6 +531,29 @@ export interface PointProps
482
531
  */
483
532
  inwardStroke?: boolean | ExprRef;
484
533
 
534
+ /**
535
+ * Horizontal offset in pixels.
536
+ *
537
+ * **Default value:** `0`
538
+ */
539
+ dx?: number | ExprRef;
540
+
541
+ /**
542
+ * Vertical offset in pixels.
543
+ *
544
+ * **Default value:** `0`
545
+ */
546
+ dy?: number | ExprRef;
547
+
548
+ /**
549
+ * Additional padding used by sample facets.
550
+ *
551
+ * **Default value:** `0.1`
552
+ *
553
+ * @internal
554
+ */
555
+ sampleFacetPadding?: number;
556
+
485
557
  /**
486
558
  * Gradient strength controls the amount of the gradient eye-candy effect in the fill color.
487
559
  * Valid values are between `0` and `1`.
@@ -490,6 +562,16 @@ export interface PointProps
490
562
  */
491
563
  fillGradientStrength?: number | ExprRef;
492
564
 
565
+ /**
566
+ * The semantic score used by semantic zooming in the point mark.
567
+ * This is primarily intended for internal use.
568
+ *
569
+ * **Default value:** `0`
570
+ *
571
+ * @internal
572
+ */
573
+ semanticScore?: number | ExprRef;
574
+
493
575
  /**
494
576
  * TODO
495
577
  *
@@ -507,7 +589,8 @@ export interface PointProps
507
589
  }
508
590
 
509
591
  export interface LinkProps
510
- extends MarkPropsBase,
592
+ extends
593
+ MarkPropsBase,
511
594
  SecondaryPositionProps,
512
595
  SizeProps,
513
596
  MinPickingSizeProps {
@@ -603,5 +686,6 @@ export type MarkProps =
603
686
  | RectProps
604
687
  | TextProps
605
688
  | RuleProps
689
+ | TickProps
606
690
  | LinkProps
607
691
  | PointProps;
@@ -1,5 +1,6 @@
1
1
  import { PrimaryPositionalChannel, Scalar } from "./channel.js";
2
2
  import { ShadowProps } from "./mark.js";
3
+ import { ZIndexProps } from "./decoration.js";
3
4
 
4
5
  export interface ExprRef {
5
6
  /**
@@ -180,22 +181,17 @@ export type SelectionInitInterval =
180
181
  export type InteractionEventType =
181
182
  | "click"
182
183
  | "dblclick"
184
+ | "mouseenter"
185
+ | "mouseleave"
183
186
  | "mouseover"
184
187
  | "mousedown"
185
188
  | "wheel";
186
189
 
187
- // TODO: merge with InteractionEventType
188
- export type DomEventType =
189
- | "click"
190
- | "dblclick"
191
- | "mouseover"
192
- | "pointerover"
193
- | "mousedown"
194
- | "wheel";
190
+ export type DomEventType = InteractionEventType | "pointerover";
195
191
 
196
192
  export interface EventConfig {
197
193
  /**
198
- * The type of event to listen to. For example, `"click"` or `"mouseover"`.
194
+ * The type of event to listen to. For example, `"click"` or `"mouseenter"`.
199
195
  */
200
196
  type: DomEventType;
201
197
 
@@ -286,7 +282,14 @@ export interface IntervalSelectionConfig extends BaseSelectionConfig<"interval">
286
282
  zoom?: DomEventType | EventConfig | string | boolean;
287
283
  }
288
284
 
289
- export interface BrushConfig extends ShadowProps {
285
+ export interface BrushConfig extends ShadowProps, ZIndexProps {
286
+ /**
287
+ * Mouse cursor shown while the pointer is over the interval mark.
288
+ *
289
+ * __Default value:__ `{ expr: "intervalDragActive ? 'grabbing' : 'move'" }`
290
+ */
291
+ cursor?: string | ExprRef;
292
+
290
293
  /**
291
294
  * The fill color of the interval mark.
292
295
  *
@@ -323,6 +326,23 @@ export interface BrushConfig extends ShadowProps {
323
326
  */
324
327
  strokeWidth?: number;
325
328
 
329
+ /**
330
+ * Whether the brush rectangle should be clipped to the viewport.
331
+ *
332
+ * __Default value:__ `true`
333
+ */
334
+ clip?: boolean | "never";
335
+
336
+ /**
337
+ * Z-order of the interval mark relative to the view content.
338
+ *
339
+ * Values greater than `0` render after the view marks. Values less than or
340
+ * equal to `0` render before the marks.
341
+ *
342
+ * __Default value:__ `1`
343
+ */
344
+ zindex?: number;
345
+
326
346
  /**
327
347
  * Where to display the measurement text (e.g., number of base pairs) for the interval selection.
328
348
  *
@@ -1,4 +1,5 @@
1
1
  import { GenomeConfig, GenomeDefinition } from "./genome.js";
2
+ import { BuiltInThemeName, GenomeSpyConfig } from "./config.js";
2
3
  import { ViewSpec } from "./view.js";
3
4
 
4
5
  export type NamedGenomeConfig = GenomeDefinition | Record<string, never>;
@@ -36,6 +37,19 @@ export interface RootConfig {
36
37
  * https://vega.github.io/vega-lite/docs/data.html#datasets
37
38
  */
38
39
  datasets?: Record<string, any[]>;
40
+
41
+ /**
42
+ * Global configuration defaults and theme tokens.
43
+ *
44
+ * The configuration is inherited by descendant views and can be overridden
45
+ * by view-local `config` objects.
46
+ */
47
+ config?: GenomeSpyConfig;
48
+
49
+ /**
50
+ * Selects built-in theme preset(s) for the whole visualization.
51
+ */
52
+ theme?: BuiltInThemeName | BuiltInThemeName[];
39
53
  }
40
54
 
41
55
  export type RootSpec = ViewSpec & RootConfig;
@@ -234,6 +234,13 @@ export interface Scale {
234
234
  * If `true` and the scale is used on a positional channel, it can bee zoomed and translated interactively.
235
235
  */
236
236
  zoom?: boolean | ZoomParams;
237
+
238
+ /**
239
+ * The numbering offset used when formatting tick labels on index and locus scales.
240
+ *
241
+ * __Default value:__ `0`
242
+ */
243
+ numberingOffset?: number;
237
244
  }
238
245
 
239
246
  export type InlineLocusAssembly = GenomeDefinition;
@@ -245,25 +252,23 @@ export interface SelectionDomainRef {
245
252
  param: string;
246
253
 
247
254
  /**
248
- * Selection interval channel to use.
255
+ * Initial configured domain for the linked scale when the linked interval
256
+ * selection is empty.
249
257
  *
250
- * If omitted, GenomeSpy infers the channel from the scale channel when
251
- * possible (e.g., `x` -> `x`, `x2` -> `x`, `y` -> `y`, `y2` -> `y`).
258
+ * Only supported when the linked scale is zoomable.
259
+ *
260
+ * Clearing the linked interval selection resets the domain to the normal
261
+ * default/data-derived domain instead of restoring `initial`.
252
262
  */
253
- encoding?: "x" | "y";
263
+ initial?: ScalarDomain | ComplexDomain;
254
264
 
255
265
  /**
256
- * Domain synchronization mode.
257
- *
258
- * - `"oneWay"`: selection drives the domain.
259
- * - `"twoWay"`: selection drives the domain and zoom/pan updates selection.
260
- *
261
- * __Default value:__ implicit auto mode:
266
+ * Selection interval channel to use.
262
267
  *
263
- * - `"twoWay"` when the linked scale is zoomable
264
- * - `"oneWay"` otherwise
268
+ * If omitted, GenomeSpy infers the channel from the scale channel when
269
+ * possible (e.g., `x` -> `x`, `x2` -> `x`, `y` -> `y`, `y2` -> `y`).
265
270
  */
266
- sync?: "oneWay" | "twoWay";
271
+ encoding?: "x" | "y";
267
272
  }
268
273
 
269
274
  export interface SchemeParams {
@@ -10,12 +10,13 @@
10
10
 
11
11
  import { Align, Baseline, FontStyle, FontWeight } from "./font.js";
12
12
  import { ExprRef } from "./parameter.js";
13
+ import { ZIndexProps } from "./decoration.js";
13
14
 
14
15
  export type TitleOrient = "none" | "left" | "right" | "top" | "bottom";
15
16
  export type TitleAnchor = null | "start" | "middle" | "end";
16
17
  export type TitleFrame = "bounds" | "group";
17
18
 
18
- export interface Title {
19
+ export interface Title extends ZIndexProps {
19
20
  /**
20
21
  * The title text.
21
22
  */
@@ -24,7 +25,7 @@ export interface Title {
24
25
  /**
25
26
  * A mark style property to apply to the title text mark. If not specified, a default style of `"group-title"` is applied.
26
27
  */
27
- style?: string;
28
+ style?: string | string[];
28
29
 
29
30
  /**
30
31
  * The anchor position for placing the title and subtitle text. One of `"start"`, `"middle"`, or `"end"`. For example, with an orientation of top these anchor positions map to a left-, center-, or right-aligned title.
@@ -41,6 +42,16 @@ export interface Title {
41
42
  */
42
43
  offset?: number;
43
44
 
45
+ /**
46
+ * Z-order of the title relative to the view content.
47
+ *
48
+ * Values greater than `0` render after the view marks. Values less than or
49
+ * equal to `0` render before the marks.
50
+ *
51
+ * __Default value:__ `1`
52
+ */
53
+ zindex?: number;
54
+
44
55
  /**
45
56
  * Default title orientation (`"none"`, `"top"`, `"bottom"`, `"left"`, or `"right"`)
46
57
  */
@@ -6,4 +6,4 @@ export interface HandledTooltip {
6
6
 
7
7
  // TODO: Encoding / data: https://vega.github.io/vega-lite/docs/tooltip.html#encoding
8
8
 
9
- export type Tooltip = HandledTooltip | null;
9
+ export type Tooltip = HandledTooltip | null | false;
@@ -1,4 +1,5 @@
1
1
  import { PositionalChannel } from "./channel.js";
2
+ import { FontStyle, FontWeight } from "./font.js";
2
3
  import { ExprRef } from "./parameter.js";
3
4
 
4
5
  /**
@@ -177,7 +178,7 @@ export interface StackParams extends TransformParamsBase {
177
178
  *
178
179
  * **Default:** `["y0", "y1"]`
179
180
  */
180
- as: string[];
181
+ as?: string[];
181
182
 
182
183
  /**
183
184
  * Cardinality, e.g., the number if distinct bases or amino acids. Used for
@@ -204,7 +205,9 @@ export type AggregateOp =
204
205
  | "min"
205
206
  | "max"
206
207
  | "mean"
208
+ | "q1"
207
209
  | "median"
210
+ | "q3"
208
211
  | "variance";
209
212
 
210
213
  export interface AggregateParams extends TransformParamsBase {
@@ -225,7 +228,7 @@ export interface AggregateParams extends TransformParamsBase {
225
228
 
226
229
  /**
227
230
  * The aggregation operations to be performed on the fields, such as `"sum"`,
228
- * `"average"`, or `"count"`.
231
+ * `"q1"`, `"median"`, `"q3"`, or `"count"`.
229
232
  */
230
233
  ops?: AggregateOp[];
231
234
 
@@ -424,13 +427,45 @@ export interface SampleParams extends TransformParamsBase {
424
427
  export interface MeasureTextParams extends TransformParamsBase {
425
428
  type: "measureText";
426
429
 
430
+ /**
431
+ * The field that contains the text to be measured.
432
+ */
427
433
  field: Field;
428
434
 
435
+ /**
436
+ * The font size in pixels.
437
+ */
429
438
  fontSize: number | ExprRef;
430
439
 
431
- as: string;
440
+ /**
441
+ * The font typeface. Uses the same asynchronously loaded SDF fonts as the
442
+ * `"text"` mark.
443
+ *
444
+ * **Default:** `"Lato"`
445
+ */
446
+ font?: string;
447
+
448
+ /**
449
+ * The font style. Valid values: `"normal"` and `"italic"`.
450
+ *
451
+ * **Default:** `"normal"`
452
+ */
453
+ fontStyle?: FontStyle;
454
+
455
+ /**
456
+ * The font weight. The following strings and numbers are valid values:
457
+ * `"thin"` (`100`), `"light"` (`300`), `"regular"` (`400`),
458
+ * `"normal"` (`400`), `"medium"` (`500`), `"bold"` (`700`),
459
+ * `"black"` (`900`)
460
+ *
461
+ * **Default:** `"regular"`
462
+ */
463
+ fontWeight?: FontWeight;
432
464
 
433
- // TODO: FontFamily etc
465
+ /**
466
+ * The output field where the measured width is written.
467
+ */
468
+ as: string;
434
469
  }
435
470
 
436
471
  export interface MergeFacetsParams extends TransformParamsBase {