@vitessce/all 3.8.9 → 3.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{OrbitControls-Dm5R32wb.js → OrbitControls-t9CaxJow.js} +1 -1
- package/dist/{ReactNeuroglancer-Bn39ATeL.js → ReactNeuroglancer-D662gKgy.js} +1 -1
- package/dist/{deflate-Yy00XXjl.js → deflate-BHuVu6ka.js} +1 -1
- package/dist/{higlass-Dfzm4Aif.js → higlass-BWjoRZ_l.js} +1 -1
- package/dist/{index-DNRC-wrS.js → index-C07z-9Ag.js} +3 -3
- package/dist/{index-BmH3S4VU.js → index-NBOfpK3S.js} +547 -399
- package/dist/{index-BATko5ux.js → index-sdWGixZi.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/{jpeg-DnYEHHlA.js → jpeg-Bz6F-bB0.js} +1 -1
- package/dist/{lerc-xK3UlYuK.js → lerc-C0S_lxM2.js} +1 -1
- package/dist/{lzw-Dq9ewDsx.js → lzw-D4L-VfX8.js} +1 -1
- package/dist/{packbits-DUvZwRme.js → packbits-CLckyTrz.js} +1 -1
- package/dist/{raw-CCF7Hnlb.js → raw-DP5Af32W.js} +1 -1
- package/dist/{troika-three-text.esm-CPzJMQ38.js → troika-three-text.esm-O9xfslQt.js} +1 -1
- package/dist/{webimage-mUI4EmOE.js → webimage-Y7ICR65G.js} +1 -1
- package/package.json +33 -33
|
@@ -5598,7 +5598,7 @@ function createRange(fromRight) {
|
|
|
5598
5598
|
return baseRange(start2, end2, step);
|
|
5599
5599
|
};
|
|
5600
5600
|
}
|
|
5601
|
-
var range$
|
|
5601
|
+
var range$e = createRange();
|
|
5602
5602
|
function sum$7(array2) {
|
|
5603
5603
|
return array2 && array2.length ? baseSum(array2, identity$h) : 0;
|
|
5604
5604
|
}
|
|
@@ -7679,10 +7679,10 @@ function requireLrucache() {
|
|
|
7679
7679
|
lrucache = LRUCache3;
|
|
7680
7680
|
return lrucache;
|
|
7681
7681
|
}
|
|
7682
|
-
var range$
|
|
7682
|
+
var range$d;
|
|
7683
7683
|
var hasRequiredRange$1;
|
|
7684
7684
|
function requireRange$1() {
|
|
7685
|
-
if (hasRequiredRange$1) return range$
|
|
7685
|
+
if (hasRequiredRange$1) return range$d;
|
|
7686
7686
|
hasRequiredRange$1 = 1;
|
|
7687
7687
|
const SPACE_CHARACTERS = /\s+/g;
|
|
7688
7688
|
class Range2 {
|
|
@@ -7823,7 +7823,7 @@ function requireRange$1() {
|
|
|
7823
7823
|
return false;
|
|
7824
7824
|
}
|
|
7825
7825
|
}
|
|
7826
|
-
range$
|
|
7826
|
+
range$d = Range2;
|
|
7827
7827
|
const LRU = requireLrucache();
|
|
7828
7828
|
const cache2 = new LRU();
|
|
7829
7829
|
const parseOptions2 = requireParseOptions();
|
|
@@ -8053,7 +8053,7 @@ function requireRange$1() {
|
|
|
8053
8053
|
}
|
|
8054
8054
|
return true;
|
|
8055
8055
|
};
|
|
8056
|
-
return range$
|
|
8056
|
+
return range$d;
|
|
8057
8057
|
}
|
|
8058
8058
|
var comparator$2;
|
|
8059
8059
|
var hasRequiredComparator$1;
|
|
@@ -46931,7 +46931,7 @@ function escapeRegExp(value2) {
|
|
|
46931
46931
|
return value2.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
|
46932
46932
|
}
|
|
46933
46933
|
const clamp$6 = (value2, min2, max2) => Math.max(min2, Math.min(max2, value2));
|
|
46934
|
-
function range$
|
|
46934
|
+
function range$c(from2, to) {
|
|
46935
46935
|
return Array.from({
|
|
46936
46936
|
length: to - from2
|
|
46937
46937
|
}).map((_, i2) => from2 + i2);
|
|
@@ -51329,7 +51329,7 @@ const useGridVirtualScroller = () => {
|
|
|
51329
51329
|
const rowModels = params2.rows ?? currentPage.rows;
|
|
51330
51330
|
const firstRowToRender = baseRenderContext.firstRowIndex;
|
|
51331
51331
|
const lastRowToRender = Math.min(baseRenderContext.lastRowIndex, rowModels.length);
|
|
51332
|
-
const rowIndexes = params2.rows ? range$
|
|
51332
|
+
const rowIndexes = params2.rows ? range$c(0, params2.rows.length) : range$c(firstRowToRender, lastRowToRender);
|
|
51333
51333
|
let virtualRowIndex = -1;
|
|
51334
51334
|
if (!isPinnedSection && focusedVirtualCell) {
|
|
51335
51335
|
if (focusedVirtualCell.rowIndex < firstRowToRender) {
|
|
@@ -72816,7 +72816,7 @@ let powers = 0;
|
|
|
72816
72816
|
const boolean = increment$1();
|
|
72817
72817
|
const booleanish = increment$1();
|
|
72818
72818
|
const overloadedBoolean = increment$1();
|
|
72819
|
-
const number$
|
|
72819
|
+
const number$a = increment$1();
|
|
72820
72820
|
const spaceSeparated = increment$1();
|
|
72821
72821
|
const commaSeparated = increment$1();
|
|
72822
72822
|
const commaOrSpaceSeparated = increment$1();
|
|
@@ -72829,7 +72829,7 @@ const types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePropert
|
|
|
72829
72829
|
booleanish,
|
|
72830
72830
|
commaOrSpaceSeparated,
|
|
72831
72831
|
commaSeparated,
|
|
72832
|
-
number: number$
|
|
72832
|
+
number: number$a,
|
|
72833
72833
|
overloadedBoolean,
|
|
72834
72834
|
spaceSeparated
|
|
72835
72835
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -72928,9 +72928,9 @@ const aria$1 = create$c({
|
|
|
72928
72928
|
ariaAutoComplete: null,
|
|
72929
72929
|
ariaBusy: booleanish,
|
|
72930
72930
|
ariaChecked: booleanish,
|
|
72931
|
-
ariaColCount: number$
|
|
72932
|
-
ariaColIndex: number$
|
|
72933
|
-
ariaColSpan: number$
|
|
72931
|
+
ariaColCount: number$a,
|
|
72932
|
+
ariaColIndex: number$a,
|
|
72933
|
+
ariaColSpan: number$a,
|
|
72934
72934
|
ariaControls: spaceSeparated,
|
|
72935
72935
|
ariaCurrent: null,
|
|
72936
72936
|
ariaDescribedBy: spaceSeparated,
|
|
@@ -72947,7 +72947,7 @@ const aria$1 = create$c({
|
|
|
72947
72947
|
ariaKeyShortcuts: null,
|
|
72948
72948
|
ariaLabel: null,
|
|
72949
72949
|
ariaLabelledBy: spaceSeparated,
|
|
72950
|
-
ariaLevel: number$
|
|
72950
|
+
ariaLevel: number$a,
|
|
72951
72951
|
ariaLive: null,
|
|
72952
72952
|
ariaModal: booleanish,
|
|
72953
72953
|
ariaMultiLine: booleanish,
|
|
@@ -72955,21 +72955,21 @@ const aria$1 = create$c({
|
|
|
72955
72955
|
ariaOrientation: null,
|
|
72956
72956
|
ariaOwns: spaceSeparated,
|
|
72957
72957
|
ariaPlaceholder: null,
|
|
72958
|
-
ariaPosInSet: number$
|
|
72958
|
+
ariaPosInSet: number$a,
|
|
72959
72959
|
ariaPressed: booleanish,
|
|
72960
72960
|
ariaReadOnly: booleanish,
|
|
72961
72961
|
ariaRelevant: null,
|
|
72962
72962
|
ariaRequired: booleanish,
|
|
72963
72963
|
ariaRoleDescription: spaceSeparated,
|
|
72964
|
-
ariaRowCount: number$
|
|
72965
|
-
ariaRowIndex: number$
|
|
72966
|
-
ariaRowSpan: number$
|
|
72964
|
+
ariaRowCount: number$a,
|
|
72965
|
+
ariaRowIndex: number$a,
|
|
72966
|
+
ariaRowSpan: number$a,
|
|
72967
72967
|
ariaSelected: booleanish,
|
|
72968
|
-
ariaSetSize: number$
|
|
72968
|
+
ariaSetSize: number$a,
|
|
72969
72969
|
ariaSort: null,
|
|
72970
|
-
ariaValueMax: number$
|
|
72971
|
-
ariaValueMin: number$
|
|
72972
|
-
ariaValueNow: number$
|
|
72970
|
+
ariaValueMax: number$a,
|
|
72971
|
+
ariaValueMin: number$a,
|
|
72972
|
+
ariaValueNow: number$a,
|
|
72973
72973
|
ariaValueText: null,
|
|
72974
72974
|
role: null
|
|
72975
72975
|
}
|
|
@@ -73008,13 +73008,13 @@ const html$2 = create$c({
|
|
|
73008
73008
|
checked: boolean,
|
|
73009
73009
|
cite: null,
|
|
73010
73010
|
className: spaceSeparated,
|
|
73011
|
-
cols: number$
|
|
73011
|
+
cols: number$a,
|
|
73012
73012
|
colSpan: null,
|
|
73013
73013
|
content: null,
|
|
73014
73014
|
contentEditable: booleanish,
|
|
73015
73015
|
controls: boolean,
|
|
73016
73016
|
controlsList: spaceSeparated,
|
|
73017
|
-
coords: number$
|
|
73017
|
+
coords: number$a | commaSeparated,
|
|
73018
73018
|
crossOrigin: null,
|
|
73019
73019
|
data: null,
|
|
73020
73020
|
dateTime: null,
|
|
@@ -73036,9 +73036,9 @@ const html$2 = create$c({
|
|
|
73036
73036
|
formNoValidate: boolean,
|
|
73037
73037
|
formTarget: null,
|
|
73038
73038
|
headers: spaceSeparated,
|
|
73039
|
-
height: number$
|
|
73039
|
+
height: number$a,
|
|
73040
73040
|
hidden: boolean,
|
|
73041
|
-
high: number$
|
|
73041
|
+
high: number$a,
|
|
73042
73042
|
href: null,
|
|
73043
73043
|
hrefLang: null,
|
|
73044
73044
|
htmlFor: spaceSeparated,
|
|
@@ -73063,14 +73063,14 @@ const html$2 = create$c({
|
|
|
73063
73063
|
list: null,
|
|
73064
73064
|
loading: null,
|
|
73065
73065
|
loop: boolean,
|
|
73066
|
-
low: number$
|
|
73066
|
+
low: number$a,
|
|
73067
73067
|
manifest: null,
|
|
73068
73068
|
max: null,
|
|
73069
|
-
maxLength: number$
|
|
73069
|
+
maxLength: number$a,
|
|
73070
73070
|
media: null,
|
|
73071
73071
|
method: null,
|
|
73072
73072
|
min: null,
|
|
73073
|
-
minLength: number$
|
|
73073
|
+
minLength: number$a,
|
|
73074
73074
|
multiple: boolean,
|
|
73075
73075
|
muted: boolean,
|
|
73076
73076
|
name: null,
|
|
@@ -73166,7 +73166,7 @@ const html$2 = create$c({
|
|
|
73166
73166
|
onWaiting: null,
|
|
73167
73167
|
onWheel: null,
|
|
73168
73168
|
open: boolean,
|
|
73169
|
-
optimum: number$
|
|
73169
|
+
optimum: number$a,
|
|
73170
73170
|
pattern: null,
|
|
73171
73171
|
ping: spaceSeparated,
|
|
73172
73172
|
placeholder: null,
|
|
@@ -73181,8 +73181,8 @@ const html$2 = create$c({
|
|
|
73181
73181
|
rel: spaceSeparated,
|
|
73182
73182
|
required: boolean,
|
|
73183
73183
|
reversed: boolean,
|
|
73184
|
-
rows: number$
|
|
73185
|
-
rowSpan: number$
|
|
73184
|
+
rows: number$a,
|
|
73185
|
+
rowSpan: number$a,
|
|
73186
73186
|
sandbox: spaceSeparated,
|
|
73187
73187
|
scope: null,
|
|
73188
73188
|
scoped: boolean,
|
|
@@ -73192,19 +73192,19 @@ const html$2 = create$c({
|
|
|
73192
73192
|
shadowRootDelegatesFocus: boolean,
|
|
73193
73193
|
shadowRootMode: null,
|
|
73194
73194
|
shape: null,
|
|
73195
|
-
size: number$
|
|
73195
|
+
size: number$a,
|
|
73196
73196
|
sizes: null,
|
|
73197
73197
|
slot: null,
|
|
73198
|
-
span: number$
|
|
73198
|
+
span: number$a,
|
|
73199
73199
|
spellCheck: booleanish,
|
|
73200
73200
|
src: null,
|
|
73201
73201
|
srcDoc: null,
|
|
73202
73202
|
srcLang: null,
|
|
73203
73203
|
srcSet: null,
|
|
73204
|
-
start: number$
|
|
73204
|
+
start: number$a,
|
|
73205
73205
|
step: null,
|
|
73206
73206
|
style: null,
|
|
73207
|
-
tabIndex: number$
|
|
73207
|
+
tabIndex: number$a,
|
|
73208
73208
|
target: null,
|
|
73209
73209
|
title: null,
|
|
73210
73210
|
translate: null,
|
|
@@ -73212,7 +73212,7 @@ const html$2 = create$c({
|
|
|
73212
73212
|
typeMustMatch: boolean,
|
|
73213
73213
|
useMap: null,
|
|
73214
73214
|
value: booleanish,
|
|
73215
|
-
width: number$
|
|
73215
|
+
width: number$a,
|
|
73216
73216
|
wrap: null,
|
|
73217
73217
|
writingSuggestions: null,
|
|
73218
73218
|
// Legacy.
|
|
@@ -73229,11 +73229,11 @@ const html$2 = create$c({
|
|
|
73229
73229
|
// `<body>`. Use CSS `background-image` instead
|
|
73230
73230
|
bgColor: null,
|
|
73231
73231
|
// `<body>` and table elements. Use CSS `background-color` instead
|
|
73232
|
-
border: number$
|
|
73232
|
+
border: number$a,
|
|
73233
73233
|
// `<table>`. Use CSS `border-width` instead,
|
|
73234
73234
|
borderColor: null,
|
|
73235
73235
|
// `<table>`. Use CSS `border-color` instead,
|
|
73236
|
-
bottomMargin: number$
|
|
73236
|
+
bottomMargin: number$a,
|
|
73237
73237
|
// `<body>`
|
|
73238
73238
|
cellPadding: null,
|
|
73239
73239
|
// `<table>`
|
|
@@ -73267,9 +73267,9 @@ const html$2 = create$c({
|
|
|
73267
73267
|
// `<table>`
|
|
73268
73268
|
frameBorder: null,
|
|
73269
73269
|
// `<iframe>`. Use CSS `border` instead
|
|
73270
|
-
hSpace: number$
|
|
73270
|
+
hSpace: number$a,
|
|
73271
73271
|
// `<img>` and `<object>`
|
|
73272
|
-
leftMargin: number$
|
|
73272
|
+
leftMargin: number$a,
|
|
73273
73273
|
// `<body>`
|
|
73274
73274
|
link: null,
|
|
73275
73275
|
// `<body>`. Use CSS `a:link {color: *}` instead
|
|
@@ -73277,9 +73277,9 @@ const html$2 = create$c({
|
|
|
73277
73277
|
// `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
|
|
73278
73278
|
lowSrc: null,
|
|
73279
73279
|
// `<img>`. Use a `<picture>`
|
|
73280
|
-
marginHeight: number$
|
|
73280
|
+
marginHeight: number$a,
|
|
73281
73281
|
// `<body>`
|
|
73282
|
-
marginWidth: number$
|
|
73282
|
+
marginWidth: number$a,
|
|
73283
73283
|
// `<body>`
|
|
73284
73284
|
noResize: boolean,
|
|
73285
73285
|
// `<frame>`
|
|
@@ -73297,7 +73297,7 @@ const html$2 = create$c({
|
|
|
73297
73297
|
// `<isindex>`
|
|
73298
73298
|
rev: null,
|
|
73299
73299
|
// `<link>`
|
|
73300
|
-
rightMargin: number$
|
|
73300
|
+
rightMargin: number$a,
|
|
73301
73301
|
// `<body>`
|
|
73302
73302
|
rules: null,
|
|
73303
73303
|
// `<table>`
|
|
@@ -73311,7 +73311,7 @@ const html$2 = create$c({
|
|
|
73311
73311
|
// `<table>`
|
|
73312
73312
|
text: null,
|
|
73313
73313
|
// `<body>`. Use CSS `color` instead
|
|
73314
|
-
topMargin: number$
|
|
73314
|
+
topMargin: number$a,
|
|
73315
73315
|
// `<body>`
|
|
73316
73316
|
valueType: null,
|
|
73317
73317
|
// `<param>`
|
|
@@ -73321,7 +73321,7 @@ const html$2 = create$c({
|
|
|
73321
73321
|
// Several. Use CSS `vertical-align` instead
|
|
73322
73322
|
vLink: null,
|
|
73323
73323
|
// `<body>`. Use CSS `a:visited {color}` instead
|
|
73324
|
-
vSpace: number$
|
|
73324
|
+
vSpace: number$a,
|
|
73325
73325
|
// `<img>` and `<object>`
|
|
73326
73326
|
// Non-standard Properties.
|
|
73327
73327
|
allowTransparency: null,
|
|
@@ -73331,7 +73331,7 @@ const html$2 = create$c({
|
|
|
73331
73331
|
disableRemotePlayback: boolean,
|
|
73332
73332
|
prefix: null,
|
|
73333
73333
|
property: null,
|
|
73334
|
-
results: number$
|
|
73334
|
+
results: number$a,
|
|
73335
73335
|
security: null,
|
|
73336
73336
|
unselectable: null
|
|
73337
73337
|
}
|
|
@@ -73516,27 +73516,27 @@ const svg$1 = create$c({
|
|
|
73516
73516
|
transform: caseSensitiveTransform,
|
|
73517
73517
|
properties: {
|
|
73518
73518
|
about: commaOrSpaceSeparated,
|
|
73519
|
-
accentHeight: number$
|
|
73519
|
+
accentHeight: number$a,
|
|
73520
73520
|
accumulate: null,
|
|
73521
73521
|
additive: null,
|
|
73522
73522
|
alignmentBaseline: null,
|
|
73523
|
-
alphabetic: number$
|
|
73524
|
-
amplitude: number$
|
|
73523
|
+
alphabetic: number$a,
|
|
73524
|
+
amplitude: number$a,
|
|
73525
73525
|
arabicForm: null,
|
|
73526
|
-
ascent: number$
|
|
73526
|
+
ascent: number$a,
|
|
73527
73527
|
attributeName: null,
|
|
73528
73528
|
attributeType: null,
|
|
73529
|
-
azimuth: number$
|
|
73529
|
+
azimuth: number$a,
|
|
73530
73530
|
bandwidth: null,
|
|
73531
73531
|
baselineShift: null,
|
|
73532
73532
|
baseFrequency: null,
|
|
73533
73533
|
baseProfile: null,
|
|
73534
73534
|
bbox: null,
|
|
73535
73535
|
begin: null,
|
|
73536
|
-
bias: number$
|
|
73536
|
+
bias: number$a,
|
|
73537
73537
|
by: null,
|
|
73538
73538
|
calcMode: null,
|
|
73539
|
-
capHeight: number$
|
|
73539
|
+
capHeight: number$a,
|
|
73540
73540
|
className: spaceSeparated,
|
|
73541
73541
|
clip: null,
|
|
73542
73542
|
clipPath: null,
|
|
@@ -73557,26 +73557,26 @@ const svg$1 = create$c({
|
|
|
73557
73557
|
d: null,
|
|
73558
73558
|
dataType: null,
|
|
73559
73559
|
defaultAction: null,
|
|
73560
|
-
descent: number$
|
|
73561
|
-
diffuseConstant: number$
|
|
73560
|
+
descent: number$a,
|
|
73561
|
+
diffuseConstant: number$a,
|
|
73562
73562
|
direction: null,
|
|
73563
73563
|
display: null,
|
|
73564
73564
|
dur: null,
|
|
73565
|
-
divisor: number$
|
|
73565
|
+
divisor: number$a,
|
|
73566
73566
|
dominantBaseline: null,
|
|
73567
73567
|
download: boolean,
|
|
73568
73568
|
dx: null,
|
|
73569
73569
|
dy: null,
|
|
73570
73570
|
edgeMode: null,
|
|
73571
73571
|
editable: null,
|
|
73572
|
-
elevation: number$
|
|
73572
|
+
elevation: number$a,
|
|
73573
73573
|
enableBackground: null,
|
|
73574
73574
|
end: null,
|
|
73575
73575
|
event: null,
|
|
73576
|
-
exponent: number$
|
|
73576
|
+
exponent: number$a,
|
|
73577
73577
|
externalResourcesRequired: null,
|
|
73578
73578
|
fill: null,
|
|
73579
|
-
fillOpacity: number$
|
|
73579
|
+
fillOpacity: number$a,
|
|
73580
73580
|
fillRule: null,
|
|
73581
73581
|
filter: null,
|
|
73582
73582
|
filterRes: null,
|
|
@@ -73606,27 +73606,27 @@ const svg$1 = create$c({
|
|
|
73606
73606
|
gradientTransform: null,
|
|
73607
73607
|
gradientUnits: null,
|
|
73608
73608
|
handler: null,
|
|
73609
|
-
hanging: number$
|
|
73609
|
+
hanging: number$a,
|
|
73610
73610
|
hatchContentUnits: null,
|
|
73611
73611
|
hatchUnits: null,
|
|
73612
73612
|
height: null,
|
|
73613
73613
|
href: null,
|
|
73614
73614
|
hrefLang: null,
|
|
73615
|
-
horizAdvX: number$
|
|
73616
|
-
horizOriginX: number$
|
|
73617
|
-
horizOriginY: number$
|
|
73615
|
+
horizAdvX: number$a,
|
|
73616
|
+
horizOriginX: number$a,
|
|
73617
|
+
horizOriginY: number$a,
|
|
73618
73618
|
id: null,
|
|
73619
|
-
ideographic: number$
|
|
73619
|
+
ideographic: number$a,
|
|
73620
73620
|
imageRendering: null,
|
|
73621
73621
|
initialVisibility: null,
|
|
73622
73622
|
in: null,
|
|
73623
73623
|
in2: null,
|
|
73624
|
-
intercept: number$
|
|
73625
|
-
k: number$
|
|
73626
|
-
k1: number$
|
|
73627
|
-
k2: number$
|
|
73628
|
-
k3: number$
|
|
73629
|
-
k4: number$
|
|
73624
|
+
intercept: number$a,
|
|
73625
|
+
k: number$a,
|
|
73626
|
+
k1: number$a,
|
|
73627
|
+
k2: number$a,
|
|
73628
|
+
k3: number$a,
|
|
73629
|
+
k4: number$a,
|
|
73630
73630
|
kernelMatrix: commaOrSpaceSeparated,
|
|
73631
73631
|
kernelUnitLength: null,
|
|
73632
73632
|
keyPoints: null,
|
|
@@ -73640,7 +73640,7 @@ const svg$1 = create$c({
|
|
|
73640
73640
|
lengthAdjust: null,
|
|
73641
73641
|
letterSpacing: null,
|
|
73642
73642
|
lightingColor: null,
|
|
73643
|
-
limitingConeAngle: number$
|
|
73643
|
+
limitingConeAngle: number$a,
|
|
73644
73644
|
local: null,
|
|
73645
73645
|
markerEnd: null,
|
|
73646
73646
|
markerMid: null,
|
|
@@ -73656,7 +73656,7 @@ const svg$1 = create$c({
|
|
|
73656
73656
|
media: null,
|
|
73657
73657
|
mediaCharacterEncoding: null,
|
|
73658
73658
|
mediaContentEncodings: null,
|
|
73659
|
-
mediaSize: number$
|
|
73659
|
+
mediaSize: number$a,
|
|
73660
73660
|
mediaTime: null,
|
|
73661
73661
|
method: null,
|
|
73662
73662
|
min: null,
|
|
@@ -73762,12 +73762,12 @@ const svg$1 = create$c({
|
|
|
73762
73762
|
origin: null,
|
|
73763
73763
|
overflow: null,
|
|
73764
73764
|
overlay: null,
|
|
73765
|
-
overlinePosition: number$
|
|
73766
|
-
overlineThickness: number$
|
|
73765
|
+
overlinePosition: number$a,
|
|
73766
|
+
overlineThickness: number$a,
|
|
73767
73767
|
paintOrder: null,
|
|
73768
73768
|
panose1: null,
|
|
73769
73769
|
path: null,
|
|
73770
|
-
pathLength: number$
|
|
73770
|
+
pathLength: number$a,
|
|
73771
73771
|
patternContentUnits: null,
|
|
73772
73772
|
patternTransform: null,
|
|
73773
73773
|
patternUnits: null,
|
|
@@ -73777,9 +73777,9 @@ const svg$1 = create$c({
|
|
|
73777
73777
|
playbackOrder: null,
|
|
73778
73778
|
pointerEvents: null,
|
|
73779
73779
|
points: null,
|
|
73780
|
-
pointsAtX: number$
|
|
73781
|
-
pointsAtY: number$
|
|
73782
|
-
pointsAtZ: number$
|
|
73780
|
+
pointsAtX: number$a,
|
|
73781
|
+
pointsAtY: number$a,
|
|
73782
|
+
pointsAtZ: number$a,
|
|
73783
73783
|
preserveAlpha: null,
|
|
73784
73784
|
preserveAspectRatio: null,
|
|
73785
73785
|
primitiveUnits: null,
|
|
@@ -73811,8 +73811,8 @@ const svg$1 = create$c({
|
|
|
73811
73811
|
side: null,
|
|
73812
73812
|
slope: null,
|
|
73813
73813
|
snapshotTime: null,
|
|
73814
|
-
specularConstant: number$
|
|
73815
|
-
specularExponent: number$
|
|
73814
|
+
specularConstant: number$a,
|
|
73815
|
+
specularExponent: number$a,
|
|
73816
73816
|
spreadMethod: null,
|
|
73817
73817
|
spacing: null,
|
|
73818
73818
|
startOffset: null,
|
|
@@ -73822,30 +73822,30 @@ const svg$1 = create$c({
|
|
|
73822
73822
|
stitchTiles: null,
|
|
73823
73823
|
stopColor: null,
|
|
73824
73824
|
stopOpacity: null,
|
|
73825
|
-
strikethroughPosition: number$
|
|
73826
|
-
strikethroughThickness: number$
|
|
73825
|
+
strikethroughPosition: number$a,
|
|
73826
|
+
strikethroughThickness: number$a,
|
|
73827
73827
|
string: null,
|
|
73828
73828
|
stroke: null,
|
|
73829
73829
|
strokeDashArray: commaOrSpaceSeparated,
|
|
73830
73830
|
strokeDashOffset: null,
|
|
73831
73831
|
strokeLineCap: null,
|
|
73832
73832
|
strokeLineJoin: null,
|
|
73833
|
-
strokeMiterLimit: number$
|
|
73834
|
-
strokeOpacity: number$
|
|
73833
|
+
strokeMiterLimit: number$a,
|
|
73834
|
+
strokeOpacity: number$a,
|
|
73835
73835
|
strokeWidth: null,
|
|
73836
73836
|
style: null,
|
|
73837
|
-
surfaceScale: number$
|
|
73837
|
+
surfaceScale: number$a,
|
|
73838
73838
|
syncBehavior: null,
|
|
73839
73839
|
syncBehaviorDefault: null,
|
|
73840
73840
|
syncMaster: null,
|
|
73841
73841
|
syncTolerance: null,
|
|
73842
73842
|
syncToleranceDefault: null,
|
|
73843
73843
|
systemLanguage: commaOrSpaceSeparated,
|
|
73844
|
-
tabIndex: number$
|
|
73844
|
+
tabIndex: number$a,
|
|
73845
73845
|
tableValues: null,
|
|
73846
73846
|
target: null,
|
|
73847
|
-
targetX: number$
|
|
73848
|
-
targetY: number$
|
|
73847
|
+
targetX: number$a,
|
|
73848
|
+
targetY: number$a,
|
|
73849
73849
|
textAnchor: null,
|
|
73850
73850
|
textDecoration: null,
|
|
73851
73851
|
textRendering: null,
|
|
@@ -73860,22 +73860,22 @@ const svg$1 = create$c({
|
|
|
73860
73860
|
transformOrigin: null,
|
|
73861
73861
|
u1: null,
|
|
73862
73862
|
u2: null,
|
|
73863
|
-
underlinePosition: number$
|
|
73864
|
-
underlineThickness: number$
|
|
73863
|
+
underlinePosition: number$a,
|
|
73864
|
+
underlineThickness: number$a,
|
|
73865
73865
|
unicode: null,
|
|
73866
73866
|
unicodeBidi: null,
|
|
73867
73867
|
unicodeRange: null,
|
|
73868
|
-
unitsPerEm: number$
|
|
73868
|
+
unitsPerEm: number$a,
|
|
73869
73869
|
values: null,
|
|
73870
|
-
vAlphabetic: number$
|
|
73871
|
-
vMathematical: number$
|
|
73870
|
+
vAlphabetic: number$a,
|
|
73871
|
+
vMathematical: number$a,
|
|
73872
73872
|
vectorEffect: null,
|
|
73873
|
-
vHanging: number$
|
|
73874
|
-
vIdeographic: number$
|
|
73873
|
+
vHanging: number$a,
|
|
73874
|
+
vIdeographic: number$a,
|
|
73875
73875
|
version: null,
|
|
73876
|
-
vertAdvY: number$
|
|
73877
|
-
vertOriginX: number$
|
|
73878
|
-
vertOriginY: number$
|
|
73876
|
+
vertAdvY: number$a,
|
|
73877
|
+
vertOriginX: number$a,
|
|
73878
|
+
vertOriginY: number$a,
|
|
73879
73879
|
viewBox: null,
|
|
73880
73880
|
viewTarget: null,
|
|
73881
73881
|
visibility: null,
|
|
@@ -73887,7 +73887,7 @@ const svg$1 = create$c({
|
|
|
73887
73887
|
x1: null,
|
|
73888
73888
|
x2: null,
|
|
73889
73889
|
xChannelSelector: null,
|
|
73890
|
-
xHeight: number$
|
|
73890
|
+
xHeight: number$a,
|
|
73891
73891
|
y: null,
|
|
73892
73892
|
y1: null,
|
|
73893
73893
|
y2: null,
|
|
@@ -84828,7 +84828,7 @@ function treeToExpectedCheckedLevel(currTree, checkedPaths) {
|
|
|
84828
84828
|
currTree.tree.forEach((lzn) => {
|
|
84829
84829
|
const levelZeroPath = [lzn.name];
|
|
84830
84830
|
const height2 = nodeToHeight(lzn);
|
|
84831
|
-
range$
|
|
84831
|
+
range$e(height2).forEach((i2) => {
|
|
84832
84832
|
const levelIndex = i2 + 1;
|
|
84833
84833
|
const levelNodePaths = nodeToLevelDescendantNamePaths(lzn, levelIndex, [], true);
|
|
84834
84834
|
if (isEqual$3(levelNodePaths, checkedPaths)) {
|
|
@@ -84901,7 +84901,7 @@ function treeToMembershipMap(currTree) {
|
|
|
84901
84901
|
if (currTree) {
|
|
84902
84902
|
currTree.tree.forEach((lzn) => {
|
|
84903
84903
|
const height2 = nodeToHeight(lzn);
|
|
84904
|
-
range$
|
|
84904
|
+
range$e(height2).forEach((i2) => {
|
|
84905
84905
|
const levelIndex = i2 + 1;
|
|
84906
84906
|
const levelNodePaths = nodeToLevelDescendantNamePaths(lzn, levelIndex, [], true);
|
|
84907
84907
|
levelNodePaths.forEach((setNamePath) => {
|
|
@@ -102607,7 +102607,7 @@ function LevelsButtons(props) {
|
|
|
102607
102607
|
}
|
|
102608
102608
|
}
|
|
102609
102609
|
const { classes: classes2 } = useStyles$t();
|
|
102610
|
-
return jsxRuntimeExports.jsx("div", { className: classes2.levelButtonsContainer, children: range$
|
|
102610
|
+
return jsxRuntimeExports.jsx("div", { className: classes2.levelButtonsContainer, children: range$e(1, height2 + 1).map((i2) => {
|
|
102611
102611
|
const isChecked = isEqual$3(path2, checkedLevelPath) && i2 === checkedLevelIndex;
|
|
102612
102612
|
return jsxRuntimeExports.jsx("div", { children: jsxRuntimeExports.jsx(HelpTooltip, { title: getLevelTooltipText(i2), children: jsxRuntimeExports.jsx("input", { className: clsx(classes2.levelRadioButton, { [classes2.levelRadioButtonChecked]: isChecked && !hasColorEncoding }), type: "checkbox", value: i2, checked: isChecked && hasColorEncoding, onChange: onCheck }) }) }, i2);
|
|
102613
102613
|
}) });
|
|
@@ -103213,10 +103213,10 @@ function ObsSetsManagerSubscriber(props) {
|
|
|
103213
103213
|
]);
|
|
103214
103214
|
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, errors, children: manager2 });
|
|
103215
103215
|
}
|
|
103216
|
-
function ascending$
|
|
103216
|
+
function ascending$8(a2, b2) {
|
|
103217
103217
|
return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
103218
103218
|
}
|
|
103219
|
-
function bisector$
|
|
103219
|
+
function bisector$3(f2) {
|
|
103220
103220
|
let delta = f2;
|
|
103221
103221
|
let compare2 = f2;
|
|
103222
103222
|
if (f2.length === 1) {
|
|
@@ -103252,14 +103252,14 @@ function bisector$4(f2) {
|
|
|
103252
103252
|
return { left: left2, center: center2, right: right2 };
|
|
103253
103253
|
}
|
|
103254
103254
|
function ascendingComparator$1(f2) {
|
|
103255
|
-
return (d, x2) => ascending$
|
|
103255
|
+
return (d, x2) => ascending$8(f2(d), x2);
|
|
103256
103256
|
}
|
|
103257
|
-
function number$
|
|
103257
|
+
function number$9(x2) {
|
|
103258
103258
|
return x2 === null ? NaN : +x2;
|
|
103259
103259
|
}
|
|
103260
|
-
const ascendingBisect$
|
|
103261
|
-
const bisectRight$
|
|
103262
|
-
bisector$
|
|
103260
|
+
const ascendingBisect$1 = bisector$3(ascending$8);
|
|
103261
|
+
const bisectRight$2 = ascendingBisect$1.right;
|
|
103262
|
+
bisector$3(number$9).center;
|
|
103263
103263
|
function count$2(values3, valueof) {
|
|
103264
103264
|
let count2 = 0;
|
|
103265
103265
|
{
|
|
@@ -103478,7 +103478,7 @@ function bin$2() {
|
|
|
103478
103478
|
for (i2 = 0; i2 < n3; ++i2) {
|
|
103479
103479
|
x2 = values3[i2];
|
|
103480
103480
|
if (x02 <= x2 && x2 <= x12) {
|
|
103481
|
-
bins2[bisectRight$
|
|
103481
|
+
bins2[bisectRight$2(tz, x2, 0, m2)].push(data2[i2]);
|
|
103482
103482
|
}
|
|
103483
103483
|
}
|
|
103484
103484
|
return bins2;
|
|
@@ -103516,7 +103516,7 @@ function min$4(values3, valueof) {
|
|
|
103516
103516
|
}
|
|
103517
103517
|
return min2;
|
|
103518
103518
|
}
|
|
103519
|
-
function quantileSorted$1(values3, p, valueof = number$
|
|
103519
|
+
function quantileSorted$1(values3, p, valueof = number$9) {
|
|
103520
103520
|
if (!(n3 = values3.length)) return;
|
|
103521
103521
|
if ((p = +p) <= 0 || n3 < 2) return +valueof(values3[0], 0, values3);
|
|
103522
103522
|
if (p >= 1) return +valueof(values3[n3 - 1], n3 - 1, values3);
|
|
@@ -142711,7 +142711,7 @@ const defaultGetValue = (points2) => points2.length;
|
|
|
142711
142711
|
const MAX_32_BIT_FLOAT = 3402823466e29;
|
|
142712
142712
|
const defaultGetPoints = (bin2) => bin2.points;
|
|
142713
142713
|
const defaultGetIndex = (bin2) => bin2.index;
|
|
142714
|
-
const ascending$
|
|
142714
|
+
const ascending$7 = (a2, b2) => a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
142715
142715
|
const defaultProps$w = {
|
|
142716
142716
|
getValue: defaultGetValue,
|
|
142717
142717
|
getPoints: defaultGetPoints,
|
|
@@ -142795,7 +142795,7 @@ class BinSorter {
|
|
|
142795
142795
|
}
|
|
142796
142796
|
getValueRange(percentileRange) {
|
|
142797
142797
|
if (!this.sortedBins) {
|
|
142798
|
-
this.sortedBins = this.aggregatedBins.sort((a2, b2) => ascending$
|
|
142798
|
+
this.sortedBins = this.aggregatedBins.sort((a2, b2) => ascending$7(a2.value, b2.value));
|
|
142799
142799
|
}
|
|
142800
142800
|
if (!this.sortedBins.length) {
|
|
142801
142801
|
return [];
|
|
@@ -142811,7 +142811,7 @@ class BinSorter {
|
|
|
142811
142811
|
}
|
|
142812
142812
|
getValueDomainByScale(scale2, [lower2 = 0, upper = 100] = []) {
|
|
142813
142813
|
if (!this.sortedBins) {
|
|
142814
|
-
this.sortedBins = this.aggregatedBins.sort((a2, b2) => ascending$
|
|
142814
|
+
this.sortedBins = this.aggregatedBins.sort((a2, b2) => ascending$7(a2.value, b2.value));
|
|
142815
142815
|
}
|
|
142816
142816
|
if (!this.sortedBins.length) {
|
|
142817
142817
|
return [];
|
|
@@ -182586,7 +182586,7 @@ function cartesianNormalizeInPlace$1(d) {
|
|
|
182586
182586
|
var l2 = sqrt$5(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
|
|
182587
182587
|
d[0] /= l2, d[1] /= l2, d[2] /= l2;
|
|
182588
182588
|
}
|
|
182589
|
-
var lambda0$3, phi0$1, lambda1$1, phi1$1, lambda2$1, lambda00$4, phi00$4, p0$1, deltaSum$1 = adder(), ranges$1, range$
|
|
182589
|
+
var lambda0$3, phi0$1, lambda1$1, phi1$1, lambda2$1, lambda00$4, phi00$4, p0$1, deltaSum$1 = adder(), ranges$1, range$b;
|
|
182590
182590
|
var boundsStream$3 = {
|
|
182591
182591
|
point: boundsPoint$3,
|
|
182592
182592
|
lineStart: boundsLineStart$1,
|
|
@@ -182606,11 +182606,11 @@ var boundsStream$3 = {
|
|
|
182606
182606
|
if (areaRingSum$3 < 0) lambda0$3 = -(lambda1$1 = 180), phi0$1 = -(phi1$1 = 90);
|
|
182607
182607
|
else if (deltaSum$1 > epsilon$8) phi1$1 = 90;
|
|
182608
182608
|
else if (deltaSum$1 < -epsilon$8) phi0$1 = -90;
|
|
182609
|
-
range$
|
|
182609
|
+
range$b[0] = lambda0$3, range$b[1] = lambda1$1;
|
|
182610
182610
|
}
|
|
182611
182611
|
};
|
|
182612
182612
|
function boundsPoint$3(lambda, phi2) {
|
|
182613
|
-
ranges$1.push(range$
|
|
182613
|
+
ranges$1.push(range$b = [lambda0$3 = lambda, lambda1$1 = lambda]);
|
|
182614
182614
|
if (phi2 < phi0$1) phi0$1 = phi2;
|
|
182615
182615
|
if (phi2 > phi1$1) phi1$1 = phi2;
|
|
182616
182616
|
}
|
|
@@ -182650,7 +182650,7 @@ function linePoint$1(lambda, phi2) {
|
|
|
182650
182650
|
}
|
|
182651
182651
|
}
|
|
182652
182652
|
} else {
|
|
182653
|
-
ranges$1.push(range$
|
|
182653
|
+
ranges$1.push(range$b = [lambda0$3 = lambda, lambda1$1 = lambda]);
|
|
182654
182654
|
}
|
|
182655
182655
|
if (phi2 < phi0$1) phi0$1 = phi2;
|
|
182656
182656
|
if (phi2 > phi1$1) phi1$1 = phi2;
|
|
@@ -182660,7 +182660,7 @@ function boundsLineStart$1() {
|
|
|
182660
182660
|
boundsStream$3.point = linePoint$1;
|
|
182661
182661
|
}
|
|
182662
182662
|
function boundsLineEnd$1() {
|
|
182663
|
-
range$
|
|
182663
|
+
range$b[0] = lambda0$3, range$b[1] = lambda1$1;
|
|
182664
182664
|
boundsStream$3.point = boundsPoint$3;
|
|
182665
182665
|
p0$1 = null;
|
|
182666
182666
|
}
|
|
@@ -182681,7 +182681,7 @@ function boundsRingEnd$1() {
|
|
|
182681
182681
|
boundsRingPoint$1(lambda00$4, phi00$4);
|
|
182682
182682
|
areaStream$3.lineEnd();
|
|
182683
182683
|
if (abs$5(deltaSum$1) > epsilon$8) lambda0$3 = -(lambda1$1 = 180);
|
|
182684
|
-
range$
|
|
182684
|
+
range$b[0] = lambda0$3, range$b[1] = lambda1$1;
|
|
182685
182685
|
p0$1 = null;
|
|
182686
182686
|
}
|
|
182687
182687
|
function angle$1(lambda02, lambda12) {
|
|
@@ -182714,7 +182714,7 @@ function bounds$2(feature2) {
|
|
|
182714
182714
|
if ((delta = angle$1(a2[1], b2[0])) > deltaMax) deltaMax = delta, lambda0$3 = b2[0], lambda1$1 = a2[1];
|
|
182715
182715
|
}
|
|
182716
182716
|
}
|
|
182717
|
-
ranges$1 = range$
|
|
182717
|
+
ranges$1 = range$b = null;
|
|
182718
182718
|
return lambda0$3 === Infinity || phi0$1 === Infinity ? [[NaN, NaN], [NaN, NaN]] : [[lambda0$3, phi0$1], [lambda1$1, phi1$1]];
|
|
182719
182719
|
}
|
|
182720
182720
|
var W0$1, W1$1, X0$3, Y0$3, Z0$3, X1$3, Y1$3, Z1$3, X2$4, Y2$4, Z2$3, lambda00$3, phi00$3, x0$9, y0$9, z0$1;
|
|
@@ -183060,10 +183060,10 @@ function link$1(array2) {
|
|
|
183060
183060
|
a2.n = b2 = array2[0];
|
|
183061
183061
|
b2.p = a2;
|
|
183062
183062
|
}
|
|
183063
|
-
function ascending$
|
|
183063
|
+
function ascending$6(a2, b2) {
|
|
183064
183064
|
return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
183065
183065
|
}
|
|
183066
|
-
function bisector$
|
|
183066
|
+
function bisector$2(compare2) {
|
|
183067
183067
|
if (compare2.length === 1) compare2 = ascendingComparator(compare2);
|
|
183068
183068
|
return {
|
|
183069
183069
|
left: function(a2, x2, lo, hi) {
|
|
@@ -183090,11 +183090,11 @@ function bisector$3(compare2) {
|
|
|
183090
183090
|
}
|
|
183091
183091
|
function ascendingComparator(f2) {
|
|
183092
183092
|
return function(d, x2) {
|
|
183093
|
-
return ascending$
|
|
183093
|
+
return ascending$6(f2(d), x2);
|
|
183094
183094
|
};
|
|
183095
183095
|
}
|
|
183096
|
-
bisector$
|
|
183097
|
-
function range$
|
|
183096
|
+
bisector$2(ascending$6);
|
|
183097
|
+
function range$a(start2, stop3, step) {
|
|
183098
183098
|
start2 = +start2, stop3 = +stop3, step = (n3 = arguments.length) < 2 ? (stop3 = start2, start2 = 0, 1) : n3 < 3 ? 1 : +step;
|
|
183099
183099
|
var i2 = -1, n3 = Math.max(0, Math.ceil((stop3 - start2) / step)) | 0, range2 = new Array(n3);
|
|
183100
183100
|
while (++i2 < n3) {
|
|
@@ -183376,7 +183376,7 @@ function contains$2(object2, point2) {
|
|
|
183376
183376
|
return (object2 && containsObjectType.hasOwnProperty(object2.type) ? containsObjectType[object2.type] : containsGeometry)(object2, point2);
|
|
183377
183377
|
}
|
|
183378
183378
|
function graticuleX$1(y02, y12, dy) {
|
|
183379
|
-
var y2 = range$
|
|
183379
|
+
var y2 = range$a(y02, y12 - epsilon$8, dy).concat(y12);
|
|
183380
183380
|
return function(x2) {
|
|
183381
183381
|
return y2.map(function(y22) {
|
|
183382
183382
|
return [x2, y22];
|
|
@@ -183384,7 +183384,7 @@ function graticuleX$1(y02, y12, dy) {
|
|
|
183384
183384
|
};
|
|
183385
183385
|
}
|
|
183386
183386
|
function graticuleY$1(x02, x12, dx) {
|
|
183387
|
-
var x2 = range$
|
|
183387
|
+
var x2 = range$a(x02, x12 - epsilon$8, dx).concat(x12);
|
|
183388
183388
|
return function(y2) {
|
|
183389
183389
|
return x2.map(function(x22) {
|
|
183390
183390
|
return [x22, y2];
|
|
@@ -183397,9 +183397,9 @@ function graticule$1() {
|
|
|
183397
183397
|
return { type: "MultiLineString", coordinates: lines() };
|
|
183398
183398
|
}
|
|
183399
183399
|
function lines() {
|
|
183400
|
-
return range$
|
|
183400
|
+
return range$a(ceil$3(X02 / DX) * DX, X12, DX).map(X3).concat(range$a(ceil$3(Y02 / DY) * DY, Y12, DY).map(Y3)).concat(range$a(ceil$3(x02 / dx) * dx, x12, dx).filter(function(x22) {
|
|
183401
183401
|
return abs$5(x22 % DX) > epsilon$8;
|
|
183402
|
-
}).map(x2)).concat(range$
|
|
183402
|
+
}).map(x2)).concat(range$a(ceil$3(y02 / dy) * dy, y12, dy).filter(function(y22) {
|
|
183403
183403
|
return abs$5(y22 % DY) > epsilon$8;
|
|
183404
183404
|
}).map(y2));
|
|
183405
183405
|
}
|
|
@@ -209105,22 +209105,22 @@ async function getDecoder(fileDirectory) {
|
|
|
209105
209105
|
const Decoder = await importFn();
|
|
209106
209106
|
return new Decoder(fileDirectory);
|
|
209107
209107
|
}
|
|
209108
|
-
addDecoder([void 0, 1], () => import("./raw-
|
|
209109
|
-
addDecoder(5, () => import("./lzw-
|
|
209108
|
+
addDecoder([void 0, 1], () => import("./raw-DP5Af32W.js").then((m2) => m2.default));
|
|
209109
|
+
addDecoder(5, () => import("./lzw-D4L-VfX8.js").then((m2) => m2.default));
|
|
209110
209110
|
addDecoder(6, () => {
|
|
209111
209111
|
throw new Error("old style JPEG compression is not supported.");
|
|
209112
209112
|
});
|
|
209113
|
-
addDecoder(7, () => import("./jpeg-
|
|
209114
|
-
addDecoder([8, 32946], () => import("./deflate-
|
|
209115
|
-
addDecoder(32773, () => import("./packbits-
|
|
209113
|
+
addDecoder(7, () => import("./jpeg-Bz6F-bB0.js").then((m2) => m2.default));
|
|
209114
|
+
addDecoder([8, 32946], () => import("./deflate-BHuVu6ka.js").then((m2) => m2.default));
|
|
209115
|
+
addDecoder(32773, () => import("./packbits-CLckyTrz.js").then((m2) => m2.default));
|
|
209116
209116
|
addDecoder(
|
|
209117
209117
|
34887,
|
|
209118
|
-
() => import("./lerc-
|
|
209118
|
+
() => import("./lerc-C0S_lxM2.js").then(async (m2) => {
|
|
209119
209119
|
await m2.zstd.init();
|
|
209120
209120
|
return m2;
|
|
209121
209121
|
}).then((m2) => m2.default)
|
|
209122
209122
|
);
|
|
209123
|
-
addDecoder(50001, () => import("./webimage-
|
|
209123
|
+
addDecoder(50001, () => import("./webimage-Y7ICR65G.js").then((m2) => m2.default));
|
|
209124
209124
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
|
209125
209125
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
|
209126
209126
|
}
|
|
@@ -212161,7 +212161,7 @@ const Z_FIXED = 4;
|
|
|
212161
212161
|
const Z_BINARY = 0;
|
|
212162
212162
|
const Z_TEXT = 1;
|
|
212163
212163
|
const Z_UNKNOWN = 2;
|
|
212164
|
-
function zero$
|
|
212164
|
+
function zero$5(buf) {
|
|
212165
212165
|
let len2 = buf.length;
|
|
212166
212166
|
while (--len2 >= 0) {
|
|
212167
212167
|
buf[len2] = 0;
|
|
@@ -212200,17 +212200,17 @@ const extra_blbits = (
|
|
|
212200
212200
|
const bl_order = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
|
|
212201
212201
|
const DIST_CODE_LEN = 512;
|
|
212202
212202
|
const static_ltree = new Array((L_CODES + 2) * 2);
|
|
212203
|
-
zero$
|
|
212203
|
+
zero$5(static_ltree);
|
|
212204
212204
|
const static_dtree = new Array(D_CODES * 2);
|
|
212205
|
-
zero$
|
|
212205
|
+
zero$5(static_dtree);
|
|
212206
212206
|
const _dist_code = new Array(DIST_CODE_LEN);
|
|
212207
|
-
zero$
|
|
212207
|
+
zero$5(_dist_code);
|
|
212208
212208
|
const _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);
|
|
212209
|
-
zero$
|
|
212209
|
+
zero$5(_length_code);
|
|
212210
212210
|
const base_length = new Array(LENGTH_CODES);
|
|
212211
|
-
zero$
|
|
212211
|
+
zero$5(base_length);
|
|
212212
212212
|
const base_dist = new Array(D_CODES);
|
|
212213
|
-
zero$
|
|
212213
|
+
zero$5(base_dist);
|
|
212214
212214
|
function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {
|
|
212215
212215
|
this.static_tree = static_tree;
|
|
212216
212216
|
this.extra_bits = extra_bits;
|
|
@@ -220076,7 +220076,7 @@ const channels = {
|
|
|
220076
220076
|
},
|
|
220077
220077
|
fs: fs$2
|
|
220078
220078
|
};
|
|
220079
|
-
function range$
|
|
220079
|
+
function range$9(len2) {
|
|
220080
220080
|
return [...Array(len2).keys()];
|
|
220081
220081
|
}
|
|
220082
220082
|
function padWithDefault$2(arr, defaultValue2, padWidth) {
|
|
@@ -221176,7 +221176,7 @@ const ScaleBarLayer = class extends CompositeLayer {
|
|
|
221176
221176
|
sizeScale: 2 ** -zoom2,
|
|
221177
221177
|
characterSet: [
|
|
221178
221178
|
...displayUnit.split(""),
|
|
221179
|
-
...range$
|
|
221179
|
+
...range$9(10).map((i2) => String(i2)),
|
|
221180
221180
|
".",
|
|
221181
221181
|
"e",
|
|
221182
221182
|
"+"
|
|
@@ -222615,7 +222615,7 @@ class BitmaskLayer2 extends XRLayer {
|
|
|
222615
222615
|
} = this.state;
|
|
222616
222616
|
if (textures && model) {
|
|
222617
222617
|
const scaleFactor = 1 / 2 ** (maxZoom - zoom2);
|
|
222618
|
-
const colors2 = Object.fromEntries(range$
|
|
222618
|
+
const colors2 = Object.fromEntries(range$e(MAX_CHANNELS).map((i2) => [`color${i2}`, getColor(channelColors[i2])]));
|
|
222619
222619
|
model.setUniforms(Object.assign({}, uniforms, {
|
|
222620
222620
|
...colors2,
|
|
222621
222621
|
// Bitmask image channel data textures
|
|
@@ -225804,7 +225804,7 @@ class ContourLayerWithText extends ContourLayer {
|
|
|
225804
225804
|
let minCirclePointI;
|
|
225805
225805
|
let minPolygonPoint;
|
|
225806
225806
|
const numVertices = maxAreaPolygon.geometry.coordinates[0].length;
|
|
225807
|
-
const polygonVertices = numVertices > MAX_NUM_VERTICES ? range$
|
|
225807
|
+
const polygonVertices = numVertices > MAX_NUM_VERTICES ? range$e(MAX_NUM_VERTICES).map((i2) => maxAreaPolygon.geometry.coordinates[0][Math.floor(i2 * numVertices / MAX_NUM_VERTICES)]) : [...maxAreaPolygon.geometry.coordinates[0]];
|
|
225808
225808
|
circlePolygon.geometry.coordinates[0].forEach((circleCoord, circlePointI) => {
|
|
225809
225809
|
const circlePoint = point$9(circleCoord);
|
|
225810
225810
|
polygonVertices.forEach((polyCoord) => {
|
|
@@ -226224,7 +226224,7 @@ function createQuadTree(obsEmbedding, getCellCoords) {
|
|
|
226224
226224
|
if (!obsEmbedding) {
|
|
226225
226225
|
return null;
|
|
226226
226226
|
}
|
|
226227
|
-
const tree2 = quadtree$1().x((i2) => getCellCoords(i2)[0]).y((i2) => getCellCoords(i2)[1]).addAll(range$
|
|
226227
|
+
const tree2 = quadtree$1().x((i2) => getCellCoords(i2)[0]).y((i2) => getCellCoords(i2)[1]).addAll(range$e(obsEmbedding.shape[1]));
|
|
226228
226228
|
return tree2;
|
|
226229
226229
|
}
|
|
226230
226230
|
function constant$6(v) {
|
|
@@ -226332,8 +226332,14 @@ function forceCollideRects() {
|
|
|
226332
226332
|
};
|
|
226333
226333
|
return force2;
|
|
226334
226334
|
}
|
|
226335
|
-
|
|
226336
|
-
|
|
226335
|
+
const BASE_POINT_SIZE = 5;
|
|
226336
|
+
const LARGE_DATASET_CELL_COUNT = 1e4;
|
|
226337
|
+
const SMALL_DATASET_CELL_COUNT = 100;
|
|
226338
|
+
function getInitialPointSize(numCells = LARGE_DATASET_CELL_COUNT) {
|
|
226339
|
+
return BASE_POINT_SIZE / clamp$8(numCells, SMALL_DATASET_CELL_COUNT, LARGE_DATASET_CELL_COUNT);
|
|
226340
|
+
}
|
|
226341
|
+
function getPointSizeDevicePixels(devicePixelRatio2, zoom2, xRange, yRange, width2, height2, numCells) {
|
|
226342
|
+
const pointSize = getInitialPointSize(numCells);
|
|
226337
226343
|
const pointScreenSizeMax = 10;
|
|
226338
226344
|
const pointScreenSizeMin = 1 / devicePixelRatio2;
|
|
226339
226345
|
const scaleFactor = 2 ** zoom2;
|
|
@@ -227529,7 +227535,7 @@ function selection_order() {
|
|
|
227529
227535
|
return this;
|
|
227530
227536
|
}
|
|
227531
227537
|
function selection_sort(compare2) {
|
|
227532
|
-
if (!compare2) compare2 = ascending$
|
|
227538
|
+
if (!compare2) compare2 = ascending$5;
|
|
227533
227539
|
function compareNode(a2, b2) {
|
|
227534
227540
|
return a2 && b2 ? compare2(a2.__data__, b2.__data__) : !a2 - !b2;
|
|
227535
227541
|
}
|
|
@@ -227543,7 +227549,7 @@ function selection_sort(compare2) {
|
|
|
227543
227549
|
}
|
|
227544
227550
|
return new Selection(sortgroups, this._parents).order();
|
|
227545
227551
|
}
|
|
227546
|
-
function ascending$
|
|
227552
|
+
function ascending$5(a2, b2) {
|
|
227547
227553
|
return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
227548
227554
|
}
|
|
227549
227555
|
function selection_call() {
|
|
@@ -227952,20 +227958,20 @@ Selection.prototype = {
|
|
|
227952
227958
|
function select$1(selector2) {
|
|
227953
227959
|
return typeof selector2 === "string" ? new Selection([[document.querySelector(selector2)]], [document.documentElement]) : new Selection([[selector2]], root$2);
|
|
227954
227960
|
}
|
|
227955
|
-
function ascending$
|
|
227961
|
+
function ascending$4(a2, b2) {
|
|
227956
227962
|
return a2 == null || b2 == null ? NaN : a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
227957
227963
|
}
|
|
227958
|
-
function descending$
|
|
227964
|
+
function descending$1(a2, b2) {
|
|
227959
227965
|
return a2 == null || b2 == null ? NaN : b2 < a2 ? -1 : b2 > a2 ? 1 : b2 >= a2 ? 0 : NaN;
|
|
227960
227966
|
}
|
|
227961
|
-
function bisector$
|
|
227967
|
+
function bisector$1(f2) {
|
|
227962
227968
|
let compare12, compare2, delta;
|
|
227963
227969
|
if (f2.length !== 2) {
|
|
227964
|
-
compare12 = ascending$
|
|
227965
|
-
compare2 = (d, x2) => ascending$
|
|
227970
|
+
compare12 = ascending$4;
|
|
227971
|
+
compare2 = (d, x2) => ascending$4(f2(d), x2);
|
|
227966
227972
|
delta = (d, x2) => f2(d) - x2;
|
|
227967
227973
|
} else {
|
|
227968
|
-
compare12 = f2 === ascending$
|
|
227974
|
+
compare12 = f2 === ascending$4 || f2 === descending$1 ? f2 : zero$4;
|
|
227969
227975
|
compare2 = f2;
|
|
227970
227976
|
delta = f2;
|
|
227971
227977
|
}
|
|
@@ -227997,10 +228003,10 @@ function bisector$2(f2) {
|
|
|
227997
228003
|
}
|
|
227998
228004
|
return { left: left2, center: center2, right: right2 };
|
|
227999
228005
|
}
|
|
228000
|
-
function zero$
|
|
228006
|
+
function zero$4() {
|
|
228001
228007
|
return 0;
|
|
228002
228008
|
}
|
|
228003
|
-
function number$
|
|
228009
|
+
function number$8(x2) {
|
|
228004
228010
|
return x2 === null ? NaN : +x2;
|
|
228005
228011
|
}
|
|
228006
228012
|
function* numbers$4(values3, valueof) {
|
|
@@ -228019,10 +228025,10 @@ function* numbers$4(values3, valueof) {
|
|
|
228019
228025
|
}
|
|
228020
228026
|
}
|
|
228021
228027
|
}
|
|
228022
|
-
const ascendingBisect
|
|
228023
|
-
const bisectRight$
|
|
228024
|
-
const bisectLeft$1 = ascendingBisect
|
|
228025
|
-
bisector$
|
|
228028
|
+
const ascendingBisect = bisector$1(ascending$4);
|
|
228029
|
+
const bisectRight$1 = ascendingBisect.right;
|
|
228030
|
+
const bisectLeft$1 = ascendingBisect.left;
|
|
228031
|
+
bisector$1(number$8).center;
|
|
228026
228032
|
function variance(values3, valueof) {
|
|
228027
228033
|
let count2 = 0;
|
|
228028
228034
|
let delta;
|
|
@@ -228093,8 +228099,8 @@ class Adder {
|
|
|
228093
228099
|
function permute(source2, keys2) {
|
|
228094
228100
|
return Array.from(keys2, (key2) => source2[key2]);
|
|
228095
228101
|
}
|
|
228096
|
-
function compareDefined(compare2 = ascending$
|
|
228097
|
-
if (compare2 === ascending$
|
|
228102
|
+
function compareDefined(compare2 = ascending$4) {
|
|
228103
|
+
if (compare2 === ascending$4) return ascendingDefined;
|
|
228098
228104
|
if (typeof compare2 !== "function") throw new TypeError("compare is not a function");
|
|
228099
228105
|
return (a2, b2) => {
|
|
228100
228106
|
const x2 = compare2(a2, b2);
|
|
@@ -228105,40 +228111,51 @@ function compareDefined(compare2 = ascending$5) {
|
|
|
228105
228111
|
function ascendingDefined(a2, b2) {
|
|
228106
228112
|
return (a2 == null || !(a2 >= a2)) - (b2 == null || !(b2 >= b2)) || (a2 < b2 ? -1 : a2 > b2 ? 1 : 0);
|
|
228107
228113
|
}
|
|
228108
|
-
|
|
228114
|
+
const e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
|
|
228115
|
+
function tickSpec(start2, stop3, count2) {
|
|
228116
|
+
const step = (stop3 - start2) / Math.max(0, count2), power = Math.floor(Math.log10(step)), error2 = step / Math.pow(10, power), factor = error2 >= e10 ? 10 : error2 >= e5 ? 5 : error2 >= e2 ? 2 : 1;
|
|
228117
|
+
let i1, i2, inc;
|
|
228118
|
+
if (power < 0) {
|
|
228119
|
+
inc = Math.pow(10, -power) / factor;
|
|
228120
|
+
i1 = Math.round(start2 * inc);
|
|
228121
|
+
i2 = Math.round(stop3 * inc);
|
|
228122
|
+
if (i1 / inc < start2) ++i1;
|
|
228123
|
+
if (i2 / inc > stop3) --i2;
|
|
228124
|
+
inc = -inc;
|
|
228125
|
+
} else {
|
|
228126
|
+
inc = Math.pow(10, power) * factor;
|
|
228127
|
+
i1 = Math.round(start2 / inc);
|
|
228128
|
+
i2 = Math.round(stop3 / inc);
|
|
228129
|
+
if (i1 * inc < start2) ++i1;
|
|
228130
|
+
if (i2 * inc > stop3) --i2;
|
|
228131
|
+
}
|
|
228132
|
+
if (i2 < i1 && 0.5 <= count2 && count2 < 2) return tickSpec(start2, stop3, count2 * 2);
|
|
228133
|
+
return [i1, i2, inc];
|
|
228134
|
+
}
|
|
228109
228135
|
function ticks(start2, stop3, count2) {
|
|
228110
|
-
var reverse2, i2 = -1, n3, ticks2, step;
|
|
228111
228136
|
stop3 = +stop3, start2 = +start2, count2 = +count2;
|
|
228112
|
-
if (
|
|
228113
|
-
if (
|
|
228114
|
-
|
|
228115
|
-
if (
|
|
228116
|
-
|
|
228117
|
-
|
|
228118
|
-
if (
|
|
228119
|
-
|
|
228120
|
-
while (++i2 < n3) ticks2[i2] = (r0 + i2) * step;
|
|
228137
|
+
if (!(count2 > 0)) return [];
|
|
228138
|
+
if (start2 === stop3) return [start2];
|
|
228139
|
+
const reverse2 = stop3 < start2, [i1, i2, inc] = reverse2 ? tickSpec(stop3, start2, count2) : tickSpec(start2, stop3, count2);
|
|
228140
|
+
if (!(i2 >= i1)) return [];
|
|
228141
|
+
const n3 = i2 - i1 + 1, ticks2 = new Array(n3);
|
|
228142
|
+
if (reverse2) {
|
|
228143
|
+
if (inc < 0) for (let i3 = 0; i3 < n3; ++i3) ticks2[i3] = (i2 - i3) / -inc;
|
|
228144
|
+
else for (let i3 = 0; i3 < n3; ++i3) ticks2[i3] = (i2 - i3) * inc;
|
|
228121
228145
|
} else {
|
|
228122
|
-
|
|
228123
|
-
let
|
|
228124
|
-
if (r0 / step < start2) ++r0;
|
|
228125
|
-
if (r1 / step > stop3) --r1;
|
|
228126
|
-
ticks2 = new Array(n3 = r1 - r0 + 1);
|
|
228127
|
-
while (++i2 < n3) ticks2[i2] = (r0 + i2) / step;
|
|
228146
|
+
if (inc < 0) for (let i3 = 0; i3 < n3; ++i3) ticks2[i3] = (i1 + i3) / -inc;
|
|
228147
|
+
else for (let i3 = 0; i3 < n3; ++i3) ticks2[i3] = (i1 + i3) * inc;
|
|
228128
228148
|
}
|
|
228129
|
-
if (reverse2) ticks2.reverse();
|
|
228130
228149
|
return ticks2;
|
|
228131
228150
|
}
|
|
228132
228151
|
function tickIncrement(start2, stop3, count2) {
|
|
228133
|
-
|
|
228134
|
-
return
|
|
228152
|
+
stop3 = +stop3, start2 = +start2, count2 = +count2;
|
|
228153
|
+
return tickSpec(start2, stop3, count2)[2];
|
|
228135
228154
|
}
|
|
228136
228155
|
function tickStep(start2, stop3, count2) {
|
|
228137
|
-
|
|
228138
|
-
|
|
228139
|
-
|
|
228140
|
-
else if (error2 >= e2) step1 *= 2;
|
|
228141
|
-
return stop3 < start2 ? -step1 : step1;
|
|
228156
|
+
stop3 = +stop3, start2 = +start2, count2 = +count2;
|
|
228157
|
+
const reverse2 = stop3 < start2, inc = reverse2 ? tickIncrement(stop3, start2, count2) : tickIncrement(start2, stop3, count2);
|
|
228158
|
+
return (reverse2 ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);
|
|
228142
228159
|
}
|
|
228143
228160
|
function max$3(values3, valueof) {
|
|
228144
228161
|
let max2;
|
|
@@ -228176,7 +228193,11 @@ function min$3(values3, valueof) {
|
|
|
228176
228193
|
}
|
|
228177
228194
|
return min2;
|
|
228178
228195
|
}
|
|
228179
|
-
function quickselect(array2, k, left2 = 0, right2 =
|
|
228196
|
+
function quickselect(array2, k, left2 = 0, right2 = Infinity, compare2) {
|
|
228197
|
+
k = Math.floor(k);
|
|
228198
|
+
left2 = Math.floor(Math.max(0, left2));
|
|
228199
|
+
right2 = Math.floor(Math.min(array2.length - 1, right2));
|
|
228200
|
+
if (!(left2 <= k && k <= right2)) return array2;
|
|
228180
228201
|
compare2 = compare2 === void 0 ? ascendingDefined : compareDefined(compare2);
|
|
228181
228202
|
while (right2 > left2) {
|
|
228182
228203
|
if (right2 - left2 > 600) {
|
|
@@ -228213,15 +228234,15 @@ function swap$1(array2, i2, j) {
|
|
|
228213
228234
|
}
|
|
228214
228235
|
function quantile$1(values3, p, valueof) {
|
|
228215
228236
|
values3 = Float64Array.from(numbers$4(values3, valueof));
|
|
228216
|
-
if (!(n3 = values3.length)) return;
|
|
228217
|
-
if (
|
|
228237
|
+
if (!(n3 = values3.length) || isNaN(p = +p)) return;
|
|
228238
|
+
if (p <= 0 || n3 < 2) return min$3(values3);
|
|
228218
228239
|
if (p >= 1) return max$3(values3);
|
|
228219
228240
|
var n3, i2 = (n3 - 1) * p, i0 = Math.floor(i2), value0 = max$3(quickselect(values3, i0).subarray(0, i0 + 1)), value1 = min$3(values3.subarray(i0 + 1));
|
|
228220
228241
|
return value0 + (value1 - value0) * (i2 - i0);
|
|
228221
228242
|
}
|
|
228222
|
-
function quantileSorted(values3, p, valueof = number$
|
|
228223
|
-
if (!(n3 = values3.length)) return;
|
|
228224
|
-
if (
|
|
228243
|
+
function quantileSorted(values3, p, valueof = number$8) {
|
|
228244
|
+
if (!(n3 = values3.length) || isNaN(p = +p)) return;
|
|
228245
|
+
if (p <= 0 || n3 < 2) return +valueof(values3[0], 0, values3);
|
|
228225
228246
|
if (p >= 1) return +valueof(values3[n3 - 1], n3 - 1, values3);
|
|
228226
228247
|
var n3, i2 = (n3 - 1) * p, i0 = Math.floor(i2), value0 = +valueof(values3[i0], i0, values3), value1 = +valueof(values3[i0 + 1], i0 + 1, values3);
|
|
228227
228248
|
return value0 + (value1 - value0) * (i2 - i0);
|
|
@@ -228256,7 +228277,7 @@ function* flatten$2(arrays) {
|
|
|
228256
228277
|
function merge$3(arrays) {
|
|
228257
228278
|
return Array.from(flatten$2(arrays));
|
|
228258
228279
|
}
|
|
228259
|
-
function range$
|
|
228280
|
+
function range$8(start2, stop3, step) {
|
|
228260
228281
|
start2 = +start2, stop3 = +stop3, step = (n3 = arguments.length) < 2 ? (stop3 = start2, start2 = 0, 1) : n3 < 3 ? 1 : +step;
|
|
228261
228282
|
var i2 = -1, n3 = Math.max(0, Math.ceil((stop3 - start2) / step)) | 0, range2 = new Array(n3);
|
|
228262
228283
|
while (++i2 < n3) {
|
|
@@ -228927,7 +228948,7 @@ function object$1(a2, b2) {
|
|
|
228927
228948
|
};
|
|
228928
228949
|
}
|
|
228929
228950
|
var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g");
|
|
228930
|
-
function zero$
|
|
228951
|
+
function zero$3(b2) {
|
|
228931
228952
|
return function() {
|
|
228932
228953
|
return b2;
|
|
228933
228954
|
};
|
|
@@ -228960,7 +228981,7 @@ function string(a2, b2) {
|
|
|
228960
228981
|
if (s2[i2]) s2[i2] += bs;
|
|
228961
228982
|
else s2[++i2] = bs;
|
|
228962
228983
|
}
|
|
228963
|
-
return s2.length < 2 ? q[0] ? one$2(q[0].x) : zero$
|
|
228984
|
+
return s2.length < 2 ? q[0] ? one$2(q[0].x) : zero$3(b2) : (b2 = q.length, function(t4) {
|
|
228964
228985
|
for (var i22 = 0, o2; i22 < b2; ++i22) s2[(o2 = q[i22]).i] = o2.x(t4);
|
|
228965
228986
|
return s2.join("");
|
|
228966
228987
|
});
|
|
@@ -229226,7 +229247,7 @@ function constants$1(x2) {
|
|
|
229226
229247
|
return x2;
|
|
229227
229248
|
};
|
|
229228
229249
|
}
|
|
229229
|
-
function number$
|
|
229250
|
+
function number$7(x2) {
|
|
229230
229251
|
return +x2;
|
|
229231
229252
|
}
|
|
229232
229253
|
var unit$1 = [0, 1];
|
|
@@ -229264,7 +229285,7 @@ function polymap(domain2, range2, interpolate2) {
|
|
|
229264
229285
|
r3[i2] = interpolate2(range2[i2], range2[i2 + 1]);
|
|
229265
229286
|
}
|
|
229266
229287
|
return function(x2) {
|
|
229267
|
-
var i22 = bisectRight$
|
|
229288
|
+
var i22 = bisectRight$1(domain2, x2, 1, j) - 1;
|
|
229268
229289
|
return r3[i22](d[i22](x2));
|
|
229269
229290
|
};
|
|
229270
229291
|
}
|
|
@@ -229287,7 +229308,7 @@ function transformer$3() {
|
|
|
229287
229308
|
return clamp2(untransform((input || (input = piecewise2(range2, domain2.map(transform3), interpolateNumber)))(y2)));
|
|
229288
229309
|
};
|
|
229289
229310
|
scale2.domain = function(_) {
|
|
229290
|
-
return arguments.length ? (domain2 = Array.from(_, number$
|
|
229311
|
+
return arguments.length ? (domain2 = Array.from(_, number$7), rescale()) : domain2.slice();
|
|
229291
229312
|
};
|
|
229292
229313
|
scale2.range = function(_) {
|
|
229293
229314
|
return arguments.length ? (range2 = Array.from(_), rescale()) : range2.slice();
|
|
@@ -229607,7 +229628,7 @@ function identity$6(domain2) {
|
|
|
229607
229628
|
}
|
|
229608
229629
|
scale2.invert = scale2;
|
|
229609
229630
|
scale2.domain = scale2.range = function(_) {
|
|
229610
|
-
return arguments.length ? (domain2 = Array.from(_, number$
|
|
229631
|
+
return arguments.length ? (domain2 = Array.from(_, number$7), scale2) : domain2.slice();
|
|
229611
229632
|
};
|
|
229612
229633
|
scale2.unknown = function(_) {
|
|
229613
229634
|
return arguments.length ? (unknown = _, scale2) : unknown;
|
|
@@ -229615,7 +229636,7 @@ function identity$6(domain2) {
|
|
|
229615
229636
|
scale2.copy = function() {
|
|
229616
229637
|
return identity$6(domain2).unknown(unknown);
|
|
229617
229638
|
};
|
|
229618
|
-
domain2 = arguments.length ? Array.from(domain2, number$
|
|
229639
|
+
domain2 = arguments.length ? Array.from(domain2, number$7) : [0, 1];
|
|
229619
229640
|
return linearish(scale2);
|
|
229620
229641
|
}
|
|
229621
229642
|
function nice$1(domain2, interval2) {
|
|
@@ -229805,7 +229826,7 @@ function quantile() {
|
|
|
229805
229826
|
return scale2;
|
|
229806
229827
|
}
|
|
229807
229828
|
function scale2(x2) {
|
|
229808
|
-
return x2 == null || isNaN(x2 = +x2) ? unknown : range2[bisectRight$
|
|
229829
|
+
return x2 == null || isNaN(x2 = +x2) ? unknown : range2[bisectRight$1(thresholds, x2)];
|
|
229809
229830
|
}
|
|
229810
229831
|
scale2.invertExtent = function(y2) {
|
|
229811
229832
|
var i2 = range2.indexOf(y2);
|
|
@@ -229818,7 +229839,7 @@ function quantile() {
|
|
|
229818
229839
|
if (!arguments.length) return domain2.slice();
|
|
229819
229840
|
domain2 = [];
|
|
229820
229841
|
for (let d of _) if (d != null && !isNaN(d = +d)) domain2.push(d);
|
|
229821
|
-
domain2.sort(ascending$
|
|
229842
|
+
domain2.sort(ascending$4);
|
|
229822
229843
|
return rescale();
|
|
229823
229844
|
};
|
|
229824
229845
|
scale2.range = function(_) {
|
|
@@ -229838,7 +229859,7 @@ function quantile() {
|
|
|
229838
229859
|
function quantize$2() {
|
|
229839
229860
|
var x02 = 0, x12 = 1, n3 = 1, domain2 = [0.5], range2 = [0, 1], unknown;
|
|
229840
229861
|
function scale2(x2) {
|
|
229841
|
-
return x2 != null && x2 <= x2 ? range2[bisectRight$
|
|
229862
|
+
return x2 != null && x2 <= x2 ? range2[bisectRight$1(domain2, x2, 0, n3)] : unknown;
|
|
229842
229863
|
}
|
|
229843
229864
|
function rescale() {
|
|
229844
229865
|
var i2 = -1;
|
|
@@ -229870,7 +229891,7 @@ function quantize$2() {
|
|
|
229870
229891
|
function threshold() {
|
|
229871
229892
|
var domain2 = [0.5], range2 = [0, 1], unknown, n3 = 1;
|
|
229872
229893
|
function scale2(x2) {
|
|
229873
|
-
return x2 != null && x2 <= x2 ? range2[bisectRight$
|
|
229894
|
+
return x2 != null && x2 <= x2 ? range2[bisectRight$1(domain2, x2, 0, n3)] : unknown;
|
|
229874
229895
|
}
|
|
229875
229896
|
scale2.domain = function(_) {
|
|
229876
229897
|
return arguments.length ? (domain2 = Array.from(_), n3 = Math.min(domain2.length, range2.length - 1), scale2) : domain2.slice();
|
|
@@ -230184,7 +230205,7 @@ function ticker(year2, month2, week2, day2, hour2, minute2) {
|
|
|
230184
230205
|
}
|
|
230185
230206
|
function tickInterval(start2, stop3, count2) {
|
|
230186
230207
|
const target2 = Math.abs(stop3 - start2) / count2;
|
|
230187
|
-
const i2 = bisector$
|
|
230208
|
+
const i2 = bisector$1(([, , step2]) => step2).right(tickIntervals, target2);
|
|
230188
230209
|
if (i2 === tickIntervals.length) return year2.every(tickStep(start2 / durationYear$1, stop3 / durationYear$1, count2));
|
|
230189
230210
|
if (i2 === 0) return millisecond.every(Math.max(tickStep(start2, stop3, count2), 1));
|
|
230190
230211
|
const [t4, step] = tickIntervals[target2 / tickIntervals[i2 - 1][2] < tickIntervals[i2][2] / target2 ? i2 - 1 : i2];
|
|
@@ -230756,7 +230777,7 @@ function defaultLocale$1(definition2) {
|
|
|
230756
230777
|
function date(t4) {
|
|
230757
230778
|
return new Date(t4);
|
|
230758
230779
|
}
|
|
230759
|
-
function number$
|
|
230780
|
+
function number$6(t4) {
|
|
230760
230781
|
return t4 instanceof Date ? +t4 : +/* @__PURE__ */ new Date(+t4);
|
|
230761
230782
|
}
|
|
230762
230783
|
function calendar(ticks2, tickInterval, year2, month2, week2, day2, hour2, minute2, second2, format2) {
|
|
@@ -230769,7 +230790,7 @@ function calendar(ticks2, tickInterval, year2, month2, week2, day2, hour2, minut
|
|
|
230769
230790
|
return new Date(invert2(y2));
|
|
230770
230791
|
};
|
|
230771
230792
|
scale2.domain = function(_) {
|
|
230772
|
-
return arguments.length ? domain2(Array.from(_, number$
|
|
230793
|
+
return arguments.length ? domain2(Array.from(_, number$6)) : domain2().map(date);
|
|
230773
230794
|
};
|
|
230774
230795
|
scale2.ticks = function(interval2) {
|
|
230775
230796
|
var d = domain2();
|
|
@@ -230929,7 +230950,7 @@ function translateX(x2) {
|
|
|
230929
230950
|
function translateY(y2) {
|
|
230930
230951
|
return "translate(0," + y2 + ")";
|
|
230931
230952
|
}
|
|
230932
|
-
function number$
|
|
230953
|
+
function number$5(scale2) {
|
|
230933
230954
|
return (d) => +scale2(d);
|
|
230934
230955
|
}
|
|
230935
230956
|
function center(scale2, offset2) {
|
|
@@ -230943,7 +230964,7 @@ function entering() {
|
|
|
230943
230964
|
function axis(orient2, scale2) {
|
|
230944
230965
|
var tickArguments = [], tickValues2 = null, tickFormat2 = null, tickSizeInner = 6, tickSizeOuter = 6, tickPadding = 3, offset2 = typeof window !== "undefined" && window.devicePixelRatio > 1 ? 0 : 0.5, k = orient2 === top || orient2 === left ? -1 : 1, x2 = orient2 === left || orient2 === right ? "x" : "y", transform3 = orient2 === top || orient2 === bottom ? translateX : translateY;
|
|
230945
230966
|
function axis2(context2) {
|
|
230946
|
-
var values3 = tickValues2 == null ? scale2.ticks ? scale2.ticks.apply(scale2, tickArguments) : scale2.domain() : tickValues2, format2 = tickFormat2 == null ? scale2.tickFormat ? scale2.tickFormat.apply(scale2, tickArguments) : identity$5 : tickFormat2, spacing2 = Math.max(tickSizeInner, 0) + tickPadding, range2 = scale2.range(), range0 = +range2[0] + offset2, range1 = +range2[range2.length - 1] + offset2, position2 = (scale2.bandwidth ? center : number$
|
|
230967
|
+
var values3 = tickValues2 == null ? scale2.ticks ? scale2.ticks.apply(scale2, tickArguments) : scale2.domain() : tickValues2, format2 = tickFormat2 == null ? scale2.tickFormat ? scale2.tickFormat.apply(scale2, tickArguments) : identity$5 : tickFormat2, spacing2 = Math.max(tickSizeInner, 0) + tickPadding, range2 = scale2.range(), range0 = +range2[0] + offset2, range1 = +range2[range2.length - 1] + offset2, position2 = (scale2.bandwidth ? center : number$5)(scale2.copy(), offset2), selection = context2.selection ? context2.selection() : context2, path2 = selection.selectAll(".domain").data([null]), tick2 = selection.selectAll(".tick").data(values3, scale2).order(), tickExit = tick2.exit(), tickEnter = tick2.enter().append("g").attr("class", "tick"), line2 = tick2.select("line"), text2 = tick2.select("text");
|
|
230947
230968
|
path2 = path2.merge(path2.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor"));
|
|
230948
230969
|
tick2 = tick2.merge(tickEnter);
|
|
230949
230970
|
line2 = line2.merge(tickEnter.append("line").attr("stroke", "currentColor").attr(x2 + "2", k * tickSizeInner));
|
|
@@ -231076,6 +231097,9 @@ function ramp(color2, n3 = 256) {
|
|
|
231076
231097
|
canvas.width = n3;
|
|
231077
231098
|
canvas.height = 1;
|
|
231078
231099
|
const context2 = canvas.getContext("2d");
|
|
231100
|
+
if (!context2) {
|
|
231101
|
+
throw new Error("Could not get 2d context from canvas");
|
|
231102
|
+
}
|
|
231079
231103
|
for (let i2 = 0; i2 < n3; ++i2) {
|
|
231080
231104
|
context2.fillStyle = color2(i2 / (n3 - 1));
|
|
231081
231105
|
context2.fillRect(i2, 0, 1, 1);
|
|
@@ -231094,6 +231118,8 @@ function getXlinkHref(cmap) {
|
|
|
231094
231118
|
}
|
|
231095
231119
|
const useStyles$p = makeStyles()(() => ({
|
|
231096
231120
|
legend: {
|
|
231121
|
+
position: "relative",
|
|
231122
|
+
// Needed for absolute positioning of slider overlay
|
|
231097
231123
|
top: "2px",
|
|
231098
231124
|
right: "2px",
|
|
231099
231125
|
fontSize: "10px !important",
|
|
@@ -231125,6 +231151,74 @@ const useStyles$p = makeStyles()(() => ({
|
|
|
231125
231151
|
},
|
|
231126
231152
|
legendInvisible: {
|
|
231127
231153
|
display: "none"
|
|
231154
|
+
},
|
|
231155
|
+
sliderContainer: {
|
|
231156
|
+
position: "absolute",
|
|
231157
|
+
// Position at the colormap location: top offset = titleHeight
|
|
231158
|
+
top: "10px",
|
|
231159
|
+
// titleHeight
|
|
231160
|
+
left: "2px",
|
|
231161
|
+
// Account for parent padding
|
|
231162
|
+
width: "calc(100% - 4px)",
|
|
231163
|
+
// Account for left and right padding
|
|
231164
|
+
height: "8px",
|
|
231165
|
+
// rectHeight
|
|
231166
|
+
"&:hover $sliderThumb": {
|
|
231167
|
+
opacity: 1
|
|
231168
|
+
}
|
|
231169
|
+
},
|
|
231170
|
+
sliderRoot: {
|
|
231171
|
+
position: "absolute",
|
|
231172
|
+
top: 0,
|
|
231173
|
+
left: 0,
|
|
231174
|
+
width: "100%",
|
|
231175
|
+
height: "8px",
|
|
231176
|
+
// rectHeight
|
|
231177
|
+
padding: 0,
|
|
231178
|
+
"& .MuiSlider-rail": {
|
|
231179
|
+
display: "none"
|
|
231180
|
+
},
|
|
231181
|
+
"& .MuiSlider-track": {
|
|
231182
|
+
display: "none"
|
|
231183
|
+
},
|
|
231184
|
+
"& .MuiSlider-valueLabel": {
|
|
231185
|
+
fontSize: "9px",
|
|
231186
|
+
padding: "2px 4px",
|
|
231187
|
+
backgroundColor: "rgb(0, 0, 0)",
|
|
231188
|
+
borderRadius: "2px"
|
|
231189
|
+
}
|
|
231190
|
+
},
|
|
231191
|
+
sliderThumb: {
|
|
231192
|
+
width: "4px",
|
|
231193
|
+
height: "12px",
|
|
231194
|
+
borderRadius: "2px",
|
|
231195
|
+
backgroundColor: "white",
|
|
231196
|
+
border: "1px solid black",
|
|
231197
|
+
opacity: 0,
|
|
231198
|
+
transition: "opacity 0.15s ease-in-out",
|
|
231199
|
+
"&:hover, &.Mui-focusVisible": {
|
|
231200
|
+
boxShadow: "0 0 0 4px rgba(0, 0, 0, 0.16)",
|
|
231201
|
+
opacity: 1
|
|
231202
|
+
},
|
|
231203
|
+
"&.Mui-active": {
|
|
231204
|
+
boxShadow: "0 0 0 6px rgba(0, 0, 0, 0.16)",
|
|
231205
|
+
opacity: 1
|
|
231206
|
+
}
|
|
231207
|
+
},
|
|
231208
|
+
colormapImage: {
|
|
231209
|
+
position: "absolute",
|
|
231210
|
+
top: "2px",
|
|
231211
|
+
height: "6px",
|
|
231212
|
+
// rectHeight
|
|
231213
|
+
pointerEvents: "none"
|
|
231214
|
+
},
|
|
231215
|
+
grayTrack: {
|
|
231216
|
+
position: "absolute",
|
|
231217
|
+
top: "2px",
|
|
231218
|
+
height: "6px",
|
|
231219
|
+
// rectHeight
|
|
231220
|
+
backgroundColor: "rgba(128, 128, 128, 0.5)",
|
|
231221
|
+
pointerEvents: "none"
|
|
231128
231222
|
}
|
|
231129
231223
|
}));
|
|
231130
231224
|
const titleHeight = 10;
|
|
@@ -231134,21 +231228,23 @@ const rectMarginX = 2;
|
|
|
231134
231228
|
function combineExtents(extents, featureAggregationStrategy) {
|
|
231135
231229
|
if (Array.isArray(extents)) {
|
|
231136
231230
|
if (Array.isArray(extents?.[0])) {
|
|
231231
|
+
const extentsArray = extents;
|
|
231137
231232
|
if (featureAggregationStrategy === "first") {
|
|
231138
|
-
return
|
|
231233
|
+
return extentsArray[0];
|
|
231139
231234
|
}
|
|
231140
231235
|
if (featureAggregationStrategy === "last") {
|
|
231141
|
-
return
|
|
231236
|
+
return extentsArray.at(-1) || null;
|
|
231142
231237
|
}
|
|
231143
231238
|
if (typeof featureAggregationStrategy === "number") {
|
|
231144
231239
|
const i2 = featureAggregationStrategy;
|
|
231145
|
-
return
|
|
231240
|
+
return extentsArray[i2];
|
|
231146
231241
|
}
|
|
231147
231242
|
if (featureAggregationStrategy === "sum") {
|
|
231148
|
-
return
|
|
231243
|
+
return extentsArray.reduce((a2, h2) => [a2[0] + h2[0], a2[1] + h2[1]]);
|
|
231149
231244
|
}
|
|
231150
231245
|
if (featureAggregationStrategy === "mean") {
|
|
231151
|
-
|
|
231246
|
+
const sum2 = extentsArray.reduce((a2, h2) => [a2[0] + h2[0], a2[1] + h2[1]]);
|
|
231247
|
+
return [sum2[0] / extentsArray.length, sum2[1] / extentsArray.length];
|
|
231152
231248
|
}
|
|
231153
231249
|
} else {
|
|
231154
231250
|
return extents;
|
|
@@ -231162,7 +231258,7 @@ function combineMissings(missings, featureAggregationStrategy) {
|
|
|
231162
231258
|
return missings[0];
|
|
231163
231259
|
}
|
|
231164
231260
|
if (featureAggregationStrategy === "last") {
|
|
231165
|
-
return missings.at(-1);
|
|
231261
|
+
return missings.at(-1) || null;
|
|
231166
231262
|
}
|
|
231167
231263
|
if (typeof featureAggregationStrategy === "number") {
|
|
231168
231264
|
const i2 = featureAggregationStrategy;
|
|
@@ -231178,52 +231274,127 @@ function combineMissings(missings, featureAggregationStrategy) {
|
|
|
231178
231274
|
return null;
|
|
231179
231275
|
}
|
|
231180
231276
|
function Legend(props) {
|
|
231181
|
-
const {
|
|
231182
|
-
|
|
231277
|
+
const {
|
|
231278
|
+
visible: visibleProp,
|
|
231279
|
+
positionRelative = false,
|
|
231280
|
+
highContrast = false,
|
|
231281
|
+
obsType,
|
|
231282
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
231283
|
+
featureType: _featureType = void 0,
|
|
231284
|
+
// Unused but accepted for API compatibility
|
|
231285
|
+
featureValueType,
|
|
231286
|
+
considerSelections = true,
|
|
231287
|
+
obsColorEncoding,
|
|
231288
|
+
featureSelection,
|
|
231289
|
+
featureLabelsMap,
|
|
231290
|
+
featureValueColormap,
|
|
231291
|
+
featureValueColormapRange,
|
|
231292
|
+
setFeatureValueColormapRange,
|
|
231293
|
+
spatialChannelColor,
|
|
231294
|
+
spatialLayerColor,
|
|
231295
|
+
obsSetSelection,
|
|
231296
|
+
obsSetColor,
|
|
231297
|
+
featureAggregationStrategy,
|
|
231298
|
+
extent: extent2,
|
|
231299
|
+
missing,
|
|
231300
|
+
width: width2 = 100,
|
|
231301
|
+
height: height2 = 36,
|
|
231302
|
+
maxHeight: maxHeight2 = null,
|
|
231303
|
+
theme,
|
|
231304
|
+
showObsLabel = false,
|
|
231305
|
+
pointsVisible = true,
|
|
231306
|
+
contoursVisible = false,
|
|
231307
|
+
contoursFilled,
|
|
231308
|
+
contourPercentiles,
|
|
231309
|
+
contourThresholds
|
|
231310
|
+
} = props;
|
|
231311
|
+
const svgRef = useRef(null);
|
|
231183
231312
|
const { classes: classes2 } = useStyles$p();
|
|
231313
|
+
const [localRange, setLocalRange] = useState(featureValueColormapRange);
|
|
231314
|
+
useEffect(() => {
|
|
231315
|
+
setLocalRange(featureValueColormapRange);
|
|
231316
|
+
}, [featureValueColormapRange]);
|
|
231317
|
+
const debouncedSetRange = useMemo$1(() => setFeatureValueColormapRange ? debounce$5((value2) => {
|
|
231318
|
+
setFeatureValueColormapRange(value2);
|
|
231319
|
+
}, 5, { leading: false, trailing: true }) : null, [setFeatureValueColormapRange]);
|
|
231320
|
+
useEffect(() => () => {
|
|
231321
|
+
if (debouncedSetRange) {
|
|
231322
|
+
debouncedSetRange.cancel();
|
|
231323
|
+
}
|
|
231324
|
+
}, [debouncedSetRange]);
|
|
231325
|
+
const handleSliderChange = useCallback((_event, newValue) => {
|
|
231326
|
+
const rangeValue = newValue;
|
|
231327
|
+
setLocalRange(rangeValue);
|
|
231328
|
+
if (debouncedSetRange) {
|
|
231329
|
+
debouncedSetRange(rangeValue);
|
|
231330
|
+
}
|
|
231331
|
+
}, [debouncedSetRange]);
|
|
231184
231332
|
const isDarkTheme = theme === "dark";
|
|
231185
231333
|
const isStaticColor = obsColorEncoding === "spatialChannelColor" || obsColorEncoding === "spatialLayerColor";
|
|
231186
231334
|
const isSetColor = obsColorEncoding === "cellSetSelection";
|
|
231187
|
-
const layerColor = Array.isArray(spatialLayerColor) && spatialLayerColor.length === 3 ? spatialLayerColor : getDefaultColor(theme);
|
|
231188
|
-
const channelColor = Array.isArray(spatialChannelColor) && spatialChannelColor.length === 3 ? spatialChannelColor : getDefaultColor(theme);
|
|
231335
|
+
const layerColor = Array.isArray(spatialLayerColor) && spatialLayerColor.length === 3 ? spatialLayerColor : getDefaultColor(theme ?? "light");
|
|
231336
|
+
const channelColor = Array.isArray(spatialChannelColor) && spatialChannelColor.length === 3 ? spatialChannelColor : getDefaultColor(theme ?? "light");
|
|
231189
231337
|
const staticColor = obsColorEncoding === "spatialChannelColor" ? channelColor : layerColor;
|
|
231190
|
-
const visible = visibleProp && (!considerSelections || obsColorEncoding
|
|
231338
|
+
const visible = visibleProp && (!considerSelections || ["geneSelection", "geneExpression"].includes(obsColorEncoding ?? "") && featureSelection && Array.isArray(featureSelection) && featureSelection.length >= 1 || isSetColor && (obsSetSelection?.length ?? 0) > 0 && (obsSetColor?.length ?? 0) > 0 || isStaticColor);
|
|
231191
231339
|
const levelZeroNames = useMemo$1(() => Array.from(new Set(obsSetSelection?.map((setPath) => setPath[0]) || [])), [obsSetSelection]);
|
|
231192
|
-
const dynamicHeight = isSetColor && obsSetSelection ? levelZeroNames.length * titleHeight + obsSetSelection?.length * (rectHeight + rectMarginY) : height2 + (!pointsVisible && contoursVisible ? 25 : 0);
|
|
231340
|
+
const dynamicHeight = isSetColor && obsSetSelection ? levelZeroNames.length * titleHeight + (obsSetSelection?.length ?? 0) * (rectHeight + rectMarginY) : height2 + (!pointsVisible && contoursVisible ? 25 : 0);
|
|
231193
231341
|
const availHeight = maxHeight2 !== null ? Math.max(0, maxHeight2 - 4) : Infinity;
|
|
231194
231342
|
const needsScroll = Number.isFinite(availHeight) && dynamicHeight > availHeight + 1;
|
|
231195
231343
|
useEffect(() => {
|
|
231196
231344
|
const domElement = svgRef.current;
|
|
231345
|
+
if (!domElement)
|
|
231346
|
+
return;
|
|
231197
231347
|
const foregroundColor = highContrast ? "black" : isDarkTheme ? "white" : "black";
|
|
231198
231348
|
const svg2 = select$1(domElement);
|
|
231199
231349
|
svg2.selectAll("g").remove();
|
|
231200
231350
|
svg2.attr("width", width2).attr("height", dynamicHeight);
|
|
231201
231351
|
const g2 = svg2.append("g").attr("width", width2).attr("height", dynamicHeight);
|
|
231202
|
-
|
|
231203
|
-
|
|
231352
|
+
const showInteractiveSlider2 = setFeatureValueColormapRange && ["geneSelection", "geneExpression"].includes(obsColorEncoding ?? "") && pointsVisible && featureValueColormap;
|
|
231353
|
+
if (!considerSelections || ["geneSelection", "geneExpression"].includes(obsColorEncoding ?? "")) {
|
|
231354
|
+
const combinedExtent = combineExtents(extent2 ?? null, featureAggregationStrategy ?? null) || [0, 1];
|
|
231355
|
+
const [xMin, xMax] = combinedExtent;
|
|
231204
231356
|
if (featureValueColormap && pointsVisible) {
|
|
231205
|
-
const
|
|
231206
|
-
|
|
231207
|
-
const [rMin, rMax] =
|
|
231357
|
+
const xlinkHref2 = getXlinkHref(featureValueColormap);
|
|
231358
|
+
const currentRange = showInteractiveSlider2 ? localRange : featureValueColormapRange;
|
|
231359
|
+
const [rMin, rMax] = currentRange || [0, 1];
|
|
231360
|
+
if (showInteractiveSlider2) ;
|
|
231361
|
+
else if (setFeatureValueColormapRange) {
|
|
231362
|
+
g2.append("image").attr("x", rMin * width2).attr("y", titleHeight).attr("width", (rMax - rMin) * width2).attr("height", rectHeight).attr("preserveAspectRatio", "none").attr("href", xlinkHref2);
|
|
231363
|
+
} else {
|
|
231364
|
+
g2.append("image").attr("x", 0).attr("y", titleHeight).attr("width", width2).attr("height", rectHeight).attr("preserveAspectRatio", "none").attr("href", xlinkHref2);
|
|
231365
|
+
}
|
|
231208
231366
|
const scaledDataExtent = [
|
|
231209
231367
|
xMin + (xMax - xMin) * rMin,
|
|
231210
231368
|
xMax - (xMax - xMin) * (1 - rMax)
|
|
231211
231369
|
];
|
|
231212
|
-
|
|
231213
|
-
|
|
231214
|
-
|
|
231215
|
-
|
|
231216
|
-
|
|
231217
|
-
|
|
231370
|
+
let x2;
|
|
231371
|
+
if (setFeatureValueColormapRange || showInteractiveSlider2) {
|
|
231372
|
+
x2 = linear$1().domain(scaledDataExtent).range([rMin * width2, rMax * width2]);
|
|
231373
|
+
} else {
|
|
231374
|
+
x2 = linear$1().domain(scaledDataExtent).range([0, width2]);
|
|
231375
|
+
}
|
|
231376
|
+
if (showInteractiveSlider2) {
|
|
231377
|
+
const xGlobal = linear$1().domain([xMin, xMax]).range([0, width2 - 4]);
|
|
231378
|
+
const axisTicks2 = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight})`).style("font-size", "10px").call(axisBottom(xGlobal).tickValues([xMin, xMax]));
|
|
231379
|
+
axisTicks2.selectAll("line,path").style("stroke", foregroundColor);
|
|
231380
|
+
axisTicks2.selectAll("text").style("fill", foregroundColor);
|
|
231381
|
+
axisTicks2.selectAll("text").attr("text-anchor", (_d2, i2) => i2 === 0 ? "start" : "end");
|
|
231382
|
+
} else {
|
|
231383
|
+
const axisTicks2 = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight})`).style("font-size", "10px").call(axisBottom(x2).tickValues(scaledDataExtent));
|
|
231384
|
+
axisTicks2.selectAll("line,path").style("stroke", foregroundColor);
|
|
231385
|
+
axisTicks2.selectAll("text").style("fill", foregroundColor);
|
|
231386
|
+
axisTicks2.selectAll("text").attr("text-anchor", (_d2, i2) => i2 === 0 ? "start" : "end");
|
|
231387
|
+
}
|
|
231388
|
+
} else if (contoursVisible && contourPercentiles) {
|
|
231218
231389
|
const tSize = 12;
|
|
231219
231390
|
const xPercentile = linear$1().domain([0, 1]).range([tSize / 2, width2 - tSize / 2 - 2]);
|
|
231220
|
-
const axisTicks2 = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight + 15})`).style("font-size", "9px").call(axisBottom(xPercentile).tickValues(contourPercentiles).tickFormat(format$8(".0%")).tickSizeOuter(0));
|
|
231391
|
+
const axisTicks2 = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight + 15})`).style("font-size", "9px").call(axisBottom(xPercentile).tickValues(contourPercentiles).tickFormat((d) => format$8(".0%")(d)).tickSizeOuter(0));
|
|
231221
231392
|
axisTicks2.selectAll("line,path").style("stroke", foregroundColor);
|
|
231222
231393
|
axisTicks2.selectAll("text").style("fill", foregroundColor);
|
|
231223
231394
|
const NEIGHBOR_THRESHOLD = 18;
|
|
231224
|
-
const contourPercentages = contourPercentiles.map((
|
|
231395
|
+
const contourPercentages = contourPercentiles.map((p) => p * 100);
|
|
231225
231396
|
if (contourPercentages?.[1] - contourPercentages?.[0] <= NEIGHBOR_THRESHOLD || contourPercentages?.[2] - contourPercentages?.[1] <= NEIGHBOR_THRESHOLD) {
|
|
231226
|
-
axisTicks2.selectAll("text").attr("transform", (
|
|
231397
|
+
axisTicks2.selectAll("text").attr("transform", (_d2, i2) => `translate(0,${i2 === 0 || i2 === contourPercentiles.length - 1 ? 0 : 10})`);
|
|
231227
231398
|
}
|
|
231228
231399
|
const triangleGroupG = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight + 4})`);
|
|
231229
231400
|
contourPercentiles.forEach((p, i2) => {
|
|
@@ -231233,7 +231404,7 @@ function Legend(props) {
|
|
|
231233
231404
|
const thresholdGroupG = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight})`);
|
|
231234
231405
|
const thresholdFormatter = format$8(".0f");
|
|
231235
231406
|
contourPercentiles.forEach((p, i2) => {
|
|
231236
|
-
const contourThreshold = xMin + (xMax - xMin) * (contourThresholds?.[i2] / 255);
|
|
231407
|
+
const contourThreshold = xMin + (xMax - xMin) * ((contourThresholds?.[i2] ?? 0) / 255);
|
|
231237
231408
|
const thresholdG = thresholdGroupG.append("g").attr("transform", `translate(${xPercentile(p)},0)`).style("font-size", "7px");
|
|
231238
231409
|
thresholdG.append("text").text(thresholdFormatter(contourThreshold)).style("fill", foregroundColor).attr("text-anchor", "middle");
|
|
231239
231410
|
});
|
|
@@ -231256,9 +231427,9 @@ function Legend(props) {
|
|
|
231256
231427
|
g2.append("text").attr("text-anchor", "start").attr("dominant-baseline", "hanging").attr("x", 0).attr("y", y2).text(levelZeroName).style("font-size", "9px").style("fill", foregroundColor);
|
|
231257
231428
|
y2 += titleHeight;
|
|
231258
231429
|
setPaths.forEach((setPath) => {
|
|
231259
|
-
const setColor2 = obsSetColor?.find((d) => isEqual$3(d.path, setPath))?.color || getDefaultColor(theme);
|
|
231430
|
+
const setColor2 = obsSetColor?.find((d) => isEqual$3(d.path, setPath))?.color || getDefaultColor(theme ?? "light");
|
|
231260
231431
|
g2.append("rect").attr("x", 0).attr("y", y2).attr("width", rectHeight).attr("height", rectHeight).attr("fill", `rgb(${setColor2[0]},${setColor2[1]},${setColor2[2]})`);
|
|
231261
|
-
g2.append("text").attr("text-anchor", "start").attr("dominant-baseline", "hanging").attr("x", rectHeight + rectMarginX).attr("y", y2).text(setPath.at(-1)).style("font-size", "9px").style("fill", foregroundColor);
|
|
231432
|
+
g2.append("text").attr("text-anchor", "start").attr("dominant-baseline", "hanging").attr("x", rectHeight + rectMarginX).attr("y", y2).text(setPath.at(-1) ?? "").style("font-size", "9px").style("fill", foregroundColor);
|
|
231262
231433
|
y2 += rectHeight + rectMarginY;
|
|
231263
231434
|
});
|
|
231264
231435
|
});
|
|
@@ -231279,17 +231450,17 @@ function Legend(props) {
|
|
|
231279
231450
|
} else {
|
|
231280
231451
|
featureSelectionLabelRawStr = featureSelectionLabelRaw?.[0];
|
|
231281
231452
|
}
|
|
231282
|
-
const combinedMissing = combineMissings(missing, featureAggregationStrategy);
|
|
231453
|
+
const combinedMissing = combineMissings(missing ?? null, featureAggregationStrategy ?? null);
|
|
231283
231454
|
const featureSelectionLabel = combinedMissing ? `${featureSelectionLabelRawStr} (${Math.round(combinedMissing * 100)}% NaN)` : featureSelectionLabelRawStr;
|
|
231284
|
-
const obsLabel = capitalize$3(obsType);
|
|
231285
|
-
const featureLabel = considerSelections ? featureSelectionLabel || capitalize$3(featureValueType) : capitalize$3(featureValueType);
|
|
231455
|
+
const obsLabel = capitalize$3(obsType ?? null);
|
|
231456
|
+
const featureLabel = considerSelections ? featureSelectionLabel || capitalize$3(featureValueType ?? null) : capitalize$3(featureValueType ?? null);
|
|
231286
231457
|
const mainLabel = showObsLabel ? obsLabel : featureLabel;
|
|
231287
231458
|
const subLabel = showObsLabel ? featureLabel : null;
|
|
231288
231459
|
const hasSubLabel = subLabel !== null;
|
|
231289
231460
|
if (!isSetColor) {
|
|
231290
|
-
g2.append("text").attr("text-anchor", hasSubLabel ? "start" : "end").attr("dominant-baseline", "hanging").attr("x", hasSubLabel ? 0 : width2).attr("y", 0).text(mainLabel).style("font-size", "10px").style("fill", foregroundColor);
|
|
231461
|
+
g2.append("text").attr("text-anchor", hasSubLabel ? "start" : "end").attr("dominant-baseline", "hanging").attr("x", hasSubLabel ? 0 : width2 - 4).attr("y", 0).text(mainLabel ?? "").style("font-size", "10px").style("fill", foregroundColor);
|
|
231291
231462
|
if (hasSubLabel) {
|
|
231292
|
-
g2.append("text").attr("text-anchor", "end").attr("dominant-baseline", "hanging").attr("x", width2).attr("y", titleHeight).text(subLabel).style("font-size", "9px").style("fill", foregroundColor);
|
|
231463
|
+
g2.append("text").attr("text-anchor", "end").attr("dominant-baseline", "hanging").attr("x", width2).attr("y", titleHeight + rectHeight).text(subLabel ?? "").style("font-size", "9px").style("fill", foregroundColor);
|
|
231293
231464
|
}
|
|
231294
231465
|
}
|
|
231295
231466
|
}, [
|
|
@@ -231297,6 +231468,7 @@ function Legend(props) {
|
|
|
231297
231468
|
height2,
|
|
231298
231469
|
featureValueColormap,
|
|
231299
231470
|
featureValueColormapRange,
|
|
231471
|
+
localRange,
|
|
231300
231472
|
considerSelections,
|
|
231301
231473
|
obsType,
|
|
231302
231474
|
obsColorEncoding,
|
|
@@ -231315,20 +231487,63 @@ function Legend(props) {
|
|
|
231315
231487
|
contoursFilled,
|
|
231316
231488
|
contoursVisible,
|
|
231317
231489
|
pointsVisible,
|
|
231318
|
-
featureAggregationStrategy
|
|
231490
|
+
featureAggregationStrategy,
|
|
231491
|
+
setFeatureValueColormapRange,
|
|
231492
|
+
dynamicHeight,
|
|
231493
|
+
highContrast,
|
|
231494
|
+
isStaticColor,
|
|
231495
|
+
missing,
|
|
231496
|
+
showObsLabel,
|
|
231497
|
+
staticColor
|
|
231319
231498
|
]);
|
|
231320
|
-
|
|
231499
|
+
const showInteractiveSlider = setFeatureValueColormapRange && ["geneSelection", "geneExpression"].includes(obsColorEncoding ?? "") && pointsVisible && featureValueColormap;
|
|
231500
|
+
const globalExtent = useMemo$1(() => {
|
|
231501
|
+
const combined = combineExtents(extent2 ?? null, featureAggregationStrategy ?? null);
|
|
231502
|
+
return combined || [0, 1];
|
|
231503
|
+
}, [extent2, featureAggregationStrategy]);
|
|
231504
|
+
const formatSliderValue = useCallback((value2) => {
|
|
231505
|
+
const [xMin, xMax] = globalExtent;
|
|
231506
|
+
const dataValue = xMin + (xMax - xMin) * value2;
|
|
231507
|
+
const range2 = xMax - xMin;
|
|
231508
|
+
if (range2 < 0.01) {
|
|
231509
|
+
return dataValue.toExponential(2);
|
|
231510
|
+
}
|
|
231511
|
+
if (range2 < 1) {
|
|
231512
|
+
return dataValue.toFixed(3);
|
|
231513
|
+
}
|
|
231514
|
+
if (range2 < 100) {
|
|
231515
|
+
return dataValue.toFixed(1);
|
|
231516
|
+
}
|
|
231517
|
+
return Math.round(dataValue).toString();
|
|
231518
|
+
}, [globalExtent]);
|
|
231519
|
+
const xlinkHref = featureValueColormap ? getXlinkHref(featureValueColormap) : null;
|
|
231520
|
+
const currentLocalRange = localRange || [0, 1];
|
|
231521
|
+
return jsxRuntimeExports.jsxs("div", { className: clsx(classes2.legend, {
|
|
231321
231522
|
[classes2.legendRelative]: positionRelative,
|
|
231322
231523
|
[classes2.legendAbsolute]: !positionRelative,
|
|
231323
231524
|
[classes2.legendHighContrast]: highContrast,
|
|
231324
231525
|
[classes2.legendLowContrast]: !highContrast,
|
|
231325
231526
|
[classes2.legendInvisible]: !visible
|
|
231326
231527
|
}), style: {
|
|
231327
|
-
...needsScroll ? { maxHeight: `${Math.floor(availHeight)}px`, overflowY: "auto" } : { maxHeight: void 0, overflowY: "visible" }
|
|
231328
|
-
|
|
231528
|
+
...needsScroll ? { maxHeight: `${Math.floor(availHeight)}px`, overflowY: "auto" } : { maxHeight: void 0, overflowY: "visible" },
|
|
231529
|
+
width: `${width2}px`
|
|
231530
|
+
}, children: [jsxRuntimeExports.jsx("svg", { ref: svgRef, style: {
|
|
231329
231531
|
width: `${width2}px`,
|
|
231330
231532
|
height: `${dynamicHeight}px`
|
|
231331
|
-
} })
|
|
231533
|
+
} }), showInteractiveSlider && xlinkHref && jsxRuntimeExports.jsxs("div", { className: classes2.sliderContainer, children: [currentLocalRange[0] > 0 && jsxRuntimeExports.jsx("div", { className: classes2.grayTrack, style: {
|
|
231534
|
+
left: 0,
|
|
231535
|
+
width: `${currentLocalRange[0] * 100}%`
|
|
231536
|
+
} }), currentLocalRange[1] < 1 && jsxRuntimeExports.jsx("div", { className: classes2.grayTrack, style: {
|
|
231537
|
+
left: `${currentLocalRange[1] * 100}%`,
|
|
231538
|
+
width: `${(1 - currentLocalRange[1]) * 100}%`
|
|
231539
|
+
} }), jsxRuntimeExports.jsx("img", { src: xlinkHref, alt: "Colormap gradient", className: classes2.colormapImage, style: {
|
|
231540
|
+
left: `${currentLocalRange[0] * 100}%`,
|
|
231541
|
+
width: `${(currentLocalRange[1] - currentLocalRange[0]) * 100}%`
|
|
231542
|
+
} }), jsxRuntimeExports.jsx(Slider, { className: classes2.sliderRoot, value: currentLocalRange, onChange: handleSliderChange, min: 0, max: 1, step: 0.01, disableSwap: true, valueLabelDisplay: "auto", valueLabelFormat: formatSliderValue, "aria-label": "Colormap range", getAriaLabel: (index2) => index2 === 0 ? "Colormap minimum" : "Colormap maximum", getAriaValueText: (value2) => formatSliderValue(value2), slotProps: {
|
|
231543
|
+
thumb: {
|
|
231544
|
+
className: classes2.sliderThumb
|
|
231545
|
+
}
|
|
231546
|
+
} })] })] });
|
|
231332
231547
|
}
|
|
231333
231548
|
const useStyles$o = makeStyles()(() => ({
|
|
231334
231549
|
multiLegend: {
|
|
@@ -231361,8 +231576,12 @@ function MultiLegend(props) {
|
|
|
231361
231576
|
const reversedSpotLayerScopes = useMemo$1(() => [...spotLayerScopes || []].reverse(), [spotLayerScopes]);
|
|
231362
231577
|
const reversedPointLayerScopes = useMemo$1(() => [...pointLayerScopes || []].reverse(), [pointLayerScopes]);
|
|
231363
231578
|
return jsxRuntimeExports.jsxs("div", { className: classes2.multiLegend, children: [pointLayerScopes ? reversedPointLayerScopes.flatMap((layerScope) => {
|
|
231364
|
-
const layerCoordination = pointLayerCoordination[0][layerScope];
|
|
231365
|
-
const
|
|
231579
|
+
const layerCoordination = pointLayerCoordination?.[0]?.[layerScope];
|
|
231580
|
+
const layerSetters = pointLayerCoordination?.[1]?.[layerScope];
|
|
231581
|
+
if (!layerCoordination)
|
|
231582
|
+
return null;
|
|
231583
|
+
const { spatialLayerVisible, obsColorEncoding, obsType, featureType, featureValueType, featureSelection, featureValueColormap, featureValueColormapRange, spatialLayerColor, legendVisible } = layerCoordination;
|
|
231584
|
+
const { setFeatureValueColormapRange } = layerSetters || {};
|
|
231366
231585
|
const isStaticColor = obsColorEncoding === "spatialLayerColor";
|
|
231367
231586
|
const height2 = isStaticColor ? 20 : 36;
|
|
231368
231587
|
return spatialLayerVisible && legendVisible ? jsxRuntimeExports.jsx(Legend, {
|
|
@@ -231377,30 +231596,39 @@ function MultiLegend(props) {
|
|
|
231377
231596
|
featureValueType,
|
|
231378
231597
|
obsColorEncoding,
|
|
231379
231598
|
spatialLayerColor,
|
|
231380
|
-
featureSelection
|
|
231599
|
+
featureSelection,
|
|
231381
231600
|
// featureLabelsMap={featureLabelsMap} // TODO
|
|
231382
|
-
featureValueColormap: "viridis",
|
|
231383
|
-
featureValueColormapRange: [0, 1],
|
|
231601
|
+
featureValueColormap: featureValueColormap || "viridis",
|
|
231602
|
+
featureValueColormapRange: featureValueColormapRange || [0, 1],
|
|
231603
|
+
setFeatureValueColormapRange,
|
|
231384
231604
|
extent: null,
|
|
231385
231605
|
height: height2
|
|
231386
231606
|
}, layerScope) : null;
|
|
231387
231607
|
}) : null, spotLayerScopes ? reversedSpotLayerScopes.flatMap((layerScope) => {
|
|
231388
|
-
const layerCoordination = spotLayerCoordination[0][layerScope];
|
|
231608
|
+
const layerCoordination = spotLayerCoordination?.[0][layerScope];
|
|
231609
|
+
const layerSetters = spotLayerCoordination?.[1]?.[layerScope];
|
|
231610
|
+
if (!layerCoordination)
|
|
231611
|
+
return null;
|
|
231389
231612
|
const { spatialLayerVisible, obsColorEncoding, featureValueColormap, featureValueColormapRange, obsType, featureType, featureValueType, featureSelection, featureAggregationStrategy, spatialLayerColor, legendVisible, obsSetSelection, obsSetColor } = layerCoordination;
|
|
231613
|
+
const { setFeatureValueColormapRange } = layerSetters || {};
|
|
231390
231614
|
const expressionExtents = spotMultiExpressionExtents?.[layerScope];
|
|
231391
231615
|
const firstExpressionExtent = expressionExtents?.[0];
|
|
231392
231616
|
const isStaticColor = obsColorEncoding === "spatialLayerColor";
|
|
231393
231617
|
const height2 = isStaticColor ? 20 : 36;
|
|
231394
231618
|
const featureLabelsMap = spotMultiFeatureLabels?.[layerScope]?.featureLabelsMap;
|
|
231395
|
-
return spatialLayerVisible && legendVisible ? jsxRuntimeExports.jsx(Legend, { maxHeight: maxHeight2, positionRelative: true, highContrast: true, showObsLabel: true, visible: spatialLayerVisible, theme, obsType, featureType, featureValueType, obsColorEncoding, spatialLayerColor, featureSelection, featureAggregationStrategy, featureLabelsMap, featureValueColormap, featureValueColormapRange, extent: firstExpressionExtent, height: height2, obsSetSelection, obsSetColor }, layerScope) : null;
|
|
231619
|
+
return spatialLayerVisible && legendVisible ? jsxRuntimeExports.jsx(Legend, { maxHeight: maxHeight2, positionRelative: true, highContrast: true, showObsLabel: true, visible: spatialLayerVisible, theme, obsType, featureType, featureValueType, obsColorEncoding, spatialLayerColor, featureSelection, featureAggregationStrategy, featureLabelsMap, featureValueColormap, featureValueColormapRange, setFeatureValueColormapRange, extent: firstExpressionExtent, height: height2, obsSetSelection, obsSetColor }, layerScope) : null;
|
|
231396
231620
|
}) : null, segmentationLayerScopes ? reversedSegmentationLayerScopes.flatMap((layerScope) => {
|
|
231397
|
-
const layerCoordination = segmentationLayerCoordination[0][layerScope];
|
|
231398
|
-
const channelScopes = segmentationChannelScopesByLayer[layerScope];
|
|
231399
|
-
const channelCoordination = segmentationChannelCoordination[0][layerScope];
|
|
231621
|
+
const layerCoordination = segmentationLayerCoordination?.[0][layerScope];
|
|
231622
|
+
const channelScopes = segmentationChannelScopesByLayer?.[layerScope];
|
|
231623
|
+
const channelCoordination = segmentationChannelCoordination?.[0][layerScope];
|
|
231624
|
+
const channelSetters = segmentationChannelCoordination?.[1]?.[layerScope];
|
|
231625
|
+
if (!layerCoordination)
|
|
231626
|
+
return null;
|
|
231400
231627
|
const { spatialLayerVisible } = layerCoordination;
|
|
231401
231628
|
const reversedChannelScopes = [...channelScopes || []].reverse();
|
|
231402
231629
|
return channelCoordination && channelScopes ? reversedChannelScopes.map((cScope) => {
|
|
231403
231630
|
const { spatialChannelVisible, spatialChannelColor, obsColorEncoding, featureValueColormap, featureValueColormapRange, obsType, featureType, featureValueType, featureSelection, featureAggregationStrategy, legendVisible, obsSetSelection, obsSetColor } = channelCoordination[cScope];
|
|
231631
|
+
const { setFeatureValueColormapRange } = channelSetters?.[cScope] || {};
|
|
231404
231632
|
const expressionExtents = segmentationMultiExpressionExtents?.[layerScope]?.[cScope];
|
|
231405
231633
|
const firstExpressionExtent = expressionExtents?.[0];
|
|
231406
231634
|
const isStaticColor = obsColorEncoding === "spatialChannelColor";
|
|
@@ -231421,6 +231649,7 @@ function MultiLegend(props) {
|
|
|
231421
231649
|
// featureLabelsMap={featureLabelsMap} // TODO
|
|
231422
231650
|
featureValueColormap,
|
|
231423
231651
|
featureValueColormapRange,
|
|
231652
|
+
setFeatureValueColormapRange,
|
|
231424
231653
|
extent: firstExpressionExtent,
|
|
231425
231654
|
height: height2,
|
|
231426
231655
|
spatialChannelColor,
|
|
@@ -231470,7 +231699,7 @@ function ChannelNamesLegend(props) {
|
|
|
231470
231699
|
const imageWrapperInstance = images?.[layerScope]?.image?.instance;
|
|
231471
231700
|
const channelNames = imageWrapperInstance?.getChannelNames();
|
|
231472
231701
|
const channelIndex = imageWrapperInstance?.getChannelIndex(spatialTargetC);
|
|
231473
|
-
const channelName = channelNames?.[channelIndex];
|
|
231702
|
+
const channelName = channelIndex !== void 0 ? channelNames?.[channelIndex] : void 0;
|
|
231474
231703
|
return spatialLayerVisible && spatialChannelVisible && spatialChannelLabelsVisible ? jsxRuntimeExports.jsx(Typography, { variant: "h6", className: classes2.channelNameText, style: {
|
|
231475
231704
|
color: rgbColor,
|
|
231476
231705
|
fontSize: `${spatialChannelLabelSize}px`
|
|
@@ -231629,7 +231858,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
231629
231858
|
}, [obsEmbedding]);
|
|
231630
231859
|
useEffect(() => {
|
|
231631
231860
|
if (xRange && yRange && width2 && height2) {
|
|
231632
|
-
const pointSizeDevicePixels = getPointSizeDevicePixels(window.devicePixelRatio, zoom2, xRange, yRange, width2, height2);
|
|
231861
|
+
const pointSizeDevicePixels = getPointSizeDevicePixels(window.devicePixelRatio, zoom2, xRange, yRange, width2, height2, numCells);
|
|
231633
231862
|
setDynamicCellRadius(pointSizeDevicePixels);
|
|
231634
231863
|
const nextCellOpacityScale = getPointOpacity(zoom2, xRange, yRange, width2, height2, numCells, averageFillDensity);
|
|
231635
231864
|
setDynamicCellOpacity(nextCellOpacityScale);
|
|
@@ -231837,6 +232066,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
231837
232066
|
featureLabelsMap,
|
|
231838
232067
|
featureValueColormap: geneExpressionColormap,
|
|
231839
232068
|
featureValueColormapRange: geneExpressionColormapRange,
|
|
232069
|
+
setFeatureValueColormapRange: setGeneExpressionColormapRange,
|
|
231840
232070
|
obsSetSelection: cellSetSelection,
|
|
231841
232071
|
extent: expressionExtents,
|
|
231842
232072
|
missing: expressionMissing,
|
|
@@ -232064,7 +232294,7 @@ function GatingSubscriber(props) {
|
|
|
232064
232294
|
}, [obsXY]);
|
|
232065
232295
|
useEffect(() => {
|
|
232066
232296
|
if (xRange && yRange) {
|
|
232067
|
-
const pointSizeDevicePixels = getPointSizeDevicePixels(window.devicePixelRatio, zoom2, xRange, yRange, width2, height2);
|
|
232297
|
+
const pointSizeDevicePixels = getPointSizeDevicePixels(window.devicePixelRatio, zoom2, xRange, yRange, width2, height2, numCells);
|
|
232068
232298
|
setDynamicCellRadius(pointSizeDevicePixels);
|
|
232069
232299
|
const nextCellOpacityScale = getPointOpacity(zoom2, xRange, yRange, width2, height2, numCells, averageFillDensity);
|
|
232070
232300
|
setDynamicCellOpacity(nextCellOpacityScale);
|
|
@@ -246730,7 +246960,7 @@ var equalScalar = /* @__PURE__ */ createEqualScalar({
|
|
|
246730
246960
|
config: config$2,
|
|
246731
246961
|
typed
|
|
246732
246962
|
});
|
|
246733
|
-
var number$
|
|
246963
|
+
var number$4 = /* @__PURE__ */ createNumber({
|
|
246734
246964
|
typed
|
|
246735
246965
|
});
|
|
246736
246966
|
var multiplyScalar = /* @__PURE__ */ createMultiplyScalar({
|
|
@@ -246847,7 +247077,7 @@ var pow$4 = /* @__PURE__ */ createPow({
|
|
|
246847
247077
|
identity: identity$4,
|
|
246848
247078
|
matrix,
|
|
246849
247079
|
multiply,
|
|
246850
|
-
number: number$
|
|
247080
|
+
number: number$4,
|
|
246851
247081
|
typed
|
|
246852
247082
|
});
|
|
246853
247083
|
var bignumber = /* @__PURE__ */ createBignumber({
|
|
@@ -246857,7 +247087,7 @@ var bignumber = /* @__PURE__ */ createBignumber({
|
|
|
246857
247087
|
var numeric$1 = /* @__PURE__ */ createNumeric({
|
|
246858
247088
|
bignumber,
|
|
246859
247089
|
fraction,
|
|
246860
|
-
number: number$
|
|
247090
|
+
number: number$4
|
|
246861
247091
|
});
|
|
246862
247092
|
var subtract = /* @__PURE__ */ createSubtract({
|
|
246863
247093
|
DenseMatrix,
|
|
@@ -246951,7 +247181,7 @@ var Unit = /* @__PURE__ */ createUnitClass({
|
|
|
246951
247181
|
format: format$4,
|
|
246952
247182
|
isNumeric: isNumeric$1,
|
|
246953
247183
|
multiplyScalar,
|
|
246954
|
-
number: number$
|
|
247184
|
+
number: number$4,
|
|
246955
247185
|
pow: pow$4,
|
|
246956
247186
|
round,
|
|
246957
247187
|
subtract
|
|
@@ -248582,7 +248812,7 @@ let Array$2 = class Array2 extends (_a$5 = Location$1, _a$5) {
|
|
|
248582
248812
|
return is_dtype$1(this.dtype, query);
|
|
248583
248813
|
}
|
|
248584
248814
|
};
|
|
248585
|
-
function* range$
|
|
248815
|
+
function* range$7(start2, stop3, step = 1) {
|
|
248586
248816
|
if (stop3 === void 0) {
|
|
248587
248817
|
stop3 = start2;
|
|
248588
248818
|
start2 = 0;
|
|
@@ -248726,7 +248956,7 @@ let SliceDimIndexer$1 = class SliceDimIndexer {
|
|
|
248726
248956
|
*[Symbol.iterator]() {
|
|
248727
248957
|
const dim_chunk_ix_from = Math.floor(this.start / this.dim_chunk_len);
|
|
248728
248958
|
const dim_chunk_ix_to = Math.ceil(this.stop / this.dim_chunk_len);
|
|
248729
|
-
for (const dim_chunk_ix of range$
|
|
248959
|
+
for (const dim_chunk_ix of range$7(dim_chunk_ix_from, dim_chunk_ix_to)) {
|
|
248730
248960
|
const dim_offset = dim_chunk_ix * this.dim_chunk_len;
|
|
248731
248961
|
const dim_limit = Math.min(this.dim_len, (dim_chunk_ix + 1) * this.dim_chunk_len);
|
|
248732
248962
|
const dim_chunk_len = dim_limit - dim_offset;
|
|
@@ -250091,7 +250321,7 @@ function parseV1(spec, renderString) {
|
|
|
250091
250321
|
function* iterDims(dimensions) {
|
|
250092
250322
|
const keys2 = Object.keys(dimensions);
|
|
250093
250323
|
const iterables = Object.values(dimensions).map(
|
|
250094
|
-
(i2) => Array.isArray(i2) ? i2 : [...range$
|
|
250324
|
+
(i2) => Array.isArray(i2) ? i2 : [...range$6(i2)]
|
|
250095
250325
|
);
|
|
250096
250326
|
for (const values3 of product$1(...iterables)) {
|
|
250097
250327
|
yield Object.fromEntries(keys2.map((key2, i2) => [key2, values3[i2]]));
|
|
@@ -250120,7 +250350,7 @@ function* product$1(...iterables) {
|
|
|
250120
250350
|
results[i2] = iterators[i2].next();
|
|
250121
250351
|
}
|
|
250122
250352
|
}
|
|
250123
|
-
function* range$
|
|
250353
|
+
function* range$6({ stop: stop3, start: start2 = 0, step = 1 }) {
|
|
250124
250354
|
for (let i2 = start2; i2 < stop3; i2 += step) {
|
|
250125
250355
|
yield i2;
|
|
250126
250356
|
}
|
|
@@ -251558,6 +251788,7 @@ function SpatialSubscriber$1(props) {
|
|
|
251558
251788
|
featureLabelsMap,
|
|
251559
251789
|
featureValueColormap: geneExpressionColormap,
|
|
251560
251790
|
featureValueColormapRange: geneExpressionColormapRange,
|
|
251791
|
+
setFeatureValueColormapRange: setGeneExpressionColormapRange,
|
|
251561
251792
|
extent: expressionExtents?.[0]
|
|
251562
251793
|
})] });
|
|
251563
251794
|
}
|
|
@@ -252936,12 +253167,12 @@ class ErrorBoundary extends React__default.Component {
|
|
|
252936
253167
|
}
|
|
252937
253168
|
}
|
|
252938
253169
|
const LazySpatialThree = React__default.lazy(async () => {
|
|
252939
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
253170
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-C07z-9Ag.js");
|
|
252940
253171
|
return { default: SpatialWrapper2 };
|
|
252941
253172
|
});
|
|
252942
253173
|
const SpatialThreeAdapter = React__default.forwardRef((props, ref2) => jsxRuntimeExports.jsx("div", { ref: ref2, style: { width: "100%", height: "100%" }, children: jsxRuntimeExports.jsx(ErrorBoundary, { children: jsxRuntimeExports.jsx(Suspense, { fallback: jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: jsxRuntimeExports.jsx(LazySpatialThree, { ...props }) }) }) }));
|
|
252943
253174
|
const LazySpatialAccelerated = React__default.lazy(async () => {
|
|
252944
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
253175
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-sdWGixZi.js");
|
|
252945
253176
|
return { default: SpatialWrapper2 };
|
|
252946
253177
|
});
|
|
252947
253178
|
const SpatialAcceleratedAdapter = React__default.forwardRef((props, ref2) => jsxRuntimeExports.jsx("div", { ref: ref2, style: { width: "100%", height: "100%" }, children: jsxRuntimeExports.jsx(ErrorBoundary, { children: jsxRuntimeExports.jsx(Suspense, { fallback: jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: jsxRuntimeExports.jsx(LazySpatialAccelerated, { ...props }) }) }) }));
|
|
@@ -253819,7 +254050,7 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
253819
254050
|
}
|
|
253820
254051
|
const curr = backlog[backlog.length - 1];
|
|
253821
254052
|
if (dataRef.current && dataRef.current.buffer.byteLength && expressionRowLookUp.size > 0 && !shouldUsePaddedImplementation(dataRef.current.length)) {
|
|
253822
|
-
const promises = range$
|
|
254053
|
+
const promises = range$e(yTiles).map((i2) => range$e(xTiles).map(async (j) => workerPool.process({
|
|
253823
254054
|
curr,
|
|
253824
254055
|
tileI: i2,
|
|
253825
254056
|
tileJ: j,
|
|
@@ -253928,7 +254159,7 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
253928
254159
|
});
|
|
253929
254160
|
};
|
|
253930
254161
|
const cellOrdering = transpose2 ? axisTopLabels : axisLeftLabels;
|
|
253931
|
-
const layers3 = range$
|
|
254162
|
+
const layers3 = range$e(yTiles * xTiles).map((index2) => getLayer2(Math.floor(index2 / xTiles), index2 % xTiles));
|
|
253932
254163
|
return layers3;
|
|
253933
254164
|
}
|
|
253934
254165
|
function getLayer(i2, j, tile) {
|
|
@@ -254080,10 +254311,10 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
254080
254311
|
const cellOrdering = transpose2 ? axisTopLabels : axisLeftLabels;
|
|
254081
254312
|
const colorBarTileWidthPx = transpose2 ? TILE_SIZE : 1;
|
|
254082
254313
|
const colorBarTileHeightPx = transpose2 ? 1 : TILE_SIZE;
|
|
254083
|
-
const result = range$
|
|
254084
|
-
const trackResult = range$
|
|
254314
|
+
const result = range$e(numCellColorTracks).map((track) => {
|
|
254315
|
+
const trackResult = range$e(transpose2 ? xTiles : yTiles).map((i2) => {
|
|
254085
254316
|
const tileData = new Uint8ClampedArray(TILE_SIZE * 1 * 4);
|
|
254086
|
-
range$
|
|
254317
|
+
range$e(TILE_SIZE).forEach((tileY) => {
|
|
254087
254318
|
rowI = i2 * TILE_SIZE + tileY;
|
|
254088
254319
|
if (rowI < cellOrdering.length) {
|
|
254089
254320
|
cellId = cellOrdering[rowI];
|
|
@@ -254213,7 +254444,7 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
254213
254444
|
}
|
|
254214
254445
|
}
|
|
254215
254446
|
const cellColorsViews = useMemo$1(() => {
|
|
254216
|
-
const result = range$
|
|
254447
|
+
const result = range$e(numCellColorTracks).map((track) => {
|
|
254217
254448
|
let view;
|
|
254218
254449
|
if (transpose2) {
|
|
254219
254450
|
view = new OrthographicView({
|
|
@@ -254439,7 +254670,7 @@ function HeatmapSubscriber(props) {
|
|
|
254439
254670
|
setTargetY(target2[1]);
|
|
254440
254671
|
}, colormapRange: geneExpressionColormapRange, setColormapRange: setGeneExpressionColormapRange, height: height2, width: width2, theme, uuid: uuid2, uint8ObsFeatureMatrix: uint8ObsFeatureMatrix?.data, cellColors, colormap: geneExpressionColormap, setIsRendering, setCellHighlight, setGeneHighlight, featureLabelsMap, obsIndex, featureIndex, setTrackHighlight, setComponentHover: () => {
|
|
254441
254672
|
setComponentHover(uuid2);
|
|
254442
|
-
}, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid2, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
|
|
254673
|
+
}, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid2, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, setFeatureValueColormapRange: setGeneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
|
|
254443
254674
|
}
|
|
254444
254675
|
function _classCallCheck(a2, n3) {
|
|
254445
254676
|
if (!(a2 instanceof n3)) throw new TypeError("Cannot call a class as a function");
|
|
@@ -261631,7 +261862,7 @@ function LayerOptions({ colormap, opacity: opacity2, handleColormapChange, handl
|
|
|
261631
261862
|
const domainSelectorId = $bdb11010cef70236$export$f680877a34711e37();
|
|
261632
261863
|
const opacitySliderId = $bdb11010cef70236$export$f680877a34711e37();
|
|
261633
261864
|
const zeroTransparentId = $bdb11010cef70236$export$f680877a34711e37();
|
|
261634
|
-
return jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "column", sx: { width: "100%" }, children: [hasZStack && !disable3d && hasViewableResolutions && jsxRuntimeExports.jsx(VolumeDropdown, { loader: loader2, handleSliderChange, handleDomainChange, channels: channels2, handleMultiPropertyChange, resolution, disable3d, setRasterLayerCallback, setAreAllChannelsLoading, setViewState, spatialHeight, spatialWidth, use3d, modelMatrix: modelMatrix2 }), hasDimensionsAndChannels && !use3d && globalControlLabels.map((field2) => shape2[labels2.indexOf(field2)] > 1 && jsxRuntimeExports.jsx(LayerOption, { name: field2, inputId: `${field2}-${globalSelectionSliderId}`, children: jsxRuntimeExports.jsx(GlobalSelectionSlider, { field: field2, inputId: `${field2}-${globalSelectionSliderId}`, value: globalLabelValues[field2], handleChange: handleGlobalChannelsSelectionChange, possibleValues: range$
|
|
261865
|
+
return jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "column", sx: { width: "100%" }, children: [hasZStack && !disable3d && hasViewableResolutions && jsxRuntimeExports.jsx(VolumeDropdown, { loader: loader2, handleSliderChange, handleDomainChange, channels: channels2, handleMultiPropertyChange, resolution, disable3d, setRasterLayerCallback, setAreAllChannelsLoading, setViewState, spatialHeight, spatialWidth, use3d, modelMatrix: modelMatrix2 }), hasDimensionsAndChannels && !use3d && globalControlLabels.map((field2) => shape2[labels2.indexOf(field2)] > 1 && jsxRuntimeExports.jsx(LayerOption, { name: field2, inputId: `${field2}-${globalSelectionSliderId}`, children: jsxRuntimeExports.jsx(GlobalSelectionSlider, { field: field2, inputId: `${field2}-${globalSelectionSliderId}`, value: globalLabelValues[field2], handleChange: handleGlobalChannelsSelectionChange, possibleValues: range$e(shape2[labels2.indexOf(field2)]) }) }, field2)), !disableChannelsIfRgbDetected ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [shouldShowColormap && jsxRuntimeExports.jsx(Grid$1, { children: jsxRuntimeExports.jsx(LayerOption, { name: "Colormap", inputId: colormapSelectId, children: jsxRuntimeExports.jsx(ColormapSelect, { value: colormap || "", inputId: colormapSelectId, handleChange: handleColormapChange }) }) }), shouldShowDomain && jsxRuntimeExports.jsx(Grid$1, { children: jsxRuntimeExports.jsx(LayerOption, { name: "Domain", inputId: domainSelectorId, children: jsxRuntimeExports.jsx(SliderDomainSelector, { value: domainType || DEFAULT_RASTER_DOMAIN_TYPE, inputId: domainSelectorId, handleChange: (value2) => {
|
|
261635
261866
|
handleDomainChange(value2);
|
|
261636
261867
|
} }) }) })] }) : null, !use3d && jsxRuntimeExports.jsx(Grid$1, { children: jsxRuntimeExports.jsx(LayerOption, { name: "Opacity", inputId: opacitySliderId, children: jsxRuntimeExports.jsx(OpacitySlider, { value: opacity2, handleChange: handleOpacityChange, inputId: opacitySliderId }) }) }), shouldShowTransparentColor && !use3d && jsxRuntimeExports.jsx(Grid$1, { children: jsxRuntimeExports.jsx(LayerOption, { name: "Zero Transparent", inputId: zeroTransparentId, children: jsxRuntimeExports.jsx(TransparentColorCheckbox, { value: transparentColor, handleChange: handleTransparentColorChange, inputId: zeroTransparentId }) }) })] });
|
|
261637
261868
|
}
|
|
@@ -265477,7 +265708,7 @@ async function open(location, options = {}) {
|
|
|
265477
265708
|
}
|
|
265478
265709
|
open.v2 = open_v2;
|
|
265479
265710
|
open.v3 = open_v3;
|
|
265480
|
-
function* range$
|
|
265711
|
+
function* range$5(start2, stop3, step = 1) {
|
|
265481
265712
|
if (stop3 === void 0) {
|
|
265482
265713
|
stop3 = start2;
|
|
265483
265714
|
start2 = 0;
|
|
@@ -265621,7 +265852,7 @@ class SliceDimIndexer2 {
|
|
|
265621
265852
|
*[Symbol.iterator]() {
|
|
265622
265853
|
const dim_chunk_ix_from = Math.floor(this.start / this.dim_chunk_len);
|
|
265623
265854
|
const dim_chunk_ix_to = Math.ceil(this.stop / this.dim_chunk_len);
|
|
265624
|
-
for (const dim_chunk_ix of range$
|
|
265855
|
+
for (const dim_chunk_ix of range$5(dim_chunk_ix_from, dim_chunk_ix_to)) {
|
|
265625
265856
|
const dim_offset = dim_chunk_ix * this.dim_chunk_len;
|
|
265626
265857
|
const dim_limit = Math.min(this.dim_len, (dim_chunk_ix + 1) * this.dim_chunk_len);
|
|
265627
265858
|
const dim_chunk_len = dim_limit - dim_offset;
|
|
@@ -266077,7 +266308,7 @@ function HiglassGlobalStyles(props) {
|
|
|
266077
266308
|
}
|
|
266078
266309
|
register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
|
|
266079
266310
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
|
266080
|
-
const { HiGlassComponent } = await import("./higlass-
|
|
266311
|
+
const { HiGlassComponent } = await import("./higlass-BWjoRZ_l.js");
|
|
266081
266312
|
return { default: HiGlassComponent };
|
|
266082
266313
|
});
|
|
266083
266314
|
const HG_SIZE = 800;
|
|
@@ -269024,7 +269255,7 @@ function NeuroglancerGlobalStyles(props) {
|
|
|
269024
269255
|
const { classes: classes2 } = props;
|
|
269025
269256
|
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
|
|
269026
269257
|
}
|
|
269027
|
-
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-
|
|
269258
|
+
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-D662gKgy.js"));
|
|
269028
269259
|
function createWorker() {
|
|
269029
269260
|
return new WorkerFactory();
|
|
269030
269261
|
}
|
|
@@ -299293,68 +299524,6 @@ function toSet$1(_) {
|
|
|
299293
299524
|
for (let i2 = 0; i2 < n3; ++i2) s2[_[i2]] = true;
|
|
299294
299525
|
return s2;
|
|
299295
299526
|
}
|
|
299296
|
-
function ascending$4(a2, b2) {
|
|
299297
|
-
return a2 == null || b2 == null ? NaN : a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
|
299298
|
-
}
|
|
299299
|
-
function descending$1(a2, b2) {
|
|
299300
|
-
return a2 == null || b2 == null ? NaN : b2 < a2 ? -1 : b2 > a2 ? 1 : b2 >= a2 ? 0 : NaN;
|
|
299301
|
-
}
|
|
299302
|
-
function bisector$1(f2) {
|
|
299303
|
-
let compare12, compare2, delta;
|
|
299304
|
-
if (f2.length !== 2) {
|
|
299305
|
-
compare12 = ascending$4;
|
|
299306
|
-
compare2 = (d, x2) => ascending$4(f2(d), x2);
|
|
299307
|
-
delta = (d, x2) => f2(d) - x2;
|
|
299308
|
-
} else {
|
|
299309
|
-
compare12 = f2 === ascending$4 || f2 === descending$1 ? f2 : zero$3;
|
|
299310
|
-
compare2 = f2;
|
|
299311
|
-
delta = f2;
|
|
299312
|
-
}
|
|
299313
|
-
function left2(a2, x2, lo = 0, hi = a2.length) {
|
|
299314
|
-
if (lo < hi) {
|
|
299315
|
-
if (compare12(x2, x2) !== 0) return hi;
|
|
299316
|
-
do {
|
|
299317
|
-
const mid = lo + hi >>> 1;
|
|
299318
|
-
if (compare2(a2[mid], x2) < 0) lo = mid + 1;
|
|
299319
|
-
else hi = mid;
|
|
299320
|
-
} while (lo < hi);
|
|
299321
|
-
}
|
|
299322
|
-
return lo;
|
|
299323
|
-
}
|
|
299324
|
-
function right2(a2, x2, lo = 0, hi = a2.length) {
|
|
299325
|
-
if (lo < hi) {
|
|
299326
|
-
if (compare12(x2, x2) !== 0) return hi;
|
|
299327
|
-
do {
|
|
299328
|
-
const mid = lo + hi >>> 1;
|
|
299329
|
-
if (compare2(a2[mid], x2) <= 0) lo = mid + 1;
|
|
299330
|
-
else hi = mid;
|
|
299331
|
-
} while (lo < hi);
|
|
299332
|
-
}
|
|
299333
|
-
return lo;
|
|
299334
|
-
}
|
|
299335
|
-
function center2(a2, x2, lo = 0, hi = a2.length) {
|
|
299336
|
-
const i2 = left2(a2, x2, lo, hi - 1);
|
|
299337
|
-
return i2 > lo && delta(a2[i2 - 1], x2) > -delta(a2[i2], x2) ? i2 - 1 : i2;
|
|
299338
|
-
}
|
|
299339
|
-
return { left: left2, center: center2, right: right2 };
|
|
299340
|
-
}
|
|
299341
|
-
function zero$3() {
|
|
299342
|
-
return 0;
|
|
299343
|
-
}
|
|
299344
|
-
function number$4(x2) {
|
|
299345
|
-
return x2 === null ? NaN : +x2;
|
|
299346
|
-
}
|
|
299347
|
-
const ascendingBisect = bisector$1(ascending$4);
|
|
299348
|
-
const bisectRight$1 = ascendingBisect.right;
|
|
299349
|
-
bisector$1(number$4).center;
|
|
299350
|
-
function range$5(start2, stop3, step) {
|
|
299351
|
-
start2 = +start2, stop3 = +stop3, step = (n3 = arguments.length) < 2 ? (stop3 = start2, start2 = 0, 1) : n3 < 3 ? 1 : +step;
|
|
299352
|
-
var i2 = -1, n3 = Math.max(0, Math.ceil((stop3 - start2) / step)) | 0, range2 = new Array(n3);
|
|
299353
|
-
while (++i2 < n3) {
|
|
299354
|
-
range2[i2] = start2 + i2 * step;
|
|
299355
|
-
}
|
|
299356
|
-
return range2;
|
|
299357
|
-
}
|
|
299358
299527
|
function colors$2(specifier) {
|
|
299359
299528
|
var n3 = specifier.length / 6 | 0, colors2 = new Array(n3), i2 = 0;
|
|
299360
299529
|
while (i2 < n3) colors2[i2] = "#" + specifier.slice(i2 * 6, ++i2 * 6);
|
|
@@ -299544,7 +299713,7 @@ function band$1() {
|
|
|
299544
299713
|
start2 = Math.round(start2);
|
|
299545
299714
|
bandwidth2 = Math.round(bandwidth2);
|
|
299546
299715
|
}
|
|
299547
|
-
const values3 = range$
|
|
299716
|
+
const values3 = range$8(n3).map((i2) => start2 + step * i2);
|
|
299548
299717
|
return ordinalRange(reverse2 ? values3.reverse() : values3);
|
|
299549
299718
|
}
|
|
299550
299719
|
scale2.domain = function(_) {
|
|
@@ -301308,7 +301477,7 @@ const useStyles$3 = makeStyles()(() => ({
|
|
|
301308
301477
|
}
|
|
301309
301478
|
}));
|
|
301310
301479
|
function summarize(iterable, keepZeros) {
|
|
301311
|
-
const values3 = iterable.filter((d) => keepZeros).sort(ascending$
|
|
301480
|
+
const values3 = iterable.filter((d) => keepZeros).sort(ascending$8);
|
|
301312
301481
|
const minVal = values3[0];
|
|
301313
301482
|
const maxVal = values3[values3.length - 1];
|
|
301314
301483
|
const q1 = quantileSorted$1(values3, 0.25);
|
|
@@ -302919,7 +303088,7 @@ const Milli = [YEAR, MONTH, DATE, HOURS, MINUTES, SECONDS, MILLISECONDS], Second
|
|
|
302919
303088
|
const intervals = [[Seconds, 1, durationSecond], [Seconds, 5, 5 * durationSecond], [Seconds, 15, 15 * durationSecond], [Seconds, 30, 30 * durationSecond], [Minutes, 1, durationMinute], [Minutes, 5, 5 * durationMinute], [Minutes, 15, 15 * durationMinute], [Minutes, 30, 30 * durationMinute], [Hours, 1, durationHour], [Hours, 3, 3 * durationHour], [Hours, 6, 6 * durationHour], [Hours, 12, 12 * durationHour], [Day, 1, durationDay], [Week, 1, durationWeek], [Month, 1, durationMonth], [Month, 3, 3 * durationMonth], [Year, 1, durationYear]];
|
|
302920
303089
|
function bin$1(opt) {
|
|
302921
303090
|
const ext = opt.extent, max2 = opt.maxbins || 40, target2 = Math.abs(span(ext)) / max2;
|
|
302922
|
-
let i2 = bisector$
|
|
303091
|
+
let i2 = bisector$1((i3) => i3[2]).right(intervals, target2), units, step;
|
|
302923
303092
|
if (i2 === intervals.length) {
|
|
302924
303093
|
units = Year, step = tickStep(ext[0] / durationYear, ext[1] / durationYear, max2);
|
|
302925
303094
|
} else if (i2) {
|
|
@@ -304857,7 +305026,7 @@ function* numbers$1(values3, valueof) {
|
|
|
304857
305026
|
}
|
|
304858
305027
|
function quantiles(array2, p, f2) {
|
|
304859
305028
|
const values3 = Float64Array.from(numbers$1(array2, f2));
|
|
304860
|
-
values3.sort(ascending$
|
|
305029
|
+
values3.sort(ascending$4);
|
|
304861
305030
|
return p.map((_) => quantileSorted(values3, _));
|
|
304862
305031
|
}
|
|
304863
305032
|
function quartiles(array2, f2) {
|
|
@@ -304916,7 +305085,7 @@ function bootstrapCI(array2, samples, alpha2, f2) {
|
|
|
304916
305085
|
}
|
|
304917
305086
|
mu[j] = a2 / n3;
|
|
304918
305087
|
}
|
|
304919
|
-
mu.sort(ascending$
|
|
305088
|
+
mu.sort(ascending$4);
|
|
304920
305089
|
return [quantile$1(mu, alpha2 / 2), quantile$1(mu, 1 - alpha2 / 2)];
|
|
304921
305090
|
}
|
|
304922
305091
|
function dotbin(array2, step, smooth, f2) {
|
|
@@ -307889,7 +308058,7 @@ inherits(Quantile$1, Transform2, {
|
|
|
307889
308058
|
out.source = this.value;
|
|
307890
308059
|
return out;
|
|
307891
308060
|
}
|
|
307892
|
-
const source2 = pulse2.materialize(pulse2.SOURCE).source, groups = partition$1$1(source2, _.groupby, _.field), names = (_.groupby || []).map(accessorName), values3 = [], step = _.step || 0.01, p = _.probs || range$
|
|
308061
|
+
const source2 = pulse2.materialize(pulse2.SOURCE).source, groups = partition$1$1(source2, _.groupby, _.field), names = (_.groupby || []).map(accessorName), values3 = [], step = _.step || 0.01, p = _.probs || range$8(step / 2, 1 - EPSILON$2, step), n3 = p.length;
|
|
307893
308062
|
groups.forEach((g2) => {
|
|
307894
308063
|
const q = quantiles(g2, p);
|
|
307895
308064
|
for (let i2 = 0; i2 < n3; ++i2) {
|
|
@@ -308048,7 +308217,7 @@ inherits(Sequence, Transform2, {
|
|
|
308048
308217
|
if (this.value && !_.modified()) return;
|
|
308049
308218
|
const out = pulse2.materialize().fork(pulse2.MOD), as = _.as || "data";
|
|
308050
308219
|
out.rem = this.value ? pulse2.rem.concat(this.value) : pulse2.rem;
|
|
308051
|
-
this.value = range$
|
|
308220
|
+
this.value = range$8(_.start, _.stop, _.step || 1).map((v) => {
|
|
308052
308221
|
const t4 = {};
|
|
308053
308222
|
t4[as] = v;
|
|
308054
308223
|
return ingest$1(t4);
|
|
@@ -308508,7 +308677,7 @@ inherits(Window, Transform2, {
|
|
|
308508
308677
|
}
|
|
308509
308678
|
});
|
|
308510
308679
|
function processPartition(list2, state, cmp2, _) {
|
|
308511
|
-
const sort2 = _.sort, range2 = sort2 && !_.ignorePeers, frame2 = _.frame || [null, 0], data2 = list2.data(cmp2), n3 = data2.length, b2 = range2 ? bisector$
|
|
308680
|
+
const sort2 = _.sort, range2 = sort2 && !_.ignorePeers, frame2 = _.frame || [null, 0], data2 = list2.data(cmp2), n3 = data2.length, b2 = range2 ? bisector$1(sort2) : null, w2 = {
|
|
308512
308681
|
i0: 0,
|
|
308513
308682
|
i1: 0,
|
|
308514
308683
|
p0: 0,
|
|
@@ -308666,7 +308835,7 @@ function band() {
|
|
|
308666
308835
|
start2 = Math.round(start2);
|
|
308667
308836
|
bandwidth2 = Math.round(bandwidth2);
|
|
308668
308837
|
}
|
|
308669
|
-
const values3 = range$
|
|
308838
|
+
const values3 = range$8(n3).map((i2) => start2 + step * i2);
|
|
308670
308839
|
return ordinalRange(reverse2 ? values3.reverse() : values3);
|
|
308671
308840
|
}
|
|
308672
308841
|
scale2.domain = function(_) {
|
|
@@ -308748,8 +308917,8 @@ function band() {
|
|
|
308748
308917
|
hi = t4;
|
|
308749
308918
|
}
|
|
308750
308919
|
if (hi < values3[0] || lo > range$12[1 - reverse2]) return;
|
|
308751
|
-
a2 = Math.max(0, bisectRight$
|
|
308752
|
-
b2 = lo === hi ? a2 : bisectRight$
|
|
308920
|
+
a2 = Math.max(0, bisectRight$1(values3, lo) - 1);
|
|
308921
|
+
b2 = lo === hi ? a2 : bisectRight$1(values3, hi) - 1;
|
|
308753
308922
|
if (lo - values3[a2] > bandwidth2 + 1e-10) ++a2;
|
|
308754
308923
|
if (reverse2) {
|
|
308755
308924
|
t4 = a2;
|
|
@@ -308787,7 +308956,7 @@ const slice$2 = Array.prototype.slice;
|
|
|
308787
308956
|
function scaleBinOrdinal() {
|
|
308788
308957
|
let domain2 = [], range2 = [];
|
|
308789
308958
|
function scale2(x2) {
|
|
308790
|
-
return x2 == null || x2 !== x2 ? void 0 : range2[(bisectRight$
|
|
308959
|
+
return x2 == null || x2 !== x2 ? void 0 : range2[(bisectRight$1(domain2, x2) - 1) % range2.length];
|
|
308791
308960
|
}
|
|
308792
308961
|
scale2.domain = function(_) {
|
|
308793
308962
|
if (arguments.length) {
|
|
@@ -314510,7 +314679,7 @@ Pie.Definition = {
|
|
|
314510
314679
|
};
|
|
314511
314680
|
inherits(Pie, Transform2, {
|
|
314512
314681
|
transform(_, pulse2) {
|
|
314513
|
-
var as = _.as || ["startAngle", "endAngle"], startAngle = as[0], endAngle = as[1], field2 = _.field || one$1, start2 = _.startAngle || 0, stop3 = _.endAngle != null ? _.endAngle : 2 * Math.PI, data2 = pulse2.source, values3 = data2.map(field2), n3 = values3.length, a2 = start2, k = (stop3 - start2) / sum$2(values3), index2 = range$
|
|
314682
|
+
var as = _.as || ["startAngle", "endAngle"], startAngle = as[0], endAngle = as[1], field2 = _.field || one$1, start2 = _.startAngle || 0, stop3 = _.endAngle != null ? _.endAngle : 2 * Math.PI, data2 = pulse2.source, values3 = data2.map(field2), n3 = values3.length, a2 = start2, k = (stop3 - start2) / sum$2(values3), index2 = range$8(n3), i2, t4, v;
|
|
314514
314683
|
if (_.sort) {
|
|
314515
314684
|
index2.sort((a3, b2) => values3[a3] - values3[b2]);
|
|
314516
314685
|
}
|
|
@@ -314628,7 +314797,7 @@ function configureBins(scale2, _, count2) {
|
|
|
314628
314797
|
if (!step) error("Scale bins parameter missing step property.");
|
|
314629
314798
|
if (start2 < lo) start2 = step * Math.ceil(lo / step);
|
|
314630
314799
|
if (stop3 > hi) stop3 = step * Math.floor(hi / step);
|
|
314631
|
-
bins2 = range$
|
|
314800
|
+
bins2 = range$8(start2, stop3 + step / 2, step);
|
|
314632
314801
|
}
|
|
314633
314802
|
if (bins2) {
|
|
314634
314803
|
scale2.bins = bins2;
|
|
@@ -315849,7 +316018,7 @@ function clipRectangle(x02, y02, x12, y12) {
|
|
|
315849
316018
|
};
|
|
315850
316019
|
}
|
|
315851
316020
|
function graticuleX(y02, y12, dy) {
|
|
315852
|
-
var y2 = range$
|
|
316021
|
+
var y2 = range$8(y02, y12 - epsilon$3, dy).concat(y12);
|
|
315853
316022
|
return function(x2) {
|
|
315854
316023
|
return y2.map(function(y22) {
|
|
315855
316024
|
return [x2, y22];
|
|
@@ -315857,7 +316026,7 @@ function graticuleX(y02, y12, dy) {
|
|
|
315857
316026
|
};
|
|
315858
316027
|
}
|
|
315859
316028
|
function graticuleY(x02, x12, dx) {
|
|
315860
|
-
var x2 = range$
|
|
316029
|
+
var x2 = range$8(x02, x12 - epsilon$3, dx).concat(x12);
|
|
315861
316030
|
return function(y2) {
|
|
315862
316031
|
return x2.map(function(x22) {
|
|
315863
316032
|
return [x22, y2];
|
|
@@ -315870,9 +316039,9 @@ function graticule() {
|
|
|
315870
316039
|
return { type: "MultiLineString", coordinates: lines() };
|
|
315871
316040
|
}
|
|
315872
316041
|
function lines() {
|
|
315873
|
-
return range$
|
|
316042
|
+
return range$8(ceil(X02 / DX) * DX, X12, DX).map(X3).concat(range$8(ceil(Y02 / DY) * DY, Y12, DY).map(Y3)).concat(range$8(ceil(x02 / dx) * dx, x12, dx).filter(function(x22) {
|
|
315874
316043
|
return abs$1(x22 % DX) > epsilon$3;
|
|
315875
|
-
}).map(x2)).concat(range$
|
|
316044
|
+
}).map(x2)).concat(range$8(ceil(y02 / dy) * dy, y12, dy).filter(function(y22) {
|
|
315876
316045
|
return abs$1(y22 % DY) > epsilon$3;
|
|
315877
316046
|
}).map(y2));
|
|
315878
316047
|
}
|
|
@@ -317147,7 +317316,7 @@ function within(p, q, r3) {
|
|
|
317147
317316
|
function quantize$1(k, nice2, zero2) {
|
|
317148
317317
|
return function(values3) {
|
|
317149
317318
|
var ex = extent(values3), start2 = zero2 ? Math.min(ex[0], 0) : ex[0], stop3 = ex[1], span2 = stop3 - start2, step = nice2 ? tickStep(start2, stop3, k) : span2 / (k + 1);
|
|
317150
|
-
return range$
|
|
317319
|
+
return range$8(start2 + step, stop3, step);
|
|
317151
317320
|
};
|
|
317152
317321
|
}
|
|
317153
317322
|
function Isocontour(params2) {
|
|
@@ -323087,7 +323256,7 @@ function SortedIndex() {
|
|
|
323087
323256
|
array2 = value2;
|
|
323088
323257
|
n3 = size2;
|
|
323089
323258
|
}
|
|
323090
|
-
return [bisectLeft$1(array2, range2[0], 0, n3), bisectRight$
|
|
323259
|
+
return [bisectLeft$1(array2, range2[0], 0, n3), bisectRight$1(array2, range2[1], 0, n3)];
|
|
323091
323260
|
}
|
|
323092
323261
|
return {
|
|
323093
323262
|
insert: insert2,
|
|
@@ -325452,7 +325621,7 @@ const functionContext = {
|
|
|
325452
325621
|
hsl: hsl$2,
|
|
325453
325622
|
luminance,
|
|
325454
325623
|
contrast,
|
|
325455
|
-
sequence: range$
|
|
325624
|
+
sequence: range$8,
|
|
325456
325625
|
format: format$1,
|
|
325457
325626
|
utcFormat,
|
|
325458
325627
|
utcParse,
|
|
@@ -352722,7 +352891,7 @@ function FeatureBarPlot(props) {
|
|
|
352722
352891
|
const xTitle = `${capitalize$3(obsType)}`;
|
|
352723
352892
|
const autoMarginBottom = marginBottom || 30 + Math.sqrt(maxCharactersForLabel / 2) * 30;
|
|
352724
352893
|
const foregroundColor = theme === "dark" ? "lightgray" : "black";
|
|
352725
|
-
data2.sort((a2, b2) => ascending$
|
|
352894
|
+
data2.sort((a2, b2) => ascending$8(a2[FEATURE_KEY], b2[FEATURE_KEY]));
|
|
352726
352895
|
const svg2 = select$1(domElement);
|
|
352727
352896
|
svg2.selectAll("g").remove();
|
|
352728
352897
|
svg2.attr("width", width2).attr("height", height2);
|
|
@@ -354066,13 +354235,7 @@ class SpatialDataAutoConfig extends AbstractAutoConfig {
|
|
|
354066
354235
|
};
|
|
354067
354236
|
}
|
|
354068
354237
|
if (relPath.match(/^(shapes)\/([^/]*)$/)) {
|
|
354069
|
-
options.
|
|
354070
|
-
path: relPath,
|
|
354071
|
-
coordinateSystem: firstCoordinateSystem
|
|
354072
|
-
};
|
|
354073
|
-
}
|
|
354074
|
-
if (relPath.match(/^(points)\/([^/]*)$/)) {
|
|
354075
|
-
options.obsPoints = {
|
|
354238
|
+
options.obsSegmentations = {
|
|
354076
354239
|
path: relPath,
|
|
354077
354240
|
coordinateSystem: firstCoordinateSystem
|
|
354078
354241
|
};
|
|
@@ -354086,21 +354249,6 @@ class SpatialDataAutoConfig extends AbstractAutoConfig {
|
|
|
354086
354249
|
// region: null,
|
|
354087
354250
|
};
|
|
354088
354251
|
}
|
|
354089
|
-
const hasObs = tableEls.find((el) => el.path === `${path2}/obs`);
|
|
354090
|
-
if (hasObs) {
|
|
354091
|
-
const columnOrder = hasObs.attrs?.["column-order"];
|
|
354092
|
-
options.obsSets = {
|
|
354093
|
-
// region: null,
|
|
354094
|
-
tablePath: relPath,
|
|
354095
|
-
obsSets: columnOrder.map((c2) => ({
|
|
354096
|
-
// TODO: determine whether this column is string/categorical.
|
|
354097
|
-
// TODO: determine whether this column contains too many
|
|
354098
|
-
// categories to make sense to consider a cell set.
|
|
354099
|
-
path: `${hasObs.path.substring(1)}/${c2}`,
|
|
354100
|
-
name: c2
|
|
354101
|
-
}))
|
|
354102
|
-
};
|
|
354103
|
-
}
|
|
354104
354252
|
}
|
|
354105
354253
|
});
|
|
354106
354254
|
return options;
|
|
@@ -354663,7 +354811,7 @@ class ClustersJsonAsObsFeatureMatrixLoader extends JsonLoader {
|
|
|
354663
354811
|
const normalize2 = (d) => Math.floor((d - min2) / (max2 - min2) * 255);
|
|
354664
354812
|
return col.map(normalize2);
|
|
354665
354813
|
});
|
|
354666
|
-
const tNormalizedMatrix = range$
|
|
354814
|
+
const tNormalizedMatrix = range$e(shape2[0]).map((i2) => range$e(shape2[1]).map((j) => normalizedMatrix[j][i2]));
|
|
354667
354815
|
const normalizedFlatMatrix = tNormalizedMatrix.flat();
|
|
354668
354816
|
const obsFeatureMatrix = { data: Uint8Array.from(normalizedFlatMatrix) };
|
|
354669
354817
|
this.cachedResult = { obsIndex, featureIndex, obsFeatureMatrix };
|
|
@@ -354714,12 +354862,12 @@ class MoleculesJsonAsObsLabelsLoader extends JsonLoader {
|
|
|
354714
354862
|
if (this.cachedResult) {
|
|
354715
354863
|
return this.cachedResult;
|
|
354716
354864
|
}
|
|
354717
|
-
const obsIndex = range$
|
|
354865
|
+
const obsIndex = range$e(sum$7(Object.values(data2).map((v) => v.length))).map((i2) => String(i2));
|
|
354718
354866
|
let obsLabels = [];
|
|
354719
354867
|
Object.entries(data2).forEach(([gene, locations]) => {
|
|
354720
354868
|
obsLabels = [
|
|
354721
354869
|
...obsLabels,
|
|
354722
|
-
...range$
|
|
354870
|
+
...range$e(locations.length).map(() => gene)
|
|
354723
354871
|
];
|
|
354724
354872
|
});
|
|
354725
354873
|
this.cachedResult = { obsIndex, obsLabels };
|
|
@@ -354742,7 +354890,7 @@ class MoleculesJsonAsObsLocationsLoader extends JsonLoader {
|
|
|
354742
354890
|
return this.cachedResult;
|
|
354743
354891
|
}
|
|
354744
354892
|
const moleculesValues = Object.values(data2);
|
|
354745
|
-
const obsIndex = range$
|
|
354893
|
+
const obsIndex = range$e(sum$7(moleculesValues.map((v) => v.length))).map((i2) => String(i2));
|
|
354746
354894
|
const obsLocationsX = new Float32Array(obsIndex.length);
|
|
354747
354895
|
const obsLocationsY = new Float32Array(obsIndex.length);
|
|
354748
354896
|
let startAt = 0;
|