@vitessce/all 3.1.0 → 3.1.2
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-19f2d5d6.js} +1 -1
- package/dist/{hglib-8b454259.js → hglib-88a02387.js} +1 -1
- package/dist/{index-6e5fe875.js → index-b711b37e.js} +1221 -1097
- package/dist/index.js +1 -1
- package/dist/{jpeg-d5225556.js → jpeg-826e5bcb.js} +1 -1
- package/dist/{lerc-e2ffe296.js → lerc-dae178a4.js} +1 -1
- package/dist/{lzw-e2d5a7f6.js → lzw-1fcadb5f.js} +1 -1
- package/dist/{packbits-b6a798a9.js → packbits-193c276e.js} +1 -1
- package/dist/{raw-90cab418.js → raw-83f54019.js} +1 -1
- package/dist/{webimage-ad4dfc02.js → webimage-bf05fa7a.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-83f54019.js").then((m2) => m2.default));
|
155227
|
+
addDecoder(5, () => import("./lzw-1fcadb5f.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-826e5bcb.js").then((m2) => m2.default));
|
155232
|
+
addDecoder([8, 32946], () => import("./deflate-19f2d5d6.js").then((m2) => m2.default));
|
155233
|
+
addDecoder(32773, () => import("./packbits-193c276e.js").then((m2) => m2.default));
|
155234
|
+
addDecoder(34887, () => import("./lerc-dae178a4.js").then((m2) => m2.default));
|
155235
|
+
addDecoder(50001, () => import("./webimage-bf05fa7a.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);
|
@@ -190272,14 +190323,14 @@ const shortNumber = /* @__PURE__ */ getDefaultExportFromCjs$1(shortNumberExports
|
|
190272
190323
|
function makeSpatialSubtitle({ observationsCount, observationsLabel, subobservationsCount, subobservationsLabel, locationsCount }) {
|
190273
190324
|
const parts = [];
|
190274
190325
|
if (subobservationsCount > 0) {
|
190275
|
-
let part = `${commaNumber(subobservationsCount)} ${
|
190326
|
+
let part = `${commaNumber(subobservationsCount)} ${pluralize(subobservationsLabel, subobservationsCount)}`;
|
190276
190327
|
if (locationsCount > 0) {
|
190277
190328
|
part += ` at ${shortNumber(locationsCount)} locations`;
|
190278
190329
|
}
|
190279
190330
|
parts.push(part);
|
190280
190331
|
}
|
190281
190332
|
if (observationsCount > 0) {
|
190282
|
-
parts.push(`${commaNumber(observationsCount)} ${
|
190333
|
+
parts.push(`${commaNumber(observationsCount)} ${pluralize(observationsLabel, observationsCount)}`);
|
190283
190334
|
}
|
190284
190335
|
return parts.join(", ");
|
190285
190336
|
}
|
@@ -190966,11 +191017,16 @@ const useToggleStyles = makeStyles(() => ({
|
|
190966
191017
|
}
|
190967
191018
|
}));
|
190968
191019
|
const ToggleFixedAxisButton = ({ setSpatialAxisFixed, spatialAxisFixed, use3d }) => {
|
191020
|
+
const toggleAxisId = useId();
|
190969
191021
|
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)
|
191022
|
+
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: {
|
191023
|
+
"aria-label": "Fix or not fix spatial camera axis",
|
191024
|
+
id: `spatial-camera-axis-${toggleAxisId}`
|
191025
|
+
} }) })] });
|
190971
191026
|
};
|
190972
191027
|
function SpatialOptions(props2) {
|
190973
191028
|
const { observationsLabel, cellColorEncoding, setCellColorEncoding, setSpatialAxisFixed, spatialAxisFixed, use3d, tooltipsVisible, setTooltipsVisible, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, canShowExpressionOptions, canShowColorEncodingOption, canShow3DOptions } = props2;
|
191029
|
+
const spatialOptionsId = useId();
|
190974
191030
|
function handleGeneExpressionColormapChange(event2) {
|
190975
191031
|
setGeneExpressionColormap(event2.target.value);
|
190976
191032
|
}
|
@@ -190982,7 +191038,7 @@ function SpatialOptions(props2) {
|
|
190982
191038
|
setTooltipsVisible(event2.target.checked);
|
190983
191039
|
}
|
190984
191040
|
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, {
|
191041
|
+
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
191042
|
className: classes.checkbox,
|
190987
191043
|
/**
|
190988
191044
|
* We have to use "checked" here, not "value".
|
@@ -190991,11 +191047,18 @@ function SpatialOptions(props2) {
|
|
190991
191047
|
*/
|
190992
191048
|
checked: tooltipsVisible,
|
190993
191049
|
onChange: handleTooltipsVisibilityChange,
|
190994
|
-
name: "gene-expression-colormap-option-
|
190995
|
-
color: "default"
|
190996
|
-
|
190997
|
-
|
190998
|
-
|
191050
|
+
name: "gene-expression-colormap-option-tooltip-visibility",
|
191051
|
+
color: "default",
|
191052
|
+
inputProps: {
|
191053
|
+
"aria-label": "Enable or disable tooltips",
|
191054
|
+
id: `gene-expression-colormap-option-tooltip-visibility-${spatialOptionsId}`
|
191055
|
+
}
|
191056
|
+
}) })] }), 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: {
|
191057
|
+
id: `gene-expression-colormap-select-${spatialOptionsId}`
|
191058
|
+
}, 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) => {
|
191059
|
+
const labelPrefix = index2 === 0 ? "Low value slider" : "High value slider";
|
191060
|
+
return `${labelPrefix} for spatial gene expression colormap range`;
|
191061
|
+
}, id: `gene-expression-colormap-range-${spatialOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] }) : null] });
|
190999
191062
|
}
|
191000
191063
|
function SpatialTooltipSubscriber(props2) {
|
191001
191064
|
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo, hoverData, hoverCoord, useHoverInfoForTooltip, getObsIdFromHoverData } = props2;
|
@@ -191020,7 +191083,7 @@ function SpatialTooltipSubscriber(props2) {
|
|
191020
191083
|
return cellInfo ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: cellInfo }) }) : null;
|
191021
191084
|
}
|
191022
191085
|
function SpatialSubscriber(props2) {
|
191023
|
-
const { uuid, coordinationScopes, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, title: title2 = "Spatial", disable3d, globalDisable3d, useFullResolutionImage = {} } = props2;
|
191086
|
+
const { uuid, coordinationScopes, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, title: title2 = "Spatial", disable3d, globalDisable3d, useFullResolutionImage = {}, channelNamesVisible = false } = props2;
|
191024
191087
|
const loaders = useLoaders();
|
191025
191088
|
const setComponentHover = useSetComponentHover();
|
191026
191089
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
@@ -191032,13 +191095,14 @@ function SpatialSubscriber(props2) {
|
|
191032
191095
|
const [width2, height2, deckRef] = useDeckCanvasSize();
|
191033
191096
|
const [obsLabelsTypes, obsLabelsData] = useMultiObsLabels(coordinationScopes, obsType, loaders, dataset);
|
191034
191097
|
const hasExpressionData = useHasLoader(loaders, dataset, DataType$2.OBS_FEATURE_MATRIX, { obsType, featureType, featureValueType });
|
191035
|
-
const
|
191098
|
+
const hasSegmentationsLoader = useHasLoader(loaders, dataset, DataType$2.OBS_SEGMENTATIONS, { obsType });
|
191036
191099
|
const hasLocationsData = useHasLoader(loaders, dataset, DataType$2.OBS_LOCATIONS, { obsType });
|
191037
191100
|
const hasImageData = useHasLoader(loaders, dataset, DataType$2.IMAGE, {});
|
191038
191101
|
const [{ obsIndex: obsLocationsIndex, obsLocations }, obsLocationsStatus, obsLocationsUrls] = useObsLocationsData(loaders, dataset, false, { setSpatialPointLayer: setMoleculesLayer }, { spatialPointLayer: moleculesLayer }, { obsType: "molecule" });
|
191039
191102
|
const [{ obsLabels: obsLocationsLabels }, obsLabelsStatus, obsLabelsUrls] = useObsLabelsData(loaders, dataset, false, {}, {}, { obsType: "molecule" });
|
191040
191103
|
const [{ obsIndex: obsCentroidsIndex, obsLocations: obsCentroids }, obsCentroidsStatus, obsCentroidsUrls] = useObsLocationsData(loaders, dataset, false, {}, {}, { obsType });
|
191041
191104
|
const [{ obsIndex: obsSegmentationsIndex, obsSegmentations, obsSegmentationsType }, obsSegmentationsStatus, obsSegmentationsUrls] = useObsSegmentationsData(loaders, dataset, false, { setSpatialSegmentationLayer: setCellsLayer }, { spatialSegmentationLayer: cellsLayer }, { obsType });
|
191105
|
+
const hasSegmentationsData = hasSegmentationsLoader && !(obsSegmentationsStatus === STATUS$1.SUCCESS && !(obsSegmentations || obsSegmentationsType));
|
191042
191106
|
const [{ obsSets: cellSets, obsSetsMembership }, obsSetsStatus, obsSetsUrls] = useObsSetsData(loaders, dataset, false, { setObsSetSelection: setCellSetSelection, setObsSetColor: setCellSetColor }, { obsSetSelection: cellSetSelection, obsSetColor: cellSetColor }, { obsType });
|
191043
191107
|
const [expressionData, loadedFeatureSelection, featureSelectionStatus] = useFeatureSelection(loaders, dataset, false, geneSelection, { obsType, featureType, featureValueType });
|
191044
191108
|
const [{ obsIndex: matrixObsIndex }, matrixIndicesStatus, matrixIndicesUrls] = useObsFeatureMatrixIndices(loaders, dataset, false, { obsType, featureType, featureValueType });
|
@@ -191254,7 +191318,29 @@ function SpatialSubscriber(props2) {
|
|
191254
191318
|
const shouldUseFullData = (ll, index2) => Array.isArray(useFullResolutionImage) && useFullResolutionImage.includes(meta2[index2].name) && Array.isArray(ll.data);
|
191255
191319
|
return imageLayerLoaders.map((ll, index2) => shouldUseFullData(ll, index2) ? { ...ll, data: ll.data[0] } : ll);
|
191256
191320
|
}, [imageLayerLoaders, useFullResolutionImage, meta2]);
|
191257
|
-
|
191321
|
+
const [channelNames, channelColors] = useMemo(() => {
|
191322
|
+
let names = [];
|
191323
|
+
let colors2 = [];
|
191324
|
+
if (imageLayers && imageLayers.length > 0 && imageLayerLoaders && imageLayerLoaders.length > 0) {
|
191325
|
+
const firstImageLayer = imageLayers[0];
|
191326
|
+
const firstImageLayerLoader = imageLayerLoaders == null ? void 0 : imageLayerLoaders[firstImageLayer == null ? void 0 : firstImageLayer.index];
|
191327
|
+
if (firstImageLayer && !firstImageLayer.colormap && firstImageLayer.channels && firstImageLayerLoader) {
|
191328
|
+
const allChannels = firstImageLayerLoader.channels;
|
191329
|
+
names = firstImageLayer.channels.map((c2) => allChannels[c2.selection.channel === void 0 ? c2.selection.c : c2.selection.channel]);
|
191330
|
+
colors2 = firstImageLayer.channels.map((c2) => c2.color);
|
191331
|
+
}
|
191332
|
+
}
|
191333
|
+
return [names, colors2];
|
191334
|
+
}, [imageLayers, imageLayerLoaders]);
|
191335
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, removeGridComponent, isReady, options, children: [jsxRuntimeExports.jsx("div", { style: {
|
191336
|
+
position: "absolute",
|
191337
|
+
bottom: "5px",
|
191338
|
+
left: "5px",
|
191339
|
+
zIndex: 6
|
191340
|
+
}, children: channelNamesVisible && channelNames ? channelNames.map((name2, i2) => jsxRuntimeExports.jsx(Typography$1, { variant: "h6", style: {
|
191341
|
+
color: colorArrayToString(channelColors[i2]),
|
191342
|
+
fontSize: "14px"
|
191343
|
+
}, children: name2 }, `${name2}-${colorArrayToString(channelColors[i2])}`)) : null }), jsxRuntimeExports.jsx(SpatialWrapper, { ref: deckRef, uuid, width: width2, height: height2, viewState: {
|
191258
191344
|
zoom: zoom2,
|
191259
191345
|
target: [targetX2, targetY2, targetZ],
|
191260
191346
|
rotationX,
|
@@ -192106,6 +192192,7 @@ function HeatmapTooltipSubscriber(props2) {
|
|
192106
192192
|
function HeatmapOptions(props2) {
|
192107
192193
|
const { geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, tooltipsVisible, setTooltipsVisible } = props2;
|
192108
192194
|
const classes = usePlotOptionsStyles();
|
192195
|
+
const heatmapOptionsId = useId();
|
192109
192196
|
function handleGeneExpressionColormapChange(event2) {
|
192110
192197
|
setGeneExpressionColormap(event2.target.value);
|
192111
192198
|
}
|
@@ -192116,9 +192203,10 @@ function HeatmapOptions(props2) {
|
|
192116
192203
|
setGeneExpressionColormapRange(value2);
|
192117
192204
|
}
|
192118
192205
|
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
|
-
|
192206
|
+
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: {
|
192207
|
+
"aria-label": "Select gene expression colormap",
|
192208
|
+
id: `heatmap-gene-expression-colormap-${heatmapOptionsId}`
|
192209
|
+
}, 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
192210
|
className: classes.checkbox,
|
192123
192211
|
/**
|
192124
192212
|
* We have to use "checked" here, not "value".
|
@@ -192127,9 +192215,13 @@ function HeatmapOptions(props2) {
|
|
192127
192215
|
*/
|
192128
192216
|
checked: tooltipsVisible,
|
192129
192217
|
onChange: handleTooltipsVisibilityChange,
|
192130
|
-
name: "gene-expression-colormap-
|
192131
|
-
color: "default"
|
192132
|
-
|
192218
|
+
name: "heatmap-gene-expression-colormap-tooltip-visibility",
|
192219
|
+
color: "default",
|
192220
|
+
inputProps: {
|
192221
|
+
"aria-label": "Show or hide tooltips",
|
192222
|
+
id: `heatmap-gene-expression-colormap-tooltip-visibility-${heatmapOptionsId}`
|
192223
|
+
}
|
192224
|
+
}) })] }), 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
192225
|
}
|
192134
192226
|
function HeatmapSubscriber(props2) {
|
192135
192227
|
const { uuid, coordinationScopes, removeGridComponent, theme, transpose: transpose2, observationsLabelOverride, variablesLabelOverride, title: title2 = "Heatmap" } = props2;
|
@@ -192138,9 +192230,9 @@ function HeatmapSubscriber(props2) {
|
|
192138
192230
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
192139
192231
|
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
192232
|
const observationsLabel = observationsLabelOverride || obsType;
|
192141
|
-
const observationsPluralLabel =
|
192233
|
+
const observationsPluralLabel = pluralize(observationsLabel);
|
192142
192234
|
const variablesLabel = variablesLabelOverride || featureType;
|
192143
|
-
const variablesPluralLabel =
|
192235
|
+
const variablesPluralLabel = pluralize(variablesLabel);
|
192144
192236
|
const observationsTitle = capitalize$2(observationsPluralLabel);
|
192145
192237
|
const variablesTitle = capitalize$2(variablesPluralLabel);
|
192146
192238
|
const [isRendering, setIsRendering] = useState(false);
|
@@ -192207,8 +192299,8 @@ function HeatmapSubscriber(props2) {
|
|
192207
192299
|
`${capitalize$2(observationsLabel)} Set`
|
192208
192300
|
], [observationsLabel]);
|
192209
192301
|
const selectedCount = cellColors.size;
|
192210
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${
|
192211
|
-
with ${commaNumber(selectedCount)} ${
|
192302
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)} × ${commaNumber(genesCount)} ${pluralize(variablesLabel, genesCount)},
|
192303
|
+
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
192304
|
setZoomX(zoom2);
|
192213
192305
|
setZoomY(zoom2);
|
192214
192306
|
setTargetX(target2[0]);
|
@@ -196592,6 +196684,7 @@ function FeatureList(props2) {
|
|
196592
196684
|
}
|
196593
196685
|
function FeatureListOptions(props2) {
|
196594
196686
|
const { children: children2, featureListSort, setFeatureListSort, featureListSortKey, setFeatureListSortKey, showFeatureTable, setShowFeatureTable, hasFeatureLabels, primaryColumnName } = props2;
|
196687
|
+
const featureListId = useId();
|
196595
196688
|
function handleFeatureListSortChange(event2) {
|
196596
196689
|
setFeatureListSort(event2.target.value);
|
196597
196690
|
}
|
@@ -196602,11 +196695,15 @@ function FeatureListOptions(props2) {
|
|
196602
196695
|
setShowFeatureTable(event2.target.checked);
|
196603
196696
|
}
|
196604
196697
|
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
|
-
|
196698
|
+
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: {
|
196699
|
+
id: `feature-list-sort-option-${featureListId}`
|
196700
|
+
}, 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: {
|
196701
|
+
"aria-label": "Select the feature list sort key",
|
196702
|
+
id: `feature-list-sort-key-${featureListId}`
|
196703
|
+
}, 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: {
|
196704
|
+
"aria-label": "Show or hide alternative feature ids",
|
196705
|
+
id: `feature-list-show-alternative-ids-${featureListId}`
|
196706
|
+
} }) })] })] }) : null] });
|
196610
196707
|
}
|
196611
196708
|
function FeatureListSubscriber(props2) {
|
196612
196709
|
const { coordinationScopes, removeGridComponent, variablesLabelOverride, theme, title: titleOverride, enableMultiSelect = false, showTable = false, sort: sort2 = "alphabetical", sortKey: sortKey2 = null } = props2;
|
@@ -196638,7 +196735,7 @@ function FeatureListSubscriber(props2) {
|
|
196638
196735
|
const primaryColumnName = `${capitalize$2(featureType)} ID`;
|
196639
196736
|
return jsxRuntimeExports.jsx(TitleInfo, {
|
196640
196737
|
title: title2,
|
196641
|
-
info: `${commaNumber(numGenes)} ${
|
196738
|
+
info: `${commaNumber(numGenes)} ${pluralize(variablesLabel, numGenes)}`,
|
196642
196739
|
theme,
|
196643
196740
|
// Virtual scroll is used but this allows for the same styling as a scroll component
|
196644
196741
|
// even though this no longer uses the TitleInfo component's
|
@@ -196659,6 +196756,16 @@ const useSpanStyles = makeStyles(() => ({
|
|
196659
196756
|
paddingRight: "2px"
|
196660
196757
|
}
|
196661
196758
|
}));
|
196759
|
+
const useChannelSliderStyles = makeStyles((theme) => ({
|
196760
|
+
valueLabel: {
|
196761
|
+
marginTop: "7px",
|
196762
|
+
"& span": {
|
196763
|
+
color: theme.palette.secondaryForeground,
|
196764
|
+
backgroundColor: theme.palette.secondaryBackgroundDim
|
196765
|
+
// Change color here
|
196766
|
+
}
|
196767
|
+
}
|
196768
|
+
}));
|
196662
196769
|
function MuiSpan(props2) {
|
196663
196770
|
const { children: children2 } = props2;
|
196664
196771
|
const classes = useSpanStyles();
|
@@ -196746,7 +196853,7 @@ const useStyles$6 = makeStyles((theme) => ({
|
|
196746
196853
|
}));
|
196747
196854
|
const ColorPalette = ({ handleChange }) => {
|
196748
196855
|
const classes = useStyles$6();
|
196749
|
-
return jsxRuntimeExports.jsx("div", { className: classes.paletteContainer, "aria-label": "
|
196856
|
+
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
196857
|
};
|
196751
196858
|
const useStyles$5 = makeStyles(() => ({
|
196752
196859
|
menuButton: {
|
@@ -196770,7 +196877,7 @@ function ChannelOptions({ handlePropertyChange, handleChannelRemove, handleIQRUp
|
|
196770
196877
|
setOpen(false);
|
196771
196878
|
handleChannelRemove();
|
196772
196879
|
};
|
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 }) })] });
|
196880
|
+
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
196881
|
}
|
196775
196882
|
function getDomains() {
|
196776
196883
|
const domains = {};
|
@@ -196872,10 +196979,10 @@ function abbreviateNumber$1(value2) {
|
|
196872
196979
|
}
|
196873
196980
|
function ChannelSelectionDropdown({ handleChange, disabled, channelOptions, selectionIndex }) {
|
196874
196981
|
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)) });
|
196982
|
+
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
196983
|
}
|
196877
196984
|
function ChannelVisibilityCheckbox({ color: color2, checked, toggle: toggle2, disabled }) {
|
196878
|
-
return jsxRuntimeExports.jsx(Checkbox$1, { onChange: toggle2, checked, disabled, style: { color: color2, "&$checked": { color: color2 } } });
|
196985
|
+
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
196986
|
}
|
196880
196987
|
function abbreviateNumber(value2) {
|
196881
196988
|
const maxLength = 5;
|
@@ -196904,8 +197011,12 @@ function ChannelSlider({ color: color2, slider = [0, 0], handleChange, domain: d
|
|
196904
197011
|
sliderCopy[1] = max2;
|
196905
197012
|
}
|
196906
197013
|
const handleChangeDebounced = useCallback(debounce$5(handleChange, 3, { trailing: true }), [handleChange]);
|
197014
|
+
const classes = useChannelSliderStyles();
|
196907
197015
|
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: () =>
|
197016
|
+
return jsxRuntimeExports.jsx(Slider$1, { classes: { valueLabel: classes.valueLabel }, value: slider, valueLabelFormat: abbreviateNumber, onChange: (e3, v) => handleChangeDebounced(v), valueLabelDisplay: "auto", getAriaLabel: (index2) => {
|
197017
|
+
const labelPrefix = index2 === 0 ? "Low value slider" : "High value slider";
|
197018
|
+
return `${labelPrefix} for ${color2} colormap channel`;
|
197019
|
+
}, getAriaValueText: () => `Current colormap values: ${color2}-${slider}`, min: min2, max: max2, step: step2, orientation: "horizontal", style: { color: color2, marginTop: "7px" }, disabled });
|
196909
197020
|
}
|
196910
197021
|
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
197022
|
const { dtype } = getSourceFromLoader(loader2);
|
@@ -196979,7 +197090,7 @@ function RasterChannelController({ visibility = false, slider, color: color2, ch
|
|
196979
197090
|
}
|
196980
197091
|
function BitmaskChannelController({ visibility = false, dimName, channelOptions, handlePropertyChange, handleChannelRemove, selectionIndex, disableOptions = false }) {
|
196981
197092
|
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, {}) }) })] });
|
197093
|
+
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
197094
|
}
|
196984
197095
|
function VectorLayerController(props2) {
|
196985
197096
|
const { label: label2, layer, layerType, handleLayerChange } = props2;
|
@@ -197000,7 +197111,10 @@ function VectorLayerController(props2) {
|
|
197000
197111
|
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
197112
|
padding: "15px 8px 0px 8px",
|
197002
197113
|
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"
|
197114
|
+
}, 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) => {
|
197115
|
+
const labelPrefix = index2 === 0 ? "Low value slider" : "High value slider";
|
197116
|
+
return `${labelPrefix} for ${label2} layer controller`;
|
197117
|
+
} }) })] })] }) });
|
197004
197118
|
}
|
197005
197119
|
const DOMAIN_OPTIONS = ["Full", "Min/Max"];
|
197006
197120
|
function VolumeDropdown({ loader: loaderWithMeta, handleMultiPropertyChange, resolution: currResolution, disable3d, setRasterLayerCallback, setAreAllChannelsLoading, setViewState, spatialHeight, spatialWidth, channels: channels2, use3d, modelMatrix: modelMatrix2 }) {
|
@@ -197068,7 +197182,7 @@ function VolumeDropdown({ loader: loaderWithMeta, handleMultiPropertyChange, res
|
|
197068
197182
|
};
|
197069
197183
|
const { labels: labels2, shape: shape2 } = Array.isArray(loader2) ? loader2[0] : loader2;
|
197070
197184
|
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) => {
|
197185
|
+
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
197186
|
if (loader2) {
|
197073
197187
|
if (canLoadResolution(loader2, resolution)) {
|
197074
197188
|
const { height: height2, width: width2, depthDownsampled, totalBytes } = getStatsForResolution(loader2, resolution);
|
@@ -197080,25 +197194,26 @@ function VolumeDropdown({ loader: loaderWithMeta, handleMultiPropertyChange, res
|
|
197080
197194
|
}
|
197081
197195
|
function ColormapSelect({ value: value2, inputId, handleChange }) {
|
197082
197196
|
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))] });
|
197197
|
+
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
197198
|
}
|
197085
|
-
function TransparentColorCheckbox({ value: value2, handleChange }) {
|
197199
|
+
function TransparentColorCheckbox({ value: value2, inputId, handleChange }) {
|
197086
197200
|
return jsxRuntimeExports.jsx(Checkbox$1, { style: { float: "left", padding: 0 }, color: "default", onChange: () => {
|
197087
197201
|
if (value2) {
|
197088
197202
|
handleChange(null);
|
197089
197203
|
} else {
|
197090
197204
|
handleChange([0, 0, 0]);
|
197091
197205
|
}
|
197092
|
-
}, checked: Boolean(value2) });
|
197206
|
+
}, checked: Boolean(value2), id: inputId, inputProps: { "aria-label": "Enable or disable color transparency" } });
|
197093
197207
|
}
|
197094
|
-
function OpacitySlider({ value: value2, handleChange }) {
|
197095
|
-
|
197208
|
+
function OpacitySlider({ value: value2, inputId, handleChange }) {
|
197209
|
+
const classes = useChannelSliderStyles();
|
197210
|
+
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
197211
|
}
|
197097
197212
|
function SliderDomainSelector({ value: value2, inputId, handleChange }) {
|
197098
197213
|
const classes = useSelectStyles();
|
197099
|
-
return jsxRuntimeExports.jsx(Select$1, { native: true, onChange: (e3) => handleChange(e3.target.value), value: value2, inputProps: { name: "domain-selector",
|
197214
|
+
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
197215
|
}
|
197101
|
-
function GlobalSelectionSlider({ field: field2, value: value2, handleChange, possibleValues }) {
|
197216
|
+
function GlobalSelectionSlider({ field: field2, value: value2, inputId, handleChange, possibleValues }) {
|
197102
197217
|
const classes = useSelectionSliderStyles();
|
197103
197218
|
return jsxRuntimeExports.jsx(Slider$1, {
|
197104
197219
|
classes: { root: classes.selectionSliderRoot, markActive: classes.markActive },
|
@@ -197112,7 +197227,8 @@ function GlobalSelectionSlider({ field: field2, value: value2, handleChange, pos
|
|
197112
197227
|
handleChange({ selection: { [field2]: newValue }, event: event2 });
|
197113
197228
|
},
|
197114
197229
|
valueLabelDisplay: "auto",
|
197115
|
-
|
197230
|
+
"aria-label": `${field2} slider`,
|
197231
|
+
id: inputId,
|
197116
197232
|
marks: possibleValues.map((val) => ({ value: val })),
|
197117
197233
|
min: Number(possibleValues[0]),
|
197118
197234
|
max: Number(possibleValues.slice(-1)),
|
@@ -197130,9 +197246,14 @@ function LayerOptions({ colormap, opacity: opacity2, handleColormapChange, handl
|
|
197130
197246
|
const hasViewableResolutions = Boolean(Array.from({
|
197131
197247
|
length: loader2.data.length
|
197132
197248
|
}).filter((_, res) => canLoadResolution(loader2.data, res)).length);
|
197133
|
-
|
197249
|
+
const globalSelectionSliderId = useId();
|
197250
|
+
const colormapSelectId = useId();
|
197251
|
+
const domainSelectorId = useId();
|
197252
|
+
const opacitySliderId = useId();
|
197253
|
+
const zeroTransparentId = useId();
|
197254
|
+
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
197255
|
handleDomainChange(value2);
|
197135
|
-
} }) }) })] }) : null, !use3d && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Opacity", inputId:
|
197256
|
+
} }) }) })] }) : 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
197257
|
}
|
197137
197258
|
const useSlicerStyles = makeStyles((theme) => createStyles({
|
197138
197259
|
enabled: {},
|
@@ -197172,8 +197293,8 @@ const Slicer = ({ xSlice, ySlice, zSlice, handleSlicerSetting, loader: loader2,
|
|
197172
197293
|
]
|
197173
197294
|
];
|
197174
197295
|
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] });
|
197296
|
+
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));
|
197297
|
+
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
197298
|
};
|
197178
197299
|
const renderingOptions = Object.values(RENDERING_MODES);
|
197179
197300
|
function RenderingModeSelect({ handleRenderingModeChange, renderingMode, use3d }) {
|
@@ -197181,7 +197302,8 @@ function RenderingModeSelect({ handleRenderingModeChange, renderingMode, use3d }
|
|
197181
197302
|
const options = !use3d ? [...renderingOptions, ""] : renderingOptions;
|
197182
197303
|
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
197304
|
name: "rendering-mode",
|
197184
|
-
id: "rendering-mode-select"
|
197305
|
+
id: "rendering-mode-select",
|
197306
|
+
"aria-label": "Select rendering mode option"
|
197185
197307
|
}, disabled: !use3d, classes: { root: classes.selectRoot }, children: options.map((name2) => jsxRuntimeExports.jsx("option", { value: name2, children: name2 }, name2)) })] });
|
197186
197308
|
}
|
197187
197309
|
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 +197353,7 @@ function LayerController(props2) {
|
|
197231
197353
|
channelRef.current = channels2;
|
197232
197354
|
return void 0;
|
197233
197355
|
}, [channels2]);
|
197356
|
+
const layerControlsId = useId();
|
197234
197357
|
const firstSelection = ((_a2 = channels2[0]) == null ? void 0 : _a2.selection) || {};
|
197235
197358
|
const { data: data2, channels: channelOptions } = loader2;
|
197236
197359
|
const [tab, setTab] = useState(0);
|
@@ -197458,12 +197581,12 @@ function LayerController(props2) {
|
|
197458
197581
|
return jsxRuntimeExports.jsxs(Accordion$1, { className: controllerSectionClasses.layerControllerRoot, onChange: (e3, expanded) => {
|
197459
197582
|
var _a3, _b, _c;
|
197460
197583
|
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: {
|
197584
|
+
}, TransitionProps: { enter: false }, expanded: !disabled && isExpanded, id: `layer-controls-accordion-${layerControlsId}`, children: [jsxRuntimeExports.jsx(AccordionSummary$1, { classes: {
|
197462
197585
|
root: accordionClasses.accordionSummaryRoot,
|
197463
197586
|
content: accordionClasses.content,
|
197464
197587
|
expanded: accordionClasses.expanded,
|
197465
197588
|
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) => {
|
197589
|
+
}, 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
197590
|
if (!disabled) {
|
197468
197591
|
e3.stopPropagation();
|
197469
197592
|
const nextVisible = typeof visible === "boolean" ? !visible : false;
|
@@ -197474,12 +197597,12 @@ function LayerController(props2) {
|
|
197474
197597
|
marginBottom: 2,
|
197475
197598
|
padding: 0,
|
197476
197599
|
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",
|
197600
|
+
}, 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
197601
|
fontSize: ".75rem",
|
197479
197602
|
bottom: 12,
|
197480
197603
|
width: "50%",
|
197481
197604
|
minWidth: "50%"
|
197482
|
-
}, disableRipple: true }), jsxRuntimeExports.jsx(Tab$1, { label: "Volume", style: {
|
197605
|
+
}, disableRipple: true }), jsxRuntimeExports.jsx(Tab$1, { label: "Volume", "aria-label": "Volume tab", style: {
|
197483
197606
|
fontSize: ".75rem",
|
197484
197607
|
bottom: 12,
|
197485
197608
|
width: "50%",
|
@@ -197505,7 +197628,7 @@ function ImageAddButton({ imageOptions, handleImageAdd }) {
|
|
197505
197628
|
};
|
197506
197629
|
if (!imageOptions)
|
197507
197630
|
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)) });
|
197631
|
+
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
197632
|
}
|
197510
197633
|
const LayerControllerMemoized = React__default.memo(forwardRef((props2, ref2) => {
|
197511
197634
|
const {
|
@@ -198297,7 +198420,7 @@ const HIGLASS_BUNDLE_VERSION = "1.11.13";
|
|
198297
198420
|
const HIGLASS_CSS_URL = `https://unpkg.com/${HIGLASS_PKG_NAME}@${HIGLASS_BUNDLE_VERSION}/dist/hglib.css`;
|
198298
198421
|
register({ dataFetcher: ZarrMultivecDataFetcher, config: ZarrMultivecDataFetcher.config }, { pluginType: "dataFetcher" });
|
198299
198422
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
198300
|
-
const { HiGlassComponent } = await import("./hglib-
|
198423
|
+
const { HiGlassComponent } = await import("./hglib-88a02387.js").then((n3) => n3.h);
|
198301
198424
|
return { default: HiGlassComponent };
|
198302
198425
|
});
|
198303
198426
|
const HG_SIZE = 800;
|
@@ -198585,6 +198708,7 @@ function GenomicProfilesSubscriber(props2) {
|
|
198585
198708
|
}
|
198586
198709
|
function CellSetExpressionPlotOptions(props2) {
|
198587
198710
|
const { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions } = props2;
|
198711
|
+
const cellSetExpressionPlotOptionsId = useId();
|
198588
198712
|
const classes = usePlotOptionsStyles();
|
198589
198713
|
const handleTransformChange = (event2) => {
|
198590
198714
|
setFeatureValueTransform(event2.target.value === "" ? null : event2.target.value);
|
@@ -198600,11 +198724,11 @@ function CellSetExpressionPlotOptions(props2) {
|
|
198600
198724
|
}
|
198601
198725
|
}
|
198602
198726
|
};
|
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)) }
|
198727
|
+
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: {
|
198728
|
+
id: `cellset-expression-transform-select-${cellSetExpressionPlotOptionsId}`
|
198729
|
+
}, 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
198730
|
shrink: true
|
198607
|
-
} }) })] }
|
198731
|
+
}, id: `cellset-expression-transform-coeff-${cellSetExpressionPlotOptionsId}` }) })] })] });
|
198608
198732
|
}
|
198609
198733
|
function accessor(fn, fields, name2) {
|
198610
198734
|
fn.fields = fields || [];
|
@@ -199081,10 +199205,10 @@ function flush(range2, value2, threshold2, left2, right2, center2) {
|
|
199081
199205
|
const r3 = Math.abs(b2 - value2);
|
199082
199206
|
return l2 < r3 && l2 <= t4 ? left2 : r3 <= t4 ? right2 : center2;
|
199083
199207
|
}
|
199084
|
-
function inherits(
|
199085
|
-
const proto =
|
199208
|
+
function inherits(child, parent, members) {
|
199209
|
+
const proto = child.prototype = Object.create(parent.prototype);
|
199086
199210
|
Object.defineProperty(proto, "constructor", {
|
199087
|
-
value:
|
199211
|
+
value: child,
|
199088
199212
|
writable: true,
|
199089
199213
|
enumerable: true,
|
199090
199214
|
configurable: true
|
@@ -199231,8 +199355,8 @@ function toSet(_) {
|
|
199231
199355
|
s2[_[i2]] = true;
|
199232
199356
|
return s2;
|
199233
199357
|
}
|
199234
|
-
function truncate$1(str, length2, align2,
|
199235
|
-
const e3 =
|
199358
|
+
function truncate$1(str, length2, align2, ellipsis) {
|
199359
|
+
const e3 = ellipsis != null ? ellipsis : "…", s2 = str + "", n3 = s2.length, l2 = Math.max(0, length2 - e3.length);
|
199236
199360
|
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
199361
|
}
|
199238
199362
|
function visitArray(array2, filter2, visitor) {
|
@@ -208248,13 +208372,13 @@ function intersect$3(x02, y02, x12, y12, x2, y2, x3, y3) {
|
|
208248
208372
|
return [x02 + t4 * x10, y02 + t4 * y10];
|
208249
208373
|
}
|
208250
208374
|
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),
|
208375
|
+
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
208376
|
if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1)
|
208253
208377
|
cx0 = cx1, cy0 = cy1;
|
208254
208378
|
return {
|
208255
208379
|
cx: cx0,
|
208256
208380
|
cy: cy0,
|
208257
|
-
x01: -
|
208381
|
+
x01: -ox,
|
208258
208382
|
y01: -oy,
|
208259
208383
|
x11: cx0 * (r1 / r3 - 1),
|
208260
208384
|
y11: cy0 * (r1 / r3 - 1)
|
@@ -208553,14 +208677,14 @@ function Symbol$1(type2, size2) {
|
|
208553
208677
|
}
|
208554
208678
|
function noop$3() {
|
208555
208679
|
}
|
208556
|
-
function point$7(
|
208557
|
-
|
208558
|
-
(2 *
|
208559
|
-
(2 *
|
208560
|
-
(
|
208561
|
-
(
|
208562
|
-
(
|
208563
|
-
(
|
208680
|
+
function point$7(that, x2, y2) {
|
208681
|
+
that._context.bezierCurveTo(
|
208682
|
+
(2 * that._x0 + that._x1) / 3,
|
208683
|
+
(2 * that._y0 + that._y1) / 3,
|
208684
|
+
(that._x0 + 2 * that._x1) / 3,
|
208685
|
+
(that._y0 + 2 * that._y1) / 3,
|
208686
|
+
(that._x0 + 4 * that._x1 + x2) / 6,
|
208687
|
+
(that._y0 + 4 * that._y1 + y2) / 6
|
208564
208688
|
);
|
208565
208689
|
}
|
208566
208690
|
function Basis(context2) {
|
@@ -208756,14 +208880,14 @@ const curveBundle = function custom(beta) {
|
|
208756
208880
|
};
|
208757
208881
|
return bundle2;
|
208758
208882
|
}(0.85);
|
208759
|
-
function point$6(
|
208760
|
-
|
208761
|
-
|
208762
|
-
|
208763
|
-
|
208764
|
-
|
208765
|
-
|
208766
|
-
|
208883
|
+
function point$6(that, x2, y2) {
|
208884
|
+
that._context.bezierCurveTo(
|
208885
|
+
that._x1 + that._k * (that._x2 - that._x0),
|
208886
|
+
that._y1 + that._k * (that._y2 - that._y0),
|
208887
|
+
that._x2 + that._k * (that._x1 - x2),
|
208888
|
+
that._y2 + that._k * (that._y1 - y2),
|
208889
|
+
that._x2,
|
208890
|
+
that._y2
|
208767
208891
|
);
|
208768
208892
|
}
|
208769
208893
|
function Cardinal(context2, tension) {
|
@@ -208939,19 +209063,19 @@ const curveCardinalOpen = function custom4(tension) {
|
|
208939
209063
|
};
|
208940
209064
|
return cardinal;
|
208941
209065
|
}(0);
|
208942
|
-
function point$5(
|
208943
|
-
var x12 =
|
208944
|
-
if (
|
208945
|
-
var a2 = 2 *
|
208946
|
-
x12 = (x12 * a2 -
|
208947
|
-
y12 = (y12 * a2 -
|
209066
|
+
function point$5(that, x2, y2) {
|
209067
|
+
var x12 = that._x1, y12 = that._y1, x22 = that._x2, y22 = that._y2;
|
209068
|
+
if (that._l01_a > epsilon$4) {
|
209069
|
+
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);
|
209070
|
+
x12 = (x12 * a2 - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n3;
|
209071
|
+
y12 = (y12 * a2 - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n3;
|
208948
209072
|
}
|
208949
|
-
if (
|
208950
|
-
var b2 = 2 *
|
208951
|
-
x22 = (x22 * b2 +
|
208952
|
-
y22 = (y22 * b2 +
|
209073
|
+
if (that._l23_a > epsilon$4) {
|
209074
|
+
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);
|
209075
|
+
x22 = (x22 * b2 + that._x1 * that._l23_2a - x2 * that._l12_2a) / m2;
|
209076
|
+
y22 = (y22 * b2 + that._y1 * that._l23_2a - y2 * that._l12_2a) / m2;
|
208953
209077
|
}
|
208954
|
-
|
209078
|
+
that._context.bezierCurveTo(x12, y12, x22, y22, that._x2, that._y2);
|
208955
209079
|
}
|
208956
209080
|
function CatmullRom(context2, alpha2) {
|
208957
209081
|
this._context = context2;
|
@@ -209170,17 +209294,17 @@ function curveLinearClosed(context2) {
|
|
209170
209294
|
function sign$1(x2) {
|
209171
209295
|
return x2 < 0 ? -1 : 1;
|
209172
209296
|
}
|
209173
|
-
function slope3(
|
209174
|
-
var h0 =
|
209297
|
+
function slope3(that, x2, y2) {
|
209298
|
+
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
209299
|
return (sign$1(s0) + sign$1(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;
|
209176
209300
|
}
|
209177
|
-
function slope2(
|
209178
|
-
var h2 =
|
209179
|
-
return h2 ? (3 * (
|
209301
|
+
function slope2(that, t4) {
|
209302
|
+
var h2 = that._x1 - that._x0;
|
209303
|
+
return h2 ? (3 * (that._y1 - that._y0) / h2 - t4) / 2 : t4;
|
209180
209304
|
}
|
209181
|
-
function point$4(
|
209182
|
-
var x02 =
|
209183
|
-
|
209305
|
+
function point$4(that, t02, t12) {
|
209306
|
+
var x02 = that._x0, y02 = that._y0, x12 = that._x1, y12 = that._y1, dx = (x12 - x02) / 3;
|
209307
|
+
that._context.bezierCurveTo(x02 + dx, y02 + dx * t02, x12 - dx, y12 - dx * t12, x12, y12);
|
209184
209308
|
}
|
209185
209309
|
function MonotoneX(context2) {
|
209186
209310
|
this._context = context2;
|
@@ -211836,7 +211960,7 @@ const HalfSqrt3 = Math.sqrt(3) / 2;
|
|
211836
211960
|
var segmentCache = {};
|
211837
211961
|
var bezierCache = {};
|
211838
211962
|
var join$1 = [].join;
|
211839
|
-
function segments(x2, y2, rx, ry, large, sweep, rotateX2,
|
211963
|
+
function segments(x2, y2, rx, ry, large, sweep, rotateX2, ox, oy) {
|
211840
211964
|
const key2 = join$1.call(arguments);
|
211841
211965
|
if (segmentCache[key2]) {
|
211842
211966
|
return segmentCache[key2];
|
@@ -211846,8 +211970,8 @@ function segments(x2, y2, rx, ry, large, sweep, rotateX2, ox2, oy) {
|
|
211846
211970
|
const cos_th = Math.cos(th);
|
211847
211971
|
rx = Math.abs(rx);
|
211848
211972
|
ry = Math.abs(ry);
|
211849
|
-
const px2 = cos_th * (
|
211850
|
-
const py2 = cos_th * (oy - y2) * 0.5 - sin_th * (
|
211973
|
+
const px2 = cos_th * (ox - x2) * 0.5 + sin_th * (oy - y2) * 0.5;
|
211974
|
+
const py2 = cos_th * (oy - y2) * 0.5 - sin_th * (ox - x2) * 0.5;
|
211851
211975
|
let pl = px2 * px2 / (rx * rx) + py2 * py2 / (ry * ry);
|
211852
211976
|
if (pl > 1) {
|
211853
211977
|
pl = Math.sqrt(pl);
|
@@ -211858,8 +211982,8 @@ function segments(x2, y2, rx, ry, large, sweep, rotateX2, ox2, oy) {
|
|
211858
211982
|
const a01 = sin_th / rx;
|
211859
211983
|
const a10 = -sin_th / ry;
|
211860
211984
|
const a11 = cos_th / ry;
|
211861
|
-
const x02 = a00 *
|
211862
|
-
const y02 = a10 *
|
211985
|
+
const x02 = a00 * ox + a01 * oy;
|
211986
|
+
const y02 = a10 * ox + a11 * oy;
|
211863
211987
|
const x12 = a00 * x2 + a01 * y2;
|
211864
211988
|
const y12 = a10 * x2 + a11 * y2;
|
211865
211989
|
const d = (x12 - x02) * (x12 - x02) + (y12 - y02) * (y12 - y02);
|
@@ -213650,8 +213774,8 @@ function truncate(item, text2) {
|
|
213650
213774
|
var limit = +item.limit, width2 = widthGetter(item);
|
213651
213775
|
if (width2(text2) < limit)
|
213652
213776
|
return text2;
|
213653
|
-
var
|
213654
|
-
limit -= width2(
|
213777
|
+
var ellipsis = item.ellipsis || "…", rtl = item.dir === "rtl", lo = 0, hi = text2.length, mid;
|
213778
|
+
limit -= width2(ellipsis);
|
213655
213779
|
if (rtl) {
|
213656
213780
|
while (lo < hi) {
|
213657
213781
|
mid = lo + hi >>> 1;
|
@@ -213660,7 +213784,7 @@ function truncate(item, text2) {
|
|
213660
213784
|
else
|
213661
213785
|
hi = mid;
|
213662
213786
|
}
|
213663
|
-
return
|
213787
|
+
return ellipsis + text2.slice(lo);
|
213664
213788
|
} else {
|
213665
213789
|
while (lo < hi) {
|
213666
213790
|
mid = 1 + (lo + hi >>> 1);
|
@@ -213669,7 +213793,7 @@ function truncate(item, text2) {
|
|
213669
213793
|
else
|
213670
213794
|
hi = mid - 1;
|
213671
213795
|
}
|
213672
|
-
return text2.slice(0, lo) +
|
213796
|
+
return text2.slice(0, lo) + ellipsis;
|
213673
213797
|
}
|
213674
213798
|
}
|
213675
213799
|
function fontFamily(item, quote) {
|
@@ -214848,8 +214972,8 @@ function _serialize(m2, node) {
|
|
214848
214972
|
}
|
214849
214973
|
if (node.hasChildNodes()) {
|
214850
214974
|
const children2 = node.childNodes;
|
214851
|
-
for (const
|
214852
|
-
|
214975
|
+
for (const child of children2) {
|
214976
|
+
child.nodeType === 3 ? m2.text(child.nodeValue) : _serialize(m2, child);
|
214853
214977
|
}
|
214854
214978
|
}
|
214855
214979
|
return m2.close();
|
@@ -216956,14 +217080,14 @@ inherits(LegendEntries$1, Transform2, {
|
|
216956
217080
|
if (this.value != null && !_.modified()) {
|
216957
217081
|
return pulse2.StopPropagation;
|
216958
217082
|
}
|
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,
|
217083
|
+
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
217084
|
if (items)
|
216961
217085
|
out.rem = items;
|
216962
217086
|
if (type2 === SymbolLegend) {
|
216963
217087
|
if (limit && values3.length > limit) {
|
216964
217088
|
pulse2.dataflow.warn("Symbol legend count exceeds limit, filtering items.");
|
216965
217089
|
items = values3.slice(0, limit - 1);
|
216966
|
-
|
217090
|
+
ellipsis = true;
|
216967
217091
|
} else {
|
216968
217092
|
items = values3;
|
216969
217093
|
}
|
@@ -216982,14 +217106,14 @@ inherits(LegendEntries$1, Transform2, {
|
|
216982
217106
|
offset: offset6,
|
216983
217107
|
size: size2(value2, _)
|
216984
217108
|
}));
|
216985
|
-
if (
|
216986
|
-
|
217109
|
+
if (ellipsis) {
|
217110
|
+
ellipsis = values3[items.length];
|
216987
217111
|
items.push(ingest$1({
|
216988
217112
|
index: items.length,
|
216989
217113
|
label: "…".concat(values3.length - items.length, " entries"),
|
216990
|
-
value:
|
217114
|
+
value: ellipsis,
|
216991
217115
|
offset: offset6,
|
216992
|
-
size: size2(
|
217116
|
+
size: size2(ellipsis, _)
|
216993
217117
|
}));
|
216994
217118
|
}
|
216995
217119
|
} else if (type2 === GradientLegend) {
|
@@ -220086,10 +220210,10 @@ function number$2(_) {
|
|
220086
220210
|
function density2D() {
|
220087
220211
|
var x2 = (d) => d[0], y2 = (d) => d[1], weight = one$2, bandwidth2 = [-1, -1], dx = 960, dy = 500, k = 2;
|
220088
220212
|
function density2(data2, counts) {
|
220089
|
-
const rx = radius(bandwidth2[0], data2, x2) >> k, ry = radius(bandwidth2[1], data2, y2) >> k,
|
220213
|
+
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
220214
|
let values3 = values0;
|
220091
220215
|
data2.forEach((d) => {
|
220092
|
-
const xi =
|
220216
|
+
const xi = ox + (+x2(d) >> k), yi = oy + (+y2(d) >> k);
|
220093
220217
|
if (xi >= 0 && xi < n3 && yi >= 0 && yi < m2) {
|
220094
220218
|
values0[xi + yi * n3] += +weight(d);
|
220095
220219
|
}
|
@@ -220120,9 +220244,9 @@ function density2D() {
|
|
220120
220244
|
scale: 1 << k,
|
220121
220245
|
width: n3,
|
220122
220246
|
height: m2,
|
220123
|
-
x1:
|
220247
|
+
x1: ox,
|
220124
220248
|
y1: oy,
|
220125
|
-
x2:
|
220249
|
+
x2: ox + (dx >> k),
|
220126
220250
|
y2: oy + (dy >> k)
|
220127
220251
|
};
|
220128
220252
|
}
|
@@ -220837,9 +220961,9 @@ function tree_add(d) {
|
|
220837
220961
|
function add$1(tree2, x2, y2, d) {
|
220838
220962
|
if (isNaN(x2) || isNaN(y2))
|
220839
220963
|
return tree2;
|
220840
|
-
var parent, node = tree2._root,
|
220964
|
+
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
220965
|
if (!node)
|
220842
|
-
return tree2._root =
|
220966
|
+
return tree2._root = leaf, tree2;
|
220843
220967
|
while (node.length) {
|
220844
220968
|
if (right2 = x2 >= (xm = (x02 + x12) / 2))
|
220845
220969
|
x02 = xm;
|
@@ -220850,12 +220974,12 @@ function add$1(tree2, x2, y2, d) {
|
|
220850
220974
|
else
|
220851
220975
|
y12 = ym;
|
220852
220976
|
if (parent = node, !(node = node[i2 = bottom2 << 1 | right2]))
|
220853
|
-
return parent[i2] =
|
220977
|
+
return parent[i2] = leaf, tree2;
|
220854
220978
|
}
|
220855
220979
|
xp = +tree2._x.call(null, node.data);
|
220856
220980
|
yp = +tree2._y.call(null, node.data);
|
220857
220981
|
if (x2 === xp && y2 === yp)
|
220858
|
-
return
|
220982
|
+
return leaf.next = node, parent ? parent[i2] = leaf : tree2._root = leaf, tree2;
|
220859
220983
|
do {
|
220860
220984
|
parent = parent ? parent[i2] = new Array(4) : tree2._root = new Array(4);
|
220861
220985
|
if (right2 = x2 >= (xm = (x02 + x12) / 2))
|
@@ -220867,7 +220991,7 @@ function add$1(tree2, x2, y2, d) {
|
|
220867
220991
|
else
|
220868
220992
|
y12 = ym;
|
220869
220993
|
} while ((i2 = bottom2 << 1 | right2) === (j = (yp >= ym) << 1 | xp >= xm));
|
220870
|
-
return parent[j] = node, parent[i2] =
|
220994
|
+
return parent[j] = node, parent[i2] = leaf, tree2;
|
220871
220995
|
}
|
220872
220996
|
function addAll(data2) {
|
220873
220997
|
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 +221172,20 @@ function tree_size() {
|
|
221048
221172
|
return size2;
|
221049
221173
|
}
|
221050
221174
|
function tree_visit(callback) {
|
221051
|
-
var quads = [], q, node = this._root,
|
221175
|
+
var quads = [], q, node = this._root, child, x02, y02, x12, y12;
|
221052
221176
|
if (node)
|
221053
221177
|
quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));
|
221054
221178
|
while (q = quads.pop()) {
|
221055
221179
|
if (!callback(node = q.node, x02 = q.x0, y02 = q.y0, x12 = q.x1, y12 = q.y1) && node.length) {
|
221056
221180
|
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(
|
221181
|
+
if (child = node[3])
|
221182
|
+
quads.push(new Quad(child, xm, ym, x12, y12));
|
221183
|
+
if (child = node[2])
|
221184
|
+
quads.push(new Quad(child, x02, ym, xm, y12));
|
221185
|
+
if (child = node[1])
|
221186
|
+
quads.push(new Quad(child, xm, y02, x12, ym));
|
221187
|
+
if (child = node[0])
|
221188
|
+
quads.push(new Quad(child, x02, y02, xm, ym));
|
221065
221189
|
}
|
221066
221190
|
}
|
221067
221191
|
return this;
|
@@ -221073,15 +221197,15 @@ function tree_visitAfter(callback) {
|
|
221073
221197
|
while (q = quads.pop()) {
|
221074
221198
|
var node = q.node;
|
221075
221199
|
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(
|
221200
|
+
var child, x02 = q.x0, y02 = q.y0, x12 = q.x1, y12 = q.y1, xm = (x02 + x12) / 2, ym = (y02 + y12) / 2;
|
221201
|
+
if (child = node[0])
|
221202
|
+
quads.push(new Quad(child, x02, y02, xm, ym));
|
221203
|
+
if (child = node[1])
|
221204
|
+
quads.push(new Quad(child, xm, y02, x12, ym));
|
221205
|
+
if (child = node[2])
|
221206
|
+
quads.push(new Quad(child, x02, ym, xm, y12));
|
221207
|
+
if (child = node[3])
|
221208
|
+
quads.push(new Quad(child, xm, ym, x12, y12));
|
221085
221209
|
}
|
221086
221210
|
next3.push(q);
|
221087
221211
|
}
|
@@ -221115,15 +221239,15 @@ function Quadtree(x2, y2, x02, y02, x12, y12) {
|
|
221115
221239
|
this._y1 = y12;
|
221116
221240
|
this._root = void 0;
|
221117
221241
|
}
|
221118
|
-
function leaf_copy(
|
221119
|
-
var copy2 = { data:
|
221120
|
-
while (
|
221121
|
-
next3 = next3.next = { data:
|
221242
|
+
function leaf_copy(leaf) {
|
221243
|
+
var copy2 = { data: leaf.data }, next3 = copy2;
|
221244
|
+
while (leaf = leaf.next)
|
221245
|
+
next3 = next3.next = { data: leaf.data };
|
221122
221246
|
return copy2;
|
221123
221247
|
}
|
221124
221248
|
var treeProto = quadtree.prototype = Quadtree.prototype;
|
221125
221249
|
treeProto.copy = function() {
|
221126
|
-
var copy2 = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes,
|
221250
|
+
var copy2 = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes, child;
|
221127
221251
|
if (!node)
|
221128
221252
|
return copy2;
|
221129
221253
|
if (!node.length)
|
@@ -221131,11 +221255,11 @@ treeProto.copy = function() {
|
|
221131
221255
|
nodes = [{ source: node, target: copy2._root = new Array(4) }];
|
221132
221256
|
while (node = nodes.pop()) {
|
221133
221257
|
for (var i2 = 0; i2 < 4; ++i2) {
|
221134
|
-
if (
|
221135
|
-
if (
|
221136
|
-
nodes.push({ source:
|
221258
|
+
if (child = node.source[i2]) {
|
221259
|
+
if (child.length)
|
221260
|
+
nodes.push({ source: child, target: node.target[i2] = new Array(4) });
|
221137
221261
|
else
|
221138
|
-
node.target[i2] = leaf_copy(
|
221262
|
+
node.target[i2] = leaf_copy(child);
|
221139
221263
|
}
|
221140
221264
|
}
|
221141
221265
|
}
|
@@ -221377,20 +221501,20 @@ Dispatch.prototype = dispatch.prototype = {
|
|
221377
221501
|
copy2[t4] = _[t4].slice();
|
221378
221502
|
return new Dispatch(copy2);
|
221379
221503
|
},
|
221380
|
-
call: function(type2,
|
221504
|
+
call: function(type2, that) {
|
221381
221505
|
if ((n3 = arguments.length - 2) > 0)
|
221382
221506
|
for (var args = new Array(n3), i2 = 0, n3, t4; i2 < n3; ++i2)
|
221383
221507
|
args[i2] = arguments[i2 + 2];
|
221384
221508
|
if (!this._.hasOwnProperty(type2))
|
221385
221509
|
throw new Error("unknown type: " + type2);
|
221386
221510
|
for (t4 = this._[type2], i2 = 0, n3 = t4.length; i2 < n3; ++i2)
|
221387
|
-
t4[i2].value.apply(
|
221511
|
+
t4[i2].value.apply(that, args);
|
221388
221512
|
},
|
221389
|
-
apply: function(type2,
|
221513
|
+
apply: function(type2, that, args) {
|
221390
221514
|
if (!this._.hasOwnProperty(type2))
|
221391
221515
|
throw new Error("unknown type: " + type2);
|
221392
221516
|
for (var t4 = this._[type2], i2 = 0, n3 = t4.length; i2 < n3; ++i2)
|
221393
|
-
t4[i2].value.apply(
|
221517
|
+
t4[i2].value.apply(that, args);
|
221394
221518
|
}
|
221395
221519
|
};
|
221396
221520
|
function get$1(type2, name2) {
|
@@ -222141,17 +222265,17 @@ function count(node) {
|
|
222141
222265
|
function node_count() {
|
222142
222266
|
return this.eachAfter(count);
|
222143
222267
|
}
|
222144
|
-
function node_each(callback,
|
222268
|
+
function node_each(callback, that) {
|
222145
222269
|
let index2 = -1;
|
222146
222270
|
for (const node of this) {
|
222147
|
-
callback.call(
|
222271
|
+
callback.call(that, node, ++index2, this);
|
222148
222272
|
}
|
222149
222273
|
return this;
|
222150
222274
|
}
|
222151
|
-
function node_eachBefore(callback,
|
222275
|
+
function node_eachBefore(callback, that) {
|
222152
222276
|
var node = this, nodes = [node], children2, i2, index2 = -1;
|
222153
222277
|
while (node = nodes.pop()) {
|
222154
|
-
callback.call(
|
222278
|
+
callback.call(that, node, ++index2, this);
|
222155
222279
|
if (children2 = node.children) {
|
222156
222280
|
for (i2 = children2.length - 1; i2 >= 0; --i2) {
|
222157
222281
|
nodes.push(children2[i2]);
|
@@ -222160,7 +222284,7 @@ function node_eachBefore(callback, that2) {
|
|
222160
222284
|
}
|
222161
222285
|
return this;
|
222162
222286
|
}
|
222163
|
-
function node_eachAfter(callback,
|
222287
|
+
function node_eachAfter(callback, that) {
|
222164
222288
|
var node = this, nodes = [node], next3 = [], children2, i2, n3, index2 = -1;
|
222165
222289
|
while (node = nodes.pop()) {
|
222166
222290
|
next3.push(node);
|
@@ -222171,14 +222295,14 @@ function node_eachAfter(callback, that2) {
|
|
222171
222295
|
}
|
222172
222296
|
}
|
222173
222297
|
while (node = next3.pop()) {
|
222174
|
-
callback.call(
|
222298
|
+
callback.call(that, node, ++index2, this);
|
222175
222299
|
}
|
222176
222300
|
return this;
|
222177
222301
|
}
|
222178
|
-
function node_find(callback,
|
222302
|
+
function node_find(callback, that) {
|
222179
222303
|
let index2 = -1;
|
222180
222304
|
for (const node of this) {
|
222181
|
-
if (callback.call(
|
222305
|
+
if (callback.call(that, node, ++index2, this)) {
|
222182
222306
|
return node;
|
222183
222307
|
}
|
222184
222308
|
}
|
@@ -222274,14 +222398,14 @@ function hierarchy(data2, children2) {
|
|
222274
222398
|
} else if (children2 === void 0) {
|
222275
222399
|
children2 = objectChildren;
|
222276
222400
|
}
|
222277
|
-
var root2 = new Node$3(data2), node, nodes = [root2],
|
222401
|
+
var root2 = new Node$3(data2), node, nodes = [root2], child, childs, i2, n3;
|
222278
222402
|
while (node = nodes.pop()) {
|
222279
222403
|
if ((childs = children2(node.data)) && (n3 = (childs = Array.from(childs)).length)) {
|
222280
222404
|
node.children = childs;
|
222281
222405
|
for (i2 = n3 - 1; i2 >= 0; --i2) {
|
222282
|
-
nodes.push(
|
222283
|
-
|
222284
|
-
|
222406
|
+
nodes.push(child = childs[i2] = new Node$3(childs[i2]));
|
222407
|
+
child.parent = node;
|
222408
|
+
child.depth = node.depth + 1;
|
222285
222409
|
}
|
222286
222410
|
}
|
222287
222411
|
}
|
@@ -222799,13 +222923,13 @@ function TreeNode2(node, i2) {
|
|
222799
222923
|
}
|
222800
222924
|
TreeNode2.prototype = Object.create(Node$3.prototype);
|
222801
222925
|
function treeRoot(root2) {
|
222802
|
-
var tree2 = new TreeNode2(root2, 0), node, nodes = [tree2],
|
222926
|
+
var tree2 = new TreeNode2(root2, 0), node, nodes = [tree2], child, children2, i2, n3;
|
222803
222927
|
while (node = nodes.pop()) {
|
222804
222928
|
if (children2 = node._.children) {
|
222805
222929
|
node.children = new Array(n3 = children2.length);
|
222806
222930
|
for (i2 = n3 - 1; i2 >= 0; --i2) {
|
222807
|
-
nodes.push(
|
222808
|
-
|
222931
|
+
nodes.push(child = node.children[i2] = new TreeNode2(children2[i2], i2));
|
222932
|
+
child.parent = node;
|
222809
222933
|
}
|
222810
222934
|
}
|
222811
222935
|
}
|
@@ -225403,8 +225527,8 @@ function jitter(x2, y2, r3) {
|
|
225403
225527
|
return [x2 + Math.sin(x2 + y2) * r3, y2 + Math.cos(x2 - y2) * r3];
|
225404
225528
|
}
|
225405
225529
|
class Delaunay {
|
225406
|
-
static from(points2, fx = pointX, fy = pointY,
|
225407
|
-
return new Delaunay("length" in points2 ? flatArray(points2, fx, fy,
|
225530
|
+
static from(points2, fx = pointX, fy = pointY, that) {
|
225531
|
+
return new Delaunay("length" in points2 ? flatArray(points2, fx, fy, that) : Float64Array.from(flatIterable(points2, fx, fy, that)));
|
225408
225532
|
}
|
225409
225533
|
constructor(points2) {
|
225410
225534
|
this._delaunator = new Delaunator(points2);
|
@@ -225594,21 +225718,21 @@ class Delaunay {
|
|
225594
225718
|
return polygon2.value();
|
225595
225719
|
}
|
225596
225720
|
}
|
225597
|
-
function flatArray(points2, fx, fy,
|
225721
|
+
function flatArray(points2, fx, fy, that) {
|
225598
225722
|
const n3 = points2.length;
|
225599
225723
|
const array2 = new Float64Array(n3 * 2);
|
225600
225724
|
for (let i2 = 0; i2 < n3; ++i2) {
|
225601
225725
|
const p = points2[i2];
|
225602
|
-
array2[i2 * 2] = fx.call(
|
225603
|
-
array2[i2 * 2 + 1] = fy.call(
|
225726
|
+
array2[i2 * 2] = fx.call(that, p, i2, points2);
|
225727
|
+
array2[i2 * 2 + 1] = fy.call(that, p, i2, points2);
|
225604
225728
|
}
|
225605
225729
|
return array2;
|
225606
225730
|
}
|
225607
|
-
function* flatIterable(points2, fx, fy,
|
225731
|
+
function* flatIterable(points2, fx, fy, that) {
|
225608
225732
|
let i2 = 0;
|
225609
225733
|
for (const p of points2) {
|
225610
|
-
yield fx.call(
|
225611
|
-
yield fy.call(
|
225734
|
+
yield fx.call(that, p, i2, points2);
|
225735
|
+
yield fy.call(that, p, i2, points2);
|
225612
225736
|
++i2;
|
225613
225737
|
}
|
225614
225738
|
}
|
@@ -234405,17 +234529,17 @@ var clone2 = { exports: {} };
|
|
234405
234529
|
return null;
|
234406
234530
|
if (depth2 === 0)
|
234407
234531
|
return parent2;
|
234408
|
-
var
|
234532
|
+
var child;
|
234409
234533
|
var proto;
|
234410
234534
|
if (typeof parent2 != "object") {
|
234411
234535
|
return parent2;
|
234412
234536
|
}
|
234413
234537
|
if (_instanceof(parent2, nativeMap)) {
|
234414
|
-
|
234538
|
+
child = new nativeMap();
|
234415
234539
|
} else if (_instanceof(parent2, nativeSet)) {
|
234416
|
-
|
234540
|
+
child = new nativeSet();
|
234417
234541
|
} else if (_instanceof(parent2, nativePromise)) {
|
234418
|
-
|
234542
|
+
child = new nativePromise(function(resolve2, reject) {
|
234419
234543
|
parent2.then(function(value2) {
|
234420
234544
|
resolve2(_clone(value2, depth2 - 1));
|
234421
234545
|
}, function(err2) {
|
@@ -234423,29 +234547,29 @@ var clone2 = { exports: {} };
|
|
234423
234547
|
});
|
234424
234548
|
});
|
234425
234549
|
} else if (clone4.__isArray(parent2)) {
|
234426
|
-
|
234550
|
+
child = [];
|
234427
234551
|
} else if (clone4.__isRegExp(parent2)) {
|
234428
|
-
|
234552
|
+
child = new RegExp(parent2.source, __getRegExpFlags(parent2));
|
234429
234553
|
if (parent2.lastIndex)
|
234430
|
-
|
234554
|
+
child.lastIndex = parent2.lastIndex;
|
234431
234555
|
} else if (clone4.__isDate(parent2)) {
|
234432
|
-
|
234556
|
+
child = new Date(parent2.getTime());
|
234433
234557
|
} else if (useBuffer2 && Buffer.isBuffer(parent2)) {
|
234434
234558
|
if (Buffer.allocUnsafe) {
|
234435
|
-
|
234559
|
+
child = Buffer.allocUnsafe(parent2.length);
|
234436
234560
|
} else {
|
234437
|
-
|
234561
|
+
child = new Buffer(parent2.length);
|
234438
234562
|
}
|
234439
|
-
parent2.copy(
|
234440
|
-
return
|
234563
|
+
parent2.copy(child);
|
234564
|
+
return child;
|
234441
234565
|
} else if (_instanceof(parent2, Error)) {
|
234442
|
-
|
234566
|
+
child = Object.create(parent2);
|
234443
234567
|
} else {
|
234444
234568
|
if (typeof prototype2 == "undefined") {
|
234445
234569
|
proto = Object.getPrototypeOf(parent2);
|
234446
|
-
|
234570
|
+
child = Object.create(proto);
|
234447
234571
|
} else {
|
234448
|
-
|
234572
|
+
child = Object.create(prototype2);
|
234449
234573
|
proto = prototype2;
|
234450
234574
|
}
|
234451
234575
|
}
|
@@ -234455,19 +234579,19 @@ var clone2 = { exports: {} };
|
|
234455
234579
|
return allChildren[index2];
|
234456
234580
|
}
|
234457
234581
|
allParents.push(parent2);
|
234458
|
-
allChildren.push(
|
234582
|
+
allChildren.push(child);
|
234459
234583
|
}
|
234460
234584
|
if (_instanceof(parent2, nativeMap)) {
|
234461
234585
|
parent2.forEach(function(value2, key2) {
|
234462
234586
|
var keyChild = _clone(key2, depth2 - 1);
|
234463
234587
|
var valueChild = _clone(value2, depth2 - 1);
|
234464
|
-
|
234588
|
+
child.set(keyChild, valueChild);
|
234465
234589
|
});
|
234466
234590
|
}
|
234467
234591
|
if (_instanceof(parent2, nativeSet)) {
|
234468
234592
|
parent2.forEach(function(value2) {
|
234469
234593
|
var entryChild = _clone(value2, depth2 - 1);
|
234470
|
-
|
234594
|
+
child.add(entryChild);
|
234471
234595
|
});
|
234472
234596
|
}
|
234473
234597
|
for (var i2 in parent2) {
|
@@ -234478,7 +234602,7 @@ var clone2 = { exports: {} };
|
|
234478
234602
|
if (attrs && attrs.set == null) {
|
234479
234603
|
continue;
|
234480
234604
|
}
|
234481
|
-
|
234605
|
+
child[i2] = _clone(parent2[i2], depth2 - 1);
|
234482
234606
|
}
|
234483
234607
|
if (Object.getOwnPropertySymbols) {
|
234484
234608
|
var symbols2 = Object.getOwnPropertySymbols(parent2);
|
@@ -234488,9 +234612,9 @@ var clone2 = { exports: {} };
|
|
234488
234612
|
if (descriptor2 && !descriptor2.enumerable && !includeNonEnumerable) {
|
234489
234613
|
continue;
|
234490
234614
|
}
|
234491
|
-
|
234615
|
+
child[symbol2] = _clone(parent2[symbol2], depth2 - 1);
|
234492
234616
|
if (!descriptor2.enumerable) {
|
234493
|
-
Object.defineProperty(
|
234617
|
+
Object.defineProperty(child, symbol2, {
|
234494
234618
|
enumerable: false
|
234495
234619
|
});
|
234496
234620
|
}
|
@@ -234504,13 +234628,13 @@ var clone2 = { exports: {} };
|
|
234504
234628
|
if (descriptor2 && descriptor2.enumerable) {
|
234505
234629
|
continue;
|
234506
234630
|
}
|
234507
|
-
|
234508
|
-
Object.defineProperty(
|
234631
|
+
child[propertyName] = _clone(parent2[propertyName], depth2 - 1);
|
234632
|
+
Object.defineProperty(child, propertyName, {
|
234509
234633
|
enumerable: false
|
234510
234634
|
});
|
234511
234635
|
}
|
234512
234636
|
}
|
234513
|
-
return
|
234637
|
+
return child;
|
234514
234638
|
}
|
234515
234639
|
return _clone(parent, depth);
|
234516
234640
|
}
|
@@ -240401,9 +240525,9 @@ class CoreNormalizer extends SpecMapper {
|
|
240401
240525
|
return Object.assign(Object.assign({}, rest), { layer: layer.map((layerValue) => {
|
240402
240526
|
const childRepeater = Object.assign(Object.assign({}, repeater), { layer: layerValue });
|
240403
240527
|
const childName = `${(childSpec.name || "") + repeaterPrefix}child__layer_${varName(layerValue)}`;
|
240404
|
-
const
|
240405
|
-
|
240406
|
-
return
|
240528
|
+
const child = this.mapLayerOrUnit(childSpec, Object.assign(Object.assign({}, params2), { repeater: childRepeater, repeaterPrefix: childName }));
|
240529
|
+
child.name = childName;
|
240530
|
+
return child;
|
240407
240531
|
}) });
|
240408
240532
|
}
|
240409
240533
|
}
|
@@ -240429,9 +240553,9 @@ class CoreNormalizer extends SpecMapper {
|
|
240429
240553
|
layer: repeater.layer
|
240430
240554
|
};
|
240431
240555
|
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(
|
240556
|
+
const child = this.map(childSpec, Object.assign(Object.assign({}, params2), { repeater: childRepeater, repeaterPrefix: childName }));
|
240557
|
+
child.name = childName;
|
240558
|
+
concat2.push(omit(child, ["data"]));
|
240435
240559
|
}
|
240436
240560
|
}
|
240437
240561
|
}
|
@@ -241136,9 +241260,9 @@ function assembleUnitSelectionMarks(model, marks) {
|
|
241136
241260
|
return marks;
|
241137
241261
|
}
|
241138
241262
|
function assembleLayerSelectionMarks(model, marks) {
|
241139
|
-
for (const
|
241140
|
-
if (isUnitModel(
|
241141
|
-
marks = assembleUnitSelectionMarks(
|
241263
|
+
for (const child of model.children) {
|
241264
|
+
if (isUnitModel(child)) {
|
241265
|
+
marks = assembleUnitSelectionMarks(child, marks);
|
241142
241266
|
}
|
241143
241267
|
}
|
241144
241268
|
return marks;
|
@@ -241189,15 +241313,15 @@ class DataFlowNode {
|
|
241189
241313
|
numChildren() {
|
241190
241314
|
return this._children.length;
|
241191
241315
|
}
|
241192
|
-
addChild(
|
241193
|
-
if (this._children.includes(
|
241316
|
+
addChild(child, loc) {
|
241317
|
+
if (this._children.includes(child)) {
|
241194
241318
|
warn(ADD_SAME_CHILD_TWICE);
|
241195
241319
|
return;
|
241196
241320
|
}
|
241197
241321
|
if (loc !== void 0) {
|
241198
|
-
this._children.splice(loc, 0,
|
241322
|
+
this._children.splice(loc, 0, child);
|
241199
241323
|
} else {
|
241200
|
-
this._children.push(
|
241324
|
+
this._children.push(child);
|
241201
241325
|
}
|
241202
241326
|
}
|
241203
241327
|
removeChild(oldChild) {
|
@@ -241210,9 +241334,9 @@ class DataFlowNode {
|
|
241210
241334
|
*/
|
241211
241335
|
remove() {
|
241212
241336
|
let loc = this._parent.removeChild(this);
|
241213
|
-
for (const
|
241214
|
-
|
241215
|
-
this._parent.addChild(
|
241337
|
+
for (const child of this._children) {
|
241338
|
+
child._parent = this._parent;
|
241339
|
+
this._parent.addChild(child, loc++);
|
241216
241340
|
}
|
241217
241341
|
}
|
241218
241342
|
/**
|
@@ -241227,8 +241351,8 @@ class DataFlowNode {
|
|
241227
241351
|
swapWithParent() {
|
241228
241352
|
const parent = this._parent;
|
241229
241353
|
const newParent = parent.parent;
|
241230
|
-
for (const
|
241231
|
-
|
241354
|
+
for (const child of this._children) {
|
241355
|
+
child.parent = parent;
|
241232
241356
|
}
|
241233
241357
|
this._children = [];
|
241234
241358
|
parent.removeChild(this);
|
@@ -241308,15 +241432,15 @@ var __rest$e = function(s2, e3) {
|
|
241308
241432
|
return t4;
|
241309
241433
|
};
|
241310
241434
|
class TimeUnitNode extends DataFlowNode {
|
241311
|
-
constructor(parent,
|
241435
|
+
constructor(parent, formula) {
|
241312
241436
|
super(parent);
|
241313
|
-
this.formula =
|
241437
|
+
this.formula = formula;
|
241314
241438
|
}
|
241315
241439
|
clone() {
|
241316
241440
|
return new TimeUnitNode(null, duplicate(this.formula));
|
241317
241441
|
}
|
241318
241442
|
static makeFromEncoding(parent, model) {
|
241319
|
-
const
|
241443
|
+
const formula = model.reduceFieldDef((timeUnitComponent, fieldDef) => {
|
241320
241444
|
const { field: field2, timeUnit } = fieldDef;
|
241321
241445
|
if (timeUnit) {
|
241322
241446
|
const as = vgField(fieldDef, { forAs: true });
|
@@ -241332,10 +241456,10 @@ class TimeUnitNode extends DataFlowNode {
|
|
241332
241456
|
}
|
241333
241457
|
return timeUnitComponent;
|
241334
241458
|
}, {});
|
241335
|
-
if (isEmpty(
|
241459
|
+
if (isEmpty(formula)) {
|
241336
241460
|
return null;
|
241337
241461
|
}
|
241338
|
-
return new TimeUnitNode(parent,
|
241462
|
+
return new TimeUnitNode(parent, formula);
|
241339
241463
|
}
|
241340
241464
|
static makeFromTransform(parent, t4) {
|
241341
241465
|
const _a2 = Object.assign({}, t4), { timeUnit } = _a2, other = __rest$e(_a2, ["timeUnit"]);
|
@@ -241356,9 +241480,9 @@ class TimeUnitNode extends DataFlowNode {
|
|
241356
241480
|
this.formula[key2] = other.formula[key2];
|
241357
241481
|
}
|
241358
241482
|
}
|
241359
|
-
for (const
|
241360
|
-
other.removeChild(
|
241361
|
-
|
241483
|
+
for (const child of other.children) {
|
241484
|
+
other.removeChild(child);
|
241485
|
+
child.parent = this;
|
241362
241486
|
}
|
241363
241487
|
other.remove();
|
241364
241488
|
}
|
@@ -243142,12 +243266,12 @@ function parseSelectionPredicate(model, pred, dfnode, datum2 = "datum") {
|
|
243142
243266
|
return `!!${vname}`;
|
243143
243267
|
}
|
243144
243268
|
if (selCmpt.project.timeUnit) {
|
243145
|
-
const
|
243269
|
+
const child = dfnode !== null && dfnode !== void 0 ? dfnode : model.component.data.raw;
|
243146
243270
|
const tunode = selCmpt.project.timeUnit.clone();
|
243147
|
-
if (
|
243148
|
-
tunode.insertAsParentOf(
|
243271
|
+
if (child.parent) {
|
243272
|
+
tunode.insertAsParentOf(child);
|
243149
243273
|
} else {
|
243150
|
-
|
243274
|
+
child.parent = tunode;
|
243151
243275
|
}
|
243152
243276
|
}
|
243153
243277
|
const fn = selCmpt.project.hasSelectionId ? "vlSelectionIdTest(" : "vlSelectionTest(";
|
@@ -244387,12 +244511,12 @@ function parseLegendForChannel(model, channel) {
|
|
244387
244511
|
}
|
244388
244512
|
function parseNonUnitLegend(model) {
|
244389
244513
|
const { legends, resolve: resolve2 } = model.component;
|
244390
|
-
for (const
|
244391
|
-
parseLegend(
|
244392
|
-
for (const channel of keys$1(
|
244514
|
+
for (const child of model.children) {
|
244515
|
+
parseLegend(child);
|
244516
|
+
for (const channel of keys$1(child.component.legends)) {
|
244393
244517
|
resolve2.legend[channel] = parseGuideResolve(model.component.resolve, channel);
|
244394
244518
|
if (resolve2.legend[channel] === "shared") {
|
244395
|
-
legends[channel] = mergeLegendComponent(legends[channel],
|
244519
|
+
legends[channel] = mergeLegendComponent(legends[channel], child.component.legends[channel]);
|
244396
244520
|
if (!legends[channel]) {
|
244397
244521
|
resolve2.legend[channel] = "independent";
|
244398
244522
|
delete legends[channel];
|
@@ -244401,12 +244525,12 @@ function parseNonUnitLegend(model) {
|
|
244401
244525
|
}
|
244402
244526
|
}
|
244403
244527
|
for (const channel of keys$1(legends)) {
|
244404
|
-
for (const
|
244405
|
-
if (!
|
244528
|
+
for (const child of model.children) {
|
244529
|
+
if (!child.component.legends[channel]) {
|
244406
244530
|
continue;
|
244407
244531
|
}
|
244408
244532
|
if (resolve2.legend[channel] === "shared") {
|
244409
|
-
delete
|
244533
|
+
delete child.component.legends[channel];
|
244410
244534
|
}
|
244411
244535
|
}
|
244412
244536
|
}
|
@@ -244541,8 +244665,8 @@ function assembleProjections(model) {
|
|
244541
244665
|
}
|
244542
244666
|
}
|
244543
244667
|
function assembleProjectionsForModelAndChildren(model) {
|
244544
|
-
return model.children.reduce((projections2,
|
244545
|
-
return projections2.concat(
|
244668
|
+
return model.children.reduce((projections2, child) => {
|
244669
|
+
return projections2.concat(child.assembleProjections());
|
244546
244670
|
}, assembleProjectionForModel(model));
|
244547
244671
|
}
|
244548
244672
|
function assembleProjectionForModel(model) {
|
@@ -244689,11 +244813,11 @@ function parseNonUnitProjections(model) {
|
|
244689
244813
|
return void 0;
|
244690
244814
|
}
|
244691
244815
|
let nonUnitProjection;
|
244692
|
-
for (const
|
244693
|
-
parseProjection(
|
244816
|
+
for (const child of model.children) {
|
244817
|
+
parseProjection(child);
|
244694
244818
|
}
|
244695
|
-
const mergable = every(model.children, (
|
244696
|
-
const projection2 =
|
244819
|
+
const mergable = every(model.children, (child) => {
|
244820
|
+
const projection2 = child.component.projection;
|
244697
244821
|
if (!projection2) {
|
244698
244822
|
return true;
|
244699
244823
|
} else if (!nonUnitProjection) {
|
@@ -244710,13 +244834,13 @@ function parseNonUnitProjections(model) {
|
|
244710
244834
|
if (nonUnitProjection && mergable) {
|
244711
244835
|
const name2 = model.projectionName(true);
|
244712
244836
|
const modelProjection = new ProjectionComponent(name2, nonUnitProjection.specifiedProjection, nonUnitProjection.size, duplicate(nonUnitProjection.data));
|
244713
|
-
for (const
|
244714
|
-
const projection2 =
|
244837
|
+
for (const child of model.children) {
|
244838
|
+
const projection2 = child.component.projection;
|
244715
244839
|
if (projection2) {
|
244716
244840
|
if (projection2.isFit) {
|
244717
|
-
modelProjection.data.push(...
|
244841
|
+
modelProjection.data.push(...child.component.projection.data);
|
244718
244842
|
}
|
244719
|
-
|
244843
|
+
child.renameProjection(projection2.get("name"), name2);
|
244720
244844
|
projection2.merged = true;
|
244721
244845
|
}
|
244722
244846
|
}
|
@@ -244830,9 +244954,9 @@ class BinNode extends DataFlowNode {
|
|
244830
244954
|
this.bins[key2] = other.bins[key2];
|
244831
244955
|
}
|
244832
244956
|
}
|
244833
|
-
for (const
|
244834
|
-
other.removeChild(
|
244835
|
-
|
244957
|
+
for (const child of other.children) {
|
244958
|
+
other.removeChild(child);
|
244959
|
+
child.parent = this;
|
244836
244960
|
}
|
244837
244961
|
other.remove();
|
244838
244962
|
}
|
@@ -245461,13 +245585,13 @@ class ParseNode extends DataFlowNode {
|
|
245461
245585
|
if (!expr2) {
|
245462
245586
|
return null;
|
245463
245587
|
}
|
245464
|
-
const
|
245588
|
+
const formula = {
|
245465
245589
|
type: "formula",
|
245466
245590
|
expr: expr2,
|
245467
245591
|
as: removePathFromField(field2)
|
245468
245592
|
// Vega output is always flattened
|
245469
245593
|
};
|
245470
|
-
return
|
245594
|
+
return formula;
|
245471
245595
|
}).filter((t4) => t4 !== null);
|
245472
245596
|
}
|
245473
245597
|
}
|
@@ -245640,8 +245764,8 @@ class BottomUpOptimizer extends Optimizer {
|
|
245640
245764
|
*/
|
245641
245765
|
getNodeDepths(node, depth, depths) {
|
245642
245766
|
depths.set(node, depth);
|
245643
|
-
for (const
|
245644
|
-
this.getNodeDepths(
|
245767
|
+
for (const child of node.children) {
|
245768
|
+
this.getNodeDepths(child, depth + 1, depths);
|
245645
245769
|
}
|
245646
245770
|
return depths;
|
245647
245771
|
}
|
@@ -245663,8 +245787,8 @@ class TopDownOptimizer extends Optimizer {
|
|
245663
245787
|
*/
|
245664
245788
|
optimize(node) {
|
245665
245789
|
this.run(node);
|
245666
|
-
for (const
|
245667
|
-
this.optimize(
|
245790
|
+
for (const child of node.children) {
|
245791
|
+
this.optimize(child);
|
245668
245792
|
}
|
245669
245793
|
return this.modifiedFlag;
|
245670
245794
|
}
|
@@ -245727,8 +245851,8 @@ class RemoveDuplicateTimeUnits extends Optimizer {
|
|
245727
245851
|
}
|
245728
245852
|
}
|
245729
245853
|
}
|
245730
|
-
for (const
|
245731
|
-
this.run(
|
245854
|
+
for (const child of node.children) {
|
245855
|
+
this.run(child, /* @__PURE__ */ new Set([...timeUnitFields, ...producedFields]));
|
245732
245856
|
}
|
245733
245857
|
}
|
245734
245858
|
}
|
@@ -245751,17 +245875,17 @@ class MoveParseUp extends BottomUpOptimizer {
|
|
245751
245875
|
if (node.numChildren() > 1) {
|
245752
245876
|
return;
|
245753
245877
|
}
|
245754
|
-
for (const
|
245755
|
-
if (
|
245878
|
+
for (const child of node.children) {
|
245879
|
+
if (child instanceof ParseNode) {
|
245756
245880
|
if (node instanceof ParseNode) {
|
245757
245881
|
this.setModified();
|
245758
|
-
node.merge(
|
245882
|
+
node.merge(child);
|
245759
245883
|
} else {
|
245760
|
-
if (fieldIntersection(node.producedFields(),
|
245884
|
+
if (fieldIntersection(node.producedFields(), child.dependentFields())) {
|
245761
245885
|
continue;
|
245762
245886
|
}
|
245763
245887
|
this.setModified();
|
245764
|
-
|
245888
|
+
child.swapWithParent();
|
245765
245889
|
}
|
245766
245890
|
}
|
245767
245891
|
}
|
@@ -245771,7 +245895,7 @@ class MoveParseUp extends BottomUpOptimizer {
|
|
245771
245895
|
class MergeParse extends BottomUpOptimizer {
|
245772
245896
|
run(node) {
|
245773
245897
|
const originalChildren = [...node.children];
|
245774
|
-
const parseChildren = node.children.filter((
|
245898
|
+
const parseChildren = node.children.filter((child) => child instanceof ParseNode);
|
245775
245899
|
if (node.numChildren() > 1 && parseChildren.length >= 1) {
|
245776
245900
|
const commonParse = {};
|
245777
245901
|
const conflictingParse = /* @__PURE__ */ new Set();
|
@@ -245831,7 +245955,7 @@ class MergeTimeUnits extends BottomUpOptimizer {
|
|
245831
245955
|
}
|
245832
245956
|
class MergeAggregates extends BottomUpOptimizer {
|
245833
245957
|
run(node) {
|
245834
|
-
const aggChildren = node.children.filter((
|
245958
|
+
const aggChildren = node.children.filter((child) => child instanceof AggregateNode);
|
245835
245959
|
const groupedAggregates = {};
|
245836
245960
|
for (const agg of aggChildren) {
|
245837
245961
|
const groupBys = hash(agg.groupBy);
|
@@ -245865,12 +245989,12 @@ class MergeBins extends BottomUpOptimizer {
|
|
245865
245989
|
const moveBinsUp = !(isDataSourceNode(node) || node instanceof FilterNode || node instanceof ParseNode || node instanceof IdentifierNode);
|
245866
245990
|
const promotableBins = [];
|
245867
245991
|
const remainingBins = [];
|
245868
|
-
for (const
|
245869
|
-
if (
|
245870
|
-
if (moveBinsUp && !fieldIntersection(node.producedFields(),
|
245871
|
-
promotableBins.push(
|
245992
|
+
for (const child of node.children) {
|
245993
|
+
if (child instanceof BinNode) {
|
245994
|
+
if (moveBinsUp && !fieldIntersection(node.producedFields(), child.dependentFields())) {
|
245995
|
+
promotableBins.push(child);
|
245872
245996
|
} else {
|
245873
|
-
remainingBins.push(
|
245997
|
+
remainingBins.push(child);
|
245874
245998
|
}
|
245875
245999
|
}
|
245876
246000
|
}
|
@@ -245898,15 +246022,15 @@ class MergeBins extends BottomUpOptimizer {
|
|
245898
246022
|
class MergeOutputs extends BottomUpOptimizer {
|
245899
246023
|
run(node) {
|
245900
246024
|
const children2 = [...node.children];
|
245901
|
-
const hasOutputChild = some(children2, (
|
246025
|
+
const hasOutputChild = some(children2, (child) => child instanceof OutputNode);
|
245902
246026
|
if (!hasOutputChild || node.numChildren() <= 1) {
|
245903
246027
|
return;
|
245904
246028
|
}
|
245905
246029
|
const otherChildren = [];
|
245906
246030
|
let mainOutput;
|
245907
|
-
for (const
|
245908
|
-
if (
|
245909
|
-
let lastOutput =
|
246031
|
+
for (const child of children2) {
|
246032
|
+
if (child instanceof OutputNode) {
|
246033
|
+
let lastOutput = child;
|
245910
246034
|
while (lastOutput.numChildren() === 1) {
|
245911
246035
|
const [theChild] = lastOutput.children;
|
245912
246036
|
if (theChild instanceof OutputNode) {
|
@@ -245917,8 +246041,8 @@ class MergeOutputs extends BottomUpOptimizer {
|
|
245917
246041
|
}
|
245918
246042
|
otherChildren.push(...lastOutput.children);
|
245919
246043
|
if (mainOutput) {
|
245920
|
-
node.removeChild(
|
245921
|
-
|
246044
|
+
node.removeChild(child);
|
246045
|
+
child.parent = mainOutput.parent;
|
245922
246046
|
mainOutput.parent.removeChild(mainOutput);
|
245923
246047
|
mainOutput.parent = lastOutput;
|
245924
246048
|
this.setModified();
|
@@ -245926,14 +246050,14 @@ class MergeOutputs extends BottomUpOptimizer {
|
|
245926
246050
|
mainOutput = lastOutput;
|
245927
246051
|
}
|
245928
246052
|
} else {
|
245929
|
-
otherChildren.push(
|
246053
|
+
otherChildren.push(child);
|
245930
246054
|
}
|
245931
246055
|
}
|
245932
246056
|
if (otherChildren.length) {
|
245933
246057
|
this.setModified();
|
245934
|
-
for (const
|
245935
|
-
|
245936
|
-
|
246058
|
+
for (const child of otherChildren) {
|
246059
|
+
child.parent.removeChild(child);
|
246060
|
+
child.parent = mainOutput;
|
245937
246061
|
}
|
245938
246062
|
}
|
245939
246063
|
}
|
@@ -246242,11 +246366,11 @@ function cloneSubtree(facet) {
|
|
246242
246366
|
function moveFacetDown(node) {
|
246243
246367
|
if (node instanceof FacetNode) {
|
246244
246368
|
if (node.numChildren() === 1 && !(node.children[0] instanceof OutputNode)) {
|
246245
|
-
const
|
246246
|
-
if (
|
246247
|
-
|
246369
|
+
const child = node.children[0];
|
246370
|
+
if (child instanceof AggregateNode || child instanceof StackNode || child instanceof WindowTransformNode || child instanceof JoinAggregateTransformNode) {
|
246371
|
+
child.addDimensions(node.fields);
|
246248
246372
|
}
|
246249
|
-
|
246373
|
+
child.swapWithParent();
|
246250
246374
|
moveFacetDown(node);
|
246251
246375
|
} else {
|
246252
246376
|
const facetMain = node.model.component.data.main;
|
@@ -246264,9 +246388,9 @@ function moveFacetDown(node) {
|
|
246264
246388
|
function moveMainDownToFacet(node) {
|
246265
246389
|
if (node instanceof OutputNode && node.type === DataSourceType.Main) {
|
246266
246390
|
if (node.numChildren() === 1) {
|
246267
|
-
const
|
246268
|
-
if (!(
|
246269
|
-
|
246391
|
+
const child = node.children[0];
|
246392
|
+
if (!(child instanceof FacetNode)) {
|
246393
|
+
child.swapWithParent();
|
246270
246394
|
moveMainDownToFacet(node);
|
246271
246395
|
}
|
246272
246396
|
}
|
@@ -246276,8 +246400,8 @@ const FACET_SCALE_PREFIX = "scale_";
|
|
246276
246400
|
const MAX_OPTIMIZATION_RUNS = 5;
|
246277
246401
|
function checkLinks(nodes) {
|
246278
246402
|
for (const node of nodes) {
|
246279
|
-
for (const
|
246280
|
-
if (
|
246403
|
+
for (const child of node.children) {
|
246404
|
+
if (child.parent !== node) {
|
246281
246405
|
return false;
|
246282
246406
|
}
|
246283
246407
|
}
|
@@ -246391,15 +246515,15 @@ function parseUnitScaleDomain(model) {
|
|
246391
246515
|
}
|
246392
246516
|
}
|
246393
246517
|
function parseNonUnitScaleDomain(model) {
|
246394
|
-
for (const
|
246395
|
-
parseScaleDomain(
|
246518
|
+
for (const child of model.children) {
|
246519
|
+
parseScaleDomain(child);
|
246396
246520
|
}
|
246397
246521
|
const localScaleComponents = model.component.scales;
|
246398
246522
|
for (const channel of keys$1(localScaleComponents)) {
|
246399
246523
|
let domains;
|
246400
246524
|
let selectionExtent = null;
|
246401
|
-
for (const
|
246402
|
-
const childComponent =
|
246525
|
+
for (const child of model.children) {
|
246526
|
+
const childComponent = child.component.scales[channel];
|
246403
246527
|
if (childComponent) {
|
246404
246528
|
if (domains === void 0) {
|
246405
246529
|
domains = childComponent.getWithExplicit("domains");
|
@@ -246806,8 +246930,8 @@ var __rest$7 = function(s2, e3) {
|
|
246806
246930
|
};
|
246807
246931
|
function assembleScales(model) {
|
246808
246932
|
if (isLayerModel(model) || isConcatModel(model)) {
|
246809
|
-
return model.children.reduce((scales2,
|
246810
|
-
return scales2.concat(assembleScales(
|
246933
|
+
return model.children.reduce((scales2, child) => {
|
246934
|
+
return scales2.concat(assembleScales(child));
|
246811
246935
|
}, assembleScalesForModel(model));
|
246812
246936
|
} else {
|
246813
246937
|
return assembleScalesForModel(model);
|
@@ -247316,17 +247440,17 @@ function parseScaleRange(model) {
|
|
247316
247440
|
}
|
247317
247441
|
function parseNonUnitScaleProperty(model, property2) {
|
247318
247442
|
const localScaleComponents = model.component.scales;
|
247319
|
-
for (const
|
247443
|
+
for (const child of model.children) {
|
247320
247444
|
if (property2 === "range") {
|
247321
|
-
parseScaleRange(
|
247445
|
+
parseScaleRange(child);
|
247322
247446
|
} else {
|
247323
|
-
parseScaleProperty(
|
247447
|
+
parseScaleProperty(child, property2);
|
247324
247448
|
}
|
247325
247449
|
}
|
247326
247450
|
for (const channel of keys$1(localScaleComponents)) {
|
247327
247451
|
let valueWithExplicit;
|
247328
|
-
for (const
|
247329
|
-
const childComponent =
|
247452
|
+
for (const child of model.children) {
|
247453
|
+
const childComponent = child.component.scales[channel];
|
247330
247454
|
if (childComponent) {
|
247331
247455
|
const childValueWithExplicit = childComponent.getWithExplicit(property2);
|
247332
247456
|
valueWithExplicit = mergeValuesWithExplicit(valueWithExplicit, childValueWithExplicit, property2, "scale", tieBreakByComparing((v12, v2) => {
|
@@ -247608,13 +247732,13 @@ function parseNonUnitScaleCore(model) {
|
|
247608
247732
|
const scaleComponents = model.component.scales = {};
|
247609
247733
|
const scaleTypeWithExplicitIndex = {};
|
247610
247734
|
const resolve2 = model.component.resolve;
|
247611
|
-
for (const
|
247612
|
-
parseScaleCore(
|
247613
|
-
for (const channel of keys$1(
|
247735
|
+
for (const child of model.children) {
|
247736
|
+
parseScaleCore(child);
|
247737
|
+
for (const channel of keys$1(child.component.scales)) {
|
247614
247738
|
(_a2 = (_b = resolve2.scale)[channel]) !== null && _a2 !== void 0 ? _a2 : _b[channel] = defaultScaleResolve(channel, model);
|
247615
247739
|
if (resolve2.scale[channel] === "shared") {
|
247616
247740
|
const explicitScaleType = scaleTypeWithExplicitIndex[channel];
|
247617
|
-
const childScaleType =
|
247741
|
+
const childScaleType = child.component.scales[channel].getWithExplicit("type");
|
247618
247742
|
if (explicitScaleType) {
|
247619
247743
|
if (scaleCompatible(explicitScaleType.value, childScaleType.value)) {
|
247620
247744
|
scaleTypeWithExplicitIndex[channel] = mergeValuesWithExplicit(explicitScaleType, childScaleType, "type", "scale", scaleTypeTieBreaker);
|
@@ -247632,10 +247756,10 @@ function parseNonUnitScaleCore(model) {
|
|
247632
247756
|
const name2 = model.scaleName(channel, true);
|
247633
247757
|
const typeWithExplicit = scaleTypeWithExplicitIndex[channel];
|
247634
247758
|
scaleComponents[channel] = new ScaleComponent(name2, typeWithExplicit);
|
247635
|
-
for (const
|
247636
|
-
const childScale =
|
247759
|
+
for (const child of model.children) {
|
247760
|
+
const childScale = child.component.scales[channel];
|
247637
247761
|
if (childScale) {
|
247638
|
-
|
247762
|
+
child.renameScale(childScale.get("name"), name2);
|
247639
247763
|
childScale.merged = true;
|
247640
247764
|
}
|
247641
247765
|
}
|
@@ -248681,13 +248805,13 @@ function makeWalkTree(data2) {
|
|
248681
248805
|
} else {
|
248682
248806
|
source2 = dataSource.source;
|
248683
248807
|
}
|
248684
|
-
for (const
|
248808
|
+
for (const child of node.children) {
|
248685
248809
|
const newData = {
|
248686
248810
|
name: null,
|
248687
248811
|
source: source2,
|
248688
248812
|
transform: []
|
248689
248813
|
};
|
248690
|
-
walkTree(
|
248814
|
+
walkTree(child, newData);
|
248691
248815
|
}
|
248692
248816
|
break;
|
248693
248817
|
}
|
@@ -248698,8 +248822,8 @@ function makeWalkTree(data2) {
|
|
248698
248822
|
function assembleFacetData(root2) {
|
248699
248823
|
const data2 = [];
|
248700
248824
|
const walkTree = makeWalkTree(data2);
|
248701
|
-
for (const
|
248702
|
-
walkTree(
|
248825
|
+
for (const child of root2.children) {
|
248826
|
+
walkTree(child, {
|
248703
248827
|
source: root2.name,
|
248704
248828
|
name: null,
|
248705
248829
|
transform: []
|
@@ -248759,7 +248883,7 @@ function parseFacetHeaders(model) {
|
|
248759
248883
|
}
|
248760
248884
|
function parseFacetHeader(model, channel) {
|
248761
248885
|
var _a2;
|
248762
|
-
const { facet, config: config3, child
|
248886
|
+
const { facet, config: config3, child, component } = model;
|
248763
248887
|
if (model.channelHasField(channel)) {
|
248764
248888
|
const fieldDef = facet[channel];
|
248765
248889
|
const titleConfig = getHeaderProperty("title", null, config3, channel);
|
@@ -248767,10 +248891,10 @@ function parseFacetHeader(model, channel) {
|
|
248767
248891
|
allowDisabling: true,
|
248768
248892
|
includeDefault: titleConfig === void 0 || !!titleConfig
|
248769
248893
|
});
|
248770
|
-
if (
|
248894
|
+
if (child.component.layoutHeaders[channel].title) {
|
248771
248895
|
title$1 = isArray2(title$1) ? title$1.join(", ") : title$1;
|
248772
|
-
title$1 += ` / ${
|
248773
|
-
|
248896
|
+
title$1 += ` / ${child.component.layoutHeaders[channel].title}`;
|
248897
|
+
child.component.layoutHeaders[channel].title = null;
|
248774
248898
|
}
|
248775
248899
|
const labelOrient = getHeaderProperty("labelOrient", fieldDef.header, config3, channel);
|
248776
248900
|
const labels2 = fieldDef.header !== null ? getFirstDefined((_a2 = fieldDef.header) === null || _a2 === void 0 ? void 0 : _a2.labels, config3.header.labels, true) : false;
|
@@ -248792,14 +248916,14 @@ function makeHeaderComponent(model, channel, labels2) {
|
|
248792
248916
|
}
|
248793
248917
|
function mergeChildAxis(model, channel) {
|
248794
248918
|
var _a2;
|
248795
|
-
const { child
|
248796
|
-
if (
|
248919
|
+
const { child } = model;
|
248920
|
+
if (child.component.axes[channel]) {
|
248797
248921
|
const { layoutHeaders: layoutHeaders2, resolve: resolve2 } = model.component;
|
248798
248922
|
resolve2.axis[channel] = parseGuideResolve(resolve2, channel);
|
248799
248923
|
if (resolve2.axis[channel] === "shared") {
|
248800
248924
|
const headerChannel = channel === "x" ? "column" : "row";
|
248801
248925
|
const layoutHeader = layoutHeaders2[headerChannel];
|
248802
|
-
for (const axisComponent of
|
248926
|
+
for (const axisComponent of child.component.axes[channel]) {
|
248803
248927
|
const headerType = getHeaderType(axisComponent.get("orient"));
|
248804
248928
|
(_a2 = layoutHeader[headerType]) !== null && _a2 !== void 0 ? _a2 : layoutHeader[headerType] = [makeHeaderComponent(model, headerChannel, false)];
|
248805
248929
|
const mainAxis = assembleAxis(axisComponent, "main", model.config, { header: true });
|
@@ -248824,8 +248948,8 @@ function parseConcatLayoutSize(model) {
|
|
248824
248948
|
parseNonUnitLayoutSizeForChannel(model, heightType);
|
248825
248949
|
}
|
248826
248950
|
function parseChildrenLayoutSize(model) {
|
248827
|
-
for (const
|
248828
|
-
|
248951
|
+
for (const child of model.children) {
|
248952
|
+
child.parseLayoutSize();
|
248829
248953
|
}
|
248830
248954
|
}
|
248831
248955
|
function parseNonUnitLayoutSizeForChannel(model, layoutSizeType) {
|
@@ -248835,8 +248959,8 @@ function parseNonUnitLayoutSizeForChannel(model, layoutSizeType) {
|
|
248835
248959
|
const resolve2 = model.component.resolve;
|
248836
248960
|
const layoutSizeCmpt = model.component.layoutSize;
|
248837
248961
|
let mergedSize;
|
248838
|
-
for (const
|
248839
|
-
const childSize =
|
248962
|
+
for (const child of model.children) {
|
248963
|
+
const childSize = child.component.layoutSize.getWithExplicit(sizeType);
|
248840
248964
|
const scaleResolve = (_a2 = resolve2.scale[channel]) !== null && _a2 !== void 0 ? _a2 : defaultScaleResolve(channel, model);
|
248841
248965
|
if (scaleResolve === "independent" && childSize.value === "step") {
|
248842
248966
|
mergedSize = void 0;
|
@@ -248853,9 +248977,9 @@ function parseNonUnitLayoutSizeForChannel(model, layoutSizeType) {
|
|
248853
248977
|
}
|
248854
248978
|
}
|
248855
248979
|
if (mergedSize) {
|
248856
|
-
for (const
|
248857
|
-
model.renameSignal(
|
248858
|
-
|
248980
|
+
for (const child of model.children) {
|
248981
|
+
model.renameSignal(child.getName(sizeType), model.getName(layoutSizeType));
|
248982
|
+
child.component.layoutSize.set(sizeType, "merged", false);
|
248859
248983
|
}
|
248860
248984
|
layoutSizeCmpt.setWithExplicit(layoutSizeType, mergedSize);
|
248861
248985
|
} else {
|
@@ -249168,12 +249292,12 @@ class FacetModel extends ModelWithField {
|
|
249168
249292
|
return void 0;
|
249169
249293
|
}
|
249170
249294
|
assembleMarks() {
|
249171
|
-
const { child
|
249295
|
+
const { child } = this;
|
249172
249296
|
const facetRoot = this.component.data.facetRoot;
|
249173
249297
|
const data2 = assembleFacetData(facetRoot);
|
249174
|
-
const encodeEntry2 =
|
249175
|
-
const title2 = this.assembleLabelTitle() ||
|
249176
|
-
const style2 =
|
249298
|
+
const encodeEntry2 = child.assembleGroupEncodeEntry(false);
|
249299
|
+
const title2 = this.assembleLabelTitle() || child.assembleTitle();
|
249300
|
+
const style2 = child.assembleGroupStyle();
|
249177
249301
|
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
249302
|
from: {
|
249179
249303
|
facet: this.assembleFacet()
|
@@ -249183,7 +249307,7 @@ class FacetModel extends ModelWithField {
|
|
249183
249307
|
field: FACET_CHANNELS.map((c2) => this.facetSortFields(c2)).flat(),
|
249184
249308
|
order: FACET_CHANNELS.map((c2) => this.facetSortOrder(c2)).flat()
|
249185
249309
|
}
|
249186
|
-
}), data2.length > 0 ? { data: data2 } : {}), encodeEntry2 ? { encode: { update: encodeEntry2 } } : {}),
|
249310
|
+
}), data2.length > 0 ? { data: data2 } : {}), encodeEntry2 ? { encode: { update: encodeEntry2 } } : {}), child.assembleGroup(assembleFacetSignals(this, [])));
|
249187
249311
|
return [markGroup];
|
249188
249312
|
}
|
249189
249313
|
getMapping() {
|
@@ -249444,33 +249568,33 @@ class ConcatModel extends Model2 {
|
|
249444
249568
|
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
249569
|
warn(CONCAT_CANNOT_SHARE_AXIS);
|
249446
249570
|
}
|
249447
|
-
this.children = this.getChildren(spec).map((
|
249448
|
-
return buildModel(
|
249571
|
+
this.children = this.getChildren(spec).map((child, i2) => {
|
249572
|
+
return buildModel(child, this, this.getName(`concat_${i2}`), void 0, config3);
|
249449
249573
|
});
|
249450
249574
|
}
|
249451
249575
|
parseData() {
|
249452
249576
|
this.component.data = parseData(this);
|
249453
|
-
for (const
|
249454
|
-
|
249577
|
+
for (const child of this.children) {
|
249578
|
+
child.parseData();
|
249455
249579
|
}
|
249456
249580
|
}
|
249457
249581
|
parseSelections() {
|
249458
249582
|
this.component.selection = {};
|
249459
|
-
for (const
|
249460
|
-
|
249461
|
-
for (const key2 of keys$1(
|
249462
|
-
this.component.selection[key2] =
|
249583
|
+
for (const child of this.children) {
|
249584
|
+
child.parseSelections();
|
249585
|
+
for (const key2 of keys$1(child.component.selection)) {
|
249586
|
+
this.component.selection[key2] = child.component.selection[key2];
|
249463
249587
|
}
|
249464
249588
|
}
|
249465
249589
|
}
|
249466
249590
|
parseMarkGroup() {
|
249467
|
-
for (const
|
249468
|
-
|
249591
|
+
for (const child of this.children) {
|
249592
|
+
child.parseMarkGroup();
|
249469
249593
|
}
|
249470
249594
|
}
|
249471
249595
|
parseAxesAndHeaders() {
|
249472
|
-
for (const
|
249473
|
-
|
249596
|
+
for (const child of this.children) {
|
249597
|
+
child.parseAxesAndHeaders();
|
249474
249598
|
}
|
249475
249599
|
}
|
249476
249600
|
getChildren(spec) {
|
@@ -249488,28 +249612,28 @@ class ConcatModel extends Model2 {
|
|
249488
249612
|
return null;
|
249489
249613
|
}
|
249490
249614
|
assembleSelectionTopLevelSignals(signals) {
|
249491
|
-
return this.children.reduce((sg,
|
249615
|
+
return this.children.reduce((sg, child) => child.assembleSelectionTopLevelSignals(sg), signals);
|
249492
249616
|
}
|
249493
249617
|
assembleSignals() {
|
249494
|
-
this.children.forEach((
|
249618
|
+
this.children.forEach((child) => child.assembleSignals());
|
249495
249619
|
return [];
|
249496
249620
|
}
|
249497
249621
|
assembleLayoutSignals() {
|
249498
249622
|
const layoutSignals = assembleLayoutSignals(this);
|
249499
|
-
for (const
|
249500
|
-
layoutSignals.push(...
|
249623
|
+
for (const child of this.children) {
|
249624
|
+
layoutSignals.push(...child.assembleLayoutSignals());
|
249501
249625
|
}
|
249502
249626
|
return layoutSignals;
|
249503
249627
|
}
|
249504
249628
|
assembleSelectionData(data2) {
|
249505
|
-
return this.children.reduce((db,
|
249629
|
+
return this.children.reduce((db, child) => child.assembleSelectionData(db), data2);
|
249506
249630
|
}
|
249507
249631
|
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:
|
249632
|
+
return this.children.map((child) => {
|
249633
|
+
const title2 = child.assembleTitle();
|
249634
|
+
const style2 = child.assembleGroupStyle();
|
249635
|
+
const encodeEntry2 = child.assembleGroupEncodeEntry(false);
|
249636
|
+
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
249637
|
});
|
249514
249638
|
}
|
249515
249639
|
assembleGroupStyle() {
|
@@ -249616,12 +249740,12 @@ function parseLayerAxes(model) {
|
|
249616
249740
|
var _a2;
|
249617
249741
|
const { axes, resolve: resolve2 } = model.component;
|
249618
249742
|
const axisCount = { top: 0, bottom: 0, right: 0, left: 0 };
|
249619
|
-
for (const
|
249620
|
-
|
249621
|
-
for (const channel of keys$1(
|
249743
|
+
for (const child of model.children) {
|
249744
|
+
child.parseAxesAndHeaders();
|
249745
|
+
for (const channel of keys$1(child.component.axes)) {
|
249622
249746
|
resolve2.axis[channel] = parseGuideResolve(model.component.resolve, channel);
|
249623
249747
|
if (resolve2.axis[channel] === "shared") {
|
249624
|
-
axes[channel] = mergeAxisComponents(axes[channel],
|
249748
|
+
axes[channel] = mergeAxisComponents(axes[channel], child.component.axes[channel]);
|
249625
249749
|
if (!axes[channel]) {
|
249626
249750
|
resolve2.axis[channel] = "independent";
|
249627
249751
|
delete axes[channel];
|
@@ -249630,13 +249754,13 @@ function parseLayerAxes(model) {
|
|
249630
249754
|
}
|
249631
249755
|
}
|
249632
249756
|
for (const channel of POSITION_SCALE_CHANNELS) {
|
249633
|
-
for (const
|
249634
|
-
if (!
|
249757
|
+
for (const child of model.children) {
|
249758
|
+
if (!child.component.axes[channel]) {
|
249635
249759
|
continue;
|
249636
249760
|
}
|
249637
249761
|
if (resolve2.axis[channel] === "independent") {
|
249638
|
-
axes[channel] = ((_a2 = axes[channel]) !== null && _a2 !== void 0 ? _a2 : []).concat(
|
249639
|
-
for (const axisComponent of
|
249762
|
+
axes[channel] = ((_a2 = axes[channel]) !== null && _a2 !== void 0 ? _a2 : []).concat(child.component.axes[channel]);
|
249763
|
+
for (const axisComponent of child.component.axes[channel]) {
|
249640
249764
|
const { value: orient2, explicit } = axisComponent.getWithExplicit("orient");
|
249641
249765
|
if (isSignalRef(orient2)) {
|
249642
249766
|
continue;
|
@@ -249650,7 +249774,7 @@ function parseLayerAxes(model) {
|
|
249650
249774
|
axisCount[orient2]++;
|
249651
249775
|
}
|
249652
249776
|
}
|
249653
|
-
delete
|
249777
|
+
delete child.component.axes[channel];
|
249654
249778
|
}
|
249655
249779
|
if (resolve2.axis[channel] === "independent" && axes[channel] && axes[channel].length > 1) {
|
249656
249780
|
for (const axisCmpt of axes[channel]) {
|
@@ -249669,16 +249793,16 @@ function mergeAxisComponents(mergedAxisCmpts, childAxisCmpts) {
|
|
249669
249793
|
const length2 = mergedAxisCmpts.length;
|
249670
249794
|
for (let i2 = 0; i2 < length2; i2++) {
|
249671
249795
|
const merged = mergedAxisCmpts[i2];
|
249672
|
-
const
|
249673
|
-
if (!!merged !== !!
|
249796
|
+
const child = childAxisCmpts[i2];
|
249797
|
+
if (!!merged !== !!child) {
|
249674
249798
|
return void 0;
|
249675
|
-
} else if (merged &&
|
249799
|
+
} else if (merged && child) {
|
249676
249800
|
const mergedOrient = merged.getWithExplicit("orient");
|
249677
|
-
const childOrient =
|
249801
|
+
const childOrient = child.getWithExplicit("orient");
|
249678
249802
|
if (mergedOrient.explicit && childOrient.explicit && mergedOrient.value !== childOrient.value) {
|
249679
249803
|
return void 0;
|
249680
249804
|
} else {
|
249681
|
-
mergedAxisCmpts[i2] = mergeAxisComponent(merged,
|
249805
|
+
mergedAxisCmpts[i2] = mergeAxisComponent(merged, child);
|
249682
249806
|
}
|
249683
249807
|
}
|
249684
249808
|
}
|
@@ -249687,11 +249811,11 @@ function mergeAxisComponents(mergedAxisCmpts, childAxisCmpts) {
|
|
249687
249811
|
}
|
249688
249812
|
return mergedAxisCmpts;
|
249689
249813
|
}
|
249690
|
-
function mergeAxisComponent(merged,
|
249814
|
+
function mergeAxisComponent(merged, child) {
|
249691
249815
|
for (const prop of AXIS_COMPONENT_PROPERTIES) {
|
249692
249816
|
const mergedValueWithExplicit = mergeValuesWithExplicit(
|
249693
249817
|
merged.getWithExplicit(prop),
|
249694
|
-
|
249818
|
+
child.getWithExplicit(prop),
|
249695
249819
|
prop,
|
249696
249820
|
"axis",
|
249697
249821
|
// Tie breaker function
|
@@ -250663,8 +250787,8 @@ class LayerModel extends Model2 {
|
|
250663
250787
|
}
|
250664
250788
|
parseData() {
|
250665
250789
|
this.component.data = parseData(this);
|
250666
|
-
for (const
|
250667
|
-
|
250790
|
+
for (const child of this.children) {
|
250791
|
+
child.parseData();
|
250668
250792
|
}
|
250669
250793
|
}
|
250670
250794
|
parseLayoutSize() {
|
@@ -250672,42 +250796,42 @@ class LayerModel extends Model2 {
|
|
250672
250796
|
}
|
250673
250797
|
parseSelections() {
|
250674
250798
|
this.component.selection = {};
|
250675
|
-
for (const
|
250676
|
-
|
250677
|
-
for (const key2 of keys$1(
|
250678
|
-
this.component.selection[key2] =
|
250799
|
+
for (const child of this.children) {
|
250800
|
+
child.parseSelections();
|
250801
|
+
for (const key2 of keys$1(child.component.selection)) {
|
250802
|
+
this.component.selection[key2] = child.component.selection[key2];
|
250679
250803
|
}
|
250680
250804
|
}
|
250681
250805
|
}
|
250682
250806
|
parseMarkGroup() {
|
250683
|
-
for (const
|
250684
|
-
|
250807
|
+
for (const child of this.children) {
|
250808
|
+
child.parseMarkGroup();
|
250685
250809
|
}
|
250686
250810
|
}
|
250687
250811
|
parseAxesAndHeaders() {
|
250688
250812
|
parseLayerAxes(this);
|
250689
250813
|
}
|
250690
250814
|
assembleSelectionTopLevelSignals(signals) {
|
250691
|
-
return this.children.reduce((sg,
|
250815
|
+
return this.children.reduce((sg, child) => child.assembleSelectionTopLevelSignals(sg), signals);
|
250692
250816
|
}
|
250693
250817
|
// TODO: Support same named selections across children.
|
250694
250818
|
assembleSignals() {
|
250695
|
-
return this.children.reduce((signals,
|
250696
|
-
return signals.concat(
|
250819
|
+
return this.children.reduce((signals, child) => {
|
250820
|
+
return signals.concat(child.assembleSignals());
|
250697
250821
|
}, assembleAxisSignals(this));
|
250698
250822
|
}
|
250699
250823
|
assembleLayoutSignals() {
|
250700
|
-
return this.children.reduce((signals,
|
250701
|
-
return signals.concat(
|
250824
|
+
return this.children.reduce((signals, child) => {
|
250825
|
+
return signals.concat(child.assembleLayoutSignals());
|
250702
250826
|
}, assembleLayoutSignals(this));
|
250703
250827
|
}
|
250704
250828
|
assembleSelectionData(data2) {
|
250705
|
-
return this.children.reduce((db,
|
250829
|
+
return this.children.reduce((db, child) => child.assembleSelectionData(db), data2);
|
250706
250830
|
}
|
250707
250831
|
assembleGroupStyle() {
|
250708
250832
|
const uniqueStyles = /* @__PURE__ */ new Set();
|
250709
|
-
for (const
|
250710
|
-
for (const style2 of array$5(
|
250833
|
+
for (const child of this.children) {
|
250834
|
+
for (const style2 of array$5(child.assembleGroupStyle())) {
|
250711
250835
|
uniqueStyles.add(style2);
|
250712
250836
|
}
|
250713
250837
|
}
|
@@ -250719,8 +250843,8 @@ class LayerModel extends Model2 {
|
|
250719
250843
|
if (title2) {
|
250720
250844
|
return title2;
|
250721
250845
|
}
|
250722
|
-
for (const
|
250723
|
-
title2 =
|
250846
|
+
for (const child of this.children) {
|
250847
|
+
title2 = child.assembleTitle();
|
250724
250848
|
if (title2) {
|
250725
250849
|
return title2;
|
250726
250850
|
}
|
@@ -250731,13 +250855,13 @@ class LayerModel extends Model2 {
|
|
250731
250855
|
return null;
|
250732
250856
|
}
|
250733
250857
|
assembleMarks() {
|
250734
|
-
return assembleLayerSelectionMarks(this, this.children.flatMap((
|
250735
|
-
return
|
250858
|
+
return assembleLayerSelectionMarks(this, this.children.flatMap((child) => {
|
250859
|
+
return child.assembleMarks();
|
250736
250860
|
}));
|
250737
250861
|
}
|
250738
250862
|
assembleLegends() {
|
250739
|
-
return this.children.reduce((legends,
|
250740
|
-
return legends.concat(
|
250863
|
+
return this.children.reduce((legends, child) => {
|
250864
|
+
return legends.concat(child.assembleLegends());
|
250741
250865
|
}, assembleLegends(this));
|
250742
250866
|
}
|
250743
250867
|
}
|
@@ -256356,10 +256480,10 @@ class RasterJsonAsObsSegmentationsLoader extends RasterLoader {
|
|
256356
256480
|
if (!(coordinationValues == null ? void 0 : coordinationValues.spatialImageLayer)) {
|
256357
256481
|
console.warn("Could not initialize coordinationValues.spatialImageLayer in RasterJsonAsObsSegmentationsLoader. This may be an indicator that the image could not be loaded.");
|
256358
256482
|
}
|
256359
|
-
return new LoaderResult({
|
256483
|
+
return new LoaderResult(loaders.length > 0 && meta2.length > 0 ? {
|
256360
256484
|
obsSegmentationsType: "bitmask",
|
256361
|
-
obsSegmentations:
|
256362
|
-
}, urls2, {
|
256485
|
+
obsSegmentations: { loaders, meta: meta2 }
|
256486
|
+
} : null, urls2, {
|
256363
256487
|
// Filter coordinationValues, keeping only bitmask layers.
|
256364
256488
|
spatialSegmentationLayer: (_a2 = coordinationValues == null ? void 0 : coordinationValues.spatialImageLayer) == null ? void 0 : _a2.filter((l2) => l2.type === "bitmask").map((layer) => ({
|
256365
256489
|
...layer,
|
@@ -257098,7 +257222,7 @@ class ObsSegmentationsAnndataLoader extends AbstractTwoStepLoader {
|
|
257098
257222
|
// Bug introduced from DeckGL v8.6.x to v8.8.x:
|
257099
257223
|
// Polygon vertices cannot be passed via Uint32Arrays, which is how they load via Zarr.
|
257100
257224
|
// For now, a workaround is to cast each vertex to a plain Array.
|
257101
|
-
data: arr.data.map((poly2) => poly2.map((
|
257225
|
+
data: arr.data.map((poly2) => poly2.map((vertex) => Array.from(vertex)))
|
257102
257226
|
}));
|
257103
257227
|
return this.segmentations;
|
257104
257228
|
}
|