@vitessce/all 3.4.10 → 3.4.12
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.
- package/dist/{deflate-997d2944.js → deflate-efd5356d.js} +1 -1
- package/dist/{higlass-79b185c3.js → higlass-32a71267.js} +1 -1
- package/dist/{index-7def4863.js → index-1eed7926.js} +2 -2
- package/dist/{index-f360a30e.js → index-8ed3997f.js} +247 -180
- package/dist/index.js +9 -2
- package/dist/{jpeg-a509da75.js → jpeg-e383d75a.js} +1 -1
- package/dist/{lerc-6b1d32af.js → lerc-e0ea6e91.js} +1 -1
- package/dist/{lzw-3b341e96.js → lzw-9502d20a.js} +1 -1
- package/dist/{packbits-d7b27016.js → packbits-b61051af.js} +1 -1
- package/dist/{raw-498d13ba.js → raw-54997420.js} +1 -1
- package/dist/{troika-three-text.esm-decd69a0.js → troika-three-text.esm-315428f3.js} +1 -1
- package/dist/{webimage-65abb0c2.js → webimage-e4eb8c23.js} +1 -1
- package/dist-tsc/base-plugins.d.ts +27 -49
- package/dist-tsc/base-plugins.d.ts.map +1 -1
- package/dist-tsc/base-plugins.js +1 -0
- package/dist-tsc/index.d.ts +1 -1
- package/dist-tsc/index.d.ts.map +1 -1
- package/dist-tsc/index.js +5 -1
- package/package.json +24 -24
- package/src/base-plugins.ts +1 -0
- package/src/index.ts +13 -1
|
@@ -10073,6 +10073,7 @@ const CoordinationType$1 = {
|
|
|
10073
10073
|
FEATURE_TYPE: "featureType",
|
|
10074
10074
|
FEATURE_VALUE_TYPE: "featureValueType",
|
|
10075
10075
|
OBS_LABELS_TYPE: "obsLabelsType",
|
|
10076
|
+
FEATURE_LABELS_TYPE: "featureLabelsType",
|
|
10076
10077
|
// Other types
|
|
10077
10078
|
EMBEDDING_TYPE: "embeddingType",
|
|
10078
10079
|
EMBEDDING_ZOOM: "embeddingZoom",
|
|
@@ -10196,6 +10197,23 @@ const DescriptionType = {
|
|
|
10196
10197
|
PLAIN: "plain",
|
|
10197
10198
|
MARKDOWN: "markdown"
|
|
10198
10199
|
};
|
|
10200
|
+
const ViewHelpMapping = {
|
|
10201
|
+
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).",
|
|
10202
|
+
HEATMAP: "The heatmap displays an observation-by-feature (e.g., cell-by-gene) matrix, typically with transformed (e.g., normalized or standardized) values.",
|
|
10203
|
+
SPATIAL: "The spatial view displays (potentially layered) spatially-resolved data including RGB or multiplexed images, segmentations of observations (bitmask- or polygon-based), and/or points (e.g., representing FISH transcripts).",
|
|
10204
|
+
DESCRIPTION: "The description view displays additional information about a dataset. When images are included in a dataset, the description view also includes image metadata (if contained in the image files).",
|
|
10205
|
+
STATUS: "The status view displays debugging messages, including app-wide error messages when datasets fail to load or when schemas fail to validate. Details about the entity under the mouse cursor (cell, gene, and/or molecule) are displayed during hover interactions.",
|
|
10206
|
+
LAYER_CONTROLLER: "The spatial layer controller provides an interface for manipulating the visualization layers displayed in the spatial view.",
|
|
10207
|
+
GENOMIC_PROFILES: "The genomic profiles view displays genome browser tracks (using the genomic-profiles data type) containing bar plots, where the genome is along the x-axis and the value at each genome position is encoded with a bar along the y-axis.",
|
|
10208
|
+
GATING: "The gating scatterplot displays expression data for two genes (along the X and Y axes). Users can select two genes, and the scatterplot is dynamically generated using observation-by-feature matrix data. Gating can then be performed by using the lasso or box select tools.",
|
|
10209
|
+
FEATURE_LIST: "The feature list controller displays an interactive list of features (e.g., genes).",
|
|
10210
|
+
OBS_SETS: "The observation sets controller displays an interactive list of (potentially hierarchical) observation sets (e.g., cell clusters or cell type annotations).",
|
|
10211
|
+
OBS_SET_SIZES: "The observation set sizes view displays a bar plot with the currently-selected observation sets (e.g., cell types) on the x-axis and bars representing their size (e.g., number of cells) on the y-axis.",
|
|
10212
|
+
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).",
|
|
10213
|
+
FEATURE_VALUE_HISTOGRAM: "The feature value histogram displays the distribution of values (e.g., expression) for the selected feature (e.g., gene).",
|
|
10214
|
+
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).",
|
|
10215
|
+
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."
|
|
10216
|
+
};
|
|
10199
10217
|
const ALT_ZARR_STORE_TYPES = {
|
|
10200
10218
|
[FileType$1.OBS_FEATURE_MATRIX_ANNDATA_ZARR]: {
|
|
10201
10219
|
zip: FileType$1.OBS_FEATURE_MATRIX_ANNDATA_ZARR_ZIP,
|
|
@@ -11024,7 +11042,7 @@ const obsFeatureMatrixSpatialdataSchema = annDataObsFeatureMatrix.extend({
|
|
|
11024
11042
|
const obsSetsSpatialdataSchema = z.object({
|
|
11025
11043
|
region: z.string().describe("The name of a region to use to filter instances (i.e., rows) in the table").optional(),
|
|
11026
11044
|
tablePath: z.string().optional().describe("The path to a table which contains the index for the set values."),
|
|
11027
|
-
obsSets:
|
|
11045
|
+
obsSets: annDataObsSetsArr
|
|
11028
11046
|
});
|
|
11029
11047
|
const meshGlbSchema = z.object({
|
|
11030
11048
|
targetX: z.number(),
|
|
@@ -16040,7 +16058,7 @@ function getStylesCreator(stylesOrCreator) {
|
|
|
16040
16058
|
}
|
|
16041
16059
|
}
|
|
16042
16060
|
return {
|
|
16043
|
-
create: function
|
|
16061
|
+
create: function create5(theme, name2) {
|
|
16044
16062
|
var styles35;
|
|
16045
16063
|
try {
|
|
16046
16064
|
styles35 = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator;
|
|
@@ -25237,7 +25255,7 @@ var classCallCheck$1 = function(instance, Constructor) {
|
|
|
25237
25255
|
}
|
|
25238
25256
|
};
|
|
25239
25257
|
var createClass$1 = function() {
|
|
25240
|
-
function
|
|
25258
|
+
function defineProperties3(target2, props) {
|
|
25241
25259
|
for (var i2 = 0; i2 < props.length; i2++) {
|
|
25242
25260
|
var descriptor2 = props[i2];
|
|
25243
25261
|
descriptor2.enumerable = descriptor2.enumerable || false;
|
|
@@ -25249,9 +25267,9 @@ var createClass$1 = function() {
|
|
|
25249
25267
|
}
|
|
25250
25268
|
return function(Constructor, protoProps, staticProps) {
|
|
25251
25269
|
if (protoProps)
|
|
25252
|
-
|
|
25270
|
+
defineProperties3(Constructor.prototype, protoProps);
|
|
25253
25271
|
if (staticProps)
|
|
25254
|
-
|
|
25272
|
+
defineProperties3(Constructor, staticProps);
|
|
25255
25273
|
return Constructor;
|
|
25256
25274
|
};
|
|
25257
25275
|
}();
|
|
@@ -31580,14 +31598,14 @@ function toJsxRuntime(tree2, options) {
|
|
|
31580
31598
|
throw new TypeError("Expected `Fragment` in options");
|
|
31581
31599
|
}
|
|
31582
31600
|
const filePath = options.filePath || void 0;
|
|
31583
|
-
let
|
|
31601
|
+
let create5;
|
|
31584
31602
|
if (options.development) {
|
|
31585
31603
|
if (typeof options.jsxDEV !== "function") {
|
|
31586
31604
|
throw new TypeError(
|
|
31587
31605
|
"Expected `jsxDEV` in options when `development: true`"
|
|
31588
31606
|
);
|
|
31589
31607
|
}
|
|
31590
|
-
|
|
31608
|
+
create5 = developmentCreate(filePath, options.jsxDEV);
|
|
31591
31609
|
} else {
|
|
31592
31610
|
if (typeof options.jsx !== "function") {
|
|
31593
31611
|
throw new TypeError("Expected `jsx` in production options");
|
|
@@ -31595,13 +31613,13 @@ function toJsxRuntime(tree2, options) {
|
|
|
31595
31613
|
if (typeof options.jsxs !== "function") {
|
|
31596
31614
|
throw new TypeError("Expected `jsxs` in production options");
|
|
31597
31615
|
}
|
|
31598
|
-
|
|
31616
|
+
create5 = productionCreate(filePath, options.jsx, options.jsxs);
|
|
31599
31617
|
}
|
|
31600
31618
|
const state = {
|
|
31601
31619
|
Fragment: options.Fragment,
|
|
31602
31620
|
ancestors: [],
|
|
31603
31621
|
components: options.components || {},
|
|
31604
|
-
create:
|
|
31622
|
+
create: create5,
|
|
31605
31623
|
elementAttributeNameCase: options.elementAttributeNameCase || "react",
|
|
31606
31624
|
evaluater: options.createEvaluater ? options.createEvaluater() : void 0,
|
|
31607
31625
|
filePath,
|
|
@@ -31725,16 +31743,16 @@ function addChildren(props, children2) {
|
|
|
31725
31743
|
}
|
|
31726
31744
|
}
|
|
31727
31745
|
function productionCreate(_, jsx, jsxs) {
|
|
31728
|
-
return
|
|
31729
|
-
function
|
|
31746
|
+
return create5;
|
|
31747
|
+
function create5(_2, type2, props, key2) {
|
|
31730
31748
|
const isStaticChildren = Array.isArray(props.children);
|
|
31731
31749
|
const fn = isStaticChildren ? jsxs : jsx;
|
|
31732
31750
|
return key2 ? fn(type2, props, key2) : fn(type2, props);
|
|
31733
31751
|
}
|
|
31734
31752
|
}
|
|
31735
31753
|
function developmentCreate(filePath, jsxDEV) {
|
|
31736
|
-
return
|
|
31737
|
-
function
|
|
31754
|
+
return create5;
|
|
31755
|
+
function create5(node2, type2, props, key2) {
|
|
31738
31756
|
const isStaticChildren = Array.isArray(props.children);
|
|
31739
31757
|
const point2 = pointStart(node2);
|
|
31740
31758
|
return jsxDEV(
|
|
@@ -35877,14 +35895,14 @@ function parse$d(options) {
|
|
|
35877
35895
|
defined: [],
|
|
35878
35896
|
lazy: {},
|
|
35879
35897
|
constructs: constructs2,
|
|
35880
|
-
content:
|
|
35881
|
-
document:
|
|
35882
|
-
flow:
|
|
35883
|
-
string:
|
|
35884
|
-
text:
|
|
35898
|
+
content: create5(content$2),
|
|
35899
|
+
document: create5(document$2),
|
|
35900
|
+
flow: create5(flow$1),
|
|
35901
|
+
string: create5(string$4),
|
|
35902
|
+
text: create5(text$5)
|
|
35885
35903
|
};
|
|
35886
35904
|
return parser2;
|
|
35887
|
-
function
|
|
35905
|
+
function create5(initial) {
|
|
35888
35906
|
return creator2;
|
|
35889
35907
|
function creator2(from) {
|
|
35890
35908
|
return createTokenizer(parser2, initial, from);
|
|
@@ -36252,10 +36270,10 @@ function compiler(options) {
|
|
|
36252
36270
|
events2[start][1]._spread = listSpread;
|
|
36253
36271
|
return length2;
|
|
36254
36272
|
}
|
|
36255
|
-
function opener(
|
|
36273
|
+
function opener(create5, and) {
|
|
36256
36274
|
return open2;
|
|
36257
36275
|
function open2(token) {
|
|
36258
|
-
enter.call(this,
|
|
36276
|
+
enter.call(this, create5(token), token);
|
|
36259
36277
|
if (and)
|
|
36260
36278
|
and.call(this, token);
|
|
36261
36279
|
}
|
|
@@ -39592,7 +39610,7 @@ function Description(props) {
|
|
|
39592
39610
|
return jsxRuntimeExports.jsxs("div", { className: classes.description, children: [descriptionType && descriptionType === DescriptionType.MARKDOWN ? jsxRuntimeExports.jsx(Markdown, { children: description2 }) : jsxRuntimeExports.jsx("p", { children: description2 }), metadata2 && Array.from(metadata2.entries()).map(([layerIndex, { name: layerName, metadata: metadataRecord }]) => metadataRecord && Object.entries(metadataRecord).length > 0 ? jsxRuntimeExports.jsxs("details", { children: [jsxRuntimeExports.jsx("summary", { children: layerName }), jsxRuntimeExports.jsx("div", { className: classes.metadataContainer, children: jsxRuntimeExports.jsx("table", { children: jsxRuntimeExports.jsx("tbody", { children: Object.entries(metadataRecord).map(([key2, value2]) => jsxRuntimeExports.jsxs("tr", { children: [jsxRuntimeExports.jsx("th", { title: key2, children: key2 }), jsxRuntimeExports.jsx("td", { title: value2, children: value2 })] }, key2)) }) }) })] }, layerIndex) : null)] });
|
|
39593
39611
|
}
|
|
39594
39612
|
function DescriptionSubscriber(props) {
|
|
39595
|
-
const { coordinationScopes, description: descriptionOverride, descriptionType, removeGridComponent, theme, title: title2 = "Description", closeButtonVisible } = props;
|
|
39613
|
+
const { coordinationScopes, description: descriptionOverride, descriptionType, removeGridComponent, theme, title: title2 = "Description", closeButtonVisible, helpText = ViewHelpMapping.DESCRIPTION } = props;
|
|
39596
39614
|
const loaders = useLoaders();
|
|
39597
39615
|
const [{ dataset, spatialImageLayer: rasterLayers }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.DESCRIPTION], coordinationScopes);
|
|
39598
39616
|
const [description2] = useDescription(loaders, dataset);
|
|
@@ -39614,7 +39632,7 @@ function DescriptionSubscriber(props) {
|
|
|
39614
39632
|
}
|
|
39615
39633
|
return result;
|
|
39616
39634
|
}, [rasterLayers, imageLayerMeta, imageLayerLoaders]);
|
|
39617
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, removeGridComponent, isScroll: true, theme, isReady, children: jsxRuntimeExports.jsx(Description, { description: descriptionOverride || description2, descriptionType, metadata: metadata2 }) });
|
|
39635
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, removeGridComponent, isScroll: true, theme, isReady, helpText, children: jsxRuntimeExports.jsx(Description, { description: descriptionOverride || description2, descriptionType, metadata: metadata2 }) });
|
|
39618
39636
|
}
|
|
39619
39637
|
var earthRadius = 63710088e-1;
|
|
39620
39638
|
var factors = {
|
|
@@ -49056,10 +49074,10 @@ var _propertyDesc = function(bitmap, value2) {
|
|
|
49056
49074
|
value: value2
|
|
49057
49075
|
};
|
|
49058
49076
|
};
|
|
49059
|
-
var dP$
|
|
49077
|
+
var dP$1 = require_objectDp();
|
|
49060
49078
|
var createDesc$2 = _propertyDesc;
|
|
49061
49079
|
var _hide = require_descriptors() ? function(object2, key2, value2) {
|
|
49062
|
-
return dP$
|
|
49080
|
+
return dP$1.f(object2, key2, createDesc$2(1, value2));
|
|
49063
49081
|
} : function(object2, key2, value2) {
|
|
49064
49082
|
object2[key2] = value2;
|
|
49065
49083
|
return object2;
|
|
@@ -49073,7 +49091,7 @@ var core$3 = _coreExports;
|
|
|
49073
49091
|
var ctx = _ctx;
|
|
49074
49092
|
var hide$2 = _hide;
|
|
49075
49093
|
var has$a = _has$1;
|
|
49076
|
-
var PROTOTYPE$
|
|
49094
|
+
var PROTOTYPE$1 = "prototype";
|
|
49077
49095
|
var $export$6 = function(type2, name2, source2) {
|
|
49078
49096
|
var IS_FORCED = type2 & $export$6.F;
|
|
49079
49097
|
var IS_GLOBAL = type2 & $export$6.G;
|
|
@@ -49082,8 +49100,8 @@ var $export$6 = function(type2, name2, source2) {
|
|
|
49082
49100
|
var IS_BIND = type2 & $export$6.B;
|
|
49083
49101
|
var IS_WRAP = type2 & $export$6.W;
|
|
49084
49102
|
var exports2 = IS_GLOBAL ? core$3 : core$3[name2] || (core$3[name2] = {});
|
|
49085
|
-
var expProto = exports2[PROTOTYPE$
|
|
49086
|
-
var target2 = IS_GLOBAL ? global$5 : IS_STATIC ? global$5[name2] : (global$5[name2] || {})[PROTOTYPE$
|
|
49103
|
+
var expProto = exports2[PROTOTYPE$1];
|
|
49104
|
+
var target2 = IS_GLOBAL ? global$5 : IS_STATIC ? global$5[name2] : (global$5[name2] || {})[PROTOTYPE$1];
|
|
49087
49105
|
var key2, own2, out;
|
|
49088
49106
|
if (IS_GLOBAL)
|
|
49089
49107
|
source2 = name2;
|
|
@@ -49107,7 +49125,7 @@ var $export$6 = function(type2, name2, source2) {
|
|
|
49107
49125
|
}
|
|
49108
49126
|
return C3.apply(this, arguments);
|
|
49109
49127
|
};
|
|
49110
|
-
F[PROTOTYPE$
|
|
49128
|
+
F[PROTOTYPE$1] = C3[PROTOTYPE$1];
|
|
49111
49129
|
return F;
|
|
49112
49130
|
}(out) : IS_PROTO && typeof out == "function" ? ctx(Function.call, out) : out;
|
|
49113
49131
|
if (IS_PROTO) {
|
|
@@ -49212,22 +49230,30 @@ var px$2 = Math.random();
|
|
|
49212
49230
|
var _uid = function(key2) {
|
|
49213
49231
|
return "Symbol(".concat(key2 === void 0 ? "" : key2, ")_", (++id$4 + px$2).toString(36));
|
|
49214
49232
|
};
|
|
49215
|
-
var
|
|
49216
|
-
var
|
|
49217
|
-
|
|
49218
|
-
|
|
49219
|
-
|
|
49233
|
+
var _sharedKey;
|
|
49234
|
+
var hasRequired_sharedKey;
|
|
49235
|
+
function require_sharedKey() {
|
|
49236
|
+
if (hasRequired_sharedKey)
|
|
49237
|
+
return _sharedKey;
|
|
49238
|
+
hasRequired_sharedKey = 1;
|
|
49239
|
+
var shared2 = _sharedExports("keys");
|
|
49240
|
+
var uid2 = _uid;
|
|
49241
|
+
_sharedKey = function(key2) {
|
|
49242
|
+
return shared2[key2] || (shared2[key2] = uid2(key2));
|
|
49243
|
+
};
|
|
49244
|
+
return _sharedKey;
|
|
49245
|
+
}
|
|
49220
49246
|
var has$9 = _has$1;
|
|
49221
49247
|
var toIObject$4 = _toIobject;
|
|
49222
49248
|
var arrayIndexOf = _arrayIncludes(false);
|
|
49223
|
-
var IE_PROTO$
|
|
49249
|
+
var IE_PROTO$1 = require_sharedKey()("IE_PROTO");
|
|
49224
49250
|
var _objectKeysInternal = function(object2, names) {
|
|
49225
49251
|
var O = toIObject$4(object2);
|
|
49226
49252
|
var i2 = 0;
|
|
49227
49253
|
var result = [];
|
|
49228
49254
|
var key2;
|
|
49229
49255
|
for (key2 in O)
|
|
49230
|
-
if (key2 != IE_PROTO$
|
|
49256
|
+
if (key2 != IE_PROTO$1)
|
|
49231
49257
|
has$9(O, key2) && result.push(key2);
|
|
49232
49258
|
while (names.length > i2)
|
|
49233
49259
|
if (has$9(O, key2 = names[i2++])) {
|
|
@@ -49237,9 +49263,9 @@ var _objectKeysInternal = function(object2, names) {
|
|
|
49237
49263
|
};
|
|
49238
49264
|
var _enumBugKeys = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
|
|
49239
49265
|
var $keys$2 = _objectKeysInternal;
|
|
49240
|
-
var enumBugKeys
|
|
49266
|
+
var enumBugKeys = _enumBugKeys;
|
|
49241
49267
|
var _objectKeys$1 = Object.keys || function keys(O) {
|
|
49242
|
-
return $keys$2(O, enumBugKeys
|
|
49268
|
+
return $keys$2(O, enumBugKeys);
|
|
49243
49269
|
};
|
|
49244
49270
|
var _objectGops = {};
|
|
49245
49271
|
_objectGops.f = Object.getOwnPropertySymbols;
|
|
@@ -49357,7 +49383,7 @@ function _interopRequireDefault$o(obj) {
|
|
|
49357
49383
|
return obj && obj.__esModule ? obj : { default: obj };
|
|
49358
49384
|
}
|
|
49359
49385
|
var _default$5 = function() {
|
|
49360
|
-
function
|
|
49386
|
+
function defineProperties3(target2, props) {
|
|
49361
49387
|
for (var i2 = 0; i2 < props.length; i2++) {
|
|
49362
49388
|
var descriptor2 = props[i2];
|
|
49363
49389
|
descriptor2.enumerable = descriptor2.enumerable || false;
|
|
@@ -49369,9 +49395,9 @@ var _default$5 = function() {
|
|
|
49369
49395
|
}
|
|
49370
49396
|
return function(Constructor, protoProps, staticProps) {
|
|
49371
49397
|
if (protoProps)
|
|
49372
|
-
|
|
49398
|
+
defineProperties3(Constructor.prototype, protoProps);
|
|
49373
49399
|
if (staticProps)
|
|
49374
|
-
|
|
49400
|
+
defineProperties3(Constructor, staticProps);
|
|
49375
49401
|
return Constructor;
|
|
49376
49402
|
};
|
|
49377
49403
|
}();
|
|
@@ -49392,19 +49418,27 @@ var _stringAt = function(TO_STRING) {
|
|
|
49392
49418
|
};
|
|
49393
49419
|
var _redefine = _hide;
|
|
49394
49420
|
var _iterators = {};
|
|
49395
|
-
var
|
|
49396
|
-
var
|
|
49397
|
-
|
|
49398
|
-
|
|
49399
|
-
|
|
49400
|
-
|
|
49401
|
-
var
|
|
49402
|
-
var
|
|
49403
|
-
var
|
|
49404
|
-
|
|
49405
|
-
|
|
49406
|
-
|
|
49407
|
-
|
|
49421
|
+
var _objectDps;
|
|
49422
|
+
var hasRequired_objectDps;
|
|
49423
|
+
function require_objectDps() {
|
|
49424
|
+
if (hasRequired_objectDps)
|
|
49425
|
+
return _objectDps;
|
|
49426
|
+
hasRequired_objectDps = 1;
|
|
49427
|
+
var dP2 = require_objectDp();
|
|
49428
|
+
var anObject2 = _anObject;
|
|
49429
|
+
var getKeys2 = _objectKeys$1;
|
|
49430
|
+
_objectDps = require_descriptors() ? Object.defineProperties : function defineProperties3(O, Properties) {
|
|
49431
|
+
anObject2(O);
|
|
49432
|
+
var keys4 = getKeys2(Properties);
|
|
49433
|
+
var length2 = keys4.length;
|
|
49434
|
+
var i2 = 0;
|
|
49435
|
+
var P2;
|
|
49436
|
+
while (length2 > i2)
|
|
49437
|
+
dP2.f(O, P2 = keys4[i2++], Properties[P2]);
|
|
49438
|
+
return O;
|
|
49439
|
+
};
|
|
49440
|
+
return _objectDps;
|
|
49441
|
+
}
|
|
49408
49442
|
var _html;
|
|
49409
49443
|
var hasRequired_html;
|
|
49410
49444
|
function require_html() {
|
|
@@ -49415,42 +49449,50 @@ function require_html() {
|
|
|
49415
49449
|
_html = document2 && document2.documentElement;
|
|
49416
49450
|
return _html;
|
|
49417
49451
|
}
|
|
49418
|
-
var
|
|
49419
|
-
var
|
|
49420
|
-
|
|
49421
|
-
|
|
49422
|
-
|
|
49423
|
-
|
|
49424
|
-
var
|
|
49425
|
-
var
|
|
49426
|
-
var
|
|
49427
|
-
var
|
|
49428
|
-
var
|
|
49429
|
-
|
|
49430
|
-
var
|
|
49431
|
-
|
|
49432
|
-
|
|
49433
|
-
|
|
49434
|
-
|
|
49435
|
-
|
|
49436
|
-
|
|
49437
|
-
|
|
49438
|
-
|
|
49439
|
-
|
|
49440
|
-
|
|
49441
|
-
|
|
49442
|
-
|
|
49443
|
-
|
|
49444
|
-
|
|
49445
|
-
|
|
49446
|
-
|
|
49447
|
-
|
|
49448
|
-
|
|
49449
|
-
|
|
49450
|
-
|
|
49451
|
-
|
|
49452
|
-
|
|
49453
|
-
|
|
49452
|
+
var _objectCreate;
|
|
49453
|
+
var hasRequired_objectCreate;
|
|
49454
|
+
function require_objectCreate() {
|
|
49455
|
+
if (hasRequired_objectCreate)
|
|
49456
|
+
return _objectCreate;
|
|
49457
|
+
hasRequired_objectCreate = 1;
|
|
49458
|
+
var anObject2 = _anObject;
|
|
49459
|
+
var dPs = require_objectDps();
|
|
49460
|
+
var enumBugKeys2 = _enumBugKeys;
|
|
49461
|
+
var IE_PROTO2 = require_sharedKey()("IE_PROTO");
|
|
49462
|
+
var Empty2 = function() {
|
|
49463
|
+
};
|
|
49464
|
+
var PROTOTYPE2 = "prototype";
|
|
49465
|
+
var createDict = function() {
|
|
49466
|
+
var iframe = require_domCreate()("iframe");
|
|
49467
|
+
var i2 = enumBugKeys2.length;
|
|
49468
|
+
var lt2 = "<";
|
|
49469
|
+
var gt2 = ">";
|
|
49470
|
+
var iframeDocument;
|
|
49471
|
+
iframe.style.display = "none";
|
|
49472
|
+
require_html().appendChild(iframe);
|
|
49473
|
+
iframe.src = "javascript:";
|
|
49474
|
+
iframeDocument = iframe.contentWindow.document;
|
|
49475
|
+
iframeDocument.open();
|
|
49476
|
+
iframeDocument.write(lt2 + "script" + gt2 + "document.F=Object" + lt2 + "/script" + gt2);
|
|
49477
|
+
iframeDocument.close();
|
|
49478
|
+
createDict = iframeDocument.F;
|
|
49479
|
+
while (i2--)
|
|
49480
|
+
delete createDict[PROTOTYPE2][enumBugKeys2[i2]];
|
|
49481
|
+
return createDict();
|
|
49482
|
+
};
|
|
49483
|
+
_objectCreate = Object.create || function create5(O, Properties) {
|
|
49484
|
+
var result;
|
|
49485
|
+
if (O !== null) {
|
|
49486
|
+
Empty2[PROTOTYPE2] = anObject2(O);
|
|
49487
|
+
result = new Empty2();
|
|
49488
|
+
Empty2[PROTOTYPE2] = null;
|
|
49489
|
+
result[IE_PROTO2] = O;
|
|
49490
|
+
} else
|
|
49491
|
+
result = createDict();
|
|
49492
|
+
return Properties === void 0 ? result : dPs(result, Properties);
|
|
49493
|
+
};
|
|
49494
|
+
return _objectCreate;
|
|
49495
|
+
}
|
|
49454
49496
|
var _wks = { exports: {} };
|
|
49455
49497
|
var store = _sharedExports("wks");
|
|
49456
49498
|
var uid$2 = _uid;
|
|
@@ -49468,7 +49510,7 @@ var _setToStringTag = function(it, tag2, stat) {
|
|
|
49468
49510
|
if (it && !has$8(it = stat ? it : it.prototype, TAG))
|
|
49469
49511
|
def$1(it, TAG, { configurable: true, value: tag2 });
|
|
49470
49512
|
};
|
|
49471
|
-
var create$b =
|
|
49513
|
+
var create$b = require_objectCreate();
|
|
49472
49514
|
var descriptor = _propertyDesc;
|
|
49473
49515
|
var setToStringTag$2 = _setToStringTag;
|
|
49474
49516
|
var IteratorPrototype$2 = {};
|
|
@@ -49481,7 +49523,7 @@ var _iterCreate = function(Constructor, NAME2, next3) {
|
|
|
49481
49523
|
};
|
|
49482
49524
|
var has$7 = _has$1;
|
|
49483
49525
|
var toObject$2 = _toObject;
|
|
49484
|
-
var IE_PROTO =
|
|
49526
|
+
var IE_PROTO = require_sharedKey()("IE_PROTO");
|
|
49485
49527
|
var ObjectProto$1 = Object.prototype;
|
|
49486
49528
|
var _objectGpo = Object.getPrototypeOf || function(O) {
|
|
49487
49529
|
O = toObject$2(O);
|
|
@@ -49644,23 +49686,23 @@ var setMeta = function(it) {
|
|
|
49644
49686
|
// weak collections IDs
|
|
49645
49687
|
} });
|
|
49646
49688
|
};
|
|
49647
|
-
var fastKey = function(it,
|
|
49689
|
+
var fastKey = function(it, create5) {
|
|
49648
49690
|
if (!isObject$h(it))
|
|
49649
49691
|
return typeof it == "symbol" ? it : (typeof it == "string" ? "S" : "P") + it;
|
|
49650
49692
|
if (!has$6(it, META$1)) {
|
|
49651
49693
|
if (!isExtensible(it))
|
|
49652
49694
|
return "F";
|
|
49653
|
-
if (!
|
|
49695
|
+
if (!create5)
|
|
49654
49696
|
return "E";
|
|
49655
49697
|
setMeta(it);
|
|
49656
49698
|
}
|
|
49657
49699
|
return it[META$1].i;
|
|
49658
49700
|
};
|
|
49659
|
-
var getWeak = function(it,
|
|
49701
|
+
var getWeak = function(it, create5) {
|
|
49660
49702
|
if (!has$6(it, META$1)) {
|
|
49661
49703
|
if (!isExtensible(it))
|
|
49662
49704
|
return true;
|
|
49663
|
-
if (!
|
|
49705
|
+
if (!create5)
|
|
49664
49706
|
return false;
|
|
49665
49707
|
setMeta(it);
|
|
49666
49708
|
}
|
|
@@ -49769,7 +49811,7 @@ var toObject$1 = _toObject;
|
|
|
49769
49811
|
var toIObject = _toIobject;
|
|
49770
49812
|
var toPrimitive = _toPrimitive;
|
|
49771
49813
|
var createDesc = _propertyDesc;
|
|
49772
|
-
var _create$1 =
|
|
49814
|
+
var _create$1 = require_objectCreate();
|
|
49773
49815
|
var gOPNExt = _objectGopnExt;
|
|
49774
49816
|
var $GOPD = _objectGopd;
|
|
49775
49817
|
var $GOPS = _objectGops;
|
|
@@ -49836,7 +49878,7 @@ var $defineProperty$4 = function defineProperty2(it, key2, D2) {
|
|
|
49836
49878
|
}
|
|
49837
49879
|
return dP(it, key2, D2);
|
|
49838
49880
|
};
|
|
49839
|
-
var $defineProperties = function
|
|
49881
|
+
var $defineProperties = function defineProperties(it, P2) {
|
|
49840
49882
|
anObject(it);
|
|
49841
49883
|
var keys4 = enumKeys(P2 = toIObject(P2));
|
|
49842
49884
|
var i2 = 0;
|
|
@@ -49846,7 +49888,7 @@ var $defineProperties = function defineProperties2(it, P2) {
|
|
|
49846
49888
|
$defineProperty$4(it, key2 = keys4[i2++], P2[key2]);
|
|
49847
49889
|
return it;
|
|
49848
49890
|
};
|
|
49849
|
-
var $create = function
|
|
49891
|
+
var $create = function create2(it, P2) {
|
|
49850
49892
|
return P2 === void 0 ? _create$1(it) : $defineProperties(_create$1(it), P2);
|
|
49851
49893
|
};
|
|
49852
49894
|
var $propertyIsEnumerable = function propertyIsEnumerable(key2) {
|
|
@@ -50073,9 +50115,9 @@ $export$1($export$1.S, "Object", { setPrototypeOf: require_setProto().set });
|
|
|
50073
50115
|
var setPrototypeOf$2 = _coreExports.Object.setPrototypeOf;
|
|
50074
50116
|
var setPrototypeOf$1 = { "default": setPrototypeOf$2, __esModule: true };
|
|
50075
50117
|
var $export = _export;
|
|
50076
|
-
$export($export.S, "Object", { create:
|
|
50118
|
+
$export($export.S, "Object", { create: require_objectCreate() });
|
|
50077
50119
|
var $Object$2 = _coreExports.Object;
|
|
50078
|
-
var create$a = function
|
|
50120
|
+
var create$a = function create3(P2, D2) {
|
|
50079
50121
|
return $Object$2.create(P2, D2);
|
|
50080
50122
|
};
|
|
50081
50123
|
var create$9 = { "default": create$a, __esModule: true };
|
|
@@ -62171,7 +62213,7 @@ function SetsManager(props) {
|
|
|
62171
62213
|
}
|
|
62172
62214
|
const packageJson = { name: "vitessce" };
|
|
62173
62215
|
function ObsSetsManagerSubscriber(props) {
|
|
62174
|
-
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: titleOverride } = props;
|
|
62216
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: titleOverride, helpText = ViewHelpMapping.OBS_SETS } = props;
|
|
62175
62217
|
const loaders = useLoaders();
|
|
62176
62218
|
const setWarning = useSetWarning();
|
|
62177
62219
|
const [{ dataset, obsType, obsSetSelection: cellSetSelection, obsSetExpansion: cellSetExpansion, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, obsColorEncoding: cellColorEncoding }, { setObsSetSelection: setCellSetSelection, setObsColorEncoding: setCellColorEncoding, setObsSetColor: setCellSetColor, setObsSetExpansion: setCellSetExpansion, setAdditionalObsSets: setAdditionalCellSets }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.OBS_SETS], coordinationScopes);
|
|
@@ -62566,7 +62608,7 @@ function ObsSetsManagerSubscriber(props) {
|
|
|
62566
62608
|
setWarning,
|
|
62567
62609
|
theme
|
|
62568
62610
|
]);
|
|
62569
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, children: manager });
|
|
62611
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, children: manager });
|
|
62570
62612
|
}
|
|
62571
62613
|
function ascending$7(a2, b2) {
|
|
62572
62614
|
return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
@@ -105867,11 +105909,11 @@ class Tileset2D {
|
|
|
105867
105909
|
this._dirty = false;
|
|
105868
105910
|
}
|
|
105869
105911
|
}
|
|
105870
|
-
_getTile(index2,
|
|
105912
|
+
_getTile(index2, create5) {
|
|
105871
105913
|
const id2 = this.getTileId(index2);
|
|
105872
105914
|
let tile = this._cache.get(id2);
|
|
105873
105915
|
let needsReload = false;
|
|
105874
|
-
if (!tile &&
|
|
105916
|
+
if (!tile && create5) {
|
|
105875
105917
|
tile = new Tile2DHeader(index2);
|
|
105876
105918
|
Object.assign(tile, this.getTileMetadata(tile.index));
|
|
105877
105919
|
Object.assign(tile, {
|
|
@@ -134270,7 +134312,7 @@ var defineProperty$2 = function(object2, name2, value2, predicate) {
|
|
|
134270
134312
|
defineDataProperty2(object2, name2, value2);
|
|
134271
134313
|
}
|
|
134272
134314
|
};
|
|
134273
|
-
var
|
|
134315
|
+
var defineProperties2 = function(object2, map2) {
|
|
134274
134316
|
var predicates = arguments.length > 2 ? arguments[2] : {};
|
|
134275
134317
|
var props = keys$4(map2);
|
|
134276
134318
|
if (hasSymbols$1) {
|
|
@@ -134280,8 +134322,8 @@ var defineProperties3 = function(object2, map2) {
|
|
|
134280
134322
|
defineProperty$2(object2, props[i2], map2[props[i2]], predicates[props[i2]]);
|
|
134281
134323
|
}
|
|
134282
134324
|
};
|
|
134283
|
-
|
|
134284
|
-
var defineProperties_1 =
|
|
134325
|
+
defineProperties2.supportsDescriptors = !!supportsDescriptors$2;
|
|
134326
|
+
var defineProperties_1 = defineProperties2;
|
|
134285
134327
|
var numberIsNaN = function(value2) {
|
|
134286
134328
|
return value2 !== value2;
|
|
134287
134329
|
};
|
|
@@ -168538,16 +168580,16 @@ async function getDecoder(fileDirectory) {
|
|
|
168538
168580
|
const Decoder = await importFn();
|
|
168539
168581
|
return new Decoder(fileDirectory);
|
|
168540
168582
|
}
|
|
168541
|
-
addDecoder([void 0, 1], () => import("./raw-
|
|
168542
|
-
addDecoder(5, () => import("./lzw-
|
|
168583
|
+
addDecoder([void 0, 1], () => import("./raw-54997420.js").then((m2) => m2.default));
|
|
168584
|
+
addDecoder(5, () => import("./lzw-9502d20a.js").then((m2) => m2.default));
|
|
168543
168585
|
addDecoder(6, () => {
|
|
168544
168586
|
throw new Error("old style JPEG compression is not supported.");
|
|
168545
168587
|
});
|
|
168546
|
-
addDecoder(7, () => import("./jpeg-
|
|
168547
|
-
addDecoder([8, 32946], () => import("./deflate-
|
|
168548
|
-
addDecoder(32773, () => import("./packbits-
|
|
168549
|
-
addDecoder(34887, () => import("./lerc-
|
|
168550
|
-
addDecoder(50001, () => import("./webimage-
|
|
168588
|
+
addDecoder(7, () => import("./jpeg-e383d75a.js").then((m2) => m2.default));
|
|
168589
|
+
addDecoder([8, 32946], () => import("./deflate-efd5356d.js").then((m2) => m2.default));
|
|
168590
|
+
addDecoder(32773, () => import("./packbits-b61051af.js").then((m2) => m2.default));
|
|
168591
|
+
addDecoder(34887, () => import("./lerc-e0ea6e91.js").then((m2) => m2.default));
|
|
168592
|
+
addDecoder(50001, () => import("./webimage-e4eb8c23.js").then((m2) => m2.default));
|
|
168551
168593
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
|
168552
168594
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
|
168553
168595
|
}
|
|
@@ -183487,11 +183529,11 @@ function TooltipContent(props) {
|
|
|
183487
183529
|
return jsxRuntimeExports.jsx("table", { children: jsxRuntimeExports.jsx("tbody", { children: Object.entries(info2).map(([key2, value2]) => jsxRuntimeExports.jsxs("tr", { children: [jsxRuntimeExports.jsx("th", { children: key2 }), jsxRuntimeExports.jsx("td", { children: value2 })] }, key2)) }) });
|
|
183488
183530
|
}
|
|
183489
183531
|
function ScatterplotTooltipSubscriber(props) {
|
|
183490
|
-
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo } = props;
|
|
183532
|
+
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo: getObsInfo2 } = props;
|
|
183491
183533
|
const sourceUuid = useComponentHover();
|
|
183492
183534
|
const viewInfo = useComponentViewInfo(parentUuid);
|
|
183493
|
-
const [cellInfo, x2, y2] = obsHighlight &&
|
|
183494
|
-
|
|
183535
|
+
const [cellInfo, x2, y2] = obsHighlight && getObsInfo2 ? [
|
|
183536
|
+
getObsInfo2(obsHighlight),
|
|
183495
183537
|
...viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsHighlight) : [null, null]
|
|
183496
183538
|
] : [null, null, null];
|
|
183497
183539
|
return cellInfo ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: cellInfo }) }) : null;
|
|
@@ -184049,18 +184091,18 @@ function selection_lower() {
|
|
|
184049
184091
|
return this.each(lower);
|
|
184050
184092
|
}
|
|
184051
184093
|
function selection_append(name2) {
|
|
184052
|
-
var
|
|
184094
|
+
var create5 = typeof name2 === "function" ? name2 : creator(name2);
|
|
184053
184095
|
return this.select(function() {
|
|
184054
|
-
return this.appendChild(
|
|
184096
|
+
return this.appendChild(create5.apply(this, arguments));
|
|
184055
184097
|
});
|
|
184056
184098
|
}
|
|
184057
184099
|
function constantNull() {
|
|
184058
184100
|
return null;
|
|
184059
184101
|
}
|
|
184060
184102
|
function selection_insert(name2, before) {
|
|
184061
|
-
var
|
|
184103
|
+
var create5 = typeof name2 === "function" ? name2 : creator(name2), select2 = before == null ? constantNull : typeof before === "function" ? before : selector(before);
|
|
184062
184104
|
return this.select(function() {
|
|
184063
|
-
return this.insertBefore(
|
|
184105
|
+
return this.insertBefore(create5.apply(this, arguments), select2.apply(this, arguments) || null);
|
|
184064
184106
|
});
|
|
184065
184107
|
}
|
|
184066
184108
|
function remove$1() {
|
|
@@ -188506,6 +188548,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
188506
188548
|
theme,
|
|
188507
188549
|
observationsLabelOverride,
|
|
188508
188550
|
title: titleOverride,
|
|
188551
|
+
helpText = ViewHelpMapping.SCATTERPLOT,
|
|
188509
188552
|
// Average fill density for dynamic opacity calculation.
|
|
188510
188553
|
averageFillDensity
|
|
188511
188554
|
} = props;
|
|
@@ -188650,7 +188693,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
188650
188693
|
initialTargetY,
|
|
188651
188694
|
averageFillDensity
|
|
188652
188695
|
]);
|
|
188653
|
-
const
|
|
188696
|
+
const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
|
|
188654
188697
|
const cellSelectionSet = useMemo(() => new Set(cellSelection), [cellSelection]);
|
|
188655
188698
|
const getCellIsSelected = useCallback((object2, { index: index2 }) => (cellSelectionSet || /* @__PURE__ */ new Set([])).has(obsEmbeddingIndex[index2]) ? 1 : 0, [cellSelectionSet, obsEmbeddingIndex]);
|
|
188656
188699
|
const cellRadius = cellRadiusMode === "manual" ? cellRadiusFixed : dynamicCellRadius;
|
|
@@ -188736,7 +188779,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
188736
188779
|
setTargetY(target2[1]);
|
|
188737
188780
|
setTargetZ(target2[2] || 0);
|
|
188738
188781
|
};
|
|
188739
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, tooltipsVisible, setTooltipsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, embeddingPointsVisible, setEmbeddingPointsVisible, embeddingContoursVisible, setEmbeddingContoursVisible, embeddingContoursFilled, setEmbeddingContoursFilled, contourPercentiles, setContourPercentiles, defaultContourPercentiles: DEFAULT_CONTOUR_PERCENTILES, contourColorEncoding, setContourColorEncoding }), children: [jsxRuntimeExports.jsx(ScatterplotWrapper, {
|
|
188782
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, tooltipsVisible, setTooltipsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, embeddingPointsVisible, setEmbeddingPointsVisible, embeddingContoursVisible, setEmbeddingContoursVisible, embeddingContoursFilled, setEmbeddingContoursFilled, contourPercentiles, setContourPercentiles, defaultContourPercentiles: DEFAULT_CONTOUR_PERCENTILES, contourColorEncoding, setContourColorEncoding }), children: [jsxRuntimeExports.jsx(ScatterplotWrapper, {
|
|
188740
188783
|
ref: deckRef,
|
|
188741
188784
|
uuid,
|
|
188742
188785
|
theme,
|
|
@@ -188780,7 +188823,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
188780
188823
|
contoursFilled: embeddingContoursFilled,
|
|
188781
188824
|
embeddingPointsVisible,
|
|
188782
188825
|
embeddingContoursVisible
|
|
188783
|
-
}), tooltipsVisible && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo }), jsxRuntimeExports.jsx(Legend, {
|
|
188826
|
+
}), tooltipsVisible && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo: getObsInfo2 }), jsxRuntimeExports.jsx(Legend, {
|
|
188784
188827
|
visible: true,
|
|
188785
188828
|
theme,
|
|
188786
188829
|
featureType,
|
|
@@ -188852,7 +188895,8 @@ function GatingSubscriber(props) {
|
|
|
188852
188895
|
disableTooltip = false,
|
|
188853
188896
|
title: titleOverride,
|
|
188854
188897
|
// Average fill density for dynamic opacity calculation.
|
|
188855
|
-
averageFillDensity
|
|
188898
|
+
averageFillDensity,
|
|
188899
|
+
helpText = ViewHelpMapping.GATING
|
|
188856
188900
|
} = props;
|
|
188857
188901
|
const loaders = useLoaders();
|
|
188858
188902
|
const setComponentHover = useSetComponentHover();
|
|
@@ -189022,7 +189066,7 @@ function GatingSubscriber(props) {
|
|
|
189022
189066
|
matrixObsIndex: obsIndex,
|
|
189023
189067
|
expressionData: uint8ExpressionData
|
|
189024
189068
|
});
|
|
189025
|
-
const
|
|
189069
|
+
const getObsInfo2 = useCallback((obsId) => {
|
|
189026
189070
|
var _a3;
|
|
189027
189071
|
const selectedTransformName = (_a3 = VALUE_TRANSFORM_OPTIONS.find((o2) => o2.value === featureValueTransform)) == null ? void 0 : _a3.name;
|
|
189028
189072
|
const genePrefix = featureValueTransform ? `${selectedTransformName} ` : "";
|
|
@@ -189041,7 +189085,7 @@ function GatingSubscriber(props) {
|
|
|
189041
189085
|
gatingFeatureSelectionY,
|
|
189042
189086
|
obsType
|
|
189043
189087
|
]);
|
|
189044
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(obsType, cellsCount)}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, children: jsxRuntimeExports.jsx(GatingScatterplotOptions, { featureType, gatingFeatureSelectionX, setGatingFeatureSelectionX, gatingFeatureSelectionY, setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
|
|
189088
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(obsType, cellsCount)}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, children: jsxRuntimeExports.jsx(GatingScatterplotOptions, { featureType, gatingFeatureSelectionX, setGatingFeatureSelectionX, gatingFeatureSelectionY, setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
|
|
189045
189089
|
setFeatureValueTransform(newValue);
|
|
189046
189090
|
setTargetX(null);
|
|
189047
189091
|
setTargetY(null);
|
|
@@ -189053,7 +189097,7 @@ function GatingSubscriber(props) {
|
|
|
189053
189097
|
setTargetZ(target2[2] || 0);
|
|
189054
189098
|
}, obsEmbeddingIndex: obsIndex, obsEmbedding: obsXY, cellFilter, cellSelection, cellHighlight, cellColors, cellSetPolygons, cellSetLabelSize, cellSetLabelsVisible, cellSetPolygonsVisible, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, cellRadius, cellOpacity, cellColorEncoding, geneExpressionColormap, geneExpressionColormapRange, setComponentHover: () => {
|
|
189055
189099
|
setComponentHover(uuid);
|
|
189056
|
-
}, updateViewInfo: setComponentViewInfo, getExpressionValue, getCellIsSelected }), !disableTooltip && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo })] });
|
|
189100
|
+
}, updateViewInfo: setComponentViewInfo, getExpressionValue, getCellIsSelected }), !disableTooltip && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo: getObsInfo2 })] });
|
|
189057
189101
|
}
|
|
189058
189102
|
var DEFAULT_CONFIG = {
|
|
189059
189103
|
// minimum relative difference between two compared values,
|
|
@@ -189350,7 +189394,7 @@ var typedFunction$1 = { exports: {} };
|
|
|
189350
189394
|
function undef() {
|
|
189351
189395
|
return void 0;
|
|
189352
189396
|
}
|
|
189353
|
-
function
|
|
189397
|
+
function create5() {
|
|
189354
189398
|
var _types = [
|
|
189355
189399
|
{ name: "number", test: function(x2) {
|
|
189356
189400
|
return typeof x2 === "number";
|
|
@@ -190102,7 +190146,7 @@ var typedFunction$1 = { exports: {} };
|
|
|
190102
190146
|
return createTypedFunction(name2, extractSignatures(fns));
|
|
190103
190147
|
}
|
|
190104
190148
|
});
|
|
190105
|
-
typed2.create =
|
|
190149
|
+
typed2.create = create5;
|
|
190106
190150
|
typed2.types = _types;
|
|
190107
190151
|
typed2.conversions = _conversions;
|
|
190108
190152
|
typed2.ignore = _ignore;
|
|
@@ -190133,7 +190177,7 @@ var typedFunction$1 = { exports: {} };
|
|
|
190133
190177
|
};
|
|
190134
190178
|
return typed2;
|
|
190135
190179
|
}
|
|
190136
|
-
return
|
|
190180
|
+
return create5();
|
|
190137
190181
|
});
|
|
190138
190182
|
})(typedFunction$1);
|
|
190139
190183
|
var typedFunctionExports = typedFunction$1.exports;
|
|
@@ -190845,11 +190889,11 @@ function getArrayDataType(array2, typeOf2) {
|
|
|
190845
190889
|
}
|
|
190846
190890
|
return type2;
|
|
190847
190891
|
}
|
|
190848
|
-
function factory(name2, dependencies2,
|
|
190892
|
+
function factory(name2, dependencies2, create5, meta2) {
|
|
190849
190893
|
function assertAndCreate(scope) {
|
|
190850
190894
|
var deps = pickShallow(scope, dependencies2.map(stripOptionalNotation));
|
|
190851
190895
|
assertDependencies(name2, dependencies2, scope);
|
|
190852
|
-
return
|
|
190896
|
+
return create5(deps);
|
|
190853
190897
|
}
|
|
190854
190898
|
assertAndCreate.isFactory = true;
|
|
190855
190899
|
assertAndCreate.fn = name2;
|
|
@@ -208097,7 +208141,7 @@ function SpatialOptions(props) {
|
|
|
208097
208141
|
}, id: `gene-expression-colormap-range-${spatialOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] }) : null] });
|
|
208098
208142
|
}
|
|
208099
208143
|
function SpatialTooltipSubscriber$1(props) {
|
|
208100
|
-
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo, hoverData, hoverCoord, useHoverInfoForTooltip, getObsIdFromHoverData } = props;
|
|
208144
|
+
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo: getObsInfo2, hoverData, hoverCoord, useHoverInfoForTooltip, getObsIdFromHoverData } = props;
|
|
208101
208145
|
const sourceUuid = useComponentHover();
|
|
208102
208146
|
const viewInfo = useComponentViewInfo(parentUuid);
|
|
208103
208147
|
let [cellInfo, x2, y2] = [null, null, null];
|
|
@@ -208105,21 +208149,21 @@ function SpatialTooltipSubscriber$1(props) {
|
|
|
208105
208149
|
const obsId = getObsIdFromHoverData(hoverData);
|
|
208106
208150
|
if (obsId) {
|
|
208107
208151
|
[cellInfo, x2, y2] = [
|
|
208108
|
-
|
|
208152
|
+
getObsInfo2(obsId),
|
|
208109
208153
|
...viewInfo && viewInfo.project ? viewInfo.project(hoverCoord) : [null, null]
|
|
208110
208154
|
];
|
|
208111
208155
|
}
|
|
208112
|
-
} else if (!useHoverInfoForTooltip &&
|
|
208156
|
+
} else if (!useHoverInfoForTooltip && getObsInfo2 && obsHighlight) {
|
|
208113
208157
|
const obsId = obsHighlight;
|
|
208114
208158
|
[cellInfo, x2, y2] = [
|
|
208115
|
-
|
|
208159
|
+
getObsInfo2(obsId),
|
|
208116
208160
|
...viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsId) : [null, null]
|
|
208117
208161
|
];
|
|
208118
208162
|
}
|
|
208119
208163
|
return cellInfo ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: cellInfo }) }) : null;
|
|
208120
208164
|
}
|
|
208121
208165
|
function SpatialSubscriber$1(props) {
|
|
208122
|
-
const { uuid, coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, title: title2 = "Spatial", disable3d, globalDisable3d, useFullResolutionImage = {}, channelNamesVisible = false } = props;
|
|
208166
|
+
const { uuid, coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, title: title2 = "Spatial", disable3d, globalDisable3d, useFullResolutionImage = {}, channelNamesVisible = false, helpText = ViewHelpMapping.SPATIAL } = props;
|
|
208123
208167
|
const loaders = useLoaders();
|
|
208124
208168
|
const setComponentHover = useSetComponentHover();
|
|
208125
208169
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
|
@@ -208260,7 +208304,7 @@ function SpatialSubscriber$1(props) {
|
|
|
208260
208304
|
matrixObsIndex
|
|
208261
208305
|
]);
|
|
208262
208306
|
const cellSelection = useMemo(() => Array.from(cellColors.keys()), [cellColors]);
|
|
208263
|
-
const
|
|
208307
|
+
const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
|
|
208264
208308
|
const [hoverData, setHoverData] = useState(null);
|
|
208265
208309
|
const [hoverCoord, setHoverCoord] = useState(null);
|
|
208266
208310
|
const useHoverInfoForTooltip = !obsCentroids;
|
|
@@ -208368,7 +208412,7 @@ function SpatialSubscriber$1(props) {
|
|
|
208368
208412
|
}
|
|
208369
208413
|
return [names, colors2];
|
|
208370
208414
|
}, [imageLayers, imageLayerLoaders]);
|
|
208371
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady, options, children: [jsxRuntimeExports.jsx("div", { style: {
|
|
208415
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady, options, helpText, children: [jsxRuntimeExports.jsx("div", { style: {
|
|
208372
208416
|
position: "absolute",
|
|
208373
208417
|
bottom: "5px",
|
|
208374
208418
|
left: "5px",
|
|
@@ -208386,7 +208430,7 @@ function SpatialSubscriber$1(props) {
|
|
|
208386
208430
|
orbitAxis
|
|
208387
208431
|
}, setViewState, originalViewState, imageLayerDefs: imageLayers, obsSegmentationsLayerDefs: cellsLayer, obsLocationsLayerDefs: moleculesLayer, neighborhoodLayerDefs: neighborhoodsLayer, obsLocationsIndex, obsSegmentationsIndex, obsLocations, obsLocationsLabels, obsLocationsFeatureIndex, hasSegmentations: hasSegmentationsData, obsSegmentations, obsSegmentationsType, obsCentroids, obsCentroidsIndex, cellFilter, cellSelection, cellHighlight, cellColors, neighborhoods, imageLayerLoaders: resolutionFilteredImageLayerLoaders, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, setHoverInfo, setMoleculeHighlight, setComponentHover: () => {
|
|
208388
208432
|
setComponentHover(uuid);
|
|
208389
|
-
}, updateViewInfo: setComponentViewInfo, imageLayerCallbacks, segmentationLayerCallbacks, spatialAxisFixed, geneExpressionColormap, geneExpressionColormapRange, expressionData: shiftedExpressionDataForBitmask, cellColorEncoding, getExpressionValue, theme, useFullResolutionImage }), tooltipsVisible && jsxRuntimeExports.jsx(SpatialTooltipSubscriber$1, { parentUuid: uuid, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo, useHoverInfoForTooltip, hoverData, hoverCoord, getObsIdFromHoverData }), jsxRuntimeExports.jsx(Legend, {
|
|
208433
|
+
}, updateViewInfo: setComponentViewInfo, imageLayerCallbacks, segmentationLayerCallbacks, spatialAxisFixed, geneExpressionColormap, geneExpressionColormapRange, expressionData: shiftedExpressionDataForBitmask, cellColorEncoding, getExpressionValue, theme, useFullResolutionImage }), tooltipsVisible && jsxRuntimeExports.jsx(SpatialTooltipSubscriber$1, { parentUuid: uuid, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo: getObsInfo2, useHoverInfoForTooltip, hoverData, hoverCoord, getObsIdFromHoverData }), jsxRuntimeExports.jsx(Legend, {
|
|
208390
208434
|
visible: true,
|
|
208391
208435
|
// Fix to dark theme due to black background of spatial plot.
|
|
208392
208436
|
theme: "dark",
|
|
@@ -209676,6 +209720,24 @@ function getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTo
|
|
|
209676
209720
|
const projectedObsCoord = viewInfo == null ? void 0 : viewInfo.project(obsCoord);
|
|
209677
209721
|
return [projectedObsCoord == null ? void 0 : projectedObsCoord[0], projectedObsCoord == null ? void 0 : projectedObsCoord[1]];
|
|
209678
209722
|
}
|
|
209723
|
+
function getObsInfo(obsSetsData, obsType, obsId) {
|
|
209724
|
+
let result = {
|
|
209725
|
+
[`${capitalize$2(obsType)} ID`]: obsId
|
|
209726
|
+
};
|
|
209727
|
+
if (obsSetsData == null ? void 0 : obsSetsData.obsSetsMembership) {
|
|
209728
|
+
const obsMembership = obsSetsData.obsSetsMembership.get(obsId) || [];
|
|
209729
|
+
if (obsMembership) {
|
|
209730
|
+
result = {
|
|
209731
|
+
...result,
|
|
209732
|
+
...Object.fromEntries(obsMembership.flatMap((path2) => path2.slice(1).map((pathEl, elLevel) => [
|
|
209733
|
+
`${path2[0]}${path2.length > 2 ? ` L${elLevel + 1}` : ""}`,
|
|
209734
|
+
pathEl
|
|
209735
|
+
])))
|
|
209736
|
+
};
|
|
209737
|
+
}
|
|
209738
|
+
}
|
|
209739
|
+
return result;
|
|
209740
|
+
}
|
|
209679
209741
|
function SpatialTooltipSubscriber(props) {
|
|
209680
209742
|
const {
|
|
209681
209743
|
parentUuid,
|
|
@@ -209695,6 +209757,7 @@ function SpatialTooltipSubscriber(props) {
|
|
|
209695
209757
|
segmentationLayerScopes,
|
|
209696
209758
|
segmentationChannelScopesByLayer,
|
|
209697
209759
|
segmentationChannelCoordination,
|
|
209760
|
+
obsSegmentationsSetsData,
|
|
209698
209761
|
// Images
|
|
209699
209762
|
imageLayerScopes,
|
|
209700
209763
|
imageLayerCoordination
|
|
@@ -209713,18 +209776,18 @@ function SpatialTooltipSubscriber(props) {
|
|
|
209713
209776
|
})), segmentationLayerScopes == null ? void 0 : segmentationLayerScopes.flatMap((layerScope) => {
|
|
209714
209777
|
var _a3;
|
|
209715
209778
|
return (_a3 = segmentationChannelScopesByLayer == null ? void 0 : segmentationChannelScopesByLayer[layerScope]) == null ? void 0 : _a3.map((channelScope) => {
|
|
209716
|
-
var _a4, _b2, _c2;
|
|
209779
|
+
var _a4, _b2, _c2, _d2;
|
|
209717
209780
|
const { obsType, obsHighlight, tooltipsVisible, tooltipCrosshairsVisible, spatialChannelVisible } = ((_b2 = (_a4 = segmentationChannelCoordination == null ? void 0 : segmentationChannelCoordination[0]) == null ? void 0 : _a4[layerScope]) == null ? void 0 : _b2[channelScope]) || {};
|
|
209781
|
+
const obsSetsData = (_c2 = obsSegmentationsSetsData == null ? void 0 : obsSegmentationsSetsData[layerScope]) == null ? void 0 : _c2[channelScope];
|
|
209782
|
+
const obsInfo = getObsInfo(obsSetsData, obsType, obsHighlight);
|
|
209718
209783
|
if (!obsHighlight || !spatialChannelVisible || !tooltipsVisible && !tooltipCrosshairsVisible)
|
|
209719
209784
|
return null;
|
|
209720
|
-
const { obsIndex, obsLocations } = ((
|
|
209785
|
+
const { obsIndex, obsLocations } = ((_d2 = obsSegmentationsLocations == null ? void 0 : obsSegmentationsLocations[layerScope]) == null ? void 0 : _d2[channelScope]) || {};
|
|
209721
209786
|
const xy = getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord);
|
|
209722
209787
|
if (!xy)
|
|
209723
209788
|
return null;
|
|
209724
209789
|
const [x2, y2] = xy;
|
|
209725
|
-
return jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, tooltipsVisible, tooltipCrosshairsVisible, width: width2, height: height2, info: {
|
|
209726
|
-
[`${capitalize$2(obsType)} ID`]: obsHighlight
|
|
209727
|
-
}, x: x2, y: y2 + (yOffset += 30) }, `${layerScope}-${channelScope}`);
|
|
209790
|
+
return jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, tooltipsVisible, tooltipCrosshairsVisible, width: width2, height: height2, info: obsInfo, x: x2, y: y2 + (yOffset += 20 + 15 * Object.keys(obsInfo).length) }, `${layerScope}-${channelScope}`);
|
|
209728
209791
|
});
|
|
209729
209792
|
}), spotLayerScopes == null ? void 0 : spotLayerScopes.map((layerScope) => {
|
|
209730
209793
|
var _a3;
|
|
@@ -209772,7 +209835,7 @@ class ErrorBoundary extends React__default.Component {
|
|
|
209772
209835
|
}
|
|
209773
209836
|
}
|
|
209774
209837
|
const LazySpatialThree = React__default.lazy(async () => {
|
|
209775
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
209838
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-1eed7926.js");
|
|
209776
209839
|
return { default: SpatialWrapper2 };
|
|
209777
209840
|
});
|
|
209778
209841
|
const SpatialThreeAdapter = React__default.forwardRef((props, ref2) => jsxRuntimeExports.jsx("div", { ref: ref2, style: { width: "100%", height: "100%" }, children: jsxRuntimeExports.jsx(ErrorBoundary, { children: jsxRuntimeExports.jsx(Suspense, { fallback: jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: jsxRuntimeExports.jsx(LazySpatialThree, { ...props }) }) }) }));
|
|
@@ -210159,8 +210222,8 @@ function SpatialSubscriber(props) {
|
|
|
210159
210222
|
let obsId;
|
|
210160
210223
|
if (layerType === "segmentation-bitmask") {
|
|
210161
210224
|
const { obsIndex } = ((_a3 = segmentationMultiIndicesData == null ? void 0 : segmentationMultiIndicesData[segmentationLayerScope]) == null ? void 0 : _a3[channelScope]) || {};
|
|
210162
|
-
obsI -= 1;
|
|
210163
210225
|
if (obsIndex && bitmaskValueIsIndex) {
|
|
210226
|
+
obsI -= 1;
|
|
210164
210227
|
obsId = obsIndex == null ? void 0 : obsIndex[obsI];
|
|
210165
210228
|
} else {
|
|
210166
210229
|
obsId = String(obsI);
|
|
@@ -210368,6 +210431,7 @@ function SpatialSubscriber(props) {
|
|
|
210368
210431
|
segmentationLayerScopes,
|
|
210369
210432
|
segmentationChannelScopesByLayer,
|
|
210370
210433
|
segmentationChannelCoordination,
|
|
210434
|
+
obsSegmentationsSetsData,
|
|
210371
210435
|
// Images
|
|
210372
210436
|
imageLayerScopes,
|
|
210373
210437
|
imageLayerCoordination
|
|
@@ -211213,11 +211277,11 @@ const Heatmap$1 = forwardRef((props, deckRef) => {
|
|
|
211213
211277
|
], layers, layerFilter, getCursor: (interactionState) => interactionState.isDragging ? "grabbing" : cursorType, glOptions: DEFAULT_GL_OPTIONS$1, onViewStateChange, viewState, onHover, useDevicePixels, onClick: onHeatmapClick });
|
|
211214
211278
|
});
|
|
211215
211279
|
function HeatmapTooltipSubscriber(props) {
|
|
211216
|
-
const { parentUuid, width: width2, height: height2, transpose: transpose2, getObsInfo, getFeatureInfo, obsHighlight, featureHighlight } = props;
|
|
211280
|
+
const { parentUuid, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight, featureHighlight } = props;
|
|
211217
211281
|
const sourceUuid = useComponentHover();
|
|
211218
211282
|
const viewInfo = useComponentViewInfo(parentUuid);
|
|
211219
|
-
const [cellInfo, cellCoord] = obsHighlight &&
|
|
211220
|
-
|
|
211283
|
+
const [cellInfo, cellCoord] = obsHighlight && getObsInfo2 ? [
|
|
211284
|
+
getObsInfo2(obsHighlight),
|
|
211221
211285
|
viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsHighlight, null)[transpose2 ? 0 : 1] : null
|
|
211222
211286
|
] : [null, null];
|
|
211223
211287
|
const [geneInfo, geneCoord] = featureHighlight && getFeatureInfo ? [
|
|
@@ -211263,7 +211327,7 @@ function HeatmapOptions(props) {
|
|
|
211263
211327
|
}) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `heatmap-gene-expression-colormap-range-${heatmapOptionsId}`, children: "Gene Expression Colormap Range" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Slider$1, { classes: { root: classes.slider, valueLabel: classes.sliderValueLabel }, value: geneExpressionColormapRange, onChange: handleColormapRangeChangeDebounced, getAriaLabel: (index2) => index2 === 0 ? "Low value colormap range slider" : "High value colormap range slider", id: `heatmap-gene-expression-colormap-range-${heatmapOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] });
|
|
211264
211328
|
}
|
|
211265
211329
|
function HeatmapSubscriber(props) {
|
|
211266
|
-
const { uuid, coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, transpose: transpose2, observationsLabelOverride, variablesLabelOverride, title: title2 = "Heatmap" } = props;
|
|
211330
|
+
const { uuid, coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, transpose: transpose2, observationsLabelOverride, variablesLabelOverride, title: title2 = "Heatmap", helpText = ViewHelpMapping.HEATMAP } = props;
|
|
211267
211331
|
const loaders = useLoaders();
|
|
211268
211332
|
const setComponentHover = useSetComponentHover();
|
|
211269
211333
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
|
@@ -211306,7 +211370,7 @@ function HeatmapSubscriber(props) {
|
|
|
211306
211370
|
cellSetSelection,
|
|
211307
211371
|
obsIndex
|
|
211308
211372
|
]);
|
|
211309
|
-
const
|
|
211373
|
+
const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
|
|
211310
211374
|
const getObsMembership = useGetObsMembership(obsSetsMembership);
|
|
211311
211375
|
const getFeatureInfo = useCallback((featureId) => {
|
|
211312
211376
|
if (featureId) {
|
|
@@ -211338,7 +211402,7 @@ function HeatmapSubscriber(props) {
|
|
|
211338
211402
|
`${capitalize$2(observationsLabel)} Set`
|
|
211339
211403
|
], [observationsLabel]);
|
|
211340
211404
|
const selectedCount = cellColors.size;
|
|
211341
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)} × ${commaNumber(genesCount)} ${pluralize(variablesLabel, genesCount)},
|
|
211405
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, helpText, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)} × ${commaNumber(genesCount)} ${pluralize(variablesLabel, genesCount)},
|
|
211342
211406
|
with ${commaNumber(selectedCount)} ${pluralize(observationsLabel, selectedCount)} selected`, urls: urls2, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady: isReady && !isRendering, options: jsxRuntimeExports.jsx(HeatmapOptions, { geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, tooltipsVisible, setTooltipsVisible }), children: [jsxRuntimeExports.jsx(Heatmap$1, { ref: deckRef, transpose: transpose2, viewState: { zoom: zoomX, target: [targetX2, targetY2] }, setViewState: ({ zoom: zoom2, target: target2 }) => {
|
|
211343
211407
|
setZoomX(zoom2);
|
|
211344
211408
|
setZoomY(zoom2);
|
|
@@ -211346,7 +211410,7 @@ function HeatmapSubscriber(props) {
|
|
|
211346
211410
|
setTargetY(target2[1]);
|
|
211347
211411
|
}, colormapRange: geneExpressionColormapRange, setColormapRange: setGeneExpressionColormapRange, height: height2, width: width2, theme, uuid, uint8ObsFeatureMatrix: uint8ObsFeatureMatrix == null ? void 0 : uint8ObsFeatureMatrix.data, cellColors, colormap: geneExpressionColormap, setIsRendering, setCellHighlight, setGeneHighlight, featureLabelsMap, obsIndex, featureIndex, setTrackHighlight, setComponentHover: () => {
|
|
211348
211412
|
setComponentHover(uuid);
|
|
211349
|
-
}, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid, width: width2, height: height2, transpose: transpose2, getObsInfo, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
|
|
211413
|
+
}, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
|
|
211350
211414
|
}
|
|
211351
211415
|
var AutoSizer$1 = {};
|
|
211352
211416
|
var interopRequireDefault = { exports: {} };
|
|
@@ -215747,7 +215811,7 @@ function FeatureListOptions(props) {
|
|
|
215747
215811
|
} }) })] })] }) : null] });
|
|
215748
215812
|
}
|
|
215749
215813
|
function FeatureListSubscriber(props) {
|
|
215750
|
-
const { coordinationScopes, removeGridComponent, variablesLabelOverride, theme, title: titleOverride, enableMultiSelect = false, showTable = false, sort: sort2 = "alphabetical", sortKey: sortKey2 = null, closeButtonVisible, downloadButtonVisible } = props;
|
|
215814
|
+
const { coordinationScopes, removeGridComponent, variablesLabelOverride, theme, title: titleOverride, enableMultiSelect = false, showTable = false, sort: sort2 = "alphabetical", sortKey: sortKey2 = null, closeButtonVisible, downloadButtonVisible, helpText = ViewHelpMapping.FEATURE_LIST } = props;
|
|
215751
215815
|
const loaders = useLoaders();
|
|
215752
215816
|
const [{ dataset, obsType, featureType, featureSelection: geneSelection, featureFilter: geneFilter, obsColorEncoding: cellColorEncoding }, { setFeatureSelection: setGeneSelection, setFeatureFilter: setGeneFilter, setFeatureHighlight: setGeneHighlight, setObsColorEncoding: setCellColorEncoding }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.FEATURE_LIST], coordinationScopes);
|
|
215753
215817
|
const variablesLabel = variablesLabelOverride || featureType;
|
|
@@ -215787,6 +215851,7 @@ function FeatureListSubscriber(props) {
|
|
|
215787
215851
|
removeGridComponent,
|
|
215788
215852
|
isReady,
|
|
215789
215853
|
urls: urls2,
|
|
215854
|
+
helpText,
|
|
215790
215855
|
options: jsxRuntimeExports.jsx(FeatureListOptions, { featureListSort, setFeatureListSort, featureListSortKey: featureListSortKey || initialSortKey, setFeatureListSortKey, showFeatureTable, setShowFeatureTable, hasFeatureLabels: Boolean(featureLabelsMap), primaryColumnName }),
|
|
215791
215856
|
children: jsxRuntimeExports.jsx(FeatureList, { hasColorEncoding: cellColorEncoding === "geneSelection", showFeatureTable, geneList, featureListSort, featureListSortKey: featureListSortKey || initialSortKey, featureLabelsMap, featureType, geneSelection, geneFilter, setGeneSelection: setGeneSelectionAndColorEncoding, setGeneFilter, setGeneHighlight, enableMultiSelect, hasFeatureLabels: Boolean(featureLabelsMap), primaryColumnName })
|
|
215792
215857
|
});
|
|
@@ -216609,10 +216674,11 @@ const LayerControllerMemoized = React__default.memo(forwardRef((props, ref2) =>
|
|
|
216609
216674
|
componentWidth,
|
|
216610
216675
|
spatialLayout,
|
|
216611
216676
|
handleImageAdd,
|
|
216612
|
-
enableLayerButtonsWithOneLayer
|
|
216677
|
+
enableLayerButtonsWithOneLayer,
|
|
216678
|
+
helpText
|
|
216613
216679
|
} = props;
|
|
216614
216680
|
const shouldShowImageLayerButton = Boolean(enableLayerButtonsWithOneLayer || (imageLayerLoaders == null ? void 0 : imageLayerLoaders.length) > 1);
|
|
216615
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, isReady, children: jsxRuntimeExports.jsxs("div", { className: "layer-controller-container", ref: ref2, children: [moleculesLayer && jsxRuntimeExports.jsx(VectorLayerController, { label: "Molecules", layerType: "molecules", layer: moleculesLayer, handleLayerChange: setMoleculesLayer }, `${dataset}-molecules`), cellsLayer && obsSegmentationsType === "polygon" && jsxRuntimeExports.jsx(VectorLayerController, { label: `${capitalize$2(obsType)} Segmentations`, layerType: "cells", layer: cellsLayer, handleLayerChange: setCellsLayer }, `${dataset}-cells`), cellsLayer && obsSegmentationsType === "bitmask" && cellsLayer.map((layer, i2) => {
|
|
216681
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, isReady, helpText, children: jsxRuntimeExports.jsxs("div", { className: "layer-controller-container", ref: ref2, children: [moleculesLayer && jsxRuntimeExports.jsx(VectorLayerController, { label: "Molecules", layerType: "molecules", layer: moleculesLayer, handleLayerChange: setMoleculesLayer }, `${dataset}-molecules`), cellsLayer && obsSegmentationsType === "polygon" && jsxRuntimeExports.jsx(VectorLayerController, { label: `${capitalize$2(obsType)} Segmentations`, layerType: "cells", layer: cellsLayer, handleLayerChange: setCellsLayer }, `${dataset}-cells`), cellsLayer && obsSegmentationsType === "bitmask" && cellsLayer.map((layer, i2) => {
|
|
216616
216682
|
const { index: index2 } = layer;
|
|
216617
216683
|
const loader2 = segmentationLayerLoaders == null ? void 0 : segmentationLayerLoaders[index2];
|
|
216618
216684
|
const layerMeta = segmentationLayerMeta == null ? void 0 : segmentationLayerMeta[index2];
|
|
@@ -216727,7 +216793,7 @@ const LayerControllerMemoized = React__default.memo(forwardRef((props, ref2) =>
|
|
|
216727
216793
|
}), shouldShowImageLayerButton ? jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(ImageAddButton, { imageOptions: imageLayerMeta, handleImageAdd }) }) : null] }) });
|
|
216728
216794
|
}));
|
|
216729
216795
|
function LayerControllerSubscriber$1(props) {
|
|
216730
|
-
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: title2 = "Spatial Layers", disable3d, globalDisable3d, disableChannelsIfRgbDetected, enableLayerButtonsWithOneLayer } = props;
|
|
216796
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: title2 = "Spatial Layers", disable3d, globalDisable3d, disableChannelsIfRgbDetected, enableLayerButtonsWithOneLayer, helpText = ViewHelpMapping.LAYER_CONTROLLER } = props;
|
|
216731
216797
|
const loaders = useLoaders();
|
|
216732
216798
|
const [{ dataset, obsType, spatialImageLayer: rasterLayers, spatialSegmentationLayer: cellsLayer, spatialPointLayer: moleculesLayer }, { setSpatialImageLayer: setRasterLayers, setSpatialSegmentationLayer: setCellsLayer, setSpatialPointLayer: setMoleculesLayer, setSpatialTargetX: setTargetX, setSpatialTargetY: setTargetY, setSpatialTargetZ: setTargetZ, setSpatialRotationX: setRotationX, setSpatialRotationOrbit: setRotationOrbit, setSpatialZoom: setZoom }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.LAYER_CONTROLLER], coordinationScopes);
|
|
216733
216799
|
const [{ imageLayerCallbacks, areLoadingImageChannels, segmentationLayerCallbacks, areLoadingSegmentationChannels }, { setImageLayerCallbacks, setAreLoadingImageChannels, setSegmentationLayerCallbacks, setAreLoadingSegmentationChannels }] = useAuxiliaryCoordination(COMPONENT_COORDINATION_TYPES.layerController, coordinationScopes);
|
|
@@ -216795,6 +216861,7 @@ function LayerControllerSubscriber$1(props) {
|
|
|
216795
216861
|
setMoleculesLayer,
|
|
216796
216862
|
cellsLayer,
|
|
216797
216863
|
setCellsLayer,
|
|
216864
|
+
helpText,
|
|
216798
216865
|
rasterLayers,
|
|
216799
216866
|
imageLayerLoaders,
|
|
216800
216867
|
imageLayerMeta,
|
|
@@ -218558,7 +218625,7 @@ function Status(props) {
|
|
|
218558
218625
|
return messages2;
|
|
218559
218626
|
}
|
|
218560
218627
|
function StatusSubscriber(props) {
|
|
218561
|
-
const { coordinationScopes, closeButtonVisible, removeGridComponent, theme, title: title2 = "Status" } = props;
|
|
218628
|
+
const { coordinationScopes, closeButtonVisible, removeGridComponent, theme, title: title2 = "Status", helpText = ViewHelpMapping.STATUS } = props;
|
|
218562
218629
|
const [{ obsHighlight: cellHighlight, featureHighlight: geneHighlight, moleculeHighlight }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.STATUS], coordinationScopes);
|
|
218563
218630
|
const warn2 = useWarning();
|
|
218564
218631
|
const infos = [
|
|
@@ -218567,7 +218634,7 @@ function StatusSubscriber(props) {
|
|
|
218567
218634
|
...moleculeHighlight ? [`Hovered gene ${moleculeHighlight}`] : []
|
|
218568
218635
|
];
|
|
218569
218636
|
const info2 = infos.join("; ");
|
|
218570
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, theme, closeButtonVisible, removeGridComponent, isScroll: true, isReady: true, children: jsxRuntimeExports.jsx(Status, { warn: warn2, info: info2 }) });
|
|
218637
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, theme, closeButtonVisible, removeGridComponent, isScroll: true, isReady: true, helpText, children: jsxRuntimeExports.jsx(Status, { warn: warn2, info: info2 }) });
|
|
218571
218638
|
}
|
|
218572
218639
|
window.higlassTracks = window.higlassTracks || {};
|
|
218573
218640
|
window.higlassTracksByType = window.higlassTracksByType || {};
|
|
@@ -220133,7 +220200,7 @@ const useStyles$2 = makeStyles((theme) => ({
|
|
|
220133
220200
|
}));
|
|
220134
220201
|
register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
|
|
220135
220202
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
|
220136
|
-
const { HiGlassComponent } = await import("./higlass-
|
|
220203
|
+
const { HiGlassComponent } = await import("./higlass-32a71267.js");
|
|
220137
220204
|
return { default: HiGlassComponent };
|
|
220138
220205
|
});
|
|
220139
220206
|
const HG_SIZE = 800;
|
|
@@ -220300,7 +220367,7 @@ const REFERENCE_STATIC_FILES = {
|
|
|
220300
220367
|
}
|
|
220301
220368
|
};
|
|
220302
220369
|
function GenomicProfilesSubscriber(props) {
|
|
220303
|
-
const { coordinationScopes, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, profileTrackUidKey = "path", profileTrackNameKey = null, higlassServer = "https://higlass.io/api/v1", assembly = "hg38", title: title2 = "Genomic Profiles", showGeneAnnotations = true } = props;
|
|
220370
|
+
const { coordinationScopes, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, profileTrackUidKey = "path", profileTrackNameKey = null, higlassServer = "https://higlass.io/api/v1", assembly = "hg38", title: title2 = "Genomic Profiles", showGeneAnnotations = true, helpText = ViewHelpMapping.GENOMIC_PROFILES } = props;
|
|
220304
220371
|
const [width2, height2, containerRef] = useGridItemSize();
|
|
220305
220372
|
const loaders = useLoaders();
|
|
220306
220373
|
const [{ dataset, obsSetColor: cellSetColor, obsSetSelection: cellSetSelection }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.GENOMIC_PROFILES], coordinationScopes);
|
|
@@ -220436,7 +220503,7 @@ function GenomicProfilesSubscriber(props) {
|
|
|
220436
220503
|
assembly
|
|
220437
220504
|
]);
|
|
220438
220505
|
const classes = useStyles$2();
|
|
220439
|
-
return jsxRuntimeExports.jsx("div", { className: classes.higlassTitleWrapper, children: jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, isReady, urls: urls2, children: jsxRuntimeExports.jsx("div", { className: classes.higlassLazyWrapper, ref: containerRef, children: hgViewConfig ? jsxRuntimeExports.jsx(HiGlassLazy, { coordinationScopes, theme, hgViewConfig, height: height2 }) : null }) }) });
|
|
220506
|
+
return jsxRuntimeExports.jsx("div", { className: classes.higlassTitleWrapper, children: jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, isReady, urls: urls2, helpText, children: jsxRuntimeExports.jsx("div", { className: classes.higlassLazyWrapper, ref: containerRef, children: hgViewConfig ? jsxRuntimeExports.jsx(HiGlassLazy, { coordinationScopes, theme, hgViewConfig, height: height2 }) : null }) }) });
|
|
220440
220507
|
}
|
|
220441
220508
|
function CellSetExpressionPlotOptions(props) {
|
|
220442
220509
|
const { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions, featureValuePositivityThreshold, setFeatureValuePositivityThreshold, featureValueColormap, setFeatureValueColormap } = props;
|
|
@@ -225566,7 +225633,7 @@ function useExpressionByCellSet(sampleEdges, sampleSets, sampleSetSelection, exp
|
|
|
225566
225633
|
}
|
|
225567
225634
|
function CellSetExpressionPlotSubscriber(props) {
|
|
225568
225635
|
var _a3;
|
|
225569
|
-
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, jitter: jitter2 = false, yMin = null, yUnits = null } = props;
|
|
225636
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, jitter: jitter2 = false, yMin = null, yUnits = null, helpText = ViewHelpMapping.OBS_SET_FEATURE_VALUE_DISTRIBUTION } = props;
|
|
225570
225637
|
const classes = useStyles$1();
|
|
225571
225638
|
const loaders = useLoaders();
|
|
225572
225639
|
const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, featureValueTransform, featureValueTransformCoefficient, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, sampleType, sampleSetSelection, sampleSetColor }, { setFeatureValueTransform, setFeatureValueTransformCoefficient, setSampleSetColor }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.OBS_SET_FEATURE_VALUE_DISTRIBUTION], coordinationScopes);
|
|
@@ -225596,7 +225663,7 @@ function CellSetExpressionPlotSubscriber(props) {
|
|
|
225596
225663
|
const [histogramData, setArr, exprMax] = useExpressionByCellSet(sampleEdges, sampleSets, sampleSetSelection, expressionData, obsIndex, cellSets, additionalCellSets, geneSelection, cellSetSelection, cellSetColor, featureValueTransform, featureValueTransformCoefficient, theme, yMin);
|
|
225597
225664
|
const firstGeneSelected = geneSelection && geneSelection.length >= 1 ? (featureLabelsMap == null ? void 0 : featureLabelsMap.get(geneSelection[0])) || geneSelection[0] : null;
|
|
225598
225665
|
const selectedTransformName = (_a3 = transformOptions.find((o2) => o2.value === featureValueTransform)) == null ? void 0 : _a3.name;
|
|
225599
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: `Expression by ${capitalize$2(obsType)} Set${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(CellSetExpressionPlotOptions, { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: histogramData ? jsxRuntimeExports.jsx(CellSetExpressionPlot, { yMin, yUnits, jitter: jitter2, cellSetSelection, sampleSetSelection, sampleSetColor, colors: setArr, data: histogramData, exprMax, theme, width: width2, height: height2, obsType, featureType, featureValueType, featureValueTransformName: selectedTransformName }) : jsxRuntimeExports.jsxs("span", { children: ["Select a ", featureType, "."] }) }) });
|
|
225666
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: `Expression by ${capitalize$2(obsType)} Set${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, options: jsxRuntimeExports.jsx(CellSetExpressionPlotOptions, { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: histogramData ? jsxRuntimeExports.jsx(CellSetExpressionPlot, { yMin, yUnits, jitter: jitter2, cellSetSelection, sampleSetSelection, sampleSetColor, colors: setArr, data: histogramData, exprMax, theme, width: width2, height: height2, obsType, featureType, featureValueType, featureValueTransformName: selectedTransformName }) : jsxRuntimeExports.jsxs("span", { children: ["Select a ", featureType, "."] }) }) });
|
|
225600
225667
|
}
|
|
225601
225668
|
/*! *****************************************************************************
|
|
225602
225669
|
Copyright (c) Microsoft Corporation.
|
|
@@ -241964,7 +242031,7 @@ inherits(Projection$1, Transform2, {
|
|
|
241964
242031
|
transform(_, pulse2) {
|
|
241965
242032
|
let proj = this.value;
|
|
241966
242033
|
if (!proj || _.modified("type")) {
|
|
241967
|
-
this.value = proj =
|
|
242034
|
+
this.value = proj = create4(_.type);
|
|
241968
242035
|
projectionProperties.forEach((prop) => {
|
|
241969
242036
|
if (_[prop] != null)
|
|
241970
242037
|
set$3(proj, prop, _[prop]);
|
|
@@ -241986,7 +242053,7 @@ function fit(proj, _) {
|
|
|
241986
242053
|
const data2 = collectGeoJSON(_.fit);
|
|
241987
242054
|
_.extent ? proj.fitExtent(_.extent, data2) : _.size ? proj.fitSize(_.size, data2) : 0;
|
|
241988
242055
|
}
|
|
241989
|
-
function
|
|
242056
|
+
function create4(type2) {
|
|
241990
242057
|
const constructor = projection((type2 || "mercator").toLowerCase());
|
|
241991
242058
|
if (!constructor)
|
|
241992
242059
|
error("Unrecognized projection type: " + type2);
|
|
@@ -250793,8 +250860,8 @@ function bind3(view, el2, binding) {
|
|
|
250793
250860
|
bind4.update = debounce(param2.debounce, bind4.update);
|
|
250794
250861
|
}
|
|
250795
250862
|
}
|
|
250796
|
-
const
|
|
250797
|
-
|
|
250863
|
+
const create5 = param2.input == null && param2.element ? target : generate$1;
|
|
250864
|
+
create5(bind4, el2, param2, view);
|
|
250798
250865
|
if (!bind4.active) {
|
|
250799
250866
|
view.on(view._signals[param2.signal], null, () => {
|
|
250800
250867
|
bind4.source ? bind4.source = false : bind4.set(view.signal(param2.signal));
|
|
@@ -277119,7 +277186,7 @@ function CellSetSizesPlot(props) {
|
|
|
277119
277186
|
return jsxRuntimeExports.jsx(VegaPlot, { data: data2, spec, signalListeners, getTooltipText });
|
|
277120
277187
|
}
|
|
277121
277188
|
function CellSetSizesPlotSubscriber(props) {
|
|
277122
|
-
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: titleOverride } = props;
|
|
277189
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: titleOverride, helpText = ViewHelpMapping.OBS_SET_SIZES } = props;
|
|
277123
277190
|
const classes = useStyles$1();
|
|
277124
277191
|
const loaders = useLoaders();
|
|
277125
277192
|
const [{ dataset, obsType, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, obsSetExpansion: cellSetExpansion }, { setObsSetSelection: setCellSetSelection, setObsSetColor: setCellSetColor }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.OBS_SET_SIZES], coordinationScopes);
|
|
@@ -277166,7 +277233,7 @@ function CellSetSizesPlotSubscriber(props) {
|
|
|
277166
277233
|
setCellSetSelection([...cellSetSelection, setNamePath]);
|
|
277167
277234
|
}
|
|
277168
277235
|
};
|
|
277169
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: jsxRuntimeExports.jsx(CellSetSizesPlot, { data: data2, onBarSelect, theme, width: width2, height: height2, obsType }) }) });
|
|
277236
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: jsxRuntimeExports.jsx(CellSetSizesPlot, { data: data2, onBarSelect, theme, width: width2, height: height2, obsType }) }) });
|
|
277170
277237
|
}
|
|
277171
277238
|
function ExpressionHistogram(props) {
|
|
277172
277239
|
const { geneSelection, obsType, featureType, featureValueType, data: data2, theme, width: width2, height: height2, marginRight = 90, marginBottom = 50, onSelect } = props;
|
|
@@ -277225,7 +277292,7 @@ function ExpressionHistogram(props) {
|
|
|
277225
277292
|
return jsxRuntimeExports.jsx(VegaPlot, { data: data2, signalListeners, spec });
|
|
277226
277293
|
}
|
|
277227
277294
|
function ExpressionHistogramSubscriber(props) {
|
|
277228
|
-
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme } = props;
|
|
277295
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_VALUE_HISTOGRAM } = props;
|
|
277229
277296
|
const classes = useStyles$1();
|
|
277230
277297
|
const loaders = useLoaders();
|
|
277231
277298
|
const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, additionalObsSets: additionalCellSets, obsSetColor: cellSetColor }, { setAdditionalObsSets: setAdditionalCellSets, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setObsSetSelection: setCellSetSelection }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.FEATURE_VALUE_HISTOGRAM], coordinationScopes);
|
|
@@ -277273,7 +277340,7 @@ function ExpressionHistogramSubscriber(props) {
|
|
|
277273
277340
|
setCellSetSelection,
|
|
277274
277341
|
firstGeneSelected
|
|
277275
277342
|
]);
|
|
277276
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: `Histogram${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: jsxRuntimeExports.jsx(ExpressionHistogram, { geneSelection, obsType, featureType, featureValueType, onSelect, data: data2, theme, width: width2, height: height2 }) }) });
|
|
277343
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: `Histogram${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: jsxRuntimeExports.jsx(ExpressionHistogram, { geneSelection, obsType, featureType, featureValueType, onSelect, data: data2, theme, width: width2, height: height2 }) }) });
|
|
277277
277344
|
}
|
|
277278
277345
|
function DotPlot(props) {
|
|
277279
277346
|
const { isStratified, transpose: transpose2, data: rawData, theme, width: width2, height: height2, marginRight, marginBottom, obsType, keyLength = 36, featureType, featureValueType, featureValueTransformName, featureValueColormap, cellSetSelection } = props;
|
|
@@ -277425,7 +277492,7 @@ function useExpressionSummaries(sampleEdges, sampleSets, sampleSetSelection, exp
|
|
|
277425
277492
|
}
|
|
277426
277493
|
function DotPlotSubscriber(props) {
|
|
277427
277494
|
var _a3;
|
|
277428
|
-
const { coordinationScopes, removeGridComponent, theme, title: title2 = "Dot Plot", transpose: transpose2 = true } = props;
|
|
277495
|
+
const { coordinationScopes, removeGridComponent, theme, title: title2 = "Dot Plot", transpose: transpose2 = true, helpText = ViewHelpMapping.DOT_PLOT } = props;
|
|
277429
277496
|
const classes = useStyles$1();
|
|
277430
277497
|
const loaders = useLoaders();
|
|
277431
277498
|
const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, featureValueTransform, featureValueTransformCoefficient, featureValuePositivityThreshold: posThreshold, featureValueColormap, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, sampleType, sampleSetSelection }, { setFeatureValueTransform, setFeatureValueTransformCoefficient, setFeatureValuePositivityThreshold: setPosThreshold, setFeatureValueColormap }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.DOT_PLOT], coordinationScopes);
|
|
@@ -277455,7 +277522,7 @@ function DotPlotSubscriber(props) {
|
|
|
277455
277522
|
]);
|
|
277456
277523
|
const [resultArr, meanExpressionMax] = useExpressionSummaries(sampleEdges, sampleSets, sampleSetSelection, expressionData, obsIndex, cellSets, additionalCellSets, geneSelection, cellSetSelection, cellSetColor, featureValueTransform, featureValueTransformCoefficient, posThreshold, featureLabelsMap);
|
|
277457
277524
|
const selectedTransformName = (_a3 = transformOptions.find((o2) => o2.value === featureValueTransform)) == null ? void 0 : _a3.name;
|
|
277458
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(CellSetExpressionPlotOptions, { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions, featureValuePositivityThreshold: posThreshold, setFeatureValuePositivityThreshold: setPosThreshold, featureValueColormap, setFeatureValueColormap }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: resultArr ? jsxRuntimeExports.jsx(DotPlot, { isStratified, transpose: transpose2, domainMax: meanExpressionMax, data: resultArr, theme, width: width2, height: height2, obsType, featureType, featureValueType, featureValueTransformName: selectedTransformName, featureValueColormap, cellSetSelection }) : jsxRuntimeExports.jsxs("span", { children: ["Select at least one ", featureType, "."] }) }) });
|
|
277525
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, urls: urls2, theme, isReady, helpText, options: jsxRuntimeExports.jsx(CellSetExpressionPlotOptions, { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions, featureValuePositivityThreshold: posThreshold, setFeatureValuePositivityThreshold: setPosThreshold, featureValueColormap, setFeatureValueColormap }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: resultArr ? jsxRuntimeExports.jsx(DotPlot, { isStratified, transpose: transpose2, domainMax: meanExpressionMax, data: resultArr, theme, width: width2, height: height2, obsType, featureType, featureValueType, featureValueTransformName: selectedTransformName, featureValueColormap, cellSetSelection }) : jsxRuntimeExports.jsxs("span", { children: ["Select at least one ", featureType, "."] }) }) });
|
|
277459
277526
|
}
|
|
277460
277527
|
const scaleBand = scale$5("band");
|
|
277461
277528
|
const OBS_KEY = "obsId";
|
|
@@ -277567,7 +277634,7 @@ function FeatureBarPlot(props) {
|
|
|
277567
277634
|
} });
|
|
277568
277635
|
}
|
|
277569
277636
|
function FeatureBarPlotSubscriber(props) {
|
|
277570
|
-
const { coordinationScopes, removeGridComponent, theme, yMin = 0, yUnits = null } = props;
|
|
277637
|
+
const { coordinationScopes, removeGridComponent, theme, yMin = 0, yUnits = null, helpText = ViewHelpMapping.FEATURE_BAR_PLOT } = props;
|
|
277571
277638
|
const classes = useStyles$1();
|
|
277572
277639
|
const loaders = useLoaders();
|
|
277573
277640
|
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$1.FEATURE_BAR_PLOT], coordinationScopes);
|
|
@@ -277623,7 +277690,7 @@ function FeatureBarPlotSubscriber(props) {
|
|
|
277623
277690
|
featureValueTransformCoefficient,
|
|
277624
277691
|
firstGeneSelected
|
|
277625
277692
|
]);
|
|
277626
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: `Feature Values${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, removeGridComponent, urls: urls2, theme, isReady, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: expressionArr ? jsxRuntimeExports.jsx(FeatureBarPlot, { yMin, yMax: expressionMax, yUnits, data: expressionArr, theme, width: width2, height: height2, obsType, cellHighlight, cellSetSelection, additionalCellSets, cellSetColor, featureType, featureValueType, featureName: firstGeneSelected, onBarSelect, onBarHighlight }) : jsxRuntimeExports.jsxs("span", { children: ["Select a ", featureType, "."] }) }) });
|
|
277693
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: `Feature Values${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, removeGridComponent, urls: urls2, theme, isReady, helpText, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: expressionArr ? jsxRuntimeExports.jsx(FeatureBarPlot, { yMin, yMax: expressionMax, yUnits, data: expressionArr, theme, width: width2, height: height2, obsType, cellHighlight, cellSetSelection, additionalCellSets, cellSetColor, featureType, featureValueType, featureName: firstGeneSelected, onBarSelect, onBarHighlight }) : jsxRuntimeExports.jsxs("span", { children: ["Select a ", featureType, "."] }) }) });
|
|
277627
277694
|
}
|
|
277628
277695
|
class CsvSource {
|
|
277629
277696
|
constructor({ url, requestInit: requestInit2 }) {
|
|
@@ -280509,7 +280576,6 @@ class SpatialDataObsSetsLoader extends ObsSetsAnndataLoader {
|
|
|
280509
280576
|
constructor(dataSource, params2) {
|
|
280510
280577
|
super(dataSource, params2);
|
|
280511
280578
|
this.region = this.options.region;
|
|
280512
|
-
this.options = this.options.obsSets;
|
|
280513
280579
|
}
|
|
280514
280580
|
}
|
|
280515
280581
|
class GenomicProfilesZarrLoader extends AbstractTwoStepLoader {
|
|
@@ -314656,6 +314722,7 @@ const baseCoordinationTypes = [
|
|
|
314656
314722
|
new PluginCoordinationType(CoordinationType$1.FEATURE_TYPE, "gene", z.string()),
|
|
314657
314723
|
new PluginCoordinationType(CoordinationType$1.FEATURE_VALUE_TYPE, "expression", z.string()),
|
|
314658
314724
|
new PluginCoordinationType(CoordinationType$1.OBS_LABELS_TYPE, null, z.string().nullable()),
|
|
314725
|
+
new PluginCoordinationType(CoordinationType$1.FEATURE_LABELS_TYPE, null, z.string().nullable()),
|
|
314659
314726
|
new PluginCoordinationType(CoordinationType$1.EMBEDDING_ZOOM, null, z.number().nullable()),
|
|
314660
314727
|
new PluginCoordinationType(CoordinationType$1.EMBEDDING_ROTATION, 0, z.number().nullable()),
|
|
314661
314728
|
new PluginCoordinationType(CoordinationType$1.EMBEDDING_TARGET_X, null, z.number().nullable()),
|