@vitessce/statistical-plots 3.8.4 → 3.8.5

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-SxljTded.js";
2
- import { B as BaseDecoder } from "./index-CGPcqIZo.js";
2
+ import { B as BaseDecoder } from "./index-Bww8vUPc.js";
3
3
  class DeflateDecoder extends BaseDecoder {
4
4
  decodeBlock(buffer) {
5
5
  return inflate_1(new Uint8Array(buffer)).buffer;
@@ -1201,6 +1201,7 @@ const COMPONENT_COORDINATION_TYPES = {
1201
1201
  CoordinationType$1.FEATURE_SELECTION,
1202
1202
  CoordinationType$1.FEATURE_VALUE_COLORMAP,
1203
1203
  CoordinationType$1.FEATURE_VALUE_COLORMAP_RANGE,
1204
+ CoordinationType$1.FEATURE_AGGREGATION_STRATEGY,
1204
1205
  // TODO: CoordinationType.FEATURE_COLOR_ENCODING,
1205
1206
  // TODO: CoordinationType.ADDITIONAL_FEATURE_SETS,
1206
1207
  CoordinationType$1.TOOLTIPS_VISIBLE,
@@ -178761,22 +178762,22 @@ function addDecoder(cases2, importFn) {
178761
178762
  }
178762
178763
  cases2.forEach((c2) => registry$1.set(c2, importFn));
178763
178764
  }
178764
- addDecoder([void 0, 1], () => import("./raw-Ix4Nmikg.js").then((m2) => m2.default));
178765
- addDecoder(5, () => import("./lzw-DDQ7DaiR.js").then((m2) => m2.default));
178765
+ addDecoder([void 0, 1], () => import("./raw-BE-hWhIt.js").then((m2) => m2.default));
178766
+ addDecoder(5, () => import("./lzw-CtdR_QD0.js").then((m2) => m2.default));
178766
178767
  addDecoder(6, () => {
178767
178768
  throw new Error("old style JPEG compression is not supported.");
178768
178769
  });
178769
- addDecoder(7, () => import("./jpeg-BnJ8t6rS.js").then((m2) => m2.default));
178770
- addDecoder([8, 32946], () => import("./deflate-IW2t3FQv.js").then((m2) => m2.default));
178771
- addDecoder(32773, () => import("./packbits-Bg9j1cHH.js").then((m2) => m2.default));
178770
+ addDecoder(7, () => import("./jpeg-DaQlT1PL.js").then((m2) => m2.default));
178771
+ addDecoder([8, 32946], () => import("./deflate-DhdKi2Ho.js").then((m2) => m2.default));
178772
+ addDecoder(32773, () => import("./packbits-IHApx9PX.js").then((m2) => m2.default));
178772
178773
  addDecoder(
178773
178774
  34887,
178774
- () => import("./lerc-CAWhme9S.js").then(async (m2) => {
178775
+ () => import("./lerc-CEyFtJYR.js").then(async (m2) => {
178775
178776
  await m2.zstd.init();
178776
178777
  return m2;
178777
178778
  }).then((m2) => m2.default)
178778
178779
  );
178779
- addDecoder(50001, () => import("./webimage-DtR7PZaH.js").then((m2) => m2.default));
178780
+ addDecoder(50001, () => import("./webimage-Co4sRMMx.js").then((m2) => m2.default));
178780
178781
  function decodeRowAcc(row, stride) {
178781
178782
  let length2 = row.length - stride;
178782
178783
  let offset2 = 0;
@@ -195744,6 +195745,7 @@ accessor$1(() => 0, [], "zero");
195744
195745
  accessor$1(() => 1, [], "one");
195745
195746
  accessor$1(() => true, [], "true");
195746
195747
  accessor$1(() => false, [], "false");
195748
+ /* @__PURE__ */ new Set([...Object.getOwnPropertyNames(Object.prototype).filter((name2) => typeof Object.prototype[name2] === "function"), "__proto__"]);
195747
195749
  var isArray$1 = Array.isArray;
195748
195750
  function peek$2(array2) {
195749
195751
  return array2[array2.length - 1];
@@ -199053,8 +199055,7 @@ function splitAccessPath(p) {
199053
199055
  for (i2 = j = 0; j < n2; ++j) {
199054
199056
  c2 = p[j];
199055
199057
  if (c2 === "\\") {
199056
- s2 += p.substring(i2, j);
199057
- s2 += p.substring(++j, ++j);
199058
+ s2 += p.substring(i2, j++);
199058
199059
  i2 = j;
199059
199060
  } else if (c2 === q) {
199060
199061
  push2();
@@ -199112,7 +199113,8 @@ const Error$1 = 1;
199112
199113
  const Warn = 2;
199113
199114
  const Info = 3;
199114
199115
  const Debug = 4;
199115
- function logger(_, method2, handler = log$1$1) {
199116
+ function logger(_, method2) {
199117
+ let handler = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : log$1$1;
199116
199118
  let level = _ || None$2;
199117
199119
  return {
199118
199120
  level(_2) {
@@ -199146,7 +199148,10 @@ function isObject(_) {
199146
199148
  return _ === Object(_);
199147
199149
  }
199148
199150
  const isLegalKey = (key2) => key2 !== "__proto__";
199149
- function mergeConfig(...configs) {
199151
+ function mergeConfig() {
199152
+ for (var _len = arguments.length, configs = new Array(_len), _key = 0; _key < _len; _key++) {
199153
+ configs[_key] = arguments[_key];
199154
+ }
199150
199155
  return configs.reduce((out, source2) => {
199151
199156
  for (const key2 in source2) {
199152
199157
  if (key2 === "signals") {
@@ -199384,9 +199389,8 @@ function extentIndex(array2, f2) {
199384
199389
  }
199385
199390
  return [u2, v];
199386
199391
  }
199387
- const hop = Object.prototype.hasOwnProperty;
199388
199392
  function has$1(object2, property2) {
199389
- return hop.call(object2, property2);
199393
+ return Object.hasOwn(object2, property2);
199390
199394
  }
199391
199395
  const NULL = {};
199392
199396
  function fastmap(input) {
@@ -252540,6 +252544,7 @@ function FeatureStatsTable(props) {
252540
252544
  sampleSetSelection,
252541
252545
  data: data2,
252542
252546
  setFeatureSelection,
252547
+ setFeatureAggregationStrategy,
252543
252548
  featurePointSignificanceThreshold,
252544
252549
  featurePointFoldChangeThreshold
252545
252550
  } = props;
@@ -252602,6 +252607,7 @@ function FeatureStatsTable(props) {
252602
252607
  }, [filteredData, obsSetsColumnNameMappingReversed]);
252603
252608
  const onSelectionModelChange = useCallback((rowIds) => {
252604
252609
  const featureIds = Array.from(rowIds.ids).map((rowId) => rowId.split(ROW_ID_DELIMITER)[0]);
252610
+ setFeatureAggregationStrategy(null);
252605
252611
  setFeatureSelection(featureIds);
252606
252612
  }, []);
252607
252613
  const rowSelectionModel = useMemo(() => ({ ids: /* @__PURE__ */ new Set([]), type: "include" }), []);
@@ -252649,6 +252655,7 @@ function FeatureStatsTableSubscriber(props) {
252649
252655
  featurePointFoldChangeThreshold,
252650
252656
  featureValueTransform,
252651
252657
  featureValueTransformCoefficient,
252658
+ featureAggregationStrategy,
252652
252659
  gatingFeatureSelectionX,
252653
252660
  gatingFeatureSelectionY,
252654
252661
  featureSelection,
@@ -252665,6 +252672,7 @@ function FeatureStatsTableSubscriber(props) {
252665
252672
  setFeaturePointFoldChangeThreshold,
252666
252673
  setFeatureValueTransform,
252667
252674
  setFeatureValueTransformCoefficient,
252675
+ setFeatureAggregationStrategy,
252668
252676
  setGatingFeatureSelectionX,
252669
252677
  setGatingFeatureSelectionY,
252670
252678
  setFeatureSelection,
@@ -252739,6 +252747,7 @@ function FeatureStatsTableSubscriber(props) {
252739
252747
  data: featureStats,
252740
252748
  featureSelection,
252741
252749
  setFeatureSelection,
252750
+ setFeatureAggregationStrategy,
252742
252751
  featurePointSignificanceThreshold,
252743
252752
  featurePointFoldChangeThreshold
252744
252753
  }
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-CGPcqIZo.js";
1
+ import { b, f, C, e, a, i, D, h, E, F, c, d, T, V } from "./index-Bww8vUPc.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-CGPcqIZo.js";
1
+ import { B as BaseDecoder } from "./index-Bww8vUPc.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-CGPcqIZo.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-Bww8vUPc.js";
3
3
  const LercParameters = {
4
4
  AddCompression: 1
5
5
  };
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-CGPcqIZo.js";
1
+ import { B as BaseDecoder } from "./index-Bww8vUPc.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-CGPcqIZo.js";
1
+ import { B as BaseDecoder } from "./index-Bww8vUPc.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-CGPcqIZo.js";
1
+ import { B as BaseDecoder } from "./index-Bww8vUPc.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-CGPcqIZo.js";
1
+ import { B as BaseDecoder } from "./index-Bww8vUPc.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureStatsTable.d.ts","sourceRoot":"","sources":["../src/FeatureStatsTable.js"],"names":[],"mappings":"AAoBA,mEAyGC"}
1
+ {"version":3,"file":"FeatureStatsTable.d.ts","sourceRoot":"","sources":["../src/FeatureStatsTable.js"],"names":[],"mappings":"AAoBA,mEA6GC"}
@@ -17,7 +17,7 @@ const initialState = {
17
17
  };
18
18
  const pageSizeOptions = [10];
19
19
  export default function FeatureStatsTable(props) {
20
- const { obsType, featureType, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMappingReversed, sampleSetSelection, data, setFeatureSelection, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, } = props;
20
+ const { obsType, featureType, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMappingReversed, sampleSetSelection, data, setFeatureSelection, setFeatureAggregationStrategy, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, } = props;
21
21
  const [
22
22
  // eslint-disable-next-line no-unused-vars
23
23
  computedData, filteredData,] = useFilteredVolcanoData({
@@ -78,6 +78,8 @@ export default function FeatureStatsTable(props) {
78
78
  }, [filteredData, obsSetsColumnNameMappingReversed]);
79
79
  const onSelectionModelChange = useCallback((rowIds) => {
80
80
  const featureIds = Array.from(rowIds.ids).map(rowId => rowId.split(ROW_ID_DELIMITER)[0]);
81
+ // We want to clear this value upon selection, in case it was previously set.
82
+ setFeatureAggregationStrategy(null);
81
83
  setFeatureSelection(featureIds);
82
84
  }, []);
83
85
  const rowSelectionModel = useMemo(() => ({ ids: new Set([]), type: 'include' }), []);
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureStatsTableSubscriber.d.ts","sourceRoot":"","sources":["../src/FeatureStatsTableSubscriber.js"],"names":[],"mappings":"AAqBA,qEAwHC"}
1
+ {"version":3,"file":"FeatureStatsTableSubscriber.d.ts","sourceRoot":"","sources":["../src/FeatureStatsTableSubscriber.js"],"names":[],"mappings":"AAqBA,qEA2HC"}
@@ -10,7 +10,7 @@ export function FeatureStatsTableSubscriber(props) {
10
10
  const loaders = useLoaders();
11
11
  const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
12
12
  // Get "props" from the coordination space.
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
+ const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, featureAggregationStrategy, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor, }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setFeatureAggregationStrategy, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.FEATURE_STATS_TABLE], coordinationScopes);
14
14
  const obsSetsLoader = useMatchingLoader(loaders, dataset, DataType.OBS_SETS, { obsType });
15
15
  const sampleSetsLoader = useMatchingLoader(loaders, dataset, DataType.SAMPLE_SETS, { sampleType });
16
16
  const obsSetsColumnNameMapping = useColumnNameMapping(obsSetsLoader);
@@ -28,5 +28,5 @@ export function FeatureStatsTableSubscriber(props) {
28
28
  const isReady = useReady([
29
29
  featureStatsStatus,
30
30
  ]);
31
- return (_jsx(TitleInfo, { title: title, removeGridComponent: removeGridComponent, theme: theme, isReady: isReady, helpText: helpText, errors: errors, withPadding: false, children: featureStats ? (_jsx(FeatureStatsTable, { theme: theme, obsType: obsType, featureType: featureType, obsSetsColumnNameMapping: obsSetsColumnNameMapping, obsSetsColumnNameMappingReversed: obsSetsColumnNameMappingReversed, sampleSetsColumnNameMapping: sampleSetsColumnNameMapping, sampleSetsColumnNameMappingReversed: sampleSetsColumnNameMappingReversed, sampleSetSelection: sampleSetSelection, obsSetSelection: obsSetSelection, obsSetColor: obsSetColor, sampleSetColor: sampleSetColor, data: featureStats, featureSelection: featureSelection, setFeatureSelection: setFeatureSelection, featurePointSignificanceThreshold: featurePointSignificanceThreshold, featurePointFoldChangeThreshold: featurePointFoldChangeThreshold })) : (_jsxs("p", { style: { padding: '12px' }, children: ["Select at least one ", obsType, " set."] })) }));
31
+ return (_jsx(TitleInfo, { title: title, removeGridComponent: removeGridComponent, theme: theme, isReady: isReady, helpText: helpText, errors: errors, withPadding: false, children: featureStats ? (_jsx(FeatureStatsTable, { theme: theme, obsType: obsType, featureType: featureType, obsSetsColumnNameMapping: obsSetsColumnNameMapping, obsSetsColumnNameMappingReversed: obsSetsColumnNameMappingReversed, sampleSetsColumnNameMapping: sampleSetsColumnNameMapping, sampleSetsColumnNameMappingReversed: sampleSetsColumnNameMappingReversed, sampleSetSelection: sampleSetSelection, obsSetSelection: obsSetSelection, obsSetColor: obsSetColor, sampleSetColor: sampleSetColor, data: featureStats, featureSelection: featureSelection, setFeatureSelection: setFeatureSelection, setFeatureAggregationStrategy: setFeatureAggregationStrategy, featurePointSignificanceThreshold: featurePointSignificanceThreshold, featurePointFoldChangeThreshold: featurePointFoldChangeThreshold })) : (_jsxs("p", { style: { padding: '12px' }, children: ["Select at least one ", obsType, " set."] })) }));
32
32
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/statistical-plots",
3
- "version": "3.8.4",
3
+ "version": "3.8.5",
4
4
  "author": "HIDIVE Lab at HMS",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -28,13 +28,13 @@
28
28
  "react-aria": "^3.28.0",
29
29
  "internmap": "^2.0.3",
30
30
  "uuid": "^9.0.0",
31
- "@vitessce/styles": "3.8.4",
32
- "@vitessce/constants-internal": "3.8.4",
33
- "@vitessce/sets-utils": "3.8.4",
34
- "@vitessce/utils": "3.8.4",
35
- "@vitessce/vega": "3.8.4",
36
- "@vitessce/vit-s": "3.8.4",
37
- "@vitessce/gl": "3.8.4"
31
+ "@vitessce/styles": "3.8.5",
32
+ "@vitessce/constants-internal": "3.8.5",
33
+ "@vitessce/sets-utils": "3.8.5",
34
+ "@vitessce/utils": "3.8.5",
35
+ "@vitessce/vega": "3.8.5",
36
+ "@vitessce/vit-s": "3.8.5",
37
+ "@vitessce/gl": "3.8.5"
38
38
  },
39
39
  "devDependencies": {
40
40
  "react": "18.3.1",
@@ -27,6 +27,7 @@ export default function FeatureStatsTable(props) {
27
27
  sampleSetSelection,
28
28
  data,
29
29
  setFeatureSelection,
30
+ setFeatureAggregationStrategy,
30
31
  featurePointSignificanceThreshold,
31
32
  featurePointFoldChangeThreshold,
32
33
  } = props;
@@ -99,6 +100,9 @@ export default function FeatureStatsTable(props) {
99
100
 
100
101
  const onSelectionModelChange = useCallback((rowIds) => {
101
102
  const featureIds = Array.from(rowIds.ids).map(rowId => rowId.split(ROW_ID_DELIMITER)[0]);
103
+ // We want to clear this value upon selection, in case it was previously set.
104
+ setFeatureAggregationStrategy(null);
105
+
102
106
  setFeatureSelection(featureIds);
103
107
  }, []);
104
108
 
@@ -48,6 +48,7 @@ export function FeatureStatsTableSubscriber(props) {
48
48
  featurePointFoldChangeThreshold,
49
49
  featureValueTransform,
50
50
  featureValueTransformCoefficient,
51
+ featureAggregationStrategy,
51
52
  gatingFeatureSelectionX,
52
53
  gatingFeatureSelectionY,
53
54
  featureSelection,
@@ -64,6 +65,7 @@ export function FeatureStatsTableSubscriber(props) {
64
65
  setFeaturePointFoldChangeThreshold,
65
66
  setFeatureValueTransform,
66
67
  setFeatureValueTransformCoefficient,
68
+ setFeatureAggregationStrategy,
67
69
  setGatingFeatureSelectionX,
68
70
  setGatingFeatureSelectionY,
69
71
  setFeatureSelection,
@@ -131,6 +133,7 @@ export function FeatureStatsTableSubscriber(props) {
131
133
  data={featureStats}
132
134
  featureSelection={featureSelection}
133
135
  setFeatureSelection={setFeatureSelection}
136
+ setFeatureAggregationStrategy={setFeatureAggregationStrategy}
134
137
  featurePointSignificanceThreshold={featurePointSignificanceThreshold}
135
138
  featurePointFoldChangeThreshold={featurePointFoldChangeThreshold}
136
139
  />