@arcgis/core 5.2.0-next.136 → 5.2.0-next.138
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/analysis/LineOfSightAnalysisObserver.d.ts +12 -0
- package/analysis/LineOfSightAnalysisObserver.js +1 -1
- package/analysis/LineOfSightAnalysisTarget.d.ts +12 -0
- package/analysis/LineOfSightAnalysisTarget.js +1 -1
- package/arcade/featureset/sources/FeatureLayerParquet.js +1 -1
- package/arcgisGlobal.d.ts +4 -0
- package/assets/components/assets/icon/blockHeightMedium16.json +1 -0
- package/assets/components/assets/icon/blockHeightMedium24.json +1 -0
- package/assets/components/assets/icon/blockHeightMedium32.json +1 -0
- package/assets/components/assets/icon/blockHeightShort16.json +1 -0
- package/assets/components/assets/icon/blockHeightShort24.json +1 -0
- package/assets/components/assets/icon/blockHeightShort32.json +1 -0
- package/assets/components/assets/icon/blockHeightTall16.json +1 -0
- package/assets/components/assets/icon/blockHeightTall24.json +1 -0
- package/assets/components/assets/icon/blockHeightTall32.json +1 -0
- package/assets/components/assets/icon/cursorCircle16.json +1 -0
- package/assets/components/assets/icon/cursorCircle24.json +1 -0
- package/assets/components/assets/icon/cursorCircle32.json +1 -0
- package/assets/components/assets/icon/dictionary16.json +1 -0
- package/assets/components/assets/icon/dictionary24.json +1 -0
- package/assets/components/assets/icon/dictionary32.json +1 -0
- package/assets/components/assets/icon/jobDependency16.json +1 -0
- package/assets/components/assets/icon/jobDependency24.json +1 -0
- package/assets/components/assets/icon/jobDependency32.json +1 -0
- package/assets/components/assets/icon/referenceChip16.json +1 -0
- package/assets/components/assets/icon/referenceChip24.json +1 -0
- package/assets/components/assets/icon/referenceChip32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{4e6f95d8c624d513849a.js → 05963f57cbe5a5249496.js} +1 -1
- package/assets/esri/core/workers/chunks/{0b8681ca4a83e97f1f71.js → 067de1910190da228291.js} +1 -1
- package/assets/esri/core/workers/chunks/{3c0fd1c6cda44e9f40ab.js → 070684943698fa43c2b4.js} +1 -1
- package/assets/esri/core/workers/chunks/{bc1cb4b9a02e6c78deb7.js → 076e8d2e08ff2a013736.js} +1 -1
- package/assets/esri/core/workers/chunks/{c10e040368065411506a.js → 10445313d0d57b34511b.js} +1 -1
- package/assets/esri/core/workers/chunks/{d537c59b46cdaaf66034.js → 1188d0a136fffc009643.js} +1 -1
- package/assets/esri/core/workers/chunks/{20af3f085f60c32c6c53.js → 178083d8ed7707b45ca2.js} +1 -1
- package/assets/esri/core/workers/chunks/{f5efe3e800c6e23efcf3.js → 1819c45655c836b9a8d7.js} +1 -1
- package/assets/esri/core/workers/chunks/1b946714ca4a1a7359d4.js +2 -0
- package/assets/esri/core/workers/chunks/{d8d8b38ac8a91d9e45fc.js → 1cc744ab5eee5ee3bed8.js} +1 -1
- package/assets/esri/core/workers/chunks/{05e39b4de7f62c5b22cc.js → 20f75cc777af13fa249b.js} +1 -1
- package/assets/esri/core/workers/chunks/2a1ec30f9ad305763f81.js +2 -0
- package/assets/esri/core/workers/chunks/34570e6bbf559f18c1a5.js +1 -0
- package/assets/esri/core/workers/chunks/{60f6d5da9480dd36e877.js → 3dddae78286d05eb10fc.js} +1 -1
- package/assets/esri/core/workers/chunks/{9efd30bbd02ec0d1031b.js → 3ec3589f6e74d7cb87cf.js} +1 -1
- package/assets/esri/core/workers/chunks/{0bec054fca104f3bf141.js → 3f776d9fd2ab68b21fca.js} +1 -1
- package/assets/esri/core/workers/chunks/402a82c77420254831bc.js +1 -0
- package/assets/esri/core/workers/chunks/{e2ebf0ea3af2e6907987.js → 406f24ec13eb30d43405.js} +1 -1
- package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +1 -0
- package/assets/esri/core/workers/chunks/{ddedc414bb478b376221.js → 46b2d4addfc73f9183a4.js} +1 -1
- package/assets/esri/core/workers/chunks/498d6dfd3bb0d3490548.js +1 -0
- package/assets/esri/core/workers/chunks/{36ef86701883a20dd6f6.js → 4a640548032355e57acd.js} +1 -1
- package/assets/esri/core/workers/chunks/5566f14afb63065e438f.js +1 -0
- package/assets/esri/core/workers/chunks/{c3b96d1d43afccd23e45.js → 590e6c70206122e4cc3c.js} +2 -2
- package/assets/esri/core/workers/chunks/{54860dd53a46cf4c47f3.js → 59295b99bdff4045a0e7.js} +1 -1
- package/assets/esri/core/workers/chunks/5aeb5e18514644fe2cf9.js +1 -0
- package/assets/esri/core/workers/chunks/{5da86409d70098fc6a10.js → 5b3cfe95314a75a735c1.js} +1 -1
- package/assets/esri/core/workers/chunks/{a54678bfa0f1807b61cd.js → 5c855af73ee3c3e764fb.js} +1 -1
- package/assets/esri/core/workers/chunks/{06da3409992bb1fa85b0.js → 5e90c1b49f2b7e21d05a.js} +39 -31
- package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +1 -0
- package/assets/esri/core/workers/chunks/{30f808cac8a34f95ea6e.js → 6079d27f4ab319fb8f0c.js} +1 -1
- package/assets/esri/core/workers/chunks/66c2a28a851130b87c04.js +1 -0
- package/assets/esri/core/workers/chunks/{dac90b3631f7f7158f68.js → 67f15538c51838201fc7.js} +1 -1
- package/assets/esri/core/workers/chunks/{cfaba0470619786e1ef8.js → 68d8ae42ab71d01a70a5.js} +2 -2
- package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +1 -0
- package/assets/esri/core/workers/chunks/{864e7030c4ddbfcf0114.js → 6ccf9535013fe672c93b.js} +1 -1
- package/assets/esri/core/workers/chunks/{ba7f0cf7e495d3ec2d55.js → 6e62581d933e7298d1f6.js} +1 -1
- package/assets/esri/core/workers/chunks/{83b5dd4029e00abd80bf.js → 700b1d5bc67b7e1b3ff3.js} +1 -1
- package/assets/esri/core/workers/chunks/{f9fea72cc222a30ef2f9.js → 72399062767abdfb0bee.js} +1 -1
- package/assets/esri/core/workers/chunks/{2a7fbfd77002a24bf737.js → 747461bb6a1bc2f0a64d.js} +1 -1
- package/assets/esri/core/workers/chunks/{c333f6ed42985bb2b11f.js → 7851aef196eea5d6c94e.js} +1 -1
- package/assets/esri/core/workers/chunks/{f0b6bd6fab5320c3082f.js → 7a05b18f655c1167ce0a.js} +1 -1
- package/assets/esri/core/workers/chunks/{04296b75d0f81fbd1bb5.js → 864194927d05ebc4cc31.js} +1 -1
- package/assets/esri/core/workers/chunks/{3c4a13a9f0b305394a26.js → 876f7633c15f1e31078d.js} +1 -1
- package/assets/esri/core/workers/chunks/{62298dba3f6cbdc3f4ae.js → 879b2f0ff1977bca9376.js} +1 -1
- package/assets/esri/core/workers/chunks/{b547b3bce729c9dac90d.js → 898359be6996fd9763b8.js} +1 -1
- package/assets/esri/core/workers/chunks/8cb716f110d164030309.js +1 -0
- package/assets/esri/core/workers/chunks/8dc1c3042267618fd710.js +2 -0
- package/assets/esri/core/workers/chunks/{625f02db93d7fbf175ca.js → 9001e9a1e81bce175ddd.js} +1 -1
- package/assets/esri/core/workers/chunks/{9ffa6c8d93d3443834c6.js → 912080c90b5cc2e817cf.js} +1 -1
- package/assets/esri/core/workers/chunks/96c50a0dda0f1503ef92.js +2 -0
- package/assets/esri/core/workers/chunks/{13e4379441499599c3b5.js → 9cbde13e536676767900.js} +1 -1
- package/assets/esri/core/workers/chunks/{408db4f32850b77264ae.js → 9cd3fcb5fca6f9dbbcd8.js} +1 -1
- package/assets/esri/core/workers/chunks/a054da6cbd8ee4774a57.js +1 -0
- package/assets/esri/core/workers/chunks/a05790444115e4cf1bcc.js +1 -0
- package/assets/esri/core/workers/chunks/{d1f2685782b423ef87a6.js → a556dd4e9e6d35e33a2c.js} +1 -1
- package/assets/esri/core/workers/chunks/{00d576d355599c88931e.js → bc38def1983089514e4b.js} +1 -1
- package/assets/esri/core/workers/chunks/{0725e515f3004bdd5c56.js → ca2adcbcf44454484fd5.js} +1 -1
- package/assets/esri/core/workers/chunks/{f3507b9e831ffd7a6bf8.js → cca8bd07bcd1d267a2e8.js} +1 -1
- package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +1 -0
- package/assets/esri/core/workers/chunks/{1d6b2a64f4e40e5cc13d.js → d201fbf3ceff946d2bd6.js} +1 -1
- package/assets/esri/core/workers/chunks/{4439078780d9ba49fd26.js → d51bb11baadc741c46bc.js} +1 -1
- package/assets/esri/core/workers/chunks/db1ab9b9c8bf5c7635d3.js +1 -0
- package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +1 -0
- package/assets/esri/core/workers/chunks/e630f3c56c077cb2bd8e.js +1 -0
- package/assets/esri/core/workers/chunks/e81173724e8de8c1e65b.js +1 -0
- package/assets/esri/core/workers/chunks/{2025288bed125594ceda.js → f6e62d2d279a328cbed7.js} +1 -1
- package/assets/esri/core/workers/chunks/{47c19778fcee7154ca38.js → f8bc474434fd365ab174.js} +1 -1
- package/assets/esri/core/workers/chunks/{9a20dc26cb9c7b2087cf.js → f95a1f878c9c1146180e.js} +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ar.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bg.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ca.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.cs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.da.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.de.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.el.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.es.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.et.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.he.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hu.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.id.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.it.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ja.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ko.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lt.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.nl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.no.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-BR.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-PT.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ro.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ru.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.th.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.tr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.uk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.vi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-CN.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-HK.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ar.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.bg.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.bs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ca.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.cs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.da.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.de.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.el.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.es.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.et.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.fi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.fr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.he.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.hr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.hu.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.id.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.it.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ja.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ko.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.lt.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.lv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.nl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.no.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.pl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ro.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ru.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.sk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.sl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.sr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.sv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.th.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.tr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.uk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.vi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.zh-TW.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.en.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.no.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-TW.json +1 -1
- package/chunks/Bufferer-CclWhXVb.js +1 -1
- package/chunks/Component.glsl.js +3 -3
- package/chunks/DefaultMaterial.glsl.js +2 -2
- package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/Envelope2D.js +1 -1
- package/chunks/FocusArea.glsl.js +8 -10
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/GeometryCleaner-CIE8Wfmb.js +1 -1
- package/chunks/GlobalIllumination.glsl.js +3 -3
- package/chunks/LineMarker.glsl.js +35 -42
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorAffineTransform.js +1 -1
- package/chunks/OperatorClip.js +1 -1
- package/chunks/OperatorDensify.js +1 -1
- package/chunks/OperatorDistance.js +1 -1
- package/chunks/OperatorGeneralize.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticDistance.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorGraphicBuffer.js +1 -1
- package/chunks/OperatorIntegrate.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/Path.glsl.js +2 -2
- package/chunks/Point2D.js +1 -1
- package/chunks/RealisticTree.glsl.js +2 -2
- package/chunks/RibbonLine.glsl.js +51 -57
- package/chunks/SideCalculator2D-DX0718xq.js +1 -1
- package/chunks/Terrain.glsl.js +2 -2
- package/chunks/Transformation2D.js +1 -1
- package/chunks/UnitFactory.js +1 -1
- package/config.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/editing/fieldUtils.d.ts +12 -0
- package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorBoundary.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorConvexHull.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorLocateBetween.js +1 -1
- package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/isNearOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/ellipseUtils.js +2 -0
- package/interfaces.d.ts +15 -18
- package/kernel.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/list/LayerItemCollection.d.ts +1 -0
- package/layers/list/types.d.ts +5 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/queries.js +1 -1
- package/layers/support/TimeSeriesCalculation.d.ts +1 -1
- package/layers/support/TimeSeriesCalculation.js +1 -1
- package/layers/support/dataSeriesUtils.d.ts +10 -0
- package/layers/support/timeSeriesUtils.js +17 -6
- package/libs/lyr3d/Lyr3DModule.js +1 -1
- package/networks/UtilityNetwork.d.ts +15 -0
- package/networks/UtilityNetwork.js +1 -1
- package/package.json +4 -4
- package/popup/FeatureContent.d.ts +14 -1
- package/popup/FeatureContent.js +1 -1
- package/popup/FeatureContentCollection.d.ts +4 -10
- package/popup/FeatureContentCollection.js +1 -1
- package/popup/actions.js +1 -1
- package/popup/support/featureUtils.js +1 -1
- package/renderers/support/RenderingInfo.js +1 -1
- package/renderers/support/renderingInfoUtils.js +1 -1
- package/renderers/visualVariables/SizeVariable.d.ts +16 -20
- package/renderers/visualVariables/support/SizeStop.d.ts +6 -2
- package/rest/networks/support/TraceLocation.js +1 -1
- package/rest/networks/support/TraceResult.d.ts +7 -0
- package/rest/networks/support/TraceResult.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/opacity.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/timeSeriesUtils.js +1 -1
- package/smartMapping/statistics/histogramForTimeSeries.d.ts +11 -0
- package/smartMapping/statistics/histogramForTimeSeries.js +2 -0
- package/smartMapping/statistics/summaryStatisticsForTimeSeries.d.ts +11 -0
- package/smartMapping/statistics/summaryStatisticsForTimeSeries.js +2 -0
- package/smartMapping/statistics/support/timeSeriesUtils.js +24 -0
- package/smartMapping/statistics/types.d.ts +50 -0
- package/support/tests/serviceMockDependencies.js +1 -1
- package/support/tests/setupServiceMocksMesh.js +1 -1
- package/symbols/cim/CIMPlacements.js +1 -1
- package/symbols/cim/callouts/calloutAnalysisUtils.js +1 -1
- package/symbols/cim/callouts/effects/BackgroundCallout.js +1 -1
- package/symbols/cim/callouts/effects/BalloonCallout.js +1 -1
- package/symbols/cim/callouts/effects/PointSymbolCallout.js +1 -1
- package/symbols/cim/callouts/effects/calloutUtils.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/jobsUtil.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/ComputedAnimatedParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/layers/SketchLayerView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/labelingUtils.js +1 -1
- package/views/2d/layers/features/schema/ExceedsLimitCache.js +1 -1
- package/views/2d/layers/features/schema/TimeSchema.js +2 -0
- package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/MatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
- package/views/2d/layers/support/vectorTileDebugUtils.js +1 -1
- package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
- package/views/2d/types.d.ts +2 -1
- package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +24 -0
- package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedObserverManipulatedObject3D.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/camera/constraintUtils.js +1 -1
- package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +1 -1
- package/views/3d/input/handlers/ground/GroundNavigation.js +1 -1
- package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
- package/views/3d/interactive/placementTools/GroundNavigationPlacementTool3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
- package/views/3d/state/controllers/GroundNavigationController.js +1 -1
- package/views/3d/state/controllers/momentum/GroundNavigationMomentumController.js +1 -1
- package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
- package/views/3d/state/utils/groundNavigationUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +16 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +5 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +12 -0
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +2 -2
- package/views/3d/webgl-engine/effects/focusArea/FocusArea.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/SelectionManager.d.ts +3 -3
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/options/bindViewToolOptions.js +1 -1
- package/views/interactive/sketch/SketchLabelOptions.d.ts +3 -0
- package/views/interactive/sketch/SketchLabelOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +3 -0
- package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
- package/views/interactive/sketch/SketchValueOptions.d.ts +3 -0
- package/views/interactive/sketch/SketchValueOptions.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +3 -0
- package/views/interactive/snapping/SnappingOptions.js +1 -1
- package/views/interactive/snapping/snappingUtils.js +1 -1
- package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
- package/views/layers/SketchLayerView.d.ts +34 -0
- package/views/layers/SketchLayerView.js +2 -0
- package/views/layers/types.d.ts +3 -2
- package/views/selection/types.d.ts +15 -4
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.d.ts +4 -0
- package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +5 -1
- package/widgets/Bookmarks/types.d.ts +2 -0
- package/widgets/Editor/EditorViewModel.d.ts +31 -30
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/components/Settings.js +1 -1
- package/widgets/Editor/types.d.ts +44 -0
- package/widgets/Editor.d.ts +30 -27
- package/widgets/Editor.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.d.ts +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable.d.ts +6 -0
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Histogram/types.d.ts +10 -2
- package/widgets/HistogramRangeSlider/types.d.ts +4 -1
- package/widgets/LayerList/LayerListViewModel.d.ts +2 -1
- package/widgets/Legend/LegendViewModel.d.ts +2 -0
- package/widgets/Legend/styles/card/CardView.d.ts +2 -0
- package/widgets/Legend/styles/classic/ClassicView.d.ts +4 -1
- package/widgets/Legend.d.ts +3 -0
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.d.ts +7 -0
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/support/VideoFeatureCache.js +2 -0
- package/widgets/OrientedImageryViewer/types.d.ts +9 -0
- package/widgets/OrientedImageryViewer.d.ts +7 -0
- package/widgets/OrientedImageryViewer.js +2 -2
- package/widgets/PanoramicVideoViewer.js +1 -1
- package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
- package/widgets/ScaleRangeSlider/types.d.ts +9 -2
- package/widgets/Sketch/SketchViewModel.d.ts +32 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch.d.ts +27 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/Slider/types.d.ts +58 -13
- package/widgets/Slider.d.ts +6 -0
- package/widgets/smartMapping/BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.d.ts +3 -0
- package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/types.d.ts +30 -7
- package/widgets/support/FilterBuilder/FilterBuilderViewModel.d.ts +21 -11
- package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +1 -1
- package/widgets/support/FilterBuilder/types.d.ts +28 -0
- package/widgets/support/FilterBuilder.js +1 -1
- package/widgets/support/FilterCondition/FilterConditionViewModel.d.ts +24 -0
- package/widgets/support/FilterCondition/FilterConditionViewModel.js +1 -1
- package/widgets/support/FilterCondition/types.d.ts +16 -1
- package/widgets/support/FilterCondition.js +1 -1
- package/widgets/support/SnappingControls/snappingLayerListUtils.js +1 -1
- package/widgets/support/iconUtils.js +1 -1
- package/assets/esri/core/workers/chunks/0606ab6fdfc1dfea3856.js +0 -1
- package/assets/esri/core/workers/chunks/078dcd17f46403d44b24.js +0 -1
- package/assets/esri/core/workers/chunks/1289204f8ca96032c17a.js +0 -1
- package/assets/esri/core/workers/chunks/12b5a645c0987a0efe54.js +0 -2
- package/assets/esri/core/workers/chunks/152fe3d6ad7aebbd23d1.js +0 -1
- package/assets/esri/core/workers/chunks/17b938ba49fb1e7ab8c4.js +0 -1
- package/assets/esri/core/workers/chunks/1dbb3e25e005a8220779.js +0 -2
- package/assets/esri/core/workers/chunks/3d6fef25af7e1a51e1bd.js +0 -1
- package/assets/esri/core/workers/chunks/3ef367c9b7bf1588307d.js +0 -1
- package/assets/esri/core/workers/chunks/5f4feca26102088ea565.js +0 -1
- package/assets/esri/core/workers/chunks/74211d096cc3296e0968.js +0 -1
- package/assets/esri/core/workers/chunks/7926faab76a721a2e1c4.js +0 -1
- package/assets/esri/core/workers/chunks/ad28486bc6afaa346de5.js +0 -1
- package/assets/esri/core/workers/chunks/ad29c729e90b5866713c.js +0 -1
- package/assets/esri/core/workers/chunks/b72a2514aa4cc4ae7d1b.js +0 -1
- package/assets/esri/core/workers/chunks/bb51cf52b8ea8283f4f8.js +0 -1
- package/assets/esri/core/workers/chunks/be761749f8d77fbd9df5.js +0 -1
- package/assets/esri/core/workers/chunks/dbfd25aa0d19aed5890c.js +0 -1
- package/assets/esri/core/workers/chunks/de28a86775235bd5d3c4.js +0 -2
- package/assets/esri/core/workers/chunks/f6cfc901267a229de7a1.js +0 -2
- package/assets/esri/core/workers/chunks/fb147097149a89e671ff.js +0 -1
- package/support/revision.js +0 -2
- /package/assets/esri/core/workers/chunks/{1dbb3e25e005a8220779.js.LICENSE.txt → 1b946714ca4a1a7359d4.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{f6cfc901267a229de7a1.js.LICENSE.txt → 2a1ec30f9ad305763f81.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{c3b96d1d43afccd23e45.js.LICENSE.txt → 590e6c70206122e4cc3c.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{cfaba0470619786e1ef8.js.LICENSE.txt → 68d8ae42ab71d01a70a5.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{de28a86775235bd5d3c4.js.LICENSE.txt → 8dc1c3042267618fd710.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{12b5a645c0987a0efe54.js.LICENSE.txt → 96c50a0dda0f1503ef92.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{JSONSupport as t}from"../../../core/JSONSupport.js";import{property as n,subclass as r}from"../../../core/accessorSupport/decorators.js";import i from"../../../networks/support/CircuitPath.js";import a from"../circuits/support/CircuitTraceResult.js";import o from"./AggregatedGeometry.js";import s from"./FunctionResult.js";import c from"./NetworkElement.js";import l from"./TelecomNetworkElement.js";import{reader as u}from"../../../core/accessorSupport/decorators/reader.js";import{writer as d}from"../../../core/accessorSupport/decorators/writer.js";let f=class extends t{constructor(e){super(e),this.aggregatedGeometry=null,this.circuits=null,this.elements=null,this.globalFunctionResults=null,this.kFeaturesForKNNFound=!1,this.paths=null,this.startingPointsIgnored=!1,this.warnings=null}readNetworkElements(e,t){return t.elements!=null&&Array.isArray(t.elements)?t.elements.map(e=>{if(t.telecomSourceSet?.has(e.networkSourceId)){let{terminalId:t,...n}=e;return new l({...n})}let{firstUnit:n,lastUnit:r,...i}=e;return new c({...i})}):[]}writeNetworkElements(e,t){t.elements=e.map(e=>e.toJSON())}};e([n({type:o,json:{write:!0},readOnly:!0})],f.prototype,`aggregatedGeometry`,void 0),e([n({type:[a],json:{write:!0},readOnly:!0})],f.prototype,`circuits`,void 0),e([n({type:[c],json:{write:!0},readOnly:!0})],f.prototype,`elements`,void 0),e([u(`elements`)],f.prototype,`readNetworkElements`,null),e([d(`elements`)],f.prototype,`writeNetworkElements`,null),e([n({type:[s],json:{write:!0},readOnly:!0})],f.prototype,`globalFunctionResults`,void 0),e([n({type:Boolean,json:{write:!0},readOnly:!0})],f.prototype,`kFeaturesForKNNFound`,void 0),e([n({type:[i],json:{write:!0},readOnly:!0})],f.prototype,`paths`,void 0),e([n({type:Boolean,json:{write:!0},readOnly:!0})],f.prototype,`startingPointsIgnored`,void 0),e([n({type:[String],json:{write:!0},readOnly:!0})],f.prototype,`warnings`,void 0),f=e([r(`esri.rest.networks.support.TraceResult`)],f);export{f as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import{JSONSupport as t}from"../../../core/JSONSupport.js";import{property as n,subclass as r}from"../../../core/accessorSupport/decorators.js";import i from"../../../networks/support/CircuitPath.js";import a from"../circuits/support/CircuitTraceResult.js";import o from"./AggregatedGeometry.js";import s from"./FunctionResult.js";import c from"./NetworkElement.js";import l from"./TelecomNetworkElement.js";import{reader as u}from"../../../core/accessorSupport/decorators/reader.js";import{writer as d}from"../../../core/accessorSupport/decorators/writer.js";let f=class extends t{constructor(e){super(e),this.sourceJSON=null,this.aggregatedGeometry=null,this.circuits=null,this.elements=null,this.globalFunctionResults=null,this.kFeaturesForKNNFound=!1,this.paths=null,this.startingPointsIgnored=!1,this.warnings=null}read(e,t){this._set(`sourceJSON`,e),super.read(e,t)}readNetworkElements(e,t){return t.elements!=null&&Array.isArray(t.elements)?t.elements.map(e=>{if(t.telecomSourceSet?.has(e.networkSourceId)){let{terminalId:t,...n}=e;return new l({...n})}let{firstUnit:n,lastUnit:r,...i}=e;return new c({...i})}):[]}writeNetworkElements(e,t){t.elements=e.map(e=>e.toJSON())}};e([n({json:{read:!1},readOnly:!0})],f.prototype,`sourceJSON`,void 0),e([n({type:o,json:{write:!0},readOnly:!0})],f.prototype,`aggregatedGeometry`,void 0),e([n({type:[a],json:{write:!0},readOnly:!0})],f.prototype,`circuits`,void 0),e([n({type:[c],json:{write:!0},readOnly:!0})],f.prototype,`elements`,void 0),e([u(`elements`)],f.prototype,`readNetworkElements`,null),e([d(`elements`)],f.prototype,`writeNetworkElements`,null),e([n({type:[s],json:{write:!0},readOnly:!0})],f.prototype,`globalFunctionResults`,void 0),e([n({type:Boolean,json:{write:!0},readOnly:!0})],f.prototype,`kFeaturesForKNNFound`,void 0),e([n({type:[i],json:{write:!0},readOnly:!0})],f.prototype,`paths`,void 0),e([n({type:Boolean,json:{write:!0},readOnly:!0})],f.prototype,`startingPointsIgnored`,void 0),e([n({type:[String],json:{write:!0},readOnly:!0})],f.prototype,`warnings`,void 0),f=e([r(`esri.rest.networks.support.TraceResult`)],f);export{f as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{clone as n}from"../../core/lang.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/PointCloudRGBRenderer.js";import s from"../../renderers/PointCloudStretchRenderer.js";import c from"../../renderers/support/AuthoringInfo.js";import l from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as u,createColorStops as d}from"../../renderers/support/utils.js";import f from"../../renderers/visualVariables/ColorVariable.js";import p from"../../renderers/visualVariables/support/ColorStop.js";import m from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import h from"../heuristics/ageUnit.js";import g from"../heuristics/outline.js";import _ from"../heuristics/sizeRange.js";import{spliceVisualVariables as v,updateAuthoringInfoVisualVariable as y,processRegenerateParams as b,getRendererToUpdate as x,getStyleType as S,hasOutlineVV as C,hasScaleDependentSizeVV as w,findColorVVIndex as T,findOutlineVVIndex as E,findScaleDependentSizeVVIndex as D}from"./support/regenerateUtils.js";import{getTimeSeriesSummaryStatistics as O,resolveDataSeriesInfo as k}from"./support/timeSeriesUtils.js";import{errorCallback as A,getTitleAndExpressionForAgeRenderer as j,updateAgeRendererAuthoringInfoVV as M,getClassBreaks as N,getSummaryStatistics as P,getPointSizeAlgorithm as F,createSymbol as I,getSymbolOutlineFromScheme as L,getSymbolSizeFromScheme as R,verifyBasicFieldValidity as z,isValidPointSize as ee,getDefaultDataRange as te,createDefaultStopValues as ne,createStopValues as re,getDataRange as ie,createDataValues as ae,getBasemapInfo as oe}from"./support/utils.js";import{verifyDates as se,supportedAgeUnits as B}from"../statistics/support/ageUtils.js";import{verifyBinningParams as V}from"../support/binningUtils.js";import{isAnyDateField as H,getNormalizationType as ce,getFieldsList as U}from"../support/utils.js";import{createLayerAdapter as W,featureCapableLayerTypes as G,getLayerTypeLabels as K,binningCapableLayerTypes as q}from"../support/adapters/support/layerUtils.js";import{cloneScheme as J,createScheme as le,getSchemes as ue,getSchemeById as de}from"../symbology/color.js";import{getColorSchemeDefinition as fe}from"../symbology/support/utils.js";const pe=2**53-1;async function me(e){let n=k({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`color-visual-variable`);let r={...n},i=n.forBinning?q:G,a=W(r.layer,i,n.forBinning);if(!a)throw new t(`color-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+K(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};if(await a.load(o),a.geometryType!==`mesh`&&r.worldScale&&r.view?.type!==`3d`)throw new t(`color-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`);let s=await U({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),c=z(a,s,`color-visual-variable:invalid-parameters`);if(c)throw c;return{...r,layer:a}}async function he(e){let n=k({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`color-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?q:G,a=W(r.layer,i,n.forBinning);if(!a)throw new t(`color-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+K(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled;let c=`featureReduction`in r.layer&&r.layer.featureReduction?.type===`cluster`;if(r.sizeOptimizationEnabled=(s===`point`||s===`multipoint`||s===`polyline`)&&!c&&r.sizeOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let l=await U({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=z(a,l,`color-continuous-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}async function ge(e){let n=k({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`color-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`color-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`color-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=ce(r);let i=n.forBinning?q:G,a=W(r.layer,i,n.forBinning);if(!a)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+K(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`color-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-class-breaks-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let c=await U({field:r.field,normalizationField:r.normalizationField}),l=z(a,c,`color-class-breaks-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}function _e(e){let t={...e};delete t.basemap,delete t.colorScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}async function ve(e){if(!e?.layer)throw new t(`color-point-cloud-true-color-renderer:missing-parameters`,`'layer' parameter is required`);let n={...e,layer:e.layer},r=[10],i=W(n.layer,r);if(!i)throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`'layer' must be one of these types: `+K(r).join(`, `));if(n.layer=i,n.density=n.density||25,n.size=n.size||`100%`,!ee(n.size))throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let a=n.signal==null?null:{signal:n.signal};return await i.load(a),n}async function ye(e){if(!(e?.layer&&e.field))throw new t(`color-point-cloud-continuous-renderer:missing-parameters`,`'layer' and 'field' parameters are required`);let n=e.field.toLowerCase();if(n!==`intensity`&&n!==`elevation`)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'field' should be either 'intensity' or 'elevation'`);let r={...e,layer:e.layer,field:e.field},i=[10],a=W(r.layer,i);if(!a)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+K(i).join(`, `));if(r.layer=a,r.density=r.density||25,r.size=r.size||`100%`,!ee(r.size))throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let o=r.signal==null?null:{signal:r.signal};return await a.load(o),r}function Y(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`);delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let r=t;return r.worldScale=n,r}async function be(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`color-age-renderer:missing-parameters`,`'layer', 'view', startTime', 'endTime' parameters are required`);let n={...e};n.symbolType=n.symbolType||`2d`,n.defaultSymbolEnabled??=!0;let r=W(n.layer,G);if(!r)throw new t(`color-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+K(G).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType;n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled;let o=`featureReduction`in n.layer&&n.layer.featureReduction?.type===`cluster`;if(n.sizeOptimizationEnabled=(a===`point`||a===`multipoint`||a===`polyline`)&&!o&&n.sizeOptimizationEnabled,a===`mesh`)n.symbolType=`3d-volumetric`,n.colorMixMode=n.colorMixMode||`replace`,n.edgesType=n.edgesType||`none`;else if(n.symbolType===`3d-volumetric-uniform`&&a!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`color-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let s=se(r,n.startTime,n.endTime,`color-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!B.includes(n.unit))throw new t(`color-age-renderer:invalid-unit`,`Supported units are: ${B.join(`, `)}`);return{...n,layer:r}}async function xe(e){let n=`regenerate-color-visual-variable`;await b(e,n);let r=await x(e);if(r?.type!==`class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer must be a ClassBreaksRenderer to regenerate a color visual variable`);let i=r.authoringInfo,a=i?.visualVariables.find(e=>e.type===`color`),o=r.visualVariables?.find(e=>e.type===`color`);if(!o)throw new t(`${n}:invalid-parameters`,`Renderer does not have a color visual variable`);let{field:s,normalizationField:c,valueExpression:l,valueExpressionTitle:u}=o,d=i?.type===`univariate-color-size`?i?.univariateTheme:a?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=a?.dataSeriesName,v=a?.dataSeriesCalculationName,y=await me({layer:f,field:s,valueExpression:l,valueExpressionTitle:u,normalizationField:c,theme:d,forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function Se(e){let n=`regenerate-color-continuous-renderer`;await b(e,n);let r=await x(e),i=S(r);if(!i||![`color-continuous`,`color-size`].includes(i))throw new t(`${n}:invalid-renderer`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`color`),d=u?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u?.dataSeriesName,v=u?.dataSeriesCalculationName,y=await he({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function Ce(e){let n=`regenerate-color-class-breaks-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,w=i?.dataSeriesCalculationName,T=await ge({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:C(r),defaultSymbolEnabled:!!r.defaultSymbol,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:w,filter:g,view:_,signal:v});return{...e,creatorParameters:T,renderer:r}}async function we(e){let n=`regenerate-color-age-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`color`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await be({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function X(e,t){let n=e.colorScheme,r=null,i=null,{view:a}=e,o=await oe(e.basemap,a);if(r=o.basemapId==null?null:o.basemapId,i=o.basemapTheme==null?null:o.basemapTheme,n)return{scheme:J(n),basemapId:r,basemapTheme:i};let s=e.theme||`high-to-low`,c=ue({theme:s,basemapTheme:i,geometryType:e.geometryType,worldScale:e.worldScale,view:a});if(c){if(r=c.basemapId,i=c.basemapTheme,e.schemeId){let t=s+`/`+r+`/`+e.schemeId;n=de({id:t,geometryType:e.geometryType})}else n=c.primaryScheme}return{scheme:n,basemapId:r,basemapTheme:i}}function Te(e,t){let n=fe(e);return le({geometryType:t},void 0,n.commonProps,n.colorRampInfo)}async function Ee(n,r){let i=r.layer,a=await X({basemap:r.basemap,colorScheme:r.colorScheme,geometryType:i.geometryType,schemeId:r.field.toLowerCase()===`elevation`?`point-cloud-elevation-scheme`:`point-cloud-intensity-scheme`}),o=a.scheme;if(!o)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Unable to find color scheme`);let s=e(o.colors,5);if(s.length<5)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Color scheme does not have enough colors`);let c=te(n,!1,!0),l=c?ne(c[0],c[1],5):re(n);return{stops:d({values:l,isDate:!1,colors:s,labelIndexes:[0,2,4]}),basemapId:a.basemapId,basemapTheme:a.basemapTheme,statistics:n,defaultValuesUsed:!!c,colorScheme:J(o)}}function De(e,t,n,r){let i=ie(e,t,n,!0);return{values:ae(i,e,t,r),defaultValuesUsed:i.defaultValuesUsed}}async function Oe(n,i,a,o){let{field:s,theme:u}=n,d=await X({basemap:n.basemap,theme:n.theme,geometryType:a,colorScheme:n.colorScheme,worldScale:n.worldScale,view:n.view}),h=d.scheme;if(!h)throw new t(`color-visual-variable:insufficient-info`,`Unable to find color scheme`);let g=e(h.colors,5);if(g.length<5)throw new t(`color-visual-variable:insufficient-info`,`Color scheme does not have enough colors`);let{values:_,defaultValuesUsed:v}=De(i,u,o,h.id.includes(`seq-`)),y=e(g,5),b=new f({field:s??void 0,valueExpression:n.valueExpression,valueExpressionTitle:n.valueExpressionTitle,normalizationField:n.normalizationField,stops:_.map((e,t)=>new p({value:e,color:y[t]})),legendOptions:r(m,n.legendOptions)}),x=new l({type:`color`,minSliderValue:n.minValue==null?i.min:n.minValue,maxSliderValue:n.maxValue==null?i.max:n.maxValue,theme:h.theme,dataSeriesName:n.dataSeriesName,dataSeriesCalculationName:n.dataSeriesCalculationName}),S=new c({visualVariables:[x]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:b,statistics:i,defaultValuesUsed:v,colorScheme:J(h),authoringInfo:S}}async function ke(e,t,n,r,o,s,c){let l=await i(`esri/smartMapping/t9n/smartMapping`),{field:u,defaultSymbolEnabled:d}=c,f=J(e.colorScheme),p=t?.opacity,m=[e.visualVariable.clone()];return t?.visualVariables?.length&&m.push(...t.visualVariables.map(e=>e.clone())),n?.minSize&&m.push(n.minSize),{renderer:new a({classBreakInfos:[{minValue:-pe,maxValue:pe,symbol:I(s,{type:c.symbolType,color:f.noDataColor,size:R(f,s),outline:L(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}})}],defaultLabel:d?l.other:null,defaultSymbol:d?I(s,{type:c.symbolType,color:f.noDataColor,size:R(f,s),outline:L(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}}):null,field:u,normalizationType:r,normalizationField:o,valueExpression:c.valueExpression,valueExpressionTitle:c.valueExpressionTitle,visualVariables:m,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:J(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function Z(e){let t=await me(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,filter:u,statistics:d,dataSeriesName:f,dataSeriesCalculationName:p}=t,m=c?`field`:void 0,h=await(d??(f?O({layer:s,view:n,signal:l,dataSeriesName:f,dataSeriesCalculationName:p,filter:u}):P({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:m,normalizationField:c,minValue:a,maxValue:o,filter:u,view:n,signal:l}))),g=s,_=r&&typeof r!=`function`?g.getField(r):null;return await Oe(t,h,g.geometryType,H(_))}async function Q(t){let{view:n,filter:r,creatorParameters:i,renderer:a,signal:o}=await xe(t),s=a.authoringInfo?.clone(),c=s?.visualVariables.find(e=>e.type===`color`),l=a.visualVariables?.find(e=>e.type===`color`),{field:u,normalizationField:d,valueExpression:f,valueExpressionTitle:m,theme:h,layer:g,dataSeriesName:_,dataSeriesCalculationName:v}=i,y=_?await O({layer:g,view:n,signal:o,dataSeriesName:_,dataSeriesCalculationName:v,filter:r}):await P({layer:g,field:u,valueExpression:f,normalizationField:d,filter:r,view:n,signal:o}),b=u&&typeof u!=`function`?g.getField(u):null,{values:x}=De(y,h,H(b),h===`high-to-low`);if(x.length===l.stops.length)l.stops.forEach((e,t)=>e.value=x[t]);else{let t=l.stops.map(e=>e.color),n=e(t,5);l.stops=x.map((e,t)=>new p({value:e,color:n[t]}))}return _&&(l.valueExpression=f??null,l.valueExpressionTitle=m??null,c&&(c.dataSeriesName=_,c.dataSeriesCalculationName=v)),c&&(c.minSliderValue=y.min,c.maxSliderValue=y.max),{visualVariable:l,authoringInfo:s,statistics:y}}function Ae(t,r){let i=t.colorsForClassBreaks;if(i?.length){for(let e of i)if(e.numClasses===r)return n(e.colors)}return e(t.colors,r)}async function $(e,n){let r=await i(`esri/smartMapping/t9n/smartMapping`),o=e.layer,s=e.defaultSymbolEnabled,l=o.geometryType,d=e.classificationMethod,f=d===`standard-deviation`,p=await X({basemap:e.basemap,geometryType:l,theme:f?`above-and-below`:null,colorScheme:e.colorScheme,worldScale:!!e.symbolType?.includes(`3d-volumetric`),view:e.view}),m=p.scheme,{result:h,outlineResult:g}=n,_=h.classBreakInfos,v=e.normalizationType;if(!m)throw new t(`color-class-breaks-renderer:insufficient-info`,`Unable to find color scheme`);let y=Ae(m,_.length);if(!y||y.length!==_.length)throw new t(`color-class-breaks-renderer:insufficient-info`,`Color scheme does not have enough colors`);let b=g?.opacity,x=new a({classBreakInfos:_.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:I(l,{type:e.symbolType,color:y[n],size:R(m,l),outline:L(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:t.label})),defaultLabel:s?r.other:null,defaultSymbol:s?I(l,{type:e.symbolType,color:m.noDataColor,size:R(m,l),outline:L(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?h.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new c({type:`class-breaks-color`,classificationMethod:d,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return f||u({classBreakInfos:x.classBreakInfos,classificationMethod:d,normalizationType:v,round:!0}),g?.visualVariables?.length&&(x.visualVariables=g.visualVariables.map(e=>e.clone())),{renderer:x,colorScheme:J(m),classBreaksResult:h,defaultValuesUsed:n.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function je(e){let t=await he(e),{layer:n,view:r,signal:i,filter:a}=t,[o,s,c]=await Promise.all([Z(Y(t)),t.outlineOptimizationEnabled?g({layer:n,view:r,signal:i,filter:a}).catch(A):null,t.sizeOptimizationEnabled?_({layer:n,view:r,signal:i,filter:a}).catch(A):null]),l=t.normalizationField;return ke(o,s,c,l?`field`:void 0,l,n.geometryType,t)}async function Me(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a}=await Se(e),{layer:o,outlineOptimizationEnabled:s,sizeOptimizationEnabled:c,valueExpression:l,valueExpressionTitle:u}=a,[d,f,p]=await Promise.all([Q(e),s?g({layer:o,view:n,signal:r,filter:i}).catch(A):null,c?_({layer:o,view:n,signal:r,filter:i}).catch(A):null]);return v(t,d.visualVariable,T),v(t,f?.visualVariables,E),v(t,p?.minSize,D),a.dataSeriesName&&(t.valueExpression=l??null,t.valueExpressionTitle=u??null),y(t,d.authoringInfo,`color`),{renderer:t}}async function Ne(e){let t=await ge(e);return $(t,await N(_e(t),t.outlineOptimizationEnabled))}async function Pe(e){let{renderer:t,creatorParameters:n}=await Ce(e),{normalizationType:r,outlineOptimizationEnabled:i,classificationMethod:a,valueExpression:o,valueExpressionTitle:s}=n;if(a===`manual`)return{renderer:t};let c=await N(_e(n),i),l=c.result.classBreakInfos;if(n.numClasses!==l.length){let e=Te(t.classBreakInfos.map(e=>e.symbol),n.layer.geometryType);return{renderer:(await $({...n,colorScheme:e},c)).renderer}}return t.classBreakInfos.forEach((e,t)=>{e.minValue=l[t].minValue,e.maxValue=l[t].maxValue,e.label=l[t].label}),t.normalizationTotal=r===`percent-of-total`?c.result.normalizationTotal:void 0,a!==`standard-deviation`&&u({classBreakInfos:t.classBreakInfos,classificationMethod:a,normalizationType:r,round:!0}),v(t,c.outlineResult?.visualVariables,E),n.dataSeriesName&&(t.valueExpression=o??null,t.valueExpressionTitle=s??null),{renderer:t}}function Fe(e){return ve(e).then(e=>({renderer:new o({field:`RGB`,pointsPerInch:e.density??void 0,pointSizeAlgorithm:F(e.size)})}))}async function Ie(e){let t=await ye(e),n=await Ee(t.statistics??await P({layer:t.layer,field:t.field,signal:t.signal}),t);return{renderer:new s({field:t.field,pointsPerInch:t.density??void 0,pointSizeAlgorithm:F(t.size),stops:n.stops}),basemapId:n.basemapId,basemapTheme:n.basemapTheme,statistics:n.statistics,defaultValuesUsed:n.defaultValuesUsed,colorScheme:n.colorScheme}}async function Le(e){let t=await be(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,colorMixMode:s,edgesType:c,minValue:l,maxValue:u,signal:d,filter:f}=t,p=t.layer,[m,v,y]=await Promise.all([t.unit?{unit:t.unit,statistics:null}:h({view:r,layer:p,startTime:i,endTime:a,minValue:l,maxValue:u,signal:d,filter:f}),t.outlineOptimizationEnabled?g({layer:p,view:r,signal:d,filter:f}).catch(A):null,t.sizeOptimizationEnabled?_({layer:p,view:r,signal:d,filter:f}).catch(A):null]),{unit:b,statistics:x}=m,{valueExpression:S,title:C}=await j(t,b),w=await Z(Y({layer:p,basemap:t.basemap,valueExpression:S,symbolType:o,statistics:x,legendOptions:{title:C},colorScheme:t.colorScheme,theme:t.theme,view:r,minValue:t.minValue,maxValue:t.maxValue,filter:f,signal:d})),T={valueExpression:S,defaultSymbolEnabled:n,symbolType:o,colorMixMode:s,edgesType:c},E=await ke(w,v,y,null,null,p.geometryType,T);return(E.renderer.authoringInfo?.visualVariables)?.forEach(e=>M(e,i,a,b)),{...E,unit:b}}async function Re(e){let{renderer:t,creatorParameters:n}=await we(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p,m]=await Promise.all([h({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?g({layer:r,view:l,signal:u,filter:d}).catch(A):null,a?_({layer:r,view:l,signal:u,filter:d}).catch(A):null]),{unit:y,statistics:b}=f,{valueExpression:x,title:S}=await j(n,y),C=await Z(Y({layer:r,valueExpression:x,statistics:b,legendOptions:{title:S},theme:c,view:l,filter:d,signal:u}));return v(t,C.visualVariable,T),v(t,p?.visualVariables,E),v(t,m?.minSize,D),t.authoringInfo=C.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>M(e,o,s,y)),{renderer:t}}export{Le as createAgeRenderer,Ne as createClassBreaksRenderer,je as createContinuousRenderer,Ie as createPCContinuousRenderer,Fe as createPCTrueColorRenderer,Z as createVisualVariable,Re as regenerateAgeRenderer,Pe as regenerateClassBreaksRenderer,Me as regenerateContinuousRenderer,Q as regenerateVisualVariable};
|
|
2
|
+
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{clone as n}from"../../core/lang.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/PointCloudRGBRenderer.js";import s from"../../renderers/PointCloudStretchRenderer.js";import c from"../../renderers/support/AuthoringInfo.js";import l from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as u,createColorStops as d}from"../../renderers/support/utils.js";import f from"../../renderers/visualVariables/ColorVariable.js";import p from"../../renderers/visualVariables/support/ColorStop.js";import m from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import h from"../heuristics/ageUnit.js";import g from"../heuristics/outline.js";import _ from"../heuristics/sizeRange.js";import{spliceVisualVariables as v,updateAuthoringInfoVisualVariable as y,processRegenerateParams as b,getRendererToUpdate as x,getStyleType as S,hasOutlineVV as C,hasScaleDependentSizeVV as w,findColorVVIndex as T,findOutlineVVIndex as E,findScaleDependentSizeVVIndex as D}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as O}from"./support/timeSeriesUtils.js";import{errorCallback as k,getTitleAndExpressionForAgeRenderer as A,updateAgeRendererAuthoringInfoVV as j,getClassBreaks as M,getSummaryStatistics as N,getPointSizeAlgorithm as P,createSymbol as F,getSymbolOutlineFromScheme as I,getSymbolSizeFromScheme as L,verifyBasicFieldValidity as R,isValidPointSize as z,getDefaultDataRange as ee,createDefaultStopValues as te,createStopValues as ne,getDataRange as re,createDataValues as ie,getBasemapInfo as ae}from"./support/utils.js";import B from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyDates as oe,supportedAgeUnits as V}from"../statistics/support/ageUtils.js";import{verifyBinningParams as H}from"../support/binningUtils.js";import{isAnyDateField as U,getNormalizationType as se,getFieldsList as W}from"../support/utils.js";import{createLayerAdapter as G,featureCapableLayerTypes as K,getLayerTypeLabels as q,binningCapableLayerTypes as J}from"../support/adapters/support/layerUtils.js";import{cloneScheme as Y,createScheme as ce,getSchemes as le,getSchemeById as ue}from"../symbology/color.js";import{getColorSchemeDefinition as de}from"../symbology/support/utils.js";const fe=2**53-1;async function pe(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-visual-variable`);let r={...n},i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};if(await a.load(o),a.geometryType!==`mesh`&&r.worldScale&&r.view?.type!==`3d`)throw new t(`color-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`);let s=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),c=R(a,s,`color-visual-variable:invalid-parameters`);if(c)throw c;return{...r,layer:a}}async function me(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled;let c=`featureReduction`in r.layer&&r.layer.featureReduction?.type===`cluster`;if(r.sizeOptimizationEnabled=(s===`point`||s===`multipoint`||s===`polyline`)&&!c&&r.sizeOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let l=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=R(a,l,`color-continuous-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}async function he(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`color-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`color-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=se(r);let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`color-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-class-breaks-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let c=await W({field:r.field,normalizationField:r.normalizationField}),l=R(a,c,`color-class-breaks-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}function ge(e){let t={...e};delete t.basemap,delete t.colorScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}async function _e(e){if(!e?.layer)throw new t(`color-point-cloud-true-color-renderer:missing-parameters`,`'layer' parameter is required`);let n={...e,layer:e.layer},r=[10],i=G(n.layer,r);if(!i)throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(r).join(`, `));if(n.layer=i,n.density=n.density||25,n.size=n.size||`100%`,!z(n.size))throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let a=n.signal==null?null:{signal:n.signal};return await i.load(a),n}async function ve(e){if(!(e?.layer&&e.field))throw new t(`color-point-cloud-continuous-renderer:missing-parameters`,`'layer' and 'field' parameters are required`);let n=e.field.toLowerCase();if(n!==`intensity`&&n!==`elevation`)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'field' should be either 'intensity' or 'elevation'`);let r={...e,layer:e.layer,field:e.field},i=[10],a=G(r.layer,i);if(!a)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if(r.layer=a,r.density=r.density||25,r.size=r.size||`100%`,!z(r.size))throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let o=r.signal==null?null:{signal:r.signal};return await a.load(o),r}function X(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`);delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let r=t;return r.worldScale=n,r}async function ye(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`color-age-renderer:missing-parameters`,`'layer', 'view', startTime', 'endTime' parameters are required`);let n={...e};n.symbolType=n.symbolType||`2d`,n.defaultSymbolEnabled??=!0;let r=G(n.layer,K);if(!r)throw new t(`color-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(K).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType;n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled;let o=`featureReduction`in n.layer&&n.layer.featureReduction?.type===`cluster`;if(n.sizeOptimizationEnabled=(a===`point`||a===`multipoint`||a===`polyline`)&&!o&&n.sizeOptimizationEnabled,a===`mesh`)n.symbolType=`3d-volumetric`,n.colorMixMode=n.colorMixMode||`replace`,n.edgesType=n.edgesType||`none`;else if(n.symbolType===`3d-volumetric-uniform`&&a!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`color-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let s=oe(r,n.startTime,n.endTime,`color-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!V.includes(n.unit))throw new t(`color-age-renderer:invalid-unit`,`Supported units are: ${V.join(`, `)}`);return{...n,layer:r}}async function be(e){let n=`regenerate-color-visual-variable`;await b(e,n);let r=await x(e);if(r?.type!==`class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer must be a ClassBreaksRenderer to regenerate a color visual variable`);let i=r.authoringInfo,a=i?.visualVariables.find(e=>e.type===`color`),o=r.visualVariables?.find(e=>e.type===`color`);if(!o)throw new t(`${n}:invalid-parameters`,`Renderer does not have a color visual variable`);let{field:s,normalizationField:c,valueExpression:l,valueExpressionTitle:u}=o,d=i?.type===`univariate-color-size`?i?.univariateTheme:a?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=a?.dataSeriesName,v=a?.dataSeriesCalculationName,y=await pe({layer:f,field:s,valueExpression:l,valueExpressionTitle:u,normalizationField:c,theme:d,forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function xe(e){let n=`regenerate-color-continuous-renderer`;await b(e,n);let r=await x(e),i=S(r);if(!i||![`color-continuous`,`color-size`].includes(i))throw new t(`${n}:invalid-renderer`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`color`),d=u?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u?.dataSeriesName,v=u?.dataSeriesCalculationName,y=await me({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function Se(e){let n=`regenerate-color-class-breaks-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,w=i?.dataSeriesCalculationName,T=await he({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:C(r),defaultSymbolEnabled:!!r.defaultSymbol,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:w,filter:g,view:_,signal:v});return{...e,creatorParameters:T,renderer:r}}async function Ce(e){let n=`regenerate-color-age-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`color`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await ye({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function Z(e,t){let n=e.colorScheme,r=null,i=null,{view:a}=e,o=await ae(e.basemap,a);if(r=o.basemapId==null?null:o.basemapId,i=o.basemapTheme==null?null:o.basemapTheme,n)return{scheme:Y(n),basemapId:r,basemapTheme:i};let s=e.theme||`high-to-low`,c=le({theme:s,basemapTheme:i,geometryType:e.geometryType,worldScale:e.worldScale,view:a});if(c){if(r=c.basemapId,i=c.basemapTheme,e.schemeId){let t=s+`/`+r+`/`+e.schemeId;n=ue({id:t,geometryType:e.geometryType})}else n=c.primaryScheme}return{scheme:n,basemapId:r,basemapTheme:i}}function we(e,t){let n=de(e);return ce({geometryType:t},void 0,n.commonProps,n.colorRampInfo)}async function Te(n,r){let i=r.layer,a=await Z({basemap:r.basemap,colorScheme:r.colorScheme,geometryType:i.geometryType,schemeId:r.field.toLowerCase()===`elevation`?`point-cloud-elevation-scheme`:`point-cloud-intensity-scheme`}),o=a.scheme;if(!o)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Unable to find color scheme`);let s=e(o.colors,5);if(s.length<5)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Color scheme does not have enough colors`);let c=ee(n,!1,!0),l=c?te(c[0],c[1],5):ne(n);return{stops:d({values:l,isDate:!1,colors:s,labelIndexes:[0,2,4]}),basemapId:a.basemapId,basemapTheme:a.basemapTheme,statistics:n,defaultValuesUsed:!!c,colorScheme:Y(o)}}function Ee(e,t,n,r){let i=re(e,t,n,!0);return{values:ie(i,e,t,r),defaultValuesUsed:i.defaultValuesUsed}}async function De(n,i,a,o){let{field:s,theme:u}=n,d=await Z({basemap:n.basemap,theme:n.theme,geometryType:a,colorScheme:n.colorScheme,worldScale:n.worldScale,view:n.view}),h=d.scheme;if(!h)throw new t(`color-visual-variable:insufficient-info`,`Unable to find color scheme`);let g=e(h.colors,5);if(g.length<5)throw new t(`color-visual-variable:insufficient-info`,`Color scheme does not have enough colors`);let{values:_,defaultValuesUsed:v}=Ee(i,u,o,h.id.includes(`seq-`)),y=e(g,5),b=new f({field:s??void 0,valueExpression:n.valueExpression,valueExpressionTitle:n.valueExpressionTitle,normalizationField:n.normalizationField,stops:_.map((e,t)=>new p({value:e,color:y[t]})),legendOptions:r(m,n.legendOptions)}),x=new l({type:`color`,minSliderValue:n.minValue==null?i.min:n.minValue,maxSliderValue:n.maxValue==null?i.max:n.maxValue,theme:h.theme,dataSeriesName:n.dataSeriesName,dataSeriesCalculationName:n.dataSeriesCalculationName}),S=new c({visualVariables:[x]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:b,statistics:i,defaultValuesUsed:v,colorScheme:Y(h),authoringInfo:S}}async function Oe(e,t,n,r,o,s,c){let l=await i(`esri/smartMapping/t9n/smartMapping`),{field:u,defaultSymbolEnabled:d}=c,f=Y(e.colorScheme),p=t?.opacity,m=[e.visualVariable.clone()];return t?.visualVariables?.length&&m.push(...t.visualVariables.map(e=>e.clone())),n?.minSize&&m.push(n.minSize),{renderer:new a({classBreakInfos:[{minValue:-fe,maxValue:fe,symbol:F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}})}],defaultLabel:d?l.other:null,defaultSymbol:d?F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}}):null,field:u,normalizationType:r,normalizationField:o,valueExpression:c.valueExpression,valueExpressionTitle:c.valueExpressionTitle,visualVariables:m,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:Y(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function Q(e){let t=await pe(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,filter:u,statistics:d,dataSeriesName:f,dataSeriesCalculationName:p}=t,m=c?`field`:void 0,h=await(d??(f?B({layer:s,view:n,signal:l,timeSeriesName:f,timeSeriesCalculationName:p,filter:u}):N({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:m,normalizationField:c,minValue:a,maxValue:o,filter:u,view:n,signal:l}))),g=s,_=r&&typeof r!=`function`?g.getField(r):null;return await De(t,h,g.geometryType,U(_))}async function ke(t){let{view:n,filter:r,creatorParameters:i,renderer:a,signal:o}=await be(t),s=a.authoringInfo?.clone(),c=s?.visualVariables.find(e=>e.type===`color`),l=a.visualVariables?.find(e=>e.type===`color`),{field:u,normalizationField:d,valueExpression:f,valueExpressionTitle:m,theme:h,layer:g,dataSeriesName:_,dataSeriesCalculationName:v}=i,y=_?await B({layer:g,view:n,signal:o,timeSeriesName:_,timeSeriesCalculationName:v,filter:r}):await N({layer:g,field:u,valueExpression:f,normalizationField:d,filter:r,view:n,signal:o}),b=u&&typeof u!=`function`?g.getField(u):null,{values:x}=Ee(y,h,U(b),h===`high-to-low`);if(x.length===l.stops.length)l.stops.forEach((e,t)=>e.value=x[t]);else{let t=l.stops.map(e=>e.color),n=e(t,5);l.stops=x.map((e,t)=>new p({value:e,color:n[t]}))}return _&&(l.valueExpression=f??null,l.valueExpressionTitle=m??null,c&&(c.dataSeriesName=_,c.dataSeriesCalculationName=v)),c&&(c.minSliderValue=y.min,c.maxSliderValue=y.max),{visualVariable:l,authoringInfo:s,statistics:y}}function Ae(t,r){let i=t.colorsForClassBreaks;if(i?.length){for(let e of i)if(e.numClasses===r)return n(e.colors)}return e(t.colors,r)}async function $(e,n){let r=await i(`esri/smartMapping/t9n/smartMapping`),o=e.layer,s=e.defaultSymbolEnabled,l=o.geometryType,d=e.classificationMethod,f=d===`standard-deviation`,p=await Z({basemap:e.basemap,geometryType:l,theme:f?`above-and-below`:null,colorScheme:e.colorScheme,worldScale:!!e.symbolType?.includes(`3d-volumetric`),view:e.view}),m=p.scheme,{result:h,outlineResult:g}=n,_=h.classBreakInfos,v=e.normalizationType;if(!m)throw new t(`color-class-breaks-renderer:insufficient-info`,`Unable to find color scheme`);let y=Ae(m,_.length);if(!y||y.length!==_.length)throw new t(`color-class-breaks-renderer:insufficient-info`,`Color scheme does not have enough colors`);let b=g?.opacity,x=new a({classBreakInfos:_.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:F(l,{type:e.symbolType,color:y[n],size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:t.label})),defaultLabel:s?r.other:null,defaultSymbol:s?F(l,{type:e.symbolType,color:m.noDataColor,size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?h.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new c({type:`class-breaks-color`,classificationMethod:d,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return f||u({classBreakInfos:x.classBreakInfos,classificationMethod:d,normalizationType:v,round:!0}),g?.visualVariables?.length&&(x.visualVariables=g.visualVariables.map(e=>e.clone())),{renderer:x,colorScheme:Y(m),classBreaksResult:h,defaultValuesUsed:n.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function je(e){let t=await me(e),{layer:n,view:r,signal:i,filter:a}=t,[o,s,c]=await Promise.all([Q(X(t)),t.outlineOptimizationEnabled?g({layer:n,view:r,signal:i,filter:a}).catch(k):null,t.sizeOptimizationEnabled?_({layer:n,view:r,signal:i,filter:a}).catch(k):null]),l=t.normalizationField;return Oe(o,s,c,l?`field`:void 0,l,n.geometryType,t)}async function Me(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a}=await xe(e),{layer:o,outlineOptimizationEnabled:s,sizeOptimizationEnabled:c,valueExpression:l,valueExpressionTitle:u}=a,[d,f,p]=await Promise.all([ke(e),s?g({layer:o,view:n,signal:r,filter:i}).catch(k):null,c?_({layer:o,view:n,signal:r,filter:i}).catch(k):null]);return v(t,d.visualVariable,T),v(t,f?.visualVariables,E),v(t,p?.minSize,D),a.dataSeriesName&&(t.valueExpression=l??null,t.valueExpressionTitle=u??null),y(t,d.authoringInfo,`color`),{renderer:t}}async function Ne(e){let t=await he(e);return $(t,await M(ge(t),t.outlineOptimizationEnabled))}async function Pe(e){let{renderer:t,creatorParameters:n}=await Se(e),{normalizationType:r,outlineOptimizationEnabled:i,classificationMethod:a,valueExpression:o,valueExpressionTitle:s}=n;if(a===`manual`)return{renderer:t};let c=await M(ge(n),i),l=c.result.classBreakInfos;if(n.numClasses!==l.length){let e=we(t.classBreakInfos.map(e=>e.symbol),n.layer.geometryType);return{renderer:(await $({...n,colorScheme:e},c)).renderer}}return t.classBreakInfos.forEach((e,t)=>{e.minValue=l[t].minValue,e.maxValue=l[t].maxValue,e.label=l[t].label}),t.normalizationTotal=r===`percent-of-total`?c.result.normalizationTotal:void 0,a!==`standard-deviation`&&u({classBreakInfos:t.classBreakInfos,classificationMethod:a,normalizationType:r,round:!0}),v(t,c.outlineResult?.visualVariables,E),n.dataSeriesName&&(t.valueExpression=o??null,t.valueExpressionTitle=s??null),{renderer:t}}function Fe(e){return _e(e).then(e=>({renderer:new o({field:`RGB`,pointsPerInch:e.density??void 0,pointSizeAlgorithm:P(e.size)})}))}async function Ie(e){let t=await ve(e),n=await Te(t.statistics??await N({layer:t.layer,field:t.field,signal:t.signal}),t);return{renderer:new s({field:t.field,pointsPerInch:t.density??void 0,pointSizeAlgorithm:P(t.size),stops:n.stops}),basemapId:n.basemapId,basemapTheme:n.basemapTheme,statistics:n.statistics,defaultValuesUsed:n.defaultValuesUsed,colorScheme:n.colorScheme}}async function Le(e){let t=await ye(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,colorMixMode:s,edgesType:c,minValue:l,maxValue:u,signal:d,filter:f}=t,p=t.layer,[m,v,y]=await Promise.all([t.unit?{unit:t.unit,statistics:null}:h({view:r,layer:p,startTime:i,endTime:a,minValue:l,maxValue:u,signal:d,filter:f}),t.outlineOptimizationEnabled?g({layer:p,view:r,signal:d,filter:f}).catch(k):null,t.sizeOptimizationEnabled?_({layer:p,view:r,signal:d,filter:f}).catch(k):null]),{unit:b,statistics:x}=m,{valueExpression:S,title:C}=await A(t,b),w=await Q(X({layer:p,basemap:t.basemap,valueExpression:S,symbolType:o,statistics:x,legendOptions:{title:C},colorScheme:t.colorScheme,theme:t.theme,view:r,minValue:t.minValue,maxValue:t.maxValue,filter:f,signal:d})),T={valueExpression:S,defaultSymbolEnabled:n,symbolType:o,colorMixMode:s,edgesType:c},E=await Oe(w,v,y,null,null,p.geometryType,T);return(E.renderer.authoringInfo?.visualVariables)?.forEach(e=>j(e,i,a,b)),{...E,unit:b}}async function Re(e){let{renderer:t,creatorParameters:n}=await Ce(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p,m]=await Promise.all([h({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?g({layer:r,view:l,signal:u,filter:d}).catch(k):null,a?_({layer:r,view:l,signal:u,filter:d}).catch(k):null]),{unit:y,statistics:b}=f,{valueExpression:x,title:S}=await A(n,y),C=await Q(X({layer:r,valueExpression:x,statistics:b,legendOptions:{title:S},theme:c,view:l,filter:d,signal:u}));return v(t,C.visualVariable,T),v(t,p?.visualVariables,E),v(t,m?.minSize,D),t.authoringInfo=C.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>j(e,o,s,y)),{renderer:t}}export{Le as createAgeRenderer,Ne as createClassBreaksRenderer,je as createContinuousRenderer,Ie as createPCContinuousRenderer,Fe as createPCTrueColorRenderer,Q as createVisualVariable,Re as regenerateAgeRenderer,Pe as regenerateClassBreaksRenderer,Me as regenerateContinuousRenderer,ke as regenerateVisualVariable};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../core/Error.js";import{ensureClass as t}from"../../core/accessorSupport/ensureType.js";import n from"../../renderers/support/AuthoringInfo.js";import r from"../../renderers/support/AuthoringInfoVisualVariable.js";import i from"../../renderers/visualVariables/OpacityVariable.js";import a from"../../renderers/visualVariables/support/OpacityStop.js";import o from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import{processRegenerateParams as s,getRendererToUpdate as c,isOpacityVV as l,getAuthoringInfoVisualVariable as u}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as d
|
|
2
|
+
import e from"../../core/Error.js";import{ensureClass as t}from"../../core/accessorSupport/ensureType.js";import n from"../../renderers/support/AuthoringInfo.js";import r from"../../renderers/support/AuthoringInfoVisualVariable.js";import i from"../../renderers/visualVariables/OpacityVariable.js";import a from"../../renderers/visualVariables/support/OpacityStop.js";import o from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import{processRegenerateParams as s,getRendererToUpdate as c,isOpacityVV as l,getAuthoringInfoVisualVariable as u}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as d}from"./support/timeSeriesUtils.js";import{verifyBasicFieldValidity as f,getSummaryStatistics as p,createStopValues as m,getDefaultDataRange as h}from"./support/utils.js";import g from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyBinningParams as _}from"../support/binningUtils.js";import{getFieldsList as v,isAnyDateField as y}from"../support/utils.js";import{binningCapableLayerTypes as b,featureCapableLayerTypes as x,createLayerAdapter as S,getLayerTypeLabels as C}from"../support/adapters/support/layerUtils.js";async function w(t){let n=d({...t});if(!(n?.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new e(`opacity-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new e(`opacity-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&_(n,`opacity-visual-variable`);let r={...n,layer:n.layer},i=n.forBinning?b:x,a=S(r.layer,i,n.forBinning);if(!a)throw new e(`opacity-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+C(i).join(`, `));r.layer=a;let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=await v({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),c=f(a,s,`opacity-visual-variable:invalid-parameters`);if(c)throw c;return r}function T(e,s){let c=s.layer,l=s.field,u=l&&typeof l!=`function`?c.getField(l):null,d=y(u),f=m(e),p=h(e,d,!0),g=p||[f[0],f[4]],_=new i({field:l??void 0,valueExpression:s.valueExpression,valueExpressionTitle:s.valueExpressionTitle,normalizationField:s.normalizationField,stops:[new a({value:g[0],opacity:.3}),new a({value:g[1],opacity:1})],legendOptions:t(o,s.legendOptions)}),v=new r({type:`opacity`,dataSeriesName:s.dataSeriesName,dataSeriesCalculationName:s.dataSeriesCalculationName,minSliderValue:s.minValue==null?e.min:s.minValue,maxSliderValue:s.maxValue==null?e.max:s.maxValue}),b=new n({visualVariables:[v]});return Promise.resolve({visualVariable:_,statistics:e,defaultValuesUsed:!!p,authoringInfo:b})}async function E(e){let t=null;return t=e.statistics?e.statistics:e.dataSeriesName?await g({layer:e.layer,view:e.view,timeSeriesName:e.dataSeriesName,timeSeriesCalculationName:e.dataSeriesCalculationName,filter:e.filter,signal:e.signal}):await p({layer:e.layer,field:e.field,valueExpression:e.valueExpression,sqlExpression:e.sqlExpression,sqlWhere:e.sqlWhere,normalizationType:e.normalizationField?`field`:void 0,normalizationField:e.normalizationField,minValue:e.minValue,maxValue:e.maxValue,filter:e.filter,view:e.view,signal:e.signal}),T(t,e)}async function D(t){let n=`regenerate-opacity-visual-variable`;await s(t,n);let r=await c(t);if(!(`visualVariables`in r))throw new e(`${n}:invalid-parameters`,`Renderer must support visual variables to regenerate an opacity visual variable`);let i=r.visualVariables?.find(l);if(!i)throw new e(`${n}:invalid-parameters`,`Renderer does not have an opacity visual variable`);let a=u(r,`opacity`),o=i.legendOptions?{title:i.legendOptions.title??void 0,showLegend:i.legendOptions.showLegend??void 0}:null,{layer:d,forBinning:f,filter:p,view:m,signal:h}=t,g=await w({layer:d,field:i.field??null,normalizationField:i.normalizationField??null,valueExpression:i.valueExpression??null,valueExpressionTitle:i.valueExpressionTitle??null,dataSeriesName:a?.dataSeriesName??null,dataSeriesCalculationName:a?.dataSeriesCalculationName??null,legendOptions:o,minValue:a?.minSliderValue??null,maxValue:a?.maxSliderValue??null,forBinning:f,filter:p,view:m,signal:h});return{...t,creatorParameters:g,renderer:r}}async function O(e){return E(await w(e))}async function k(e){let{creatorParameters:t}=await D(e);return await E(t)}export{O as createVisualVariable,k as regenerateVisualVariable};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{toPt as n}from"../../core/screenUtils.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/support/AuthoringInfo.js";import s from"../../renderers/support/AuthoringInfoSizeStop.js";import c from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as l}from"../../renderers/support/utils.js";import u from"../../renderers/visualVariables/SizeVariable.js";import{castSizeFromStringOrNumber as d}from"../../renderers/visualVariables/support/castSizeVariable.js";import f from"../../renderers/visualVariables/support/SizeStop.js";import p from"../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import m from"../heuristics/ageUnit.js";import h from"../heuristics/outline.js";import g from"../heuristics/referenceSize.js";import _ from"../heuristics/sizeRange.js";import{getTypeSchemeData as v}from"./type.js";import{createPrimitiveOverrides as y,updateReferenceSizeSymbol as b,createReferenceSizeSymbol as x}from"./support/referenceSizeUtils.js";import{spliceVisualVariables as S,updateAuthoringInfoVisualVariable as C,getAuthoringInfoVisualVariable as w,isSizeVV as T,processRegenerateParams as E,getRendererToUpdate as D,getStyleType as O,hasOutlineVV as k,hasScaleDependentSizeVV as A,findSizeVVIndex as j,findOutlineVVIndex as M}from"./support/regenerateUtils.js";import{createPrimitiveOverrides as ee,updateSpikeSymbol as te,createSpikeSymbol as N,defaultSpikeSymbolStyle as P}from"./support/spikeUtils.js";import{getTimeSeriesSummaryStatistics as ne,resolveDataSeriesInfo as F}from"./support/timeSeriesUtils.js";import{errorCallback as I,getTitleAndExpressionForAgeRenderer as re,updateAgeRendererAuthoringInfoVV as ie,getClassBreaks as ae,getSummaryStatistics as oe,createSymbol as L,getSymbolOutlineFromScheme as R,getSymbolSizeFromScheme as z,verifyBasicFieldValidity as B,getSizeRangeForAxis as se,getDataRange as ce,getBasemapInfo as le}from"./support/utils.js";import{verifyDates as ue,supportedAgeUnits as de}from"../statistics/support/ageUtils.js";import{verifyBinningParams as V}from"../support/binningUtils.js";import{getNormalizationType as fe,getFieldsList as H,isAnyDateField as pe}from"../support/utils.js";import{createLayerAdapter as U,featureCapableLayerTypes as W,getLayerTypeLabels as G,binningCapableLayerTypes as K}from"../support/adapters/support/layerUtils.js";import{cloneScheme as q,getSchemes as me}from"../symbology/size.js";import{getColorFromSymbol as J}from"../../symbols/support/utils.js";const he=2**53-1,ge=[5,112.5];async function _e(e,n){let r=F({...e});if(!(r&&r.layer&&(r.field||r.valueExpression||r.sqlExpression)))throw new t(`size-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(r.valueExpression&&!r.sqlExpression&&!r.view)throw new t(`size-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);if(r.theme===`reference-size`&&!(r.view||r.field))throw new t(`size-visual-variable:missing-parameters`,`'view' and 'field' are required when 'theme' is 'reference-size'`);if(r.theme===`reference-size`&&r.valueExpression)throw new t(`size-visual-variable:missing-parameters`,`'valueExpression' is not supported when 'theme' is 'reference-size'`);r.forBinning&&V(r,`size-visual-variable`);let i={...r},a=r.forBinning?K:W,o=U(i.layer,a,r.forBinning);if(!o)throw new t(`size-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+G(a).join(`, `));i.axis===`height`&&(i.sizeOptimizationEnabled=!1);let s=i.signal==null?null:{signal:i.signal};await o.load(s);let c=o.geometryType;if(c===`mesh`)throw new t(`size-visual-variable:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(i.worldScale){if(c===`polyline`||c===`polygon`)throw new t(`size-visual-variable:not-supported`,`'worldScale' sizing is not supported for polyline and polygon layers`);if(i.view?.type!==`3d`)throw new t(`size-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`)}if(i.theme===`reference-size`&&!r.forBinning&&c!==`polygon`)throw new t(`size-visual-variable:invalid-parameters`,`Reference size is only supported for polygon layers`);if(i.theme===`spike`&&!r.forBinning&&c!==`polygon`&&c!==`point`)throw new t(`size-visual-variable:invalid-parameters`,`Spike is only supported for point and polygon layers`);let l=await H({field:i.field,normalizationField:i.normalizationField,valueExpression:i.valueExpression}),u=B(o,l,`size-visual-variable:invalid-parameters`);if(u)throw u;i.theme===`spike`&&!i.spikeOptions?.symbolStyle&&(i.spikeOptions??={},i.spikeOptions.symbolStyle=P);let d={...i,layer:o,referenceSizeResult:n};return await ye(d),d}async function ve(e){let n=F({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`size-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`size-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`size-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?K:W,a=U(r.layer,i,n.forBinning);if(!a)throw new t(`size-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType,c=r.symbolType.includes(`3d`);if(r.outlineOptimizationEnabled=r.theme!==`reference-size`&&r.theme!==`spike`&&s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)throw new t(`size-continuous-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(c&&(s===`polyline`||s===`polygon`))throw new t(`size-continuous-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`size-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);if(r.theme===`reference-size`&&!n.forBinning&&s!==`polygon`)throw new t(`size-continuous-renderer:invalid-parameters`,`Reference size is only supported for polygon layers`);if(r.theme===`spike`&&!n.forBinning&&s!==`polygon`&&s!==`point`)throw new t(`size-continuous-renderer:invalid-parameters`,`Spike is only supported for point and polygon layers`);let l=await H({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=B(a,l,`size-continuous-renderer:invalid-parameters`);if(u)throw u;r.theme===`spike`&&!r.spikeOptions?.symbolStyle&&(r.spikeOptions??={},r.spikeOptions.symbolStyle=P);let d={...r,layer:a};return await ye(d),d}async function ye(e){let t=e.layer,n=t.geometryType,r=t.layer,i=e.forBinning&&`featureReduction`in r&&r.featureReduction?.type===`binning`;if((n===`polygon`||i)&&e.view&&e.field&&!e.valueExpression&&(!e.theme||e.theme===`reference-size`)){try{e.referenceSizeResult=e.referenceSizeResult??await g({layer:r,view:e.view,filter:e.filter,forBinning:e.forBinning,signal:e.signal})}catch{}!e.theme&&e.referenceSizeResult?.isGrid&&(e.theme=`reference-size`),e.referenceSizeOptions?.symbolStyle||(e.referenceSizeOptions?e.referenceSizeOptions.symbolStyle=`circle`:e.referenceSizeOptions={symbolStyle:`circle`})}}async function be(e){if(!e||!(e.layer&&e.view&&e.sizeStops))throw new t(`update-renderer-with-reference-size:missing-parameters`,`'layer', 'view and 'sizeStops' parameters are required`);let{view:n,forBinning:r}=e,i=e.forBinning?K:W,a=U(e.layer,i,e.forBinning);if(!a)throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));let o=a.layer,s=e.renderer;if(!s){if(e.forBinning){if(!(`featureReduction`in o&&o.featureReduction&&`renderer`in o.featureReduction&&o.featureReduction.renderer&&(o.featureReduction.renderer.type===`class-breaks`||o.featureReduction.renderer.type===`unique-value`)))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`Feature reduction renderer is not supported`);s=o.featureReduction.renderer}else{if(!(`renderer`in o&&o.renderer&&(o.renderer.type===`class-breaks`||o.renderer.type===`unique-value`)))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`Renderer is not supported`);s=o.renderer}}let c=s.authoringInfo;if(!c||!c?.visualVariables?.some(e=>e.theme===`reference-size`))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'reference-size'`);let l=e.isGrid??(await g({view:n,layer:o,forBinning:r}))?.isGrid;return{...e,isGrid:l,renderer:s,layer:a}}async function xe(e){if(!e||!(e.layer&&e.sizeStops))throw new t(`update-renderer-with-spike:missing-parameters`,`'layer' and 'sizeStops' parameters are required`);let n=e.forBinning?K:W,r=U(e.layer,n,e.forBinning);if(!r)throw new t(`update-renderer-with-spike:invalid-parameters`,`'layer' must be one of these types: `+G(n).join(`, `));await r.load();let i=r.layer,a=e.renderer;if(!a){if(e.forBinning){if(!(`featureReduction`in i&&i.featureReduction&&`renderer`in i.featureReduction&&i.featureReduction.renderer&&(i.featureReduction.renderer.type===`class-breaks`||i.featureReduction.renderer.type===`unique-value`)))throw new t(`update-renderer-with-spike:invalid-parameters`,`Feature reduction renderer is not supported`);a=i.featureReduction.renderer}else{if(!(`renderer`in i&&i.renderer&&(i.renderer.type===`class-breaks`||i.renderer.type===`unique-value`)))throw new t(`update-renderer-with-spike:invalid-parameters`,`Renderer is not supported`);a=i.renderer}}let o=a.authoringInfo?.visualVariables.find(e=>e.theme===`spike`);if(!o)throw new t(`update-renderer-with-spike:invalid-parameters`,`'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'spike'`);let s=e.spikeOptions??{};return s.symbolStyle??=o?.spikeSymbolStyle?void 0:P,{...e,renderer:a,layer:r,spikeOptions:s}}async function Se(e){let n=F({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`size-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`size-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`size-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=fe(r);let i=n.forBinning?K:W,a=U(r.layer,i,n.forBinning);if(!a)throw new t(`size-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`size-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType,c=r.symbolType.includes(`3d`);if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)throw new t(`size-class-breaks-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(c&&(s===`polyline`||s===`polygon`))throw new t(`size-class-breaks-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`size-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);let l=await H({field:r.field,normalizationField:r.normalizationField}),u=B(a,l,`size-class-breaks-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}function Ce(e){let t={...e};delete t.basemap,delete t.sizeScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}function Y(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`),r=t;return r.worldScale=n,n&&(r.axis=t.symbolType===`3d-volumetric-uniform`?`all`:`height`),delete t.symbolType,delete t.defaultSymbolEnabled,r}async function we(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`size-age-renderer:missing-parameters`,`'layer', 'view', 'startTime', 'endTime' parameters are required`);let n={...e};n.symbolType??=`2d`,n.defaultSymbolEnabled??=!0;let r=U(n.layer,W);if(!r)throw new t(`size-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(W).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType,o=n.symbolType.includes(`3d`);if(n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled,a===`mesh`)throw new t(`size-age-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(o&&(a===`polyline`||a===`polygon`))throw new t(`size-age-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`size-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);let s=ue(r,n.startTime,n.endTime,`size-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!de.includes(n.unit))throw new t(`size-age-renderer:invalid-unit`,`Supported units are: ${de.join(`, `)}`);return{...n,layer:r}}async function Te(e){let n=`regenerate-size-visual-variables`;E(e,n);let r=await D(e),i=O(r);if(!i||![`size-continuous`,`univariate-color-size`,`color-size`,`relationship-size`,`type-size`].includes(i))throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let a=w(r,`size`);if(!a)throw new t(`${n}:invalid-parameters`,`Renderer does not have a size visual variable authoringInfo`);let o=a.theme,s=o===`reference-size`,c=o===`spike`,l=r.visualVariables?.find(T);if(!l&&!s&&!c)throw new t(`${n}:invalid-parameters`,`Renderer does not have a size visual variable`);let u=a.field,d=a.normalizationField,f=null,p=null;u||(l?.field?(u=l.field,d=l.normalizationField):r.field?(u=r.field,d=r.normalizationField):(f=l?.valueExpression??r.valueExpression,p=l?.valueExpressionTitle??r.valueExpressionTitle));let{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=a.dataSeriesName,b=a.dataSeriesCalculationName,x=A(r),S=await _e({layer:m,field:u,valueExpression:f,valueExpressionTitle:p,normalizationField:d,theme:o,sizeOptimizationEnabled:x,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:b,filter:g,view:_,signal:v},e.referenceSizeResult);return o===`reference-size`&&a.referenceSizeScale!=null&&S.referenceSizeResult&&!S.referenceSizeResult.isGrid&&!S.sizeOptimizationEnabled&&(S.sizeOptimizationEnabled=!0),{...e,creatorParameters:S,renderer:r}}async function Ee(e){let n=`regenerate-size-continuous-renderer`;E(e,n);let r=await D(e),i=O(r);if(!i||![`size-continuous`,`univariate-color-size`].includes(i))throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`size`),d=u.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u.dataSeriesName,v=u.dataSeriesCalculationName,y=await ve({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:k(r),sizeOptimizationEnabled:A(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return d===`reference-size`&&u.referenceSizeScale!=null&&y.referenceSizeResult&&!y.referenceSizeResult.isGrid&&!y.sizeOptimizationEnabled&&(y.sizeOptimizationEnabled=!0),{...e,creatorParameters:y,renderer:r}}async function De(e){let n=`regenerate-size-class-breaks-renderer`;await E(e,n);let r=await D(e);if(O(r)!==`size-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,b=i?.dataSeriesCalculationName,x=await Se({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:k(r),forBinning:h,dataSeriesName:y,dataSeriesCalculationName:b,filter:g,view:_,signal:v});return{...e,creatorParameters:x,renderer:r}}async function Oe(e){let n=`regenerate-size-age-renderer`;await E(e,n);let r=await D(e);if(O(r)!==`size-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`size`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await we({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:k(r),sizeOptimizationEnabled:A(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function X(e){let t=e.sizeScheme,n=null,r=null,i=await le(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:q(t),basemapId:n,basemapTheme:r};let a=me({basemapTheme:r,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}function ke(e,t){switch(t){case`point`:case`multipoint`:{let t=e;return[d(t.minSize),d(t.maxSize)]}case`polyline`:{let t=e;return[d(t.minWidth),d(t.maxWidth)]}case`polygon`:{let t=e;return[d(t.marker.minSize),d(t.marker.maxSize)]}}}function Ae(e,t){e.transformationType===`clamped-linear`&&t===`below`&&e.flipSizes()}async function je(e,t,n,r,i,a){return Me(e,t,n,r)||ke(i,a)}function Me(e,t,n,r){return r===`spike`?[n?.minHeight??ge[0],n?.maxHeight??ge[1]]:r===`reference-size`&&t?[1,t.size]:e?[e.minSize,e.maxSize]:null}function Z(e,t){if(t.theme===`reference-size`&&e.min!=null&&e.max!=null&&e.avg!=null&&e.stddev!=null){let t=e.avg,n=e.min,r=e.max,i=e.stddev,a=t===0?0:i/t,o=n>0&&n<1&&r<2&&a<.5,s=n>0&&n<100&&r<200&&a<.5,c=t+2*i;return{minDataValue:o||s?0:n,maxDataValue:o?1:s?100:c,defaultValuesUsed:!1}}let{theme:n,field:r}=t,i=t.layer,a=r&&typeof r!=`function`?i.getField(r):null,o=pe(a);return ce(e,n,o,n===`above`||n===`below`)}function Q(e,n){if((n===`spike`||n===`reference-size`)&&e.minDataValue!=null&&e.maxDataValue!=null&&e.minSize!=null&&e.maxSize!=null&&typeof e.minSize==`number`&&typeof e.maxSize==`number`)return[new f({value:e.minDataValue,size:e.minSize}),new f({value:e.maxDataValue,size:e.maxSize})];throw new t(`get-size-stops-for-theme`,`Invalid size variable or theme`)}async function Ne(e,n,i,a){let{theme:l,field:d,normalizationField:f,minValue:m,maxValue:h,axis:g}=e,_=e.layer.geometryType,v=await X({basemap:e.basemap,geometryType:_,sizeScheme:e.sizeScheme,worldScale:e.worldScale,view:e.view}),y=v.scheme;if(!y)throw new t(`size-visual-variable:insufficient-info`,`Unable to find size scheme`);let b=await je(i,a,e.spikeOptions,l,y,_),{minDataValue:x,maxDataValue:S,defaultValuesUsed:C}=Z(n,e),w=[],T=g===`height`,E=T?g:void 0,D=b[0],O=b[1];if(T&&typeof D==`number`&&typeof O==`number`){let e=se({minSize:D,maxSize:O},E);w.push(new u({axis:`width-and-depth`,minSize:e.minSize})),O=e.maxSize}let k=new u({field:d??void 0,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,valueUnit:`unknown`,normalizationField:f,axis:E,minSize:D,maxSize:O,minDataValue:x,maxDataValue:S,legendOptions:r(p,e.legendOptions)});Ae(k,l),w.unshift(k);let A=l===`reference-size`?new c({type:`size`,field:e.field,normalizationField:e.normalizationField,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,sizeStops:Q(k,l).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),theme:l,referenceSizeScale:a?.isGrid||e.sizeOptimizationEnabled?e?.view?.scale:void 0,referenceSizeSymbolStyle:e.referenceSizeOptions?.symbolStyle,minSliderValue:m??n.min,maxSliderValue:h??n.max}):l===`spike`?new c({type:`size`,field:e.field,normalizationField:e.normalizationField,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,spikeSymbolStyle:e.spikeOptions?.symbolStyle,sizeStops:Q(k,l).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),theme:l,minSliderValue:m??n.min,maxSliderValue:h??n.max}):new c({type:`size`,theme:l,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,minSliderValue:m??n.min,maxSliderValue:h??n.max}),j=new o({visualVariables:[A]});return{basemapId:v.basemapId,basemapTheme:v.basemapTheme,visualVariables:w,statistics:n,isGrid:a?.isGrid,defaultValuesUsed:C,sizeScheme:q(y),authoringInfo:j}}async function Pe(e,t,n,r,o){let s=await i(`esri/smartMapping/t9n/smartMapping`),c=o.layer,l=o.field,u=c.geometryType,d=o.defaultSymbolEnabled,f=q(e.sizeScheme),p=u===`polygon`,m=p?f.marker:f,h=p?f.background:null,g=p?`point`:u,_=t?.opacity,v=e.isGrid,b=o.theme,S=b===`reference-size`,C=b===`spike`,w=!S&&!C?e.visualVariables.map(e=>e.clone()):[];t?.visualVariables?.length&&w.push(...t.visualVariables.map(e=>e.clone()));let T=S?x({type:o.referenceSizeOptions?.symbolStyle||`circle`,color:m.color,primitiveOverrides:y({view:o.view,field:l,normalizationField:r,sizeStops:Q(e.visualVariables[0],b),sizeByScaleEnabled:v||!!o.sizeOptimizationEnabled})}):C?N({color:m.color,strokeColor:m.outline.color,baseWidth:o.spikeOptions?.baseWidth,strokeWidth:o.spikeOptions?.strokeWidth,defaultHeight:o.spikeOptions?.defaultHeight,primitiveOverrides:ee({field:l,normalizationField:r,sizeStops:Q(e.visualVariables[0],b)}),symbolStyle:o.spikeOptions?.symbolStyle}):L(g,{type:o.symbolType,color:m.color,size:z(m,g),outline:R(m,g,_)});return{renderer:new a({backgroundFillSymbol:!v&&h?L(u,{type:o.symbolType,color:h.color,outline:R(h,u,_)}):null,classBreakInfos:[{minValue:-he,maxValue:he,symbol:T}],defaultLabel:d?s.other:null,defaultSymbol:d&&!S&&!C?L(g,{type:o.symbolType,color:m.noDataColor,size:z(m,g,!0),outline:R(m,g,_)}):null,field:l,normalizationField:r,normalizationType:n,valueExpression:o.valueExpression,valueExpressionTitle:o.valueExpressionTitle,visualVariables:w,authoringInfo:e.authoringInfo?.clone()}),visualVariables:e.visualVariables.map(e=>e.clone()),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,isGrid:v,sizeScheme:q(e.sizeScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}function Fe(e,t){let r=n(e.minSize),i=(n(e.maxSize)-r)/(t>=4?t-1:t),a=[];for(let e=0;e<t;e++)a.push(r+i*e);return a}async function Ie(e,t){let n=await i(`esri/smartMapping/t9n/smartMapping`),r=e.layer,s=e.defaultSymbolEnabled,c=r.geometryType,u=c===`polygon`,d=e.symbolType?.includes(`3d-volumetric`),f=await X({basemap:e.basemap,geometryType:c,sizeScheme:e.sizeScheme,worldScale:d,view:e.view}),p=f.scheme,{result:m,outlineResult:h}=t,g=m?.classBreakInfos??[],_=e.classificationMethod,v=e.normalizationType,y=u?p.marker:p,b=u?p.background:null,x=u?`point`:c,S=ke(y,x),C=d?se({minSize:S[0],maxSize:S[1]},`height`):null,w=Fe({minSize:S[0],maxSize:C?C.maxSize:S[1]},g.length),T=h?.opacity,E=new a({backgroundFillSymbol:b&&L(c,{type:e.symbolType,color:b.color,outline:R(b,c,T)}),classBreakInfos:g.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:L(x,{type:e.symbolType,color:y.color,size:w[n],widthAndDepth:C?.minSize,outline:R(y,x,T)}),label:t.label})),defaultLabel:s?n.other:null,defaultSymbol:s?L(x,{type:e.symbolType,color:y.noDataColor,size:z(y,x,!0),widthAndDepth:C?.minSize,outline:R(y,x,T)}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?m?.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new o({type:`class-breaks-size`,classificationMethod:_,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return _!==`standard-deviation`&&l({classBreakInfos:E.classBreakInfos,classificationMethod:_,normalizationType:v,round:!0}),h?.visualVariables?.length&&(E.visualVariables=h.visualVariables.map(e=>e.clone())),{renderer:E,sizeScheme:q(p),classBreaksResult:m,defaultValuesUsed:!!t.defaultValuesUsed,basemapId:f.basemapId,basemapTheme:f.basemapTheme}}async function $(e){let t=await _e(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,statistics:u,filter:d,dataSeriesName:f}=t,p=c?`field`:void 0,[m,h]=await Promise.all([u??(f?ne({layer:s,view:n,signal:l,dataSeriesName:f,dataSeriesCalculationName:t.dataSeriesCalculationName,filter:d}):oe({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:p,normalizationField:c,filter:d,minValue:a,maxValue:o,view:n,signal:l})),t.sizeOptimizationEnabled?_({view:n,layer:s,signal:l,filter:d}).catch(I):null]);return Ne(t,m,h,t.referenceSizeResult)}async function Le(e){let{view:t,filter:n,renderer:r,signal:i,creatorParameters:a}=await Te(e),{field:o,normalizationField:c,valueExpression:l,valueExpressionTitle:d,theme:f,layer:p,sizeOptimizationEnabled:m,spikeOptions:h,referenceSizeResult:g,dataSeriesName:v,dataSeriesCalculationName:y}=a,b=c?`field`:void 0,x=r.authoringInfo?.clone(),[S,C]=await Promise.all([(v?ne({layer:p,view:t,signal:i,dataSeriesName:v,dataSeriesCalculationName:y,filter:n}):Promise.resolve(null)).then(e=>e??oe({layer:p,field:o,valueExpression:l,normalizationField:c,normalizationType:b,filter:n,view:t,signal:i})),m&&!g?_({view:t,layer:p,signal:i,filter:n}).catch(I):null]),w=Me(C,g,h,f),{minDataValue:E,maxDataValue:D}=Z(S,{theme:f,layer:p,field:o}),O=r.visualVariables?.find(T),k=(O?.stops?null:O)??new u({field:o??void 0,valueExpression:l,valueExpressionTitle:d,valueUnit:`unknown`,normalizationField:c});w&&(k.minSize=w[0],k.maxSize=w[1]),k.minDataValue=E,k.maxDataValue=D,v&&(k.valueExpression=l??null,k.valueExpressionTitle=d??null),Ae(k,f);let A=x.visualVariables.find(e=>e.type===`size`);A.dataSeriesName=v??A.dataSeriesName,A.dataSeriesCalculationName=y??A.dataSeriesCalculationName,A.minSliderValue=S.min,A.maxSliderValue=S.max;let j=f===`reference-size`;return(j||f===`spike`)&&(A.sizeStops=Q(k,f).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),j&&(A.referenceSizeScale=g?.isGrid||m?t?.scale:void 0)),{visualVariables:f===`reference-size`||f===`spike`?[]:[k],isGrid:!!g?.isGrid,authoringInfo:x,statistics:S}}async function Re(e){let t=await ve(e),n={layer:t.layer,view:t.view,filter:t.filter,signal:t.signal},[r,i]=await Promise.all([$(Y(t)),t.outlineOptimizationEnabled?h(n).catch(I):null]),a=t.normalizationField;return Pe(r,i,a?`field`:void 0,a,t)}async function ze(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a,forBinning:o}=await Ee(e),{layer:s,sizeOptimizationEnabled:c,outlineOptimizationEnabled:l,theme:u,referenceSizeResult:d,valueExpression:f,valueExpressionTitle:p}=a,[m,g]=await Promise.all([Le({...e,referenceSizeResult:d}),l?h({layer:s,view:n,filter:i,signal:r}).catch(I):null]),_=u===`reference-size`,v=u===`spike`;S(t,m.visualVariables,j),S(t,g?.visualVariables,M),t.valueExpression=f??null,t.valueExpressionTitle=p??null,C(t,m.authoringInfo,`size`);let y=m.statistics;if(!_&&!v)return{renderer:t,statistics:y};if(v)return{renderer:await Ve({layer:s,renderer:t,forBinning:o,sizeStops:w(t,`size`,`spike`)?.sizeStops}),statistics:y};let b=m.isGrid;return{renderer:await Be({layer:s,renderer:t,view:n,forBinning:o,sizeOptimizationEnabled:c,sizeStops:w(t,`size`,`reference-size`)?.sizeStops,isGrid:b}),isGrid:b,statistics:y}}async function Be(n){let{layer:r,referenceSizeOptions:i,renderer:a,sizeScheme:c,sizeStops:l,typeScheme:u,view:d,isGrid:f}=await be(n),p=a.clone();p.authoringInfo??=new o;let m=p.authoringInfo.visualVariables.find(e=>e.theme===`reference-size`),h=n.field??m?.field,g=n.normalizationField??m?.normalizationField;if(!h)throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'field' parameter or authoring info with 'field' is required.`);let _=y({view:d,field:h,normalizationField:g,sizeStops:l,sizeByScaleEnabled:f||!!n.sizeOptimizationEnabled}),v=i?.symbolStyle||m?.referenceSizeSymbolStyle||`circle`;if(p.type===`class-breaks`){let e=(`geometryType`in r?r.geometryType:null)===`polygon`&&c&&`marker`in c?c.marker:null;p.classBreakInfos.forEach(t=>{let n=e?.color??J(t.symbol,1);t.symbol.type===`cim`?b(t.symbol,{type:v,color:n,primitiveOverrides:_}):n&&(t.symbol=x({type:v,color:n,primitiveOverrides:_}))})}else if(p.type===`unique-value`){let t=p.uniqueValueGroups,n=(`geometryType`in r?r.geometryType:null)===`polygon`&&u&&`colors`in u?u.colors:null,i=n?e(n,p.uniqueValueInfos?.length??0):null,a=0;if(t){for(let e of t)for(let t of e.classes??[]){let e=i?i[a]:J(t.symbol,1);t.symbol?.type===`cim`?b(t.symbol,{type:v,color:e,primitiveOverrides:_}):e&&(t.symbol=x({type:v,color:e,primitiveOverrides:_})),a++}p.uniqueValueGroups=t}}return m&&(m.field=h,m.normalizationField=g,m.sizeStops=l.map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),m.referenceSizeScale=f||n.sizeOptimizationEnabled?d.scale:void 0,m.referenceSizeSymbolStyle=v),p}async function Ve(n){let{layer:r,renderer:i,sizeScheme:a,sizeStops:c,typeScheme:l,spikeOptions:u}=await xe(n),d=i.clone();d.authoringInfo??=new o;let f=d.authoringInfo.visualVariables.find(e=>e.theme===`spike`),p=n.field??f?.field,m=n.normalizationField??f?.normalizationField;if(!p)throw new t(`update-renderer-with-spike:invalid-parameters`,`'field' parameter or authoring info with 'field' is required.`);let h=ee({field:p,normalizationField:m,sizeStops:c}),g=`geometryType`in r?r.geometryType:null,_={primitiveOverrides:h,...u},y=u?.symbolStyle,b=y&&y.includes(`outline`)&&(y.includes(`solid-fill`)||y.includes(`gradient-fill`));if(d.type===`class-breaks`){if(a||b){let e=(g?await X({geometryType:g,sizeScheme:a,view:n.view}):null)?.scheme,t=g===`polygon`&&e&&`marker`in e?e.marker:e;a&&(_.color=t&&`color`in t?t?.color:void 0),b&&(_.strokeColor=t&&`outline`in t?t.outline.color:void 0)}d.classBreakInfos.forEach(e=>{if(e.symbol.type===`cim`)te(e.symbol,_);else{let t=_.color??J(e.symbol,1)??void 0;t&&(e.symbol=N({..._,color:t}))}})}else if(d.type===`unique-value`){let t=d.uniqueValueGroups,r=d.uniqueValueInfos?.length??0,i=null;if(l||b){let t=(g&&r?await v({numColors:r,geometryType:g,typeScheme:l,view:n.view}):null)?.scheme;if(l){let n=t&&`colors`in t?t.colors:null;i=n?e(n,r):null}b&&(_.strokeColor=t&&`outline`in t?t.outline.color:void 0)}let a=0;if(t){for(let e of t)for(let t of e.classes??[]){if(t.symbol?.type===`cim`)te(t.symbol,{..._,color:i?.[a]});else{let e=i?.[a]??J(t.symbol,1)??void 0;e&&(t.symbol=N({..._,color:e}))}a++}d.uniqueValueGroups=t}}return f&&(f.field=p,f.normalizationField=m,f.sizeStops=c.map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),y&&(f.spikeSymbolStyle=y)),d}async function He(e){let t=await Se(e);return Ie(t,await ae(Ce(t),t.outlineOptimizationEnabled))}async function Ue(e){let{renderer:n,creatorParameters:r}=await De(e),{outlineOptimizationEnabled:i,normalizationType:a,classificationMethod:o,valueExpression:s,valueExpressionTitle:c}=r,{result:u,outlineResult:d}=await ae(Ce(r),i),f=u.classBreakInfos;if(r.numClasses!==f.length)throw new t(`regenerate-class-breaks-renderer:invalid-parameters`,`The number of class breaks generated does not match the number of class breaks in the renderer.`);return n.classBreakInfos.forEach((e,t)=>{e.minValue=f[t].minValue,e.maxValue=f[t].maxValue,e.label=f[t].label}),n.normalizationTotal=a===`percent-of-total`?u.normalizationTotal:void 0,o!==`standard-deviation`&&l({classBreakInfos:n.classBreakInfos,classificationMethod:o,normalizationType:a,round:!0}),S(n,d?.visualVariables,M),n.valueExpression=s??null,n.valueExpressionTitle=c??null,{renderer:n}}async function We(e){let t=await we(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,minValue:s,maxValue:c,signal:l,filter:u,layer:d}=t,[f,p]=await Promise.all([t.unit?{unit:t.unit,statistics:null,valueExpression:null}:await m({view:r,layer:d,startTime:i,endTime:a,minValue:s,maxValue:c,signal:l,filter:u}),t.outlineOptimizationEnabled?h({layer:d,view:r,filter:u,signal:l}).catch(I):null]),{unit:g,statistics:_}=f,{valueExpression:v,title:y}=await re(t,g),b=await Pe(await $(Y({layer:d,basemap:t.basemap,valueExpression:v,symbolType:o,statistics:_,legendOptions:{title:y},theme:t.theme,sizeScheme:t.sizeScheme,sizeOptimizationEnabled:t.sizeOptimizationEnabled,view:t.view,minValue:s,maxValue:c,filter:u,signal:l})),p,null,null,{layer:d,valueExpression:v,defaultSymbolEnabled:n,symbolType:o});return(b.renderer.authoringInfo?.visualVariables)?.forEach(e=>ie(e,i,a,g)),{...b,unit:g}}async function Ge(e){let{renderer:t,creatorParameters:n}=await Oe(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p]=await Promise.all([m({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?h({layer:r,view:l,filter:d,signal:u}).catch(I):null]),{unit:g,statistics:_}=f,{valueExpression:v,title:y}=await re(n,g),b=await $(Y({layer:r,valueExpression:v,statistics:_,legendOptions:{title:y},sizeOptimizationEnabled:a,theme:c,view:l,filter:d,signal:u}));return S(t,b.visualVariables,j),S(t,p?.visualVariables,M),t.authoringInfo=b.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>ie(e,o,s,g)),{renderer:t}}export{We as createAgeRenderer,He as createClassBreaksRenderer,Re as createContinuousRenderer,$ as createVisualVariables,Q as getSizeStopsForTheme,Ge as regenerateAgeRenderer,Ue as regenerateClassBreaksRenderer,ze as regenerateContinuousRenderer,Le as regenerateVisualVariables,Be as updateRendererWithReferenceSize,Ve as updateRendererWithSpike};
|
|
2
|
+
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{toPt as n}from"../../core/screenUtils.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/support/AuthoringInfo.js";import s from"../../renderers/support/AuthoringInfoSizeStop.js";import c from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as l}from"../../renderers/support/utils.js";import u from"../../renderers/visualVariables/SizeVariable.js";import{castSizeFromStringOrNumber as d}from"../../renderers/visualVariables/support/castSizeVariable.js";import f from"../../renderers/visualVariables/support/SizeStop.js";import p from"../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import m from"../heuristics/ageUnit.js";import h from"../heuristics/outline.js";import g from"../heuristics/referenceSize.js";import _ from"../heuristics/sizeRange.js";import{getTypeSchemeData as v}from"./type.js";import{createPrimitiveOverrides as y,updateReferenceSizeSymbol as b,createReferenceSizeSymbol as x}from"./support/referenceSizeUtils.js";import{spliceVisualVariables as S,updateAuthoringInfoVisualVariable as C,getAuthoringInfoVisualVariable as w,isSizeVV as T,processRegenerateParams as E,getRendererToUpdate as D,getStyleType as O,hasOutlineVV as k,hasScaleDependentSizeVV as A,findSizeVVIndex as j,findOutlineVVIndex as M}from"./support/regenerateUtils.js";import{createPrimitiveOverrides as ee,updateSpikeSymbol as te,createSpikeSymbol as N,defaultSpikeSymbolStyle as P}from"./support/spikeUtils.js";import{resolveDataSeriesInfo as F}from"./support/timeSeriesUtils.js";import{errorCallback as I,getTitleAndExpressionForAgeRenderer as ne,updateAgeRendererAuthoringInfoVV as re,getClassBreaks as ie,getSummaryStatistics as ae,createSymbol as L,getSymbolOutlineFromScheme as R,getSymbolSizeFromScheme as z,verifyBasicFieldValidity as B,getSizeRangeForAxis as oe,getDataRange as se,getBasemapInfo as ce}from"./support/utils.js";import le from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyDates as ue,supportedAgeUnits as de}from"../statistics/support/ageUtils.js";import{verifyBinningParams as V}from"../support/binningUtils.js";import{getNormalizationType as fe,getFieldsList as H,isAnyDateField as pe}from"../support/utils.js";import{createLayerAdapter as U,featureCapableLayerTypes as W,getLayerTypeLabels as G,binningCapableLayerTypes as K}from"../support/adapters/support/layerUtils.js";import{cloneScheme as q,getSchemes as me}from"../symbology/size.js";import{getColorFromSymbol as J}from"../../symbols/support/utils.js";const he=2**53-1,ge=[5,112.5];async function _e(e,n){let r=F({...e});if(!(r&&r.layer&&(r.field||r.valueExpression||r.sqlExpression)))throw new t(`size-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(r.valueExpression&&!r.sqlExpression&&!r.view)throw new t(`size-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);if(r.theme===`reference-size`&&!(r.view||r.field))throw new t(`size-visual-variable:missing-parameters`,`'view' and 'field' are required when 'theme' is 'reference-size'`);if(r.theme===`reference-size`&&r.valueExpression)throw new t(`size-visual-variable:missing-parameters`,`'valueExpression' is not supported when 'theme' is 'reference-size'`);r.forBinning&&V(r,`size-visual-variable`);let i={...r},a=r.forBinning?K:W,o=U(i.layer,a,r.forBinning);if(!o)throw new t(`size-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+G(a).join(`, `));i.axis===`height`&&(i.sizeOptimizationEnabled=!1);let s=i.signal==null?null:{signal:i.signal};await o.load(s);let c=o.geometryType;if(c===`mesh`)throw new t(`size-visual-variable:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(i.worldScale){if(c===`polyline`||c===`polygon`)throw new t(`size-visual-variable:not-supported`,`'worldScale' sizing is not supported for polyline and polygon layers`);if(i.view?.type!==`3d`)throw new t(`size-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`)}if(i.theme===`reference-size`&&!r.forBinning&&c!==`polygon`)throw new t(`size-visual-variable:invalid-parameters`,`Reference size is only supported for polygon layers`);if(i.theme===`spike`&&!r.forBinning&&c!==`polygon`&&c!==`point`)throw new t(`size-visual-variable:invalid-parameters`,`Spike is only supported for point and polygon layers`);let l=await H({field:i.field,normalizationField:i.normalizationField,valueExpression:i.valueExpression}),u=B(o,l,`size-visual-variable:invalid-parameters`);if(u)throw u;i.theme===`spike`&&!i.spikeOptions?.symbolStyle&&(i.spikeOptions??={},i.spikeOptions.symbolStyle=P);let d={...i,layer:o,referenceSizeResult:n};return await ye(d),d}async function ve(e){let n=F({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`size-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`size-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`size-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?K:W,a=U(r.layer,i,n.forBinning);if(!a)throw new t(`size-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType,c=r.symbolType.includes(`3d`);if(r.outlineOptimizationEnabled=r.theme!==`reference-size`&&r.theme!==`spike`&&s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)throw new t(`size-continuous-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(c&&(s===`polyline`||s===`polygon`))throw new t(`size-continuous-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`size-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);if(r.theme===`reference-size`&&!n.forBinning&&s!==`polygon`)throw new t(`size-continuous-renderer:invalid-parameters`,`Reference size is only supported for polygon layers`);if(r.theme===`spike`&&!n.forBinning&&s!==`polygon`&&s!==`point`)throw new t(`size-continuous-renderer:invalid-parameters`,`Spike is only supported for point and polygon layers`);let l=await H({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=B(a,l,`size-continuous-renderer:invalid-parameters`);if(u)throw u;r.theme===`spike`&&!r.spikeOptions?.symbolStyle&&(r.spikeOptions??={},r.spikeOptions.symbolStyle=P);let d={...r,layer:a};return await ye(d),d}async function ye(e){let t=e.layer,n=t.geometryType,r=t.layer,i=e.forBinning&&`featureReduction`in r&&r.featureReduction?.type===`binning`;if((n===`polygon`||i)&&e.view&&e.field&&!e.valueExpression&&(!e.theme||e.theme===`reference-size`)){try{e.referenceSizeResult=e.referenceSizeResult??await g({layer:r,view:e.view,filter:e.filter,forBinning:e.forBinning,signal:e.signal})}catch{}!e.theme&&e.referenceSizeResult?.isGrid&&(e.theme=`reference-size`),e.referenceSizeOptions?.symbolStyle||(e.referenceSizeOptions?e.referenceSizeOptions.symbolStyle=`circle`:e.referenceSizeOptions={symbolStyle:`circle`})}}async function be(e){if(!e||!(e.layer&&e.view&&e.sizeStops))throw new t(`update-renderer-with-reference-size:missing-parameters`,`'layer', 'view and 'sizeStops' parameters are required`);let{view:n,forBinning:r}=e,i=e.forBinning?K:W,a=U(e.layer,i,e.forBinning);if(!a)throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));let o=a.layer,s=e.renderer;if(!s){if(e.forBinning){if(!(`featureReduction`in o&&o.featureReduction&&`renderer`in o.featureReduction&&o.featureReduction.renderer&&(o.featureReduction.renderer.type===`class-breaks`||o.featureReduction.renderer.type===`unique-value`)))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`Feature reduction renderer is not supported`);s=o.featureReduction.renderer}else{if(!(`renderer`in o&&o.renderer&&(o.renderer.type===`class-breaks`||o.renderer.type===`unique-value`)))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`Renderer is not supported`);s=o.renderer}}let c=s.authoringInfo;if(!c||!c?.visualVariables?.some(e=>e.theme===`reference-size`))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'reference-size'`);let l=e.isGrid??(await g({view:n,layer:o,forBinning:r}))?.isGrid;return{...e,isGrid:l,renderer:s,layer:a}}async function xe(e){if(!e||!(e.layer&&e.sizeStops))throw new t(`update-renderer-with-spike:missing-parameters`,`'layer' and 'sizeStops' parameters are required`);let n=e.forBinning?K:W,r=U(e.layer,n,e.forBinning);if(!r)throw new t(`update-renderer-with-spike:invalid-parameters`,`'layer' must be one of these types: `+G(n).join(`, `));await r.load();let i=r.layer,a=e.renderer;if(!a){if(e.forBinning){if(!(`featureReduction`in i&&i.featureReduction&&`renderer`in i.featureReduction&&i.featureReduction.renderer&&(i.featureReduction.renderer.type===`class-breaks`||i.featureReduction.renderer.type===`unique-value`)))throw new t(`update-renderer-with-spike:invalid-parameters`,`Feature reduction renderer is not supported`);a=i.featureReduction.renderer}else{if(!(`renderer`in i&&i.renderer&&(i.renderer.type===`class-breaks`||i.renderer.type===`unique-value`)))throw new t(`update-renderer-with-spike:invalid-parameters`,`Renderer is not supported`);a=i.renderer}}let o=a.authoringInfo?.visualVariables.find(e=>e.theme===`spike`);if(!o)throw new t(`update-renderer-with-spike:invalid-parameters`,`'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'spike'`);let s=e.spikeOptions??{};return s.symbolStyle??=o?.spikeSymbolStyle?void 0:P,{...e,renderer:a,layer:r,spikeOptions:s}}async function Se(e){let n=F({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`size-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`size-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`size-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=fe(r);let i=n.forBinning?K:W,a=U(r.layer,i,n.forBinning);if(!a)throw new t(`size-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`size-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType,c=r.symbolType.includes(`3d`);if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)throw new t(`size-class-breaks-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(c&&(s===`polyline`||s===`polygon`))throw new t(`size-class-breaks-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`size-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);let l=await H({field:r.field,normalizationField:r.normalizationField}),u=B(a,l,`size-class-breaks-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}function Ce(e){let t={...e};delete t.basemap,delete t.sizeScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}function Y(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`),r=t;return r.worldScale=n,n&&(r.axis=t.symbolType===`3d-volumetric-uniform`?`all`:`height`),delete t.symbolType,delete t.defaultSymbolEnabled,r}async function we(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`size-age-renderer:missing-parameters`,`'layer', 'view', 'startTime', 'endTime' parameters are required`);let n={...e};n.symbolType??=`2d`,n.defaultSymbolEnabled??=!0;let r=U(n.layer,W);if(!r)throw new t(`size-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(W).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType,o=n.symbolType.includes(`3d`);if(n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled,a===`mesh`)throw new t(`size-age-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(o&&(a===`polyline`||a===`polygon`))throw new t(`size-age-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`size-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);let s=ue(r,n.startTime,n.endTime,`size-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!de.includes(n.unit))throw new t(`size-age-renderer:invalid-unit`,`Supported units are: ${de.join(`, `)}`);return{...n,layer:r}}async function Te(e){let n=`regenerate-size-visual-variables`;E(e,n);let r=await D(e),i=O(r);if(!i||![`size-continuous`,`univariate-color-size`,`color-size`,`relationship-size`,`type-size`].includes(i))throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let a=w(r,`size`);if(!a)throw new t(`${n}:invalid-parameters`,`Renderer does not have a size visual variable authoringInfo`);let o=a.theme,s=o===`reference-size`,c=o===`spike`,l=r.visualVariables?.find(T);if(!l&&!s&&!c)throw new t(`${n}:invalid-parameters`,`Renderer does not have a size visual variable`);let u=a.field,d=a.normalizationField,f=null,p=null;u||(l?.field?(u=l.field,d=l.normalizationField):r.field?(u=r.field,d=r.normalizationField):(f=l?.valueExpression??r.valueExpression,p=l?.valueExpressionTitle??r.valueExpressionTitle));let{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=a.dataSeriesName,b=a.dataSeriesCalculationName,x=A(r),S=await _e({layer:m,field:u,valueExpression:f,valueExpressionTitle:p,normalizationField:d,theme:o,sizeOptimizationEnabled:x,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:b,filter:g,view:_,signal:v},e.referenceSizeResult);return o===`reference-size`&&a.referenceSizeScale!=null&&S.referenceSizeResult&&!S.referenceSizeResult.isGrid&&!S.sizeOptimizationEnabled&&(S.sizeOptimizationEnabled=!0),{...e,creatorParameters:S,renderer:r}}async function Ee(e){let n=`regenerate-size-continuous-renderer`;E(e,n);let r=await D(e),i=O(r);if(!i||![`size-continuous`,`univariate-color-size`].includes(i))throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`size`),d=u.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u.dataSeriesName,v=u.dataSeriesCalculationName,y=await ve({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:k(r),sizeOptimizationEnabled:A(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return d===`reference-size`&&u.referenceSizeScale!=null&&y.referenceSizeResult&&!y.referenceSizeResult.isGrid&&!y.sizeOptimizationEnabled&&(y.sizeOptimizationEnabled=!0),{...e,creatorParameters:y,renderer:r}}async function De(e){let n=`regenerate-size-class-breaks-renderer`;await E(e,n);let r=await D(e);if(O(r)!==`size-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,b=i?.dataSeriesCalculationName,x=await Se({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:k(r),forBinning:h,dataSeriesName:y,dataSeriesCalculationName:b,filter:g,view:_,signal:v});return{...e,creatorParameters:x,renderer:r}}async function Oe(e){let n=`regenerate-size-age-renderer`;await E(e,n);let r=await D(e);if(O(r)!==`size-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`size`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await we({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:k(r),sizeOptimizationEnabled:A(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function X(e){let t=e.sizeScheme,n=null,r=null,i=await ce(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:q(t),basemapId:n,basemapTheme:r};let a=me({basemapTheme:r,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}function ke(e,t){switch(t){case`point`:case`multipoint`:{let t=e;return[d(t.minSize),d(t.maxSize)]}case`polyline`:{let t=e;return[d(t.minWidth),d(t.maxWidth)]}case`polygon`:{let t=e;return[d(t.marker.minSize),d(t.marker.maxSize)]}}}function Ae(e,t){e.transformationType===`clamped-linear`&&t===`below`&&e.flipSizes()}async function je(e,t,n,r,i,a){return Me(e,t,n,r)||ke(i,a)}function Me(e,t,n,r){return r===`spike`?[n?.minHeight??ge[0],n?.maxHeight??ge[1]]:r===`reference-size`&&t?[1,t.size]:e?[e.minSize,e.maxSize]:null}function Z(e,t){if(t.theme===`reference-size`&&e.min!=null&&e.max!=null&&e.avg!=null&&e.stddev!=null){let t=e.avg,n=e.min,r=e.max,i=e.stddev,a=t===0?0:i/t,o=n>0&&n<1&&r<2&&a<.5,s=n>0&&n<100&&r<200&&a<.5,c=t+2*i;return{minDataValue:o||s?0:n,maxDataValue:o?1:s?100:c,defaultValuesUsed:!1}}let{theme:n,field:r}=t,i=t.layer,a=r&&typeof r!=`function`?i.getField(r):null,o=pe(a);return se(e,n,o,n===`above`||n===`below`)}function Q(e,n){if((n===`spike`||n===`reference-size`)&&e.minDataValue!=null&&e.maxDataValue!=null&&e.minSize!=null&&e.maxSize!=null&&typeof e.minSize==`number`&&typeof e.maxSize==`number`)return[new f({value:e.minDataValue,size:e.minSize}),new f({value:e.maxDataValue,size:e.maxSize})];throw new t(`get-size-stops-for-theme`,`Invalid size variable or theme`)}async function Ne(e,n,i,a){let{theme:l,field:d,normalizationField:f,minValue:m,maxValue:h,axis:g}=e,_=e.layer.geometryType,v=await X({basemap:e.basemap,geometryType:_,sizeScheme:e.sizeScheme,worldScale:e.worldScale,view:e.view}),y=v.scheme;if(!y)throw new t(`size-visual-variable:insufficient-info`,`Unable to find size scheme`);let b=await je(i,a,e.spikeOptions,l,y,_),{minDataValue:x,maxDataValue:S,defaultValuesUsed:C}=Z(n,e),w=[],T=g===`height`,E=T?g:void 0,D=b[0],O=b[1];if(T&&typeof D==`number`&&typeof O==`number`){let e=oe({minSize:D,maxSize:O},E);w.push(new u({axis:`width-and-depth`,minSize:e.minSize})),O=e.maxSize}let k=new u({field:d??void 0,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,valueUnit:`unknown`,normalizationField:f,axis:E,minSize:D,maxSize:O,minDataValue:x,maxDataValue:S,legendOptions:r(p,e.legendOptions)});Ae(k,l),w.unshift(k);let A=l===`reference-size`?new c({type:`size`,field:e.field,normalizationField:e.normalizationField,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,sizeStops:Q(k,l).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),theme:l,referenceSizeScale:a?.isGrid||e.sizeOptimizationEnabled?e?.view?.scale:void 0,referenceSizeSymbolStyle:e.referenceSizeOptions?.symbolStyle,minSliderValue:m??n.min,maxSliderValue:h??n.max}):l===`spike`?new c({type:`size`,field:e.field,normalizationField:e.normalizationField,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,spikeSymbolStyle:e.spikeOptions?.symbolStyle,sizeStops:Q(k,l).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),theme:l,minSliderValue:m??n.min,maxSliderValue:h??n.max}):new c({type:`size`,theme:l,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,minSliderValue:m??n.min,maxSliderValue:h??n.max}),j=new o({visualVariables:[A]});return{basemapId:v.basemapId,basemapTheme:v.basemapTheme,visualVariables:w,statistics:n,isGrid:a?.isGrid,defaultValuesUsed:C,sizeScheme:q(y),authoringInfo:j}}async function Pe(e,t,n,r,o){let s=await i(`esri/smartMapping/t9n/smartMapping`),c=o.layer,l=o.field,u=c.geometryType,d=o.defaultSymbolEnabled,f=q(e.sizeScheme),p=u===`polygon`,m=p?f.marker:f,h=p?f.background:null,g=p?`point`:u,_=t?.opacity,v=e.isGrid,b=o.theme,S=b===`reference-size`,C=b===`spike`,w=!S&&!C?e.visualVariables.map(e=>e.clone()):[];t?.visualVariables?.length&&w.push(...t.visualVariables.map(e=>e.clone()));let T=S?x({type:o.referenceSizeOptions?.symbolStyle||`circle`,color:m.color,primitiveOverrides:y({view:o.view,field:l,normalizationField:r,sizeStops:Q(e.visualVariables[0],b),sizeByScaleEnabled:v||!!o.sizeOptimizationEnabled})}):C?N({color:m.color,strokeColor:m.outline.color,baseWidth:o.spikeOptions?.baseWidth,strokeWidth:o.spikeOptions?.strokeWidth,defaultHeight:o.spikeOptions?.defaultHeight,primitiveOverrides:ee({field:l,normalizationField:r,sizeStops:Q(e.visualVariables[0],b)}),symbolStyle:o.spikeOptions?.symbolStyle}):L(g,{type:o.symbolType,color:m.color,size:z(m,g),outline:R(m,g,_)});return{renderer:new a({backgroundFillSymbol:!v&&h?L(u,{type:o.symbolType,color:h.color,outline:R(h,u,_)}):null,classBreakInfos:[{minValue:-he,maxValue:he,symbol:T}],defaultLabel:d?s.other:null,defaultSymbol:d&&!S&&!C?L(g,{type:o.symbolType,color:m.noDataColor,size:z(m,g,!0),outline:R(m,g,_)}):null,field:l,normalizationField:r,normalizationType:n,valueExpression:o.valueExpression,valueExpressionTitle:o.valueExpressionTitle,visualVariables:w,authoringInfo:e.authoringInfo?.clone()}),visualVariables:e.visualVariables.map(e=>e.clone()),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,isGrid:v,sizeScheme:q(e.sizeScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}function Fe(e,t){let r=n(e.minSize),i=(n(e.maxSize)-r)/(t>=4?t-1:t),a=[];for(let e=0;e<t;e++)a.push(r+i*e);return a}async function Ie(e,t){let n=await i(`esri/smartMapping/t9n/smartMapping`),r=e.layer,s=e.defaultSymbolEnabled,c=r.geometryType,u=c===`polygon`,d=e.symbolType?.includes(`3d-volumetric`),f=await X({basemap:e.basemap,geometryType:c,sizeScheme:e.sizeScheme,worldScale:d,view:e.view}),p=f.scheme,{result:m,outlineResult:h}=t,g=m?.classBreakInfos??[],_=e.classificationMethod,v=e.normalizationType,y=u?p.marker:p,b=u?p.background:null,x=u?`point`:c,S=ke(y,x),C=d?oe({minSize:S[0],maxSize:S[1]},`height`):null,w=Fe({minSize:S[0],maxSize:C?C.maxSize:S[1]},g.length),T=h?.opacity,E=new a({backgroundFillSymbol:b&&L(c,{type:e.symbolType,color:b.color,outline:R(b,c,T)}),classBreakInfos:g.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:L(x,{type:e.symbolType,color:y.color,size:w[n],widthAndDepth:C?.minSize,outline:R(y,x,T)}),label:t.label})),defaultLabel:s?n.other:null,defaultSymbol:s?L(x,{type:e.symbolType,color:y.noDataColor,size:z(y,x,!0),widthAndDepth:C?.minSize,outline:R(y,x,T)}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?m?.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new o({type:`class-breaks-size`,classificationMethod:_,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return _!==`standard-deviation`&&l({classBreakInfos:E.classBreakInfos,classificationMethod:_,normalizationType:v,round:!0}),h?.visualVariables?.length&&(E.visualVariables=h.visualVariables.map(e=>e.clone())),{renderer:E,sizeScheme:q(p),classBreaksResult:m,defaultValuesUsed:!!t.defaultValuesUsed,basemapId:f.basemapId,basemapTheme:f.basemapTheme}}async function $(e){let t=await _e(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,statistics:u,filter:d,dataSeriesName:f}=t,p=c?`field`:void 0,[m,h]=await Promise.all([u??(f?le({layer:s,view:n,signal:l,timeSeriesName:f,timeSeriesCalculationName:t.dataSeriesCalculationName,filter:d}):ae({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:p,normalizationField:c,filter:d,minValue:a,maxValue:o,view:n,signal:l})),t.sizeOptimizationEnabled?_({view:n,layer:s,signal:l,filter:d}).catch(I):null]);return Ne(t,m,h,t.referenceSizeResult)}async function Le(e){let{view:t,filter:n,renderer:r,signal:i,creatorParameters:a}=await Te(e),{field:o,normalizationField:c,valueExpression:l,valueExpressionTitle:d,theme:f,layer:p,sizeOptimizationEnabled:m,spikeOptions:h,referenceSizeResult:g,dataSeriesName:v,dataSeriesCalculationName:y}=a,b=c?`field`:void 0,x=r.authoringInfo?.clone(),[S,C]=await Promise.all([(v?le({layer:p,view:t,signal:i,timeSeriesName:v,timeSeriesCalculationName:y,filter:n}):Promise.resolve(null)).then(e=>e??ae({layer:p,field:o,valueExpression:l,normalizationField:c,normalizationType:b,filter:n,view:t,signal:i})),m&&!g?_({view:t,layer:p,signal:i,filter:n}).catch(I):null]),w=Me(C,g,h,f),{minDataValue:E,maxDataValue:D}=Z(S,{theme:f,layer:p,field:o}),O=r.visualVariables?.find(T),k=(O?.stops?null:O)??new u({field:o??void 0,valueExpression:l,valueExpressionTitle:d,valueUnit:`unknown`,normalizationField:c});w&&(k.minSize=w[0],k.maxSize=w[1]),k.minDataValue=E,k.maxDataValue=D,v&&(k.valueExpression=l??null,k.valueExpressionTitle=d??null),Ae(k,f);let A=x.visualVariables.find(e=>e.type===`size`);A.dataSeriesName=v??A.dataSeriesName,A.dataSeriesCalculationName=y??A.dataSeriesCalculationName,A.minSliderValue=S.min,A.maxSliderValue=S.max;let j=f===`reference-size`;return(j||f===`spike`)&&(A.sizeStops=Q(k,f).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),j&&(A.referenceSizeScale=g?.isGrid||m?t?.scale:void 0)),{visualVariables:f===`reference-size`||f===`spike`?[]:[k],isGrid:!!g?.isGrid,authoringInfo:x,statistics:S}}async function Re(e){let t=await ve(e),n={layer:t.layer,view:t.view,filter:t.filter,signal:t.signal},[r,i]=await Promise.all([$(Y(t)),t.outlineOptimizationEnabled?h(n).catch(I):null]),a=t.normalizationField;return Pe(r,i,a?`field`:void 0,a,t)}async function ze(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a,forBinning:o}=await Ee(e),{layer:s,sizeOptimizationEnabled:c,outlineOptimizationEnabled:l,theme:u,referenceSizeResult:d,valueExpression:f,valueExpressionTitle:p}=a,[m,g]=await Promise.all([Le({...e,referenceSizeResult:d}),l?h({layer:s,view:n,filter:i,signal:r}).catch(I):null]),_=u===`reference-size`,v=u===`spike`;S(t,m.visualVariables,j),S(t,g?.visualVariables,M),t.valueExpression=f??null,t.valueExpressionTitle=p??null,C(t,m.authoringInfo,`size`);let y=m.statistics;if(!_&&!v)return{renderer:t,statistics:y};if(v)return{renderer:await Ve({layer:s,renderer:t,forBinning:o,sizeStops:w(t,`size`,`spike`)?.sizeStops}),statistics:y};let b=m.isGrid;return{renderer:await Be({layer:s,renderer:t,view:n,forBinning:o,sizeOptimizationEnabled:c,sizeStops:w(t,`size`,`reference-size`)?.sizeStops,isGrid:b}),isGrid:b,statistics:y}}async function Be(n){let{layer:r,referenceSizeOptions:i,renderer:a,sizeScheme:c,sizeStops:l,typeScheme:u,view:d,isGrid:f}=await be(n),p=a.clone();p.authoringInfo??=new o;let m=p.authoringInfo.visualVariables.find(e=>e.theme===`reference-size`),h=n.field??m?.field,g=n.normalizationField??m?.normalizationField;if(!h)throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'field' parameter or authoring info with 'field' is required.`);let _=y({view:d,field:h,normalizationField:g,sizeStops:l,sizeByScaleEnabled:f||!!n.sizeOptimizationEnabled}),v=i?.symbolStyle||m?.referenceSizeSymbolStyle||`circle`;if(p.type===`class-breaks`){let e=(`geometryType`in r?r.geometryType:null)===`polygon`&&c&&`marker`in c?c.marker:null;p.classBreakInfos.forEach(t=>{let n=e?.color??J(t.symbol,1);t.symbol.type===`cim`?b(t.symbol,{type:v,color:n,primitiveOverrides:_}):n&&(t.symbol=x({type:v,color:n,primitiveOverrides:_}))})}else if(p.type===`unique-value`){let t=p.uniqueValueGroups,n=(`geometryType`in r?r.geometryType:null)===`polygon`&&u&&`colors`in u?u.colors:null,i=n?e(n,p.uniqueValueInfos?.length??0):null,a=0;if(t){for(let e of t)for(let t of e.classes??[]){let e=i?i[a]:J(t.symbol,1);t.symbol?.type===`cim`?b(t.symbol,{type:v,color:e,primitiveOverrides:_}):e&&(t.symbol=x({type:v,color:e,primitiveOverrides:_})),a++}p.uniqueValueGroups=t}}return m&&(m.field=h,m.normalizationField=g,m.sizeStops=l.map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),m.referenceSizeScale=f||n.sizeOptimizationEnabled?d.scale:void 0,m.referenceSizeSymbolStyle=v),p}async function Ve(n){let{layer:r,renderer:i,sizeScheme:a,sizeStops:c,typeScheme:l,spikeOptions:u}=await xe(n),d=i.clone();d.authoringInfo??=new o;let f=d.authoringInfo.visualVariables.find(e=>e.theme===`spike`),p=n.field??f?.field,m=n.normalizationField??f?.normalizationField;if(!p)throw new t(`update-renderer-with-spike:invalid-parameters`,`'field' parameter or authoring info with 'field' is required.`);let h=ee({field:p,normalizationField:m,sizeStops:c}),g=`geometryType`in r?r.geometryType:null,_={primitiveOverrides:h,...u},y=u?.symbolStyle,b=y&&y.includes(`outline`)&&(y.includes(`solid-fill`)||y.includes(`gradient-fill`));if(d.type===`class-breaks`){if(a||b){let e=(g?await X({geometryType:g,sizeScheme:a,view:n.view}):null)?.scheme,t=g===`polygon`&&e&&`marker`in e?e.marker:e;a&&(_.color=t&&`color`in t?t?.color:void 0),b&&(_.strokeColor=t&&`outline`in t?t.outline.color:void 0)}d.classBreakInfos.forEach(e=>{if(e.symbol.type===`cim`)te(e.symbol,_);else{let t=_.color??J(e.symbol,1)??void 0;t&&(e.symbol=N({..._,color:t}))}})}else if(d.type===`unique-value`){let t=d.uniqueValueGroups,r=d.uniqueValueInfos?.length??0,i=null;if(l||b){let t=(g&&r?await v({numColors:r,geometryType:g,typeScheme:l,view:n.view}):null)?.scheme;if(l){let n=t&&`colors`in t?t.colors:null;i=n?e(n,r):null}b&&(_.strokeColor=t&&`outline`in t?t.outline.color:void 0)}let a=0;if(t){for(let e of t)for(let t of e.classes??[]){if(t.symbol?.type===`cim`)te(t.symbol,{..._,color:i?.[a]});else{let e=i?.[a]??J(t.symbol,1)??void 0;e&&(t.symbol=N({..._,color:e}))}a++}d.uniqueValueGroups=t}}return f&&(f.field=p,f.normalizationField=m,f.sizeStops=c.map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),y&&(f.spikeSymbolStyle=y)),d}async function He(e){let t=await Se(e);return Ie(t,await ie(Ce(t),t.outlineOptimizationEnabled))}async function Ue(e){let{renderer:n,creatorParameters:r}=await De(e),{outlineOptimizationEnabled:i,normalizationType:a,classificationMethod:o,valueExpression:s,valueExpressionTitle:c}=r,{result:u,outlineResult:d}=await ie(Ce(r),i),f=u.classBreakInfos;if(r.numClasses!==f.length)throw new t(`regenerate-class-breaks-renderer:invalid-parameters`,`The number of class breaks generated does not match the number of class breaks in the renderer.`);return n.classBreakInfos.forEach((e,t)=>{e.minValue=f[t].minValue,e.maxValue=f[t].maxValue,e.label=f[t].label}),n.normalizationTotal=a===`percent-of-total`?u.normalizationTotal:void 0,o!==`standard-deviation`&&l({classBreakInfos:n.classBreakInfos,classificationMethod:o,normalizationType:a,round:!0}),S(n,d?.visualVariables,M),n.valueExpression=s??null,n.valueExpressionTitle=c??null,{renderer:n}}async function We(e){let t=await we(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,minValue:s,maxValue:c,signal:l,filter:u,layer:d}=t,[f,p]=await Promise.all([t.unit?{unit:t.unit,statistics:null,valueExpression:null}:await m({view:r,layer:d,startTime:i,endTime:a,minValue:s,maxValue:c,signal:l,filter:u}),t.outlineOptimizationEnabled?h({layer:d,view:r,filter:u,signal:l}).catch(I):null]),{unit:g,statistics:_}=f,{valueExpression:v,title:y}=await ne(t,g),b=await Pe(await $(Y({layer:d,basemap:t.basemap,valueExpression:v,symbolType:o,statistics:_,legendOptions:{title:y},theme:t.theme,sizeScheme:t.sizeScheme,sizeOptimizationEnabled:t.sizeOptimizationEnabled,view:t.view,minValue:s,maxValue:c,filter:u,signal:l})),p,null,null,{layer:d,valueExpression:v,defaultSymbolEnabled:n,symbolType:o});return(b.renderer.authoringInfo?.visualVariables)?.forEach(e=>re(e,i,a,g)),{...b,unit:g}}async function Ge(e){let{renderer:t,creatorParameters:n}=await Oe(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p]=await Promise.all([m({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?h({layer:r,view:l,filter:d,signal:u}).catch(I):null]),{unit:g,statistics:_}=f,{valueExpression:v,title:y}=await ne(n,g),b=await $(Y({layer:r,valueExpression:v,statistics:_,legendOptions:{title:y},sizeOptimizationEnabled:a,theme:c,view:l,filter:d,signal:u}));return S(t,b.visualVariables,j),S(t,p?.visualVariables,M),t.authoringInfo=b.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>re(e,o,s,g)),{renderer:t}}export{We as createAgeRenderer,He as createClassBreaksRenderer,Re as createContinuousRenderer,$ as createVisualVariables,Q as getSizeStopsForTheme,Ge as regenerateAgeRenderer,Ue as regenerateClassBreaksRenderer,ze as regenerateContinuousRenderer,Le as regenerateVisualVariables,Be as updateRendererWithReferenceSize,Ve as updateRendererWithSpike};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Error.js";import{getSourceLayer as t,getDataSeriesInfo as n}from"../../../layers/support/dataSeriesUtils.js";import{createTimeSeriesExpression as r}from"../../../layers/support/timeSeriesUtils.js";import
|
|
2
|
+
import e from"../../../core/Error.js";import{getSourceLayer as t,getDataSeriesInfo as n}from"../../../layers/support/dataSeriesUtils.js";import{createTimeSeriesExpression as r}from"../../../layers/support/timeSeriesUtils.js";import{getTimeSeriesCalculation as i}from"../../statistics/support/timeSeriesUtils.js";function a(e,t,n){let r=e.dataSeriesInfos?.indexOf(t)??-1,i=t.title||`${t.name} ${r}`;return n?.title||(n?.type?`${i} ${n.type}`:i)}function o(o){if(!o.dataSeriesName||!o.layer){if(o.dataSeriesCalculationName!=null)throw new e(`resolve-data-series-info:invalid-parameters`,`'dataSeriesCalculationName' requires a valid 'dataSeriesName' and 'layer'`);return o}let s=t(o.layer);if(!s)throw new e(`resolve-data-series-info:invalid-parameters`,`'layer' must support dataSeriesInfos`);let c=n(s,o.dataSeriesName);if(!c)throw new e(`resolve-data-series-info:invalid-parameters`,`'dataSeriesName' is not valid`);if(c.type!==`time-series-fields`)throw new e(`resolve-data-series-info:invalid-parameters`,`'dataSeriesName' has unsupported type`);let l=i(c,o.dataSeriesCalculationName,`resolve-data-series-info`);return o.valueExpression=r(c,{calculationMethod:l?.type??void 0}),o.valueExpressionTitle=a(s,c,l),`field`in o&&(o.field=null),o}export{o as resolveDataSeriesInfo};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { HistogramForTimeSeriesParameters, HistogramResult } from "./types.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Generates an equal-interval histogram for numeric values across all mapped data values in
|
|
5
|
+
* a time series. Raw values are used unless an explicit calculation method is provided.
|
|
6
|
+
*
|
|
7
|
+
* @param parameters - The function parameters.
|
|
8
|
+
* @returns Resolves to the combined histogram for the time series.
|
|
9
|
+
* @since 5.2
|
|
10
|
+
*/
|
|
11
|
+
export default function histogramForTimeSeries(parameters: HistogramForTimeSeriesParameters): Promise<HistogramResult>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import e from"./histogram.js";import t from"./summaryStatisticsForTimeSeries.js";import{processTimeSeriesParams as n,combineHistograms as r}from"./support/timeSeriesUtils.js";async function i(i){let{statisticInputs:a,...o}=await n(i,`histogram-for-time-series`),s=o.minValue==null||o.maxValue==null?await t({...i,minValue:void 0,maxValue:void 0}):void 0,c=o.minValue??s?.min,l=o.maxValue??s?.max;if(c==null||l==null)return{bins:[],minValue:c,maxValue:l};let u=await Promise.all(a.map(t=>e({...o,...t,classificationMethod:`equal-interval`,minValue:c,maxValue:l})));return r(u)}export{i as default};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SummaryStatisticsForTimeSeriesParameters, SummaryStatisticsResult } from "./types.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Returns summary statistics for numeric values across all mapped dates in a time series. Raw
|
|
5
|
+
* value statistics are retrieved unless an explicit calculation method is provided.
|
|
6
|
+
*
|
|
7
|
+
* @param parameters - The function parameters.
|
|
8
|
+
* @returns Resolves to the combined summary statistics for the time series.
|
|
9
|
+
* @since 5.2
|
|
10
|
+
*/
|
|
11
|
+
export default function summaryStatisticsForTimeSeries(parameters: SummaryStatisticsForTimeSeriesParameters): Promise<SummaryStatisticsResult>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import e from"./summaryStatistics.js";import{processTimeSeriesParams as t,combineSummaryStatistics as n}from"./support/timeSeriesUtils.js";import{processSummaryStatisticsResult as r}from"../../statistics/utils.js";async function i(i){let{statisticInputs:a,...o}=await t(i,`summary-statistics-for-time-series`),s=await Promise.all(a.map(t=>e({...o,...t,outStatisticTypes:{exclude:[`median`]}})));return r(n(s),o.outStatisticTypes)}export{i as default};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import e from"../../../core/Error.js";import{getSourceLayer as t,getDataSeriesInfo as n}from"../../../layers/support/dataSeriesUtils.js";import{verifyBinningParams as r}from"../../support/binningUtils.js";import{isIntegerField as i,castIntegerFieldToFloat as a}from"../../support/utils.js";import{createLayerAdapter as o,featureCapableLayerTypes as s}from"../../support/adapters/support/layerUtils.js";const c=new Set([`big-integer`,`double`,`integer`,`long`,`single`,`small-integer`]);async function l(t,n){if(!(t?.layer&&t.timeSeriesName))throw new e(`${n}:missing-parameters`,`'layer' and 'timeSeriesName' parameters are required`);t.forBinning&&r(t,n);let i=await d(t,n),{timeSeriesName:a,timeSeriesCalculationName:o,...s}=t;return{...s,statisticInputs:i}}function u(t,n,r){if(!n)return;let i=t.calculationMethods?.find(e=>e.name===n);if(!i?.type)throw new e(`${r}:invalid-parameters`,`calculation name '${n}' is not valid`);return i}async function d(r,i){let{layer:a}=r,l=o(a,s,r.forBinning);if(!l)throw new e(`${i}:invalid-parameters`,`'layer' must be a feature-capable layer`);let d=r.signal==null?null:{signal:r.signal};await l.load(d);let p=t(l);if(!p)throw new e(`${i}:invalid-parameters`,`'layer' must support dataSeriesInfos`);let m=n(p,r.timeSeriesName);if(!m||m.type!==`time-series-fields`)throw new e(`${i}:invalid-parameters`,`'timeSeriesName' is not valid`);let h=(m.fieldTimeMappings??[]).map(({fieldName:t})=>{let n=t&&l.getField(t);if(!n||!c.has(n.type))throw new e(`${i}:invalid-parameters`,`Field '${t}' must be a numeric field that exists on the layer`);return n.name}),g=u(m,r.timeSeriesCalculationName,i);return g?.type?f(p,h,g.type):h.map(e=>({field:e}))}function f(e,t,n){let r=[`change-from-average`,`percent-change-from-average`].includes(n),o=[`change-from-first`,`percent-change-from-first`].includes(n),s=[`percent-change-from-average`,`percent-change-from-first`,`percent-change-from-previous`].includes(n);if(r){let n=t.map(t=>`(CASE WHEN ${t} IS NULL THEN 0 ELSE ${i(e,t)?a(t):t} END)`).join(` + `),r=t.map(e=>`(CASE WHEN ${e} IS NULL THEN 0 ELSE 1 END)`).join(` + `),o=`(CASE WHEN (${r}) = 0 THEN NULL ELSE (${n}) / (1.0 * (${r})) END)`,c=`var fieldValues = [${t.map(e=>`$feature.${e}`).join(`, `)}];
|
|
3
|
+
var total = 0;
|
|
4
|
+
var valueCount = 0;
|
|
5
|
+
for (var index = 0; index < Count(fieldValues); index++) {
|
|
6
|
+
if (!IsEmpty(fieldValues[index])) {
|
|
7
|
+
total += fieldValues[index];
|
|
8
|
+
valueCount++;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
if (valueCount == 0) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
var comparisonValue = total / valueCount;`;return t.map(t=>{let n=i(e,t)?a(t):t;return{valueExpression:`${c}
|
|
15
|
+
var currentValue = $feature.${t};
|
|
16
|
+
if (IsEmpty(currentValue)${s?` || comparisonValue == 0`:``}) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return ${s?`Round(100 * (currentValue - comparisonValue) / comparisonValue, 2)`:`currentValue - comparisonValue`};`,sqlExpression:s?`CASE WHEN ${t} IS NULL OR ${o} IS NULL OR ${o} = 0 THEN NULL ELSE ROUND(100.0 * (${n} - ${o}) / ${o}, 2) END`:`CASE WHEN ${t} IS NULL THEN NULL ELSE ${n} - ${o} END`}})}return t.slice(1).map((n,r)=>{let c=o?t[0]:t[r],l=i(e,c)?a(c):c,u=i(e,n)?a(n):n;return{valueExpression:`var currentValue = $feature.${n};
|
|
20
|
+
var comparisonValue = $feature.${c};
|
|
21
|
+
if (IsEmpty(currentValue) || IsEmpty(comparisonValue)${s?` || comparisonValue == 0`:``}) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return ${s?`Round(100 * (currentValue - comparisonValue) / comparisonValue, 2)`:`currentValue - comparisonValue`};`,sqlExpression:s?`CASE WHEN ${c} IS NULL OR ${c} = 0 OR ${n} IS NULL THEN NULL ELSE ROUND(100.0 * (${u} - ${l}) / ${l}, 2) END`:`CASE WHEN ${c} IS NULL OR ${n} IS NULL THEN NULL ELSE ${u} - ${l} END`}})}function p(e){let t=e.filter(e=>e.count),n=t.reduce((e,t)=>e+(t.count??0),0);if(!n)return{count:0};let r=Math.min(...t.map(e=>e.min)),i=Math.max(...t.map(e=>e.max)),a=t.reduce((e,t)=>e+(t.sum??0),0),o=a/n,s=t.reduce((e,t)=>e+(t.variance??0)*Math.max((t.count??0)-1,0),0),c=t.reduce((e,t)=>e+(t.count??0)*((t.avg??0)-o)**2,0),l=n>1?(s+c)/(n-1):0;return{min:r,max:i,sum:a,avg:o,count:n,variance:l,stddev:Math.sqrt(l)}}function m(e){let t=e[0];return t?{minValue:t.minValue,maxValue:t.maxValue,bins:t.bins.map((t,n)=>({...t,count:e.reduce((e,t)=>e+t.bins[n].count,0)}))}:{bins:[]}}export{m as combineHistograms,p as combineSummaryStatistics,u as getTimeSeriesCalculation,d as getTimeSeriesStatisticInputs,l as processTimeSeriesParams};
|
|
@@ -9,6 +9,7 @@ import type FeatureFilter from "../../layers/support/FeatureFilter.js";
|
|
|
9
9
|
import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
|
|
10
10
|
import type { AbortOptions } from "../../core/promiseUtils.js";
|
|
11
11
|
import type { DateProperties } from "../../intl/date.js";
|
|
12
|
+
import type { DataSeriesLayer } from "../../layers/support/dataSeriesUtils.js";
|
|
12
13
|
import type { Feature as FeatureJSON } from "../../portal/jsonTypes.js";
|
|
13
14
|
import type { ClassificationMethod, NormalizationType } from "../../renderers/types.js";
|
|
14
15
|
import type { SupportedLayer, SmartMappingTimeUnit } from "../types.js";
|
|
@@ -615,6 +616,55 @@ export interface SummaryStatisticsForAgeParameters extends AbortOptions {
|
|
|
615
616
|
filter?: FeatureFilter | null;
|
|
616
617
|
}
|
|
617
618
|
|
|
619
|
+
/** @since 5.2 */
|
|
620
|
+
export interface SummaryStatisticsForTimeSeriesParameters extends AbortOptions {
|
|
621
|
+
/** The layer from which to generate statistics for a given time series. */
|
|
622
|
+
layer: DataSeriesLayer;
|
|
623
|
+
/** The name of a time series in the layer's `dataSeriesInfos`. */
|
|
624
|
+
timeSeriesName: string;
|
|
625
|
+
/**
|
|
626
|
+
* The name of a calculation in the time series' `calculationMethods`.
|
|
627
|
+
* When omitted, raw values at each mapped date are used.
|
|
628
|
+
*/
|
|
629
|
+
timeSeriesCalculationName?: string | null;
|
|
630
|
+
/** The minimum value for the statistics calculation. */
|
|
631
|
+
minValue?: number | null;
|
|
632
|
+
/** The maximum value for the statistics calculation. */
|
|
633
|
+
maxValue?: number | null;
|
|
634
|
+
/**
|
|
635
|
+
* The statistics to return. By default, all supported statistics are returned.
|
|
636
|
+
* Median statistics are not supported.
|
|
637
|
+
*/
|
|
638
|
+
outStatisticTypes?: OutStatisticTypes | null;
|
|
639
|
+
/** The view in which features will be rendered. */
|
|
640
|
+
view?: MapViewOrSceneView | null;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
/** @since 5.2 */
|
|
644
|
+
export interface HistogramForTimeSeriesParameters extends AbortOptions {
|
|
645
|
+
/** The layer from which to generate a histogram for a given time series. */
|
|
646
|
+
layer: DataSeriesLayer;
|
|
647
|
+
/** The name of a time series in the layer's `dataSeriesInfos`. */
|
|
648
|
+
timeSeriesName: string;
|
|
649
|
+
/**
|
|
650
|
+
* The name of a calculation in the time series' `calculationMethods`.
|
|
651
|
+
* When omitted, raw values at each mapped date are used.
|
|
652
|
+
*/
|
|
653
|
+
timeSeriesCalculationName?: string | null;
|
|
654
|
+
/** The minimum value for the histogram. */
|
|
655
|
+
minValue?: number | null;
|
|
656
|
+
/** The maximum value for the histogram. */
|
|
657
|
+
maxValue?: number | null;
|
|
658
|
+
/** The view in which features will be rendered. */
|
|
659
|
+
view?: MapViewOrSceneView | null;
|
|
660
|
+
/**
|
|
661
|
+
* The number of equal-interval bins to generate.
|
|
662
|
+
*
|
|
663
|
+
* @default 10
|
|
664
|
+
*/
|
|
665
|
+
numBins?: number | null;
|
|
666
|
+
}
|
|
667
|
+
|
|
618
668
|
export interface Attribute {
|
|
619
669
|
/** The name of a numeric field. */
|
|
620
670
|
field?: string | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{parseWhereClause as e}from"../../core/sql.js";import{load as t,project as n}from"../../geometry/projectionUtils.js";import r from"../../geometry/SpatialReference.js";import{containsExecute as i}from"../../geometry/operators/containsOperator.js";import{crossesExecute as a}from"../../geometry/operators/crossesOperator.js";import{generalizeExecute as o}from"../../geometry/operators/generalizeOperator.js";import{intersectsExecute as s,intersectsAccelerateGeometry as c}from"../../geometry/operators/intersectsOperator.js";import{overlapsExecute as l}from"../../geometry/operators/overlapsOperator.js";import{touchesExecute as u}from"../../geometry/operators/touchesOperator.js";import{withinExecute as d}from"../../geometry/operators/withinOperator.js";import{getGeometryExtent as f}from"../../geometry/support/extentUtils.js";import{fromJSON as p}from"../../geometry/support/jsonUtils.js";import{quantizeGeometry as m}from"../../geometry/support/quantizationUtils.js";import{isGeographic as h,equals as g}from"../../geometry/support/spatialReferenceUtils.js";import{densifyCurvedGeometry as _}from"../../geometry/support/curves/densifyCurvedGeometry.js";import v from"../../layers/support/FieldsIndex.js";function y(){let y=new WeakMap,b=new WeakMap;function x(e,t){let n=y.get(e);if(n)return n;let i=p(e);return i.spatialReference=t instanceof r?t:r.fromJSON(t),y.set(e,i),c(i),i}function S(e,t,n){return!e||g(t,n)?e:C(e,t,n)?.toJSON()}function C(e,t,i){if(!e)return;let a=b.get(e);if(a&&g(a.spatialReference,i))return a.geometry;let o=!g(t,i),s=o?n(x(e,t),r.fromJSON(i),{zConversionDisabled:!0}):x(e,t);return o&&c(s),b.set(e,{spatialReference:i,geometry:s}),s}function w(e,t,n,r){return{aGeometry:x(e,t),bGeometry:C(n,r,t)}}return{sql:{async createTestFeature(t,n){let r=await e(t,new v(n));return e=>r.testFeature(e)}},projection:{load:t,project:S},geometry:{isGeographic:h,quantize(e,t){return m(e,t)},operations:{intersects(e,t,n,r){let{aGeometry:i,bGeometry:a}=w(e,t,n,r);return s(i,a)},contains(e,t,n,r){let{aGeometry:a,bGeometry:o}=w(e,t,n,r);return i(a,o)},overlaps(e,t,n,r){let{aGeometry:i,bGeometry:a}=w(e,t,n,r);return l(i,a)},crosses(e,t,n,r){let{aGeometry:i,bGeometry:o}=w(e,t,n,r);return a(i,o)},touches(e,t,n,r){let{aGeometry:i,bGeometry:a}=w(e,t,n,r);return u(i,a)},within(e,t,n,r){let{aGeometry:i,bGeometry:a}=w(e,t,n,r);return d(i,a)},generalize(e,t,n,r){return o(x(e,t),n,{removeDegenerateParts:r})?.toJSON()},densifyCurves(e){return _(e)}},extentFromGeometry:e=>f(e),extentFromGLB:async(e,t,n
|
|
2
|
+
import{parseWhereClause as e}from"../../core/sql.js";import{load as t,project as n}from"../../geometry/projectionUtils.js";import r from"../../geometry/SpatialReference.js";import{containsExecute as i}from"../../geometry/operators/containsOperator.js";import{crossesExecute as a}from"../../geometry/operators/crossesOperator.js";import{generalizeExecute as o}from"../../geometry/operators/generalizeOperator.js";import{intersectsExecute as s,intersectsAccelerateGeometry as c}from"../../geometry/operators/intersectsOperator.js";import{overlapsExecute as l}from"../../geometry/operators/overlapsOperator.js";import{touchesExecute as u}from"../../geometry/operators/touchesOperator.js";import{withinExecute as d}from"../../geometry/operators/withinOperator.js";import{getGeometryExtent as f}from"../../geometry/support/extentUtils.js";import{fromJSON as p}from"../../geometry/support/jsonUtils.js";import{quantizeGeometry as m}from"../../geometry/support/quantizationUtils.js";import{isGeographic as h,equals as g}from"../../geometry/support/spatialReferenceUtils.js";import{densifyCurvedGeometry as _}from"../../geometry/support/curves/densifyCurvedGeometry.js";import v from"../../layers/support/FieldsIndex.js";function y(){let y=new WeakMap,b=new WeakMap;function x(e,t){let n=y.get(e);if(n)return n;let i=p(e);return i.spatialReference=t instanceof r?t:r.fromJSON(t),y.set(e,i),c(i),i}function S(e,t,n){return!e||g(t,n)?e:C(e,t,n)?.toJSON()}function C(e,t,i){if(!e)return;let a=b.get(e);if(a&&g(a.spatialReference,i))return a.geometry;let o=!g(t,i),s=o?n(x(e,t),r.fromJSON(i),{zConversionDisabled:!0}):x(e,t);return o&&c(s),b.set(e,{spatialReference:i,geometry:s}),s}function w(e,t,n,r){return{aGeometry:x(e,t),bGeometry:C(n,r,t)}}return{sql:{async createTestFeature(t,n){let r=await e(t,new v(n));return e=>r.testFeature(e)}},projection:{load:t,project:S},geometry:{isGeographic:h,quantize(e,t){return m(e,t)},operations:{intersects(e,t,n,r){let{aGeometry:i,bGeometry:a}=w(e,t,n,r);return s(i,a)},contains(e,t,n,r){let{aGeometry:a,bGeometry:o}=w(e,t,n,r);return i(a,o)},overlaps(e,t,n,r){let{aGeometry:i,bGeometry:a}=w(e,t,n,r);return l(i,a)},crosses(e,t,n,r){let{aGeometry:i,bGeometry:o}=w(e,t,n,r);return a(i,o)},touches(e,t,n,r){let{aGeometry:i,bGeometry:a}=w(e,t,n,r);return u(i,a)},within(e,t,n,r){let{aGeometry:i,bGeometry:a}=w(e,t,n,r);return d(i,a)},generalize(e,t,n,r){return o(x(e,t),n,{removeDegenerateParts:r})?.toJSON()},densifyCurves(e){return _(e)}},extentFromGeometry:e=>f(e),extentFromGLB:async(e,t,n)=>{let{extentFromGLB:r}=await import(`./setupServiceMocksMesh.js`);return r(e,t,n)},nodeDataFromGLB:async(e,t,n)=>{let{nodeDataFromGLB:r}=await import(`./setupServiceMocksMesh.js`);return r(e,t,n)}}}}export{y as getServiceMockDependencies};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../geometry/Point.js";import t from"../../geometry/support/MeshMaterialMetallicRoughness.js";import n from"../../geometry/support/MeshTransform.js";import{createFromGLTF as r}from"../../geometry/support/meshUtils.js";import{loadImage as i}from"../../request/loadImage.js";import{meshMakeAbsolute as a}from"./meshUtils.js";import{isEncodedMeshTexture as o}from"../../views/3d/glTF/internal/resourceUtils.js";async function s(t,i,a
|
|
2
|
+
import e from"../../geometry/Point.js";import t from"../../geometry/support/MeshMaterialMetallicRoughness.js";import n from"../../geometry/support/MeshTransform.js";import{createFromGLTF as r}from"../../geometry/support/meshUtils.js";import{loadImage as i}from"../../request/loadImage.js";import{meshMakeAbsolute as a}from"./meshUtils.js";import{isEncodedMeshTexture as o}from"../../views/3d/glTF/internal/resourceUtils.js";async function s(t,i,a){let o=URL.createObjectURL(new Blob([t]));try{let t=e.fromJSON(i),s=await r(t,o,{vertexSpace:t.spatialReference.isGeographic?`local`:`georeferenced`}),{rotationAxis:c,rotationAngle:l,translation:u,scale:d}=a;return s.transform=new n({rotationAngle:l??0,rotationAxis:c==null?[0,0,1]:[c[0],c[1],c[2]],translation:u==null?[0,0,0]:[u[0],u[1],u[2]],scale:d==null?[1,1,1]:[d[0],d[1],d[2]]}),s}finally{URL.revokeObjectURL(o)}}async function c(e,t,n){let r=await s(e,t,n),i=r.extent.toJSON();return r.destroy(),i}async function l(e,n,r){let i=await s(e,n,r),{components:o}=i;if(o==null)throw Error(`Mesh has no components`);let{transform:c}=i;if(c==null)throw Error(`Mesh has no transform`);let l=a(i);if(!l)throw Error(`failed to project`);let d=o.map(async e=>{let{faces:n,material:r}=e,i=r instanceof t,a={pbrMetallicRoughness:{baseColorFactor:r?.color?.toUnitRGBA()??[1,1,1,1],baseColorTexture:await u(r?.colorTexture),metallicFactor:i?r.metallic:void 0,roughnessFactor:i?r.roughness:void 0,metallicRoughnessTexture:i&&r.metallicRoughnessTexture!=null?await u(r.metallicRoughnessTexture):void 0},normalTexture:r?.normalTexture==null?void 0:await u(r.normalTexture),occlusionTexture:i&&r.occlusionTexture!=null?await u(r.occlusionTexture):void 0,emissiveTexture:i&&r.emissiveTexture!=null?await u(r.emissiveTexture):void 0,emissiveFactor:i&&r.emissiveColor?.toUnitRGB()||void 0,alphaMode:(r?.alphaMode===`auto`?`blend`:r?.alphaMode)??`opaque`,alphaCutoff:r?.alphaCutoff??.1,doubleSided:r?.doubleSided??!0,cullFace:r?.doubleSided??!0?`none`:`back`};return{geometry:{position:l.vertexAttributes.position,faces:n,normal:e.shading===`source`?l.vertexAttributes.normal:void 0,uv:l.vertexAttributes.uv,color:l.vertexAttributes.color},material:a}});return Promise.all(d)}async function u(e){if(e==null)return;let{url:t,data:n}=e,r=`image/png`,i=typeof e.wrap==`string`?e.wrap===`clamp`?`none`:e.wrap:`repeat`;if(n!=null){if(o(n))throw Error(`Cannot bake encoded textures`);if(n instanceof HTMLVideoElement)throw Error(`Cannot bake video textures`);if(n instanceof HTMLImageElement){let e=await(await d(await f(n),r)).arrayBuffer();return{type:r,width:n.width,wrap:i,data:e}}if(n instanceof HTMLCanvasElement){let e=await(await d(n,r)).arrayBuffer();return{type:r,width:n.width,wrap:i,data:e}}let e=await(await d(p(n),r)).arrayBuffer();return{type:r,width:n.width,wrap:i,data:e}}if(t!=null){let e=await m(t),n=await(await d(await f(e),r)).arrayBuffer();return{type:r,width:e.width,wrap:i,data:n}}}async function d(e,t){return new Promise((n,r)=>e.toBlob(e=>e==null?r(Error(`Failed to load image content`)):n(e),t))}async function f(e){await e.decode();let t=document.createElement(`canvas`);t.width=e.width,t.height=e.height;let n=t.getContext(`2d`);if(n==null)throw Error(`Failed to create 2d context`);return n.drawImage(e,0,0),t}function p(e){let t=document.createElement(`canvas`);t.width=e.width,t.height=e.height;let n=t.getContext(`2d`);if(n==null)throw Error(`Failed to create 2d context`);return n.putImageData(e,0,0),t}function m(e){let t=new Image;return t.src=e,i(t,t.src,!1,void 0)}export{c as extentFromGLB,l as nodeDataFromGLB};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
class e{constructor(){this.setIdentity()}getAngle(){return
|
|
2
|
+
class e{constructor(){this.setIdentity()}getAngle(){return this.rz}setIdentity(){this.tx=0,this.ty=0,this.tz=0,this.s=1,this.rx=0,this.ry=0,this.rz=0,this.rzCos=1,this.rzSin=0}setTranslate(e,t){this.tx=e,this.ty=t}setTranslateZ(e){this.tz=e}setRotateCS(e,t){this.rz=Math.atan2(t,e),this.rzCos=e,this.rzSin=t}setRotate(e){this.rz=e,this.rzCos=Math.cos(e),this.rzSin=Math.sin(e)}setRotateY(e){this.ry=e}setScale(e){this.s=e}setMeasure(e){this.m=e}}export{e as Placement};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{create as e}from"../../../geometry/support/aaBoundingRect.js";import{getRingsOrPathsBounds as t}from"../../../geometry/support/boundsUtils.js";import{isCurvedGeometry as n}from"../../../geometry/support/curves/curveUtils.js";import{getExtent as r}from"../SDFHelper.js";import{getNumericValue as i}from"../utils.js";function a(e){return e.type===`CIMSimpleLineCallout`||e.type===`CIMBackgroundCallout`||e.type===`CIMBalloonCallout`||e.type===`CIMPointSymbolCallout`||e.type===`CIMCompositeCallout`}function o(e,t){let n=i(e.angle,0);return n===0?t:[...t,{offsetX:0,offsetY:0,rotation:n,size:0,frameHeight:0,rotateClockWise:!1,absoluteAnchorPoint:!1,scaleSymbolsProportionally:!1}]}function s(e){let t=e.symbolLayers?.filter(e=>e.type===`CIMVectorMarker`&&e.enable!==!1);if(!t?.length)return{contentWidthRatio:1,contentHeightRatio:1,contentRequiresRadialFit:!1};let r=1,i=1,a=!1;for(let o of t){let t=o.markerGraphics,s=o.frame;if(!s||t?.length!==1)return{contentWidthRatio:1,contentHeightRatio:1,contentRequiresRadialFit:!1};let u=t[0].geometry;if(`vertexAttributes`in u&&`components`in u)throw Error(`InternalError: point symbol callout marker geometry cannot be a mesh`);let d=n(u),f=c(u)??l(u),p=s.xmax-s.xmin,m=s.ymax-s.ymin;if(!f||p<=0||m<=0)return{contentWidthRatio:1,contentHeightRatio:1,contentRequiresRadialFit:!1};let h=((e.angle??0)+(o.rotation??0))*Math.PI/180,g=Math.abs(Math.cos(h)),_=Math.abs(Math.sin(h)),v=f[2]-f[0],y=f[3]-f[1],b=v*g+y*_,x=v*_+y*g,S=p*g+m*_,C=p*_+m*g;r=Math.min(r,b/S),i=Math.min(i,x/C),a||=d}return{contentWidthRatio:r,contentHeightRatio:i,contentRequiresRadialFit:a}}function c(e){let t=e.curveRings??e.rings;if(t?.length!==2)return null;let n=u([t[0]]),r=u([t[1]]);return!n||!r?null:d(n,r)?r:d(r,n)?n:null}function l(e){let t=e.curveRings??e.curvePaths;return t?u(t):r(e)}function u(n){let r=t(e(),n);return r?[r[0],r[1],r[2],r[3]]:null}function d(e,t){return e[0]<t[0]&&e[1]<t[1]&&e[2]>t[2]&&e[3]>t[3]}function f(e,t){return t===`marker`?s(e):null}function p(e){switch(e){case`RoundedRectangle`:return 1;case`Oval`:return 2;case`Rectangle`:return 0;default:return typeof e==`number`?e:0}}function m(e){switch(e){case`MidPoint`:return 1;case`ThreePoint`:return 2;case`FourPoint`:return 3;case`Underline`:return 4;case`CircularCW`:return 5;case`CircularCCW`:return 6;case`Base`:return 0;default:return e==null||typeof e==`number`?e:0}}function h(e){
|
|
2
|
+
import{create as e}from"../../../geometry/support/aaBoundingRect.js";import{getRingsOrPathsBounds as t}from"../../../geometry/support/boundsUtils.js";import{isCurvedGeometry as n}from"../../../geometry/support/curves/curveUtils.js";import{getExtent as r}from"../SDFHelper.js";import{getNumericValue as i}from"../utils.js";function a(e){return e.type===`CIMSimpleLineCallout`||e.type===`CIMBackgroundCallout`||e.type===`CIMBalloonCallout`||e.type===`CIMPointSymbolCallout`||e.type===`CIMCompositeCallout`}function o(e,t){let n=i(e.angle,0);return n===0?t:[...t,{offsetX:0,offsetY:0,rotation:n,size:0,frameHeight:0,rotateClockWise:!1,absoluteAnchorPoint:!1,scaleSymbolsProportionally:!1}]}function s(e){let t=e.symbolLayers?.filter(e=>e.type===`CIMVectorMarker`&&e.enable!==!1);if(!t?.length)return{contentWidthRatio:1,contentHeightRatio:1,contentRequiresRadialFit:!1};let r=1,i=1,a=!1;for(let o of t){let t=o.markerGraphics,s=o.frame;if(!s||t?.length!==1)return{contentWidthRatio:1,contentHeightRatio:1,contentRequiresRadialFit:!1};let u=t[0].geometry;if(`vertexAttributes`in u&&`components`in u)throw Error(`InternalError: point symbol callout marker geometry cannot be a mesh`);let d=n(u),f=c(u)??l(u),p=s.xmax-s.xmin,m=s.ymax-s.ymin;if(!f||p<=0||m<=0)return{contentWidthRatio:1,contentHeightRatio:1,contentRequiresRadialFit:!1};let h=((e.angle??0)+(o.rotation??0))*Math.PI/180,g=Math.abs(Math.cos(h)),_=Math.abs(Math.sin(h)),v=f[2]-f[0],y=f[3]-f[1],b=v*g+y*_,x=v*_+y*g,S=p*g+m*_,C=p*_+m*g;r=Math.min(r,b/S),i=Math.min(i,x/C),a||=d}return{contentWidthRatio:r,contentHeightRatio:i,contentRequiresRadialFit:a}}function c(e){let t=e.curveRings??e.rings;if(t?.length!==2)return null;let n=u([t[0]]),r=u([t[1]]);return!n||!r?null:d(n,r)?r:d(r,n)?n:null}function l(e){let t=e.curveRings??e.curvePaths;return t?u(t):r(e)}function u(n){let r=t(e(),n);return r?[r[0],r[1],r[2],r[3]]:null}function d(e,t){return e[0]<t[0]&&e[1]<t[1]&&e[2]>t[2]&&e[3]>t[3]}function f(e,t){return t===`marker`?s(e):null}function p(e){switch(e){case`RoundedRectangle`:return 1;case`Oval`:return 2;case`Rectangle`:return 0;default:return typeof e==`number`?e:0}}function m(e){switch(e){case`MidPoint`:return 1;case`ThreePoint`:return 2;case`FourPoint`:return 3;case`Underline`:return 4;case`CircularCW`:return 5;case`CircularCCW`:return 6;case`Base`:return 0;default:return e==null||typeof e==`number`?e:0}}function h(e){switch(e){case 1:case`PropUniform`:return 1;case 3:case`DifUniform`:return 3;default:return 0}}export{s as getPointSymbolCalloutContentRatios,f as getPointSymbolCalloutFitProperties,o as getPointSymbolCalloutTransforms,a as isSupportedCallout,p as normalizeBalloonCalloutStyle,m as normalizeLeaderLineStyle,h as normalizePointSymbolCalloutScale};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{scaleMargins as e,extractCalloutData as t,inflateBounds as n,contains as r,
|
|
2
|
+
import{scaleMargins as e,extractCalloutData as t,inflateBounds as n,contains as r,getLeaderConnectionPoint as i,distance as a,createLeaderPath as o,createRectangle as s,createAccentBar as c}from"./calloutUtils.js";class l{constructor(){this.type=`CIMBackgroundCallout`}static{this.instance=null}static local(){return l.instance===null&&(l.instance=new l),l.instance}execute(e,t,n){if(t?.type!==`CIMBackgroundCallout`)throw Error(`Invalid effect type for BackgroundCalloutEffect`);return new u(e,t,n)}}class u{constructor(t,n,r){let{geomUnitsPerPoint:i}=r;if(!i)throw Error(`geomUnitsPerPoint is required in EffectExecutionContext for BackgroundCalloutEffect`);let a=i*(r.scaleFactor??1);this._inputGeometries=t,this._part=n.part,this._leaderTolerance=(n.leaderTolerance??0)*a,this._leaderOffset=(n.leaderOffset??0)*a,this._gap=(n.gap??0)*a,this._geomUnitsPerPoint=a,this._hasAccentBar=n.hasAccentBar===!0,this._lineStyle=n.lineStyle,this._margins=e(n.margin,a),this._calloutContext=r.callout}next(){let e;for(;e=this._inputGeometries.next();){let l=t(e,this._calloutContext);if(!l)continue;let u=n(l.bounds,this._margins);switch(this._part){case`accent-bar`:return c(u,l.anchor,this._gap,e.yFactor,this._lineStyle,l.bounds);case`background`:return s(u,e.yFactor);default:{if(r(u,l.anchor))return null;let t=i(u,l.anchor,this._lineStyle,this._gap,this._hasAccentBar,l.bounds);return a(t,l.anchor)<this._leaderTolerance?null:o(u,l.anchor,this._lineStyle,this._leaderOffset,this._gap,e.yFactor,this._geomUnitsPerPoint,this._hasAccentBar,l.bounds)}}}return null}}export{l as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{scaleMargins as e,extractCalloutData as t,
|
|
2
|
+
import{scaleMargins as e,extractCalloutData as t,inflateBounds as n,createBalloonDartGeometry as r,createBalloonGeometry as i}from"./calloutUtils.js";class a{constructor(){this.type=`CIMBalloonCallout`}static{this.instance=null}static local(){return a.instance===null&&(a.instance=new a),a.instance}execute(e,t,n){if(t?.type!==`CIMBalloonCallout`)throw Error(`Invalid effect type for BalloonCalloutEffect`);return new o(e,t,n)}}class o{constructor(t,n,r){let{geomUnitsPerPoint:i}=r;if(!i)throw Error(`geomUnitsPerPoint is required in EffectExecutionContext for BalloonCalloutEffect`);let a=i*(r.scaleFactor??1);this._inputGeometries=t,this._balloonStyle=n.balloonStyle,this._dartWidth=n.dartWidth==null?null:n.dartWidth*a,this._part=n.part,this._separateDart=n.separateDart===!0,this._leaderTolerance=(n.leaderTolerance??0)*a,this._margins=e(n.margin,a),this._calloutContext=r.callout}next(){let e;for(;e=this._inputGeometries.next();){let a=t(e,this._calloutContext);if(!a)continue;let o=n(a.bounds,this._margins);if(this._part===`dart`){let t=r(o,a.anchor,this._balloonStyle,this._leaderTolerance,e.yFactor,this._dartWidth,a.layoutAnchor);if(t)return t;continue}return i(o,a.anchor,this._balloonStyle,this._leaderTolerance,e.yFactor,this._dartWidth,a.layoutAnchor,!this._separateDart)}return null}}export{a as default};
|