@vitessce/launcher 3.8.8 → 3.8.10
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/{OrbitControls-DrhzpykH.js → OrbitControls-FOMsgaYH.js} +1 -1
- package/dist/{ReactNeuroglancer-DH0qN16-.js → ReactNeuroglancer-BsrULsNY.js} +1 -1
- package/dist/{deflate-B0SUWLyi.js → deflate-BXitYXfE.js} +1 -1
- package/dist/{higlass-dxy_beXN.js → higlass-HrDVcILg.js} +1 -1
- package/dist/{index-GeGt-U9p.js → index-DE9wvnUC.js} +2 -2
- package/dist/{index-DvmAgsRf.js → index-Dea9LBw1.js} +3 -3
- package/dist/{index-BZKplvlC.js → index-qC28h9C4.js} +640 -696
- package/dist/index.js +1 -1
- package/dist/{jpeg-Kuxx-efU.js → jpeg-jUgXKflB.js} +1 -1
- package/dist/{lerc-BpkIvz2d.js → lerc-Dj-OE8Tk.js} +1 -1
- package/dist/{lzw-Crrj35q2.js → lzw-BWKtxIFs.js} +1 -1
- package/dist/{packbits-B1nQzu1Y.js → packbits-DtqTcTmz.js} +1 -1
- package/dist/{raw-DA5BKg3-.js → raw-xhYWeGgm.js} +1 -1
- package/dist/{troika-three-text.esm-BPl_86od.js → troika-three-text.esm-vtw6ksFg.js} +1 -1
- package/dist/{webimage-Dq0suZA4.js → webimage-D6-tAV4h.js} +1 -1
- package/dist-tsc/ControlledLauncher.d.ts.map +1 -1
- package/dist-tsc/ControlledLauncher.js +3 -1
- package/package.json +9 -9
- package/src/ControlledLauncher.js +3 -1
|
@@ -6201,28 +6201,7 @@ var symbolTag$7 = "[object Symbol]";
|
|
|
6201
6201
|
function isSymbol$5(value2) {
|
|
6202
6202
|
return typeof value2 == "symbol" || isObjectLike$c(value2) && baseGetTag$8(value2) == symbolTag$7;
|
|
6203
6203
|
}
|
|
6204
|
-
function arrayMap$3(array2, iteratee) {
|
|
6205
|
-
var index2 = -1, length2 = array2 == null ? 0 : array2.length, result = Array(length2);
|
|
6206
|
-
while (++index2 < length2) {
|
|
6207
|
-
result[index2] = iteratee(array2[index2], index2, array2);
|
|
6208
|
-
}
|
|
6209
|
-
return result;
|
|
6210
|
-
}
|
|
6211
6204
|
var isArray$f = Array.isArray;
|
|
6212
|
-
var symbolProto$5 = Symbol$7 ? Symbol$7.prototype : void 0, symbolToString$1 = symbolProto$5 ? symbolProto$5.toString : void 0;
|
|
6213
|
-
function baseToString$3(value2) {
|
|
6214
|
-
if (typeof value2 == "string") {
|
|
6215
|
-
return value2;
|
|
6216
|
-
}
|
|
6217
|
-
if (isArray$f(value2)) {
|
|
6218
|
-
return arrayMap$3(value2, baseToString$3) + "";
|
|
6219
|
-
}
|
|
6220
|
-
if (isSymbol$5(value2)) {
|
|
6221
|
-
return symbolToString$1 ? symbolToString$1.call(value2) : "";
|
|
6222
|
-
}
|
|
6223
|
-
var result = value2 + "";
|
|
6224
|
-
return result == "0" && 1 / value2 == -Infinity ? "-0" : result;
|
|
6225
|
-
}
|
|
6226
6205
|
var reWhitespace$1 = /\s/;
|
|
6227
6206
|
function trimmedEndIndex$2(string2) {
|
|
6228
6207
|
var index2 = string2.length;
|
|
@@ -6605,17 +6584,6 @@ function baseKeys$2(object2) {
|
|
|
6605
6584
|
function keys$9(object2) {
|
|
6606
6585
|
return isArrayLike$7(object2) ? arrayLikeKeys$3(object2) : baseKeys$2(object2);
|
|
6607
6586
|
}
|
|
6608
|
-
var reIsDeepProp$1 = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp$1 = /^\w*$/;
|
|
6609
|
-
function isKey$4(value2, object2) {
|
|
6610
|
-
if (isArray$f(value2)) {
|
|
6611
|
-
return false;
|
|
6612
|
-
}
|
|
6613
|
-
var type2 = typeof value2;
|
|
6614
|
-
if (type2 == "number" || type2 == "symbol" || type2 == "boolean" || value2 == null || isSymbol$5(value2)) {
|
|
6615
|
-
return true;
|
|
6616
|
-
}
|
|
6617
|
-
return reIsPlainProp$1.test(value2) || !reIsDeepProp$1.test(value2) || object2 != null && value2 in Object(object2);
|
|
6618
|
-
}
|
|
6619
6587
|
var nativeCreate$5 = getNative$8(Object, "create");
|
|
6620
6588
|
function hashClear$2() {
|
|
6621
6589
|
this.__data__ = nativeCreate$5 ? nativeCreate$5(null) : {};
|
|
@@ -6769,75 +6737,6 @@ MapCache$4.prototype["delete"] = mapCacheDelete$2;
|
|
|
6769
6737
|
MapCache$4.prototype.get = mapCacheGet$2;
|
|
6770
6738
|
MapCache$4.prototype.has = mapCacheHas$2;
|
|
6771
6739
|
MapCache$4.prototype.set = mapCacheSet$2;
|
|
6772
|
-
var FUNC_ERROR_TEXT$3 = "Expected a function";
|
|
6773
|
-
function memoize$7(func, resolver2) {
|
|
6774
|
-
if (typeof func != "function" || resolver2 != null && typeof resolver2 != "function") {
|
|
6775
|
-
throw new TypeError(FUNC_ERROR_TEXT$3);
|
|
6776
|
-
}
|
|
6777
|
-
var memoized = function() {
|
|
6778
|
-
var args = arguments, key2 = resolver2 ? resolver2.apply(this, args) : args[0], cache2 = memoized.cache;
|
|
6779
|
-
if (cache2.has(key2)) {
|
|
6780
|
-
return cache2.get(key2);
|
|
6781
|
-
}
|
|
6782
|
-
var result = func.apply(this, args);
|
|
6783
|
-
memoized.cache = cache2.set(key2, result) || cache2;
|
|
6784
|
-
return result;
|
|
6785
|
-
};
|
|
6786
|
-
memoized.cache = new (memoize$7.Cache || MapCache$4)();
|
|
6787
|
-
return memoized;
|
|
6788
|
-
}
|
|
6789
|
-
memoize$7.Cache = MapCache$4;
|
|
6790
|
-
var MAX_MEMOIZE_SIZE$1 = 500;
|
|
6791
|
-
function memoizeCapped$2(func) {
|
|
6792
|
-
var result = memoize$7(func, function(key2) {
|
|
6793
|
-
if (cache2.size === MAX_MEMOIZE_SIZE$1) {
|
|
6794
|
-
cache2.clear();
|
|
6795
|
-
}
|
|
6796
|
-
return key2;
|
|
6797
|
-
});
|
|
6798
|
-
var cache2 = result.cache;
|
|
6799
|
-
return result;
|
|
6800
|
-
}
|
|
6801
|
-
var rePropName$1 = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
|
|
6802
|
-
var reEscapeChar$1 = /\\(\\)?/g;
|
|
6803
|
-
var stringToPath$2 = memoizeCapped$2(function(string2) {
|
|
6804
|
-
var result = [];
|
|
6805
|
-
if (string2.charCodeAt(0) === 46) {
|
|
6806
|
-
result.push("");
|
|
6807
|
-
}
|
|
6808
|
-
string2.replace(rePropName$1, function(match2, number2, quote, subString) {
|
|
6809
|
-
result.push(quote ? subString.replace(reEscapeChar$1, "$1") : number2 || match2);
|
|
6810
|
-
});
|
|
6811
|
-
return result;
|
|
6812
|
-
});
|
|
6813
|
-
function toString$6(value2) {
|
|
6814
|
-
return value2 == null ? "" : baseToString$3(value2);
|
|
6815
|
-
}
|
|
6816
|
-
function castPath$3(value2, object2) {
|
|
6817
|
-
if (isArray$f(value2)) {
|
|
6818
|
-
return value2;
|
|
6819
|
-
}
|
|
6820
|
-
return isKey$4(value2, object2) ? [value2] : stringToPath$2(toString$6(value2));
|
|
6821
|
-
}
|
|
6822
|
-
function toKey$5(value2) {
|
|
6823
|
-
if (typeof value2 == "string" || isSymbol$5(value2)) {
|
|
6824
|
-
return value2;
|
|
6825
|
-
}
|
|
6826
|
-
var result = value2 + "";
|
|
6827
|
-
return result == "0" && 1 / value2 == -Infinity ? "-0" : result;
|
|
6828
|
-
}
|
|
6829
|
-
function baseGet$3(object2, path2) {
|
|
6830
|
-
path2 = castPath$3(path2, object2);
|
|
6831
|
-
var index2 = 0, length2 = path2.length;
|
|
6832
|
-
while (object2 != null && index2 < length2) {
|
|
6833
|
-
object2 = object2[toKey$5(path2[index2++])];
|
|
6834
|
-
}
|
|
6835
|
-
return index2 && index2 == length2 ? object2 : void 0;
|
|
6836
|
-
}
|
|
6837
|
-
function get$g(object2, path2, defaultValue2) {
|
|
6838
|
-
var result = object2 == null ? void 0 : baseGet$3(object2, path2);
|
|
6839
|
-
return result === void 0 ? defaultValue2 : result;
|
|
6840
|
-
}
|
|
6841
6740
|
function arrayPush$3(array2, values3) {
|
|
6842
6741
|
var index2 = -1, length2 = values3.length, offset2 = array2.length;
|
|
6843
6742
|
while (++index2 < length2) {
|
|
@@ -7172,9 +7071,9 @@ function arraySome$2(array2, predicate) {
|
|
|
7172
7071
|
function cacheHas$2(cache2, key2) {
|
|
7173
7072
|
return cache2.has(key2);
|
|
7174
7073
|
}
|
|
7175
|
-
var COMPARE_PARTIAL_FLAG$
|
|
7074
|
+
var COMPARE_PARTIAL_FLAG$9 = 1, COMPARE_UNORDERED_FLAG$5 = 2;
|
|
7176
7075
|
function equalArrays$3(array2, other, bitmask, customizer, equalFunc, stack2) {
|
|
7177
|
-
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$
|
|
7076
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$9, arrLength = array2.length, othLength = other.length;
|
|
7178
7077
|
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
|
|
7179
7078
|
return false;
|
|
7180
7079
|
}
|
|
@@ -7183,7 +7082,7 @@ function equalArrays$3(array2, other, bitmask, customizer, equalFunc, stack2) {
|
|
|
7183
7082
|
if (arrStacked && othStacked) {
|
|
7184
7083
|
return arrStacked == other && othStacked == array2;
|
|
7185
7084
|
}
|
|
7186
|
-
var index2 = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$
|
|
7085
|
+
var index2 = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$5 ? new SetCache$2() : void 0;
|
|
7187
7086
|
stack2.set(array2, other);
|
|
7188
7087
|
stack2.set(other, array2);
|
|
7189
7088
|
while (++index2 < arrLength) {
|
|
@@ -7230,7 +7129,7 @@ function setToArray$2(set2) {
|
|
|
7230
7129
|
});
|
|
7231
7130
|
return result;
|
|
7232
7131
|
}
|
|
7233
|
-
var COMPARE_PARTIAL_FLAG$
|
|
7132
|
+
var COMPARE_PARTIAL_FLAG$8 = 1, COMPARE_UNORDERED_FLAG$4 = 2;
|
|
7234
7133
|
var boolTag$4 = "[object Boolean]", dateTag$4 = "[object Date]", errorTag$3 = "[object Error]", mapTag$6 = "[object Map]", numberTag$4 = "[object Number]", regexpTag$4 = "[object RegExp]", setTag$6 = "[object Set]", stringTag$5 = "[object String]", symbolTag$4 = "[object Symbol]";
|
|
7235
7134
|
var arrayBufferTag$4 = "[object ArrayBuffer]", dataViewTag$5 = "[object DataView]";
|
|
7236
7135
|
var symbolProto$3 = Symbol$7 ? Symbol$7.prototype : void 0, symbolValueOf$2 = symbolProto$3 ? symbolProto$3.valueOf : void 0;
|
|
@@ -7259,7 +7158,7 @@ function equalByTag$2(object2, other, tag2, bitmask, customizer, equalFunc, stac
|
|
|
7259
7158
|
case mapTag$6:
|
|
7260
7159
|
var convert2 = mapToArray$2;
|
|
7261
7160
|
case setTag$6:
|
|
7262
|
-
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$
|
|
7161
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$8;
|
|
7263
7162
|
convert2 || (convert2 = setToArray$2);
|
|
7264
7163
|
if (object2.size != other.size && !isPartial) {
|
|
7265
7164
|
return false;
|
|
@@ -7268,7 +7167,7 @@ function equalByTag$2(object2, other, tag2, bitmask, customizer, equalFunc, stac
|
|
|
7268
7167
|
if (stacked) {
|
|
7269
7168
|
return stacked == other;
|
|
7270
7169
|
}
|
|
7271
|
-
bitmask |= COMPARE_UNORDERED_FLAG$
|
|
7170
|
+
bitmask |= COMPARE_UNORDERED_FLAG$4;
|
|
7272
7171
|
stack2.set(object2, other);
|
|
7273
7172
|
var result = equalArrays$3(convert2(object2), convert2(other), bitmask, customizer, equalFunc, stack2);
|
|
7274
7173
|
stack2["delete"](object2);
|
|
@@ -7280,11 +7179,11 @@ function equalByTag$2(object2, other, tag2, bitmask, customizer, equalFunc, stac
|
|
|
7280
7179
|
}
|
|
7281
7180
|
return false;
|
|
7282
7181
|
}
|
|
7283
|
-
var COMPARE_PARTIAL_FLAG$
|
|
7182
|
+
var COMPARE_PARTIAL_FLAG$7 = 1;
|
|
7284
7183
|
var objectProto$h = Object.prototype;
|
|
7285
7184
|
var hasOwnProperty$g = objectProto$h.hasOwnProperty;
|
|
7286
7185
|
function equalObjects$2(object2, other, bitmask, customizer, equalFunc, stack2) {
|
|
7287
|
-
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$
|
|
7186
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$7, objProps = getAllKeys$4(object2), objLength = objProps.length, othProps = getAllKeys$4(other), othLength = othProps.length;
|
|
7288
7187
|
if (objLength != othLength && !isPartial) {
|
|
7289
7188
|
return false;
|
|
7290
7189
|
}
|
|
@@ -7326,7 +7225,7 @@ function equalObjects$2(object2, other, bitmask, customizer, equalFunc, stack2)
|
|
|
7326
7225
|
stack2["delete"](other);
|
|
7327
7226
|
return result;
|
|
7328
7227
|
}
|
|
7329
|
-
var COMPARE_PARTIAL_FLAG$
|
|
7228
|
+
var COMPARE_PARTIAL_FLAG$6 = 1;
|
|
7330
7229
|
var argsTag$4 = "[object Arguments]", arrayTag$3 = "[object Array]", objectTag$5 = "[object Object]";
|
|
7331
7230
|
var objectProto$g = Object.prototype;
|
|
7332
7231
|
var hasOwnProperty$f = objectProto$g.hasOwnProperty;
|
|
@@ -7346,7 +7245,7 @@ function baseIsEqualDeep$2(object2, other, bitmask, customizer, equalFunc, stack
|
|
|
7346
7245
|
stack2 || (stack2 = new Stack$6());
|
|
7347
7246
|
return objIsArr || isTypedArray$5(object2) ? equalArrays$3(object2, other, bitmask, customizer, equalFunc, stack2) : equalByTag$2(object2, other, objTag, bitmask, customizer, equalFunc, stack2);
|
|
7348
7247
|
}
|
|
7349
|
-
if (!(bitmask & COMPARE_PARTIAL_FLAG$
|
|
7248
|
+
if (!(bitmask & COMPARE_PARTIAL_FLAG$6)) {
|
|
7350
7249
|
var objIsWrapped = objIsObj && hasOwnProperty$f.call(object2, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty$f.call(other, "__wrapped__");
|
|
7351
7250
|
if (objIsWrapped || othIsWrapped) {
|
|
7352
7251
|
var objUnwrapped = objIsWrapped ? object2.value() : object2, othUnwrapped = othIsWrapped ? other.value() : other;
|
|
@@ -7369,155 +7268,6 @@ function baseIsEqual$3(value2, other, bitmask, customizer, stack2) {
|
|
|
7369
7268
|
}
|
|
7370
7269
|
return baseIsEqualDeep$2(value2, other, bitmask, customizer, baseIsEqual$3, stack2);
|
|
7371
7270
|
}
|
|
7372
|
-
var COMPARE_PARTIAL_FLAG$7 = 1, COMPARE_UNORDERED_FLAG$5 = 2;
|
|
7373
|
-
function baseIsMatch$2(object2, source2, matchData, customizer) {
|
|
7374
|
-
var index2 = matchData.length, length2 = index2;
|
|
7375
|
-
if (object2 == null) {
|
|
7376
|
-
return !length2;
|
|
7377
|
-
}
|
|
7378
|
-
object2 = Object(object2);
|
|
7379
|
-
while (index2--) {
|
|
7380
|
-
var data2 = matchData[index2];
|
|
7381
|
-
if (data2[2] ? data2[1] !== object2[data2[0]] : !(data2[0] in object2)) {
|
|
7382
|
-
return false;
|
|
7383
|
-
}
|
|
7384
|
-
}
|
|
7385
|
-
while (++index2 < length2) {
|
|
7386
|
-
data2 = matchData[index2];
|
|
7387
|
-
var key2 = data2[0], objValue = object2[key2], srcValue = data2[1];
|
|
7388
|
-
if (data2[2]) {
|
|
7389
|
-
if (objValue === void 0 && !(key2 in object2)) {
|
|
7390
|
-
return false;
|
|
7391
|
-
}
|
|
7392
|
-
} else {
|
|
7393
|
-
var stack2 = new Stack$6();
|
|
7394
|
-
var result;
|
|
7395
|
-
if (!(result === void 0 ? baseIsEqual$3(srcValue, objValue, COMPARE_PARTIAL_FLAG$7 | COMPARE_UNORDERED_FLAG$5, customizer, stack2) : result)) {
|
|
7396
|
-
return false;
|
|
7397
|
-
}
|
|
7398
|
-
}
|
|
7399
|
-
}
|
|
7400
|
-
return true;
|
|
7401
|
-
}
|
|
7402
|
-
function isStrictComparable$3(value2) {
|
|
7403
|
-
return value2 === value2 && !isObject$f(value2);
|
|
7404
|
-
}
|
|
7405
|
-
function getMatchData$2(object2) {
|
|
7406
|
-
var result = keys$9(object2), length2 = result.length;
|
|
7407
|
-
while (length2--) {
|
|
7408
|
-
var key2 = result[length2], value2 = object2[key2];
|
|
7409
|
-
result[length2] = [key2, value2, isStrictComparable$3(value2)];
|
|
7410
|
-
}
|
|
7411
|
-
return result;
|
|
7412
|
-
}
|
|
7413
|
-
function matchesStrictComparable$3(key2, srcValue) {
|
|
7414
|
-
return function(object2) {
|
|
7415
|
-
if (object2 == null) {
|
|
7416
|
-
return false;
|
|
7417
|
-
}
|
|
7418
|
-
return object2[key2] === srcValue && (srcValue !== void 0 || key2 in Object(object2));
|
|
7419
|
-
};
|
|
7420
|
-
}
|
|
7421
|
-
function baseMatches$2(source2) {
|
|
7422
|
-
var matchData = getMatchData$2(source2);
|
|
7423
|
-
if (matchData.length == 1 && matchData[0][2]) {
|
|
7424
|
-
return matchesStrictComparable$3(matchData[0][0], matchData[0][1]);
|
|
7425
|
-
}
|
|
7426
|
-
return function(object2) {
|
|
7427
|
-
return object2 === source2 || baseIsMatch$2(object2, source2, matchData);
|
|
7428
|
-
};
|
|
7429
|
-
}
|
|
7430
|
-
function baseHasIn$2(object2, key2) {
|
|
7431
|
-
return object2 != null && key2 in Object(object2);
|
|
7432
|
-
}
|
|
7433
|
-
function hasPath$2(object2, path2, hasFunc) {
|
|
7434
|
-
path2 = castPath$3(path2, object2);
|
|
7435
|
-
var index2 = -1, length2 = path2.length, result = false;
|
|
7436
|
-
while (++index2 < length2) {
|
|
7437
|
-
var key2 = toKey$5(path2[index2]);
|
|
7438
|
-
if (!(result = object2 != null && hasFunc(object2, key2))) {
|
|
7439
|
-
break;
|
|
7440
|
-
}
|
|
7441
|
-
object2 = object2[key2];
|
|
7442
|
-
}
|
|
7443
|
-
if (result || ++index2 != length2) {
|
|
7444
|
-
return result;
|
|
7445
|
-
}
|
|
7446
|
-
length2 = object2 == null ? 0 : object2.length;
|
|
7447
|
-
return !!length2 && isLength$4(length2) && isIndex$5(key2, length2) && (isArray$f(object2) || isArguments$4(object2));
|
|
7448
|
-
}
|
|
7449
|
-
function hasIn$2(object2, path2) {
|
|
7450
|
-
return object2 != null && hasPath$2(object2, path2, baseHasIn$2);
|
|
7451
|
-
}
|
|
7452
|
-
var COMPARE_PARTIAL_FLAG$6 = 1, COMPARE_UNORDERED_FLAG$4 = 2;
|
|
7453
|
-
function baseMatchesProperty$2(path2, srcValue) {
|
|
7454
|
-
if (isKey$4(path2) && isStrictComparable$3(srcValue)) {
|
|
7455
|
-
return matchesStrictComparable$3(toKey$5(path2), srcValue);
|
|
7456
|
-
}
|
|
7457
|
-
return function(object2) {
|
|
7458
|
-
var objValue = get$g(object2, path2);
|
|
7459
|
-
return objValue === void 0 && objValue === srcValue ? hasIn$2(object2, path2) : baseIsEqual$3(srcValue, objValue, COMPARE_PARTIAL_FLAG$6 | COMPARE_UNORDERED_FLAG$4);
|
|
7460
|
-
};
|
|
7461
|
-
}
|
|
7462
|
-
function baseProperty$2(key2) {
|
|
7463
|
-
return function(object2) {
|
|
7464
|
-
return object2 == null ? void 0 : object2[key2];
|
|
7465
|
-
};
|
|
7466
|
-
}
|
|
7467
|
-
function basePropertyDeep$2(path2) {
|
|
7468
|
-
return function(object2) {
|
|
7469
|
-
return baseGet$3(object2, path2);
|
|
7470
|
-
};
|
|
7471
|
-
}
|
|
7472
|
-
function property$3(path2) {
|
|
7473
|
-
return isKey$4(path2) ? baseProperty$2(toKey$5(path2)) : basePropertyDeep$2(path2);
|
|
7474
|
-
}
|
|
7475
|
-
function baseIteratee$2(value2) {
|
|
7476
|
-
if (typeof value2 == "function") {
|
|
7477
|
-
return value2;
|
|
7478
|
-
}
|
|
7479
|
-
if (value2 == null) {
|
|
7480
|
-
return identity$h;
|
|
7481
|
-
}
|
|
7482
|
-
if (typeof value2 == "object") {
|
|
7483
|
-
return isArray$f(value2) ? baseMatchesProperty$2(value2[0], value2[1]) : baseMatches$2(value2);
|
|
7484
|
-
}
|
|
7485
|
-
return property$3(value2);
|
|
7486
|
-
}
|
|
7487
|
-
function createBaseFor$2(fromRight) {
|
|
7488
|
-
return function(object2, iteratee, keysFunc) {
|
|
7489
|
-
var index2 = -1, iterable = Object(object2), props = keysFunc(object2), length2 = props.length;
|
|
7490
|
-
while (length2--) {
|
|
7491
|
-
var key2 = props[++index2];
|
|
7492
|
-
if (iteratee(iterable[key2], key2, iterable) === false) {
|
|
7493
|
-
break;
|
|
7494
|
-
}
|
|
7495
|
-
}
|
|
7496
|
-
return object2;
|
|
7497
|
-
};
|
|
7498
|
-
}
|
|
7499
|
-
var baseFor$3 = createBaseFor$2();
|
|
7500
|
-
function baseForOwn$3(object2, iteratee) {
|
|
7501
|
-
return object2 && baseFor$3(object2, iteratee, keys$9);
|
|
7502
|
-
}
|
|
7503
|
-
function createBaseEach$2(eachFunc, fromRight) {
|
|
7504
|
-
return function(collection, iteratee) {
|
|
7505
|
-
if (collection == null) {
|
|
7506
|
-
return collection;
|
|
7507
|
-
}
|
|
7508
|
-
if (!isArrayLike$7(collection)) {
|
|
7509
|
-
return eachFunc(collection, iteratee);
|
|
7510
|
-
}
|
|
7511
|
-
var length2 = collection.length, index2 = -1, iterable = Object(collection);
|
|
7512
|
-
while (++index2 < length2) {
|
|
7513
|
-
if (iteratee(iterable[index2], index2, iterable) === false) {
|
|
7514
|
-
break;
|
|
7515
|
-
}
|
|
7516
|
-
}
|
|
7517
|
-
return collection;
|
|
7518
|
-
};
|
|
7519
|
-
}
|
|
7520
|
-
var baseEach$3 = createBaseEach$2(baseForOwn$3);
|
|
7521
7271
|
var now$5 = function() {
|
|
7522
7272
|
return root$d.Date.now();
|
|
7523
7273
|
};
|
|
@@ -7639,27 +7389,6 @@ function baseDifference(array2, values3, iteratee, comparator2) {
|
|
|
7639
7389
|
var difference$1 = baseRest$2(function(array2, values3) {
|
|
7640
7390
|
return isArrayLikeObject$2(array2) ? baseDifference(array2, baseFlatten(values3, 1, isArrayLikeObject$2)) : [];
|
|
7641
7391
|
});
|
|
7642
|
-
function arrayEvery(array2, predicate) {
|
|
7643
|
-
var index2 = -1, length2 = array2 == null ? 0 : array2.length;
|
|
7644
|
-
while (++index2 < length2) {
|
|
7645
|
-
if (!predicate(array2[index2], index2, array2)) {
|
|
7646
|
-
return false;
|
|
7647
|
-
}
|
|
7648
|
-
}
|
|
7649
|
-
return true;
|
|
7650
|
-
}
|
|
7651
|
-
function baseEvery(collection, predicate) {
|
|
7652
|
-
var result = true;
|
|
7653
|
-
baseEach$3(collection, function(value2, index2, collection2) {
|
|
7654
|
-
result = !!predicate(value2, index2, collection2);
|
|
7655
|
-
return result;
|
|
7656
|
-
});
|
|
7657
|
-
return result;
|
|
7658
|
-
}
|
|
7659
|
-
function every$1(collection, predicate, guard) {
|
|
7660
|
-
var func = isArray$f(collection) ? arrayEvery : baseEvery;
|
|
7661
|
-
return func(collection, baseIteratee$2(predicate));
|
|
7662
|
-
}
|
|
7663
7392
|
function isEqual$3(value2, other) {
|
|
7664
7393
|
return baseIsEqual$3(value2, other);
|
|
7665
7394
|
}
|
|
@@ -7701,7 +7430,7 @@ function createRange(fromRight) {
|
|
|
7701
7430
|
return baseRange(start2, end2, step);
|
|
7702
7431
|
};
|
|
7703
7432
|
}
|
|
7704
|
-
var range$
|
|
7433
|
+
var range$e = createRange();
|
|
7705
7434
|
function sum$7(array2) {
|
|
7706
7435
|
return array2 && array2.length ? baseSum(array2, identity$h) : 0;
|
|
7707
7436
|
}
|
|
@@ -8333,6 +8062,59 @@ class Pool {
|
|
|
8333
8062
|
}
|
|
8334
8063
|
}
|
|
8335
8064
|
}
|
|
8065
|
+
function aggregateFeatureArrays(arrays, strategy) {
|
|
8066
|
+
if (!arrays || arrays.length === 0)
|
|
8067
|
+
return null;
|
|
8068
|
+
let targetArray;
|
|
8069
|
+
if (strategy === "first" || typeof strategy === "number" && strategy === 0) {
|
|
8070
|
+
targetArray = arrays[0];
|
|
8071
|
+
} else if (strategy === "last") {
|
|
8072
|
+
targetArray = arrays[arrays.length - 1];
|
|
8073
|
+
} else if (typeof strategy === "number") {
|
|
8074
|
+
if (strategy >= 0 && strategy < arrays.length) {
|
|
8075
|
+
targetArray = arrays[strategy];
|
|
8076
|
+
} else {
|
|
8077
|
+
throw new Error(`Array index out of bounds: ${strategy}`);
|
|
8078
|
+
}
|
|
8079
|
+
}
|
|
8080
|
+
if (targetArray) {
|
|
8081
|
+
return targetArray;
|
|
8082
|
+
}
|
|
8083
|
+
const numArrays = arrays.length;
|
|
8084
|
+
const firstArrayLength = arrays[0].length;
|
|
8085
|
+
if (arrays.some((arr) => arr.length !== firstArrayLength)) {
|
|
8086
|
+
throw new Error("All arrays must have the same length for aggregation.");
|
|
8087
|
+
}
|
|
8088
|
+
if (strategy === "sum" || strategy === "mean") {
|
|
8089
|
+
const resultArray = new Float64Array(firstArrayLength);
|
|
8090
|
+
for (let i2 = 0; i2 < numArrays; i2++) {
|
|
8091
|
+
const arr = arrays[i2];
|
|
8092
|
+
for (let j = 0; j < firstArrayLength; j++) {
|
|
8093
|
+
resultArray[j] += arr[j];
|
|
8094
|
+
}
|
|
8095
|
+
}
|
|
8096
|
+
if (strategy === "mean") {
|
|
8097
|
+
for (let i2 = 0; i2 < firstArrayLength; i2++) {
|
|
8098
|
+
resultArray[i2] /= numArrays;
|
|
8099
|
+
}
|
|
8100
|
+
}
|
|
8101
|
+
return resultArray;
|
|
8102
|
+
}
|
|
8103
|
+
if (strategy === "difference") {
|
|
8104
|
+
if (numArrays !== 2) {
|
|
8105
|
+
console.warn("Difference strategy requires exactly 2 arrays.");
|
|
8106
|
+
return arrays[0];
|
|
8107
|
+
}
|
|
8108
|
+
const arr0 = arrays[0];
|
|
8109
|
+
const arr1 = arrays[1];
|
|
8110
|
+
const resultArray = new Float64Array(firstArrayLength);
|
|
8111
|
+
for (let i2 = 0; i2 < firstArrayLength; i2++) {
|
|
8112
|
+
resultArray[i2] = arr0[i2] - arr1[i2];
|
|
8113
|
+
}
|
|
8114
|
+
return resultArray;
|
|
8115
|
+
}
|
|
8116
|
+
throw new Error(`Unknown aggregation strategy: ${strategy}`);
|
|
8117
|
+
}
|
|
8336
8118
|
configSchema1_0_0.shape.coordinationSpace.unwrap();
|
|
8337
8119
|
configSchema1_0_0.shape.layout.element.shape.coordinationScopes.unwrap();
|
|
8338
8120
|
function upgradeReplaceViewProp(prefix2, view, coordinationSpace) {
|
|
@@ -9740,10 +9522,10 @@ function requireLrucache() {
|
|
|
9740
9522
|
lrucache = LRUCache3;
|
|
9741
9523
|
return lrucache;
|
|
9742
9524
|
}
|
|
9743
|
-
var range$
|
|
9525
|
+
var range$d;
|
|
9744
9526
|
var hasRequiredRange$1;
|
|
9745
9527
|
function requireRange$1() {
|
|
9746
|
-
if (hasRequiredRange$1) return range$
|
|
9528
|
+
if (hasRequiredRange$1) return range$d;
|
|
9747
9529
|
hasRequiredRange$1 = 1;
|
|
9748
9530
|
const SPACE_CHARACTERS = /\s+/g;
|
|
9749
9531
|
class Range2 {
|
|
@@ -9884,7 +9666,7 @@ function requireRange$1() {
|
|
|
9884
9666
|
return false;
|
|
9885
9667
|
}
|
|
9886
9668
|
}
|
|
9887
|
-
range$
|
|
9669
|
+
range$d = Range2;
|
|
9888
9670
|
const LRU = requireLrucache();
|
|
9889
9671
|
const cache2 = new LRU();
|
|
9890
9672
|
const parseOptions2 = requireParseOptions();
|
|
@@ -10114,7 +9896,7 @@ function requireRange$1() {
|
|
|
10114
9896
|
}
|
|
10115
9897
|
return true;
|
|
10116
9898
|
};
|
|
10117
|
-
return range$
|
|
9899
|
+
return range$d;
|
|
10118
9900
|
}
|
|
10119
9901
|
var comparator$2;
|
|
10120
9902
|
var hasRequiredComparator$1;
|
|
@@ -48617,7 +48399,7 @@ function escapeRegExp(value2) {
|
|
|
48617
48399
|
return value2.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
|
48618
48400
|
}
|
|
48619
48401
|
const clamp$6 = (value2, min2, max2) => Math.max(min2, Math.min(max2, value2));
|
|
48620
|
-
function range$
|
|
48402
|
+
function range$c(from2, to) {
|
|
48621
48403
|
return Array.from({
|
|
48622
48404
|
length: to - from2
|
|
48623
48405
|
}).map((_, i2) => from2 + i2);
|
|
@@ -53015,7 +52797,7 @@ const useGridVirtualScroller = () => {
|
|
|
53015
52797
|
const rowModels = params2.rows ?? currentPage.rows;
|
|
53016
52798
|
const firstRowToRender = baseRenderContext.firstRowIndex;
|
|
53017
52799
|
const lastRowToRender = Math.min(baseRenderContext.lastRowIndex, rowModels.length);
|
|
53018
|
-
const rowIndexes = params2.rows ? range$
|
|
52800
|
+
const rowIndexes = params2.rows ? range$c(0, params2.rows.length) : range$c(firstRowToRender, lastRowToRender);
|
|
53019
52801
|
let virtualRowIndex = -1;
|
|
53020
52802
|
if (!isPinnedSection && focusedVirtualCell) {
|
|
53021
52803
|
if (focusedVirtualCell.rowIndex < firstRowToRender) {
|
|
@@ -74502,7 +74284,7 @@ let powers = 0;
|
|
|
74502
74284
|
const boolean = increment$1();
|
|
74503
74285
|
const booleanish = increment$1();
|
|
74504
74286
|
const overloadedBoolean = increment$1();
|
|
74505
|
-
const number$
|
|
74287
|
+
const number$a = increment$1();
|
|
74506
74288
|
const spaceSeparated = increment$1();
|
|
74507
74289
|
const commaSeparated = increment$1();
|
|
74508
74290
|
const commaOrSpaceSeparated = increment$1();
|
|
@@ -74515,7 +74297,7 @@ const types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePropert
|
|
|
74515
74297
|
booleanish,
|
|
74516
74298
|
commaOrSpaceSeparated,
|
|
74517
74299
|
commaSeparated,
|
|
74518
|
-
number: number$
|
|
74300
|
+
number: number$a,
|
|
74519
74301
|
overloadedBoolean,
|
|
74520
74302
|
spaceSeparated
|
|
74521
74303
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -74614,9 +74396,9 @@ const aria$1 = create$c({
|
|
|
74614
74396
|
ariaAutoComplete: null,
|
|
74615
74397
|
ariaBusy: booleanish,
|
|
74616
74398
|
ariaChecked: booleanish,
|
|
74617
|
-
ariaColCount: number$
|
|
74618
|
-
ariaColIndex: number$
|
|
74619
|
-
ariaColSpan: number$
|
|
74399
|
+
ariaColCount: number$a,
|
|
74400
|
+
ariaColIndex: number$a,
|
|
74401
|
+
ariaColSpan: number$a,
|
|
74620
74402
|
ariaControls: spaceSeparated,
|
|
74621
74403
|
ariaCurrent: null,
|
|
74622
74404
|
ariaDescribedBy: spaceSeparated,
|
|
@@ -74633,7 +74415,7 @@ const aria$1 = create$c({
|
|
|
74633
74415
|
ariaKeyShortcuts: null,
|
|
74634
74416
|
ariaLabel: null,
|
|
74635
74417
|
ariaLabelledBy: spaceSeparated,
|
|
74636
|
-
ariaLevel: number$
|
|
74418
|
+
ariaLevel: number$a,
|
|
74637
74419
|
ariaLive: null,
|
|
74638
74420
|
ariaModal: booleanish,
|
|
74639
74421
|
ariaMultiLine: booleanish,
|
|
@@ -74641,21 +74423,21 @@ const aria$1 = create$c({
|
|
|
74641
74423
|
ariaOrientation: null,
|
|
74642
74424
|
ariaOwns: spaceSeparated,
|
|
74643
74425
|
ariaPlaceholder: null,
|
|
74644
|
-
ariaPosInSet: number$
|
|
74426
|
+
ariaPosInSet: number$a,
|
|
74645
74427
|
ariaPressed: booleanish,
|
|
74646
74428
|
ariaReadOnly: booleanish,
|
|
74647
74429
|
ariaRelevant: null,
|
|
74648
74430
|
ariaRequired: booleanish,
|
|
74649
74431
|
ariaRoleDescription: spaceSeparated,
|
|
74650
|
-
ariaRowCount: number$
|
|
74651
|
-
ariaRowIndex: number$
|
|
74652
|
-
ariaRowSpan: number$
|
|
74432
|
+
ariaRowCount: number$a,
|
|
74433
|
+
ariaRowIndex: number$a,
|
|
74434
|
+
ariaRowSpan: number$a,
|
|
74653
74435
|
ariaSelected: booleanish,
|
|
74654
|
-
ariaSetSize: number$
|
|
74436
|
+
ariaSetSize: number$a,
|
|
74655
74437
|
ariaSort: null,
|
|
74656
|
-
ariaValueMax: number$
|
|
74657
|
-
ariaValueMin: number$
|
|
74658
|
-
ariaValueNow: number$
|
|
74438
|
+
ariaValueMax: number$a,
|
|
74439
|
+
ariaValueMin: number$a,
|
|
74440
|
+
ariaValueNow: number$a,
|
|
74659
74441
|
ariaValueText: null,
|
|
74660
74442
|
role: null
|
|
74661
74443
|
}
|
|
@@ -74694,13 +74476,13 @@ const html$2 = create$c({
|
|
|
74694
74476
|
checked: boolean,
|
|
74695
74477
|
cite: null,
|
|
74696
74478
|
className: spaceSeparated,
|
|
74697
|
-
cols: number$
|
|
74479
|
+
cols: number$a,
|
|
74698
74480
|
colSpan: null,
|
|
74699
74481
|
content: null,
|
|
74700
74482
|
contentEditable: booleanish,
|
|
74701
74483
|
controls: boolean,
|
|
74702
74484
|
controlsList: spaceSeparated,
|
|
74703
|
-
coords: number$
|
|
74485
|
+
coords: number$a | commaSeparated,
|
|
74704
74486
|
crossOrigin: null,
|
|
74705
74487
|
data: null,
|
|
74706
74488
|
dateTime: null,
|
|
@@ -74722,9 +74504,9 @@ const html$2 = create$c({
|
|
|
74722
74504
|
formNoValidate: boolean,
|
|
74723
74505
|
formTarget: null,
|
|
74724
74506
|
headers: spaceSeparated,
|
|
74725
|
-
height: number$
|
|
74507
|
+
height: number$a,
|
|
74726
74508
|
hidden: boolean,
|
|
74727
|
-
high: number$
|
|
74509
|
+
high: number$a,
|
|
74728
74510
|
href: null,
|
|
74729
74511
|
hrefLang: null,
|
|
74730
74512
|
htmlFor: spaceSeparated,
|
|
@@ -74749,14 +74531,14 @@ const html$2 = create$c({
|
|
|
74749
74531
|
list: null,
|
|
74750
74532
|
loading: null,
|
|
74751
74533
|
loop: boolean,
|
|
74752
|
-
low: number$
|
|
74534
|
+
low: number$a,
|
|
74753
74535
|
manifest: null,
|
|
74754
74536
|
max: null,
|
|
74755
|
-
maxLength: number$
|
|
74537
|
+
maxLength: number$a,
|
|
74756
74538
|
media: null,
|
|
74757
74539
|
method: null,
|
|
74758
74540
|
min: null,
|
|
74759
|
-
minLength: number$
|
|
74541
|
+
minLength: number$a,
|
|
74760
74542
|
multiple: boolean,
|
|
74761
74543
|
muted: boolean,
|
|
74762
74544
|
name: null,
|
|
@@ -74852,7 +74634,7 @@ const html$2 = create$c({
|
|
|
74852
74634
|
onWaiting: null,
|
|
74853
74635
|
onWheel: null,
|
|
74854
74636
|
open: boolean,
|
|
74855
|
-
optimum: number$
|
|
74637
|
+
optimum: number$a,
|
|
74856
74638
|
pattern: null,
|
|
74857
74639
|
ping: spaceSeparated,
|
|
74858
74640
|
placeholder: null,
|
|
@@ -74867,8 +74649,8 @@ const html$2 = create$c({
|
|
|
74867
74649
|
rel: spaceSeparated,
|
|
74868
74650
|
required: boolean,
|
|
74869
74651
|
reversed: boolean,
|
|
74870
|
-
rows: number$
|
|
74871
|
-
rowSpan: number$
|
|
74652
|
+
rows: number$a,
|
|
74653
|
+
rowSpan: number$a,
|
|
74872
74654
|
sandbox: spaceSeparated,
|
|
74873
74655
|
scope: null,
|
|
74874
74656
|
scoped: boolean,
|
|
@@ -74878,19 +74660,19 @@ const html$2 = create$c({
|
|
|
74878
74660
|
shadowRootDelegatesFocus: boolean,
|
|
74879
74661
|
shadowRootMode: null,
|
|
74880
74662
|
shape: null,
|
|
74881
|
-
size: number$
|
|
74663
|
+
size: number$a,
|
|
74882
74664
|
sizes: null,
|
|
74883
74665
|
slot: null,
|
|
74884
|
-
span: number$
|
|
74666
|
+
span: number$a,
|
|
74885
74667
|
spellCheck: booleanish,
|
|
74886
74668
|
src: null,
|
|
74887
74669
|
srcDoc: null,
|
|
74888
74670
|
srcLang: null,
|
|
74889
74671
|
srcSet: null,
|
|
74890
|
-
start: number$
|
|
74672
|
+
start: number$a,
|
|
74891
74673
|
step: null,
|
|
74892
74674
|
style: null,
|
|
74893
|
-
tabIndex: number$
|
|
74675
|
+
tabIndex: number$a,
|
|
74894
74676
|
target: null,
|
|
74895
74677
|
title: null,
|
|
74896
74678
|
translate: null,
|
|
@@ -74898,7 +74680,7 @@ const html$2 = create$c({
|
|
|
74898
74680
|
typeMustMatch: boolean,
|
|
74899
74681
|
useMap: null,
|
|
74900
74682
|
value: booleanish,
|
|
74901
|
-
width: number$
|
|
74683
|
+
width: number$a,
|
|
74902
74684
|
wrap: null,
|
|
74903
74685
|
writingSuggestions: null,
|
|
74904
74686
|
// Legacy.
|
|
@@ -74915,11 +74697,11 @@ const html$2 = create$c({
|
|
|
74915
74697
|
// `<body>`. Use CSS `background-image` instead
|
|
74916
74698
|
bgColor: null,
|
|
74917
74699
|
// `<body>` and table elements. Use CSS `background-color` instead
|
|
74918
|
-
border: number$
|
|
74700
|
+
border: number$a,
|
|
74919
74701
|
// `<table>`. Use CSS `border-width` instead,
|
|
74920
74702
|
borderColor: null,
|
|
74921
74703
|
// `<table>`. Use CSS `border-color` instead,
|
|
74922
|
-
bottomMargin: number$
|
|
74704
|
+
bottomMargin: number$a,
|
|
74923
74705
|
// `<body>`
|
|
74924
74706
|
cellPadding: null,
|
|
74925
74707
|
// `<table>`
|
|
@@ -74953,9 +74735,9 @@ const html$2 = create$c({
|
|
|
74953
74735
|
// `<table>`
|
|
74954
74736
|
frameBorder: null,
|
|
74955
74737
|
// `<iframe>`. Use CSS `border` instead
|
|
74956
|
-
hSpace: number$
|
|
74738
|
+
hSpace: number$a,
|
|
74957
74739
|
// `<img>` and `<object>`
|
|
74958
|
-
leftMargin: number$
|
|
74740
|
+
leftMargin: number$a,
|
|
74959
74741
|
// `<body>`
|
|
74960
74742
|
link: null,
|
|
74961
74743
|
// `<body>`. Use CSS `a:link {color: *}` instead
|
|
@@ -74963,9 +74745,9 @@ const html$2 = create$c({
|
|
|
74963
74745
|
// `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
|
|
74964
74746
|
lowSrc: null,
|
|
74965
74747
|
// `<img>`. Use a `<picture>`
|
|
74966
|
-
marginHeight: number$
|
|
74748
|
+
marginHeight: number$a,
|
|
74967
74749
|
// `<body>`
|
|
74968
|
-
marginWidth: number$
|
|
74750
|
+
marginWidth: number$a,
|
|
74969
74751
|
// `<body>`
|
|
74970
74752
|
noResize: boolean,
|
|
74971
74753
|
// `<frame>`
|
|
@@ -74983,7 +74765,7 @@ const html$2 = create$c({
|
|
|
74983
74765
|
// `<isindex>`
|
|
74984
74766
|
rev: null,
|
|
74985
74767
|
// `<link>`
|
|
74986
|
-
rightMargin: number$
|
|
74768
|
+
rightMargin: number$a,
|
|
74987
74769
|
// `<body>`
|
|
74988
74770
|
rules: null,
|
|
74989
74771
|
// `<table>`
|
|
@@ -74997,7 +74779,7 @@ const html$2 = create$c({
|
|
|
74997
74779
|
// `<table>`
|
|
74998
74780
|
text: null,
|
|
74999
74781
|
// `<body>`. Use CSS `color` instead
|
|
75000
|
-
topMargin: number$
|
|
74782
|
+
topMargin: number$a,
|
|
75001
74783
|
// `<body>`
|
|
75002
74784
|
valueType: null,
|
|
75003
74785
|
// `<param>`
|
|
@@ -75007,7 +74789,7 @@ const html$2 = create$c({
|
|
|
75007
74789
|
// Several. Use CSS `vertical-align` instead
|
|
75008
74790
|
vLink: null,
|
|
75009
74791
|
// `<body>`. Use CSS `a:visited {color}` instead
|
|
75010
|
-
vSpace: number$
|
|
74792
|
+
vSpace: number$a,
|
|
75011
74793
|
// `<img>` and `<object>`
|
|
75012
74794
|
// Non-standard Properties.
|
|
75013
74795
|
allowTransparency: null,
|
|
@@ -75017,7 +74799,7 @@ const html$2 = create$c({
|
|
|
75017
74799
|
disableRemotePlayback: boolean,
|
|
75018
74800
|
prefix: null,
|
|
75019
74801
|
property: null,
|
|
75020
|
-
results: number$
|
|
74802
|
+
results: number$a,
|
|
75021
74803
|
security: null,
|
|
75022
74804
|
unselectable: null
|
|
75023
74805
|
}
|
|
@@ -75202,27 +74984,27 @@ const svg$1 = create$c({
|
|
|
75202
74984
|
transform: caseSensitiveTransform,
|
|
75203
74985
|
properties: {
|
|
75204
74986
|
about: commaOrSpaceSeparated,
|
|
75205
|
-
accentHeight: number$
|
|
74987
|
+
accentHeight: number$a,
|
|
75206
74988
|
accumulate: null,
|
|
75207
74989
|
additive: null,
|
|
75208
74990
|
alignmentBaseline: null,
|
|
75209
|
-
alphabetic: number$
|
|
75210
|
-
amplitude: number$
|
|
74991
|
+
alphabetic: number$a,
|
|
74992
|
+
amplitude: number$a,
|
|
75211
74993
|
arabicForm: null,
|
|
75212
|
-
ascent: number$
|
|
74994
|
+
ascent: number$a,
|
|
75213
74995
|
attributeName: null,
|
|
75214
74996
|
attributeType: null,
|
|
75215
|
-
azimuth: number$
|
|
74997
|
+
azimuth: number$a,
|
|
75216
74998
|
bandwidth: null,
|
|
75217
74999
|
baselineShift: null,
|
|
75218
75000
|
baseFrequency: null,
|
|
75219
75001
|
baseProfile: null,
|
|
75220
75002
|
bbox: null,
|
|
75221
75003
|
begin: null,
|
|
75222
|
-
bias: number$
|
|
75004
|
+
bias: number$a,
|
|
75223
75005
|
by: null,
|
|
75224
75006
|
calcMode: null,
|
|
75225
|
-
capHeight: number$
|
|
75007
|
+
capHeight: number$a,
|
|
75226
75008
|
className: spaceSeparated,
|
|
75227
75009
|
clip: null,
|
|
75228
75010
|
clipPath: null,
|
|
@@ -75243,26 +75025,26 @@ const svg$1 = create$c({
|
|
|
75243
75025
|
d: null,
|
|
75244
75026
|
dataType: null,
|
|
75245
75027
|
defaultAction: null,
|
|
75246
|
-
descent: number$
|
|
75247
|
-
diffuseConstant: number$
|
|
75028
|
+
descent: number$a,
|
|
75029
|
+
diffuseConstant: number$a,
|
|
75248
75030
|
direction: null,
|
|
75249
75031
|
display: null,
|
|
75250
75032
|
dur: null,
|
|
75251
|
-
divisor: number$
|
|
75033
|
+
divisor: number$a,
|
|
75252
75034
|
dominantBaseline: null,
|
|
75253
75035
|
download: boolean,
|
|
75254
75036
|
dx: null,
|
|
75255
75037
|
dy: null,
|
|
75256
75038
|
edgeMode: null,
|
|
75257
75039
|
editable: null,
|
|
75258
|
-
elevation: number$
|
|
75040
|
+
elevation: number$a,
|
|
75259
75041
|
enableBackground: null,
|
|
75260
75042
|
end: null,
|
|
75261
75043
|
event: null,
|
|
75262
|
-
exponent: number$
|
|
75044
|
+
exponent: number$a,
|
|
75263
75045
|
externalResourcesRequired: null,
|
|
75264
75046
|
fill: null,
|
|
75265
|
-
fillOpacity: number$
|
|
75047
|
+
fillOpacity: number$a,
|
|
75266
75048
|
fillRule: null,
|
|
75267
75049
|
filter: null,
|
|
75268
75050
|
filterRes: null,
|
|
@@ -75292,27 +75074,27 @@ const svg$1 = create$c({
|
|
|
75292
75074
|
gradientTransform: null,
|
|
75293
75075
|
gradientUnits: null,
|
|
75294
75076
|
handler: null,
|
|
75295
|
-
hanging: number$
|
|
75077
|
+
hanging: number$a,
|
|
75296
75078
|
hatchContentUnits: null,
|
|
75297
75079
|
hatchUnits: null,
|
|
75298
75080
|
height: null,
|
|
75299
75081
|
href: null,
|
|
75300
75082
|
hrefLang: null,
|
|
75301
|
-
horizAdvX: number$
|
|
75302
|
-
horizOriginX: number$
|
|
75303
|
-
horizOriginY: number$
|
|
75083
|
+
horizAdvX: number$a,
|
|
75084
|
+
horizOriginX: number$a,
|
|
75085
|
+
horizOriginY: number$a,
|
|
75304
75086
|
id: null,
|
|
75305
|
-
ideographic: number$
|
|
75087
|
+
ideographic: number$a,
|
|
75306
75088
|
imageRendering: null,
|
|
75307
75089
|
initialVisibility: null,
|
|
75308
75090
|
in: null,
|
|
75309
75091
|
in2: null,
|
|
75310
|
-
intercept: number$
|
|
75311
|
-
k: number$
|
|
75312
|
-
k1: number$
|
|
75313
|
-
k2: number$
|
|
75314
|
-
k3: number$
|
|
75315
|
-
k4: number$
|
|
75092
|
+
intercept: number$a,
|
|
75093
|
+
k: number$a,
|
|
75094
|
+
k1: number$a,
|
|
75095
|
+
k2: number$a,
|
|
75096
|
+
k3: number$a,
|
|
75097
|
+
k4: number$a,
|
|
75316
75098
|
kernelMatrix: commaOrSpaceSeparated,
|
|
75317
75099
|
kernelUnitLength: null,
|
|
75318
75100
|
keyPoints: null,
|
|
@@ -75326,7 +75108,7 @@ const svg$1 = create$c({
|
|
|
75326
75108
|
lengthAdjust: null,
|
|
75327
75109
|
letterSpacing: null,
|
|
75328
75110
|
lightingColor: null,
|
|
75329
|
-
limitingConeAngle: number$
|
|
75111
|
+
limitingConeAngle: number$a,
|
|
75330
75112
|
local: null,
|
|
75331
75113
|
markerEnd: null,
|
|
75332
75114
|
markerMid: null,
|
|
@@ -75342,7 +75124,7 @@ const svg$1 = create$c({
|
|
|
75342
75124
|
media: null,
|
|
75343
75125
|
mediaCharacterEncoding: null,
|
|
75344
75126
|
mediaContentEncodings: null,
|
|
75345
|
-
mediaSize: number$
|
|
75127
|
+
mediaSize: number$a,
|
|
75346
75128
|
mediaTime: null,
|
|
75347
75129
|
method: null,
|
|
75348
75130
|
min: null,
|
|
@@ -75448,12 +75230,12 @@ const svg$1 = create$c({
|
|
|
75448
75230
|
origin: null,
|
|
75449
75231
|
overflow: null,
|
|
75450
75232
|
overlay: null,
|
|
75451
|
-
overlinePosition: number$
|
|
75452
|
-
overlineThickness: number$
|
|
75233
|
+
overlinePosition: number$a,
|
|
75234
|
+
overlineThickness: number$a,
|
|
75453
75235
|
paintOrder: null,
|
|
75454
75236
|
panose1: null,
|
|
75455
75237
|
path: null,
|
|
75456
|
-
pathLength: number$
|
|
75238
|
+
pathLength: number$a,
|
|
75457
75239
|
patternContentUnits: null,
|
|
75458
75240
|
patternTransform: null,
|
|
75459
75241
|
patternUnits: null,
|
|
@@ -75463,9 +75245,9 @@ const svg$1 = create$c({
|
|
|
75463
75245
|
playbackOrder: null,
|
|
75464
75246
|
pointerEvents: null,
|
|
75465
75247
|
points: null,
|
|
75466
|
-
pointsAtX: number$
|
|
75467
|
-
pointsAtY: number$
|
|
75468
|
-
pointsAtZ: number$
|
|
75248
|
+
pointsAtX: number$a,
|
|
75249
|
+
pointsAtY: number$a,
|
|
75250
|
+
pointsAtZ: number$a,
|
|
75469
75251
|
preserveAlpha: null,
|
|
75470
75252
|
preserveAspectRatio: null,
|
|
75471
75253
|
primitiveUnits: null,
|
|
@@ -75497,8 +75279,8 @@ const svg$1 = create$c({
|
|
|
75497
75279
|
side: null,
|
|
75498
75280
|
slope: null,
|
|
75499
75281
|
snapshotTime: null,
|
|
75500
|
-
specularConstant: number$
|
|
75501
|
-
specularExponent: number$
|
|
75282
|
+
specularConstant: number$a,
|
|
75283
|
+
specularExponent: number$a,
|
|
75502
75284
|
spreadMethod: null,
|
|
75503
75285
|
spacing: null,
|
|
75504
75286
|
startOffset: null,
|
|
@@ -75508,30 +75290,30 @@ const svg$1 = create$c({
|
|
|
75508
75290
|
stitchTiles: null,
|
|
75509
75291
|
stopColor: null,
|
|
75510
75292
|
stopOpacity: null,
|
|
75511
|
-
strikethroughPosition: number$
|
|
75512
|
-
strikethroughThickness: number$
|
|
75293
|
+
strikethroughPosition: number$a,
|
|
75294
|
+
strikethroughThickness: number$a,
|
|
75513
75295
|
string: null,
|
|
75514
75296
|
stroke: null,
|
|
75515
75297
|
strokeDashArray: commaOrSpaceSeparated,
|
|
75516
75298
|
strokeDashOffset: null,
|
|
75517
75299
|
strokeLineCap: null,
|
|
75518
75300
|
strokeLineJoin: null,
|
|
75519
|
-
strokeMiterLimit: number$
|
|
75520
|
-
strokeOpacity: number$
|
|
75301
|
+
strokeMiterLimit: number$a,
|
|
75302
|
+
strokeOpacity: number$a,
|
|
75521
75303
|
strokeWidth: null,
|
|
75522
75304
|
style: null,
|
|
75523
|
-
surfaceScale: number$
|
|
75305
|
+
surfaceScale: number$a,
|
|
75524
75306
|
syncBehavior: null,
|
|
75525
75307
|
syncBehaviorDefault: null,
|
|
75526
75308
|
syncMaster: null,
|
|
75527
75309
|
syncTolerance: null,
|
|
75528
75310
|
syncToleranceDefault: null,
|
|
75529
75311
|
systemLanguage: commaOrSpaceSeparated,
|
|
75530
|
-
tabIndex: number$
|
|
75312
|
+
tabIndex: number$a,
|
|
75531
75313
|
tableValues: null,
|
|
75532
75314
|
target: null,
|
|
75533
|
-
targetX: number$
|
|
75534
|
-
targetY: number$
|
|
75315
|
+
targetX: number$a,
|
|
75316
|
+
targetY: number$a,
|
|
75535
75317
|
textAnchor: null,
|
|
75536
75318
|
textDecoration: null,
|
|
75537
75319
|
textRendering: null,
|
|
@@ -75546,22 +75328,22 @@ const svg$1 = create$c({
|
|
|
75546
75328
|
transformOrigin: null,
|
|
75547
75329
|
u1: null,
|
|
75548
75330
|
u2: null,
|
|
75549
|
-
underlinePosition: number$
|
|
75550
|
-
underlineThickness: number$
|
|
75331
|
+
underlinePosition: number$a,
|
|
75332
|
+
underlineThickness: number$a,
|
|
75551
75333
|
unicode: null,
|
|
75552
75334
|
unicodeBidi: null,
|
|
75553
75335
|
unicodeRange: null,
|
|
75554
|
-
unitsPerEm: number$
|
|
75336
|
+
unitsPerEm: number$a,
|
|
75555
75337
|
values: null,
|
|
75556
|
-
vAlphabetic: number$
|
|
75557
|
-
vMathematical: number$
|
|
75338
|
+
vAlphabetic: number$a,
|
|
75339
|
+
vMathematical: number$a,
|
|
75558
75340
|
vectorEffect: null,
|
|
75559
|
-
vHanging: number$
|
|
75560
|
-
vIdeographic: number$
|
|
75341
|
+
vHanging: number$a,
|
|
75342
|
+
vIdeographic: number$a,
|
|
75561
75343
|
version: null,
|
|
75562
|
-
vertAdvY: number$
|
|
75563
|
-
vertOriginX: number$
|
|
75564
|
-
vertOriginY: number$
|
|
75344
|
+
vertAdvY: number$a,
|
|
75345
|
+
vertOriginX: number$a,
|
|
75346
|
+
vertOriginY: number$a,
|
|
75565
75347
|
viewBox: null,
|
|
75566
75348
|
viewTarget: null,
|
|
75567
75349
|
visibility: null,
|
|
@@ -75573,7 +75355,7 @@ const svg$1 = create$c({
|
|
|
75573
75355
|
x1: null,
|
|
75574
75356
|
x2: null,
|
|
75575
75357
|
xChannelSelector: null,
|
|
75576
|
-
xHeight: number$
|
|
75358
|
+
xHeight: number$a,
|
|
75577
75359
|
y: null,
|
|
75578
75360
|
y1: null,
|
|
75579
75361
|
y2: null,
|
|
@@ -86514,7 +86296,7 @@ function treeToExpectedCheckedLevel(currTree, checkedPaths) {
|
|
|
86514
86296
|
currTree.tree.forEach((lzn) => {
|
|
86515
86297
|
const levelZeroPath = [lzn.name];
|
|
86516
86298
|
const height2 = nodeToHeight(lzn);
|
|
86517
|
-
range$
|
|
86299
|
+
range$e(height2).forEach((i2) => {
|
|
86518
86300
|
const levelIndex = i2 + 1;
|
|
86519
86301
|
const levelNodePaths = nodeToLevelDescendantNamePaths(lzn, levelIndex, [], true);
|
|
86520
86302
|
if (isEqual$3(levelNodePaths, checkedPaths)) {
|
|
@@ -86587,7 +86369,7 @@ function treeToMembershipMap(currTree) {
|
|
|
86587
86369
|
if (currTree) {
|
|
86588
86370
|
currTree.tree.forEach((lzn) => {
|
|
86589
86371
|
const height2 = nodeToHeight(lzn);
|
|
86590
|
-
range$
|
|
86372
|
+
range$e(height2).forEach((i2) => {
|
|
86591
86373
|
const levelIndex = i2 + 1;
|
|
86592
86374
|
const levelNodePaths = nodeToLevelDescendantNamePaths(lzn, levelIndex, [], true);
|
|
86593
86375
|
levelNodePaths.forEach((setNamePath) => {
|
|
@@ -104293,7 +104075,7 @@ function LevelsButtons(props) {
|
|
|
104293
104075
|
}
|
|
104294
104076
|
}
|
|
104295
104077
|
const { classes: classes2 } = useStyles$u();
|
|
104296
|
-
return jsxRuntimeExports.jsx("div", { className: classes2.levelButtonsContainer, children: range$
|
|
104078
|
+
return jsxRuntimeExports.jsx("div", { className: classes2.levelButtonsContainer, children: range$e(1, height2 + 1).map((i2) => {
|
|
104297
104079
|
const isChecked = isEqual$3(path2, checkedLevelPath) && i2 === checkedLevelIndex;
|
|
104298
104080
|
return jsxRuntimeExports.jsx("div", { children: jsxRuntimeExports.jsx(HelpTooltip, { title: getLevelTooltipText(i2), children: jsxRuntimeExports.jsx("input", { className: clsx(classes2.levelRadioButton, { [classes2.levelRadioButtonChecked]: isChecked && !hasColorEncoding }), type: "checkbox", value: i2, checked: isChecked && hasColorEncoding, onChange: onCheck }) }) }, i2);
|
|
104299
104081
|
}) });
|
|
@@ -104899,10 +104681,10 @@ function ObsSetsManagerSubscriber(props) {
|
|
|
104899
104681
|
]);
|
|
104900
104682
|
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, errors, children: manager2 });
|
|
104901
104683
|
}
|
|
104902
|
-
function ascending$
|
|
104684
|
+
function ascending$8(a2, b2) {
|
|
104903
104685
|
return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
104904
104686
|
}
|
|
104905
|
-
function bisector$
|
|
104687
|
+
function bisector$3(f2) {
|
|
104906
104688
|
let delta = f2;
|
|
104907
104689
|
let compare2 = f2;
|
|
104908
104690
|
if (f2.length === 1) {
|
|
@@ -104938,14 +104720,14 @@ function bisector$4(f2) {
|
|
|
104938
104720
|
return { left: left2, center: center2, right: right2 };
|
|
104939
104721
|
}
|
|
104940
104722
|
function ascendingComparator$1(f2) {
|
|
104941
|
-
return (d, x2) => ascending$
|
|
104723
|
+
return (d, x2) => ascending$8(f2(d), x2);
|
|
104942
104724
|
}
|
|
104943
|
-
function number$
|
|
104725
|
+
function number$9(x2) {
|
|
104944
104726
|
return x2 === null ? NaN : +x2;
|
|
104945
104727
|
}
|
|
104946
|
-
const ascendingBisect$
|
|
104947
|
-
const bisectRight$
|
|
104948
|
-
bisector$
|
|
104728
|
+
const ascendingBisect$1 = bisector$3(ascending$8);
|
|
104729
|
+
const bisectRight$2 = ascendingBisect$1.right;
|
|
104730
|
+
bisector$3(number$9).center;
|
|
104949
104731
|
function count$2(values3, valueof) {
|
|
104950
104732
|
let count2 = 0;
|
|
104951
104733
|
{
|
|
@@ -105164,7 +104946,7 @@ function bin$2() {
|
|
|
105164
104946
|
for (i2 = 0; i2 < n3; ++i2) {
|
|
105165
104947
|
x2 = values3[i2];
|
|
105166
104948
|
if (x02 <= x2 && x2 <= x12) {
|
|
105167
|
-
bins2[bisectRight$
|
|
104949
|
+
bins2[bisectRight$2(tz, x2, 0, m2)].push(data2[i2]);
|
|
105168
104950
|
}
|
|
105169
104951
|
}
|
|
105170
104952
|
return bins2;
|
|
@@ -105202,7 +104984,7 @@ function min$4(values3, valueof) {
|
|
|
105202
104984
|
}
|
|
105203
104985
|
return min2;
|
|
105204
104986
|
}
|
|
105205
|
-
function quantileSorted$1(values3, p, valueof = number$
|
|
104987
|
+
function quantileSorted$1(values3, p, valueof = number$9) {
|
|
105206
104988
|
if (!(n3 = values3.length)) return;
|
|
105207
104989
|
if ((p = +p) <= 0 || n3 < 2) return +valueof(values3[0], 0, values3);
|
|
105208
104990
|
if (p >= 1) return +valueof(values3[n3 - 1], n3 - 1, values3);
|
|
@@ -144397,7 +144179,7 @@ const defaultGetValue = (points2) => points2.length;
|
|
|
144397
144179
|
const MAX_32_BIT_FLOAT = 3402823466e29;
|
|
144398
144180
|
const defaultGetPoints = (bin2) => bin2.points;
|
|
144399
144181
|
const defaultGetIndex = (bin2) => bin2.index;
|
|
144400
|
-
const ascending$
|
|
144182
|
+
const ascending$7 = (a2, b2) => a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
144401
144183
|
const defaultProps$w = {
|
|
144402
144184
|
getValue: defaultGetValue,
|
|
144403
144185
|
getPoints: defaultGetPoints,
|
|
@@ -144481,7 +144263,7 @@ class BinSorter {
|
|
|
144481
144263
|
}
|
|
144482
144264
|
getValueRange(percentileRange) {
|
|
144483
144265
|
if (!this.sortedBins) {
|
|
144484
|
-
this.sortedBins = this.aggregatedBins.sort((a2, b2) => ascending$
|
|
144266
|
+
this.sortedBins = this.aggregatedBins.sort((a2, b2) => ascending$7(a2.value, b2.value));
|
|
144485
144267
|
}
|
|
144486
144268
|
if (!this.sortedBins.length) {
|
|
144487
144269
|
return [];
|
|
@@ -144497,7 +144279,7 @@ class BinSorter {
|
|
|
144497
144279
|
}
|
|
144498
144280
|
getValueDomainByScale(scale2, [lower2 = 0, upper = 100] = []) {
|
|
144499
144281
|
if (!this.sortedBins) {
|
|
144500
|
-
this.sortedBins = this.aggregatedBins.sort((a2, b2) => ascending$
|
|
144282
|
+
this.sortedBins = this.aggregatedBins.sort((a2, b2) => ascending$7(a2.value, b2.value));
|
|
144501
144283
|
}
|
|
144502
144284
|
if (!this.sortedBins.length) {
|
|
144503
144285
|
return [];
|
|
@@ -184272,7 +184054,7 @@ function cartesianNormalizeInPlace$1(d) {
|
|
|
184272
184054
|
var l2 = sqrt$5(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
|
|
184273
184055
|
d[0] /= l2, d[1] /= l2, d[2] /= l2;
|
|
184274
184056
|
}
|
|
184275
|
-
var lambda0$3, phi0$1, lambda1$1, phi1$1, lambda2$1, lambda00$4, phi00$4, p0$1, deltaSum$1 = adder(), ranges$1, range$
|
|
184057
|
+
var lambda0$3, phi0$1, lambda1$1, phi1$1, lambda2$1, lambda00$4, phi00$4, p0$1, deltaSum$1 = adder(), ranges$1, range$b;
|
|
184276
184058
|
var boundsStream$3 = {
|
|
184277
184059
|
point: boundsPoint$3,
|
|
184278
184060
|
lineStart: boundsLineStart$1,
|
|
@@ -184292,11 +184074,11 @@ var boundsStream$3 = {
|
|
|
184292
184074
|
if (areaRingSum$3 < 0) lambda0$3 = -(lambda1$1 = 180), phi0$1 = -(phi1$1 = 90);
|
|
184293
184075
|
else if (deltaSum$1 > epsilon$8) phi1$1 = 90;
|
|
184294
184076
|
else if (deltaSum$1 < -epsilon$8) phi0$1 = -90;
|
|
184295
|
-
range$
|
|
184077
|
+
range$b[0] = lambda0$3, range$b[1] = lambda1$1;
|
|
184296
184078
|
}
|
|
184297
184079
|
};
|
|
184298
184080
|
function boundsPoint$3(lambda, phi2) {
|
|
184299
|
-
ranges$1.push(range$
|
|
184081
|
+
ranges$1.push(range$b = [lambda0$3 = lambda, lambda1$1 = lambda]);
|
|
184300
184082
|
if (phi2 < phi0$1) phi0$1 = phi2;
|
|
184301
184083
|
if (phi2 > phi1$1) phi1$1 = phi2;
|
|
184302
184084
|
}
|
|
@@ -184336,7 +184118,7 @@ function linePoint$1(lambda, phi2) {
|
|
|
184336
184118
|
}
|
|
184337
184119
|
}
|
|
184338
184120
|
} else {
|
|
184339
|
-
ranges$1.push(range$
|
|
184121
|
+
ranges$1.push(range$b = [lambda0$3 = lambda, lambda1$1 = lambda]);
|
|
184340
184122
|
}
|
|
184341
184123
|
if (phi2 < phi0$1) phi0$1 = phi2;
|
|
184342
184124
|
if (phi2 > phi1$1) phi1$1 = phi2;
|
|
@@ -184346,7 +184128,7 @@ function boundsLineStart$1() {
|
|
|
184346
184128
|
boundsStream$3.point = linePoint$1;
|
|
184347
184129
|
}
|
|
184348
184130
|
function boundsLineEnd$1() {
|
|
184349
|
-
range$
|
|
184131
|
+
range$b[0] = lambda0$3, range$b[1] = lambda1$1;
|
|
184350
184132
|
boundsStream$3.point = boundsPoint$3;
|
|
184351
184133
|
p0$1 = null;
|
|
184352
184134
|
}
|
|
@@ -184367,7 +184149,7 @@ function boundsRingEnd$1() {
|
|
|
184367
184149
|
boundsRingPoint$1(lambda00$4, phi00$4);
|
|
184368
184150
|
areaStream$3.lineEnd();
|
|
184369
184151
|
if (abs$5(deltaSum$1) > epsilon$8) lambda0$3 = -(lambda1$1 = 180);
|
|
184370
|
-
range$
|
|
184152
|
+
range$b[0] = lambda0$3, range$b[1] = lambda1$1;
|
|
184371
184153
|
p0$1 = null;
|
|
184372
184154
|
}
|
|
184373
184155
|
function angle$1(lambda02, lambda12) {
|
|
@@ -184400,7 +184182,7 @@ function bounds$2(feature2) {
|
|
|
184400
184182
|
if ((delta = angle$1(a2[1], b2[0])) > deltaMax) deltaMax = delta, lambda0$3 = b2[0], lambda1$1 = a2[1];
|
|
184401
184183
|
}
|
|
184402
184184
|
}
|
|
184403
|
-
ranges$1 = range$
|
|
184185
|
+
ranges$1 = range$b = null;
|
|
184404
184186
|
return lambda0$3 === Infinity || phi0$1 === Infinity ? [[NaN, NaN], [NaN, NaN]] : [[lambda0$3, phi0$1], [lambda1$1, phi1$1]];
|
|
184405
184187
|
}
|
|
184406
184188
|
var W0$1, W1$1, X0$3, Y0$3, Z0$3, X1$3, Y1$3, Z1$3, X2$4, Y2$4, Z2$3, lambda00$3, phi00$3, x0$9, y0$9, z0$1;
|
|
@@ -184746,10 +184528,10 @@ function link$1(array2) {
|
|
|
184746
184528
|
a2.n = b2 = array2[0];
|
|
184747
184529
|
b2.p = a2;
|
|
184748
184530
|
}
|
|
184749
|
-
function ascending$
|
|
184531
|
+
function ascending$6(a2, b2) {
|
|
184750
184532
|
return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
184751
184533
|
}
|
|
184752
|
-
function bisector$
|
|
184534
|
+
function bisector$2(compare2) {
|
|
184753
184535
|
if (compare2.length === 1) compare2 = ascendingComparator(compare2);
|
|
184754
184536
|
return {
|
|
184755
184537
|
left: function(a2, x2, lo, hi) {
|
|
@@ -184776,11 +184558,11 @@ function bisector$3(compare2) {
|
|
|
184776
184558
|
}
|
|
184777
184559
|
function ascendingComparator(f2) {
|
|
184778
184560
|
return function(d, x2) {
|
|
184779
|
-
return ascending$
|
|
184561
|
+
return ascending$6(f2(d), x2);
|
|
184780
184562
|
};
|
|
184781
184563
|
}
|
|
184782
|
-
bisector$
|
|
184783
|
-
function range$
|
|
184564
|
+
bisector$2(ascending$6);
|
|
184565
|
+
function range$a(start2, stop3, step) {
|
|
184784
184566
|
start2 = +start2, stop3 = +stop3, step = (n3 = arguments.length) < 2 ? (stop3 = start2, start2 = 0, 1) : n3 < 3 ? 1 : +step;
|
|
184785
184567
|
var i2 = -1, n3 = Math.max(0, Math.ceil((stop3 - start2) / step)) | 0, range2 = new Array(n3);
|
|
184786
184568
|
while (++i2 < n3) {
|
|
@@ -185062,7 +184844,7 @@ function contains$2(object2, point2) {
|
|
|
185062
184844
|
return (object2 && containsObjectType.hasOwnProperty(object2.type) ? containsObjectType[object2.type] : containsGeometry)(object2, point2);
|
|
185063
184845
|
}
|
|
185064
184846
|
function graticuleX$1(y02, y12, dy) {
|
|
185065
|
-
var y2 = range$
|
|
184847
|
+
var y2 = range$a(y02, y12 - epsilon$8, dy).concat(y12);
|
|
185066
184848
|
return function(x2) {
|
|
185067
184849
|
return y2.map(function(y22) {
|
|
185068
184850
|
return [x2, y22];
|
|
@@ -185070,7 +184852,7 @@ function graticuleX$1(y02, y12, dy) {
|
|
|
185070
184852
|
};
|
|
185071
184853
|
}
|
|
185072
184854
|
function graticuleY$1(x02, x12, dx) {
|
|
185073
|
-
var x2 = range$
|
|
184855
|
+
var x2 = range$a(x02, x12 - epsilon$8, dx).concat(x12);
|
|
185074
184856
|
return function(y2) {
|
|
185075
184857
|
return x2.map(function(x22) {
|
|
185076
184858
|
return [x22, y2];
|
|
@@ -185083,9 +184865,9 @@ function graticule$1() {
|
|
|
185083
184865
|
return { type: "MultiLineString", coordinates: lines() };
|
|
185084
184866
|
}
|
|
185085
184867
|
function lines() {
|
|
185086
|
-
return range$
|
|
184868
|
+
return range$a(ceil$3(X02 / DX) * DX, X12, DX).map(X3).concat(range$a(ceil$3(Y02 / DY) * DY, Y12, DY).map(Y3)).concat(range$a(ceil$3(x02 / dx) * dx, x12, dx).filter(function(x22) {
|
|
185087
184869
|
return abs$5(x22 % DX) > epsilon$8;
|
|
185088
|
-
}).map(x2)).concat(range$
|
|
184870
|
+
}).map(x2)).concat(range$a(ceil$3(y02 / dy) * dy, y12, dy).filter(function(y22) {
|
|
185089
184871
|
return abs$5(y22 % DY) > epsilon$8;
|
|
185090
184872
|
}).map(y2));
|
|
185091
184873
|
}
|
|
@@ -210791,22 +210573,22 @@ async function getDecoder(fileDirectory) {
|
|
|
210791
210573
|
const Decoder = await importFn();
|
|
210792
210574
|
return new Decoder(fileDirectory);
|
|
210793
210575
|
}
|
|
210794
|
-
addDecoder([void 0, 1], () => import("./raw-
|
|
210795
|
-
addDecoder(5, () => import("./lzw-
|
|
210576
|
+
addDecoder([void 0, 1], () => import("./raw-xhYWeGgm.js").then((m2) => m2.default));
|
|
210577
|
+
addDecoder(5, () => import("./lzw-BWKtxIFs.js").then((m2) => m2.default));
|
|
210796
210578
|
addDecoder(6, () => {
|
|
210797
210579
|
throw new Error("old style JPEG compression is not supported.");
|
|
210798
210580
|
});
|
|
210799
|
-
addDecoder(7, () => import("./jpeg-
|
|
210800
|
-
addDecoder([8, 32946], () => import("./deflate-
|
|
210801
|
-
addDecoder(32773, () => import("./packbits-
|
|
210581
|
+
addDecoder(7, () => import("./jpeg-jUgXKflB.js").then((m2) => m2.default));
|
|
210582
|
+
addDecoder([8, 32946], () => import("./deflate-BXitYXfE.js").then((m2) => m2.default));
|
|
210583
|
+
addDecoder(32773, () => import("./packbits-DtqTcTmz.js").then((m2) => m2.default));
|
|
210802
210584
|
addDecoder(
|
|
210803
210585
|
34887,
|
|
210804
|
-
() => import("./lerc-
|
|
210586
|
+
() => import("./lerc-Dj-OE8Tk.js").then(async (m2) => {
|
|
210805
210587
|
await m2.zstd.init();
|
|
210806
210588
|
return m2;
|
|
210807
210589
|
}).then((m2) => m2.default)
|
|
210808
210590
|
);
|
|
210809
|
-
addDecoder(50001, () => import("./webimage-
|
|
210591
|
+
addDecoder(50001, () => import("./webimage-D6-tAV4h.js").then((m2) => m2.default));
|
|
210810
210592
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
|
210811
210593
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
|
210812
210594
|
}
|
|
@@ -213847,7 +213629,7 @@ const Z_FIXED = 4;
|
|
|
213847
213629
|
const Z_BINARY = 0;
|
|
213848
213630
|
const Z_TEXT = 1;
|
|
213849
213631
|
const Z_UNKNOWN = 2;
|
|
213850
|
-
function zero$
|
|
213632
|
+
function zero$5(buf) {
|
|
213851
213633
|
let len2 = buf.length;
|
|
213852
213634
|
while (--len2 >= 0) {
|
|
213853
213635
|
buf[len2] = 0;
|
|
@@ -213886,17 +213668,17 @@ const extra_blbits = (
|
|
|
213886
213668
|
const bl_order = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
|
|
213887
213669
|
const DIST_CODE_LEN = 512;
|
|
213888
213670
|
const static_ltree = new Array((L_CODES + 2) * 2);
|
|
213889
|
-
zero$
|
|
213671
|
+
zero$5(static_ltree);
|
|
213890
213672
|
const static_dtree = new Array(D_CODES * 2);
|
|
213891
|
-
zero$
|
|
213673
|
+
zero$5(static_dtree);
|
|
213892
213674
|
const _dist_code = new Array(DIST_CODE_LEN);
|
|
213893
|
-
zero$
|
|
213675
|
+
zero$5(_dist_code);
|
|
213894
213676
|
const _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);
|
|
213895
|
-
zero$
|
|
213677
|
+
zero$5(_length_code);
|
|
213896
213678
|
const base_length = new Array(LENGTH_CODES);
|
|
213897
|
-
zero$
|
|
213679
|
+
zero$5(base_length);
|
|
213898
213680
|
const base_dist = new Array(D_CODES);
|
|
213899
|
-
zero$
|
|
213681
|
+
zero$5(base_dist);
|
|
213900
213682
|
function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {
|
|
213901
213683
|
this.static_tree = static_tree;
|
|
213902
213684
|
this.extra_bits = extra_bits;
|
|
@@ -221762,7 +221544,7 @@ const channels = {
|
|
|
221762
221544
|
},
|
|
221763
221545
|
fs: fs$2
|
|
221764
221546
|
};
|
|
221765
|
-
function range$
|
|
221547
|
+
function range$9(len2) {
|
|
221766
221548
|
return [...Array(len2).keys()];
|
|
221767
221549
|
}
|
|
221768
221550
|
function padWithDefault$2(arr, defaultValue2, padWidth) {
|
|
@@ -222862,7 +222644,7 @@ const ScaleBarLayer = class extends CompositeLayer {
|
|
|
222862
222644
|
sizeScale: 2 ** -zoom2,
|
|
222863
222645
|
characterSet: [
|
|
222864
222646
|
...displayUnit.split(""),
|
|
222865
|
-
...range$
|
|
222647
|
+
...range$9(10).map((i2) => String(i2)),
|
|
222866
222648
|
".",
|
|
222867
222649
|
"e",
|
|
222868
222650
|
"+"
|
|
@@ -224301,7 +224083,7 @@ class BitmaskLayer2 extends XRLayer {
|
|
|
224301
224083
|
} = this.state;
|
|
224302
224084
|
if (textures && model) {
|
|
224303
224085
|
const scaleFactor = 1 / 2 ** (maxZoom - zoom2);
|
|
224304
|
-
const colors2 = Object.fromEntries(range$
|
|
224086
|
+
const colors2 = Object.fromEntries(range$e(MAX_CHANNELS).map((i2) => [`color${i2}`, getColor(channelColors[i2])]));
|
|
224305
224087
|
model.setUniforms(Object.assign({}, uniforms, {
|
|
224306
224088
|
...colors2,
|
|
224307
224089
|
// Bitmask image channel data textures
|
|
@@ -227490,7 +227272,7 @@ class ContourLayerWithText extends ContourLayer {
|
|
|
227490
227272
|
let minCirclePointI;
|
|
227491
227273
|
let minPolygonPoint;
|
|
227492
227274
|
const numVertices = maxAreaPolygon.geometry.coordinates[0].length;
|
|
227493
|
-
const polygonVertices = numVertices > MAX_NUM_VERTICES ? range$
|
|
227275
|
+
const polygonVertices = numVertices > MAX_NUM_VERTICES ? range$e(MAX_NUM_VERTICES).map((i2) => maxAreaPolygon.geometry.coordinates[0][Math.floor(i2 * numVertices / MAX_NUM_VERTICES)]) : [...maxAreaPolygon.geometry.coordinates[0]];
|
|
227494
227276
|
circlePolygon.geometry.coordinates[0].forEach((circleCoord, circlePointI) => {
|
|
227495
227277
|
const circlePoint = point$9(circleCoord);
|
|
227496
227278
|
polygonVertices.forEach((polyCoord) => {
|
|
@@ -227910,7 +227692,7 @@ function createQuadTree(obsEmbedding, getCellCoords) {
|
|
|
227910
227692
|
if (!obsEmbedding) {
|
|
227911
227693
|
return null;
|
|
227912
227694
|
}
|
|
227913
|
-
const tree2 = quadtree$1().x((i2) => getCellCoords(i2)[0]).y((i2) => getCellCoords(i2)[1]).addAll(range$
|
|
227695
|
+
const tree2 = quadtree$1().x((i2) => getCellCoords(i2)[0]).y((i2) => getCellCoords(i2)[1]).addAll(range$e(obsEmbedding.shape[1]));
|
|
227914
227696
|
return tree2;
|
|
227915
227697
|
}
|
|
227916
227698
|
function constant$6(v) {
|
|
@@ -228018,8 +227800,14 @@ function forceCollideRects() {
|
|
|
228018
227800
|
};
|
|
228019
227801
|
return force2;
|
|
228020
227802
|
}
|
|
228021
|
-
|
|
228022
|
-
|
|
227803
|
+
const BASE_POINT_SIZE = 5;
|
|
227804
|
+
const LARGE_DATASET_CELL_COUNT = 1e4;
|
|
227805
|
+
const SMALL_DATASET_CELL_COUNT = 100;
|
|
227806
|
+
function getInitialPointSize(numCells = LARGE_DATASET_CELL_COUNT) {
|
|
227807
|
+
return BASE_POINT_SIZE / clamp$8(numCells, SMALL_DATASET_CELL_COUNT, LARGE_DATASET_CELL_COUNT);
|
|
227808
|
+
}
|
|
227809
|
+
function getPointSizeDevicePixels(devicePixelRatio2, zoom2, xRange, yRange, width2, height2, numCells) {
|
|
227810
|
+
const pointSize = getInitialPointSize(numCells);
|
|
228023
227811
|
const pointScreenSizeMax = 10;
|
|
228024
227812
|
const pointScreenSizeMin = 1 / devicePixelRatio2;
|
|
228025
227813
|
const scaleFactor = 2 ** zoom2;
|
|
@@ -229215,7 +229003,7 @@ function selection_order() {
|
|
|
229215
229003
|
return this;
|
|
229216
229004
|
}
|
|
229217
229005
|
function selection_sort(compare2) {
|
|
229218
|
-
if (!compare2) compare2 = ascending$
|
|
229006
|
+
if (!compare2) compare2 = ascending$5;
|
|
229219
229007
|
function compareNode(a2, b2) {
|
|
229220
229008
|
return a2 && b2 ? compare2(a2.__data__, b2.__data__) : !a2 - !b2;
|
|
229221
229009
|
}
|
|
@@ -229229,7 +229017,7 @@ function selection_sort(compare2) {
|
|
|
229229
229017
|
}
|
|
229230
229018
|
return new Selection(sortgroups, this._parents).order();
|
|
229231
229019
|
}
|
|
229232
|
-
function ascending$
|
|
229020
|
+
function ascending$5(a2, b2) {
|
|
229233
229021
|
return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
229234
229022
|
}
|
|
229235
229023
|
function selection_call() {
|
|
@@ -229638,20 +229426,20 @@ Selection.prototype = {
|
|
|
229638
229426
|
function select$1(selector2) {
|
|
229639
229427
|
return typeof selector2 === "string" ? new Selection([[document.querySelector(selector2)]], [document.documentElement]) : new Selection([[selector2]], root$2);
|
|
229640
229428
|
}
|
|
229641
|
-
function ascending$
|
|
229429
|
+
function ascending$4(a2, b2) {
|
|
229642
229430
|
return a2 == null || b2 == null ? NaN : a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
229643
229431
|
}
|
|
229644
|
-
function descending$
|
|
229432
|
+
function descending$1(a2, b2) {
|
|
229645
229433
|
return a2 == null || b2 == null ? NaN : b2 < a2 ? -1 : b2 > a2 ? 1 : b2 >= a2 ? 0 : NaN;
|
|
229646
229434
|
}
|
|
229647
|
-
function bisector$
|
|
229435
|
+
function bisector$1(f2) {
|
|
229648
229436
|
let compare12, compare2, delta;
|
|
229649
229437
|
if (f2.length !== 2) {
|
|
229650
|
-
compare12 = ascending$
|
|
229651
|
-
compare2 = (d, x2) => ascending$
|
|
229438
|
+
compare12 = ascending$4;
|
|
229439
|
+
compare2 = (d, x2) => ascending$4(f2(d), x2);
|
|
229652
229440
|
delta = (d, x2) => f2(d) - x2;
|
|
229653
229441
|
} else {
|
|
229654
|
-
compare12 = f2 === ascending$
|
|
229442
|
+
compare12 = f2 === ascending$4 || f2 === descending$1 ? f2 : zero$4;
|
|
229655
229443
|
compare2 = f2;
|
|
229656
229444
|
delta = f2;
|
|
229657
229445
|
}
|
|
@@ -229683,10 +229471,10 @@ function bisector$2(f2) {
|
|
|
229683
229471
|
}
|
|
229684
229472
|
return { left: left2, center: center2, right: right2 };
|
|
229685
229473
|
}
|
|
229686
|
-
function zero$
|
|
229474
|
+
function zero$4() {
|
|
229687
229475
|
return 0;
|
|
229688
229476
|
}
|
|
229689
|
-
function number$
|
|
229477
|
+
function number$8(x2) {
|
|
229690
229478
|
return x2 === null ? NaN : +x2;
|
|
229691
229479
|
}
|
|
229692
229480
|
function* numbers$4(values3, valueof) {
|
|
@@ -229705,10 +229493,10 @@ function* numbers$4(values3, valueof) {
|
|
|
229705
229493
|
}
|
|
229706
229494
|
}
|
|
229707
229495
|
}
|
|
229708
|
-
const ascendingBisect
|
|
229709
|
-
const bisectRight$
|
|
229710
|
-
const bisectLeft$1 = ascendingBisect
|
|
229711
|
-
bisector$
|
|
229496
|
+
const ascendingBisect = bisector$1(ascending$4);
|
|
229497
|
+
const bisectRight$1 = ascendingBisect.right;
|
|
229498
|
+
const bisectLeft$1 = ascendingBisect.left;
|
|
229499
|
+
bisector$1(number$8).center;
|
|
229712
229500
|
function variance(values3, valueof) {
|
|
229713
229501
|
let count2 = 0;
|
|
229714
229502
|
let delta;
|
|
@@ -229779,8 +229567,8 @@ class Adder {
|
|
|
229779
229567
|
function permute(source2, keys2) {
|
|
229780
229568
|
return Array.from(keys2, (key2) => source2[key2]);
|
|
229781
229569
|
}
|
|
229782
|
-
function compareDefined(compare2 = ascending$
|
|
229783
|
-
if (compare2 === ascending$
|
|
229570
|
+
function compareDefined(compare2 = ascending$4) {
|
|
229571
|
+
if (compare2 === ascending$4) return ascendingDefined;
|
|
229784
229572
|
if (typeof compare2 !== "function") throw new TypeError("compare is not a function");
|
|
229785
229573
|
return (a2, b2) => {
|
|
229786
229574
|
const x2 = compare2(a2, b2);
|
|
@@ -229791,40 +229579,51 @@ function compareDefined(compare2 = ascending$5) {
|
|
|
229791
229579
|
function ascendingDefined(a2, b2) {
|
|
229792
229580
|
return (a2 == null || !(a2 >= a2)) - (b2 == null || !(b2 >= b2)) || (a2 < b2 ? -1 : a2 > b2 ? 1 : 0);
|
|
229793
229581
|
}
|
|
229794
|
-
|
|
229582
|
+
const e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
|
|
229583
|
+
function tickSpec(start2, stop3, count2) {
|
|
229584
|
+
const step = (stop3 - start2) / Math.max(0, count2), power = Math.floor(Math.log10(step)), error2 = step / Math.pow(10, power), factor = error2 >= e10 ? 10 : error2 >= e5 ? 5 : error2 >= e2 ? 2 : 1;
|
|
229585
|
+
let i1, i2, inc;
|
|
229586
|
+
if (power < 0) {
|
|
229587
|
+
inc = Math.pow(10, -power) / factor;
|
|
229588
|
+
i1 = Math.round(start2 * inc);
|
|
229589
|
+
i2 = Math.round(stop3 * inc);
|
|
229590
|
+
if (i1 / inc < start2) ++i1;
|
|
229591
|
+
if (i2 / inc > stop3) --i2;
|
|
229592
|
+
inc = -inc;
|
|
229593
|
+
} else {
|
|
229594
|
+
inc = Math.pow(10, power) * factor;
|
|
229595
|
+
i1 = Math.round(start2 / inc);
|
|
229596
|
+
i2 = Math.round(stop3 / inc);
|
|
229597
|
+
if (i1 * inc < start2) ++i1;
|
|
229598
|
+
if (i2 * inc > stop3) --i2;
|
|
229599
|
+
}
|
|
229600
|
+
if (i2 < i1 && 0.5 <= count2 && count2 < 2) return tickSpec(start2, stop3, count2 * 2);
|
|
229601
|
+
return [i1, i2, inc];
|
|
229602
|
+
}
|
|
229795
229603
|
function ticks(start2, stop3, count2) {
|
|
229796
|
-
var reverse2, i2 = -1, n3, ticks2, step;
|
|
229797
229604
|
stop3 = +stop3, start2 = +start2, count2 = +count2;
|
|
229798
|
-
if (
|
|
229799
|
-
if (
|
|
229800
|
-
|
|
229801
|
-
if (
|
|
229802
|
-
|
|
229803
|
-
|
|
229804
|
-
if (
|
|
229805
|
-
|
|
229806
|
-
while (++i2 < n3) ticks2[i2] = (r0 + i2) * step;
|
|
229605
|
+
if (!(count2 > 0)) return [];
|
|
229606
|
+
if (start2 === stop3) return [start2];
|
|
229607
|
+
const reverse2 = stop3 < start2, [i1, i2, inc] = reverse2 ? tickSpec(stop3, start2, count2) : tickSpec(start2, stop3, count2);
|
|
229608
|
+
if (!(i2 >= i1)) return [];
|
|
229609
|
+
const n3 = i2 - i1 + 1, ticks2 = new Array(n3);
|
|
229610
|
+
if (reverse2) {
|
|
229611
|
+
if (inc < 0) for (let i3 = 0; i3 < n3; ++i3) ticks2[i3] = (i2 - i3) / -inc;
|
|
229612
|
+
else for (let i3 = 0; i3 < n3; ++i3) ticks2[i3] = (i2 - i3) * inc;
|
|
229807
229613
|
} else {
|
|
229808
|
-
|
|
229809
|
-
let
|
|
229810
|
-
if (r0 / step < start2) ++r0;
|
|
229811
|
-
if (r1 / step > stop3) --r1;
|
|
229812
|
-
ticks2 = new Array(n3 = r1 - r0 + 1);
|
|
229813
|
-
while (++i2 < n3) ticks2[i2] = (r0 + i2) / step;
|
|
229614
|
+
if (inc < 0) for (let i3 = 0; i3 < n3; ++i3) ticks2[i3] = (i1 + i3) / -inc;
|
|
229615
|
+
else for (let i3 = 0; i3 < n3; ++i3) ticks2[i3] = (i1 + i3) * inc;
|
|
229814
229616
|
}
|
|
229815
|
-
if (reverse2) ticks2.reverse();
|
|
229816
229617
|
return ticks2;
|
|
229817
229618
|
}
|
|
229818
229619
|
function tickIncrement(start2, stop3, count2) {
|
|
229819
|
-
|
|
229820
|
-
return
|
|
229620
|
+
stop3 = +stop3, start2 = +start2, count2 = +count2;
|
|
229621
|
+
return tickSpec(start2, stop3, count2)[2];
|
|
229821
229622
|
}
|
|
229822
229623
|
function tickStep(start2, stop3, count2) {
|
|
229823
|
-
|
|
229824
|
-
|
|
229825
|
-
|
|
229826
|
-
else if (error2 >= e2) step1 *= 2;
|
|
229827
|
-
return stop3 < start2 ? -step1 : step1;
|
|
229624
|
+
stop3 = +stop3, start2 = +start2, count2 = +count2;
|
|
229625
|
+
const reverse2 = stop3 < start2, inc = reverse2 ? tickIncrement(stop3, start2, count2) : tickIncrement(start2, stop3, count2);
|
|
229626
|
+
return (reverse2 ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);
|
|
229828
229627
|
}
|
|
229829
229628
|
function max$3(values3, valueof) {
|
|
229830
229629
|
let max2;
|
|
@@ -229862,7 +229661,11 @@ function min$3(values3, valueof) {
|
|
|
229862
229661
|
}
|
|
229863
229662
|
return min2;
|
|
229864
229663
|
}
|
|
229865
|
-
function quickselect(array2, k, left2 = 0, right2 =
|
|
229664
|
+
function quickselect(array2, k, left2 = 0, right2 = Infinity, compare2) {
|
|
229665
|
+
k = Math.floor(k);
|
|
229666
|
+
left2 = Math.floor(Math.max(0, left2));
|
|
229667
|
+
right2 = Math.floor(Math.min(array2.length - 1, right2));
|
|
229668
|
+
if (!(left2 <= k && k <= right2)) return array2;
|
|
229866
229669
|
compare2 = compare2 === void 0 ? ascendingDefined : compareDefined(compare2);
|
|
229867
229670
|
while (right2 > left2) {
|
|
229868
229671
|
if (right2 - left2 > 600) {
|
|
@@ -229899,15 +229702,15 @@ function swap$1(array2, i2, j) {
|
|
|
229899
229702
|
}
|
|
229900
229703
|
function quantile$1(values3, p, valueof) {
|
|
229901
229704
|
values3 = Float64Array.from(numbers$4(values3, valueof));
|
|
229902
|
-
if (!(n3 = values3.length)) return;
|
|
229903
|
-
if (
|
|
229705
|
+
if (!(n3 = values3.length) || isNaN(p = +p)) return;
|
|
229706
|
+
if (p <= 0 || n3 < 2) return min$3(values3);
|
|
229904
229707
|
if (p >= 1) return max$3(values3);
|
|
229905
229708
|
var n3, i2 = (n3 - 1) * p, i0 = Math.floor(i2), value0 = max$3(quickselect(values3, i0).subarray(0, i0 + 1)), value1 = min$3(values3.subarray(i0 + 1));
|
|
229906
229709
|
return value0 + (value1 - value0) * (i2 - i0);
|
|
229907
229710
|
}
|
|
229908
|
-
function quantileSorted(values3, p, valueof = number$
|
|
229909
|
-
if (!(n3 = values3.length)) return;
|
|
229910
|
-
if (
|
|
229711
|
+
function quantileSorted(values3, p, valueof = number$8) {
|
|
229712
|
+
if (!(n3 = values3.length) || isNaN(p = +p)) return;
|
|
229713
|
+
if (p <= 0 || n3 < 2) return +valueof(values3[0], 0, values3);
|
|
229911
229714
|
if (p >= 1) return +valueof(values3[n3 - 1], n3 - 1, values3);
|
|
229912
229715
|
var n3, i2 = (n3 - 1) * p, i0 = Math.floor(i2), value0 = +valueof(values3[i0], i0, values3), value1 = +valueof(values3[i0 + 1], i0 + 1, values3);
|
|
229913
229716
|
return value0 + (value1 - value0) * (i2 - i0);
|
|
@@ -229942,7 +229745,7 @@ function* flatten$2(arrays) {
|
|
|
229942
229745
|
function merge$3(arrays) {
|
|
229943
229746
|
return Array.from(flatten$2(arrays));
|
|
229944
229747
|
}
|
|
229945
|
-
function range$
|
|
229748
|
+
function range$8(start2, stop3, step) {
|
|
229946
229749
|
start2 = +start2, stop3 = +stop3, step = (n3 = arguments.length) < 2 ? (stop3 = start2, start2 = 0, 1) : n3 < 3 ? 1 : +step;
|
|
229947
229750
|
var i2 = -1, n3 = Math.max(0, Math.ceil((stop3 - start2) / step)) | 0, range2 = new Array(n3);
|
|
229948
229751
|
while (++i2 < n3) {
|
|
@@ -230613,7 +230416,7 @@ function object$1(a2, b2) {
|
|
|
230613
230416
|
};
|
|
230614
230417
|
}
|
|
230615
230418
|
var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g");
|
|
230616
|
-
function zero$
|
|
230419
|
+
function zero$3(b2) {
|
|
230617
230420
|
return function() {
|
|
230618
230421
|
return b2;
|
|
230619
230422
|
};
|
|
@@ -230646,7 +230449,7 @@ function string(a2, b2) {
|
|
|
230646
230449
|
if (s2[i2]) s2[i2] += bs;
|
|
230647
230450
|
else s2[++i2] = bs;
|
|
230648
230451
|
}
|
|
230649
|
-
return s2.length < 2 ? q[0] ? one$2(q[0].x) : zero$
|
|
230452
|
+
return s2.length < 2 ? q[0] ? one$2(q[0].x) : zero$3(b2) : (b2 = q.length, function(t4) {
|
|
230650
230453
|
for (var i22 = 0, o2; i22 < b2; ++i22) s2[(o2 = q[i22]).i] = o2.x(t4);
|
|
230651
230454
|
return s2.join("");
|
|
230652
230455
|
});
|
|
@@ -230912,7 +230715,7 @@ function constants$1(x2) {
|
|
|
230912
230715
|
return x2;
|
|
230913
230716
|
};
|
|
230914
230717
|
}
|
|
230915
|
-
function number$
|
|
230718
|
+
function number$7(x2) {
|
|
230916
230719
|
return +x2;
|
|
230917
230720
|
}
|
|
230918
230721
|
var unit$1 = [0, 1];
|
|
@@ -230950,7 +230753,7 @@ function polymap(domain2, range2, interpolate2) {
|
|
|
230950
230753
|
r3[i2] = interpolate2(range2[i2], range2[i2 + 1]);
|
|
230951
230754
|
}
|
|
230952
230755
|
return function(x2) {
|
|
230953
|
-
var i22 = bisectRight$
|
|
230756
|
+
var i22 = bisectRight$1(domain2, x2, 1, j) - 1;
|
|
230954
230757
|
return r3[i22](d[i22](x2));
|
|
230955
230758
|
};
|
|
230956
230759
|
}
|
|
@@ -230973,7 +230776,7 @@ function transformer$3() {
|
|
|
230973
230776
|
return clamp2(untransform((input || (input = piecewise2(range2, domain2.map(transform3), interpolateNumber)))(y2)));
|
|
230974
230777
|
};
|
|
230975
230778
|
scale2.domain = function(_) {
|
|
230976
|
-
return arguments.length ? (domain2 = Array.from(_, number$
|
|
230779
|
+
return arguments.length ? (domain2 = Array.from(_, number$7), rescale()) : domain2.slice();
|
|
230977
230780
|
};
|
|
230978
230781
|
scale2.range = function(_) {
|
|
230979
230782
|
return arguments.length ? (range2 = Array.from(_), rescale()) : range2.slice();
|
|
@@ -231293,7 +231096,7 @@ function identity$6(domain2) {
|
|
|
231293
231096
|
}
|
|
231294
231097
|
scale2.invert = scale2;
|
|
231295
231098
|
scale2.domain = scale2.range = function(_) {
|
|
231296
|
-
return arguments.length ? (domain2 = Array.from(_, number$
|
|
231099
|
+
return arguments.length ? (domain2 = Array.from(_, number$7), scale2) : domain2.slice();
|
|
231297
231100
|
};
|
|
231298
231101
|
scale2.unknown = function(_) {
|
|
231299
231102
|
return arguments.length ? (unknown = _, scale2) : unknown;
|
|
@@ -231301,7 +231104,7 @@ function identity$6(domain2) {
|
|
|
231301
231104
|
scale2.copy = function() {
|
|
231302
231105
|
return identity$6(domain2).unknown(unknown);
|
|
231303
231106
|
};
|
|
231304
|
-
domain2 = arguments.length ? Array.from(domain2, number$
|
|
231107
|
+
domain2 = arguments.length ? Array.from(domain2, number$7) : [0, 1];
|
|
231305
231108
|
return linearish(scale2);
|
|
231306
231109
|
}
|
|
231307
231110
|
function nice$1(domain2, interval2) {
|
|
@@ -231491,7 +231294,7 @@ function quantile() {
|
|
|
231491
231294
|
return scale2;
|
|
231492
231295
|
}
|
|
231493
231296
|
function scale2(x2) {
|
|
231494
|
-
return x2 == null || isNaN(x2 = +x2) ? unknown : range2[bisectRight$
|
|
231297
|
+
return x2 == null || isNaN(x2 = +x2) ? unknown : range2[bisectRight$1(thresholds, x2)];
|
|
231495
231298
|
}
|
|
231496
231299
|
scale2.invertExtent = function(y2) {
|
|
231497
231300
|
var i2 = range2.indexOf(y2);
|
|
@@ -231504,7 +231307,7 @@ function quantile() {
|
|
|
231504
231307
|
if (!arguments.length) return domain2.slice();
|
|
231505
231308
|
domain2 = [];
|
|
231506
231309
|
for (let d of _) if (d != null && !isNaN(d = +d)) domain2.push(d);
|
|
231507
|
-
domain2.sort(ascending$
|
|
231310
|
+
domain2.sort(ascending$4);
|
|
231508
231311
|
return rescale();
|
|
231509
231312
|
};
|
|
231510
231313
|
scale2.range = function(_) {
|
|
@@ -231524,7 +231327,7 @@ function quantile() {
|
|
|
231524
231327
|
function quantize$2() {
|
|
231525
231328
|
var x02 = 0, x12 = 1, n3 = 1, domain2 = [0.5], range2 = [0, 1], unknown;
|
|
231526
231329
|
function scale2(x2) {
|
|
231527
|
-
return x2 != null && x2 <= x2 ? range2[bisectRight$
|
|
231330
|
+
return x2 != null && x2 <= x2 ? range2[bisectRight$1(domain2, x2, 0, n3)] : unknown;
|
|
231528
231331
|
}
|
|
231529
231332
|
function rescale() {
|
|
231530
231333
|
var i2 = -1;
|
|
@@ -231556,7 +231359,7 @@ function quantize$2() {
|
|
|
231556
231359
|
function threshold() {
|
|
231557
231360
|
var domain2 = [0.5], range2 = [0, 1], unknown, n3 = 1;
|
|
231558
231361
|
function scale2(x2) {
|
|
231559
|
-
return x2 != null && x2 <= x2 ? range2[bisectRight$
|
|
231362
|
+
return x2 != null && x2 <= x2 ? range2[bisectRight$1(domain2, x2, 0, n3)] : unknown;
|
|
231560
231363
|
}
|
|
231561
231364
|
scale2.domain = function(_) {
|
|
231562
231365
|
return arguments.length ? (domain2 = Array.from(_), n3 = Math.min(domain2.length, range2.length - 1), scale2) : domain2.slice();
|
|
@@ -231870,7 +231673,7 @@ function ticker(year2, month2, week2, day2, hour2, minute2) {
|
|
|
231870
231673
|
}
|
|
231871
231674
|
function tickInterval(start2, stop3, count2) {
|
|
231872
231675
|
const target2 = Math.abs(stop3 - start2) / count2;
|
|
231873
|
-
const i2 = bisector$
|
|
231676
|
+
const i2 = bisector$1(([, , step2]) => step2).right(tickIntervals, target2);
|
|
231874
231677
|
if (i2 === tickIntervals.length) return year2.every(tickStep(start2 / durationYear$1, stop3 / durationYear$1, count2));
|
|
231875
231678
|
if (i2 === 0) return millisecond.every(Math.max(tickStep(start2, stop3, count2), 1));
|
|
231876
231679
|
const [t4, step] = tickIntervals[target2 / tickIntervals[i2 - 1][2] < tickIntervals[i2][2] / target2 ? i2 - 1 : i2];
|
|
@@ -232442,7 +232245,7 @@ function defaultLocale$1(definition2) {
|
|
|
232442
232245
|
function date(t4) {
|
|
232443
232246
|
return new Date(t4);
|
|
232444
232247
|
}
|
|
232445
|
-
function number$
|
|
232248
|
+
function number$6(t4) {
|
|
232446
232249
|
return t4 instanceof Date ? +t4 : +/* @__PURE__ */ new Date(+t4);
|
|
232447
232250
|
}
|
|
232448
232251
|
function calendar(ticks2, tickInterval, year2, month2, week2, day2, hour2, minute2, second2, format2) {
|
|
@@ -232455,7 +232258,7 @@ function calendar(ticks2, tickInterval, year2, month2, week2, day2, hour2, minut
|
|
|
232455
232258
|
return new Date(invert2(y2));
|
|
232456
232259
|
};
|
|
232457
232260
|
scale2.domain = function(_) {
|
|
232458
|
-
return arguments.length ? domain2(Array.from(_, number$
|
|
232261
|
+
return arguments.length ? domain2(Array.from(_, number$6)) : domain2().map(date);
|
|
232459
232262
|
};
|
|
232460
232263
|
scale2.ticks = function(interval2) {
|
|
232461
232264
|
var d = domain2();
|
|
@@ -232615,7 +232418,7 @@ function translateX(x2) {
|
|
|
232615
232418
|
function translateY(y2) {
|
|
232616
232419
|
return "translate(0," + y2 + ")";
|
|
232617
232420
|
}
|
|
232618
|
-
function number$
|
|
232421
|
+
function number$5(scale2) {
|
|
232619
232422
|
return (d) => +scale2(d);
|
|
232620
232423
|
}
|
|
232621
232424
|
function center(scale2, offset2) {
|
|
@@ -232629,7 +232432,7 @@ function entering() {
|
|
|
232629
232432
|
function axis(orient2, scale2) {
|
|
232630
232433
|
var tickArguments = [], tickValues2 = null, tickFormat2 = null, tickSizeInner = 6, tickSizeOuter = 6, tickPadding = 3, offset2 = typeof window !== "undefined" && window.devicePixelRatio > 1 ? 0 : 0.5, k = orient2 === top || orient2 === left ? -1 : 1, x2 = orient2 === left || orient2 === right ? "x" : "y", transform3 = orient2 === top || orient2 === bottom ? translateX : translateY;
|
|
232631
232434
|
function axis2(context2) {
|
|
232632
|
-
var values3 = tickValues2 == null ? scale2.ticks ? scale2.ticks.apply(scale2, tickArguments) : scale2.domain() : tickValues2, format2 = tickFormat2 == null ? scale2.tickFormat ? scale2.tickFormat.apply(scale2, tickArguments) : identity$5 : tickFormat2, spacing2 = Math.max(tickSizeInner, 0) + tickPadding, range2 = scale2.range(), range0 = +range2[0] + offset2, range1 = +range2[range2.length - 1] + offset2, position2 = (scale2.bandwidth ? center : number$
|
|
232435
|
+
var values3 = tickValues2 == null ? scale2.ticks ? scale2.ticks.apply(scale2, tickArguments) : scale2.domain() : tickValues2, format2 = tickFormat2 == null ? scale2.tickFormat ? scale2.tickFormat.apply(scale2, tickArguments) : identity$5 : tickFormat2, spacing2 = Math.max(tickSizeInner, 0) + tickPadding, range2 = scale2.range(), range0 = +range2[0] + offset2, range1 = +range2[range2.length - 1] + offset2, position2 = (scale2.bandwidth ? center : number$5)(scale2.copy(), offset2), selection = context2.selection ? context2.selection() : context2, path2 = selection.selectAll(".domain").data([null]), tick2 = selection.selectAll(".tick").data(values3, scale2).order(), tickExit = tick2.exit(), tickEnter = tick2.enter().append("g").attr("class", "tick"), line2 = tick2.select("line"), text2 = tick2.select("text");
|
|
232633
232436
|
path2 = path2.merge(path2.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor"));
|
|
232634
232437
|
tick2 = tick2.merge(tickEnter);
|
|
232635
232438
|
line2 = line2.merge(tickEnter.append("line").attr("stroke", "currentColor").attr(x2 + "2", k * tickSizeInner));
|
|
@@ -232762,6 +232565,9 @@ function ramp(color2, n3 = 256) {
|
|
|
232762
232565
|
canvas.width = n3;
|
|
232763
232566
|
canvas.height = 1;
|
|
232764
232567
|
const context2 = canvas.getContext("2d");
|
|
232568
|
+
if (!context2) {
|
|
232569
|
+
throw new Error("Could not get 2d context from canvas");
|
|
232570
|
+
}
|
|
232765
232571
|
for (let i2 = 0; i2 < n3; ++i2) {
|
|
232766
232572
|
context2.fillStyle = color2(i2 / (n3 - 1));
|
|
232767
232573
|
context2.fillRect(i2, 0, 1, 1);
|
|
@@ -232780,6 +232586,8 @@ function getXlinkHref(cmap) {
|
|
|
232780
232586
|
}
|
|
232781
232587
|
const useStyles$q = makeStyles()(() => ({
|
|
232782
232588
|
legend: {
|
|
232589
|
+
position: "relative",
|
|
232590
|
+
// Needed for absolute positioning of slider overlay
|
|
232783
232591
|
top: "2px",
|
|
232784
232592
|
right: "2px",
|
|
232785
232593
|
fontSize: "10px !important",
|
|
@@ -232811,6 +232619,74 @@ const useStyles$q = makeStyles()(() => ({
|
|
|
232811
232619
|
},
|
|
232812
232620
|
legendInvisible: {
|
|
232813
232621
|
display: "none"
|
|
232622
|
+
},
|
|
232623
|
+
sliderContainer: {
|
|
232624
|
+
position: "absolute",
|
|
232625
|
+
// Position at the colormap location: top offset = titleHeight
|
|
232626
|
+
top: "10px",
|
|
232627
|
+
// titleHeight
|
|
232628
|
+
left: "2px",
|
|
232629
|
+
// Account for parent padding
|
|
232630
|
+
width: "calc(100% - 4px)",
|
|
232631
|
+
// Account for left and right padding
|
|
232632
|
+
height: "8px",
|
|
232633
|
+
// rectHeight
|
|
232634
|
+
"&:hover $sliderThumb": {
|
|
232635
|
+
opacity: 1
|
|
232636
|
+
}
|
|
232637
|
+
},
|
|
232638
|
+
sliderRoot: {
|
|
232639
|
+
position: "absolute",
|
|
232640
|
+
top: 0,
|
|
232641
|
+
left: 0,
|
|
232642
|
+
width: "100%",
|
|
232643
|
+
height: "8px",
|
|
232644
|
+
// rectHeight
|
|
232645
|
+
padding: 0,
|
|
232646
|
+
"& .MuiSlider-rail": {
|
|
232647
|
+
display: "none"
|
|
232648
|
+
},
|
|
232649
|
+
"& .MuiSlider-track": {
|
|
232650
|
+
display: "none"
|
|
232651
|
+
},
|
|
232652
|
+
"& .MuiSlider-valueLabel": {
|
|
232653
|
+
fontSize: "9px",
|
|
232654
|
+
padding: "2px 4px",
|
|
232655
|
+
backgroundColor: "rgb(0, 0, 0)",
|
|
232656
|
+
borderRadius: "2px"
|
|
232657
|
+
}
|
|
232658
|
+
},
|
|
232659
|
+
sliderThumb: {
|
|
232660
|
+
width: "4px",
|
|
232661
|
+
height: "12px",
|
|
232662
|
+
borderRadius: "2px",
|
|
232663
|
+
backgroundColor: "white",
|
|
232664
|
+
border: "1px solid black",
|
|
232665
|
+
opacity: 0,
|
|
232666
|
+
transition: "opacity 0.15s ease-in-out",
|
|
232667
|
+
"&:hover, &.Mui-focusVisible": {
|
|
232668
|
+
boxShadow: "0 0 0 4px rgba(0, 0, 0, 0.16)",
|
|
232669
|
+
opacity: 1
|
|
232670
|
+
},
|
|
232671
|
+
"&.Mui-active": {
|
|
232672
|
+
boxShadow: "0 0 0 6px rgba(0, 0, 0, 0.16)",
|
|
232673
|
+
opacity: 1
|
|
232674
|
+
}
|
|
232675
|
+
},
|
|
232676
|
+
colormapImage: {
|
|
232677
|
+
position: "absolute",
|
|
232678
|
+
top: "2px",
|
|
232679
|
+
height: "6px",
|
|
232680
|
+
// rectHeight
|
|
232681
|
+
pointerEvents: "none"
|
|
232682
|
+
},
|
|
232683
|
+
grayTrack: {
|
|
232684
|
+
position: "absolute",
|
|
232685
|
+
top: "2px",
|
|
232686
|
+
height: "6px",
|
|
232687
|
+
// rectHeight
|
|
232688
|
+
backgroundColor: "rgba(128, 128, 128, 0.5)",
|
|
232689
|
+
pointerEvents: "none"
|
|
232814
232690
|
}
|
|
232815
232691
|
}));
|
|
232816
232692
|
const titleHeight = 10;
|
|
@@ -232820,21 +232696,23 @@ const rectMarginX = 2;
|
|
|
232820
232696
|
function combineExtents(extents, featureAggregationStrategy) {
|
|
232821
232697
|
if (Array.isArray(extents)) {
|
|
232822
232698
|
if (Array.isArray(extents?.[0])) {
|
|
232699
|
+
const extentsArray = extents;
|
|
232823
232700
|
if (featureAggregationStrategy === "first") {
|
|
232824
|
-
return
|
|
232701
|
+
return extentsArray[0];
|
|
232825
232702
|
}
|
|
232826
232703
|
if (featureAggregationStrategy === "last") {
|
|
232827
|
-
return
|
|
232704
|
+
return extentsArray.at(-1) || null;
|
|
232828
232705
|
}
|
|
232829
232706
|
if (typeof featureAggregationStrategy === "number") {
|
|
232830
232707
|
const i2 = featureAggregationStrategy;
|
|
232831
|
-
return
|
|
232708
|
+
return extentsArray[i2];
|
|
232832
232709
|
}
|
|
232833
232710
|
if (featureAggregationStrategy === "sum") {
|
|
232834
|
-
return
|
|
232711
|
+
return extentsArray.reduce((a2, h2) => [a2[0] + h2[0], a2[1] + h2[1]]);
|
|
232835
232712
|
}
|
|
232836
232713
|
if (featureAggregationStrategy === "mean") {
|
|
232837
|
-
|
|
232714
|
+
const sum2 = extentsArray.reduce((a2, h2) => [a2[0] + h2[0], a2[1] + h2[1]]);
|
|
232715
|
+
return [sum2[0] / extentsArray.length, sum2[1] / extentsArray.length];
|
|
232838
232716
|
}
|
|
232839
232717
|
} else {
|
|
232840
232718
|
return extents;
|
|
@@ -232848,7 +232726,7 @@ function combineMissings(missings, featureAggregationStrategy) {
|
|
|
232848
232726
|
return missings[0];
|
|
232849
232727
|
}
|
|
232850
232728
|
if (featureAggregationStrategy === "last") {
|
|
232851
|
-
return missings.at(-1);
|
|
232729
|
+
return missings.at(-1) || null;
|
|
232852
232730
|
}
|
|
232853
232731
|
if (typeof featureAggregationStrategy === "number") {
|
|
232854
232732
|
const i2 = featureAggregationStrategy;
|
|
@@ -232864,52 +232742,127 @@ function combineMissings(missings, featureAggregationStrategy) {
|
|
|
232864
232742
|
return null;
|
|
232865
232743
|
}
|
|
232866
232744
|
function Legend(props) {
|
|
232867
|
-
const {
|
|
232868
|
-
|
|
232745
|
+
const {
|
|
232746
|
+
visible: visibleProp,
|
|
232747
|
+
positionRelative = false,
|
|
232748
|
+
highContrast = false,
|
|
232749
|
+
obsType,
|
|
232750
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
232751
|
+
featureType: _featureType = void 0,
|
|
232752
|
+
// Unused but accepted for API compatibility
|
|
232753
|
+
featureValueType,
|
|
232754
|
+
considerSelections = true,
|
|
232755
|
+
obsColorEncoding,
|
|
232756
|
+
featureSelection,
|
|
232757
|
+
featureLabelsMap,
|
|
232758
|
+
featureValueColormap,
|
|
232759
|
+
featureValueColormapRange,
|
|
232760
|
+
setFeatureValueColormapRange,
|
|
232761
|
+
spatialChannelColor,
|
|
232762
|
+
spatialLayerColor,
|
|
232763
|
+
obsSetSelection,
|
|
232764
|
+
obsSetColor,
|
|
232765
|
+
featureAggregationStrategy,
|
|
232766
|
+
extent: extent2,
|
|
232767
|
+
missing,
|
|
232768
|
+
width: width2 = 100,
|
|
232769
|
+
height: height2 = 36,
|
|
232770
|
+
maxHeight: maxHeight2 = null,
|
|
232771
|
+
theme,
|
|
232772
|
+
showObsLabel = false,
|
|
232773
|
+
pointsVisible = true,
|
|
232774
|
+
contoursVisible = false,
|
|
232775
|
+
contoursFilled,
|
|
232776
|
+
contourPercentiles,
|
|
232777
|
+
contourThresholds
|
|
232778
|
+
} = props;
|
|
232779
|
+
const svgRef = useRef(null);
|
|
232869
232780
|
const { classes: classes2 } = useStyles$q();
|
|
232781
|
+
const [localRange, setLocalRange] = useState(featureValueColormapRange);
|
|
232782
|
+
useEffect(() => {
|
|
232783
|
+
setLocalRange(featureValueColormapRange);
|
|
232784
|
+
}, [featureValueColormapRange]);
|
|
232785
|
+
const debouncedSetRange = useMemo$1(() => setFeatureValueColormapRange ? debounce$5((value2) => {
|
|
232786
|
+
setFeatureValueColormapRange(value2);
|
|
232787
|
+
}, 5, { leading: false, trailing: true }) : null, [setFeatureValueColormapRange]);
|
|
232788
|
+
useEffect(() => () => {
|
|
232789
|
+
if (debouncedSetRange) {
|
|
232790
|
+
debouncedSetRange.cancel();
|
|
232791
|
+
}
|
|
232792
|
+
}, [debouncedSetRange]);
|
|
232793
|
+
const handleSliderChange = useCallback((_event, newValue) => {
|
|
232794
|
+
const rangeValue = newValue;
|
|
232795
|
+
setLocalRange(rangeValue);
|
|
232796
|
+
if (debouncedSetRange) {
|
|
232797
|
+
debouncedSetRange(rangeValue);
|
|
232798
|
+
}
|
|
232799
|
+
}, [debouncedSetRange]);
|
|
232870
232800
|
const isDarkTheme = theme === "dark";
|
|
232871
232801
|
const isStaticColor = obsColorEncoding === "spatialChannelColor" || obsColorEncoding === "spatialLayerColor";
|
|
232872
232802
|
const isSetColor = obsColorEncoding === "cellSetSelection";
|
|
232873
|
-
const layerColor = Array.isArray(spatialLayerColor) && spatialLayerColor.length === 3 ? spatialLayerColor : getDefaultColor(theme);
|
|
232874
|
-
const channelColor = Array.isArray(spatialChannelColor) && spatialChannelColor.length === 3 ? spatialChannelColor : getDefaultColor(theme);
|
|
232803
|
+
const layerColor = Array.isArray(spatialLayerColor) && spatialLayerColor.length === 3 ? spatialLayerColor : getDefaultColor(theme ?? "light");
|
|
232804
|
+
const channelColor = Array.isArray(spatialChannelColor) && spatialChannelColor.length === 3 ? spatialChannelColor : getDefaultColor(theme ?? "light");
|
|
232875
232805
|
const staticColor = obsColorEncoding === "spatialChannelColor" ? channelColor : layerColor;
|
|
232876
|
-
const visible = visibleProp && (!considerSelections || obsColorEncoding
|
|
232806
|
+
const visible = visibleProp && (!considerSelections || ["geneSelection", "geneExpression"].includes(obsColorEncoding ?? "") && featureSelection && Array.isArray(featureSelection) && featureSelection.length >= 1 || isSetColor && (obsSetSelection?.length ?? 0) > 0 && (obsSetColor?.length ?? 0) > 0 || isStaticColor);
|
|
232877
232807
|
const levelZeroNames = useMemo$1(() => Array.from(new Set(obsSetSelection?.map((setPath) => setPath[0]) || [])), [obsSetSelection]);
|
|
232878
|
-
const dynamicHeight = isSetColor && obsSetSelection ? levelZeroNames.length * titleHeight + obsSetSelection?.length * (rectHeight + rectMarginY) : height2 + (!pointsVisible && contoursVisible ? 25 : 0);
|
|
232808
|
+
const dynamicHeight = isSetColor && obsSetSelection ? levelZeroNames.length * titleHeight + (obsSetSelection?.length ?? 0) * (rectHeight + rectMarginY) : height2 + (!pointsVisible && contoursVisible ? 25 : 0);
|
|
232879
232809
|
const availHeight = maxHeight2 !== null ? Math.max(0, maxHeight2 - 4) : Infinity;
|
|
232880
232810
|
const needsScroll = Number.isFinite(availHeight) && dynamicHeight > availHeight + 1;
|
|
232881
232811
|
useEffect(() => {
|
|
232882
232812
|
const domElement = svgRef.current;
|
|
232813
|
+
if (!domElement)
|
|
232814
|
+
return;
|
|
232883
232815
|
const foregroundColor = highContrast ? "black" : isDarkTheme ? "white" : "black";
|
|
232884
232816
|
const svg2 = select$1(domElement);
|
|
232885
232817
|
svg2.selectAll("g").remove();
|
|
232886
232818
|
svg2.attr("width", width2).attr("height", dynamicHeight);
|
|
232887
232819
|
const g2 = svg2.append("g").attr("width", width2).attr("height", dynamicHeight);
|
|
232888
|
-
|
|
232889
|
-
|
|
232820
|
+
const showInteractiveSlider2 = setFeatureValueColormapRange && ["geneSelection", "geneExpression"].includes(obsColorEncoding ?? "") && pointsVisible && featureValueColormap;
|
|
232821
|
+
if (!considerSelections || ["geneSelection", "geneExpression"].includes(obsColorEncoding ?? "")) {
|
|
232822
|
+
const combinedExtent = combineExtents(extent2 ?? null, featureAggregationStrategy ?? null) || [0, 1];
|
|
232823
|
+
const [xMin, xMax] = combinedExtent;
|
|
232890
232824
|
if (featureValueColormap && pointsVisible) {
|
|
232891
|
-
const
|
|
232892
|
-
|
|
232893
|
-
const [rMin, rMax] =
|
|
232825
|
+
const xlinkHref2 = getXlinkHref(featureValueColormap);
|
|
232826
|
+
const currentRange = showInteractiveSlider2 ? localRange : featureValueColormapRange;
|
|
232827
|
+
const [rMin, rMax] = currentRange || [0, 1];
|
|
232828
|
+
if (showInteractiveSlider2) ;
|
|
232829
|
+
else if (setFeatureValueColormapRange) {
|
|
232830
|
+
g2.append("image").attr("x", rMin * width2).attr("y", titleHeight).attr("width", (rMax - rMin) * width2).attr("height", rectHeight).attr("preserveAspectRatio", "none").attr("href", xlinkHref2);
|
|
232831
|
+
} else {
|
|
232832
|
+
g2.append("image").attr("x", 0).attr("y", titleHeight).attr("width", width2).attr("height", rectHeight).attr("preserveAspectRatio", "none").attr("href", xlinkHref2);
|
|
232833
|
+
}
|
|
232894
232834
|
const scaledDataExtent = [
|
|
232895
232835
|
xMin + (xMax - xMin) * rMin,
|
|
232896
232836
|
xMax - (xMax - xMin) * (1 - rMax)
|
|
232897
232837
|
];
|
|
232898
|
-
|
|
232899
|
-
|
|
232900
|
-
|
|
232901
|
-
|
|
232902
|
-
|
|
232903
|
-
|
|
232838
|
+
let x2;
|
|
232839
|
+
if (setFeatureValueColormapRange || showInteractiveSlider2) {
|
|
232840
|
+
x2 = linear$1().domain(scaledDataExtent).range([rMin * width2, rMax * width2]);
|
|
232841
|
+
} else {
|
|
232842
|
+
x2 = linear$1().domain(scaledDataExtent).range([0, width2]);
|
|
232843
|
+
}
|
|
232844
|
+
if (showInteractiveSlider2) {
|
|
232845
|
+
const xGlobal = linear$1().domain([xMin, xMax]).range([0, width2 - 4]);
|
|
232846
|
+
const axisTicks2 = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight})`).style("font-size", "10px").call(axisBottom(xGlobal).tickValues([xMin, xMax]));
|
|
232847
|
+
axisTicks2.selectAll("line,path").style("stroke", foregroundColor);
|
|
232848
|
+
axisTicks2.selectAll("text").style("fill", foregroundColor);
|
|
232849
|
+
axisTicks2.selectAll("text").attr("text-anchor", (_d2, i2) => i2 === 0 ? "start" : "end");
|
|
232850
|
+
} else {
|
|
232851
|
+
const axisTicks2 = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight})`).style("font-size", "10px").call(axisBottom(x2).tickValues(scaledDataExtent));
|
|
232852
|
+
axisTicks2.selectAll("line,path").style("stroke", foregroundColor);
|
|
232853
|
+
axisTicks2.selectAll("text").style("fill", foregroundColor);
|
|
232854
|
+
axisTicks2.selectAll("text").attr("text-anchor", (_d2, i2) => i2 === 0 ? "start" : "end");
|
|
232855
|
+
}
|
|
232856
|
+
} else if (contoursVisible && contourPercentiles) {
|
|
232904
232857
|
const tSize = 12;
|
|
232905
232858
|
const xPercentile = linear$1().domain([0, 1]).range([tSize / 2, width2 - tSize / 2 - 2]);
|
|
232906
|
-
const axisTicks2 = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight + 15})`).style("font-size", "9px").call(axisBottom(xPercentile).tickValues(contourPercentiles).tickFormat(format$8(".0%")).tickSizeOuter(0));
|
|
232859
|
+
const axisTicks2 = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight + 15})`).style("font-size", "9px").call(axisBottom(xPercentile).tickValues(contourPercentiles).tickFormat((d) => format$8(".0%")(d)).tickSizeOuter(0));
|
|
232907
232860
|
axisTicks2.selectAll("line,path").style("stroke", foregroundColor);
|
|
232908
232861
|
axisTicks2.selectAll("text").style("fill", foregroundColor);
|
|
232909
232862
|
const NEIGHBOR_THRESHOLD = 18;
|
|
232910
|
-
const contourPercentages = contourPercentiles.map((
|
|
232863
|
+
const contourPercentages = contourPercentiles.map((p) => p * 100);
|
|
232911
232864
|
if (contourPercentages?.[1] - contourPercentages?.[0] <= NEIGHBOR_THRESHOLD || contourPercentages?.[2] - contourPercentages?.[1] <= NEIGHBOR_THRESHOLD) {
|
|
232912
|
-
axisTicks2.selectAll("text").attr("transform", (
|
|
232865
|
+
axisTicks2.selectAll("text").attr("transform", (_d2, i2) => `translate(0,${i2 === 0 || i2 === contourPercentiles.length - 1 ? 0 : 10})`);
|
|
232913
232866
|
}
|
|
232914
232867
|
const triangleGroupG = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight + 4})`);
|
|
232915
232868
|
contourPercentiles.forEach((p, i2) => {
|
|
@@ -232919,7 +232872,7 @@ function Legend(props) {
|
|
|
232919
232872
|
const thresholdGroupG = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight})`);
|
|
232920
232873
|
const thresholdFormatter = format$8(".0f");
|
|
232921
232874
|
contourPercentiles.forEach((p, i2) => {
|
|
232922
|
-
const contourThreshold = xMin + (xMax - xMin) * (contourThresholds?.[i2] / 255);
|
|
232875
|
+
const contourThreshold = xMin + (xMax - xMin) * ((contourThresholds?.[i2] ?? 0) / 255);
|
|
232923
232876
|
const thresholdG = thresholdGroupG.append("g").attr("transform", `translate(${xPercentile(p)},0)`).style("font-size", "7px");
|
|
232924
232877
|
thresholdG.append("text").text(thresholdFormatter(contourThreshold)).style("fill", foregroundColor).attr("text-anchor", "middle");
|
|
232925
232878
|
});
|
|
@@ -232942,9 +232895,9 @@ function Legend(props) {
|
|
|
232942
232895
|
g2.append("text").attr("text-anchor", "start").attr("dominant-baseline", "hanging").attr("x", 0).attr("y", y2).text(levelZeroName).style("font-size", "9px").style("fill", foregroundColor);
|
|
232943
232896
|
y2 += titleHeight;
|
|
232944
232897
|
setPaths.forEach((setPath) => {
|
|
232945
|
-
const setColor2 = obsSetColor?.find((d) => isEqual$3(d.path, setPath))?.color || getDefaultColor(theme);
|
|
232898
|
+
const setColor2 = obsSetColor?.find((d) => isEqual$3(d.path, setPath))?.color || getDefaultColor(theme ?? "light");
|
|
232946
232899
|
g2.append("rect").attr("x", 0).attr("y", y2).attr("width", rectHeight).attr("height", rectHeight).attr("fill", `rgb(${setColor2[0]},${setColor2[1]},${setColor2[2]})`);
|
|
232947
|
-
g2.append("text").attr("text-anchor", "start").attr("dominant-baseline", "hanging").attr("x", rectHeight + rectMarginX).attr("y", y2).text(setPath.at(-1)).style("font-size", "9px").style("fill", foregroundColor);
|
|
232900
|
+
g2.append("text").attr("text-anchor", "start").attr("dominant-baseline", "hanging").attr("x", rectHeight + rectMarginX).attr("y", y2).text(setPath.at(-1) ?? "").style("font-size", "9px").style("fill", foregroundColor);
|
|
232948
232901
|
y2 += rectHeight + rectMarginY;
|
|
232949
232902
|
});
|
|
232950
232903
|
});
|
|
@@ -232965,17 +232918,17 @@ function Legend(props) {
|
|
|
232965
232918
|
} else {
|
|
232966
232919
|
featureSelectionLabelRawStr = featureSelectionLabelRaw?.[0];
|
|
232967
232920
|
}
|
|
232968
|
-
const combinedMissing = combineMissings(missing, featureAggregationStrategy);
|
|
232921
|
+
const combinedMissing = combineMissings(missing ?? null, featureAggregationStrategy ?? null);
|
|
232969
232922
|
const featureSelectionLabel = combinedMissing ? `${featureSelectionLabelRawStr} (${Math.round(combinedMissing * 100)}% NaN)` : featureSelectionLabelRawStr;
|
|
232970
|
-
const obsLabel = capitalize$3(obsType);
|
|
232971
|
-
const featureLabel = considerSelections ? featureSelectionLabel || capitalize$3(featureValueType) : capitalize$3(featureValueType);
|
|
232923
|
+
const obsLabel = capitalize$3(obsType ?? null);
|
|
232924
|
+
const featureLabel = considerSelections ? featureSelectionLabel || capitalize$3(featureValueType ?? null) : capitalize$3(featureValueType ?? null);
|
|
232972
232925
|
const mainLabel = showObsLabel ? obsLabel : featureLabel;
|
|
232973
232926
|
const subLabel = showObsLabel ? featureLabel : null;
|
|
232974
232927
|
const hasSubLabel = subLabel !== null;
|
|
232975
232928
|
if (!isSetColor) {
|
|
232976
|
-
g2.append("text").attr("text-anchor", hasSubLabel ? "start" : "end").attr("dominant-baseline", "hanging").attr("x", hasSubLabel ? 0 : width2).attr("y", 0).text(mainLabel).style("font-size", "10px").style("fill", foregroundColor);
|
|
232929
|
+
g2.append("text").attr("text-anchor", hasSubLabel ? "start" : "end").attr("dominant-baseline", "hanging").attr("x", hasSubLabel ? 0 : width2 - 4).attr("y", 0).text(mainLabel ?? "").style("font-size", "10px").style("fill", foregroundColor);
|
|
232977
232930
|
if (hasSubLabel) {
|
|
232978
|
-
g2.append("text").attr("text-anchor", "end").attr("dominant-baseline", "hanging").attr("x", width2).attr("y", titleHeight).text(subLabel).style("font-size", "9px").style("fill", foregroundColor);
|
|
232931
|
+
g2.append("text").attr("text-anchor", "end").attr("dominant-baseline", "hanging").attr("x", width2).attr("y", titleHeight + rectHeight).text(subLabel ?? "").style("font-size", "9px").style("fill", foregroundColor);
|
|
232979
232932
|
}
|
|
232980
232933
|
}
|
|
232981
232934
|
}, [
|
|
@@ -232983,6 +232936,7 @@ function Legend(props) {
|
|
|
232983
232936
|
height2,
|
|
232984
232937
|
featureValueColormap,
|
|
232985
232938
|
featureValueColormapRange,
|
|
232939
|
+
localRange,
|
|
232986
232940
|
considerSelections,
|
|
232987
232941
|
obsType,
|
|
232988
232942
|
obsColorEncoding,
|
|
@@ -233001,20 +232955,63 @@ function Legend(props) {
|
|
|
233001
232955
|
contoursFilled,
|
|
233002
232956
|
contoursVisible,
|
|
233003
232957
|
pointsVisible,
|
|
233004
|
-
featureAggregationStrategy
|
|
232958
|
+
featureAggregationStrategy,
|
|
232959
|
+
setFeatureValueColormapRange,
|
|
232960
|
+
dynamicHeight,
|
|
232961
|
+
highContrast,
|
|
232962
|
+
isStaticColor,
|
|
232963
|
+
missing,
|
|
232964
|
+
showObsLabel,
|
|
232965
|
+
staticColor
|
|
233005
232966
|
]);
|
|
233006
|
-
|
|
232967
|
+
const showInteractiveSlider = setFeatureValueColormapRange && ["geneSelection", "geneExpression"].includes(obsColorEncoding ?? "") && pointsVisible && featureValueColormap;
|
|
232968
|
+
const globalExtent = useMemo$1(() => {
|
|
232969
|
+
const combined = combineExtents(extent2 ?? null, featureAggregationStrategy ?? null);
|
|
232970
|
+
return combined || [0, 1];
|
|
232971
|
+
}, [extent2, featureAggregationStrategy]);
|
|
232972
|
+
const formatSliderValue = useCallback((value2) => {
|
|
232973
|
+
const [xMin, xMax] = globalExtent;
|
|
232974
|
+
const dataValue = xMin + (xMax - xMin) * value2;
|
|
232975
|
+
const range2 = xMax - xMin;
|
|
232976
|
+
if (range2 < 0.01) {
|
|
232977
|
+
return dataValue.toExponential(2);
|
|
232978
|
+
}
|
|
232979
|
+
if (range2 < 1) {
|
|
232980
|
+
return dataValue.toFixed(3);
|
|
232981
|
+
}
|
|
232982
|
+
if (range2 < 100) {
|
|
232983
|
+
return dataValue.toFixed(1);
|
|
232984
|
+
}
|
|
232985
|
+
return Math.round(dataValue).toString();
|
|
232986
|
+
}, [globalExtent]);
|
|
232987
|
+
const xlinkHref = featureValueColormap ? getXlinkHref(featureValueColormap) : null;
|
|
232988
|
+
const currentLocalRange = localRange || [0, 1];
|
|
232989
|
+
return jsxRuntimeExports.jsxs("div", { className: clsx(classes2.legend, {
|
|
233007
232990
|
[classes2.legendRelative]: positionRelative,
|
|
233008
232991
|
[classes2.legendAbsolute]: !positionRelative,
|
|
233009
232992
|
[classes2.legendHighContrast]: highContrast,
|
|
233010
232993
|
[classes2.legendLowContrast]: !highContrast,
|
|
233011
232994
|
[classes2.legendInvisible]: !visible
|
|
233012
232995
|
}), style: {
|
|
233013
|
-
...needsScroll ? { maxHeight: `${Math.floor(availHeight)}px`, overflowY: "auto" } : { maxHeight: void 0, overflowY: "visible" }
|
|
233014
|
-
|
|
232996
|
+
...needsScroll ? { maxHeight: `${Math.floor(availHeight)}px`, overflowY: "auto" } : { maxHeight: void 0, overflowY: "visible" },
|
|
232997
|
+
width: `${width2}px`
|
|
232998
|
+
}, children: [jsxRuntimeExports.jsx("svg", { ref: svgRef, style: {
|
|
233015
232999
|
width: `${width2}px`,
|
|
233016
233000
|
height: `${dynamicHeight}px`
|
|
233017
|
-
} })
|
|
233001
|
+
} }), showInteractiveSlider && xlinkHref && jsxRuntimeExports.jsxs("div", { className: classes2.sliderContainer, children: [currentLocalRange[0] > 0 && jsxRuntimeExports.jsx("div", { className: classes2.grayTrack, style: {
|
|
233002
|
+
left: 0,
|
|
233003
|
+
width: `${currentLocalRange[0] * 100}%`
|
|
233004
|
+
} }), currentLocalRange[1] < 1 && jsxRuntimeExports.jsx("div", { className: classes2.grayTrack, style: {
|
|
233005
|
+
left: `${currentLocalRange[1] * 100}%`,
|
|
233006
|
+
width: `${(1 - currentLocalRange[1]) * 100}%`
|
|
233007
|
+
} }), jsxRuntimeExports.jsx("img", { src: xlinkHref, alt: "Colormap gradient", className: classes2.colormapImage, style: {
|
|
233008
|
+
left: `${currentLocalRange[0] * 100}%`,
|
|
233009
|
+
width: `${(currentLocalRange[1] - currentLocalRange[0]) * 100}%`
|
|
233010
|
+
} }), jsxRuntimeExports.jsx(Slider, { className: classes2.sliderRoot, value: currentLocalRange, onChange: handleSliderChange, min: 0, max: 1, step: 0.01, disableSwap: true, valueLabelDisplay: "auto", valueLabelFormat: formatSliderValue, "aria-label": "Colormap range", getAriaLabel: (index2) => index2 === 0 ? "Colormap minimum" : "Colormap maximum", getAriaValueText: (value2) => formatSliderValue(value2), slotProps: {
|
|
233011
|
+
thumb: {
|
|
233012
|
+
className: classes2.sliderThumb
|
|
233013
|
+
}
|
|
233014
|
+
} })] })] });
|
|
233018
233015
|
}
|
|
233019
233016
|
const useStyles$p = makeStyles()(() => ({
|
|
233020
233017
|
multiLegend: {
|
|
@@ -233047,8 +233044,12 @@ function MultiLegend(props) {
|
|
|
233047
233044
|
const reversedSpotLayerScopes = useMemo$1(() => [...spotLayerScopes || []].reverse(), [spotLayerScopes]);
|
|
233048
233045
|
const reversedPointLayerScopes = useMemo$1(() => [...pointLayerScopes || []].reverse(), [pointLayerScopes]);
|
|
233049
233046
|
return jsxRuntimeExports.jsxs("div", { className: classes2.multiLegend, children: [pointLayerScopes ? reversedPointLayerScopes.flatMap((layerScope) => {
|
|
233050
|
-
const layerCoordination = pointLayerCoordination[0][layerScope];
|
|
233051
|
-
const
|
|
233047
|
+
const layerCoordination = pointLayerCoordination?.[0]?.[layerScope];
|
|
233048
|
+
const layerSetters = pointLayerCoordination?.[1]?.[layerScope];
|
|
233049
|
+
if (!layerCoordination)
|
|
233050
|
+
return null;
|
|
233051
|
+
const { spatialLayerVisible, obsColorEncoding, obsType, featureType, featureValueType, featureSelection, featureValueColormap, featureValueColormapRange, spatialLayerColor, legendVisible } = layerCoordination;
|
|
233052
|
+
const { setFeatureValueColormapRange } = layerSetters || {};
|
|
233052
233053
|
const isStaticColor = obsColorEncoding === "spatialLayerColor";
|
|
233053
233054
|
const height2 = isStaticColor ? 20 : 36;
|
|
233054
233055
|
return spatialLayerVisible && legendVisible ? jsxRuntimeExports.jsx(Legend, {
|
|
@@ -233063,30 +233064,39 @@ function MultiLegend(props) {
|
|
|
233063
233064
|
featureValueType,
|
|
233064
233065
|
obsColorEncoding,
|
|
233065
233066
|
spatialLayerColor,
|
|
233066
|
-
featureSelection
|
|
233067
|
+
featureSelection,
|
|
233067
233068
|
// featureLabelsMap={featureLabelsMap} // TODO
|
|
233068
|
-
featureValueColormap: "viridis",
|
|
233069
|
-
featureValueColormapRange: [0, 1],
|
|
233069
|
+
featureValueColormap: featureValueColormap || "viridis",
|
|
233070
|
+
featureValueColormapRange: featureValueColormapRange || [0, 1],
|
|
233071
|
+
setFeatureValueColormapRange,
|
|
233070
233072
|
extent: null,
|
|
233071
233073
|
height: height2
|
|
233072
233074
|
}, layerScope) : null;
|
|
233073
233075
|
}) : null, spotLayerScopes ? reversedSpotLayerScopes.flatMap((layerScope) => {
|
|
233074
|
-
const layerCoordination = spotLayerCoordination[0][layerScope];
|
|
233076
|
+
const layerCoordination = spotLayerCoordination?.[0][layerScope];
|
|
233077
|
+
const layerSetters = spotLayerCoordination?.[1]?.[layerScope];
|
|
233078
|
+
if (!layerCoordination)
|
|
233079
|
+
return null;
|
|
233075
233080
|
const { spatialLayerVisible, obsColorEncoding, featureValueColormap, featureValueColormapRange, obsType, featureType, featureValueType, featureSelection, featureAggregationStrategy, spatialLayerColor, legendVisible, obsSetSelection, obsSetColor } = layerCoordination;
|
|
233081
|
+
const { setFeatureValueColormapRange } = layerSetters || {};
|
|
233076
233082
|
const expressionExtents = spotMultiExpressionExtents?.[layerScope];
|
|
233077
233083
|
const firstExpressionExtent = expressionExtents?.[0];
|
|
233078
233084
|
const isStaticColor = obsColorEncoding === "spatialLayerColor";
|
|
233079
233085
|
const height2 = isStaticColor ? 20 : 36;
|
|
233080
233086
|
const featureLabelsMap = spotMultiFeatureLabels?.[layerScope]?.featureLabelsMap;
|
|
233081
|
-
return spatialLayerVisible && legendVisible ? jsxRuntimeExports.jsx(Legend, { maxHeight: maxHeight2, positionRelative: true, highContrast: true, showObsLabel: true, visible: spatialLayerVisible, theme, obsType, featureType, featureValueType, obsColorEncoding, spatialLayerColor, featureSelection, featureAggregationStrategy, featureLabelsMap, featureValueColormap, featureValueColormapRange, extent: firstExpressionExtent, height: height2, obsSetSelection, obsSetColor }, layerScope) : null;
|
|
233087
|
+
return spatialLayerVisible && legendVisible ? jsxRuntimeExports.jsx(Legend, { maxHeight: maxHeight2, positionRelative: true, highContrast: true, showObsLabel: true, visible: spatialLayerVisible, theme, obsType, featureType, featureValueType, obsColorEncoding, spatialLayerColor, featureSelection, featureAggregationStrategy, featureLabelsMap, featureValueColormap, featureValueColormapRange, setFeatureValueColormapRange, extent: firstExpressionExtent, height: height2, obsSetSelection, obsSetColor }, layerScope) : null;
|
|
233082
233088
|
}) : null, segmentationLayerScopes ? reversedSegmentationLayerScopes.flatMap((layerScope) => {
|
|
233083
|
-
const layerCoordination = segmentationLayerCoordination[0][layerScope];
|
|
233084
|
-
const channelScopes = segmentationChannelScopesByLayer[layerScope];
|
|
233085
|
-
const channelCoordination = segmentationChannelCoordination[0][layerScope];
|
|
233089
|
+
const layerCoordination = segmentationLayerCoordination?.[0][layerScope];
|
|
233090
|
+
const channelScopes = segmentationChannelScopesByLayer?.[layerScope];
|
|
233091
|
+
const channelCoordination = segmentationChannelCoordination?.[0][layerScope];
|
|
233092
|
+
const channelSetters = segmentationChannelCoordination?.[1]?.[layerScope];
|
|
233093
|
+
if (!layerCoordination)
|
|
233094
|
+
return null;
|
|
233086
233095
|
const { spatialLayerVisible } = layerCoordination;
|
|
233087
233096
|
const reversedChannelScopes = [...channelScopes || []].reverse();
|
|
233088
233097
|
return channelCoordination && channelScopes ? reversedChannelScopes.map((cScope) => {
|
|
233089
233098
|
const { spatialChannelVisible, spatialChannelColor, obsColorEncoding, featureValueColormap, featureValueColormapRange, obsType, featureType, featureValueType, featureSelection, featureAggregationStrategy, legendVisible, obsSetSelection, obsSetColor } = channelCoordination[cScope];
|
|
233099
|
+
const { setFeatureValueColormapRange } = channelSetters?.[cScope] || {};
|
|
233090
233100
|
const expressionExtents = segmentationMultiExpressionExtents?.[layerScope]?.[cScope];
|
|
233091
233101
|
const firstExpressionExtent = expressionExtents?.[0];
|
|
233092
233102
|
const isStaticColor = obsColorEncoding === "spatialChannelColor";
|
|
@@ -233107,6 +233117,7 @@ function MultiLegend(props) {
|
|
|
233107
233117
|
// featureLabelsMap={featureLabelsMap} // TODO
|
|
233108
233118
|
featureValueColormap,
|
|
233109
233119
|
featureValueColormapRange,
|
|
233120
|
+
setFeatureValueColormapRange,
|
|
233110
233121
|
extent: firstExpressionExtent,
|
|
233111
233122
|
height: height2,
|
|
233112
233123
|
spatialChannelColor,
|
|
@@ -233156,7 +233167,7 @@ function ChannelNamesLegend(props) {
|
|
|
233156
233167
|
const imageWrapperInstance = images?.[layerScope]?.image?.instance;
|
|
233157
233168
|
const channelNames = imageWrapperInstance?.getChannelNames();
|
|
233158
233169
|
const channelIndex = imageWrapperInstance?.getChannelIndex(spatialTargetC);
|
|
233159
|
-
const channelName = channelNames?.[channelIndex];
|
|
233170
|
+
const channelName = channelIndex !== void 0 ? channelNames?.[channelIndex] : void 0;
|
|
233160
233171
|
return spatialLayerVisible && spatialChannelVisible && spatialChannelLabelsVisible ? jsxRuntimeExports.jsx(Typography, { variant: "h6", className: classes2.channelNameText, style: {
|
|
233161
233172
|
color: rgbColor,
|
|
233162
233173
|
fontSize: `${spatialChannelLabelSize}px`
|
|
@@ -233315,7 +233326,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
233315
233326
|
}, [obsEmbedding]);
|
|
233316
233327
|
useEffect(() => {
|
|
233317
233328
|
if (xRange && yRange && width2 && height2) {
|
|
233318
|
-
const pointSizeDevicePixels = getPointSizeDevicePixels(window.devicePixelRatio, zoom2, xRange, yRange, width2, height2);
|
|
233329
|
+
const pointSizeDevicePixels = getPointSizeDevicePixels(window.devicePixelRatio, zoom2, xRange, yRange, width2, height2, numCells);
|
|
233319
233330
|
setDynamicCellRadius(pointSizeDevicePixels);
|
|
233320
233331
|
const nextCellOpacityScale = getPointOpacity(zoom2, xRange, yRange, width2, height2, numCells, averageFillDensity);
|
|
233321
233332
|
setDynamicCellOpacity(nextCellOpacityScale);
|
|
@@ -233354,7 +233365,14 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
233354
233365
|
const getCellIsSelected = useCallback((object2, { index: index2 }) => (cellSelectionSet || /* @__PURE__ */ new Set([])).has(obsEmbeddingIndex[index2]) ? 1 : 0, [cellSelectionSet, obsEmbeddingIndex]);
|
|
233355
233366
|
const cellRadius = cellRadiusMode === "manual" ? cellRadiusFixed : dynamicCellRadius;
|
|
233356
233367
|
const cellOpacity = cellOpacityMode === "manual" ? cellOpacityFixed : dynamicCellOpacity;
|
|
233357
|
-
const
|
|
233368
|
+
const aggregatedExpressionData = useMemo$1(() => {
|
|
233369
|
+
if (featureAggregationStrategyToUse != null && expressionData && expressionData.length > 1) {
|
|
233370
|
+
const aggregated = aggregateFeatureArrays(expressionData, featureAggregationStrategyToUse);
|
|
233371
|
+
return [aggregated];
|
|
233372
|
+
}
|
|
233373
|
+
return expressionData;
|
|
233374
|
+
}, [expressionData, featureAggregationStrategyToUse]);
|
|
233375
|
+
const { normData: uint8ExpressionData, extents: expressionExtents, missing: expressionMissing } = useUint8FeatureSelection(aggregatedExpressionData);
|
|
233358
233376
|
const getExpressionValue = useExpressionValueGetter({
|
|
233359
233377
|
instanceObsIndex: obsEmbeddingIndex,
|
|
233360
233378
|
matrixObsIndex,
|
|
@@ -233516,6 +233534,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
233516
233534
|
featureLabelsMap,
|
|
233517
233535
|
featureValueColormap: geneExpressionColormap,
|
|
233518
233536
|
featureValueColormapRange: geneExpressionColormapRange,
|
|
233537
|
+
setFeatureValueColormapRange: setGeneExpressionColormapRange,
|
|
233519
233538
|
obsSetSelection: cellSetSelection,
|
|
233520
233539
|
extent: expressionExtents,
|
|
233521
233540
|
missing: expressionMissing,
|
|
@@ -233743,7 +233762,7 @@ function GatingSubscriber(props) {
|
|
|
233743
233762
|
}, [obsXY]);
|
|
233744
233763
|
useEffect(() => {
|
|
233745
233764
|
if (xRange && yRange) {
|
|
233746
|
-
const pointSizeDevicePixels = getPointSizeDevicePixels(window.devicePixelRatio, zoom2, xRange, yRange, width2, height2);
|
|
233765
|
+
const pointSizeDevicePixels = getPointSizeDevicePixels(window.devicePixelRatio, zoom2, xRange, yRange, width2, height2, numCells);
|
|
233747
233766
|
setDynamicCellRadius(pointSizeDevicePixels);
|
|
233748
233767
|
const nextCellOpacityScale = getPointOpacity(zoom2, xRange, yRange, width2, height2, numCells, averageFillDensity);
|
|
233749
233768
|
setDynamicCellOpacity(nextCellOpacityScale);
|
|
@@ -248409,7 +248428,7 @@ var equalScalar = /* @__PURE__ */ createEqualScalar({
|
|
|
248409
248428
|
config: config$2,
|
|
248410
248429
|
typed
|
|
248411
248430
|
});
|
|
248412
|
-
var number$
|
|
248431
|
+
var number$4 = /* @__PURE__ */ createNumber({
|
|
248413
248432
|
typed
|
|
248414
248433
|
});
|
|
248415
248434
|
var multiplyScalar = /* @__PURE__ */ createMultiplyScalar({
|
|
@@ -248526,7 +248545,7 @@ var pow$4 = /* @__PURE__ */ createPow({
|
|
|
248526
248545
|
identity: identity$4,
|
|
248527
248546
|
matrix,
|
|
248528
248547
|
multiply,
|
|
248529
|
-
number: number$
|
|
248548
|
+
number: number$4,
|
|
248530
248549
|
typed
|
|
248531
248550
|
});
|
|
248532
248551
|
var bignumber = /* @__PURE__ */ createBignumber({
|
|
@@ -248536,7 +248555,7 @@ var bignumber = /* @__PURE__ */ createBignumber({
|
|
|
248536
248555
|
var numeric$1 = /* @__PURE__ */ createNumeric({
|
|
248537
248556
|
bignumber,
|
|
248538
248557
|
fraction,
|
|
248539
|
-
number: number$
|
|
248558
|
+
number: number$4
|
|
248540
248559
|
});
|
|
248541
248560
|
var subtract = /* @__PURE__ */ createSubtract({
|
|
248542
248561
|
DenseMatrix,
|
|
@@ -248630,7 +248649,7 @@ var Unit = /* @__PURE__ */ createUnitClass({
|
|
|
248630
248649
|
format: format$4,
|
|
248631
248650
|
isNumeric: isNumeric$1,
|
|
248632
248651
|
multiplyScalar,
|
|
248633
|
-
number: number$
|
|
248652
|
+
number: number$4,
|
|
248634
248653
|
pow: pow$4,
|
|
248635
248654
|
round,
|
|
248636
248655
|
subtract
|
|
@@ -250324,7 +250343,7 @@ let Array$2 = class Array2 extends (_a$5 = Location$1, _a$5) {
|
|
|
250324
250343
|
return is_dtype$1(this.dtype, query);
|
|
250325
250344
|
}
|
|
250326
250345
|
};
|
|
250327
|
-
function* range$
|
|
250346
|
+
function* range$7(start2, stop3, step = 1) {
|
|
250328
250347
|
if (stop3 === void 0) {
|
|
250329
250348
|
stop3 = start2;
|
|
250330
250349
|
start2 = 0;
|
|
@@ -250468,7 +250487,7 @@ let SliceDimIndexer$1 = class SliceDimIndexer {
|
|
|
250468
250487
|
*[Symbol.iterator]() {
|
|
250469
250488
|
const dim_chunk_ix_from = Math.floor(this.start / this.dim_chunk_len);
|
|
250470
250489
|
const dim_chunk_ix_to = Math.ceil(this.stop / this.dim_chunk_len);
|
|
250471
|
-
for (const dim_chunk_ix of range$
|
|
250490
|
+
for (const dim_chunk_ix of range$7(dim_chunk_ix_from, dim_chunk_ix_to)) {
|
|
250472
250491
|
const dim_offset = dim_chunk_ix * this.dim_chunk_len;
|
|
250473
250492
|
const dim_limit = Math.min(this.dim_len, (dim_chunk_ix + 1) * this.dim_chunk_len);
|
|
250474
250493
|
const dim_chunk_len = dim_limit - dim_offset;
|
|
@@ -251833,7 +251852,7 @@ function parseV1(spec, renderString) {
|
|
|
251833
251852
|
function* iterDims(dimensions) {
|
|
251834
251853
|
const keys2 = Object.keys(dimensions);
|
|
251835
251854
|
const iterables = Object.values(dimensions).map(
|
|
251836
|
-
(i2) => Array.isArray(i2) ? i2 : [...range$
|
|
251855
|
+
(i2) => Array.isArray(i2) ? i2 : [...range$6(i2)]
|
|
251837
251856
|
);
|
|
251838
251857
|
for (const values3 of product$1(...iterables)) {
|
|
251839
251858
|
yield Object.fromEntries(keys2.map((key2, i2) => [key2, values3[i2]]));
|
|
@@ -251862,7 +251881,7 @@ function* product$1(...iterables) {
|
|
|
251862
251881
|
results[i2] = iterators[i2].next();
|
|
251863
251882
|
}
|
|
251864
251883
|
}
|
|
251865
|
-
function* range$
|
|
251884
|
+
function* range$6({ stop: stop3, start: start2 = 0, step = 1 }) {
|
|
251866
251885
|
for (let i2 = start2; i2 < stop3; i2 += step) {
|
|
251867
251886
|
yield i2;
|
|
251868
251887
|
}
|
|
@@ -253300,6 +253319,7 @@ function SpatialSubscriber$1(props) {
|
|
|
253300
253319
|
featureLabelsMap,
|
|
253301
253320
|
featureValueColormap: geneExpressionColormap,
|
|
253302
253321
|
featureValueColormapRange: geneExpressionColormapRange,
|
|
253322
|
+
setFeatureValueColormapRange: setGeneExpressionColormapRange,
|
|
253303
253323
|
extent: expressionExtents?.[0]
|
|
253304
253324
|
})] });
|
|
253305
253325
|
}
|
|
@@ -254678,12 +254698,12 @@ class ErrorBoundary extends React__default.Component {
|
|
|
254678
254698
|
}
|
|
254679
254699
|
}
|
|
254680
254700
|
const LazySpatialThree = React__default.lazy(async () => {
|
|
254681
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
254701
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-Dea9LBw1.js");
|
|
254682
254702
|
return { default: SpatialWrapper2 };
|
|
254683
254703
|
});
|
|
254684
254704
|
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 }) }) }) }));
|
|
254685
254705
|
const LazySpatialAccelerated = React__default.lazy(async () => {
|
|
254686
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
254706
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-DE9wvnUC.js");
|
|
254687
254707
|
return { default: SpatialWrapper2 };
|
|
254688
254708
|
});
|
|
254689
254709
|
const SpatialAcceleratedAdapter = 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(LazySpatialAccelerated, { ...props }) }) }) }));
|
|
@@ -255561,7 +255581,7 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
255561
255581
|
}
|
|
255562
255582
|
const curr = backlog[backlog.length - 1];
|
|
255563
255583
|
if (dataRef.current && dataRef.current.buffer.byteLength && expressionRowLookUp.size > 0 && !shouldUsePaddedImplementation(dataRef.current.length)) {
|
|
255564
|
-
const promises = range$
|
|
255584
|
+
const promises = range$e(yTiles).map((i2) => range$e(xTiles).map(async (j) => workerPool.process({
|
|
255565
255585
|
curr,
|
|
255566
255586
|
tileI: i2,
|
|
255567
255587
|
tileJ: j,
|
|
@@ -255670,7 +255690,7 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
255670
255690
|
});
|
|
255671
255691
|
};
|
|
255672
255692
|
const cellOrdering = transpose2 ? axisTopLabels : axisLeftLabels;
|
|
255673
|
-
const layers3 = range$
|
|
255693
|
+
const layers3 = range$e(yTiles * xTiles).map((index2) => getLayer2(Math.floor(index2 / xTiles), index2 % xTiles));
|
|
255674
255694
|
return layers3;
|
|
255675
255695
|
}
|
|
255676
255696
|
function getLayer(i2, j, tile) {
|
|
@@ -255822,10 +255842,10 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
255822
255842
|
const cellOrdering = transpose2 ? axisTopLabels : axisLeftLabels;
|
|
255823
255843
|
const colorBarTileWidthPx = transpose2 ? TILE_SIZE : 1;
|
|
255824
255844
|
const colorBarTileHeightPx = transpose2 ? 1 : TILE_SIZE;
|
|
255825
|
-
const result = range$
|
|
255826
|
-
const trackResult = range$
|
|
255845
|
+
const result = range$e(numCellColorTracks).map((track) => {
|
|
255846
|
+
const trackResult = range$e(transpose2 ? xTiles : yTiles).map((i2) => {
|
|
255827
255847
|
const tileData = new Uint8ClampedArray(TILE_SIZE * 1 * 4);
|
|
255828
|
-
range$
|
|
255848
|
+
range$e(TILE_SIZE).forEach((tileY) => {
|
|
255829
255849
|
rowI = i2 * TILE_SIZE + tileY;
|
|
255830
255850
|
if (rowI < cellOrdering.length) {
|
|
255831
255851
|
cellId = cellOrdering[rowI];
|
|
@@ -255955,7 +255975,7 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
255955
255975
|
}
|
|
255956
255976
|
}
|
|
255957
255977
|
const cellColorsViews = useMemo$1(() => {
|
|
255958
|
-
const result = range$
|
|
255978
|
+
const result = range$e(numCellColorTracks).map((track) => {
|
|
255959
255979
|
let view;
|
|
255960
255980
|
if (transpose2) {
|
|
255961
255981
|
view = new OrthographicView({
|
|
@@ -256181,7 +256201,7 @@ function HeatmapSubscriber(props) {
|
|
|
256181
256201
|
setTargetY(target2[1]);
|
|
256182
256202
|
}, colormapRange: geneExpressionColormapRange, setColormapRange: setGeneExpressionColormapRange, height: height2, width: width2, theme, uuid: uuid2, uint8ObsFeatureMatrix: uint8ObsFeatureMatrix?.data, cellColors, colormap: geneExpressionColormap, setIsRendering, setCellHighlight, setGeneHighlight, featureLabelsMap, obsIndex, featureIndex, setTrackHighlight, setComponentHover: () => {
|
|
256183
256203
|
setComponentHover(uuid2);
|
|
256184
|
-
}, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid2, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
|
|
256204
|
+
}, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid2, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, setFeatureValueColormapRange: setGeneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
|
|
256185
256205
|
}
|
|
256186
256206
|
function _classCallCheck(a2, n3) {
|
|
256187
256207
|
if (!(a2 instanceof n3)) throw new TypeError("Cannot call a class as a function");
|
|
@@ -262844,22 +262864,18 @@ function FeatureList(props) {
|
|
|
262844
262864
|
const { width: width2, height: height2, hasColorEncoding, geneList = [], featureLabelsMap, geneSelection = [], geneFilter = null, setGeneSelection, enableMultiSelect, showFeatureTable, featureListSort, featureListSortKey, hasFeatureLabels, primaryColumnName } = props;
|
|
262845
262865
|
const { classes: classes2 } = useStyles$m();
|
|
262846
262866
|
const [searchTerm, setSearchTerm] = useState("");
|
|
262847
|
-
const [searchResults, setSearchResults] = useState(geneList);
|
|
262848
262867
|
const selectableTableSortKey = featureListSortKey === "featureIndex" ? "key" : "name";
|
|
262849
|
-
|
|
262850
|
-
const results = geneList.filter((gene) => gene.toLowerCase().includes(searchTerm.toLowerCase()) || featureLabelsMap?.get(gene)?.toLowerCase().includes(searchTerm.toLowerCase()) || featureLabelsMap?.get(cleanFeatureId(gene))?.toLowerCase().includes(searchTerm.toLowerCase()));
|
|
262851
|
-
setSearchResults(results);
|
|
262852
|
-
}, [searchTerm, geneList, featureLabelsMap]);
|
|
262868
|
+
const searchResults = useMemo$1(() => geneList.filter((gene) => gene.toLowerCase().includes(searchTerm.toLowerCase()) || featureLabelsMap?.get(gene)?.toLowerCase().includes(searchTerm.toLowerCase()) || featureLabelsMap?.get(cleanFeatureId(gene))?.toLowerCase().includes(searchTerm.toLowerCase())), [geneList, searchTerm, featureLabelsMap]);
|
|
262853
262869
|
function onChange(selection) {
|
|
262854
262870
|
if (setGeneSelection && selection) {
|
|
262855
|
-
|
|
262856
|
-
|
|
262857
|
-
|
|
262858
|
-
|
|
262859
|
-
|
|
262860
|
-
|
|
262861
|
-
} else
|
|
262862
|
-
setGeneSelection(
|
|
262871
|
+
const selectedHiddenKeys = (geneSelection || []).filter((key2) => !searchResults.includes(key2));
|
|
262872
|
+
const selectionArray = Array.isArray(selection) ? selection : [selection];
|
|
262873
|
+
const selectedVisibleKeys = selectionArray.map((s2) => s2.key).filter((key2) => searchResults.includes(key2));
|
|
262874
|
+
const newSelection = [...selectedHiddenKeys, ...selectedVisibleKeys].filter(Boolean);
|
|
262875
|
+
if (newSelection.length > 0) {
|
|
262876
|
+
setGeneSelection(newSelection);
|
|
262877
|
+
} else {
|
|
262878
|
+
setGeneSelection(null);
|
|
262863
262879
|
}
|
|
262864
262880
|
}
|
|
262865
262881
|
}
|
|
@@ -263377,7 +263393,7 @@ function LayerOptions({ colormap, opacity: opacity2, handleColormapChange, handl
|
|
|
263377
263393
|
const domainSelectorId = $bdb11010cef70236$export$f680877a34711e37();
|
|
263378
263394
|
const opacitySliderId = $bdb11010cef70236$export$f680877a34711e37();
|
|
263379
263395
|
const zeroTransparentId = $bdb11010cef70236$export$f680877a34711e37();
|
|
263380
|
-
return jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "column", sx: { width: "100%" }, children: [hasZStack && !disable3d && hasViewableResolutions && jsxRuntimeExports.jsx(VolumeDropdown, { loader: loader2, handleSliderChange, handleDomainChange, channels: channels2, handleMultiPropertyChange, resolution, disable3d, setRasterLayerCallback, setAreAllChannelsLoading, setViewState, spatialHeight, spatialWidth, use3d, modelMatrix: modelMatrix2 }), hasDimensionsAndChannels && !use3d && globalControlLabels.map((field2) => shape2[labels2.indexOf(field2)] > 1 && jsxRuntimeExports.jsx(LayerOption, { name: field2, inputId: `${field2}-${globalSelectionSliderId}`, children: jsxRuntimeExports.jsx(GlobalSelectionSlider, { field: field2, inputId: `${field2}-${globalSelectionSliderId}`, value: globalLabelValues[field2], handleChange: handleGlobalChannelsSelectionChange, possibleValues: range$
|
|
263396
|
+
return jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "column", sx: { width: "100%" }, children: [hasZStack && !disable3d && hasViewableResolutions && jsxRuntimeExports.jsx(VolumeDropdown, { loader: loader2, handleSliderChange, handleDomainChange, channels: channels2, handleMultiPropertyChange, resolution, disable3d, setRasterLayerCallback, setAreAllChannelsLoading, setViewState, spatialHeight, spatialWidth, use3d, modelMatrix: modelMatrix2 }), hasDimensionsAndChannels && !use3d && globalControlLabels.map((field2) => shape2[labels2.indexOf(field2)] > 1 && jsxRuntimeExports.jsx(LayerOption, { name: field2, inputId: `${field2}-${globalSelectionSliderId}`, children: jsxRuntimeExports.jsx(GlobalSelectionSlider, { field: field2, inputId: `${field2}-${globalSelectionSliderId}`, value: globalLabelValues[field2], handleChange: handleGlobalChannelsSelectionChange, possibleValues: range$e(shape2[labels2.indexOf(field2)]) }) }, field2)), !disableChannelsIfRgbDetected ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [shouldShowColormap && jsxRuntimeExports.jsx(Grid$1, { children: jsxRuntimeExports.jsx(LayerOption, { name: "Colormap", inputId: colormapSelectId, children: jsxRuntimeExports.jsx(ColormapSelect, { value: colormap || "", inputId: colormapSelectId, handleChange: handleColormapChange }) }) }), shouldShowDomain && jsxRuntimeExports.jsx(Grid$1, { children: jsxRuntimeExports.jsx(LayerOption, { name: "Domain", inputId: domainSelectorId, children: jsxRuntimeExports.jsx(SliderDomainSelector, { value: domainType || DEFAULT_RASTER_DOMAIN_TYPE, inputId: domainSelectorId, handleChange: (value2) => {
|
|
263381
263397
|
handleDomainChange(value2);
|
|
263382
263398
|
} }) }) })] }) : null, !use3d && jsxRuntimeExports.jsx(Grid$1, { children: jsxRuntimeExports.jsx(LayerOption, { name: "Opacity", inputId: opacitySliderId, children: jsxRuntimeExports.jsx(OpacitySlider, { value: opacity2, handleChange: handleOpacityChange, inputId: opacitySliderId }) }) }), shouldShowTransparentColor && !use3d && jsxRuntimeExports.jsx(Grid$1, { children: jsxRuntimeExports.jsx(LayerOption, { name: "Zero Transparent", inputId: zeroTransparentId, children: jsxRuntimeExports.jsx(TransparentColorCheckbox, { value: transparentColor, handleChange: handleTransparentColorChange, inputId: zeroTransparentId }) }) })] });
|
|
263383
263399
|
}
|
|
@@ -268700,7 +268716,7 @@ async function open(location, options = {}) {
|
|
|
268700
268716
|
}
|
|
268701
268717
|
open.v2 = open_v2;
|
|
268702
268718
|
open.v3 = open_v3;
|
|
268703
|
-
function* range$
|
|
268719
|
+
function* range$5(start2, stop3, step = 1) {
|
|
268704
268720
|
if (stop3 === void 0) {
|
|
268705
268721
|
stop3 = start2;
|
|
268706
268722
|
start2 = 0;
|
|
@@ -268844,7 +268860,7 @@ class SliceDimIndexer2 {
|
|
|
268844
268860
|
*[Symbol.iterator]() {
|
|
268845
268861
|
const dim_chunk_ix_from = Math.floor(this.start / this.dim_chunk_len);
|
|
268846
268862
|
const dim_chunk_ix_to = Math.ceil(this.stop / this.dim_chunk_len);
|
|
268847
|
-
for (const dim_chunk_ix of range$
|
|
268863
|
+
for (const dim_chunk_ix of range$5(dim_chunk_ix_from, dim_chunk_ix_to)) {
|
|
268848
268864
|
const dim_offset = dim_chunk_ix * this.dim_chunk_len;
|
|
268849
268865
|
const dim_limit = Math.min(this.dim_len, (dim_chunk_ix + 1) * this.dim_chunk_len);
|
|
268850
268866
|
const dim_chunk_len = dim_limit - dim_offset;
|
|
@@ -269300,7 +269316,7 @@ function HiglassGlobalStyles(props) {
|
|
|
269300
269316
|
}
|
|
269301
269317
|
register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
|
|
269302
269318
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
|
269303
|
-
const { HiGlassComponent } = await import("./higlass-
|
|
269319
|
+
const { HiGlassComponent } = await import("./higlass-HrDVcILg.js");
|
|
269304
269320
|
return { default: HiGlassComponent };
|
|
269305
269321
|
});
|
|
269306
269322
|
const HG_SIZE = 800;
|
|
@@ -272247,7 +272263,7 @@ function NeuroglancerGlobalStyles(props) {
|
|
|
272247
272263
|
const { classes: classes2 } = props;
|
|
272248
272264
|
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
|
|
272249
272265
|
}
|
|
272250
|
-
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-
|
|
272266
|
+
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-BsrULsNY.js"));
|
|
272251
272267
|
function createWorker() {
|
|
272252
272268
|
return new WorkerFactory();
|
|
272253
272269
|
}
|
|
@@ -302516,68 +302532,6 @@ function toSet$1(_) {
|
|
|
302516
302532
|
for (let i2 = 0; i2 < n3; ++i2) s2[_[i2]] = true;
|
|
302517
302533
|
return s2;
|
|
302518
302534
|
}
|
|
302519
|
-
function ascending$4(a2, b2) {
|
|
302520
|
-
return a2 == null || b2 == null ? NaN : a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
302521
|
-
}
|
|
302522
|
-
function descending$1(a2, b2) {
|
|
302523
|
-
return a2 == null || b2 == null ? NaN : b2 < a2 ? -1 : b2 > a2 ? 1 : b2 >= a2 ? 0 : NaN;
|
|
302524
|
-
}
|
|
302525
|
-
function bisector$1(f2) {
|
|
302526
|
-
let compare12, compare2, delta;
|
|
302527
|
-
if (f2.length !== 2) {
|
|
302528
|
-
compare12 = ascending$4;
|
|
302529
|
-
compare2 = (d, x2) => ascending$4(f2(d), x2);
|
|
302530
|
-
delta = (d, x2) => f2(d) - x2;
|
|
302531
|
-
} else {
|
|
302532
|
-
compare12 = f2 === ascending$4 || f2 === descending$1 ? f2 : zero$3;
|
|
302533
|
-
compare2 = f2;
|
|
302534
|
-
delta = f2;
|
|
302535
|
-
}
|
|
302536
|
-
function left2(a2, x2, lo = 0, hi = a2.length) {
|
|
302537
|
-
if (lo < hi) {
|
|
302538
|
-
if (compare12(x2, x2) !== 0) return hi;
|
|
302539
|
-
do {
|
|
302540
|
-
const mid = lo + hi >>> 1;
|
|
302541
|
-
if (compare2(a2[mid], x2) < 0) lo = mid + 1;
|
|
302542
|
-
else hi = mid;
|
|
302543
|
-
} while (lo < hi);
|
|
302544
|
-
}
|
|
302545
|
-
return lo;
|
|
302546
|
-
}
|
|
302547
|
-
function right2(a2, x2, lo = 0, hi = a2.length) {
|
|
302548
|
-
if (lo < hi) {
|
|
302549
|
-
if (compare12(x2, x2) !== 0) return hi;
|
|
302550
|
-
do {
|
|
302551
|
-
const mid = lo + hi >>> 1;
|
|
302552
|
-
if (compare2(a2[mid], x2) <= 0) lo = mid + 1;
|
|
302553
|
-
else hi = mid;
|
|
302554
|
-
} while (lo < hi);
|
|
302555
|
-
}
|
|
302556
|
-
return lo;
|
|
302557
|
-
}
|
|
302558
|
-
function center2(a2, x2, lo = 0, hi = a2.length) {
|
|
302559
|
-
const i2 = left2(a2, x2, lo, hi - 1);
|
|
302560
|
-
return i2 > lo && delta(a2[i2 - 1], x2) > -delta(a2[i2], x2) ? i2 - 1 : i2;
|
|
302561
|
-
}
|
|
302562
|
-
return { left: left2, center: center2, right: right2 };
|
|
302563
|
-
}
|
|
302564
|
-
function zero$3() {
|
|
302565
|
-
return 0;
|
|
302566
|
-
}
|
|
302567
|
-
function number$4(x2) {
|
|
302568
|
-
return x2 === null ? NaN : +x2;
|
|
302569
|
-
}
|
|
302570
|
-
const ascendingBisect = bisector$1(ascending$4);
|
|
302571
|
-
const bisectRight$1 = ascendingBisect.right;
|
|
302572
|
-
bisector$1(number$4).center;
|
|
302573
|
-
function range$5(start2, stop3, step) {
|
|
302574
|
-
start2 = +start2, stop3 = +stop3, step = (n3 = arguments.length) < 2 ? (stop3 = start2, start2 = 0, 1) : n3 < 3 ? 1 : +step;
|
|
302575
|
-
var i2 = -1, n3 = Math.max(0, Math.ceil((stop3 - start2) / step)) | 0, range2 = new Array(n3);
|
|
302576
|
-
while (++i2 < n3) {
|
|
302577
|
-
range2[i2] = start2 + i2 * step;
|
|
302578
|
-
}
|
|
302579
|
-
return range2;
|
|
302580
|
-
}
|
|
302581
302535
|
function colors$2(specifier) {
|
|
302582
302536
|
var n3 = specifier.length / 6 | 0, colors2 = new Array(n3), i2 = 0;
|
|
302583
302537
|
while (i2 < n3) colors2[i2] = "#" + specifier.slice(i2 * 6, ++i2 * 6);
|
|
@@ -302767,7 +302721,7 @@ function band$1() {
|
|
|
302767
302721
|
start2 = Math.round(start2);
|
|
302768
302722
|
bandwidth2 = Math.round(bandwidth2);
|
|
302769
302723
|
}
|
|
302770
|
-
const values3 = range$
|
|
302724
|
+
const values3 = range$8(n3).map((i2) => start2 + step * i2);
|
|
302771
302725
|
return ordinalRange(reverse2 ? values3.reverse() : values3);
|
|
302772
302726
|
}
|
|
302773
302727
|
scale2.domain = function(_) {
|
|
@@ -304531,7 +304485,7 @@ const useStyles$4 = makeStyles()(() => ({
|
|
|
304531
304485
|
}
|
|
304532
304486
|
}));
|
|
304533
304487
|
function summarize(iterable, keepZeros) {
|
|
304534
|
-
const values3 = iterable.filter((d) => keepZeros).sort(ascending$
|
|
304488
|
+
const values3 = iterable.filter((d) => keepZeros).sort(ascending$8);
|
|
304535
304489
|
const minVal = values3[0];
|
|
304536
304490
|
const maxVal = values3[values3.length - 1];
|
|
304537
304491
|
const q1 = quantileSorted$1(values3, 0.25);
|
|
@@ -306142,7 +306096,7 @@ const Milli = [YEAR, MONTH, DATE, HOURS, MINUTES, SECONDS, MILLISECONDS], Second
|
|
|
306142
306096
|
const intervals = [[Seconds, 1, durationSecond], [Seconds, 5, 5 * durationSecond], [Seconds, 15, 15 * durationSecond], [Seconds, 30, 30 * durationSecond], [Minutes, 1, durationMinute], [Minutes, 5, 5 * durationMinute], [Minutes, 15, 15 * durationMinute], [Minutes, 30, 30 * durationMinute], [Hours, 1, durationHour], [Hours, 3, 3 * durationHour], [Hours, 6, 6 * durationHour], [Hours, 12, 12 * durationHour], [Day, 1, durationDay], [Week, 1, durationWeek], [Month, 1, durationMonth], [Month, 3, 3 * durationMonth], [Year, 1, durationYear]];
|
|
306143
306097
|
function bin$1(opt) {
|
|
306144
306098
|
const ext = opt.extent, max2 = opt.maxbins || 40, target2 = Math.abs(span(ext)) / max2;
|
|
306145
|
-
let i2 = bisector$
|
|
306099
|
+
let i2 = bisector$1((i3) => i3[2]).right(intervals, target2), units, step;
|
|
306146
306100
|
if (i2 === intervals.length) {
|
|
306147
306101
|
units = Year, step = tickStep(ext[0] / durationYear, ext[1] / durationYear, max2);
|
|
306148
306102
|
} else if (i2) {
|
|
@@ -308080,7 +308034,7 @@ function* numbers$1(values3, valueof) {
|
|
|
308080
308034
|
}
|
|
308081
308035
|
function quantiles(array2, p, f2) {
|
|
308082
308036
|
const values3 = Float64Array.from(numbers$1(array2, f2));
|
|
308083
|
-
values3.sort(ascending$
|
|
308037
|
+
values3.sort(ascending$4);
|
|
308084
308038
|
return p.map((_) => quantileSorted(values3, _));
|
|
308085
308039
|
}
|
|
308086
308040
|
function quartiles(array2, f2) {
|
|
@@ -308139,7 +308093,7 @@ function bootstrapCI(array2, samples, alpha2, f2) {
|
|
|
308139
308093
|
}
|
|
308140
308094
|
mu[j] = a2 / n3;
|
|
308141
308095
|
}
|
|
308142
|
-
mu.sort(ascending$
|
|
308096
|
+
mu.sort(ascending$4);
|
|
308143
308097
|
return [quantile$1(mu, alpha2 / 2), quantile$1(mu, 1 - alpha2 / 2)];
|
|
308144
308098
|
}
|
|
308145
308099
|
function dotbin(array2, step, smooth, f2) {
|
|
@@ -311112,7 +311066,7 @@ inherits(Quantile$1, Transform2, {
|
|
|
311112
311066
|
out.source = this.value;
|
|
311113
311067
|
return out;
|
|
311114
311068
|
}
|
|
311115
|
-
const source2 = pulse2.materialize(pulse2.SOURCE).source, groups = partition$1$1(source2, _.groupby, _.field), names = (_.groupby || []).map(accessorName), values3 = [], step = _.step || 0.01, p = _.probs || range$
|
|
311069
|
+
const source2 = pulse2.materialize(pulse2.SOURCE).source, groups = partition$1$1(source2, _.groupby, _.field), names = (_.groupby || []).map(accessorName), values3 = [], step = _.step || 0.01, p = _.probs || range$8(step / 2, 1 - EPSILON$2, step), n3 = p.length;
|
|
311116
311070
|
groups.forEach((g2) => {
|
|
311117
311071
|
const q = quantiles(g2, p);
|
|
311118
311072
|
for (let i2 = 0; i2 < n3; ++i2) {
|
|
@@ -311271,7 +311225,7 @@ inherits(Sequence, Transform2, {
|
|
|
311271
311225
|
if (this.value && !_.modified()) return;
|
|
311272
311226
|
const out = pulse2.materialize().fork(pulse2.MOD), as = _.as || "data";
|
|
311273
311227
|
out.rem = this.value ? pulse2.rem.concat(this.value) : pulse2.rem;
|
|
311274
|
-
this.value = range$
|
|
311228
|
+
this.value = range$8(_.start, _.stop, _.step || 1).map((v) => {
|
|
311275
311229
|
const t4 = {};
|
|
311276
311230
|
t4[as] = v;
|
|
311277
311231
|
return ingest$1(t4);
|
|
@@ -311731,7 +311685,7 @@ inherits(Window, Transform2, {
|
|
|
311731
311685
|
}
|
|
311732
311686
|
});
|
|
311733
311687
|
function processPartition(list2, state, cmp2, _) {
|
|
311734
|
-
const sort2 = _.sort, range2 = sort2 && !_.ignorePeers, frame2 = _.frame || [null, 0], data2 = list2.data(cmp2), n3 = data2.length, b2 = range2 ? bisector$
|
|
311688
|
+
const sort2 = _.sort, range2 = sort2 && !_.ignorePeers, frame2 = _.frame || [null, 0], data2 = list2.data(cmp2), n3 = data2.length, b2 = range2 ? bisector$1(sort2) : null, w2 = {
|
|
311735
311689
|
i0: 0,
|
|
311736
311690
|
i1: 0,
|
|
311737
311691
|
p0: 0,
|
|
@@ -311889,7 +311843,7 @@ function band() {
|
|
|
311889
311843
|
start2 = Math.round(start2);
|
|
311890
311844
|
bandwidth2 = Math.round(bandwidth2);
|
|
311891
311845
|
}
|
|
311892
|
-
const values3 = range$
|
|
311846
|
+
const values3 = range$8(n3).map((i2) => start2 + step * i2);
|
|
311893
311847
|
return ordinalRange(reverse2 ? values3.reverse() : values3);
|
|
311894
311848
|
}
|
|
311895
311849
|
scale2.domain = function(_) {
|
|
@@ -311971,8 +311925,8 @@ function band() {
|
|
|
311971
311925
|
hi = t4;
|
|
311972
311926
|
}
|
|
311973
311927
|
if (hi < values3[0] || lo > range$12[1 - reverse2]) return;
|
|
311974
|
-
a2 = Math.max(0, bisectRight$
|
|
311975
|
-
b2 = lo === hi ? a2 : bisectRight$
|
|
311928
|
+
a2 = Math.max(0, bisectRight$1(values3, lo) - 1);
|
|
311929
|
+
b2 = lo === hi ? a2 : bisectRight$1(values3, hi) - 1;
|
|
311976
311930
|
if (lo - values3[a2] > bandwidth2 + 1e-10) ++a2;
|
|
311977
311931
|
if (reverse2) {
|
|
311978
311932
|
t4 = a2;
|
|
@@ -312010,7 +311964,7 @@ const slice$2 = Array.prototype.slice;
|
|
|
312010
311964
|
function scaleBinOrdinal() {
|
|
312011
311965
|
let domain2 = [], range2 = [];
|
|
312012
311966
|
function scale2(x2) {
|
|
312013
|
-
return x2 == null || x2 !== x2 ? void 0 : range2[(bisectRight$
|
|
311967
|
+
return x2 == null || x2 !== x2 ? void 0 : range2[(bisectRight$1(domain2, x2) - 1) % range2.length];
|
|
312014
311968
|
}
|
|
312015
311969
|
scale2.domain = function(_) {
|
|
312016
311970
|
if (arguments.length) {
|
|
@@ -317733,7 +317687,7 @@ Pie.Definition = {
|
|
|
317733
317687
|
};
|
|
317734
317688
|
inherits(Pie, Transform2, {
|
|
317735
317689
|
transform(_, pulse2) {
|
|
317736
|
-
var as = _.as || ["startAngle", "endAngle"], startAngle = as[0], endAngle = as[1], field2 = _.field || one$1, start2 = _.startAngle || 0, stop3 = _.endAngle != null ? _.endAngle : 2 * Math.PI, data2 = pulse2.source, values3 = data2.map(field2), n3 = values3.length, a2 = start2, k = (stop3 - start2) / sum$2(values3), index2 = range$
|
|
317690
|
+
var as = _.as || ["startAngle", "endAngle"], startAngle = as[0], endAngle = as[1], field2 = _.field || one$1, start2 = _.startAngle || 0, stop3 = _.endAngle != null ? _.endAngle : 2 * Math.PI, data2 = pulse2.source, values3 = data2.map(field2), n3 = values3.length, a2 = start2, k = (stop3 - start2) / sum$2(values3), index2 = range$8(n3), i2, t4, v;
|
|
317737
317691
|
if (_.sort) {
|
|
317738
317692
|
index2.sort((a3, b2) => values3[a3] - values3[b2]);
|
|
317739
317693
|
}
|
|
@@ -317851,7 +317805,7 @@ function configureBins(scale2, _, count2) {
|
|
|
317851
317805
|
if (!step) error("Scale bins parameter missing step property.");
|
|
317852
317806
|
if (start2 < lo) start2 = step * Math.ceil(lo / step);
|
|
317853
317807
|
if (stop3 > hi) stop3 = step * Math.floor(hi / step);
|
|
317854
|
-
bins2 = range$
|
|
317808
|
+
bins2 = range$8(start2, stop3 + step / 2, step);
|
|
317855
317809
|
}
|
|
317856
317810
|
if (bins2) {
|
|
317857
317811
|
scale2.bins = bins2;
|
|
@@ -319072,7 +319026,7 @@ function clipRectangle(x02, y02, x12, y12) {
|
|
|
319072
319026
|
};
|
|
319073
319027
|
}
|
|
319074
319028
|
function graticuleX(y02, y12, dy) {
|
|
319075
|
-
var y2 = range$
|
|
319029
|
+
var y2 = range$8(y02, y12 - epsilon$3, dy).concat(y12);
|
|
319076
319030
|
return function(x2) {
|
|
319077
319031
|
return y2.map(function(y22) {
|
|
319078
319032
|
return [x2, y22];
|
|
@@ -319080,7 +319034,7 @@ function graticuleX(y02, y12, dy) {
|
|
|
319080
319034
|
};
|
|
319081
319035
|
}
|
|
319082
319036
|
function graticuleY(x02, x12, dx) {
|
|
319083
|
-
var x2 = range$
|
|
319037
|
+
var x2 = range$8(x02, x12 - epsilon$3, dx).concat(x12);
|
|
319084
319038
|
return function(y2) {
|
|
319085
319039
|
return x2.map(function(x22) {
|
|
319086
319040
|
return [x22, y2];
|
|
@@ -319093,9 +319047,9 @@ function graticule() {
|
|
|
319093
319047
|
return { type: "MultiLineString", coordinates: lines() };
|
|
319094
319048
|
}
|
|
319095
319049
|
function lines() {
|
|
319096
|
-
return range$
|
|
319050
|
+
return range$8(ceil(X02 / DX) * DX, X12, DX).map(X3).concat(range$8(ceil(Y02 / DY) * DY, Y12, DY).map(Y3)).concat(range$8(ceil(x02 / dx) * dx, x12, dx).filter(function(x22) {
|
|
319097
319051
|
return abs$1(x22 % DX) > epsilon$3;
|
|
319098
|
-
}).map(x2)).concat(range$
|
|
319052
|
+
}).map(x2)).concat(range$8(ceil(y02 / dy) * dy, y12, dy).filter(function(y22) {
|
|
319099
319053
|
return abs$1(y22 % DY) > epsilon$3;
|
|
319100
319054
|
}).map(y2));
|
|
319101
319055
|
}
|
|
@@ -320370,7 +320324,7 @@ function within(p, q, r3) {
|
|
|
320370
320324
|
function quantize$1(k, nice2, zero2) {
|
|
320371
320325
|
return function(values3) {
|
|
320372
320326
|
var ex = extent(values3), start2 = zero2 ? Math.min(ex[0], 0) : ex[0], stop3 = ex[1], span2 = stop3 - start2, step = nice2 ? tickStep(start2, stop3, k) : span2 / (k + 1);
|
|
320373
|
-
return range$
|
|
320327
|
+
return range$8(start2 + step, stop3, step);
|
|
320374
320328
|
};
|
|
320375
320329
|
}
|
|
320376
320330
|
function Isocontour(params2) {
|
|
@@ -326310,7 +326264,7 @@ function SortedIndex() {
|
|
|
326310
326264
|
array2 = value2;
|
|
326311
326265
|
n3 = size2;
|
|
326312
326266
|
}
|
|
326313
|
-
return [bisectLeft$1(array2, range2[0], 0, n3), bisectRight$
|
|
326267
|
+
return [bisectLeft$1(array2, range2[0], 0, n3), bisectRight$1(array2, range2[1], 0, n3)];
|
|
326314
326268
|
}
|
|
326315
326269
|
return {
|
|
326316
326270
|
insert: insert2,
|
|
@@ -328675,7 +328629,7 @@ const functionContext = {
|
|
|
328675
328629
|
hsl: hsl$2,
|
|
328676
328630
|
luminance,
|
|
328677
328631
|
contrast,
|
|
328678
|
-
sequence: range$
|
|
328632
|
+
sequence: range$8,
|
|
328679
328633
|
format: format$1,
|
|
328680
328634
|
utcFormat,
|
|
328681
328635
|
utcParse,
|
|
@@ -355945,7 +355899,7 @@ function FeatureBarPlot(props) {
|
|
|
355945
355899
|
const xTitle = `${capitalize$3(obsType)}`;
|
|
355946
355900
|
const autoMarginBottom = marginBottom || 30 + Math.sqrt(maxCharactersForLabel / 2) * 30;
|
|
355947
355901
|
const foregroundColor = theme === "dark" ? "lightgray" : "black";
|
|
355948
|
-
data2.sort((a2, b2) => ascending$
|
|
355902
|
+
data2.sort((a2, b2) => ascending$8(a2[FEATURE_KEY], b2[FEATURE_KEY]));
|
|
355949
355903
|
const svg2 = select$1(domElement);
|
|
355950
355904
|
svg2.selectAll("g").remove();
|
|
355951
355905
|
svg2.attr("width", width2).attr("height", height2);
|
|
@@ -357975,13 +357929,7 @@ class SpatialDataAutoConfig extends AbstractAutoConfig {
|
|
|
357975
357929
|
};
|
|
357976
357930
|
}
|
|
357977
357931
|
if (relPath.match(/^(shapes)\/([^/]*)$/)) {
|
|
357978
|
-
options.
|
|
357979
|
-
path: relPath,
|
|
357980
|
-
coordinateSystem: firstCoordinateSystem
|
|
357981
|
-
};
|
|
357982
|
-
}
|
|
357983
|
-
if (relPath.match(/^(points)\/([^/]*)$/)) {
|
|
357984
|
-
options.obsPoints = {
|
|
357932
|
+
options.obsSegmentations = {
|
|
357985
357933
|
path: relPath,
|
|
357986
357934
|
coordinateSystem: firstCoordinateSystem
|
|
357987
357935
|
};
|
|
@@ -357995,21 +357943,6 @@ class SpatialDataAutoConfig extends AbstractAutoConfig {
|
|
|
357995
357943
|
// region: null,
|
|
357996
357944
|
};
|
|
357997
357945
|
}
|
|
357998
|
-
const hasObs = tableEls.find((el) => el.path === `${path2}/obs`);
|
|
357999
|
-
if (hasObs) {
|
|
358000
|
-
const columnOrder = hasObs.attrs?.["column-order"];
|
|
358001
|
-
options.obsSets = {
|
|
358002
|
-
// region: null,
|
|
358003
|
-
tablePath: relPath,
|
|
358004
|
-
obsSets: columnOrder.map((c2) => ({
|
|
358005
|
-
// TODO: determine whether this column is string/categorical.
|
|
358006
|
-
// TODO: determine whether this column contains too many
|
|
358007
|
-
// categories to make sense to consider a cell set.
|
|
358008
|
-
path: `${hasObs.path.substring(1)}/${c2}`,
|
|
358009
|
-
name: c2
|
|
358010
|
-
}))
|
|
358011
|
-
};
|
|
358012
|
-
}
|
|
358013
357946
|
}
|
|
358014
357947
|
});
|
|
358015
357948
|
return options;
|
|
@@ -358160,8 +358093,16 @@ async function parsedUrlToZmetadata(parsedUrl) {
|
|
|
358160
358093
|
store = await withConsolidated(initialStore, { metadataKey: "zmetadata" });
|
|
358161
358094
|
}
|
|
358162
358095
|
const contents = store.contents();
|
|
358096
|
+
const consolidatedRoot = await open$1(store, { kind: "group" });
|
|
358163
358097
|
promises = contents.map(async (value2) => {
|
|
358164
|
-
|
|
358098
|
+
let item;
|
|
358099
|
+
try {
|
|
358100
|
+
item = await open$1(consolidatedRoot.resolve(value2.path), { kind: value2.kind });
|
|
358101
|
+
} catch {
|
|
358102
|
+
item = {
|
|
358103
|
+
attrs: {}
|
|
358104
|
+
};
|
|
358105
|
+
}
|
|
358165
358106
|
return {
|
|
358166
358107
|
...value2,
|
|
358167
358108
|
attrs: item.attrs
|
|
@@ -358192,9 +358133,10 @@ async function parsedUrlToZmetadata(parsedUrl) {
|
|
|
358192
358133
|
// Note: For spatialData, we assume the store is always consolidated.
|
|
358193
358134
|
// TODO: throw error if spatialdata + not consolidated?
|
|
358194
358135
|
];
|
|
358136
|
+
const storeRoot = await open$1(store, { kind: "group" });
|
|
358195
358137
|
promises = keysToTry.map(async (k) => {
|
|
358196
358138
|
try {
|
|
358197
|
-
const item = await open$1(
|
|
358139
|
+
const item = await open$1(storeRoot.resolve(k));
|
|
358198
358140
|
return {
|
|
358199
358141
|
path: k,
|
|
358200
358142
|
kind: item.kind,
|
|
@@ -358718,7 +358660,7 @@ class ClustersJsonAsObsFeatureMatrixLoader extends JsonLoader {
|
|
|
358718
358660
|
const normalize2 = (d) => Math.floor((d - min2) / (max2 - min2) * 255);
|
|
358719
358661
|
return col.map(normalize2);
|
|
358720
358662
|
});
|
|
358721
|
-
const tNormalizedMatrix = range$
|
|
358663
|
+
const tNormalizedMatrix = range$e(shape2[0]).map((i2) => range$e(shape2[1]).map((j) => normalizedMatrix[j][i2]));
|
|
358722
358664
|
const normalizedFlatMatrix = tNormalizedMatrix.flat();
|
|
358723
358665
|
const obsFeatureMatrix = { data: Uint8Array.from(normalizedFlatMatrix) };
|
|
358724
358666
|
this.cachedResult = { obsIndex, featureIndex, obsFeatureMatrix };
|
|
@@ -358769,12 +358711,12 @@ class MoleculesJsonAsObsLabelsLoader extends JsonLoader {
|
|
|
358769
358711
|
if (this.cachedResult) {
|
|
358770
358712
|
return this.cachedResult;
|
|
358771
358713
|
}
|
|
358772
|
-
const obsIndex = range$
|
|
358714
|
+
const obsIndex = range$e(sum$7(Object.values(data2).map((v) => v.length))).map((i2) => String(i2));
|
|
358773
358715
|
let obsLabels = [];
|
|
358774
358716
|
Object.entries(data2).forEach(([gene, locations]) => {
|
|
358775
358717
|
obsLabels = [
|
|
358776
358718
|
...obsLabels,
|
|
358777
|
-
...range$
|
|
358719
|
+
...range$e(locations.length).map(() => gene)
|
|
358778
358720
|
];
|
|
358779
358721
|
});
|
|
358780
358722
|
this.cachedResult = { obsIndex, obsLabels };
|
|
@@ -358797,7 +358739,7 @@ class MoleculesJsonAsObsLocationsLoader extends JsonLoader {
|
|
|
358797
358739
|
return this.cachedResult;
|
|
358798
358740
|
}
|
|
358799
358741
|
const moleculesValues = Object.values(data2);
|
|
358800
|
-
const obsIndex = range$
|
|
358742
|
+
const obsIndex = range$e(sum$7(moleculesValues.map((v) => v.length))).map((i2) => String(i2));
|
|
358801
358743
|
const obsLocationsX = new Float32Array(obsIndex.length);
|
|
358802
358744
|
const obsLocationsY = new Float32Array(obsIndex.length);
|
|
358803
358745
|
let startAt = 0;
|
|
@@ -384019,6 +383961,7 @@ function ControlledLauncherInner(props) {
|
|
|
384019
383961
|
setLauncherError(null);
|
|
384020
383962
|
} else if (configUrlResult.isError) {
|
|
384021
383963
|
setIsEditing(true);
|
|
383964
|
+
console.log(configUrlResult.error);
|
|
384022
383965
|
setLauncherError(`Error loading config from URL: ${configUrlResult.error.message}`);
|
|
384023
383966
|
}
|
|
384024
383967
|
} else if (sourceUrlQueryEnabled) {
|
|
@@ -384029,6 +383972,7 @@ function ControlledLauncherInner(props) {
|
|
|
384029
383972
|
setLauncherError(null);
|
|
384030
383973
|
} else if (sourceUrlResult.isError) {
|
|
384031
383974
|
setIsEditing(true);
|
|
383975
|
+
console.log(sourceUrlResult.error);
|
|
384032
383976
|
setLauncherError(`Error loading data/metadata from source URL(s): ${sourceUrlResult.error.message}`);
|
|
384033
383977
|
}
|
|
384034
383978
|
} else if (validConfigFromDroppedData) {
|