@genome-spy/core 0.73.0 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +21266 -25938
- package/dist/bundle/index.js +367 -383
- package/dist/bundle/parquetRead-DG_-F5j5.js +1609 -0
- package/dist/schema.json +13421 -7210
- 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/dataUtils.d.ts +25 -0
- package/dist/src/data/sources/dataUtils.d.ts.map +1 -1
- package/dist/src/data/sources/dataUtils.js +23 -0
- package/dist/src/data/sources/inlineSource.js +2 -2
- 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 +13 -5
- 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 +31 -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 +292 -59
- 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 +12 -14
- package/dist/src/gl/dataToVertices.d.ts.map +1 -1
- package/dist/src/gl/dataToVertices.js +121 -95
- package/dist/src/gl/glslScaleGenerator.d.ts +5 -2
- package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
- package/dist/src/gl/glslScaleGenerator.js +15 -15
- package/dist/src/gl/vertexRangeIndex.d.ts +23 -0
- package/dist/src/gl/vertexRangeIndex.d.ts.map +1 -0
- package/dist/src/gl/vertexRangeIndex.js +150 -0
- 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/expressionCompiler.d.ts +2 -1
- package/dist/src/paramRuntime/expressionCompiler.d.ts.map +1 -1
- package/dist/src/paramRuntime/expressionCompiler.js +3 -2
- package/dist/src/paramRuntime/expressionRef.d.ts +4 -1
- package/dist/src/paramRuntime/expressionRef.d.ts.map +1 -1
- package/dist/src/paramRuntime/expressionRef.js +10 -3
- package/dist/src/paramRuntime/graphRuntime.d.ts.map +1 -1
- package/dist/src/paramRuntime/graphRuntime.js +15 -6
- package/dist/src/paramRuntime/paramRuntime.d.ts +8 -2
- package/dist/src/paramRuntime/paramRuntime.d.ts.map +1 -1
- package/dist/src/paramRuntime/paramRuntime.js +10 -5
- package/dist/src/paramRuntime/types.d.ts +1 -0
- package/dist/src/paramRuntime/types.d.ts.map +1 -1
- package/dist/src/paramRuntime/types.js +1 -0
- package/dist/src/paramRuntime/viewParamRuntime.d.ts +24 -4
- package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -1
- package/dist/src/paramRuntime/viewParamRuntime.js +52 -6
- package/dist/src/scale/scale.d.ts.map +1 -1
- package/dist/src/scale/scale.js +14 -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 +82 -16
- package/dist/src/scales/domainPlanner.d.ts.map +1 -1
- package/dist/src/scales/domainPlanner.js +364 -131
- 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/scaleInstanceManager.d.ts.map +1 -1
- package/dist/src/scales/scaleInstanceManager.js +7 -2
- 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 +5 -3
- package/dist/src/scales/scalePropsResolver.d.ts.map +1 -1
- package/dist/src/scales/scalePropsResolver.js +108 -8
- package/dist/src/scales/scaleResolution.d.ts +35 -1
- package/dist/src/scales/scaleResolution.d.ts.map +1 -1
- package/dist/src/scales/scaleResolution.js +381 -66
- 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/screenshotExport.d.ts +23 -0
- package/dist/src/screenshotExport.d.ts.map +1 -0
- package/dist/src/screenshotExport.js +44 -0
- package/dist/src/screenshotHarness.d.ts.map +1 -1
- package/dist/src/screenshotHarness.js +26 -25
- package/dist/src/spec/axis.d.ts +43 -32
- package/dist/src/spec/channel.d.ts +19 -13
- package/dist/src/spec/config.d.ts +264 -0
- package/dist/src/spec/data.d.ts +19 -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 +31 -14
- 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 +18 -10
- package/dist/src/utils/expression.d.ts.map +1 -1
- package/dist/src/utils/expression.js +354 -19
- 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.d.ts +1 -1
- package/dist/src/view/flowBuilder.d.ts.map +1 -1
- package/dist/src/view/flowBuilder.js +13 -9
- 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/resolutionPlanner.d.ts +9 -0
- package/dist/src/view/resolutionPlanner.d.ts.map +1 -0
- package/dist/src/view/resolutionPlanner.js +302 -0
- 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 +72 -169
- 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 +138 -48
- 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,3 @@
|
|
|
1
|
-
/* eslint-disable max-depth */
|
|
2
1
|
import { primaryPositionalChannels } from "../../encoder/encoder.js";
|
|
3
2
|
import {
|
|
4
3
|
FlexDimensions,
|
|
@@ -12,6 +11,10 @@ import Padding from "../layout/padding.js";
|
|
|
12
11
|
import Rectangle from "../layout/rectangle.js";
|
|
13
12
|
import AxisView, { CHANNEL_ORIENTS, ORIENT_CHANNELS } from "../axisView.js";
|
|
14
13
|
import ContainerView from "../containerView.js";
|
|
14
|
+
import {
|
|
15
|
+
propagateInteraction,
|
|
16
|
+
propagateInteractionSurface,
|
|
17
|
+
} from "../interactionRouting.js";
|
|
15
18
|
import LayerView from "../layerView.js";
|
|
16
19
|
import UnitView from "../unitView.js";
|
|
17
20
|
import { interactionToZoom } from "../zoom.js";
|
|
@@ -20,6 +23,26 @@ import KeyboardZoomController from "./keyboardZoomController.js";
|
|
|
20
23
|
import SeparatorView, { resolveSeparatorProps } from "./separatorView.js";
|
|
21
24
|
import { getZoomableResolutions } from "./zoomNavigationUtils.js";
|
|
22
25
|
|
|
26
|
+
// Secondary ordering within a z-index bucket for GridView-owned decorations.
|
|
27
|
+
// These are not z-indices themselves: actual layering is decided first by the
|
|
28
|
+
// decoration's zindex (underlay vs overlay relative to content), and these
|
|
29
|
+
// values are only used as tie-break phases among decorations in the same batch.
|
|
30
|
+
const DECORATION_ORDER = Object.freeze({
|
|
31
|
+
background: 0,
|
|
32
|
+
separator: 10,
|
|
33
|
+
grid: 20,
|
|
34
|
+
backgroundStroke: 30,
|
|
35
|
+
axis: 40,
|
|
36
|
+
selectionRect: 80,
|
|
37
|
+
scrollbar: 90,
|
|
38
|
+
title: 100,
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Default z-index for axes and view strokes when the content is clipped or
|
|
42
|
+
// scrollable. This keeps guides above content-edge artifacts while still
|
|
43
|
+
// letting an explicit user zindex override the default.
|
|
44
|
+
const CLIPPED_DECORATION_ZINDEX = 10;
|
|
45
|
+
|
|
23
46
|
/**
|
|
24
47
|
* Modeled after: https://vega.github.io/vega/docs/layout/
|
|
25
48
|
*
|
|
@@ -543,7 +566,6 @@ export default class GridView extends ContainerView {
|
|
|
543
566
|
* @param {import("../layout/rectangle.js").default} coords
|
|
544
567
|
* @param {import("../../types/rendering.js").RenderingOptions} [options]
|
|
545
568
|
*/
|
|
546
|
-
// eslint-disable-next-line complexity
|
|
547
569
|
render(context, coords, options = {}) {
|
|
548
570
|
super.render(context, coords, options);
|
|
549
571
|
|
|
@@ -585,8 +607,8 @@ export default class GridView extends ContainerView {
|
|
|
585
607
|
const round = (x) =>
|
|
586
608
|
Math.round(x * devicePixelRatio) / devicePixelRatio;
|
|
587
609
|
|
|
588
|
-
//
|
|
589
|
-
//
|
|
610
|
+
// Compute layout once and then dispatch decorations around the content
|
|
611
|
+
// render pass without recomputing per-child coordinates.
|
|
590
612
|
const renderItems = [];
|
|
591
613
|
|
|
592
614
|
for (const [i, gridChild] of this.#visibleChildren.entries()) {
|
|
@@ -685,14 +707,62 @@ export default class GridView extends ContainerView {
|
|
|
685
707
|
});
|
|
686
708
|
}
|
|
687
709
|
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
710
|
+
const gridOverhang = this.#getGridOverhang();
|
|
711
|
+
|
|
712
|
+
/** @type {{ zindex: number, order: number, sequence: number, render: () => void }[]} */
|
|
713
|
+
const underlays = [];
|
|
714
|
+
/** @type {{ zindex: number, order: number, sequence: number, render: () => void }[]} */
|
|
715
|
+
const overlays = [];
|
|
716
|
+
/** @type {(() => void)[]} */
|
|
717
|
+
const contents = [];
|
|
718
|
+
let sequence = 0;
|
|
719
|
+
|
|
720
|
+
const queueDecoration = (
|
|
721
|
+
/** @type {number} */ zindex,
|
|
722
|
+
/** @type {number} */ order,
|
|
723
|
+
/** @type {() => void} */ render
|
|
724
|
+
) => {
|
|
725
|
+
const target = zindex > 0 ? overlays : underlays;
|
|
726
|
+
target.push({
|
|
727
|
+
zindex,
|
|
728
|
+
order,
|
|
729
|
+
sequence: sequence++,
|
|
730
|
+
render,
|
|
692
731
|
});
|
|
693
|
-
}
|
|
732
|
+
};
|
|
694
733
|
|
|
695
|
-
const
|
|
734
|
+
const renderDecorations = (
|
|
735
|
+
/** @type {{ zindex: number, order: number, sequence: number, render: () => void }[]} */ items
|
|
736
|
+
) => {
|
|
737
|
+
items.sort(
|
|
738
|
+
(a, b) =>
|
|
739
|
+
a.zindex - b.zindex ||
|
|
740
|
+
a.order - b.order ||
|
|
741
|
+
a.sequence - b.sequence
|
|
742
|
+
);
|
|
743
|
+
|
|
744
|
+
for (const item of items) {
|
|
745
|
+
item.render();
|
|
746
|
+
}
|
|
747
|
+
};
|
|
748
|
+
|
|
749
|
+
for (const item of renderItems) {
|
|
750
|
+
if (item.background) {
|
|
751
|
+
queueDecoration(
|
|
752
|
+
item.gridChild.backgroundZindex,
|
|
753
|
+
DECORATION_ORDER.background,
|
|
754
|
+
() =>
|
|
755
|
+
item.background?.render(
|
|
756
|
+
context,
|
|
757
|
+
item.clippedChildCoords,
|
|
758
|
+
{
|
|
759
|
+
...options,
|
|
760
|
+
clipRect: undefined,
|
|
761
|
+
}
|
|
762
|
+
)
|
|
763
|
+
);
|
|
764
|
+
}
|
|
765
|
+
}
|
|
696
766
|
|
|
697
767
|
const verticalSeparator = this.#separatorViews.vertical;
|
|
698
768
|
if (verticalSeparator) {
|
|
@@ -704,7 +774,11 @@ export default class GridView extends ContainerView {
|
|
|
704
774
|
this.wrappingFacet,
|
|
705
775
|
gridOverhang
|
|
706
776
|
);
|
|
707
|
-
|
|
777
|
+
queueDecoration(
|
|
778
|
+
verticalSeparator.getZindex(),
|
|
779
|
+
DECORATION_ORDER.separator,
|
|
780
|
+
() => verticalSeparator.render(context, coords, options)
|
|
781
|
+
);
|
|
708
782
|
}
|
|
709
783
|
|
|
710
784
|
const horizontalSeparator = this.#separatorViews.horizontal;
|
|
@@ -717,7 +791,11 @@ export default class GridView extends ContainerView {
|
|
|
717
791
|
this.wrappingFacet,
|
|
718
792
|
gridOverhang
|
|
719
793
|
);
|
|
720
|
-
|
|
794
|
+
queueDecoration(
|
|
795
|
+
horizontalSeparator.getZindex(),
|
|
796
|
+
DECORATION_ORDER.separator,
|
|
797
|
+
() => horizontalSeparator.render(context, coords, options)
|
|
798
|
+
);
|
|
721
799
|
}
|
|
722
800
|
|
|
723
801
|
for (const item of renderItems) {
|
|
@@ -739,24 +817,44 @@ export default class GridView extends ContainerView {
|
|
|
739
817
|
row,
|
|
740
818
|
} = item;
|
|
741
819
|
|
|
820
|
+
const clipped = isClippedChildren(view) || scrollable;
|
|
821
|
+
|
|
742
822
|
for (const gridLineView of Object.values(gridLines)) {
|
|
743
|
-
|
|
823
|
+
queueDecoration(
|
|
824
|
+
gridLineView.axisProps.zindex ?? 0,
|
|
825
|
+
DECORATION_ORDER.grid,
|
|
826
|
+
() => gridLineView.render(context, viewportCoords, options)
|
|
827
|
+
);
|
|
744
828
|
}
|
|
745
829
|
|
|
746
|
-
const
|
|
830
|
+
const renderContent = () =>
|
|
831
|
+
view.render(
|
|
832
|
+
context,
|
|
833
|
+
viewCoords,
|
|
834
|
+
clipped
|
|
835
|
+
? {
|
|
836
|
+
...options,
|
|
837
|
+
clipRect: clippedChildCoords,
|
|
838
|
+
}
|
|
839
|
+
: options
|
|
840
|
+
);
|
|
747
841
|
|
|
748
|
-
|
|
749
|
-
if (clipped) {
|
|
750
|
-
view.render(context, viewCoords, {
|
|
751
|
-
...options,
|
|
752
|
-
clipRect: clippedChildCoords,
|
|
753
|
-
});
|
|
754
|
-
}
|
|
842
|
+
contents.push(renderContent);
|
|
755
843
|
|
|
756
|
-
backgroundStroke
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
844
|
+
if (backgroundStroke) {
|
|
845
|
+
queueDecoration(
|
|
846
|
+
defaultBackgroundStrokeZindex(
|
|
847
|
+
gridChild.backgroundStrokeZindex,
|
|
848
|
+
clipped
|
|
849
|
+
),
|
|
850
|
+
DECORATION_ORDER.backgroundStroke,
|
|
851
|
+
() =>
|
|
852
|
+
backgroundStroke?.render(context, clippedChildCoords, {
|
|
853
|
+
...options,
|
|
854
|
+
clipRect: undefined,
|
|
855
|
+
})
|
|
856
|
+
);
|
|
857
|
+
}
|
|
760
858
|
|
|
761
859
|
// Independent axes
|
|
762
860
|
for (const [orient, axisView] of Object.entries(axes)) {
|
|
@@ -811,10 +909,15 @@ export default class GridView extends ContainerView {
|
|
|
811
909
|
);
|
|
812
910
|
}
|
|
813
911
|
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
912
|
+
queueDecoration(
|
|
913
|
+
defaultAxisZindex(axisView.axisProps.zindex, clipped),
|
|
914
|
+
DECORATION_ORDER.axis,
|
|
915
|
+
() =>
|
|
916
|
+
axisView.render(context, translatedCoords, {
|
|
917
|
+
...options,
|
|
918
|
+
clipRect,
|
|
919
|
+
})
|
|
920
|
+
);
|
|
818
921
|
}
|
|
819
922
|
|
|
820
923
|
// Axes shared between children
|
|
@@ -829,109 +932,136 @@ export default class GridView extends ContainerView {
|
|
|
829
932
|
(orient == "top" && row == 0) ||
|
|
830
933
|
(orient == "bottom" && row == grid.nRows - 1)
|
|
831
934
|
) {
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
935
|
+
queueDecoration(
|
|
936
|
+
defaultAxisZindex(axisView.axisProps.zindex, clipped),
|
|
937
|
+
DECORATION_ORDER.axis,
|
|
938
|
+
() =>
|
|
939
|
+
axisView.render(
|
|
940
|
+
context,
|
|
941
|
+
translateAxisCoords(
|
|
942
|
+
viewportCoords.shrink(
|
|
943
|
+
gridChild.view.getOverhang()
|
|
944
|
+
),
|
|
945
|
+
orient,
|
|
946
|
+
axisView
|
|
947
|
+
),
|
|
948
|
+
options
|
|
949
|
+
)
|
|
840
950
|
);
|
|
841
951
|
}
|
|
842
952
|
}
|
|
843
953
|
|
|
844
|
-
if (
|
|
845
|
-
|
|
954
|
+
if (selectionRect) {
|
|
955
|
+
queueDecoration(
|
|
956
|
+
selectionRect.getZindex(),
|
|
957
|
+
DECORATION_ORDER.selectionRect,
|
|
958
|
+
() => selectionRect?.render(context, viewCoords, options)
|
|
959
|
+
);
|
|
846
960
|
}
|
|
847
961
|
|
|
848
|
-
selectionRect?.render(context, viewCoords, options);
|
|
849
|
-
|
|
850
962
|
for (const scrollbar of Object.values(gridChild.scrollbars)) {
|
|
851
|
-
|
|
852
|
-
|
|
963
|
+
queueDecoration(1, DECORATION_ORDER.scrollbar, () => {
|
|
964
|
+
scrollbar.updateScrollbar(viewportCoords, viewCoords);
|
|
965
|
+
scrollbar.render(context, coords, options);
|
|
966
|
+
});
|
|
853
967
|
}
|
|
854
968
|
|
|
855
|
-
title
|
|
969
|
+
if (title) {
|
|
970
|
+
queueDecoration(
|
|
971
|
+
gridChild.titleZindex,
|
|
972
|
+
DECORATION_ORDER.title,
|
|
973
|
+
() => title?.render(context, viewportCoords, options)
|
|
974
|
+
);
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
renderDecorations(underlays);
|
|
979
|
+
|
|
980
|
+
for (const renderContent of contents) {
|
|
981
|
+
renderContent();
|
|
856
982
|
}
|
|
857
983
|
|
|
984
|
+
renderDecorations(overlays);
|
|
985
|
+
|
|
858
986
|
context.popView(this);
|
|
859
987
|
}
|
|
860
988
|
|
|
861
989
|
/**
|
|
862
|
-
* @param {import("../../utils/
|
|
990
|
+
* @param {import("../../utils/interaction.js").default} event
|
|
863
991
|
*/
|
|
864
|
-
|
|
865
|
-
this
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
992
|
+
propagateInteraction(event) {
|
|
993
|
+
propagateInteraction(this, event, () => {
|
|
994
|
+
const pointedChild = this.#visibleChildren.find((gridChild) =>
|
|
995
|
+
gridChild.coords.containsPoint(event.point.x, event.point.y)
|
|
996
|
+
);
|
|
997
|
+
const pointedView = pointedChild?.view;
|
|
870
998
|
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
999
|
+
if (event.type === "wheelclaimprobe") {
|
|
1000
|
+
// Probe path: claim wheel ownership without executing regular wheel
|
|
1001
|
+
// behavior. InteractionController uses this to decide whether native
|
|
1002
|
+
// wheel should be preventDefault()'ed before inertia kicks in.
|
|
1003
|
+
if (!pointedView) {
|
|
1004
|
+
return;
|
|
1005
|
+
}
|
|
875
1006
|
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
1007
|
+
if (isZoomInteractionView(pointedView)) {
|
|
1008
|
+
if (hasZoomableResolutions(pointedView)) {
|
|
1009
|
+
event.claimWheel();
|
|
1010
|
+
}
|
|
1011
|
+
} else {
|
|
1012
|
+
pointedView.propagateInteraction(event);
|
|
1013
|
+
}
|
|
881
1014
|
return;
|
|
882
1015
|
}
|
|
883
1016
|
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
} else {
|
|
889
|
-
pointedView.propagateInteractionEvent(event);
|
|
890
|
-
}
|
|
891
|
-
return;
|
|
892
|
-
}
|
|
1017
|
+
this.#keyboardZoomController?.handlePointerEvent(
|
|
1018
|
+
pointedChild,
|
|
1019
|
+
event
|
|
1020
|
+
);
|
|
893
1021
|
|
|
894
|
-
|
|
1022
|
+
for (const scrollbar of Object.values(
|
|
1023
|
+
pointedChild?.scrollbars ?? {}
|
|
1024
|
+
)) {
|
|
1025
|
+
propagateInteractionSurface(
|
|
1026
|
+
event,
|
|
1027
|
+
() =>
|
|
1028
|
+
scrollbar.coords.containsPoint(
|
|
1029
|
+
event.point.x,
|
|
1030
|
+
event.point.y
|
|
1031
|
+
),
|
|
1032
|
+
() => scrollbar.propagateInteraction(event)
|
|
1033
|
+
);
|
|
895
1034
|
|
|
896
|
-
for (const scrollbar of Object.values(pointedChild?.scrollbars ?? {})) {
|
|
897
|
-
if (scrollbar.coords.containsPoint(event.point.x, event.point.y)) {
|
|
898
|
-
scrollbar.propagateInteractionEvent(event);
|
|
899
1035
|
if (event.stopped) {
|
|
900
1036
|
return;
|
|
901
1037
|
}
|
|
902
1038
|
}
|
|
903
|
-
}
|
|
904
1039
|
|
|
905
|
-
|
|
906
|
-
pointedView.propagateInteractionEvent(event);
|
|
907
|
-
|
|
908
|
-
if (event.stopped) {
|
|
1040
|
+
if (!pointedView) {
|
|
909
1041
|
return;
|
|
910
1042
|
}
|
|
911
1043
|
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
this.handleInteractionEvent(undefined, event, false);
|
|
1044
|
+
propagateInteractionSurface(
|
|
1045
|
+
event,
|
|
1046
|
+
() => true,
|
|
1047
|
+
() => pointedView.propagateInteraction(event),
|
|
1048
|
+
isZoomInteractionView(pointedView)
|
|
1049
|
+
? () =>
|
|
1050
|
+
interactionToZoom(
|
|
1051
|
+
event,
|
|
1052
|
+
pointedChild.coords,
|
|
1053
|
+
(zoomEvent) =>
|
|
1054
|
+
this.#handleZoom(
|
|
1055
|
+
pointedChild.coords,
|
|
1056
|
+
pointedChild.view,
|
|
1057
|
+
zoomEvent
|
|
1058
|
+
),
|
|
1059
|
+
this.context.getCurrentHover(),
|
|
1060
|
+
this.context.animator
|
|
1061
|
+
)
|
|
1062
|
+
: undefined
|
|
1063
|
+
);
|
|
1064
|
+
});
|
|
935
1065
|
}
|
|
936
1066
|
|
|
937
1067
|
/**
|
|
@@ -1040,6 +1170,30 @@ function getSeparatorDirections(spec) {
|
|
|
1040
1170
|
return ["horizontal", "vertical"];
|
|
1041
1171
|
}
|
|
1042
1172
|
|
|
1173
|
+
/**
|
|
1174
|
+
* Default z-index for axes. Clipped or scrollable content gets a higher
|
|
1175
|
+
* default to keep guides above visible edge artifacts.
|
|
1176
|
+
*
|
|
1177
|
+
* @param {number | undefined} zindex
|
|
1178
|
+
* @param {boolean} clipped
|
|
1179
|
+
* @returns {number}
|
|
1180
|
+
*/
|
|
1181
|
+
function defaultAxisZindex(zindex, clipped) {
|
|
1182
|
+
return zindex ?? (clipped ? CLIPPED_DECORATION_ZINDEX : 0);
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
/**
|
|
1186
|
+
* Default z-index for view strokes. Clipped or scrollable content gets a
|
|
1187
|
+
* higher default to keep the stroke above visible edge artifacts.
|
|
1188
|
+
*
|
|
1189
|
+
* @param {number | undefined} zindex
|
|
1190
|
+
* @param {boolean} clipped
|
|
1191
|
+
* @returns {number}
|
|
1192
|
+
*/
|
|
1193
|
+
function defaultBackgroundStrokeZindex(zindex, clipped) {
|
|
1194
|
+
return zindex ?? (clipped ? CLIPPED_DECORATION_ZINDEX : 0);
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1043
1197
|
/**
|
|
1044
1198
|
*
|
|
1045
1199
|
* @param {import("../layout/rectangle.js").default} coords
|
|
@@ -13,9 +13,9 @@ export default class KeyboardZoomController {
|
|
|
13
13
|
});
|
|
14
14
|
/**
|
|
15
15
|
* @param {import("./gridChild.js").default | undefined} pointedChild
|
|
16
|
-
* @param {import("../../utils/
|
|
16
|
+
* @param {import("../../utils/interaction.js").default} event
|
|
17
17
|
*/
|
|
18
|
-
handlePointerEvent(pointedChild: import("./gridChild.js").default | undefined, event: import("../../utils/
|
|
18
|
+
handlePointerEvent(pointedChild: import("./gridChild.js").default | undefined, event: import("../../utils/interaction.js").default): void;
|
|
19
19
|
#private;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=keyboardZoomController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboardZoomController.d.ts","sourceRoot":"","sources":["../../../../src/view/gridView/keyboardZoomController.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAuDI;;;;OAIG;IACH,mCAHG;QAA6D,OAAO,EAA5D,OAAO,4BAA4B,EAAE,OAAO;QACP,QAAQ,EAA7C,OAAO,YAAY,EAAE,OAAO;KACtC,EAKA;IAED;;;OAGG;IACH,iCAHW,OAAO,gBAAgB,EAAE,OAAO,GAAG,SAAS,SAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"keyboardZoomController.d.ts","sourceRoot":"","sources":["../../../../src/view/gridView/keyboardZoomController.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAuDI;;;;OAIG;IACH,mCAHG;QAA6D,OAAO,EAA5D,OAAO,4BAA4B,EAAE,OAAO;QACP,QAAQ,EAA7C,OAAO,YAAY,EAAE,OAAO;KACtC,EAKA;IAED;;;OAGG;IACH,iCAHW,OAAO,gBAAgB,EAAE,OAAO,GAAG,SAAS,SAC5C,OAAO,4BAA4B,EAAE,OAAO,QA0BtD;;CA4DJ"}
|
|
@@ -73,7 +73,7 @@ export default class KeyboardZoomController {
|
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
75
|
* @param {import("./gridChild.js").default | undefined} pointedChild
|
|
76
|
-
* @param {import("../../utils/
|
|
76
|
+
* @param {import("../../utils/interaction.js").default} event
|
|
77
77
|
*/
|
|
78
78
|
handlePointerEvent(pointedChild, event) {
|
|
79
79
|
if (!pointedChild) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbar.d.ts","sourceRoot":"","sources":["../../../../src/view/gridView/scrollbar.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH;IAwBI;;;;OAIG;IACH,uBAJW,OAAO,gBAAgB,EAAE,OAAO,mBAChC,eAAe,YACf;QAAE,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,
|
|
1
|
+
{"version":3,"file":"scrollbar.d.ts","sourceRoot":"","sources":["../../../../src/view/gridView/scrollbar.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH;IAwBI;;;;OAIG;IACH,uBAJW,OAAO,gBAAgB,EAAE,OAAO,mBAChC,eAAe,YACf;QAAE,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,EA2H/D;IA1ID;;;;;;OAMG;IACH,uBAAmB;IAkDf;;;;MAAoB;IAmFxB,2BAEC;IAED;;;OAGG;IACH,yBAHW,MAAM,6BACN;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,QAYtD;IAqFD;;;;;;;;;OASG;IACH,gCAHW,SAAS,iBACT,SAAS,QASnB;IAMG;;;;MAWC;;CAER;;;;;8BArSY,YAAY,GAAG,UAAU;qBAPjB,gBAAgB;sBADf,wBAAwB"}
|
|
@@ -112,7 +112,7 @@ export default class Scrollbar extends UnitView {
|
|
|
112
112
|
// Smooth viewport offset updates
|
|
113
113
|
this.#initViewportOffsetSmoother(this.viewportOffset);
|
|
114
114
|
|
|
115
|
-
this.
|
|
115
|
+
this.addInteractionListener("mousedown", (event) => {
|
|
116
116
|
event.stopPropagation();
|
|
117
117
|
|
|
118
118
|
if (this.#getMaxScrollOffset() <= 0) {
|
|
@@ -125,6 +125,7 @@ export default class Scrollbar extends UnitView {
|
|
|
125
125
|
: mouseEvent.clientX;
|
|
126
126
|
|
|
127
127
|
event.mouseEvent.preventDefault();
|
|
128
|
+
this.context.suspendHoverTracking();
|
|
128
129
|
|
|
129
130
|
const initialScrollOffset = this.scrollOffset;
|
|
130
131
|
const initialOffset = getMouseOffset(event.mouseEvent);
|
|
@@ -150,9 +151,10 @@ export default class Scrollbar extends UnitView {
|
|
|
150
151
|
});
|
|
151
152
|
};
|
|
152
153
|
|
|
153
|
-
const onMouseup = () => {
|
|
154
|
+
const onMouseup = (/** @type {MouseEvent} */ upEvent) => {
|
|
154
155
|
document.removeEventListener("mousemove", onMousemove);
|
|
155
156
|
document.removeEventListener("mouseup", onMouseup);
|
|
157
|
+
this.context.resumeHoverTracking(upEvent);
|
|
156
158
|
};
|
|
157
159
|
|
|
158
160
|
document.addEventListener("mouseup", onMouseup, false);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export const INTERVAL_DRAG_ACTIVE_PARAM: "intervalDragActive";
|
|
1
2
|
export default class SelectionRect extends LayerView<import("../../spec/view.js").LayerSpec> {
|
|
2
3
|
/**
|
|
3
4
|
* @typedef {import("../../spec/channel.js").PrimaryPositionalChannel} PrimaryPositionalChannel
|
|
@@ -9,6 +10,9 @@ export default class SelectionRect extends LayerView<import("../../spec/view.js"
|
|
|
9
10
|
* @param {import("../../spec/parameter.js").BrushConfig} [brushConfig]
|
|
10
11
|
*/
|
|
11
12
|
constructor(gridChild: import("./gridChild.js").default, selectionExpr: import("../../paramRuntime/types.js").ExprRefFunction, brushConfig?: import("../../spec/parameter.js").BrushConfig);
|
|
13
|
+
/** @type {number} */
|
|
14
|
+
_zindex: number;
|
|
15
|
+
getZindex(): number;
|
|
12
16
|
}
|
|
13
17
|
import LayerView from "../layerView.js";
|
|
14
18
|
//# sourceMappingURL=selectionRect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectionRect.d.ts","sourceRoot":"","sources":["../../../../src/view/gridView/selectionRect.js"],"names":[],"mappings":"AAIA;IACI;;;OAGG;IAEH;;;;OAIG;IACH,uBAJW,OAAO,gBAAgB,EAAE,OAAO,iBAChC,OAAO,6BAA6B,EAAE,eAAe,gBACrD,OAAO,yBAAyB,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"selectionRect.d.ts","sourceRoot":"","sources":["../../../../src/view/gridView/selectionRect.js"],"names":[],"mappings":"AAIA,yCAA0C,oBAAoB,CAAC;AAE/D;IACI;;;OAGG;IAEH;;;;OAIG;IACH,uBAJW,OAAO,gBAAgB,EAAE,OAAO,iBAChC,OAAO,6BAA6B,EAAE,eAAe,gBACrD,OAAO,yBAAyB,EAAE,WAAW,EA4KvD;IA1BG,qBAAqB;IACrB,SADW,MAAM,CACI;IA2BzB,oBAEC;CACJ;sBA/LqB,iBAAiB"}
|
|
@@ -2,6 +2,8 @@ import { primaryPositionalChannels } from "../../encoder/encoder.js";
|
|
|
2
2
|
import LayerView from "../layerView.js";
|
|
3
3
|
import { markViewAsNonAddressable } from "../viewSelectors.js";
|
|
4
4
|
|
|
5
|
+
export const INTERVAL_DRAG_ACTIVE_PARAM = "intervalDragActive";
|
|
6
|
+
|
|
5
7
|
export default class SelectionRect extends LayerView {
|
|
6
8
|
/**
|
|
7
9
|
* @typedef {import("../../spec/channel.js").PrimaryPositionalChannel} PrimaryPositionalChannel
|
|
@@ -18,6 +20,7 @@ export default class SelectionRect extends LayerView {
|
|
|
18
20
|
selectionExpr()
|
|
19
21
|
);
|
|
20
22
|
const channels = Object.keys(initialSelection.intervals);
|
|
23
|
+
const { zindex = 1, ...brushMarkProps } = brushConfig;
|
|
21
24
|
|
|
22
25
|
if (primaryPositionalChannels.every((c) => !channels.includes(c))) {
|
|
23
26
|
throw new Error(
|
|
@@ -29,6 +32,12 @@ export default class SelectionRect extends LayerView {
|
|
|
29
32
|
const layerSpec = {
|
|
30
33
|
name: "selectionRect",
|
|
31
34
|
domainInert: true,
|
|
35
|
+
params: [
|
|
36
|
+
{
|
|
37
|
+
name: INTERVAL_DRAG_ACTIVE_PARAM,
|
|
38
|
+
value: false,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
32
41
|
resolve: {
|
|
33
42
|
scale: {
|
|
34
43
|
x: "forced",
|
|
@@ -72,7 +81,10 @@ export default class SelectionRect extends LayerView {
|
|
|
72
81
|
stroke: "black",
|
|
73
82
|
strokeWidth: 1,
|
|
74
83
|
strokeOpacity: 0.2,
|
|
75
|
-
|
|
84
|
+
cursor: brushMarkProps.cursor ?? {
|
|
85
|
+
expr: `${INTERVAL_DRAG_ACTIVE_PARAM} ? 'grabbing' : 'move'`,
|
|
86
|
+
},
|
|
87
|
+
...brushMarkProps,
|
|
76
88
|
},
|
|
77
89
|
},
|
|
78
90
|
});
|
|
@@ -147,6 +159,9 @@ export default class SelectionRect extends LayerView {
|
|
|
147
159
|
}
|
|
148
160
|
);
|
|
149
161
|
|
|
162
|
+
/** @type {number} */
|
|
163
|
+
this._zindex = zindex;
|
|
164
|
+
|
|
150
165
|
markViewAsNonAddressable(this, { skipSubtree: true });
|
|
151
166
|
|
|
152
167
|
const selectionListener = () => {
|
|
@@ -171,6 +186,10 @@ export default class SelectionRect extends LayerView {
|
|
|
171
186
|
|
|
172
187
|
this.registerDisposer(selectionExpr.subscribe(selectionListener));
|
|
173
188
|
}
|
|
189
|
+
|
|
190
|
+
getZindex() {
|
|
191
|
+
return this._zindex;
|
|
192
|
+
}
|
|
174
193
|
}
|
|
175
194
|
|
|
176
195
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"separatorView.d.ts","sourceRoot":"","sources":["../../../../src/view/gridView/separatorView.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"separatorView.d.ts","sourceRoot":"","sources":["../../../../src/view/gridView/separatorView.js"],"names":[],"mappings":"AAoOA;;;GAGG;AACH,iDAHW,OAAO,oBAAoB,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAC/D,OAAO,oBAAoB,EAAE,cAAc,GAAG,IAAI,CAiB9D;AAxOD;;GAEG;AACH;IAyBI;;;;;;;;;OASG;IACH,+EATW;QACN,SAAS,EAAE,kBAAkB,CAAC;QAC9B,KAAK,EAAE,OAAO,oBAAoB,EAAE,cAAc,CAAC;QACnD,OAAO,EAAE,OAAO,4BAA4B,EAAE,OAAO,CAAC;QACtD,YAAY,EAAE,OAAO,qBAAqB,EAAE,OAAO,CAAC;QACpD,UAAU,EAAE,OAAO,YAAY,EAAE,OAAO,CAAC;QACzC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;KACpC,EAuBH;IAED;;OAEG;IACH,YAFa,QAAQ,CAIpB;IAED,oBAEC;IAED;;;;;;;OAOG;IACH,mBAPW,OAAO,yBAAyB,EAAE,OAAO,EAAE,SAC3C,MAAM,UACN,OAAO,wBAAwB,EAAE,OAAO,eACxC,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,iBACtD,OAAO,YACP,OAAO,sBAAsB,EAAE,OAAO,QAKhD;IAED;;;;OAIG;IACH,gBAJW,OAAO,6CAA6C,EAAE,OAAO,UAC7D,OAAO,wBAAwB,EAAE,OAAO,WACxC,OAAO,0BAA0B,EAAE,gBAAgB,QAI7D;;CAuHJ;iCA9NY,YAAY,GAAG,UAAU;qBAJjB,gBAAgB"}
|
|
@@ -26,6 +26,9 @@ export default class SeparatorView {
|
|
|
26
26
|
/** @type {UnitView} */
|
|
27
27
|
#view;
|
|
28
28
|
|
|
29
|
+
/** @type {number} */
|
|
30
|
+
#zindex;
|
|
31
|
+
|
|
29
32
|
/** @type {import("../../data/flowNode.js").Datum[]} */
|
|
30
33
|
#data = [];
|
|
31
34
|
|
|
@@ -58,8 +61,10 @@ export default class SeparatorView {
|
|
|
58
61
|
}) {
|
|
59
62
|
this.#direction = direction;
|
|
60
63
|
this.#includePlotMargin = props.includePlotMargin ?? true;
|
|
64
|
+
this.#zindex = props.zindex ?? 0;
|
|
61
65
|
const markProps = { ...props };
|
|
62
66
|
delete markProps.includePlotMargin;
|
|
67
|
+
delete markProps.zindex;
|
|
63
68
|
this.#view = this.#createView(
|
|
64
69
|
markProps,
|
|
65
70
|
context,
|
|
@@ -76,6 +81,10 @@ export default class SeparatorView {
|
|
|
76
81
|
return this.#view;
|
|
77
82
|
}
|
|
78
83
|
|
|
84
|
+
getZindex() {
|
|
85
|
+
return this.#zindex;
|
|
86
|
+
}
|
|
87
|
+
|
|
79
88
|
/**
|
|
80
89
|
* @param {import("../layout/flexLayout.js").LocSize[]} flexCoords
|
|
81
90
|
* @param {number} count
|