@vitessce/scatterplot-gating 3.4.9 → 3.4.11

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.
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-68f84e2a.js";
2
- import { B as BaseDecoder } from "./index-6edd3db4.js";
2
+ import { B as BaseDecoder } from "./index-c9b4cfce.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -8364,6 +8364,9 @@ const configSchema1_0_16 = configSchema1_0_13.extend({
8364
8364
  coordinationScopesBy: componentCoordinationScopesBy.optional()
8365
8365
  }))
8366
8366
  });
8367
+ const configSchema1_0_17 = configSchema1_0_16.extend({
8368
+ version: z.literal("1.0.17")
8369
+ });
8367
8370
  configSchema1_0_0.shape.coordinationSpace.unwrap();
8368
8371
  configSchema1_0_0.shape.layout.element.shape.coordinationScopes.unwrap();
8369
8372
  function upgradeReplaceViewProp(prefix2, view, coordinationSpace) {
@@ -8835,7 +8838,43 @@ function upgradeFrom1_0_15(config2) {
8835
8838
  version: "1.0.16"
8836
8839
  };
8837
8840
  }
8838
- const latestConfigSchema = configSchema1_0_16;
8841
+ function upgradeFrom1_0_16(config2) {
8842
+ const newConfig = cloneDeep(config2);
8843
+ const { datasets } = newConfig;
8844
+ const newDatasets = datasets.map((datasetDef) => {
8845
+ const { files } = datasetDef;
8846
+ const newFiles = files.map((fileDef) => {
8847
+ const { fileType, options } = fileDef;
8848
+ if (fileType === "obsSets.anndata.zarr") {
8849
+ return {
8850
+ ...fileDef,
8851
+ options: {
8852
+ obsSets: options
8853
+ }
8854
+ };
8855
+ }
8856
+ if (fileType === "obsFeatureColumns.anndata.zarr") {
8857
+ return {
8858
+ ...fileDef,
8859
+ options: {
8860
+ obsFeatureColumns: options
8861
+ }
8862
+ };
8863
+ }
8864
+ return fileDef;
8865
+ });
8866
+ return {
8867
+ ...datasetDef,
8868
+ files: newFiles
8869
+ };
8870
+ });
8871
+ return {
8872
+ ...newConfig,
8873
+ datasets: newDatasets,
8874
+ version: "1.0.17"
8875
+ };
8876
+ }
8877
+ const latestConfigSchema = configSchema1_0_17;
8839
8878
  const SCHEMA_HANDLERS = [
8840
8879
  [configSchema0_1_0, upgradeFrom0_1_0],
8841
8880
  [configSchema1_0_0, upgradeFrom1_0_0],
@@ -8853,7 +8892,8 @@ const SCHEMA_HANDLERS = [
8853
8892
  [configSchema1_0_12, upgradeFrom1_0_12],
8854
8893
  [configSchema1_0_13, upgradeFrom1_0_13],
8855
8894
  [configSchema1_0_14, upgradeFrom1_0_14],
8856
- [configSchema1_0_15, upgradeFrom1_0_15]
8895
+ [configSchema1_0_15, upgradeFrom1_0_15],
8896
+ [configSchema1_0_16, upgradeFrom1_0_16]
8857
8897
  ];
8858
8898
  var re$3 = { exports: {} };
8859
8899
  const SEMVER_SPEC_VERSION = "2.0.0";
@@ -10999,6 +11039,7 @@ const FileType$1 = {
10999
11039
  // Joint file types
11000
11040
  ANNDATA_ZARR: "anndata.zarr",
11001
11041
  ANNDATA_ZARR_ZIP: "anndata.zarr.zip",
11042
+ ANNDATA_H5AD: "anndata.h5ad",
11002
11043
  SPATIALDATA_ZARR: "spatialdata.zarr",
11003
11044
  // Atomic file types
11004
11045
  OBS_EMBEDDING_CSV: "obsEmbedding.csv",
@@ -11039,6 +11080,18 @@ const FileType$1 = {
11039
11080
  OBS_LABELS_ANNDATA_ZARR_ZIP: "obsLabels.anndata.zarr.zip",
11040
11081
  FEATURE_LABELS_ANNDATA_ZARR_ZIP: "featureLabels.anndata.zarr.zip",
11041
11082
  SAMPLE_EDGES_ANNDATA_ZARR_ZIP: "sampleEdges.anndata.zarr.zip",
11083
+ // AnnData - h5ad via reference spec
11084
+ OBS_FEATURE_MATRIX_ANNDATA_H5AD: "obsFeatureMatrix.anndata.h5ad",
11085
+ OBS_FEATURE_COLUMNS_ANNDATA_H5AD: "obsFeatureColumns.anndata.h5ad",
11086
+ OBS_SETS_ANNDATA_H5AD: "obsSets.anndata.h5ad",
11087
+ OBS_EMBEDDING_ANNDATA_H5AD: "obsEmbedding.anndata.h5ad",
11088
+ OBS_SPOTS_ANNDATA_H5AD: "obsSpots.anndata.h5ad",
11089
+ OBS_POINTS_ANNDATA_H5AD: "obsPoints.anndata.h5ad",
11090
+ OBS_LOCATIONS_ANNDATA_H5AD: "obsLocations.anndata.h5ad",
11091
+ OBS_SEGMENTATIONS_ANNDATA_H5AD: "obsSegmentations.anndata.h5ad",
11092
+ OBS_LABELS_ANNDATA_H5AD: "obsLabels.anndata.h5ad",
11093
+ FEATURE_LABELS_ANNDATA_H5AD: "featureLabels.anndata.h5ad",
11094
+ SAMPLE_EDGES_ANNDATA_H5AD: "sampleEdges.anndata.h5ad",
11042
11095
  // SpatialData
11043
11096
  IMAGE_SPATIALDATA_ZARR: "image.spatialdata.zarr",
11044
11097
  LABELS_SPATIALDATA_ZARR: "labels.spatialdata.zarr",
@@ -11223,6 +11276,23 @@ const CoordinationType$1 = {
11223
11276
  CONTOUR_COLOR_ENCODING: "contourColorEncoding",
11224
11277
  CONTOUR_COLOR: "contourColor"
11225
11278
  };
11279
+ const ViewHelpMapping = {
11280
+ SCATTERPLOT: "The scatterplot displays two-dimensional (pre-computed) dimensionality reduction results (such as from t-SNE or UMAP). Each point on the scatterplot represents an observation (e.g., cell).",
11281
+ HEATMAP: "The heatmap displays an observation-by-feature (e.g., cell-by-gene) matrix, typically with transformed (e.g., normalized or standardized) values.",
11282
+ SPATIAL: "The spatial view displays (potentially layered) spatially-resolved data including RGB or multiplexed images, segmentations of observations (bitmask- or polygon-based), and/or points (e.g., representing FISH transcripts).",
11283
+ DESCRIPTION: "The description view displays additional information about a dataset. When images are included in a dataset, the description view also includes image metadata (if contained in the image files).",
11284
+ STATUS: "The status view displays debugging messages, including app-wide error messages when datasets fail to load or when schemas fail to validate. Details about the entity under the mouse cursor (cell, gene, and/or molecule) are displayed during hover interactions.",
11285
+ LAYER_CONTROLLER: "The spatial layer controller provides an interface for manipulating the visualization layers displayed in the spatial view.",
11286
+ GENOMIC_PROFILES: "The genomic profiles view displays genome browser tracks (using the genomic-profiles data type) containing bar plots, where the genome is along the x-axis and the value at each genome position is encoded with a bar along the y-axis.",
11287
+ GATING: "The gating scatterplot displays expression data for two genes (along the X and Y axes). Users can select two genes, and the scatterplot is dynamically generated using observation-by-feature matrix data. Gating can then be performed by using the lasso or box select tools.",
11288
+ FEATURE_LIST: "The feature list controller displays an interactive list of features (e.g., genes).",
11289
+ OBS_SETS: "The observation sets controller displays an interactive list of (potentially hierarchical) observation sets (e.g., cell clusters or cell type annotations).",
11290
+ OBS_SET_SIZES: "The observation set sizes view displays a bar plot with the currently-selected observation sets (e.g., cell types) on the x-axis and bars representing their size (e.g., number of cells) on the y-axis.",
11291
+ OBS_SET_FEATURE_VALUE_DISTRIBUTION: "The observation set feature value distribution view displays a violin plot with values (e.g., expression values) per set (e.g., cell type) for the selected feature (e.g., gene).",
11292
+ FEATURE_VALUE_HISTOGRAM: "The feature value histogram displays the distribution of values (e.g., expression) for the selected feature (e.g., gene).",
11293
+ DOT_PLOT: "The dot plot displays summary information about expression of the selected features (e.g., genes) for each selected observation set (e.g., cell type).",
11294
+ FEATURE_BAR_PLOT: "The feature bar plot displays one bar per observation (e.g., cell) along the x-axis, where the value of a selected feature (e.g., gene) is encoded along the y-axis."
11295
+ };
11226
11296
  const COMPONENT_COORDINATION_TYPES = {
11227
11297
  [ViewType$1.SCATTERPLOT]: [
11228
11298
  CoordinationType$1.DATASET,
@@ -11804,10 +11874,11 @@ function makeConstantWithDeprecationMessage(currObj, oldObj) {
11804
11874
  const handler = {
11805
11875
  get(obj, prop) {
11806
11876
  const oldKeys = Object.keys(oldObj);
11807
- if (oldKeys.includes(prop)) {
11808
- console.warn(`Notice about the constant mapping ${prop}: '${oldObj[prop][0]}':
11809
- ${oldObj[prop][1]}`);
11810
- return oldObj[prop];
11877
+ const propKey = String(prop);
11878
+ if (oldKeys.includes(propKey)) {
11879
+ console.warn(`Notice about the constant mapping ${propKey}: '${oldObj[propKey][0]}':
11880
+ ${oldObj[propKey][1]}`);
11881
+ return oldObj[propKey];
11811
11882
  }
11812
11883
  return obj[prop];
11813
11884
  }
@@ -11892,7 +11963,7 @@ const annDataObsFeatureMatrix = z.object({
11892
11963
  featureFilterPath: z.string().optional().describe("If the feature index should be filtered, put a boolean column here (analogous to the previous geneFilter option). e.g., var/in_obsm_X_small_matrix"),
11893
11964
  initialFeatureFilterPath: z.string().optional().describe("If only a subset of the matrix should be loaded initially, put a boolean column along the feature axis here (analogous to the previous matrixGeneFilter option). e.g., var/highly_variable")
11894
11965
  });
11895
- const annDataObsSets = z.array(z.object({
11966
+ const annDataObsSetsArr = z.array(z.object({
11896
11967
  name: z.string().describe("The display name for the set, like 'Cell Type' or 'Louvain.'"),
11897
11968
  path: z.union([
11898
11969
  z.string().describe("The location in the AnnData store for the set, like 'obs/louvain' or 'obs/celltype.'"),
@@ -11900,9 +11971,15 @@ const annDataObsSets = z.array(z.object({
11900
11971
  ]),
11901
11972
  scorePath: z.string().optional().describe("The location in the AnnData store for the set confidence scores, like 'obs/celltype_prediction_score.'")
11902
11973
  }));
11903
- z.array(z.object({
11974
+ const annDataObsSets = z.object({
11975
+ obsSets: annDataObsSetsArr
11976
+ });
11977
+ const annDataObsFeatureColumnsArr = z.array(z.object({
11904
11978
  path: z.string()
11905
11979
  }));
11980
+ z.object({
11981
+ obsFeatureColumns: annDataObsFeatureColumnsArr
11982
+ });
11906
11983
  const annDataObsSpots = annDataObsm;
11907
11984
  const annDataObsPoints = annDataObsm;
11908
11985
  const annDataObsLocations = annDataObsm;
@@ -12025,7 +12102,7 @@ z.object({
12025
12102
  scoreColumn: z.string().optional()
12026
12103
  }))
12027
12104
  });
12028
- z.object({
12105
+ const anndataZarrSchema = z.object({
12029
12106
  obsLabels: z.union([
12030
12107
  annDataObsLabels,
12031
12108
  z.array(annDataConvenienceObsLabelsItem)
@@ -12035,7 +12112,7 @@ z.object({
12035
12112
  z.array(annDataConvenienceFeatureLabelsItem)
12036
12113
  ]),
12037
12114
  obsFeatureMatrix: annDataObsFeatureMatrix,
12038
- obsSets: annDataObsSets,
12115
+ obsSets: annDataObsSetsArr,
12039
12116
  obsSpots: annDataObsSpots,
12040
12117
  obsPoints: annDataObsPoints,
12041
12118
  obsLocations: annDataObsLocations,
@@ -12046,6 +12123,9 @@ z.object({
12046
12123
  ]),
12047
12124
  sampleEdges: annDataSampleEdges
12048
12125
  }).partial();
12126
+ anndataZarrSchema.extend({
12127
+ refSpecUrl: z.string()
12128
+ });
12049
12129
  z.object({
12050
12130
  // TODO: should `image` be a special schema
12051
12131
  // to allow specifying fileUid (like for embeddingType)?
@@ -123730,16 +123810,16 @@ function addDecoder(cases, importFn) {
123730
123810
  }
123731
123811
  cases.forEach((c2) => registry$1.set(c2, importFn));
123732
123812
  }
123733
- addDecoder([void 0, 1], () => import("./raw-f1ddc9ae.js").then((m2) => m2.default));
123734
- addDecoder(5, () => import("./lzw-2d69878c.js").then((m2) => m2.default));
123813
+ addDecoder([void 0, 1], () => import("./raw-0f8b8d67.js").then((m2) => m2.default));
123814
+ addDecoder(5, () => import("./lzw-ca6c4d78.js").then((m2) => m2.default));
123735
123815
  addDecoder(6, () => {
123736
123816
  throw new Error("old style JPEG compression is not supported.");
123737
123817
  });
123738
- addDecoder(7, () => import("./jpeg-c53fe29a.js").then((m2) => m2.default));
123739
- addDecoder([8, 32946], () => import("./deflate-dfc7825e.js").then((m2) => m2.default));
123740
- addDecoder(32773, () => import("./packbits-c3306762.js").then((m2) => m2.default));
123741
- addDecoder(34887, () => import("./lerc-57032696.js").then((m2) => m2.default));
123742
- addDecoder(50001, () => import("./webimage-03920c71.js").then((m2) => m2.default));
123818
+ addDecoder(7, () => import("./jpeg-53a949c9.js").then((m2) => m2.default));
123819
+ addDecoder([8, 32946], () => import("./deflate-d789a72d.js").then((m2) => m2.default));
123820
+ addDecoder(32773, () => import("./packbits-c55021ab.js").then((m2) => m2.default));
123821
+ addDecoder(34887, () => import("./lerc-40717afa.js").then((m2) => m2.default));
123822
+ addDecoder(50001, () => import("./webimage-b3e420b5.js").then((m2) => m2.default));
123743
123823
  function decodeRowAcc(row, stride) {
123744
123824
  let length2 = row.length - stride;
123745
123825
  let offset5 = 0;
@@ -150991,7 +151071,8 @@ function GatingSubscriber(props) {
150991
151071
  disableTooltip = false,
150992
151072
  title: titleOverride,
150993
151073
  // Average fill density for dynamic opacity calculation.
150994
- averageFillDensity
151074
+ averageFillDensity,
151075
+ helpText = ViewHelpMapping.GATING
150995
151076
  } = props;
150996
151077
  const loaders = useLoaders();
150997
151078
  const setComponentHover = useSetComponentHover();
@@ -151312,6 +151393,7 @@ function GatingSubscriber(props) {
151312
151393
  urls,
151313
151394
  theme,
151314
151395
  isReady,
151396
+ helpText,
151315
151397
  options: /* @__PURE__ */ jsxRuntimeExports.jsx(
151316
151398
  ScatterplotOptions,
151317
151399
  {
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { G } from "./index-6edd3db4.js";
1
+ import { G } from "./index-c9b4cfce.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-6edd3db4.js";
1
+ import { B as BaseDecoder } from "./index-c9b4cfce.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-68f84e2a.js";
2
- import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-6edd3db4.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-c9b4cfce.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-6edd3db4.js";
1
+ import { B as BaseDecoder } from "./index-c9b4cfce.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-6edd3db4.js";
1
+ import { B as BaseDecoder } from "./index-c9b4cfce.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-6edd3db4.js";
1
+ import { B as BaseDecoder } from "./index-c9b4cfce.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-6edd3db4.js";
1
+ import { B as BaseDecoder } from "./index-c9b4cfce.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1 +1 @@
1
- {"version":3,"file":"GatingSubscriber.d.ts","sourceRoot":"","sources":["../src/GatingSubscriber.js"],"names":[],"mappings":"AAmCA;;;;;;;;;;;;KAYK;AACL,wCAVK;IAAsB,IAAI,EAAlB,MAAM;IACQ,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;IAES,cAAc,EAA7B,OAAO;IACS,mBAAmB;IAErB,kBAAkB,EAAhC,MAAM;CAEhB,eA8ZF"}
1
+ {"version":3,"file":"GatingSubscriber.d.ts","sourceRoot":"","sources":["../src/GatingSubscriber.js"],"names":[],"mappings":"AAmCA;;;;;;;;;;;;KAYK;AACL,wCAVK;IAAsB,IAAI,EAAlB,MAAM;IACQ,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;IAES,cAAc,EAA7B,OAAO;IACS,mBAAmB;IAErB,kBAAkB,EAAhC,MAAM;CAEhB,eAgaF"}
@@ -6,7 +6,7 @@ import { pluralize as plur, capitalize, commaNumber, getValueTransformFunction,
6
6
  import { TitleInfo, useDeckCanvasSize, useReady, useUrls, useUint8FeatureSelection, useExpressionValueGetter, useObsSetsData, useFeatureSelection, useObsFeatureMatrixIndices, useCoordination, useLoaders, useSetComponentHover, useSetComponentViewInfo, } from '@vitessce/vit-s';
7
7
  import { getCellSetPolygons, mergeObsSets, setObsSelection, getCellColors, } from '@vitessce/sets-utils';
8
8
  import { Scatterplot, ScatterplotTooltipSubscriber, ScatterplotOptions, getPointSizeDevicePixels, getPointOpacity, EmptyMessage, } from '@vitessce/scatterplot';
9
- import { ViewType, COMPONENT_COORDINATION_TYPES } from '@vitessce/constants-internal';
9
+ import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
10
10
  import GatingScatterplotOptions from './GatingScatterplotOptions.js';
11
11
  /**
12
12
  * A subscriber component for the gating scatterplot.
@@ -24,7 +24,7 @@ import GatingScatterplotOptions from './GatingScatterplotOptions.js';
24
24
  export function GatingSubscriber(props) {
25
25
  const { uuid, coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, disableTooltip = false, title: titleOverride,
26
26
  // Average fill density for dynamic opacity calculation.
27
- averageFillDensity, } = props;
27
+ averageFillDensity, helpText = ViewHelpMapping.GATING, } = props;
28
28
  const loaders = useLoaders();
29
29
  const setComponentHover = useSetComponentHover();
30
30
  const setComponentViewInfo = useSetComponentViewInfo(uuid);
@@ -192,7 +192,7 @@ export function GatingSubscriber(props) {
192
192
  }, [obsXY, obsIndex, featureValueTransform,
193
193
  gatingFeatureSelectionX, gatingFeatureSelectionY, obsType,
194
194
  ]);
195
- return (_jsxs(TitleInfo, { title: title, info: `${commaNumber(cellsCount)} ${plur(obsType, cellsCount)}`, closeButtonVisible: closeButtonVisible, downloadButtonVisible: downloadButtonVisible, removeGridComponent: removeGridComponent, urls: urls, theme: theme, isReady: isReady, options: (_jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode: cellRadiusMode, setCellRadiusMode: setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode: cellOpacityMode, setCellOpacityMode: setCellOpacityMode, cellSetLabelsVisible: cellSetLabelsVisible, setCellSetLabelsVisible: setCellSetLabelsVisible, cellSetLabelSize: cellSetLabelSize, setCellSetLabelSize: setCellSetLabelSize, cellSetPolygonsVisible: cellSetPolygonsVisible, setCellSetPolygonsVisible: setCellSetPolygonsVisible, cellColorEncoding: cellColorEncoding, setCellColorEncoding: setCellColorEncoding, geneExpressionColormap: geneExpressionColormap, setGeneExpressionColormap: setGeneExpressionColormap, geneExpressionColormapRange: geneExpressionColormapRange, setGeneExpressionColormapRange: setGeneExpressionColormapRange, children: _jsx(GatingScatterplotOptions, { featureType: featureType, gatingFeatureSelectionX: gatingFeatureSelectionX, setGatingFeatureSelectionX: setGatingFeatureSelectionX, gatingFeatureSelectionY: gatingFeatureSelectionY, setGatingFeatureSelectionY: setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
195
+ return (_jsxs(TitleInfo, { title: title, info: `${commaNumber(cellsCount)} ${plur(obsType, cellsCount)}`, closeButtonVisible: closeButtonVisible, downloadButtonVisible: downloadButtonVisible, removeGridComponent: removeGridComponent, urls: urls, theme: theme, isReady: isReady, helpText: helpText, options: (_jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode: cellRadiusMode, setCellRadiusMode: setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode: cellOpacityMode, setCellOpacityMode: setCellOpacityMode, cellSetLabelsVisible: cellSetLabelsVisible, setCellSetLabelsVisible: setCellSetLabelsVisible, cellSetLabelSize: cellSetLabelSize, setCellSetLabelSize: setCellSetLabelSize, cellSetPolygonsVisible: cellSetPolygonsVisible, setCellSetPolygonsVisible: setCellSetPolygonsVisible, cellColorEncoding: cellColorEncoding, setCellColorEncoding: setCellColorEncoding, geneExpressionColormap: geneExpressionColormap, setGeneExpressionColormap: setGeneExpressionColormap, geneExpressionColormapRange: geneExpressionColormapRange, setGeneExpressionColormapRange: setGeneExpressionColormapRange, children: _jsx(GatingScatterplotOptions, { featureType: featureType, gatingFeatureSelectionX: gatingFeatureSelectionX, setGatingFeatureSelectionX: setGatingFeatureSelectionX, gatingFeatureSelectionY: gatingFeatureSelectionY, setGatingFeatureSelectionY: setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
196
196
  setFeatureValueTransform(newValue);
197
197
  setTargetX(null);
198
198
  setTargetY(null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/scatterplot-gating",
3
- "version": "3.4.9",
3
+ "version": "3.4.11",
4
4
  "author": "Gehlenborg Lab",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -20,11 +20,11 @@
20
20
  "d3-array": "^2.4.0",
21
21
  "lodash-es": "^4.17.21",
22
22
  "react-aria": "^3.28.0",
23
- "@vitessce/constants-internal": "3.4.9",
24
- "@vitessce/scatterplot": "3.4.9",
25
- "@vitessce/sets-utils": "3.4.9",
26
- "@vitessce/utils": "3.4.9",
27
- "@vitessce/vit-s": "3.4.9"
23
+ "@vitessce/constants-internal": "3.4.11",
24
+ "@vitessce/scatterplot": "3.4.11",
25
+ "@vitessce/sets-utils": "3.4.11",
26
+ "@vitessce/utils": "3.4.11",
27
+ "@vitessce/vit-s": "3.4.11"
28
28
  },
29
29
  "devDependencies": {
30
30
  "react": "^18.0.0",
@@ -30,7 +30,7 @@ import {
30
30
  getPointOpacity,
31
31
  EmptyMessage,
32
32
  } from '@vitessce/scatterplot';
33
- import { ViewType, COMPONENT_COORDINATION_TYPES } from '@vitessce/constants-internal';
33
+ import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
34
34
  import GatingScatterplotOptions from './GatingScatterplotOptions.js';
35
35
 
36
36
  /**
@@ -58,6 +58,7 @@ export function GatingSubscriber(props) {
58
58
  title: titleOverride,
59
59
  // Average fill density for dynamic opacity calculation.
60
60
  averageFillDensity,
61
+ helpText = ViewHelpMapping.GATING,
61
62
  } = props;
62
63
 
63
64
  const loaders = useLoaders();
@@ -361,6 +362,7 @@ export function GatingSubscriber(props) {
361
362
  urls={urls}
362
363
  theme={theme}
363
364
  isReady={isReady}
365
+ helpText={helpText}
364
366
  options={(
365
367
  <ScatterplotOptions
366
368
  observationsLabel={obsType}