@genome-spy/core 0.70.0 → 0.71.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/index.es.js +3865 -3631
- package/dist/bundle/index.js +80 -80
- package/dist/schema.json +0 -48
- package/dist/src/genomeSpy/containerUi.d.ts.map +1 -1
- package/dist/src/genomeSpy/containerUi.js +0 -1
- package/dist/src/genomeSpy/viewHighlight.js +2 -2
- package/dist/src/genomeSpy.d.ts +3 -3
- package/dist/src/genomeSpy.d.ts.map +1 -1
- package/dist/src/genomeSpy.js +27 -3
- package/dist/src/marks/mark.d.ts +1 -1
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/spec/view.d.ts +0 -10
- package/dist/src/utils/keyboardZoomMotion.d.ts +93 -0
- package/dist/src/utils/keyboardZoomMotion.d.ts.map +1 -0
- package/dist/src/utils/keyboardZoomMotion.js +285 -0
- package/dist/src/view/axisGridView.d.ts +1 -1
- package/dist/src/view/axisGridView.js +0 -1
- package/dist/src/view/axisView.d.ts +1 -1
- package/dist/src/view/concatView.d.ts +6 -3
- package/dist/src/view/concatView.d.ts.map +1 -1
- package/dist/src/view/concatView.js +9 -2
- package/dist/src/view/containerMutationHelper.d.ts +6 -6
- package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
- package/dist/src/view/containerView.d.ts +7 -5
- package/dist/src/view/containerView.d.ts.map +1 -1
- package/dist/src/view/containerView.js +4 -1
- package/dist/src/view/facetView.d.ts +1 -1
- package/dist/src/view/flowBuilder.d.ts +1 -1
- package/dist/src/view/flowBuilder.d.ts.map +1 -1
- package/dist/src/view/gridView/gridChild.d.ts +3 -3
- package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
- package/dist/src/view/gridView/gridChild.js +0 -2
- package/dist/src/view/gridView/gridView.d.ts +13 -11
- package/dist/src/view/gridView/gridView.d.ts.map +1 -1
- package/dist/src/view/gridView/gridView.js +17 -26
- package/dist/src/view/gridView/keyboardZoomController.d.ts +21 -0
- package/dist/src/view/gridView/keyboardZoomController.d.ts.map +1 -0
- package/dist/src/view/gridView/keyboardZoomController.js +202 -0
- package/dist/src/view/gridView/scrollbar.d.ts +1 -1
- package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
- package/dist/src/view/gridView/scrollbar.js +0 -1
- package/dist/src/view/gridView/selectionRect.d.ts +1 -1
- package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
- package/dist/src/view/gridView/selectionRect.js +0 -1
- package/dist/src/view/gridView/separatorView.js +0 -1
- package/dist/src/view/gridView/zoomNavigationUtils.d.ts +19 -0
- package/dist/src/view/gridView/zoomNavigationUtils.d.ts.map +1 -0
- package/dist/src/view/gridView/zoomNavigationUtils.js +51 -0
- package/dist/src/view/layerView.d.ts +8 -5
- package/dist/src/view/layerView.d.ts.map +1 -1
- package/dist/src/view/layerView.js +6 -2
- package/dist/src/view/title.d.ts.map +1 -1
- package/dist/src/view/title.js +0 -1
- package/dist/src/view/unitView.d.ts +7 -4
- package/dist/src/view/unitView.d.ts.map +1 -1
- package/dist/src/view/unitView.js +5 -1
- package/dist/src/view/view.d.ts +13 -9
- package/dist/src/view/view.d.ts.map +1 -1
- package/dist/src/view/view.js +7 -1
- package/dist/src/view/viewError.d.ts +1 -1
- package/dist/src/view/viewError.d.ts.map +1 -1
- package/dist/src/view/viewFactory.d.ts +3 -44
- package/dist/src/view/viewFactory.d.ts.map +1 -1
- package/dist/src/view/viewFactory.js +28 -69
- package/dist/src/view/viewSelectors.d.ts.map +1 -1
- package/dist/src/view/viewSelectors.js +123 -160
- package/dist/src/view/viewSpecGuards.d.ts +43 -0
- package/dist/src/view/viewSpecGuards.d.ts.map +1 -0
- package/dist/src/view/viewSpecGuards.js +69 -0
- package/dist/src/view/viewUtils.d.ts +1 -1
- package/dist/src/view/viewUtils.d.ts.map +1 -1
- package/dist/src/view/zoom.d.ts +1 -0
- package/dist/src/view/zoom.d.ts.map +1 -1
- package/dist/src/view/zoom.js +5 -1
- package/package.json +3 -3
- package/dist/src/data/collector.test.d.ts +0 -2
- package/dist/src/data/collector.test.d.ts.map +0 -1
- package/dist/src/data/dataFlow.test.d.ts +0 -2
- package/dist/src/data/dataFlow.test.d.ts.map +0 -1
- package/dist/src/data/flow.test.d.ts +0 -2
- package/dist/src/data/flow.test.d.ts.map +0 -1
- package/dist/src/data/flowInit.test.d.ts +0 -2
- package/dist/src/data/flowInit.test.d.ts.map +0 -1
- package/dist/src/data/flowNode.test.d.ts +0 -2
- package/dist/src/data/flowNode.test.d.ts.map +0 -1
- package/dist/src/data/flowOptimizer.test.d.ts +0 -2
- package/dist/src/data/flowOptimizer.test.d.ts.map +0 -1
- package/dist/src/data/formats/fasta.test.d.ts +0 -2
- package/dist/src/data/formats/fasta.test.d.ts.map +0 -1
- package/dist/src/data/keyIndex.test.d.ts +0 -2
- package/dist/src/data/keyIndex.test.d.ts.map +0 -1
- package/dist/src/data/sources/inlineSource.test.d.ts +0 -2
- package/dist/src/data/sources/inlineSource.test.d.ts.map +0 -1
- package/dist/src/data/sources/sequenceSource.test.d.ts +0 -2
- package/dist/src/data/sources/sequenceSource.test.d.ts.map +0 -1
- package/dist/src/data/transforms/aggregate.test.d.ts +0 -2
- package/dist/src/data/transforms/aggregate.test.d.ts.map +0 -1
- package/dist/src/data/transforms/clone.test.d.ts +0 -2
- package/dist/src/data/transforms/clone.test.d.ts.map +0 -1
- package/dist/src/data/transforms/coverage.test.d.ts +0 -2
- package/dist/src/data/transforms/coverage.test.d.ts.map +0 -1
- package/dist/src/data/transforms/filter.test.d.ts +0 -2
- package/dist/src/data/transforms/filter.test.d.ts.map +0 -1
- package/dist/src/data/transforms/filterScoredLabels.test.d.ts +0 -2
- package/dist/src/data/transforms/filterScoredLabels.test.d.ts.map +0 -1
- package/dist/src/data/transforms/flatten.test.d.ts +0 -2
- package/dist/src/data/transforms/flatten.test.d.ts.map +0 -1
- package/dist/src/data/transforms/flattenDelimited.test.d.ts +0 -2
- package/dist/src/data/transforms/flattenDelimited.test.d.ts.map +0 -1
- package/dist/src/data/transforms/flattenSequence.test.d.ts +0 -2
- package/dist/src/data/transforms/flattenSequence.test.d.ts.map +0 -1
- package/dist/src/data/transforms/formula.test.d.ts +0 -2
- package/dist/src/data/transforms/formula.test.d.ts.map +0 -1
- package/dist/src/data/transforms/identifier.test.d.ts +0 -2
- package/dist/src/data/transforms/identifier.test.d.ts.map +0 -1
- package/dist/src/data/transforms/pileup.test.d.ts +0 -2
- package/dist/src/data/transforms/pileup.test.d.ts.map +0 -1
- package/dist/src/data/transforms/project.test.d.ts +0 -2
- package/dist/src/data/transforms/project.test.d.ts.map +0 -1
- package/dist/src/data/transforms/regexExtract.test.d.ts +0 -2
- package/dist/src/data/transforms/regexExtract.test.d.ts.map +0 -1
- package/dist/src/data/transforms/regexFold.test.d.ts +0 -2
- package/dist/src/data/transforms/regexFold.test.d.ts.map +0 -1
- package/dist/src/data/transforms/sample.test.d.ts +0 -2
- package/dist/src/data/transforms/sample.test.d.ts.map +0 -1
- package/dist/src/data/transforms/stack.test.d.ts +0 -2
- package/dist/src/data/transforms/stack.test.d.ts.map +0 -1
- package/dist/src/encoder/accessor.test.d.ts +0 -2
- package/dist/src/encoder/accessor.test.d.ts.map +0 -1
- package/dist/src/encoder/encoder.test.d.ts +0 -2
- package/dist/src/encoder/encoder.test.d.ts.map +0 -1
- package/dist/src/encoder/metadataChannels.test.d.ts +0 -2
- package/dist/src/encoder/metadataChannels.test.d.ts.map +0 -1
- package/dist/src/genome/genome.test.d.ts +0 -2
- package/dist/src/genome/genome.test.d.ts.map +0 -1
- package/dist/src/genome/genomes.test.d.ts +0 -2
- package/dist/src/genome/genomes.test.d.ts.map +0 -1
- package/dist/src/genome/scaleIndex.test.d.ts +0 -2
- package/dist/src/genome/scaleIndex.test.d.ts.map +0 -1
- package/dist/src/genome/scaleLocus.test.d.ts +0 -2
- package/dist/src/genome/scaleLocus.test.d.ts.map +0 -1
- package/dist/src/genomeSpy/viewDataInit.test.d.ts +0 -2
- package/dist/src/genomeSpy/viewDataInit.test.d.ts.map +0 -1
- package/dist/src/gl/colorUtils.test.d.ts +0 -2
- package/dist/src/gl/colorUtils.test.d.ts.map +0 -1
- package/dist/src/paramRuntime/expressionRef.test.d.ts +0 -2
- package/dist/src/paramRuntime/expressionRef.test.d.ts.map +0 -1
- package/dist/src/paramRuntime/graphRuntime.test.d.ts +0 -2
- package/dist/src/paramRuntime/graphRuntime.test.d.ts.map +0 -1
- package/dist/src/paramRuntime/paramRuntime.test.d.ts +0 -2
- package/dist/src/paramRuntime/paramRuntime.test.d.ts.map +0 -1
- package/dist/src/paramRuntime/paramStore.test.d.ts +0 -2
- package/dist/src/paramRuntime/paramStore.test.d.ts.map +0 -1
- package/dist/src/scale/scale.test.d.ts +0 -2
- package/dist/src/scale/scale.test.d.ts.map +0 -1
- package/dist/src/scale/ticks.test.d.ts +0 -2
- package/dist/src/scale/ticks.test.d.ts.map +0 -1
- package/dist/src/scales/axisResolution.test.d.ts +0 -2
- package/dist/src/scales/axisResolution.test.d.ts.map +0 -1
- package/dist/src/scales/domainPlanner.test.d.ts +0 -2
- package/dist/src/scales/domainPlanner.test.d.ts.map +0 -1
- package/dist/src/scales/scaleInstanceManager.test.d.ts +0 -2
- package/dist/src/scales/scaleInstanceManager.test.d.ts.map +0 -1
- package/dist/src/scales/scaleInteractionController.test.d.ts +0 -2
- package/dist/src/scales/scaleInteractionController.test.d.ts.map +0 -1
- package/dist/src/scales/scaleResolution.test.d.ts +0 -2
- package/dist/src/scales/scaleResolution.test.d.ts.map +0 -1
- package/dist/src/scales/scaleRules.test.d.ts +0 -2
- package/dist/src/scales/scaleRules.test.d.ts.map +0 -1
- package/dist/src/selection/selection.test.d.ts +0 -2
- package/dist/src/selection/selection.test.d.ts.map +0 -1
- package/dist/src/tooltip/dataTooltipHandler.test.d.ts +0 -2
- package/dist/src/tooltip/dataTooltipHandler.test.d.ts.map +0 -1
- package/dist/src/tooltip/flattenDatumRows.test.d.ts +0 -2
- package/dist/src/tooltip/flattenDatumRows.test.d.ts.map +0 -1
- package/dist/src/tooltip/tooltipContext.test.d.ts +0 -2
- package/dist/src/tooltip/tooltipContext.test.d.ts.map +0 -1
- package/dist/src/utils/addBaseUrl.test.d.ts +0 -2
- package/dist/src/utils/addBaseUrl.test.d.ts.map +0 -1
- package/dist/src/utils/binnedIndex.test.d.ts +0 -2
- package/dist/src/utils/binnedIndex.test.d.ts.map +0 -1
- package/dist/src/utils/cloner.test.d.ts +0 -2
- package/dist/src/utils/cloner.test.d.ts.map +0 -1
- package/dist/src/utils/coalesce.test.d.ts +0 -2
- package/dist/src/utils/coalesce.test.d.ts.map +0 -1
- package/dist/src/utils/concatIterables.test.d.ts +0 -2
- package/dist/src/utils/concatIterables.test.d.ts.map +0 -1
- package/dist/src/utils/deepEqual.test.d.ts +0 -2
- package/dist/src/utils/deepEqual.test.d.ts.map +0 -1
- package/dist/src/utils/domainArray.test.d.ts +0 -2
- package/dist/src/utils/domainArray.test.d.ts.map +0 -1
- package/dist/src/utils/fetchUtils.test.d.ts +0 -2
- package/dist/src/utils/fetchUtils.test.d.ts.map +0 -1
- package/dist/src/utils/indexer.test.d.ts +0 -2
- package/dist/src/utils/indexer.test.d.ts.map +0 -1
- package/dist/src/utils/interactionEvent.test.d.ts +0 -2
- package/dist/src/utils/interactionEvent.test.d.ts.map +0 -1
- package/dist/src/utils/iterateNestedMaps.test.d.ts +0 -2
- package/dist/src/utils/iterateNestedMaps.test.d.ts.map +0 -1
- package/dist/src/utils/kWayMerge.test.d.ts +0 -2
- package/dist/src/utils/kWayMerge.test.d.ts.map +0 -1
- package/dist/src/utils/mergeObjects.test.d.ts +0 -2
- package/dist/src/utils/mergeObjects.test.d.ts.map +0 -1
- package/dist/src/utils/numberExtractor.test.d.ts +0 -2
- package/dist/src/utils/numberExtractor.test.d.ts.map +0 -1
- package/dist/src/utils/propertyCacher.test.d.ts +0 -2
- package/dist/src/utils/propertyCacher.test.d.ts.map +0 -1
- package/dist/src/utils/propertyCoalescer.test.d.ts +0 -2
- package/dist/src/utils/propertyCoalescer.test.d.ts.map +0 -1
- package/dist/src/utils/radixSort.test.d.ts +0 -2
- package/dist/src/utils/radixSort.test.d.ts.map +0 -1
- package/dist/src/utils/reservationMap.test.d.ts +0 -2
- package/dist/src/utils/reservationMap.test.d.ts.map +0 -1
- package/dist/src/utils/ringBuffer.test.d.ts +0 -2
- package/dist/src/utils/ringBuffer.test.d.ts.map +0 -1
- package/dist/src/utils/throttle.test.d.ts +0 -2
- package/dist/src/utils/throttle.test.d.ts.map +0 -1
- package/dist/src/utils/topK.test.d.ts +0 -2
- package/dist/src/utils/topK.test.d.ts.map +0 -1
- package/dist/src/utils/trees.test.d.ts +0 -2
- package/dist/src/utils/trees.test.d.ts.map +0 -1
- package/dist/src/utils/ui/tooltip.test.d.ts +0 -2
- package/dist/src/utils/ui/tooltip.test.d.ts.map +0 -1
- package/dist/src/utils/url.test.d.ts +0 -2
- package/dist/src/utils/url.test.d.ts.map +0 -1
- package/dist/src/utils/variableTools.test.d.ts +0 -2
- package/dist/src/utils/variableTools.test.d.ts.map +0 -1
- package/dist/src/view/concatView.test.d.ts +0 -2
- package/dist/src/view/concatView.test.d.ts.map +0 -1
- package/dist/src/view/dataReadiness.test.d.ts +0 -2
- package/dist/src/view/dataReadiness.test.d.ts.map +0 -1
- package/dist/src/view/flowBuilder.test.d.ts +0 -2
- package/dist/src/view/flowBuilder.test.d.ts.map +0 -1
- package/dist/src/view/gridView/gridView.test.d.ts +0 -2
- package/dist/src/view/gridView/gridView.test.d.ts.map +0 -1
- package/dist/src/view/gridView/selectionRect.test.d.ts +0 -2
- package/dist/src/view/gridView/selectionRect.test.d.ts.map +0 -1
- package/dist/src/view/layerView.test.d.ts +0 -2
- package/dist/src/view/layerView.test.d.ts.map +0 -1
- package/dist/src/view/layout/flexLayout.test.d.ts +0 -2
- package/dist/src/view/layout/flexLayout.test.d.ts.map +0 -1
- package/dist/src/view/layout/grid.test.d.ts +0 -2
- package/dist/src/view/layout/grid.test.d.ts.map +0 -1
- package/dist/src/view/layout/rectangle.test.d.ts +0 -2
- package/dist/src/view/layout/rectangle.test.d.ts.map +0 -1
- package/dist/src/view/multiscale.test.d.ts +0 -2
- package/dist/src/view/multiscale.test.d.ts.map +0 -1
- package/dist/src/view/view.test.d.ts +0 -2
- package/dist/src/view/view.test.d.ts.map +0 -1
- package/dist/src/view/viewDispose.test.d.ts +0 -2
- package/dist/src/view/viewDispose.test.d.ts.map +0 -1
- package/dist/src/view/viewFactory.test.d.ts +0 -2
- package/dist/src/view/viewFactory.test.d.ts.map +0 -1
- package/dist/src/view/viewParamRuntime.test.d.ts +0 -2
- package/dist/src/view/viewParamRuntime.test.d.ts.map +0 -1
- package/dist/src/view/viewSelectors.test.d.ts +0 -2
- package/dist/src/view/viewSelectors.test.d.ts.map +0 -1
- package/dist/src/view/viewUtils.test.d.ts +0 -2
- package/dist/src/view/viewUtils.test.d.ts.map +0 -1
package/dist/schema.json
CHANGED
|
@@ -997,10 +997,6 @@
|
|
|
997
997
|
},
|
|
998
998
|
"type": "array"
|
|
999
999
|
},
|
|
1000
|
-
"configurableVisibility": {
|
|
1001
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
1002
|
-
"type": "boolean"
|
|
1003
|
-
},
|
|
1004
1000
|
"data": {
|
|
1005
1001
|
"$ref": "#/definitions/Data",
|
|
1006
1002
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -1571,10 +1567,6 @@
|
|
|
1571
1567
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
1572
1568
|
"type": "string"
|
|
1573
1569
|
},
|
|
1574
|
-
"configurableVisibility": {
|
|
1575
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
1576
|
-
"type": "boolean"
|
|
1577
|
-
},
|
|
1578
1570
|
"data": {
|
|
1579
1571
|
"$ref": "#/definitions/Data",
|
|
1580
1572
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -1927,10 +1919,6 @@
|
|
|
1927
1919
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
1928
1920
|
"type": "string"
|
|
1929
1921
|
},
|
|
1930
|
-
"configurableVisibility": {
|
|
1931
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
1932
|
-
"type": "boolean"
|
|
1933
|
-
},
|
|
1934
1922
|
"data": {
|
|
1935
1923
|
"$ref": "#/definitions/Data",
|
|
1936
1924
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -2290,10 +2278,6 @@
|
|
|
2290
2278
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
2291
2279
|
"type": "string"
|
|
2292
2280
|
},
|
|
2293
|
-
"configurableVisibility": {
|
|
2294
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
2295
|
-
"type": "boolean"
|
|
2296
|
-
},
|
|
2297
2281
|
"data": {
|
|
2298
2282
|
"$ref": "#/definitions/Data",
|
|
2299
2283
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -2658,10 +2642,6 @@
|
|
|
2658
2642
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
2659
2643
|
"type": "string"
|
|
2660
2644
|
},
|
|
2661
|
-
"configurableVisibility": {
|
|
2662
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
2663
|
-
"type": "boolean"
|
|
2664
|
-
},
|
|
2665
2645
|
"data": {
|
|
2666
2646
|
"$ref": "#/definitions/Data",
|
|
2667
2647
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -3023,10 +3003,6 @@
|
|
|
3023
3003
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
3024
3004
|
"type": "string"
|
|
3025
3005
|
},
|
|
3026
|
-
"configurableVisibility": {
|
|
3027
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
3028
|
-
"type": "boolean"
|
|
3029
|
-
},
|
|
3030
3006
|
"data": {
|
|
3031
3007
|
"$ref": "#/definitions/Data",
|
|
3032
3008
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -3405,10 +3381,6 @@
|
|
|
3405
3381
|
},
|
|
3406
3382
|
"type": "array"
|
|
3407
3383
|
},
|
|
3408
|
-
"configurableVisibility": {
|
|
3409
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
3410
|
-
"type": "boolean"
|
|
3411
|
-
},
|
|
3412
3384
|
"data": {
|
|
3413
3385
|
"$ref": "#/definitions/Data",
|
|
3414
3386
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -5455,10 +5427,6 @@
|
|
|
5455
5427
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
5456
5428
|
"type": "string"
|
|
5457
5429
|
},
|
|
5458
|
-
"configurableVisibility": {
|
|
5459
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
5460
|
-
"type": "boolean"
|
|
5461
|
-
},
|
|
5462
5430
|
"data": {
|
|
5463
5431
|
"$ref": "#/definitions/Data",
|
|
5464
5432
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -6097,10 +6065,6 @@
|
|
|
6097
6065
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
6098
6066
|
"type": "string"
|
|
6099
6067
|
},
|
|
6100
|
-
"configurableVisibility": {
|
|
6101
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
6102
|
-
"type": "boolean"
|
|
6103
|
-
},
|
|
6104
6068
|
"data": {
|
|
6105
6069
|
"$ref": "#/definitions/Data",
|
|
6106
6070
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -6923,10 +6887,6 @@
|
|
|
6923
6887
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
6924
6888
|
"type": "string"
|
|
6925
6889
|
},
|
|
6926
|
-
"configurableVisibility": {
|
|
6927
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
6928
|
-
"type": "boolean"
|
|
6929
|
-
},
|
|
6930
6890
|
"data": {
|
|
6931
6891
|
"$ref": "#/definitions/Data",
|
|
6932
6892
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -10140,10 +10100,6 @@
|
|
|
10140
10100
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
10141
10101
|
"type": "string"
|
|
10142
10102
|
},
|
|
10143
|
-
"configurableVisibility": {
|
|
10144
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
10145
|
-
"type": "boolean"
|
|
10146
|
-
},
|
|
10147
10103
|
"data": {
|
|
10148
10104
|
"$ref": "#/definitions/Data",
|
|
10149
10105
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -10568,10 +10524,6 @@
|
|
|
10568
10524
|
"description": "The base URL for relative URL data sources and URL [imports](https://genomespy.app/docs/grammar/import/#importing-from-a-url). The base URLs are inherited in the view hierarchy unless overridden with this property. By default, the top-level view's base URL equals to the visualization specification's base URL.",
|
|
10569
10525
|
"type": "string"
|
|
10570
10526
|
},
|
|
10571
|
-
"configurableVisibility": {
|
|
10572
|
-
"description": "Is the visibility configurable interactively from the [GenomeSpy App](https://genomespy.app/docs/sample-collections/). Configurability requires that the view has an explicitly specified name that is unique within its import scope.\n\n**Default:** `false` for children of `layer`, `true` for others.",
|
|
10573
|
-
"type": "boolean"
|
|
10574
|
-
},
|
|
10575
10527
|
"data": {
|
|
10576
10528
|
"$ref": "#/definitions/Data",
|
|
10577
10529
|
"description": "Specifies a [data source](https://genomespy.app/docs/grammar/data/). If omitted, the data source is inherited from the parent view."
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerUi.d.ts","sourceRoot":"","sources":["../../../src/genomeSpy/containerUi.js"],"names":[],"mappings":"AAGA;;GAEG;AACH,6CAFW,WAAW;;;;;
|
|
1
|
+
{"version":3,"file":"containerUi.d.ts","sourceRoot":"","sources":["../../../src/genomeSpy/containerUi.js"],"names":[],"mappings":"AAGA;;GAEG;AACH,6CAFW,WAAW;;;;;EA4BrB;AAED;;;GAGG;AACH,4CAHW,WAAW,WACX,MAAM,QAUhB;oBA7CmB,wBAAwB"}
|
|
@@ -8,7 +8,7 @@ export function createViewHighlighter(container) {
|
|
|
8
8
|
return (view) => {
|
|
9
9
|
container.querySelector(".view-highlight")?.remove();
|
|
10
10
|
if (view) {
|
|
11
|
-
if (!view.
|
|
11
|
+
if (!view.isVisible()) {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
const coords = view.coords;
|
|
@@ -21,7 +21,7 @@ export function createViewHighlighter(container) {
|
|
|
21
21
|
div.style.width = coords.width + "px";
|
|
22
22
|
div.style.height = coords.height + "px";
|
|
23
23
|
div.style.border = "1px solid green";
|
|
24
|
-
div.style.backgroundColor = "rgba(0, 255, 0, 0.
|
|
24
|
+
div.style.backgroundColor = "rgba(0, 255, 0, 0.05)";
|
|
25
25
|
div.style.pointerEvents = "none";
|
|
26
26
|
container.appendChild(div);
|
|
27
27
|
}
|
package/dist/src/genomeSpy.d.ts
CHANGED
|
@@ -28,11 +28,11 @@ export default class GenomeSpy {
|
|
|
28
28
|
*
|
|
29
29
|
* @type {(view: View) => boolean}
|
|
30
30
|
*/
|
|
31
|
-
viewVisibilityPredicate: (view: import("./view/view.js").default) => boolean;
|
|
31
|
+
viewVisibilityPredicate: (view: import("./view/view.js").default<import("./spec/view.js").ViewSpec>) => boolean;
|
|
32
32
|
/** @type {Record<string, import("./tooltip/tooltipHandler.js").TooltipHandler>}> */
|
|
33
33
|
tooltipHandlers: Record<string, import("./tooltip/tooltipHandler.js").TooltipHandler>;
|
|
34
34
|
/** @type {View} */
|
|
35
|
-
viewRoot: import("./view/view.js").default
|
|
35
|
+
viewRoot: import("./view/view.js").default<import("./spec/view.js").ViewSpec>;
|
|
36
36
|
dpr: number;
|
|
37
37
|
/**
|
|
38
38
|
*
|
|
@@ -104,7 +104,7 @@ export default class GenomeSpy {
|
|
|
104
104
|
computeLayout(): void;
|
|
105
105
|
renderAll(): void;
|
|
106
106
|
renderPickingFramebuffer(): void;
|
|
107
|
-
getSearchableViews(): UnitView[];
|
|
107
|
+
getSearchableViews(): UnitView<import("./spec/view.js").UnitSpec>[];
|
|
108
108
|
getNamedScaleResolutions(): Map<string, import("./scales/scaleResolution.js").default>;
|
|
109
109
|
#private;
|
|
110
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genomeSpy.d.ts","sourceRoot":"","sources":["../../src/genomeSpy.js"],"names":[],"mappings":"AA+CA;IAoBI;;;;;OAKG;IAEH;;;;;OAKG;IACH,uBAJW,WAAW,qDAEX,OAAO,qBAAqB,EAAE,YAAY,EA0CpD;IAvCG,uBAA0B;IAC1B,oDAAsB;IAItB,sCAAsC;IACtC,wCAAgB;IAEhB,yBAAoC;IAEpC,4CAA4C;IAC5C,oBADW,CAAC,CAAS,IAAM,EAAN,MAAM,KAAE,MAAM,EAAE,CAAC,EAAE,CACZ;IAE5B,mBAAoD;IAEpD,0BAA0B;IAC1B,aADW,WAAW,CACM;IAE5B;;;;;OAKG;IACH,yBAFU,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"genomeSpy.d.ts","sourceRoot":"","sources":["../../src/genomeSpy.js"],"names":[],"mappings":"AA+CA;IAoBI;;;;;OAKG;IAEH;;;;;OAKG;IACH,uBAJW,WAAW,qDAEX,OAAO,qBAAqB,EAAE,YAAY,EA0CpD;IAvCG,uBAA0B;IAC1B,oDAAsB;IAItB,sCAAsC;IACtC,wCAAgB;IAEhB,yBAAoC;IAEpC,4CAA4C;IAC5C,oBADW,CAAC,CAAS,IAAM,EAAN,MAAM,KAAE,MAAM,EAAE,CAAC,EAAE,CACZ;IAE5B,mBAAoD;IAEpD,0BAA0B;IAC1B,aADW,WAAW,CACM;IAE5B;;;;;OAKG;IACH,yBAFU,CAAC,IAAI,qEAAM,KAAK,OAAO,CAE8B;IAE/D,oFAAoF;IACpF,iBADW,MAAM,CAAC,MAAM,EAAE,OAAO,6BAA6B,EAAE,cAAc,CAAC,CAK9E;IAED,mBAAmB;IACnB,8EAAyB;IAIzB,YAAkC;IAatC;;;OAGG;IACH,oCAFW,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,EAAE,QAIjC;IAED;;OAEG;IACH,+BAFW,MAAM,YAShB;IAED;;;;OAIG;IACH,sBAHW,MAAM,QACN,GAAG,EAAE,QAYf;IAED;;;OAGG;IACH,uBAHW,MAAM,YACN,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,QAI9B;IAED;;;OAGG;IACH,0BAHW,MAAM,YACN,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,QAI9B;IAED;;;;;OAKG;IACH,gBAHW,kBAAkB,YAClB,GAAG,QAMb;IA8DG,iDAAsB;IAQ1B;;OAEG;IACH,gBAqBC;IA+KD;;;OAGG;IACH,UAFa,OAAO,CAAC,OAAO,CAAC,CAyC5B;IAED,2CAiBC;IAED,4BAEC;IAED;;;;;;;OAOG;IACH,cAFa,CAAC,SAFH,CAAC,cACD,CAAS,IAAC,EAAD,CAAC,KAAE,OAAO,CAAC,MAAM,GAAG,WAAW,GAAG,OAAO,KAAK,EAAE,cAAc,CAAC,QAKlF;IAED;;;;;;;;OAQG;IACH,4BANW,MAAM,kBACN,MAAM,qBACN,MAAM,eACN,MAAM,UAuBhB;IAED;;;MAEC;IAED,sBAEC;IAED,kBAEC;IAED,iCAEC;IAED,oEAYC;IAED,uFAWC;;CACJ;;;;iCA/jBY,eAAe,GAAG,QAAQ,GAAG,gBAAgB,GAAG,kBAAkB;4BAbnC,uBAAuB;qBAR9C,qBAAqB;wBAElB,yBAAyB;qBAL5B,oBAAoB"}
|
package/dist/src/genomeSpy.js
CHANGED
|
@@ -253,6 +253,8 @@ export default class GenomeSpy {
|
|
|
253
253
|
{ powerPreference: this.options.powerPreference ?? "default" }
|
|
254
254
|
);
|
|
255
255
|
|
|
256
|
+
canvasWrapper.appendChild(loadingIndicatorsElement);
|
|
257
|
+
|
|
256
258
|
this.tooltip = tooltip;
|
|
257
259
|
this.#loadingStatusRegistry = new LoadingStatusRegistry();
|
|
258
260
|
this.#loadingIndicatorManager = new LoadingIndicatorManager(
|
|
@@ -322,9 +324,11 @@ export default class GenomeSpy {
|
|
|
322
324
|
getCurrentHover: () =>
|
|
323
325
|
this.#interactionController.getCurrentHover(),
|
|
324
326
|
addKeyboardListener: (type, listener) => {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
327
|
+
this.#keyboardListenerManager.add(type, (event) => {
|
|
328
|
+
if (this.#shouldDispatchKeyboardEvent(type, event)) {
|
|
329
|
+
listener(event);
|
|
330
|
+
}
|
|
331
|
+
});
|
|
328
332
|
},
|
|
329
333
|
addBroadcastListener: (type, listener) =>
|
|
330
334
|
this.#extraBroadcastListeners.add(type, listener),
|
|
@@ -352,6 +356,26 @@ export default class GenomeSpy {
|
|
|
352
356
|
});
|
|
353
357
|
}
|
|
354
358
|
|
|
359
|
+
/**
|
|
360
|
+
* Scopes keydown events to the active embed (focused container or hovered container).
|
|
361
|
+
* Keyup is always dispatched so key-state machines can reliably release keys.
|
|
362
|
+
*
|
|
363
|
+
* @param {"keydown" | "keyup"} type
|
|
364
|
+
* @param {KeyboardEvent} event
|
|
365
|
+
*/
|
|
366
|
+
#shouldDispatchKeyboardEvent(type, event) {
|
|
367
|
+
if (type === "keyup") {
|
|
368
|
+
return true;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
const activeElement = document.activeElement;
|
|
372
|
+
if (activeElement && activeElement !== document.body) {
|
|
373
|
+
return this.container.contains(activeElement);
|
|
374
|
+
} else {
|
|
375
|
+
return this.container.matches(":hover");
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
355
379
|
/**
|
|
356
380
|
* @param {import("./types/viewContext.js").default} context
|
|
357
381
|
*/
|
package/dist/src/marks/mark.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export default class Mark<P extends import("../spec/mark.js").MarkProps = import
|
|
|
23
23
|
* @param {import("../view/unitView.js").default} unitView
|
|
24
24
|
*/
|
|
25
25
|
constructor(unitView: import("../view/unitView.js").default);
|
|
26
|
-
unitView: import("../view/unitView.js").default
|
|
26
|
+
unitView: import("../view/unitView.js").default<import("../spec/view.js").UnitSpec>;
|
|
27
27
|
/** @type {Partial<Record<Channel, import("../types/encoder.js").Encoder>>} */
|
|
28
28
|
encoders: Partial<Record<import("../spec/channel.js").Channel, import("../types/encoder.js").Encoder>>;
|
|
29
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../../../src/marks/mark.js"],"names":[],"mappings":"AA6DA,mCAAoC,sBAAsB,CAAC;AAC3D,mCAAoC,sBAAsB,CAAC;AAE3D,uCAAwC,oBAAoB,CAAC;AAE7D;;;;;;;;;;;;;GAaG;AAEH;;GAEG;AACH,0BAF0B,CAAC,SAAd,mCAAW;IAkBpB;;OAEG;IACH,sBAFW,OAAO,qBAAqB,EAAE,OAAO,EA4G/C;IAzGG,
|
|
1
|
+
{"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../../../src/marks/mark.js"],"names":[],"mappings":"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"}
|
package/dist/src/spec/view.d.ts
CHANGED
|
@@ -233,16 +233,6 @@ export interface ViewSpecBase extends ResolveSpec {
|
|
|
233
233
|
*/
|
|
234
234
|
visible?: boolean;
|
|
235
235
|
|
|
236
|
-
/**
|
|
237
|
-
* Is the visibility configurable interactively from the [GenomeSpy
|
|
238
|
-
* App](https://genomespy.app/docs/sample-collections/).
|
|
239
|
-
* Configurability requires that the view has an explicitly specified name
|
|
240
|
-
* that is unique within its import scope.
|
|
241
|
-
*
|
|
242
|
-
* **Default:** `false` for children of `layer`, `true` for others.
|
|
243
|
-
*/
|
|
244
|
-
configurableVisibility?: boolean;
|
|
245
|
-
|
|
246
236
|
/**
|
|
247
237
|
* [Templates](https://genomespy.app/docs/grammar/import/#repeating-with-named-templates)
|
|
248
238
|
* that can be reused within the view specification by importing them with the template key.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export namespace DEFAULT_KEYBOARD_ZOOM_MOTION_CONFIG {
|
|
2
|
+
namespace pan {
|
|
3
|
+
let baseSpeed: number;
|
|
4
|
+
let maxExtraSpeed: number;
|
|
5
|
+
let pressHalfLifeMs: number;
|
|
6
|
+
let releaseHalfLifeMs: number;
|
|
7
|
+
let holdGrowthHalfLifeMs: number;
|
|
8
|
+
let stopVelocity: number;
|
|
9
|
+
}
|
|
10
|
+
namespace zoom {
|
|
11
|
+
let baseSpeed_1: number;
|
|
12
|
+
export { baseSpeed_1 as baseSpeed };
|
|
13
|
+
let maxExtraSpeed_1: number;
|
|
14
|
+
export { maxExtraSpeed_1 as maxExtraSpeed };
|
|
15
|
+
let pressHalfLifeMs_1: number;
|
|
16
|
+
export { pressHalfLifeMs_1 as pressHalfLifeMs };
|
|
17
|
+
let releaseHalfLifeMs_1: number;
|
|
18
|
+
export { releaseHalfLifeMs_1 as releaseHalfLifeMs };
|
|
19
|
+
let holdGrowthHalfLifeMs_1: number;
|
|
20
|
+
export { holdGrowthHalfLifeMs_1 as holdGrowthHalfLifeMs };
|
|
21
|
+
let stopVelocity_1: number;
|
|
22
|
+
export { stopVelocity_1 as stopVelocity };
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Handles smooth WASD navigation motion with acceleration and braking.
|
|
27
|
+
*/
|
|
28
|
+
export default class KeyboardZoomMotion {
|
|
29
|
+
/**
|
|
30
|
+
* @param {typeof DEFAULT_KEYBOARD_ZOOM_MOTION_CONFIG} [config]
|
|
31
|
+
*/
|
|
32
|
+
constructor(config?: typeof DEFAULT_KEYBOARD_ZOOM_MOTION_CONFIG);
|
|
33
|
+
/**
|
|
34
|
+
* @param {string} code
|
|
35
|
+
*/
|
|
36
|
+
isNavigationKey(code: string): code is "KeyW" | "KeyA" | "KeyS" | "KeyD";
|
|
37
|
+
/**
|
|
38
|
+
* @param {string} code
|
|
39
|
+
* @returns {boolean} true if the key state changed
|
|
40
|
+
*/
|
|
41
|
+
handleKeyDown(code: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* @param {string} code
|
|
44
|
+
* @returns {boolean} true if the key state changed
|
|
45
|
+
*/
|
|
46
|
+
handleKeyUp(code: string): boolean;
|
|
47
|
+
reset(): void;
|
|
48
|
+
/**
|
|
49
|
+
* @param {number} dtMs
|
|
50
|
+
* @returns {MotionStep}
|
|
51
|
+
*/
|
|
52
|
+
step(dtMs: number): MotionStep;
|
|
53
|
+
isActive(): boolean;
|
|
54
|
+
#private;
|
|
55
|
+
}
|
|
56
|
+
export type NavigationKeyCode = "KeyW" | "KeyA" | "KeyS" | "KeyD";
|
|
57
|
+
export type AxisProfile = {
|
|
58
|
+
/**
|
|
59
|
+
* Target speed reached rapidly after key press.
|
|
60
|
+
*/
|
|
61
|
+
baseSpeed: number;
|
|
62
|
+
/**
|
|
63
|
+
* Additional speed gained during sustained hold.
|
|
64
|
+
*/
|
|
65
|
+
maxExtraSpeed: number;
|
|
66
|
+
/**
|
|
67
|
+
* Half-life for accelerating toward target speed.
|
|
68
|
+
*/
|
|
69
|
+
pressHalfLifeMs: number;
|
|
70
|
+
/**
|
|
71
|
+
* Half-life for braking velocity after release.
|
|
72
|
+
*/
|
|
73
|
+
releaseHalfLifeMs: number;
|
|
74
|
+
/**
|
|
75
|
+
* Half-life for hold-time extra acceleration.
|
|
76
|
+
*/
|
|
77
|
+
holdGrowthHalfLifeMs: number;
|
|
78
|
+
/**
|
|
79
|
+
* Velocity threshold below which motion snaps to zero.
|
|
80
|
+
*/
|
|
81
|
+
stopVelocity: number;
|
|
82
|
+
};
|
|
83
|
+
export type AxisState = {
|
|
84
|
+
velocity: number;
|
|
85
|
+
holdMs: number;
|
|
86
|
+
direction: -1 | 0 | 1;
|
|
87
|
+
};
|
|
88
|
+
export type MotionStep = {
|
|
89
|
+
panDelta: number;
|
|
90
|
+
zoomDelta: number;
|
|
91
|
+
active: boolean;
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=keyboardZoomMotion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboardZoomMotion.d.ts","sourceRoot":"","sources":["../../../src/utils/keyboardZoomMotion.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAmDA;;GAEG;AACH;IAcI;;OAEG;IACH,qBAFW,OAAO,mCAAmC,EAwBpD;IAED;;OAEG;IACH,sBAFW,MAAM,6CAShB;IAED;;;OAGG;IACH,oBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,kBAHW,MAAM,GACJ,OAAO,CAInB;IAED,cAaC;IAED;;;OAGG;IACH,WAHW,MAAM,GACJ,UAAU,CAwCtB;IAED,oBAWC;;CAqBJ;gCArNY,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;;;;;eAKpC,MAAM;;;;mBACN,MAAM;;;;qBACN,MAAM;;;;uBACN,MAAM;;;;0BACN,MAAM;;;;kBACN,MAAM;;;cAKN,MAAM;YACN,MAAM;eACN,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;;;cAKV,MAAM;eACN,MAAM;YACN,OAAO"}
|