@genome-spy/core 0.72.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/LICENSE +1 -1
- 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 +21078 -24556
- package/dist/bundle/index.js +379 -383
- package/dist/bundle/parquetRead-DG_-F5j5.js +1609 -0
- package/dist/schema.json +13349 -7082
- 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 +8 -0
- package/dist/src/data/formats/bed.d.ts.map +1 -0
- package/dist/src/data/formats/bed.js +58 -0
- package/dist/src/data/formats/bedpe.d.ts +8 -0
- package/dist/src/data/formats/bedpe.d.ts.map +1 -0
- package/dist/src/data/formats/bedpe.js +164 -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 +16 -0
- package/dist/src/data/sources/dataUtils.d.ts.map +1 -1
- package/dist/src/data/sources/dataUtils.js +53 -3
- 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 +4 -0
- package/dist/src/data/sources/urlSource.d.ts.map +1 -1
- package/dist/src/data/sources/urlSource.js +138 -16
- 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/assemblyPreflight.d.ts +31 -0
- package/dist/src/genome/assemblyPreflight.d.ts.map +1 -0
- package/dist/src/genome/assemblyPreflight.js +99 -0
- package/dist/src/genome/genome.d.ts +10 -2
- package/dist/src/genome/genome.d.ts.map +1 -1
- package/dist/src/genome/genome.js +20 -2
- package/dist/src/genome/genomeStore.d.ts +34 -3
- package/dist/src/genome/genomeStore.d.ts.map +1 -1
- package/dist/src/genome/genomeStore.js +409 -18
- package/dist/src/genome/rootGenomeConfig.d.ts +26 -0
- package/dist/src/genome/rootGenomeConfig.d.ts.map +1 -0
- package/dist/src/genome/rootGenomeConfig.js +98 -0
- 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 +10 -1
- package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
- package/dist/src/genomeSpy/interactionController.js +448 -40
- 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/renderCoordinator.js +1 -1
- 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 -114
- package/dist/src/genomeSpy.d.ts.map +1 -1
- package/dist/src/genomeSpy.js +7 -614
- 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/canvasSizeHelper.d.ts +74 -0
- package/dist/src/gl/canvasSizeHelper.d.ts.map +1 -0
- package/dist/src/gl/canvasSizeHelper.js +203 -0
- 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/gl/webGLHelper.d.ts +25 -11
- package/dist/src/gl/webGLHelper.d.ts.map +1 -1
- package/dist/src/gl/webGLHelper.js +59 -33
- package/dist/src/index.d.ts +3 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -111
- 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 +5 -26
- 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 +67 -21
- 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 +58 -7
- package/dist/src/scales/domainPlanner.d.ts.map +1 -1
- package/dist/src/scales/domainPlanner.js +395 -40
- 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 +2 -1
- package/dist/src/scales/scaleInstanceManager.d.ts.map +1 -1
- package/dist/src/scales/scaleInstanceManager.js +10 -11
- package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
- package/dist/src/scales/scaleInteractionController.js +59 -18
- 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 +39 -0
- package/dist/src/scales/scaleResolution.d.ts.map +1 -1
- package/dist/src/scales/scaleResolution.js +504 -82
- package/dist/src/scales/scaleResolutionTestUtils.d.ts +21 -0
- package/dist/src/scales/scaleResolutionTestUtils.d.ts.map +1 -0
- package/dist/src/scales/scaleResolutionTestUtils.js +37 -0
- 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 +52 -0
- package/dist/src/scales/selectionDomainUtils.d.ts.map +1 -0
- package/dist/src/scales/selectionDomainUtils.js +194 -0
- package/dist/src/scales/zoomDomainUtils.d.ts +18 -0
- package/dist/src/scales/zoomDomainUtils.d.ts.map +1 -0
- package/dist/src/scales/zoomDomainUtils.js +69 -0
- package/dist/src/screenshotHarness.d.ts +16 -0
- package/dist/src/screenshotHarness.d.ts.map +1 -0
- package/dist/src/screenshotHarness.js +241 -0
- package/dist/src/singlePageApp.js +1 -1
- 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 +30 -3
- 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/genome.d.ts +22 -2
- package/dist/src/spec/mark.d.ts +97 -13
- package/dist/src/spec/parameter.d.ts +62 -5
- package/dist/src/spec/root.d.ts +34 -1
- package/dist/src/spec/scale.d.ts +46 -5
- 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 +63 -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 +31 -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 +66 -11
- 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 +26 -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/inferSpecBaseUrl.d.ts +14 -0
- package/dist/src/utils/inferSpecBaseUrl.d.ts.map +1 -0
- package/dist/src/utils/inferSpecBaseUrl.js +73 -0
- 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 +62 -33
- package/dist/src/utils/interactionEvent.d.ts.map +1 -1
- package/dist/src/utils/interactionEvent.js +86 -48
- 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 +12 -1
- package/dist/src/view/dataReadiness.d.ts +2 -2
- package/dist/src/view/dataReadiness.d.ts.map +1 -1
- package/dist/src/view/dataReadiness.js +63 -58
- package/dist/src/view/facetView.d.ts +1 -1
- package/dist/src/view/facetView.js +4 -4
- package/dist/src/view/flowBuilder.js +2 -2
- package/dist/src/view/gridView/gridChild.d.ts +13 -0
- package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
- package/dist/src/view/gridView/gridChild.js +247 -49
- package/dist/src/view/gridView/gridView.d.ts.map +1 -1
- package/dist/src/view/gridView/gridView.js +296 -99
- 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 +15 -3
- package/dist/src/view/zoom.d.ts.map +1 -1
- package/dist/src/view/zoom.js +375 -80
- package/package.json +20 -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,93 +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
|
+
});
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
if (title) {
|
|
970
|
+
queueDecoration(
|
|
971
|
+
gridChild.titleZindex,
|
|
972
|
+
DECORATION_ORDER.title,
|
|
973
|
+
() => title?.render(context, viewportCoords, options)
|
|
974
|
+
);
|
|
853
975
|
}
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
renderDecorations(underlays);
|
|
854
979
|
|
|
855
|
-
|
|
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
|
-
|
|
870
|
-
|
|
871
|
-
const pointedChild = this.#visibleChildren.find((gridChild) =>
|
|
872
|
-
gridChild.coords.containsPoint(event.point.x, event.point.y)
|
|
873
|
-
);
|
|
874
|
-
this.#keyboardZoomController?.handlePointerEvent(pointedChild, event);
|
|
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;
|
|
875
998
|
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
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) {
|
|
880
1004
|
return;
|
|
881
1005
|
}
|
|
882
|
-
}
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
const pointedView = pointedChild?.view;
|
|
886
|
-
if (pointedView) {
|
|
887
|
-
pointedView.propagateInteractionEvent(event);
|
|
888
1006
|
|
|
889
|
-
|
|
1007
|
+
if (isZoomInteractionView(pointedView)) {
|
|
1008
|
+
if (hasZoomableResolutions(pointedView)) {
|
|
1009
|
+
event.claimWheel();
|
|
1010
|
+
}
|
|
1011
|
+
} else {
|
|
1012
|
+
pointedView.propagateInteraction(event);
|
|
1013
|
+
}
|
|
890
1014
|
return;
|
|
891
1015
|
}
|
|
892
1016
|
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
1017
|
+
this.#keyboardZoomController?.handlePointerEvent(
|
|
1018
|
+
pointedChild,
|
|
1019
|
+
event
|
|
1020
|
+
);
|
|
1021
|
+
|
|
1022
|
+
for (const scrollbar of Object.values(
|
|
1023
|
+
pointedChild?.scrollbars ?? {}
|
|
1024
|
+
)) {
|
|
1025
|
+
propagateInteractionSurface(
|
|
900
1026
|
event,
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
pointedChild.view,
|
|
906
|
-
zoomEvent
|
|
1027
|
+
() =>
|
|
1028
|
+
scrollbar.coords.containsPoint(
|
|
1029
|
+
event.point.x,
|
|
1030
|
+
event.point.y
|
|
907
1031
|
),
|
|
908
|
-
|
|
909
|
-
this.context.animator
|
|
1032
|
+
() => scrollbar.propagateInteraction(event)
|
|
910
1033
|
);
|
|
1034
|
+
|
|
1035
|
+
if (event.stopped) {
|
|
1036
|
+
return;
|
|
1037
|
+
}
|
|
911
1038
|
}
|
|
912
|
-
}
|
|
913
1039
|
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
1040
|
+
if (!pointedView) {
|
|
1041
|
+
return;
|
|
1042
|
+
}
|
|
917
1043
|
|
|
918
|
-
|
|
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
|
+
});
|
|
919
1065
|
}
|
|
920
1066
|
|
|
921
1067
|
/**
|
|
@@ -923,8 +1069,22 @@ export default class GridView extends ContainerView {
|
|
|
923
1069
|
* @param {import("../layout/rectangle.js").default} coords Coordinates
|
|
924
1070
|
* @param {View} view
|
|
925
1071
|
* @param {import("../zoom.js").ZoomEvent} zoomEvent
|
|
1072
|
+
* @returns {boolean} `true` when there was at least one zoomable resolution
|
|
926
1073
|
*/
|
|
927
1074
|
#handleZoom(coords, view, zoomEvent) {
|
|
1075
|
+
let zoomable = false;
|
|
1076
|
+
let changed = false;
|
|
1077
|
+
|
|
1078
|
+
const p = coords.normalizePoint(zoomEvent.x, zoomEvent.y);
|
|
1079
|
+
const tp = coords.normalizePoint(
|
|
1080
|
+
zoomEvent.x + zoomEvent.xDelta,
|
|
1081
|
+
zoomEvent.y + zoomEvent.yDelta
|
|
1082
|
+
);
|
|
1083
|
+
const delta = {
|
|
1084
|
+
x: tp.x - p.x,
|
|
1085
|
+
y: tp.y - p.y,
|
|
1086
|
+
};
|
|
1087
|
+
|
|
928
1088
|
for (const [channel, resolutionSet] of Object.entries(
|
|
929
1089
|
getZoomableResolutions(view)
|
|
930
1090
|
)) {
|
|
@@ -932,27 +1092,23 @@ export default class GridView extends ContainerView {
|
|
|
932
1092
|
continue;
|
|
933
1093
|
}
|
|
934
1094
|
|
|
935
|
-
|
|
936
|
-
const tp = coords.normalizePoint(
|
|
937
|
-
zoomEvent.x + zoomEvent.xDelta,
|
|
938
|
-
zoomEvent.y + zoomEvent.yDelta
|
|
939
|
-
);
|
|
940
|
-
|
|
941
|
-
const delta = {
|
|
942
|
-
x: tp.x - p.x,
|
|
943
|
-
y: tp.y - p.y,
|
|
944
|
-
};
|
|
1095
|
+
zoomable = true;
|
|
945
1096
|
|
|
946
1097
|
for (const resolution of resolutionSet) {
|
|
947
|
-
resolution.zoom(
|
|
1098
|
+
const resolutionChanged = resolution.zoom(
|
|
948
1099
|
2 ** zoomEvent.zDelta,
|
|
949
1100
|
channel == "y" ? 1 - p[channel] : p[channel],
|
|
950
1101
|
channel == "x" ? delta.x : -delta.y
|
|
951
1102
|
);
|
|
1103
|
+
changed = resolutionChanged || changed;
|
|
952
1104
|
}
|
|
953
1105
|
}
|
|
954
1106
|
|
|
955
|
-
|
|
1107
|
+
if (changed) {
|
|
1108
|
+
this.context.animator.requestRender();
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
return zoomable;
|
|
956
1112
|
}
|
|
957
1113
|
|
|
958
1114
|
/**
|
|
@@ -980,6 +1136,23 @@ export function isClippedChildren(view) {
|
|
|
980
1136
|
return clipped;
|
|
981
1137
|
}
|
|
982
1138
|
|
|
1139
|
+
/**
|
|
1140
|
+
* @param {View} view
|
|
1141
|
+
* @returns {boolean}
|
|
1142
|
+
*/
|
|
1143
|
+
function hasZoomableResolutions(view) {
|
|
1144
|
+
const zoomableResolutions = getZoomableResolutions(view);
|
|
1145
|
+
return zoomableResolutions.x.size > 0 || zoomableResolutions.y.size > 0;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
/**
|
|
1149
|
+
* @param {View} view
|
|
1150
|
+
* @returns {view is UnitView | LayerView}
|
|
1151
|
+
*/
|
|
1152
|
+
function isZoomInteractionView(view) {
|
|
1153
|
+
return view instanceof UnitView || view instanceof LayerView;
|
|
1154
|
+
}
|
|
1155
|
+
|
|
983
1156
|
/**
|
|
984
1157
|
* @param {import("../../spec/view.js").AnyConcatSpec} spec
|
|
985
1158
|
* @returns {("horizontal" | "vertical")[]}
|
|
@@ -997,6 +1170,30 @@ function getSeparatorDirections(spec) {
|
|
|
997
1170
|
return ["horizontal", "vertical"];
|
|
998
1171
|
}
|
|
999
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
|
+
|
|
1000
1197
|
/**
|
|
1001
1198
|
*
|
|
1002
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"}
|