@vitessce/statistical-plots 3.6.17 → 3.7.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.
Files changed (40) hide show
  1. package/dist/{deflate-CWzHkMt8.js → deflate-B5Mg3kwY.js} +1 -1
  2. package/dist/{index-jTgzybKh.js → index-CA8GNk6M.js} +72 -37
  3. package/dist/index.js +1 -1
  4. package/dist/{jpeg-CKLZ6Ujk.js → jpeg-BzxWgvmY.js} +1 -1
  5. package/dist/{lerc-Bg8_SUgD.js → lerc-DD_Qgv9w.js} +1 -1
  6. package/dist/{lzw-BeELIhvX.js → lzw-CCOmLsId.js} +1 -1
  7. package/dist/{packbits-Dt1MSk9z.js → packbits-1HUBp5DU.js} +1 -1
  8. package/dist/{raw-DDZdro0w.js → raw-CmQNUdnh.js} +1 -1
  9. package/dist/{webimage-rE8shGdx.js → webimage-Bl4VBRx9.js} +1 -1
  10. package/dist-tsc/CellSetCompositionBarPlotSubscriber.d.ts.map +1 -1
  11. package/dist-tsc/CellSetCompositionBarPlotSubscriber.js +3 -2
  12. package/dist-tsc/CellSetExpressionPlotSubscriber.d.ts.map +1 -1
  13. package/dist-tsc/CellSetExpressionPlotSubscriber.js +3 -2
  14. package/dist-tsc/CellSetSizesPlotSubscriber.d.ts.map +1 -1
  15. package/dist-tsc/CellSetSizesPlotSubscriber.js +3 -2
  16. package/dist-tsc/DotPlotSubscriber.d.ts.map +1 -1
  17. package/dist-tsc/DotPlotSubscriber.js +3 -2
  18. package/dist-tsc/ExpressionHistogramSubscriber.d.ts.map +1 -1
  19. package/dist-tsc/ExpressionHistogramSubscriber.js +3 -2
  20. package/dist-tsc/FeatureBarPlotSubscriber.d.ts.map +1 -1
  21. package/dist-tsc/FeatureBarPlotSubscriber.js +3 -2
  22. package/dist-tsc/FeatureSetEnrichmentBarPlotSubscriber.d.ts.map +1 -1
  23. package/dist-tsc/FeatureSetEnrichmentBarPlotSubscriber.js +3 -2
  24. package/dist-tsc/FeatureStatsTableSubscriber.d.ts.map +1 -1
  25. package/dist-tsc/FeatureStatsTableSubscriber.js +3 -2
  26. package/dist-tsc/TreemapSubscriber.d.ts.map +1 -1
  27. package/dist-tsc/TreemapSubscriber.js +3 -2
  28. package/dist-tsc/VolcanoPlotSubscriber.d.ts.map +1 -1
  29. package/dist-tsc/VolcanoPlotSubscriber.js +3 -2
  30. package/package.json +10 -10
  31. package/src/CellSetCompositionBarPlotSubscriber.js +3 -1
  32. package/src/CellSetExpressionPlotSubscriber.js +3 -1
  33. package/src/CellSetSizesPlotSubscriber.js +3 -1
  34. package/src/DotPlotSubscriber.js +3 -1
  35. package/src/ExpressionHistogramSubscriber.js +3 -1
  36. package/src/FeatureBarPlotSubscriber.js +3 -1
  37. package/src/FeatureSetEnrichmentBarPlotSubscriber.js +3 -1
  38. package/src/FeatureStatsTableSubscriber.js +3 -1
  39. package/src/TreemapSubscriber.js +3 -1
  40. package/src/VolcanoPlotSubscriber.js +3 -1
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { B as BaseDecoder } from "./index-jTgzybKh.js";
2
+ import { B as BaseDecoder } from "./index-CA8GNk6M.js";
3
3
  class DeflateDecoder extends BaseDecoder {
4
4
  decodeBlock(buffer) {
5
5
  return inflate_1(new Uint8Array(buffer)).buffer;
@@ -4,7 +4,7 @@ var __publicField = (obj, key2, value2) => __defNormalProp(obj, typeof key2 !==
4
4
  var _a2, _b;
5
5
  import * as React from "react";
6
6
  import React__default, { useState, useContext, useRef, useCallback, useEffect, forwardRef as forwardRef$1, useMemo, createContext, createElement, isValidElement, cloneElement, Children, Suspense } from "react";
7
- import { usePlotOptionsStyles, OptionsContainer, OptionSelect, useLoaders, useCoordination, useGridItemSize, useFeatureSelection, useFeatureLabelsData, useExpandedFeatureLabelsMap, useObsFeatureMatrixIndices, useObsSetsData, useSampleSetsData, useSampleEdgesData, useReady, useUrls, TitleInfo, useObsFeatureMatrixData, useMatchingLoader, useColumnNameMapping, useFeatureStatsData, useObsSetStatsData, useAsyncFunction, useFeatureSetStatsData } from "@vitessce/vit-s";
7
+ import { usePlotOptionsStyles, OptionsContainer, OptionSelect, useLoaders, useCoordinationScopes, useCoordination, useGridItemSize, useFeatureSelection, useFeatureLabelsData, useExpandedFeatureLabelsMap, useObsFeatureMatrixIndices, useObsSetsData, useSampleSetsData, useSampleEdgesData, useReady, useUrls, TitleInfo, useObsFeatureMatrixData, useMatchingLoader, useColumnNameMapping, useFeatureStatsData, useObsSetStatsData, useAsyncFunction, useFeatureSetStatsData } from "@vitessce/vit-s";
8
8
  import * as ReactDOM from "react-dom";
9
9
  import ReactDOM__default from "react-dom";
10
10
  function _mergeNamespaces(n2, m2) {
@@ -177645,6 +177645,8 @@ const PIXELATED_TEXTURE_PARAMETERS = {
177645
177645
  [GL$1.TEXTURE_WRAP_T]: GL$1.CLAMP_TO_EDGE
177646
177646
  };
177647
177647
  const GLSL_COLORMAPS = [
177648
+ // NOTE: the ordering of these is important,
177649
+ // as the shader code in bitmask-layer-beta-shaders hardcodes their indices.
177648
177650
  "plasma",
177649
177651
  "viridis",
177650
177652
  "jet",
@@ -178737,22 +178739,22 @@ function addDecoder(cases2, importFn) {
178737
178739
  }
178738
178740
  cases2.forEach((c2) => registry$1.set(c2, importFn));
178739
178741
  }
178740
- addDecoder([void 0, 1], () => import("./raw-DDZdro0w.js").then((m2) => m2.default));
178741
- addDecoder(5, () => import("./lzw-BeELIhvX.js").then((m2) => m2.default));
178742
+ addDecoder([void 0, 1], () => import("./raw-CmQNUdnh.js").then((m2) => m2.default));
178743
+ addDecoder(5, () => import("./lzw-CCOmLsId.js").then((m2) => m2.default));
178742
178744
  addDecoder(6, () => {
178743
178745
  throw new Error("old style JPEG compression is not supported.");
178744
178746
  });
178745
- addDecoder(7, () => import("./jpeg-CKLZ6Ujk.js").then((m2) => m2.default));
178746
- addDecoder([8, 32946], () => import("./deflate-CWzHkMt8.js").then((m2) => m2.default));
178747
- addDecoder(32773, () => import("./packbits-Dt1MSk9z.js").then((m2) => m2.default));
178747
+ addDecoder(7, () => import("./jpeg-BzxWgvmY.js").then((m2) => m2.default));
178748
+ addDecoder([8, 32946], () => import("./deflate-B5Mg3kwY.js").then((m2) => m2.default));
178749
+ addDecoder(32773, () => import("./packbits-1HUBp5DU.js").then((m2) => m2.default));
178748
178750
  addDecoder(
178749
178751
  34887,
178750
- () => import("./lerc-Bg8_SUgD.js").then(async (m2) => {
178752
+ () => import("./lerc-DD_Qgv9w.js").then(async (m2) => {
178751
178753
  await m2.zstd.init();
178752
178754
  return m2;
178753
178755
  }).then((m2) => m2.default)
178754
178756
  );
178755
- addDecoder(50001, () => import("./webimage-rE8shGdx.js").then((m2) => m2.default));
178757
+ addDecoder(50001, () => import("./webimage-Bl4VBRx9.js").then((m2) => m2.default));
178756
178758
  function decodeRowAcc(row, stride) {
178757
178759
  let length2 = row.length - stride;
178758
178760
  let offset2 = 0;
@@ -188535,7 +188537,7 @@ uniform float channelOpacities[7];
188535
188537
  uniform bool channelIsStaticColorMode[7]; // TODO: should this be a single float?
188536
188538
  uniform bool channelIsSetColorMode[7]; // TODO: should this be a single float?
188537
188539
 
188538
- // TODO: can array of tuples/vec2 be used?
188540
+ uniform int channelColormapFuncIndices[7];
188539
188541
  uniform float channelColormapRangeStarts[7];
188540
188542
  uniform float channelColormapRangeEnds[7];
188541
188543
 
@@ -188601,7 +188603,30 @@ vec3 sampleAndGetData(sampler2D dataTex, vec2 coord, bool isFilled, float stroke
188601
188603
  return vec3(clampedSampledData * float(isOn), sampledData, float(isEdge));
188602
188604
  }
188603
188605
 
188604
- vec4 dataToColor(vec3 sampledDataAndIsEdge, bool isStaticColorMode, vec3 channelColor, float channelOpacity, float valueOffset, float rangeStart, float rangeEnd, bool isSetColorMode, float setColorOffset) {
188606
+ vec3 colormapFunc(float clampedScaledExpressionValue, int colormapIndex) {
188607
+ // Map indices of GLSL_COLORMAPS array to their function calls.
188608
+ // GLSL_COLORMAPS is defined in ./constants.js and needs to stay manually synced.
188609
+ // 0: 'plasma',
188610
+ // 1: 'viridis',
188611
+ // 2: 'jet',
188612
+ // 3: 'greys',
188613
+
188614
+ if (colormapIndex <= 0) {
188615
+ // This should also match -1, to account for a failed Array.indexOf lookup.
188616
+ return plasma(clampedScaledExpressionValue).rgb;
188617
+ }
188618
+ if (colormapIndex == 1) {
188619
+ return viridis(clampedScaledExpressionValue).rgb;
188620
+ }
188621
+ if (colormapIndex == 2) {
188622
+ return jet(clampedScaledExpressionValue).rgb;
188623
+ }
188624
+ if (colormapIndex == 3) {
188625
+ return greys(clampedScaledExpressionValue).rgb;
188626
+ }
188627
+ }
188628
+
188629
+ vec4 dataToColor(vec3 sampledDataAndIsEdge, bool isStaticColorMode, vec3 channelColor, float channelOpacity, float valueOffset, int colormapFuncIndex, float rangeStart, float rangeEnd, bool isSetColorMode, float setColorOffset) {
188605
188630
  float clampedSampledDataAndIsOn = sampledDataAndIsEdge.x;
188606
188631
  float sampledData = sampledDataAndIsEdge.y;
188607
188632
  float isEdge = sampledDataAndIsEdge.z;
@@ -188645,7 +188670,7 @@ vec4 dataToColor(vec3 sampledDataAndIsEdge, bool isStaticColorMode, vec3 channel
188645
188670
  }
188646
188671
 
188647
188672
 
188648
- vec4 sampledColor = (1. - (float(isStaticColorMode) + float(isSetColorMode))) * vec4(COLORMAP_FUNC(clamp(scaledExpressionValue, 0.0, 1.0)).rgb, channelOpacity) + float(isStaticColorMode) * vec4(channelColor.rgb, channelOpacity) + float(isSetColorMode) * vec4(setColor, channelOpacity);
188673
+ vec4 sampledColor = (1. - (float(isStaticColorMode) + float(isSetColorMode))) * vec4(colormapFunc(clamp(scaledExpressionValue, 0.0, 1.0), colormapFuncIndex).rgb, channelOpacity) + float(isStaticColorMode) * vec4(channelColor.rgb, channelOpacity) + float(isSetColorMode) * vec4(setColor, channelOpacity);
188649
188674
  // Only return a color if the data is non-zero.
188650
188675
 
188651
188676
  return clampedSampledDataAndIsOn * isEdge * sampledColor;
@@ -188661,15 +188686,15 @@ void main() {
188661
188686
  vec3 dat4 = sampleAndGetData(channel4, vTexCoord, channelsFilled[4], channelStrokeWidths[4], channelsVisible[4]);
188662
188687
  vec3 dat5 = sampleAndGetData(channel5, vTexCoord, channelsFilled[5], channelStrokeWidths[5], channelsVisible[5]);
188663
188688
  vec3 dat6 = sampleAndGetData(channel6, vTexCoord, channelsFilled[6], channelStrokeWidths[6], channelsVisible[6]);
188664
-
188665
- vec4 val0 = dataToColor(dat0, channelIsStaticColorMode[0], color0, channelOpacities[0], valueTexOffsets[0], channelColormapRangeStarts[0], channelColormapRangeEnds[0], channelIsSetColorMode[0], colorTexOffsets[0]);
188666
- vec4 val1 = dataToColor(dat1, channelIsStaticColorMode[1], color1, channelOpacities[1], valueTexOffsets[1], channelColormapRangeStarts[1], channelColormapRangeEnds[1], channelIsSetColorMode[1], colorTexOffsets[1]);
188667
- vec4 val2 = dataToColor(dat2, channelIsStaticColorMode[2], color2, channelOpacities[2], valueTexOffsets[2], channelColormapRangeStarts[2], channelColormapRangeEnds[2], channelIsSetColorMode[2], colorTexOffsets[2]);
188668
- vec4 val3 = dataToColor(dat3, channelIsStaticColorMode[3], color3, channelOpacities[3], valueTexOffsets[3], channelColormapRangeStarts[3], channelColormapRangeEnds[3], channelIsSetColorMode[3], colorTexOffsets[3]);
188669
- vec4 val4 = dataToColor(dat4, channelIsStaticColorMode[4], color4, channelOpacities[4], valueTexOffsets[4], channelColormapRangeStarts[4], channelColormapRangeEnds[4], channelIsSetColorMode[4], colorTexOffsets[4]);
188670
- vec4 val5 = dataToColor(dat5, channelIsStaticColorMode[5], color5, channelOpacities[5], valueTexOffsets[5], channelColormapRangeStarts[5], channelColormapRangeEnds[5], channelIsSetColorMode[5], colorTexOffsets[5]);
188671
- vec4 val6 = dataToColor(dat6, channelIsStaticColorMode[6], color6, channelOpacities[6], valueTexOffsets[6], channelColormapRangeStarts[6], channelColormapRangeEnds[6], channelIsSetColorMode[6], colorTexOffsets[6]);
188672
-
188689
+
188690
+ vec4 val0 = dataToColor(dat0, channelIsStaticColorMode[0], color0, channelOpacities[0], valueTexOffsets[0], channelColormapFuncIndices[0], channelColormapRangeStarts[0], channelColormapRangeEnds[0], channelIsSetColorMode[0], colorTexOffsets[0]);
188691
+ vec4 val1 = dataToColor(dat1, channelIsStaticColorMode[1], color1, channelOpacities[1], valueTexOffsets[1], channelColormapFuncIndices[1], channelColormapRangeStarts[1], channelColormapRangeEnds[1], channelIsSetColorMode[1], colorTexOffsets[1]);
188692
+ vec4 val2 = dataToColor(dat2, channelIsStaticColorMode[2], color2, channelOpacities[2], valueTexOffsets[2], channelColormapFuncIndices[2], channelColormapRangeStarts[2], channelColormapRangeEnds[2], channelIsSetColorMode[2], colorTexOffsets[2]);
188693
+ vec4 val3 = dataToColor(dat3, channelIsStaticColorMode[3], color3, channelOpacities[3], valueTexOffsets[3], channelColormapFuncIndices[3], channelColormapRangeStarts[3], channelColormapRangeEnds[3], channelIsSetColorMode[3], colorTexOffsets[3]);
188694
+ vec4 val4 = dataToColor(dat4, channelIsStaticColorMode[4], color4, channelOpacities[4], valueTexOffsets[4], channelColormapFuncIndices[4], channelColormapRangeStarts[4], channelColormapRangeEnds[4], channelIsSetColorMode[4], colorTexOffsets[4]);
188695
+ vec4 val5 = dataToColor(dat5, channelIsStaticColorMode[5], color5, channelOpacities[5], valueTexOffsets[5], channelColormapFuncIndices[5], channelColormapRangeStarts[5], channelColormapRangeEnds[5], channelIsSetColorMode[5], colorTexOffsets[5]);
188696
+ vec4 val6 = dataToColor(dat6, channelIsStaticColorMode[6], color6, channelOpacities[6], valueTexOffsets[6], channelColormapFuncIndices[6], channelColormapRangeStarts[6], channelColormapRangeEnds[6], channelIsSetColorMode[6], colorTexOffsets[6]);
188697
+
188673
188698
  // If all of the channels are "empty", then discard this pixel so that it is not considered during picking.
188674
188699
  float emptyDat = 0.;
188675
188700
  if(dat0.x == emptyDat && dat1.x == emptyDat && dat2.x == emptyDat && dat3.x == emptyDat && dat4.x == emptyDat && dat5.x == emptyDat && dat6.x == emptyDat) {
@@ -189158,14 +189183,10 @@ const defaultProps$1 = {
189158
189183
  class BitmaskLayer2 extends XRLayer {
189159
189184
  // eslint-disable-next-line class-methods-use-this
189160
189185
  getShaders() {
189161
- const { colormap } = this.props;
189162
189186
  return {
189163
189187
  fs,
189164
189188
  vs,
189165
- modules: [project32, picking],
189166
- defines: {
189167
- [COLORMAP_SHADER_PLACEHOLDER]: GLSL_COLORMAPS.includes(colormap) ? colormap : GLSL_COLORMAP_DEFAULT
189168
- }
189189
+ modules: [project32, picking]
189169
189190
  };
189170
189191
  }
189171
189192
  /**
@@ -189224,8 +189245,6 @@ class BitmaskLayer2 extends XRLayer {
189224
189245
  channelOpacities,
189225
189246
  channelColors,
189226
189247
  channelsVisible,
189227
- // TODO: use `channelFeatureValueColormaps` in shader,
189228
- // figure out how to call multiple GLSL colormap functions
189229
189248
  channelFeatureValueColormaps,
189230
189249
  channelFeatureValueColormapRanges,
189231
189250
  channelIsStaticColorMode,
@@ -189286,6 +189305,12 @@ class BitmaskLayer2 extends XRLayer {
189286
189305
  // There are six texture entries on the shaders
189287
189306
  MAX_CHANNELS - channelStrokeWidths.length
189288
189307
  ),
189308
+ channelColormapFuncIndices: padWithDefault(
189309
+ channelFeatureValueColormaps.map((d) => GLSL_COLORMAPS.indexOf(d)),
189310
+ 0,
189311
+ // There are six texture entries on the shaders
189312
+ MAX_CHANNELS - channelFeatureValueColormaps.length
189313
+ ),
189289
189314
  channelColormapRangeStarts: padWithDefault(
189290
189315
  channelFeatureValueColormapRanges.map((r3) => (r3 == null ? void 0 : r3[0]) || 0),
189291
189316
  0,
@@ -198745,7 +198770,7 @@ function useExpressionByCellSet(sampleEdges, sampleSets, sampleSetSelection, exp
198745
198770
  function CellSetExpressionPlotSubscriber(props) {
198746
198771
  var _a3;
198747
198772
  const {
198748
- coordinationScopes,
198773
+ coordinationScopes: coordinationScopesRaw,
198749
198774
  closeButtonVisible,
198750
198775
  downloadButtonVisible,
198751
198776
  removeGridComponent,
@@ -198759,6 +198784,7 @@ function CellSetExpressionPlotSubscriber(props) {
198759
198784
  } = props;
198760
198785
  const { classes: classes2 } = useStyles$1();
198761
198786
  const loaders = useLoaders();
198787
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
198762
198788
  const [{
198763
198789
  dataset,
198764
198790
  obsType,
@@ -249852,7 +249878,7 @@ function CellSetSizesPlot(props) {
249852
249878
  }
249853
249879
  function CellSetSizesPlotSubscriber(props) {
249854
249880
  const {
249855
- coordinationScopes,
249881
+ coordinationScopes: coordinationScopesRaw,
249856
249882
  closeButtonVisible,
249857
249883
  downloadButtonVisible,
249858
249884
  removeGridComponent,
@@ -249862,6 +249888,7 @@ function CellSetSizesPlotSubscriber(props) {
249862
249888
  } = props;
249863
249889
  const { classes: classes2 } = useStyles$1();
249864
249890
  const loaders = useLoaders();
249891
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
249865
249892
  const [{
249866
249893
  dataset,
249867
249894
  obsType,
@@ -250042,7 +250069,7 @@ function ExpressionHistogram(props) {
250042
250069
  }
250043
250070
  function ExpressionHistogramSubscriber(props) {
250044
250071
  const {
250045
- coordinationScopes,
250072
+ coordinationScopes: coordinationScopesRaw,
250046
250073
  closeButtonVisible,
250047
250074
  downloadButtonVisible,
250048
250075
  removeGridComponent,
@@ -250051,6 +250078,7 @@ function ExpressionHistogramSubscriber(props) {
250051
250078
  } = props;
250052
250079
  const { classes: classes2 } = useStyles$1();
250053
250080
  const loaders = useLoaders();
250081
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
250054
250082
  const [{
250055
250083
  dataset,
250056
250084
  obsType,
@@ -250444,7 +250472,7 @@ function useExpressionSummaries(sampleEdges, sampleSets, sampleSetSelection, exp
250444
250472
  function DotPlotSubscriber(props) {
250445
250473
  var _a3;
250446
250474
  const {
250447
- coordinationScopes,
250475
+ coordinationScopes: coordinationScopesRaw,
250448
250476
  removeGridComponent,
250449
250477
  theme,
250450
250478
  title: title2 = "Dot Plot",
@@ -250453,6 +250481,7 @@ function DotPlotSubscriber(props) {
250453
250481
  } = props;
250454
250482
  const { classes: classes2 } = useStyles$1();
250455
250483
  const loaders = useLoaders();
250484
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
250456
250485
  const [{
250457
250486
  dataset,
250458
250487
  obsType,
@@ -250795,7 +250824,7 @@ function FeatureBarPlot(props) {
250795
250824
  }
250796
250825
  function FeatureBarPlotSubscriber(props) {
250797
250826
  const {
250798
- coordinationScopes,
250827
+ coordinationScopes: coordinationScopesRaw,
250799
250828
  removeGridComponent,
250800
250829
  theme,
250801
250830
  yMin = 0,
@@ -250804,6 +250833,7 @@ function FeatureBarPlotSubscriber(props) {
250804
250833
  } = props;
250805
250834
  const { classes: classes2 } = useStyles$1();
250806
250835
  const loaders = useLoaders();
250836
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
250807
250837
  const [{
250808
250838
  dataset,
250809
250839
  obsType,
@@ -251178,13 +251208,14 @@ function TreemapOptions(props) {
251178
251208
  const DEFAULT_HIERARCHY_LEVELS = ["obsSet", "sampleSet"];
251179
251209
  function TreemapSubscriber(props) {
251180
251210
  const {
251181
- coordinationScopes,
251211
+ coordinationScopes: coordinationScopesRaw,
251182
251212
  removeGridComponent,
251183
251213
  theme,
251184
251214
  helpText = ViewHelpMapping.TREEMAP
251185
251215
  } = props;
251186
251216
  const { classes: classes2 } = useStyles$1();
251187
251217
  const loaders = useLoaders();
251218
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
251188
251219
  const [{
251189
251220
  dataset,
251190
251221
  obsType,
@@ -251683,13 +251714,14 @@ function VolcanoPlotOptions(props) {
251683
251714
  function VolcanoPlotSubscriber(props) {
251684
251715
  const {
251685
251716
  title: title2 = "Volcano Plot",
251686
- coordinationScopes,
251717
+ coordinationScopes: coordinationScopesRaw,
251687
251718
  removeGridComponent,
251688
251719
  theme,
251689
251720
  helpText = ViewHelpMapping.VOLCANO_PLOT
251690
251721
  } = props;
251691
251722
  const { classes: classes2 } = useStyles$1();
251692
251723
  const loaders = useLoaders();
251724
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
251693
251725
  const [{
251694
251726
  dataset,
251695
251727
  obsType,
@@ -252027,13 +252059,14 @@ function CellSetCompositionBarPlot(props) {
252027
252059
  }
252028
252060
  function CellSetCompositionBarPlotSubscriber(props) {
252029
252061
  const {
252030
- coordinationScopes,
252062
+ coordinationScopes: coordinationScopesRaw,
252031
252063
  removeGridComponent,
252032
252064
  theme,
252033
252065
  helpText = ViewHelpMapping.OBS_SET_COMPOSITION_BAR_PLOT
252034
252066
  } = props;
252035
252067
  const { classes: classes2 } = useStyles$1();
252036
252068
  const loaders = useLoaders();
252069
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
252037
252070
  const [{
252038
252071
  dataset,
252039
252072
  obsType,
@@ -252331,13 +252364,14 @@ function FeatureSetEnrichmentBarPlot(props) {
252331
252364
  }
252332
252365
  function FeatureSetEnrichmentBarPlotSubscriber(props) {
252333
252366
  const {
252334
- coordinationScopes,
252367
+ coordinationScopes: coordinationScopesRaw,
252335
252368
  removeGridComponent,
252336
252369
  theme,
252337
252370
  helpText = ViewHelpMapping.FEATURE_SET_ENRICHMENT_BAR_PLOT
252338
252371
  } = props;
252339
252372
  const { classes: classes2 } = useStyles$1();
252340
252373
  const loaders = useLoaders();
252374
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
252341
252375
  const transformFeature = useAsyncFunction(AsyncFunctionType.TRANSFORM_FEATURE);
252342
252376
  const [{
252343
252377
  dataset,
@@ -252570,12 +252604,13 @@ function FeatureStatsTable(props) {
252570
252604
  function FeatureStatsTableSubscriber(props) {
252571
252605
  const {
252572
252606
  title: title2 = "Differential Expression Results",
252573
- coordinationScopes,
252607
+ coordinationScopes: coordinationScopesRaw,
252574
252608
  removeGridComponent,
252575
252609
  theme,
252576
252610
  helpText = ViewHelpMapping.FEATURE_STATS_TABLE
252577
252611
  } = props;
252578
252612
  const loaders = useLoaders();
252613
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
252579
252614
  const [{
252580
252615
  dataset,
252581
252616
  obsType,
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { b, f, C, e, a, i, D, h, E, F, c, d, T, V } from "./index-jTgzybKh.js";
1
+ import { b, f, C, e, a, i, D, h, E, F, c, d, T, V } from "./index-CA8GNk6M.js";
2
2
  export {
3
3
  b as CellSetCompositionBarPlotSubscriber,
4
4
  f as CellSetExpressionPlot,
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-jTgzybKh.js";
1
+ import { B as BaseDecoder } from "./index-CA8GNk6M.js";
2
2
  const dctZigZag = new Int32Array([
3
3
  0,
4
4
  1,
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-jTgzybKh.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-CA8GNk6M.js";
3
3
  const LercParameters = {
4
4
  AddCompression: 1
5
5
  };
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-jTgzybKh.js";
1
+ import { B as BaseDecoder } from "./index-CA8GNk6M.js";
2
2
  const MIN_BITS = 9;
3
3
  const CLEAR_CODE = 256;
4
4
  const EOI_CODE = 257;
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-jTgzybKh.js";
1
+ import { B as BaseDecoder } from "./index-CA8GNk6M.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-jTgzybKh.js";
1
+ import { B as BaseDecoder } from "./index-CA8GNk6M.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-jTgzybKh.js";
1
+ import { B as BaseDecoder } from "./index-CA8GNk6M.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"CellSetCompositionBarPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/CellSetCompositionBarPlotSubscriber.js"],"names":[],"mappings":"AAwBA,6EAqIC"}
1
+ {"version":3,"file":"CellSetCompositionBarPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/CellSetCompositionBarPlotSubscriber.js"],"names":[],"mappings":"AAyBA,6EAsIC"}
@@ -1,16 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-unused-vars */
3
3
  import React, { useCallback } from 'react';
4
- import { TitleInfo, useCoordination, useLoaders, useReady, useGridItemSize, useObsSetStatsData, useMatchingLoader, useColumnNameMapping, } from '@vitessce/vit-s';
4
+ import { TitleInfo, useCoordination, useLoaders, useReady, useGridItemSize, useObsSetStatsData, useMatchingLoader, useColumnNameMapping, useCoordinationScopes, } from '@vitessce/vit-s';
5
5
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping, DataType, } from '@vitessce/constants-internal';
6
6
  import { capitalize } from '@vitessce/utils';
7
7
  import CellSetCompositionBarPlot from './CellSetCompositionBarPlot.js';
8
8
  import { useStyles } from './styles.js';
9
9
  import { useRawSetPaths } from './utils.js';
10
10
  export function CellSetCompositionBarPlotSubscriber(props) {
11
- const { coordinationScopes, removeGridComponent, theme, helpText = ViewHelpMapping.OBS_SET_COMPOSITION_BAR_PLOT, } = props;
11
+ const { coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, helpText = ViewHelpMapping.OBS_SET_COMPOSITION_BAR_PLOT, } = props;
12
12
  const { classes } = useStyles();
13
13
  const loaders = useLoaders();
14
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
14
15
  // Get "props" from the coordination space.
15
16
  const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureLabelSignificanceThreshold, featureLabelFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor, }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureLabelSignificanceThreshold, setFeatureLabelFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.OBS_SET_COMPOSITION_BAR_PLOT], coordinationScopes);
16
17
  const [width, height, containerRef] = useGridItemSize();
@@ -1 +1 @@
1
- {"version":3,"file":"CellSetExpressionPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/CellSetExpressionPlotSubscriber.js"],"names":[],"mappings":"AA0HA;;;;;;;;;GASG;AACH,uDALG;IAAwB,mBAAmB;IACrB,kBAAkB,EAAhC,MAAM;IAEQ,KAAK,EAAnB,MAAM;CAChB,eA8MA"}
1
+ {"version":3,"file":"CellSetExpressionPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/CellSetExpressionPlotSubscriber.js"],"names":[],"mappings":"AA2HA;;;;;;;;;GASG;AACH,uDALG;IAAwB,mBAAmB;IACrB,kBAAkB,EAAhC,MAAM;IAEQ,KAAK,EAAnB,MAAM;CAChB,eA+MA"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useMemo } from 'react';
3
- import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useFeatureSelection, useObsSetsData, useObsFeatureMatrixIndices, useFeatureLabelsData, useSampleSetsData, useSampleEdgesData, useExpandedFeatureLabelsMap, } from '@vitessce/vit-s';
3
+ import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useFeatureSelection, useObsSetsData, useObsFeatureMatrixIndices, useFeatureLabelsData, useSampleSetsData, useSampleEdgesData, useExpandedFeatureLabelsMap, useCoordinationScopes, } from '@vitessce/vit-s';
4
4
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
5
5
  import { VALUE_TRANSFORM_OPTIONS, capitalize, cleanFeatureId } from '@vitessce/utils';
6
6
  import { treeToSetSizesBySetNames, mergeObsSets, stratifyExpressionData, aggregateStratifiedExpressionData, } from '@vitessce/sets-utils';
@@ -89,9 +89,10 @@ function useExpressionByCellSet(sampleEdges, sampleSets, sampleSetSelection, exp
89
89
  * @param {string} props.theme The name of the current Vitessce theme.
90
90
  */
91
91
  export function CellSetExpressionPlotSubscriber(props) {
92
- const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title, xAxisTitle, jitter = false, yMin = null, yUnits = null, helpText = ViewHelpMapping.OBS_SET_FEATURE_VALUE_DISTRIBUTION, } = props;
92
+ const { coordinationScopes: coordinationScopesRaw, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title, xAxisTitle, jitter = false, yMin = null, yUnits = null, helpText = ViewHelpMapping.OBS_SET_FEATURE_VALUE_DISTRIBUTION, } = props;
93
93
  const { classes } = useStyles();
94
94
  const loaders = useLoaders();
95
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
95
96
  // Get "props" from the coordination space.
96
97
  const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, featureValueTransform, featureValueTransformCoefficient, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, sampleType, sampleSetSelection, sampleSetColor, featureAggregationStrategy, }, { setFeatureValueTransform, setFeatureValueTransformCoefficient, setSampleSetColor, setFeatureAggregationStrategy, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.OBS_SET_FEATURE_VALUE_DISTRIBUTION], coordinationScopes);
97
98
  const [width, height, containerRef] = useGridItemSize();
@@ -1 +1 @@
1
- {"version":3,"file":"CellSetSizesPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/CellSetSizesPlotSubscriber.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;GAUG;AACH,kDANG;IAAwB,mBAAmB;IACnB,OAAO;IAET,KAAK,EAAnB,MAAM;IACQ,KAAK,EAAnB,MAAM;CAChB,eAoIA"}
1
+ {"version":3,"file":"CellSetSizesPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/CellSetSizesPlotSubscriber.js"],"names":[],"mappings":"AAiBA;;;;;;;;;;GAUG;AACH,kDANG;IAAwB,mBAAmB;IACnB,OAAO;IAET,KAAK,EAAnB,MAAM;IACQ,KAAK,EAAnB,MAAM;CAChB,eAqIA"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React, { useMemo, useState } from 'react';
3
- import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useObsSetsData, } from '@vitessce/vit-s';
3
+ import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useObsSetsData, useCoordinationScopes, } from '@vitessce/vit-s';
4
4
  import { isEqual } from 'lodash-es';
5
5
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
6
6
  import { mergeObsSets, treeToSetSizesBySetNames, filterPathsByExpansionAndSelection, findChangedHierarchy, } from '@vitessce/sets-utils';
@@ -19,9 +19,10 @@ import { useStyles } from './styles.js';
19
19
  * @param {string} props.title The component title.
20
20
  */
21
21
  export function CellSetSizesPlotSubscriber(props) {
22
- const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: titleOverride, helpText = ViewHelpMapping.OBS_SET_SIZES, } = props;
22
+ const { coordinationScopes: coordinationScopesRaw, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: titleOverride, helpText = ViewHelpMapping.OBS_SET_SIZES, } = props;
23
23
  const { classes } = useStyles();
24
24
  const loaders = useLoaders();
25
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
25
26
  // Get "props" from the coordination space.
26
27
  const [{ dataset, obsType, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, obsSetExpansion: cellSetExpansion, }, { setObsSetSelection: setCellSetSelection, setObsSetColor: setCellSetColor, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.OBS_SET_SIZES], coordinationScopes);
27
28
  const title = titleOverride || `${capitalize(obsType)} Set Sizes`;
@@ -1 +1 @@
1
- {"version":3,"file":"DotPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/DotPlotSubscriber.js"],"names":[],"mappings":"AAmBA;;;;;;;GAOG;AACH,yCALG;IAAwB,mBAAmB;IACrB,kBAAkB,EAAhC,MAAM;IAEQ,KAAK,EAAnB,MAAM;CAChB,eA2LA"}
1
+ {"version":3,"file":"DotPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/DotPlotSubscriber.js"],"names":[],"mappings":"AAoBA;;;;;;;GAOG;AACH,yCALG;IAAwB,mBAAmB;IACrB,kBAAkB,EAAhC,MAAM;IAEQ,KAAK,EAAnB,MAAM;CAChB,eA4LA"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useCallback } from 'react';
3
- import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useFeatureSelection, useObsSetsData, useObsFeatureMatrixIndices, useFeatureLabelsData, useSampleSetsData, useSampleEdgesData, } from '@vitessce/vit-s';
3
+ import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useFeatureSelection, useObsSetsData, useObsFeatureMatrixIndices, useFeatureLabelsData, useSampleSetsData, useSampleEdgesData, useCoordinationScopes, } from '@vitessce/vit-s';
4
4
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
5
5
  import { VALUE_TRANSFORM_OPTIONS } from '@vitessce/utils';
6
6
  import CellSetExpressionPlotOptions from './CellSetExpressionPlotOptions.js';
@@ -16,9 +16,10 @@ import { useExpressionSummaries } from './dot-plot-hook.js';
16
16
  * @param {string} props.theme The name of the current Vitessce theme.
17
17
  */
18
18
  export function DotPlotSubscriber(props) {
19
- const { coordinationScopes, removeGridComponent, theme, title = 'Dot Plot', transpose = true, helpText = ViewHelpMapping.DOT_PLOT, } = props;
19
+ const { coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, title = 'Dot Plot', transpose = true, helpText = ViewHelpMapping.DOT_PLOT, } = props;
20
20
  const { classes } = useStyles();
21
21
  const loaders = useLoaders();
22
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
22
23
  // Get "props" from the coordination space.
23
24
  const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, featureValueTransform, featureValueTransformCoefficient, featureValuePositivityThreshold: posThreshold, featureValueColormap, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, sampleType, sampleSetSelection,
24
25
  // eslint-disable-next-line no-unused-vars
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionHistogramSubscriber.d.ts","sourceRoot":"","sources":["../src/ExpressionHistogramSubscriber.js"],"names":[],"mappings":"AAcA;;;;;;;;;GASG;AACH,qDALG;IAAwB,mBAAmB;IACrB,kBAAkB,EAAhC,MAAM;IAEQ,KAAK,EAAnB,MAAM;CAChB,eAsIA"}
1
+ {"version":3,"file":"ExpressionHistogramSubscriber.d.ts","sourceRoot":"","sources":["../src/ExpressionHistogramSubscriber.js"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,qDALG;IAAwB,mBAAmB;IACrB,kBAAkB,EAAhC,MAAM;IAEQ,KAAK,EAAnB,MAAM;CAChB,eAuIA"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React, { useMemo, useCallback, } from 'react';
3
3
  import { sum } from 'd3-array';
4
- import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useObsFeatureMatrixData, useFeatureSelection, } from '@vitessce/vit-s';
4
+ import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useObsFeatureMatrixData, useFeatureSelection, useCoordinationScopes, } from '@vitessce/vit-s';
5
5
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
6
6
  import { setObsSelection, getObsInfoFromDataWithinRange } from '@vitessce/sets-utils';
7
7
  import ExpressionHistogram from './ExpressionHistogram.js';
@@ -17,9 +17,10 @@ import { useStyles } from './styles.js';
17
17
  * @param {string} props.theme The name of the current Vitessce theme.
18
18
  */
19
19
  export function ExpressionHistogramSubscriber(props) {
20
- const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_VALUE_HISTOGRAM, } = props;
20
+ const { coordinationScopes: coordinationScopesRaw, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_VALUE_HISTOGRAM, } = props;
21
21
  const { classes } = useStyles();
22
22
  const loaders = useLoaders();
23
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
23
24
  // Get "props" from the coordination space.
24
25
  const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, additionalObsSets: additionalCellSets, obsSetColor: cellSetColor, }, { setAdditionalObsSets: setAdditionalCellSets, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setObsSetSelection: setCellSetSelection, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.FEATURE_VALUE_HISTOGRAM], coordinationScopes);
25
26
  const [width, height, containerRef] = useGridItemSize();
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureBarPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/FeatureBarPlotSubscriber.js"],"names":[],"mappings":"AAkBA,kEAuJC"}
1
+ {"version":3,"file":"FeatureBarPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/FeatureBarPlotSubscriber.js"],"names":[],"mappings":"AAmBA,kEAwJC"}
@@ -1,14 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useMemo, useCallback } from 'react';
3
- import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useFeatureSelection, useObsFeatureMatrixIndices, useFeatureLabelsData, } from '@vitessce/vit-s';
3
+ import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useFeatureSelection, useObsFeatureMatrixIndices, useFeatureLabelsData, useCoordinationScopes, } from '@vitessce/vit-s';
4
4
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
5
5
  import { setObsSelection } from '@vitessce/sets-utils';
6
6
  import FeatureBarPlot from './FeatureBarPlot.js';
7
7
  import { useStyles } from './styles.js';
8
8
  export function FeatureBarPlotSubscriber(props) {
9
- const { coordinationScopes, removeGridComponent, theme, yMin = 0, yUnits = null, helpText = ViewHelpMapping.FEATURE_BAR_PLOT, } = props;
9
+ const { coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, yMin = 0, yUnits = null, helpText = ViewHelpMapping.FEATURE_BAR_PLOT, } = props;
10
10
  const { classes } = useStyles();
11
11
  const loaders = useLoaders();
12
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
12
13
  // Get "props" from the coordination space.
13
14
  const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, featureValueTransform, featureValueTransformCoefficient, obsHighlight: cellHighlight, additionalObsSets: additionalCellSets, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, }, { setObsSetSelection: setCellSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.FEATURE_BAR_PLOT], coordinationScopes);
14
15
  // console.log("BarPlot: " + cellHighlight)
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureSetEnrichmentBarPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/FeatureSetEnrichmentBarPlotSubscriber.js"],"names":[],"mappings":"AA0BA,+EAqJC"}
1
+ {"version":3,"file":"FeatureSetEnrichmentBarPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/FeatureSetEnrichmentBarPlotSubscriber.js"],"names":[],"mappings":"AA2BA,+EAsJC"}
@@ -1,16 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-unused-vars */
3
3
  import React, { useCallback } from 'react';
4
- import { TitleInfo, useCoordination, useLoaders, useReady, useGridItemSize, useFeatureSetStatsData, useMatchingLoader, useColumnNameMapping, useAsyncFunction, } from '@vitessce/vit-s';
4
+ import { TitleInfo, useCoordination, useLoaders, useReady, useGridItemSize, useFeatureSetStatsData, useMatchingLoader, useColumnNameMapping, useAsyncFunction, useCoordinationScopes, } from '@vitessce/vit-s';
5
5
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping, DataType, AsyncFunctionType, } from '@vitessce/constants-internal';
6
6
  import { capitalize } from '@vitessce/utils';
7
7
  import FeatureSetEnrichmentBarPlot from './FeatureSetEnrichmentBarPlot.js';
8
8
  import { useStyles } from './styles.js';
9
9
  import { useRawSetPaths } from './utils.js';
10
10
  export function FeatureSetEnrichmentBarPlotSubscriber(props) {
11
- const { coordinationScopes, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_SET_ENRICHMENT_BAR_PLOT, } = props;
11
+ const { coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_SET_ENRICHMENT_BAR_PLOT, } = props;
12
12
  const { classes } = useStyles();
13
13
  const loaders = useLoaders();
14
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
14
15
  const transformFeature = useAsyncFunction(AsyncFunctionType.TRANSFORM_FEATURE);
15
16
  // Get "props" from the coordination space.
16
17
  const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureLabelSignificanceThreshold, featureLabelFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor, }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureLabelSignificanceThreshold, setFeatureLabelFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.FEATURE_SET_ENRICHMENT_BAR_PLOT], coordinationScopes);
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureStatsTableSubscriber.d.ts","sourceRoot":"","sources":["../src/FeatureStatsTableSubscriber.js"],"names":[],"mappings":"AAoBA,qEAuHC"}
1
+ {"version":3,"file":"FeatureStatsTableSubscriber.d.ts","sourceRoot":"","sources":["../src/FeatureStatsTableSubscriber.js"],"names":[],"mappings":"AAqBA,qEAwHC"}
@@ -1,13 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-unused-vars */
3
3
  import React from 'react';
4
- import { TitleInfo, useCoordination, useLoaders, useReady, useFeatureStatsData, useMatchingLoader, useColumnNameMapping, } from '@vitessce/vit-s';
4
+ import { TitleInfo, useCoordination, useLoaders, useReady, useFeatureStatsData, useMatchingLoader, useColumnNameMapping, useCoordinationScopes, } from '@vitessce/vit-s';
5
5
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping, DataType, } from '@vitessce/constants-internal';
6
6
  import FeatureStatsTable from './FeatureStatsTable.js';
7
7
  import { useRawSetPaths } from './utils.js';
8
8
  export function FeatureStatsTableSubscriber(props) {
9
- const { title = 'Differential Expression Results', coordinationScopes, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_STATS_TABLE, } = props;
9
+ const { title = 'Differential Expression Results', coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_STATS_TABLE, } = props;
10
10
  const loaders = useLoaders();
11
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
11
12
  // Get "props" from the coordination space.
12
13
  const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor, }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.FEATURE_STATS_TABLE], coordinationScopes);
13
14
  const obsSetsLoader = useMatchingLoader(loaders, dataset, DataType.OBS_SETS, { obsType });
@@ -1 +1 @@
1
- {"version":3,"file":"TreemapSubscriber.d.ts","sourceRoot":"","sources":["../src/TreemapSubscriber.js"],"names":[],"mappings":"AAyBA,2DA8QC"}
1
+ {"version":3,"file":"TreemapSubscriber.d.ts","sourceRoot":"","sources":["../src/TreemapSubscriber.js"],"names":[],"mappings":"AA0BA,2DA+QC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-unused-vars */
3
3
  import React, { useMemo, useCallback } from 'react';
4
- import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useObsFeatureMatrixIndices, useObsSetsData, useSampleEdgesData, useSampleSetsData, } from '@vitessce/vit-s';
4
+ import { TitleInfo, useCoordination, useLoaders, useUrls, useReady, useGridItemSize, useObsFeatureMatrixIndices, useObsSetsData, useSampleEdgesData, useSampleSetsData, useCoordinationScopes, } from '@vitessce/vit-s';
5
5
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
6
6
  import { treeToSelectedSetMap, treeToSetSizesBySetNames, mergeObsSets } from '@vitessce/sets-utils';
7
7
  import { pluralize as plur, commaNumber, unnestMap, capitalize } from '@vitessce/utils';
@@ -12,9 +12,10 @@ import { useStyles } from './styles.js';
12
12
  import TreemapOptions from './TreemapOptions.js';
13
13
  const DEFAULT_HIERARCHY_LEVELS = ['obsSet', 'sampleSet'];
14
14
  export function TreemapSubscriber(props) {
15
- const { coordinationScopes, removeGridComponent, theme, helpText = ViewHelpMapping.TREEMAP, } = props;
15
+ const { coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, helpText = ViewHelpMapping.TREEMAP, } = props;
16
16
  const { classes } = useStyles();
17
17
  const loaders = useLoaders();
18
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
18
19
  // Get "props" from the coordination space.
19
20
  const [{ dataset, obsType, featureType, featureValueType, obsFilter, obsHighlight, obsSetSelection, obsSetFilter, obsSelection, obsSelectionMode, obsSetHighlight, obsSetColor, obsColorEncoding, additionalObsSets, sampleType, sampleSetSelection, sampleSetFilter, sampleSetColor, sampleSelection, sampleSelectionMode, sampleFilter, sampleFilterMode, sampleHighlight, hierarchyLevels, }, { setObsFilter, setObsSelection, setObsSetFilter, setObsSetSelection, setObsSelectionMode, setObsFilterMode, setObsHighlight, setObsSetColor, setObsColorEncoding, setAdditionalObsSets, setSampleFilter, setSampleSetFilter, setSampleFilterMode, setSampleSelection, setSampleSetSelection, setSampleSelectionMode, setSampleHighlight, setSampleSetColor, setHierarchyLevels, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.TREEMAP], coordinationScopes);
20
21
  const [width, height, containerRef] = useGridItemSize();
@@ -1 +1 @@
1
- {"version":3,"file":"VolcanoPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/VolcanoPlotSubscriber.js"],"names":[],"mappings":"AAuBA,+DA0JC"}
1
+ {"version":3,"file":"VolcanoPlotSubscriber.d.ts","sourceRoot":"","sources":["../src/VolcanoPlotSubscriber.js"],"names":[],"mappings":"AAwBA,+DA2JC"}
@@ -1,16 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-unused-vars */
3
3
  import React, { useMemo, useCallback } from 'react';
4
- import { TitleInfo, useCoordination, useLoaders, useReady, useGridItemSize, useFeatureStatsData, useMatchingLoader, useColumnNameMapping, } from '@vitessce/vit-s';
4
+ import { TitleInfo, useCoordination, useLoaders, useReady, useGridItemSize, useFeatureStatsData, useMatchingLoader, useColumnNameMapping, useCoordinationScopes, } from '@vitessce/vit-s';
5
5
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping, DataType, } from '@vitessce/constants-internal';
6
6
  import VolcanoPlot from './VolcanoPlot.js';
7
7
  import { useStyles } from './styles.js';
8
8
  import VolcanoPlotOptions from './VolcanoPlotOptions.js';
9
9
  import { useRawSetPaths } from './utils.js';
10
10
  export function VolcanoPlotSubscriber(props) {
11
- const { title = 'Volcano Plot', coordinationScopes, removeGridComponent, theme, helpText = ViewHelpMapping.VOLCANO_PLOT, } = props;
11
+ const { title = 'Volcano Plot', coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, helpText = ViewHelpMapping.VOLCANO_PLOT, } = props;
12
12
  const { classes } = useStyles();
13
13
  const loaders = useLoaders();
14
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
14
15
  // Get "props" from the coordination space.
15
16
  const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureLabelSignificanceThreshold, featureLabelFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor, }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureLabelSignificanceThreshold, setFeatureLabelFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.VOLCANO_PLOT], coordinationScopes);
16
17
  const [width, height, containerRef] = useGridItemSize();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/statistical-plots",
3
- "version": "3.6.17",
3
+ "version": "3.7.0",
4
4
  "author": "HIDIVE Lab at HMS",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -28,25 +28,25 @@
28
28
  "react-aria": "^3.28.0",
29
29
  "internmap": "^2.0.3",
30
30
  "uuid": "^9.0.0",
31
- "@vitessce/styles": "3.6.17",
32
- "@vitessce/constants-internal": "3.6.17",
33
- "@vitessce/sets-utils": "3.6.17",
34
- "@vitessce/utils": "3.6.17",
35
- "@vitessce/vega": "3.6.17",
36
- "@vitessce/vit-s": "3.6.17",
37
- "@vitessce/gl": "3.6.17"
31
+ "@vitessce/styles": "3.7.0",
32
+ "@vitessce/constants-internal": "3.7.0",
33
+ "@vitessce/sets-utils": "3.7.0",
34
+ "@vitessce/utils": "3.7.0",
35
+ "@vitessce/vega": "3.7.0",
36
+ "@vitessce/vit-s": "3.7.0",
37
+ "@vitessce/gl": "3.7.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "react": "^18.0.0",
41
41
  "react-dom": "^18.0.0",
42
- "vite": "^6.3.5",
42
+ "vite": "^7.0.0",
43
43
  "vitest": "^3.1.4"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
47
47
  },
48
48
  "scripts": {
49
- "bundle": "pnpm exec vite build -c ../../../scripts/vite.config.js",
49
+ "bundle": "pnpm exec vite build -c ../../../scripts/vite.config.mjs",
50
50
  "test": "pnpm exec vitest --run"
51
51
  },
52
52
  "module": "dist/index.js",
@@ -9,6 +9,7 @@ import {
9
9
  useObsSetStatsData,
10
10
  useMatchingLoader,
11
11
  useColumnNameMapping,
12
+ useCoordinationScopes,
12
13
  } from '@vitessce/vit-s';
13
14
  import {
14
15
  ViewType,
@@ -24,7 +25,7 @@ import { useRawSetPaths } from './utils.js';
24
25
 
25
26
  export function CellSetCompositionBarPlotSubscriber(props) {
26
27
  const {
27
- coordinationScopes,
28
+ coordinationScopes: coordinationScopesRaw,
28
29
  removeGridComponent,
29
30
  theme,
30
31
  helpText = ViewHelpMapping.OBS_SET_COMPOSITION_BAR_PLOT,
@@ -32,6 +33,7 @@ export function CellSetCompositionBarPlotSubscriber(props) {
32
33
 
33
34
  const { classes } = useStyles();
34
35
  const loaders = useLoaders();
36
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
35
37
 
36
38
  // Get "props" from the coordination space.
37
39
  const [{
@@ -9,6 +9,7 @@ import {
9
9
  useSampleSetsData,
10
10
  useSampleEdgesData,
11
11
  useExpandedFeatureLabelsMap,
12
+ useCoordinationScopes,
12
13
  } from '@vitessce/vit-s';
13
14
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
14
15
  import { VALUE_TRANSFORM_OPTIONS, capitalize, cleanFeatureId } from '@vitessce/utils';
@@ -132,7 +133,7 @@ function useExpressionByCellSet(
132
133
  */
133
134
  export function CellSetExpressionPlotSubscriber(props) {
134
135
  const {
135
- coordinationScopes,
136
+ coordinationScopes: coordinationScopesRaw,
136
137
  closeButtonVisible,
137
138
  downloadButtonVisible,
138
139
  removeGridComponent,
@@ -147,6 +148,7 @@ export function CellSetExpressionPlotSubscriber(props) {
147
148
 
148
149
  const { classes } = useStyles();
149
150
  const loaders = useLoaders();
151
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
150
152
 
151
153
  // Get "props" from the coordination space.
152
154
  const [{
@@ -4,6 +4,7 @@ import {
4
4
  useCoordination, useLoaders,
5
5
  useUrls, useReady, useGridItemSize,
6
6
  useObsSetsData,
7
+ useCoordinationScopes,
7
8
  } from '@vitessce/vit-s';
8
9
  import { isEqual } from 'lodash-es';
9
10
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
@@ -27,7 +28,7 @@ import { useStyles } from './styles.js';
27
28
  */
28
29
  export function CellSetSizesPlotSubscriber(props) {
29
30
  const {
30
- coordinationScopes,
31
+ coordinationScopes: coordinationScopesRaw,
31
32
  closeButtonVisible,
32
33
  downloadButtonVisible,
33
34
  removeGridComponent,
@@ -39,6 +40,7 @@ export function CellSetSizesPlotSubscriber(props) {
39
40
  const { classes } = useStyles();
40
41
 
41
42
  const loaders = useLoaders();
43
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
42
44
 
43
45
  // Get "props" from the coordination space.
44
46
  const [{
@@ -8,6 +8,7 @@ import {
8
8
  useFeatureLabelsData,
9
9
  useSampleSetsData,
10
10
  useSampleEdgesData,
11
+ useCoordinationScopes,
11
12
  } from '@vitessce/vit-s';
12
13
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
13
14
  import { VALUE_TRANSFORM_OPTIONS } from '@vitessce/utils';
@@ -27,7 +28,7 @@ import { useExpressionSummaries } from './dot-plot-hook.js';
27
28
  */
28
29
  export function DotPlotSubscriber(props) {
29
30
  const {
30
- coordinationScopes,
31
+ coordinationScopes: coordinationScopesRaw,
31
32
  removeGridComponent,
32
33
  theme,
33
34
  title = 'Dot Plot',
@@ -37,6 +38,7 @@ export function DotPlotSubscriber(props) {
37
38
 
38
39
  const { classes } = useStyles();
39
40
  const loaders = useLoaders();
41
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
40
42
 
41
43
  // Get "props" from the coordination space.
42
44
  const [{
@@ -7,6 +7,7 @@ import {
7
7
  useCoordination, useLoaders,
8
8
  useUrls, useReady, useGridItemSize,
9
9
  useObsFeatureMatrixData, useFeatureSelection,
10
+ useCoordinationScopes,
10
11
  } from '@vitessce/vit-s';
11
12
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
12
13
  import { setObsSelection, getObsInfoFromDataWithinRange } from '@vitessce/sets-utils';
@@ -24,7 +25,7 @@ import { useStyles } from './styles.js';
24
25
  */
25
26
  export function ExpressionHistogramSubscriber(props) {
26
27
  const {
27
- coordinationScopes,
28
+ coordinationScopes: coordinationScopesRaw,
28
29
  closeButtonVisible,
29
30
  downloadButtonVisible,
30
31
  removeGridComponent,
@@ -34,6 +35,7 @@ export function ExpressionHistogramSubscriber(props) {
34
35
 
35
36
  const { classes } = useStyles();
36
37
  const loaders = useLoaders();
38
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
37
39
 
38
40
  // Get "props" from the coordination space.
39
41
  const [{
@@ -9,6 +9,7 @@ import {
9
9
  useFeatureSelection,
10
10
  useObsFeatureMatrixIndices,
11
11
  useFeatureLabelsData,
12
+ useCoordinationScopes,
12
13
  } from '@vitessce/vit-s';
13
14
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
14
15
  import { setObsSelection } from '@vitessce/sets-utils';
@@ -18,7 +19,7 @@ import { useStyles } from './styles.js';
18
19
 
19
20
  export function FeatureBarPlotSubscriber(props) {
20
21
  const {
21
- coordinationScopes,
22
+ coordinationScopes: coordinationScopesRaw,
22
23
  removeGridComponent,
23
24
  theme,
24
25
  yMin = 0,
@@ -28,6 +29,7 @@ export function FeatureBarPlotSubscriber(props) {
28
29
 
29
30
  const { classes } = useStyles();
30
31
  const loaders = useLoaders();
32
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
31
33
 
32
34
  // Get "props" from the coordination space.
33
35
  const [{
@@ -10,6 +10,7 @@ import {
10
10
  useMatchingLoader,
11
11
  useColumnNameMapping,
12
12
  useAsyncFunction,
13
+ useCoordinationScopes,
13
14
  } from '@vitessce/vit-s';
14
15
  import {
15
16
  ViewType,
@@ -26,7 +27,7 @@ import { useRawSetPaths } from './utils.js';
26
27
 
27
28
  export function FeatureSetEnrichmentBarPlotSubscriber(props) {
28
29
  const {
29
- coordinationScopes,
30
+ coordinationScopes: coordinationScopesRaw,
30
31
  removeGridComponent,
31
32
  theme,
32
33
  helpText = ViewHelpMapping.FEATURE_SET_ENRICHMENT_BAR_PLOT,
@@ -34,6 +35,7 @@ export function FeatureSetEnrichmentBarPlotSubscriber(props) {
34
35
 
35
36
  const { classes } = useStyles();
36
37
  const loaders = useLoaders();
38
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
37
39
  const transformFeature = useAsyncFunction(AsyncFunctionType.TRANSFORM_FEATURE);
38
40
 
39
41
  // Get "props" from the coordination space.
@@ -8,6 +8,7 @@ import {
8
8
  useFeatureStatsData,
9
9
  useMatchingLoader,
10
10
  useColumnNameMapping,
11
+ useCoordinationScopes,
11
12
  } from '@vitessce/vit-s';
12
13
  import {
13
14
  ViewType,
@@ -21,13 +22,14 @@ import { useRawSetPaths } from './utils.js';
21
22
  export function FeatureStatsTableSubscriber(props) {
22
23
  const {
23
24
  title = 'Differential Expression Results',
24
- coordinationScopes,
25
+ coordinationScopes: coordinationScopesRaw,
25
26
  removeGridComponent,
26
27
  theme,
27
28
  helpText = ViewHelpMapping.FEATURE_STATS_TABLE,
28
29
  } = props;
29
30
 
30
31
  const loaders = useLoaders();
32
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
31
33
 
32
34
  // Get "props" from the coordination space.
33
35
  const [{
@@ -11,6 +11,7 @@ import {
11
11
  useObsSetsData,
12
12
  useSampleEdgesData,
13
13
  useSampleSetsData,
14
+ useCoordinationScopes,
14
15
  } from '@vitessce/vit-s';
15
16
  import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
16
17
  import { treeToSelectedSetMap, treeToSetSizesBySetNames, mergeObsSets } from '@vitessce/sets-utils';
@@ -25,7 +26,7 @@ const DEFAULT_HIERARCHY_LEVELS = ['obsSet', 'sampleSet'];
25
26
 
26
27
  export function TreemapSubscriber(props) {
27
28
  const {
28
- coordinationScopes,
29
+ coordinationScopes: coordinationScopesRaw,
29
30
  removeGridComponent,
30
31
  theme,
31
32
  helpText = ViewHelpMapping.TREEMAP,
@@ -33,6 +34,7 @@ export function TreemapSubscriber(props) {
33
34
 
34
35
  const { classes } = useStyles();
35
36
  const loaders = useLoaders();
37
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
36
38
 
37
39
  // Get "props" from the coordination space.
38
40
  const [{
@@ -9,6 +9,7 @@ import {
9
9
  useFeatureStatsData,
10
10
  useMatchingLoader,
11
11
  useColumnNameMapping,
12
+ useCoordinationScopes,
12
13
  } from '@vitessce/vit-s';
13
14
  import {
14
15
  ViewType,
@@ -24,7 +25,7 @@ import { useRawSetPaths } from './utils.js';
24
25
  export function VolcanoPlotSubscriber(props) {
25
26
  const {
26
27
  title = 'Volcano Plot',
27
- coordinationScopes,
28
+ coordinationScopes: coordinationScopesRaw,
28
29
  removeGridComponent,
29
30
  theme,
30
31
  helpText = ViewHelpMapping.VOLCANO_PLOT,
@@ -32,6 +33,7 @@ export function VolcanoPlotSubscriber(props) {
32
33
 
33
34
  const { classes } = useStyles();
34
35
  const loaders = useLoaders();
36
+ const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
35
37
 
36
38
  // Get "props" from the coordination space.
37
39
  const [{