@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
package/dist/src/spec/view.d.ts
CHANGED
|
@@ -6,17 +6,12 @@ import {
|
|
|
6
6
|
FacetFieldDef,
|
|
7
7
|
PrimaryPositionalChannel,
|
|
8
8
|
} from "./channel.js";
|
|
9
|
-
import {
|
|
10
|
-
FillAndStrokeProps,
|
|
11
|
-
MarkProps,
|
|
12
|
-
MarkType,
|
|
13
|
-
RectProps,
|
|
14
|
-
RuleProps,
|
|
15
|
-
ShadowProps,
|
|
16
|
-
} from "./mark.js";
|
|
9
|
+
import { MarkProps, MarkType, RuleProps } from "./mark.js";
|
|
17
10
|
import { ExprRef } from "./parameter.js";
|
|
18
11
|
import { Title } from "./title.js";
|
|
19
12
|
import { Parameter } from "./parameter.js";
|
|
13
|
+
import { GenomeSpyConfig } from "./config.js";
|
|
14
|
+
import { ViewBackgroundProps, ZIndexProps } from "./decoration.js";
|
|
20
15
|
|
|
21
16
|
export interface SizeDef {
|
|
22
17
|
/**
|
|
@@ -84,22 +79,50 @@ export type Paddings = Partial<Record<Side, number>>;
|
|
|
84
79
|
|
|
85
80
|
export type PaddingConfig = Paddings | number;
|
|
86
81
|
|
|
87
|
-
interface
|
|
88
|
-
|
|
82
|
+
export interface ViewBackground extends ViewBackgroundProps {
|
|
83
|
+
/**
|
|
84
|
+
* Named style reference(s) resolved from `config.style`.
|
|
85
|
+
* If an array is provided, later styles override earlier ones.
|
|
86
|
+
*
|
|
87
|
+
* __Default value:__ `"cell"`
|
|
88
|
+
*/
|
|
89
|
+
style?: string | string[];
|
|
89
90
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Z-order of the background fill relative to the view content.
|
|
93
|
+
*
|
|
94
|
+
* Values greater than `0` render after the view marks. Values less than or
|
|
95
|
+
* equal to `0` render before the marks.
|
|
96
|
+
*
|
|
97
|
+
* __Default value:__ `0`
|
|
98
|
+
*/
|
|
99
|
+
zindex?: number;
|
|
93
100
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
/**
|
|
102
|
+
* Z-order of the background stroke relative to the view content.
|
|
103
|
+
*
|
|
104
|
+
* Values greater than `0` render after the view marks. Values less than or
|
|
105
|
+
* equal to `0` render before the marks.
|
|
106
|
+
*
|
|
107
|
+
* __Default value:__ `0`, or `10` when the view content is clipped or
|
|
108
|
+
* scrollable.
|
|
109
|
+
*/
|
|
110
|
+
strokeZindex?: number;
|
|
111
|
+
}
|
|
99
112
|
|
|
100
|
-
export interface SeparatorProps extends Omit<RuleProps, "type"
|
|
113
|
+
export interface SeparatorProps extends Omit<RuleProps, "type">, ZIndexProps {
|
|
101
114
|
type?: "rule";
|
|
102
115
|
|
|
116
|
+
/**
|
|
117
|
+
* Z-order of the separator relative to the view content.
|
|
118
|
+
*
|
|
119
|
+
* Values greater than `0` render after the view marks. Values less than or
|
|
120
|
+
* equal to `0` render before the marks.
|
|
121
|
+
*
|
|
122
|
+
* __Default value:__ `0`
|
|
123
|
+
*/
|
|
124
|
+
zindex?: number;
|
|
125
|
+
|
|
103
126
|
/**
|
|
104
127
|
* Whether separators extend into the plot margin (axes/padding) around
|
|
105
128
|
* the grid.
|
|
@@ -118,6 +141,15 @@ export interface ViewSpecBase extends ResolveSpec {
|
|
|
118
141
|
*/
|
|
119
142
|
name?: string;
|
|
120
143
|
|
|
144
|
+
/**
|
|
145
|
+
* Mouse cursor shown while the pointer is inside the view.
|
|
146
|
+
* The deepest matching cursor wins: mark cursor first, then the pointed
|
|
147
|
+
* view, then ancestor views outward toward the root.
|
|
148
|
+
*
|
|
149
|
+
* __Default value:__ browser default
|
|
150
|
+
*/
|
|
151
|
+
cursor?: string | ExprRef;
|
|
152
|
+
|
|
121
153
|
/**
|
|
122
154
|
* Height of the view. If a number, it is interpreted as pixels.
|
|
123
155
|
* Check [child sizing](https://genomespy.app/docs/grammar/composition/concat/#child-sizing)
|
|
@@ -172,6 +204,13 @@ export interface ViewSpecBase extends ResolveSpec {
|
|
|
172
204
|
*/
|
|
173
205
|
params?: Parameter[];
|
|
174
206
|
|
|
207
|
+
/**
|
|
208
|
+
* Configures defaults for this view subtree.
|
|
209
|
+
*
|
|
210
|
+
* Properties in child views override properties inherited from ancestors.
|
|
211
|
+
*/
|
|
212
|
+
config?: GenomeSpyConfig;
|
|
213
|
+
|
|
175
214
|
/**
|
|
176
215
|
* Specifies a [data source](https://genomespy.app/docs/grammar/data/).
|
|
177
216
|
* If omitted, the data source is inherited from the parent view.
|
|
@@ -433,6 +472,15 @@ export interface ImportSpec {
|
|
|
433
472
|
*/
|
|
434
473
|
visible?: boolean;
|
|
435
474
|
|
|
475
|
+
/**
|
|
476
|
+
* Configures defaults for the imported subtree at the import site.
|
|
477
|
+
*
|
|
478
|
+
* This config is merged before the imported spec's own root-level `config`,
|
|
479
|
+
* so imported specs can remain self-contained and override import-site
|
|
480
|
+
* defaults where needed.
|
|
481
|
+
*/
|
|
482
|
+
config?: GenomeSpyConfig;
|
|
483
|
+
|
|
436
484
|
/**
|
|
437
485
|
* The method to import a specification.
|
|
438
486
|
*/
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
@scope {
|
|
2
|
+
:scope {
|
|
3
|
+
--genome-spy-basic-spacing: 10px;
|
|
4
|
+
--genome-spy-font-family:
|
|
5
|
+
system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
|
6
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
font-family: var(--genome-spy-font-family);
|
|
8
|
+
font-family: var(--genome-spy-font-family);
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
position: relative;
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
}
|
|
15
15
|
|
|
16
16
|
.canvas-wrapper {
|
|
17
17
|
position: relative;
|
|
@@ -190,6 +190,50 @@
|
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
+
.gs-input-binding {
|
|
194
|
+
display: grid;
|
|
195
|
+
grid-template-columns: max-content max-content;
|
|
196
|
+
column-gap: 1em;
|
|
197
|
+
row-gap: 0.3em;
|
|
198
|
+
justify-items: start;
|
|
199
|
+
|
|
200
|
+
> select,
|
|
201
|
+
> input:not([type="checkbox"]) {
|
|
202
|
+
width: 100%;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
input[type="range"] + span {
|
|
206
|
+
display: inline-block;
|
|
207
|
+
margin-left: 0.3em;
|
|
208
|
+
min-width: 2.2em;
|
|
209
|
+
font-variant-numeric: tabular-nums;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
input[type="range"],
|
|
213
|
+
input[type="radio"] {
|
|
214
|
+
vertical-align: text-bottom;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.radio-group {
|
|
218
|
+
display: flex;
|
|
219
|
+
align-items: center;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.description {
|
|
223
|
+
max-width: 26em;
|
|
224
|
+
grid-column: 1 / -1;
|
|
225
|
+
color: #777;
|
|
226
|
+
font-size: 90%;
|
|
227
|
+
margin-top: -0.5em;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.gs-input-bindings {
|
|
232
|
+
flex-basis: content;
|
|
233
|
+
font-size: 14px;
|
|
234
|
+
padding: var(--genome-spy-basic-spacing);
|
|
235
|
+
}
|
|
236
|
+
|
|
193
237
|
.message-box {
|
|
194
238
|
display: flex;
|
|
195
239
|
align-items: center;
|
|
@@ -206,47 +250,3 @@
|
|
|
206
250
|
}
|
|
207
251
|
}
|
|
208
252
|
}
|
|
209
|
-
|
|
210
|
-
.gs-input-binding {
|
|
211
|
-
display: grid;
|
|
212
|
-
grid-template-columns: max-content max-content;
|
|
213
|
-
column-gap: 1em;
|
|
214
|
-
row-gap: 0.3em;
|
|
215
|
-
justify-items: start;
|
|
216
|
-
|
|
217
|
-
> select,
|
|
218
|
-
> input:not([type="checkbox"]) {
|
|
219
|
-
width: 100%;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
input[type="range"] + span {
|
|
223
|
-
display: inline-block;
|
|
224
|
-
margin-left: 0.3em;
|
|
225
|
-
min-width: 2.2em;
|
|
226
|
-
font-variant-numeric: tabular-nums;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
input[type="range"],
|
|
230
|
-
input[type="radio"] {
|
|
231
|
-
vertical-align: text-bottom;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
.radio-group {
|
|
235
|
-
display: flex;
|
|
236
|
-
align-items: center;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
.description {
|
|
240
|
-
max-width: 26em;
|
|
241
|
-
grid-column: 1 / -1;
|
|
242
|
-
color: #777;
|
|
243
|
-
font-size: 90%;
|
|
244
|
-
margin-top: -0.5em;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
.gs-input-bindings {
|
|
249
|
-
flex-basis: content;
|
|
250
|
-
font-size: 14px;
|
|
251
|
-
padding: var(--genome-spy-basic-spacing);
|
|
252
|
-
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export default css;
|
|
2
|
-
declare const css: "\n:
|
|
2
|
+
declare const css: "\n@scope {\n:scope {\n--genome-spy-basic-spacing: 10px;\n--genome-spy-font-family:\nsystem-ui, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif,\n\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n\nfont-family: var(--genome-spy-font-family);\n\nposition: relative;\n\ndisplay: flex;\nflex-direction: column;\n}\n\n.canvas-wrapper {\nposition: relative;\nflex-grow: 1;\noverflow: hidden;\n}\n\ncanvas {\ndisplay: block;\ntouch-action: none;\ntransform: scale(1, 1);\nopacity: 1;\ntransition:\ntransform 0.6s,\nopacity 0.6s;\n\n&:focus,\n&:focus-visible {\noutline: none;\n}\n}\n\n.loading {\n> canvas {\ntransform: scale(0.95, 0.95);\nopacity: 0;\n}\n}\n\n.loading-indicators {\nposition: absolute;\ninset: 0;\n\nuser-select: none;\npointer-events: none;\n\ndiv {\nposition: absolute;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\n\n> div {\nfont-size: 11px;\ntransition: opacity 0.2s;\nbackground: white;\npadding: 2px 5px;\ndisplay: flex;\nborder-radius: 3px;\ngap: 0.5em;\nopacity: 0;\n\n&.loading {\nopacity: 0.5;\n}\n\n&.error {\nopacity: 0.8;\ncolor: firebrick;\n}\n\n> * {\ndisplay: block;\n}\n\nimg {\nwidth: 1.5em;\nheight: 1.5em;\n}\n}\n}\n}\n\n.tooltip {\nposition: absolute;\n\nmax-width: 450px;\noverflow: hidden;\n\n--background-color: #f6f6f6;\nbackground: var(--background-color);\npadding: var(--genome-spy-basic-spacing);\n\n--font-size: 12px;\nfont-size: var(--font-size);\n\nbox-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.21);\n\n&:not(.sticky) {\npointer-events: none;\n}\n\ntransition:\noutline-color 0.3s ease-in-out,\nbox-shadow 0.3s ease-in-out;\n\noutline: 0px solid transparent;\n&.sticky {\noutline: 2px solid black;\nbox-shadow: 0px 3px 18px 0px rgba(0, 0, 0, 0.3);\n}\n\nz-index: 100;\n\n> :last-child {\nmargin-bottom: 0;\n}\n\n> .title {\npadding-bottom: calc(var(--genome-spy-basic-spacing) / 2);\nmargin-bottom: calc(var(--genome-spy-basic-spacing) / 2);\nborder-bottom: 1px dashed var(--background-color);\nborder-bottom: 1px dashed\ncolor-mix(in srgb, black 25%, var(--background-color));\n}\n\n.summary {\nfont-size: 12px;\n}\n\ntable {\n&:first-child {\nmargin-top: 0;\n}\n\nborder-collapse: collapse;\n\nth,\ntd {\npadding: 2px 0.4em;\nvertical-align: top;\nfont-size: var(--font-size);\n\n&:first-child {\npadding-left: 0;\n}\n}\n\nth {\ntext-align: left;\nfont-weight: bold;\n}\n}\n\n.color-legend {\ndisplay: inline-block;\nwidth: 0.8em;\nheight: 0.8em;\nmargin-left: 0.4em;\nbox-shadow: 0px 0px 3px 1px white;\n}\n\n.color-legend-unmapped {\nbackground-color: transparent;\nborder: 1px solid black;\nbox-sizing: border-box;\nbox-shadow: none;\n}\n\n.attributes {\n.hovered {\nbackground-color: #e0e0e0;\n}\n}\n\n.na {\ncolor: #aaa;\nfont-style: italic;\nfont-size: 80%;\n}\n}\n\n.gene-track-tooltip {\n.summary {\nfont-size: 90%;\n}\n}\n\n.gs-input-binding {\ndisplay: grid;\ngrid-template-columns: max-content max-content;\ncolumn-gap: 1em;\nrow-gap: 0.3em;\njustify-items: start;\n\n> select,\n> input:not([type=\"checkbox\"]) {\nwidth: 100%;\n}\n\ninput[type=\"range\"] + span {\ndisplay: inline-block;\nmargin-left: 0.3em;\nmin-width: 2.2em;\nfont-variant-numeric: tabular-nums;\n}\n\ninput[type=\"range\"],\ninput[type=\"radio\"] {\nvertical-align: text-bottom;\n}\n\n.radio-group {\ndisplay: flex;\nalign-items: center;\n}\n\n.description {\nmax-width: 26em;\ngrid-column: 1 / -1;\ncolor: #777;\nfont-size: 90%;\nmargin-top: -0.5em;\n}\n}\n\n.gs-input-bindings {\nflex-basis: content;\nfont-size: 14px;\npadding: var(--genome-spy-basic-spacing);\n}\n\n.message-box {\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nposition: absolute;\ntop: 0;\nheight: 100%;\nwidth: 100%;\n\n> div {\nborder: 1px solid red;\npadding: 10px;\nbackground: #fff0f0;\n}\n}\n}\n";
|
|
3
3
|
//# sourceMappingURL=genome-spy.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genome-spy.css.d.ts","sourceRoot":"","sources":["../../../src/styles/genome-spy.css.js"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"genome-spy.css.d.ts","sourceRoot":"","sources":["../../../src/styles/genome-spy.css.js"],"names":[],"mappings":";AAAA,isHA6PE"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
const css = `
|
|
2
|
-
|
|
2
|
+
@scope {
|
|
3
|
+
:scope {
|
|
3
4
|
--genome-spy-basic-spacing: 10px;
|
|
4
|
-
--genome-spy-font-family:
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
--genome-spy-font-family:
|
|
6
|
+
system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
|
7
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
7
8
|
|
|
8
|
-
.genome-spy {
|
|
9
9
|
font-family: var(--genome-spy-font-family);
|
|
10
10
|
|
|
11
11
|
position: relative;
|
|
12
12
|
|
|
13
13
|
display: flex;
|
|
14
14
|
flex-direction: column;
|
|
15
|
+
}
|
|
15
16
|
|
|
16
17
|
.canvas-wrapper {
|
|
17
18
|
position: relative;
|
|
@@ -190,23 +191,6 @@ font-size: 90%;
|
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
193
|
|
|
193
|
-
.message-box {
|
|
194
|
-
display: flex;
|
|
195
|
-
align-items: center;
|
|
196
|
-
justify-content: center;
|
|
197
|
-
position: absolute;
|
|
198
|
-
top: 0;
|
|
199
|
-
height: 100%;
|
|
200
|
-
width: 100%;
|
|
201
|
-
|
|
202
|
-
> div {
|
|
203
|
-
border: 1px solid red;
|
|
204
|
-
padding: 10px;
|
|
205
|
-
background: #fff0f0;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
194
|
.gs-input-binding {
|
|
211
195
|
display: grid;
|
|
212
196
|
grid-template-columns: max-content max-content;
|
|
@@ -250,5 +234,22 @@ flex-basis: content;
|
|
|
250
234
|
font-size: 14px;
|
|
251
235
|
padding: var(--genome-spy-basic-spacing);
|
|
252
236
|
}
|
|
237
|
+
|
|
238
|
+
.message-box {
|
|
239
|
+
display: flex;
|
|
240
|
+
align-items: center;
|
|
241
|
+
justify-content: center;
|
|
242
|
+
position: absolute;
|
|
243
|
+
top: 0;
|
|
244
|
+
height: 100%;
|
|
245
|
+
width: 100%;
|
|
246
|
+
|
|
247
|
+
> div {
|
|
248
|
+
border: 1px solid red;
|
|
249
|
+
padding: 10px;
|
|
250
|
+
background: #fff0f0;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
253
254
|
`;
|
|
254
255
|
export default css;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testSetup.d.ts","sourceRoot":"","sources":["../../src/testSetup.js"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { html } from "lit";
|
|
2
2
|
import { splitAccessPath } from "vega-util";
|
|
3
|
+
import { getEncoderDataAccessor } from "../encoder/encoder.js";
|
|
3
4
|
import formatObject from "../utils/formatObject.js";
|
|
4
5
|
import { flattenDatumRows } from "./flattenDatumRows.js";
|
|
5
6
|
import createTooltipContext from "./tooltipContext.js";
|
|
@@ -35,7 +36,9 @@ export default async function dataTooltipHandler(datum, mark, params, context) {
|
|
|
35
36
|
*/
|
|
36
37
|
const legend = (key, value, datum) => {
|
|
37
38
|
for (const [channel, encoder] of Object.entries(mark.encoders)) {
|
|
38
|
-
const fields = encoder
|
|
39
|
+
const fields = encoder
|
|
40
|
+
? getEncoderDataAccessor(encoder)?.fields
|
|
41
|
+
: undefined;
|
|
39
42
|
if (
|
|
40
43
|
fields &&
|
|
41
44
|
fields.some(
|
|
@@ -88,7 +91,10 @@ export default async function dataTooltipHandler(datum, mark, params, context) {
|
|
|
88
91
|
const genomicRows = tooltipContext.genomicRows ?? [];
|
|
89
92
|
const hiddenRowKeys = new Set(tooltipContext.hiddenRowKeys ?? []);
|
|
90
93
|
|
|
91
|
-
const visibleRawRows = rawRows.filter(
|
|
94
|
+
const visibleRawRows = rawRows.filter(
|
|
95
|
+
(row) =>
|
|
96
|
+
!hiddenRowKeys.has(row.key) || legend(row.key, row.value, datum)
|
|
97
|
+
);
|
|
92
98
|
const orderedRows = [...genomicRows, ...visibleRawRows];
|
|
93
99
|
if (!orderedRows.length) {
|
|
94
100
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltipContext.d.ts","sourceRoot":"","sources":["../../../src/tooltip/tooltipContext.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tooltipContext.d.ts","sourceRoot":"","sources":["../../../src/tooltip/tooltipContext.js"],"names":[],"mappings":"AA4BA;;;;;;;GAOG;AACH,oDALW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QACnB,OAAO,kBAAkB,EAAE,OAAO,WAClC,OAAO,qBAAqB,EAAE,oBAAoB,GAChD,cAAc,CAgE1B;6BAjGY,OAAO,qBAAqB,EAAE,cAAc;wCAC5C,OAAO,qBAAqB,EAAE,yBAAyB;yBACvD,OAAO,qBAAqB,EAAE,UAAU"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { asArray } from "../utils/arrayUtils.js";
|
|
8
|
+
import { getEncoderDataAccessor } from "../encoder/encoder.js";
|
|
8
9
|
import { flattenDatumRows } from "./flattenDatumRows.js";
|
|
9
10
|
|
|
10
11
|
/** @type {Record<"x" | "y", "x2" | "y2">} */
|
|
@@ -366,7 +367,7 @@ function readLocusCoordinate(mark, channel, datum) {
|
|
|
366
367
|
return;
|
|
367
368
|
}
|
|
368
369
|
|
|
369
|
-
const accessor = encoder
|
|
370
|
+
const accessor = getEncoderDataAccessor(encoder);
|
|
370
371
|
if (!accessor) {
|
|
371
372
|
return;
|
|
372
373
|
}
|
|
@@ -535,7 +536,7 @@ function verifyLinearizationMapping(datum, linearizedField, mapping, mark) {
|
|
|
535
536
|
let expected;
|
|
536
537
|
try {
|
|
537
538
|
expected = genome.toContinuous(chrom, numericPos - mapping.offset);
|
|
538
|
-
} catch
|
|
539
|
+
} catch {
|
|
539
540
|
return false;
|
|
540
541
|
}
|
|
541
542
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ScaleResolutionApi } from "./scaleResolutionApi.js";
|
|
2
2
|
import { TooltipHandler } from "../tooltip/tooltipHandler.js";
|
|
3
3
|
import { RootSpec } from "../spec/root.js";
|
|
4
|
+
import { GenomeSpyConfig } from "../spec/config.js";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Embeds GenomeSpy into the DOM
|
|
@@ -41,6 +42,12 @@ export interface EmbedOptions {
|
|
|
41
42
|
*/
|
|
42
43
|
powerPreference?: "default" | "high-performance" | "low-power";
|
|
43
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Optional theme configuration object that is merged after the internal
|
|
47
|
+
* defaults and built-in theme, but before `spec.config`.
|
|
48
|
+
*/
|
|
49
|
+
theme?: GenomeSpyConfig;
|
|
50
|
+
|
|
44
51
|
/**
|
|
45
52
|
* Optional hook for handling launch errors. Return true to suppress default UI.
|
|
46
53
|
*/
|
|
@@ -25,7 +25,6 @@ import { ScaleLocus } from "../genome/scaleLocus.js";
|
|
|
25
25
|
import { ScaleIndex } from "../genome/scaleIndex.js";
|
|
26
26
|
import { Scalar } from "../spec/channel.js";
|
|
27
27
|
import { Datum } from "../data/flowNode.js";
|
|
28
|
-
import { ExprRefFunction } from "../paramRuntime/types.js";
|
|
29
28
|
|
|
30
29
|
export interface Accessor<T = Scalar> {
|
|
31
30
|
(datum: Datum): T;
|
|
@@ -86,11 +85,6 @@ export interface Accessor<T = Scalar> {
|
|
|
86
85
|
* Format: <type>|<domainKeyBase>
|
|
87
86
|
*/
|
|
88
87
|
domainKey?: string;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* This accessor should be used when the predicate is true
|
|
92
|
-
*/
|
|
93
|
-
predicate: Predicate;
|
|
94
88
|
}
|
|
95
89
|
|
|
96
90
|
export interface ScaleAccessor<T = Scalar> extends Accessor<T> {
|
|
@@ -99,7 +93,9 @@ export interface ScaleAccessor<T = Scalar> extends Accessor<T> {
|
|
|
99
93
|
domainKeyBase: string;
|
|
100
94
|
}
|
|
101
95
|
|
|
102
|
-
export interface Predicate
|
|
96
|
+
export interface Predicate {
|
|
97
|
+
(datum: Datum): boolean;
|
|
98
|
+
|
|
103
99
|
/**
|
|
104
100
|
* The parameter the predicate is based on
|
|
105
101
|
*/
|
|
@@ -113,6 +109,18 @@ export interface Predicate extends ExprRefFunction {
|
|
|
113
109
|
empty?: boolean;
|
|
114
110
|
}
|
|
115
111
|
|
|
112
|
+
export interface EncodingBranch {
|
|
113
|
+
/**
|
|
114
|
+
* The accessor used by this branch.
|
|
115
|
+
*/
|
|
116
|
+
accessor: Accessor;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Predicate controlling whether this branch is active.
|
|
120
|
+
*/
|
|
121
|
+
predicate: Predicate;
|
|
122
|
+
}
|
|
123
|
+
|
|
116
124
|
/**
|
|
117
125
|
* Wraps one or more accessors, uses an optional scale to encode the data.
|
|
118
126
|
*/
|
|
@@ -134,15 +142,9 @@ export interface Encoder {
|
|
|
134
142
|
scale?: VegaScale;
|
|
135
143
|
|
|
136
144
|
/**
|
|
137
|
-
*
|
|
138
|
-
*/
|
|
139
|
-
accessors: Accessor[];
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* The encoded channel may have a maximum of one accessor accessing the
|
|
143
|
-
* data fields. It's this one.
|
|
145
|
+
* Ordered branches of this encoder. The last branch is the fallback branch.
|
|
144
146
|
*/
|
|
145
|
-
|
|
147
|
+
branches: EncodingBranch[];
|
|
146
148
|
|
|
147
149
|
/**
|
|
148
150
|
* The ChannelDef that the encoder is based on
|
|
@@ -29,12 +29,32 @@ export interface ScaleResolutionApi {
|
|
|
29
29
|
*/
|
|
30
30
|
getDomain(): any[];
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Returns true if the domain has been provided explicitly in the spec.
|
|
34
|
+
*/
|
|
35
|
+
isDomainDefinedExplicitly(): boolean;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Returns true when the scale domain has moved beyond the placeholder startup state.
|
|
39
|
+
*/
|
|
40
|
+
isDomainInitialized(): boolean;
|
|
41
|
+
|
|
32
42
|
/**
|
|
33
43
|
* Returns the current, possible zoomed domain converted into complex objects
|
|
34
44
|
* such as genomic coordinates.
|
|
35
45
|
*/
|
|
36
46
|
getComplexDomain(): NumericDomain | ComplexDomain;
|
|
37
47
|
|
|
48
|
+
getLinkedSelectionDomainInfo():
|
|
49
|
+
| {
|
|
50
|
+
param: string;
|
|
51
|
+
encoding: "x" | "y";
|
|
52
|
+
persist: boolean;
|
|
53
|
+
}
|
|
54
|
+
| undefined;
|
|
55
|
+
|
|
56
|
+
isZoomed(): boolean;
|
|
57
|
+
|
|
38
58
|
isZoomable(): boolean;
|
|
39
59
|
|
|
40
60
|
zoomTo(
|
|
@@ -18,6 +18,10 @@ export interface Hover {
|
|
|
18
18
|
|
|
19
19
|
export type DataLoadingStatus = "loading" | "complete" | "error";
|
|
20
20
|
|
|
21
|
+
export interface CreateViewOptions {
|
|
22
|
+
layoutSizeParams?: "own" | "inherit";
|
|
23
|
+
}
|
|
24
|
+
|
|
21
25
|
/**
|
|
22
26
|
* ViewContext provides essential data and interfaces to View classes.
|
|
23
27
|
*/
|
|
@@ -37,6 +41,18 @@ export default interface ViewContext {
|
|
|
37
41
|
|
|
38
42
|
getCurrentHover: () => Hover;
|
|
39
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Internal interaction hook: suspends hover recomputation during active
|
|
46
|
+
* drag interactions.
|
|
47
|
+
*/
|
|
48
|
+
suspendHoverTracking: () => void;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Internal interaction hook: resumes hover recomputation after an active
|
|
52
|
+
* drag interaction.
|
|
53
|
+
*/
|
|
54
|
+
resumeHoverTracking: (event?: MouseEvent) => void;
|
|
55
|
+
|
|
40
56
|
/**
|
|
41
57
|
* Adds a keyboard event listener to the document. Cleanup is performed automatically
|
|
42
58
|
* when GenomeSpy is finalized.
|
|
@@ -82,6 +98,11 @@ export default interface ViewContext {
|
|
|
82
98
|
|
|
83
99
|
isViewSpec: (spec: any) => boolean;
|
|
84
100
|
|
|
101
|
+
/**
|
|
102
|
+
* Returns the base config scope used for root-level resolution.
|
|
103
|
+
*/
|
|
104
|
+
getBaseConfig: () => GenomeSpyConfig;
|
|
105
|
+
|
|
85
106
|
/**
|
|
86
107
|
*
|
|
87
108
|
* @param spec
|
|
@@ -100,6 +121,7 @@ export default interface ViewContext {
|
|
|
100
121
|
* Validates whether the imported spec is acceptable for the importer.
|
|
101
122
|
* The function should throw an Error if the view is not acceptable.
|
|
102
123
|
*/
|
|
103
|
-
validator?: (spec: ViewSpec) => void
|
|
124
|
+
validator?: (spec: ViewSpec) => void,
|
|
125
|
+
options?: CreateViewOptions
|
|
104
126
|
) => Promise<View>;
|
|
105
127
|
}
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
export default function createFunction(expr: string, globalObject?: {}): ExpressionFunction;
|
|
13
13
|
/**
|
|
14
14
|
* @param {string} expr
|
|
15
|
-
* @returns {(event: UIEvent) => boolean}
|
|
15
|
+
* @returns {(event: UIEvent | import("./interactionEvent.js").WheelLikeEvent) => boolean}
|
|
16
16
|
*/
|
|
17
|
-
export function createEventFilterFunction(expr: string): (event: UIEvent) => boolean;
|
|
17
|
+
export function createEventFilterFunction(expr: string): (event: UIEvent | import("./interactionEvent.js").WheelLikeEvent) => boolean;
|
|
18
18
|
export type ExpressionProps = {
|
|
19
19
|
fields: string[];
|
|
20
20
|
globals: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/utils/expression.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/utils/expression.js"],"names":[],"mappings":"AA4HA;;;;;;;;;;GAUG;AACH,6CAHW,MAAM,sBACJ,kBAAkB,CAiC9B;AAQD;;;GAGG;AACH,gDAHW,MAAM,GACJ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,uBAAuB,EAAE,cAAc,KAAK,OAAO,CA4BxF;;YA9EU,MAAM,EAAE;aACR,MAAM,EAAE;UACR,MAAM;;iCAEH,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,qBAAqB,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,eAAe"}
|