@vitessce/all 3.1.1 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{deflate-c18e8d14.js → deflate-e164f5b4.js} +1 -1
- package/dist/{hglib-8b454259.js → hglib-27190533.js} +1 -1
- package/dist/{index-6e5fe875.js → index-61ee101c.js} +1293 -1112
- package/dist/index.js +1 -1
- package/dist/{jpeg-d5225556.js → jpeg-eaa82c98.js} +1 -1
- package/dist/{lerc-e2ffe296.js → lerc-0c45509f.js} +1 -1
- package/dist/{lzw-e2d5a7f6.js → lzw-8aa1e0b3.js} +1 -1
- package/dist/{packbits-b6a798a9.js → packbits-ad4b66a3.js} +1 -1
- package/dist/{raw-90cab418.js → raw-cb4a4ae9.js} +1 -1
- package/dist/{webimage-ad4dfc02.js → webimage-3d222f28.js} +1 -1
- package/package.json +20 -20
@@ -5,7 +5,7 @@ var __publicField = (obj, key2, value2) => {
|
|
5
5
|
return value2;
|
6
6
|
};
|
7
7
|
import * as React from "react";
|
8
|
-
import React__default, { Children, isValidElement, cloneElement, useMemo, forwardRef, useRef, useImperativeHandle, useEffect, useLayoutEffect as useLayoutEffect$1, useState, PureComponent, Component as Component$1, useCallback, createElement, useReducer, Suspense } from "react";
|
8
|
+
import React__default, { Children, isValidElement, cloneElement, useMemo, forwardRef, useRef, useImperativeHandle, useEffect, useLayoutEffect as useLayoutEffect$1, useState, PureComponent, Component as Component$1, useCallback, createElement, useId, useReducer, Suspense } from "react";
|
9
9
|
import { useLoaders, useCoordination, useDescription, useImageData, useReady, TitleInfo, useVitessceContainer, useSetWarning, useObsSetsData, useUrls, usePlotOptionsStyles, OptionsContainer, CellColorEncodingOption, OptionSelect, useComponentHover, useComponentViewInfo, useSetComponentHover, useSetComponentViewInfo, useInitialCoordination, useDeckCanvasSize, useMultiObsLabels, useObsEmbeddingData, useFeatureSelection, useObsFeatureMatrixIndices, useFeatureLabelsData, useGetObsInfo, useUint8FeatureSelection, useExpressionValueGetter, useAuxiliaryCoordination, useHasLoader, useObsLocationsData, useObsLabelsData, useObsSegmentationsData, useNeighborhoodsData, useObsFeatureMatrixData, useUint8ObsFeatureMatrix, useGetObsMembership, PopperMenu, useComponentLayout, useClosestVitessceContainerSize, useWindowDimensions, useWarning, useGridItemSize, useGenomicProfilesData, DataSourceFetchError, AbstractLoaderError, AbstractTwoStepLoader, LoaderResult, LoaderValidationError, logConfig, VitS } from "@vitessce/vit-s";
|
10
10
|
import * as ReactDOM from "react-dom";
|
11
11
|
import ReactDOM__default from "react-dom";
|
@@ -794,9 +794,9 @@ var reactJsxRuntime_development = {};
|
|
794
794
|
}
|
795
795
|
if (isArray3(node)) {
|
796
796
|
for (var i2 = 0; i2 < node.length; i2++) {
|
797
|
-
var
|
798
|
-
if (isValidElement2(
|
799
|
-
validateExplicitKey(
|
797
|
+
var child = node[i2];
|
798
|
+
if (isValidElement2(child)) {
|
799
|
+
validateExplicitKey(child, parentType);
|
800
800
|
}
|
801
801
|
}
|
802
802
|
} else if (isValidElement2(node)) {
|
@@ -4626,6 +4626,363 @@ var z = /* @__PURE__ */ Object.freeze({
|
|
4626
4626
|
quotelessJson,
|
4627
4627
|
ZodError
|
4628
4628
|
});
|
4629
|
+
function commonjsRequire(path2) {
|
4630
|
+
throw new Error('Could not dynamically require "' + path2 + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
4631
|
+
}
|
4632
|
+
var pluralize$1 = { exports: {} };
|
4633
|
+
(function(module2, exports2) {
|
4634
|
+
(function(root2, pluralize2) {
|
4635
|
+
if (typeof commonjsRequire === "function" && true && true) {
|
4636
|
+
module2.exports = pluralize2();
|
4637
|
+
} else {
|
4638
|
+
root2.pluralize = pluralize2();
|
4639
|
+
}
|
4640
|
+
})(commonjsGlobal$1, function() {
|
4641
|
+
var pluralRules = [];
|
4642
|
+
var singularRules = [];
|
4643
|
+
var uncountables = {};
|
4644
|
+
var irregularPlurals = {};
|
4645
|
+
var irregularSingles = {};
|
4646
|
+
function sanitizeRule(rule2) {
|
4647
|
+
if (typeof rule2 === "string") {
|
4648
|
+
return new RegExp("^" + rule2 + "$", "i");
|
4649
|
+
}
|
4650
|
+
return rule2;
|
4651
|
+
}
|
4652
|
+
function restoreCase(word, token) {
|
4653
|
+
if (word === token)
|
4654
|
+
return token;
|
4655
|
+
if (word === word.toLowerCase())
|
4656
|
+
return token.toLowerCase();
|
4657
|
+
if (word === word.toUpperCase())
|
4658
|
+
return token.toUpperCase();
|
4659
|
+
if (word[0] === word[0].toUpperCase()) {
|
4660
|
+
return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();
|
4661
|
+
}
|
4662
|
+
return token.toLowerCase();
|
4663
|
+
}
|
4664
|
+
function interpolate2(str, args) {
|
4665
|
+
return str.replace(/\$(\d{1,2})/g, function(match2, index2) {
|
4666
|
+
return args[index2] || "";
|
4667
|
+
});
|
4668
|
+
}
|
4669
|
+
function replace2(word, rule2) {
|
4670
|
+
return word.replace(rule2[0], function(match2, index2) {
|
4671
|
+
var result = interpolate2(rule2[1], arguments);
|
4672
|
+
if (match2 === "") {
|
4673
|
+
return restoreCase(word[index2 - 1], result);
|
4674
|
+
}
|
4675
|
+
return restoreCase(match2, result);
|
4676
|
+
});
|
4677
|
+
}
|
4678
|
+
function sanitizeWord(token, word, rules) {
|
4679
|
+
if (!token.length || uncountables.hasOwnProperty(token)) {
|
4680
|
+
return word;
|
4681
|
+
}
|
4682
|
+
var len2 = rules.length;
|
4683
|
+
while (len2--) {
|
4684
|
+
var rule2 = rules[len2];
|
4685
|
+
if (rule2[0].test(word))
|
4686
|
+
return replace2(word, rule2);
|
4687
|
+
}
|
4688
|
+
return word;
|
4689
|
+
}
|
4690
|
+
function replaceWord(replaceMap, keepMap, rules) {
|
4691
|
+
return function(word) {
|
4692
|
+
var token = word.toLowerCase();
|
4693
|
+
if (keepMap.hasOwnProperty(token)) {
|
4694
|
+
return restoreCase(word, token);
|
4695
|
+
}
|
4696
|
+
if (replaceMap.hasOwnProperty(token)) {
|
4697
|
+
return restoreCase(word, replaceMap[token]);
|
4698
|
+
}
|
4699
|
+
return sanitizeWord(token, word, rules);
|
4700
|
+
};
|
4701
|
+
}
|
4702
|
+
function checkWord(replaceMap, keepMap, rules, bool) {
|
4703
|
+
return function(word) {
|
4704
|
+
var token = word.toLowerCase();
|
4705
|
+
if (keepMap.hasOwnProperty(token))
|
4706
|
+
return true;
|
4707
|
+
if (replaceMap.hasOwnProperty(token))
|
4708
|
+
return false;
|
4709
|
+
return sanitizeWord(token, token, rules) === token;
|
4710
|
+
};
|
4711
|
+
}
|
4712
|
+
function pluralize2(word, count2, inclusive) {
|
4713
|
+
var pluralized = count2 === 1 ? pluralize2.singular(word) : pluralize2.plural(word);
|
4714
|
+
return (inclusive ? count2 + " " : "") + pluralized;
|
4715
|
+
}
|
4716
|
+
pluralize2.plural = replaceWord(
|
4717
|
+
irregularSingles,
|
4718
|
+
irregularPlurals,
|
4719
|
+
pluralRules
|
4720
|
+
);
|
4721
|
+
pluralize2.isPlural = checkWord(
|
4722
|
+
irregularSingles,
|
4723
|
+
irregularPlurals,
|
4724
|
+
pluralRules
|
4725
|
+
);
|
4726
|
+
pluralize2.singular = replaceWord(
|
4727
|
+
irregularPlurals,
|
4728
|
+
irregularSingles,
|
4729
|
+
singularRules
|
4730
|
+
);
|
4731
|
+
pluralize2.isSingular = checkWord(
|
4732
|
+
irregularPlurals,
|
4733
|
+
irregularSingles,
|
4734
|
+
singularRules
|
4735
|
+
);
|
4736
|
+
pluralize2.addPluralRule = function(rule2, replacement) {
|
4737
|
+
pluralRules.push([sanitizeRule(rule2), replacement]);
|
4738
|
+
};
|
4739
|
+
pluralize2.addSingularRule = function(rule2, replacement) {
|
4740
|
+
singularRules.push([sanitizeRule(rule2), replacement]);
|
4741
|
+
};
|
4742
|
+
pluralize2.addUncountableRule = function(word) {
|
4743
|
+
if (typeof word === "string") {
|
4744
|
+
uncountables[word.toLowerCase()] = true;
|
4745
|
+
return;
|
4746
|
+
}
|
4747
|
+
pluralize2.addPluralRule(word, "$0");
|
4748
|
+
pluralize2.addSingularRule(word, "$0");
|
4749
|
+
};
|
4750
|
+
pluralize2.addIrregularRule = function(single, plural) {
|
4751
|
+
plural = plural.toLowerCase();
|
4752
|
+
single = single.toLowerCase();
|
4753
|
+
irregularSingles[single] = plural;
|
4754
|
+
irregularPlurals[plural] = single;
|
4755
|
+
};
|
4756
|
+
[
|
4757
|
+
// Pronouns.
|
4758
|
+
["I", "we"],
|
4759
|
+
["me", "us"],
|
4760
|
+
["he", "they"],
|
4761
|
+
["she", "they"],
|
4762
|
+
["them", "them"],
|
4763
|
+
["myself", "ourselves"],
|
4764
|
+
["yourself", "yourselves"],
|
4765
|
+
["itself", "themselves"],
|
4766
|
+
["herself", "themselves"],
|
4767
|
+
["himself", "themselves"],
|
4768
|
+
["themself", "themselves"],
|
4769
|
+
["is", "are"],
|
4770
|
+
["was", "were"],
|
4771
|
+
["has", "have"],
|
4772
|
+
["this", "these"],
|
4773
|
+
["that", "those"],
|
4774
|
+
// Words ending in with a consonant and `o`.
|
4775
|
+
["echo", "echoes"],
|
4776
|
+
["dingo", "dingoes"],
|
4777
|
+
["volcano", "volcanoes"],
|
4778
|
+
["tornado", "tornadoes"],
|
4779
|
+
["torpedo", "torpedoes"],
|
4780
|
+
// Ends with `us`.
|
4781
|
+
["genus", "genera"],
|
4782
|
+
["viscus", "viscera"],
|
4783
|
+
// Ends with `ma`.
|
4784
|
+
["stigma", "stigmata"],
|
4785
|
+
["stoma", "stomata"],
|
4786
|
+
["dogma", "dogmata"],
|
4787
|
+
["lemma", "lemmata"],
|
4788
|
+
["schema", "schemata"],
|
4789
|
+
["anathema", "anathemata"],
|
4790
|
+
// Other irregular rules.
|
4791
|
+
["ox", "oxen"],
|
4792
|
+
["axe", "axes"],
|
4793
|
+
["die", "dice"],
|
4794
|
+
["yes", "yeses"],
|
4795
|
+
["foot", "feet"],
|
4796
|
+
["eave", "eaves"],
|
4797
|
+
["goose", "geese"],
|
4798
|
+
["tooth", "teeth"],
|
4799
|
+
["quiz", "quizzes"],
|
4800
|
+
["human", "humans"],
|
4801
|
+
["proof", "proofs"],
|
4802
|
+
["carve", "carves"],
|
4803
|
+
["valve", "valves"],
|
4804
|
+
["looey", "looies"],
|
4805
|
+
["thief", "thieves"],
|
4806
|
+
["groove", "grooves"],
|
4807
|
+
["pickaxe", "pickaxes"],
|
4808
|
+
["passerby", "passersby"]
|
4809
|
+
].forEach(function(rule2) {
|
4810
|
+
return pluralize2.addIrregularRule(rule2[0], rule2[1]);
|
4811
|
+
});
|
4812
|
+
[
|
4813
|
+
[/s?$/i, "s"],
|
4814
|
+
[/[^\u0000-\u007F]$/i, "$0"],
|
4815
|
+
[/([^aeiou]ese)$/i, "$1"],
|
4816
|
+
[/(ax|test)is$/i, "$1es"],
|
4817
|
+
[/(alias|[^aou]us|t[lm]as|gas|ris)$/i, "$1es"],
|
4818
|
+
[/(e[mn]u)s?$/i, "$1s"],
|
4819
|
+
[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, "$1"],
|
4820
|
+
[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, "$1i"],
|
4821
|
+
[/(alumn|alg|vertebr)(?:a|ae)$/i, "$1ae"],
|
4822
|
+
[/(seraph|cherub)(?:im)?$/i, "$1im"],
|
4823
|
+
[/(her|at|gr)o$/i, "$1oes"],
|
4824
|
+
[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, "$1a"],
|
4825
|
+
[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, "$1a"],
|
4826
|
+
[/sis$/i, "ses"],
|
4827
|
+
[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, "$1$2ves"],
|
4828
|
+
[/([^aeiouy]|qu)y$/i, "$1ies"],
|
4829
|
+
[/([^ch][ieo][ln])ey$/i, "$1ies"],
|
4830
|
+
[/(x|ch|ss|sh|zz)$/i, "$1es"],
|
4831
|
+
[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, "$1ices"],
|
4832
|
+
[/\b((?:tit)?m|l)(?:ice|ouse)$/i, "$1ice"],
|
4833
|
+
[/(pe)(?:rson|ople)$/i, "$1ople"],
|
4834
|
+
[/(child)(?:ren)?$/i, "$1ren"],
|
4835
|
+
[/eaux$/i, "$0"],
|
4836
|
+
[/m[ae]n$/i, "men"],
|
4837
|
+
["thou", "you"]
|
4838
|
+
].forEach(function(rule2) {
|
4839
|
+
return pluralize2.addPluralRule(rule2[0], rule2[1]);
|
4840
|
+
});
|
4841
|
+
[
|
4842
|
+
[/s$/i, ""],
|
4843
|
+
[/(ss)$/i, "$1"],
|
4844
|
+
[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i, "$1fe"],
|
4845
|
+
[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, "$1f"],
|
4846
|
+
[/ies$/i, "y"],
|
4847
|
+
[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, "$1ie"],
|
4848
|
+
[/\b(mon|smil)ies$/i, "$1ey"],
|
4849
|
+
[/\b((?:tit)?m|l)ice$/i, "$1ouse"],
|
4850
|
+
[/(seraph|cherub)im$/i, "$1"],
|
4851
|
+
[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, "$1"],
|
4852
|
+
[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, "$1sis"],
|
4853
|
+
[/(movie|twelve|abuse|e[mn]u)s$/i, "$1"],
|
4854
|
+
[/(test)(?:is|es)$/i, "$1is"],
|
4855
|
+
[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, "$1us"],
|
4856
|
+
[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, "$1um"],
|
4857
|
+
[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, "$1on"],
|
4858
|
+
[/(alumn|alg|vertebr)ae$/i, "$1a"],
|
4859
|
+
[/(cod|mur|sil|vert|ind)ices$/i, "$1ex"],
|
4860
|
+
[/(matr|append)ices$/i, "$1ix"],
|
4861
|
+
[/(pe)(rson|ople)$/i, "$1rson"],
|
4862
|
+
[/(child)ren$/i, "$1"],
|
4863
|
+
[/(eau)x?$/i, "$1"],
|
4864
|
+
[/men$/i, "man"]
|
4865
|
+
].forEach(function(rule2) {
|
4866
|
+
return pluralize2.addSingularRule(rule2[0], rule2[1]);
|
4867
|
+
});
|
4868
|
+
[
|
4869
|
+
// Singular words with no plurals.
|
4870
|
+
"adulthood",
|
4871
|
+
"advice",
|
4872
|
+
"agenda",
|
4873
|
+
"aid",
|
4874
|
+
"aircraft",
|
4875
|
+
"alcohol",
|
4876
|
+
"ammo",
|
4877
|
+
"analytics",
|
4878
|
+
"anime",
|
4879
|
+
"athletics",
|
4880
|
+
"audio",
|
4881
|
+
"bison",
|
4882
|
+
"blood",
|
4883
|
+
"bream",
|
4884
|
+
"buffalo",
|
4885
|
+
"butter",
|
4886
|
+
"carp",
|
4887
|
+
"cash",
|
4888
|
+
"chassis",
|
4889
|
+
"chess",
|
4890
|
+
"clothing",
|
4891
|
+
"cod",
|
4892
|
+
"commerce",
|
4893
|
+
"cooperation",
|
4894
|
+
"corps",
|
4895
|
+
"debris",
|
4896
|
+
"diabetes",
|
4897
|
+
"digestion",
|
4898
|
+
"elk",
|
4899
|
+
"energy",
|
4900
|
+
"equipment",
|
4901
|
+
"excretion",
|
4902
|
+
"expertise",
|
4903
|
+
"firmware",
|
4904
|
+
"flounder",
|
4905
|
+
"fun",
|
4906
|
+
"gallows",
|
4907
|
+
"garbage",
|
4908
|
+
"graffiti",
|
4909
|
+
"hardware",
|
4910
|
+
"headquarters",
|
4911
|
+
"health",
|
4912
|
+
"herpes",
|
4913
|
+
"highjinks",
|
4914
|
+
"homework",
|
4915
|
+
"housework",
|
4916
|
+
"information",
|
4917
|
+
"jeans",
|
4918
|
+
"justice",
|
4919
|
+
"kudos",
|
4920
|
+
"labour",
|
4921
|
+
"literature",
|
4922
|
+
"machinery",
|
4923
|
+
"mackerel",
|
4924
|
+
"mail",
|
4925
|
+
"media",
|
4926
|
+
"mews",
|
4927
|
+
"moose",
|
4928
|
+
"music",
|
4929
|
+
"mud",
|
4930
|
+
"manga",
|
4931
|
+
"news",
|
4932
|
+
"only",
|
4933
|
+
"personnel",
|
4934
|
+
"pike",
|
4935
|
+
"plankton",
|
4936
|
+
"pliers",
|
4937
|
+
"police",
|
4938
|
+
"pollution",
|
4939
|
+
"premises",
|
4940
|
+
"rain",
|
4941
|
+
"research",
|
4942
|
+
"rice",
|
4943
|
+
"salmon",
|
4944
|
+
"scissors",
|
4945
|
+
"series",
|
4946
|
+
"sewage",
|
4947
|
+
"shambles",
|
4948
|
+
"shrimp",
|
4949
|
+
"software",
|
4950
|
+
"species",
|
4951
|
+
"staff",
|
4952
|
+
"swine",
|
4953
|
+
"tennis",
|
4954
|
+
"traffic",
|
4955
|
+
"transportation",
|
4956
|
+
"trout",
|
4957
|
+
"tuna",
|
4958
|
+
"wealth",
|
4959
|
+
"welfare",
|
4960
|
+
"whiting",
|
4961
|
+
"wildebeest",
|
4962
|
+
"wildlife",
|
4963
|
+
"you",
|
4964
|
+
/pok[eé]mon$/i,
|
4965
|
+
// Regexes.
|
4966
|
+
/[^aeiou]ese$/i,
|
4967
|
+
// "chinese", "japanese"
|
4968
|
+
/deer$/i,
|
4969
|
+
// "deer", "reindeer"
|
4970
|
+
/fish$/i,
|
4971
|
+
// "fish", "blowfish", "angelfish"
|
4972
|
+
/measles$/i,
|
4973
|
+
/o[iu]s$/i,
|
4974
|
+
// "carnivorous"
|
4975
|
+
/pox$/i,
|
4976
|
+
// "chickpox", "smallpox"
|
4977
|
+
/sheep$/i
|
4978
|
+
].forEach(pluralize2.addUncountableRule);
|
4979
|
+
return pluralize2;
|
4980
|
+
});
|
4981
|
+
})(pluralize$1);
|
4982
|
+
var pluralizeExports = pluralize$1.exports;
|
4983
|
+
const plur = /* @__PURE__ */ getDefaultExportFromCjs$1(pluralizeExports);
|
4984
|
+
plur.addPluralRule("glomerulus", "glomeruli");
|
4985
|
+
plur.addPluralRule("interstitium", "interstitia");
|
4629
4986
|
function fromEntries(iterable) {
|
4630
4987
|
return [...iterable].reduce((obj, { 0: key2, 1: val }) => Object.assign(obj, { [key2]: val }), {});
|
4631
4988
|
}
|
@@ -4636,6 +4993,9 @@ function commaNumber(n3) {
|
|
4636
4993
|
function capitalize$2(word) {
|
4637
4994
|
return word ? word.charAt(0).toUpperCase() + word.slice(1) : "";
|
4638
4995
|
}
|
4996
|
+
function pluralize(word, count2 = null) {
|
4997
|
+
return plur(word, count2);
|
4998
|
+
}
|
4639
4999
|
function getLongestString(strings2) {
|
4640
5000
|
return strings2.reduce((prevLongest, currentValue) => prevLongest.length > currentValue.length ? prevLongest : currentValue);
|
4641
5001
|
}
|
@@ -8024,12 +8384,12 @@ function findCandidate(tree2, a2, b2, c2, d, maxDist, segTree) {
|
|
8024
8384
|
var node = tree2.data;
|
8025
8385
|
while (node) {
|
8026
8386
|
for (var i2 = 0; i2 < node.children.length; i2++) {
|
8027
|
-
var
|
8028
|
-
var dist2 = node.leaf ? sqSegDist(
|
8387
|
+
var child = node.children[i2];
|
8388
|
+
var dist2 = node.leaf ? sqSegDist(child, b2, c2) : sqSegBoxDist(b2, c2, child);
|
8029
8389
|
if (dist2 > maxDist)
|
8030
8390
|
continue;
|
8031
8391
|
queue.push({
|
8032
|
-
node:
|
8392
|
+
node: child,
|
8033
8393
|
dist: dist2
|
8034
8394
|
});
|
8035
8395
|
}
|
@@ -9318,7 +9678,7 @@ function nodeFindNodeByNamePath(node, path2, currLevelIndex) {
|
|
9318
9678
|
return node;
|
9319
9679
|
}
|
9320
9680
|
if (node.children) {
|
9321
|
-
const foundNodes = node.children.map((
|
9681
|
+
const foundNodes = node.children.map((child) => nodeFindNodeByNamePath(child, path2, currLevelIndex + 1)).filter(Boolean);
|
9322
9682
|
if (foundNodes.length === 1) {
|
9323
9683
|
return foundNodes[0];
|
9324
9684
|
}
|
@@ -9347,7 +9707,7 @@ function nodeTransform$1(node, predicate, transform3, transformedPaths, currPath
|
|
9347
9707
|
if (node.children) {
|
9348
9708
|
return {
|
9349
9709
|
...node,
|
9350
|
-
children: node.children.map((
|
9710
|
+
children: node.children.map((child) => nodeTransform$1(child, predicate, transform3, transformedPaths, newPath.concat([child.name])))
|
9351
9711
|
};
|
9352
9712
|
}
|
9353
9713
|
return node;
|
@@ -9367,7 +9727,7 @@ function nodeTransformAll(node, predicate, transform3, transformedPaths, currPat
|
|
9367
9727
|
if (node.children) {
|
9368
9728
|
return {
|
9369
9729
|
...newNode,
|
9370
|
-
children: newNode.children.map((
|
9730
|
+
children: newNode.children.map((child) => nodeTransformAll(child, predicate, transform3, transformedPaths, newPath.concat([child.name])))
|
9371
9731
|
};
|
9372
9732
|
}
|
9373
9733
|
return newNode;
|
@@ -9688,10 +10048,10 @@ function treeToMembershipMap(currTree) {
|
|
9688
10048
|
}
|
9689
10049
|
function getPaths(node, currentPath = [], paths = []) {
|
9690
10050
|
if (node.children) {
|
9691
|
-
node.children.forEach((
|
9692
|
-
const newPath = [...currentPath,
|
10051
|
+
node.children.forEach((child) => {
|
10052
|
+
const newPath = [...currentPath, child.name];
|
9693
10053
|
paths.push(newPath);
|
9694
|
-
getPaths(
|
10054
|
+
getPaths(child, newPath, paths);
|
9695
10055
|
});
|
9696
10056
|
}
|
9697
10057
|
return paths;
|
@@ -9927,10 +10287,10 @@ var json2csv_umd = { exports: {} };
|
|
9927
10287
|
this._maxListeners = n3;
|
9928
10288
|
return this;
|
9929
10289
|
};
|
9930
|
-
function $getMaxListeners(
|
9931
|
-
if (
|
10290
|
+
function $getMaxListeners(that) {
|
10291
|
+
if (that._maxListeners === void 0)
|
9932
10292
|
return EventEmitter2.defaultMaxListeners;
|
9933
|
-
return
|
10293
|
+
return that._maxListeners;
|
9934
10294
|
}
|
9935
10295
|
EventEmitter2.prototype.getMaxListeners = function getMaxListeners2() {
|
9936
10296
|
return $getMaxListeners(this);
|
@@ -10434,20 +10794,20 @@ var json2csv_umd = { exports: {} };
|
|
10434
10794
|
function kMaxLength() {
|
10435
10795
|
return Buffer3.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
|
10436
10796
|
}
|
10437
|
-
function createBuffer(
|
10797
|
+
function createBuffer(that, length2) {
|
10438
10798
|
if (kMaxLength() < length2) {
|
10439
10799
|
throw new RangeError("Invalid typed array length");
|
10440
10800
|
}
|
10441
10801
|
if (Buffer3.TYPED_ARRAY_SUPPORT) {
|
10442
|
-
|
10443
|
-
|
10802
|
+
that = new Uint8Array(length2);
|
10803
|
+
that.__proto__ = Buffer3.prototype;
|
10444
10804
|
} else {
|
10445
|
-
if (
|
10446
|
-
|
10805
|
+
if (that === null) {
|
10806
|
+
that = new Buffer3(length2);
|
10447
10807
|
}
|
10448
|
-
|
10808
|
+
that.length = length2;
|
10449
10809
|
}
|
10450
|
-
return
|
10810
|
+
return that;
|
10451
10811
|
}
|
10452
10812
|
function Buffer3(arg, encodingOrOffset, length2) {
|
10453
10813
|
if (!Buffer3.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer3)) {
|
@@ -10468,17 +10828,17 @@ var json2csv_umd = { exports: {} };
|
|
10468
10828
|
arr.__proto__ = Buffer3.prototype;
|
10469
10829
|
return arr;
|
10470
10830
|
};
|
10471
|
-
function from(
|
10831
|
+
function from(that, value2, encodingOrOffset, length2) {
|
10472
10832
|
if (typeof value2 === "number") {
|
10473
10833
|
throw new TypeError('"value" argument must not be a number');
|
10474
10834
|
}
|
10475
10835
|
if (typeof ArrayBuffer !== "undefined" && value2 instanceof ArrayBuffer) {
|
10476
|
-
return fromArrayBuffer(
|
10836
|
+
return fromArrayBuffer(that, value2, encodingOrOffset, length2);
|
10477
10837
|
}
|
10478
10838
|
if (typeof value2 === "string") {
|
10479
|
-
return fromString2(
|
10839
|
+
return fromString2(that, value2, encodingOrOffset);
|
10480
10840
|
}
|
10481
|
-
return fromObject(
|
10841
|
+
return fromObject(that, value2);
|
10482
10842
|
}
|
10483
10843
|
Buffer3.from = function(value2, encodingOrOffset, length2) {
|
10484
10844
|
return from(null, value2, encodingOrOffset, length2);
|
@@ -10494,28 +10854,28 @@ var json2csv_umd = { exports: {} };
|
|
10494
10854
|
throw new RangeError('"size" argument must not be negative');
|
10495
10855
|
}
|
10496
10856
|
}
|
10497
|
-
function alloc(
|
10857
|
+
function alloc(that, size2, fill2, encoding) {
|
10498
10858
|
assertSize(size2);
|
10499
10859
|
if (size2 <= 0) {
|
10500
|
-
return createBuffer(
|
10860
|
+
return createBuffer(that, size2);
|
10501
10861
|
}
|
10502
10862
|
if (fill2 !== void 0) {
|
10503
|
-
return typeof encoding === "string" ? createBuffer(
|
10863
|
+
return typeof encoding === "string" ? createBuffer(that, size2).fill(fill2, encoding) : createBuffer(that, size2).fill(fill2);
|
10504
10864
|
}
|
10505
|
-
return createBuffer(
|
10865
|
+
return createBuffer(that, size2);
|
10506
10866
|
}
|
10507
10867
|
Buffer3.alloc = function(size2, fill2, encoding) {
|
10508
10868
|
return alloc(null, size2, fill2, encoding);
|
10509
10869
|
};
|
10510
|
-
function allocUnsafe2(
|
10870
|
+
function allocUnsafe2(that, size2) {
|
10511
10871
|
assertSize(size2);
|
10512
|
-
|
10872
|
+
that = createBuffer(that, size2 < 0 ? 0 : checked(size2) | 0);
|
10513
10873
|
if (!Buffer3.TYPED_ARRAY_SUPPORT) {
|
10514
10874
|
for (var i2 = 0; i2 < size2; ++i2) {
|
10515
|
-
|
10875
|
+
that[i2] = 0;
|
10516
10876
|
}
|
10517
10877
|
}
|
10518
|
-
return
|
10878
|
+
return that;
|
10519
10879
|
}
|
10520
10880
|
Buffer3.allocUnsafe = function(size2) {
|
10521
10881
|
return allocUnsafe2(null, size2);
|
@@ -10523,7 +10883,7 @@ var json2csv_umd = { exports: {} };
|
|
10523
10883
|
Buffer3.allocUnsafeSlow = function(size2) {
|
10524
10884
|
return allocUnsafe2(null, size2);
|
10525
10885
|
};
|
10526
|
-
function fromString2(
|
10886
|
+
function fromString2(that, string2, encoding) {
|
10527
10887
|
if (typeof encoding !== "string" || encoding === "") {
|
10528
10888
|
encoding = "utf8";
|
10529
10889
|
}
|
@@ -10531,22 +10891,22 @@ var json2csv_umd = { exports: {} };
|
|
10531
10891
|
throw new TypeError('"encoding" must be a valid string encoding');
|
10532
10892
|
}
|
10533
10893
|
var length2 = byteLength(string2, encoding) | 0;
|
10534
|
-
|
10535
|
-
var actual =
|
10894
|
+
that = createBuffer(that, length2);
|
10895
|
+
var actual = that.write(string2, encoding);
|
10536
10896
|
if (actual !== length2) {
|
10537
|
-
|
10897
|
+
that = that.slice(0, actual);
|
10538
10898
|
}
|
10539
|
-
return
|
10899
|
+
return that;
|
10540
10900
|
}
|
10541
|
-
function fromArrayLike(
|
10901
|
+
function fromArrayLike(that, array2) {
|
10542
10902
|
var length2 = array2.length < 0 ? 0 : checked(array2.length) | 0;
|
10543
|
-
|
10903
|
+
that = createBuffer(that, length2);
|
10544
10904
|
for (var i2 = 0; i2 < length2; i2 += 1) {
|
10545
|
-
|
10905
|
+
that[i2] = array2[i2] & 255;
|
10546
10906
|
}
|
10547
|
-
return
|
10907
|
+
return that;
|
10548
10908
|
}
|
10549
|
-
function fromArrayBuffer(
|
10909
|
+
function fromArrayBuffer(that, array2, byteOffset, length2) {
|
10550
10910
|
array2.byteLength;
|
10551
10911
|
if (byteOffset < 0 || array2.byteLength < byteOffset) {
|
10552
10912
|
throw new RangeError("'offset' is out of bounds");
|
@@ -10562,32 +10922,32 @@ var json2csv_umd = { exports: {} };
|
|
10562
10922
|
array2 = new Uint8Array(array2, byteOffset, length2);
|
10563
10923
|
}
|
10564
10924
|
if (Buffer3.TYPED_ARRAY_SUPPORT) {
|
10565
|
-
|
10566
|
-
|
10925
|
+
that = array2;
|
10926
|
+
that.__proto__ = Buffer3.prototype;
|
10567
10927
|
} else {
|
10568
|
-
|
10928
|
+
that = fromArrayLike(that, array2);
|
10569
10929
|
}
|
10570
|
-
return
|
10930
|
+
return that;
|
10571
10931
|
}
|
10572
|
-
function fromObject(
|
10932
|
+
function fromObject(that, obj) {
|
10573
10933
|
if (internalIsBuffer(obj)) {
|
10574
10934
|
var len2 = checked(obj.length) | 0;
|
10575
|
-
|
10576
|
-
if (
|
10577
|
-
return
|
10935
|
+
that = createBuffer(that, len2);
|
10936
|
+
if (that.length === 0) {
|
10937
|
+
return that;
|
10578
10938
|
}
|
10579
|
-
obj.copy(
|
10580
|
-
return
|
10939
|
+
obj.copy(that, 0, 0, len2);
|
10940
|
+
return that;
|
10581
10941
|
}
|
10582
10942
|
if (obj) {
|
10583
10943
|
if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) {
|
10584
10944
|
if (typeof obj.length !== "number" || isnan(obj.length)) {
|
10585
|
-
return createBuffer(
|
10945
|
+
return createBuffer(that, 0);
|
10586
10946
|
}
|
10587
|
-
return fromArrayLike(
|
10947
|
+
return fromArrayLike(that, obj);
|
10588
10948
|
}
|
10589
10949
|
if (obj.type === "Buffer" && isArray3(obj.data)) {
|
10590
|
-
return fromArrayLike(
|
10950
|
+
return fromArrayLike(that, obj.data);
|
10591
10951
|
}
|
10592
10952
|
}
|
10593
10953
|
throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");
|
@@ -15655,7 +16015,7 @@ function rgbSpline$1(spline) {
|
|
15655
16015
|
return (t4) => [r3(t4), g2(t4), b2(t4)];
|
15656
16016
|
};
|
15657
16017
|
}
|
15658
|
-
function basis$
|
16018
|
+
function basis$2(values3) {
|
15659
16019
|
function innerBasis(t12, v0, v12, v2, v32) {
|
15660
16020
|
const t22 = t12 * t12;
|
15661
16021
|
const t32 = t22 * t12;
|
@@ -15671,7 +16031,7 @@ function basis$3(values3) {
|
|
15671
16031
|
return innerBasis((t4 - i2 / n3) * n3, v0, v12, v2, v32);
|
15672
16032
|
};
|
15673
16033
|
}
|
15674
|
-
const interpolateRgbBasis = rgbSpline$1(basis$
|
16034
|
+
const interpolateRgbBasis = rgbSpline$1(basis$2);
|
15675
16035
|
function interpolateSequentialMulti(range2) {
|
15676
16036
|
const n3 = range2.length;
|
15677
16037
|
return (t4) => range2[Math.max(0, Math.min(n3 - 1, Math.floor(t4 * n3)))];
|
@@ -15783,7 +16143,7 @@ function nodeTransform(node, predicate, transform3, transformedPaths, currPath =
|
|
15783
16143
|
if ("children" in node) {
|
15784
16144
|
return {
|
15785
16145
|
...node,
|
15786
|
-
children: node.children.map((
|
16146
|
+
children: node.children.map((child) => nodeTransform(child, predicate, transform3, transformedPaths, newPath.concat([child.name])))
|
15787
16147
|
};
|
15788
16148
|
}
|
15789
16149
|
return node;
|
@@ -18740,6 +19100,11 @@ const CoordinationType$1 = {
|
|
18740
19100
|
FEATURE_VALUE_TRANSFORM_COEFFICIENT: "featureValueTransformCoefficient",
|
18741
19101
|
TOOLTIPS_VISIBLE: "tooltipsVisible"
|
18742
19102
|
};
|
19103
|
+
const STATUS$1 = {
|
19104
|
+
LOADING: "loading",
|
19105
|
+
SUCCESS: "success",
|
19106
|
+
ERROR: "error"
|
19107
|
+
};
|
18743
19108
|
const COMPONENT_COORDINATION_TYPES = {
|
18744
19109
|
[ViewType$1.SCATTERPLOT]: [
|
18745
19110
|
CoordinationType$1.DATASET,
|
@@ -21505,15 +21870,15 @@ function createTheme() {
|
|
21505
21870
|
var depth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
|
21506
21871
|
var key2;
|
21507
21872
|
for (key2 in node) {
|
21508
|
-
var
|
21873
|
+
var child = node[key2];
|
21509
21874
|
if (depth === 1) {
|
21510
|
-
if (key2.indexOf("Mui") === 0 &&
|
21511
|
-
traverse2(
|
21875
|
+
if (key2.indexOf("Mui") === 0 && child) {
|
21876
|
+
traverse2(child, key2, depth + 1);
|
21512
21877
|
}
|
21513
|
-
} else if (pseudoClasses2.indexOf(key2) !== -1 && Object.keys(
|
21878
|
+
} else if (pseudoClasses2.indexOf(key2) !== -1 && Object.keys(child).length > 0) {
|
21514
21879
|
{
|
21515
21880
|
console.error(["Material-UI: The `".concat(parentKey, "` component increases ") + "the CSS specificity of the `".concat(key2, "` internal state."), "You can not override it like this: ", JSON.stringify(node, null, 2), "", "Instead, you need to use the $ruleName syntax:", JSON.stringify({
|
21516
|
-
root: _defineProperty$m({}, "&$".concat(key2),
|
21881
|
+
root: _defineProperty$m({}, "&$".concat(key2), child)
|
21517
21882
|
}, null, 2), "", "https://mui.com/r/pseudo-classes-guide"].join("\n"));
|
21518
21883
|
}
|
21519
21884
|
node[key2] = {};
|
@@ -22834,11 +23199,11 @@ var DomRenderer = /* @__PURE__ */ function() {
|
|
22834
23199
|
if (sheet)
|
22835
23200
|
sheets.add(sheet);
|
22836
23201
|
this.sheet = sheet;
|
22837
|
-
var _ref3 = this.sheet ? this.sheet.options : {},
|
23202
|
+
var _ref3 = this.sheet ? this.sheet.options : {}, media = _ref3.media, meta2 = _ref3.meta, element2 = _ref3.element;
|
22838
23203
|
this.element = element2 || createStyle();
|
22839
23204
|
this.element.setAttribute("data-jss", "");
|
22840
|
-
if (
|
22841
|
-
this.element.setAttribute("media",
|
23205
|
+
if (media)
|
23206
|
+
this.element.setAttribute("media", media);
|
22842
23207
|
if (meta2)
|
22843
23208
|
this.element.setAttribute("data-meta", meta2);
|
22844
23209
|
var nonce = getNonce();
|
@@ -24897,9 +25262,9 @@ function debounce$4(func) {
|
|
24897
25262
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
24898
25263
|
args[_key] = arguments[_key];
|
24899
25264
|
}
|
24900
|
-
var
|
25265
|
+
var that = this;
|
24901
25266
|
var later = function later2() {
|
24902
|
-
func.apply(
|
25267
|
+
func.apply(that, args);
|
24903
25268
|
};
|
24904
25269
|
clearTimeout(timeout3);
|
24905
25270
|
timeout3 = setTimeout(later, wait2);
|
@@ -25557,15 +25922,15 @@ function _assertThisInitialized$v(self2) {
|
|
25557
25922
|
return self2;
|
25558
25923
|
}
|
25559
25924
|
function getChildMapping(children2, mapFn) {
|
25560
|
-
var mapper = function mapper2(
|
25561
|
-
return mapFn && isValidElement(
|
25925
|
+
var mapper = function mapper2(child) {
|
25926
|
+
return mapFn && isValidElement(child) ? mapFn(child) : child;
|
25562
25927
|
};
|
25563
25928
|
var result = /* @__PURE__ */ Object.create(null);
|
25564
25929
|
if (children2)
|
25565
25930
|
Children.map(children2, function(c2) {
|
25566
25931
|
return c2;
|
25567
|
-
}).forEach(function(
|
25568
|
-
result[
|
25932
|
+
}).forEach(function(child) {
|
25933
|
+
result[child.key] = mapper(child);
|
25569
25934
|
});
|
25570
25935
|
return result;
|
25571
25936
|
}
|
@@ -25603,17 +25968,17 @@ function mergeChildMappings(prev, next3) {
|
|
25603
25968
|
}
|
25604
25969
|
return childMapping;
|
25605
25970
|
}
|
25606
|
-
function getProp(
|
25607
|
-
return props2[prop] != null ? props2[prop] :
|
25971
|
+
function getProp(child, prop, props2) {
|
25972
|
+
return props2[prop] != null ? props2[prop] : child.props[prop];
|
25608
25973
|
}
|
25609
25974
|
function getInitialChildMapping(props2, onExited) {
|
25610
|
-
return getChildMapping(props2.children, function(
|
25611
|
-
return cloneElement(
|
25612
|
-
onExited: onExited.bind(null,
|
25975
|
+
return getChildMapping(props2.children, function(child) {
|
25976
|
+
return cloneElement(child, {
|
25977
|
+
onExited: onExited.bind(null, child),
|
25613
25978
|
in: true,
|
25614
|
-
appear: getProp(
|
25615
|
-
enter: getProp(
|
25616
|
-
exit: getProp(
|
25979
|
+
appear: getProp(child, "appear", props2),
|
25980
|
+
enter: getProp(child, "enter", props2),
|
25981
|
+
exit: getProp(child, "exit", props2)
|
25617
25982
|
});
|
25618
25983
|
});
|
25619
25984
|
}
|
@@ -25621,30 +25986,30 @@ function getNextChildMapping(nextProps, prevChildMapping, onExited) {
|
|
25621
25986
|
var nextChildMapping = getChildMapping(nextProps.children);
|
25622
25987
|
var children2 = mergeChildMappings(prevChildMapping, nextChildMapping);
|
25623
25988
|
Object.keys(children2).forEach(function(key2) {
|
25624
|
-
var
|
25625
|
-
if (!isValidElement(
|
25989
|
+
var child = children2[key2];
|
25990
|
+
if (!isValidElement(child))
|
25626
25991
|
return;
|
25627
25992
|
var hasPrev = key2 in prevChildMapping;
|
25628
25993
|
var hasNext = key2 in nextChildMapping;
|
25629
25994
|
var prevChild = prevChildMapping[key2];
|
25630
25995
|
var isLeaving = isValidElement(prevChild) && !prevChild.props.in;
|
25631
25996
|
if (hasNext && (!hasPrev || isLeaving)) {
|
25632
|
-
children2[key2] = cloneElement(
|
25633
|
-
onExited: onExited.bind(null,
|
25997
|
+
children2[key2] = cloneElement(child, {
|
25998
|
+
onExited: onExited.bind(null, child),
|
25634
25999
|
in: true,
|
25635
|
-
exit: getProp(
|
25636
|
-
enter: getProp(
|
26000
|
+
exit: getProp(child, "exit", nextProps),
|
26001
|
+
enter: getProp(child, "enter", nextProps)
|
25637
26002
|
});
|
25638
26003
|
} else if (!hasNext && hasPrev && !isLeaving) {
|
25639
|
-
children2[key2] = cloneElement(
|
26004
|
+
children2[key2] = cloneElement(child, {
|
25640
26005
|
in: false
|
25641
26006
|
});
|
25642
26007
|
} else if (hasNext && hasPrev && isValidElement(prevChild)) {
|
25643
|
-
children2[key2] = cloneElement(
|
25644
|
-
onExited: onExited.bind(null,
|
26008
|
+
children2[key2] = cloneElement(child, {
|
26009
|
+
onExited: onExited.bind(null, child),
|
25645
26010
|
in: prevChild.props.in,
|
25646
|
-
exit: getProp(
|
25647
|
-
enter: getProp(
|
26011
|
+
exit: getProp(child, "exit", nextProps),
|
26012
|
+
enter: getProp(child, "enter", nextProps)
|
25648
26013
|
});
|
25649
26014
|
}
|
25650
26015
|
});
|
@@ -25657,8 +26022,8 @@ var values$4 = Object.values || function(obj) {
|
|
25657
26022
|
};
|
25658
26023
|
var defaultProps$N = {
|
25659
26024
|
component: "div",
|
25660
|
-
childFactory: function childFactory(
|
25661
|
-
return
|
26025
|
+
childFactory: function childFactory(child) {
|
26026
|
+
return child;
|
25662
26027
|
}
|
25663
26028
|
};
|
25664
26029
|
var TransitionGroup = /* @__PURE__ */ function(_React$Component) {
|
@@ -25695,17 +26060,17 @@ var TransitionGroup = /* @__PURE__ */ function(_React$Component) {
|
|
25695
26060
|
firstRender: false
|
25696
26061
|
};
|
25697
26062
|
};
|
25698
|
-
_proto.handleExited = function handleExited(
|
26063
|
+
_proto.handleExited = function handleExited(child, node) {
|
25699
26064
|
var currentChildMapping = getChildMapping(this.props.children);
|
25700
|
-
if (
|
26065
|
+
if (child.key in currentChildMapping)
|
25701
26066
|
return;
|
25702
|
-
if (
|
25703
|
-
|
26067
|
+
if (child.props.onExited) {
|
26068
|
+
child.props.onExited(node);
|
25704
26069
|
}
|
25705
26070
|
if (this.mounted) {
|
25706
26071
|
this.setState(function(state) {
|
25707
26072
|
var children2 = _extends$6({}, state.children);
|
25708
|
-
delete children2[
|
26073
|
+
delete children2[child.key];
|
25709
26074
|
return {
|
25710
26075
|
children: children2
|
25711
26076
|
};
|
@@ -27101,8 +27466,8 @@ IconButton$1.propTypes = {
|
|
27101
27466
|
* The icon element.
|
27102
27467
|
*/
|
27103
27468
|
children: chainPropTypes(_pt.node, function(props2) {
|
27104
|
-
var found = React.Children.toArray(props2.children).some(function(
|
27105
|
-
return /* @__PURE__ */ React.isValidElement(
|
27469
|
+
var found = React.Children.toArray(props2.children).some(function(child) {
|
27470
|
+
return /* @__PURE__ */ React.isValidElement(child) && child.props.onClick;
|
27106
27471
|
});
|
27107
27472
|
if (found) {
|
27108
27473
|
return new Error(["Material-UI: You are providing an onClick event listener to a child of a button element.", "Firefox will never trigger the event.", "You should move the onClick listener to the parent button element.", "https://github.com/mui-org/material-ui/issues/13957"].join("\n"));
|
@@ -29907,11 +30272,11 @@ var FormControl = /* @__PURE__ */ React.forwardRef(function FormControl2(props2,
|
|
29907
30272
|
var _React$useState = React.useState(function() {
|
29908
30273
|
var initialAdornedStart = false;
|
29909
30274
|
if (children2) {
|
29910
|
-
React.Children.forEach(children2, function(
|
29911
|
-
if (!isMuiElement(
|
30275
|
+
React.Children.forEach(children2, function(child) {
|
30276
|
+
if (!isMuiElement(child, ["Input", "Select"])) {
|
29912
30277
|
return;
|
29913
30278
|
}
|
29914
|
-
var input = isMuiElement(
|
30279
|
+
var input = isMuiElement(child, ["Select"]) ? child.props.input : child;
|
29915
30280
|
if (input && isAdornedStart(input.props)) {
|
29916
30281
|
initialAdornedStart = true;
|
29917
30282
|
}
|
@@ -29922,11 +30287,11 @@ var FormControl = /* @__PURE__ */ React.forwardRef(function FormControl2(props2,
|
|
29922
30287
|
var _React$useState2 = React.useState(function() {
|
29923
30288
|
var initialFilled = false;
|
29924
30289
|
if (children2) {
|
29925
|
-
React.Children.forEach(children2, function(
|
29926
|
-
if (!isMuiElement(
|
30290
|
+
React.Children.forEach(children2, function(child) {
|
30291
|
+
if (!isMuiElement(child, ["Input", "Select"])) {
|
29927
30292
|
return;
|
29928
30293
|
}
|
29929
|
-
if (isFilled(
|
30294
|
+
if (isFilled(child.props, true)) {
|
29930
30295
|
initialFilled = true;
|
29931
30296
|
}
|
29932
30297
|
});
|
@@ -31395,8 +31760,8 @@ ListItem.propTypes = {
|
|
31395
31760
|
var children2 = React.Children.toArray(props2.children);
|
31396
31761
|
var secondaryActionIndex = -1;
|
31397
31762
|
for (var i2 = children2.length - 1; i2 >= 0; i2 -= 1) {
|
31398
|
-
var
|
31399
|
-
if (isMuiElement(
|
31763
|
+
var child = children2[i2];
|
31764
|
+
if (isMuiElement(child, ["ListItemSecondaryAction"])) {
|
31400
31765
|
secondaryActionIndex = i2;
|
31401
31766
|
break;
|
31402
31767
|
}
|
@@ -31484,8 +31849,8 @@ function getTransformOriginValue(transformOrigin) {
|
|
31484
31849
|
return typeof n3 === "number" ? "".concat(n3, "px") : n3;
|
31485
31850
|
}).join(" ");
|
31486
31851
|
}
|
31487
|
-
function getScrollParent$1(parent,
|
31488
|
-
var element2 =
|
31852
|
+
function getScrollParent$1(parent, child) {
|
31853
|
+
var element2 = child;
|
31489
31854
|
var scrollTop = 0;
|
31490
31855
|
while (element2 && element2 !== parent) {
|
31491
31856
|
element2 = element2.parentElement;
|
@@ -32000,35 +32365,35 @@ var MenuList = /* @__PURE__ */ React.forwardRef(function MenuList2(props2, ref2)
|
|
32000
32365
|
}, []);
|
32001
32366
|
var handleRef = useForkRef(handleOwnRef, ref2);
|
32002
32367
|
var activeItemIndex = -1;
|
32003
|
-
React.Children.forEach(children2, function(
|
32004
|
-
if (!/* @__PURE__ */ React.isValidElement(
|
32368
|
+
React.Children.forEach(children2, function(child, index2) {
|
32369
|
+
if (!/* @__PURE__ */ React.isValidElement(child)) {
|
32005
32370
|
return;
|
32006
32371
|
}
|
32007
32372
|
{
|
32008
|
-
if (reactIsExports.isFragment(
|
32373
|
+
if (reactIsExports.isFragment(child)) {
|
32009
32374
|
console.error(["Material-UI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join("\n"));
|
32010
32375
|
}
|
32011
32376
|
}
|
32012
|
-
if (!
|
32013
|
-
if (variant === "selectedMenu" &&
|
32377
|
+
if (!child.props.disabled) {
|
32378
|
+
if (variant === "selectedMenu" && child.props.selected) {
|
32014
32379
|
activeItemIndex = index2;
|
32015
32380
|
} else if (activeItemIndex === -1) {
|
32016
32381
|
activeItemIndex = index2;
|
32017
32382
|
}
|
32018
32383
|
}
|
32019
32384
|
});
|
32020
|
-
var items = React.Children.map(children2, function(
|
32385
|
+
var items = React.Children.map(children2, function(child, index2) {
|
32021
32386
|
if (index2 === activeItemIndex) {
|
32022
32387
|
var newChildProps = {};
|
32023
32388
|
if (autoFocusItem) {
|
32024
32389
|
newChildProps.autoFocus = true;
|
32025
32390
|
}
|
32026
|
-
if (
|
32391
|
+
if (child.props.tabIndex === void 0 && variant === "selectedMenu") {
|
32027
32392
|
newChildProps.tabIndex = 0;
|
32028
32393
|
}
|
32029
|
-
return /* @__PURE__ */ React.cloneElement(
|
32394
|
+
return /* @__PURE__ */ React.cloneElement(child, newChildProps);
|
32030
32395
|
}
|
32031
|
-
return
|
32396
|
+
return child;
|
32032
32397
|
});
|
32033
32398
|
return /* @__PURE__ */ React.createElement(List$1, _extends$6({
|
32034
32399
|
role: "menu",
|
@@ -32134,33 +32499,33 @@ var Menu = /* @__PURE__ */ React.forwardRef(function Menu2(props2, ref2) {
|
|
32134
32499
|
}
|
32135
32500
|
};
|
32136
32501
|
var activeItemIndex = -1;
|
32137
|
-
React.Children.map(children2, function(
|
32138
|
-
if (!/* @__PURE__ */ React.isValidElement(
|
32502
|
+
React.Children.map(children2, function(child, index2) {
|
32503
|
+
if (!/* @__PURE__ */ React.isValidElement(child)) {
|
32139
32504
|
return;
|
32140
32505
|
}
|
32141
32506
|
{
|
32142
|
-
if (reactIsExports.isFragment(
|
32507
|
+
if (reactIsExports.isFragment(child)) {
|
32143
32508
|
console.error(["Material-UI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join("\n"));
|
32144
32509
|
}
|
32145
32510
|
}
|
32146
|
-
if (!
|
32147
|
-
if (variant !== "menu" &&
|
32511
|
+
if (!child.props.disabled) {
|
32512
|
+
if (variant !== "menu" && child.props.selected) {
|
32148
32513
|
activeItemIndex = index2;
|
32149
32514
|
} else if (activeItemIndex === -1) {
|
32150
32515
|
activeItemIndex = index2;
|
32151
32516
|
}
|
32152
32517
|
}
|
32153
32518
|
});
|
32154
|
-
var items = React.Children.map(children2, function(
|
32519
|
+
var items = React.Children.map(children2, function(child, index2) {
|
32155
32520
|
if (index2 === activeItemIndex) {
|
32156
|
-
return /* @__PURE__ */ React.cloneElement(
|
32521
|
+
return /* @__PURE__ */ React.cloneElement(child, {
|
32157
32522
|
ref: function ref3(instance) {
|
32158
32523
|
contentAnchorRef.current = ReactDOM.findDOMNode(instance);
|
32159
|
-
setRef(
|
32524
|
+
setRef(child.ref, instance);
|
32160
32525
|
}
|
32161
32526
|
});
|
32162
32527
|
}
|
32163
|
-
return
|
32528
|
+
return child;
|
32164
32529
|
});
|
32165
32530
|
return /* @__PURE__ */ React.createElement(Popover$2, _extends$6({
|
32166
32531
|
getContentAnchorEl,
|
@@ -34811,7 +35176,7 @@ var SelectInput = /* @__PURE__ */ React.forwardRef(function SelectInput2(props2,
|
|
34811
35176
|
var handleRef = useForkRef(ref2, inputRefProp);
|
34812
35177
|
React.useImperativeHandle(handleRef, function() {
|
34813
35178
|
return {
|
34814
|
-
focus: function
|
35179
|
+
focus: function focus() {
|
34815
35180
|
displayNode.focus();
|
34816
35181
|
},
|
34817
35182
|
node: inputRef.current,
|
@@ -34866,19 +35231,19 @@ var SelectInput = /* @__PURE__ */ React.forwardRef(function SelectInput2(props2,
|
|
34866
35231
|
};
|
34867
35232
|
var childrenArray = React.Children.toArray(children2);
|
34868
35233
|
var handleChange = function handleChange2(event2) {
|
34869
|
-
var index2 = childrenArray.map(function(
|
34870
|
-
return
|
35234
|
+
var index2 = childrenArray.map(function(child2) {
|
35235
|
+
return child2.props.value;
|
34871
35236
|
}).indexOf(event2.target.value);
|
34872
35237
|
if (index2 === -1) {
|
34873
35238
|
return;
|
34874
35239
|
}
|
34875
|
-
var
|
34876
|
-
setValue(
|
35240
|
+
var child = childrenArray[index2];
|
35241
|
+
setValue(child.props.value);
|
34877
35242
|
if (onChange) {
|
34878
|
-
onChange(event2,
|
35243
|
+
onChange(event2, child);
|
34879
35244
|
}
|
34880
35245
|
};
|
34881
|
-
var handleItemClick = function handleItemClick2(
|
35246
|
+
var handleItemClick = function handleItemClick2(child) {
|
34882
35247
|
return function(event2) {
|
34883
35248
|
if (!multiple) {
|
34884
35249
|
update2(false, event2);
|
@@ -34886,17 +35251,17 @@ var SelectInput = /* @__PURE__ */ React.forwardRef(function SelectInput2(props2,
|
|
34886
35251
|
var newValue;
|
34887
35252
|
if (multiple) {
|
34888
35253
|
newValue = Array.isArray(value2) ? value2.slice() : [];
|
34889
|
-
var itemIndex = value2.indexOf(
|
35254
|
+
var itemIndex = value2.indexOf(child.props.value);
|
34890
35255
|
if (itemIndex === -1) {
|
34891
|
-
newValue.push(
|
35256
|
+
newValue.push(child.props.value);
|
34892
35257
|
} else {
|
34893
35258
|
newValue.splice(itemIndex, 1);
|
34894
35259
|
}
|
34895
35260
|
} else {
|
34896
|
-
newValue =
|
35261
|
+
newValue = child.props.value;
|
34897
35262
|
}
|
34898
|
-
if (
|
34899
|
-
|
35263
|
+
if (child.props.onClick) {
|
35264
|
+
child.props.onClick(event2);
|
34900
35265
|
}
|
34901
35266
|
if (value2 === newValue) {
|
34902
35267
|
return;
|
@@ -34911,7 +35276,7 @@ var SelectInput = /* @__PURE__ */ React.forwardRef(function SelectInput2(props2,
|
|
34911
35276
|
name: name2
|
34912
35277
|
}
|
34913
35278
|
});
|
34914
|
-
onChange(event2,
|
35279
|
+
onChange(event2, child);
|
34915
35280
|
}
|
34916
35281
|
};
|
34917
35282
|
};
|
@@ -34960,12 +35325,12 @@ var SelectInput = /* @__PURE__ */ React.forwardRef(function SelectInput2(props2,
|
|
34960
35325
|
computeDisplay = true;
|
34961
35326
|
}
|
34962
35327
|
}
|
34963
|
-
var items = childrenArray.map(function(
|
34964
|
-
if (!/* @__PURE__ */ React.isValidElement(
|
35328
|
+
var items = childrenArray.map(function(child) {
|
35329
|
+
if (!/* @__PURE__ */ React.isValidElement(child)) {
|
34965
35330
|
return null;
|
34966
35331
|
}
|
34967
35332
|
{
|
34968
|
-
if (reactIsExports.isFragment(
|
35333
|
+
if (reactIsExports.isFragment(child)) {
|
34969
35334
|
console.error(["Material-UI: The Select component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join("\n"));
|
34970
35335
|
}
|
34971
35336
|
}
|
@@ -34975,44 +35340,44 @@ var SelectInput = /* @__PURE__ */ React.forwardRef(function SelectInput2(props2,
|
|
34975
35340
|
throw new Error("Material-UI: The `value` prop must be an array when using the `Select` component with `multiple`.");
|
34976
35341
|
}
|
34977
35342
|
selected = value2.some(function(v) {
|
34978
|
-
return areEqualValues(v,
|
35343
|
+
return areEqualValues(v, child.props.value);
|
34979
35344
|
});
|
34980
35345
|
if (selected && computeDisplay) {
|
34981
|
-
displayMultiple.push(
|
35346
|
+
displayMultiple.push(child.props.children);
|
34982
35347
|
}
|
34983
35348
|
} else {
|
34984
|
-
selected = areEqualValues(value2,
|
35349
|
+
selected = areEqualValues(value2, child.props.value);
|
34985
35350
|
if (selected && computeDisplay) {
|
34986
|
-
displaySingle =
|
35351
|
+
displaySingle = child.props.children;
|
34987
35352
|
}
|
34988
35353
|
}
|
34989
35354
|
if (selected) {
|
34990
35355
|
foundMatch = true;
|
34991
35356
|
}
|
34992
|
-
return /* @__PURE__ */ React.cloneElement(
|
35357
|
+
return /* @__PURE__ */ React.cloneElement(child, {
|
34993
35358
|
"aria-selected": selected ? "true" : void 0,
|
34994
|
-
onClick: handleItemClick(
|
35359
|
+
onClick: handleItemClick(child),
|
34995
35360
|
onKeyUp: function onKeyUp(event2) {
|
34996
35361
|
if (event2.key === " ") {
|
34997
35362
|
event2.preventDefault();
|
34998
35363
|
}
|
34999
|
-
if (
|
35000
|
-
|
35364
|
+
if (child.props.onKeyUp) {
|
35365
|
+
child.props.onKeyUp(event2);
|
35001
35366
|
}
|
35002
35367
|
},
|
35003
35368
|
role: "option",
|
35004
35369
|
selected,
|
35005
35370
|
value: void 0,
|
35006
35371
|
// The value is most likely not a valid HTML attribute.
|
35007
|
-
"data-value":
|
35372
|
+
"data-value": child.props.value
|
35008
35373
|
// Instead, we provide it as a data attribute.
|
35009
35374
|
});
|
35010
35375
|
});
|
35011
35376
|
{
|
35012
35377
|
React.useEffect(function() {
|
35013
35378
|
if (!foundMatch && !multiple && value2 !== "") {
|
35014
|
-
var values3 = childrenArray.map(function(
|
35015
|
-
return
|
35379
|
+
var values3 = childrenArray.map(function(child) {
|
35380
|
+
return child.props.value;
|
35016
35381
|
});
|
35017
35382
|
console.warn(["Material-UI: You have provided an out-of-range value `".concat(value2, "` for the select ").concat(name2 ? '(name="'.concat(name2, '") ') : "", "component."), "Consider providing a value that matches one of the available options or ''.", "The available values are ".concat(values3.filter(function(x2) {
|
35018
35383
|
return x2 != null;
|
@@ -37301,20 +37666,20 @@ var Tabs = /* @__PURE__ */ React.forwardRef(function Tabs2(props2, ref2) {
|
|
37301
37666
|
style: _extends$6({}, indicatorStyle, TabIndicatorProps.style)
|
37302
37667
|
}));
|
37303
37668
|
var childIndex = 0;
|
37304
|
-
var children2 = React.Children.map(childrenProp, function(
|
37305
|
-
if (!/* @__PURE__ */ React.isValidElement(
|
37669
|
+
var children2 = React.Children.map(childrenProp, function(child) {
|
37670
|
+
if (!/* @__PURE__ */ React.isValidElement(child)) {
|
37306
37671
|
return null;
|
37307
37672
|
}
|
37308
37673
|
{
|
37309
|
-
if (reactIsExports.isFragment(
|
37674
|
+
if (reactIsExports.isFragment(child)) {
|
37310
37675
|
console.error(["Material-UI: The Tabs component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join("\n"));
|
37311
37676
|
}
|
37312
37677
|
}
|
37313
|
-
var childValue =
|
37678
|
+
var childValue = child.props.value === void 0 ? childIndex : child.props.value;
|
37314
37679
|
valueToIndex.set(childValue, childIndex);
|
37315
37680
|
var selected = childValue === value2;
|
37316
37681
|
childIndex += 1;
|
37317
|
-
return /* @__PURE__ */ React.cloneElement(
|
37682
|
+
return /* @__PURE__ */ React.cloneElement(child, {
|
37318
37683
|
fullWidth: variant === "fullWidth",
|
37319
37684
|
indicator: selected && !mounted && indicator,
|
37320
37685
|
selected,
|
@@ -37815,26 +38180,26 @@ var _aFunction = function(it) {
|
|
37815
38180
|
return it;
|
37816
38181
|
};
|
37817
38182
|
var aFunction = _aFunction;
|
37818
|
-
var _ctx = function(fn,
|
38183
|
+
var _ctx = function(fn, that, length2) {
|
37819
38184
|
aFunction(fn);
|
37820
|
-
if (
|
38185
|
+
if (that === void 0)
|
37821
38186
|
return fn;
|
37822
38187
|
switch (length2) {
|
37823
38188
|
case 1:
|
37824
38189
|
return function(a2) {
|
37825
|
-
return fn.call(
|
38190
|
+
return fn.call(that, a2);
|
37826
38191
|
};
|
37827
38192
|
case 2:
|
37828
38193
|
return function(a2, b2) {
|
37829
|
-
return fn.call(
|
38194
|
+
return fn.call(that, a2, b2);
|
37830
38195
|
};
|
37831
38196
|
case 3:
|
37832
38197
|
return function(a2, b2, c2) {
|
37833
|
-
return fn.call(
|
38198
|
+
return fn.call(that, a2, b2, c2);
|
37834
38199
|
};
|
37835
38200
|
}
|
37836
38201
|
return function() {
|
37837
|
-
return fn.apply(
|
38202
|
+
return fn.apply(that, arguments);
|
37838
38203
|
};
|
37839
38204
|
};
|
37840
38205
|
var _objectDp = {};
|
@@ -38264,8 +38629,8 @@ var _typeof$y = {};
|
|
38264
38629
|
var toInteger = _toInteger;
|
38265
38630
|
var defined$6 = _defined;
|
38266
38631
|
var _stringAt = function(TO_STRING) {
|
38267
|
-
return function(
|
38268
|
-
var s2 = String(defined$6(
|
38632
|
+
return function(that, pos) {
|
38633
|
+
var s2 = String(defined$6(that));
|
38269
38634
|
var i2 = toInteger(pos);
|
38270
38635
|
var l2 = s2.length;
|
38271
38636
|
var a2, b2;
|
@@ -39078,16 +39443,16 @@ var warning_1 = warning;
|
|
39078
39443
|
const warning$1 = /* @__PURE__ */ getDefaultExportFromCjs$1(warning_1);
|
39079
39444
|
function toArray(children2) {
|
39080
39445
|
var ret = [];
|
39081
|
-
React__default.Children.forEach(children2, function(
|
39082
|
-
if (
|
39446
|
+
React__default.Children.forEach(children2, function(child) {
|
39447
|
+
if (child === void 0 || child === null) {
|
39083
39448
|
return;
|
39084
39449
|
}
|
39085
|
-
if (Array.isArray(
|
39086
|
-
ret = ret.concat(toArray(
|
39087
|
-
} else if (reactIsExports$1.isFragment(
|
39088
|
-
ret = ret.concat(toArray(
|
39450
|
+
if (Array.isArray(child)) {
|
39451
|
+
ret = ret.concat(toArray(child));
|
39452
|
+
} else if (reactIsExports$1.isFragment(child) && child.props) {
|
39453
|
+
ret = ret.concat(toArray(child.props.children));
|
39089
39454
|
} else {
|
39090
|
-
ret.push(
|
39455
|
+
ret.push(child);
|
39091
39456
|
}
|
39092
39457
|
});
|
39093
39458
|
return ret;
|
@@ -40240,8 +40605,8 @@ function conductCheck(keyList, isCheck, keyEntities) {
|
|
40240
40605
|
return;
|
40241
40606
|
var everyChildChecked = true;
|
40242
40607
|
var someChildChecked = false;
|
40243
|
-
(children2 || []).filter(function(
|
40244
|
-
return !isCheckDisabled(
|
40608
|
+
(children2 || []).filter(function(child) {
|
40609
|
+
return !isCheckDisabled(child.node);
|
40245
40610
|
}).forEach(function(_ref6) {
|
40246
40611
|
var childKey = _ref6.key;
|
40247
40612
|
var childChecked = checkedKeys[childKey];
|
@@ -40271,8 +40636,8 @@ function conductCheck(keyList, isCheck, keyEntities) {
|
|
40271
40636
|
if (isCheckDisabled(node))
|
40272
40637
|
return;
|
40273
40638
|
checkedKeys[key2] = isCheck;
|
40274
|
-
(children2 || []).forEach(function(
|
40275
|
-
conductDown(
|
40639
|
+
(children2 || []).forEach(function(child) {
|
40640
|
+
conductDown(child.key);
|
40276
40641
|
});
|
40277
40642
|
}
|
40278
40643
|
function conduct(key2) {
|
@@ -40285,10 +40650,10 @@ function conductCheck(keyList, isCheck, keyEntities) {
|
|
40285
40650
|
checkedKeys[key2] = isCheck;
|
40286
40651
|
if (isCheckDisabled(node))
|
40287
40652
|
return;
|
40288
|
-
(children2 || []).filter(function(
|
40289
|
-
return !isCheckDisabled(
|
40290
|
-
}).forEach(function(
|
40291
|
-
conductDown(
|
40653
|
+
(children2 || []).filter(function(child) {
|
40654
|
+
return !isCheckDisabled(child.node);
|
40655
|
+
}).forEach(function(child) {
|
40656
|
+
conductDown(child.key);
|
40292
40657
|
});
|
40293
40658
|
if (parent) {
|
40294
40659
|
conductUp(parent.key);
|
@@ -40659,16 +41024,16 @@ var Tree$2 = function(_React$Component) {
|
|
40659
41024
|
var _this$state$checkedKe = _this.state.checkedKeys, checkedKeys = _this$state$checkedKe === void 0 ? [] : _this$state$checkedKe;
|
40660
41025
|
return checkedKeys.indexOf(key2) !== -1;
|
40661
41026
|
};
|
40662
|
-
_this.renderTreeNode = function(
|
41027
|
+
_this.renderTreeNode = function(child, index2) {
|
40663
41028
|
var level = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
|
40664
41029
|
var _this$state3 = _this.state, keyEntities = _this$state3.keyEntities, _this$state3$expanded = _this$state3.expandedKeys, expandedKeys = _this$state3$expanded === void 0 ? [] : _this$state3$expanded, _this$state3$selected = _this$state3.selectedKeys, selectedKeys = _this$state3$selected === void 0 ? [] : _this$state3$selected, _this$state3$halfChec = _this$state3.halfCheckedKeys, halfCheckedKeys = _this$state3$halfChec === void 0 ? [] : _this$state3$halfChec, _this$state3$loadedKe = _this$state3.loadedKeys, loadedKeys = _this$state3$loadedKe === void 0 ? [] : _this$state3$loadedKe, _this$state3$loadingK = _this$state3.loadingKeys, loadingKeys = _this$state3$loadingK === void 0 ? [] : _this$state3$loadingK, dragOverNodeKey = _this$state3.dragOverNodeKey, dropPosition = _this$state3.dropPosition;
|
40665
41030
|
var pos = getPosition$3(level, index2);
|
40666
|
-
var key2 =
|
41031
|
+
var key2 = child.key || pos;
|
40667
41032
|
if (!keyEntities[key2]) {
|
40668
41033
|
warnOnlyTreeNode();
|
40669
41034
|
return null;
|
40670
41035
|
}
|
40671
|
-
return React__default.cloneElement(
|
41036
|
+
return React__default.cloneElement(child, {
|
40672
41037
|
key: key2,
|
40673
41038
|
eventKey: key2,
|
40674
41039
|
expanded: expandedKeys.indexOf(key2) !== -1,
|
@@ -44100,7 +44465,7 @@ var ResizeObserver = (
|
|
44100
44465
|
return (_a2 = observers.get(this))[method2].apply(_a2, arguments);
|
44101
44466
|
};
|
44102
44467
|
});
|
44103
|
-
var index$
|
44468
|
+
var index$3 = function() {
|
44104
44469
|
if (typeof global$1.ResizeObserver !== "undefined") {
|
44105
44470
|
return global$1.ResizeObserver;
|
44106
44471
|
}
|
@@ -44145,7 +44510,7 @@ function monitorResize(element2, callback) {
|
|
44145
44510
|
prevWidth = fixedWidth;
|
44146
44511
|
prevHeight = fixedHeight;
|
44147
44512
|
}
|
44148
|
-
var resizeObserver = new index$
|
44513
|
+
var resizeObserver = new index$3(onResize);
|
44149
44514
|
if (element2) {
|
44150
44515
|
resizeObserver.observe(element2);
|
44151
44516
|
}
|
@@ -45415,7 +45780,7 @@ function generateTrigger(PortalComponent) {
|
|
45415
45780
|
value: function render2() {
|
45416
45781
|
var popupVisible = this.state.popupVisible;
|
45417
45782
|
var _this$props11 = this.props, children2 = _this$props11.children, forceRender = _this$props11.forceRender, alignPoint2 = _this$props11.alignPoint, className = _this$props11.className, autoDestroy = _this$props11.autoDestroy;
|
45418
|
-
var
|
45783
|
+
var child = React.Children.only(children2);
|
45419
45784
|
var newChildProps = {
|
45420
45785
|
key: "trigger"
|
45421
45786
|
};
|
@@ -45453,15 +45818,15 @@ function generateTrigger(PortalComponent) {
|
|
45453
45818
|
newChildProps.onFocus = this.createTwoChains("onFocus");
|
45454
45819
|
newChildProps.onBlur = this.createTwoChains("onBlur");
|
45455
45820
|
}
|
45456
|
-
var childrenClassName = classNames(
|
45821
|
+
var childrenClassName = classNames(child && child.props && child.props.className, className);
|
45457
45822
|
if (childrenClassName) {
|
45458
45823
|
newChildProps.className = childrenClassName;
|
45459
45824
|
}
|
45460
45825
|
var cloneProps = _objectSpread2$1({}, newChildProps);
|
45461
|
-
if (supportRef(
|
45462
|
-
cloneProps.ref = composeRef(this.triggerRef,
|
45826
|
+
if (supportRef(child)) {
|
45827
|
+
cloneProps.ref = composeRef(this.triggerRef, child.ref);
|
45463
45828
|
}
|
45464
|
-
var trigger = /* @__PURE__ */ React.cloneElement(
|
45829
|
+
var trigger = /* @__PURE__ */ React.cloneElement(child, cloneProps);
|
45465
45830
|
var portal;
|
45466
45831
|
if (popupVisible || this.popupRef.current || forceRender) {
|
45467
45832
|
portal = /* @__PURE__ */ React.createElement(PortalComponent, {
|
@@ -50522,7 +50887,7 @@ const Swatch = ({
|
|
50522
50887
|
onHover,
|
50523
50888
|
title: title2 = color2,
|
50524
50889
|
children: children2,
|
50525
|
-
focus
|
50890
|
+
focus,
|
50526
50891
|
focusStyle = {}
|
50527
50892
|
}) => {
|
50528
50893
|
const transparent = color2 === "transparent";
|
@@ -50536,7 +50901,7 @@ const Swatch = ({
|
|
50536
50901
|
position: "relative",
|
50537
50902
|
outline: "none",
|
50538
50903
|
...style2,
|
50539
|
-
...
|
50904
|
+
...focus ? focusStyle : {}
|
50540
50905
|
}
|
50541
50906
|
}
|
50542
50907
|
});
|
@@ -51661,332 +52026,6 @@ function sum$5(values3, valueof) {
|
|
51661
52026
|
}
|
51662
52027
|
return sum2;
|
51663
52028
|
}
|
51664
|
-
var irregularPlurals$1 = { exports: {} };
|
51665
|
-
const addendum = "addenda";
|
51666
|
-
const aircraft = "aircraft";
|
51667
|
-
const alga = "algae";
|
51668
|
-
const alumna = "alumnae";
|
51669
|
-
const alumnus = "alumni";
|
51670
|
-
const amoeba = "amoebae";
|
51671
|
-
const analysis = "analyses";
|
51672
|
-
const antenna = "antennae";
|
51673
|
-
const antithesis = "antitheses";
|
51674
|
-
const apex = "apices";
|
51675
|
-
const appendix = "appendices";
|
51676
|
-
const automaton = "automata";
|
51677
|
-
const axis$1 = "axes";
|
51678
|
-
const bacillus = "bacilli";
|
51679
|
-
const bacterium = "bacteria";
|
51680
|
-
const barracks = "barracks";
|
51681
|
-
const basis$2 = "bases";
|
51682
|
-
const beau = "beaux";
|
51683
|
-
const bison = "bison";
|
51684
|
-
const buffalo = "buffalo";
|
51685
|
-
const bureau = "bureaus";
|
51686
|
-
const cactus = "cacti";
|
51687
|
-
const calf = "calves";
|
51688
|
-
const carp = "carp";
|
51689
|
-
const census = "censuses";
|
51690
|
-
const chassis = "chassis";
|
51691
|
-
const cherub = "cherubim";
|
51692
|
-
const child = "children";
|
51693
|
-
const cod = "cod";
|
51694
|
-
const codex = "codices";
|
51695
|
-
const concerto = "concerti";
|
51696
|
-
const corpus = "corpora";
|
51697
|
-
const crisis = "crises";
|
51698
|
-
const criterion = "criteria";
|
51699
|
-
const curriculum = "curricula";
|
51700
|
-
const datum$2 = "data";
|
51701
|
-
const deer = "deer";
|
51702
|
-
const diagnosis = "diagnoses";
|
51703
|
-
const die = "dice";
|
51704
|
-
const dwarf = "dwarfs";
|
51705
|
-
const echo = "echoes";
|
51706
|
-
const elf = "elves";
|
51707
|
-
const elk = "elk";
|
51708
|
-
const ellipsis = "ellipses";
|
51709
|
-
const embargo = "embargoes";
|
51710
|
-
const emphasis = "emphases";
|
51711
|
-
const erratum = "errata";
|
51712
|
-
const fez = "fezes";
|
51713
|
-
const firmware = "firmware";
|
51714
|
-
const fish = "fish";
|
51715
|
-
const focus = "foci";
|
51716
|
-
const foot = "feet";
|
51717
|
-
const formula = "formulae";
|
51718
|
-
const fungus = "fungi";
|
51719
|
-
const gallows = "gallows";
|
51720
|
-
const genus = "genera";
|
51721
|
-
const goose = "geese";
|
51722
|
-
const graffito = "graffiti";
|
51723
|
-
const grouse = "grouse";
|
51724
|
-
const half = "halves";
|
51725
|
-
const hero = "heroes";
|
51726
|
-
const hoof = "hooves";
|
51727
|
-
const hovercraft = "hovercraft";
|
51728
|
-
const hypothesis = "hypotheses";
|
51729
|
-
const index$3 = "indices";
|
51730
|
-
const kakapo = "kakapo";
|
51731
|
-
const knife = "knives";
|
51732
|
-
const larva = "larvae";
|
51733
|
-
const leaf = "leaves";
|
51734
|
-
const libretto = "libretti";
|
51735
|
-
const life = "lives";
|
51736
|
-
const loaf = "loaves";
|
51737
|
-
const locus = "loci";
|
51738
|
-
const louse = "lice";
|
51739
|
-
const man = "men";
|
51740
|
-
const matrix$1 = "matrices";
|
51741
|
-
const means = "means";
|
51742
|
-
const medium = "media";
|
51743
|
-
const media = "media";
|
51744
|
-
const memorandum = "memoranda";
|
51745
|
-
const millennium = "millennia";
|
51746
|
-
const minutia = "minutiae";
|
51747
|
-
const moose = "moose";
|
51748
|
-
const mouse = "mice";
|
51749
|
-
const nebula$1 = "nebulae";
|
51750
|
-
const nemesis = "nemeses";
|
51751
|
-
const neurosis = "neuroses";
|
51752
|
-
const news = "news";
|
51753
|
-
const nucleus = "nuclei";
|
51754
|
-
const oasis = "oases";
|
51755
|
-
const offspring = "offspring";
|
51756
|
-
const opus = "opera";
|
51757
|
-
const ovum = "ova";
|
51758
|
-
const ox = "oxen";
|
51759
|
-
const paralysis = "paralyses";
|
51760
|
-
const parenthesis = "parentheses";
|
51761
|
-
const person = "people";
|
51762
|
-
const phenomenon = "phenomena";
|
51763
|
-
const phylum = "phyla";
|
51764
|
-
const pike = "pike";
|
51765
|
-
const polyhedron = "polyhedra";
|
51766
|
-
const potato = "potatoes";
|
51767
|
-
const prognosis = "prognoses";
|
51768
|
-
const quiz = "quizzes";
|
51769
|
-
const radius$1 = "radii";
|
51770
|
-
const referendum = "referenda";
|
51771
|
-
const salmon = "salmon";
|
51772
|
-
const scarf = "scarves";
|
51773
|
-
const self$1 = "selves";
|
51774
|
-
const series = "series";
|
51775
|
-
const sheep = "sheep";
|
51776
|
-
const shelf = "shelves";
|
51777
|
-
const shrimp = "shrimp";
|
51778
|
-
const soliloquy = "soliloquies";
|
51779
|
-
const spacecraft = "spacecraft";
|
51780
|
-
const species = "species";
|
51781
|
-
const spectrum = "spectra";
|
51782
|
-
const squid = "squid";
|
51783
|
-
const stimulus = "stimuli";
|
51784
|
-
const stratum = "strata";
|
51785
|
-
const swine = "swine";
|
51786
|
-
const syllabus = "syllabi";
|
51787
|
-
const symposium = "symposia";
|
51788
|
-
const synopsis = "synopses";
|
51789
|
-
const synthesis = "syntheses";
|
51790
|
-
const tableau = "tableaus";
|
51791
|
-
const that = "those";
|
51792
|
-
const thesis = "theses";
|
51793
|
-
const thief = "thieves";
|
51794
|
-
const tomato = "tomatoes";
|
51795
|
-
const tooth = "teeth";
|
51796
|
-
const trout = "trout";
|
51797
|
-
const tuna = "tuna";
|
51798
|
-
const vertebra = "vertebrae";
|
51799
|
-
const vertex = "vertices";
|
51800
|
-
const veto = "vetoes";
|
51801
|
-
const vita = "vitae";
|
51802
|
-
const vortex = "vortices";
|
51803
|
-
const watercraft = "watercraft";
|
51804
|
-
const wharf = "wharves";
|
51805
|
-
const wife = "wives";
|
51806
|
-
const wolf = "wolves";
|
51807
|
-
const woman = "women";
|
51808
|
-
const require$$0$7 = {
|
51809
|
-
addendum,
|
51810
|
-
aircraft,
|
51811
|
-
alga,
|
51812
|
-
alumna,
|
51813
|
-
alumnus,
|
51814
|
-
amoeba,
|
51815
|
-
analysis,
|
51816
|
-
antenna,
|
51817
|
-
antithesis,
|
51818
|
-
apex,
|
51819
|
-
appendix,
|
51820
|
-
automaton,
|
51821
|
-
axis: axis$1,
|
51822
|
-
bacillus,
|
51823
|
-
bacterium,
|
51824
|
-
barracks,
|
51825
|
-
basis: basis$2,
|
51826
|
-
beau,
|
51827
|
-
bison,
|
51828
|
-
buffalo,
|
51829
|
-
bureau,
|
51830
|
-
cactus,
|
51831
|
-
calf,
|
51832
|
-
carp,
|
51833
|
-
census,
|
51834
|
-
chassis,
|
51835
|
-
cherub,
|
51836
|
-
child,
|
51837
|
-
"château": "châteaus",
|
51838
|
-
cod,
|
51839
|
-
codex,
|
51840
|
-
concerto,
|
51841
|
-
corpus,
|
51842
|
-
crisis,
|
51843
|
-
criterion,
|
51844
|
-
curriculum,
|
51845
|
-
datum: datum$2,
|
51846
|
-
deer,
|
51847
|
-
diagnosis,
|
51848
|
-
die,
|
51849
|
-
dwarf,
|
51850
|
-
echo,
|
51851
|
-
elf,
|
51852
|
-
elk,
|
51853
|
-
ellipsis,
|
51854
|
-
embargo,
|
51855
|
-
emphasis,
|
51856
|
-
erratum,
|
51857
|
-
"faux pas": "faux pas",
|
51858
|
-
fez,
|
51859
|
-
firmware,
|
51860
|
-
fish,
|
51861
|
-
focus,
|
51862
|
-
foot,
|
51863
|
-
formula,
|
51864
|
-
fungus,
|
51865
|
-
gallows,
|
51866
|
-
genus,
|
51867
|
-
goose,
|
51868
|
-
graffito,
|
51869
|
-
grouse,
|
51870
|
-
half,
|
51871
|
-
hero,
|
51872
|
-
hoof,
|
51873
|
-
hovercraft,
|
51874
|
-
hypothesis,
|
51875
|
-
index: index$3,
|
51876
|
-
kakapo,
|
51877
|
-
knife,
|
51878
|
-
larva,
|
51879
|
-
leaf,
|
51880
|
-
libretto,
|
51881
|
-
life,
|
51882
|
-
loaf,
|
51883
|
-
locus,
|
51884
|
-
louse,
|
51885
|
-
man,
|
51886
|
-
matrix: matrix$1,
|
51887
|
-
means,
|
51888
|
-
medium,
|
51889
|
-
media,
|
51890
|
-
memorandum,
|
51891
|
-
millennium,
|
51892
|
-
minutia,
|
51893
|
-
moose,
|
51894
|
-
mouse,
|
51895
|
-
nebula: nebula$1,
|
51896
|
-
nemesis,
|
51897
|
-
neurosis,
|
51898
|
-
news,
|
51899
|
-
nucleus,
|
51900
|
-
oasis,
|
51901
|
-
offspring,
|
51902
|
-
opus,
|
51903
|
-
ovum,
|
51904
|
-
ox,
|
51905
|
-
paralysis,
|
51906
|
-
parenthesis,
|
51907
|
-
person,
|
51908
|
-
phenomenon,
|
51909
|
-
phylum,
|
51910
|
-
pike,
|
51911
|
-
polyhedron,
|
51912
|
-
potato,
|
51913
|
-
prognosis,
|
51914
|
-
quiz,
|
51915
|
-
radius: radius$1,
|
51916
|
-
referendum,
|
51917
|
-
salmon,
|
51918
|
-
scarf,
|
51919
|
-
self: self$1,
|
51920
|
-
series,
|
51921
|
-
sheep,
|
51922
|
-
shelf,
|
51923
|
-
shrimp,
|
51924
|
-
soliloquy,
|
51925
|
-
spacecraft,
|
51926
|
-
species,
|
51927
|
-
spectrum,
|
51928
|
-
squid,
|
51929
|
-
stimulus,
|
51930
|
-
stratum,
|
51931
|
-
swine,
|
51932
|
-
syllabus,
|
51933
|
-
symposium,
|
51934
|
-
synopsis,
|
51935
|
-
synthesis,
|
51936
|
-
tableau,
|
51937
|
-
that,
|
51938
|
-
thesis,
|
51939
|
-
thief,
|
51940
|
-
"this": "these",
|
51941
|
-
tomato,
|
51942
|
-
tooth,
|
51943
|
-
trout,
|
51944
|
-
tuna,
|
51945
|
-
vertebra,
|
51946
|
-
vertex,
|
51947
|
-
veto,
|
51948
|
-
vita,
|
51949
|
-
vortex,
|
51950
|
-
watercraft,
|
51951
|
-
wharf,
|
51952
|
-
wife,
|
51953
|
-
wolf,
|
51954
|
-
woman
|
51955
|
-
};
|
51956
|
-
irregularPlurals$1.exports;
|
51957
|
-
(function(module2) {
|
51958
|
-
const irregularPlurals2 = require$$0$7;
|
51959
|
-
Object.defineProperty(module2, "exports", {
|
51960
|
-
get() {
|
51961
|
-
return new Map(Object.entries(irregularPlurals2));
|
51962
|
-
}
|
51963
|
-
});
|
51964
|
-
})(irregularPlurals$1);
|
51965
|
-
var irregularPluralsExports = irregularPlurals$1.exports;
|
51966
|
-
const irregularPlurals = /* @__PURE__ */ getDefaultExportFromCjs$1(irregularPluralsExports);
|
51967
|
-
function plur(word, plural, count2) {
|
51968
|
-
if (typeof plural === "number") {
|
51969
|
-
count2 = plural;
|
51970
|
-
}
|
51971
|
-
if (irregularPlurals.has(word.toLowerCase())) {
|
51972
|
-
plural = irregularPlurals.get(word.toLowerCase());
|
51973
|
-
const firstLetter = word.charAt(0);
|
51974
|
-
const isFirstLetterUpperCase = firstLetter === firstLetter.toUpperCase();
|
51975
|
-
if (isFirstLetterUpperCase) {
|
51976
|
-
plural = firstLetter + plural.slice(1);
|
51977
|
-
}
|
51978
|
-
const isWholeWordUpperCase = word === word.toUpperCase();
|
51979
|
-
if (isWholeWordUpperCase) {
|
51980
|
-
plural = plural.toUpperCase();
|
51981
|
-
}
|
51982
|
-
} else if (typeof plural !== "string") {
|
51983
|
-
plural = (word.replace(/(?:s|x|z|ch|sh)$/i, "$&e").replace(/([^aeiou])y$/i, "$1ie") + "s").replace(/i?e?s$/i, (match2) => {
|
51984
|
-
const isTailLowerCase = word.slice(-1) === word.slice(-1).toLowerCase();
|
51985
|
-
return isTailLowerCase ? match2.toLowerCase() : match2.toUpperCase();
|
51986
|
-
});
|
51987
|
-
}
|
51988
|
-
return Math.abs(count2) === 1 ? word : plural;
|
51989
|
-
}
|
51990
52029
|
function tree_add$1(d) {
|
51991
52030
|
var x2 = +this._x.call(null, d), y2 = +this._y.call(null, d);
|
51992
52031
|
return add$c(this.cover(x2, y2), x2, y2, d);
|
@@ -51994,9 +52033,9 @@ function tree_add$1(d) {
|
|
51994
52033
|
function add$c(tree2, x2, y2, d) {
|
51995
52034
|
if (isNaN(x2) || isNaN(y2))
|
51996
52035
|
return tree2;
|
51997
|
-
var parent, node = tree2._root,
|
52036
|
+
var parent, node = tree2._root, leaf = { data: d }, x02 = tree2._x0, y02 = tree2._y0, x12 = tree2._x1, y12 = tree2._y1, xm, ym, xp, yp, right2, bottom2, i2, j;
|
51998
52037
|
if (!node)
|
51999
|
-
return tree2._root =
|
52038
|
+
return tree2._root = leaf, tree2;
|
52000
52039
|
while (node.length) {
|
52001
52040
|
if (right2 = x2 >= (xm = (x02 + x12) / 2))
|
52002
52041
|
x02 = xm;
|
@@ -52007,12 +52046,12 @@ function add$c(tree2, x2, y2, d) {
|
|
52007
52046
|
else
|
52008
52047
|
y12 = ym;
|
52009
52048
|
if (parent = node, !(node = node[i2 = bottom2 << 1 | right2]))
|
52010
|
-
return parent[i2] =
|
52049
|
+
return parent[i2] = leaf, tree2;
|
52011
52050
|
}
|
52012
52051
|
xp = +tree2._x.call(null, node.data);
|
52013
52052
|
yp = +tree2._y.call(null, node.data);
|
52014
52053
|
if (x2 === xp && y2 === yp)
|
52015
|
-
return
|
52054
|
+
return leaf.next = node, parent ? parent[i2] = leaf : tree2._root = leaf, tree2;
|
52016
52055
|
do {
|
52017
52056
|
parent = parent ? parent[i2] = new Array(4) : tree2._root = new Array(4);
|
52018
52057
|
if (right2 = x2 >= (xm = (x02 + x12) / 2))
|
@@ -52024,7 +52063,7 @@ function add$c(tree2, x2, y2, d) {
|
|
52024
52063
|
else
|
52025
52064
|
y12 = ym;
|
52026
52065
|
} while ((i2 = bottom2 << 1 | right2) === (j = (yp >= ym) << 1 | xp >= xm));
|
52027
|
-
return parent[j] = node, parent[i2] =
|
52066
|
+
return parent[j] = node, parent[i2] = leaf, tree2;
|
52028
52067
|
}
|
52029
52068
|
function addAll$1(data2) {
|
52030
52069
|
var d, i2, n3 = data2.length, x2, y2, xz = new Array(n3), yz = new Array(n3), x02 = Infinity, y02 = Infinity, x12 = -Infinity, y12 = -Infinity;
|
@@ -52205,20 +52244,20 @@ function tree_size$1() {
|
|
52205
52244
|
return size2;
|
52206
52245
|
}
|
52207
52246
|
function tree_visit$1(callback) {
|
52208
|
-
var quads = [], q, node = this._root,
|
52247
|
+
var quads = [], q, node = this._root, child, x02, y02, x12, y12;
|
52209
52248
|
if (node)
|
52210
52249
|
quads.push(new Quad$1(node, this._x0, this._y0, this._x1, this._y1));
|
52211
52250
|
while (q = quads.pop()) {
|
52212
52251
|
if (!callback(node = q.node, x02 = q.x0, y02 = q.y0, x12 = q.x1, y12 = q.y1) && node.length) {
|
52213
52252
|
var xm = (x02 + x12) / 2, ym = (y02 + y12) / 2;
|
52214
|
-
if (
|
52215
|
-
quads.push(new Quad$1(
|
52216
|
-
if (
|
52217
|
-
quads.push(new Quad$1(
|
52218
|
-
if (
|
52219
|
-
quads.push(new Quad$1(
|
52220
|
-
if (
|
52221
|
-
quads.push(new Quad$1(
|
52253
|
+
if (child = node[3])
|
52254
|
+
quads.push(new Quad$1(child, xm, ym, x12, y12));
|
52255
|
+
if (child = node[2])
|
52256
|
+
quads.push(new Quad$1(child, x02, ym, xm, y12));
|
52257
|
+
if (child = node[1])
|
52258
|
+
quads.push(new Quad$1(child, xm, y02, x12, ym));
|
52259
|
+
if (child = node[0])
|
52260
|
+
quads.push(new Quad$1(child, x02, y02, xm, ym));
|
52222
52261
|
}
|
52223
52262
|
}
|
52224
52263
|
return this;
|
@@ -52230,15 +52269,15 @@ function tree_visitAfter$1(callback) {
|
|
52230
52269
|
while (q = quads.pop()) {
|
52231
52270
|
var node = q.node;
|
52232
52271
|
if (node.length) {
|
52233
|
-
var
|
52234
|
-
if (
|
52235
|
-
quads.push(new Quad$1(
|
52236
|
-
if (
|
52237
|
-
quads.push(new Quad$1(
|
52238
|
-
if (
|
52239
|
-
quads.push(new Quad$1(
|
52240
|
-
if (
|
52241
|
-
quads.push(new Quad$1(
|
52272
|
+
var child, x02 = q.x0, y02 = q.y0, x12 = q.x1, y12 = q.y1, xm = (x02 + x12) / 2, ym = (y02 + y12) / 2;
|
52273
|
+
if (child = node[0])
|
52274
|
+
quads.push(new Quad$1(child, x02, y02, xm, ym));
|
52275
|
+
if (child = node[1])
|
52276
|
+
quads.push(new Quad$1(child, xm, y02, x12, ym));
|
52277
|
+
if (child = node[2])
|
52278
|
+
quads.push(new Quad$1(child, x02, ym, xm, y12));
|
52279
|
+
if (child = node[3])
|
52280
|
+
quads.push(new Quad$1(child, xm, ym, x12, y12));
|
52242
52281
|
}
|
52243
52282
|
next3.push(q);
|
52244
52283
|
}
|
@@ -52272,15 +52311,15 @@ function Quadtree$1(x2, y2, x02, y02, x12, y12) {
|
|
52272
52311
|
this._y1 = y12;
|
52273
52312
|
this._root = void 0;
|
52274
52313
|
}
|
52275
|
-
function leaf_copy$1(
|
52276
|
-
var copy2 = { data:
|
52277
|
-
while (
|
52278
|
-
next3 = next3.next = { data:
|
52314
|
+
function leaf_copy$1(leaf) {
|
52315
|
+
var copy2 = { data: leaf.data }, next3 = copy2;
|
52316
|
+
while (leaf = leaf.next)
|
52317
|
+
next3 = next3.next = { data: leaf.data };
|
52279
52318
|
return copy2;
|
52280
52319
|
}
|
52281
52320
|
var treeProto$1 = quadtree$1.prototype = Quadtree$1.prototype;
|
52282
52321
|
treeProto$1.copy = function() {
|
52283
|
-
var copy2 = new Quadtree$1(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes,
|
52322
|
+
var copy2 = new Quadtree$1(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes, child;
|
52284
52323
|
if (!node)
|
52285
52324
|
return copy2;
|
52286
52325
|
if (!node.length)
|
@@ -52288,11 +52327,11 @@ treeProto$1.copy = function() {
|
|
52288
52327
|
nodes = [{ source: node, target: copy2._root = new Array(4) }];
|
52289
52328
|
while (node = nodes.pop()) {
|
52290
52329
|
for (var i2 = 0; i2 < 4; ++i2) {
|
52291
|
-
if (
|
52292
|
-
if (
|
52293
|
-
nodes.push({ source:
|
52330
|
+
if (child = node.source[i2]) {
|
52331
|
+
if (child.length)
|
52332
|
+
nodes.push({ source: child, target: node.target[i2] = new Array(4) });
|
52294
52333
|
else
|
52295
|
-
node.target[i2] = leaf_copy$1(
|
52334
|
+
node.target[i2] = leaf_copy$1(child);
|
52296
52335
|
}
|
52297
52336
|
}
|
52298
52337
|
}
|
@@ -52362,20 +52401,20 @@ Dispatch$1.prototype = dispatch$1.prototype = {
|
|
52362
52401
|
copy2[t4] = _[t4].slice();
|
52363
52402
|
return new Dispatch$1(copy2);
|
52364
52403
|
},
|
52365
|
-
call: function(type2,
|
52404
|
+
call: function(type2, that) {
|
52366
52405
|
if ((n3 = arguments.length - 2) > 0)
|
52367
52406
|
for (var args = new Array(n3), i2 = 0, n3, t4; i2 < n3; ++i2)
|
52368
52407
|
args[i2] = arguments[i2 + 2];
|
52369
52408
|
if (!this._.hasOwnProperty(type2))
|
52370
52409
|
throw new Error("unknown type: " + type2);
|
52371
52410
|
for (t4 = this._[type2], i2 = 0, n3 = t4.length; i2 < n3; ++i2)
|
52372
|
-
t4[i2].value.apply(
|
52411
|
+
t4[i2].value.apply(that, args);
|
52373
52412
|
},
|
52374
|
-
apply: function(type2,
|
52413
|
+
apply: function(type2, that, args) {
|
52375
52414
|
if (!this._.hasOwnProperty(type2))
|
52376
52415
|
throw new Error("unknown type: " + type2);
|
52377
52416
|
for (var t4 = this._[type2], i2 = 0, n3 = t4.length; i2 < n3; ++i2)
|
52378
|
-
t4[i2].value.apply(
|
52417
|
+
t4[i2].value.apply(that, args);
|
52379
52418
|
}
|
52380
52419
|
};
|
52381
52420
|
function get$6(type2, name2) {
|
@@ -57113,7 +57152,7 @@ let Resource$1 = class Resource {
|
|
57113
57152
|
}
|
57114
57153
|
this._handle = null;
|
57115
57154
|
if (children2 && deleteChildren) {
|
57116
|
-
children2.filter(Boolean).forEach((
|
57155
|
+
children2.filter(Boolean).forEach((child) => child.delete());
|
57117
57156
|
}
|
57118
57157
|
return this;
|
57119
57158
|
}
|
@@ -76039,10 +76078,10 @@ var hammer$1 = { exports: {} };
|
|
76039
76078
|
var merge3 = deprecate(function merge4(dest, src2) {
|
76040
76079
|
return extend3(dest, src2, true);
|
76041
76080
|
}, "merge", "Use `assign`.");
|
76042
|
-
function inherit(
|
76081
|
+
function inherit(child, base2, properties) {
|
76043
76082
|
var baseP = base2.prototype, childP;
|
76044
|
-
childP =
|
76045
|
-
childP.constructor =
|
76083
|
+
childP = child.prototype = Object.create(baseP);
|
76084
|
+
childP.constructor = child;
|
76046
76085
|
childP._super = baseP;
|
76047
76086
|
if (properties) {
|
76048
76087
|
assign2(childP, properties);
|
@@ -84142,27 +84181,27 @@ function createMesh(bounds2, resolution) {
|
|
84142
84181
|
const indices = new Uint32Array(vertexCount);
|
84143
84182
|
const texCoords = new Float32Array(uCount * vCount * 2);
|
84144
84183
|
const positions = new Float64Array(uCount * vCount * 3);
|
84145
|
-
let
|
84184
|
+
let vertex = 0;
|
84146
84185
|
let index2 = 0;
|
84147
84186
|
for (let u2 = 0; u2 < uCount; u2++) {
|
84148
84187
|
const ut = u2 / (uCount - 1);
|
84149
84188
|
for (let v = 0; v < vCount; v++) {
|
84150
84189
|
const vt = v / (vCount - 1);
|
84151
84190
|
const p = interpolateQuad(bounds2, ut, vt);
|
84152
|
-
positions[
|
84153
|
-
positions[
|
84154
|
-
positions[
|
84155
|
-
texCoords[
|
84156
|
-
texCoords[
|
84191
|
+
positions[vertex * 3 + 0] = p[0];
|
84192
|
+
positions[vertex * 3 + 1] = p[1];
|
84193
|
+
positions[vertex * 3 + 2] = p[2] || 0;
|
84194
|
+
texCoords[vertex * 2 + 0] = ut;
|
84195
|
+
texCoords[vertex * 2 + 1] = 1 - vt;
|
84157
84196
|
if (u2 > 0 && v > 0) {
|
84158
|
-
indices[index2++] =
|
84159
|
-
indices[index2++] =
|
84160
|
-
indices[index2++] =
|
84161
|
-
indices[index2++] =
|
84162
|
-
indices[index2++] =
|
84163
|
-
indices[index2++] =
|
84197
|
+
indices[index2++] = vertex - vCount;
|
84198
|
+
indices[index2++] = vertex - vCount - 1;
|
84199
|
+
indices[index2++] = vertex - 1;
|
84200
|
+
indices[index2++] = vertex - vCount;
|
84201
|
+
indices[index2++] = vertex - 1;
|
84202
|
+
indices[index2++] = vertex;
|
84164
84203
|
}
|
84165
|
-
|
84204
|
+
vertex++;
|
84166
84205
|
}
|
84167
84206
|
}
|
84168
84207
|
return {
|
@@ -90560,9 +90599,6 @@ class GeoCellLayer extends CompositeLayer {
|
|
90560
90599
|
}
|
90561
90600
|
_defineProperty$n(GeoCellLayer, "layerName", "GeoCellLayer");
|
90562
90601
|
_defineProperty$n(GeoCellLayer, "defaultProps", defaultProps$t);
|
90563
|
-
function commonjsRequire(path2) {
|
90564
|
-
throw new Error('Could not dynamically require "' + path2 + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
90565
|
-
}
|
90566
90602
|
var long = { exports: {} };
|
90567
90603
|
(function(module2) {
|
90568
90604
|
/**
|
@@ -92170,8 +92206,8 @@ class OSMNode {
|
|
92170
92206
|
}
|
92171
92207
|
this.selected = false;
|
92172
92208
|
this.childVisible = true;
|
92173
|
-
for (const
|
92174
|
-
|
92209
|
+
for (const child of this.children) {
|
92210
|
+
child.update(params2);
|
92175
92211
|
}
|
92176
92212
|
return true;
|
92177
92213
|
}
|
@@ -92813,8 +92849,8 @@ function updateTileStateReplace(allTiles) {
|
|
92813
92849
|
for (const tile of sortedTiles) {
|
92814
92850
|
tile.isVisible = Boolean(tile.state & TILE_STATE_VISIBLE);
|
92815
92851
|
if (tile.children && (tile.isVisible || tile.state & TILE_STATE_VISITED)) {
|
92816
|
-
for (const
|
92817
|
-
|
92852
|
+
for (const child of tile.children) {
|
92853
|
+
child.state = TILE_STATE_VISITED;
|
92818
92854
|
}
|
92819
92855
|
} else if (tile.isSelected) {
|
92820
92856
|
getPlaceholderInChildren(tile);
|
@@ -92833,11 +92869,11 @@ function getPlaceholderInAncestors(startTile) {
|
|
92833
92869
|
return false;
|
92834
92870
|
}
|
92835
92871
|
function getPlaceholderInChildren(tile) {
|
92836
|
-
for (const
|
92837
|
-
if (
|
92838
|
-
|
92872
|
+
for (const child of tile.children) {
|
92873
|
+
if (child.isLoaded || child.content) {
|
92874
|
+
child.state |= TILE_STATE_VISIBLE;
|
92839
92875
|
} else {
|
92840
|
-
getPlaceholderInChildren(
|
92876
|
+
getPlaceholderInChildren(child);
|
92841
92877
|
}
|
92842
92878
|
}
|
92843
92879
|
}
|
@@ -105495,7 +105531,7 @@ class GroupNode extends ScenegraphNode {
|
|
105495
105531
|
const {
|
105496
105532
|
children: children2 = []
|
105497
105533
|
} = props2;
|
105498
|
-
log$8.assert(children2.every((
|
105534
|
+
log$8.assert(children2.every((child) => child instanceof ScenegraphNode), "every child must an instance of ScenegraphNode");
|
105499
105535
|
super(props2);
|
105500
105536
|
this.children = children2;
|
105501
105537
|
}
|
@@ -105503,18 +105539,18 @@ class GroupNode extends ScenegraphNode {
|
|
105503
105539
|
for (var _len = arguments.length, children2 = new Array(_len), _key = 0; _key < _len; _key++) {
|
105504
105540
|
children2[_key] = arguments[_key];
|
105505
105541
|
}
|
105506
|
-
for (const
|
105507
|
-
if (Array.isArray(
|
105508
|
-
this.add(...
|
105542
|
+
for (const child of children2) {
|
105543
|
+
if (Array.isArray(child)) {
|
105544
|
+
this.add(...child);
|
105509
105545
|
} else {
|
105510
|
-
this.children.push(
|
105546
|
+
this.children.push(child);
|
105511
105547
|
}
|
105512
105548
|
}
|
105513
105549
|
return this;
|
105514
105550
|
}
|
105515
|
-
remove(
|
105551
|
+
remove(child) {
|
105516
105552
|
const children2 = this.children;
|
105517
|
-
const indexOf = children2.indexOf(
|
105553
|
+
const indexOf = children2.indexOf(child);
|
105518
105554
|
if (indexOf > -1) {
|
105519
105555
|
children2.splice(indexOf, 1);
|
105520
105556
|
}
|
@@ -105525,7 +105561,7 @@ class GroupNode extends ScenegraphNode {
|
|
105525
105561
|
return this;
|
105526
105562
|
}
|
105527
105563
|
delete() {
|
105528
|
-
this.children.forEach((
|
105564
|
+
this.children.forEach((child) => child.delete());
|
105529
105565
|
this.removeAll();
|
105530
105566
|
super.delete();
|
105531
105567
|
}
|
@@ -105534,13 +105570,13 @@ class GroupNode extends ScenegraphNode {
|
|
105534
105570
|
worldMatrix = new Matrix4()
|
105535
105571
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
105536
105572
|
const modelMatrix2 = new Matrix4(worldMatrix).multiplyRight(this.matrix);
|
105537
|
-
for (const
|
105538
|
-
if (
|
105539
|
-
|
105573
|
+
for (const child of this.children) {
|
105574
|
+
if (child instanceof GroupNode) {
|
105575
|
+
child.traverse(visitor, {
|
105540
105576
|
worldMatrix: modelMatrix2
|
105541
105577
|
});
|
105542
105578
|
} else {
|
105543
|
-
visitor(
|
105579
|
+
visitor(child, {
|
105544
105580
|
worldMatrix: modelMatrix2
|
105545
105581
|
});
|
105546
105582
|
}
|
@@ -106031,7 +106067,7 @@ class GLTFInstantiator {
|
|
106031
106067
|
createNode(gltfNode) {
|
106032
106068
|
if (!gltfNode._node) {
|
106033
106069
|
const gltfChildren = gltfNode.children || [];
|
106034
|
-
const children2 = gltfChildren.map((
|
106070
|
+
const children2 = gltfChildren.map((child) => this.createNode(child));
|
106035
106071
|
if (gltfNode.mesh) {
|
106036
106072
|
children2.push(this.createMesh(gltfNode.mesh));
|
106037
106073
|
}
|
@@ -107574,12 +107610,12 @@ class Float64 extends Float {
|
|
107574
107610
|
}
|
107575
107611
|
_Symbol$toStringTag7 = Symbol.toStringTag;
|
107576
107612
|
class FixedSizeList extends DataType {
|
107577
|
-
constructor(listSize,
|
107613
|
+
constructor(listSize, child) {
|
107578
107614
|
super();
|
107579
107615
|
_defineProperty$n(this, "listSize", void 0);
|
107580
107616
|
_defineProperty$n(this, "children", void 0);
|
107581
107617
|
this.listSize = listSize;
|
107582
|
-
this.children = [
|
107618
|
+
this.children = [child];
|
107583
107619
|
}
|
107584
107620
|
get typeId() {
|
107585
107621
|
return Type$1.FixedSizeList;
|
@@ -108582,7 +108618,7 @@ class GLTFV1Normalizer {
|
|
108582
108618
|
}
|
108583
108619
|
_convertNodeIds(node) {
|
108584
108620
|
if (node.children) {
|
108585
|
-
node.children = node.children.map((
|
108621
|
+
node.children = node.children.map((child) => this._convertIdToIndex(child, "node"));
|
108586
108622
|
}
|
108587
108623
|
if (node.meshes) {
|
108588
108624
|
node.meshes = node.meshes.map((mesh2) => this._convertIdToIndex(mesh2, "mesh"));
|
@@ -108798,7 +108834,7 @@ class GLTFPostProcessor {
|
|
108798
108834
|
_resolveNode(node, index2) {
|
108799
108835
|
node.id = node.id || "node-".concat(index2);
|
108800
108836
|
if (node.children) {
|
108801
|
-
node.children = node.children.map((
|
108837
|
+
node.children = node.children.map((child) => this.getNode(child));
|
108802
108838
|
}
|
108803
108839
|
if (node.mesh !== void 0) {
|
108804
108840
|
node.mesh = this.getMesh(node.mesh);
|
@@ -110759,8 +110795,8 @@ class TilesetTraverser {
|
|
110759
110795
|
}
|
110760
110796
|
updateChildTiles(tile, frameState) {
|
110761
110797
|
const children2 = tile.children;
|
110762
|
-
for (const
|
110763
|
-
this.updateTile(
|
110798
|
+
for (const child of children2) {
|
110799
|
+
this.updateTile(child, frameState);
|
110764
110800
|
}
|
110765
110801
|
return true;
|
110766
110802
|
}
|
@@ -110774,26 +110810,26 @@ class TilesetTraverser {
|
|
110774
110810
|
const checkRefines = tile.refine === TILE_REFINEMENT.REPLACE && tile.hasRenderContent && !skipLevelOfDetail;
|
110775
110811
|
let hasVisibleChild = false;
|
110776
110812
|
let refines = true;
|
110777
|
-
for (const
|
110778
|
-
|
110779
|
-
if (
|
110780
|
-
if (stack2.find(
|
110781
|
-
stack2.delete(
|
110813
|
+
for (const child of children2) {
|
110814
|
+
child._selectionDepth = depth;
|
110815
|
+
if (child.isVisibleAndInRequestVolume) {
|
110816
|
+
if (stack2.find(child)) {
|
110817
|
+
stack2.delete(child);
|
110782
110818
|
}
|
110783
|
-
stack2.push(
|
110819
|
+
stack2.push(child);
|
110784
110820
|
hasVisibleChild = true;
|
110785
110821
|
} else if (checkRefines || loadSiblings) {
|
110786
|
-
this.loadTile(
|
110787
|
-
this.touchTile(
|
110822
|
+
this.loadTile(child, frameState);
|
110823
|
+
this.touchTile(child, frameState);
|
110788
110824
|
}
|
110789
110825
|
if (checkRefines) {
|
110790
110826
|
let childRefines;
|
110791
|
-
if (!
|
110827
|
+
if (!child._inRequestVolume) {
|
110792
110828
|
childRefines = false;
|
110793
|
-
} else if (!
|
110794
|
-
childRefines = this.executeEmptyTraversal(
|
110829
|
+
} else if (!child.hasRenderContent) {
|
110830
|
+
childRefines = this.executeEmptyTraversal(child, frameState);
|
110795
110831
|
} else {
|
110796
|
-
childRefines =
|
110832
|
+
childRefines = child.contentAvailable;
|
110797
110833
|
}
|
110798
110834
|
refines = refines && childRefines;
|
110799
110835
|
if (!refines) {
|
@@ -110870,9 +110906,9 @@ class TilesetTraverser {
|
|
110870
110906
|
}
|
110871
110907
|
anyChildrenVisible(tile, frameState) {
|
110872
110908
|
let anyVisible = false;
|
110873
|
-
for (const
|
110874
|
-
|
110875
|
-
anyVisible = anyVisible ||
|
110909
|
+
for (const child of tile.children) {
|
110910
|
+
child.updateVisibility(frameState);
|
110911
|
+
anyVisible = anyVisible || child.isVisibleAndInRequestVolume;
|
110876
110912
|
}
|
110877
110913
|
return anyVisible;
|
110878
110914
|
}
|
@@ -110890,11 +110926,11 @@ class TilesetTraverser {
|
|
110890
110926
|
const traverse = !tile.hasRenderContent && this.canTraverse(tile, frameState, false, true);
|
110891
110927
|
if (traverse) {
|
110892
110928
|
const children2 = tile.children;
|
110893
|
-
for (const
|
110894
|
-
if (stack2.find(
|
110895
|
-
stack2.delete(
|
110929
|
+
for (const child of children2) {
|
110930
|
+
if (stack2.find(child)) {
|
110931
|
+
stack2.delete(child);
|
110896
110932
|
}
|
110897
|
-
stack2.push(
|
110933
|
+
stack2.push(child);
|
110898
110934
|
}
|
110899
110935
|
} else if (!tile.contentAvailable) {
|
110900
110936
|
allDescendantsLoaded = false;
|
@@ -111462,15 +111498,15 @@ class I3STilesetTraverser extends TilesetTraverser {
|
|
111462
111498
|
const children2 = tile.header.children || [];
|
111463
111499
|
const childTiles = tile.children;
|
111464
111500
|
const tileset = tile.tileset;
|
111465
|
-
for (const
|
111466
|
-
const extendedId = "".concat(
|
111501
|
+
for (const child of children2) {
|
111502
|
+
const extendedId = "".concat(child.id, "-").concat(frameState.viewport.id);
|
111467
111503
|
const childTile = childTiles && childTiles.find((t4) => t4.id === extendedId);
|
111468
111504
|
if (!childTile) {
|
111469
|
-
let request2 = () => this._loadTile(
|
111505
|
+
let request2 = () => this._loadTile(child.id, tileset);
|
111470
111506
|
const cachedRequest = this._tileManager.find(extendedId);
|
111471
111507
|
if (!cachedRequest) {
|
111472
111508
|
if (tileset.tileset.nodePages) {
|
111473
|
-
request2 = () => tileset.tileset.nodePagesTile.formTileFromNodePages(
|
111509
|
+
request2 = () => tileset.tileset.nodePagesTile.formTileFromNodePages(child.id);
|
111474
111510
|
}
|
111475
111511
|
this._tileManager.add(request2, extendedId, (header) => this._onTileLoad(header, tile, extendedId), frameState);
|
111476
111512
|
} else {
|
@@ -112026,8 +112062,8 @@ class Tileset3D {
|
|
112026
112062
|
}
|
112027
112063
|
while (stack2.length > 0) {
|
112028
112064
|
const tile = stack2.pop();
|
112029
|
-
for (const
|
112030
|
-
stack2.push(
|
112065
|
+
for (const child of tile.children) {
|
112066
|
+
stack2.push(child);
|
112031
112067
|
}
|
112032
112068
|
this._destroyTile(tile);
|
112033
112069
|
}
|
@@ -112039,8 +112075,8 @@ class Tileset3D {
|
|
112039
112075
|
stack2.push(root2);
|
112040
112076
|
while (stack2.length > 0) {
|
112041
112077
|
tile = stack2.pop();
|
112042
|
-
for (const
|
112043
|
-
stack2.push(
|
112078
|
+
for (const child of tile.children) {
|
112079
|
+
stack2.push(child);
|
112044
112080
|
}
|
112045
112081
|
if (tile !== root2) {
|
112046
112082
|
this._destroyTile(tile);
|
@@ -117846,7 +117882,7 @@ function evaluateChildren(children2, childProps) {
|
|
117846
117882
|
return children2(childProps);
|
117847
117883
|
}
|
117848
117884
|
if (Array.isArray(children2)) {
|
117849
|
-
return children2.map((
|
117885
|
+
return children2.map((child) => evaluateChildren(child, childProps));
|
117850
117886
|
}
|
117851
117887
|
if (isComponent(children2)) {
|
117852
117888
|
if (isReactMap(children2)) {
|
@@ -117859,16 +117895,16 @@ function evaluateChildren(children2, childProps) {
|
|
117859
117895
|
}
|
117860
117896
|
return children2;
|
117861
117897
|
}
|
117862
|
-
function isComponent(
|
117863
|
-
return
|
117898
|
+
function isComponent(child) {
|
117899
|
+
return child && typeof child === "object" && "type" in child || false;
|
117864
117900
|
}
|
117865
|
-
function isReactMap(
|
117866
|
-
const componentClass =
|
117901
|
+
function isReactMap(child) {
|
117902
|
+
const componentClass = child.type;
|
117867
117903
|
const componentProps = componentClass && componentClass.defaultProps;
|
117868
117904
|
return componentProps && componentProps.mapStyle;
|
117869
117905
|
}
|
117870
|
-
function needsDeckGLViewProps(
|
117871
|
-
const componentClass =
|
117906
|
+
function needsDeckGLViewProps(child) {
|
117907
|
+
const componentClass = child.type;
|
117872
117908
|
return componentClass && componentClass.deckGLViewProps;
|
117873
117909
|
}
|
117874
117910
|
function wrapInView(node) {
|
@@ -117953,12 +117989,12 @@ function positionChildrenUnderViews({
|
|
117953
117989
|
}
|
117954
117990
|
const views = {};
|
117955
117991
|
const defaultViewId = viewManager.views[0].id;
|
117956
|
-
for (const
|
117992
|
+
for (const child of children2) {
|
117957
117993
|
let viewId = defaultViewId;
|
117958
|
-
let viewChildren =
|
117959
|
-
if (isComponent(
|
117960
|
-
viewId =
|
117961
|
-
viewChildren =
|
117994
|
+
let viewChildren = child;
|
117995
|
+
if (isComponent(child) && inheritsFrom(child.type, View$2)) {
|
117996
|
+
viewId = child.props.id || defaultViewId;
|
117997
|
+
viewChildren = child.props.children;
|
117962
117998
|
}
|
117963
117999
|
const viewport = viewManager.getViewport(viewId);
|
117964
118000
|
const viewState = viewManager.getViewState(viewId);
|
@@ -120487,7 +120523,7 @@ var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
|
|
120487
120523
|
var slice$4 = Array.prototype.slice;
|
120488
120524
|
var toStr$2 = Object.prototype.toString;
|
120489
120525
|
var funcType = "[object Function]";
|
120490
|
-
var implementation$7 = function bind2(
|
120526
|
+
var implementation$7 = function bind2(that) {
|
120491
120527
|
var target2 = this;
|
120492
120528
|
if (typeof target2 !== "function" || toStr$2.call(target2) !== funcType) {
|
120493
120529
|
throw new TypeError(ERROR_MESSAGE + target2);
|
@@ -120506,7 +120542,7 @@ var implementation$7 = function bind2(that2) {
|
|
120506
120542
|
return this;
|
120507
120543
|
} else {
|
120508
120544
|
return target2.apply(
|
120509
|
-
|
120545
|
+
that,
|
120510
120546
|
args.concat(slice$4.call(arguments))
|
120511
120547
|
);
|
120512
120548
|
}
|
@@ -136849,10 +136885,10 @@ EventEmitter.prototype.setMaxListeners = function setMaxListeners(n3) {
|
|
136849
136885
|
this._maxListeners = n3;
|
136850
136886
|
return this;
|
136851
136887
|
};
|
136852
|
-
function _getMaxListeners(
|
136853
|
-
if (
|
136888
|
+
function _getMaxListeners(that) {
|
136889
|
+
if (that._maxListeners === void 0)
|
136854
136890
|
return EventEmitter.defaultMaxListeners;
|
136855
|
-
return
|
136891
|
+
return that._maxListeners;
|
136856
136892
|
}
|
136857
136893
|
EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
|
136858
136894
|
return _getMaxListeners(this);
|
@@ -146973,13 +147009,13 @@ var MeasureAngleMode = /* @__PURE__ */ function(_GeoJsonEditMode) {
|
|
146973
147009
|
}
|
146974
147010
|
_this = _super.call.apply(_super, [this].concat(args));
|
146975
147011
|
_defineProperty$5(_assertThisInitialized$1(_this), "_getTooltips", (0, _memoize["default"])(function(_ref3) {
|
146976
|
-
var modeConfig = _ref3.modeConfig,
|
147012
|
+
var modeConfig = _ref3.modeConfig, vertex = _ref3.vertex, point1 = _ref3.point1, point2 = _ref3.point2;
|
146977
147013
|
var tooltips = DEFAULT_TOOLTIPS;
|
146978
|
-
if (
|
147014
|
+
if (vertex && point1 && point2) {
|
146979
147015
|
var _ref22 = modeConfig || {}, formatTooltip2 = _ref22.formatTooltip, measurementCallback = _ref22.measurementCallback;
|
146980
147016
|
var units2 = "deg";
|
146981
|
-
var angle1 = (0, _bearing$1["default"])(
|
146982
|
-
var angle2 = (0, _bearing$1["default"])(
|
147017
|
+
var angle1 = (0, _bearing$1["default"])(vertex, point1);
|
147018
|
+
var angle2 = (0, _bearing$1["default"])(vertex, point2);
|
146983
147019
|
var angle3 = Math.abs(angle1 - angle2);
|
146984
147020
|
if (angle3 > 180) {
|
146985
147021
|
angle3 = 360 - angle3;
|
@@ -155187,16 +155223,16 @@ async function getDecoder(fileDirectory) {
|
|
155187
155223
|
const Decoder = await importFn();
|
155188
155224
|
return new Decoder(fileDirectory);
|
155189
155225
|
}
|
155190
|
-
addDecoder([void 0, 1], () => import("./raw-
|
155191
|
-
addDecoder(5, () => import("./lzw-
|
155226
|
+
addDecoder([void 0, 1], () => import("./raw-cb4a4ae9.js").then((m2) => m2.default));
|
155227
|
+
addDecoder(5, () => import("./lzw-8aa1e0b3.js").then((m2) => m2.default));
|
155192
155228
|
addDecoder(6, () => {
|
155193
155229
|
throw new Error("old style JPEG compression is not supported.");
|
155194
155230
|
});
|
155195
|
-
addDecoder(7, () => import("./jpeg-
|
155196
|
-
addDecoder([8, 32946], () => import("./deflate-
|
155197
|
-
addDecoder(32773, () => import("./packbits-
|
155198
|
-
addDecoder(34887, () => import("./lerc-
|
155199
|
-
addDecoder(50001, () => import("./webimage-
|
155231
|
+
addDecoder(7, () => import("./jpeg-eaa82c98.js").then((m2) => m2.default));
|
155232
|
+
addDecoder([8, 32946], () => import("./deflate-e164f5b4.js").then((m2) => m2.default));
|
155233
|
+
addDecoder(32773, () => import("./packbits-ad4b66a3.js").then((m2) => m2.default));
|
155234
|
+
addDecoder(34887, () => import("./lerc-0c45509f.js").then((m2) => m2.default));
|
155235
|
+
addDecoder(50001, () => import("./webimage-3d222f28.js").then((m2) => m2.default));
|
155200
155236
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
155201
155237
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
155202
155238
|
}
|
@@ -158124,11 +158160,11 @@ var xmlNode$1 = function(tagname, parent, val) {
|
|
158124
158160
|
this.child = {};
|
158125
158161
|
this.attrsMap = {};
|
158126
158162
|
this.val = val;
|
158127
|
-
this.addChild = function(
|
158128
|
-
if (Array.isArray(this.child[
|
158129
|
-
this.child[
|
158163
|
+
this.addChild = function(child) {
|
158164
|
+
if (Array.isArray(this.child[child.tagname])) {
|
158165
|
+
this.child[child.tagname].push(child);
|
158130
158166
|
} else {
|
158131
|
-
this.child[
|
158167
|
+
this.child[child.tagname] = [child];
|
158132
158168
|
}
|
158133
158169
|
};
|
158134
158170
|
};
|
@@ -171717,7 +171753,7 @@ function ToolMenu(props2) {
|
|
171717
171753
|
const onRecenterButtonCLick = () => {
|
171718
171754
|
recenterOnClick();
|
171719
171755
|
};
|
171720
|
-
return jsxRuntimeExports.jsxs("div", { className: classes.tool, children: [visibleTools.pan && jsxRuntimeExports.jsx(IconTool, { alt: "pointer tool", onClick: () => setActiveTool(null), isActive: activeTool === null, children: jsxRuntimeExports.jsx(SvgNearMe, {}) }), visibleTools.selectLasso ? jsxRuntimeExports.jsx(IconTool, { alt: "select lasso", onClick: () => setActiveTool(distEs6$2.SELECTION_TYPE.POLYGON), isActive: activeTool === distEs6$2.SELECTION_TYPE.POLYGON, children: jsxRuntimeExports.jsx(SvgSelectionLasso, {}) }) : null, jsxRuntimeExports.jsx(IconButton2, { alt: "click to recenter", onClick: () => onRecenterButtonCLick(), children: jsxRuntimeExports.jsx(CenterFocusStrong, {}) })] });
|
171756
|
+
return jsxRuntimeExports.jsxs("div", { className: classes.tool, children: [visibleTools.pan && jsxRuntimeExports.jsx(IconTool, { alt: "pointer tool", onClick: () => setActiveTool(null), isActive: activeTool === null, children: jsxRuntimeExports.jsx(SvgNearMe, {}) }), visibleTools.selectLasso ? jsxRuntimeExports.jsx(IconTool, { alt: "select lasso", onClick: () => setActiveTool(distEs6$2.SELECTION_TYPE.POLYGON), isActive: activeTool === distEs6$2.SELECTION_TYPE.POLYGON, children: jsxRuntimeExports.jsx(SvgSelectionLasso, {}) }) : null, jsxRuntimeExports.jsx(IconButton2, { alt: "click to recenter", onClick: () => onRecenterButtonCLick(), "aria-label": "Recenter scatterplot view", children: jsxRuntimeExports.jsx(CenterFocusStrong, {}) })] });
|
171721
171757
|
}
|
171722
171758
|
const getCursorWithTool = () => "crosshair";
|
171723
171759
|
const getCursor = (interactionState) => interactionState.isDragging ? "grabbing" : "default";
|
@@ -172359,6 +172395,7 @@ const ScatterplotWrapper = forwardRef((props2, deckRef) => jsxRuntimeExports.jsx
|
|
172359
172395
|
ScatterplotWrapper.displayName = "ScatterplotWrapper";
|
172360
172396
|
function ScatterplotOptions(props2) {
|
172361
172397
|
const { children: children2, observationsLabel, cellRadius, setCellRadius, cellRadiusMode, setCellRadiusMode, cellOpacity, setCellOpacity, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, tooltipsVisible, setTooltipsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange } = props2;
|
172398
|
+
const scatterplotOptionsId = useId();
|
172362
172399
|
const observationsLabelNice = capitalize$2(observationsLabel);
|
172363
172400
|
const classes = usePlotOptionsStyles();
|
172364
172401
|
function handleCellRadiusModeChange(event2) {
|
@@ -172392,7 +172429,10 @@ function ScatterplotOptions(props2) {
|
|
172392
172429
|
setGeneExpressionColormapRange(value2);
|
172393
172430
|
}
|
172394
172431
|
const handleColormapRangeChangeDebounced = useCallback(debounce$5(handleColormapRangeChange, 5, { trailing: true }), [handleColormapRangeChange]);
|
172395
|
-
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [children2, jsxRuntimeExports.jsx(CellColorEncodingOption, { observationsLabel, cellColorEncoding, setCellColorEncoding }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.
|
172432
|
+
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [children2, jsxRuntimeExports.jsx(CellColorEncodingOption, { observationsLabel, cellColorEncoding, setCellColorEncoding }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsxs("label", { htmlFor: `scatterplot-set-labels-visible-${scatterplotOptionsId}`, children: [observationsLabelNice, " Set Labels Visible"] }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Checkbox$1, { className: classes.checkbox, checked: cellSetLabelsVisible, onChange: handleLabelVisibilityChange, name: "scatterplot-option-cell-set-labels", color: "default", inputProps: {
|
172433
|
+
"aria-label": "Show or hide set labels",
|
172434
|
+
id: `scatterplot-set-labels-visible-${scatterplotOptionsId}`
|
172435
|
+
} }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `scatterplot-set-tooltips-visible-${scatterplotOptionsId}`, children: "Tooltips Visible" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Checkbox$1, {
|
172396
172436
|
className: classes.checkbox,
|
172397
172437
|
/**
|
172398
172438
|
* We have to use "checked" here, not "value".
|
@@ -172401,15 +172441,25 @@ function ScatterplotOptions(props2) {
|
|
172401
172441
|
*/
|
172402
172442
|
checked: tooltipsVisible,
|
172403
172443
|
onChange: handleTooltipsVisibilityChange,
|
172404
|
-
name: "scatterplot-option-
|
172405
|
-
color: "default"
|
172406
|
-
|
172407
|
-
|
172408
|
-
|
172409
|
-
|
172410
|
-
},
|
172411
|
-
|
172412
|
-
|
172444
|
+
name: "scatterplot-option-tooltip-visibility",
|
172445
|
+
color: "default",
|
172446
|
+
inputProps: {
|
172447
|
+
"aria-label": "Show or hide tooltips",
|
172448
|
+
id: `scatterplot-set-tooltips-visible-${scatterplotOptionsId}`
|
172449
|
+
}
|
172450
|
+
}) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsxs("label", { htmlFor: `scatterplot-set-label-size-${scatterplotOptionsId}`, children: [observationsLabelNice, " Set Label Size"] }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Slider$1, { classes: { root: classes.slider, valueLabel: classes.sliderValueLabel }, disabled: !cellSetLabelsVisible, value: cellSetLabelSize, onChange: handleLabelSizeChange, "aria-label": "Scatterplot label size slider", id: `scatterplot-set-label-size-${scatterplotOptionsId}`, valueLabelDisplay: "auto", step: 1, min: 8, max: 36 }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsxs("label", { htmlFor: `scatterplot-set-polygons-visible-${scatterplotOptionsId}`, children: [observationsLabelNice, " Set Polygons Visible"] }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Checkbox$1, { className: classes.checkbox, checked: cellSetPolygonsVisible, onChange: handlePolygonVisibilityChange, name: "scatterplot-option-cell-set-polygons", color: "default", inputProps: {
|
172451
|
+
"aria-label": "Show or hide polygons",
|
172452
|
+
id: `scatterplot-set-polygons-visible-${scatterplotOptionsId}`
|
172453
|
+
} }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsxs("label", { htmlFor: `scatterplot-set-radius-mode-select-${scatterplotOptionsId}`, children: [observationsLabelNice, " Radius Mode"] }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsxs(OptionSelect, { className: classes.select, value: cellRadiusMode, onChange: handleCellRadiusModeChange, inputProps: {
|
172454
|
+
id: `scatterplot-set-radius-mode-select-${scatterplotOptionsId}`
|
172455
|
+
}, children: [jsxRuntimeExports.jsx("option", { value: "auto", children: "Auto" }), jsxRuntimeExports.jsx("option", { value: "manual", children: "Manual" })] }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsxs("label", { htmlFor: `scatterplot-set-radius-size-select-${scatterplotOptionsId}`, children: [observationsLabelNice, " Radius Size"] }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Slider$1, { classes: { root: classes.slider, valueLabel: classes.sliderValueLabel }, disabled: cellRadiusMode !== "manual", value: cellRadius, onChange: handleRadiusChange, "aria-label": "Scatterplot radius size slider", id: `scatterplot-set-radius-size-select-${scatterplotOptionsId}`, valueLabelDisplay: "auto", step: 0.01, min: 0.01, max: 10 }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsxs("label", { htmlFor: `scatterplot-set-opacity-mode-${scatterplotOptionsId}`, children: [observationsLabelNice, " Opacity Mode"] }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsxs(OptionSelect, { className: classes.select, value: cellOpacityMode, onChange: handleCellOpacityModeChange, inputProps: {
|
172456
|
+
id: `scatterplot-set-opacity-mode-${scatterplotOptionsId}`
|
172457
|
+
}, children: [jsxRuntimeExports.jsx("option", { value: "auto", children: "Auto" }), jsxRuntimeExports.jsx("option", { value: "manual", children: "Manual" })] }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsxs("label", { htmlFor: `scatterplot-set-opacity-level-${scatterplotOptionsId}`, children: [observationsLabelNice, " Opacity Level"] }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Slider$1, { classes: { root: classes.slider, valueLabel: classes.sliderValueLabel }, disabled: cellOpacityMode !== "manual", value: cellOpacity, onChange: handleOpacityChange, "aria-label": "Scatterplot opacity level slider", id: `scatterplot-set-opacity-level-${scatterplotOptionsId}`, valueLabelDisplay: "auto", step: 0.05, min: 0, max: 1 }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `scatterplot-gene-expression-colormap-${scatterplotOptionsId}`, children: "Gene Expression Colormap" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(OptionSelect, { className: classes.select, value: geneExpressionColormap, onChange: handleGeneExpressionColormapChange, inputProps: {
|
172458
|
+
id: `scatterplot-gene-expression-colormap-${scatterplotOptionsId}`
|
172459
|
+
}, children: GLSL_COLORMAPS.map((cmap) => jsxRuntimeExports.jsx("option", { value: cmap, children: cmap }, cmap)) }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `scatterplot-gene-expression-colormap-range-${scatterplotOptionsId}`, children: "Gene Expression Colormap Range" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Slider$1, { classes: { root: classes.slider, valueLabel: classes.sliderValueLabel }, value: geneExpressionColormapRange, onChange: handleColormapRangeChangeDebounced, getAriaLabel: (index2) => {
|
172460
|
+
const labelPrefix = index2 === 0 ? "Low value slider" : "High value slider";
|
172461
|
+
return `${labelPrefix} for scatterplot gene expression colormap range`;
|
172462
|
+
}, id: `scatterplot-gene-expression-colormap-range-${scatterplotOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] });
|
172413
172463
|
}
|
172414
172464
|
const styles32 = makeStyles((theme) => ({
|
172415
172465
|
tooltipAnchor: {
|
@@ -172652,11 +172702,11 @@ function EnterNode(parent, datum2) {
|
|
172652
172702
|
}
|
172653
172703
|
EnterNode.prototype = {
|
172654
172704
|
constructor: EnterNode,
|
172655
|
-
appendChild: function(
|
172656
|
-
return this._parent.insertBefore(
|
172705
|
+
appendChild: function(child) {
|
172706
|
+
return this._parent.insertBefore(child, this._next);
|
172657
172707
|
},
|
172658
|
-
insertBefore: function(
|
172659
|
-
return this._parent.insertBefore(
|
172708
|
+
insertBefore: function(child, next3) {
|
172709
|
+
return this._parent.insertBefore(child, next3);
|
172660
172710
|
},
|
172661
172711
|
querySelector: function(selector2) {
|
172662
172712
|
return this._parent.querySelector(selector2);
|
@@ -174633,12 +174683,13 @@ function EmbeddingScatterplotSubscriber(props2) {
|
|
174633
174683
|
setTargetY(target2[1]);
|
174634
174684
|
setTargetZ(target2[2] || 0);
|
174635
174685
|
};
|
174636
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${
|
174686
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)}`, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, tooltipsVisible, setTooltipsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange }), children: [jsxRuntimeExports.jsx(ScatterplotWrapper, { ref: deckRef, uuid, theme, viewState: { zoom: zoom2, target: [targetX2, targetY2, targetZ] }, setViewState, originalViewState, obsEmbeddingIndex, obsEmbedding, cellFilter, cellSelection, cellHighlight, cellColors, cellSetPolygons, cellSetLabelSize, cellSetLabelsVisible, cellSetPolygonsVisible, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, cellRadius, cellOpacity, cellColorEncoding, geneExpressionColormap, geneExpressionColormapRange, setComponentHover: () => {
|
174637
174687
|
setComponentHover(uuid);
|
174638
174688
|
}, updateViewInfo: setComponentViewInfo, getExpressionValue, getCellIsSelected }), tooltipsVisible && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: cellColorEncoding, featureSelection: geneSelection, featureLabelsMap, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: expressionExtents == null ? void 0 : expressionExtents[0] })] });
|
174639
174689
|
}
|
174640
174690
|
function GatingScatterplotOptions(props2) {
|
174641
174691
|
const { featureType, gatingFeatureSelectionX, setGatingFeatureSelectionX, gatingFeatureSelectionY, setGatingFeatureSelectionY, gatingFeatureValueTransform, setGatingFeatureValueTransform, gatingFeatureValueTransformCoefficient, setGatingFeatureValueTransformCoefficient, geneSelectOptions, transformOptions } = props2;
|
174692
|
+
const gatingScatterplotOptionsId = useId();
|
174642
174693
|
const classes = usePlotOptionsStyles();
|
174643
174694
|
const handleGeneSelectChange = (event2) => {
|
174644
174695
|
const { options } = event2.target;
|
@@ -174669,13 +174720,13 @@ function GatingScatterplotOptions(props2) {
|
|
174669
174720
|
}
|
174670
174721
|
}
|
174671
174722
|
};
|
174672
|
-
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, children: capitalize$2(
|
174673
|
-
id:
|
174674
|
-
}, children: geneSelectOptions.map((name2) => jsxRuntimeExports.jsx("option", { value: name2, children: name2 }, name2)) }
|
174675
|
-
id:
|
174676
|
-
}, children: transformOptions.map((opt) => jsxRuntimeExports.jsx("option", { value: opt.value === null ? "" : opt.value, children: opt.name }, opt.name)) }
|
174723
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `scatterplot-gating-gene-select-${gatingScatterplotOptionsId}`, children: capitalize$2(pluralize(featureType, geneSelectOptions == null ? void 0 : geneSelectOptions.length)) }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(OptionSelect, { multiple: true, className: classes.select, value: [gatingFeatureSelectionX, gatingFeatureSelectionY].filter((v) => v), onChange: handleGeneSelectChange, inputProps: {
|
174724
|
+
id: `scatterplot-gating-gene-select-${gatingScatterplotOptionsId}`
|
174725
|
+
}, children: geneSelectOptions.map((name2) => jsxRuntimeExports.jsx("option", { value: name2, children: name2 }, name2)) }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `scatterplot-gating-transform-select-${gatingScatterplotOptionsId}`, children: "Transform" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(OptionSelect, { className: classes.select, value: gatingFeatureValueTransform === null ? "" : gatingFeatureValueTransform, onChange: handleTransformChange, inputProps: {
|
174726
|
+
id: `scatterplot-gating-transform-select-${gatingScatterplotOptionsId}`
|
174727
|
+
}, children: transformOptions.map((opt) => jsxRuntimeExports.jsx("option", { value: opt.value === null ? "" : opt.value, children: opt.name }, opt.name)) }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `scatterplot-gating-transform-coefficient-${gatingScatterplotOptionsId}`, children: "Transform Coefficient" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(TextField$1, { label: "Transform Coefficient", type: "number", onChange: handleTransformCoefficientChange, value: gatingFeatureValueTransformCoefficient, InputLabelProps: {
|
174677
174728
|
shrink: true
|
174678
|
-
} }) })] }
|
174729
|
+
}, id: `scatterplot-gating-transform-coefficient-${gatingScatterplotOptionsId}` }) })] })] });
|
174679
174730
|
}
|
174680
174731
|
function GatingSubscriber(props2) {
|
174681
174732
|
const {
|
@@ -174875,12 +174926,12 @@ function GatingSubscriber(props2) {
|
|
174875
174926
|
gatingFeatureSelectionY,
|
174876
174927
|
obsType
|
174877
174928
|
]);
|
174878
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${
|
174929
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(obsType, cellsCount)}`, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, children: jsxRuntimeExports.jsx(GatingScatterplotOptions, { featureType, gatingFeatureSelectionX, setGatingFeatureSelectionX, gatingFeatureSelectionY, setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
|
174879
174930
|
setFeatureValueTransform(newValue);
|
174880
174931
|
setTargetX(null);
|
174881
174932
|
setTargetY(null);
|
174882
174933
|
setZoom(null);
|
174883
|
-
}, gatingFeatureValueTransformCoefficient: featureValueTransformCoefficient, setGatingFeatureValueTransformCoefficient: setFeatureValueTransformCoefficient, geneSelectOptions: featureIndex, transformOptions: VALUE_TRANSFORM_OPTIONS }) }), children: [jsxRuntimeExports.jsx(EmptyMessage, { visible: !(gatingFeatureSelectionX && gatingFeatureSelectionY), message: `Select two ${
|
174934
|
+
}, gatingFeatureValueTransformCoefficient: featureValueTransformCoefficient, setGatingFeatureValueTransformCoefficient: setFeatureValueTransformCoefficient, geneSelectOptions: featureIndex, transformOptions: VALUE_TRANSFORM_OPTIONS }) }), children: [jsxRuntimeExports.jsx(EmptyMessage, { visible: !(gatingFeatureSelectionX && gatingFeatureSelectionY), message: `Select two ${pluralize(featureType, 2)} in the plot settings.` }), jsxRuntimeExports.jsx(ScatterplotWrapper, { ref: deckRef, uuid, theme, hideTools: !(gatingFeatureSelectionX && gatingFeatureSelectionY), viewState: { zoom: zoom2, target: [targetX2, targetY2, targetZ] }, setViewState: ({ zoom: newZoom, target: target2 }) => {
|
174884
174935
|
setZoom(newZoom);
|
174885
174936
|
setTargetX(target2[0]);
|
174886
174937
|
setTargetY(target2[1]);
|
@@ -176474,8 +176525,8 @@ function _validate(array2, size2, dim) {
|
|
176474
176525
|
if (dim < size2.length - 1) {
|
176475
176526
|
var dimNext = dim + 1;
|
176476
176527
|
for (i2 = 0; i2 < len2; i2++) {
|
176477
|
-
var
|
176478
|
-
if (!Array.isArray(
|
176528
|
+
var child = array2[i2];
|
176529
|
+
if (!Array.isArray(child)) {
|
176479
176530
|
throw new DimensionError(size2.length - 1, size2.length, "<");
|
176480
176531
|
}
|
176481
176532
|
_validate(array2[i2], size2, dimNext);
|
@@ -181496,8 +181547,8 @@ var createDenseMatrixClass = /* @__PURE__ */ factory(name$N, dependencies$M, (_r
|
|
181496
181547
|
} else {
|
181497
181548
|
return range2.map(function(i2) {
|
181498
181549
|
validateIndex(i2, data2.length);
|
181499
|
-
var
|
181500
|
-
return _getSubmatrix(
|
181550
|
+
var child = data2[i2];
|
181551
|
+
return _getSubmatrix(child, index2, dims, dim + 1);
|
181501
181552
|
}).valueOf();
|
181502
181553
|
}
|
181503
181554
|
}
|
@@ -181624,8 +181675,8 @@ var createDenseMatrixClass = /* @__PURE__ */ factory(name$N, dependencies$M, (_r
|
|
181624
181675
|
var me = this;
|
181625
181676
|
var recurse2 = function recurse3(value2, index2) {
|
181626
181677
|
if (isArray$1(value2)) {
|
181627
|
-
return value2.map(function(
|
181628
|
-
return recurse3(
|
181678
|
+
return value2.map(function(child, i2) {
|
181679
|
+
return recurse3(child, index2.concat(i2));
|
181629
181680
|
});
|
181630
181681
|
} else {
|
181631
181682
|
return callback(value2, index2, me);
|
@@ -181639,8 +181690,8 @@ var createDenseMatrixClass = /* @__PURE__ */ factory(name$N, dependencies$M, (_r
|
|
181639
181690
|
var me = this;
|
181640
181691
|
var recurse2 = function recurse3(value2, index2) {
|
181641
181692
|
if (isArray$1(value2)) {
|
181642
|
-
value2.forEach(function(
|
181643
|
-
recurse3(
|
181693
|
+
value2.forEach(function(child, i2) {
|
181694
|
+
recurse3(child, index2.concat(i2));
|
181644
181695
|
});
|
181645
181696
|
} else {
|
181646
181697
|
callback(value2, index2, me);
|
@@ -190225,6 +190276,41 @@ function coordinateTransformationsToMatrix(coordinateTransformations, axes) {
|
|
190225
190276
|
}
|
190226
190277
|
return mat;
|
190227
190278
|
}
|
190279
|
+
function normalizeCoordinateTransformations(coordinateTransformations, datasets) {
|
190280
|
+
var _a2;
|
190281
|
+
let result = [];
|
190282
|
+
if (Array.isArray(coordinateTransformations)) {
|
190283
|
+
result = coordinateTransformations.map((transform3) => {
|
190284
|
+
if (transform3.input && transform3.output) {
|
190285
|
+
const { type: type2 } = transform3;
|
190286
|
+
if (type2 === "translation") {
|
190287
|
+
return {
|
190288
|
+
type: type2,
|
190289
|
+
translation: transform3.translation
|
190290
|
+
};
|
190291
|
+
}
|
190292
|
+
if (type2 === "scale") {
|
190293
|
+
return {
|
190294
|
+
type: type2,
|
190295
|
+
scale: transform3.scale
|
190296
|
+
};
|
190297
|
+
}
|
190298
|
+
if (type2 === "identity") {
|
190299
|
+
return { type: type2 };
|
190300
|
+
}
|
190301
|
+
console.warn(`Coordinate transformation type "${type2}" is not supported.`);
|
190302
|
+
}
|
190303
|
+
return transform3;
|
190304
|
+
});
|
190305
|
+
}
|
190306
|
+
if (Array.isArray((_a2 = datasets == null ? void 0 : datasets[0]) == null ? void 0 : _a2.coordinateTransformations)) {
|
190307
|
+
result = [
|
190308
|
+
...datasets[0].coordinateTransformations,
|
190309
|
+
...result
|
190310
|
+
];
|
190311
|
+
}
|
190312
|
+
return result;
|
190313
|
+
}
|
190228
190314
|
var shortNumber$1 = { exports: {} };
|
190229
190315
|
(function(module2, exports2) {
|
190230
190316
|
(function(global2, factory2) {
|
@@ -190272,14 +190358,14 @@ const shortNumber = /* @__PURE__ */ getDefaultExportFromCjs$1(shortNumberExports
|
|
190272
190358
|
function makeSpatialSubtitle({ observationsCount, observationsLabel, subobservationsCount, subobservationsLabel, locationsCount }) {
|
190273
190359
|
const parts = [];
|
190274
190360
|
if (subobservationsCount > 0) {
|
190275
|
-
let part = `${commaNumber(subobservationsCount)} ${
|
190361
|
+
let part = `${commaNumber(subobservationsCount)} ${pluralize(subobservationsLabel, subobservationsCount)}`;
|
190276
190362
|
if (locationsCount > 0) {
|
190277
190363
|
part += ` at ${shortNumber(locationsCount)} locations`;
|
190278
190364
|
}
|
190279
190365
|
parts.push(part);
|
190280
190366
|
}
|
190281
190367
|
if (observationsCount > 0) {
|
190282
|
-
parts.push(`${commaNumber(observationsCount)} ${
|
190368
|
+
parts.push(`${commaNumber(observationsCount)} ${pluralize(observationsLabel, observationsCount)}`);
|
190283
190369
|
}
|
190284
190370
|
return parts.join(", ");
|
190285
190371
|
}
|
@@ -190966,11 +191052,16 @@ const useToggleStyles = makeStyles(() => ({
|
|
190966
191052
|
}
|
190967
191053
|
}));
|
190968
191054
|
const ToggleFixedAxisButton = ({ setSpatialAxisFixed, spatialAxisFixed, use3d }) => {
|
191055
|
+
const toggleAxisId = useId();
|
190969
191056
|
const classes = useToggleStyles();
|
190970
|
-
return jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.cameraLabel, children: "Fix Camera Axis" }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.toggleBox, children: jsxRuntimeExports.jsx(Checkbox$1, { onClick: () => setSpatialAxisFixed(!spatialAxisFixed), disabled: !use3d, checked: Boolean(spatialAxisFixed)
|
191057
|
+
return jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.cameraLabel, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `spatial-camera-axis-${toggleAxisId}`, children: "Fix Camera Axis" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.toggleBox, variant: "body", children: jsxRuntimeExports.jsx(Checkbox$1, { onClick: () => setSpatialAxisFixed(!spatialAxisFixed), disabled: !use3d, checked: Boolean(spatialAxisFixed), inputProps: {
|
191058
|
+
"aria-label": "Fix or not fix spatial camera axis",
|
191059
|
+
id: `spatial-camera-axis-${toggleAxisId}`
|
191060
|
+
} }) })] });
|
190971
191061
|
};
|
190972
191062
|
function SpatialOptions(props2) {
|
190973
191063
|
const { observationsLabel, cellColorEncoding, setCellColorEncoding, setSpatialAxisFixed, spatialAxisFixed, use3d, tooltipsVisible, setTooltipsVisible, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, canShowExpressionOptions, canShowColorEncodingOption, canShow3DOptions } = props2;
|
191064
|
+
const spatialOptionsId = useId();
|
190974
191065
|
function handleGeneExpressionColormapChange(event2) {
|
190975
191066
|
setGeneExpressionColormap(event2.target.value);
|
190976
191067
|
}
|
@@ -190982,7 +191073,7 @@ function SpatialOptions(props2) {
|
|
190982
191073
|
setTooltipsVisible(event2.target.checked);
|
190983
191074
|
}
|
190984
191075
|
const classes = usePlotOptionsStyles();
|
190985
|
-
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [canShowColorEncodingOption ? jsxRuntimeExports.jsx(CellColorEncodingOption, { observationsLabel, cellColorEncoding, setCellColorEncoding }) : null, canShow3DOptions ? jsxRuntimeExports.jsx(ToggleFixedAxisButton, { setSpatialAxisFixed, spatialAxisFixed, use3d }) : null, jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, children: "Tooltips Visible" }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, children: jsxRuntimeExports.jsx(Checkbox$1, {
|
191076
|
+
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [canShowColorEncodingOption ? jsxRuntimeExports.jsx(CellColorEncodingOption, { observationsLabel, cellColorEncoding, setCellColorEncoding }) : null, canShow3DOptions ? jsxRuntimeExports.jsx(ToggleFixedAxisButton, { setSpatialAxisFixed, spatialAxisFixed, use3d }) : null, jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `gene-expression-colormap-option-tooltip-visibility-${spatialOptionsId}`, children: "Tooltips Visible" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Checkbox$1, {
|
190986
191077
|
className: classes.checkbox,
|
190987
191078
|
/**
|
190988
191079
|
* We have to use "checked" here, not "value".
|
@@ -190991,11 +191082,18 @@ function SpatialOptions(props2) {
|
|
190991
191082
|
*/
|
190992
191083
|
checked: tooltipsVisible,
|
190993
191084
|
onChange: handleTooltipsVisibilityChange,
|
190994
|
-
name: "gene-expression-colormap-option-
|
190995
|
-
color: "default"
|
190996
|
-
|
190997
|
-
|
190998
|
-
|
191085
|
+
name: "gene-expression-colormap-option-tooltip-visibility",
|
191086
|
+
color: "default",
|
191087
|
+
inputProps: {
|
191088
|
+
"aria-label": "Enable or disable tooltips",
|
191089
|
+
id: `gene-expression-colormap-option-tooltip-visibility-${spatialOptionsId}`
|
191090
|
+
}
|
191091
|
+
}) })] }), canShowExpressionOptions ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `gene-expression-colormap-select-${spatialOptionsId}`, children: "Gene Expression Colormap" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(OptionSelect, { className: classes.select, value: geneExpressionColormap, onChange: handleGeneExpressionColormapChange, inputProps: {
|
191092
|
+
id: `gene-expression-colormap-select-${spatialOptionsId}`
|
191093
|
+
}, children: GLSL_COLORMAPS.map((cmap) => jsxRuntimeExports.jsx("option", { value: cmap, children: cmap }, cmap)) }, "gene-expression-colormap-select") })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `gene-expression-colormap-range-${spatialOptionsId}`, children: "Gene Expression Colormap Range" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Slider$1, { classes: { root: classes.slider, valueLabel: classes.sliderValueLabel }, value: geneExpressionColormapRange, onChange: handleColormapRangeChangeDebounced, getAriaLabel: (index2) => {
|
191094
|
+
const labelPrefix = index2 === 0 ? "Low value slider" : "High value slider";
|
191095
|
+
return `${labelPrefix} for spatial gene expression colormap range`;
|
191096
|
+
}, id: `gene-expression-colormap-range-${spatialOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] }) : null] });
|
190999
191097
|
}
|
191000
191098
|
function SpatialTooltipSubscriber(props2) {
|
191001
191099
|
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo, hoverData, hoverCoord, useHoverInfoForTooltip, getObsIdFromHoverData } = props2;
|
@@ -191020,7 +191118,7 @@ function SpatialTooltipSubscriber(props2) {
|
|
191020
191118
|
return cellInfo ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: cellInfo }) }) : null;
|
191021
191119
|
}
|
191022
191120
|
function SpatialSubscriber(props2) {
|
191023
|
-
const { uuid, coordinationScopes, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, title: title2 = "Spatial", disable3d, globalDisable3d, useFullResolutionImage = {} } = props2;
|
191121
|
+
const { uuid, coordinationScopes, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, title: title2 = "Spatial", disable3d, globalDisable3d, useFullResolutionImage = {}, channelNamesVisible = false } = props2;
|
191024
191122
|
const loaders = useLoaders();
|
191025
191123
|
const setComponentHover = useSetComponentHover();
|
191026
191124
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
@@ -191032,13 +191130,14 @@ function SpatialSubscriber(props2) {
|
|
191032
191130
|
const [width2, height2, deckRef] = useDeckCanvasSize();
|
191033
191131
|
const [obsLabelsTypes, obsLabelsData] = useMultiObsLabels(coordinationScopes, obsType, loaders, dataset);
|
191034
191132
|
const hasExpressionData = useHasLoader(loaders, dataset, DataType$2.OBS_FEATURE_MATRIX, { obsType, featureType, featureValueType });
|
191035
|
-
const
|
191133
|
+
const hasSegmentationsLoader = useHasLoader(loaders, dataset, DataType$2.OBS_SEGMENTATIONS, { obsType });
|
191036
191134
|
const hasLocationsData = useHasLoader(loaders, dataset, DataType$2.OBS_LOCATIONS, { obsType });
|
191037
191135
|
const hasImageData = useHasLoader(loaders, dataset, DataType$2.IMAGE, {});
|
191038
191136
|
const [{ obsIndex: obsLocationsIndex, obsLocations }, obsLocationsStatus, obsLocationsUrls] = useObsLocationsData(loaders, dataset, false, { setSpatialPointLayer: setMoleculesLayer }, { spatialPointLayer: moleculesLayer }, { obsType: "molecule" });
|
191039
191137
|
const [{ obsLabels: obsLocationsLabels }, obsLabelsStatus, obsLabelsUrls] = useObsLabelsData(loaders, dataset, false, {}, {}, { obsType: "molecule" });
|
191040
191138
|
const [{ obsIndex: obsCentroidsIndex, obsLocations: obsCentroids }, obsCentroidsStatus, obsCentroidsUrls] = useObsLocationsData(loaders, dataset, false, {}, {}, { obsType });
|
191041
191139
|
const [{ obsIndex: obsSegmentationsIndex, obsSegmentations, obsSegmentationsType }, obsSegmentationsStatus, obsSegmentationsUrls] = useObsSegmentationsData(loaders, dataset, false, { setSpatialSegmentationLayer: setCellsLayer }, { spatialSegmentationLayer: cellsLayer }, { obsType });
|
191140
|
+
const hasSegmentationsData = hasSegmentationsLoader && !(obsSegmentationsStatus === STATUS$1.SUCCESS && !(obsSegmentations || obsSegmentationsType));
|
191042
191141
|
const [{ obsSets: cellSets, obsSetsMembership }, obsSetsStatus, obsSetsUrls] = useObsSetsData(loaders, dataset, false, { setObsSetSelection: setCellSetSelection, setObsSetColor: setCellSetColor }, { obsSetSelection: cellSetSelection, obsSetColor: cellSetColor }, { obsType });
|
191043
191142
|
const [expressionData, loadedFeatureSelection, featureSelectionStatus] = useFeatureSelection(loaders, dataset, false, geneSelection, { obsType, featureType, featureValueType });
|
191044
191143
|
const [{ obsIndex: matrixObsIndex }, matrixIndicesStatus, matrixIndicesUrls] = useObsFeatureMatrixIndices(loaders, dataset, false, { obsType, featureType, featureValueType });
|
@@ -191254,7 +191353,29 @@ function SpatialSubscriber(props2) {
|
|
191254
191353
|
const shouldUseFullData = (ll, index2) => Array.isArray(useFullResolutionImage) && useFullResolutionImage.includes(meta2[index2].name) && Array.isArray(ll.data);
|
191255
191354
|
return imageLayerLoaders.map((ll, index2) => shouldUseFullData(ll, index2) ? { ...ll, data: ll.data[0] } : ll);
|
191256
191355
|
}, [imageLayerLoaders, useFullResolutionImage, meta2]);
|
191257
|
-
|
191356
|
+
const [channelNames, channelColors] = useMemo(() => {
|
191357
|
+
let names = [];
|
191358
|
+
let colors2 = [];
|
191359
|
+
if (imageLayers && imageLayers.length > 0 && imageLayerLoaders && imageLayerLoaders.length > 0) {
|
191360
|
+
const firstImageLayer = imageLayers[0];
|
191361
|
+
const firstImageLayerLoader = imageLayerLoaders == null ? void 0 : imageLayerLoaders[firstImageLayer == null ? void 0 : firstImageLayer.index];
|
191362
|
+
if (firstImageLayer && !firstImageLayer.colormap && firstImageLayer.channels && firstImageLayerLoader) {
|
191363
|
+
const allChannels = firstImageLayerLoader.channels;
|
191364
|
+
names = firstImageLayer.channels.map((c2) => allChannels[c2.selection.channel === void 0 ? c2.selection.c : c2.selection.channel]);
|
191365
|
+
colors2 = firstImageLayer.channels.map((c2) => c2.color);
|
191366
|
+
}
|
191367
|
+
}
|
191368
|
+
return [names, colors2];
|
191369
|
+
}, [imageLayers, imageLayerLoaders]);
|
191370
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, removeGridComponent, isReady, options, children: [jsxRuntimeExports.jsx("div", { style: {
|
191371
|
+
position: "absolute",
|
191372
|
+
bottom: "5px",
|
191373
|
+
left: "5px",
|
191374
|
+
zIndex: 6
|
191375
|
+
}, children: channelNamesVisible && channelNames ? channelNames.map((name2, i2) => jsxRuntimeExports.jsx(Typography$1, { variant: "h6", style: {
|
191376
|
+
color: colorArrayToString(channelColors[i2]),
|
191377
|
+
fontSize: "14px"
|
191378
|
+
}, children: name2 }, `${name2}-${colorArrayToString(channelColors[i2])}`)) : null }), jsxRuntimeExports.jsx(SpatialWrapper, { ref: deckRef, uuid, width: width2, height: height2, viewState: {
|
191258
191379
|
zoom: zoom2,
|
191259
191380
|
target: [targetX2, targetY2, targetZ],
|
191260
191381
|
rotationX,
|
@@ -192106,6 +192227,7 @@ function HeatmapTooltipSubscriber(props2) {
|
|
192106
192227
|
function HeatmapOptions(props2) {
|
192107
192228
|
const { geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, tooltipsVisible, setTooltipsVisible } = props2;
|
192108
192229
|
const classes = usePlotOptionsStyles();
|
192230
|
+
const heatmapOptionsId = useId();
|
192109
192231
|
function handleGeneExpressionColormapChange(event2) {
|
192110
192232
|
setGeneExpressionColormap(event2.target.value);
|
192111
192233
|
}
|
@@ -192116,9 +192238,10 @@ function HeatmapOptions(props2) {
|
|
192116
192238
|
setGeneExpressionColormapRange(value2);
|
192117
192239
|
}
|
192118
192240
|
const handleColormapRangeChangeDebounced = useCallback(debounce$5(handleColormapRangeChange, 5, { trailing: true }), [handleColormapRangeChange]);
|
192119
|
-
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, htmlFor:
|
192120
|
-
|
192121
|
-
|
192241
|
+
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `heatmap-gene-expression-colormap-${heatmapOptionsId}`, children: "Gene Expression Colormap" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(OptionSelect, { className: classes.select, value: geneExpressionColormap, onChange: handleGeneExpressionColormapChange, inputProps: {
|
192242
|
+
"aria-label": "Select gene expression colormap",
|
192243
|
+
id: `heatmap-gene-expression-colormap-${heatmapOptionsId}`
|
192244
|
+
}, children: GLSL_COLORMAPS.map((cmap) => jsxRuntimeExports.jsx("option", { value: cmap, children: cmap }, cmap)) }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `heatmap-gene-expression-colormap-tooltip-visibility-${heatmapOptionsId}`, children: "Tooltips Visible" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Checkbox$1, {
|
192122
192245
|
className: classes.checkbox,
|
192123
192246
|
/**
|
192124
192247
|
* We have to use "checked" here, not "value".
|
@@ -192127,9 +192250,13 @@ function HeatmapOptions(props2) {
|
|
192127
192250
|
*/
|
192128
192251
|
checked: tooltipsVisible,
|
192129
192252
|
onChange: handleTooltipsVisibilityChange,
|
192130
|
-
name: "gene-expression-colormap-
|
192131
|
-
color: "default"
|
192132
|
-
|
192253
|
+
name: "heatmap-gene-expression-colormap-tooltip-visibility",
|
192254
|
+
color: "default",
|
192255
|
+
inputProps: {
|
192256
|
+
"aria-label": "Show or hide tooltips",
|
192257
|
+
id: `heatmap-gene-expression-colormap-tooltip-visibility-${heatmapOptionsId}`
|
192258
|
+
}
|
192259
|
+
}) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `heatmap-gene-expression-colormap-range-${heatmapOptionsId}`, children: "Gene Expression Colormap Range" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Slider$1, { classes: { root: classes.slider, valueLabel: classes.sliderValueLabel }, value: geneExpressionColormapRange, onChange: handleColormapRangeChangeDebounced, getAriaLabel: (index2) => index2 === 0 ? "Low value colormap range slider" : "High value colormap range slider", id: `heatmap-gene-expression-colormap-range-${heatmapOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] });
|
192133
192260
|
}
|
192134
192261
|
function HeatmapSubscriber(props2) {
|
192135
192262
|
const { uuid, coordinationScopes, removeGridComponent, theme, transpose: transpose2, observationsLabelOverride, variablesLabelOverride, title: title2 = "Heatmap" } = props2;
|
@@ -192138,9 +192265,9 @@ function HeatmapSubscriber(props2) {
|
|
192138
192265
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
192139
192266
|
const [{ dataset, obsType, featureType, featureValueType, heatmapZoomX: zoomX, heatmapTargetX: targetX2, heatmapTargetY: targetY2, featureSelection: geneSelection, obsHighlight: cellHighlight, featureHighlight: geneHighlight, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, tooltipsVisible }, { setHeatmapZoomX: setZoomX, setHeatmapZoomY: setZoomY, setHeatmapTargetX: setTargetX, setHeatmapTargetY: setTargetY, setObsHighlight: setCellHighlight, setFeatureSelection: setGeneSelection, setObsColorEncoding: setCellColorEncoding, setFeatureHighlight: setGeneHighlight, setObsSetSelection: setCellSetSelection, setObsSetColor: setCellSetColor, setFeatureValueColormapRange: setGeneExpressionColormapRange, setFeatureValueColormap: setGeneExpressionColormap, setTooltipsVisible }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.HEATMAP], coordinationScopes);
|
192140
192267
|
const observationsLabel = observationsLabelOverride || obsType;
|
192141
|
-
const observationsPluralLabel =
|
192268
|
+
const observationsPluralLabel = pluralize(observationsLabel);
|
192142
192269
|
const variablesLabel = variablesLabelOverride || featureType;
|
192143
|
-
const variablesPluralLabel =
|
192270
|
+
const variablesPluralLabel = pluralize(variablesLabel);
|
192144
192271
|
const observationsTitle = capitalize$2(observationsPluralLabel);
|
192145
192272
|
const variablesTitle = capitalize$2(variablesPluralLabel);
|
192146
192273
|
const [isRendering, setIsRendering] = useState(false);
|
@@ -192207,8 +192334,8 @@ function HeatmapSubscriber(props2) {
|
|
192207
192334
|
`${capitalize$2(observationsLabel)} Set`
|
192208
192335
|
], [observationsLabel]);
|
192209
192336
|
const selectedCount = cellColors.size;
|
192210
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${
|
192211
|
-
with ${commaNumber(selectedCount)} ${
|
192337
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)} × ${commaNumber(genesCount)} ${pluralize(variablesLabel, genesCount)},
|
192338
|
+
with ${commaNumber(selectedCount)} ${pluralize(observationsLabel, selectedCount)} selected`, urls: urls2, theme, removeGridComponent, isReady: isReady && !isRendering, options: jsxRuntimeExports.jsx(HeatmapOptions, { geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, tooltipsVisible, setTooltipsVisible }), children: [jsxRuntimeExports.jsx(Heatmap$1, { ref: deckRef, transpose: transpose2, viewState: { zoom: zoomX, target: [targetX2, targetY2] }, setViewState: ({ zoom: zoom2, target: target2 }) => {
|
192212
192339
|
setZoomX(zoom2);
|
192213
192340
|
setZoomY(zoom2);
|
192214
192341
|
setTargetX(target2[0]);
|
@@ -196592,6 +196719,7 @@ function FeatureList(props2) {
|
|
196592
196719
|
}
|
196593
196720
|
function FeatureListOptions(props2) {
|
196594
196721
|
const { children: children2, featureListSort, setFeatureListSort, featureListSortKey, setFeatureListSortKey, showFeatureTable, setShowFeatureTable, hasFeatureLabels, primaryColumnName } = props2;
|
196722
|
+
const featureListId = useId();
|
196595
196723
|
function handleFeatureListSortChange(event2) {
|
196596
196724
|
setFeatureListSort(event2.target.value);
|
196597
196725
|
}
|
@@ -196602,11 +196730,15 @@ function FeatureListOptions(props2) {
|
|
196602
196730
|
setShowFeatureTable(event2.target.checked);
|
196603
196731
|
}
|
196604
196732
|
const classes = usePlotOptionsStyles();
|
196605
|
-
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [children2, jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, htmlFor:
|
196606
|
-
id:
|
196607
|
-
}, children: FEATURELIST_SORT_OPTIONS.map((option) => jsxRuntimeExports.jsx("option", { value: option, children: option }, option)) }) })] }), hasFeatureLabels ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, htmlFor:
|
196608
|
-
|
196609
|
-
|
196733
|
+
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [children2, jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `feature-list-sort-option-${featureListId}`, children: "Sort Ordering" }) }), jsxRuntimeExports.jsx(TableCell$1, { variant: "body", children: jsxRuntimeExports.jsx(OptionSelect, { className: classes.select, value: featureListSort, onChange: handleFeatureListSortChange, inputProps: {
|
196734
|
+
id: `feature-list-sort-option-${featureListId}`
|
196735
|
+
}, children: FEATURELIST_SORT_OPTIONS.map((option) => jsxRuntimeExports.jsx("option", { value: option, children: option }, option)) }) })] }), hasFeatureLabels ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `feature-list-sort-key-${featureListId}`, children: "Sort Key" }) }), jsxRuntimeExports.jsx(TableCell$1, { variant: "body", children: jsxRuntimeExports.jsx(OptionSelect, { className: classes.select, disabled: featureListSort === "original", value: featureListSortKey, onChange: handleFeatureListSortKeyChange, inputProps: {
|
196736
|
+
"aria-label": "Select the feature list sort key",
|
196737
|
+
id: `feature-list-sort-key-${featureListId}`
|
196738
|
+
}, children: hasFeatureLabels ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("option", { value: "featureLabels", children: primaryColumnName }), jsxRuntimeExports.jsx("option", { value: "featureIndex", children: ALT_COLNAME })] }) : jsxRuntimeExports.jsx("option", { value: "featureIndex", children: primaryColumnName }) }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `feature-list-show-alternative-ids-${featureListId}`, children: "Show Alternate IDs" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Checkbox$1, { className: classes.tableCheckbox, checked: showFeatureTable, onChange: handleShowTableChange, name: "feature-list-show-table", color: "default", inputProps: {
|
196739
|
+
"aria-label": "Show or hide alternative feature ids",
|
196740
|
+
id: `feature-list-show-alternative-ids-${featureListId}`
|
196741
|
+
} }) })] })] }) : null] });
|
196610
196742
|
}
|
196611
196743
|
function FeatureListSubscriber(props2) {
|
196612
196744
|
const { coordinationScopes, removeGridComponent, variablesLabelOverride, theme, title: titleOverride, enableMultiSelect = false, showTable = false, sort: sort2 = "alphabetical", sortKey: sortKey2 = null } = props2;
|
@@ -196638,7 +196770,7 @@ function FeatureListSubscriber(props2) {
|
|
196638
196770
|
const primaryColumnName = `${capitalize$2(featureType)} ID`;
|
196639
196771
|
return jsxRuntimeExports.jsx(TitleInfo, {
|
196640
196772
|
title: title2,
|
196641
|
-
info: `${commaNumber(numGenes)} ${
|
196773
|
+
info: `${commaNumber(numGenes)} ${pluralize(variablesLabel, numGenes)}`,
|
196642
196774
|
theme,
|
196643
196775
|
// Virtual scroll is used but this allows for the same styling as a scroll component
|
196644
196776
|
// even though this no longer uses the TitleInfo component's
|
@@ -196659,6 +196791,16 @@ const useSpanStyles = makeStyles(() => ({
|
|
196659
196791
|
paddingRight: "2px"
|
196660
196792
|
}
|
196661
196793
|
}));
|
196794
|
+
const useChannelSliderStyles = makeStyles((theme) => ({
|
196795
|
+
valueLabel: {
|
196796
|
+
marginTop: "7px",
|
196797
|
+
"& span": {
|
196798
|
+
color: theme.palette.secondaryForeground,
|
196799
|
+
backgroundColor: theme.palette.secondaryBackgroundDim
|
196800
|
+
// Change color here
|
196801
|
+
}
|
196802
|
+
}
|
196803
|
+
}));
|
196662
196804
|
function MuiSpan(props2) {
|
196663
196805
|
const { children: children2 } = props2;
|
196664
196806
|
const classes = useSpanStyles();
|
@@ -196746,7 +196888,7 @@ const useStyles$6 = makeStyles((theme) => ({
|
|
196746
196888
|
}));
|
196747
196889
|
const ColorPalette = ({ handleChange }) => {
|
196748
196890
|
const classes = useStyles$6();
|
196749
|
-
return jsxRuntimeExports.jsx("div", { className: classes.paletteContainer, "aria-label": "
|
196891
|
+
return jsxRuntimeExports.jsx("div", { className: classes.paletteContainer, "aria-label": "Color swatch", children: VIEWER_PALETTE.map((color2) => jsxRuntimeExports.jsx(IconButton$2, { className: classes.button, onClick: () => handleChange(color2), "aria-label": `Change color to ${color2}`, children: jsxRuntimeExports.jsx(LensIcon, { fontSize: "small", style: { color: `rgb(${color2})` }, className: classes.icon }) }, color2)) });
|
196750
196892
|
};
|
196751
196893
|
const useStyles$5 = makeStyles(() => ({
|
196752
196894
|
menuButton: {
|
@@ -196770,7 +196912,7 @@ function ChannelOptions({ handlePropertyChange, handleChannelRemove, handleIQRUp
|
|
196770
196912
|
setOpen(false);
|
196771
196913
|
handleChannelRemove();
|
196772
196914
|
};
|
196773
|
-
return jsxRuntimeExports.jsxs(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(MoreVertIcon, { fontSize: "small" }), buttonClassName: classes.menuButton, children: [jsxRuntimeExports.jsx(MenuItem$1, { dense: true, disableGutters: true, onClick: handleRemove, children: jsxRuntimeExports.jsx(MuiSpan, { children: "Remove" }) }), jsxRuntimeExports.jsx(MenuItem$1, { dense: true, disableGutters: true, onClick: handleIQRUpdate, children: jsxRuntimeExports.jsx(MuiSpan, { children: "Use IQR" }) }), jsxRuntimeExports.jsx(MenuItem$1, { dense: true, disableGutters: true, className: classes.colors, children: jsxRuntimeExports.jsx(ColorPalette, { handleChange: handleColorSelect }) })] });
|
196915
|
+
return jsxRuntimeExports.jsxs(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(MoreVertIcon, { fontSize: "small" }), buttonClassName: classes.menuButton, "aria-label": "Open channel options menu", children: [jsxRuntimeExports.jsx(MenuItem$1, { dense: true, disableGutters: true, onClick: handleRemove, "aria-label": "Click to remove channel", children: jsxRuntimeExports.jsx(MuiSpan, { children: "Remove" }) }), jsxRuntimeExports.jsx(MenuItem$1, { dense: true, disableGutters: true, onClick: handleIQRUpdate, "aria-label": "Click to use IQR for channel", children: jsxRuntimeExports.jsx(MuiSpan, { children: "Use IQR" }) }), jsxRuntimeExports.jsx(MenuItem$1, { dense: true, disableGutters: true, className: classes.colors, "aria-label": "Click to select color for channel", children: jsxRuntimeExports.jsx(ColorPalette, { handleChange: handleColorSelect }) })] });
|
196774
196916
|
}
|
196775
196917
|
function getDomains() {
|
196776
196918
|
const domains = {};
|
@@ -196872,10 +197014,10 @@ function abbreviateNumber$1(value2) {
|
|
196872
197014
|
}
|
196873
197015
|
function ChannelSelectionDropdown({ handleChange, disabled, channelOptions, selectionIndex }) {
|
196874
197016
|
const classes = useSelectStyles();
|
196875
|
-
return jsxRuntimeExports.jsx(Select$1, { classes: { root: classes.selectRoot }, native: true, value: selectionIndex, onChange: (e3) => handleChange(Number(e3.target.value)), children: channelOptions.map((opt, i2) => jsxRuntimeExports.jsx("option", { disabled, value: i2, children: opt }, opt)) });
|
197017
|
+
return jsxRuntimeExports.jsx(Select$1, { classes: { root: classes.selectRoot }, native: true, value: selectionIndex, onChange: (e3) => handleChange(Number(e3.target.value)), inputProps: { "aria-label": "Select a channel" }, children: channelOptions.map((opt, i2) => jsxRuntimeExports.jsx("option", { disabled, value: i2, children: opt }, opt)) });
|
196876
197018
|
}
|
196877
197019
|
function ChannelVisibilityCheckbox({ color: color2, checked, toggle: toggle2, disabled }) {
|
196878
|
-
return jsxRuntimeExports.jsx(Checkbox$1, { onChange: toggle2, checked, disabled, style: { color: color2, "&$checked": { color: color2 } } });
|
197020
|
+
return jsxRuntimeExports.jsx(Checkbox$1, { onChange: toggle2, checked, disabled, style: { color: color2, "&$checked": { color: color2 } }, inputProps: { "aria-label": "Toggle on or off a channel" } });
|
196879
197021
|
}
|
196880
197022
|
function abbreviateNumber(value2) {
|
196881
197023
|
const maxLength = 5;
|
@@ -196904,8 +197046,12 @@ function ChannelSlider({ color: color2, slider = [0, 0], handleChange, domain: d
|
|
196904
197046
|
sliderCopy[1] = max2;
|
196905
197047
|
}
|
196906
197048
|
const handleChangeDebounced = useCallback(debounce$5(handleChange, 3, { trailing: true }), [handleChange]);
|
197049
|
+
const classes = useChannelSliderStyles();
|
196907
197050
|
const step2 = max2 - min2 < 500 && dtype.startsWith("Float") ? (max2 - min2) / 500 : 1;
|
196908
|
-
return jsxRuntimeExports.jsx(Slider$1, { value: slider, valueLabelFormat: abbreviateNumber, onChange: (e3, v) => handleChangeDebounced(v), valueLabelDisplay: "auto", getAriaLabel: () =>
|
197051
|
+
return jsxRuntimeExports.jsx(Slider$1, { classes: { valueLabel: classes.valueLabel }, value: slider, valueLabelFormat: abbreviateNumber, onChange: (e3, v) => handleChangeDebounced(v), valueLabelDisplay: "auto", getAriaLabel: (index2) => {
|
197052
|
+
const labelPrefix = index2 === 0 ? "Low value slider" : "High value slider";
|
197053
|
+
return `${labelPrefix} for ${color2} colormap channel`;
|
197054
|
+
}, getAriaValueText: () => `Current colormap values: ${color2}-${slider}`, min: min2, max: max2, step: step2, orientation: "horizontal", style: { color: color2, marginTop: "7px" }, disabled });
|
196909
197055
|
}
|
196910
197056
|
function RasterChannelController({ visibility = false, slider, color: color2, channels: channels2, channelId, domainType: newDomainType, dimName, theme, loader: loader2, colormapOn, channelOptions, handlePropertyChange, handleChannelRemove, handleIQRUpdate, selectionIndex, isLoading, use3d: newUse3d }) {
|
196911
197057
|
const { dtype } = getSourceFromLoader(loader2);
|
@@ -196979,7 +197125,7 @@ function RasterChannelController({ visibility = false, slider, color: color2, ch
|
|
196979
197125
|
}
|
196980
197126
|
function BitmaskChannelController({ visibility = false, dimName, channelOptions, handlePropertyChange, handleChannelRemove, selectionIndex, disableOptions = false }) {
|
196981
197127
|
const createSelection = (index2) => ({ [dimName]: index2 });
|
196982
|
-
return jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 2, children: jsxRuntimeExports.jsx(ChannelVisibilityCheckbox, { color: [220, 220, 220], checked: visibility, toggle: () => handlePropertyChange("visible", !visibility) }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 9, children: jsxRuntimeExports.jsx(ChannelSelectionDropdown, { handleChange: (v) => handlePropertyChange("selection", createSelection(v)), selectionIndex, disableOptions, channelOptions }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 1, children: jsxRuntimeExports.jsx(IconButton$2, { onClick: handleChannelRemove, style: { padding: "6px 6px 6px 0px" }, children: jsxRuntimeExports.jsx(RemoveCircleIcon, {}) }) })] });
|
197128
|
+
return jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 2, children: jsxRuntimeExports.jsx(ChannelVisibilityCheckbox, { color: [220, 220, 220], checked: visibility, toggle: () => handlePropertyChange("visible", !visibility) }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 9, children: jsxRuntimeExports.jsx(ChannelSelectionDropdown, { handleChange: (v) => handlePropertyChange("selection", createSelection(v)), selectionIndex, disableOptions, channelOptions }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 1, children: jsxRuntimeExports.jsx(IconButton$2, { onClick: handleChannelRemove, style: { padding: "6px 6px 6px 0px" }, "aria-label": "Remove channel", children: jsxRuntimeExports.jsx(RemoveCircleIcon, {}) }) })] });
|
196983
197129
|
}
|
196984
197130
|
function VectorLayerController(props2) {
|
196985
197131
|
const { label: label2, layer, layerType, handleLayerChange } = props2;
|
@@ -197000,7 +197146,10 @@ function VectorLayerController(props2) {
|
|
197000
197146
|
return jsxRuntimeExports.jsx(Grid$3, { item: true, style: { marginTop: "10px" }, children: jsxRuntimeExports.jsxs(Paper$1, { className: classes.layerControllerRoot, children: [jsxRuntimeExports.jsx(Typography$1, { style: {
|
197001
197147
|
padding: "15px 8px 0px 8px",
|
197002
197148
|
marginBottom: "-5px"
|
197003
|
-
}, children: label2 }), jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 2, children: jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: isOn, onChange: (e3, v) => handleCheckBoxChange(v) }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 9, style: { paddingRight: "8px" }, children: jsxRuntimeExports.jsx(Slider$1, { value: slider, min: 0, max: 1, step: 1e-3, onChange: (e3, v) => handleSliderChange(v), style: { marginTop: "7px" }, orientation: "horizontal"
|
197149
|
+
}, children: label2 }), jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 2, children: jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: isOn, onChange: (e3, v) => handleCheckBoxChange(v), inputProps: { "aria-label": "Show or hide vector layer" } }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 9, style: { paddingRight: "8px" }, children: jsxRuntimeExports.jsx(Slider$1, { value: slider, min: 0, max: 1, step: 1e-3, onChange: (e3, v) => handleSliderChange(v), style: { marginTop: "7px" }, orientation: "horizontal", getAriaLabel: (index2) => {
|
197150
|
+
const labelPrefix = index2 === 0 ? "Low value slider" : "High value slider";
|
197151
|
+
return `${labelPrefix} for ${label2} layer controller`;
|
197152
|
+
} }) })] })] }) });
|
197004
197153
|
}
|
197005
197154
|
const DOMAIN_OPTIONS = ["Full", "Min/Max"];
|
197006
197155
|
function VolumeDropdown({ loader: loaderWithMeta, handleMultiPropertyChange, resolution: currResolution, disable3d, setRasterLayerCallback, setAreAllChannelsLoading, setViewState, spatialHeight, spatialWidth, channels: channels2, use3d, modelMatrix: modelMatrix2 }) {
|
@@ -197068,7 +197217,7 @@ function VolumeDropdown({ loader: loaderWithMeta, handleMultiPropertyChange, res
|
|
197068
197217
|
};
|
197069
197218
|
const { labels: labels2, shape: shape2 } = Array.isArray(loader2) ? loader2[0] : loader2;
|
197070
197219
|
const hasZStack = shape2[labels2.indexOf("z")] > 1;
|
197071
|
-
return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: jsxRuntimeExports.jsxs(Select$1, { native: true, value: currResolution, onChange: (e3) => handleChange(e3.target.value === "2D" ? e3.target.value : Number(e3.target.value)), classes: { root: classes.selectRoot }, children: [jsxRuntimeExports.jsx("option", { value: "2D", children: "2D Visualization" }, "2D"), Array.from({ length: loader2.length }).fill(0).map((_, resolution) => {
|
197220
|
+
return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: jsxRuntimeExports.jsxs(Select$1, { native: true, value: currResolution, onChange: (e3) => handleChange(e3.target.value === "2D" ? e3.target.value : Number(e3.target.value)), inputProps: { "aria-label": "Resolution selector" }, classes: { root: classes.selectRoot }, children: [jsxRuntimeExports.jsx("option", { value: "2D", children: "2D Visualization" }, "2D"), Array.from({ length: loader2.length }).fill(0).map((_, resolution) => {
|
197072
197221
|
if (loader2) {
|
197073
197222
|
if (canLoadResolution(loader2, resolution)) {
|
197074
197223
|
const { height: height2, width: width2, depthDownsampled, totalBytes } = getStatsForResolution(loader2, resolution);
|
@@ -197080,25 +197229,26 @@ function VolumeDropdown({ loader: loaderWithMeta, handleMultiPropertyChange, res
|
|
197080
197229
|
}
|
197081
197230
|
function ColormapSelect({ value: value2, inputId, handleChange }) {
|
197082
197231
|
const classes = useSelectStyles();
|
197083
|
-
return jsxRuntimeExports.jsxs(Select$1, { native: true, onChange: (e3) => handleChange(e3.target.value === "" ? null : e3.target.value), value: value2, inputProps: { name: "colormap", id: inputId }, style: { width: "100%" }, classes: { root: classes.selectRoot }, children: [jsxRuntimeExports.jsx("option", { "aria-label": "None", value: "", children: "None" }), COLORMAP_OPTIONS.map((name2) => jsxRuntimeExports.jsx("option", { value: name2, children: name2 }, name2))] });
|
197232
|
+
return jsxRuntimeExports.jsxs(Select$1, { native: true, onChange: (e3) => handleChange(e3.target.value === "" ? null : e3.target.value), value: value2, inputProps: { name: "colormap", id: inputId, "aria-label": "Colormap selector" }, style: { width: "100%" }, classes: { root: classes.selectRoot }, children: [jsxRuntimeExports.jsx("option", { "aria-label": "None", value: "", children: "None" }), COLORMAP_OPTIONS.map((name2) => jsxRuntimeExports.jsx("option", { value: name2, children: name2 }, name2))] });
|
197084
197233
|
}
|
197085
|
-
function TransparentColorCheckbox({ value: value2, handleChange }) {
|
197234
|
+
function TransparentColorCheckbox({ value: value2, inputId, handleChange }) {
|
197086
197235
|
return jsxRuntimeExports.jsx(Checkbox$1, { style: { float: "left", padding: 0 }, color: "default", onChange: () => {
|
197087
197236
|
if (value2) {
|
197088
197237
|
handleChange(null);
|
197089
197238
|
} else {
|
197090
197239
|
handleChange([0, 0, 0]);
|
197091
197240
|
}
|
197092
|
-
}, checked: Boolean(value2) });
|
197241
|
+
}, checked: Boolean(value2), id: inputId, inputProps: { "aria-label": "Enable or disable color transparency" } });
|
197093
197242
|
}
|
197094
|
-
function OpacitySlider({ value: value2, handleChange }) {
|
197095
|
-
|
197243
|
+
function OpacitySlider({ value: value2, inputId, handleChange }) {
|
197244
|
+
const classes = useChannelSliderStyles();
|
197245
|
+
return jsxRuntimeExports.jsx(Slider$1, { classes: { valueLabel: classes.valueLabel }, value: value2, onChange: (e3, v) => handleChange(v), valueLabelDisplay: "auto", "aria-label": "Layer opacity slider", id: inputId, min: 0, max: 1, step: 0.01, orientation: "horizontal" });
|
197096
197246
|
}
|
197097
197247
|
function SliderDomainSelector({ value: value2, inputId, handleChange }) {
|
197098
197248
|
const classes = useSelectStyles();
|
197099
|
-
return jsxRuntimeExports.jsx(Select$1, { native: true, onChange: (e3) => handleChange(e3.target.value), value: value2, inputProps: { name: "domain-selector",
|
197249
|
+
return jsxRuntimeExports.jsx(Select$1, { native: true, onChange: (e3) => handleChange(e3.target.value), value: value2, id: inputId, inputProps: { name: "domain-selector", "aria-label": "Domain type selector" }, style: { width: "100%" }, classes: { root: classes.selectRoot }, children: DOMAIN_OPTIONS.map((name2) => jsxRuntimeExports.jsx("option", { value: name2, children: name2 }, name2)) });
|
197100
197250
|
}
|
197101
|
-
function GlobalSelectionSlider({ field: field2, value: value2, handleChange, possibleValues }) {
|
197251
|
+
function GlobalSelectionSlider({ field: field2, value: value2, inputId, handleChange, possibleValues }) {
|
197102
197252
|
const classes = useSelectionSliderStyles();
|
197103
197253
|
return jsxRuntimeExports.jsx(Slider$1, {
|
197104
197254
|
classes: { root: classes.selectionSliderRoot, markActive: classes.markActive },
|
@@ -197112,7 +197262,8 @@ function GlobalSelectionSlider({ field: field2, value: value2, handleChange, pos
|
|
197112
197262
|
handleChange({ selection: { [field2]: newValue }, event: event2 });
|
197113
197263
|
},
|
197114
197264
|
valueLabelDisplay: "auto",
|
197115
|
-
|
197265
|
+
"aria-label": `${field2} slider`,
|
197266
|
+
id: inputId,
|
197116
197267
|
marks: possibleValues.map((val) => ({ value: val })),
|
197117
197268
|
min: Number(possibleValues[0]),
|
197118
197269
|
max: Number(possibleValues.slice(-1)),
|
@@ -197130,9 +197281,14 @@ function LayerOptions({ colormap, opacity: opacity2, handleColormapChange, handl
|
|
197130
197281
|
const hasViewableResolutions = Boolean(Array.from({
|
197131
197282
|
length: loader2.data.length
|
197132
197283
|
}).filter((_, res) => canLoadResolution(loader2.data, res)).length);
|
197133
|
-
|
197284
|
+
const globalSelectionSliderId = useId();
|
197285
|
+
const colormapSelectId = useId();
|
197286
|
+
const domainSelectorId = useId();
|
197287
|
+
const opacitySliderId = useId();
|
197288
|
+
const zeroTransparentId = useId();
|
197289
|
+
return jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "column", style: { 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$a(shape2[labels2.indexOf(field2)]) }) }, field2)), !disableChannelsIfRgbDetected ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [shouldShowColormap && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Colormap", inputId: colormapSelectId, children: jsxRuntimeExports.jsx(ColormapSelect, { value: colormap || "", inputId: colormapSelectId, handleChange: handleColormapChange }) }) }), shouldShowDomain && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Domain", inputId: domainSelectorId, children: jsxRuntimeExports.jsx(SliderDomainSelector, { value: domainType || DEFAULT_RASTER_DOMAIN_TYPE, inputId: domainSelectorId, handleChange: (value2) => {
|
197134
197290
|
handleDomainChange(value2);
|
197135
|
-
} }) }) })] }) : null, !use3d && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Opacity", inputId:
|
197291
|
+
} }) }) })] }) : null, !use3d && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Opacity", inputId: opacitySliderId, children: jsxRuntimeExports.jsx(OpacitySlider, { value: opacity2, handleChange: handleOpacityChange, inputId: opacitySliderId }) }) }), shouldShowTransparentColor && !use3d && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Zero Transparent", inputId: zeroTransparentId, children: jsxRuntimeExports.jsx(TransparentColorCheckbox, { value: transparentColor, handleChange: handleTransparentColorChange, inputId: zeroTransparentId }) }) })] });
|
197136
197292
|
}
|
197137
197293
|
const useSlicerStyles = makeStyles((theme) => createStyles({
|
197138
197294
|
enabled: {},
|
@@ -197172,8 +197328,8 @@ const Slicer = ({ xSlice, ySlice, zSlice, handleSlicerSetting, loader: loader2,
|
|
197172
197328
|
]
|
197173
197329
|
];
|
197174
197330
|
const classes = useSlicerStyles();
|
197175
|
-
const Slicers = sliceValuesAndSetSliceFunctions.map(([val, setVal, label2, [min2, max2]]) => jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "row", justifyContent: "flex-start", alignItems: "center", children: [jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 1, children: jsxRuntimeExports.jsxs(Typography$1, { className: !use3d ? classes.disabled : classes.enabled, style: { marginBottom: 0 }, children: [label2, ":"] }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 11, children: jsxRuntimeExports.jsx(Slider$1, { disabled: !use3d, className: !use3d ? classes.disabled : classes.enabled, value: val, onChange: (e3, v) => setVal(v), valueLabelDisplay: "auto", valueLabelFormat: (v) => abbreviateNumber$1(v),
|
197176
|
-
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(Typography$1, { className: !use3d ? classes.disabled : classes.enabled, style: { marginTop: 16, marginBottom: 0 }, children: ["Clipping Planes:", " "] }), " ", Slicers] });
|
197331
|
+
const Slicers = sliceValuesAndSetSliceFunctions.map(([val, setVal, label2, [min2, max2]]) => jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "row", justifyContent: "flex-start", alignItems: "center", children: [jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 1, children: jsxRuntimeExports.jsxs(Typography$1, { className: !use3d ? classes.disabled : classes.enabled, style: { marginBottom: 0 }, variant: "h2", children: [label2, ":"] }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 11, children: jsxRuntimeExports.jsx(Slider$1, { disabled: !use3d, className: !use3d ? classes.disabled : classes.enabled, value: val, onChange: (e3, v) => setVal(v), valueLabelDisplay: "auto", valueLabelFormat: (v) => abbreviateNumber$1(v), "aria-label": `Volume options ${label2} slider`, min: min2, max: max2, step: 5e-3, orientation: "horizontal" }) })] }, label2));
|
197332
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(Typography$1, { className: !use3d ? classes.disabled : classes.enabled, style: { marginTop: 16, marginBottom: 0 }, variant: "h2", children: ["Clipping Planes:", " "] }), " ", Slicers] });
|
197177
197333
|
};
|
197178
197334
|
const renderingOptions = Object.values(RENDERING_MODES);
|
197179
197335
|
function RenderingModeSelect({ handleRenderingModeChange, renderingMode, use3d }) {
|
@@ -197181,7 +197337,8 @@ function RenderingModeSelect({ handleRenderingModeChange, renderingMode, use3d }
|
|
197181
197337
|
const options = !use3d ? [...renderingOptions, ""] : renderingOptions;
|
197182
197338
|
return jsxRuntimeExports.jsxs(FormControl$1, { fullWidth: true, children: [jsxRuntimeExports.jsx(InputLabel$1, { htmlFor: "rendering-mode-select", children: "Rendering Mode" }), jsxRuntimeExports.jsx(Select$1, { native: true, onChange: (e3) => handleRenderingModeChange(e3.target.value), value: use3d ? renderingMode : "", inputProps: {
|
197183
197339
|
name: "rendering-mode",
|
197184
|
-
id: "rendering-mode-select"
|
197340
|
+
id: "rendering-mode-select",
|
197341
|
+
"aria-label": "Select rendering mode option"
|
197185
197342
|
}, disabled: !use3d, classes: { root: classes.selectRoot }, children: options.map((name2) => jsxRuntimeExports.jsx("option", { value: name2, children: name2 }, name2)) })] });
|
197186
197343
|
}
|
197187
197344
|
const ReCenterButton = ({ setViewState, use3d, spatialHeight, spatialWidth, loader: loader2, modelMatrix: modelMatrix2 }) => jsxRuntimeExports.jsx(Grid$3, { item: true, xs: "auto", children: jsxRuntimeExports.jsx(Button$1, { onClick: () => {
|
@@ -197231,6 +197388,7 @@ function LayerController(props2) {
|
|
197231
197388
|
channelRef.current = channels2;
|
197232
197389
|
return void 0;
|
197233
197390
|
}, [channels2]);
|
197391
|
+
const layerControlsId = useId();
|
197234
197392
|
const firstSelection = ((_a2 = channels2[0]) == null ? void 0 : _a2.selection) || {};
|
197235
197393
|
const { data: data2, channels: channelOptions } = loader2;
|
197236
197394
|
const [tab, setTab] = useState(0);
|
@@ -197458,12 +197616,12 @@ function LayerController(props2) {
|
|
197458
197616
|
return jsxRuntimeExports.jsxs(Accordion$1, { className: controllerSectionClasses.layerControllerRoot, onChange: (e3, expanded) => {
|
197459
197617
|
var _a3, _b, _c;
|
197460
197618
|
return !disabled && setIsExpanded(expanded && ((_c = (_b = (_a3 = e3 == null ? void 0 : e3.target) == null ? void 0 : _a3.attributes) == null ? void 0 : _b.role) == null ? void 0 : _c.value) === "presentation");
|
197461
|
-
}, TransitionProps: { enter: false }, expanded: !disabled && isExpanded, children: [jsxRuntimeExports.jsx(AccordionSummary$1, { classes: {
|
197619
|
+
}, TransitionProps: { enter: false }, expanded: !disabled && isExpanded, id: `layer-controls-accordion-${layerControlsId}`, children: [jsxRuntimeExports.jsx(AccordionSummary$1, { classes: {
|
197462
197620
|
root: accordionClasses.accordionSummaryRoot,
|
197463
197621
|
content: accordionClasses.content,
|
197464
197622
|
expanded: accordionClasses.expanded,
|
197465
197623
|
expandIcon: accordionClasses.expandIcon
|
197466
|
-
}, expandIcon: jsxRuntimeExports.jsx(ExpandMoreIcon, { role: "presentation" }), "aria-controls": `layer-${name2}-controls`, children: jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "column", m: 1, justifyContent: "center", children: [jsxRuntimeExports.jsxs(Grid$3, { item: true, classes: { item: overflowEllipsisGridClasses.item }, children: [jsxRuntimeExports.jsx(Button$1, { onClick: (e3) => {
|
197624
|
+
}, expandIcon: jsxRuntimeExports.jsx(ExpandMoreIcon, { role: "presentation" }), "aria-controls": `layer-${name2}-controls`, "aria-expanded": isExpanded, children: jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "column", m: 1, justifyContent: "center", children: [jsxRuntimeExports.jsxs(Grid$3, { item: true, classes: { item: overflowEllipsisGridClasses.item }, children: [jsxRuntimeExports.jsx(Button$1, { "aria-label": "Toggle layer visibility", onClick: (e3) => {
|
197467
197625
|
if (!disabled) {
|
197468
197626
|
e3.stopPropagation();
|
197469
197627
|
const nextVisible = typeof visible === "boolean" ? !visible : false;
|
@@ -197474,12 +197632,12 @@ function LayerController(props2) {
|
|
197474
197632
|
marginBottom: 2,
|
197475
197633
|
padding: 0,
|
197476
197634
|
minWidth: 0
|
197477
|
-
}, children: jsxRuntimeExports.jsx(Visibility, {}) }), name2] }), !disabled && !isExpanded && !use3d && jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "row", alignItems: "center", justifyContent: "center", children: [jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 6, children: jsxRuntimeExports.jsx(InputLabel$1, { htmlFor: `layer-${name2}-opacity-closed`, classes: { root: inputLabelClasses.inputLabelRoot }, children: "Opacity:" }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 6, children: jsxRuntimeExports.jsx(Slider$1, { id: `layer-${name2}-opacity-closed`, value: opacity2, onChange: (e3, v) => setOpacity(v), valueLabelDisplay: "auto",
|
197635
|
+
}, children: jsxRuntimeExports.jsx(Visibility, {}) }), name2] }), !disabled && !isExpanded && !use3d && jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "row", alignItems: "center", justifyContent: "center", children: [jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 6, children: jsxRuntimeExports.jsx(InputLabel$1, { htmlFor: `layer-${name2}-opacity-closed`, classes: { root: inputLabelClasses.inputLabelRoot }, children: "Opacity:" }) }), jsxRuntimeExports.jsx(Grid$3, { item: true, xs: 6, children: jsxRuntimeExports.jsx(Slider$1, { id: `layer-${name2}-opacity-closed`, value: opacity2, onChange: (e3, v) => setOpacity(v), valueLabelDisplay: "auto", "aria-label": `Adjust opacity for layer ${name2}`, min: 0, max: 1, step: 0.01, orientation: "horizontal" }) })] })] }) }), jsxRuntimeExports.jsxs(AccordionDetails$1, { classes: { root: accordionClasses.accordionDetailsRoot }, id: `layer-${name2}-controls`, children: [useVolumeTabs ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs(Tabs$1, { value: tab, onChange: handleTabChange, "aria-label": "Change the layer tab type", style: { height: "24px", minHeight: "24px" }, children: [jsxRuntimeExports.jsx(Tab$1, { label: "Channels", "aria-label": "Channels tab", style: {
|
197478
197636
|
fontSize: ".75rem",
|
197479
197637
|
bottom: 12,
|
197480
197638
|
width: "50%",
|
197481
197639
|
minWidth: "50%"
|
197482
|
-
}, disableRipple: true }), jsxRuntimeExports.jsx(Tab$1, { label: "Volume", style: {
|
197640
|
+
}, disableRipple: true }), jsxRuntimeExports.jsx(Tab$1, { label: "Volume", "aria-label": "Volume tab", style: {
|
197483
197641
|
fontSize: ".75rem",
|
197484
197642
|
bottom: 12,
|
197485
197643
|
width: "50%",
|
@@ -197505,7 +197663,7 @@ function ImageAddButton({ imageOptions, handleImageAdd }) {
|
|
197505
197663
|
};
|
197506
197664
|
if (!imageOptions)
|
197507
197665
|
return null;
|
197508
|
-
return jsxRuntimeExports.jsx(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(ImageAddIcon, {}), buttonClassName: classes.addButton, placement: "bottom-start", children: imageOptions.map((imgData, i2) => jsxRuntimeExports.jsx(MenuItem$1, { dense: true, onClick: () => handleAdd(i2), children: jsxRuntimeExports.jsx("span", { children: imgData.name }) }, imgData.name)) });
|
197666
|
+
return jsxRuntimeExports.jsx(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(ImageAddIcon, {}), buttonClassName: classes.addButton, placement: "bottom-start", "aria-label": "Add image menu", children: imageOptions.map((imgData, i2) => jsxRuntimeExports.jsx(MenuItem$1, { dense: true, onClick: () => handleAdd(i2), children: jsxRuntimeExports.jsx("span", { children: imgData.name }) }, imgData.name)) });
|
197509
197667
|
}
|
197510
197668
|
const LayerControllerMemoized = React__default.memo(forwardRef((props2, ref2) => {
|
197511
197669
|
const {
|
@@ -198297,7 +198455,7 @@ const HIGLASS_BUNDLE_VERSION = "1.11.13";
|
|
198297
198455
|
const HIGLASS_CSS_URL = `https://unpkg.com/${HIGLASS_PKG_NAME}@${HIGLASS_BUNDLE_VERSION}/dist/hglib.css`;
|
198298
198456
|
register({ dataFetcher: ZarrMultivecDataFetcher, config: ZarrMultivecDataFetcher.config }, { pluginType: "dataFetcher" });
|
198299
198457
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
198300
|
-
const { HiGlassComponent } = await import("./hglib-
|
198458
|
+
const { HiGlassComponent } = await import("./hglib-27190533.js").then((n3) => n3.h);
|
198301
198459
|
return { default: HiGlassComponent };
|
198302
198460
|
});
|
198303
198461
|
const HG_SIZE = 800;
|
@@ -198585,6 +198743,7 @@ function GenomicProfilesSubscriber(props2) {
|
|
198585
198743
|
}
|
198586
198744
|
function CellSetExpressionPlotOptions(props2) {
|
198587
198745
|
const { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions } = props2;
|
198746
|
+
const cellSetExpressionPlotOptionsId = useId();
|
198588
198747
|
const classes = usePlotOptionsStyles();
|
198589
198748
|
const handleTransformChange = (event2) => {
|
198590
198749
|
setFeatureValueTransform(event2.target.value === "" ? null : event2.target.value);
|
@@ -198600,11 +198759,11 @@ function CellSetExpressionPlotOptions(props2) {
|
|
198600
198759
|
}
|
198601
198760
|
}
|
198602
198761
|
};
|
198603
|
-
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, children: "Transform" }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, children: jsxRuntimeExports.jsx(OptionSelect, { className: classes.select, value: featureValueTransform === null ? "" : featureValueTransform, onChange: handleTransformChange, inputProps: {
|
198604
|
-
id:
|
198605
|
-
}, children: transformOptions.map((opt) => jsxRuntimeExports.jsx("option", { value: opt.value === null ? "" : opt.value, children: opt.name }, opt.name)) }
|
198762
|
+
return jsxRuntimeExports.jsxs(OptionsContainer, { children: [jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `cellset-expression-transform-select-${cellSetExpressionPlotOptionsId}`, children: "Transform" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(OptionSelect, { className: classes.select, value: featureValueTransform === null ? "" : featureValueTransform, onChange: handleTransformChange, inputProps: {
|
198763
|
+
id: `cellset-expression-transform-select-${cellSetExpressionPlotOptionsId}`
|
198764
|
+
}, children: transformOptions.map((opt) => jsxRuntimeExports.jsx("option", { value: opt.value === null ? "" : opt.value, children: opt.name }, opt.name)) }) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `cellset-expression-transform-coeff-${cellSetExpressionPlotOptionsId}`, children: "Transform Coefficient" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(TextField$1, { label: "Transform Coefficient", type: "number", onChange: handleTransformCoefficientChange, value: featureValueTransformCoefficient, InputLabelProps: {
|
198606
198765
|
shrink: true
|
198607
|
-
} }) })] }
|
198766
|
+
}, id: `cellset-expression-transform-coeff-${cellSetExpressionPlotOptionsId}` }) })] })] });
|
198608
198767
|
}
|
198609
198768
|
function accessor(fn, fields, name2) {
|
198610
198769
|
fn.fields = fields || [];
|
@@ -199081,10 +199240,10 @@ function flush(range2, value2, threshold2, left2, right2, center2) {
|
|
199081
199240
|
const r3 = Math.abs(b2 - value2);
|
199082
199241
|
return l2 < r3 && l2 <= t4 ? left2 : r3 <= t4 ? right2 : center2;
|
199083
199242
|
}
|
199084
|
-
function inherits(
|
199085
|
-
const proto =
|
199243
|
+
function inherits(child, parent, members) {
|
199244
|
+
const proto = child.prototype = Object.create(parent.prototype);
|
199086
199245
|
Object.defineProperty(proto, "constructor", {
|
199087
|
-
value:
|
199246
|
+
value: child,
|
199088
199247
|
writable: true,
|
199089
199248
|
enumerable: true,
|
199090
199249
|
configurable: true
|
@@ -199231,8 +199390,8 @@ function toSet(_) {
|
|
199231
199390
|
s2[_[i2]] = true;
|
199232
199391
|
return s2;
|
199233
199392
|
}
|
199234
|
-
function truncate$1(str, length2, align2,
|
199235
|
-
const e3 =
|
199393
|
+
function truncate$1(str, length2, align2, ellipsis) {
|
199394
|
+
const e3 = ellipsis != null ? ellipsis : "…", s2 = str + "", n3 = s2.length, l2 = Math.max(0, length2 - e3.length);
|
199236
199395
|
return n3 <= length2 ? s2 : align2 === "left" ? e3 + s2.slice(n3 - l2) : align2 === "center" ? s2.slice(0, Math.ceil(l2 / 2)) + e3 + s2.slice(n3 - ~~(l2 / 2)) : s2.slice(0, l2) + e3;
|
199237
199396
|
}
|
199238
199397
|
function visitArray(array2, filter2, visitor) {
|
@@ -208248,13 +208407,13 @@ function intersect$3(x02, y02, x12, y12, x2, y2, x3, y3) {
|
|
208248
208407
|
return [x02 + t4 * x10, y02 + t4 * y10];
|
208249
208408
|
}
|
208250
208409
|
function cornerTangents(x02, y02, x12, y12, r1, rc, cw2) {
|
208251
|
-
var x01 = x02 - x12, y01 = y02 - y12, lo = (cw2 ? rc : -rc) / sqrt$3(x01 * x01 + y01 * y01),
|
208410
|
+
var x01 = x02 - x12, y01 = y02 - y12, lo = (cw2 ? rc : -rc) / sqrt$3(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x11 = x02 + ox, y11 = y02 + oy, x10 = x12 + ox, y10 = y12 + oy, x002 = (x11 + x10) / 2, y002 = (y11 + y10) / 2, dx = x10 - x11, dy = y10 - y11, d2 = dx * dx + dy * dy, r3 = r1 - rc, D2 = x11 * y10 - x10 * y11, d = (dy < 0 ? -1 : 1) * sqrt$3(max$1(0, r3 * r3 * d2 - D2 * D2)), cx0 = (D2 * dy - dx * d) / d2, cy0 = (-D2 * dx - dy * d) / d2, cx1 = (D2 * dy + dx * d) / d2, cy1 = (-D2 * dx + dy * d) / d2, dx0 = cx0 - x002, dy0 = cy0 - y002, dx1 = cx1 - x002, dy1 = cy1 - y002;
|
208252
208411
|
if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1)
|
208253
208412
|
cx0 = cx1, cy0 = cy1;
|
208254
208413
|
return {
|
208255
208414
|
cx: cx0,
|
208256
208415
|
cy: cy0,
|
208257
|
-
x01: -
|
208416
|
+
x01: -ox,
|
208258
208417
|
y01: -oy,
|
208259
208418
|
x11: cx0 * (r1 / r3 - 1),
|
208260
208419
|
y11: cy0 * (r1 / r3 - 1)
|
@@ -208553,14 +208712,14 @@ function Symbol$1(type2, size2) {
|
|
208553
208712
|
}
|
208554
208713
|
function noop$3() {
|
208555
208714
|
}
|
208556
|
-
function point$7(
|
208557
|
-
|
208558
|
-
(2 *
|
208559
|
-
(2 *
|
208560
|
-
(
|
208561
|
-
(
|
208562
|
-
(
|
208563
|
-
(
|
208715
|
+
function point$7(that, x2, y2) {
|
208716
|
+
that._context.bezierCurveTo(
|
208717
|
+
(2 * that._x0 + that._x1) / 3,
|
208718
|
+
(2 * that._y0 + that._y1) / 3,
|
208719
|
+
(that._x0 + 2 * that._x1) / 3,
|
208720
|
+
(that._y0 + 2 * that._y1) / 3,
|
208721
|
+
(that._x0 + 4 * that._x1 + x2) / 6,
|
208722
|
+
(that._y0 + 4 * that._y1 + y2) / 6
|
208564
208723
|
);
|
208565
208724
|
}
|
208566
208725
|
function Basis(context2) {
|
@@ -208756,14 +208915,14 @@ const curveBundle = function custom(beta) {
|
|
208756
208915
|
};
|
208757
208916
|
return bundle2;
|
208758
208917
|
}(0.85);
|
208759
|
-
function point$6(
|
208760
|
-
|
208761
|
-
|
208762
|
-
|
208763
|
-
|
208764
|
-
|
208765
|
-
|
208766
|
-
|
208918
|
+
function point$6(that, x2, y2) {
|
208919
|
+
that._context.bezierCurveTo(
|
208920
|
+
that._x1 + that._k * (that._x2 - that._x0),
|
208921
|
+
that._y1 + that._k * (that._y2 - that._y0),
|
208922
|
+
that._x2 + that._k * (that._x1 - x2),
|
208923
|
+
that._y2 + that._k * (that._y1 - y2),
|
208924
|
+
that._x2,
|
208925
|
+
that._y2
|
208767
208926
|
);
|
208768
208927
|
}
|
208769
208928
|
function Cardinal(context2, tension) {
|
@@ -208939,19 +209098,19 @@ const curveCardinalOpen = function custom4(tension) {
|
|
208939
209098
|
};
|
208940
209099
|
return cardinal;
|
208941
209100
|
}(0);
|
208942
|
-
function point$5(
|
208943
|
-
var x12 =
|
208944
|
-
if (
|
208945
|
-
var a2 = 2 *
|
208946
|
-
x12 = (x12 * a2 -
|
208947
|
-
y12 = (y12 * a2 -
|
209101
|
+
function point$5(that, x2, y2) {
|
209102
|
+
var x12 = that._x1, y12 = that._y1, x22 = that._x2, y22 = that._y2;
|
209103
|
+
if (that._l01_a > epsilon$4) {
|
209104
|
+
var a2 = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a, n3 = 3 * that._l01_a * (that._l01_a + that._l12_a);
|
209105
|
+
x12 = (x12 * a2 - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n3;
|
209106
|
+
y12 = (y12 * a2 - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n3;
|
208948
209107
|
}
|
208949
|
-
if (
|
208950
|
-
var b2 = 2 *
|
208951
|
-
x22 = (x22 * b2 +
|
208952
|
-
y22 = (y22 * b2 +
|
209108
|
+
if (that._l23_a > epsilon$4) {
|
209109
|
+
var b2 = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a, m2 = 3 * that._l23_a * (that._l23_a + that._l12_a);
|
209110
|
+
x22 = (x22 * b2 + that._x1 * that._l23_2a - x2 * that._l12_2a) / m2;
|
209111
|
+
y22 = (y22 * b2 + that._y1 * that._l23_2a - y2 * that._l12_2a) / m2;
|
208953
209112
|
}
|
208954
|
-
|
209113
|
+
that._context.bezierCurveTo(x12, y12, x22, y22, that._x2, that._y2);
|
208955
209114
|
}
|
208956
209115
|
function CatmullRom(context2, alpha2) {
|
208957
209116
|
this._context = context2;
|
@@ -209170,17 +209329,17 @@ function curveLinearClosed(context2) {
|
|
209170
209329
|
function sign$1(x2) {
|
209171
209330
|
return x2 < 0 ? -1 : 1;
|
209172
209331
|
}
|
209173
|
-
function slope3(
|
209174
|
-
var h0 =
|
209332
|
+
function slope3(that, x2, y2) {
|
209333
|
+
var h0 = that._x1 - that._x0, h1 = x2 - that._x1, s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), p = (s0 * h1 + s1 * h0) / (h0 + h1);
|
209175
209334
|
return (sign$1(s0) + sign$1(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;
|
209176
209335
|
}
|
209177
|
-
function slope2(
|
209178
|
-
var h2 =
|
209179
|
-
return h2 ? (3 * (
|
209336
|
+
function slope2(that, t4) {
|
209337
|
+
var h2 = that._x1 - that._x0;
|
209338
|
+
return h2 ? (3 * (that._y1 - that._y0) / h2 - t4) / 2 : t4;
|
209180
209339
|
}
|
209181
|
-
function point$4(
|
209182
|
-
var x02 =
|
209183
|
-
|
209340
|
+
function point$4(that, t02, t12) {
|
209341
|
+
var x02 = that._x0, y02 = that._y0, x12 = that._x1, y12 = that._y1, dx = (x12 - x02) / 3;
|
209342
|
+
that._context.bezierCurveTo(x02 + dx, y02 + dx * t02, x12 - dx, y12 - dx * t12, x12, y12);
|
209184
209343
|
}
|
209185
209344
|
function MonotoneX(context2) {
|
209186
209345
|
this._context = context2;
|
@@ -211836,7 +211995,7 @@ const HalfSqrt3 = Math.sqrt(3) / 2;
|
|
211836
211995
|
var segmentCache = {};
|
211837
211996
|
var bezierCache = {};
|
211838
211997
|
var join$1 = [].join;
|
211839
|
-
function segments(x2, y2, rx, ry, large, sweep, rotateX2,
|
211998
|
+
function segments(x2, y2, rx, ry, large, sweep, rotateX2, ox, oy) {
|
211840
211999
|
const key2 = join$1.call(arguments);
|
211841
212000
|
if (segmentCache[key2]) {
|
211842
212001
|
return segmentCache[key2];
|
@@ -211846,8 +212005,8 @@ function segments(x2, y2, rx, ry, large, sweep, rotateX2, ox2, oy) {
|
|
211846
212005
|
const cos_th = Math.cos(th);
|
211847
212006
|
rx = Math.abs(rx);
|
211848
212007
|
ry = Math.abs(ry);
|
211849
|
-
const px2 = cos_th * (
|
211850
|
-
const py2 = cos_th * (oy - y2) * 0.5 - sin_th * (
|
212008
|
+
const px2 = cos_th * (ox - x2) * 0.5 + sin_th * (oy - y2) * 0.5;
|
212009
|
+
const py2 = cos_th * (oy - y2) * 0.5 - sin_th * (ox - x2) * 0.5;
|
211851
212010
|
let pl = px2 * px2 / (rx * rx) + py2 * py2 / (ry * ry);
|
211852
212011
|
if (pl > 1) {
|
211853
212012
|
pl = Math.sqrt(pl);
|
@@ -211858,8 +212017,8 @@ function segments(x2, y2, rx, ry, large, sweep, rotateX2, ox2, oy) {
|
|
211858
212017
|
const a01 = sin_th / rx;
|
211859
212018
|
const a10 = -sin_th / ry;
|
211860
212019
|
const a11 = cos_th / ry;
|
211861
|
-
const x02 = a00 *
|
211862
|
-
const y02 = a10 *
|
212020
|
+
const x02 = a00 * ox + a01 * oy;
|
212021
|
+
const y02 = a10 * ox + a11 * oy;
|
211863
212022
|
const x12 = a00 * x2 + a01 * y2;
|
211864
212023
|
const y12 = a10 * x2 + a11 * y2;
|
211865
212024
|
const d = (x12 - x02) * (x12 - x02) + (y12 - y02) * (y12 - y02);
|
@@ -213650,8 +213809,8 @@ function truncate(item, text2) {
|
|
213650
213809
|
var limit = +item.limit, width2 = widthGetter(item);
|
213651
213810
|
if (width2(text2) < limit)
|
213652
213811
|
return text2;
|
213653
|
-
var
|
213654
|
-
limit -= width2(
|
213812
|
+
var ellipsis = item.ellipsis || "…", rtl = item.dir === "rtl", lo = 0, hi = text2.length, mid;
|
213813
|
+
limit -= width2(ellipsis);
|
213655
213814
|
if (rtl) {
|
213656
213815
|
while (lo < hi) {
|
213657
213816
|
mid = lo + hi >>> 1;
|
@@ -213660,7 +213819,7 @@ function truncate(item, text2) {
|
|
213660
213819
|
else
|
213661
213820
|
hi = mid;
|
213662
213821
|
}
|
213663
|
-
return
|
213822
|
+
return ellipsis + text2.slice(lo);
|
213664
213823
|
} else {
|
213665
213824
|
while (lo < hi) {
|
213666
213825
|
mid = 1 + (lo + hi >>> 1);
|
@@ -213669,7 +213828,7 @@ function truncate(item, text2) {
|
|
213669
213828
|
else
|
213670
213829
|
hi = mid - 1;
|
213671
213830
|
}
|
213672
|
-
return text2.slice(0, lo) +
|
213831
|
+
return text2.slice(0, lo) + ellipsis;
|
213673
213832
|
}
|
213674
213833
|
}
|
213675
213834
|
function fontFamily(item, quote) {
|
@@ -214848,8 +215007,8 @@ function _serialize(m2, node) {
|
|
214848
215007
|
}
|
214849
215008
|
if (node.hasChildNodes()) {
|
214850
215009
|
const children2 = node.childNodes;
|
214851
|
-
for (const
|
214852
|
-
|
215010
|
+
for (const child of children2) {
|
215011
|
+
child.nodeType === 3 ? m2.text(child.nodeValue) : _serialize(m2, child);
|
214853
215012
|
}
|
214854
215013
|
}
|
214855
215014
|
return m2.close();
|
@@ -216956,14 +217115,14 @@ inherits(LegendEntries$1, Transform2, {
|
|
216956
217115
|
if (this.value != null && !_.modified()) {
|
216957
217116
|
return pulse2.StopPropagation;
|
216958
217117
|
}
|
216959
|
-
var locale2 = pulse2.dataflow.locale(), out = pulse2.fork(pulse2.NO_SOURCE | pulse2.NO_FIELDS), items = this.value, type2 = _.type || SymbolLegend, scale2 = _.scale, limit = +_.limit, count2 = tickCount(scale2, _.count == null ? 5 : _.count, _.minstep), lskip = !!_.values || type2 === SymbolLegend, format2 = _.format || labelFormat(locale2, scale2, count2, type2, _.formatSpecifier, _.formatType, lskip), values3 = _.values || labelValues(scale2, count2), domain2, fraction2, size2, offset6,
|
217118
|
+
var locale2 = pulse2.dataflow.locale(), out = pulse2.fork(pulse2.NO_SOURCE | pulse2.NO_FIELDS), items = this.value, type2 = _.type || SymbolLegend, scale2 = _.scale, limit = +_.limit, count2 = tickCount(scale2, _.count == null ? 5 : _.count, _.minstep), lskip = !!_.values || type2 === SymbolLegend, format2 = _.format || labelFormat(locale2, scale2, count2, type2, _.formatSpecifier, _.formatType, lskip), values3 = _.values || labelValues(scale2, count2), domain2, fraction2, size2, offset6, ellipsis;
|
216960
217119
|
if (items)
|
216961
217120
|
out.rem = items;
|
216962
217121
|
if (type2 === SymbolLegend) {
|
216963
217122
|
if (limit && values3.length > limit) {
|
216964
217123
|
pulse2.dataflow.warn("Symbol legend count exceeds limit, filtering items.");
|
216965
217124
|
items = values3.slice(0, limit - 1);
|
216966
|
-
|
217125
|
+
ellipsis = true;
|
216967
217126
|
} else {
|
216968
217127
|
items = values3;
|
216969
217128
|
}
|
@@ -216982,14 +217141,14 @@ inherits(LegendEntries$1, Transform2, {
|
|
216982
217141
|
offset: offset6,
|
216983
217142
|
size: size2(value2, _)
|
216984
217143
|
}));
|
216985
|
-
if (
|
216986
|
-
|
217144
|
+
if (ellipsis) {
|
217145
|
+
ellipsis = values3[items.length];
|
216987
217146
|
items.push(ingest$1({
|
216988
217147
|
index: items.length,
|
216989
217148
|
label: "…".concat(values3.length - items.length, " entries"),
|
216990
|
-
value:
|
217149
|
+
value: ellipsis,
|
216991
217150
|
offset: offset6,
|
216992
|
-
size: size2(
|
217151
|
+
size: size2(ellipsis, _)
|
216993
217152
|
}));
|
216994
217153
|
}
|
216995
217154
|
} else if (type2 === GradientLegend) {
|
@@ -220086,10 +220245,10 @@ function number$2(_) {
|
|
220086
220245
|
function density2D() {
|
220087
220246
|
var x2 = (d) => d[0], y2 = (d) => d[1], weight = one$2, bandwidth2 = [-1, -1], dx = 960, dy = 500, k = 2;
|
220088
220247
|
function density2(data2, counts) {
|
220089
|
-
const rx = radius(bandwidth2[0], data2, x2) >> k, ry = radius(bandwidth2[1], data2, y2) >> k,
|
220248
|
+
const rx = radius(bandwidth2[0], data2, x2) >> k, ry = radius(bandwidth2[1], data2, y2) >> k, ox = rx ? rx + 2 : 0, oy = ry ? ry + 2 : 0, n3 = 2 * ox + (dx >> k), m2 = 2 * oy + (dy >> k), values0 = new Float32Array(n3 * m2), values1 = new Float32Array(n3 * m2);
|
220090
220249
|
let values3 = values0;
|
220091
220250
|
data2.forEach((d) => {
|
220092
|
-
const xi =
|
220251
|
+
const xi = ox + (+x2(d) >> k), yi = oy + (+y2(d) >> k);
|
220093
220252
|
if (xi >= 0 && xi < n3 && yi >= 0 && yi < m2) {
|
220094
220253
|
values0[xi + yi * n3] += +weight(d);
|
220095
220254
|
}
|
@@ -220120,9 +220279,9 @@ function density2D() {
|
|
220120
220279
|
scale: 1 << k,
|
220121
220280
|
width: n3,
|
220122
220281
|
height: m2,
|
220123
|
-
x1:
|
220282
|
+
x1: ox,
|
220124
220283
|
y1: oy,
|
220125
|
-
x2:
|
220284
|
+
x2: ox + (dx >> k),
|
220126
220285
|
y2: oy + (dy >> k)
|
220127
220286
|
};
|
220128
220287
|
}
|
@@ -220837,9 +220996,9 @@ function tree_add(d) {
|
|
220837
220996
|
function add$1(tree2, x2, y2, d) {
|
220838
220997
|
if (isNaN(x2) || isNaN(y2))
|
220839
220998
|
return tree2;
|
220840
|
-
var parent, node = tree2._root,
|
220999
|
+
var parent, node = tree2._root, leaf = { data: d }, x02 = tree2._x0, y02 = tree2._y0, x12 = tree2._x1, y12 = tree2._y1, xm, ym, xp, yp, right2, bottom2, i2, j;
|
220841
221000
|
if (!node)
|
220842
|
-
return tree2._root =
|
221001
|
+
return tree2._root = leaf, tree2;
|
220843
221002
|
while (node.length) {
|
220844
221003
|
if (right2 = x2 >= (xm = (x02 + x12) / 2))
|
220845
221004
|
x02 = xm;
|
@@ -220850,12 +221009,12 @@ function add$1(tree2, x2, y2, d) {
|
|
220850
221009
|
else
|
220851
221010
|
y12 = ym;
|
220852
221011
|
if (parent = node, !(node = node[i2 = bottom2 << 1 | right2]))
|
220853
|
-
return parent[i2] =
|
221012
|
+
return parent[i2] = leaf, tree2;
|
220854
221013
|
}
|
220855
221014
|
xp = +tree2._x.call(null, node.data);
|
220856
221015
|
yp = +tree2._y.call(null, node.data);
|
220857
221016
|
if (x2 === xp && y2 === yp)
|
220858
|
-
return
|
221017
|
+
return leaf.next = node, parent ? parent[i2] = leaf : tree2._root = leaf, tree2;
|
220859
221018
|
do {
|
220860
221019
|
parent = parent ? parent[i2] = new Array(4) : tree2._root = new Array(4);
|
220861
221020
|
if (right2 = x2 >= (xm = (x02 + x12) / 2))
|
@@ -220867,7 +221026,7 @@ function add$1(tree2, x2, y2, d) {
|
|
220867
221026
|
else
|
220868
221027
|
y12 = ym;
|
220869
221028
|
} while ((i2 = bottom2 << 1 | right2) === (j = (yp >= ym) << 1 | xp >= xm));
|
220870
|
-
return parent[j] = node, parent[i2] =
|
221029
|
+
return parent[j] = node, parent[i2] = leaf, tree2;
|
220871
221030
|
}
|
220872
221031
|
function addAll(data2) {
|
220873
221032
|
var d, i2, n3 = data2.length, x2, y2, xz = new Array(n3), yz = new Array(n3), x02 = Infinity, y02 = Infinity, x12 = -Infinity, y12 = -Infinity;
|
@@ -221048,20 +221207,20 @@ function tree_size() {
|
|
221048
221207
|
return size2;
|
221049
221208
|
}
|
221050
221209
|
function tree_visit(callback) {
|
221051
|
-
var quads = [], q, node = this._root,
|
221210
|
+
var quads = [], q, node = this._root, child, x02, y02, x12, y12;
|
221052
221211
|
if (node)
|
221053
221212
|
quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));
|
221054
221213
|
while (q = quads.pop()) {
|
221055
221214
|
if (!callback(node = q.node, x02 = q.x0, y02 = q.y0, x12 = q.x1, y12 = q.y1) && node.length) {
|
221056
221215
|
var xm = (x02 + x12) / 2, ym = (y02 + y12) / 2;
|
221057
|
-
if (
|
221058
|
-
quads.push(new Quad(
|
221059
|
-
if (
|
221060
|
-
quads.push(new Quad(
|
221061
|
-
if (
|
221062
|
-
quads.push(new Quad(
|
221063
|
-
if (
|
221064
|
-
quads.push(new Quad(
|
221216
|
+
if (child = node[3])
|
221217
|
+
quads.push(new Quad(child, xm, ym, x12, y12));
|
221218
|
+
if (child = node[2])
|
221219
|
+
quads.push(new Quad(child, x02, ym, xm, y12));
|
221220
|
+
if (child = node[1])
|
221221
|
+
quads.push(new Quad(child, xm, y02, x12, ym));
|
221222
|
+
if (child = node[0])
|
221223
|
+
quads.push(new Quad(child, x02, y02, xm, ym));
|
221065
221224
|
}
|
221066
221225
|
}
|
221067
221226
|
return this;
|
@@ -221073,15 +221232,15 @@ function tree_visitAfter(callback) {
|
|
221073
221232
|
while (q = quads.pop()) {
|
221074
221233
|
var node = q.node;
|
221075
221234
|
if (node.length) {
|
221076
|
-
var
|
221077
|
-
if (
|
221078
|
-
quads.push(new Quad(
|
221079
|
-
if (
|
221080
|
-
quads.push(new Quad(
|
221081
|
-
if (
|
221082
|
-
quads.push(new Quad(
|
221083
|
-
if (
|
221084
|
-
quads.push(new Quad(
|
221235
|
+
var child, x02 = q.x0, y02 = q.y0, x12 = q.x1, y12 = q.y1, xm = (x02 + x12) / 2, ym = (y02 + y12) / 2;
|
221236
|
+
if (child = node[0])
|
221237
|
+
quads.push(new Quad(child, x02, y02, xm, ym));
|
221238
|
+
if (child = node[1])
|
221239
|
+
quads.push(new Quad(child, xm, y02, x12, ym));
|
221240
|
+
if (child = node[2])
|
221241
|
+
quads.push(new Quad(child, x02, ym, xm, y12));
|
221242
|
+
if (child = node[3])
|
221243
|
+
quads.push(new Quad(child, xm, ym, x12, y12));
|
221085
221244
|
}
|
221086
221245
|
next3.push(q);
|
221087
221246
|
}
|
@@ -221115,15 +221274,15 @@ function Quadtree(x2, y2, x02, y02, x12, y12) {
|
|
221115
221274
|
this._y1 = y12;
|
221116
221275
|
this._root = void 0;
|
221117
221276
|
}
|
221118
|
-
function leaf_copy(
|
221119
|
-
var copy2 = { data:
|
221120
|
-
while (
|
221121
|
-
next3 = next3.next = { data:
|
221277
|
+
function leaf_copy(leaf) {
|
221278
|
+
var copy2 = { data: leaf.data }, next3 = copy2;
|
221279
|
+
while (leaf = leaf.next)
|
221280
|
+
next3 = next3.next = { data: leaf.data };
|
221122
221281
|
return copy2;
|
221123
221282
|
}
|
221124
221283
|
var treeProto = quadtree.prototype = Quadtree.prototype;
|
221125
221284
|
treeProto.copy = function() {
|
221126
|
-
var copy2 = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes,
|
221285
|
+
var copy2 = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes, child;
|
221127
221286
|
if (!node)
|
221128
221287
|
return copy2;
|
221129
221288
|
if (!node.length)
|
@@ -221131,11 +221290,11 @@ treeProto.copy = function() {
|
|
221131
221290
|
nodes = [{ source: node, target: copy2._root = new Array(4) }];
|
221132
221291
|
while (node = nodes.pop()) {
|
221133
221292
|
for (var i2 = 0; i2 < 4; ++i2) {
|
221134
|
-
if (
|
221135
|
-
if (
|
221136
|
-
nodes.push({ source:
|
221293
|
+
if (child = node.source[i2]) {
|
221294
|
+
if (child.length)
|
221295
|
+
nodes.push({ source: child, target: node.target[i2] = new Array(4) });
|
221137
221296
|
else
|
221138
|
-
node.target[i2] = leaf_copy(
|
221297
|
+
node.target[i2] = leaf_copy(child);
|
221139
221298
|
}
|
221140
221299
|
}
|
221141
221300
|
}
|
@@ -221377,20 +221536,20 @@ Dispatch.prototype = dispatch.prototype = {
|
|
221377
221536
|
copy2[t4] = _[t4].slice();
|
221378
221537
|
return new Dispatch(copy2);
|
221379
221538
|
},
|
221380
|
-
call: function(type2,
|
221539
|
+
call: function(type2, that) {
|
221381
221540
|
if ((n3 = arguments.length - 2) > 0)
|
221382
221541
|
for (var args = new Array(n3), i2 = 0, n3, t4; i2 < n3; ++i2)
|
221383
221542
|
args[i2] = arguments[i2 + 2];
|
221384
221543
|
if (!this._.hasOwnProperty(type2))
|
221385
221544
|
throw new Error("unknown type: " + type2);
|
221386
221545
|
for (t4 = this._[type2], i2 = 0, n3 = t4.length; i2 < n3; ++i2)
|
221387
|
-
t4[i2].value.apply(
|
221546
|
+
t4[i2].value.apply(that, args);
|
221388
221547
|
},
|
221389
|
-
apply: function(type2,
|
221548
|
+
apply: function(type2, that, args) {
|
221390
221549
|
if (!this._.hasOwnProperty(type2))
|
221391
221550
|
throw new Error("unknown type: " + type2);
|
221392
221551
|
for (var t4 = this._[type2], i2 = 0, n3 = t4.length; i2 < n3; ++i2)
|
221393
|
-
t4[i2].value.apply(
|
221552
|
+
t4[i2].value.apply(that, args);
|
221394
221553
|
}
|
221395
221554
|
};
|
221396
221555
|
function get$1(type2, name2) {
|
@@ -222141,17 +222300,17 @@ function count(node) {
|
|
222141
222300
|
function node_count() {
|
222142
222301
|
return this.eachAfter(count);
|
222143
222302
|
}
|
222144
|
-
function node_each(callback,
|
222303
|
+
function node_each(callback, that) {
|
222145
222304
|
let index2 = -1;
|
222146
222305
|
for (const node of this) {
|
222147
|
-
callback.call(
|
222306
|
+
callback.call(that, node, ++index2, this);
|
222148
222307
|
}
|
222149
222308
|
return this;
|
222150
222309
|
}
|
222151
|
-
function node_eachBefore(callback,
|
222310
|
+
function node_eachBefore(callback, that) {
|
222152
222311
|
var node = this, nodes = [node], children2, i2, index2 = -1;
|
222153
222312
|
while (node = nodes.pop()) {
|
222154
|
-
callback.call(
|
222313
|
+
callback.call(that, node, ++index2, this);
|
222155
222314
|
if (children2 = node.children) {
|
222156
222315
|
for (i2 = children2.length - 1; i2 >= 0; --i2) {
|
222157
222316
|
nodes.push(children2[i2]);
|
@@ -222160,7 +222319,7 @@ function node_eachBefore(callback, that2) {
|
|
222160
222319
|
}
|
222161
222320
|
return this;
|
222162
222321
|
}
|
222163
|
-
function node_eachAfter(callback,
|
222322
|
+
function node_eachAfter(callback, that) {
|
222164
222323
|
var node = this, nodes = [node], next3 = [], children2, i2, n3, index2 = -1;
|
222165
222324
|
while (node = nodes.pop()) {
|
222166
222325
|
next3.push(node);
|
@@ -222171,14 +222330,14 @@ function node_eachAfter(callback, that2) {
|
|
222171
222330
|
}
|
222172
222331
|
}
|
222173
222332
|
while (node = next3.pop()) {
|
222174
|
-
callback.call(
|
222333
|
+
callback.call(that, node, ++index2, this);
|
222175
222334
|
}
|
222176
222335
|
return this;
|
222177
222336
|
}
|
222178
|
-
function node_find(callback,
|
222337
|
+
function node_find(callback, that) {
|
222179
222338
|
let index2 = -1;
|
222180
222339
|
for (const node of this) {
|
222181
|
-
if (callback.call(
|
222340
|
+
if (callback.call(that, node, ++index2, this)) {
|
222182
222341
|
return node;
|
222183
222342
|
}
|
222184
222343
|
}
|
@@ -222274,14 +222433,14 @@ function hierarchy(data2, children2) {
|
|
222274
222433
|
} else if (children2 === void 0) {
|
222275
222434
|
children2 = objectChildren;
|
222276
222435
|
}
|
222277
|
-
var root2 = new Node$3(data2), node, nodes = [root2],
|
222436
|
+
var root2 = new Node$3(data2), node, nodes = [root2], child, childs, i2, n3;
|
222278
222437
|
while (node = nodes.pop()) {
|
222279
222438
|
if ((childs = children2(node.data)) && (n3 = (childs = Array.from(childs)).length)) {
|
222280
222439
|
node.children = childs;
|
222281
222440
|
for (i2 = n3 - 1; i2 >= 0; --i2) {
|
222282
|
-
nodes.push(
|
222283
|
-
|
222284
|
-
|
222441
|
+
nodes.push(child = childs[i2] = new Node$3(childs[i2]));
|
222442
|
+
child.parent = node;
|
222443
|
+
child.depth = node.depth + 1;
|
222285
222444
|
}
|
222286
222445
|
}
|
222287
222446
|
}
|
@@ -222799,13 +222958,13 @@ function TreeNode2(node, i2) {
|
|
222799
222958
|
}
|
222800
222959
|
TreeNode2.prototype = Object.create(Node$3.prototype);
|
222801
222960
|
function treeRoot(root2) {
|
222802
|
-
var tree2 = new TreeNode2(root2, 0), node, nodes = [tree2],
|
222961
|
+
var tree2 = new TreeNode2(root2, 0), node, nodes = [tree2], child, children2, i2, n3;
|
222803
222962
|
while (node = nodes.pop()) {
|
222804
222963
|
if (children2 = node._.children) {
|
222805
222964
|
node.children = new Array(n3 = children2.length);
|
222806
222965
|
for (i2 = n3 - 1; i2 >= 0; --i2) {
|
222807
|
-
nodes.push(
|
222808
|
-
|
222966
|
+
nodes.push(child = node.children[i2] = new TreeNode2(children2[i2], i2));
|
222967
|
+
child.parent = node;
|
222809
222968
|
}
|
222810
222969
|
}
|
222811
222970
|
}
|
@@ -225403,8 +225562,8 @@ function jitter(x2, y2, r3) {
|
|
225403
225562
|
return [x2 + Math.sin(x2 + y2) * r3, y2 + Math.cos(x2 - y2) * r3];
|
225404
225563
|
}
|
225405
225564
|
class Delaunay {
|
225406
|
-
static from(points2, fx = pointX, fy = pointY,
|
225407
|
-
return new Delaunay("length" in points2 ? flatArray(points2, fx, fy,
|
225565
|
+
static from(points2, fx = pointX, fy = pointY, that) {
|
225566
|
+
return new Delaunay("length" in points2 ? flatArray(points2, fx, fy, that) : Float64Array.from(flatIterable(points2, fx, fy, that)));
|
225408
225567
|
}
|
225409
225568
|
constructor(points2) {
|
225410
225569
|
this._delaunator = new Delaunator(points2);
|
@@ -225594,21 +225753,21 @@ class Delaunay {
|
|
225594
225753
|
return polygon2.value();
|
225595
225754
|
}
|
225596
225755
|
}
|
225597
|
-
function flatArray(points2, fx, fy,
|
225756
|
+
function flatArray(points2, fx, fy, that) {
|
225598
225757
|
const n3 = points2.length;
|
225599
225758
|
const array2 = new Float64Array(n3 * 2);
|
225600
225759
|
for (let i2 = 0; i2 < n3; ++i2) {
|
225601
225760
|
const p = points2[i2];
|
225602
|
-
array2[i2 * 2] = fx.call(
|
225603
|
-
array2[i2 * 2 + 1] = fy.call(
|
225761
|
+
array2[i2 * 2] = fx.call(that, p, i2, points2);
|
225762
|
+
array2[i2 * 2 + 1] = fy.call(that, p, i2, points2);
|
225604
225763
|
}
|
225605
225764
|
return array2;
|
225606
225765
|
}
|
225607
|
-
function* flatIterable(points2, fx, fy,
|
225766
|
+
function* flatIterable(points2, fx, fy, that) {
|
225608
225767
|
let i2 = 0;
|
225609
225768
|
for (const p of points2) {
|
225610
|
-
yield fx.call(
|
225611
|
-
yield fy.call(
|
225769
|
+
yield fx.call(that, p, i2, points2);
|
225770
|
+
yield fy.call(that, p, i2, points2);
|
225612
225771
|
++i2;
|
225613
225772
|
}
|
225614
225773
|
}
|
@@ -234405,17 +234564,17 @@ var clone2 = { exports: {} };
|
|
234405
234564
|
return null;
|
234406
234565
|
if (depth2 === 0)
|
234407
234566
|
return parent2;
|
234408
|
-
var
|
234567
|
+
var child;
|
234409
234568
|
var proto;
|
234410
234569
|
if (typeof parent2 != "object") {
|
234411
234570
|
return parent2;
|
234412
234571
|
}
|
234413
234572
|
if (_instanceof(parent2, nativeMap)) {
|
234414
|
-
|
234573
|
+
child = new nativeMap();
|
234415
234574
|
} else if (_instanceof(parent2, nativeSet)) {
|
234416
|
-
|
234575
|
+
child = new nativeSet();
|
234417
234576
|
} else if (_instanceof(parent2, nativePromise)) {
|
234418
|
-
|
234577
|
+
child = new nativePromise(function(resolve2, reject) {
|
234419
234578
|
parent2.then(function(value2) {
|
234420
234579
|
resolve2(_clone(value2, depth2 - 1));
|
234421
234580
|
}, function(err2) {
|
@@ -234423,29 +234582,29 @@ var clone2 = { exports: {} };
|
|
234423
234582
|
});
|
234424
234583
|
});
|
234425
234584
|
} else if (clone4.__isArray(parent2)) {
|
234426
|
-
|
234585
|
+
child = [];
|
234427
234586
|
} else if (clone4.__isRegExp(parent2)) {
|
234428
|
-
|
234587
|
+
child = new RegExp(parent2.source, __getRegExpFlags(parent2));
|
234429
234588
|
if (parent2.lastIndex)
|
234430
|
-
|
234589
|
+
child.lastIndex = parent2.lastIndex;
|
234431
234590
|
} else if (clone4.__isDate(parent2)) {
|
234432
|
-
|
234591
|
+
child = new Date(parent2.getTime());
|
234433
234592
|
} else if (useBuffer2 && Buffer.isBuffer(parent2)) {
|
234434
234593
|
if (Buffer.allocUnsafe) {
|
234435
|
-
|
234594
|
+
child = Buffer.allocUnsafe(parent2.length);
|
234436
234595
|
} else {
|
234437
|
-
|
234596
|
+
child = new Buffer(parent2.length);
|
234438
234597
|
}
|
234439
|
-
parent2.copy(
|
234440
|
-
return
|
234598
|
+
parent2.copy(child);
|
234599
|
+
return child;
|
234441
234600
|
} else if (_instanceof(parent2, Error)) {
|
234442
|
-
|
234601
|
+
child = Object.create(parent2);
|
234443
234602
|
} else {
|
234444
234603
|
if (typeof prototype2 == "undefined") {
|
234445
234604
|
proto = Object.getPrototypeOf(parent2);
|
234446
|
-
|
234605
|
+
child = Object.create(proto);
|
234447
234606
|
} else {
|
234448
|
-
|
234607
|
+
child = Object.create(prototype2);
|
234449
234608
|
proto = prototype2;
|
234450
234609
|
}
|
234451
234610
|
}
|
@@ -234455,19 +234614,19 @@ var clone2 = { exports: {} };
|
|
234455
234614
|
return allChildren[index2];
|
234456
234615
|
}
|
234457
234616
|
allParents.push(parent2);
|
234458
|
-
allChildren.push(
|
234617
|
+
allChildren.push(child);
|
234459
234618
|
}
|
234460
234619
|
if (_instanceof(parent2, nativeMap)) {
|
234461
234620
|
parent2.forEach(function(value2, key2) {
|
234462
234621
|
var keyChild = _clone(key2, depth2 - 1);
|
234463
234622
|
var valueChild = _clone(value2, depth2 - 1);
|
234464
|
-
|
234623
|
+
child.set(keyChild, valueChild);
|
234465
234624
|
});
|
234466
234625
|
}
|
234467
234626
|
if (_instanceof(parent2, nativeSet)) {
|
234468
234627
|
parent2.forEach(function(value2) {
|
234469
234628
|
var entryChild = _clone(value2, depth2 - 1);
|
234470
|
-
|
234629
|
+
child.add(entryChild);
|
234471
234630
|
});
|
234472
234631
|
}
|
234473
234632
|
for (var i2 in parent2) {
|
@@ -234478,7 +234637,7 @@ var clone2 = { exports: {} };
|
|
234478
234637
|
if (attrs && attrs.set == null) {
|
234479
234638
|
continue;
|
234480
234639
|
}
|
234481
|
-
|
234640
|
+
child[i2] = _clone(parent2[i2], depth2 - 1);
|
234482
234641
|
}
|
234483
234642
|
if (Object.getOwnPropertySymbols) {
|
234484
234643
|
var symbols2 = Object.getOwnPropertySymbols(parent2);
|
@@ -234488,9 +234647,9 @@ var clone2 = { exports: {} };
|
|
234488
234647
|
if (descriptor2 && !descriptor2.enumerable && !includeNonEnumerable) {
|
234489
234648
|
continue;
|
234490
234649
|
}
|
234491
|
-
|
234650
|
+
child[symbol2] = _clone(parent2[symbol2], depth2 - 1);
|
234492
234651
|
if (!descriptor2.enumerable) {
|
234493
|
-
Object.defineProperty(
|
234652
|
+
Object.defineProperty(child, symbol2, {
|
234494
234653
|
enumerable: false
|
234495
234654
|
});
|
234496
234655
|
}
|
@@ -234504,13 +234663,13 @@ var clone2 = { exports: {} };
|
|
234504
234663
|
if (descriptor2 && descriptor2.enumerable) {
|
234505
234664
|
continue;
|
234506
234665
|
}
|
234507
|
-
|
234508
|
-
Object.defineProperty(
|
234666
|
+
child[propertyName] = _clone(parent2[propertyName], depth2 - 1);
|
234667
|
+
Object.defineProperty(child, propertyName, {
|
234509
234668
|
enumerable: false
|
234510
234669
|
});
|
234511
234670
|
}
|
234512
234671
|
}
|
234513
|
-
return
|
234672
|
+
return child;
|
234514
234673
|
}
|
234515
234674
|
return _clone(parent, depth);
|
234516
234675
|
}
|
@@ -240401,9 +240560,9 @@ class CoreNormalizer extends SpecMapper {
|
|
240401
240560
|
return Object.assign(Object.assign({}, rest), { layer: layer.map((layerValue) => {
|
240402
240561
|
const childRepeater = Object.assign(Object.assign({}, repeater), { layer: layerValue });
|
240403
240562
|
const childName = `${(childSpec.name || "") + repeaterPrefix}child__layer_${varName(layerValue)}`;
|
240404
|
-
const
|
240405
|
-
|
240406
|
-
return
|
240563
|
+
const child = this.mapLayerOrUnit(childSpec, Object.assign(Object.assign({}, params2), { repeater: childRepeater, repeaterPrefix: childName }));
|
240564
|
+
child.name = childName;
|
240565
|
+
return child;
|
240407
240566
|
}) });
|
240408
240567
|
}
|
240409
240568
|
}
|
@@ -240429,9 +240588,9 @@ class CoreNormalizer extends SpecMapper {
|
|
240429
240588
|
layer: repeater.layer
|
240430
240589
|
};
|
240431
240590
|
const childName = (childSpec.name || "") + repeaterPrefix + "child__" + (isArray2(repeat2) ? `${varName(repeatValue)}` : (repeat2.row ? `row_${varName(rowValue)}` : "") + (repeat2.column ? `column_${varName(columnValue)}` : ""));
|
240432
|
-
const
|
240433
|
-
|
240434
|
-
concat2.push(omit(
|
240591
|
+
const child = this.map(childSpec, Object.assign(Object.assign({}, params2), { repeater: childRepeater, repeaterPrefix: childName }));
|
240592
|
+
child.name = childName;
|
240593
|
+
concat2.push(omit(child, ["data"]));
|
240435
240594
|
}
|
240436
240595
|
}
|
240437
240596
|
}
|
@@ -241136,9 +241295,9 @@ function assembleUnitSelectionMarks(model, marks) {
|
|
241136
241295
|
return marks;
|
241137
241296
|
}
|
241138
241297
|
function assembleLayerSelectionMarks(model, marks) {
|
241139
|
-
for (const
|
241140
|
-
if (isUnitModel(
|
241141
|
-
marks = assembleUnitSelectionMarks(
|
241298
|
+
for (const child of model.children) {
|
241299
|
+
if (isUnitModel(child)) {
|
241300
|
+
marks = assembleUnitSelectionMarks(child, marks);
|
241142
241301
|
}
|
241143
241302
|
}
|
241144
241303
|
return marks;
|
@@ -241189,15 +241348,15 @@ class DataFlowNode {
|
|
241189
241348
|
numChildren() {
|
241190
241349
|
return this._children.length;
|
241191
241350
|
}
|
241192
|
-
addChild(
|
241193
|
-
if (this._children.includes(
|
241351
|
+
addChild(child, loc) {
|
241352
|
+
if (this._children.includes(child)) {
|
241194
241353
|
warn(ADD_SAME_CHILD_TWICE);
|
241195
241354
|
return;
|
241196
241355
|
}
|
241197
241356
|
if (loc !== void 0) {
|
241198
|
-
this._children.splice(loc, 0,
|
241357
|
+
this._children.splice(loc, 0, child);
|
241199
241358
|
} else {
|
241200
|
-
this._children.push(
|
241359
|
+
this._children.push(child);
|
241201
241360
|
}
|
241202
241361
|
}
|
241203
241362
|
removeChild(oldChild) {
|
@@ -241210,9 +241369,9 @@ class DataFlowNode {
|
|
241210
241369
|
*/
|
241211
241370
|
remove() {
|
241212
241371
|
let loc = this._parent.removeChild(this);
|
241213
|
-
for (const
|
241214
|
-
|
241215
|
-
this._parent.addChild(
|
241372
|
+
for (const child of this._children) {
|
241373
|
+
child._parent = this._parent;
|
241374
|
+
this._parent.addChild(child, loc++);
|
241216
241375
|
}
|
241217
241376
|
}
|
241218
241377
|
/**
|
@@ -241227,8 +241386,8 @@ class DataFlowNode {
|
|
241227
241386
|
swapWithParent() {
|
241228
241387
|
const parent = this._parent;
|
241229
241388
|
const newParent = parent.parent;
|
241230
|
-
for (const
|
241231
|
-
|
241389
|
+
for (const child of this._children) {
|
241390
|
+
child.parent = parent;
|
241232
241391
|
}
|
241233
241392
|
this._children = [];
|
241234
241393
|
parent.removeChild(this);
|
@@ -241308,15 +241467,15 @@ var __rest$e = function(s2, e3) {
|
|
241308
241467
|
return t4;
|
241309
241468
|
};
|
241310
241469
|
class TimeUnitNode extends DataFlowNode {
|
241311
|
-
constructor(parent,
|
241470
|
+
constructor(parent, formula) {
|
241312
241471
|
super(parent);
|
241313
|
-
this.formula =
|
241472
|
+
this.formula = formula;
|
241314
241473
|
}
|
241315
241474
|
clone() {
|
241316
241475
|
return new TimeUnitNode(null, duplicate(this.formula));
|
241317
241476
|
}
|
241318
241477
|
static makeFromEncoding(parent, model) {
|
241319
|
-
const
|
241478
|
+
const formula = model.reduceFieldDef((timeUnitComponent, fieldDef) => {
|
241320
241479
|
const { field: field2, timeUnit } = fieldDef;
|
241321
241480
|
if (timeUnit) {
|
241322
241481
|
const as = vgField(fieldDef, { forAs: true });
|
@@ -241332,10 +241491,10 @@ class TimeUnitNode extends DataFlowNode {
|
|
241332
241491
|
}
|
241333
241492
|
return timeUnitComponent;
|
241334
241493
|
}, {});
|
241335
|
-
if (isEmpty(
|
241494
|
+
if (isEmpty(formula)) {
|
241336
241495
|
return null;
|
241337
241496
|
}
|
241338
|
-
return new TimeUnitNode(parent,
|
241497
|
+
return new TimeUnitNode(parent, formula);
|
241339
241498
|
}
|
241340
241499
|
static makeFromTransform(parent, t4) {
|
241341
241500
|
const _a2 = Object.assign({}, t4), { timeUnit } = _a2, other = __rest$e(_a2, ["timeUnit"]);
|
@@ -241356,9 +241515,9 @@ class TimeUnitNode extends DataFlowNode {
|
|
241356
241515
|
this.formula[key2] = other.formula[key2];
|
241357
241516
|
}
|
241358
241517
|
}
|
241359
|
-
for (const
|
241360
|
-
other.removeChild(
|
241361
|
-
|
241518
|
+
for (const child of other.children) {
|
241519
|
+
other.removeChild(child);
|
241520
|
+
child.parent = this;
|
241362
241521
|
}
|
241363
241522
|
other.remove();
|
241364
241523
|
}
|
@@ -243142,12 +243301,12 @@ function parseSelectionPredicate(model, pred, dfnode, datum2 = "datum") {
|
|
243142
243301
|
return `!!${vname}`;
|
243143
243302
|
}
|
243144
243303
|
if (selCmpt.project.timeUnit) {
|
243145
|
-
const
|
243304
|
+
const child = dfnode !== null && dfnode !== void 0 ? dfnode : model.component.data.raw;
|
243146
243305
|
const tunode = selCmpt.project.timeUnit.clone();
|
243147
|
-
if (
|
243148
|
-
tunode.insertAsParentOf(
|
243306
|
+
if (child.parent) {
|
243307
|
+
tunode.insertAsParentOf(child);
|
243149
243308
|
} else {
|
243150
|
-
|
243309
|
+
child.parent = tunode;
|
243151
243310
|
}
|
243152
243311
|
}
|
243153
243312
|
const fn = selCmpt.project.hasSelectionId ? "vlSelectionIdTest(" : "vlSelectionTest(";
|
@@ -244387,12 +244546,12 @@ function parseLegendForChannel(model, channel) {
|
|
244387
244546
|
}
|
244388
244547
|
function parseNonUnitLegend(model) {
|
244389
244548
|
const { legends, resolve: resolve2 } = model.component;
|
244390
|
-
for (const
|
244391
|
-
parseLegend(
|
244392
|
-
for (const channel of keys$1(
|
244549
|
+
for (const child of model.children) {
|
244550
|
+
parseLegend(child);
|
244551
|
+
for (const channel of keys$1(child.component.legends)) {
|
244393
244552
|
resolve2.legend[channel] = parseGuideResolve(model.component.resolve, channel);
|
244394
244553
|
if (resolve2.legend[channel] === "shared") {
|
244395
|
-
legends[channel] = mergeLegendComponent(legends[channel],
|
244554
|
+
legends[channel] = mergeLegendComponent(legends[channel], child.component.legends[channel]);
|
244396
244555
|
if (!legends[channel]) {
|
244397
244556
|
resolve2.legend[channel] = "independent";
|
244398
244557
|
delete legends[channel];
|
@@ -244401,12 +244560,12 @@ function parseNonUnitLegend(model) {
|
|
244401
244560
|
}
|
244402
244561
|
}
|
244403
244562
|
for (const channel of keys$1(legends)) {
|
244404
|
-
for (const
|
244405
|
-
if (!
|
244563
|
+
for (const child of model.children) {
|
244564
|
+
if (!child.component.legends[channel]) {
|
244406
244565
|
continue;
|
244407
244566
|
}
|
244408
244567
|
if (resolve2.legend[channel] === "shared") {
|
244409
|
-
delete
|
244568
|
+
delete child.component.legends[channel];
|
244410
244569
|
}
|
244411
244570
|
}
|
244412
244571
|
}
|
@@ -244541,8 +244700,8 @@ function assembleProjections(model) {
|
|
244541
244700
|
}
|
244542
244701
|
}
|
244543
244702
|
function assembleProjectionsForModelAndChildren(model) {
|
244544
|
-
return model.children.reduce((projections2,
|
244545
|
-
return projections2.concat(
|
244703
|
+
return model.children.reduce((projections2, child) => {
|
244704
|
+
return projections2.concat(child.assembleProjections());
|
244546
244705
|
}, assembleProjectionForModel(model));
|
244547
244706
|
}
|
244548
244707
|
function assembleProjectionForModel(model) {
|
@@ -244689,11 +244848,11 @@ function parseNonUnitProjections(model) {
|
|
244689
244848
|
return void 0;
|
244690
244849
|
}
|
244691
244850
|
let nonUnitProjection;
|
244692
|
-
for (const
|
244693
|
-
parseProjection(
|
244851
|
+
for (const child of model.children) {
|
244852
|
+
parseProjection(child);
|
244694
244853
|
}
|
244695
|
-
const mergable = every(model.children, (
|
244696
|
-
const projection2 =
|
244854
|
+
const mergable = every(model.children, (child) => {
|
244855
|
+
const projection2 = child.component.projection;
|
244697
244856
|
if (!projection2) {
|
244698
244857
|
return true;
|
244699
244858
|
} else if (!nonUnitProjection) {
|
@@ -244710,13 +244869,13 @@ function parseNonUnitProjections(model) {
|
|
244710
244869
|
if (nonUnitProjection && mergable) {
|
244711
244870
|
const name2 = model.projectionName(true);
|
244712
244871
|
const modelProjection = new ProjectionComponent(name2, nonUnitProjection.specifiedProjection, nonUnitProjection.size, duplicate(nonUnitProjection.data));
|
244713
|
-
for (const
|
244714
|
-
const projection2 =
|
244872
|
+
for (const child of model.children) {
|
244873
|
+
const projection2 = child.component.projection;
|
244715
244874
|
if (projection2) {
|
244716
244875
|
if (projection2.isFit) {
|
244717
|
-
modelProjection.data.push(...
|
244876
|
+
modelProjection.data.push(...child.component.projection.data);
|
244718
244877
|
}
|
244719
|
-
|
244878
|
+
child.renameProjection(projection2.get("name"), name2);
|
244720
244879
|
projection2.merged = true;
|
244721
244880
|
}
|
244722
244881
|
}
|
@@ -244830,9 +244989,9 @@ class BinNode extends DataFlowNode {
|
|
244830
244989
|
this.bins[key2] = other.bins[key2];
|
244831
244990
|
}
|
244832
244991
|
}
|
244833
|
-
for (const
|
244834
|
-
other.removeChild(
|
244835
|
-
|
244992
|
+
for (const child of other.children) {
|
244993
|
+
other.removeChild(child);
|
244994
|
+
child.parent = this;
|
244836
244995
|
}
|
244837
244996
|
other.remove();
|
244838
244997
|
}
|
@@ -245461,13 +245620,13 @@ class ParseNode extends DataFlowNode {
|
|
245461
245620
|
if (!expr2) {
|
245462
245621
|
return null;
|
245463
245622
|
}
|
245464
|
-
const
|
245623
|
+
const formula = {
|
245465
245624
|
type: "formula",
|
245466
245625
|
expr: expr2,
|
245467
245626
|
as: removePathFromField(field2)
|
245468
245627
|
// Vega output is always flattened
|
245469
245628
|
};
|
245470
|
-
return
|
245629
|
+
return formula;
|
245471
245630
|
}).filter((t4) => t4 !== null);
|
245472
245631
|
}
|
245473
245632
|
}
|
@@ -245640,8 +245799,8 @@ class BottomUpOptimizer extends Optimizer {
|
|
245640
245799
|
*/
|
245641
245800
|
getNodeDepths(node, depth, depths) {
|
245642
245801
|
depths.set(node, depth);
|
245643
|
-
for (const
|
245644
|
-
this.getNodeDepths(
|
245802
|
+
for (const child of node.children) {
|
245803
|
+
this.getNodeDepths(child, depth + 1, depths);
|
245645
245804
|
}
|
245646
245805
|
return depths;
|
245647
245806
|
}
|
@@ -245663,8 +245822,8 @@ class TopDownOptimizer extends Optimizer {
|
|
245663
245822
|
*/
|
245664
245823
|
optimize(node) {
|
245665
245824
|
this.run(node);
|
245666
|
-
for (const
|
245667
|
-
this.optimize(
|
245825
|
+
for (const child of node.children) {
|
245826
|
+
this.optimize(child);
|
245668
245827
|
}
|
245669
245828
|
return this.modifiedFlag;
|
245670
245829
|
}
|
@@ -245727,8 +245886,8 @@ class RemoveDuplicateTimeUnits extends Optimizer {
|
|
245727
245886
|
}
|
245728
245887
|
}
|
245729
245888
|
}
|
245730
|
-
for (const
|
245731
|
-
this.run(
|
245889
|
+
for (const child of node.children) {
|
245890
|
+
this.run(child, /* @__PURE__ */ new Set([...timeUnitFields, ...producedFields]));
|
245732
245891
|
}
|
245733
245892
|
}
|
245734
245893
|
}
|
@@ -245751,17 +245910,17 @@ class MoveParseUp extends BottomUpOptimizer {
|
|
245751
245910
|
if (node.numChildren() > 1) {
|
245752
245911
|
return;
|
245753
245912
|
}
|
245754
|
-
for (const
|
245755
|
-
if (
|
245913
|
+
for (const child of node.children) {
|
245914
|
+
if (child instanceof ParseNode) {
|
245756
245915
|
if (node instanceof ParseNode) {
|
245757
245916
|
this.setModified();
|
245758
|
-
node.merge(
|
245917
|
+
node.merge(child);
|
245759
245918
|
} else {
|
245760
|
-
if (fieldIntersection(node.producedFields(),
|
245919
|
+
if (fieldIntersection(node.producedFields(), child.dependentFields())) {
|
245761
245920
|
continue;
|
245762
245921
|
}
|
245763
245922
|
this.setModified();
|
245764
|
-
|
245923
|
+
child.swapWithParent();
|
245765
245924
|
}
|
245766
245925
|
}
|
245767
245926
|
}
|
@@ -245771,7 +245930,7 @@ class MoveParseUp extends BottomUpOptimizer {
|
|
245771
245930
|
class MergeParse extends BottomUpOptimizer {
|
245772
245931
|
run(node) {
|
245773
245932
|
const originalChildren = [...node.children];
|
245774
|
-
const parseChildren = node.children.filter((
|
245933
|
+
const parseChildren = node.children.filter((child) => child instanceof ParseNode);
|
245775
245934
|
if (node.numChildren() > 1 && parseChildren.length >= 1) {
|
245776
245935
|
const commonParse = {};
|
245777
245936
|
const conflictingParse = /* @__PURE__ */ new Set();
|
@@ -245831,7 +245990,7 @@ class MergeTimeUnits extends BottomUpOptimizer {
|
|
245831
245990
|
}
|
245832
245991
|
class MergeAggregates extends BottomUpOptimizer {
|
245833
245992
|
run(node) {
|
245834
|
-
const aggChildren = node.children.filter((
|
245993
|
+
const aggChildren = node.children.filter((child) => child instanceof AggregateNode);
|
245835
245994
|
const groupedAggregates = {};
|
245836
245995
|
for (const agg of aggChildren) {
|
245837
245996
|
const groupBys = hash(agg.groupBy);
|
@@ -245865,12 +246024,12 @@ class MergeBins extends BottomUpOptimizer {
|
|
245865
246024
|
const moveBinsUp = !(isDataSourceNode(node) || node instanceof FilterNode || node instanceof ParseNode || node instanceof IdentifierNode);
|
245866
246025
|
const promotableBins = [];
|
245867
246026
|
const remainingBins = [];
|
245868
|
-
for (const
|
245869
|
-
if (
|
245870
|
-
if (moveBinsUp && !fieldIntersection(node.producedFields(),
|
245871
|
-
promotableBins.push(
|
246027
|
+
for (const child of node.children) {
|
246028
|
+
if (child instanceof BinNode) {
|
246029
|
+
if (moveBinsUp && !fieldIntersection(node.producedFields(), child.dependentFields())) {
|
246030
|
+
promotableBins.push(child);
|
245872
246031
|
} else {
|
245873
|
-
remainingBins.push(
|
246032
|
+
remainingBins.push(child);
|
245874
246033
|
}
|
245875
246034
|
}
|
245876
246035
|
}
|
@@ -245898,15 +246057,15 @@ class MergeBins extends BottomUpOptimizer {
|
|
245898
246057
|
class MergeOutputs extends BottomUpOptimizer {
|
245899
246058
|
run(node) {
|
245900
246059
|
const children2 = [...node.children];
|
245901
|
-
const hasOutputChild = some(children2, (
|
246060
|
+
const hasOutputChild = some(children2, (child) => child instanceof OutputNode);
|
245902
246061
|
if (!hasOutputChild || node.numChildren() <= 1) {
|
245903
246062
|
return;
|
245904
246063
|
}
|
245905
246064
|
const otherChildren = [];
|
245906
246065
|
let mainOutput;
|
245907
|
-
for (const
|
245908
|
-
if (
|
245909
|
-
let lastOutput =
|
246066
|
+
for (const child of children2) {
|
246067
|
+
if (child instanceof OutputNode) {
|
246068
|
+
let lastOutput = child;
|
245910
246069
|
while (lastOutput.numChildren() === 1) {
|
245911
246070
|
const [theChild] = lastOutput.children;
|
245912
246071
|
if (theChild instanceof OutputNode) {
|
@@ -245917,8 +246076,8 @@ class MergeOutputs extends BottomUpOptimizer {
|
|
245917
246076
|
}
|
245918
246077
|
otherChildren.push(...lastOutput.children);
|
245919
246078
|
if (mainOutput) {
|
245920
|
-
node.removeChild(
|
245921
|
-
|
246079
|
+
node.removeChild(child);
|
246080
|
+
child.parent = mainOutput.parent;
|
245922
246081
|
mainOutput.parent.removeChild(mainOutput);
|
245923
246082
|
mainOutput.parent = lastOutput;
|
245924
246083
|
this.setModified();
|
@@ -245926,14 +246085,14 @@ class MergeOutputs extends BottomUpOptimizer {
|
|
245926
246085
|
mainOutput = lastOutput;
|
245927
246086
|
}
|
245928
246087
|
} else {
|
245929
|
-
otherChildren.push(
|
246088
|
+
otherChildren.push(child);
|
245930
246089
|
}
|
245931
246090
|
}
|
245932
246091
|
if (otherChildren.length) {
|
245933
246092
|
this.setModified();
|
245934
|
-
for (const
|
245935
|
-
|
245936
|
-
|
246093
|
+
for (const child of otherChildren) {
|
246094
|
+
child.parent.removeChild(child);
|
246095
|
+
child.parent = mainOutput;
|
245937
246096
|
}
|
245938
246097
|
}
|
245939
246098
|
}
|
@@ -246242,11 +246401,11 @@ function cloneSubtree(facet) {
|
|
246242
246401
|
function moveFacetDown(node) {
|
246243
246402
|
if (node instanceof FacetNode) {
|
246244
246403
|
if (node.numChildren() === 1 && !(node.children[0] instanceof OutputNode)) {
|
246245
|
-
const
|
246246
|
-
if (
|
246247
|
-
|
246404
|
+
const child = node.children[0];
|
246405
|
+
if (child instanceof AggregateNode || child instanceof StackNode || child instanceof WindowTransformNode || child instanceof JoinAggregateTransformNode) {
|
246406
|
+
child.addDimensions(node.fields);
|
246248
246407
|
}
|
246249
|
-
|
246408
|
+
child.swapWithParent();
|
246250
246409
|
moveFacetDown(node);
|
246251
246410
|
} else {
|
246252
246411
|
const facetMain = node.model.component.data.main;
|
@@ -246264,9 +246423,9 @@ function moveFacetDown(node) {
|
|
246264
246423
|
function moveMainDownToFacet(node) {
|
246265
246424
|
if (node instanceof OutputNode && node.type === DataSourceType.Main) {
|
246266
246425
|
if (node.numChildren() === 1) {
|
246267
|
-
const
|
246268
|
-
if (!(
|
246269
|
-
|
246426
|
+
const child = node.children[0];
|
246427
|
+
if (!(child instanceof FacetNode)) {
|
246428
|
+
child.swapWithParent();
|
246270
246429
|
moveMainDownToFacet(node);
|
246271
246430
|
}
|
246272
246431
|
}
|
@@ -246276,8 +246435,8 @@ const FACET_SCALE_PREFIX = "scale_";
|
|
246276
246435
|
const MAX_OPTIMIZATION_RUNS = 5;
|
246277
246436
|
function checkLinks(nodes) {
|
246278
246437
|
for (const node of nodes) {
|
246279
|
-
for (const
|
246280
|
-
if (
|
246438
|
+
for (const child of node.children) {
|
246439
|
+
if (child.parent !== node) {
|
246281
246440
|
return false;
|
246282
246441
|
}
|
246283
246442
|
}
|
@@ -246391,15 +246550,15 @@ function parseUnitScaleDomain(model) {
|
|
246391
246550
|
}
|
246392
246551
|
}
|
246393
246552
|
function parseNonUnitScaleDomain(model) {
|
246394
|
-
for (const
|
246395
|
-
parseScaleDomain(
|
246553
|
+
for (const child of model.children) {
|
246554
|
+
parseScaleDomain(child);
|
246396
246555
|
}
|
246397
246556
|
const localScaleComponents = model.component.scales;
|
246398
246557
|
for (const channel of keys$1(localScaleComponents)) {
|
246399
246558
|
let domains;
|
246400
246559
|
let selectionExtent = null;
|
246401
|
-
for (const
|
246402
|
-
const childComponent =
|
246560
|
+
for (const child of model.children) {
|
246561
|
+
const childComponent = child.component.scales[channel];
|
246403
246562
|
if (childComponent) {
|
246404
246563
|
if (domains === void 0) {
|
246405
246564
|
domains = childComponent.getWithExplicit("domains");
|
@@ -246806,8 +246965,8 @@ var __rest$7 = function(s2, e3) {
|
|
246806
246965
|
};
|
246807
246966
|
function assembleScales(model) {
|
246808
246967
|
if (isLayerModel(model) || isConcatModel(model)) {
|
246809
|
-
return model.children.reduce((scales2,
|
246810
|
-
return scales2.concat(assembleScales(
|
246968
|
+
return model.children.reduce((scales2, child) => {
|
246969
|
+
return scales2.concat(assembleScales(child));
|
246811
246970
|
}, assembleScalesForModel(model));
|
246812
246971
|
} else {
|
246813
246972
|
return assembleScalesForModel(model);
|
@@ -247316,17 +247475,17 @@ function parseScaleRange(model) {
|
|
247316
247475
|
}
|
247317
247476
|
function parseNonUnitScaleProperty(model, property2) {
|
247318
247477
|
const localScaleComponents = model.component.scales;
|
247319
|
-
for (const
|
247478
|
+
for (const child of model.children) {
|
247320
247479
|
if (property2 === "range") {
|
247321
|
-
parseScaleRange(
|
247480
|
+
parseScaleRange(child);
|
247322
247481
|
} else {
|
247323
|
-
parseScaleProperty(
|
247482
|
+
parseScaleProperty(child, property2);
|
247324
247483
|
}
|
247325
247484
|
}
|
247326
247485
|
for (const channel of keys$1(localScaleComponents)) {
|
247327
247486
|
let valueWithExplicit;
|
247328
|
-
for (const
|
247329
|
-
const childComponent =
|
247487
|
+
for (const child of model.children) {
|
247488
|
+
const childComponent = child.component.scales[channel];
|
247330
247489
|
if (childComponent) {
|
247331
247490
|
const childValueWithExplicit = childComponent.getWithExplicit(property2);
|
247332
247491
|
valueWithExplicit = mergeValuesWithExplicit(valueWithExplicit, childValueWithExplicit, property2, "scale", tieBreakByComparing((v12, v2) => {
|
@@ -247608,13 +247767,13 @@ function parseNonUnitScaleCore(model) {
|
|
247608
247767
|
const scaleComponents = model.component.scales = {};
|
247609
247768
|
const scaleTypeWithExplicitIndex = {};
|
247610
247769
|
const resolve2 = model.component.resolve;
|
247611
|
-
for (const
|
247612
|
-
parseScaleCore(
|
247613
|
-
for (const channel of keys$1(
|
247770
|
+
for (const child of model.children) {
|
247771
|
+
parseScaleCore(child);
|
247772
|
+
for (const channel of keys$1(child.component.scales)) {
|
247614
247773
|
(_a2 = (_b = resolve2.scale)[channel]) !== null && _a2 !== void 0 ? _a2 : _b[channel] = defaultScaleResolve(channel, model);
|
247615
247774
|
if (resolve2.scale[channel] === "shared") {
|
247616
247775
|
const explicitScaleType = scaleTypeWithExplicitIndex[channel];
|
247617
|
-
const childScaleType =
|
247776
|
+
const childScaleType = child.component.scales[channel].getWithExplicit("type");
|
247618
247777
|
if (explicitScaleType) {
|
247619
247778
|
if (scaleCompatible(explicitScaleType.value, childScaleType.value)) {
|
247620
247779
|
scaleTypeWithExplicitIndex[channel] = mergeValuesWithExplicit(explicitScaleType, childScaleType, "type", "scale", scaleTypeTieBreaker);
|
@@ -247632,10 +247791,10 @@ function parseNonUnitScaleCore(model) {
|
|
247632
247791
|
const name2 = model.scaleName(channel, true);
|
247633
247792
|
const typeWithExplicit = scaleTypeWithExplicitIndex[channel];
|
247634
247793
|
scaleComponents[channel] = new ScaleComponent(name2, typeWithExplicit);
|
247635
|
-
for (const
|
247636
|
-
const childScale =
|
247794
|
+
for (const child of model.children) {
|
247795
|
+
const childScale = child.component.scales[channel];
|
247637
247796
|
if (childScale) {
|
247638
|
-
|
247797
|
+
child.renameScale(childScale.get("name"), name2);
|
247639
247798
|
childScale.merged = true;
|
247640
247799
|
}
|
247641
247800
|
}
|
@@ -248681,13 +248840,13 @@ function makeWalkTree(data2) {
|
|
248681
248840
|
} else {
|
248682
248841
|
source2 = dataSource.source;
|
248683
248842
|
}
|
248684
|
-
for (const
|
248843
|
+
for (const child of node.children) {
|
248685
248844
|
const newData = {
|
248686
248845
|
name: null,
|
248687
248846
|
source: source2,
|
248688
248847
|
transform: []
|
248689
248848
|
};
|
248690
|
-
walkTree(
|
248849
|
+
walkTree(child, newData);
|
248691
248850
|
}
|
248692
248851
|
break;
|
248693
248852
|
}
|
@@ -248698,8 +248857,8 @@ function makeWalkTree(data2) {
|
|
248698
248857
|
function assembleFacetData(root2) {
|
248699
248858
|
const data2 = [];
|
248700
248859
|
const walkTree = makeWalkTree(data2);
|
248701
|
-
for (const
|
248702
|
-
walkTree(
|
248860
|
+
for (const child of root2.children) {
|
248861
|
+
walkTree(child, {
|
248703
248862
|
source: root2.name,
|
248704
248863
|
name: null,
|
248705
248864
|
transform: []
|
@@ -248759,7 +248918,7 @@ function parseFacetHeaders(model) {
|
|
248759
248918
|
}
|
248760
248919
|
function parseFacetHeader(model, channel) {
|
248761
248920
|
var _a2;
|
248762
|
-
const { facet, config: config3, child
|
248921
|
+
const { facet, config: config3, child, component } = model;
|
248763
248922
|
if (model.channelHasField(channel)) {
|
248764
248923
|
const fieldDef = facet[channel];
|
248765
248924
|
const titleConfig = getHeaderProperty("title", null, config3, channel);
|
@@ -248767,10 +248926,10 @@ function parseFacetHeader(model, channel) {
|
|
248767
248926
|
allowDisabling: true,
|
248768
248927
|
includeDefault: titleConfig === void 0 || !!titleConfig
|
248769
248928
|
});
|
248770
|
-
if (
|
248929
|
+
if (child.component.layoutHeaders[channel].title) {
|
248771
248930
|
title$1 = isArray2(title$1) ? title$1.join(", ") : title$1;
|
248772
|
-
title$1 += ` / ${
|
248773
|
-
|
248931
|
+
title$1 += ` / ${child.component.layoutHeaders[channel].title}`;
|
248932
|
+
child.component.layoutHeaders[channel].title = null;
|
248774
248933
|
}
|
248775
248934
|
const labelOrient = getHeaderProperty("labelOrient", fieldDef.header, config3, channel);
|
248776
248935
|
const labels2 = fieldDef.header !== null ? getFirstDefined((_a2 = fieldDef.header) === null || _a2 === void 0 ? void 0 : _a2.labels, config3.header.labels, true) : false;
|
@@ -248792,14 +248951,14 @@ function makeHeaderComponent(model, channel, labels2) {
|
|
248792
248951
|
}
|
248793
248952
|
function mergeChildAxis(model, channel) {
|
248794
248953
|
var _a2;
|
248795
|
-
const { child
|
248796
|
-
if (
|
248954
|
+
const { child } = model;
|
248955
|
+
if (child.component.axes[channel]) {
|
248797
248956
|
const { layoutHeaders: layoutHeaders2, resolve: resolve2 } = model.component;
|
248798
248957
|
resolve2.axis[channel] = parseGuideResolve(resolve2, channel);
|
248799
248958
|
if (resolve2.axis[channel] === "shared") {
|
248800
248959
|
const headerChannel = channel === "x" ? "column" : "row";
|
248801
248960
|
const layoutHeader = layoutHeaders2[headerChannel];
|
248802
|
-
for (const axisComponent of
|
248961
|
+
for (const axisComponent of child.component.axes[channel]) {
|
248803
248962
|
const headerType = getHeaderType(axisComponent.get("orient"));
|
248804
248963
|
(_a2 = layoutHeader[headerType]) !== null && _a2 !== void 0 ? _a2 : layoutHeader[headerType] = [makeHeaderComponent(model, headerChannel, false)];
|
248805
248964
|
const mainAxis = assembleAxis(axisComponent, "main", model.config, { header: true });
|
@@ -248824,8 +248983,8 @@ function parseConcatLayoutSize(model) {
|
|
248824
248983
|
parseNonUnitLayoutSizeForChannel(model, heightType);
|
248825
248984
|
}
|
248826
248985
|
function parseChildrenLayoutSize(model) {
|
248827
|
-
for (const
|
248828
|
-
|
248986
|
+
for (const child of model.children) {
|
248987
|
+
child.parseLayoutSize();
|
248829
248988
|
}
|
248830
248989
|
}
|
248831
248990
|
function parseNonUnitLayoutSizeForChannel(model, layoutSizeType) {
|
@@ -248835,8 +248994,8 @@ function parseNonUnitLayoutSizeForChannel(model, layoutSizeType) {
|
|
248835
248994
|
const resolve2 = model.component.resolve;
|
248836
248995
|
const layoutSizeCmpt = model.component.layoutSize;
|
248837
248996
|
let mergedSize;
|
248838
|
-
for (const
|
248839
|
-
const childSize =
|
248997
|
+
for (const child of model.children) {
|
248998
|
+
const childSize = child.component.layoutSize.getWithExplicit(sizeType);
|
248840
248999
|
const scaleResolve = (_a2 = resolve2.scale[channel]) !== null && _a2 !== void 0 ? _a2 : defaultScaleResolve(channel, model);
|
248841
249000
|
if (scaleResolve === "independent" && childSize.value === "step") {
|
248842
249001
|
mergedSize = void 0;
|
@@ -248853,9 +249012,9 @@ function parseNonUnitLayoutSizeForChannel(model, layoutSizeType) {
|
|
248853
249012
|
}
|
248854
249013
|
}
|
248855
249014
|
if (mergedSize) {
|
248856
|
-
for (const
|
248857
|
-
model.renameSignal(
|
248858
|
-
|
249015
|
+
for (const child of model.children) {
|
249016
|
+
model.renameSignal(child.getName(sizeType), model.getName(layoutSizeType));
|
249017
|
+
child.component.layoutSize.set(sizeType, "merged", false);
|
248859
249018
|
}
|
248860
249019
|
layoutSizeCmpt.setWithExplicit(layoutSizeType, mergedSize);
|
248861
249020
|
} else {
|
@@ -249168,12 +249327,12 @@ class FacetModel extends ModelWithField {
|
|
249168
249327
|
return void 0;
|
249169
249328
|
}
|
249170
249329
|
assembleMarks() {
|
249171
|
-
const { child
|
249330
|
+
const { child } = this;
|
249172
249331
|
const facetRoot = this.component.data.facetRoot;
|
249173
249332
|
const data2 = assembleFacetData(facetRoot);
|
249174
|
-
const encodeEntry2 =
|
249175
|
-
const title2 = this.assembleLabelTitle() ||
|
249176
|
-
const style2 =
|
249333
|
+
const encodeEntry2 = child.assembleGroupEncodeEntry(false);
|
249334
|
+
const title2 = this.assembleLabelTitle() || child.assembleTitle();
|
249335
|
+
const style2 = child.assembleGroupStyle();
|
249177
249336
|
const markGroup = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ name: this.getName("cell"), type: "group" }, title2 ? { title: title2 } : {}), style2 ? { style: style2 } : {}), {
|
249178
249337
|
from: {
|
249179
249338
|
facet: this.assembleFacet()
|
@@ -249183,7 +249342,7 @@ class FacetModel extends ModelWithField {
|
|
249183
249342
|
field: FACET_CHANNELS.map((c2) => this.facetSortFields(c2)).flat(),
|
249184
249343
|
order: FACET_CHANNELS.map((c2) => this.facetSortOrder(c2)).flat()
|
249185
249344
|
}
|
249186
|
-
}), data2.length > 0 ? { data: data2 } : {}), encodeEntry2 ? { encode: { update: encodeEntry2 } } : {}),
|
249345
|
+
}), data2.length > 0 ? { data: data2 } : {}), encodeEntry2 ? { encode: { update: encodeEntry2 } } : {}), child.assembleGroup(assembleFacetSignals(this, [])));
|
249187
249346
|
return [markGroup];
|
249188
249347
|
}
|
249189
249348
|
getMapping() {
|
@@ -249444,33 +249603,33 @@ class ConcatModel extends Model2 {
|
|
249444
249603
|
if (((_b = (_a2 = spec.resolve) === null || _a2 === void 0 ? void 0 : _a2.axis) === null || _b === void 0 ? void 0 : _b.x) === "shared" || ((_d = (_c = spec.resolve) === null || _c === void 0 ? void 0 : _c.axis) === null || _d === void 0 ? void 0 : _d.y) === "shared") {
|
249445
249604
|
warn(CONCAT_CANNOT_SHARE_AXIS);
|
249446
249605
|
}
|
249447
|
-
this.children = this.getChildren(spec).map((
|
249448
|
-
return buildModel(
|
249606
|
+
this.children = this.getChildren(spec).map((child, i2) => {
|
249607
|
+
return buildModel(child, this, this.getName(`concat_${i2}`), void 0, config3);
|
249449
249608
|
});
|
249450
249609
|
}
|
249451
249610
|
parseData() {
|
249452
249611
|
this.component.data = parseData(this);
|
249453
|
-
for (const
|
249454
|
-
|
249612
|
+
for (const child of this.children) {
|
249613
|
+
child.parseData();
|
249455
249614
|
}
|
249456
249615
|
}
|
249457
249616
|
parseSelections() {
|
249458
249617
|
this.component.selection = {};
|
249459
|
-
for (const
|
249460
|
-
|
249461
|
-
for (const key2 of keys$1(
|
249462
|
-
this.component.selection[key2] =
|
249618
|
+
for (const child of this.children) {
|
249619
|
+
child.parseSelections();
|
249620
|
+
for (const key2 of keys$1(child.component.selection)) {
|
249621
|
+
this.component.selection[key2] = child.component.selection[key2];
|
249463
249622
|
}
|
249464
249623
|
}
|
249465
249624
|
}
|
249466
249625
|
parseMarkGroup() {
|
249467
|
-
for (const
|
249468
|
-
|
249626
|
+
for (const child of this.children) {
|
249627
|
+
child.parseMarkGroup();
|
249469
249628
|
}
|
249470
249629
|
}
|
249471
249630
|
parseAxesAndHeaders() {
|
249472
|
-
for (const
|
249473
|
-
|
249631
|
+
for (const child of this.children) {
|
249632
|
+
child.parseAxesAndHeaders();
|
249474
249633
|
}
|
249475
249634
|
}
|
249476
249635
|
getChildren(spec) {
|
@@ -249488,28 +249647,28 @@ class ConcatModel extends Model2 {
|
|
249488
249647
|
return null;
|
249489
249648
|
}
|
249490
249649
|
assembleSelectionTopLevelSignals(signals) {
|
249491
|
-
return this.children.reduce((sg,
|
249650
|
+
return this.children.reduce((sg, child) => child.assembleSelectionTopLevelSignals(sg), signals);
|
249492
249651
|
}
|
249493
249652
|
assembleSignals() {
|
249494
|
-
this.children.forEach((
|
249653
|
+
this.children.forEach((child) => child.assembleSignals());
|
249495
249654
|
return [];
|
249496
249655
|
}
|
249497
249656
|
assembleLayoutSignals() {
|
249498
249657
|
const layoutSignals = assembleLayoutSignals(this);
|
249499
|
-
for (const
|
249500
|
-
layoutSignals.push(...
|
249658
|
+
for (const child of this.children) {
|
249659
|
+
layoutSignals.push(...child.assembleLayoutSignals());
|
249501
249660
|
}
|
249502
249661
|
return layoutSignals;
|
249503
249662
|
}
|
249504
249663
|
assembleSelectionData(data2) {
|
249505
|
-
return this.children.reduce((db,
|
249664
|
+
return this.children.reduce((db, child) => child.assembleSelectionData(db), data2);
|
249506
249665
|
}
|
249507
249666
|
assembleMarks() {
|
249508
|
-
return this.children.map((
|
249509
|
-
const title2 =
|
249510
|
-
const style2 =
|
249511
|
-
const encodeEntry2 =
|
249512
|
-
return Object.assign(Object.assign(Object.assign(Object.assign({ type: "group", name:
|
249667
|
+
return this.children.map((child) => {
|
249668
|
+
const title2 = child.assembleTitle();
|
249669
|
+
const style2 = child.assembleGroupStyle();
|
249670
|
+
const encodeEntry2 = child.assembleGroupEncodeEntry(false);
|
249671
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({ type: "group", name: child.getName("group") }, title2 ? { title: title2 } : {}), style2 ? { style: style2 } : {}), encodeEntry2 ? { encode: { update: encodeEntry2 } } : {}), child.assembleGroup());
|
249513
249672
|
});
|
249514
249673
|
}
|
249515
249674
|
assembleGroupStyle() {
|
@@ -249616,12 +249775,12 @@ function parseLayerAxes(model) {
|
|
249616
249775
|
var _a2;
|
249617
249776
|
const { axes, resolve: resolve2 } = model.component;
|
249618
249777
|
const axisCount = { top: 0, bottom: 0, right: 0, left: 0 };
|
249619
|
-
for (const
|
249620
|
-
|
249621
|
-
for (const channel of keys$1(
|
249778
|
+
for (const child of model.children) {
|
249779
|
+
child.parseAxesAndHeaders();
|
249780
|
+
for (const channel of keys$1(child.component.axes)) {
|
249622
249781
|
resolve2.axis[channel] = parseGuideResolve(model.component.resolve, channel);
|
249623
249782
|
if (resolve2.axis[channel] === "shared") {
|
249624
|
-
axes[channel] = mergeAxisComponents(axes[channel],
|
249783
|
+
axes[channel] = mergeAxisComponents(axes[channel], child.component.axes[channel]);
|
249625
249784
|
if (!axes[channel]) {
|
249626
249785
|
resolve2.axis[channel] = "independent";
|
249627
249786
|
delete axes[channel];
|
@@ -249630,13 +249789,13 @@ function parseLayerAxes(model) {
|
|
249630
249789
|
}
|
249631
249790
|
}
|
249632
249791
|
for (const channel of POSITION_SCALE_CHANNELS) {
|
249633
|
-
for (const
|
249634
|
-
if (!
|
249792
|
+
for (const child of model.children) {
|
249793
|
+
if (!child.component.axes[channel]) {
|
249635
249794
|
continue;
|
249636
249795
|
}
|
249637
249796
|
if (resolve2.axis[channel] === "independent") {
|
249638
|
-
axes[channel] = ((_a2 = axes[channel]) !== null && _a2 !== void 0 ? _a2 : []).concat(
|
249639
|
-
for (const axisComponent of
|
249797
|
+
axes[channel] = ((_a2 = axes[channel]) !== null && _a2 !== void 0 ? _a2 : []).concat(child.component.axes[channel]);
|
249798
|
+
for (const axisComponent of child.component.axes[channel]) {
|
249640
249799
|
const { value: orient2, explicit } = axisComponent.getWithExplicit("orient");
|
249641
249800
|
if (isSignalRef(orient2)) {
|
249642
249801
|
continue;
|
@@ -249650,7 +249809,7 @@ function parseLayerAxes(model) {
|
|
249650
249809
|
axisCount[orient2]++;
|
249651
249810
|
}
|
249652
249811
|
}
|
249653
|
-
delete
|
249812
|
+
delete child.component.axes[channel];
|
249654
249813
|
}
|
249655
249814
|
if (resolve2.axis[channel] === "independent" && axes[channel] && axes[channel].length > 1) {
|
249656
249815
|
for (const axisCmpt of axes[channel]) {
|
@@ -249669,16 +249828,16 @@ function mergeAxisComponents(mergedAxisCmpts, childAxisCmpts) {
|
|
249669
249828
|
const length2 = mergedAxisCmpts.length;
|
249670
249829
|
for (let i2 = 0; i2 < length2; i2++) {
|
249671
249830
|
const merged = mergedAxisCmpts[i2];
|
249672
|
-
const
|
249673
|
-
if (!!merged !== !!
|
249831
|
+
const child = childAxisCmpts[i2];
|
249832
|
+
if (!!merged !== !!child) {
|
249674
249833
|
return void 0;
|
249675
|
-
} else if (merged &&
|
249834
|
+
} else if (merged && child) {
|
249676
249835
|
const mergedOrient = merged.getWithExplicit("orient");
|
249677
|
-
const childOrient =
|
249836
|
+
const childOrient = child.getWithExplicit("orient");
|
249678
249837
|
if (mergedOrient.explicit && childOrient.explicit && mergedOrient.value !== childOrient.value) {
|
249679
249838
|
return void 0;
|
249680
249839
|
} else {
|
249681
|
-
mergedAxisCmpts[i2] = mergeAxisComponent(merged,
|
249840
|
+
mergedAxisCmpts[i2] = mergeAxisComponent(merged, child);
|
249682
249841
|
}
|
249683
249842
|
}
|
249684
249843
|
}
|
@@ -249687,11 +249846,11 @@ function mergeAxisComponents(mergedAxisCmpts, childAxisCmpts) {
|
|
249687
249846
|
}
|
249688
249847
|
return mergedAxisCmpts;
|
249689
249848
|
}
|
249690
|
-
function mergeAxisComponent(merged,
|
249849
|
+
function mergeAxisComponent(merged, child) {
|
249691
249850
|
for (const prop of AXIS_COMPONENT_PROPERTIES) {
|
249692
249851
|
const mergedValueWithExplicit = mergeValuesWithExplicit(
|
249693
249852
|
merged.getWithExplicit(prop),
|
249694
|
-
|
249853
|
+
child.getWithExplicit(prop),
|
249695
249854
|
prop,
|
249696
249855
|
"axis",
|
249697
249856
|
// Tie breaker function
|
@@ -250663,8 +250822,8 @@ class LayerModel extends Model2 {
|
|
250663
250822
|
}
|
250664
250823
|
parseData() {
|
250665
250824
|
this.component.data = parseData(this);
|
250666
|
-
for (const
|
250667
|
-
|
250825
|
+
for (const child of this.children) {
|
250826
|
+
child.parseData();
|
250668
250827
|
}
|
250669
250828
|
}
|
250670
250829
|
parseLayoutSize() {
|
@@ -250672,42 +250831,42 @@ class LayerModel extends Model2 {
|
|
250672
250831
|
}
|
250673
250832
|
parseSelections() {
|
250674
250833
|
this.component.selection = {};
|
250675
|
-
for (const
|
250676
|
-
|
250677
|
-
for (const key2 of keys$1(
|
250678
|
-
this.component.selection[key2] =
|
250834
|
+
for (const child of this.children) {
|
250835
|
+
child.parseSelections();
|
250836
|
+
for (const key2 of keys$1(child.component.selection)) {
|
250837
|
+
this.component.selection[key2] = child.component.selection[key2];
|
250679
250838
|
}
|
250680
250839
|
}
|
250681
250840
|
}
|
250682
250841
|
parseMarkGroup() {
|
250683
|
-
for (const
|
250684
|
-
|
250842
|
+
for (const child of this.children) {
|
250843
|
+
child.parseMarkGroup();
|
250685
250844
|
}
|
250686
250845
|
}
|
250687
250846
|
parseAxesAndHeaders() {
|
250688
250847
|
parseLayerAxes(this);
|
250689
250848
|
}
|
250690
250849
|
assembleSelectionTopLevelSignals(signals) {
|
250691
|
-
return this.children.reduce((sg,
|
250850
|
+
return this.children.reduce((sg, child) => child.assembleSelectionTopLevelSignals(sg), signals);
|
250692
250851
|
}
|
250693
250852
|
// TODO: Support same named selections across children.
|
250694
250853
|
assembleSignals() {
|
250695
|
-
return this.children.reduce((signals,
|
250696
|
-
return signals.concat(
|
250854
|
+
return this.children.reduce((signals, child) => {
|
250855
|
+
return signals.concat(child.assembleSignals());
|
250697
250856
|
}, assembleAxisSignals(this));
|
250698
250857
|
}
|
250699
250858
|
assembleLayoutSignals() {
|
250700
|
-
return this.children.reduce((signals,
|
250701
|
-
return signals.concat(
|
250859
|
+
return this.children.reduce((signals, child) => {
|
250860
|
+
return signals.concat(child.assembleLayoutSignals());
|
250702
250861
|
}, assembleLayoutSignals(this));
|
250703
250862
|
}
|
250704
250863
|
assembleSelectionData(data2) {
|
250705
|
-
return this.children.reduce((db,
|
250864
|
+
return this.children.reduce((db, child) => child.assembleSelectionData(db), data2);
|
250706
250865
|
}
|
250707
250866
|
assembleGroupStyle() {
|
250708
250867
|
const uniqueStyles = /* @__PURE__ */ new Set();
|
250709
|
-
for (const
|
250710
|
-
for (const style2 of array$5(
|
250868
|
+
for (const child of this.children) {
|
250869
|
+
for (const style2 of array$5(child.assembleGroupStyle())) {
|
250711
250870
|
uniqueStyles.add(style2);
|
250712
250871
|
}
|
250713
250872
|
}
|
@@ -250719,8 +250878,8 @@ class LayerModel extends Model2 {
|
|
250719
250878
|
if (title2) {
|
250720
250879
|
return title2;
|
250721
250880
|
}
|
250722
|
-
for (const
|
250723
|
-
title2 =
|
250881
|
+
for (const child of this.children) {
|
250882
|
+
title2 = child.assembleTitle();
|
250724
250883
|
if (title2) {
|
250725
250884
|
return title2;
|
250726
250885
|
}
|
@@ -250731,13 +250890,13 @@ class LayerModel extends Model2 {
|
|
250731
250890
|
return null;
|
250732
250891
|
}
|
250733
250892
|
assembleMarks() {
|
250734
|
-
return assembleLayerSelectionMarks(this, this.children.flatMap((
|
250735
|
-
return
|
250893
|
+
return assembleLayerSelectionMarks(this, this.children.flatMap((child) => {
|
250894
|
+
return child.assembleMarks();
|
250736
250895
|
}));
|
250737
250896
|
}
|
250738
250897
|
assembleLegends() {
|
250739
|
-
return this.children.reduce((legends,
|
250740
|
-
return legends.concat(
|
250898
|
+
return this.children.reduce((legends, child) => {
|
250899
|
+
return legends.concat(child.assembleLegends());
|
250741
250900
|
}, assembleLegends(this));
|
250742
250901
|
}
|
250743
250902
|
}
|
@@ -256356,10 +256515,10 @@ class RasterJsonAsObsSegmentationsLoader extends RasterLoader {
|
|
256356
256515
|
if (!(coordinationValues == null ? void 0 : coordinationValues.spatialImageLayer)) {
|
256357
256516
|
console.warn("Could not initialize coordinationValues.spatialImageLayer in RasterJsonAsObsSegmentationsLoader. This may be an indicator that the image could not be loaded.");
|
256358
256517
|
}
|
256359
|
-
return new LoaderResult({
|
256518
|
+
return new LoaderResult(loaders.length > 0 && meta2.length > 0 ? {
|
256360
256519
|
obsSegmentationsType: "bitmask",
|
256361
|
-
obsSegmentations:
|
256362
|
-
}, urls2, {
|
256520
|
+
obsSegmentations: { loaders, meta: meta2 }
|
256521
|
+
} : null, urls2, {
|
256363
256522
|
// Filter coordinationValues, keeping only bitmask layers.
|
256364
256523
|
spatialSegmentationLayer: (_a2 = coordinationValues == null ? void 0 : coordinationValues.spatialImageLayer) == null ? void 0 : _a2.filter((l2) => l2.type === "bitmask").map((layer) => ({
|
256365
256524
|
...layer,
|
@@ -257098,7 +257257,7 @@ class ObsSegmentationsAnndataLoader extends AbstractTwoStepLoader {
|
|
257098
257257
|
// Bug introduced from DeckGL v8.6.x to v8.8.x:
|
257099
257258
|
// Polygon vertices cannot be passed via Uint32Arrays, which is how they load via Zarr.
|
257100
257259
|
// For now, a workaround is to cast each vertex to a plain Array.
|
257101
|
-
data: arr.data.map((poly2) => poly2.map((
|
257260
|
+
data: arr.data.map((poly2) => poly2.map((vertex) => Array.from(vertex)))
|
257102
257261
|
}));
|
257103
257262
|
return this.segmentations;
|
257104
257263
|
}
|
@@ -257259,22 +257418,21 @@ class OmeZarrLoader extends AbstractTwoStepLoader {
|
|
257259
257418
|
const { coordinateTransformations: coordinateTransformationsFromOptions } = this.options || {};
|
257260
257419
|
const loader2 = await loadOmeZarr(this.url, { fetchOptions: this.requestInit, type: "multiscales" });
|
257261
257420
|
const { metadata: metadata2, data: data2 } = loader2;
|
257262
|
-
const { omero, multiscales } = metadata2;
|
257263
|
-
|
257264
|
-
|
257421
|
+
const { omero, multiscales, channels_metadata: spatialDataChannels } = metadata2;
|
257422
|
+
const isSpatialData = !!spatialDataChannels;
|
257423
|
+
if (!isSpatialData && !omero) {
|
257424
|
+
console.error("image.ome-zarr must have omero metadata in attributes.");
|
257265
257425
|
return Promise.reject(payload);
|
257266
257426
|
}
|
257267
257427
|
if (!Array.isArray(multiscales) || multiscales.length === 0) {
|
257268
257428
|
console.error("Multiscales array must exist and have at least one element");
|
257269
257429
|
}
|
257270
|
-
const { coordinateTransformations } = multiscales[0];
|
257430
|
+
const { datasets, coordinateTransformations: coordinateTransformationsFromFile, name: imageName } = multiscales[0];
|
257271
257431
|
const axes = getNgffAxes(multiscales[0].axes);
|
257432
|
+
const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, datasets);
|
257272
257433
|
const transformMatrixFromOptions = coordinateTransformationsToMatrix(coordinateTransformationsFromOptions, axes);
|
257273
|
-
const transformMatrixFromFile = coordinateTransformationsToMatrix(
|
257434
|
+
const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, axes);
|
257274
257435
|
const transformMatrix = transformMatrixFromFile.multiplyLeft(transformMatrixFromOptions);
|
257275
|
-
const { rdefs, channels: channels2, name: omeroName } = omero;
|
257276
|
-
const t4 = rdefs.defaultT ?? 0;
|
257277
|
-
const z2 = rdefs.defaultZ ?? 0;
|
257278
257436
|
const filterSelection = (sel) => {
|
257279
257437
|
if (data2.length > 0) {
|
257280
257438
|
const nextSel = {};
|
@@ -257288,14 +257446,37 @@ class OmeZarrLoader extends AbstractTwoStepLoader {
|
|
257288
257446
|
}
|
257289
257447
|
return sel;
|
257290
257448
|
};
|
257449
|
+
let channelObjects;
|
257450
|
+
let channelLabels = [];
|
257451
|
+
let initialTargetT = 0;
|
257452
|
+
let initialTargetZ = 0;
|
257453
|
+
if (isSpatialData) {
|
257454
|
+
const { channels: channels2 } = spatialDataChannels;
|
257455
|
+
channelObjects = channels2.map((channel, i2) => ({
|
257456
|
+
selection: filterSelection({ z: initialTargetZ, t: initialTargetT, c: i2 }),
|
257457
|
+
slider: [0, 255],
|
257458
|
+
color: [255, 255, 255]
|
257459
|
+
}));
|
257460
|
+
channelLabels = channels2.map((c2) => c2.label);
|
257461
|
+
} else {
|
257462
|
+
const { rdefs, channels: channels2 } = omero;
|
257463
|
+
if (typeof rdefs.defaultT === "number") {
|
257464
|
+
initialTargetT = rdefs.defaultT;
|
257465
|
+
}
|
257466
|
+
if (typeof rdefs.defaultZ === "number") {
|
257467
|
+
initialTargetZ = rdefs.defaultZ;
|
257468
|
+
}
|
257469
|
+
channelObjects = channels2.map((channel, i2) => ({
|
257470
|
+
selection: filterSelection({ z: initialTargetZ, t: initialTargetT, c: i2 }),
|
257471
|
+
slider: [channel.window.start, channel.window.end],
|
257472
|
+
color: hexToRgb(channel.color)
|
257473
|
+
}));
|
257474
|
+
channelLabels = channels2.map((c2) => c2.label);
|
257475
|
+
}
|
257291
257476
|
const imagesWithLoaderCreators = [
|
257292
257477
|
{
|
257293
|
-
name:
|
257294
|
-
channels:
|
257295
|
-
selection: filterSelection({ z: z2, t: t4, c: i2 }),
|
257296
|
-
slider: [channel.window.start, channel.window.end],
|
257297
|
-
color: hexToRgb(channel.color)
|
257298
|
-
})),
|
257478
|
+
name: imageName || "Image",
|
257479
|
+
channels: channelObjects,
|
257299
257480
|
...transformMatrix ? {
|
257300
257481
|
metadata: {
|
257301
257482
|
transform: {
|
@@ -257303,7 +257484,7 @@ class OmeZarrLoader extends AbstractTwoStepLoader {
|
|
257303
257484
|
}
|
257304
257485
|
}
|
257305
257486
|
} : {},
|
257306
|
-
loaderCreator: async () => ({ ...loader2, channels:
|
257487
|
+
loaderCreator: async () => ({ ...loader2, channels: channelLabels })
|
257307
257488
|
}
|
257308
257489
|
];
|
257309
257490
|
const [autoImageLayers, imageLayerLoaders, imageLayerMeta] = await initializeRasterLayersAndChannels(imagesWithLoaderCreators, void 0);
|