@vitessce/heatmap 3.3.2 → 3.3.4
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-75a89dc6.js → deflate-05e3ee40.js} +1 -1
- package/dist/{index-b879347c.js → index-edc6cc12.js} +289 -207
- package/dist/index.js +1 -1
- package/dist/{jpeg-f4efd5d2.js → jpeg-a2f977d0.js} +1 -1
- package/dist/{lerc-24acd19a.js → lerc-0d65f0a5.js} +1 -1
- package/dist/{lzw-4bad7337.js → lzw-5206f32d.js} +1 -1
- package/dist/{packbits-2b4a014a.js → packbits-5812e06c.js} +1 -1
- package/dist/{raw-486d710b.js → raw-1b039310.js} +1 -1
- package/dist/{webimage-5effa8da.js → webimage-199d4de9.js} +1 -1
- package/dist-tsc/HeatmapSubscriber.js +2 -2
- package/package.json +9 -9
- package/src/HeatmapSubscriber.js +2 -2
|
@@ -1371,6 +1371,55 @@ function copyUint8Array(arr) {
|
|
|
1371
1371
|
newArr.set(arr);
|
|
1372
1372
|
return newArr;
|
|
1373
1373
|
}
|
|
1374
|
+
const defaultPoolSize = typeof navigator !== "undefined" ? navigator.hardwareConcurrency || 4 : 1;
|
|
1375
|
+
class Pool {
|
|
1376
|
+
/**
|
|
1377
|
+
* @constructor
|
|
1378
|
+
* @param {object} Worker The worker class to be used for processing.
|
|
1379
|
+
*/
|
|
1380
|
+
constructor(createWorker2) {
|
|
1381
|
+
__publicField(this, "workers");
|
|
1382
|
+
__publicField(this, "idleWorkers");
|
|
1383
|
+
__publicField(this, "waitQueue");
|
|
1384
|
+
this.workers = [];
|
|
1385
|
+
this.idleWorkers = [];
|
|
1386
|
+
this.waitQueue = [];
|
|
1387
|
+
for (let i2 = 0; i2 < defaultPoolSize; ++i2) {
|
|
1388
|
+
const w2 = createWorker2();
|
|
1389
|
+
this.workers.push(w2);
|
|
1390
|
+
this.idleWorkers.push(w2);
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
// eslint-disable-next-line class-methods-use-this
|
|
1394
|
+
async process() {
|
|
1395
|
+
throw new Error('Pool needs to implement "process" method');
|
|
1396
|
+
}
|
|
1397
|
+
async waitForWorker() {
|
|
1398
|
+
const idleWorker = this.idleWorkers.pop();
|
|
1399
|
+
if (idleWorker) {
|
|
1400
|
+
return idleWorker;
|
|
1401
|
+
}
|
|
1402
|
+
const waiter = {};
|
|
1403
|
+
const promise = new Promise((resolve) => {
|
|
1404
|
+
waiter.resolve = resolve;
|
|
1405
|
+
});
|
|
1406
|
+
this.waitQueue.push(waiter);
|
|
1407
|
+
return promise;
|
|
1408
|
+
}
|
|
1409
|
+
async finishTask(currentWorker) {
|
|
1410
|
+
const waiter = this.waitQueue.pop();
|
|
1411
|
+
if (waiter && waiter.resolve) {
|
|
1412
|
+
waiter.resolve(currentWorker);
|
|
1413
|
+
} else {
|
|
1414
|
+
this.idleWorkers.push(currentWorker);
|
|
1415
|
+
}
|
|
1416
|
+
}
|
|
1417
|
+
destroy() {
|
|
1418
|
+
for (let i2 = 0; i2 < this.workers.length; ++i2) {
|
|
1419
|
+
this.workers[i2].terminate();
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1374
1423
|
let getRandomValues$1;
|
|
1375
1424
|
const rnds8$1 = new Uint8Array(16);
|
|
1376
1425
|
function rng$1() {
|
|
@@ -5474,14 +5523,14 @@ class ZodString extends ZodType {
|
|
|
5474
5523
|
return min;
|
|
5475
5524
|
}
|
|
5476
5525
|
get maxLength() {
|
|
5477
|
-
let
|
|
5526
|
+
let max2 = null;
|
|
5478
5527
|
for (const ch of this._def.checks) {
|
|
5479
5528
|
if (ch.kind === "max") {
|
|
5480
|
-
if (
|
|
5481
|
-
|
|
5529
|
+
if (max2 === null || ch.value < max2)
|
|
5530
|
+
max2 = ch.value;
|
|
5482
5531
|
}
|
|
5483
5532
|
}
|
|
5484
|
-
return
|
|
5533
|
+
return max2;
|
|
5485
5534
|
}
|
|
5486
5535
|
}
|
|
5487
5536
|
ZodString.create = (params) => {
|
|
@@ -5696,20 +5745,20 @@ class ZodNumber extends ZodType {
|
|
|
5696
5745
|
return min;
|
|
5697
5746
|
}
|
|
5698
5747
|
get maxValue() {
|
|
5699
|
-
let
|
|
5748
|
+
let max2 = null;
|
|
5700
5749
|
for (const ch of this._def.checks) {
|
|
5701
5750
|
if (ch.kind === "max") {
|
|
5702
|
-
if (
|
|
5703
|
-
|
|
5751
|
+
if (max2 === null || ch.value < max2)
|
|
5752
|
+
max2 = ch.value;
|
|
5704
5753
|
}
|
|
5705
5754
|
}
|
|
5706
|
-
return
|
|
5755
|
+
return max2;
|
|
5707
5756
|
}
|
|
5708
5757
|
get isInt() {
|
|
5709
5758
|
return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util$4.isInteger(ch.value));
|
|
5710
5759
|
}
|
|
5711
5760
|
get isFinite() {
|
|
5712
|
-
let
|
|
5761
|
+
let max2 = null, min = null;
|
|
5713
5762
|
for (const ch of this._def.checks) {
|
|
5714
5763
|
if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
|
|
5715
5764
|
return true;
|
|
@@ -5717,11 +5766,11 @@ class ZodNumber extends ZodType {
|
|
|
5717
5766
|
if (min === null || ch.value > min)
|
|
5718
5767
|
min = ch.value;
|
|
5719
5768
|
} else if (ch.kind === "max") {
|
|
5720
|
-
if (
|
|
5721
|
-
|
|
5769
|
+
if (max2 === null || ch.value < max2)
|
|
5770
|
+
max2 = ch.value;
|
|
5722
5771
|
}
|
|
5723
5772
|
}
|
|
5724
|
-
return Number.isFinite(min) && Number.isFinite(
|
|
5773
|
+
return Number.isFinite(min) && Number.isFinite(max2);
|
|
5725
5774
|
}
|
|
5726
5775
|
}
|
|
5727
5776
|
ZodNumber.create = (params) => {
|
|
@@ -5879,14 +5928,14 @@ class ZodBigInt extends ZodType {
|
|
|
5879
5928
|
return min;
|
|
5880
5929
|
}
|
|
5881
5930
|
get maxValue() {
|
|
5882
|
-
let
|
|
5931
|
+
let max2 = null;
|
|
5883
5932
|
for (const ch of this._def.checks) {
|
|
5884
5933
|
if (ch.kind === "max") {
|
|
5885
|
-
if (
|
|
5886
|
-
|
|
5934
|
+
if (max2 === null || ch.value < max2)
|
|
5935
|
+
max2 = ch.value;
|
|
5887
5936
|
}
|
|
5888
5937
|
}
|
|
5889
|
-
return
|
|
5938
|
+
return max2;
|
|
5890
5939
|
}
|
|
5891
5940
|
}
|
|
5892
5941
|
ZodBigInt.create = (params) => {
|
|
@@ -6014,14 +6063,14 @@ class ZodDate extends ZodType {
|
|
|
6014
6063
|
return min != null ? new Date(min) : null;
|
|
6015
6064
|
}
|
|
6016
6065
|
get maxDate() {
|
|
6017
|
-
let
|
|
6066
|
+
let max2 = null;
|
|
6018
6067
|
for (const ch of this._def.checks) {
|
|
6019
6068
|
if (ch.kind === "max") {
|
|
6020
|
-
if (
|
|
6021
|
-
|
|
6069
|
+
if (max2 === null || ch.value < max2)
|
|
6070
|
+
max2 = ch.value;
|
|
6022
6071
|
}
|
|
6023
6072
|
}
|
|
6024
|
-
return
|
|
6073
|
+
return max2 != null ? new Date(max2) : null;
|
|
6025
6074
|
}
|
|
6026
6075
|
}
|
|
6027
6076
|
ZodDate.create = (params) => {
|
|
@@ -10380,7 +10429,7 @@ var toComparators_1 = toComparators$1;
|
|
|
10380
10429
|
const SemVer$4 = semver;
|
|
10381
10430
|
const Range$7 = requireRange();
|
|
10382
10431
|
const maxSatisfying$1 = (versions, range2, options) => {
|
|
10383
|
-
let
|
|
10432
|
+
let max2 = null;
|
|
10384
10433
|
let maxSV = null;
|
|
10385
10434
|
let rangeObj = null;
|
|
10386
10435
|
try {
|
|
@@ -10390,13 +10439,13 @@ const maxSatisfying$1 = (versions, range2, options) => {
|
|
|
10390
10439
|
}
|
|
10391
10440
|
versions.forEach((v) => {
|
|
10392
10441
|
if (rangeObj.test(v)) {
|
|
10393
|
-
if (!
|
|
10394
|
-
|
|
10395
|
-
maxSV = new SemVer$4(
|
|
10442
|
+
if (!max2 || maxSV.compare(v) === -1) {
|
|
10443
|
+
max2 = v;
|
|
10444
|
+
maxSV = new SemVer$4(max2, options);
|
|
10396
10445
|
}
|
|
10397
10446
|
}
|
|
10398
10447
|
});
|
|
10399
|
-
return
|
|
10448
|
+
return max2;
|
|
10400
10449
|
};
|
|
10401
10450
|
var maxSatisfying_1 = maxSatisfying$1;
|
|
10402
10451
|
const SemVer$3 = semver;
|
|
@@ -10581,17 +10630,17 @@ var simplify = (versions, range2, options) => {
|
|
|
10581
10630
|
set2.push([first, null]);
|
|
10582
10631
|
}
|
|
10583
10632
|
const ranges2 = [];
|
|
10584
|
-
for (const [min,
|
|
10585
|
-
if (min ===
|
|
10633
|
+
for (const [min, max2] of set2) {
|
|
10634
|
+
if (min === max2) {
|
|
10586
10635
|
ranges2.push(min);
|
|
10587
|
-
} else if (!
|
|
10636
|
+
} else if (!max2 && min === v[0]) {
|
|
10588
10637
|
ranges2.push("*");
|
|
10589
|
-
} else if (!
|
|
10638
|
+
} else if (!max2) {
|
|
10590
10639
|
ranges2.push(`>=${min}`);
|
|
10591
10640
|
} else if (min === v[0]) {
|
|
10592
|
-
ranges2.push(`<=${
|
|
10641
|
+
ranges2.push(`<=${max2}`);
|
|
10593
10642
|
} else {
|
|
10594
|
-
ranges2.push(`${min} - ${
|
|
10643
|
+
ranges2.push(`${min} - ${max2}`);
|
|
10595
10644
|
}
|
|
10596
10645
|
}
|
|
10597
10646
|
const simplified = ranges2.join(" || ");
|
|
@@ -10885,7 +10934,9 @@ const FileType$1 = {
|
|
|
10885
10934
|
OBS_SEGMENTATIONS_JSON: "obsSegmentations.json",
|
|
10886
10935
|
OBS_SETS_CSV: "obsSets.csv",
|
|
10887
10936
|
OBS_SETS_JSON: "obsSets.json",
|
|
10937
|
+
// OME-Zarr
|
|
10888
10938
|
IMAGE_OME_ZARR: "image.ome-zarr",
|
|
10939
|
+
OBS_SEGMENTATIONS_OME_ZARR: "obsSegmentations.ome-zarr",
|
|
10889
10940
|
// AnnData
|
|
10890
10941
|
OBS_FEATURE_MATRIX_ANNDATA_ZARR: "obsFeatureMatrix.anndata.zarr",
|
|
10891
10942
|
OBS_SETS_ANNDATA_ZARR: "obsSets.anndata.zarr",
|
|
@@ -11369,7 +11420,9 @@ const COMPONENT_COORDINATION_TYPES = {
|
|
|
11369
11420
|
CoordinationType$1.SPATIAL_SEGMENTATION_FILLED,
|
|
11370
11421
|
CoordinationType$1.SPATIAL_SEGMENTATION_STROKE_WIDTH,
|
|
11371
11422
|
CoordinationType$1.IMAGE_CHANNEL,
|
|
11423
|
+
CoordinationType$1.IMAGE_LAYER,
|
|
11372
11424
|
CoordinationType$1.SEGMENTATION_CHANNEL,
|
|
11425
|
+
CoordinationType$1.SEGMENTATION_LAYER,
|
|
11373
11426
|
CoordinationType$1.SPATIAL_CHANNEL_VISIBLE,
|
|
11374
11427
|
CoordinationType$1.SPATIAL_CHANNEL_OPACITY,
|
|
11375
11428
|
CoordinationType$1.SPATIAL_CHANNEL_WINDOW,
|
|
@@ -11387,6 +11440,9 @@ const COMPONENT_COORDINATION_TYPES = {
|
|
|
11387
11440
|
CoordinationType$1.SPATIAL_SPOT_STROKE_WIDTH,
|
|
11388
11441
|
CoordinationType$1.SPATIAL_LAYER_COLOR,
|
|
11389
11442
|
CoordinationType$1.OBS_COLOR_ENCODING,
|
|
11443
|
+
CoordinationType$1.FEATURE_VALUE_COLORMAP,
|
|
11444
|
+
CoordinationType$1.FEATURE_VALUE_COLORMAP_RANGE,
|
|
11445
|
+
CoordinationType$1.FEATURE_SELECTION,
|
|
11390
11446
|
CoordinationType$1.TOOLTIPS_VISIBLE,
|
|
11391
11447
|
CoordinationType$1.TOOLTIP_CROSSHAIRS_VISIBLE,
|
|
11392
11448
|
CoordinationType$1.LEGEND_VISIBLE,
|
|
@@ -11703,30 +11759,39 @@ const omeCoordinateTransformations = z.array(z.union([
|
|
|
11703
11759
|
scale: z.array(z.number())
|
|
11704
11760
|
})
|
|
11705
11761
|
]));
|
|
11706
|
-
z.object({
|
|
11762
|
+
const imageOmeTiffSchema = z.object({
|
|
11707
11763
|
offsetsUrl: z.string().optional(),
|
|
11708
11764
|
coordinateTransformations: omeCoordinateTransformations.optional()
|
|
11709
11765
|
});
|
|
11766
|
+
imageOmeTiffSchema.extend({
|
|
11767
|
+
obsTypesFromChannelNames: z.boolean().optional()
|
|
11768
|
+
});
|
|
11710
11769
|
const imageOmeZarrSchema = z.object({
|
|
11711
11770
|
coordinateTransformations: omeCoordinateTransformations.optional()
|
|
11712
11771
|
});
|
|
11713
11772
|
imageOmeZarrSchema.extend({
|
|
11773
|
+
obsTypesFromChannelNames: z.boolean().optional()
|
|
11774
|
+
});
|
|
11775
|
+
const imageSpatialdataSchema = imageOmeZarrSchema.extend({
|
|
11714
11776
|
path: z.string()
|
|
11715
11777
|
});
|
|
11716
|
-
z.object({
|
|
11778
|
+
const obsSegmentationsSpatialdataSchema = z.object({
|
|
11779
|
+
// TODO: should this also extend the imageOmeZarrSchema?
|
|
11780
|
+
// TODO: should this be renamed labelsSpatialdataSchema?
|
|
11781
|
+
// TODO: support obsTypesFromChannelNames?
|
|
11717
11782
|
path: z.string()
|
|
11718
11783
|
});
|
|
11719
11784
|
z.object({
|
|
11720
11785
|
path: z.string()
|
|
11721
11786
|
});
|
|
11722
|
-
z.object({
|
|
11787
|
+
const obsSpotsSpatialdataSchema = z.object({
|
|
11723
11788
|
path: z.string(),
|
|
11724
11789
|
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.")
|
|
11725
11790
|
});
|
|
11726
|
-
annDataObsFeatureMatrix.extend({
|
|
11791
|
+
const obsFeatureMatrixSpatialdataSchema = annDataObsFeatureMatrix.extend({
|
|
11727
11792
|
region: z.string().describe("The name of a region to use to filter instances (i.e., rows) in the table").optional()
|
|
11728
11793
|
});
|
|
11729
|
-
z.object({
|
|
11794
|
+
const obsSetsSpatialdataSchema = z.object({
|
|
11730
11795
|
region: z.string().describe("The name of a region to use to filter instances (i.e., rows) in the table").optional(),
|
|
11731
11796
|
tablePath: z.string().optional().describe("The path to a table which contains the index for the set values."),
|
|
11732
11797
|
obsSets: annDataObsSets
|
|
@@ -11789,6 +11854,19 @@ z.object({
|
|
|
11789
11854
|
z.array(annDataConvenienceObsEmbeddingItem)
|
|
11790
11855
|
])
|
|
11791
11856
|
}).partial();
|
|
11857
|
+
z.object({
|
|
11858
|
+
// TODO: should `image` be a special schema
|
|
11859
|
+
// to allow specifying fileUid (like for embeddingType)?
|
|
11860
|
+
image: imageSpatialdataSchema,
|
|
11861
|
+
// TODO: should this be a special schema
|
|
11862
|
+
// to allow specifying fileUid (like for embeddingType)?
|
|
11863
|
+
labels: obsSegmentationsSpatialdataSchema,
|
|
11864
|
+
obsFeatureMatrix: obsFeatureMatrixSpatialdataSchema,
|
|
11865
|
+
obsSpots: obsSpotsSpatialdataSchema,
|
|
11866
|
+
// TODO: obsPoints
|
|
11867
|
+
// TODO: obsLocations
|
|
11868
|
+
obsSets: obsSetsSpatialdataSchema
|
|
11869
|
+
}).partial();
|
|
11792
11870
|
z.object({
|
|
11793
11871
|
obsLabelsTypes: z.array(z.string()).optional(),
|
|
11794
11872
|
embeddingTypes: z.array(z.string()).optional()
|
|
@@ -12162,14 +12240,14 @@ var tinycolor = { exports: {} };
|
|
|
12162
12240
|
r2 = bound01(r2, 255);
|
|
12163
12241
|
g2 = bound01(g2, 255);
|
|
12164
12242
|
b = bound01(b, 255);
|
|
12165
|
-
var
|
|
12166
|
-
var h, s2, l2 = (
|
|
12167
|
-
if (
|
|
12243
|
+
var max2 = mathMax(r2, g2, b), min = mathMin(r2, g2, b);
|
|
12244
|
+
var h, s2, l2 = (max2 + min) / 2;
|
|
12245
|
+
if (max2 == min) {
|
|
12168
12246
|
h = s2 = 0;
|
|
12169
12247
|
} else {
|
|
12170
|
-
var d =
|
|
12171
|
-
s2 = l2 > 0.5 ? d / (2 -
|
|
12172
|
-
switch (
|
|
12248
|
+
var d = max2 - min;
|
|
12249
|
+
s2 = l2 > 0.5 ? d / (2 - max2 - min) : d / (max2 + min);
|
|
12250
|
+
switch (max2) {
|
|
12173
12251
|
case r2:
|
|
12174
12252
|
h = (g2 - b) / d + (g2 < b ? 6 : 0);
|
|
12175
12253
|
break;
|
|
@@ -12217,14 +12295,14 @@ var tinycolor = { exports: {} };
|
|
|
12217
12295
|
r2 = bound01(r2, 255);
|
|
12218
12296
|
g2 = bound01(g2, 255);
|
|
12219
12297
|
b = bound01(b, 255);
|
|
12220
|
-
var
|
|
12221
|
-
var h, s2, v =
|
|
12222
|
-
var d =
|
|
12223
|
-
s2 =
|
|
12224
|
-
if (
|
|
12298
|
+
var max2 = mathMax(r2, g2, b), min = mathMin(r2, g2, b);
|
|
12299
|
+
var h, s2, v = max2;
|
|
12300
|
+
var d = max2 - min;
|
|
12301
|
+
s2 = max2 === 0 ? 0 : d / max2;
|
|
12302
|
+
if (max2 == min) {
|
|
12225
12303
|
h = 0;
|
|
12226
12304
|
} else {
|
|
12227
|
-
switch (
|
|
12305
|
+
switch (max2) {
|
|
12228
12306
|
case r2:
|
|
12229
12307
|
h = (g2 - b) / d + (g2 < b ? 6 : 0);
|
|
12230
12308
|
break;
|
|
@@ -12621,19 +12699,19 @@ var tinycolor = { exports: {} };
|
|
|
12621
12699
|
}
|
|
12622
12700
|
return a2;
|
|
12623
12701
|
}
|
|
12624
|
-
function bound01(n2,
|
|
12702
|
+
function bound01(n2, max2) {
|
|
12625
12703
|
if (isOnePointZero(n2)) {
|
|
12626
12704
|
n2 = "100%";
|
|
12627
12705
|
}
|
|
12628
12706
|
var processPercent = isPercentage(n2);
|
|
12629
|
-
n2 = mathMin(
|
|
12707
|
+
n2 = mathMin(max2, mathMax(0, parseFloat(n2)));
|
|
12630
12708
|
if (processPercent) {
|
|
12631
|
-
n2 = parseInt(n2 *
|
|
12709
|
+
n2 = parseInt(n2 * max2, 10) / 100;
|
|
12632
12710
|
}
|
|
12633
|
-
if (Math2.abs(n2 -
|
|
12711
|
+
if (Math2.abs(n2 - max2) < 1e-6) {
|
|
12634
12712
|
return 1;
|
|
12635
12713
|
}
|
|
12636
|
-
return n2 %
|
|
12714
|
+
return n2 % max2 / parseFloat(max2);
|
|
12637
12715
|
}
|
|
12638
12716
|
function clamp01(val) {
|
|
12639
12717
|
return mathMin(1, mathMax(0, val));
|
|
@@ -13791,10 +13869,10 @@ var json2csv_umd = { exports: {} };
|
|
|
13791
13869
|
};
|
|
13792
13870
|
Buffer3.prototype.inspect = function inspect2() {
|
|
13793
13871
|
var str = "";
|
|
13794
|
-
var
|
|
13872
|
+
var max2 = INSPECT_MAX_BYTES;
|
|
13795
13873
|
if (this.length > 0) {
|
|
13796
|
-
str = this.toString("hex", 0,
|
|
13797
|
-
if (this.length >
|
|
13874
|
+
str = this.toString("hex", 0, max2).match(/.{2}/g).join(" ");
|
|
13875
|
+
if (this.length > max2)
|
|
13798
13876
|
str += " ... ";
|
|
13799
13877
|
}
|
|
13800
13878
|
return "<Buffer " + str + ">";
|
|
@@ -14360,10 +14438,10 @@ var json2csv_umd = { exports: {} };
|
|
|
14360
14438
|
checkOffset(offset5, 8, this.length);
|
|
14361
14439
|
return read(this, offset5, false, 52, 8);
|
|
14362
14440
|
};
|
|
14363
|
-
function checkInt(buf, value, offset5, ext,
|
|
14441
|
+
function checkInt(buf, value, offset5, ext, max2, min) {
|
|
14364
14442
|
if (!internalIsBuffer(buf))
|
|
14365
14443
|
throw new TypeError('"buffer" argument must be a Buffer instance');
|
|
14366
|
-
if (value >
|
|
14444
|
+
if (value > max2 || value < min)
|
|
14367
14445
|
throw new RangeError('"value" argument is out of bounds');
|
|
14368
14446
|
if (offset5 + ext > buf.length)
|
|
14369
14447
|
throw new RangeError("Index out of range");
|
|
@@ -14588,7 +14666,7 @@ var json2csv_umd = { exports: {} };
|
|
|
14588
14666
|
}
|
|
14589
14667
|
return offset5 + 4;
|
|
14590
14668
|
};
|
|
14591
|
-
function checkIEEE754(buf, value, offset5, ext,
|
|
14669
|
+
function checkIEEE754(buf, value, offset5, ext, max2, min) {
|
|
14592
14670
|
if (offset5 + ext > buf.length)
|
|
14593
14671
|
throw new RangeError("Index out of range");
|
|
14594
14672
|
if (offset5 < 0)
|
|
@@ -18435,62 +18513,19 @@ interpolateSequentialMulti(schemePlasma);
|
|
|
18435
18513
|
function getCellColors(params) {
|
|
18436
18514
|
const { cellSets, cellSetSelection, cellSetColor, obsIndex, theme } = params;
|
|
18437
18515
|
if (cellSetSelection && cellSets) {
|
|
18438
|
-
return treeToCellColorsBySetNames(
|
|
18516
|
+
return treeToCellColorsBySetNames(
|
|
18517
|
+
cellSets,
|
|
18518
|
+
cellSetSelection,
|
|
18519
|
+
cellSetColor,
|
|
18520
|
+
theme
|
|
18521
|
+
/* as string */
|
|
18522
|
+
);
|
|
18439
18523
|
}
|
|
18440
18524
|
if (obsIndex && theme) {
|
|
18441
18525
|
return new Map(obsIndex.map((o2) => [o2, getDefaultColor(theme)]));
|
|
18442
18526
|
}
|
|
18443
18527
|
return /* @__PURE__ */ new Map();
|
|
18444
18528
|
}
|
|
18445
|
-
const defaultPoolSize = typeof navigator !== "undefined" ? navigator.hardwareConcurrency || 4 : 1;
|
|
18446
|
-
class Pool {
|
|
18447
|
-
/**
|
|
18448
|
-
* @constructor
|
|
18449
|
-
* @param {object} Worker The worker class to be used for processing.
|
|
18450
|
-
*/
|
|
18451
|
-
constructor(createWorker2) {
|
|
18452
|
-
__publicField(this, "workers");
|
|
18453
|
-
__publicField(this, "idleWorkers");
|
|
18454
|
-
__publicField(this, "waitQueue");
|
|
18455
|
-
this.workers = [];
|
|
18456
|
-
this.idleWorkers = [];
|
|
18457
|
-
this.waitQueue = [];
|
|
18458
|
-
for (let i2 = 0; i2 < defaultPoolSize; ++i2) {
|
|
18459
|
-
const w2 = createWorker2();
|
|
18460
|
-
this.workers.push(w2);
|
|
18461
|
-
this.idleWorkers.push(w2);
|
|
18462
|
-
}
|
|
18463
|
-
}
|
|
18464
|
-
// eslint-disable-next-line class-methods-use-this
|
|
18465
|
-
async process() {
|
|
18466
|
-
throw new Error('Pool needs to implement "process" method');
|
|
18467
|
-
}
|
|
18468
|
-
async waitForWorker() {
|
|
18469
|
-
const idleWorker = this.idleWorkers.pop();
|
|
18470
|
-
if (idleWorker) {
|
|
18471
|
-
return idleWorker;
|
|
18472
|
-
}
|
|
18473
|
-
const waiter = {};
|
|
18474
|
-
const promise = new Promise((resolve) => {
|
|
18475
|
-
waiter.resolve = resolve;
|
|
18476
|
-
});
|
|
18477
|
-
this.waitQueue.push(waiter);
|
|
18478
|
-
return promise;
|
|
18479
|
-
}
|
|
18480
|
-
async finishTask(currentWorker) {
|
|
18481
|
-
const waiter = this.waitQueue.pop();
|
|
18482
|
-
if (waiter && waiter.resolve) {
|
|
18483
|
-
waiter.resolve(currentWorker);
|
|
18484
|
-
} else {
|
|
18485
|
-
this.idleWorkers.push(currentWorker);
|
|
18486
|
-
}
|
|
18487
|
-
}
|
|
18488
|
-
destroy() {
|
|
18489
|
-
for (let i2 = 0; i2 < this.workers.length; ++i2) {
|
|
18490
|
-
this.workers[i2].terminate();
|
|
18491
|
-
}
|
|
18492
|
-
}
|
|
18493
|
-
}
|
|
18494
18529
|
function r$1(e3) {
|
|
18495
18530
|
var t2, f2, n2 = "";
|
|
18496
18531
|
if ("string" == typeof e3 || "number" == typeof e3)
|
|
@@ -19724,13 +19759,13 @@ var refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);
|
|
|
19724
19759
|
const refType$1 = refType;
|
|
19725
19760
|
function clamp$3(value) {
|
|
19726
19761
|
var min = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
19727
|
-
var
|
|
19762
|
+
var max2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
|
|
19728
19763
|
{
|
|
19729
|
-
if (value < min || value >
|
|
19730
|
-
console.error("Material-UI: The value provided ".concat(value, " is out of range [").concat(min, ", ").concat(
|
|
19764
|
+
if (value < min || value > max2) {
|
|
19765
|
+
console.error("Material-UI: The value provided ".concat(value, " is out of range [").concat(min, ", ").concat(max2, "]."));
|
|
19731
19766
|
}
|
|
19732
19767
|
}
|
|
19733
|
-
return Math.min(Math.max(min, value),
|
|
19768
|
+
return Math.min(Math.max(min, value), max2);
|
|
19734
19769
|
}
|
|
19735
19770
|
function hexToRgb(color2) {
|
|
19736
19771
|
color2 = color2.substr(1);
|
|
@@ -27398,8 +27433,8 @@ const ValueLabel$1 = withStyles2(styles$4, {
|
|
|
27398
27433
|
function asc(a2, b) {
|
|
27399
27434
|
return a2 - b;
|
|
27400
27435
|
}
|
|
27401
|
-
function clamp$2(value, min,
|
|
27402
|
-
return Math.min(Math.max(min, value),
|
|
27436
|
+
function clamp$2(value, min, max2) {
|
|
27437
|
+
return Math.min(Math.max(min, value), max2);
|
|
27403
27438
|
}
|
|
27404
27439
|
function findClosest(values2, currentValue) {
|
|
27405
27440
|
var _values$reduce = values2.reduce(function(acc, value, index2) {
|
|
@@ -27432,11 +27467,11 @@ function trackFinger(event, touchId) {
|
|
|
27432
27467
|
y: event.clientY
|
|
27433
27468
|
};
|
|
27434
27469
|
}
|
|
27435
|
-
function valueToPercent(value, min,
|
|
27436
|
-
return (value - min) * 100 / (
|
|
27470
|
+
function valueToPercent(value, min, max2) {
|
|
27471
|
+
return (value - min) * 100 / (max2 - min);
|
|
27437
27472
|
}
|
|
27438
|
-
function percentToValue(percent2, min,
|
|
27439
|
-
return (
|
|
27473
|
+
function percentToValue(percent2, min, max2) {
|
|
27474
|
+
return (max2 - min) * percent2 + min;
|
|
27440
27475
|
}
|
|
27441
27476
|
function getDecimalPrecision(num) {
|
|
27442
27477
|
if (Math.abs(num) < 1) {
|
|
@@ -27724,7 +27759,7 @@ var styles$3 = function styles7(theme) {
|
|
|
27724
27759
|
};
|
|
27725
27760
|
};
|
|
27726
27761
|
var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
27727
|
-
var ariaLabel = props2["aria-label"], ariaLabelledby = props2["aria-labelledby"], ariaValuetext = props2["aria-valuetext"], classes = props2.classes, className = props2.className, _props$color = props2.color, color2 = _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,
|
|
27762
|
+
var ariaLabel = props2["aria-label"], ariaLabelledby = props2["aria-labelledby"], ariaValuetext = props2["aria-valuetext"], classes = props2.classes, className = props2.className, _props$color = props2.color, color2 = _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"]);
|
|
27728
27763
|
var theme = useTheme();
|
|
27729
27764
|
var touchId = React.useRef();
|
|
27730
27765
|
var _React$useState = React.useState(-1), active = _React$useState[0], setActive = _React$useState[1];
|
|
@@ -27737,9 +27772,9 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
27737
27772
|
var range2 = Array.isArray(valueDerived);
|
|
27738
27773
|
var values2 = range2 ? valueDerived.slice().sort(asc) : [valueDerived];
|
|
27739
27774
|
values2 = values2.map(function(value) {
|
|
27740
|
-
return clamp$2(value, min,
|
|
27775
|
+
return clamp$2(value, min, max2);
|
|
27741
27776
|
});
|
|
27742
|
-
var marks = marksProp === true && step !== null ? _toConsumableArray$j(Array(Math.floor((
|
|
27777
|
+
var marks = marksProp === true && step !== null ? _toConsumableArray$j(Array(Math.floor((max2 - min) / step) + 1)).map(function(_, index2) {
|
|
27743
27778
|
return {
|
|
27744
27779
|
value: min + step * index2
|
|
27745
27780
|
};
|
|
@@ -27774,7 +27809,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
27774
27809
|
var handleKeyDown2 = useEventCallback(function(event) {
|
|
27775
27810
|
var index2 = Number(event.currentTarget.getAttribute("data-index"));
|
|
27776
27811
|
var value = values2[index2];
|
|
27777
|
-
var tenPercents = (
|
|
27812
|
+
var tenPercents = (max2 - min) / 10;
|
|
27778
27813
|
var marksValues = marks.map(function(mark) {
|
|
27779
27814
|
return mark.value;
|
|
27780
27815
|
});
|
|
@@ -27787,7 +27822,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
27787
27822
|
newValue = min;
|
|
27788
27823
|
break;
|
|
27789
27824
|
case "End":
|
|
27790
|
-
newValue =
|
|
27825
|
+
newValue = max2;
|
|
27791
27826
|
break;
|
|
27792
27827
|
case "PageUp":
|
|
27793
27828
|
if (step) {
|
|
@@ -27822,7 +27857,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
27822
27857
|
if (step) {
|
|
27823
27858
|
newValue = roundValueToStep(newValue, step, min);
|
|
27824
27859
|
}
|
|
27825
|
-
newValue = clamp$2(newValue, min,
|
|
27860
|
+
newValue = clamp$2(newValue, min, max2);
|
|
27826
27861
|
if (range2) {
|
|
27827
27862
|
var previousValue = newValue;
|
|
27828
27863
|
newValue = setValueIndex({
|
|
@@ -27864,7 +27899,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
27864
27899
|
percent2 = 1 - percent2;
|
|
27865
27900
|
}
|
|
27866
27901
|
var newValue;
|
|
27867
|
-
newValue = percentToValue(percent2, min,
|
|
27902
|
+
newValue = percentToValue(percent2, min, max2);
|
|
27868
27903
|
if (step) {
|
|
27869
27904
|
newValue = roundValueToStep(newValue, step, min);
|
|
27870
27905
|
} else {
|
|
@@ -27874,7 +27909,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
27874
27909
|
var closestIndex = findClosest(marksValues, newValue);
|
|
27875
27910
|
newValue = marksValues[closestIndex];
|
|
27876
27911
|
}
|
|
27877
|
-
newValue = clamp$2(newValue, min,
|
|
27912
|
+
newValue = clamp$2(newValue, min, max2);
|
|
27878
27913
|
var activeIndex = 0;
|
|
27879
27914
|
if (range2) {
|
|
27880
27915
|
if (!move) {
|
|
@@ -28003,8 +28038,8 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
28003
28038
|
doc.addEventListener("mousemove", handleTouchMove);
|
|
28004
28039
|
doc.addEventListener("mouseup", handleTouchEnd);
|
|
28005
28040
|
});
|
|
28006
|
-
var trackOffset = valueToPercent(range2 ? values2[0] : min, min,
|
|
28007
|
-
var trackLeap = valueToPercent(values2[values2.length - 1], min,
|
|
28041
|
+
var trackOffset = valueToPercent(range2 ? values2[0] : min, min, max2);
|
|
28042
|
+
var trackLeap = valueToPercent(values2[values2.length - 1], min, max2) - trackOffset;
|
|
28008
28043
|
var trackStyle = _extends$1({}, axisProps[axis2].offset(trackOffset), axisProps[axis2].leap(trackLeap));
|
|
28009
28044
|
return /* @__PURE__ */ React.createElement(Component2, _extends$1({
|
|
28010
28045
|
ref: handleRef,
|
|
@@ -28022,7 +28057,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
28022
28057
|
name: name2,
|
|
28023
28058
|
type: "hidden"
|
|
28024
28059
|
}), marks.map(function(mark, index2) {
|
|
28025
|
-
var percent2 = valueToPercent(mark.value, min,
|
|
28060
|
+
var percent2 = valueToPercent(mark.value, min, max2);
|
|
28026
28061
|
var style2 = axisProps[axis2].offset(percent2);
|
|
28027
28062
|
var markActive;
|
|
28028
28063
|
if (track === false) {
|
|
@@ -28043,7 +28078,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
28043
28078
|
className: clsx(classes.markLabel, markActive && classes.markLabelActive)
|
|
28044
28079
|
}, mark.label) : null);
|
|
28045
28080
|
}), values2.map(function(value, index2) {
|
|
28046
|
-
var percent2 = valueToPercent(value, min,
|
|
28081
|
+
var percent2 = valueToPercent(value, min, max2);
|
|
28047
28082
|
var style2 = axisProps[axis2].offset(percent2);
|
|
28048
28083
|
return /* @__PURE__ */ React.createElement(ValueLabelComponent, {
|
|
28049
28084
|
key: index2,
|
|
@@ -28063,7 +28098,7 @@ var Slider = /* @__PURE__ */ React.forwardRef(function Slider2(props2, ref) {
|
|
|
28063
28098
|
"aria-label": getAriaLabel ? getAriaLabel(index2) : ariaLabel,
|
|
28064
28099
|
"aria-labelledby": ariaLabelledby,
|
|
28065
28100
|
"aria-orientation": orientation,
|
|
28066
|
-
"aria-valuemax": scale2(
|
|
28101
|
+
"aria-valuemax": scale2(max2),
|
|
28067
28102
|
"aria-valuemin": scale2(min),
|
|
28068
28103
|
"aria-valuenow": scale2(value),
|
|
28069
28104
|
"aria-valuetext": getAriaValueText ? getAriaValueText(scale2(value), index2) : ariaValuetext,
|
|
@@ -29297,18 +29332,18 @@ bisector$1(number$2).center;
|
|
|
29297
29332
|
const bisect = bisectRight;
|
|
29298
29333
|
function extent$1(values2, valueof) {
|
|
29299
29334
|
let min;
|
|
29300
|
-
let
|
|
29335
|
+
let max2;
|
|
29301
29336
|
if (valueof === void 0) {
|
|
29302
29337
|
for (const value of values2) {
|
|
29303
29338
|
if (value != null) {
|
|
29304
29339
|
if (min === void 0) {
|
|
29305
29340
|
if (value >= value)
|
|
29306
|
-
min =
|
|
29341
|
+
min = max2 = value;
|
|
29307
29342
|
} else {
|
|
29308
29343
|
if (min > value)
|
|
29309
29344
|
min = value;
|
|
29310
|
-
if (
|
|
29311
|
-
|
|
29345
|
+
if (max2 < value)
|
|
29346
|
+
max2 = value;
|
|
29312
29347
|
}
|
|
29313
29348
|
}
|
|
29314
29349
|
}
|
|
@@ -29318,17 +29353,17 @@ function extent$1(values2, valueof) {
|
|
|
29318
29353
|
if ((value = valueof(value, ++index2, values2)) != null) {
|
|
29319
29354
|
if (min === void 0) {
|
|
29320
29355
|
if (value >= value)
|
|
29321
|
-
min =
|
|
29356
|
+
min = max2 = value;
|
|
29322
29357
|
} else {
|
|
29323
29358
|
if (min > value)
|
|
29324
29359
|
min = value;
|
|
29325
|
-
if (
|
|
29326
|
-
|
|
29360
|
+
if (max2 < value)
|
|
29361
|
+
max2 = value;
|
|
29327
29362
|
}
|
|
29328
29363
|
}
|
|
29329
29364
|
}
|
|
29330
29365
|
}
|
|
29331
|
-
return [min,
|
|
29366
|
+
return [min, max2];
|
|
29332
29367
|
}
|
|
29333
29368
|
var e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
|
|
29334
29369
|
function ticks(start, stop, count2) {
|
|
@@ -29378,6 +29413,24 @@ function tickStep(start, stop, count2) {
|
|
|
29378
29413
|
step1 *= 2;
|
|
29379
29414
|
return stop < start ? -step1 : step1;
|
|
29380
29415
|
}
|
|
29416
|
+
function max(values2, valueof) {
|
|
29417
|
+
let max2;
|
|
29418
|
+
if (valueof === void 0) {
|
|
29419
|
+
for (const value of values2) {
|
|
29420
|
+
if (value != null && (max2 < value || max2 === void 0 && value >= value)) {
|
|
29421
|
+
max2 = value;
|
|
29422
|
+
}
|
|
29423
|
+
}
|
|
29424
|
+
} else {
|
|
29425
|
+
let index2 = -1;
|
|
29426
|
+
for (let value of values2) {
|
|
29427
|
+
if ((value = valueof(value, ++index2, values2)) != null && (max2 < value || max2 === void 0 && value >= value)) {
|
|
29428
|
+
max2 = value;
|
|
29429
|
+
}
|
|
29430
|
+
}
|
|
29431
|
+
}
|
|
29432
|
+
return max2;
|
|
29433
|
+
}
|
|
29381
29434
|
function initRange(domain, range2) {
|
|
29382
29435
|
switch (arguments.length) {
|
|
29383
29436
|
case 0:
|
|
@@ -29683,15 +29736,15 @@ function hslConvert(o2) {
|
|
|
29683
29736
|
if (o2 instanceof Hsl)
|
|
29684
29737
|
return o2;
|
|
29685
29738
|
o2 = o2.rgb();
|
|
29686
|
-
var r2 = o2.r / 255, g2 = o2.g / 255, b = o2.b / 255, min = Math.min(r2, g2, b),
|
|
29739
|
+
var r2 = o2.r / 255, g2 = o2.g / 255, b = o2.b / 255, min = Math.min(r2, g2, b), max2 = Math.max(r2, g2, b), h = NaN, s2 = max2 - min, l2 = (max2 + min) / 2;
|
|
29687
29740
|
if (s2) {
|
|
29688
|
-
if (r2 ===
|
|
29741
|
+
if (r2 === max2)
|
|
29689
29742
|
h = (g2 - b) / s2 + (g2 < b) * 6;
|
|
29690
|
-
else if (g2 ===
|
|
29743
|
+
else if (g2 === max2)
|
|
29691
29744
|
h = (b - r2) / s2 + 2;
|
|
29692
29745
|
else
|
|
29693
29746
|
h = (r2 - g2) / s2 + 4;
|
|
29694
|
-
s2 /= l2 < 0.5 ?
|
|
29747
|
+
s2 /= l2 < 0.5 ? max2 + min : 2 - max2 - min;
|
|
29695
29748
|
h *= 60;
|
|
29696
29749
|
} else {
|
|
29697
29750
|
s2 = l2 > 0 && l2 < 1 ? 0 : h;
|
|
@@ -30239,9 +30292,9 @@ function precisionFixed(step) {
|
|
|
30239
30292
|
function precisionPrefix(step, value) {
|
|
30240
30293
|
return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));
|
|
30241
30294
|
}
|
|
30242
|
-
function precisionRound(step,
|
|
30243
|
-
step = Math.abs(step),
|
|
30244
|
-
return Math.max(0, exponent(
|
|
30295
|
+
function precisionRound(step, max2) {
|
|
30296
|
+
step = Math.abs(step), max2 = Math.abs(max2) - step;
|
|
30297
|
+
return Math.max(0, exponent(max2) - exponent(step)) + 1;
|
|
30245
30298
|
}
|
|
30246
30299
|
function tickFormat(start, stop, count2, specifier) {
|
|
30247
30300
|
var step = tickStep(start, stop, count2), precision;
|
|
@@ -41395,8 +41448,8 @@ function acos$1(radians2, result) {
|
|
|
41395
41448
|
function atan$1(radians2, result) {
|
|
41396
41449
|
return map(radians2, (angle2) => Math.atan(angle2), result);
|
|
41397
41450
|
}
|
|
41398
|
-
function clamp$1(value, min,
|
|
41399
|
-
return map(value, (value2) => Math.max(min, Math.min(
|
|
41451
|
+
function clamp$1(value, min, max2) {
|
|
41452
|
+
return map(value, (value2) => Math.max(min, Math.min(max2, value2)));
|
|
41400
41453
|
}
|
|
41401
41454
|
function lerp$5(a2, b, t2) {
|
|
41402
41455
|
if (isArray$1(a2)) {
|
|
@@ -41683,9 +41736,9 @@ class MathArray extends _extendableBuiltin(Array) {
|
|
|
41683
41736
|
divideScalar(a2) {
|
|
41684
41737
|
return this.multiplyByScalar(1 / a2);
|
|
41685
41738
|
}
|
|
41686
|
-
clampScalar(min,
|
|
41739
|
+
clampScalar(min, max2) {
|
|
41687
41740
|
for (let i2 = 0; i2 < this.ELEMENTS; ++i2) {
|
|
41688
|
-
this[i2] = Math.min(Math.max(this[i2], min),
|
|
41741
|
+
this[i2] = Math.min(Math.max(this[i2], min), max2);
|
|
41689
41742
|
}
|
|
41690
41743
|
return this.check();
|
|
41691
41744
|
}
|
|
@@ -47818,8 +47871,8 @@ function mod$1(value, divisor) {
|
|
|
47818
47871
|
function lerp(start, end, step) {
|
|
47819
47872
|
return step * end + (1 - step) * start;
|
|
47820
47873
|
}
|
|
47821
|
-
function clamp(x2, min,
|
|
47822
|
-
return x2 < min ? min : x2 >
|
|
47874
|
+
function clamp(x2, min, max2) {
|
|
47875
|
+
return x2 < min ? min : x2 > max2 ? max2 : x2;
|
|
47823
47876
|
}
|
|
47824
47877
|
function ieLog2(x2) {
|
|
47825
47878
|
return Math.log(x2) * Math.LOG2E;
|
|
@@ -57540,17 +57593,17 @@ class DataColumn {
|
|
|
57540
57593
|
const len2 = numInstances * size;
|
|
57541
57594
|
if (value && len2 && value.length >= len2) {
|
|
57542
57595
|
const min = new Array(size).fill(Infinity);
|
|
57543
|
-
const
|
|
57596
|
+
const max2 = new Array(size).fill(-Infinity);
|
|
57544
57597
|
for (let i2 = 0; i2 < len2; ) {
|
|
57545
57598
|
for (let j = 0; j < size; j++) {
|
|
57546
57599
|
const v = value[i2++];
|
|
57547
57600
|
if (v < min[j])
|
|
57548
57601
|
min[j] = v;
|
|
57549
|
-
if (v >
|
|
57550
|
-
|
|
57602
|
+
if (v > max2[j])
|
|
57603
|
+
max2[j] = v;
|
|
57551
57604
|
}
|
|
57552
57605
|
}
|
|
57553
|
-
result = [min,
|
|
57606
|
+
result = [min, max2];
|
|
57554
57607
|
}
|
|
57555
57608
|
}
|
|
57556
57609
|
this.state.bounds = result;
|
|
@@ -83631,10 +83684,10 @@ class GroupNode extends ScenegraphNode {
|
|
|
83631
83684
|
if (!bounds2) {
|
|
83632
83685
|
return;
|
|
83633
83686
|
}
|
|
83634
|
-
const [min,
|
|
83635
|
-
const center2 = new Vector3(min).add(
|
|
83687
|
+
const [min, max2] = bounds2;
|
|
83688
|
+
const center2 = new Vector3(min).add(max2).divide([2, 2, 2]);
|
|
83636
83689
|
worldMatrix.transformAsPoint(center2, center2);
|
|
83637
|
-
const halfSize = new Vector3(
|
|
83690
|
+
const halfSize = new Vector3(max2).subtract(min).divide([2, 2, 2]);
|
|
83638
83691
|
worldMatrix.transformAsVector(halfSize, halfSize);
|
|
83639
83692
|
for (let v = 0; v < 8; v++) {
|
|
83640
83693
|
const position = new Vector3(v & 1 ? -1 : 1, v & 2 ? -1 : 1, v & 4 ? -1 : 1).multiply(halfSize).add(center2);
|
|
@@ -92583,7 +92636,7 @@ class Tile {
|
|
|
92583
92636
|
const { errors } = this;
|
|
92584
92637
|
let numVertices = 0;
|
|
92585
92638
|
let numTriangles = 0;
|
|
92586
|
-
const
|
|
92639
|
+
const max2 = size - 1;
|
|
92587
92640
|
indices.fill(0);
|
|
92588
92641
|
function countElements(ax, ay, bx, by, cx, cy) {
|
|
92589
92642
|
const mx = ax + bx >> 1;
|
|
@@ -92598,8 +92651,8 @@ class Tile {
|
|
|
92598
92651
|
numTriangles++;
|
|
92599
92652
|
}
|
|
92600
92653
|
}
|
|
92601
|
-
countElements(0, 0,
|
|
92602
|
-
countElements(
|
|
92654
|
+
countElements(0, 0, max2, max2, max2, 0);
|
|
92655
|
+
countElements(max2, max2, 0, 0, 0, max2);
|
|
92603
92656
|
const vertices = new Uint16Array(numVertices * 2);
|
|
92604
92657
|
const triangles = new Uint32Array(numTriangles * 3);
|
|
92605
92658
|
let triIndex = 0;
|
|
@@ -92624,8 +92677,8 @@ class Tile {
|
|
|
92624
92677
|
triangles[triIndex++] = c;
|
|
92625
92678
|
}
|
|
92626
92679
|
}
|
|
92627
|
-
processTriangle(0, 0,
|
|
92628
|
-
processTriangle(
|
|
92680
|
+
processTriangle(0, 0, max2, max2, max2, 0);
|
|
92681
|
+
processTriangle(max2, max2, 0, 0, 0, max2);
|
|
92629
92682
|
return { vertices, triangles };
|
|
92630
92683
|
}
|
|
92631
92684
|
}
|
|
@@ -132610,16 +132663,16 @@ function addDecoder(cases, importFn) {
|
|
|
132610
132663
|
}
|
|
132611
132664
|
cases.forEach((c) => registry$1.set(c, importFn));
|
|
132612
132665
|
}
|
|
132613
|
-
addDecoder([void 0, 1], () => import("./raw-
|
|
132614
|
-
addDecoder(5, () => import("./lzw-
|
|
132666
|
+
addDecoder([void 0, 1], () => import("./raw-1b039310.js").then((m) => m.default));
|
|
132667
|
+
addDecoder(5, () => import("./lzw-5206f32d.js").then((m) => m.default));
|
|
132615
132668
|
addDecoder(6, () => {
|
|
132616
132669
|
throw new Error("old style JPEG compression is not supported.");
|
|
132617
132670
|
});
|
|
132618
|
-
addDecoder(7, () => import("./jpeg-
|
|
132619
|
-
addDecoder([8, 32946], () => import("./deflate-
|
|
132620
|
-
addDecoder(32773, () => import("./packbits-
|
|
132621
|
-
addDecoder(34887, () => import("./lerc-
|
|
132622
|
-
addDecoder(50001, () => import("./webimage-
|
|
132671
|
+
addDecoder(7, () => import("./jpeg-a2f977d0.js").then((m) => m.default));
|
|
132672
|
+
addDecoder([8, 32946], () => import("./deflate-05e3ee40.js").then((m) => m.default));
|
|
132673
|
+
addDecoder(32773, () => import("./packbits-5812e06c.js").then((m) => m.default));
|
|
132674
|
+
addDecoder(34887, () => import("./lerc-0d65f0a5.js").then((m) => m.default));
|
|
132675
|
+
addDecoder(50001, () => import("./webimage-199d4de9.js").then((m) => m.default));
|
|
132623
132676
|
function decodeRowAcc(row, stride) {
|
|
132624
132677
|
let length2 = row.length - stride;
|
|
132625
132678
|
let offset5 = 0;
|
|
@@ -136168,9 +136221,9 @@ const buf2binstring = (buf, len2) => {
|
|
|
136168
136221
|
}
|
|
136169
136222
|
return result;
|
|
136170
136223
|
};
|
|
136171
|
-
var buf2string = (buf,
|
|
136224
|
+
var buf2string = (buf, max2) => {
|
|
136172
136225
|
let i2, out;
|
|
136173
|
-
const len2 =
|
|
136226
|
+
const len2 = max2 || buf.length;
|
|
136174
136227
|
const utf16buf = new Array(len2 * 2);
|
|
136175
136228
|
for (out = 0, i2 = 0; i2 < len2; ) {
|
|
136176
136229
|
let c = buf[i2++];
|
|
@@ -136203,22 +136256,22 @@ var buf2string = (buf, max) => {
|
|
|
136203
136256
|
}
|
|
136204
136257
|
return buf2binstring(utf16buf, out);
|
|
136205
136258
|
};
|
|
136206
|
-
var utf8border = (buf,
|
|
136207
|
-
|
|
136208
|
-
if (
|
|
136209
|
-
|
|
136259
|
+
var utf8border = (buf, max2) => {
|
|
136260
|
+
max2 = max2 || buf.length;
|
|
136261
|
+
if (max2 > buf.length) {
|
|
136262
|
+
max2 = buf.length;
|
|
136210
136263
|
}
|
|
136211
|
-
let pos =
|
|
136264
|
+
let pos = max2 - 1;
|
|
136212
136265
|
while (pos >= 0 && (buf[pos] & 192) === 128) {
|
|
136213
136266
|
pos--;
|
|
136214
136267
|
}
|
|
136215
136268
|
if (pos < 0) {
|
|
136216
|
-
return
|
|
136269
|
+
return max2;
|
|
136217
136270
|
}
|
|
136218
136271
|
if (pos === 0) {
|
|
136219
|
-
return
|
|
136272
|
+
return max2;
|
|
136220
136273
|
}
|
|
136221
|
-
return pos + _utf8len[buf[pos]] >
|
|
136274
|
+
return pos + _utf8len[buf[pos]] > max2 ? pos : max2;
|
|
136222
136275
|
};
|
|
136223
136276
|
var strings = {
|
|
136224
136277
|
string2buf,
|
|
@@ -136768,7 +136821,7 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
136768
136821
|
const bits = opts2.bits;
|
|
136769
136822
|
let len2 = 0;
|
|
136770
136823
|
let sym = 0;
|
|
136771
|
-
let min = 0,
|
|
136824
|
+
let min = 0, max2 = 0;
|
|
136772
136825
|
let root2 = 0;
|
|
136773
136826
|
let curr = 0;
|
|
136774
136827
|
let drop = 0;
|
|
@@ -136795,21 +136848,21 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
136795
136848
|
count2[lens2[lens_index + sym]]++;
|
|
136796
136849
|
}
|
|
136797
136850
|
root2 = bits;
|
|
136798
|
-
for (
|
|
136799
|
-
if (count2[
|
|
136851
|
+
for (max2 = MAXBITS; max2 >= 1; max2--) {
|
|
136852
|
+
if (count2[max2] !== 0) {
|
|
136800
136853
|
break;
|
|
136801
136854
|
}
|
|
136802
136855
|
}
|
|
136803
|
-
if (root2 >
|
|
136804
|
-
root2 =
|
|
136856
|
+
if (root2 > max2) {
|
|
136857
|
+
root2 = max2;
|
|
136805
136858
|
}
|
|
136806
|
-
if (
|
|
136859
|
+
if (max2 === 0) {
|
|
136807
136860
|
table[table_index++] = 1 << 24 | 64 << 16 | 0;
|
|
136808
136861
|
table[table_index++] = 1 << 24 | 64 << 16 | 0;
|
|
136809
136862
|
opts2.bits = 1;
|
|
136810
136863
|
return 0;
|
|
136811
136864
|
}
|
|
136812
|
-
for (min = 1; min <
|
|
136865
|
+
for (min = 1; min < max2; min++) {
|
|
136813
136866
|
if (count2[min] !== 0) {
|
|
136814
136867
|
break;
|
|
136815
136868
|
}
|
|
@@ -136825,7 +136878,7 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
136825
136878
|
return -1;
|
|
136826
136879
|
}
|
|
136827
136880
|
}
|
|
136828
|
-
if (left2 > 0 && (type === CODES ||
|
|
136881
|
+
if (left2 > 0 && (type === CODES || max2 !== 1)) {
|
|
136829
136882
|
return -1;
|
|
136830
136883
|
}
|
|
136831
136884
|
offs[1] = 0;
|
|
@@ -136894,7 +136947,7 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
136894
136947
|
}
|
|
136895
136948
|
sym++;
|
|
136896
136949
|
if (--count2[len2] === 0) {
|
|
136897
|
-
if (len2 ===
|
|
136950
|
+
if (len2 === max2) {
|
|
136898
136951
|
break;
|
|
136899
136952
|
}
|
|
136900
136953
|
len2 = lens2[lens_index + work[sym]];
|
|
@@ -136906,7 +136959,7 @@ const inflate_table = (type, lens2, lens_index, codes, table, table_index, work,
|
|
|
136906
136959
|
next += min;
|
|
136907
136960
|
curr = len2 - drop;
|
|
136908
136961
|
left2 = 1 << curr;
|
|
136909
|
-
while (curr + drop <
|
|
136962
|
+
while (curr + drop < max2) {
|
|
136910
136963
|
left2 -= count2[curr + drop];
|
|
136911
136964
|
if (left2 <= 0) {
|
|
136912
136965
|
break;
|
|
@@ -143640,21 +143693,21 @@ void main() {
|
|
|
143640
143693
|
}
|
|
143641
143694
|
`;
|
|
143642
143695
|
function normalize(arr) {
|
|
143643
|
-
const [min,
|
|
143644
|
-
const ratio = 255 / (
|
|
143696
|
+
const [min, max2] = extent$1(arr);
|
|
143697
|
+
const ratio = 255 / (max2 - min);
|
|
143645
143698
|
const data = new Uint8Array(arr.map((i2) => Math.floor((i2 - min) * ratio)));
|
|
143646
143699
|
return data;
|
|
143647
143700
|
}
|
|
143648
|
-
function multiSetsToTextureData(multiFeatureValues, setColorValues, channelIsSetColorMode, texSize) {
|
|
143701
|
+
function multiSetsToTextureData(multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode, texSize) {
|
|
143649
143702
|
let totalValuesLength = 0;
|
|
143650
143703
|
let totalColorsLength = 0;
|
|
143651
143704
|
channelIsSetColorMode.forEach((isSetColorMode, channelIndex) => {
|
|
143652
|
-
var _a2, _b, _c, _d
|
|
143705
|
+
var _a2, _b, _c, _d;
|
|
143653
143706
|
if (isSetColorMode) {
|
|
143654
|
-
|
|
143655
|
-
|
|
143707
|
+
totalColorsLength += (((_b = (_a2 = setColorValues[channelIndex]) == null ? void 0 : _a2.setColors) == null ? void 0 : _b.length) || 0) * 3;
|
|
143708
|
+
totalValuesLength += ((_c = setColorValues[channelIndex]) == null ? void 0 : _c.obsIndex) ? max(setColorValues[channelIndex].obsIndex.map((d) => parseInt(d))) : 0;
|
|
143656
143709
|
} else {
|
|
143657
|
-
totalValuesLength += ((
|
|
143710
|
+
totalValuesLength += multiMatrixObsIndex[channelIndex] ? max(multiMatrixObsIndex[channelIndex].map((d) => parseInt(d))) : ((_d = multiFeatureValues[channelIndex]) == null ? void 0 : _d.length) || 0;
|
|
143658
143711
|
}
|
|
143659
143712
|
});
|
|
143660
143713
|
const valueTexHeight = Math.max(2, Math.ceil(totalValuesLength / texSize));
|
|
@@ -143672,12 +143725,20 @@ function multiSetsToTextureData(multiFeatureValues, setColorValues, channelIsSet
|
|
|
143672
143725
|
let indexOffset = 0;
|
|
143673
143726
|
let colorOffset = 0;
|
|
143674
143727
|
channelIsSetColorMode.forEach((isSetColorMode, channelIndex) => {
|
|
143728
|
+
const matrixObsIndex = multiMatrixObsIndex[channelIndex];
|
|
143729
|
+
const bitmaskValueIsIndex = matrixObsIndex === null;
|
|
143675
143730
|
if (isSetColorMode) {
|
|
143676
143731
|
const { setColorIndices, setColors, obsIndex } = setColorValues[channelIndex] || {};
|
|
143677
143732
|
if (setColorIndices && setColors && obsIndex) {
|
|
143678
143733
|
for (let i2 = 0; i2 < obsIndex.length; i2++) {
|
|
143679
|
-
|
|
143680
|
-
|
|
143734
|
+
let obsId = String(i2 + 1);
|
|
143735
|
+
let obsI = i2;
|
|
143736
|
+
if (!bitmaskValueIsIndex) {
|
|
143737
|
+
obsId = obsIndex[i2];
|
|
143738
|
+
obsI = parseInt(obsId) - 1;
|
|
143739
|
+
}
|
|
143740
|
+
const colorIndex = setColorIndices.get(obsId);
|
|
143741
|
+
totalData[indexOffset + obsI] = colorIndex === void 0 ? 0 : colorIndex + 1;
|
|
143681
143742
|
}
|
|
143682
143743
|
for (let i2 = 0; i2 < setColors.length; i2++) {
|
|
143683
143744
|
const { color: [r2, g2, b] } = setColors[i2];
|
|
@@ -143692,7 +143753,16 @@ function multiSetsToTextureData(multiFeatureValues, setColorValues, channelIsSet
|
|
|
143692
143753
|
colorOffset += (setColors == null ? void 0 : setColors.length) || 0;
|
|
143693
143754
|
} else {
|
|
143694
143755
|
const featureArr = multiFeatureValues[channelIndex];
|
|
143695
|
-
|
|
143756
|
+
const normalizedFeatureArr = normalize(featureArr);
|
|
143757
|
+
if (!bitmaskValueIsIndex && matrixObsIndex) {
|
|
143758
|
+
for (let i2 = 0; i2 < matrixObsIndex.length; i2++) {
|
|
143759
|
+
const obsId = matrixObsIndex[i2];
|
|
143760
|
+
const obsI = parseInt(obsId) - 1;
|
|
143761
|
+
totalData[indexOffset + obsI] = normalizedFeatureArr[i2];
|
|
143762
|
+
}
|
|
143763
|
+
} else {
|
|
143764
|
+
totalData.set(normalizedFeatureArr, indexOffset);
|
|
143765
|
+
}
|
|
143696
143766
|
indicesOffsets.push(indexOffset);
|
|
143697
143767
|
indexOffset += featureArr.length;
|
|
143698
143768
|
colorsOffsets.push(colorOffset);
|
|
@@ -143719,6 +143789,17 @@ function padWithDefault(arr, defaultValue2, padWidth) {
|
|
|
143719
143789
|
function getColor(arr) {
|
|
143720
143790
|
return arr ? arr.map((v) => v / 255) : [0, 0, 0];
|
|
143721
143791
|
}
|
|
143792
|
+
function isEqualShallow(prevArr, nextArr) {
|
|
143793
|
+
if (prevArr === nextArr) {
|
|
143794
|
+
return true;
|
|
143795
|
+
}
|
|
143796
|
+
if (Array.isArray(prevArr) && Array.isArray(nextArr)) {
|
|
143797
|
+
if (prevArr.length === nextArr.length) {
|
|
143798
|
+
return !prevArr.some((v, i2) => v !== nextArr[i2] && (!Array.isArray(v) && !Array.isArray(nextArr[i2]) || (v.length > 0 || nextArr[i2].length > 0)));
|
|
143799
|
+
}
|
|
143800
|
+
}
|
|
143801
|
+
return prevArr === nextArr;
|
|
143802
|
+
}
|
|
143722
143803
|
const defaultProps = {
|
|
143723
143804
|
channelStrokeWidths: { type: "array", value: null, compare: true },
|
|
143724
143805
|
channelsFilled: { type: "array", value: null, compare: true },
|
|
@@ -143728,6 +143809,7 @@ const defaultProps = {
|
|
|
143728
143809
|
colormap: { type: "string", value: GLSL_COLORMAP_DEFAULT, compare: true },
|
|
143729
143810
|
expressionData: { type: "object", value: null, compare: true },
|
|
143730
143811
|
multiFeatureValues: { type: "array", value: null, compare: true },
|
|
143812
|
+
multiMatrixObsIndex: { type: "array", value: null, compare: true },
|
|
143731
143813
|
setColorValues: { type: "array", value: null, compare: true },
|
|
143732
143814
|
channelFeatureValueColormaps: { type: "array", value: null, compare: true },
|
|
143733
143815
|
channelFeatureValueColormapRanges: { type: "array", value: null, compare: true },
|
|
@@ -143774,9 +143856,9 @@ class BitmaskLayer2 extends XRLayer {
|
|
|
143774
143856
|
}
|
|
143775
143857
|
updateState({ props: props2, oldProps, changeFlags }) {
|
|
143776
143858
|
super.updateState({ props: props2, oldProps, changeFlags });
|
|
143777
|
-
if (props2.multiFeatureValues
|
|
143778
|
-
const { multiFeatureValues, setColorValues, channelIsSetColorMode } = this.props;
|
|
143779
|
-
const [valueTex, colorTex, valueTexOffsets, colorTexOffsets, valueTexHeight, colorTexHeight] = this.multiSetsToTexture(multiFeatureValues, setColorValues, channelIsSetColorMode);
|
|
143859
|
+
if (!isEqualShallow(props2.multiFeatureValues, oldProps.multiFeatureValues) || !isEqualShallow(props2.multiMatrixObsIndex, oldProps.multiMatrixObsIndex) || !isEqualShallow(props2.setColorValues, oldProps.setColorValues) || !isEqualShallow(props2.channelIsSetColorMode, oldProps.channelIsSetColorMode)) {
|
|
143860
|
+
const { multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode } = this.props;
|
|
143861
|
+
const [valueTex, colorTex, valueTexOffsets, colorTexOffsets, valueTexHeight, colorTexHeight] = this.multiSetsToTexture(multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode);
|
|
143780
143862
|
this.setState({
|
|
143781
143863
|
valueTex,
|
|
143782
143864
|
colorTex,
|
|
@@ -143928,9 +144010,9 @@ class BitmaskLayer2 extends XRLayer {
|
|
|
143928
144010
|
type: GL$1.FLOAT
|
|
143929
144011
|
});
|
|
143930
144012
|
}
|
|
143931
|
-
multiSetsToTexture(multiFeatureValues, setColorValues, channelIsSetColorMode) {
|
|
144013
|
+
multiSetsToTexture(multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode) {
|
|
143932
144014
|
const isWebGL2On = isWebGL2$1(this.context.gl);
|
|
143933
|
-
const [totalData, valueTexHeight, indicesOffsets, totalColors, colorTexHeight, colorsOffsets] = multiSetsToTextureData(multiFeatureValues, setColorValues, channelIsSetColorMode, MULTI_FEATURE_TEX_SIZE);
|
|
144015
|
+
const [totalData, valueTexHeight, indicesOffsets, totalColors, colorTexHeight, colorsOffsets] = multiSetsToTextureData(multiFeatureValues, multiMatrixObsIndex, setColorValues, channelIsSetColorMode, MULTI_FEATURE_TEX_SIZE);
|
|
143934
144016
|
return [
|
|
143935
144017
|
// Color indices texture
|
|
143936
144018
|
new Texture2D(this.context.gl, {
|
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-edc6cc12.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import "@vitessce/vit-s";
|
|
5
5
|
import "react-dom";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React, { useState, useCallback, useMemo, } from 'react';
|
|
3
3
|
import { TitleInfo, useDeckCanvasSize, useGetObsMembership, useGetObsInfo, useReady, useUrls, useObsSetsData, useObsFeatureMatrixData, useUint8ObsFeatureMatrix, useMultiObsLabels, useFeatureLabelsData, useCoordination, useLoaders, useSetComponentHover, useSetComponentViewInfo, } from '@vitessce/vit-s';
|
|
4
|
-
import { pluralize as plur, capitalize, commaNumber
|
|
5
|
-
import { mergeObsSets, findLongestCommonPath } from '@vitessce/sets-utils';
|
|
4
|
+
import { pluralize as plur, capitalize, commaNumber } from '@vitessce/utils';
|
|
5
|
+
import { mergeObsSets, findLongestCommonPath, getCellColors } from '@vitessce/sets-utils';
|
|
6
6
|
import { COMPONENT_COORDINATION_TYPES, ViewType } from '@vitessce/constants-internal';
|
|
7
7
|
import { Legend } from '@vitessce/legend';
|
|
8
8
|
import Heatmap from './Heatmap.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitessce/heatmap",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.4",
|
|
4
4
|
"author": "Gehlenborg Lab",
|
|
5
5
|
"homepage": "http://vitessce.io",
|
|
6
6
|
"repository": {
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
"lodash-es": "^4.17.21",
|
|
21
21
|
"uuid": "^9.0.0",
|
|
22
22
|
"react-aria": "^3.28.0",
|
|
23
|
-
"@vitessce/
|
|
24
|
-
"@vitessce/
|
|
25
|
-
"@vitessce/legend": "3.3.
|
|
26
|
-
"@vitessce/tooltip": "3.3.
|
|
27
|
-
"@vitessce/
|
|
28
|
-
"@vitessce/utils": "3.3.
|
|
29
|
-
"@vitessce/
|
|
30
|
-
"@vitessce/
|
|
23
|
+
"@vitessce/constants-internal": "3.3.4",
|
|
24
|
+
"@vitessce/gl": "3.3.4",
|
|
25
|
+
"@vitessce/legend": "3.3.4",
|
|
26
|
+
"@vitessce/tooltip": "3.3.4",
|
|
27
|
+
"@vitessce/sets-utils": "3.3.4",
|
|
28
|
+
"@vitessce/utils": "3.3.4",
|
|
29
|
+
"@vitessce/vit-s": "3.3.4",
|
|
30
|
+
"@vitessce/workers": "3.3.4"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@testing-library/jest-dom": "^5.16.4",
|
package/src/HeatmapSubscriber.js
CHANGED
|
@@ -16,8 +16,8 @@ import {
|
|
|
16
16
|
useCoordination, useLoaders,
|
|
17
17
|
useSetComponentHover, useSetComponentViewInfo,
|
|
18
18
|
} from '@vitessce/vit-s';
|
|
19
|
-
import { pluralize as plur, capitalize, commaNumber
|
|
20
|
-
import { mergeObsSets, findLongestCommonPath } from '@vitessce/sets-utils';
|
|
19
|
+
import { pluralize as plur, capitalize, commaNumber } from '@vitessce/utils';
|
|
20
|
+
import { mergeObsSets, findLongestCommonPath, getCellColors } from '@vitessce/sets-utils';
|
|
21
21
|
import { COMPONENT_COORDINATION_TYPES, ViewType } from '@vitessce/constants-internal';
|
|
22
22
|
import { Legend } from '@vitessce/legend';
|
|
23
23
|
import Heatmap from './Heatmap.js';
|