@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.
- package/dist/bundle/AbortablePromiseCache-3gHJdF3E.js +96 -0
- package/dist/bundle/browser-BTgw5ieH.js +126 -0
- package/dist/bundle/chunk-DmhlhrBa.js +11 -0
- package/dist/bundle/esm-BDFRLEuD.js +1248 -0
- package/dist/bundle/esm-BygJiwh0.js +573 -0
- package/dist/bundle/esm-CGX-qz1d.js +155 -0
- package/dist/bundle/esm-CgfVIRJ-.js +121 -0
- package/dist/bundle/esm-CuMSzCHy.js +298 -0
- package/dist/bundle/esm-DMXpJXM4.js +369 -0
- package/dist/bundle/esm-DQiq2Zhd.js +1426 -0
- package/dist/bundle/esm-DtE8VqAv.js +1015 -0
- package/dist/bundle/esm-sIoQYZ21.js +461 -0
- package/dist/bundle/index.es.js +21071 -25935
- package/dist/bundle/index.js +363 -379
- package/dist/bundle/parquetRead-DG_-F5j5.js +1609 -0
- package/dist/schema.json +13098 -7095
- package/dist/src/config/axisConfig.d.ts +16 -0
- package/dist/src/config/axisConfig.d.ts.map +1 -0
- package/dist/src/config/axisConfig.js +84 -0
- package/dist/src/config/defaultConfig.d.ts +3 -0
- package/dist/src/config/defaultConfig.d.ts.map +1 -0
- package/dist/src/config/defaultConfig.js +38 -0
- package/dist/src/config/defaults/axisDefaults.d.ts +5 -0
- package/dist/src/config/defaults/axisDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/axisDefaults.js +72 -0
- package/dist/src/config/defaults/markDefaults.d.ts +15 -0
- package/dist/src/config/defaults/markDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/markDefaults.js +121 -0
- package/dist/src/config/defaults/scaleDefaults.d.ts +5 -0
- package/dist/src/config/defaults/scaleDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/scaleDefaults.js +18 -0
- package/dist/src/config/defaults/titleDefaults.d.ts +5 -0
- package/dist/src/config/defaults/titleDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/titleDefaults.js +47 -0
- package/dist/src/config/defaults/viewDefaults.d.ts +3 -0
- package/dist/src/config/defaults/viewDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/viewDefaults.js +2 -0
- package/dist/src/config/markConfig.d.ts +8 -0
- package/dist/src/config/markConfig.d.ts.map +1 -0
- package/dist/src/config/markConfig.js +27 -0
- package/dist/src/config/mergeConfig.d.ts +8 -0
- package/dist/src/config/mergeConfig.d.ts.map +1 -0
- package/dist/src/config/mergeConfig.js +81 -0
- package/dist/src/config/resolveConfig.d.ts +22 -0
- package/dist/src/config/resolveConfig.d.ts.map +1 -0
- package/dist/src/config/resolveConfig.js +32 -0
- package/dist/src/config/scaleConfig.d.ts +40 -0
- package/dist/src/config/scaleConfig.d.ts.map +1 -0
- package/dist/src/config/scaleConfig.js +220 -0
- package/dist/src/config/styleUtils.d.ts +6 -0
- package/dist/src/config/styleUtils.d.ts.map +1 -0
- package/dist/src/config/styleUtils.js +10 -0
- package/dist/src/config/themes.d.ts +15 -0
- package/dist/src/config/themes.d.ts.map +1 -0
- package/dist/src/config/themes.js +293 -0
- package/dist/src/config/titleConfig.d.ts +12 -0
- package/dist/src/config/titleConfig.d.ts.map +1 -0
- package/dist/src/config/titleConfig.js +42 -0
- package/dist/src/config/viewConfig.d.ts +7 -0
- package/dist/src/config/viewConfig.d.ts.map +1 -0
- package/dist/src/config/viewConfig.js +29 -0
- package/dist/src/data/flowNode.d.ts +22 -1
- package/dist/src/data/flowNode.d.ts.map +1 -1
- package/dist/src/data/flowNode.js +37 -1
- package/dist/src/data/formats/bed.d.ts.map +1 -1
- package/dist/src/data/formats/bed.js +6 -1
- package/dist/src/data/formats/bedpe.d.ts.map +1 -1
- package/dist/src/data/formats/bedpe.js +4 -0
- package/dist/src/data/formats/fasta.d.ts.map +1 -1
- package/dist/src/data/formats/fasta.js +4 -0
- package/dist/src/data/formats/parquet.d.ts.map +1 -1
- package/dist/src/data/formats/parquet.js +4 -0
- package/dist/src/data/sources/dataSourceFactory.d.ts +2 -13
- package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
- package/dist/src/data/sources/dataSourceFactory.js +5 -141
- package/dist/src/data/sources/lazy/axisGenomeSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/axisGenomeSource.js +11 -0
- package/dist/src/data/sources/lazy/axisTickSource.d.ts +1 -1
- package/dist/src/data/sources/lazy/axisTickSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/axisTickSource.js +19 -8
- package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bamSource.js +11 -0
- package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigBedSource.js +12 -1
- package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigWigSource.js +11 -0
- package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/gff3Source.js +12 -1
- package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/indexedFastaSource.js +11 -0
- package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts +27 -0
- package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/lazyDataSourceRegistry.js +65 -0
- package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts +2 -0
- package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/registerBuiltInLazySources.js +8 -0
- package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/singleAxisLazySource.js +11 -2
- package/dist/src/data/sources/lazy/vcfSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/vcfSource.js +11 -0
- package/dist/src/data/sources/urlSource.d.ts.map +1 -1
- package/dist/src/data/sources/urlSource.js +5 -2
- package/dist/src/data/transforms/aggregate.d.ts +1 -0
- package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
- package/dist/src/data/transforms/aggregate.js +30 -8
- package/dist/src/data/transforms/aggregateOps.d.ts.map +1 -1
- package/dist/src/data/transforms/aggregateOps.js +12 -1
- package/dist/src/data/transforms/coverage.js +2 -2
- package/dist/src/data/transforms/filter.js +1 -1
- package/dist/src/data/transforms/filterScoredLabels.d.ts +6 -0
- package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
- package/dist/src/data/transforms/filterScoredLabels.js +9 -0
- package/dist/src/data/transforms/measureText.d.ts +1 -0
- package/dist/src/data/transforms/measureText.d.ts.map +1 -1
- package/dist/src/data/transforms/measureText.js +14 -5
- package/dist/src/data/transforms/pileup.d.ts.map +1 -1
- package/dist/src/data/transforms/pileup.js +1 -2
- package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
- package/dist/src/data/transforms/regexFold.js +0 -1
- package/dist/src/embedFactory.d.ts +13 -0
- package/dist/src/embedFactory.d.ts.map +1 -0
- package/dist/src/embedFactory.js +127 -0
- package/dist/src/encoder/accessor.d.ts +3 -12
- package/dist/src/encoder/accessor.d.ts.map +1 -1
- package/dist/src/encoder/accessor.js +10 -65
- package/dist/src/encoder/encoder.d.ts +51 -8
- package/dist/src/encoder/encoder.d.ts.map +1 -1
- package/dist/src/encoder/encoder.js +179 -55
- package/dist/src/fonts/bmFontManager.js +1 -1
- package/dist/src/full.d.ts +2 -0
- package/dist/src/full.d.ts.map +1 -0
- package/dist/src/full.js +2 -0
- package/dist/src/genome/genome.d.ts +8 -0
- package/dist/src/genome/genome.d.ts.map +1 -1
- package/dist/src/genome/genome.js +16 -2
- package/dist/src/genome/genomeStore.js +1 -1
- package/dist/src/genome/rootGenomeConfig.d.ts.map +1 -1
- package/dist/src/genome/rootGenomeConfig.js +6 -2
- package/dist/src/genome/scaleLocus.d.ts.map +1 -1
- package/dist/src/genome/scaleLocus.js +26 -7
- package/dist/src/genomeSpy/cursorManager.d.ts +69 -0
- package/dist/src/genomeSpy/cursorManager.d.ts.map +1 -0
- package/dist/src/genomeSpy/cursorManager.js +131 -0
- package/dist/src/genomeSpy/headlessBootstrap.d.ts +113 -0
- package/dist/src/genomeSpy/headlessBootstrap.d.ts.map +1 -0
- package/dist/src/genomeSpy/headlessBootstrap.js +246 -0
- package/dist/src/genomeSpy/interactionController.d.ts +5 -0
- package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
- package/dist/src/genomeSpy/interactionController.js +212 -19
- package/dist/src/genomeSpy/interactionDispatcher.d.ts +50 -0
- package/dist/src/genomeSpy/interactionDispatcher.d.ts.map +1 -0
- package/dist/src/genomeSpy/interactionDispatcher.js +203 -0
- package/dist/src/genomeSpy/viewContextFactory.d.ts +4 -2
- package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -1
- package/dist/src/genomeSpy/viewContextFactory.js +12 -4
- package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -1
- package/dist/src/genomeSpy/viewDataInit.js +7 -3
- package/dist/src/genomeSpy.d.ts +1 -124
- package/dist/src/genomeSpy.d.ts.map +1 -1
- package/dist/src/genomeSpy.js +7 -688
- package/dist/src/genomeSpyBase.d.ts +133 -0
- package/dist/src/genomeSpyBase.d.ts.map +1 -0
- package/dist/src/genomeSpyBase.js +719 -0
- package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
- package/dist/src/gl/arrayBuilder.js +0 -3
- package/dist/src/gl/colorUtils.d.ts.map +1 -1
- package/dist/src/gl/colorUtils.js +3 -0
- package/dist/src/gl/dataToVertices.d.ts.map +1 -1
- package/dist/src/gl/dataToVertices.js +13 -8
- package/dist/src/gl/glslScaleGenerator.d.ts +2 -2
- package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
- package/dist/src/gl/glslScaleGenerator.js +5 -7
- package/dist/src/index.d.ts +3 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -114
- package/dist/src/marks/__snapshots__/shaderSnapshot.test.js.snap +4462 -0
- package/dist/src/marks/link.d.ts.map +1 -1
- package/dist/src/marks/link.js +0 -23
- package/dist/src/marks/mark.d.ts +8 -1
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/marks/mark.js +61 -20
- package/dist/src/marks/markUtils.d.ts +18 -1
- package/dist/src/marks/markUtils.d.ts.map +1 -1
- package/dist/src/marks/markUtils.js +52 -4
- package/dist/src/marks/point.d.ts.map +1 -1
- package/dist/src/marks/point.js +6 -26
- package/dist/src/marks/rect.d.ts.map +1 -1
- package/dist/src/marks/rect.js +13 -21
- package/dist/src/marks/rule.d.ts +7 -2
- package/dist/src/marks/rule.d.ts.map +1 -1
- package/dist/src/marks/rule.js +125 -16
- package/dist/src/marks/text.d.ts.map +1 -1
- package/dist/src/marks/text.js +5 -47
- package/dist/src/minimal.d.ts +8 -0
- package/dist/src/minimal.d.ts.map +1 -0
- package/dist/src/minimal.js +21 -0
- package/dist/src/paramRuntime/viewParamRuntime.d.ts +19 -0
- package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -1
- package/dist/src/paramRuntime/viewParamRuntime.js +35 -0
- package/dist/src/scale/scale.d.ts.map +1 -1
- package/dist/src/scale/scale.js +13 -7
- package/dist/src/scales/axisResolution.d.ts.map +1 -1
- package/dist/src/scales/axisResolution.js +9 -5
- package/dist/src/scales/domainPlanner.d.ts +28 -8
- package/dist/src/scales/domainPlanner.d.ts.map +1 -1
- package/dist/src/scales/domainPlanner.js +207 -73
- package/dist/src/scales/indexLikeDomainUtils.d.ts +29 -0
- package/dist/src/scales/indexLikeDomainUtils.d.ts.map +1 -0
- package/dist/src/scales/indexLikeDomainUtils.js +67 -0
- package/dist/src/scales/resolutionMemberOrder.d.ts +15 -0
- package/dist/src/scales/resolutionMemberOrder.d.ts.map +1 -0
- package/dist/src/scales/resolutionMemberOrder.js +22 -0
- package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
- package/dist/src/scales/scaleInteractionController.js +43 -4
- package/dist/src/scales/scalePropsResolver.d.ts +3 -1
- package/dist/src/scales/scalePropsResolver.d.ts.map +1 -1
- package/dist/src/scales/scalePropsResolver.js +83 -6
- package/dist/src/scales/scaleResolution.d.ts +23 -0
- package/dist/src/scales/scaleResolution.d.ts.map +1 -1
- package/dist/src/scales/scaleResolution.js +220 -58
- package/dist/src/scales/scaleResolutionTestUtils.d.ts.map +1 -1
- package/dist/src/scales/scaleResolutionTestUtils.js +6 -2
- package/dist/src/scales/scaleRules.d.ts.map +1 -1
- package/dist/src/scales/scaleRules.js +16 -2
- package/dist/src/scales/selectionDomainUtils.d.ts +30 -0
- package/dist/src/scales/selectionDomainUtils.d.ts.map +1 -1
- package/dist/src/scales/selectionDomainUtils.js +116 -1
- package/dist/src/screenshotHarness.js +3 -4
- package/dist/src/spec/axis.d.ts +41 -30
- package/dist/src/spec/channel.d.ts +15 -9
- package/dist/src/spec/config.d.ts +264 -0
- package/dist/src/spec/data.d.ts +7 -0
- package/dist/src/spec/decoration.d.ts +51 -0
- package/dist/src/spec/exampleFiles.d.ts +12 -0
- package/dist/src/spec/exampleFiles.d.ts.map +1 -0
- package/dist/src/spec/exampleFiles.js +52 -0
- package/dist/src/spec/font.d.ts +1 -1
- package/dist/src/spec/mark.d.ts +97 -13
- package/dist/src/spec/parameter.d.ts +30 -10
- package/dist/src/spec/root.d.ts +14 -0
- package/dist/src/spec/scale.d.ts +18 -13
- package/dist/src/spec/title.d.ts +13 -2
- package/dist/src/spec/tooltip.d.ts +1 -1
- package/dist/src/spec/transform.d.ts +39 -4
- package/dist/src/spec/view.d.ts +67 -19
- package/dist/src/styles/genome-spy.css +55 -55
- package/dist/src/styles/genome-spy.css.d.ts +1 -1
- package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
- package/dist/src/styles/genome-spy.css.js +23 -22
- package/dist/src/testSetup.d.ts +2 -0
- package/dist/src/testSetup.d.ts.map +1 -0
- package/dist/src/testSetup.js +5 -0
- package/dist/src/tooltip/dataTooltipHandler.js +8 -2
- package/dist/src/tooltip/tooltipContext.d.ts.map +1 -1
- package/dist/src/tooltip/tooltipContext.js +3 -2
- package/dist/src/types/embedApi.d.ts +7 -0
- package/dist/src/types/encoder.d.ts +17 -15
- package/dist/src/types/scaleResolutionApi.d.ts +20 -0
- package/dist/src/types/viewContext.d.ts +23 -1
- package/dist/src/utils/expression.d.ts +2 -2
- package/dist/src/utils/expression.d.ts.map +1 -1
- package/dist/src/utils/expression.js +63 -8
- package/dist/src/utils/field.d.ts.map +1 -1
- package/dist/src/utils/field.js +0 -1
- package/dist/src/utils/inertia.d.ts.map +1 -1
- package/dist/src/utils/inertia.js +0 -1
- package/dist/src/utils/inputBinding.d.ts +1 -1
- package/dist/src/utils/interaction.d.ts +109 -0
- package/dist/src/utils/interaction.d.ts.map +1 -0
- package/dist/src/utils/interaction.js +200 -0
- package/dist/src/utils/interactionEvent.d.ts +21 -42
- package/dist/src/utils/interactionEvent.d.ts.map +1 -1
- package/dist/src/utils/interactionEvent.js +43 -66
- package/dist/src/utils/kWayMerge.js +1 -1
- package/dist/src/utils/mergeObjects.d.ts.map +1 -1
- package/dist/src/utils/mergeObjects.js +0 -2
- package/dist/src/utils/radixSort.d.ts.map +1 -1
- package/dist/src/utils/radixSort.js +0 -2
- package/dist/src/utils/throttle.d.ts.map +1 -1
- package/dist/src/utils/throttle.js +0 -2
- package/dist/src/utils/ui/tooltip.d.ts +1 -0
- package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
- package/dist/src/utils/ui/tooltip.js +1 -0
- package/dist/src/utils/url.js +1 -1
- package/dist/src/view/axisGridView.d.ts +1 -1
- package/dist/src/view/axisGridView.d.ts.map +1 -1
- package/dist/src/view/axisGridView.js +2 -47
- package/dist/src/view/axisView.d.ts +2 -3
- package/dist/src/view/axisView.d.ts.map +1 -1
- package/dist/src/view/axisView.js +251 -106
- package/dist/src/view/concatView.d.ts +2 -1
- package/dist/src/view/concatView.d.ts.map +1 -1
- package/dist/src/view/concatView.js +4 -2
- package/dist/src/view/containerMutationHelper.d.ts +3 -0
- package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
- package/dist/src/view/containerMutationHelper.js +4 -1
- package/dist/src/view/facetView.d.ts +1 -1
- package/dist/src/view/facetView.js +3 -3
- package/dist/src/view/flowBuilder.js +2 -2
- package/dist/src/view/gridView/gridChild.d.ts +6 -0
- package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
- package/dist/src/view/gridView/gridChild.js +72 -43
- package/dist/src/view/gridView/gridView.d.ts.map +1 -1
- package/dist/src/view/gridView/gridView.js +255 -101
- package/dist/src/view/gridView/keyboardZoomController.d.ts +2 -2
- package/dist/src/view/gridView/keyboardZoomController.d.ts.map +1 -1
- package/dist/src/view/gridView/keyboardZoomController.js +1 -1
- package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
- package/dist/src/view/gridView/scrollbar.js +4 -2
- package/dist/src/view/gridView/selectionRect.d.ts +4 -0
- package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
- package/dist/src/view/gridView/selectionRect.js +20 -1
- package/dist/src/view/gridView/separatorView.d.ts +1 -0
- package/dist/src/view/gridView/separatorView.d.ts.map +1 -1
- package/dist/src/view/gridView/separatorView.js +9 -0
- package/dist/src/view/interactionRouting.d.ts +20 -0
- package/dist/src/view/interactionRouting.d.ts.map +1 -0
- package/dist/src/view/interactionRouting.js +53 -0
- package/dist/src/view/layerView.d.ts.map +1 -1
- package/dist/src/view/layerView.js +12 -9
- package/dist/src/view/layout/grid.js +1 -1
- package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +0 -2
- package/dist/src/view/testUtils.d.ts +17 -3
- package/dist/src/view/testUtils.d.ts.map +1 -1
- package/dist/src/view/testUtils.js +62 -69
- package/dist/src/view/title.d.ts +8 -1
- package/dist/src/view/title.d.ts.map +1 -1
- package/dist/src/view/title.js +66 -76
- package/dist/src/view/unitView.d.ts +1 -1
- package/dist/src/view/unitView.d.ts.map +1 -1
- package/dist/src/view/unitView.js +67 -17
- package/dist/src/view/view.d.ts +76 -30
- package/dist/src/view/view.d.ts.map +1 -1
- package/dist/src/view/view.js +136 -47
- package/dist/src/view/viewFactory.d.ts +11 -3
- package/dist/src/view/viewFactory.d.ts.map +1 -1
- package/dist/src/view/viewFactory.js +37 -11
- package/dist/src/view/viewUtils.d.ts.map +1 -1
- package/dist/src/view/viewUtils.js +41 -5
- package/dist/src/view/zoom.d.ts +2 -2
- package/dist/src/view/zoom.d.ts.map +1 -1
- package/dist/src/view/zoom.js +21 -23
- package/package.json +18 -10
- package/dist/bundle/AbortablePromiseCache-Dj0vzLnp.js +0 -149
- package/dist/bundle/browser-0iNU5Wit.js +0 -138
- package/dist/bundle/index-BYsZN7b0.js +0 -1597
- package/dist/bundle/index-C3kClAEN.js +0 -1771
- package/dist/bundle/index-C7wOh6y1.js +0 -657
- package/dist/bundle/index-CRaQAuki.js +0 -326
- package/dist/bundle/index-D9v1PCj9.js +0 -507
- package/dist/bundle/index-GDOuv_D5.js +0 -266
- package/dist/bundle/index-Gt44EOIH.js +0 -628
- package/dist/bundle/inflate-GtwLkvSP.js +0 -1048
- package/dist/bundle/parquetRead-BnAGCa4_.js +0 -1663
- package/dist/bundle/unzip-Bac01w6X.js +0 -1492
- package/dist/src/config/scaleDefaults.d.ts +0 -8
- package/dist/src/config/scaleDefaults.d.ts.map +0 -1
- package/dist/src/config/scaleDefaults.js +0 -45
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isSelectionParameter } from "../paramRuntime/paramUtils.js";
|
|
2
|
+
import {
|
|
3
|
+
asSelectionConfig,
|
|
4
|
+
isIntervalSelection,
|
|
5
|
+
isIntervalSelectionConfig,
|
|
6
|
+
} from "../selection/selection.js";
|
|
2
7
|
|
|
3
8
|
/**
|
|
4
9
|
* @param {{ findRuntimeForParam: (name: string) => any }} paramRuntime
|
|
@@ -34,6 +39,116 @@ export function requireIntervalSelection(selection, paramName) {
|
|
|
34
39
|
return selection;
|
|
35
40
|
}
|
|
36
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Resolves the runtime-backed interval selection binding used by a linked
|
|
44
|
+
* domain. Matching is based on the actual resolved runtime slot instead of
|
|
45
|
+
* parameter name alone, so scoped params with the same name remain distinct.
|
|
46
|
+
*
|
|
47
|
+
* @param {import("../view/view.js").default} view
|
|
48
|
+
* @param {string} paramName
|
|
49
|
+
* @param {"x" | "y"} encoding
|
|
50
|
+
*/
|
|
51
|
+
export function resolveIntervalSelectionBinding(view, paramName, encoding) {
|
|
52
|
+
const runtime = view.paramRuntime.findRuntimeForParam
|
|
53
|
+
? requireParamRuntime(view.paramRuntime, paramName)
|
|
54
|
+
: view.paramRuntime;
|
|
55
|
+
const selection = requireIntervalSelection(
|
|
56
|
+
runtime.getValue
|
|
57
|
+
? runtime.getValue(paramName)
|
|
58
|
+
: view.paramRuntime.findValue(paramName),
|
|
59
|
+
paramName
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
return {
|
|
63
|
+
runtime,
|
|
64
|
+
selection,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @param {import("../view/view.js").default} root
|
|
70
|
+
* @param {any} runtime
|
|
71
|
+
* @param {string} paramName
|
|
72
|
+
* @param {"x" | "y"} encoding
|
|
73
|
+
*/
|
|
74
|
+
export function findIntervalSelectionBindingOwners(root, runtime, paramName, encoding) {
|
|
75
|
+
/** @type {{ view: import("../view/view.js").default, param: import("../spec/parameter.js").SelectionParameter }[]} */
|
|
76
|
+
const owners = [];
|
|
77
|
+
|
|
78
|
+
root.visit((view) => {
|
|
79
|
+
const param = view.paramRuntime?.paramConfigs?.get(paramName);
|
|
80
|
+
if (!param || !isSelectionParameter(param)) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const select = asSelectionConfig(param.select);
|
|
85
|
+
if (
|
|
86
|
+
!isIntervalSelectionConfig(select) ||
|
|
87
|
+
!select.encodings?.includes(encoding)
|
|
88
|
+
) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (view.paramRuntime.findRuntimeForParam(paramName) === runtime) {
|
|
93
|
+
owners.push({ view, param });
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
return owners;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* @param {import("../view/view.js").default} view
|
|
102
|
+
* @param {any} runtime
|
|
103
|
+
* @param {string} paramName
|
|
104
|
+
* @param {"x" | "y"} encoding
|
|
105
|
+
*/
|
|
106
|
+
export function hasIntervalSelectionBindingInScope(
|
|
107
|
+
view,
|
|
108
|
+
runtime,
|
|
109
|
+
paramName,
|
|
110
|
+
encoding
|
|
111
|
+
) {
|
|
112
|
+
const seen = new Set();
|
|
113
|
+
const ancestorGroups = [
|
|
114
|
+
view.getLayoutAncestors?.(),
|
|
115
|
+
view.getDataAncestors?.(),
|
|
116
|
+
[view],
|
|
117
|
+
];
|
|
118
|
+
|
|
119
|
+
for (const views of ancestorGroups) {
|
|
120
|
+
for (const candidateView of views ?? []) {
|
|
121
|
+
if (!candidateView || seen.has(candidateView)) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
seen.add(candidateView);
|
|
126
|
+
|
|
127
|
+
const param = candidateView.paramRuntime?.paramConfigs?.get(paramName);
|
|
128
|
+
if (!param || !isSelectionParameter(param)) {
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const select = asSelectionConfig(param.select);
|
|
133
|
+
if (
|
|
134
|
+
!isIntervalSelectionConfig(select) ||
|
|
135
|
+
!select.encodings?.includes(encoding)
|
|
136
|
+
) {
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (
|
|
141
|
+
candidateView.paramRuntime.findRuntimeForParam?.(paramName) ===
|
|
142
|
+
runtime
|
|
143
|
+
) {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
|
|
37
152
|
/**
|
|
38
153
|
* @param {number[]} interval
|
|
39
154
|
* @param {number[]} zoomExtent
|
|
@@ -111,9 +111,7 @@ async function initializeHarness(url) {
|
|
|
111
111
|
},
|
|
112
112
|
};
|
|
113
113
|
|
|
114
|
-
setStatus(
|
|
115
|
-
`Ready (${logicalSize.width}x${logicalSize.height}, DPR 1)`
|
|
116
|
-
);
|
|
114
|
+
setStatus(`Ready (${logicalSize.width}x${logicalSize.height}, DPR 1)`);
|
|
117
115
|
} catch (error) {
|
|
118
116
|
setFailure(error instanceof Error ? error.message : String(error));
|
|
119
117
|
}
|
|
@@ -144,7 +142,8 @@ async function waitForVisibleLazyData(api, timeoutMs) {
|
|
|
144
142
|
} catch (error) {
|
|
145
143
|
if (timedOut) {
|
|
146
144
|
throw new Error(
|
|
147
|
-
`Timed out after ${timeoutMs} ms while waiting for visible lazy data
|
|
145
|
+
`Timed out after ${timeoutMs} ms while waiting for visible lazy data.`,
|
|
146
|
+
{ cause: error }
|
|
148
147
|
);
|
|
149
148
|
}
|
|
150
149
|
|
package/dist/src/spec/axis.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Align, Baseline, FontStyle, FontWeight } from "./font.js";
|
|
2
|
+
import { ZIndexProps } from "./decoration.js";
|
|
2
3
|
|
|
3
4
|
export interface GenomeAxis extends Axis {
|
|
4
5
|
chromTicks?: boolean;
|
|
@@ -91,7 +92,13 @@ export interface GenomeAxis extends Axis {
|
|
|
91
92
|
|
|
92
93
|
export type AxisOrient = "top" | "bottom" | "left" | "right";
|
|
93
94
|
|
|
94
|
-
export interface Axis extends BaseAxis {
|
|
95
|
+
export interface Axis extends BaseAxis, ZIndexProps {
|
|
96
|
+
/**
|
|
97
|
+
* Named style reference(s) resolved from `config.style`.
|
|
98
|
+
* If an array is provided, later styles override earlier ones.
|
|
99
|
+
*/
|
|
100
|
+
style?: string | string[];
|
|
101
|
+
|
|
95
102
|
/**
|
|
96
103
|
* The orientation of the axis. One of `"top"`, `"bottom"`, `"left"` or `"right"`. The orientation can be used to further specialize the axis type (e.g., a y axis oriented for the right edge of the chart).
|
|
97
104
|
*
|
|
@@ -131,68 +138,72 @@ export interface Axis extends BaseAxis {
|
|
|
131
138
|
* Explicitly set the visible axis tick and label values.
|
|
132
139
|
*/
|
|
133
140
|
values?: any[];
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Z-order of the axis relative to the view content.
|
|
144
|
+
*
|
|
145
|
+
* Values greater than `0` render after the view marks. Values less than or
|
|
146
|
+
* equal to `0` render before the marks.
|
|
147
|
+
*
|
|
148
|
+
* __Default value:__ `0`, or `10` when the view content is clipped or
|
|
149
|
+
* scrollable.
|
|
150
|
+
*/
|
|
151
|
+
zindex?: number;
|
|
134
152
|
}
|
|
135
153
|
|
|
136
|
-
export interface BaseAxis
|
|
137
|
-
N = number,
|
|
138
|
-
B = boolean,
|
|
139
|
-
S = string,
|
|
140
|
-
C = string,
|
|
141
|
-
FW = string,
|
|
142
|
-
FS = string,
|
|
143
|
-
> {
|
|
154
|
+
export interface BaseAxis {
|
|
144
155
|
/**
|
|
145
156
|
* The minimum extent in pixels that axis ticks and labels should use. This determines a minimum offset value for axis titles.
|
|
146
157
|
*
|
|
147
158
|
* __Default value:__ `30` for y-axis; `undefined` for x-axis.
|
|
148
159
|
*/
|
|
149
|
-
minExtent?:
|
|
160
|
+
minExtent?: number;
|
|
150
161
|
|
|
151
162
|
/**
|
|
152
163
|
* The maximum extent in pixels that axis ticks and labels should use. This determines a maximum offset value for axis titles.
|
|
153
164
|
*
|
|
154
165
|
* __Default value:__ `undefined`.
|
|
155
166
|
*/
|
|
156
|
-
maxExtent?:
|
|
167
|
+
maxExtent?: number;
|
|
157
168
|
|
|
158
169
|
// ---------- Title ----------
|
|
159
170
|
/**
|
|
160
171
|
* The padding, in pixels, between title and axis.
|
|
161
172
|
*/
|
|
162
|
-
titlePadding?:
|
|
173
|
+
titlePadding?: number;
|
|
163
174
|
|
|
164
175
|
/**
|
|
165
176
|
* Color of the title, can be in hex color code or regular color name.
|
|
166
177
|
*/
|
|
167
|
-
titleColor?:
|
|
178
|
+
titleColor?: string;
|
|
168
179
|
|
|
169
180
|
/**
|
|
170
181
|
* Font of the title. (e.g., `"Helvetica Neue"`).
|
|
171
182
|
*/
|
|
172
|
-
titleFont?:
|
|
183
|
+
titleFont?: string;
|
|
173
184
|
|
|
174
185
|
/**
|
|
175
186
|
* Font size of the title.
|
|
176
187
|
*
|
|
177
188
|
* @minimum 0
|
|
178
189
|
*/
|
|
179
|
-
titleFontSize?:
|
|
190
|
+
titleFontSize?: number;
|
|
180
191
|
|
|
181
192
|
/**
|
|
182
193
|
* Font style of the title.
|
|
183
194
|
*/
|
|
184
|
-
titleFontStyle?:
|
|
195
|
+
titleFontStyle?: FontStyle;
|
|
185
196
|
|
|
186
197
|
/**
|
|
187
198
|
* Font weight of the title.
|
|
188
199
|
* This can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).
|
|
189
200
|
*/
|
|
190
|
-
titleFontWeight?:
|
|
201
|
+
titleFontWeight?: FontWeight;
|
|
191
202
|
|
|
192
203
|
/**
|
|
193
204
|
* Opacity of the axis title.
|
|
194
205
|
*/
|
|
195
|
-
titleOpacity?:
|
|
206
|
+
titleOpacity?: number;
|
|
196
207
|
|
|
197
208
|
// ---------- Domain ----------
|
|
198
209
|
/**
|
|
@@ -224,14 +235,14 @@ export interface BaseAxis<
|
|
|
224
235
|
*
|
|
225
236
|
* __Default value:__ `"gray"`.
|
|
226
237
|
*/
|
|
227
|
-
domainColor?:
|
|
238
|
+
domainColor?: string;
|
|
228
239
|
|
|
229
240
|
/**
|
|
230
241
|
* Stroke width of axis domain line
|
|
231
242
|
*
|
|
232
243
|
* __Default value:__ `1`
|
|
233
244
|
*/
|
|
234
|
-
domainWidth?:
|
|
245
|
+
domainWidth?: number;
|
|
235
246
|
|
|
236
247
|
// ---------- Ticks ----------
|
|
237
248
|
/**
|
|
@@ -239,7 +250,7 @@ export interface BaseAxis<
|
|
|
239
250
|
*
|
|
240
251
|
* __Default value:__ `true`
|
|
241
252
|
*/
|
|
242
|
-
ticks?:
|
|
253
|
+
ticks?: boolean;
|
|
243
254
|
|
|
244
255
|
/**
|
|
245
256
|
* The stroke cap for the tick lines' ending style. One of `"butt"`, `"round"` or `"square"`.
|
|
@@ -253,7 +264,7 @@ export interface BaseAxis<
|
|
|
253
264
|
*
|
|
254
265
|
* __Default value:__ `"gray"`
|
|
255
266
|
*/
|
|
256
|
-
tickColor?:
|
|
267
|
+
tickColor?: string;
|
|
257
268
|
|
|
258
269
|
/**
|
|
259
270
|
* An array of alternating [stroke, space] lengths for dashed tick mark lines.
|
|
@@ -271,7 +282,7 @@ export interface BaseAxis<
|
|
|
271
282
|
* __Default value:__ `5`
|
|
272
283
|
* @minimum 0
|
|
273
284
|
*/
|
|
274
|
-
tickSize?:
|
|
285
|
+
tickSize?: number;
|
|
275
286
|
|
|
276
287
|
/**
|
|
277
288
|
* The width, in pixels, of ticks.
|
|
@@ -279,7 +290,7 @@ export interface BaseAxis<
|
|
|
279
290
|
* __Default value:__ `1`
|
|
280
291
|
* @minimum 0
|
|
281
292
|
*/
|
|
282
|
-
tickWidth?:
|
|
293
|
+
tickWidth?: number;
|
|
283
294
|
|
|
284
295
|
// ---------- Labels ----------
|
|
285
296
|
/**
|
|
@@ -313,36 +324,36 @@ export interface BaseAxis<
|
|
|
313
324
|
/**
|
|
314
325
|
* The color of the tick label, can be in hex color code or regular color name.
|
|
315
326
|
*/
|
|
316
|
-
labelColor?:
|
|
327
|
+
labelColor?: string;
|
|
317
328
|
|
|
318
329
|
/**
|
|
319
330
|
* The font of the tick label.
|
|
320
331
|
*/
|
|
321
|
-
labelFont?:
|
|
332
|
+
labelFont?: string;
|
|
322
333
|
|
|
323
334
|
/**
|
|
324
335
|
* The font size of the label, in pixels.
|
|
325
336
|
*
|
|
326
337
|
* @minimum 0
|
|
327
338
|
*/
|
|
328
|
-
labelFontSize?:
|
|
339
|
+
labelFontSize?: number;
|
|
329
340
|
|
|
330
341
|
/**
|
|
331
342
|
* Font style of the title.
|
|
332
343
|
*/
|
|
333
|
-
labelFontStyle?:
|
|
344
|
+
labelFontStyle?: FontStyle;
|
|
334
345
|
|
|
335
346
|
/**
|
|
336
347
|
* Font weight of axis tick labels.
|
|
337
348
|
*/
|
|
338
|
-
labelFontWeight?:
|
|
349
|
+
labelFontWeight?: FontWeight;
|
|
339
350
|
|
|
340
351
|
/**
|
|
341
352
|
* Maximum allowed pixel width of axis tick labels.
|
|
342
353
|
*
|
|
343
354
|
* __Default value:__ `180`
|
|
344
355
|
*/
|
|
345
|
-
labelLimit?:
|
|
356
|
+
labelLimit?: number;
|
|
346
357
|
|
|
347
358
|
/**
|
|
348
359
|
* The padding, in pixels, between axis and text labels.
|
|
@@ -268,15 +268,17 @@ export type FieldOrDatumDefWithCondition<
|
|
|
268
268
|
/**
|
|
269
269
|
* @minProperties 1
|
|
270
270
|
*/
|
|
271
|
-
export type ValueDefWithCondition<
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
export type ValueDefWithCondition<
|
|
272
|
+
V extends Value = Value,
|
|
273
|
+
T extends Type = Type,
|
|
274
|
+
> = Partial<ValueDef<V | ExprRef>> & {
|
|
274
275
|
/**
|
|
275
276
|
* A field definition or one or more value definition(s) with a parameter predicate.
|
|
276
277
|
*/
|
|
277
278
|
condition?:
|
|
278
|
-
| Conditional<
|
|
279
|
-
| Conditional<
|
|
279
|
+
| Conditional<MarkPropFieldDef<T>>
|
|
280
|
+
| Conditional<ScaleDatumDef>
|
|
281
|
+
| Conditional<MarkPropExprDef<T>>
|
|
280
282
|
| Conditional<ValueDef<V | ExprRef>>
|
|
281
283
|
| Conditional<ValueDef<V | ExprRef>>[];
|
|
282
284
|
};
|
|
@@ -289,7 +291,7 @@ export type MarkPropFieldOrDatumOrExprDef<T extends Type = Type> =
|
|
|
289
291
|
export type MarkPropDef<V extends Value, T extends Type = Type> =
|
|
290
292
|
| FieldOrDatumDefWithCondition<MarkPropFieldDef<T>, V>
|
|
291
293
|
| FieldOrDatumDefWithCondition<ScaleDatumDef, V>
|
|
292
|
-
| ValueDefWithCondition<V>;
|
|
294
|
+
| ValueDefWithCondition<V, T>;
|
|
293
295
|
|
|
294
296
|
export type ColorDef = MarkPropDef<string | null>;
|
|
295
297
|
|
|
@@ -381,9 +383,13 @@ export type NumericMarkPropDef = MarkPropDef<number>;
|
|
|
381
383
|
|
|
382
384
|
export type ShapeDef = MarkPropDef<string | null, TypeForShape>;
|
|
383
385
|
|
|
384
|
-
export
|
|
386
|
+
export type StringFieldDef = FieldDef<Type> & FormatMixins;
|
|
385
387
|
|
|
386
|
-
export type TextDef =
|
|
388
|
+
export type TextDef =
|
|
389
|
+
| StringFieldDef
|
|
390
|
+
| StringDatumDef
|
|
391
|
+
| ExprDef
|
|
392
|
+
| ValueDef<string>; // TODO: Conditions
|
|
387
393
|
|
|
388
394
|
export type ChannelDef = Exclude<
|
|
389
395
|
Encoding[keyof Encoding],
|
|
@@ -549,5 +555,5 @@ export interface Encoding {
|
|
|
549
555
|
// TODO: proper type
|
|
550
556
|
facetIndex?: FieldDefWithoutScale;
|
|
551
557
|
|
|
552
|
-
semanticScore?: FieldDefWithoutScale
|
|
558
|
+
semanticScore?: FieldDefWithoutScale & Partial<TypeMixins<Type>>;
|
|
553
559
|
}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { Axis, GenomeAxis } from "./axis.js";
|
|
2
|
+
import {
|
|
3
|
+
LinkProps,
|
|
4
|
+
MarkPropsBase,
|
|
5
|
+
PointProps,
|
|
6
|
+
RectProps,
|
|
7
|
+
RuleProps,
|
|
8
|
+
TickProps,
|
|
9
|
+
TextProps,
|
|
10
|
+
} from "./mark.js";
|
|
11
|
+
import { Scale, SchemeParams } from "./scale.js";
|
|
12
|
+
import { Title } from "./title.js";
|
|
13
|
+
import { ViewBackgroundProps } from "./decoration.js";
|
|
14
|
+
|
|
15
|
+
export type BuiltInThemeName =
|
|
16
|
+
| "genomespy"
|
|
17
|
+
| "vegalite"
|
|
18
|
+
| "quartz"
|
|
19
|
+
| "dark"
|
|
20
|
+
| "fivethirtyeight"
|
|
21
|
+
| "urbaninstitute";
|
|
22
|
+
|
|
23
|
+
export type ViewConfig = ViewBackgroundProps;
|
|
24
|
+
|
|
25
|
+
export type MarkConfig = Partial<Omit<MarkPropsBase, "type">>;
|
|
26
|
+
|
|
27
|
+
export type PointConfig = Partial<Omit<PointProps, "type">>;
|
|
28
|
+
|
|
29
|
+
export type RectConfig = Partial<Omit<RectProps, "type">>;
|
|
30
|
+
|
|
31
|
+
export type RuleConfig = Partial<Omit<RuleProps, "type">>;
|
|
32
|
+
|
|
33
|
+
export type TickConfig = Partial<Omit<TickProps, "type">>;
|
|
34
|
+
|
|
35
|
+
export type TextConfig = Partial<Omit<TextProps, "type">>;
|
|
36
|
+
|
|
37
|
+
export type LinkConfig = Partial<Omit<LinkProps, "type">>;
|
|
38
|
+
|
|
39
|
+
export type AxisConfig = Partial<Axis & GenomeAxis>;
|
|
40
|
+
|
|
41
|
+
type ColorSchemeConfig = string | SchemeParams;
|
|
42
|
+
|
|
43
|
+
export interface ScaleConfig extends Partial<Scale> {
|
|
44
|
+
/**
|
|
45
|
+
* Defaults for nominal scales.
|
|
46
|
+
*/
|
|
47
|
+
nominal?: Partial<Scale>;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Defaults for ordinal scales.
|
|
51
|
+
*/
|
|
52
|
+
ordinal?: Partial<Scale>;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Defaults for quantitative scales.
|
|
56
|
+
*/
|
|
57
|
+
quantitative?: Partial<Scale>;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Defaults for GenomeSpy's `index` scales.
|
|
61
|
+
*/
|
|
62
|
+
index?: Partial<Scale>;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Defaults for GenomeSpy's `locus` scales.
|
|
66
|
+
*/
|
|
67
|
+
locus?: Partial<Scale>;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Default color scheme for nominal color scales.
|
|
71
|
+
*/
|
|
72
|
+
nominalColorScheme?: ColorSchemeConfig;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Default color scheme for ordinal color scales.
|
|
76
|
+
*/
|
|
77
|
+
ordinalColorScheme?: ColorSchemeConfig;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Default color scheme for quantitative color scales when no named range
|
|
81
|
+
* such as `"heatmap"` or `"ramp"` applies.
|
|
82
|
+
*/
|
|
83
|
+
quantitativeColorScheme?: ColorSchemeConfig;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export interface RangeConfig {
|
|
87
|
+
/**
|
|
88
|
+
* Named range for `shape` channels.
|
|
89
|
+
*/
|
|
90
|
+
shape?: string[];
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Named range for `size` channels.
|
|
94
|
+
*/
|
|
95
|
+
size?: number[];
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Named range for `angle` channels.
|
|
99
|
+
*/
|
|
100
|
+
angle?: number[];
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Named range for quantitative rect-like color encodings such as heatmaps.
|
|
104
|
+
*/
|
|
105
|
+
heatmap?: ColorSchemeConfig;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Named range for quantitative ramp color encodings.
|
|
109
|
+
*/
|
|
110
|
+
ramp?: ColorSchemeConfig;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Named range for diverging color encodings.
|
|
114
|
+
*/
|
|
115
|
+
diverging?: ColorSchemeConfig;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export type TitleConfig = Partial<Omit<Title, "text">>;
|
|
119
|
+
|
|
120
|
+
type MergeProps<A, B> = {
|
|
121
|
+
[K in keyof A | keyof B]:
|
|
122
|
+
| (K extends keyof A ? A[K] : never)
|
|
123
|
+
| (K extends keyof B ? B[K] : never);
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
type CombinedStyleConfig = MergeProps<
|
|
127
|
+
MergeProps<
|
|
128
|
+
MergeProps<
|
|
129
|
+
MergeProps<
|
|
130
|
+
MergeProps<MergeProps<MarkConfig, PointConfig>, RectConfig>,
|
|
131
|
+
RuleConfig
|
|
132
|
+
>,
|
|
133
|
+
TickConfig
|
|
134
|
+
>,
|
|
135
|
+
TextConfig
|
|
136
|
+
>,
|
|
137
|
+
MergeProps<MergeProps<LinkConfig, AxisConfig>, TitleConfig>
|
|
138
|
+
>;
|
|
139
|
+
|
|
140
|
+
export type StyleConfig = Partial<CombinedStyleConfig>;
|
|
141
|
+
|
|
142
|
+
export interface GenomeSpyConfig {
|
|
143
|
+
/**
|
|
144
|
+
* Defaults for view background styling, including fill, stroke, shadow,
|
|
145
|
+
* and z-order properties.
|
|
146
|
+
*/
|
|
147
|
+
view?: ViewConfig;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Defaults shared by all mark types.
|
|
151
|
+
*/
|
|
152
|
+
mark?: MarkConfig;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Defaults for point marks.
|
|
156
|
+
*/
|
|
157
|
+
point?: PointConfig;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Defaults for rect marks.
|
|
161
|
+
*/
|
|
162
|
+
rect?: RectConfig;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Defaults for rule marks.
|
|
166
|
+
*/
|
|
167
|
+
rule?: RuleConfig;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Defaults for tick marks.
|
|
171
|
+
*/
|
|
172
|
+
tick?: TickConfig;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Defaults for text marks.
|
|
176
|
+
*/
|
|
177
|
+
text?: TextConfig;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Defaults for link marks.
|
|
181
|
+
*/
|
|
182
|
+
link?: LinkConfig;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Defaults shared by all axes.
|
|
186
|
+
*/
|
|
187
|
+
axis?: AxisConfig;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Defaults for x axes.
|
|
191
|
+
*/
|
|
192
|
+
axisX?: AxisConfig;
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Defaults for y axes.
|
|
196
|
+
*/
|
|
197
|
+
axisY?: AxisConfig;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Defaults for top-oriented axes.
|
|
201
|
+
*/
|
|
202
|
+
axisTop?: AxisConfig;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Defaults for bottom-oriented axes.
|
|
206
|
+
*/
|
|
207
|
+
axisBottom?: AxisConfig;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Defaults for left-oriented axes.
|
|
211
|
+
*/
|
|
212
|
+
axisLeft?: AxisConfig;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Defaults for right-oriented axes.
|
|
216
|
+
*/
|
|
217
|
+
axisRight?: AxisConfig;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Defaults for axes that visualize nominal data.
|
|
221
|
+
*/
|
|
222
|
+
axisNominal?: AxisConfig;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Defaults for axes that visualize ordinal data.
|
|
226
|
+
*/
|
|
227
|
+
axisOrdinal?: AxisConfig;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Defaults for axes that visualize quantitative data.
|
|
231
|
+
*/
|
|
232
|
+
axisQuantitative?: AxisConfig;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Defaults for axes that visualize GenomeSpy `index` scales.
|
|
236
|
+
*/
|
|
237
|
+
axisIndex?: AxisConfig;
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Defaults for axes that visualize GenomeSpy `locus` scales.
|
|
241
|
+
*/
|
|
242
|
+
axisLocus?: AxisConfig;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Defaults for scale behavior and scale-type-specific buckets.
|
|
246
|
+
*/
|
|
247
|
+
scale?: ScaleConfig;
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Named reusable ranges for channels such as `shape`, `size`, and color.
|
|
251
|
+
*/
|
|
252
|
+
range?: RangeConfig;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Defaults for view titles.
|
|
256
|
+
*/
|
|
257
|
+
title?: TitleConfig;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Named reusable style buckets that marks, axes, titles, and views can
|
|
261
|
+
* reference through their `style` properties.
|
|
262
|
+
*/
|
|
263
|
+
style?: Record<string, StyleConfig>;
|
|
264
|
+
}
|
package/dist/src/spec/data.d.ts
CHANGED
|
@@ -250,6 +250,13 @@ export interface DebouncedData {
|
|
|
250
250
|
*/
|
|
251
251
|
debounce?: number | ExprRef;
|
|
252
252
|
|
|
253
|
+
/**
|
|
254
|
+
* Debounce time for scale-domain driven data updates, in milliseconds.
|
|
255
|
+
*
|
|
256
|
+
* __Default value:__ `200`
|
|
257
|
+
*/
|
|
258
|
+
debounceDomainChange?: number | ExprRef;
|
|
259
|
+
|
|
253
260
|
/**
|
|
254
261
|
* The debounce mode for data updates. If set to `"domain"`, domain change
|
|
255
262
|
* events (panning and zooming) will be debounced. If set to `"window"`,
|