@vitessce/scatterplot 3.3.1 → 3.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{deflate-d286fc81.js → deflate-592075d1.js} +1 -1
- package/dist/{index-1144f987.js → index-013d5fd5.js} +221 -150
- package/dist/index.js +1 -1
- package/dist/{jpeg-7411bf6b.js → jpeg-b02bdb82.js} +1 -1
- package/dist/{lerc-1e14a3bb.js → lerc-42d93f50.js} +1 -1
- package/dist/{lzw-7dccbdc7.js → lzw-39a9cd4a.js} +1 -1
- package/dist/{packbits-11ee86b7.js → packbits-cf9843a0.js} +1 -1
- package/dist/{raw-9b667484.js → raw-0442b8e5.js} +1 -1
- package/dist/{webimage-1cd07cf5.js → webimage-0cc02cbc.js} +1 -1
- package/package.json +7 -7
|
@@ -12316,8 +12316,8 @@ function acos$1(radians2, result) {
|
|
|
12316
12316
|
function atan$1(radians2, result) {
|
|
12317
12317
|
return map(radians2, (angle2) => Math.atan(angle2), result);
|
|
12318
12318
|
}
|
|
12319
|
-
function clamp$4(value, min,
|
|
12320
|
-
return map(value, (value2) => Math.max(min, Math.min(
|
|
12319
|
+
function clamp$4(value, min, max2) {
|
|
12320
|
+
return map(value, (value2) => Math.max(min, Math.min(max2, value2)));
|
|
12321
12321
|
}
|
|
12322
12322
|
function lerp$5(a2, b, t2) {
|
|
12323
12323
|
if (isArray$3(a2)) {
|
|
@@ -12604,9 +12604,9 @@ class MathArray extends _extendableBuiltin(Array) {
|
|
|
12604
12604
|
divideScalar(a2) {
|
|
12605
12605
|
return this.multiplyByScalar(1 / a2);
|
|
12606
12606
|
}
|
|
12607
|
-
clampScalar(min,
|
|
12607
|
+
clampScalar(min, max2) {
|
|
12608
12608
|
for (let i2 = 0; i2 < this.ELEMENTS; ++i2) {
|
|
12609
|
-
this[i2] = Math.min(Math.max(this[i2], min),
|
|
12609
|
+
this[i2] = Math.min(Math.max(this[i2], min), max2);
|
|
12610
12610
|
}
|
|
12611
12611
|
return this.check();
|
|
12612
12612
|
}
|
|
@@ -18739,8 +18739,8 @@ function mod$1(value, divisor) {
|
|
|
18739
18739
|
function lerp(start, end, step) {
|
|
18740
18740
|
return step * end + (1 - step) * start;
|
|
18741
18741
|
}
|
|
18742
|
-
function clamp$3(x2, min,
|
|
18743
|
-
return x2 < min ? min : x2 >
|
|
18742
|
+
function clamp$3(x2, min, max2) {
|
|
18743
|
+
return x2 < min ? min : x2 > max2 ? max2 : x2;
|
|
18744
18744
|
}
|
|
18745
18745
|
function ieLog2(x2) {
|
|
18746
18746
|
return Math.log(x2) * Math.LOG2E;
|
|
@@ -28461,17 +28461,17 @@ class DataColumn {
|
|
|
28461
28461
|
const len2 = numInstances * size;
|
|
28462
28462
|
if (value && len2 && value.length >= len2) {
|
|
28463
28463
|
const min = new Array(size).fill(Infinity);
|
|
28464
|
-
const
|
|
28464
|
+
const max2 = new Array(size).fill(-Infinity);
|
|
28465
28465
|
for (let i2 = 0; i2 < len2; ) {
|
|
28466
28466
|
for (let j = 0; j < size; j++) {
|
|
28467
28467
|
const v = value[i2++];
|
|
28468
28468
|
if (v < min[j])
|
|
28469
28469
|
min[j] = v;
|
|
28470
|
-
if (v >
|
|
28471
|
-
|
|
28470
|
+
if (v > max2[j])
|
|
28471
|
+
max2[j] = v;
|
|
28472
28472
|
}
|
|
28473
28473
|
}
|
|
28474
|
-
result = [min,
|
|
28474
|
+
result = [min, max2];
|
|
28475
28475
|
}
|
|
28476
28476
|
}
|
|
28477
28477
|
this.state.bounds = result;
|
|
@@ -54555,10 +54555,10 @@ class GroupNode extends ScenegraphNode {
|
|
|
54555
54555
|
if (!bounds2) {
|
|
54556
54556
|
return;
|
|
54557
54557
|
}
|
|
54558
|
-
const [min,
|
|
54559
|
-
const center2 = new Vector3(min).add(
|
|
54558
|
+
const [min, max2] = bounds2;
|
|
54559
|
+
const center2 = new Vector3(min).add(max2).divide([2, 2, 2]);
|
|
54560
54560
|
worldMatrix.transformAsPoint(center2, center2);
|
|
54561
|
-
const halfSize = new Vector3(
|
|
54561
|
+
const halfSize = new Vector3(max2).subtract(min).divide([2, 2, 2]);
|
|
54562
54562
|
worldMatrix.transformAsVector(halfSize, halfSize);
|
|
54563
54563
|
for (let v = 0; v < 8; v++) {
|
|
54564
54564
|
const position = new Vector3(v & 1 ? -1 : 1, v & 2 ? -1 : 1, v & 4 ? -1 : 1).multiply(halfSize).add(center2);
|
|
@@ -63507,7 +63507,7 @@ class Tile {
|
|
|
63507
63507
|
const { errors } = this;
|
|
63508
63508
|
let numVertices = 0;
|
|
63509
63509
|
let numTriangles = 0;
|
|
63510
|
-
const
|
|
63510
|
+
const max2 = size - 1;
|
|
63511
63511
|
indices.fill(0);
|
|
63512
63512
|
function countElements(ax, ay, bx, by, cx, cy) {
|
|
63513
63513
|
const mx = ax + bx >> 1;
|
|
@@ -63522,8 +63522,8 @@ class Tile {
|
|
|
63522
63522
|
numTriangles++;
|
|
63523
63523
|
}
|
|
63524
63524
|
}
|
|
63525
|
-
countElements(0, 0,
|
|
63526
|
-
countElements(
|
|
63525
|
+
countElements(0, 0, max2, max2, max2, 0);
|
|
63526
|
+
countElements(max2, max2, 0, 0, 0, max2);
|
|
63527
63527
|
const vertices = new Uint16Array(numVertices * 2);
|
|
63528
63528
|
const triangles = new Uint32Array(numTriangles * 3);
|
|
63529
63529
|
let triIndex = 0;
|
|
@@ -63548,8 +63548,8 @@ class Tile {
|
|
|
63548
63548
|
triangles[triIndex++] = c2;
|
|
63549
63549
|
}
|
|
63550
63550
|
}
|
|
63551
|
-
processTriangle(0, 0,
|
|
63552
|
-
processTriangle(
|
|
63551
|
+
processTriangle(0, 0, max2, max2, max2, 0);
|
|
63552
|
+
processTriangle(max2, max2, 0, 0, 0, max2);
|
|
63553
63553
|
return { vertices, triangles };
|
|
63554
63554
|
}
|
|
63555
63555
|
}
|
|
@@ -104764,16 +104764,16 @@ function addDecoder(cases, importFn) {
|
|
|
104764
104764
|
}
|
|
104765
104765
|
cases.forEach((c2) => registry$1.set(c2, importFn));
|
|
104766
104766
|
}
|
|
104767
|
-
addDecoder([void 0, 1], () => import("./raw-
|
|
104768
|
-
addDecoder(5, () => import("./lzw-
|
|
104767
|
+
addDecoder([void 0, 1], () => import("./raw-0442b8e5.js").then((m2) => m2.default));
|
|
104768
|
+
addDecoder(5, () => import("./lzw-39a9cd4a.js").then((m2) => m2.default));
|
|
104769
104769
|
addDecoder(6, () => {
|
|
104770
104770
|
throw new Error("old style JPEG compression is not supported.");
|
|
104771
104771
|
});
|
|
104772
|
-
addDecoder(7, () => import("./jpeg-
|
|
104773
|
-
addDecoder([8, 32946], () => import("./deflate-
|
|
104774
|
-
addDecoder(32773, () => import("./packbits-
|
|
104775
|
-
addDecoder(34887, () => import("./lerc-
|
|
104776
|
-
addDecoder(50001, () => import("./webimage-
|
|
104772
|
+
addDecoder(7, () => import("./jpeg-b02bdb82.js").then((m2) => m2.default));
|
|
104773
|
+
addDecoder([8, 32946], () => import("./deflate-592075d1.js").then((m2) => m2.default));
|
|
104774
|
+
addDecoder(32773, () => import("./packbits-cf9843a0.js").then((m2) => m2.default));
|
|
104775
|
+
addDecoder(34887, () => import("./lerc-42d93f50.js").then((m2) => m2.default));
|
|
104776
|
+
addDecoder(50001, () => import("./webimage-0cc02cbc.js").then((m2) => m2.default));
|
|
104777
104777
|
function decodeRowAcc(row, stride) {
|
|
104778
104778
|
let length2 = row.length - stride;
|
|
104779
104779
|
let offset5 = 0;
|
|
@@ -108322,9 +108322,9 @@ const buf2binstring = (buf, len2) => {
|
|
|
108322
108322
|
}
|
|
108323
108323
|
return result;
|
|
108324
108324
|
};
|
|
108325
|
-
var buf2string = (buf,
|
|
108325
|
+
var buf2string = (buf, max2) => {
|
|
108326
108326
|
let i2, out;
|
|
108327
|
-
const len2 =
|
|
108327
|
+
const len2 = max2 || buf.length;
|
|
108328
108328
|
const utf16buf = new Array(len2 * 2);
|
|
108329
108329
|
for (out = 0, i2 = 0; i2 < len2; ) {
|
|
108330
108330
|
let c2 = buf[i2++];
|
|
@@ -108357,22 +108357,22 @@ var buf2string = (buf, max) => {
|
|
|
108357
108357
|
}
|
|
108358
108358
|
return buf2binstring(utf16buf, out);
|
|
108359
108359
|
};
|
|
108360
|
-
var utf8border = (buf,
|
|
108361
|
-
|
|
108362
|
-
if (
|
|
108363
|
-
|
|
108360
|
+
var utf8border = (buf, max2) => {
|
|
108361
|
+
max2 = max2 || buf.length;
|
|
108362
|
+
if (max2 > buf.length) {
|
|
108363
|
+
max2 = buf.length;
|
|
108364
108364
|
}
|
|
108365
|
-
let pos =
|
|
108365
|
+
let pos = max2 - 1;
|
|
108366
108366
|
while (pos >= 0 && (buf[pos] & 192) === 128) {
|
|
108367
108367
|
pos--;
|
|
108368
108368
|
}
|
|
108369
108369
|
if (pos < 0) {
|
|
108370
|
-
return
|
|
108370
|
+
return max2;
|
|
108371
108371
|
}
|
|
108372
108372
|
if (pos === 0) {
|
|
108373
|
-
return
|
|
108373
|
+
return max2;
|
|
108374
108374
|
}
|
|
108375
|
-
return pos + _utf8len[buf[pos]] >
|
|
108375
|
+
return pos + _utf8len[buf[pos]] > max2 ? pos : max2;
|
|
108376
108376
|
};
|
|
108377
108377
|
var strings = {
|
|
108378
108378
|
string2buf,
|
|
@@ -108922,7 +108922,7 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
108922
108922
|
const bits = opts2.bits;
|
|
108923
108923
|
let len2 = 0;
|
|
108924
108924
|
let sym = 0;
|
|
108925
|
-
let min = 0,
|
|
108925
|
+
let min = 0, max2 = 0;
|
|
108926
108926
|
let root2 = 0;
|
|
108927
108927
|
let curr = 0;
|
|
108928
108928
|
let drop = 0;
|
|
@@ -108949,21 +108949,21 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
108949
108949
|
count2[lens2[lens_index + sym]]++;
|
|
108950
108950
|
}
|
|
108951
108951
|
root2 = bits;
|
|
108952
|
-
for (
|
|
108953
|
-
if (count2[
|
|
108952
|
+
for (max2 = MAXBITS; max2 >= 1; max2--) {
|
|
108953
|
+
if (count2[max2] !== 0) {
|
|
108954
108954
|
break;
|
|
108955
108955
|
}
|
|
108956
108956
|
}
|
|
108957
|
-
if (root2 >
|
|
108958
|
-
root2 =
|
|
108957
|
+
if (root2 > max2) {
|
|
108958
|
+
root2 = max2;
|
|
108959
108959
|
}
|
|
108960
|
-
if (
|
|
108960
|
+
if (max2 === 0) {
|
|
108961
108961
|
table[table_index++] = 1 << 24 | 64 << 16 | 0;
|
|
108962
108962
|
table[table_index++] = 1 << 24 | 64 << 16 | 0;
|
|
108963
108963
|
opts2.bits = 1;
|
|
108964
108964
|
return 0;
|
|
108965
108965
|
}
|
|
108966
|
-
for (min = 1; min <
|
|
108966
|
+
for (min = 1; min < max2; min++) {
|
|
108967
108967
|
if (count2[min] !== 0) {
|
|
108968
108968
|
break;
|
|
108969
108969
|
}
|
|
@@ -108979,7 +108979,7 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
108979
108979
|
return -1;
|
|
108980
108980
|
}
|
|
108981
108981
|
}
|
|
108982
|
-
if (left > 0 && (type === CODES ||
|
|
108982
|
+
if (left > 0 && (type === CODES || max2 !== 1)) {
|
|
108983
108983
|
return -1;
|
|
108984
108984
|
}
|
|
108985
108985
|
offs[1] = 0;
|
|
@@ -109048,7 +109048,7 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
109048
109048
|
}
|
|
109049
109049
|
sym++;
|
|
109050
109050
|
if (--count2[len2] === 0) {
|
|
109051
|
-
if (len2 ===
|
|
109051
|
+
if (len2 === max2) {
|
|
109052
109052
|
break;
|
|
109053
109053
|
}
|
|
109054
109054
|
len2 = lens2[lens_index + work[sym]];
|
|
@@ -109060,7 +109060,7 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
109060
109060
|
next += min;
|
|
109061
109061
|
curr = len2 - drop;
|
|
109062
109062
|
left = 1 << curr;
|
|
109063
|
-
while (curr + drop <
|
|
109063
|
+
while (curr + drop < max2) {
|
|
109064
109064
|
left -= count2[curr + drop];
|
|
109065
109065
|
if (left <= 0) {
|
|
109066
109066
|
break;
|
|
@@ -118646,14 +118646,14 @@ class ZodString extends ZodType {
|
|
|
118646
118646
|
return min;
|
|
118647
118647
|
}
|
|
118648
118648
|
get maxLength() {
|
|
118649
|
-
let
|
|
118649
|
+
let max2 = null;
|
|
118650
118650
|
for (const ch of this._def.checks) {
|
|
118651
118651
|
if (ch.kind === "max") {
|
|
118652
|
-
if (
|
|
118653
|
-
|
|
118652
|
+
if (max2 === null || ch.value < max2)
|
|
118653
|
+
max2 = ch.value;
|
|
118654
118654
|
}
|
|
118655
118655
|
}
|
|
118656
|
-
return
|
|
118656
|
+
return max2;
|
|
118657
118657
|
}
|
|
118658
118658
|
}
|
|
118659
118659
|
ZodString.create = (params) => {
|
|
@@ -118868,20 +118868,20 @@ class ZodNumber extends ZodType {
|
|
|
118868
118868
|
return min;
|
|
118869
118869
|
}
|
|
118870
118870
|
get maxValue() {
|
|
118871
|
-
let
|
|
118871
|
+
let max2 = null;
|
|
118872
118872
|
for (const ch of this._def.checks) {
|
|
118873
118873
|
if (ch.kind === "max") {
|
|
118874
|
-
if (
|
|
118875
|
-
|
|
118874
|
+
if (max2 === null || ch.value < max2)
|
|
118875
|
+
max2 = ch.value;
|
|
118876
118876
|
}
|
|
118877
118877
|
}
|
|
118878
|
-
return
|
|
118878
|
+
return max2;
|
|
118879
118879
|
}
|
|
118880
118880
|
get isInt() {
|
|
118881
118881
|
return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value));
|
|
118882
118882
|
}
|
|
118883
118883
|
get isFinite() {
|
|
118884
|
-
let
|
|
118884
|
+
let max2 = null, min = null;
|
|
118885
118885
|
for (const ch of this._def.checks) {
|
|
118886
118886
|
if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
|
|
118887
118887
|
return true;
|
|
@@ -118889,11 +118889,11 @@ class ZodNumber extends ZodType {
|
|
|
118889
118889
|
if (min === null || ch.value > min)
|
|
118890
118890
|
min = ch.value;
|
|
118891
118891
|
} else if (ch.kind === "max") {
|
|
118892
|
-
if (
|
|
118893
|
-
|
|
118892
|
+
if (max2 === null || ch.value < max2)
|
|
118893
|
+
max2 = ch.value;
|
|
118894
118894
|
}
|
|
118895
118895
|
}
|
|
118896
|
-
return Number.isFinite(min) && Number.isFinite(
|
|
118896
|
+
return Number.isFinite(min) && Number.isFinite(max2);
|
|
118897
118897
|
}
|
|
118898
118898
|
}
|
|
118899
118899
|
ZodNumber.create = (params) => {
|
|
@@ -119051,14 +119051,14 @@ class ZodBigInt extends ZodType {
|
|
|
119051
119051
|
return min;
|
|
119052
119052
|
}
|
|
119053
119053
|
get maxValue() {
|
|
119054
|
-
let
|
|
119054
|
+
let max2 = null;
|
|
119055
119055
|
for (const ch of this._def.checks) {
|
|
119056
119056
|
if (ch.kind === "max") {
|
|
119057
|
-
if (
|
|
119058
|
-
|
|
119057
|
+
if (max2 === null || ch.value < max2)
|
|
119058
|
+
max2 = ch.value;
|
|
119059
119059
|
}
|
|
119060
119060
|
}
|
|
119061
|
-
return
|
|
119061
|
+
return max2;
|
|
119062
119062
|
}
|
|
119063
119063
|
}
|
|
119064
119064
|
ZodBigInt.create = (params) => {
|
|
@@ -119186,14 +119186,14 @@ class ZodDate extends ZodType {
|
|
|
119186
119186
|
return min != null ? new Date(min) : null;
|
|
119187
119187
|
}
|
|
119188
119188
|
get maxDate() {
|
|
119189
|
-
let
|
|
119189
|
+
let max2 = null;
|
|
119190
119190
|
for (const ch of this._def.checks) {
|
|
119191
119191
|
if (ch.kind === "max") {
|
|
119192
|
-
if (
|
|
119193
|
-
|
|
119192
|
+
if (max2 === null || ch.value < max2)
|
|
119193
|
+
max2 = ch.value;
|
|
119194
119194
|
}
|
|
119195
119195
|
}
|
|
119196
|
-
return
|
|
119196
|
+
return max2 != null ? new Date(max2) : null;
|
|
119197
119197
|
}
|
|
119198
119198
|
}
|
|
119199
119199
|
ZodDate.create = (params) => {
|
|
@@ -123552,7 +123552,7 @@ var toComparators_1 = toComparators$1;
|
|
|
123552
123552
|
const SemVer$4 = semver;
|
|
123553
123553
|
const Range$7 = requireRange();
|
|
123554
123554
|
const maxSatisfying$1 = (versions, range2, options) => {
|
|
123555
|
-
let
|
|
123555
|
+
let max2 = null;
|
|
123556
123556
|
let maxSV = null;
|
|
123557
123557
|
let rangeObj = null;
|
|
123558
123558
|
try {
|
|
@@ -123562,13 +123562,13 @@ const maxSatisfying$1 = (versions, range2, options) => {
|
|
|
123562
123562
|
}
|
|
123563
123563
|
versions.forEach((v) => {
|
|
123564
123564
|
if (rangeObj.test(v)) {
|
|
123565
|
-
if (!
|
|
123566
|
-
|
|
123567
|
-
maxSV = new SemVer$4(
|
|
123565
|
+
if (!max2 || maxSV.compare(v) === -1) {
|
|
123566
|
+
max2 = v;
|
|
123567
|
+
maxSV = new SemVer$4(max2, options);
|
|
123568
123568
|
}
|
|
123569
123569
|
}
|
|
123570
123570
|
});
|
|
123571
|
-
return
|
|
123571
|
+
return max2;
|
|
123572
123572
|
};
|
|
123573
123573
|
var maxSatisfying_1 = maxSatisfying$1;
|
|
123574
123574
|
const SemVer$3 = semver;
|
|
@@ -123753,17 +123753,17 @@ var simplify = (versions, range2, options) => {
|
|
|
123753
123753
|
set3.push([first, null]);
|
|
123754
123754
|
}
|
|
123755
123755
|
const ranges2 = [];
|
|
123756
|
-
for (const [min,
|
|
123757
|
-
if (min ===
|
|
123756
|
+
for (const [min, max2] of set3) {
|
|
123757
|
+
if (min === max2) {
|
|
123758
123758
|
ranges2.push(min);
|
|
123759
|
-
} else if (!
|
|
123759
|
+
} else if (!max2 && min === v[0]) {
|
|
123760
123760
|
ranges2.push("*");
|
|
123761
|
-
} else if (!
|
|
123761
|
+
} else if (!max2) {
|
|
123762
123762
|
ranges2.push(`>=${min}`);
|
|
123763
123763
|
} else if (min === v[0]) {
|
|
123764
|
-
ranges2.push(`<=${
|
|
123764
|
+
ranges2.push(`<=${max2}`);
|
|
123765
123765
|
} else {
|
|
123766
|
-
ranges2.push(`${min} - ${
|
|
123766
|
+
ranges2.push(`${min} - ${max2}`);
|
|
123767
123767
|
}
|
|
123768
123768
|
}
|
|
123769
123769
|
const simplified = ranges2.join(" || ");
|
|
@@ -124057,7 +124057,9 @@ const FileType$1 = {
|
|
|
124057
124057
|
OBS_SEGMENTATIONS_JSON: "obsSegmentations.json",
|
|
124058
124058
|
OBS_SETS_CSV: "obsSets.csv",
|
|
124059
124059
|
OBS_SETS_JSON: "obsSets.json",
|
|
124060
|
+
// OME-Zarr
|
|
124060
124061
|
IMAGE_OME_ZARR: "image.ome-zarr",
|
|
124062
|
+
OBS_SEGMENTATIONS_OME_ZARR: "obsSegmentations.ome-zarr",
|
|
124061
124063
|
// AnnData
|
|
124062
124064
|
OBS_FEATURE_MATRIX_ANNDATA_ZARR: "obsFeatureMatrix.anndata.zarr",
|
|
124063
124065
|
OBS_SETS_ANNDATA_ZARR: "obsSets.anndata.zarr",
|
|
@@ -124510,30 +124512,39 @@ const omeCoordinateTransformations = z.array(z.union([
|
|
|
124510
124512
|
scale: z.array(z.number())
|
|
124511
124513
|
})
|
|
124512
124514
|
]));
|
|
124513
|
-
z.object({
|
|
124515
|
+
const imageOmeTiffSchema = z.object({
|
|
124514
124516
|
offsetsUrl: z.string().optional(),
|
|
124515
124517
|
coordinateTransformations: omeCoordinateTransformations.optional()
|
|
124516
124518
|
});
|
|
124519
|
+
imageOmeTiffSchema.extend({
|
|
124520
|
+
obsTypesFromChannelNames: z.boolean().optional()
|
|
124521
|
+
});
|
|
124517
124522
|
const imageOmeZarrSchema = z.object({
|
|
124518
124523
|
coordinateTransformations: omeCoordinateTransformations.optional()
|
|
124519
124524
|
});
|
|
124520
124525
|
imageOmeZarrSchema.extend({
|
|
124526
|
+
obsTypesFromChannelNames: z.boolean().optional()
|
|
124527
|
+
});
|
|
124528
|
+
const imageSpatialdataSchema = imageOmeZarrSchema.extend({
|
|
124521
124529
|
path: z.string()
|
|
124522
124530
|
});
|
|
124523
|
-
z.object({
|
|
124531
|
+
const obsSegmentationsSpatialdataSchema = z.object({
|
|
124532
|
+
// TODO: should this also extend the imageOmeZarrSchema?
|
|
124533
|
+
// TODO: should this be renamed labelsSpatialdataSchema?
|
|
124534
|
+
// TODO: support obsTypesFromChannelNames?
|
|
124524
124535
|
path: z.string()
|
|
124525
124536
|
});
|
|
124526
124537
|
z.object({
|
|
124527
124538
|
path: z.string()
|
|
124528
124539
|
});
|
|
124529
|
-
z.object({
|
|
124540
|
+
const obsSpotsSpatialdataSchema = z.object({
|
|
124530
124541
|
path: z.string(),
|
|
124531
124542
|
tablePath: z.string().optional().describe("The path to a table which annotates the spots. If available but not specified, the spot identifiers may not be aligned with associated tabular data as expected.")
|
|
124532
124543
|
});
|
|
124533
|
-
annDataObsFeatureMatrix.extend({
|
|
124544
|
+
const obsFeatureMatrixSpatialdataSchema = annDataObsFeatureMatrix.extend({
|
|
124534
124545
|
region: z.string().describe("The name of a region to use to filter instances (i.e., rows) in the table").optional()
|
|
124535
124546
|
});
|
|
124536
|
-
z.object({
|
|
124547
|
+
const obsSetsSpatialdataSchema = z.object({
|
|
124537
124548
|
region: z.string().describe("The name of a region to use to filter instances (i.e., rows) in the table").optional(),
|
|
124538
124549
|
tablePath: z.string().optional().describe("The path to a table which contains the index for the set values."),
|
|
124539
124550
|
obsSets: annDataObsSets
|
|
@@ -124596,6 +124607,19 @@ z.object({
|
|
|
124596
124607
|
z.array(annDataConvenienceObsEmbeddingItem)
|
|
124597
124608
|
])
|
|
124598
124609
|
}).partial();
|
|
124610
|
+
z.object({
|
|
124611
|
+
// TODO: should `image` be a special schema
|
|
124612
|
+
// to allow specifying fileUid (like for embeddingType)?
|
|
124613
|
+
image: imageSpatialdataSchema,
|
|
124614
|
+
// TODO: should this be a special schema
|
|
124615
|
+
// to allow specifying fileUid (like for embeddingType)?
|
|
124616
|
+
labels: obsSegmentationsSpatialdataSchema,
|
|
124617
|
+
obsFeatureMatrix: obsFeatureMatrixSpatialdataSchema,
|
|
124618
|
+
obsSpots: obsSpotsSpatialdataSchema,
|
|
124619
|
+
// TODO: obsPoints
|
|
124620
|
+
// TODO: obsLocations
|
|
124621
|
+
obsSets: obsSetsSpatialdataSchema
|
|
124622
|
+
}).partial();
|
|
124599
124623
|
z.object({
|
|
124600
124624
|
obsLabelsTypes: z.array(z.string()).optional(),
|
|
124601
124625
|
embeddingTypes: z.array(z.string()).optional()
|
|
@@ -124964,14 +124988,14 @@ var tinycolor = { exports: {} };
|
|
|
124964
124988
|
r2 = bound01(r2, 255);
|
|
124965
124989
|
g2 = bound01(g2, 255);
|
|
124966
124990
|
b = bound01(b, 255);
|
|
124967
|
-
var
|
|
124968
|
-
var h, s2, l2 = (
|
|
124969
|
-
if (
|
|
124991
|
+
var max2 = mathMax(r2, g2, b), min = mathMin(r2, g2, b);
|
|
124992
|
+
var h, s2, l2 = (max2 + min) / 2;
|
|
124993
|
+
if (max2 == min) {
|
|
124970
124994
|
h = s2 = 0;
|
|
124971
124995
|
} else {
|
|
124972
|
-
var d =
|
|
124973
|
-
s2 = l2 > 0.5 ? d / (2 -
|
|
124974
|
-
switch (
|
|
124996
|
+
var d = max2 - min;
|
|
124997
|
+
s2 = l2 > 0.5 ? d / (2 - max2 - min) : d / (max2 + min);
|
|
124998
|
+
switch (max2) {
|
|
124975
124999
|
case r2:
|
|
124976
125000
|
h = (g2 - b) / d + (g2 < b ? 6 : 0);
|
|
124977
125001
|
break;
|
|
@@ -125019,14 +125043,14 @@ var tinycolor = { exports: {} };
|
|
|
125019
125043
|
r2 = bound01(r2, 255);
|
|
125020
125044
|
g2 = bound01(g2, 255);
|
|
125021
125045
|
b = bound01(b, 255);
|
|
125022
|
-
var
|
|
125023
|
-
var h, s2, v =
|
|
125024
|
-
var d =
|
|
125025
|
-
s2 =
|
|
125026
|
-
if (
|
|
125046
|
+
var max2 = mathMax(r2, g2, b), min = mathMin(r2, g2, b);
|
|
125047
|
+
var h, s2, v = max2;
|
|
125048
|
+
var d = max2 - min;
|
|
125049
|
+
s2 = max2 === 0 ? 0 : d / max2;
|
|
125050
|
+
if (max2 == min) {
|
|
125027
125051
|
h = 0;
|
|
125028
125052
|
} else {
|
|
125029
|
-
switch (
|
|
125053
|
+
switch (max2) {
|
|
125030
125054
|
case r2:
|
|
125031
125055
|
h = (g2 - b) / d + (g2 < b ? 6 : 0);
|
|
125032
125056
|
break;
|
|
@@ -125423,19 +125447,19 @@ var tinycolor = { exports: {} };
|
|
|
125423
125447
|
}
|
|
125424
125448
|
return a2;
|
|
125425
125449
|
}
|
|
125426
|
-
function bound01(n2,
|
|
125450
|
+
function bound01(n2, max2) {
|
|
125427
125451
|
if (isOnePointZero(n2)) {
|
|
125428
125452
|
n2 = "100%";
|
|
125429
125453
|
}
|
|
125430
125454
|
var processPercent = isPercentage(n2);
|
|
125431
|
-
n2 = mathMin(
|
|
125455
|
+
n2 = mathMin(max2, mathMax(0, parseFloat(n2)));
|
|
125432
125456
|
if (processPercent) {
|
|
125433
|
-
n2 = parseInt(n2 *
|
|
125457
|
+
n2 = parseInt(n2 * max2, 10) / 100;
|
|
125434
125458
|
}
|
|
125435
|
-
if (Math2.abs(n2 -
|
|
125459
|
+
if (Math2.abs(n2 - max2) < 1e-6) {
|
|
125436
125460
|
return 1;
|
|
125437
125461
|
}
|
|
125438
|
-
return n2 %
|
|
125462
|
+
return n2 % max2 / parseFloat(max2);
|
|
125439
125463
|
}
|
|
125440
125464
|
function clamp01(val) {
|
|
125441
125465
|
return mathMin(1, mathMax(0, val));
|
|
@@ -126494,10 +126518,10 @@ var json2csv_umd = { exports: {} };
|
|
|
126494
126518
|
};
|
|
126495
126519
|
Buffer3.prototype.inspect = function inspect2() {
|
|
126496
126520
|
var str = "";
|
|
126497
|
-
var
|
|
126521
|
+
var max2 = INSPECT_MAX_BYTES;
|
|
126498
126522
|
if (this.length > 0) {
|
|
126499
|
-
str = this.toString("hex", 0,
|
|
126500
|
-
if (this.length >
|
|
126523
|
+
str = this.toString("hex", 0, max2).match(/.{2}/g).join(" ");
|
|
126524
|
+
if (this.length > max2)
|
|
126501
126525
|
str += " ... ";
|
|
126502
126526
|
}
|
|
126503
126527
|
return "<Buffer " + str + ">";
|
|
@@ -127063,10 +127087,10 @@ var json2csv_umd = { exports: {} };
|
|
|
127063
127087
|
checkOffset(offset5, 8, this.length);
|
|
127064
127088
|
return read(this, offset5, false, 52, 8);
|
|
127065
127089
|
};
|
|
127066
|
-
function checkInt(buf, value, offset5, ext,
|
|
127090
|
+
function checkInt(buf, value, offset5, ext, max2, min) {
|
|
127067
127091
|
if (!internalIsBuffer(buf))
|
|
127068
127092
|
throw new TypeError('"buffer" argument must be a Buffer instance');
|
|
127069
|
-
if (value >
|
|
127093
|
+
if (value > max2 || value < min)
|
|
127070
127094
|
throw new RangeError('"value" argument is out of bounds');
|
|
127071
127095
|
if (offset5 + ext > buf.length)
|
|
127072
127096
|
throw new RangeError("Index out of range");
|
|
@@ -127291,7 +127315,7 @@ var json2csv_umd = { exports: {} };
|
|
|
127291
127315
|
}
|
|
127292
127316
|
return offset5 + 4;
|
|
127293
127317
|
};
|
|
127294
|
-
function checkIEEE754(buf, value, offset5, ext,
|
|
127318
|
+
function checkIEEE754(buf, value, offset5, ext, max2, min) {
|
|
127295
127319
|
if (offset5 + ext > buf.length)
|
|
127296
127320
|
throw new RangeError("Index out of range");
|
|
127297
127321
|
if (offset5 < 0)
|
|
@@ -131348,18 +131372,18 @@ void main() {
|
|
|
131348
131372
|
`;
|
|
131349
131373
|
function extent(values2, valueof) {
|
|
131350
131374
|
let min;
|
|
131351
|
-
let
|
|
131375
|
+
let max2;
|
|
131352
131376
|
if (valueof === void 0) {
|
|
131353
131377
|
for (const value of values2) {
|
|
131354
131378
|
if (value != null) {
|
|
131355
131379
|
if (min === void 0) {
|
|
131356
131380
|
if (value >= value)
|
|
131357
|
-
min =
|
|
131381
|
+
min = max2 = value;
|
|
131358
131382
|
} else {
|
|
131359
131383
|
if (min > value)
|
|
131360
131384
|
min = value;
|
|
131361
|
-
if (
|
|
131362
|
-
|
|
131385
|
+
if (max2 < value)
|
|
131386
|
+
max2 = value;
|
|
131363
131387
|
}
|
|
131364
131388
|
}
|
|
131365
131389
|
}
|
|
@@ -131369,34 +131393,52 @@ function extent(values2, valueof) {
|
|
|
131369
131393
|
if ((value = valueof(value, ++index2, values2)) != null) {
|
|
131370
131394
|
if (min === void 0) {
|
|
131371
131395
|
if (value >= value)
|
|
131372
|
-
min =
|
|
131396
|
+
min = max2 = value;
|
|
131373
131397
|
} else {
|
|
131374
131398
|
if (min > value)
|
|
131375
131399
|
min = value;
|
|
131376
|
-
if (
|
|
131377
|
-
|
|
131400
|
+
if (max2 < value)
|
|
131401
|
+
max2 = value;
|
|
131378
131402
|
}
|
|
131379
131403
|
}
|
|
131380
131404
|
}
|
|
131381
131405
|
}
|
|
131382
|
-
return [min,
|
|
131406
|
+
return [min, max2];
|
|
131407
|
+
}
|
|
131408
|
+
function max(values2, valueof) {
|
|
131409
|
+
let max2;
|
|
131410
|
+
if (valueof === void 0) {
|
|
131411
|
+
for (const value of values2) {
|
|
131412
|
+
if (value != null && (max2 < value || max2 === void 0 && value >= value)) {
|
|
131413
|
+
max2 = value;
|
|
131414
|
+
}
|
|
131415
|
+
}
|
|
131416
|
+
} else {
|
|
131417
|
+
let index2 = -1;
|
|
131418
|
+
for (let value of values2) {
|
|
131419
|
+
if ((value = valueof(value, ++index2, values2)) != null && (max2 < value || max2 === void 0 && value >= value)) {
|
|
131420
|
+
max2 = value;
|
|
131421
|
+
}
|
|
131422
|
+
}
|
|
131423
|
+
}
|
|
131424
|
+
return max2;
|
|
131383
131425
|
}
|
|
131384
131426
|
function normalize(arr) {
|
|
131385
|
-
const [min,
|
|
131386
|
-
const ratio = 255 / (
|
|
131427
|
+
const [min, max2] = extent(arr);
|
|
131428
|
+
const ratio = 255 / (max2 - min);
|
|
131387
131429
|
const data = new Uint8Array(arr.map((i2) => Math.floor((i2 - min) * ratio)));
|
|
131388
131430
|
return data;
|
|
131389
131431
|
}
|
|
131390
|
-
function multiSetsToTextureData(multiFeatureValues, setColorValues, channelIsSetColorMode, texSize) {
|
|
131432
|
+
function multiSetsToTextureData(multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode, texSize) {
|
|
131391
131433
|
let totalValuesLength = 0;
|
|
131392
131434
|
let totalColorsLength = 0;
|
|
131393
131435
|
channelIsSetColorMode.forEach((isSetColorMode, channelIndex) => {
|
|
131394
|
-
var _a2, _b, _c, _d
|
|
131436
|
+
var _a2, _b, _c, _d;
|
|
131395
131437
|
if (isSetColorMode) {
|
|
131396
|
-
|
|
131397
|
-
|
|
131438
|
+
totalColorsLength += (((_b = (_a2 = setColorValues[channelIndex]) == null ? void 0 : _a2.setColors) == null ? void 0 : _b.length) || 0) * 3;
|
|
131439
|
+
totalValuesLength += ((_c = setColorValues[channelIndex]) == null ? void 0 : _c.obsIndex) ? max(setColorValues[channelIndex].obsIndex.map((d) => parseInt(d))) : 0;
|
|
131398
131440
|
} else {
|
|
131399
|
-
totalValuesLength += ((
|
|
131441
|
+
totalValuesLength += multiMatrixObsIndex[channelIndex] ? max(multiMatrixObsIndex[channelIndex].map((d) => parseInt(d))) : ((_d = multiFeatureValues[channelIndex]) == null ? void 0 : _d.length) || 0;
|
|
131400
131442
|
}
|
|
131401
131443
|
});
|
|
131402
131444
|
const valueTexHeight = Math.max(2, Math.ceil(totalValuesLength / texSize));
|
|
@@ -131414,12 +131456,20 @@ function multiSetsToTextureData(multiFeatureValues, setColorValues, channelIsSet
|
|
|
131414
131456
|
let indexOffset = 0;
|
|
131415
131457
|
let colorOffset = 0;
|
|
131416
131458
|
channelIsSetColorMode.forEach((isSetColorMode, channelIndex) => {
|
|
131459
|
+
const matrixObsIndex = multiMatrixObsIndex[channelIndex];
|
|
131460
|
+
const bitmaskValueIsIndex = matrixObsIndex === null;
|
|
131417
131461
|
if (isSetColorMode) {
|
|
131418
131462
|
const { setColorIndices, setColors, obsIndex } = setColorValues[channelIndex] || {};
|
|
131419
131463
|
if (setColorIndices && setColors && obsIndex) {
|
|
131420
131464
|
for (let i2 = 0; i2 < obsIndex.length; i2++) {
|
|
131421
|
-
|
|
131422
|
-
|
|
131465
|
+
let obsId = String(i2 + 1);
|
|
131466
|
+
let obsI = i2;
|
|
131467
|
+
if (!bitmaskValueIsIndex) {
|
|
131468
|
+
obsId = obsIndex[i2];
|
|
131469
|
+
obsI = parseInt(obsId) - 1;
|
|
131470
|
+
}
|
|
131471
|
+
const colorIndex = setColorIndices.get(obsId);
|
|
131472
|
+
totalData[indexOffset + obsI] = colorIndex === void 0 ? 0 : colorIndex + 1;
|
|
131423
131473
|
}
|
|
131424
131474
|
for (let i2 = 0; i2 < setColors.length; i2++) {
|
|
131425
131475
|
const { color: [r2, g2, b] } = setColors[i2];
|
|
@@ -131434,7 +131484,16 @@ function multiSetsToTextureData(multiFeatureValues, setColorValues, channelIsSet
|
|
|
131434
131484
|
colorOffset += (setColors == null ? void 0 : setColors.length) || 0;
|
|
131435
131485
|
} else {
|
|
131436
131486
|
const featureArr = multiFeatureValues[channelIndex];
|
|
131437
|
-
|
|
131487
|
+
const normalizedFeatureArr = normalize(featureArr);
|
|
131488
|
+
if (!bitmaskValueIsIndex && matrixObsIndex) {
|
|
131489
|
+
for (let i2 = 0; i2 < matrixObsIndex.length; i2++) {
|
|
131490
|
+
const obsId = matrixObsIndex[i2];
|
|
131491
|
+
const obsI = parseInt(obsId) - 1;
|
|
131492
|
+
totalData[indexOffset + obsI] = normalizedFeatureArr[i2];
|
|
131493
|
+
}
|
|
131494
|
+
} else {
|
|
131495
|
+
totalData.set(normalizedFeatureArr, indexOffset);
|
|
131496
|
+
}
|
|
131438
131497
|
indicesOffsets.push(indexOffset);
|
|
131439
131498
|
indexOffset += featureArr.length;
|
|
131440
131499
|
colorsOffsets.push(colorOffset);
|
|
@@ -131461,6 +131520,17 @@ function padWithDefault(arr, defaultValue2, padWidth) {
|
|
|
131461
131520
|
function getColor(arr) {
|
|
131462
131521
|
return arr ? arr.map((v) => v / 255) : [0, 0, 0];
|
|
131463
131522
|
}
|
|
131523
|
+
function isEqualShallow(prevArr, nextArr) {
|
|
131524
|
+
if (prevArr === nextArr) {
|
|
131525
|
+
return true;
|
|
131526
|
+
}
|
|
131527
|
+
if (Array.isArray(prevArr) && Array.isArray(nextArr)) {
|
|
131528
|
+
if (prevArr.length === nextArr.length) {
|
|
131529
|
+
return !prevArr.some((v, i2) => v !== nextArr[i2] && (!Array.isArray(v) && !Array.isArray(nextArr[i2]) || (v.length > 0 || nextArr[i2].length > 0)));
|
|
131530
|
+
}
|
|
131531
|
+
}
|
|
131532
|
+
return prevArr === nextArr;
|
|
131533
|
+
}
|
|
131464
131534
|
const defaultProps$1 = {
|
|
131465
131535
|
channelStrokeWidths: { type: "array", value: null, compare: true },
|
|
131466
131536
|
channelsFilled: { type: "array", value: null, compare: true },
|
|
@@ -131470,6 +131540,7 @@ const defaultProps$1 = {
|
|
|
131470
131540
|
colormap: { type: "string", value: GLSL_COLORMAP_DEFAULT, compare: true },
|
|
131471
131541
|
expressionData: { type: "object", value: null, compare: true },
|
|
131472
131542
|
multiFeatureValues: { type: "array", value: null, compare: true },
|
|
131543
|
+
multiMatrixObsIndex: { type: "array", value: null, compare: true },
|
|
131473
131544
|
setColorValues: { type: "array", value: null, compare: true },
|
|
131474
131545
|
channelFeatureValueColormaps: { type: "array", value: null, compare: true },
|
|
131475
131546
|
channelFeatureValueColormapRanges: { type: "array", value: null, compare: true },
|
|
@@ -131516,9 +131587,9 @@ class BitmaskLayer2 extends XRLayer {
|
|
|
131516
131587
|
}
|
|
131517
131588
|
updateState({ props: props2, oldProps, changeFlags }) {
|
|
131518
131589
|
super.updateState({ props: props2, oldProps, changeFlags });
|
|
131519
|
-
if (props2.multiFeatureValues
|
|
131520
|
-
const { multiFeatureValues, setColorValues, channelIsSetColorMode } = this.props;
|
|
131521
|
-
const [valueTex, colorTex, valueTexOffsets, colorTexOffsets, valueTexHeight, colorTexHeight] = this.multiSetsToTexture(multiFeatureValues, setColorValues, channelIsSetColorMode);
|
|
131590
|
+
if (!isEqualShallow(props2.multiFeatureValues, oldProps.multiFeatureValues) || !isEqualShallow(props2.multiMatrixObsIndex, oldProps.multiMatrixObsIndex) || !isEqualShallow(props2.setColorValues, oldProps.setColorValues) || !isEqualShallow(props2.channelIsSetColorMode, oldProps.channelIsSetColorMode)) {
|
|
131591
|
+
const { multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode } = this.props;
|
|
131592
|
+
const [valueTex, colorTex, valueTexOffsets, colorTexOffsets, valueTexHeight, colorTexHeight] = this.multiSetsToTexture(multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode);
|
|
131522
131593
|
this.setState({
|
|
131523
131594
|
valueTex,
|
|
131524
131595
|
colorTex,
|
|
@@ -131670,9 +131741,9 @@ class BitmaskLayer2 extends XRLayer {
|
|
|
131670
131741
|
type: GL$1.FLOAT
|
|
131671
131742
|
});
|
|
131672
131743
|
}
|
|
131673
|
-
multiSetsToTexture(multiFeatureValues, setColorValues, channelIsSetColorMode) {
|
|
131744
|
+
multiSetsToTexture(multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode) {
|
|
131674
131745
|
const isWebGL2On = isWebGL2$1(this.context.gl);
|
|
131675
|
-
const [totalData, valueTexHeight, indicesOffsets, totalColors, colorTexHeight, colorsOffsets] = multiSetsToTextureData(multiFeatureValues, setColorValues, channelIsSetColorMode, MULTI_FEATURE_TEX_SIZE);
|
|
131746
|
+
const [totalData, valueTexHeight, indicesOffsets, totalColors, colorTexHeight, colorsOffsets] = multiSetsToTextureData(multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode, MULTI_FEATURE_TEX_SIZE);
|
|
131676
131747
|
return [
|
|
131677
131748
|
// Color indices texture
|
|
131678
131749
|
new Texture2D(this.context.gl, {
|
|
@@ -132924,13 +132995,13 @@ var refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);
|
|
|
132924
132995
|
const refType$1 = refType;
|
|
132925
132996
|
function clamp$1(value) {
|
|
132926
132997
|
var min = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
132927
|
-
var
|
|
132998
|
+
var max2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
|
|
132928
132999
|
{
|
|
132929
|
-
if (value < min || value >
|
|
132930
|
-
console.error("Material-UI: The value provided ".concat(value, " is out of range [").concat(min, ", ").concat(
|
|
133000
|
+
if (value < min || value > max2) {
|
|
133001
|
+
console.error("Material-UI: The value provided ".concat(value, " is out of range [").concat(min, ", ").concat(max2, "]."));
|
|
132931
133002
|
}
|
|
132932
133003
|
}
|
|
132933
|
-
return Math.min(Math.max(min, value),
|
|
133004
|
+
return Math.min(Math.max(min, value), max2);
|
|
132934
133005
|
}
|
|
132935
133006
|
function hexToRgb(color) {
|
|
132936
133007
|
color = color.substr(1);
|
|
@@ -140585,8 +140656,8 @@ const ValueLabel$1 = withStyles2(styles$4, {
|
|
|
140585
140656
|
function asc(a2, b) {
|
|
140586
140657
|
return a2 - b;
|
|
140587
140658
|
}
|
|
140588
|
-
function clamp(value, min,
|
|
140589
|
-
return Math.min(Math.max(min, value),
|
|
140659
|
+
function clamp(value, min, max2) {
|
|
140660
|
+
return Math.min(Math.max(min, value), max2);
|
|
140590
140661
|
}
|
|
140591
140662
|
function findClosest(values2, currentValue) {
|
|
140592
140663
|
var _values$reduce = values2.reduce(function(acc, value, index2) {
|
|
@@ -140619,11 +140690,11 @@ function trackFinger(event, touchId) {
|
|
|
140619
140690
|
y: event.clientY
|
|
140620
140691
|
};
|
|
140621
140692
|
}
|
|
140622
|
-
function valueToPercent(value, min,
|
|
140623
|
-
return (value - min) * 100 / (
|
|
140693
|
+
function valueToPercent(value, min, max2) {
|
|
140694
|
+
return (value - min) * 100 / (max2 - min);
|
|
140624
140695
|
}
|
|
140625
|
-
function percentToValue(percent2, min,
|
|
140626
|
-
return (
|
|
140696
|
+
function percentToValue(percent2, min, max2) {
|
|
140697
|
+
return (max2 - min) * percent2 + min;
|
|
140627
140698
|
}
|
|
140628
140699
|
function getDecimalPrecision(num) {
|
|
140629
140700
|
if (Math.abs(num) < 1) {
|
|
@@ -140911,7 +140982,7 @@ var styles$3 = function styles7(theme) {
|
|
|
140911
140982
|
};
|
|
140912
140983
|
};
|
|
140913
140984
|
var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
140914
|
-
var ariaLabel = props2["aria-label"], ariaLabelledby = props2["aria-labelledby"], ariaValuetext = props2["aria-valuetext"], classes = props2.classes, className = props2.className, _props$color = props2.color, color = _props$color === void 0 ? "primary" : _props$color, _props$component = props2.component, Component2 = _props$component === void 0 ? "span" : _props$component, defaultValue2 = props2.defaultValue, _props$disabled = props2.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled, getAriaLabel = props2.getAriaLabel, getAriaValueText = props2.getAriaValueText, _props$marks = props2.marks, marksProp = _props$marks === void 0 ? false : _props$marks, _props$max = props2.max,
|
|
140985
|
+
var ariaLabel = props2["aria-label"], ariaLabelledby = props2["aria-labelledby"], ariaValuetext = props2["aria-valuetext"], classes = props2.classes, className = props2.className, _props$color = props2.color, color = _props$color === void 0 ? "primary" : _props$color, _props$component = props2.component, Component2 = _props$component === void 0 ? "span" : _props$component, defaultValue2 = props2.defaultValue, _props$disabled = props2.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled, getAriaLabel = props2.getAriaLabel, getAriaValueText = props2.getAriaValueText, _props$marks = props2.marks, marksProp = _props$marks === void 0 ? false : _props$marks, _props$max = props2.max, max2 = _props$max === void 0 ? 100 : _props$max, _props$min = props2.min, min = _props$min === void 0 ? 0 : _props$min, name2 = props2.name, onChange = props2.onChange, onChangeCommitted = props2.onChangeCommitted, onMouseDown = props2.onMouseDown, _props$orientation = props2.orientation, orientation = _props$orientation === void 0 ? "horizontal" : _props$orientation, _props$scale = props2.scale, scale2 = _props$scale === void 0 ? Identity : _props$scale, _props$step = props2.step, step = _props$step === void 0 ? 1 : _props$step, _props$ThumbComponent = props2.ThumbComponent, ThumbComponent = _props$ThumbComponent === void 0 ? "span" : _props$ThumbComponent, _props$track = props2.track, track = _props$track === void 0 ? "normal" : _props$track, valueProp = props2.value, _props$ValueLabelComp = props2.ValueLabelComponent, ValueLabelComponent = _props$ValueLabelComp === void 0 ? ValueLabel$1 : _props$ValueLabelComp, _props$valueLabelDisp = props2.valueLabelDisplay, valueLabelDisplay = _props$valueLabelDisp === void 0 ? "off" : _props$valueLabelDisp, _props$valueLabelForm = props2.valueLabelFormat, valueLabelFormat = _props$valueLabelForm === void 0 ? Identity : _props$valueLabelForm, other = _objectWithoutProperties(props2, ["aria-label", "aria-labelledby", "aria-valuetext", "classes", "className", "color", "component", "defaultValue", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "onMouseDown", "orientation", "scale", "step", "ThumbComponent", "track", "value", "ValueLabelComponent", "valueLabelDisplay", "valueLabelFormat"]);
|
|
140915
140986
|
var theme = useTheme();
|
|
140916
140987
|
var touchId = React.useRef();
|
|
140917
140988
|
var _React$useState = React.useState(-1), active = _React$useState[0], setActive = _React$useState[1];
|
|
@@ -140924,9 +140995,9 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
140924
140995
|
var range2 = Array.isArray(valueDerived);
|
|
140925
140996
|
var values2 = range2 ? valueDerived.slice().sort(asc) : [valueDerived];
|
|
140926
140997
|
values2 = values2.map(function(value) {
|
|
140927
|
-
return clamp(value, min,
|
|
140998
|
+
return clamp(value, min, max2);
|
|
140928
140999
|
});
|
|
140929
|
-
var marks = marksProp === true && step !== null ? _toConsumableArray$1(Array(Math.floor((
|
|
141000
|
+
var marks = marksProp === true && step !== null ? _toConsumableArray$1(Array(Math.floor((max2 - min) / step) + 1)).map(function(_, index2) {
|
|
140930
141001
|
return {
|
|
140931
141002
|
value: min + step * index2
|
|
140932
141003
|
};
|
|
@@ -140961,7 +141032,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
140961
141032
|
var handleKeyDown2 = useEventCallback(function(event) {
|
|
140962
141033
|
var index2 = Number(event.currentTarget.getAttribute("data-index"));
|
|
140963
141034
|
var value = values2[index2];
|
|
140964
|
-
var tenPercents = (
|
|
141035
|
+
var tenPercents = (max2 - min) / 10;
|
|
140965
141036
|
var marksValues = marks.map(function(mark) {
|
|
140966
141037
|
return mark.value;
|
|
140967
141038
|
});
|
|
@@ -140974,7 +141045,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
140974
141045
|
newValue = min;
|
|
140975
141046
|
break;
|
|
140976
141047
|
case "End":
|
|
140977
|
-
newValue =
|
|
141048
|
+
newValue = max2;
|
|
140978
141049
|
break;
|
|
140979
141050
|
case "PageUp":
|
|
140980
141051
|
if (step) {
|
|
@@ -141009,7 +141080,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
141009
141080
|
if (step) {
|
|
141010
141081
|
newValue = roundValueToStep(newValue, step, min);
|
|
141011
141082
|
}
|
|
141012
|
-
newValue = clamp(newValue, min,
|
|
141083
|
+
newValue = clamp(newValue, min, max2);
|
|
141013
141084
|
if (range2) {
|
|
141014
141085
|
var previousValue = newValue;
|
|
141015
141086
|
newValue = setValueIndex({
|
|
@@ -141051,7 +141122,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
141051
141122
|
percent2 = 1 - percent2;
|
|
141052
141123
|
}
|
|
141053
141124
|
var newValue;
|
|
141054
|
-
newValue = percentToValue(percent2, min,
|
|
141125
|
+
newValue = percentToValue(percent2, min, max2);
|
|
141055
141126
|
if (step) {
|
|
141056
141127
|
newValue = roundValueToStep(newValue, step, min);
|
|
141057
141128
|
} else {
|
|
@@ -141061,7 +141132,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
141061
141132
|
var closestIndex = findClosest(marksValues, newValue);
|
|
141062
141133
|
newValue = marksValues[closestIndex];
|
|
141063
141134
|
}
|
|
141064
|
-
newValue = clamp(newValue, min,
|
|
141135
|
+
newValue = clamp(newValue, min, max2);
|
|
141065
141136
|
var activeIndex = 0;
|
|
141066
141137
|
if (range2) {
|
|
141067
141138
|
if (!move) {
|
|
@@ -141190,8 +141261,8 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
141190
141261
|
doc.addEventListener("mousemove", handleTouchMove);
|
|
141191
141262
|
doc.addEventListener("mouseup", handleTouchEnd);
|
|
141192
141263
|
});
|
|
141193
|
-
var trackOffset = valueToPercent(range2 ? values2[0] : min, min,
|
|
141194
|
-
var trackLeap = valueToPercent(values2[values2.length - 1], min,
|
|
141264
|
+
var trackOffset = valueToPercent(range2 ? values2[0] : min, min, max2);
|
|
141265
|
+
var trackLeap = valueToPercent(values2[values2.length - 1], min, max2) - trackOffset;
|
|
141195
141266
|
var trackStyle = _extends$1({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap));
|
|
141196
141267
|
return /* @__PURE__ */ React.createElement(Component2, _extends$1({
|
|
141197
141268
|
ref: handleRef,
|
|
@@ -141209,7 +141280,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
141209
141280
|
name: name2,
|
|
141210
141281
|
type: "hidden"
|
|
141211
141282
|
}), marks.map(function(mark, index2) {
|
|
141212
|
-
var percent2 = valueToPercent(mark.value, min,
|
|
141283
|
+
var percent2 = valueToPercent(mark.value, min, max2);
|
|
141213
141284
|
var style = axisProps[axis].offset(percent2);
|
|
141214
141285
|
var markActive;
|
|
141215
141286
|
if (track === false) {
|
|
@@ -141230,7 +141301,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
141230
141301
|
className: clsx(classes.markLabel, markActive && classes.markLabelActive)
|
|
141231
141302
|
}, mark.label) : null);
|
|
141232
141303
|
}), values2.map(function(value, index2) {
|
|
141233
|
-
var percent2 = valueToPercent(value, min,
|
|
141304
|
+
var percent2 = valueToPercent(value, min, max2);
|
|
141234
141305
|
var style = axisProps[axis].offset(percent2);
|
|
141235
141306
|
return /* @__PURE__ */ React.createElement(ValueLabelComponent, {
|
|
141236
141307
|
key: index2,
|
|
@@ -141250,7 +141321,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
141250
141321
|
"aria-label": getAriaLabel ? getAriaLabel(index2) : ariaLabel,
|
|
141251
141322
|
"aria-labelledby": ariaLabelledby,
|
|
141252
141323
|
"aria-orientation": orientation,
|
|
141253
|
-
"aria-valuemax": scale2(
|
|
141324
|
+
"aria-valuemax": scale2(max2),
|
|
141254
141325
|
"aria-valuemin": scale2(min),
|
|
141255
141326
|
"aria-valuenow": scale2(value),
|
|
141256
141327
|
"aria-valuetext": getAriaValueText ? getAriaValueText(scale2(value), index2) : ariaValuetext,
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-68f84e2a.js";
|
|
2
|
-
import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-
|
|
2
|
+
import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-013d5fd5.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import "@vitessce/vit-s";
|
|
5
5
|
import "react-dom";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitessce/scatterplot",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.3",
|
|
4
4
|
"author": "Gehlenborg Lab",
|
|
5
5
|
"homepage": "http://vitessce.io",
|
|
6
6
|
"repository": {
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
"d3-quadtree": "^1.0.7",
|
|
24
24
|
"lodash-es": "^4.17.21",
|
|
25
25
|
"react-aria": "^3.28.0",
|
|
26
|
-
"@vitessce/constants-internal": "3.3.
|
|
27
|
-
"@vitessce/
|
|
28
|
-
"@vitessce/tooltip": "3.3.
|
|
29
|
-
"@vitessce/utils": "3.3.
|
|
30
|
-
"@vitessce/vit-s": "3.3.
|
|
31
|
-
"@vitessce/
|
|
26
|
+
"@vitessce/constants-internal": "3.3.3",
|
|
27
|
+
"@vitessce/gl": "3.3.3",
|
|
28
|
+
"@vitessce/tooltip": "3.3.3",
|
|
29
|
+
"@vitessce/utils": "3.3.3",
|
|
30
|
+
"@vitessce/vit-s": "3.3.3",
|
|
31
|
+
"@vitessce/icons": "3.3.3"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@testing-library/jest-dom": "^5.16.4",
|