@vitessce/heatmap 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-fc077d81.js";
2
+ import { B as BaseDecoder } from "./index-843bbcc5.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -1350,6 +1350,258 @@ function getNextScope(prevScopes) {
1350
1350
  } while (prevScopes.includes(nextScope));
1351
1351
  return nextScope;
1352
1352
  }
1353
+ var loglevel = { exports: {} };
1354
+ (function(module2) {
1355
+ (function(root2, definition) {
1356
+ if (module2.exports) {
1357
+ module2.exports = definition();
1358
+ } else {
1359
+ root2.log = definition();
1360
+ }
1361
+ })(commonjsGlobal, function() {
1362
+ var noop2 = function() {
1363
+ };
1364
+ var undefinedType2 = "undefined";
1365
+ var isIE2 = typeof window !== undefinedType2 && typeof window.navigator !== undefinedType2 && /Trident\/|MSIE /.test(window.navigator.userAgent);
1366
+ var logMethods = [
1367
+ "trace",
1368
+ "debug",
1369
+ "info",
1370
+ "warn",
1371
+ "error"
1372
+ ];
1373
+ var _loggersByName = {};
1374
+ var defaultLogger = null;
1375
+ function bindMethod(obj, methodName) {
1376
+ var method = obj[methodName];
1377
+ if (typeof method.bind === "function") {
1378
+ return method.bind(obj);
1379
+ } else {
1380
+ try {
1381
+ return Function.prototype.bind.call(method, obj);
1382
+ } catch (e3) {
1383
+ return function() {
1384
+ return Function.prototype.apply.apply(method, [obj, arguments]);
1385
+ };
1386
+ }
1387
+ }
1388
+ }
1389
+ function traceForIE() {
1390
+ if (console.log) {
1391
+ if (console.log.apply) {
1392
+ console.log.apply(console, arguments);
1393
+ } else {
1394
+ Function.prototype.apply.apply(console.log, [console, arguments]);
1395
+ }
1396
+ }
1397
+ if (console.trace)
1398
+ console.trace();
1399
+ }
1400
+ function realMethod(methodName) {
1401
+ if (methodName === "debug") {
1402
+ methodName = "log";
1403
+ }
1404
+ if (typeof console === undefinedType2) {
1405
+ return false;
1406
+ } else if (methodName === "trace" && isIE2) {
1407
+ return traceForIE;
1408
+ } else if (console[methodName] !== void 0) {
1409
+ return bindMethod(console, methodName);
1410
+ } else if (console.log !== void 0) {
1411
+ return bindMethod(console, "log");
1412
+ } else {
1413
+ return noop2;
1414
+ }
1415
+ }
1416
+ function replaceLoggingMethods() {
1417
+ var level = this.getLevel();
1418
+ for (var i2 = 0; i2 < logMethods.length; i2++) {
1419
+ var methodName = logMethods[i2];
1420
+ this[methodName] = i2 < level ? noop2 : this.methodFactory(methodName, level, this.name);
1421
+ }
1422
+ this.log = this.debug;
1423
+ if (typeof console === undefinedType2 && level < this.levels.SILENT) {
1424
+ return "No console available for logging";
1425
+ }
1426
+ }
1427
+ function enableLoggingWhenConsoleArrives(methodName) {
1428
+ return function() {
1429
+ if (typeof console !== undefinedType2) {
1430
+ replaceLoggingMethods.call(this);
1431
+ this[methodName].apply(this, arguments);
1432
+ }
1433
+ };
1434
+ }
1435
+ function defaultMethodFactory(methodName, _level, _loggerName) {
1436
+ return realMethod(methodName) || enableLoggingWhenConsoleArrives.apply(this, arguments);
1437
+ }
1438
+ function Logger(name2, factory) {
1439
+ var self2 = this;
1440
+ var inheritedLevel;
1441
+ var defaultLevel;
1442
+ var userLevel;
1443
+ var storageKey = "loglevel";
1444
+ if (typeof name2 === "string") {
1445
+ storageKey += ":" + name2;
1446
+ } else if (typeof name2 === "symbol") {
1447
+ storageKey = void 0;
1448
+ }
1449
+ function persistLevelIfPossible(levelNum) {
1450
+ var levelName = (logMethods[levelNum] || "silent").toUpperCase();
1451
+ if (typeof window === undefinedType2 || !storageKey)
1452
+ return;
1453
+ try {
1454
+ window.localStorage[storageKey] = levelName;
1455
+ return;
1456
+ } catch (ignore) {
1457
+ }
1458
+ try {
1459
+ window.document.cookie = encodeURIComponent(storageKey) + "=" + levelName + ";";
1460
+ } catch (ignore) {
1461
+ }
1462
+ }
1463
+ function getPersistedLevel() {
1464
+ var storedLevel;
1465
+ if (typeof window === undefinedType2 || !storageKey)
1466
+ return;
1467
+ try {
1468
+ storedLevel = window.localStorage[storageKey];
1469
+ } catch (ignore) {
1470
+ }
1471
+ if (typeof storedLevel === undefinedType2) {
1472
+ try {
1473
+ var cookie = window.document.cookie;
1474
+ var cookieName = encodeURIComponent(storageKey);
1475
+ var location = cookie.indexOf(cookieName + "=");
1476
+ if (location !== -1) {
1477
+ storedLevel = /^([^;]+)/.exec(
1478
+ cookie.slice(location + cookieName.length + 1)
1479
+ )[1];
1480
+ }
1481
+ } catch (ignore) {
1482
+ }
1483
+ }
1484
+ if (self2.levels[storedLevel] === void 0) {
1485
+ storedLevel = void 0;
1486
+ }
1487
+ return storedLevel;
1488
+ }
1489
+ function clearPersistedLevel() {
1490
+ if (typeof window === undefinedType2 || !storageKey)
1491
+ return;
1492
+ try {
1493
+ window.localStorage.removeItem(storageKey);
1494
+ } catch (ignore) {
1495
+ }
1496
+ try {
1497
+ window.document.cookie = encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
1498
+ } catch (ignore) {
1499
+ }
1500
+ }
1501
+ function normalizeLevel(input) {
1502
+ var level = input;
1503
+ if (typeof level === "string" && self2.levels[level.toUpperCase()] !== void 0) {
1504
+ level = self2.levels[level.toUpperCase()];
1505
+ }
1506
+ if (typeof level === "number" && level >= 0 && level <= self2.levels.SILENT) {
1507
+ return level;
1508
+ } else {
1509
+ throw new TypeError("log.setLevel() called with invalid level: " + input);
1510
+ }
1511
+ }
1512
+ self2.name = name2;
1513
+ self2.levels = {
1514
+ "TRACE": 0,
1515
+ "DEBUG": 1,
1516
+ "INFO": 2,
1517
+ "WARN": 3,
1518
+ "ERROR": 4,
1519
+ "SILENT": 5
1520
+ };
1521
+ self2.methodFactory = factory || defaultMethodFactory;
1522
+ self2.getLevel = function() {
1523
+ if (userLevel != null) {
1524
+ return userLevel;
1525
+ } else if (defaultLevel != null) {
1526
+ return defaultLevel;
1527
+ } else {
1528
+ return inheritedLevel;
1529
+ }
1530
+ };
1531
+ self2.setLevel = function(level, persist) {
1532
+ userLevel = normalizeLevel(level);
1533
+ if (persist !== false) {
1534
+ persistLevelIfPossible(userLevel);
1535
+ }
1536
+ return replaceLoggingMethods.call(self2);
1537
+ };
1538
+ self2.setDefaultLevel = function(level) {
1539
+ defaultLevel = normalizeLevel(level);
1540
+ if (!getPersistedLevel()) {
1541
+ self2.setLevel(level, false);
1542
+ }
1543
+ };
1544
+ self2.resetLevel = function() {
1545
+ userLevel = null;
1546
+ clearPersistedLevel();
1547
+ replaceLoggingMethods.call(self2);
1548
+ };
1549
+ self2.enableAll = function(persist) {
1550
+ self2.setLevel(self2.levels.TRACE, persist);
1551
+ };
1552
+ self2.disableAll = function(persist) {
1553
+ self2.setLevel(self2.levels.SILENT, persist);
1554
+ };
1555
+ self2.rebuild = function() {
1556
+ if (defaultLogger !== self2) {
1557
+ inheritedLevel = normalizeLevel(defaultLogger.getLevel());
1558
+ }
1559
+ replaceLoggingMethods.call(self2);
1560
+ if (defaultLogger === self2) {
1561
+ for (var childName in _loggersByName) {
1562
+ _loggersByName[childName].rebuild();
1563
+ }
1564
+ }
1565
+ };
1566
+ inheritedLevel = normalizeLevel(
1567
+ defaultLogger ? defaultLogger.getLevel() : "WARN"
1568
+ );
1569
+ var initialLevel = getPersistedLevel();
1570
+ if (initialLevel != null) {
1571
+ userLevel = normalizeLevel(initialLevel);
1572
+ }
1573
+ replaceLoggingMethods.call(self2);
1574
+ }
1575
+ defaultLogger = new Logger();
1576
+ defaultLogger.getLogger = function getLogger(name2) {
1577
+ if (typeof name2 !== "symbol" && typeof name2 !== "string" || name2 === "") {
1578
+ throw new TypeError("You must supply a name when creating a logger.");
1579
+ }
1580
+ var logger = _loggersByName[name2];
1581
+ if (!logger) {
1582
+ logger = _loggersByName[name2] = new Logger(
1583
+ name2,
1584
+ defaultLogger.methodFactory
1585
+ );
1586
+ }
1587
+ return logger;
1588
+ };
1589
+ var _log = typeof window !== undefinedType2 ? window.log : void 0;
1590
+ defaultLogger.noConflict = function() {
1591
+ if (typeof window !== undefinedType2 && window.log === defaultLogger) {
1592
+ window.log = _log;
1593
+ }
1594
+ return defaultLogger;
1595
+ };
1596
+ defaultLogger.getLoggers = function getLoggers2() {
1597
+ return _loggersByName;
1598
+ };
1599
+ defaultLogger["default"] = defaultLogger;
1600
+ return defaultLogger;
1601
+ });
1602
+ })(loglevel);
1603
+ var loglevelExports = loglevel.exports;
1604
+ const log$5 = /* @__PURE__ */ getDefaultExportFromCjs(loglevelExports);
1353
1605
  const DEFAULT_DARK_COLOR = [50, 50, 50];
1354
1606
  const DEFAULT_LIGHT_COLOR$3 = [200, 200, 200];
1355
1607
  const DEFAULT_LIGHT2_COLOR = [235, 235, 235];
@@ -1358,16 +1610,16 @@ function getDefaultColor(theme) {
1358
1610
  }
1359
1611
  const DEFAULT_GL_OPTIONS = { webgl2: true };
1360
1612
  function createDefaultUpdateCellsHover(componentName) {
1361
- return (hoverInfo) => console.warn(`${componentName} updateCellsHover: ${hoverInfo.cellId}`);
1613
+ return (hoverInfo) => log$5.warn(`${componentName} updateCellsHover: ${hoverInfo.cellId}`);
1362
1614
  }
1363
1615
  function createDefaultUpdateGenesHover(componentName) {
1364
- return (hoverInfo) => console.warn(`${componentName} updateGenesHover: ${hoverInfo.geneId}`);
1616
+ return (hoverInfo) => log$5.warn(`${componentName} updateGenesHover: ${hoverInfo.geneId}`);
1365
1617
  }
1366
1618
  function createDefaultUpdateTracksHover(componentName) {
1367
- return (hoverInfo) => console.warn(`${componentName} updateTracksHover: ${hoverInfo}`);
1619
+ return (hoverInfo) => log$5.warn(`${componentName} updateTracksHover: ${hoverInfo}`);
1368
1620
  }
1369
1621
  function createDefaultUpdateViewInfo(componentName) {
1370
- return (viewInfo) => console.warn(`${componentName} updateViewInfo: ${viewInfo}`);
1622
+ return (viewInfo) => log$5.warn(`${componentName} updateViewInfo: ${viewInfo}`);
1371
1623
  }
1372
1624
  function copyUint8Array(arr) {
1373
1625
  const newBuffer = new ArrayBuffer(arr.buffer.byteLength);
@@ -8767,7 +9019,7 @@ function upgradeFrom1_0_14(config2) {
8767
9019
  Object.entries(propAnalogies).forEach(([oldProp, newType]) => {
8768
9020
  var _a2;
8769
9021
  if ((_a2 = viewDef.props) == null ? void 0 : _a2[oldProp]) {
8770
- console.warn(`Warning: the '${oldProp}' prop on the ${viewDef.component} view is deprecated. Please use the '${newType}' coordination type instead.`);
9022
+ log$5.warn(`Warning: the '${oldProp}' prop on the ${viewDef.component} view is deprecated. Please use the '${newType}' coordination type instead.`);
8771
9023
  }
8772
9024
  });
8773
9025
  });
@@ -8790,7 +9042,7 @@ function upgradeFrom1_0_15(config2) {
8790
9042
  Object.entries(coordinationScopes).forEach(([coordinationType, coordinationScope]) => {
8791
9043
  if (!Array.isArray(coordinationScope) && typeof coordinationScope === "object") {
8792
9044
  if (coordinationType === "dataset") {
8793
- console.error("Expected coordinationScopes.dataset value to be either string or string[], but got object.");
9045
+ log$5.error("Expected coordinationScopes.dataset value to be either string or string[], but got object.");
8794
9046
  }
8795
9047
  coordinationScopesBy.dataset[coordinationType] = coordinationScope;
8796
9048
  } else if (Array.isArray(coordinationScope) || typeof coordinationScope === "string") {
@@ -11002,7 +11254,9 @@ const ViewType$1 = {
11002
11254
  DOT_PLOT: "dotPlot",
11003
11255
  FEATURE_BAR_PLOT: "featureBarPlot",
11004
11256
  BIOMARKER_SELECT: "biomarkerSelect",
11005
- LINK_CONTROLLER: "linkController"
11257
+ LINK_CONTROLLER: "linkController",
11258
+ DUAL_SCATTERPLOT: "dualScatterplot",
11259
+ TREEMAP: "treemap"
11006
11260
  };
11007
11261
  const DataType$2 = {
11008
11262
  OBS_LABELS: "obsLabels",
@@ -11056,6 +11310,7 @@ const FileType$1 = {
11056
11310
  OBS_LABELS_ANNDATA_ZARR: "obsLabels.anndata.zarr",
11057
11311
  FEATURE_LABELS_ANNDATA_ZARR: "featureLabels.anndata.zarr",
11058
11312
  SAMPLE_EDGES_ANNDATA_ZARR: "sampleEdges.anndata.zarr",
11313
+ SAMPLE_SETS_ANNDATA_ZARR: "sampleSets.anndata.zarr",
11059
11314
  // AnnData - zipped
11060
11315
  OBS_FEATURE_MATRIX_ANNDATA_ZARR_ZIP: "obsFeatureMatrix.anndata.zarr.zip",
11061
11316
  OBS_FEATURE_COLUMNS_ANNDATA_ZARR_ZIP: "obsFeatureColumns.anndata.zarr.zip",
@@ -11068,6 +11323,7 @@ const FileType$1 = {
11068
11323
  OBS_LABELS_ANNDATA_ZARR_ZIP: "obsLabels.anndata.zarr.zip",
11069
11324
  FEATURE_LABELS_ANNDATA_ZARR_ZIP: "featureLabels.anndata.zarr.zip",
11070
11325
  SAMPLE_EDGES_ANNDATA_ZARR_ZIP: "sampleEdges.anndata.zarr.zip",
11326
+ SAMPLE_SETS_ANNDATA_ZARR_ZIP: "sampleSets.anndata.zarr.zip",
11071
11327
  // AnnData - h5ad via reference spec
11072
11328
  OBS_FEATURE_MATRIX_ANNDATA_H5AD: "obsFeatureMatrix.anndata.h5ad",
11073
11329
  OBS_FEATURE_COLUMNS_ANNDATA_H5AD: "obsFeatureColumns.anndata.h5ad",
@@ -11080,6 +11336,7 @@ const FileType$1 = {
11080
11336
  OBS_LABELS_ANNDATA_H5AD: "obsLabels.anndata.h5ad",
11081
11337
  FEATURE_LABELS_ANNDATA_H5AD: "featureLabels.anndata.h5ad",
11082
11338
  SAMPLE_EDGES_ANNDATA_H5AD: "sampleEdges.anndata.h5ad",
11339
+ SAMPLE_SETS_ANNDATA_H5AD: "sampleSets.anndata.h5ad",
11083
11340
  // SpatialData
11084
11341
  IMAGE_SPATIALDATA_ZARR: "image.spatialdata.zarr",
11085
11342
  LABELS_SPATIALDATA_ZARR: "labels.spatialdata.zarr",
@@ -11181,15 +11438,23 @@ const CoordinationType$1 = {
11181
11438
  HEATMAP_ZOOM_Y: "heatmapZoomY",
11182
11439
  HEATMAP_TARGET_X: "heatmapTargetX",
11183
11440
  HEATMAP_TARGET_Y: "heatmapTargetY",
11184
- OBS_FILTER: "obsFilter",
11185
11441
  OBS_HIGHLIGHT: "obsHighlight",
11442
+ OBS_SELECTION: "obsSelection",
11186
11443
  OBS_SET_SELECTION: "obsSetSelection",
11444
+ OBS_SELECTION_MODE: "obsSelectionMode",
11445
+ OBS_FILTER: "obsFilter",
11446
+ OBS_SET_FILTER: "obsSetFilter",
11447
+ OBS_FILTER_MODE: "obsFilterMode",
11187
11448
  OBS_SET_HIGHLIGHT: "obsSetHighlight",
11188
11449
  OBS_SET_EXPANSION: "obsSetExpansion",
11189
11450
  OBS_SET_COLOR: "obsSetColor",
11190
- FEATURE_FILTER: "featureFilter",
11191
11451
  FEATURE_HIGHLIGHT: "featureHighlight",
11192
11452
  FEATURE_SELECTION: "featureSelection",
11453
+ FEATURE_SET_SELECTION: "featureSetSelection",
11454
+ FEATURE_SELECTION_MODE: "featureSelectionMode",
11455
+ FEATURE_FILTER: "featureFilter",
11456
+ FEATURE_SET_FILTER: "featureSetFilter",
11457
+ FEATURE_FILTER_MODE: "featureFilterMode",
11193
11458
  FEATURE_VALUE_COLORMAP: "featureValueColormap",
11194
11459
  FEATURE_VALUE_TRANSFORM: "featureValueTransform",
11195
11460
  FEATURE_VALUE_COLORMAP_RANGE: "featureValueColormapRange",
@@ -11256,14 +11521,22 @@ const CoordinationType$1 = {
11256
11521
  SPATIAL_CHANNEL_LABEL_SIZE: "spatialChannelLabelSize",
11257
11522
  // Multi-sample / comparative
11258
11523
  SAMPLE_TYPE: "sampleType",
11524
+ SAMPLE_SELECTION: "sampleSelection",
11259
11525
  SAMPLE_SET_SELECTION: "sampleSetSelection",
11526
+ SAMPLE_SELECTION_MODE: "sampleSelectionMode",
11527
+ SAMPLE_FILTER: "sampleFilter",
11528
+ SAMPLE_SET_FILTER: "sampleSetFilter",
11529
+ SAMPLE_FILTER_MODE: "sampleFilterMode",
11260
11530
  SAMPLE_SET_COLOR: "sampleSetColor",
11531
+ SAMPLE_HIGHLIGHT: "sampleHighlight",
11261
11532
  EMBEDDING_POINTS_VISIBLE: "embeddingPointsVisible",
11262
11533
  EMBEDDING_CONTOURS_VISIBLE: "embeddingContoursVisible",
11263
11534
  EMBEDDING_CONTOURS_FILLED: "embeddingContoursFilled",
11264
11535
  EMBEDDING_CONTOUR_PERCENTILES: "embeddingContourPercentiles",
11265
11536
  CONTOUR_COLOR_ENCODING: "contourColorEncoding",
11266
- CONTOUR_COLOR: "contourColor"
11537
+ CONTOUR_COLOR: "contourColor",
11538
+ // Treemap
11539
+ HIERARCHY_LEVELS: "hierarchyLevels"
11267
11540
  };
11268
11541
  const ViewHelpMapping = {
11269
11542
  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).",
@@ -11280,7 +11553,8 @@ const ViewHelpMapping = {
11280
11553
  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).",
11281
11554
  FEATURE_VALUE_HISTOGRAM: "The feature value histogram displays the distribution of values (e.g., expression) for the selected feature (e.g., gene).",
11282
11555
  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).",
11283
- 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."
11556
+ 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.",
11557
+ TREEMAP: "The treemap provides an overview of the current state of sample-level or cell-level selection and filtering."
11284
11558
  };
11285
11559
  const COMPONENT_COORDINATION_TYPES = {
11286
11560
  [ViewType$1.SCATTERPLOT]: [
@@ -11305,6 +11579,50 @@ const COMPONENT_COORDINATION_TYPES = {
11305
11579
  CoordinationType$1.OBS_FILTER,
11306
11580
  CoordinationType$1.OBS_HIGHLIGHT,
11307
11581
  CoordinationType$1.OBS_SET_SELECTION,
11582
+ CoordinationType$1.OBS_SET_FILTER,
11583
+ CoordinationType$1.OBS_SET_HIGHLIGHT,
11584
+ CoordinationType$1.OBS_SET_COLOR,
11585
+ CoordinationType$1.FEATURE_HIGHLIGHT,
11586
+ CoordinationType$1.FEATURE_SELECTION,
11587
+ CoordinationType$1.FEATURE_VALUE_COLORMAP,
11588
+ CoordinationType$1.FEATURE_VALUE_COLORMAP_RANGE,
11589
+ CoordinationType$1.OBS_COLOR_ENCODING,
11590
+ CoordinationType$1.ADDITIONAL_OBS_SETS,
11591
+ CoordinationType$1.TOOLTIPS_VISIBLE,
11592
+ CoordinationType$1.SAMPLE_TYPE,
11593
+ CoordinationType$1.SAMPLE_SET_SELECTION,
11594
+ CoordinationType$1.SAMPLE_SET_FILTER,
11595
+ CoordinationType$1.SAMPLE_SET_COLOR,
11596
+ CoordinationType$1.EMBEDDING_POINTS_VISIBLE,
11597
+ CoordinationType$1.EMBEDDING_CONTOURS_VISIBLE,
11598
+ CoordinationType$1.EMBEDDING_CONTOURS_FILLED,
11599
+ CoordinationType$1.EMBEDDING_CONTOUR_PERCENTILES,
11600
+ CoordinationType$1.CONTOUR_COLOR_ENCODING,
11601
+ CoordinationType$1.CONTOUR_COLOR
11602
+ ],
11603
+ [ViewType$1.DUAL_SCATTERPLOT]: [
11604
+ CoordinationType$1.DATASET,
11605
+ CoordinationType$1.OBS_TYPE,
11606
+ CoordinationType$1.FEATURE_TYPE,
11607
+ CoordinationType$1.FEATURE_VALUE_TYPE,
11608
+ CoordinationType$1.OBS_LABELS_TYPE,
11609
+ CoordinationType$1.EMBEDDING_TYPE,
11610
+ CoordinationType$1.EMBEDDING_ZOOM,
11611
+ CoordinationType$1.EMBEDDING_ROTATION,
11612
+ CoordinationType$1.EMBEDDING_TARGET_X,
11613
+ CoordinationType$1.EMBEDDING_TARGET_Y,
11614
+ CoordinationType$1.EMBEDDING_TARGET_Z,
11615
+ CoordinationType$1.EMBEDDING_OBS_SET_POLYGONS_VISIBLE,
11616
+ CoordinationType$1.EMBEDDING_OBS_SET_LABELS_VISIBLE,
11617
+ CoordinationType$1.EMBEDDING_OBS_SET_LABEL_SIZE,
11618
+ CoordinationType$1.EMBEDDING_OBS_RADIUS,
11619
+ CoordinationType$1.EMBEDDING_OBS_RADIUS_MODE,
11620
+ CoordinationType$1.EMBEDDING_OBS_OPACITY,
11621
+ CoordinationType$1.EMBEDDING_OBS_OPACITY_MODE,
11622
+ CoordinationType$1.OBS_FILTER,
11623
+ CoordinationType$1.OBS_HIGHLIGHT,
11624
+ CoordinationType$1.OBS_SET_SELECTION,
11625
+ CoordinationType$1.OBS_SET_FILTER,
11308
11626
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11309
11627
  CoordinationType$1.OBS_SET_COLOR,
11310
11628
  CoordinationType$1.FEATURE_HIGHLIGHT,
@@ -11316,6 +11634,7 @@ const COMPONENT_COORDINATION_TYPES = {
11316
11634
  CoordinationType$1.TOOLTIPS_VISIBLE,
11317
11635
  CoordinationType$1.SAMPLE_TYPE,
11318
11636
  CoordinationType$1.SAMPLE_SET_SELECTION,
11637
+ CoordinationType$1.SAMPLE_SET_FILTER,
11319
11638
  CoordinationType$1.SAMPLE_SET_COLOR,
11320
11639
  CoordinationType$1.EMBEDDING_POINTS_VISIBLE,
11321
11640
  CoordinationType$1.EMBEDDING_CONTOURS_VISIBLE,
@@ -11382,6 +11701,7 @@ const COMPONENT_COORDINATION_TYPES = {
11382
11701
  CoordinationType$1.OBS_FILTER,
11383
11702
  CoordinationType$1.OBS_HIGHLIGHT,
11384
11703
  CoordinationType$1.OBS_SET_SELECTION,
11704
+ CoordinationType$1.OBS_SET_FILTER,
11385
11705
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11386
11706
  CoordinationType$1.OBS_SET_COLOR,
11387
11707
  CoordinationType$1.FEATURE_HIGHLIGHT,
@@ -11418,6 +11738,7 @@ const COMPONENT_COORDINATION_TYPES = {
11418
11738
  CoordinationType$1.OBS_FILTER,
11419
11739
  CoordinationType$1.OBS_HIGHLIGHT,
11420
11740
  CoordinationType$1.OBS_SET_SELECTION,
11741
+ CoordinationType$1.OBS_SET_FILTER,
11421
11742
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11422
11743
  CoordinationType$1.OBS_SET_COLOR,
11423
11744
  CoordinationType$1.FEATURE_HIGHLIGHT,
@@ -11477,6 +11798,7 @@ const COMPONENT_COORDINATION_TYPES = {
11477
11798
  CoordinationType$1.OBS_FILTER,
11478
11799
  CoordinationType$1.OBS_HIGHLIGHT,
11479
11800
  CoordinationType$1.OBS_SET_SELECTION,
11801
+ CoordinationType$1.OBS_SET_FILTER,
11480
11802
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11481
11803
  CoordinationType$1.OBS_SET_COLOR,
11482
11804
  CoordinationType$1.FEATURE_FILTER,
@@ -11492,6 +11814,7 @@ const COMPONENT_COORDINATION_TYPES = {
11492
11814
  CoordinationType$1.DATASET,
11493
11815
  CoordinationType$1.OBS_TYPE,
11494
11816
  CoordinationType$1.OBS_SET_SELECTION,
11817
+ CoordinationType$1.OBS_SET_FILTER,
11495
11818
  CoordinationType$1.OBS_SET_EXPANSION,
11496
11819
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11497
11820
  CoordinationType$1.OBS_SET_COLOR,
@@ -11503,6 +11826,7 @@ const COMPONENT_COORDINATION_TYPES = {
11503
11826
  CoordinationType$1.DATASET,
11504
11827
  CoordinationType$1.OBS_TYPE,
11505
11828
  CoordinationType$1.OBS_SET_SELECTION,
11829
+ CoordinationType$1.OBS_SET_FILTER,
11506
11830
  CoordinationType$1.OBS_SET_EXPANSION,
11507
11831
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11508
11832
  CoordinationType$1.OBS_SET_COLOR,
@@ -11535,6 +11859,7 @@ const COMPONENT_COORDINATION_TYPES = {
11535
11859
  CoordinationType$1.FEATURE_VALUE_TRANSFORM,
11536
11860
  CoordinationType$1.FEATURE_VALUE_TRANSFORM_COEFFICIENT,
11537
11861
  CoordinationType$1.OBS_SET_SELECTION,
11862
+ CoordinationType$1.OBS_SET_FILTER,
11538
11863
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11539
11864
  CoordinationType$1.OBS_SET_COLOR,
11540
11865
  CoordinationType$1.ADDITIONAL_OBS_SETS,
@@ -11551,7 +11876,8 @@ const COMPONENT_COORDINATION_TYPES = {
11551
11876
  CoordinationType$1.ADDITIONAL_OBS_SETS,
11552
11877
  CoordinationType$1.OBS_SET_COLOR,
11553
11878
  CoordinationType$1.OBS_COLOR_ENCODING,
11554
- CoordinationType$1.OBS_SET_SELECTION
11879
+ CoordinationType$1.OBS_SET_SELECTION,
11880
+ CoordinationType$1.OBS_SET_FILTER
11555
11881
  ],
11556
11882
  [ViewType$1.LAYER_CONTROLLER]: [
11557
11883
  CoordinationType$1.DATASET,
@@ -11666,11 +11992,13 @@ const COMPONENT_COORDINATION_TYPES = {
11666
11992
  CoordinationType$1.FEATURE_VALUE_POSITIVITY_THRESHOLD,
11667
11993
  CoordinationType$1.FEATURE_VALUE_COLORMAP,
11668
11994
  CoordinationType$1.OBS_SET_SELECTION,
11995
+ CoordinationType$1.OBS_SET_FILTER,
11669
11996
  CoordinationType$1.OBS_SET_HIGHLIGHT,
11670
11997
  CoordinationType$1.OBS_SET_COLOR,
11671
11998
  CoordinationType$1.ADDITIONAL_OBS_SETS,
11672
11999
  CoordinationType$1.SAMPLE_TYPE,
11673
12000
  CoordinationType$1.SAMPLE_SET_SELECTION,
12001
+ CoordinationType$1.SAMPLE_SET_FILTER,
11674
12002
  CoordinationType$1.SAMPLE_SET_COLOR
11675
12003
  ],
11676
12004
  higlass: [
@@ -11701,8 +12029,37 @@ const COMPONENT_COORDINATION_TYPES = {
11701
12029
  [ViewType$1.LINK_CONTROLLER]: [],
11702
12030
  [ViewType$1.BIOMARKER_SELECT]: [
11703
12031
  CoordinationType$1.FEATURE_SELECTION,
11704
- CoordinationType$1.SAMPLE_SET_SELECTION
12032
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12033
+ CoordinationType$1.SAMPLE_SET_FILTER,
12034
+ CoordinationType$1.OBS_SET_SELECTION,
12035
+ CoordinationType$1.OBS_SET_FILTER
11705
12036
  // TODO: create coordination types for internal state of the biomarker selection view?
12037
+ ],
12038
+ [ViewType$1.TREEMAP]: [
12039
+ CoordinationType$1.DATASET,
12040
+ CoordinationType$1.OBS_TYPE,
12041
+ CoordinationType$1.FEATURE_TYPE,
12042
+ CoordinationType$1.FEATURE_VALUE_TYPE,
12043
+ CoordinationType$1.OBS_FILTER,
12044
+ CoordinationType$1.OBS_HIGHLIGHT,
12045
+ CoordinationType$1.OBS_SET_SELECTION,
12046
+ CoordinationType$1.OBS_SET_FILTER,
12047
+ CoordinationType$1.OBS_SELECTION,
12048
+ CoordinationType$1.OBS_SELECTION_MODE,
12049
+ CoordinationType$1.OBS_SET_HIGHLIGHT,
12050
+ CoordinationType$1.OBS_SET_COLOR,
12051
+ CoordinationType$1.OBS_COLOR_ENCODING,
12052
+ CoordinationType$1.ADDITIONAL_OBS_SETS,
12053
+ CoordinationType$1.SAMPLE_TYPE,
12054
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12055
+ CoordinationType$1.SAMPLE_SET_FILTER,
12056
+ CoordinationType$1.SAMPLE_SET_COLOR,
12057
+ CoordinationType$1.SAMPLE_SELECTION,
12058
+ CoordinationType$1.SAMPLE_SELECTION_MODE,
12059
+ CoordinationType$1.SAMPLE_FILTER,
12060
+ CoordinationType$1.SAMPLE_FILTER_MODE,
12061
+ CoordinationType$1.SAMPLE_HIGHLIGHT,
12062
+ CoordinationType$1.HIERARCHY_LEVELS
11706
12063
  ]
11707
12064
  };
11708
12065
  const ViewType = {
@@ -11871,7 +12228,7 @@ function makeConstantWithDeprecationMessage(currObj, oldObj) {
11871
12228
  const oldKeys = Object.keys(oldObj);
11872
12229
  const propKey = String(prop);
11873
12230
  if (oldKeys.includes(propKey)) {
11874
- console.warn(`Notice about the constant mapping ${propKey}: '${oldObj[propKey][0]}':
12231
+ log$5.warn(`Notice about the constant mapping ${propKey}: '${oldObj[propKey][0]}':
11875
12232
  ${oldObj[propKey][1]}`);
11876
12233
  return oldObj[propKey];
11877
12234
  }
@@ -11969,6 +12326,9 @@ const annDataObsSetsArr = z.array(z.object({
11969
12326
  z.object({
11970
12327
  obsSets: annDataObsSetsArr
11971
12328
  });
12329
+ z.object({
12330
+ sampleSets: annDataObsSetsArr
12331
+ });
11972
12332
  const annDataObsFeatureColumnsArr = z.array(z.object({
11973
12333
  path: z.string()
11974
12334
  }));
@@ -133473,16 +133833,16 @@ function addDecoder(cases, importFn) {
133473
133833
  }
133474
133834
  cases.forEach((c) => registry$1.set(c, importFn));
133475
133835
  }
133476
- addDecoder([void 0, 1], () => import("./raw-4e18410c.js").then((m) => m.default));
133477
- addDecoder(5, () => import("./lzw-f00259f5.js").then((m) => m.default));
133836
+ addDecoder([void 0, 1], () => import("./raw-4a476cb0.js").then((m) => m.default));
133837
+ addDecoder(5, () => import("./lzw-e8d09d74.js").then((m) => m.default));
133478
133838
  addDecoder(6, () => {
133479
133839
  throw new Error("old style JPEG compression is not supported.");
133480
133840
  });
133481
- addDecoder(7, () => import("./jpeg-66adb130.js").then((m) => m.default));
133482
- addDecoder([8, 32946], () => import("./deflate-dc778494.js").then((m) => m.default));
133483
- addDecoder(32773, () => import("./packbits-a8d6509a.js").then((m) => m.default));
133484
- addDecoder(34887, () => import("./lerc-53ffc64c.js").then((m) => m.default));
133485
- addDecoder(50001, () => import("./webimage-8894b594.js").then((m) => m.default));
133841
+ addDecoder(7, () => import("./jpeg-4b1b3c31.js").then((m) => m.default));
133842
+ addDecoder([8, 32946], () => import("./deflate-fffd8c02.js").then((m) => m.default));
133843
+ addDecoder(32773, () => import("./packbits-5d8615dc.js").then((m) => m.default));
133844
+ addDecoder(34887, () => import("./lerc-f492be43.js").then((m) => m.default));
133845
+ addDecoder(50001, () => import("./webimage-019fbbb1.js").then((m) => m.default));
133486
133846
  function decodeRowAcc(row, stride) {
133487
133847
  let length2 = row.length - stride;
133488
133848
  let offset5 = 0;
@@ -143592,10 +143952,10 @@ function multiSetsToTextureData(multiFeatureValues, multiMatrixObsIndex, setColo
143592
143952
  const valueTexHeight = Math.max(2, Math.ceil(totalValuesLength / texSize));
143593
143953
  const colorTexHeight = Math.max(2, Math.ceil(totalColorsLength / texSize));
143594
143954
  if (valueTexHeight > texSize) {
143595
- console.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
143955
+ log$5.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
143596
143956
  }
143597
143957
  if (colorTexHeight > texSize) {
143598
- console.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
143958
+ log$5.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
143599
143959
  }
143600
143960
  const totalData = new Uint8Array(texSize * valueTexHeight);
143601
143961
  const totalColors = new Uint8Array(texSize * colorTexHeight);
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a, H } from "./index-fc077d81.js";
1
+ import { a, H } from "./index-843bbcc5.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-fc077d81.js";
1
+ import { B as BaseDecoder } from "./index-843bbcc5.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-fc077d81.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-843bbcc5.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-fc077d81.js";
1
+ import { B as BaseDecoder } from "./index-843bbcc5.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-fc077d81.js";
1
+ import { B as BaseDecoder } from "./index-843bbcc5.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-fc077d81.js";
1
+ import { B as BaseDecoder } from "./index-843bbcc5.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-fc077d81.js";
1
+ import { B as BaseDecoder } from "./index-843bbcc5.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/heatmap",
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,14 +20,14 @@
20
20
  "lodash-es": "^4.17.21",
21
21
  "uuid": "^9.0.0",
22
22
  "react-aria": "^3.28.0",
23
- "@vitessce/constants-internal": "3.5.5",
24
- "@vitessce/gl": "3.5.5",
25
- "@vitessce/sets-utils": "3.5.5",
26
- "@vitessce/tooltip": "3.5.5",
27
- "@vitessce/utils": "3.5.5",
28
- "@vitessce/vit-s": "3.5.5",
29
- "@vitessce/workers": "3.5.5",
30
- "@vitessce/legend": "3.5.5"
23
+ "@vitessce/constants-internal": "3.5.7",
24
+ "@vitessce/gl": "3.5.7",
25
+ "@vitessce/legend": "3.5.7",
26
+ "@vitessce/sets-utils": "3.5.7",
27
+ "@vitessce/tooltip": "3.5.7",
28
+ "@vitessce/utils": "3.5.7",
29
+ "@vitessce/vit-s": "3.5.7",
30
+ "@vitessce/workers": "3.5.7"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@testing-library/jest-dom": "^5.16.4",