@vitessce/scatterplot-gating 3.5.5 → 3.5.7

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-23703f49.js";
2
+ import { B as BaseDecoder } from "./index-86107bbe.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -2625,6 +2625,258 @@ function getNextScope(prevScopes) {
2625
2625
  } while (prevScopes.includes(nextScope));
2626
2626
  return nextScope;
2627
2627
  }
2628
+ var loglevel = { exports: {} };
2629
+ (function(module2) {
2630
+ (function(root2, definition) {
2631
+ if (module2.exports) {
2632
+ module2.exports = definition();
2633
+ } else {
2634
+ root2.log = definition();
2635
+ }
2636
+ })(commonjsGlobal, function() {
2637
+ var noop2 = function() {
2638
+ };
2639
+ var undefinedType2 = "undefined";
2640
+ var isIE2 = typeof window !== undefinedType2 && typeof window.navigator !== undefinedType2 && /Trident\/|MSIE /.test(window.navigator.userAgent);
2641
+ var logMethods = [
2642
+ "trace",
2643
+ "debug",
2644
+ "info",
2645
+ "warn",
2646
+ "error"
2647
+ ];
2648
+ var _loggersByName = {};
2649
+ var defaultLogger = null;
2650
+ function bindMethod(obj, methodName) {
2651
+ var method = obj[methodName];
2652
+ if (typeof method.bind === "function") {
2653
+ return method.bind(obj);
2654
+ } else {
2655
+ try {
2656
+ return Function.prototype.bind.call(method, obj);
2657
+ } catch (e2) {
2658
+ return function() {
2659
+ return Function.prototype.apply.apply(method, [obj, arguments]);
2660
+ };
2661
+ }
2662
+ }
2663
+ }
2664
+ function traceForIE() {
2665
+ if (console.log) {
2666
+ if (console.log.apply) {
2667
+ console.log.apply(console, arguments);
2668
+ } else {
2669
+ Function.prototype.apply.apply(console.log, [console, arguments]);
2670
+ }
2671
+ }
2672
+ if (console.trace)
2673
+ console.trace();
2674
+ }
2675
+ function realMethod(methodName) {
2676
+ if (methodName === "debug") {
2677
+ methodName = "log";
2678
+ }
2679
+ if (typeof console === undefinedType2) {
2680
+ return false;
2681
+ } else if (methodName === "trace" && isIE2) {
2682
+ return traceForIE;
2683
+ } else if (console[methodName] !== void 0) {
2684
+ return bindMethod(console, methodName);
2685
+ } else if (console.log !== void 0) {
2686
+ return bindMethod(console, "log");
2687
+ } else {
2688
+ return noop2;
2689
+ }
2690
+ }
2691
+ function replaceLoggingMethods() {
2692
+ var level = this.getLevel();
2693
+ for (var i2 = 0; i2 < logMethods.length; i2++) {
2694
+ var methodName = logMethods[i2];
2695
+ this[methodName] = i2 < level ? noop2 : this.methodFactory(methodName, level, this.name);
2696
+ }
2697
+ this.log = this.debug;
2698
+ if (typeof console === undefinedType2 && level < this.levels.SILENT) {
2699
+ return "No console available for logging";
2700
+ }
2701
+ }
2702
+ function enableLoggingWhenConsoleArrives(methodName) {
2703
+ return function() {
2704
+ if (typeof console !== undefinedType2) {
2705
+ replaceLoggingMethods.call(this);
2706
+ this[methodName].apply(this, arguments);
2707
+ }
2708
+ };
2709
+ }
2710
+ function defaultMethodFactory(methodName, _level, _loggerName) {
2711
+ return realMethod(methodName) || enableLoggingWhenConsoleArrives.apply(this, arguments);
2712
+ }
2713
+ function Logger(name2, factory) {
2714
+ var self2 = this;
2715
+ var inheritedLevel;
2716
+ var defaultLevel;
2717
+ var userLevel;
2718
+ var storageKey = "loglevel";
2719
+ if (typeof name2 === "string") {
2720
+ storageKey += ":" + name2;
2721
+ } else if (typeof name2 === "symbol") {
2722
+ storageKey = void 0;
2723
+ }
2724
+ function persistLevelIfPossible(levelNum) {
2725
+ var levelName = (logMethods[levelNum] || "silent").toUpperCase();
2726
+ if (typeof window === undefinedType2 || !storageKey)
2727
+ return;
2728
+ try {
2729
+ window.localStorage[storageKey] = levelName;
2730
+ return;
2731
+ } catch (ignore) {
2732
+ }
2733
+ try {
2734
+ window.document.cookie = encodeURIComponent(storageKey) + "=" + levelName + ";";
2735
+ } catch (ignore) {
2736
+ }
2737
+ }
2738
+ function getPersistedLevel() {
2739
+ var storedLevel;
2740
+ if (typeof window === undefinedType2 || !storageKey)
2741
+ return;
2742
+ try {
2743
+ storedLevel = window.localStorage[storageKey];
2744
+ } catch (ignore) {
2745
+ }
2746
+ if (typeof storedLevel === undefinedType2) {
2747
+ try {
2748
+ var cookie = window.document.cookie;
2749
+ var cookieName = encodeURIComponent(storageKey);
2750
+ var location = cookie.indexOf(cookieName + "=");
2751
+ if (location !== -1) {
2752
+ storedLevel = /^([^;]+)/.exec(
2753
+ cookie.slice(location + cookieName.length + 1)
2754
+ )[1];
2755
+ }
2756
+ } catch (ignore) {
2757
+ }
2758
+ }
2759
+ if (self2.levels[storedLevel] === void 0) {
2760
+ storedLevel = void 0;
2761
+ }
2762
+ return storedLevel;
2763
+ }
2764
+ function clearPersistedLevel() {
2765
+ if (typeof window === undefinedType2 || !storageKey)
2766
+ return;
2767
+ try {
2768
+ window.localStorage.removeItem(storageKey);
2769
+ } catch (ignore) {
2770
+ }
2771
+ try {
2772
+ window.document.cookie = encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
2773
+ } catch (ignore) {
2774
+ }
2775
+ }
2776
+ function normalizeLevel(input) {
2777
+ var level = input;
2778
+ if (typeof level === "string" && self2.levels[level.toUpperCase()] !== void 0) {
2779
+ level = self2.levels[level.toUpperCase()];
2780
+ }
2781
+ if (typeof level === "number" && level >= 0 && level <= self2.levels.SILENT) {
2782
+ return level;
2783
+ } else {
2784
+ throw new TypeError("log.setLevel() called with invalid level: " + input);
2785
+ }
2786
+ }
2787
+ self2.name = name2;
2788
+ self2.levels = {
2789
+ "TRACE": 0,
2790
+ "DEBUG": 1,
2791
+ "INFO": 2,
2792
+ "WARN": 3,
2793
+ "ERROR": 4,
2794
+ "SILENT": 5
2795
+ };
2796
+ self2.methodFactory = factory || defaultMethodFactory;
2797
+ self2.getLevel = function() {
2798
+ if (userLevel != null) {
2799
+ return userLevel;
2800
+ } else if (defaultLevel != null) {
2801
+ return defaultLevel;
2802
+ } else {
2803
+ return inheritedLevel;
2804
+ }
2805
+ };
2806
+ self2.setLevel = function(level, persist) {
2807
+ userLevel = normalizeLevel(level);
2808
+ if (persist !== false) {
2809
+ persistLevelIfPossible(userLevel);
2810
+ }
2811
+ return replaceLoggingMethods.call(self2);
2812
+ };
2813
+ self2.setDefaultLevel = function(level) {
2814
+ defaultLevel = normalizeLevel(level);
2815
+ if (!getPersistedLevel()) {
2816
+ self2.setLevel(level, false);
2817
+ }
2818
+ };
2819
+ self2.resetLevel = function() {
2820
+ userLevel = null;
2821
+ clearPersistedLevel();
2822
+ replaceLoggingMethods.call(self2);
2823
+ };
2824
+ self2.enableAll = function(persist) {
2825
+ self2.setLevel(self2.levels.TRACE, persist);
2826
+ };
2827
+ self2.disableAll = function(persist) {
2828
+ self2.setLevel(self2.levels.SILENT, persist);
2829
+ };
2830
+ self2.rebuild = function() {
2831
+ if (defaultLogger !== self2) {
2832
+ inheritedLevel = normalizeLevel(defaultLogger.getLevel());
2833
+ }
2834
+ replaceLoggingMethods.call(self2);
2835
+ if (defaultLogger === self2) {
2836
+ for (var childName in _loggersByName) {
2837
+ _loggersByName[childName].rebuild();
2838
+ }
2839
+ }
2840
+ };
2841
+ inheritedLevel = normalizeLevel(
2842
+ defaultLogger ? defaultLogger.getLevel() : "WARN"
2843
+ );
2844
+ var initialLevel = getPersistedLevel();
2845
+ if (initialLevel != null) {
2846
+ userLevel = normalizeLevel(initialLevel);
2847
+ }
2848
+ replaceLoggingMethods.call(self2);
2849
+ }
2850
+ defaultLogger = new Logger();
2851
+ defaultLogger.getLogger = function getLogger(name2) {
2852
+ if (typeof name2 !== "symbol" && typeof name2 !== "string" || name2 === "") {
2853
+ throw new TypeError("You must supply a name when creating a logger.");
2854
+ }
2855
+ var logger = _loggersByName[name2];
2856
+ if (!logger) {
2857
+ logger = _loggersByName[name2] = new Logger(
2858
+ name2,
2859
+ defaultLogger.methodFactory
2860
+ );
2861
+ }
2862
+ return logger;
2863
+ };
2864
+ var _log = typeof window !== undefinedType2 ? window.log : void 0;
2865
+ defaultLogger.noConflict = function() {
2866
+ if (typeof window !== undefinedType2 && window.log === defaultLogger) {
2867
+ window.log = _log;
2868
+ }
2869
+ return defaultLogger;
2870
+ };
2871
+ defaultLogger.getLoggers = function getLoggers2() {
2872
+ return _loggersByName;
2873
+ };
2874
+ defaultLogger["default"] = defaultLogger;
2875
+ return defaultLogger;
2876
+ });
2877
+ })(loglevel);
2878
+ var loglevelExports = loglevel.exports;
2879
+ const log$5 = /* @__PURE__ */ getDefaultExportFromCjs(loglevelExports);
2628
2880
  const DEFAULT_DARK_COLOR = [50, 50, 50];
2629
2881
  const DEFAULT_LIGHT_COLOR$3 = [200, 200, 200];
2630
2882
  const DEFAULT_LIGHT2_COLOR = [235, 235, 235];
@@ -8790,7 +9042,7 @@ function upgradeFrom1_0_14(config2) {
8790
9042
  Object.entries(propAnalogies).forEach(([oldProp, newType]) => {
8791
9043
  var _a2;
8792
9044
  if ((_a2 = viewDef.props) == null ? void 0 : _a2[oldProp]) {
8793
- console.warn(`Warning: the '${oldProp}' prop on the ${viewDef.component} view is deprecated. Please use the '${newType}' coordination type instead.`);
9045
+ log$5.warn(`Warning: the '${oldProp}' prop on the ${viewDef.component} view is deprecated. Please use the '${newType}' coordination type instead.`);
8794
9046
  }
8795
9047
  });
8796
9048
  });
@@ -8813,7 +9065,7 @@ function upgradeFrom1_0_15(config2) {
8813
9065
  Object.entries(coordinationScopes).forEach(([coordinationType, coordinationScope]) => {
8814
9066
  if (!Array.isArray(coordinationScope) && typeof coordinationScope === "object") {
8815
9067
  if (coordinationType === "dataset") {
8816
- console.error("Expected coordinationScopes.dataset value to be either string or string[], but got object.");
9068
+ log$5.error("Expected coordinationScopes.dataset value to be either string or string[], but got object.");
8817
9069
  }
8818
9070
  coordinationScopesBy.dataset[coordinationType] = coordinationScope;
8819
9071
  } else if (Array.isArray(coordinationScope) || typeof coordinationScope === "string") {
@@ -11025,7 +11277,9 @@ const ViewType$1 = {
11025
11277
  DOT_PLOT: "dotPlot",
11026
11278
  FEATURE_BAR_PLOT: "featureBarPlot",
11027
11279
  BIOMARKER_SELECT: "biomarkerSelect",
11028
- LINK_CONTROLLER: "linkController"
11280
+ LINK_CONTROLLER: "linkController",
11281
+ DUAL_SCATTERPLOT: "dualScatterplot",
11282
+ TREEMAP: "treemap"
11029
11283
  };
11030
11284
  const DataType$2 = {
11031
11285
  OBS_LABELS: "obsLabels",
@@ -11079,6 +11333,7 @@ const FileType$1 = {
11079
11333
  OBS_LABELS_ANNDATA_ZARR: "obsLabels.anndata.zarr",
11080
11334
  FEATURE_LABELS_ANNDATA_ZARR: "featureLabels.anndata.zarr",
11081
11335
  SAMPLE_EDGES_ANNDATA_ZARR: "sampleEdges.anndata.zarr",
11336
+ SAMPLE_SETS_ANNDATA_ZARR: "sampleSets.anndata.zarr",
11082
11337
  // AnnData - zipped
11083
11338
  OBS_FEATURE_MATRIX_ANNDATA_ZARR_ZIP: "obsFeatureMatrix.anndata.zarr.zip",
11084
11339
  OBS_FEATURE_COLUMNS_ANNDATA_ZARR_ZIP: "obsFeatureColumns.anndata.zarr.zip",
@@ -11091,6 +11346,7 @@ const FileType$1 = {
11091
11346
  OBS_LABELS_ANNDATA_ZARR_ZIP: "obsLabels.anndata.zarr.zip",
11092
11347
  FEATURE_LABELS_ANNDATA_ZARR_ZIP: "featureLabels.anndata.zarr.zip",
11093
11348
  SAMPLE_EDGES_ANNDATA_ZARR_ZIP: "sampleEdges.anndata.zarr.zip",
11349
+ SAMPLE_SETS_ANNDATA_ZARR_ZIP: "sampleSets.anndata.zarr.zip",
11094
11350
  // AnnData - h5ad via reference spec
11095
11351
  OBS_FEATURE_MATRIX_ANNDATA_H5AD: "obsFeatureMatrix.anndata.h5ad",
11096
11352
  OBS_FEATURE_COLUMNS_ANNDATA_H5AD: "obsFeatureColumns.anndata.h5ad",
@@ -11103,6 +11359,7 @@ const FileType$1 = {
11103
11359
  OBS_LABELS_ANNDATA_H5AD: "obsLabels.anndata.h5ad",
11104
11360
  FEATURE_LABELS_ANNDATA_H5AD: "featureLabels.anndata.h5ad",
11105
11361
  SAMPLE_EDGES_ANNDATA_H5AD: "sampleEdges.anndata.h5ad",
11362
+ SAMPLE_SETS_ANNDATA_H5AD: "sampleSets.anndata.h5ad",
11106
11363
  // SpatialData
11107
11364
  IMAGE_SPATIALDATA_ZARR: "image.spatialdata.zarr",
11108
11365
  LABELS_SPATIALDATA_ZARR: "labels.spatialdata.zarr",
@@ -11204,15 +11461,23 @@ const CoordinationType$1 = {
11204
11461
  HEATMAP_ZOOM_Y: "heatmapZoomY",
11205
11462
  HEATMAP_TARGET_X: "heatmapTargetX",
11206
11463
  HEATMAP_TARGET_Y: "heatmapTargetY",
11207
- OBS_FILTER: "obsFilter",
11208
11464
  OBS_HIGHLIGHT: "obsHighlight",
11465
+ OBS_SELECTION: "obsSelection",
11209
11466
  OBS_SET_SELECTION: "obsSetSelection",
11467
+ OBS_SELECTION_MODE: "obsSelectionMode",
11468
+ OBS_FILTER: "obsFilter",
11469
+ OBS_SET_FILTER: "obsSetFilter",
11470
+ OBS_FILTER_MODE: "obsFilterMode",
11210
11471
  OBS_SET_HIGHLIGHT: "obsSetHighlight",
11211
11472
  OBS_SET_EXPANSION: "obsSetExpansion",
11212
11473
  OBS_SET_COLOR: "obsSetColor",
11213
- FEATURE_FILTER: "featureFilter",
11214
11474
  FEATURE_HIGHLIGHT: "featureHighlight",
11215
11475
  FEATURE_SELECTION: "featureSelection",
11476
+ FEATURE_SET_SELECTION: "featureSetSelection",
11477
+ FEATURE_SELECTION_MODE: "featureSelectionMode",
11478
+ FEATURE_FILTER: "featureFilter",
11479
+ FEATURE_SET_FILTER: "featureSetFilter",
11480
+ FEATURE_FILTER_MODE: "featureFilterMode",
11216
11481
  FEATURE_VALUE_COLORMAP: "featureValueColormap",
11217
11482
  FEATURE_VALUE_TRANSFORM: "featureValueTransform",
11218
11483
  FEATURE_VALUE_COLORMAP_RANGE: "featureValueColormapRange",
@@ -11279,14 +11544,22 @@ const CoordinationType$1 = {
11279
11544
  SPATIAL_CHANNEL_LABEL_SIZE: "spatialChannelLabelSize",
11280
11545
  // Multi-sample / comparative
11281
11546
  SAMPLE_TYPE: "sampleType",
11547
+ SAMPLE_SELECTION: "sampleSelection",
11282
11548
  SAMPLE_SET_SELECTION: "sampleSetSelection",
11549
+ SAMPLE_SELECTION_MODE: "sampleSelectionMode",
11550
+ SAMPLE_FILTER: "sampleFilter",
11551
+ SAMPLE_SET_FILTER: "sampleSetFilter",
11552
+ SAMPLE_FILTER_MODE: "sampleFilterMode",
11283
11553
  SAMPLE_SET_COLOR: "sampleSetColor",
11554
+ SAMPLE_HIGHLIGHT: "sampleHighlight",
11284
11555
  EMBEDDING_POINTS_VISIBLE: "embeddingPointsVisible",
11285
11556
  EMBEDDING_CONTOURS_VISIBLE: "embeddingContoursVisible",
11286
11557
  EMBEDDING_CONTOURS_FILLED: "embeddingContoursFilled",
11287
11558
  EMBEDDING_CONTOUR_PERCENTILES: "embeddingContourPercentiles",
11288
11559
  CONTOUR_COLOR_ENCODING: "contourColorEncoding",
11289
- CONTOUR_COLOR: "contourColor"
11560
+ CONTOUR_COLOR: "contourColor",
11561
+ // Treemap
11562
+ HIERARCHY_LEVELS: "hierarchyLevels"
11290
11563
  };
11291
11564
  const ViewHelpMapping = {
11292
11565
  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).",
@@ -11303,7 +11576,8 @@ const ViewHelpMapping = {
11303
11576
  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).",
11304
11577
  FEATURE_VALUE_HISTOGRAM: "The feature value histogram displays the distribution of values (e.g., expression) for the selected feature (e.g., gene).",
11305
11578
  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).",
11306
- 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."
11579
+ 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.",
11580
+ TREEMAP: "The treemap provides an overview of the current state of sample-level or cell-level selection and filtering."
11307
11581
  };
11308
11582
  const COMPONENT_COORDINATION_TYPES = {
11309
11583
  [ViewType$1.SCATTERPLOT]: [
@@ -11328,6 +11602,50 @@ const COMPONENT_COORDINATION_TYPES = {
11328
11602
  CoordinationType$1.OBS_FILTER,
11329
11603
  CoordinationType$1.OBS_HIGHLIGHT,
11330
11604
  CoordinationType$1.OBS_SET_SELECTION,
11605
+ CoordinationType$1.OBS_SET_FILTER,
11606
+ CoordinationType$1.OBS_SET_HIGHLIGHT,
11607
+ CoordinationType$1.OBS_SET_COLOR,
11608
+ CoordinationType$1.FEATURE_HIGHLIGHT,
11609
+ CoordinationType$1.FEATURE_SELECTION,
11610
+ CoordinationType$1.FEATURE_VALUE_COLORMAP,
11611
+ CoordinationType$1.FEATURE_VALUE_COLORMAP_RANGE,
11612
+ CoordinationType$1.OBS_COLOR_ENCODING,
11613
+ CoordinationType$1.ADDITIONAL_OBS_SETS,
11614
+ CoordinationType$1.TOOLTIPS_VISIBLE,
11615
+ CoordinationType$1.SAMPLE_TYPE,
11616
+ CoordinationType$1.SAMPLE_SET_SELECTION,
11617
+ CoordinationType$1.SAMPLE_SET_FILTER,
11618
+ CoordinationType$1.SAMPLE_SET_COLOR,
11619
+ CoordinationType$1.EMBEDDING_POINTS_VISIBLE,
11620
+ CoordinationType$1.EMBEDDING_CONTOURS_VISIBLE,
11621
+ CoordinationType$1.EMBEDDING_CONTOURS_FILLED,
11622
+ CoordinationType$1.EMBEDDING_CONTOUR_PERCENTILES,
11623
+ CoordinationType$1.CONTOUR_COLOR_ENCODING,
11624
+ CoordinationType$1.CONTOUR_COLOR
11625
+ ],
11626
+ [ViewType$1.DUAL_SCATTERPLOT]: [
11627
+ CoordinationType$1.DATASET,
11628
+ CoordinationType$1.OBS_TYPE,
11629
+ CoordinationType$1.FEATURE_TYPE,
11630
+ CoordinationType$1.FEATURE_VALUE_TYPE,
11631
+ CoordinationType$1.OBS_LABELS_TYPE,
11632
+ CoordinationType$1.EMBEDDING_TYPE,
11633
+ CoordinationType$1.EMBEDDING_ZOOM,
11634
+ CoordinationType$1.EMBEDDING_ROTATION,
11635
+ CoordinationType$1.EMBEDDING_TARGET_X,
11636
+ CoordinationType$1.EMBEDDING_TARGET_Y,
11637
+ CoordinationType$1.EMBEDDING_TARGET_Z,
11638
+ CoordinationType$1.EMBEDDING_OBS_SET_POLYGONS_VISIBLE,
11639
+ CoordinationType$1.EMBEDDING_OBS_SET_LABELS_VISIBLE,
11640
+ CoordinationType$1.EMBEDDING_OBS_SET_LABEL_SIZE,
11641
+ CoordinationType$1.EMBEDDING_OBS_RADIUS,
11642
+ CoordinationType$1.EMBEDDING_OBS_RADIUS_MODE,
11643
+ CoordinationType$1.EMBEDDING_OBS_OPACITY,
11644
+ CoordinationType$1.EMBEDDING_OBS_OPACITY_MODE,
11645
+ CoordinationType$1.OBS_FILTER,
11646
+ CoordinationType$1.OBS_HIGHLIGHT,
11647
+ CoordinationType$1.OBS_SET_SELECTION,
11648
+ CoordinationType$1.OBS_SET_FILTER,
11331
11649
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11332
11650
  CoordinationType$1.OBS_SET_COLOR,
11333
11651
  CoordinationType$1.FEATURE_HIGHLIGHT,
@@ -11339,6 +11657,7 @@ const COMPONENT_COORDINATION_TYPES = {
11339
11657
  CoordinationType$1.TOOLTIPS_VISIBLE,
11340
11658
  CoordinationType$1.SAMPLE_TYPE,
11341
11659
  CoordinationType$1.SAMPLE_SET_SELECTION,
11660
+ CoordinationType$1.SAMPLE_SET_FILTER,
11342
11661
  CoordinationType$1.SAMPLE_SET_COLOR,
11343
11662
  CoordinationType$1.EMBEDDING_POINTS_VISIBLE,
11344
11663
  CoordinationType$1.EMBEDDING_CONTOURS_VISIBLE,
@@ -11405,6 +11724,7 @@ const COMPONENT_COORDINATION_TYPES = {
11405
11724
  CoordinationType$1.OBS_FILTER,
11406
11725
  CoordinationType$1.OBS_HIGHLIGHT,
11407
11726
  CoordinationType$1.OBS_SET_SELECTION,
11727
+ CoordinationType$1.OBS_SET_FILTER,
11408
11728
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11409
11729
  CoordinationType$1.OBS_SET_COLOR,
11410
11730
  CoordinationType$1.FEATURE_HIGHLIGHT,
@@ -11441,6 +11761,7 @@ const COMPONENT_COORDINATION_TYPES = {
11441
11761
  CoordinationType$1.OBS_FILTER,
11442
11762
  CoordinationType$1.OBS_HIGHLIGHT,
11443
11763
  CoordinationType$1.OBS_SET_SELECTION,
11764
+ CoordinationType$1.OBS_SET_FILTER,
11444
11765
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11445
11766
  CoordinationType$1.OBS_SET_COLOR,
11446
11767
  CoordinationType$1.FEATURE_HIGHLIGHT,
@@ -11500,6 +11821,7 @@ const COMPONENT_COORDINATION_TYPES = {
11500
11821
  CoordinationType$1.OBS_FILTER,
11501
11822
  CoordinationType$1.OBS_HIGHLIGHT,
11502
11823
  CoordinationType$1.OBS_SET_SELECTION,
11824
+ CoordinationType$1.OBS_SET_FILTER,
11503
11825
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11504
11826
  CoordinationType$1.OBS_SET_COLOR,
11505
11827
  CoordinationType$1.FEATURE_FILTER,
@@ -11515,6 +11837,7 @@ const COMPONENT_COORDINATION_TYPES = {
11515
11837
  CoordinationType$1.DATASET,
11516
11838
  CoordinationType$1.OBS_TYPE,
11517
11839
  CoordinationType$1.OBS_SET_SELECTION,
11840
+ CoordinationType$1.OBS_SET_FILTER,
11518
11841
  CoordinationType$1.OBS_SET_EXPANSION,
11519
11842
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11520
11843
  CoordinationType$1.OBS_SET_COLOR,
@@ -11526,6 +11849,7 @@ const COMPONENT_COORDINATION_TYPES = {
11526
11849
  CoordinationType$1.DATASET,
11527
11850
  CoordinationType$1.OBS_TYPE,
11528
11851
  CoordinationType$1.OBS_SET_SELECTION,
11852
+ CoordinationType$1.OBS_SET_FILTER,
11529
11853
  CoordinationType$1.OBS_SET_EXPANSION,
11530
11854
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11531
11855
  CoordinationType$1.OBS_SET_COLOR,
@@ -11558,6 +11882,7 @@ const COMPONENT_COORDINATION_TYPES = {
11558
11882
  CoordinationType$1.FEATURE_VALUE_TRANSFORM,
11559
11883
  CoordinationType$1.FEATURE_VALUE_TRANSFORM_COEFFICIENT,
11560
11884
  CoordinationType$1.OBS_SET_SELECTION,
11885
+ CoordinationType$1.OBS_SET_FILTER,
11561
11886
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11562
11887
  CoordinationType$1.OBS_SET_COLOR,
11563
11888
  CoordinationType$1.ADDITIONAL_OBS_SETS,
@@ -11574,7 +11899,8 @@ const COMPONENT_COORDINATION_TYPES = {
11574
11899
  CoordinationType$1.ADDITIONAL_OBS_SETS,
11575
11900
  CoordinationType$1.OBS_SET_COLOR,
11576
11901
  CoordinationType$1.OBS_COLOR_ENCODING,
11577
- CoordinationType$1.OBS_SET_SELECTION
11902
+ CoordinationType$1.OBS_SET_SELECTION,
11903
+ CoordinationType$1.OBS_SET_FILTER
11578
11904
  ],
11579
11905
  [ViewType$1.LAYER_CONTROLLER]: [
11580
11906
  CoordinationType$1.DATASET,
@@ -11689,11 +12015,13 @@ const COMPONENT_COORDINATION_TYPES = {
11689
12015
  CoordinationType$1.FEATURE_VALUE_POSITIVITY_THRESHOLD,
11690
12016
  CoordinationType$1.FEATURE_VALUE_COLORMAP,
11691
12017
  CoordinationType$1.OBS_SET_SELECTION,
12018
+ CoordinationType$1.OBS_SET_FILTER,
11692
12019
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11693
12020
  CoordinationType$1.OBS_SET_COLOR,
11694
12021
  CoordinationType$1.ADDITIONAL_OBS_SETS,
11695
12022
  CoordinationType$1.SAMPLE_TYPE,
11696
12023
  CoordinationType$1.SAMPLE_SET_SELECTION,
12024
+ CoordinationType$1.SAMPLE_SET_FILTER,
11697
12025
  CoordinationType$1.SAMPLE_SET_COLOR
11698
12026
  ],
11699
12027
  higlass: [
@@ -11724,8 +12052,37 @@ const COMPONENT_COORDINATION_TYPES = {
11724
12052
  [ViewType$1.LINK_CONTROLLER]: [],
11725
12053
  [ViewType$1.BIOMARKER_SELECT]: [
11726
12054
  CoordinationType$1.FEATURE_SELECTION,
11727
- CoordinationType$1.SAMPLE_SET_SELECTION
12055
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12056
+ CoordinationType$1.SAMPLE_SET_FILTER,
12057
+ CoordinationType$1.OBS_SET_SELECTION,
12058
+ CoordinationType$1.OBS_SET_FILTER
11728
12059
  // TODO: create coordination types for internal state of the biomarker selection view?
12060
+ ],
12061
+ [ViewType$1.TREEMAP]: [
12062
+ CoordinationType$1.DATASET,
12063
+ CoordinationType$1.OBS_TYPE,
12064
+ CoordinationType$1.FEATURE_TYPE,
12065
+ CoordinationType$1.FEATURE_VALUE_TYPE,
12066
+ CoordinationType$1.OBS_FILTER,
12067
+ CoordinationType$1.OBS_HIGHLIGHT,
12068
+ CoordinationType$1.OBS_SET_SELECTION,
12069
+ CoordinationType$1.OBS_SET_FILTER,
12070
+ CoordinationType$1.OBS_SELECTION,
12071
+ CoordinationType$1.OBS_SELECTION_MODE,
12072
+ CoordinationType$1.OBS_SET_HIGHLIGHT,
12073
+ CoordinationType$1.OBS_SET_COLOR,
12074
+ CoordinationType$1.OBS_COLOR_ENCODING,
12075
+ CoordinationType$1.ADDITIONAL_OBS_SETS,
12076
+ CoordinationType$1.SAMPLE_TYPE,
12077
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12078
+ CoordinationType$1.SAMPLE_SET_FILTER,
12079
+ CoordinationType$1.SAMPLE_SET_COLOR,
12080
+ CoordinationType$1.SAMPLE_SELECTION,
12081
+ CoordinationType$1.SAMPLE_SELECTION_MODE,
12082
+ CoordinationType$1.SAMPLE_FILTER,
12083
+ CoordinationType$1.SAMPLE_FILTER_MODE,
12084
+ CoordinationType$1.SAMPLE_HIGHLIGHT,
12085
+ CoordinationType$1.HIERARCHY_LEVELS
11729
12086
  ]
11730
12087
  };
11731
12088
  const ViewType = {
@@ -11894,7 +12251,7 @@ function makeConstantWithDeprecationMessage(currObj, oldObj) {
11894
12251
  const oldKeys = Object.keys(oldObj);
11895
12252
  const propKey = String(prop);
11896
12253
  if (oldKeys.includes(propKey)) {
11897
- console.warn(`Notice about the constant mapping ${propKey}: '${oldObj[propKey][0]}':
12254
+ log$5.warn(`Notice about the constant mapping ${propKey}: '${oldObj[propKey][0]}':
11898
12255
  ${oldObj[propKey][1]}`);
11899
12256
  return oldObj[propKey];
11900
12257
  }
@@ -11992,6 +12349,9 @@ const annDataObsSetsArr = z.array(z.object({
11992
12349
  z.object({
11993
12350
  obsSets: annDataObsSetsArr
11994
12351
  });
12352
+ z.object({
12353
+ sampleSets: annDataObsSetsArr
12354
+ });
11995
12355
  const annDataObsFeatureColumnsArr = z.array(z.object({
11996
12356
  path: z.string()
11997
12357
  }));
@@ -123836,16 +124196,16 @@ function addDecoder(cases, importFn) {
123836
124196
  }
123837
124197
  cases.forEach((c2) => registry$1.set(c2, importFn));
123838
124198
  }
123839
- addDecoder([void 0, 1], () => import("./raw-e8d80fe3.js").then((m2) => m2.default));
123840
- addDecoder(5, () => import("./lzw-853e8be6.js").then((m2) => m2.default));
124199
+ addDecoder([void 0, 1], () => import("./raw-95876e92.js").then((m2) => m2.default));
124200
+ addDecoder(5, () => import("./lzw-89de4d17.js").then((m2) => m2.default));
123841
124201
  addDecoder(6, () => {
123842
124202
  throw new Error("old style JPEG compression is not supported.");
123843
124203
  });
123844
- addDecoder(7, () => import("./jpeg-6fc13c7b.js").then((m2) => m2.default));
123845
- addDecoder([8, 32946], () => import("./deflate-dcfd3d97.js").then((m2) => m2.default));
123846
- addDecoder(32773, () => import("./packbits-0fd0fa2b.js").then((m2) => m2.default));
123847
- addDecoder(34887, () => import("./lerc-4e0a6184.js").then((m2) => m2.default));
123848
- addDecoder(50001, () => import("./webimage-c7aacc00.js").then((m2) => m2.default));
124204
+ addDecoder(7, () => import("./jpeg-3de2dfe4.js").then((m2) => m2.default));
124205
+ addDecoder([8, 32946], () => import("./deflate-c2972ee6.js").then((m2) => m2.default));
124206
+ addDecoder(32773, () => import("./packbits-baef831e.js").then((m2) => m2.default));
124207
+ addDecoder(34887, () => import("./lerc-e0259484.js").then((m2) => m2.default));
124208
+ addDecoder(50001, () => import("./webimage-dcda894c.js").then((m2) => m2.default));
123849
124209
  function decodeRowAcc(row, stride) {
123850
124210
  let length2 = row.length - stride;
123851
124211
  let offset5 = 0;
@@ -133902,10 +134262,10 @@ function multiSetsToTextureData(multiFeatureValues, multiMatrixObsIndex, setColo
133902
134262
  const valueTexHeight = Math.max(2, Math.ceil(totalValuesLength / texSize));
133903
134263
  const colorTexHeight = Math.max(2, Math.ceil(totalColorsLength / texSize));
133904
134264
  if (valueTexHeight > texSize) {
133905
- console.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
134265
+ log$5.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
133906
134266
  }
133907
134267
  if (colorTexHeight > texSize) {
133908
- console.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
134268
+ log$5.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
133909
134269
  }
133910
134270
  const totalData = new Uint8Array(texSize * valueTexHeight);
133911
134271
  const totalColors = new Uint8Array(texSize * colorTexHeight);
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { G } from "./index-23703f49.js";
1
+ import { G } from "./index-86107bbe.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-23703f49.js";
1
+ import { B as BaseDecoder } from "./index-86107bbe.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-23703f49.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-86107bbe.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-23703f49.js";
1
+ import { B as BaseDecoder } from "./index-86107bbe.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-23703f49.js";
1
+ import { B as BaseDecoder } from "./index-86107bbe.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-23703f49.js";
1
+ import { B as BaseDecoder } from "./index-86107bbe.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-23703f49.js";
1
+ import { B as BaseDecoder } from "./index-86107bbe.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/scatterplot-gating",
3
- "version": "3.5.5",
3
+ "version": "3.5.7",
4
4
  "author": "HIDIVE Lab at HMS",
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.5.5",
24
- "@vitessce/scatterplot": "3.5.5",
25
- "@vitessce/sets-utils": "3.5.5",
26
- "@vitessce/utils": "3.5.5",
27
- "@vitessce/vit-s": "3.5.5"
23
+ "@vitessce/constants-internal": "3.5.7",
24
+ "@vitessce/scatterplot": "3.5.7",
25
+ "@vitessce/sets-utils": "3.5.7",
26
+ "@vitessce/utils": "3.5.7",
27
+ "@vitessce/vit-s": "3.5.7"
28
28
  },
29
29
  "devDependencies": {
30
30
  "react": "^18.0.0",