@arcgis/core 5.2.0-next.5 → 5.2.0-next.7
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/WebLinkChart.d.ts +1 -1
- package/WebMap.d.ts +2 -2
- package/WebScene.d.ts +3 -3
- package/analysis/SliceAnalysis.d.ts +1 -1
- package/applications/Components/analysisUtils.d.ts +24 -0
- package/applications/Components/analysisUtils.js +1 -1
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/Pixel.js +1 -1
- package/arcade/Voxel.js +1 -1
- package/arcade/arcade.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/debug.js +1 -1
- package/arcade/deepClone.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/functions/track.js +1 -1
- package/arcade/geometry/constructors.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/geometry/operators.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade.d.ts +9 -9
- package/arcgisGlobal.d.ts +4 -0
- package/assets/components/assets/icon/orientedImageryFullSuperimpose16.json +1 -0
- package/assets/components/assets/icon/orientedImageryFullSuperimpose24.json +1 -0
- package/assets/components/assets/icon/orientedImageryFullSuperimpose32.json +1 -0
- package/assets/components/assets/icon/orientedImageryHalfSuperimpose16.json +1 -0
- package/assets/components/assets/icon/orientedImageryHalfSuperimpose24.json +1 -0
- package/assets/components/assets/icon/orientedImageryHalfSuperimpose32.json +1 -0
- package/assets/components/assets/icon/orientedImagerySceneOnly16.json +1 -0
- package/assets/components/assets/icon/orientedImagerySceneOnly24.json +1 -0
- package/assets/components/assets/icon/orientedImagerySceneOnly32.json +1 -0
- package/assets/components/assets/icon/parquetFeatureLayer16.json +1 -0
- package/assets/components/assets/icon/parquetFeatureLayer24.json +1 -0
- package/assets/components/assets/icon/parquetFeatureLayer32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/013708f40f811158d42c.js +1 -0
- package/assets/esri/core/workers/chunks/03354ad3d74d858173b4.js +1 -0
- package/assets/esri/core/workers/chunks/{544174c33628846284a1.js → 09a4139fc6d069ab6928.js} +1 -1
- package/assets/esri/core/workers/chunks/09d0e430c66788a2626f.js +640 -0
- package/assets/esri/core/workers/chunks/0a510acf50915e00c62b.js +1 -0
- package/assets/esri/core/workers/chunks/{7e0daf0864005cdd63c5.js → 0a780a883abfcdf0b900.js} +1 -1
- package/assets/esri/core/workers/chunks/{829a0583b8a228c65379.js → 0b169bb1969f86232a1a.js} +1 -1
- package/assets/esri/core/workers/chunks/0d9d33f29124d464a4cb.js +1 -0
- package/assets/esri/core/workers/chunks/0ded58ccb83f624f1460.js +1 -0
- package/assets/esri/core/workers/chunks/0f3654c8157ec8f22869.js +262 -0
- package/assets/esri/core/workers/chunks/119d352dd586f2bb61ec.js +1 -0
- package/assets/esri/core/workers/chunks/{8cbaaea72f4ca2f023be.js → 129fdd1636e67997337c.js} +1 -1
- package/assets/esri/core/workers/chunks/130784a27661de6b52a5.js +1 -0
- package/assets/esri/core/workers/chunks/{942e527b9b92999886c7.js → 145364aa20b4435294c2.js} +1 -1
- package/assets/esri/core/workers/chunks/{9a3344f1dd22c425b8cc.js → 1595dc499a06b23b6a96.js} +1 -1
- package/assets/esri/core/workers/chunks/{6c97b5bc408f051606d2.js → 166a0df6e37627e18976.js} +1 -1
- package/assets/esri/core/workers/chunks/168be2eac0fa3c67ae27.js +1 -0
- package/assets/esri/core/workers/chunks/{aea8e0577fb48d5c9577.js → 181e948d076a9a7aae8a.js} +1 -1
- package/assets/esri/core/workers/chunks/{176e676879666f784599.js → 18e7784f13a57a75585a.js} +1 -1
- package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +1 -0
- package/assets/esri/core/workers/chunks/{d66f68a811c90739951a.js → 1c029b03ed836f393a50.js} +1 -1
- package/assets/esri/core/workers/chunks/{0aaee272520c6e5bb617.js → 1c64e10f966e26af6fed.js} +1 -1
- package/assets/esri/core/workers/chunks/{b5d0898406c7d6e6a717.js → 1dacc0b64bd27ce2de3a.js} +1 -1
- package/assets/esri/core/workers/chunks/1eabe746481e0b228498.js +1 -0
- package/assets/esri/core/workers/chunks/1eeb1edca0ad5db6917c.js +1 -0
- package/assets/esri/core/workers/chunks/{425c04b26a6ec6d04b08.js → 201007cf1a91e2b126fc.js} +1 -1
- package/assets/esri/core/workers/chunks/20d0adc678f11981059c.js +1 -0
- package/assets/esri/core/workers/chunks/{696967c8c6f53b94f851.js → 227eff8aa4a6f5f03bc2.js} +1 -1
- package/assets/esri/core/workers/chunks/{d21bf107698fef03125e.js → 238478cfe493fd4a6100.js} +1 -1
- package/assets/esri/core/workers/chunks/{79b64a52ff57c40c7800.js → 2413b383b7f2bdcd4ced.js} +1 -1
- package/assets/esri/core/workers/chunks/24646a1176ce34039155.js +1 -0
- package/assets/esri/core/workers/chunks/24647e7424798dccdaf5.js +1 -0
- package/assets/esri/core/workers/chunks/{7601408e242dca1d25bd.js → 249616ea2d90d40a8299.js} +1 -1
- package/assets/esri/core/workers/chunks/277718031c903da2b3b9.js +1 -0
- package/assets/esri/core/workers/chunks/{7ed5b669010db58845f8.js → 294f2803aac000c99693.js} +1 -1
- package/assets/esri/core/workers/chunks/{093f27e4e4781870b431.js → 297ae764445e6f73a5ea.js} +1 -1
- package/assets/esri/core/workers/chunks/2b36a54927f5a7281da3.js +1 -0
- package/assets/esri/core/workers/chunks/{be0eab592db0e651b023.js → 2b814bb51704a5b4fdc2.js} +6 -6
- package/assets/esri/core/workers/chunks/{a320c69bc7528ff0d0cf.js → 2c8584ec1c3c9fd5aba2.js} +1 -1
- package/assets/esri/core/workers/chunks/{6ca81e34854ce7ec6f6e.js → 2ce845c990bb4d701362.js} +1 -1
- package/assets/esri/core/workers/chunks/2d374cc8c54a722a7afe.js +1 -0
- package/assets/esri/core/workers/chunks/{0bd2b035c6ee89c725f9.js → 31442f25d550ead58fc4.js} +1 -1
- package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +1 -0
- package/assets/esri/core/workers/chunks/{8b8b63be961eb73250a0.js → 32323b0e0fcecd8f640e.js} +1 -1
- package/assets/esri/core/workers/chunks/33b4f5dfe1a16b59b010.js +1 -0
- package/assets/esri/core/workers/chunks/{86a767c2b0b1e37ff493.js → 33e0130e6a40fc768978.js} +1 -1
- package/assets/esri/core/workers/chunks/343ba5ea459e96ba79c6.js +1 -0
- package/assets/esri/core/workers/chunks/359d3acb3953e64e5a78.js +1 -0
- package/assets/esri/core/workers/chunks/388e71e8f2ec41bfa5a9.js +1 -0
- package/assets/esri/core/workers/chunks/{a2159df718a7f2f59271.js → 38a2f34661563c7c29c1.js} +1 -1
- package/assets/esri/core/workers/chunks/{dd58bc675b85b4d90afa.js → 39974d1e5d3820ef1680.js} +1 -1
- package/assets/esri/core/workers/chunks/3a5c1c501808352857bd.js +1 -0
- package/assets/esri/core/workers/chunks/3aacaa1be5efeac23a37.js +1 -0
- package/assets/esri/core/workers/chunks/{d19600336cb6023d3e34.js → 3b765a8cac9e92f644f2.js} +1 -1
- package/assets/esri/core/workers/chunks/{a96c7432ca97cbeef4b8.js → 3db898a38a7c5f0efb48.js} +1 -1
- package/assets/esri/core/workers/chunks/{b7a0a5b895ddd2d3d038.js → 3df5394b17e9659ecb8f.js} +1 -1
- package/assets/esri/core/workers/chunks/3e012cd3ca4451f89f59.js +1 -0
- package/assets/esri/core/workers/chunks/3fbb6ff940156a981983.js +1 -0
- package/assets/esri/core/workers/chunks/{c06ae3a6ecc4a4fc67b2.js → 40910c69307e2d2d3f28.js} +1 -1
- package/assets/esri/core/workers/chunks/{55d168c13491fcdfb284.js → 40c4e14e7bb505ef10a3.js} +1 -1
- package/assets/esri/core/workers/chunks/4104fa1ede36bcee9be5.js +1 -0
- package/assets/esri/core/workers/chunks/428561df7ba6f02e2d80.js +1 -0
- package/assets/esri/core/workers/chunks/{0881929a4a457f94f317.js → 4301cb9670fa7c907460.js} +1 -1
- package/assets/esri/core/workers/chunks/{299b4eecd0288348c971.js → 45323491f9005629c602.js} +1 -1
- package/assets/esri/core/workers/chunks/46d0a25d33b5b328cfce.js +1 -0
- package/assets/esri/core/workers/chunks/46d3ddf62fa7a76dd57d.js +1 -0
- package/assets/esri/core/workers/chunks/{b002304a45856b024b46.js → 4714241189c13d0db897.js} +1 -1
- package/assets/esri/core/workers/chunks/{d9d716bfd0aab30b6caf.js → 47656ec12401e53f4bd3.js} +1 -1
- package/assets/esri/core/workers/chunks/{c0d7e4afbad0b20e2502.js → 47dd2bfecc5c4b5f10f0.js} +1 -1
- package/assets/esri/core/workers/chunks/{f7698c855800e0af3038.js → 4845df00f6ebcce6ea3e.js} +1 -1
- package/assets/esri/core/workers/chunks/485d20152495c27b8074.js +1 -0
- package/assets/esri/core/workers/chunks/{cf3036711bbe6095eaed.js → 4894997bfa438f66da36.js} +1 -1
- package/assets/esri/core/workers/chunks/4a23b27bfbcfa08fd9a7.js +1 -0
- package/assets/esri/core/workers/chunks/{8b5ee6be52e892fbd325.js → 4a9dd9f8aa98882218f3.js} +1 -1
- package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +1 -0
- package/assets/esri/core/workers/chunks/{325bfac7cfa28a6d568f.js → 520e0e5307eef27becc6.js} +1 -1
- package/assets/esri/core/workers/chunks/{a0296e6d6c37b861c5fb.js → 5359ff9492383c5bd9b1.js} +1 -1
- package/assets/esri/core/workers/chunks/{728ad5bbbcbf88d6249f.js → 537c5dd4cd0a067199d1.js} +1 -1
- package/assets/esri/core/workers/chunks/53d165b4f30fd64e5d8a.js +1 -0
- package/assets/esri/core/workers/chunks/542f5469f7b42026b24f.js +1 -0
- package/assets/esri/core/workers/chunks/54d7f07e3348ddb6d9a2.js +1 -0
- package/assets/esri/core/workers/chunks/{48440a071a37590846ff.js → 54dad475dc806a38c287.js} +1 -1
- package/assets/esri/core/workers/chunks/5500dc39e11a0057ae16.js +1 -0
- package/assets/esri/core/workers/chunks/5553279998ae07b60f5f.js +1 -0
- package/assets/esri/core/workers/chunks/{2b2a09ce14d00b4b1187.js → 58155f24f8ed6aca7a21.js} +1 -1
- package/assets/esri/core/workers/chunks/{224a9f39876aa426a9bc.js → 5838f46d341d2fde42ee.js} +1 -1
- package/assets/esri/core/workers/chunks/592a599f514de373dead.js +1 -0
- package/assets/esri/core/workers/chunks/{1ff61d8a8ea060e78b83.js → 5aba23584e0b230c75f5.js} +1 -1
- package/assets/esri/core/workers/chunks/{7dc2c21d61ba66a3f461.js → 5b238f9c345f10c5c2fa.js} +1 -1
- package/assets/esri/core/workers/chunks/{8d4881c879c86b353e08.js → 5cb1b950249d651f3837.js} +1 -1
- package/assets/esri/core/workers/chunks/{85bba0db8a7a5fc1be44.js → 5e3e0d7b85dfd52d1c7d.js} +1 -1
- package/assets/esri/core/workers/chunks/5f9bacee6fbf9ac1bca0.js +1 -0
- package/assets/esri/core/workers/chunks/60915a3708a34da1977e.js +1 -0
- package/assets/esri/core/workers/chunks/62206d5d497b95fc4caf.js +1 -0
- package/assets/esri/core/workers/chunks/{6a53c8db554be55c5885.js → 62dfbdc847be4800e833.js} +44 -32
- package/assets/esri/core/workers/chunks/62e77e3c5ca9b4887923.js +2 -0
- package/assets/esri/core/workers/chunks/{7a3b05e25de2ff150f38.js → 62fc3c367f736c73b0d7.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e97c01698ef36cc5e0e.js → 643c33a98f2d30a92001.js} +1 -1
- package/assets/esri/core/workers/chunks/{69a1cbf0af059548f96a.js → 64daa2a714e59d22bbd4.js} +1 -1
- package/assets/esri/core/workers/chunks/65520a443e3811255bea.js +1 -0
- package/assets/esri/core/workers/chunks/{7c86099ed17f420b0489.js → 67ebde34377f98d17cda.js} +1 -1
- package/assets/esri/core/workers/chunks/{e6e15e9e890b864fb395.js → 6a5356ebed70e0f8f979.js} +1 -1
- package/assets/esri/core/workers/chunks/{cdef9c3f80588ae45a04.js → 6c9933f948efd7923aa1.js} +1 -1
- package/assets/esri/core/workers/chunks/{fe2325efd0d8ad8369ed.js → 6cab67fc7044ee9b863b.js} +1 -1
- package/assets/esri/core/workers/chunks/{aea384f4d88121da8f54.js → 6f0341cfa4c68e6e60b3.js} +1 -1
- package/assets/esri/core/workers/chunks/737de87bfb9b5f5a9c6c.js +1 -0
- package/assets/esri/core/workers/chunks/{558606a1af22e4a0d536.js → 73c355b895fd6a34fcb8.js} +1 -1
- package/assets/esri/core/workers/chunks/{7f1fcddc8dd42a1b67d9.js → 75839240022b280929f7.js} +1 -1
- package/assets/esri/core/workers/chunks/{b09ae8eb5e97fb27382f.js → 76589434d573111a8fb4.js} +1 -1
- package/assets/esri/core/workers/chunks/{1f3a676e7a4eae5ad566.js → 767ea5b455b3823afd09.js} +1 -1
- package/assets/esri/core/workers/chunks/77a4f6f224d7ca4b69f4.js +1 -0
- package/assets/esri/core/workers/chunks/78aa5bc6af2758da20d0.js +1 -0
- package/assets/esri/core/workers/chunks/79f2d4b3af5776ec2045.js +1 -0
- package/assets/esri/core/workers/chunks/{c8dedc010fcc2382af24.js → 7b564226def99fcf79d8.js} +1 -1
- package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +1 -0
- package/assets/esri/core/workers/chunks/7df94cb985db41815fad.js +2 -0
- package/assets/esri/core/workers/chunks/7ed3d6c72f23c628df3b.js +1 -0
- package/assets/esri/core/workers/chunks/{ed939fd5d3827a3f70e0.js → 81e3bd1a0634ddc2b833.js} +1 -1
- package/assets/esri/core/workers/chunks/{062aadf426fe97a76bbb.js → 8351012ceb466f01b8fd.js} +1 -1
- package/assets/esri/core/workers/chunks/8407c91cce31e087b41b.js +1 -0
- package/assets/esri/core/workers/chunks/8419934bec7723b0feef.js +1 -0
- package/assets/esri/core/workers/chunks/875cce0be4f6c89f80f3.js +2 -0
- package/assets/esri/core/workers/chunks/{c319c3b85cdec73a9f45.js → 877c848beaf9a939862c.js} +1 -1
- package/assets/esri/core/workers/chunks/{24acf3dd541347c2b297.js → 882ee7ed8a3a0215f9b9.js} +1 -1
- package/assets/esri/core/workers/chunks/{ae74f722fb385e45fcf1.js → 893c0d28a5bf3f9f29f1.js} +1 -1
- package/assets/esri/core/workers/chunks/{98b4408e12684e37b395.js → 8a48a6760c33ed50b650.js} +1 -1
- package/assets/esri/core/workers/chunks/8bdca6f06c8b5fedd917.js +1 -0
- package/assets/esri/core/workers/chunks/8e1865392681d390ab2e.js +1 -0
- package/assets/esri/core/workers/chunks/{566c36032b456ec5b5d7.js → 90953a827bc89d0e6bd5.js} +1 -1
- package/assets/esri/core/workers/chunks/92ab5886aa2d8b9b179f.js +1 -0
- package/assets/esri/core/workers/chunks/{4e676e888a935c507d90.js → 93d4bda22bde33fafa57.js} +1 -1
- package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +1 -0
- package/assets/esri/core/workers/chunks/94fac056e14caed09682.js +1 -0
- package/assets/esri/core/workers/chunks/{fbb23db01f3cf629d32e.js → 992a90ecbab931198fd0.js} +1 -1
- package/assets/esri/core/workers/chunks/{1765042635084f75d2b3.js → 9b676606bf839b7aa433.js} +1 -1
- package/assets/esri/core/workers/chunks/{f931d560f3f14598f454.js → 9dcfaca1f4fa8c8026ac.js} +1 -1
- package/assets/esri/core/workers/chunks/{5570d47533efab56c732.js → 9f4681713f03365a2a53.js} +1 -1
- package/assets/esri/core/workers/chunks/a0fa60a24e58f7a47e41.js +1 -0
- package/assets/esri/core/workers/chunks/a261f4c22224511fdfff.js +1 -0
- package/assets/esri/core/workers/chunks/{ea8f642b1db933d2c26f.js → a2ac139d0975085279a6.js} +1 -1
- package/assets/esri/core/workers/chunks/{b32a13972cb3de652339.js → a320998f18922a35899f.js} +1 -1
- package/assets/esri/core/workers/chunks/{aa55923ca939a0d4606c.js → a3a28c4887f802e8d96d.js} +1 -1
- package/assets/esri/core/workers/chunks/a4d3cbc02dc1186a9a6d.js +1 -0
- package/assets/esri/core/workers/chunks/a806ac351ef5da04c250.js +1 -0
- package/assets/esri/core/workers/chunks/a8ec5b85c2fa6fb4f391.js +1 -0
- package/assets/esri/core/workers/chunks/{8795c4895df229cb471c.js → ab94c9f62462d7a98f6a.js} +1 -1
- package/assets/esri/core/workers/chunks/{2a8f198f6c272f92bad5.js → abdb05754c50776c3edd.js} +1 -1
- package/assets/esri/core/workers/chunks/ad488985824fbb830ed6.js +1 -0
- package/assets/esri/core/workers/chunks/af8ef6701631ed5e5b80.js +1 -0
- package/assets/esri/core/workers/chunks/{a95398214e530f896a2d.js → af96cbc4fb7bef726635.js} +1 -1
- package/assets/esri/core/workers/chunks/{170f8dc97614e9609443.js → b0ac4b0b7aec70cfe6eb.js} +1 -1
- package/assets/esri/core/workers/chunks/b23009d9f8eb7c20ce45.js +1 -0
- package/assets/esri/core/workers/chunks/b79428c5093614174e76.js +1 -0
- package/assets/esri/core/workers/chunks/{2f925a424b60b4a5e8e5.js → b803e7b0d489bb628d72.js} +1 -1
- package/assets/esri/core/workers/chunks/b9bdb1f05e904c3655e4.js +1 -0
- package/assets/esri/core/workers/chunks/bb24972603fb35dd8dcf.js +1 -0
- package/assets/esri/core/workers/chunks/bca6abc185dedec0f41b.js +1 -0
- package/assets/esri/core/workers/chunks/bfbd1ca28ed2f263e58f.js +1 -0
- package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +1 -0
- package/assets/esri/core/workers/chunks/c44be4aaba829e6d149d.js +1 -0
- package/assets/esri/core/workers/chunks/c4fc85281ca83af7abaf.js +1 -0
- package/assets/esri/core/workers/chunks/c983e5ce0ff952b65d7f.js +1 -0
- package/assets/esri/core/workers/chunks/ca6907e14b1dde4d5c07.js +1 -0
- package/assets/esri/core/workers/chunks/ca7d4d76a6bf5a3046cd.js +1 -0
- package/assets/esri/core/workers/chunks/cb8c4d8334fab9bd9a04.js +1 -0
- package/assets/esri/core/workers/chunks/cbbd94c53e75efc99876.js +1 -0
- package/assets/esri/core/workers/chunks/{c1ffb879e0283fb2815f.js → cc62e5095e328bed3e01.js} +1 -1
- package/assets/esri/core/workers/chunks/{a53a3e5548fef65a2710.js → cf826787ab8d4b27ad80.js} +1 -1
- package/assets/esri/core/workers/chunks/{7a823bb1b72764897dd5.js → cfd28eba44cf5a296c6d.js} +1 -1
- package/assets/esri/core/workers/chunks/d1d135a54233092ad637.js +1 -0
- package/assets/esri/core/workers/chunks/d21480b078ec9680d4c4.js +1 -0
- package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +1 -0
- package/assets/esri/core/workers/chunks/{bbaf8baa3ca6195467e4.js → d64613209a9eb1eafb11.js} +1 -1
- package/assets/esri/core/workers/chunks/{988e91cc6cf88c34c2de.js → d6bb8db22ba85ad05fd7.js} +1 -1
- package/assets/esri/core/workers/chunks/{cb26966cc205bd338c76.js → d81291dac1932350eccd.js} +1 -1
- package/assets/esri/core/workers/chunks/d9d4754062758789f186.js +2 -0
- package/assets/esri/core/workers/chunks/dddb57ff637643ccfc87.js +1 -0
- package/assets/esri/core/workers/chunks/{0ded5c114cbb7574f2f4.js → dfeddb7b17fa9eaae64c.js} +1 -1
- package/assets/esri/core/workers/chunks/e094364e54981c91e1b4.js +1 -0
- package/assets/esri/core/workers/chunks/e178cd0e9178d6716410.js +1 -0
- package/assets/esri/core/workers/chunks/{7f54d3835c0ce573a942.js → e25bcfdd8f20f8a08b19.js} +1 -1
- package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +1 -0
- package/assets/esri/core/workers/chunks/e3b713a590cce6245ee2.js +1 -0
- package/assets/esri/core/workers/chunks/e545df5ea7c0ced92cee.js +30 -0
- package/assets/esri/core/workers/chunks/{a40003dfe3c081d1a1d2.js → e638391801ad83fe4a68.js} +1 -1
- package/assets/esri/core/workers/chunks/{0b76534b60014d74ecb9.js → e7712467db46e1385cf4.js} +1 -1
- package/assets/esri/core/workers/chunks/e785f76c1a75cb1d1e1f.js +1 -0
- package/assets/esri/core/workers/chunks/{76a9b64fd573775bf6cd.js → e82488b9b3bb0c1dedb4.js} +1 -1
- package/assets/esri/core/workers/chunks/{15fa8b5b472131aaa68e.js → e92698f50089484c4901.js} +1 -1
- package/assets/esri/core/workers/chunks/ed2cb60e4f17f46fb78d.js +1 -0
- package/assets/esri/core/workers/chunks/edcde00495727d506c46.js +1 -0
- package/assets/esri/core/workers/chunks/f02fe24177e56a7e42b2.js +1 -0
- package/assets/esri/core/workers/chunks/{009250a7bded12099dd1.js → f1fb2f12371f4c562079.js} +1 -1
- package/assets/esri/core/workers/chunks/{466c250537415f12eb59.js → f31a8e76f1dde23c0900.js} +1 -1
- package/assets/esri/core/workers/chunks/f3dfe1bd1146a6927407.js +1 -0
- package/assets/esri/core/workers/chunks/{6b5d2df9123dfe7e00b3.js → f563dd6cace047108b3c.js} +1 -1
- package/assets/esri/core/workers/chunks/{1252da05832e576d4def.js → f5731ad4cfbbf1cc569a.js} +2 -2
- package/assets/esri/core/workers/chunks/f60292d97bcdbf19165b.js +1 -0
- package/assets/esri/core/workers/chunks/f9e22cf59e2e2782d70f.js +1 -0
- package/assets/esri/core/workers/chunks/fce7995c26953bfd8d3d.js +1 -0
- package/assets/esri/core/workers/chunks/{e227ae2c1a63e30e62d9.js → ff48334528d2554db4fe.js} +1 -1
- package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +18 -14
- package/assets/esri/themes/base/widgets/_DatePicker.scss +1 -1
- package/assets/esri/themes/base/widgets/_Grid.scss +3 -3
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/AtmosphereCompositing.glsl.js +1 -1
- package/chunks/Bufferer-Dw9Qi4T1.js +1 -1
- package/chunks/Centroid-DZi-eb9F.js +1 -1
- package/chunks/Clouds.glsl.js +1 -1
- package/chunks/Compositing.glsl.js +1 -1
- package/chunks/CutFillComposition.glsl.js +1 -1
- package/chunks/CutFillDepth.glsl.js +1 -1
- package/chunks/CutFillMask.glsl.js +1 -1
- package/chunks/CutFillReduction.glsl.js +1 -1
- package/chunks/CutFillTargetDepth.glsl.js +1 -1
- package/chunks/Distance2DCalculator-CXhBP-8I.js +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/Envelope2D.js +1 -1
- package/chunks/FlatGeometry.js +1 -1
- package/chunks/FocusAreaColor.glsl.js +1 -1
- package/chunks/FocusAreaMask.glsl.js +1 -1
- package/chunks/Fog.glsl.js +1 -1
- package/chunks/GaussianSplat.glsl.js +1 -1
- package/chunks/GaussianSplatShadow.glsl.js +1 -1
- package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/GeometryCleaner-BEJM7I4l.js +1 -1
- package/chunks/GlobalIllumination.glsl.js +20 -19
- package/chunks/GlobalIlluminationBlur.glsl.js +15 -12
- package/chunks/GlobalIlluminationUpscale.glsl.js +4 -3
- package/chunks/GlowBlur.glsl.js +1 -1
- package/chunks/GlowComposition.glsl.js +1 -1
- package/chunks/HazeCompositing.glsl.js +1 -1
- package/chunks/HighlightBlur.glsl.js +1 -1
- package/chunks/HighlightDownsample.glsl.js +1 -1
- package/chunks/Magnifier.glsl.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/NoiseTextureAtlas.glsl.js +1 -1
- package/chunks/OITBlend.glsl.js +2 -2
- package/chunks/OITBlendEmission.glsl.js +1 -1
- package/chunks/OITDimOpaque.glsl.js +1 -1
- package/chunks/OperatorClip.js +1 -1
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorDensify.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/OperatorIntegrate.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.js +1 -1
- package/chunks/OperatorProject.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingDensify.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/OperatorTouches.js +1 -1
- package/chunks/OperatorWithin.js +1 -1
- package/chunks/OverlayCompositing.glsl.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/PointRenderer.glsl.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/RasterColorizer.glsl.js +1 -1
- package/chunks/RealisticTree.glsl.js +17 -15
- package/chunks/ShadowCastAccumulate.glsl.js +1 -1
- package/chunks/ShadowCastVisualize.glsl.js +2 -2
- package/chunks/SideCalculator2D-BNwb5gvz.js +1 -1
- package/chunks/SimpleAtmosphere.glsl.js +1 -1
- package/chunks/SpatialReference.js +1 -1
- package/chunks/Terrain.glsl.js +1 -1
- package/chunks/Texture.glsl.js +1 -1
- package/chunks/Transformation2D.js +1 -1
- package/chunks/Viewshed.glsl.js +1 -1
- package/chunks/aiServices.js +1 -1
- package/chunks/arcade.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/boundedPlane.js +1 -1
- package/chunks/bundle.js +1 -1
- package/chunks/bundle2.js +1 -1
- package/chunks/constants.js +1 -1
- package/chunks/containsOperator.js +1 -1
- package/chunks/disjointOperator.js +1 -1
- package/chunks/distanceOperator.js +1 -1
- package/chunks/equalsOperator.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/chunks/pe.js +1 -1
- package/chunks/persistableUrlUtils.js +1 -1
- package/chunks/relateOperator.js +1 -1
- package/chunks/symmetricDifferenceOperator.js +1 -1
- package/chunks/unionOperator.js +1 -1
- package/chunks/vec2.js +1 -1
- package/chunks/vec3.js +1 -1
- package/chunks/vec4.js +1 -1
- package/config.d.ts +2 -2
- package/config.js +1 -1
- package/core/Collection.d.ts +25 -25
- package/core/Error.d.ts +1 -1
- package/core/JSONSupport.d.ts +1 -1
- package/core/accessorSupport/decorators/persistable.js +1 -1
- package/core/mapCollectionUtils.js +1 -1
- package/core/promiseUtils.d.ts +3 -3
- package/core/quantityFormatUtils.js +1 -1
- package/core/reactiveUtils.d.ts +4 -4
- package/core/sql/WhereClause.d.ts +1 -1
- package/core/timeUtils.d.ts +1 -1
- package/core/unitFormatUtils.js +1 -1
- package/core/workers/Connection.d.ts +9 -9
- package/core/workers.d.ts +1 -1
- package/editing/sharedTemplates/templateDefinitions/FeatureTemplateDefinition.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/GroupTemplateDefinition.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/PresetTemplateDefinition.js +1 -1
- package/editing/types.d.ts +3 -3
- package/effects/FocusArea.js +1 -1
- package/geometry/Circle.js +1 -1
- package/geometry/Mesh.d.ts +9 -2
- package/geometry/Mesh.js +1 -1
- package/geometry/coordinateFormatter.js +1 -1
- package/geometry/geodesicUtils.js +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/gx/geodeticUtils.js +1 -1
- package/geometry/operators/gx/operatorAffineTransform.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.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/operatorDifference.js +1 -1
- package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
- package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
- package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
- package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
- package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
- package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
- package/geometry/operators/gx/operatorIntersection.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/operatorProject.js +1 -1
- package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
- package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
- package/geometry/operators/gx/operatorSimplify.js +1 -1
- package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/gx/operatorUnion.js +1 -1
- package/geometry/operators/isNearOperator.js +1 -1
- package/geometry/operators/json/containsOperator.js +1 -1
- package/geometry/operators/json/disjointOperator.js +1 -1
- package/geometry/operators/locateBetweenOperator.js +1 -1
- package/geometry/operators/offsetOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/operators/support/geographicTransformationUtils.js +1 -1
- package/geometry/operators/support/initNoPeFactory.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/operators/support/projectionTransformation.js +1 -1
- package/geometry/operators/symmetricDifferenceOperator.js +1 -1
- package/geometry/operators/unionOperator.js +1 -1
- package/geometry/pe.js +1 -1
- package/geometry/support/MeshMaterial.d.ts +5 -5
- package/geometry/support/MeshTexture.d.ts +19 -19
- package/geometry/support/MeshTexture.js +1 -1
- package/geometry/support/boundedPlane.js +1 -1
- package/geometry/support/buffer/math/vec3.js +1 -1
- package/geometry/support/buffer/math/vec4.js +1 -1
- package/geometry/support/buffer/utils/vec2.js +1 -1
- package/geometry/support/coordinateSystem.js +1 -1
- package/geometry/support/frustum.js +1 -1
- package/geometry/support/jsonUtils.d.ts +1 -1
- package/geometry/support/meshUtils/extent.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/projection.js +1 -1
- package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
- package/geometry/support/meshUtils.d.ts +130 -2
- package/geometry/support/meshUtils.js +1 -1
- package/geometry/support/spatialReferenceUtils.js +1 -1
- package/identity/Credential.d.ts +1 -1
- package/identity/IdentityManager.d.ts +1 -1
- package/identity/OAuthInfo.d.ts +1 -1
- package/identity/ServerInfo.d.ts +2 -2
- package/interfaces.d.ts +13 -0
- package/intl/number.d.ts +3 -3
- package/intl/substitute.d.ts +2 -2
- package/intl.d.ts +28 -28
- package/kernel.js +1 -1
- package/layers/AnnotationLayer.js +1 -1
- package/layers/BaseDynamicLayer.d.ts +5 -5
- package/layers/BaseTileLayer.d.ts +4 -4
- package/layers/BuildingSceneLayer.d.ts +1 -1
- package/layers/CSVLayer.d.ts +7 -1
- package/layers/CatalogLayer.d.ts +6 -0
- package/layers/DimensionFeatureLayer.js +1 -1
- package/layers/FeatureLayer.d.ts +45 -8
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.d.ts +7 -1
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/IntegratedMeshLayer.js +1 -1
- package/layers/KnowledgeGraphLayer.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/MapImageLayer.d.ts +5 -5
- package/layers/MediaLayer.d.ts +3 -3
- package/layers/OrientedImageryLayer.d.ts +29 -2
- package/layers/ParquetLayer.d.ts +7 -1
- package/layers/SceneLayer.d.ts +3 -3
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.d.ts +1 -1
- package/layers/SubtypeGroupLayer.d.ts +7 -1
- package/layers/TileLayer.d.ts +2 -2
- package/layers/UnsupportedLayer.d.ts +10 -2
- package/layers/VectorTileLayer.d.ts +2 -2
- package/layers/VideoLayer.d.ts +1 -1
- package/layers/VoxelLayer.d.ts +4 -4
- package/layers/WCSLayer.d.ts +2 -2
- package/layers/WFSLayer.d.ts +6 -0
- package/layers/WebTileLayer.d.ts +1 -1
- package/layers/catalog/CatalogFootprintLayer.d.ts +20 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +6 -0
- package/layers/mixins/ArcGISImageService.d.ts +7 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/BlendLayer.d.ts +2 -2
- package/layers/mixins/DataSeriesLayer.d.ts +161 -0
- package/layers/mixins/DataSeriesLayer.js +2 -0
- package/layers/mixins/FeatureLayerBase.d.ts +3 -3
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/transformations/utils.js +1 -1
- package/layers/raster/functions/rasterProjectionHelper.js +1 -1
- package/layers/save/featureLayerUtils.js +1 -1
- package/layers/support/DateTimeFieldFormat.d.ts +10 -10
- package/layers/support/FeatureEffect.d.ts +22 -22
- package/layers/support/FeatureFilter.d.ts +1 -1
- package/layers/support/FeatureReductionBinning.d.ts +12 -0
- package/layers/support/FeatureReductionCluster.d.ts +12 -0
- package/layers/support/FeatureReductionSelection.d.ts +1 -1
- package/layers/support/Field.d.ts +2 -2
- package/layers/support/ImageElement.d.ts +1 -1
- package/layers/support/ImageElement.js +1 -1
- package/layers/support/MosaicRule.d.ts +0 -2
- package/layers/support/NumberFieldFormat.d.ts +5 -5
- package/layers/support/ParquetFilesData.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/SceneFilter.js +1 -1
- package/layers/support/StreamConnection.d.ts +1 -1
- package/layers/support/Sublayer.d.ts +2 -2
- package/layers/support/SubtypeSublayer.d.ts +14 -1
- package/layers/support/TimeSeriesFieldTimeMapping.d.ts +30 -0
- package/layers/support/TimeSeriesFieldTimeMapping.js +2 -0
- package/layers/support/TimeSeriesInfo.d.ts +149 -0
- package/layers/support/TimeSeriesInfo.js +2 -0
- package/layers/support/VideoElement.d.ts +1 -1
- package/layers/support/arcgisLayers.js +1 -1
- package/layers/support/dataSeriesUtils.d.ts +18 -0
- package/layers/support/dataSeriesUtils.js +2 -0
- package/layers/support/fetchService.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/layersLoader.js +1 -1
- package/layers/support/timeSeriesUtils.d.ts +27 -0
- package/layers/support/timeSeriesUtils.js +2 -0
- package/layers/types.d.ts +1 -1
- package/libs/parquet/loadParquetModule.js +1 -1
- package/libs/text/loadTextModule.js +1 -1
- package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
- package/linkChart/LinkChartProperties.js +1 -1
- package/networks/CircuitManager.d.ts +1 -1
- package/networks/Network.d.ts +1 -1
- package/networks/UnitIdentifierManager.d.ts +1 -1
- package/networks/support/NamedTraceConfiguration.d.ts +1 -1
- package/networks/support/TraceConfiguration.d.ts +2 -2
- package/networks/support/UNTraceConfiguration.d.ts +3 -3
- package/networks/support/jsonTypes.d.ts +7 -1
- package/networks/support/utils.js +1 -1
- package/package.json +4 -4
- package/popup/content/CustomContent.d.ts +1 -1
- package/portal/Portal.d.ts +2 -2
- package/portal/PortalItem.js +1 -1
- package/portal/jsonTypes.d.ts +2 -2
- package/renderers/FlowRenderer.d.ts +2 -2
- package/renderers/UniqueValueRenderer.js +1 -1
- package/renderers/support/AuthoringInfo.d.ts +14 -1
- package/renderers/support/AuthoringInfo.js +1 -1
- package/renderers/support/AuthoringInfoVisualVariable.d.ts +14 -1
- package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
- package/renderers/support/jsonUtils.d.ts +1 -1
- package/renderers/support/utils.d.ts +1 -1
- package/renderers/visualVariables/RotationVariable.d.ts +16 -1
- package/renderers/visualVariables/RotationVariable.js +1 -1
- package/request/types.d.ts +23 -23
- package/rest/geometryService.d.ts +1 -1
- package/rest/knowledgeGraph/CreateReplicaResponse.d.ts +1 -1
- package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
- package/rest/knowledgeGraph/GraphProperty.d.ts +5 -1
- package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +2 -2
- package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToReplicaFactories.js +1 -1
- package/rest/knowledgeGraphService.d.ts +13 -13
- package/rest/layerSources/DynamicDataLayer.d.ts +1 -1
- package/rest/print.d.ts +1 -1
- package/rest/support/AttributeBinsQuery.d.ts +16 -2
- package/rest/support/ClosestFacilityParameters.d.ts +6 -6
- package/rest/support/IdentifyParameters.js +1 -1
- package/rest/support/IdentifyResult.js +1 -1
- package/rest/support/LastMileDeliveryParameters.d.ts +4 -4
- package/rest/support/LocationToAddressParameters.d.ts +1 -1
- package/rest/support/PrintTemplate.d.ts +5 -5
- package/rest/support/Query.d.ts +18 -4
- package/rest/support/RouteParameters.d.ts +5 -5
- package/rest/support/ServiceAreaParameters.d.ts +6 -6
- package/rest/support/TopFeaturesQuery.d.ts +16 -2
- package/rest/support/meshFeatureSet.js +1 -1
- package/smartMapping/raster/renderers/flow.d.ts +2 -2
- package/smartMapping/renderers/color.d.ts +40 -0
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/opacity.d.ts +8 -0
- package/smartMapping/renderers/opacity.js +1 -1
- package/smartMapping/renderers/size.d.ts +38 -0
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/smartMapping/renderers/support/timeSeriesUtils.js +2 -0
- package/smartMapping/renderers/type.d.ts +20 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/renderers/univariateColorSize.d.ts +19 -0
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/symbology/flow.d.ts +2 -2
- package/smartMapping/symbology/types.d.ts +2 -2
- package/support/arcadeUtils.js +1 -1
- package/support/persistableUrlUtils.js +1 -1
- package/support/revision.js +1 -1
- package/support/tests/setupServiceMocksMesh.js +1 -1
- package/support/timeUtils.d.ts +3 -3
- package/symbols/Font.d.ts +7 -7
- package/symbols/Symbol3D.js +1 -1
- package/symbols/WebStyleSymbol.d.ts +11 -11
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
- package/symbols/support/IconSymbol3DLayerResource.js +1 -1
- package/symbols/support/Symbol3DEmissive.d.ts +8 -2
- package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
- package/symbols/support/jsonUtils.d.ts +1 -1
- package/symbols/support/previewSymbol2D.js +1 -1
- package/symbols/support/urlUtils.js +1 -1
- package/symbols/support/webStyleSymbolUtils.js +1 -1
- package/time/TimeExtent.d.ts +2 -2
- package/versionManagement/VersionManagementService.d.ts +8 -8
- package/versionManagement/VersionManager.d.ts +13 -3
- package/versionManagement/VersioningState.d.ts +4 -4
- package/views/2d/MapViewConstraints.d.ts +29 -25
- package/views/2d/ViewStateManager.js +1 -1
- package/views/2d/engine/flow/styles/Imagery.js +1 -1
- package/views/2d/engine/flow/styles/Particles.js +1 -1
- package/views/2d/engine/flow/styles/Streamlines.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileFeatureIndex.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlitShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlurShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ClipShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PostProcessingShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowParticlesShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowStreamlinesShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vvUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/interactive/editingTools/TransformTool.js +1 -1
- package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
- package/views/2d/layers/BaseLayerView2D.d.ts +1 -1
- package/views/2d/layers/BaseLayerViewGL2D.d.ts +3 -3
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
- package/views/2d/layers/features/Processor.js +1 -1
- package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
- package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/navigation/ZoomBox.js +1 -1
- package/views/2d/navigation/actions/Pan.js +1 -1
- package/views/2d/navigation/actions/Pinch.js +1 -1
- package/views/2d/navigation/actions/Rotate.js +1 -1
- package/views/3d/analysis/AnalysisView3D.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisResult.js +1 -1
- package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/analysis/Slice/SliceController.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedDrawToolRenderer.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementOperation.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool2.js +1 -1
- package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
- package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
- package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
- package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
- package/views/3d/focusAreaUtils.js +1 -1
- package/views/3d/glTF/internal/resourceUtils.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/DrapedSubView3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
- package/views/3d/layers/ImagerySubView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudWorker.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/SubView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/i3s/LoDUtil.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/i3s/meshUtils.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
- package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
- package/views/3d/layers/support/I3STreeDebugger.js +1 -1
- package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
- package/views/3d/layers/support/MediaLayerInteractionReshapeOptions.js +1 -1
- package/views/3d/layers/support/edgeUtils.js +1 -1
- package/views/3d/state/ScreenSizePerspective.js +1 -1
- package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
- package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/ViewSlice.js +1 -1
- package/views/3d/support/dito.js +1 -1
- package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
- package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
- package/views/3d/terrain/RasterTile.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl/RenderCamera.js +1 -1
- package/views/3d/webgl/RenderNode.d.ts +7 -7
- package/views/3d/webgl/RenderNode.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/Clouds.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaColor.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMask.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
- package/views/3d/webgl-engine/effects/fog/FogTechnique.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/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlurTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +7 -0
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscale.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscaleTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightDownsample.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/magnifier/Magnifier.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
- package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/Compositor.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatShadowRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/SliceHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillCompositionTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillDepthTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillDepthTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillMask.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillReduction.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillReductionTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillReductionTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillTargetDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillTargetDepthTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatShadowTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastMaskTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
- package/views/BreakpointsOwner.d.ts +1 -1
- package/views/DOMContainer.d.ts +6 -6
- package/views/Magnifier.d.ts +1 -1
- package/views/MapView.d.ts +1 -1
- package/views/SceneView.d.ts +3 -3
- package/views/Theme.js +1 -1
- package/views/View.js +1 -1
- package/views/View2D.d.ts +62 -54
- package/views/Viewport2DMixin.d.ts +1 -1
- package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
- package/views/analysis/LengthDimensionResult.js +1 -1
- package/views/draw/drawSurfaces.js +1 -1
- package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
- package/views/input/types.d.ts +15 -15
- package/views/interactive/Tooltip.js +1 -1
- package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
- package/views/interactive/sketch/SketchLabelOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
- package/views/interactive/sketch/constraints.js +1 -1
- package/views/interactive/sketch/normalizedPoint.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +3 -3
- package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
- package/views/interactive/support/utils.js +1 -1
- package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
- package/views/interactive/tooltip/content/TooltipContent.js +1 -1
- package/views/interactive/tooltip/fields/fields.js +1 -1
- package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
- package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
- package/views/layers/BuildingComponentSublayerView.js +1 -1
- package/views/layers/FeatureLikeLayerView.d.ts +6 -3
- package/views/layers/FeatureLikeLayerView.js +1 -1
- package/views/layers/GraphicsLayerView.d.ts +6 -3
- package/views/layers/GroupLayerView.js +1 -1
- package/views/layers/ImageryLayerView.d.ts +4 -0
- package/views/layers/SceneLayerView.js +1 -1
- package/views/navigation/Navigation.d.ts +1 -1
- package/views/overlay/CrosshairOverlayItem.js +1 -1
- package/views/overlay/LineOverlayItem.js +1 -1
- package/views/support/WebAssemblyRequirements.js +1 -1
- package/views/support/angularMeasurementUtils.js +1 -1
- package/views/support/euclideanLengthMeasurementUtils.js +1 -1
- package/views/support/flow/dataUtils.js +1 -1
- package/views/support/geometry2dUtils.js +1 -1
- package/views/support/geometry3dUtils.js +1 -1
- package/views/types.d.ts +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/webscene/Glow.d.ts +0 -4
- package/widgets/BasemapGallery.d.ts +1 -1
- package/widgets/BasemapLayerList.d.ts +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +30 -2
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/css.js +1 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +0 -5
- package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
- package/widgets/BatchAttributeForm/rendered-content/RelationshipDetails.js +1 -1
- package/widgets/BatchAttributeForm/types.d.ts +68 -1
- package/widgets/BatchAttributeForm.d.ts +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Bookmarks.d.ts +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/constants.js +1 -1
- package/widgets/BuildingExplorer.d.ts +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion.d.ts +2 -2
- package/widgets/Daylight.d.ts +2 -2
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions.d.ts +1 -1
- package/widgets/Editor/components/Settings.js +1 -1
- package/widgets/Editor.d.ts +9 -9
- package/widgets/ElevationProfile.d.ts +1 -1
- package/widgets/Feature.d.ts +1 -1
- package/widgets/FeatureForm.d.ts +1 -1
- package/widgets/FeatureTable/ActionColumn.d.ts +1 -1
- package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
- package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
- package/widgets/FeatureTemplates.d.ts +1 -1
- package/widgets/FloorFilter.d.ts +1 -1
- package/widgets/Fullscreen/FullscreenViewModel.d.ts +3 -3
- package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
- package/widgets/Fullscreen.d.ts +3 -3
- package/widgets/Histogram/HistogramViewModel.js +1 -1
- package/widgets/LayerList/ListItemPanel.d.ts +5 -5
- package/widgets/Legend.d.ts +1 -1
- package/widgets/Locate/LocateViewModel.d.ts +2 -2
- package/widgets/Locate.d.ts +1 -1
- package/widgets/PanoramicViewer/utils.js +1 -1
- package/widgets/Popup.d.ts +1 -1
- package/widgets/Print/PrintViewModel.d.ts +2 -2
- package/widgets/Print/TemplateOptions.d.ts +4 -4
- package/widgets/Print.d.ts +6 -6
- package/widgets/Search/SearchViewModel.d.ts +5 -5
- package/widgets/Search.d.ts +4 -4
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/ShadowCast.d.ts +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +39 -39
- package/widgets/Sketch.d.ts +39 -39
- package/widgets/Sketch.js +1 -1
- package/widgets/Slice.d.ts +2 -2
- package/widgets/TableList/ListItemPanel.d.ts +5 -5
- package/widgets/Track/TrackViewModel.d.ts +3 -3
- package/widgets/Track.d.ts +3 -3
- package/widgets/UtilityNetworkTrace.d.ts +2 -2
- package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
- package/widgets/VersionManagement/VersionManagementViewModel.d.ts +2 -2
- package/widgets/Weather.d.ts +1 -1
- package/widgets/Widget.d.ts +1 -1
- package/widgets/support/ContingentValuesManager.js +1 -1
- package/widgets/support/forms/formUtils.js +1 -1
- package/widgets/support/types.d.ts +1 -1
- package/widgets/support/widget.d.ts +6 -6
- package/assets/esri/core/workers/chunks/069459519477bb3dc91b.js +0 -1
- package/assets/esri/core/workers/chunks/0b445c1cf281f158c1f1.js +0 -1
- package/assets/esri/core/workers/chunks/0e9804ece1fd2d59751b.js +0 -1
- package/assets/esri/core/workers/chunks/115664cb7d7b22a315bb.js +0 -1
- package/assets/esri/core/workers/chunks/123a67e84ed68b96ac59.js +0 -1
- package/assets/esri/core/workers/chunks/163ce1be8bfe20e77f97.js +0 -1
- package/assets/esri/core/workers/chunks/169c9eb6cd000e067c4b.js +0 -1
- package/assets/esri/core/workers/chunks/18201119828664373165.js +0 -1
- package/assets/esri/core/workers/chunks/18ebf1d3ed05c8057f7d.js +0 -1
- package/assets/esri/core/workers/chunks/19f07c8d0f32ec889861.js +0 -1
- package/assets/esri/core/workers/chunks/1bd8a7f92a428eedb22e.js +0 -1
- package/assets/esri/core/workers/chunks/1f537c05c2f643acb5e7.js +0 -1
- package/assets/esri/core/workers/chunks/241aeff6afd074ce105b.js +0 -1
- package/assets/esri/core/workers/chunks/2562d8905bd05ef6fd07.js +0 -1
- package/assets/esri/core/workers/chunks/2855357a2c1f2ab03fb7.js +0 -1
- package/assets/esri/core/workers/chunks/2bd334f9ab89334df713.js +0 -1
- package/assets/esri/core/workers/chunks/2e8db0f05df2e38a14e1.js +0 -2
- package/assets/esri/core/workers/chunks/30e191d36aa95823c018.js +0 -1
- package/assets/esri/core/workers/chunks/315bf08dff4757ffbed3.js +0 -1
- package/assets/esri/core/workers/chunks/31c01885ee6d70a2bde2.js +0 -1
- package/assets/esri/core/workers/chunks/3292b3883f203637b5a7.js +0 -1
- package/assets/esri/core/workers/chunks/32f24a66f684de3c243d.js +0 -1
- package/assets/esri/core/workers/chunks/35527a01d61cabbfd33e.js +0 -1
- package/assets/esri/core/workers/chunks/3aebbed6d4fd1b993a35.js +0 -1
- package/assets/esri/core/workers/chunks/3f1d533efe4300d19e6a.js +0 -1
- package/assets/esri/core/workers/chunks/413d2fa54508e6f42c74.js +0 -1
- package/assets/esri/core/workers/chunks/4325fa92dafca465ae26.js +0 -1
- package/assets/esri/core/workers/chunks/4364a3e706294bb6ae41.js +0 -1
- package/assets/esri/core/workers/chunks/438f35d41c6851736818.js +0 -30
- package/assets/esri/core/workers/chunks/453c9e8d438d061e1736.js +0 -1
- package/assets/esri/core/workers/chunks/479e34b0abc10499bd3a.js +0 -1
- package/assets/esri/core/workers/chunks/47d49777a3b3cd8e18bd.js +0 -1
- package/assets/esri/core/workers/chunks/49675e77a351abda2728.js +0 -1
- package/assets/esri/core/workers/chunks/4cdf80e2e60501dd4756.js +0 -1
- package/assets/esri/core/workers/chunks/51816d79c6be15e4bfcf.js +0 -1
- package/assets/esri/core/workers/chunks/51edfe21d4c6ee22c83d.js +0 -1
- package/assets/esri/core/workers/chunks/5524a71d1abc9568ce26.js +0 -1
- package/assets/esri/core/workers/chunks/557e39e5156b313597f9.js +0 -1
- package/assets/esri/core/workers/chunks/55b765c72d13b3b911f9.js +0 -1
- package/assets/esri/core/workers/chunks/5dc86a3a40d16b576bb5.js +0 -1
- package/assets/esri/core/workers/chunks/6182d39e2095d4460b88.js +0 -1
- package/assets/esri/core/workers/chunks/621d71d26bd20e296138.js +0 -1
- package/assets/esri/core/workers/chunks/67dffb896b6ef4b2038b.js +0 -1
- package/assets/esri/core/workers/chunks/694f9571e2723d3d4b02.js +0 -1
- package/assets/esri/core/workers/chunks/69ad5930ff6040c6c561.js +0 -1
- package/assets/esri/core/workers/chunks/6af88bb722bbb37db198.js +0 -2
- package/assets/esri/core/workers/chunks/70d8f5bdb452cee41536.js +0 -2
- package/assets/esri/core/workers/chunks/728151d24334027af635.js +0 -1
- package/assets/esri/core/workers/chunks/77769663cd712822d33e.js +0 -1
- package/assets/esri/core/workers/chunks/78af4b7a379c40f497a7.js +0 -1
- package/assets/esri/core/workers/chunks/7c292f7b181f3b93352b.js +0 -1
- package/assets/esri/core/workers/chunks/86443e47ad99e555753a.js +0 -1
- package/assets/esri/core/workers/chunks/86f2de7dda7992ae706c.js +0 -1
- package/assets/esri/core/workers/chunks/895114ccd2603830960f.js +0 -1
- package/assets/esri/core/workers/chunks/9250615c78f8570a9cda.js +0 -1
- package/assets/esri/core/workers/chunks/927c8ca7fd385b28a1b7.js +0 -640
- package/assets/esri/core/workers/chunks/95d82c619dcbec2e1050.js +0 -1
- package/assets/esri/core/workers/chunks/979bab62cad788180770.js +0 -1
- package/assets/esri/core/workers/chunks/9d70247d820085a2c190.js +0 -1
- package/assets/esri/core/workers/chunks/a0aaf14c8f9a007d88ac.js +0 -1
- package/assets/esri/core/workers/chunks/a0b6eef4890cc61609dc.js +0 -1
- package/assets/esri/core/workers/chunks/a0fce639319d59becd01.js +0 -2
- package/assets/esri/core/workers/chunks/aa03f770178693167aa0.js +0 -1
- package/assets/esri/core/workers/chunks/aea439d4c2308f88b295.js +0 -1
- package/assets/esri/core/workers/chunks/af45110f07e4b5162bae.js +0 -1
- package/assets/esri/core/workers/chunks/b0c647af49c9d563b852.js +0 -1
- package/assets/esri/core/workers/chunks/b44f1d08784f2e50c853.js +0 -1
- package/assets/esri/core/workers/chunks/b640651c7d86cfe654bf.js +0 -1
- package/assets/esri/core/workers/chunks/b78fb24b47d9f31f18c6.js +0 -1
- package/assets/esri/core/workers/chunks/b8dda9e55caba0e2b4c2.js +0 -1
- package/assets/esri/core/workers/chunks/ba693317ed3939587f30.js +0 -1
- package/assets/esri/core/workers/chunks/c13c532fe38ddc5d7ca6.js +0 -1
- package/assets/esri/core/workers/chunks/c4872cf3b71d00f450e1.js +0 -1
- package/assets/esri/core/workers/chunks/c5b7ff8650235c464dbf.js +0 -1
- package/assets/esri/core/workers/chunks/ca1b0cb14ea9ae1bf2a3.js +0 -1
- package/assets/esri/core/workers/chunks/caf80facb0322be054ab.js +0 -1
- package/assets/esri/core/workers/chunks/cc48354c54358777e996.js +0 -1
- package/assets/esri/core/workers/chunks/d5423df247be82fa085a.js +0 -1
- package/assets/esri/core/workers/chunks/d598d08dbf2796742e8c.js +0 -1
- package/assets/esri/core/workers/chunks/d6d87bfa9e6d233385a9.js +0 -262
- package/assets/esri/core/workers/chunks/da4f7d7099ba88f31f45.js +0 -1
- package/assets/esri/core/workers/chunks/dbb1ac41fd5da4fd849b.js +0 -1
- package/assets/esri/core/workers/chunks/dc259eed58fde3f5cb5c.js +0 -1
- package/assets/esri/core/workers/chunks/e0036fa0324a96a88248.js +0 -1
- package/assets/esri/core/workers/chunks/e0bd550b10dd402c48f1.js +0 -1
- package/assets/esri/core/workers/chunks/e29d182460564c2a52ad.js +0 -1
- package/assets/esri/core/workers/chunks/e645f992ec6f935ee3a5.js +0 -1
- package/assets/esri/core/workers/chunks/eabd4a78221b7e733793.js +0 -1
- package/assets/esri/core/workers/chunks/eda083e9d12e45da0a7b.js +0 -1
- package/assets/esri/core/workers/chunks/f05932aea4eb267cba4d.js +0 -1
- package/assets/esri/core/workers/chunks/f0b5c140a5ba174572b6.js +0 -1
- package/assets/esri/core/workers/chunks/f239a8ecad8b692d5eaa.js +0 -1
- package/assets/esri/core/workers/chunks/f286680e363eefdf27df.js +0 -1
- package/assets/esri/core/workers/chunks/fa3138dd8139008b430d.js +0 -1
- package/assets/esri/core/workers/chunks/fb0afb41a3d87d59f574.js +0 -1
- package/assets/esri/core/workers/chunks/fc9fbc8e4e459edf4e37.js +0 -1
- /package/assets/esri/core/workers/chunks/{70d8f5bdb452cee41536.js.LICENSE.txt → 62e77e3c5ca9b4887923.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{6af88bb722bbb37db198.js.LICENSE.txt → 7df94cb985db41815fad.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a0fce639319d59becd01.js.LICENSE.txt → 875cce0be4f6c89f80f3.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{2e8db0f05df2e38a14e1.js.LICENSE.txt → d9d4754062758789f186.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{1252da05832e576d4def.js.LICENSE.txt → f5731ad4cfbbf1cc569a.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../core/Error.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/ClassBreakInfo.js";import s from"../../renderers/visualVariables/support/SizeStop.js";import{getSize as o}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{createVisualVariable as n}from"./color.js";import{createContinuousRenderer as l,createVisualVariables as t,regenerateContinuousRenderer as r}from"./size.js";import{isColorVV as u,updateAuthoringInfoVisualVariable as p,spliceVisualVariables as m,getAuthoringInfoVisualVariable as c,processRegenerateParams as v,getRendererToUpdate as d,getStyleType as f,hasOutlineVV as b,hasScaleDependentSizeVV as y,findSizeVVIndex as w}from"./support/regenerateUtils.js";import{verifyBasicFieldValidity as h,createStopValuesForAboveBelow as z,clampAboveAndBelowStopValues as g,createDefaultStopValues as V}from"./support/utils.js";import{verifyBinningParams as O}from"../support/binningUtils.js";import{isAnyDateField as x,getFieldsList as E}from"../support/utils.js";import{binningCapableLayerTypes as S,featureCapableLayerTypes as I,createLayerAdapter as T,getLayerTypeLabels as j}from"../support/adapters/support/layerUtils.js";import{getAboveAndBelowSymbols as B}from"../symbology/support/aboveAndBelowUtils.js";import{applyCIMSymbolColor as q}from"../../symbols/support/cimSymbolUtils.js";import D from"../../symbols/support/Symbol3DMaterial.js";const U=2**53-1;async function C(i){if(!i?.layer||!(i.field||i.valueExpression||i.sqlExpression))throw new e("univariate-colorsize-visual-variables:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(i.valueExpression&&!i.sqlExpression&&!i.view)throw new e("univariate-colorsize-visual-variables:missing-parameters","View is required when 'valueExpression' is specified");if("above-and-below"===i.theme&&i.sizeOptions?.sizeOptimizationEnabled)throw new e("univariate-colorsize-visual-variables:invalid-parameters","sizeOptimizationEnabled cannot be true for 'above-and-below' theme");i.forBinning&&O(i,"univariate-colorsize-visual-variables");const a={...i,layer:i.layer},s=i.forBinning?S:I,o=T(a.layer,s,i.forBinning);if(!o)throw new e("univariate-colorsize-visual-variables:invalid-parameters","'layer' must be one of these types: "+j(s).join(", "));a.layer=o,a.theme=a.theme||a.colorOptions?.theme?a.theme:"high-to-low";const n=null!=a.signal?{signal:a.signal}:null;await o.load(n);const l=await E({field:a.field,normalizationField:a.normalizationField,valueExpression:a.valueExpression}),t=h(o,l,"univariate-colorsize-visual-variables:invalid-parameters");if(t)throw t;return a}function F(e,i){const a={...e},{sizeOptions:s,theme:o}=a,n=a.legendOptions||a.sizeOptions?.legendOptions;return delete a.sizeOptions,delete a.colorOptions,{...a,...s,statistics:i||a.statistics,theme:"above-and-below"===o?null:o,legendOptions:n}}function k(e,i){const a={...e},s=a.colorOptions,o=a.theme||s?.theme,n=a.legendOptions||a.colorOptions?.legendOptions;return delete a.sizeOptions,delete a.colorOptions,{...a,...s,statistics:i||a.statistics,theme:o,legendOptions:n}}async function A(i){if(!i?.layer||!(i.field||i.valueExpression||i.sqlExpression))throw new e("univariate-colorsize-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(i.valueExpression&&!i.sqlExpression&&!i.view)throw new e("univariate-colorsize-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");i.forBinning&&O(i,"univariate-colorsize-continuous-renderer");const a={...i,layer:i.layer};a.symbolType=a.symbolType||"2d",a.colorOptions||(a.colorOptions={}),a.colorOptions.isContinuous=a.colorOptions.isContinuous??!1;const s=i.forBinning?S:I,o=T(a.layer,s,i.forBinning);if(!o)throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+j(s).join(", "));const n=null!=a.signal?{signal:a.signal}:null;if(await o.load(n),"above-and-below"===a.theme&&a.symbolOptions){if(a.symbolType.includes("3d-volumetric"))throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'symbolOptions' is applicable for '2d' and '3d-flat' 'symbolType' only");if("point"!==o.geometryType&&"polygon"!==o.geometryType)throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'symbolOptions' only apply to layers with 'point' or 'polygon' geometryType")}const l=await E({field:a.field,normalizationField:a.normalizationField,valueExpression:a.valueExpression}),t=h(o,l,"univariate-colorsize-continuous-renderer:invalid-parameters");if(t)throw t;return{...a,layer:o}}function M(e){const i={...e},a={...i.sizeOptions};return delete i.sizeOptions,delete i.colorOptions,delete a.sizeOptimizationEnabled,{...i,...a}}async function P(i){const a="regenerate-univariate-color-size-renderer";await v(i,a);const s=await d(i);if("univariate-color-size"!==f(s))throw new e(`${a}:invalid-parameters`,"Renderer is invalid");const{layer:o,forBinning:n,filter:l,view:t,signal:r}=i,{field:u,normalizationField:p,valueExpression:m,valueExpressionTitle:c}=s,w=b(s),h=y(s),z=s.authoringInfo?.univariateTheme,g=await A({layer:o,field:u,normalizationField:p,valueExpression:m,valueExpressionTitle:c,outlineOptimizationEnabled:w,theme:z,colorOptions:{isContinuous:"above-and-below"===z?s.visualVariables?.some(e=>"color"===e.type):void 0},sizeOptions:{sizeOptimizationEnabled:h},forBinning:n,filter:l,view:t,signal:r});return{...i,creatorParameters:g,renderer:s}}function R(e,i){if("type"in e&&"cim"===e.type)q(e,i);else if("type"in e&&e.type.includes("3d")){e.symbolLayers.forEach(e=>{"material"in e&&null!=e.material&&"color"in e.material&&(e.material?e.material.color=i:e.material=new D({color:i}))})}else"color"in e&&(e.color=i)}function L(e,i,a){if((i?.symbolStyle||i?.symbols)&&("point"===a||"polygon"===a))return i.symbols||B(i.symbolStyle);const s=e.classBreakInfos[0].symbol;return{above:s.clone(),below:s.clone()}}function $(e,i,s){const o=s.symbolOptions,n=s.layer,l=o?.symbols?"custom":o?.symbolStyle,t=s.colorOptions?.isContinuous;if(G(e,i,t),l||!t){const s=i.size.visualVariables[0].stops,{above:r,below:u}=L(e,o,n.geometryType);if(!t){const e=i.color.colorScheme.colors,a=e[0];R(r,e[e.length-1]),R(u,a)}e.classBreakInfos=[new a({minValue:-U,maxValue:s[2].value,symbol:u}),new a({minValue:s[2].value,maxValue:U,symbol:r})],l&&e.authoringInfo&&(e.authoringInfo.univariateSymbolStyle=l)}}function G(e,i,a=!0){const s=i?.authoringInfo?.clone(),o=s?.visualVariables?.some(e=>"reference-size"===e.theme),n=o?[]:i.size.visualVariables.map(e=>e.clone());a?n.push(i.color.visualVariable.clone()):s.visualVariables=s.visualVariables?.filter(e=>"size"===e.type),e.visualVariables&&n.push(...e.visualVariables.filter(e=>"target"in e&&"outline"===e.target).map(e=>e.clone())),e.authoringInfo=s,e.visualVariables=n}function H(e){const i={...e},a=i.symbolType,s=!!a?.includes("3d-volumetric");delete i.symbolType,delete i.defaultSymbolEnabled;const o=i;return o.worldScale=s,s&&(o.sizeOptions={...o.sizeOptions},o.sizeOptions.axis="3d-volumetric-uniform"===a?"all":"height"),o}async function J(e,i,a,n){const l=i[0],t=i[1],r=Math.round((t-l)/2)+l,u=e.clone();u.stops=[new s({value:a[0],size:t}),new s({value:a[1],size:r}),new s({value:a[2],size:l}),new s({value:a[3],size:r}),new s({value:a[4],size:t})],e.stops=[new s({value:n[0],size:o(u,n[0])}),new s({value:n[1],size:o(u,n[1])}),new s({value:n[2],size:o(u,n[2])}),new s({value:n[3],size:o(u,n[3])}),new s({value:n[4],size:o(u,n[4])})]}async function K(e,i,a,s,o){const n=e.find(e=>"width-and-depth"!==e.axis&&!e.target),l="number"==typeof n?.minSize?n?.minSize:null,t="number"==typeof n?.maxSize?n?.maxSize:null;if(null!=n?.minDataValue&&null!=l&&null!=t)if(s)if("above-and-below"===s){n.minDataValue=null,n.maxDataValue=null,n.minSize=null,n.maxSize=null;const e=z(a,o),s=g(e,a);await J(n,[l,t],e,s),i.stops.forEach((e,i)=>e.value=s[i])}else{const{minDataValue:e,maxDataValue:a}=n,s=V(e,a,5);i.stops.forEach((e,i)=>e.value=s[i]),n.minDataValue=s[0],n.maxDataValue=s[s.length-1]}else n.minDataValue=i.stops[0].value,n.maxDataValue=i.stops[i.stops.length-1].value}function N(e,a,s){const{theme:o,minValue:n,maxValue:l}=e,t=a.authoringInfo.visualVariables[0].clone(),r=s.authoringInfo.visualVariables[0].clone(),{stops:u}=a.visualVariable;return"above-and-below"===o?(t.minSliderValue=r.minSliderValue=n??u[0].value,t.maxSliderValue=r.maxSliderValue=l??u.at(-1)?.value,r.theme="above-and-below"):o&&"high-to-low"!==o||"reference-size"!==r.theme||2!==r.sizeStops?.length||(r.sizeStops[0].value=u[0].value,r.sizeStops[1].value=u.at(-1)?.value),new i({type:"univariate-color-size",univariateTheme:o,visualVariables:[t,r]})}async function Q(e){const i=await C(e),a=await n(k(i)),{visualVariable:s,statistics:o}=a,l=await t(F(i,o)),r=l.visualVariables,u=e.layer,p=e.field?u.getField(e.field):null;return await K(r,s,o,i.theme,x(p)),{basemapId:l.basemapId,basemapTheme:l.basemapTheme,statistics:o,defaultValuesUsed:a.defaultValuesUsed,color:{visualVariable:s,colorScheme:a.colorScheme},size:{visualVariables:r,sizeScheme:l.sizeScheme},authoringInfo:N(i,a,l)}}async function W(e){return X(e)}async function X(e){const i=await A(e),{renderer:a,statistics:s,defaultValuesUsed:o}=await l(M(i)),n=H(i);n.statistics=s;const t=await Q(n);return"above-and-below"===i.theme?$(a,t,i):G(a,t),{renderer:a,statistics:s,defaultValuesUsed:o,color:i.colorOptions?.isContinuous||"above-and-below"!==i.theme?t.color:null,size:t.size,basemapId:t.basemapId,basemapTheme:t.basemapTheme}}async function Y(e){const{creatorParameters:i}=await P(e),{layer:a,field:s,theme:o,colorOptions:l}=i,{renderer:v,statistics:d}=await r(e),f=await C({...H(i),statistics:d}),b=await n(k(f)),y=b.visualVariable,h=(await t(F(f))).visualVariables,z=s?a.getField(s):null;await K(h,y,d,o,x(z));const g=l?.isContinuous||"above-and-below"!==o,V=v.visualVariables?.find(u);g&&V?.stops&&(V.stops.forEach((e,i)=>e.value=y.stops[i].value),p(v,b.authoringInfo,"color")),m(v,h,w);const O=c(v,"size");if((!o||"high-to-low"===o)&&"reference-size"===O?.theme&&2===O.sizeStops?.length){const{stops:e}=y;O.sizeStops[0].value=e[0].value,O.sizeStops[1].value=e.at(-1)?.value}if("above-and-below"===o&&h[0]?.stops){const e=h[0].stops;v.classBreakInfos[0].maxValue=e[2].value,v.classBreakInfos[1].minValue=e[2].value}return{renderer:v}}export{W as createContinuousRenderer,X as createRenderer,Q as createVisualVariables,Y as regenerateRenderer};
|
|
2
|
+
import e from"../../core/Error.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/ClassBreakInfo.js";import s from"../../renderers/visualVariables/support/SizeStop.js";import{getSize as o}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{createVisualVariable as n}from"./color.js";import{createContinuousRenderer as l,createVisualVariables as t,regenerateContinuousRenderer as r}from"./size.js";import{isColorVV as u,updateAuthoringInfoVisualVariable as p,spliceVisualVariables as m,findSizeVVIndex as c,getAuthoringInfoVisualVariable as v,processRegenerateParams as d,getRendererToUpdate as f,getStyleType as b,hasOutlineVV as y,hasScaleDependentSizeVV as w}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as h}from"./support/timeSeriesUtils.js";import{verifyBasicFieldValidity as z,createStopValuesForAboveBelow as g,clampAboveAndBelowStopValues as V,createDefaultStopValues as x}from"./support/utils.js";import{verifyBinningParams as E}from"../support/binningUtils.js";import{isAnyDateField as O,getFieldsList as S}from"../support/utils.js";import{binningCapableLayerTypes as T,featureCapableLayerTypes as I,createLayerAdapter as j,getLayerTypeLabels as B}from"../support/adapters/support/layerUtils.js";import{getAboveAndBelowSymbols as U}from"../symbology/support/aboveAndBelowUtils.js";import{applyCIMSymbolColor as q}from"../../symbols/support/cimSymbolUtils.js";import D from"../../symbols/support/Symbol3DMaterial.js";const C=2**53-1;async function F(i){const a=h({...i});if(!a?.layer||!(a.field||a.valueExpression||a.sqlExpression))throw new e("univariate-colorsize-visual-variables:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(a.valueExpression&&!a.sqlExpression&&!a.view)throw new e("univariate-colorsize-visual-variables:missing-parameters","View is required when 'valueExpression' is specified");if("above-and-below"===a.theme&&a.sizeOptions?.sizeOptimizationEnabled)throw new e("univariate-colorsize-visual-variables:invalid-parameters","sizeOptimizationEnabled cannot be true for 'above-and-below' theme");a.forBinning&&E(a,"univariate-colorsize-visual-variables");const s={...a,layer:a.layer},o=a.forBinning?T:I,n=j(s.layer,o,a.forBinning);if(!n)throw new e("univariate-colorsize-visual-variables:invalid-parameters","'layer' must be one of these types: "+B(o).join(", "));s.layer=n,s.theme=s.theme||s.colorOptions?.theme?s.theme:"high-to-low";const l=null!=s.signal?{signal:s.signal}:null;await n.load(l);const t=await S({field:s.field,normalizationField:s.normalizationField,valueExpression:s.valueExpression}),r=z(n,t,"univariate-colorsize-visual-variables:invalid-parameters");if(r)throw r;return s}function k(e,i){const a={...e},{sizeOptions:s,theme:o}=a,n=a.legendOptions||a.sizeOptions?.legendOptions;return delete a.sizeOptions,delete a.colorOptions,{...a,...s,statistics:i||a.statistics,theme:"above-and-below"===o?null:o,legendOptions:n}}function N(e,i){const a={...e},s=a.colorOptions,o=a.theme||s?.theme,n=a.legendOptions||a.colorOptions?.legendOptions;return delete a.sizeOptions,delete a.colorOptions,{...a,...s,statistics:i||a.statistics,theme:o,legendOptions:n}}async function A(i){const a=h({...i});if(!a?.layer||!(a.field||a.valueExpression||a.sqlExpression))throw new e("univariate-colorsize-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(a.valueExpression&&!a.sqlExpression&&!a.view)throw new e("univariate-colorsize-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");a.forBinning&&E(a,"univariate-colorsize-continuous-renderer");const s={...a,layer:a.layer};s.symbolType=s.symbolType||"2d",s.colorOptions||(s.colorOptions={}),s.colorOptions.isContinuous=s.colorOptions.isContinuous??!1;const o=a.forBinning?T:I,n=j(s.layer,o,a.forBinning);if(!n)throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+B(o).join(", "));const l=null!=s.signal?{signal:s.signal}:null;if(await n.load(l),"above-and-below"===s.theme&&s.symbolOptions){if(s.symbolType.includes("3d-volumetric"))throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'symbolOptions' is applicable for '2d' and '3d-flat' 'symbolType' only");if("point"!==n.geometryType&&"polygon"!==n.geometryType)throw new e("univariate-colorsize-continuous-renderer:invalid-parameters","'symbolOptions' only apply to layers with 'point' or 'polygon' geometryType")}const t=await S({field:s.field,normalizationField:s.normalizationField,valueExpression:s.valueExpression}),r=z(n,t,"univariate-colorsize-continuous-renderer:invalid-parameters");if(r)throw r;return{...s,layer:n}}function M(e){const i={...e},a={...i.sizeOptions};return delete i.sizeOptions,delete i.colorOptions,delete a.sizeOptimizationEnabled,{...i,...a}}async function P(i){const a="regenerate-univariate-color-size-renderer";await d(i,a);const s=await f(i);if("univariate-color-size"!==b(s))throw new e(`${a}:invalid-parameters`,"Renderer is invalid");const{layer:o,forBinning:n,filter:l,view:t,signal:r}=i,u=v(s,"color")?.dataSeriesName??v(s,"size")?.dataSeriesName,{field:p,normalizationField:m,valueExpression:c,valueExpressionTitle:h}=s,z=y(s),g=w(s),V=s.authoringInfo?.univariateTheme,x=await A({layer:o,field:p,normalizationField:m,valueExpression:c,valueExpressionTitle:h,outlineOptimizationEnabled:z,theme:V,colorOptions:{isContinuous:"above-and-below"===V?s.visualVariables?.some(e=>"color"===e.type):void 0},sizeOptions:{sizeOptimizationEnabled:g},dataSeriesName:u,forBinning:n,filter:l,view:t,signal:r});return{...i,creatorParameters:x,renderer:s}}function R(e,i){if("type"in e&&"cim"===e.type)q(e,i);else if("type"in e&&e.type.includes("3d")){e.symbolLayers.forEach(e=>{"material"in e&&null!=e.material&&"color"in e.material&&(e.material?e.material.color=i:e.material=new D({color:i}))})}else"color"in e&&(e.color=i)}function L(e,i,a){if((i?.symbolStyle||i?.symbols)&&("point"===a||"polygon"===a))return i.symbols||U(i.symbolStyle);const s=e.classBreakInfos[0].symbol;return{above:s.clone(),below:s.clone()}}function $(e,i,s){const o=s.symbolOptions,n=s.layer,l=o?.symbols?"custom":o?.symbolStyle,t=s.colorOptions?.isContinuous;if(G(e,i,t),l||!t){const s=i.size.visualVariables[0].stops,{above:r,below:u}=L(e,o,n.geometryType);if(!t){const e=i.color.colorScheme.colors,a=e[0];R(r,e[e.length-1]),R(u,a)}e.classBreakInfos=[new a({minValue:-C,maxValue:s[2].value,symbol:u}),new a({minValue:s[2].value,maxValue:C,symbol:r})],l&&e.authoringInfo&&(e.authoringInfo.univariateSymbolStyle=l)}}function G(e,i,a=!0){const s=i?.authoringInfo?.clone(),o=s?.visualVariables?.some(e=>"reference-size"===e.theme),n=o?[]:i.size.visualVariables.map(e=>e.clone());a?n.push(i.color.visualVariable.clone()):s.visualVariables=s.visualVariables?.filter(e=>"size"===e.type),e.visualVariables&&n.push(...e.visualVariables.filter(e=>"target"in e&&"outline"===e.target).map(e=>e.clone())),e.authoringInfo=s,e.visualVariables=n}function H(e){const i={...e},a=i.symbolType,s=!!a?.includes("3d-volumetric");delete i.symbolType,delete i.defaultSymbolEnabled;const o=i;return o.worldScale=s,s&&(o.sizeOptions={...o.sizeOptions},o.sizeOptions.axis="3d-volumetric-uniform"===a?"all":"height"),o}async function J(e,i,a,n){const l=i[0],t=i[1],r=Math.round((t-l)/2)+l,u=e.clone();u.stops=[new s({value:a[0],size:t}),new s({value:a[1],size:r}),new s({value:a[2],size:l}),new s({value:a[3],size:r}),new s({value:a[4],size:t})],e.stops=[new s({value:n[0],size:o(u,n[0])}),new s({value:n[1],size:o(u,n[1])}),new s({value:n[2],size:o(u,n[2])}),new s({value:n[3],size:o(u,n[3])}),new s({value:n[4],size:o(u,n[4])})]}async function K(e,i,a,s,o){const n=e.find(e=>"width-and-depth"!==e.axis&&!e.target),l="number"==typeof n?.minSize?n?.minSize:null,t="number"==typeof n?.maxSize?n?.maxSize:null;if(null!=n?.minDataValue&&null!=l&&null!=t)if(s)if("above-and-below"===s){n.minDataValue=null,n.maxDataValue=null,n.minSize=null,n.maxSize=null;const e=g(a,o),s=V(e,a);await J(n,[l,t],e,s),i.stops.forEach((e,i)=>e.value=s[i])}else{const{minDataValue:e,maxDataValue:a}=n,s=x(e,a,5);i.stops.forEach((e,i)=>e.value=s[i]),n.minDataValue=s[0],n.maxDataValue=s[s.length-1]}else n.minDataValue=i.stops[0].value,n.maxDataValue=i.stops[i.stops.length-1].value}function Q(e,a,s){const{theme:o,minValue:n,maxValue:l}=e,t=a.authoringInfo.visualVariables[0].clone(),r=s.authoringInfo.visualVariables[0].clone(),{stops:u}=a.visualVariable;return"above-and-below"===o?(t.minSliderValue=r.minSliderValue=n??u[0].value,t.maxSliderValue=r.maxSliderValue=l??u.at(-1)?.value,r.theme="above-and-below"):o&&"high-to-low"!==o||"reference-size"!==r.theme||2!==r.sizeStops?.length||(r.sizeStops[0].value=u[0].value,r.sizeStops[1].value=u.at(-1)?.value),new i({type:"univariate-color-size",univariateTheme:o,visualVariables:[t,r]})}async function W(e){const i=await F(e),a=await n(N(i)),{visualVariable:s,statistics:o}=a,l=await t(k(i,o)),r=l.visualVariables,u=e.layer,p=e.field?u.getField(e.field):null;return await K(r,s,o,i.theme,O(p)),{basemapId:l.basemapId,basemapTheme:l.basemapTheme,statistics:o,defaultValuesUsed:a.defaultValuesUsed,color:{visualVariable:s,colorScheme:a.colorScheme},size:{visualVariables:r,sizeScheme:l.sizeScheme},authoringInfo:Q(i,a,l)}}async function X(e){return Y(e)}async function Y(e){const i=await A(e),{renderer:a,statistics:s,defaultValuesUsed:o}=await l(M(i)),n=H(i);n.statistics=s;const t=await W(n);return"above-and-below"===i.theme?$(a,t,i):G(a,t),{renderer:a,statistics:s,defaultValuesUsed:o,color:i.colorOptions?.isContinuous||"above-and-below"!==i.theme?t.color:null,size:t.size,basemapId:t.basemapId,basemapTheme:t.basemapTheme}}async function Z(e){const{creatorParameters:i}=await P(e),{layer:a,field:s,theme:o,colorOptions:l,valueExpression:d,valueExpressionTitle:f}=i,{renderer:b,statistics:y}=await r(e),w=await F({...H(i),statistics:y}),h=await n(N(w)),z=h.visualVariable,g=(await t(k(w))).visualVariables,V=s?a.getField(s):null;await K(g,z,y,o,O(V));const x=l?.isContinuous||"above-and-below"!==o,E=b.visualVariables?.find(u);b.valueExpression=d??null,b.valueExpressionTitle=f??null,x&&E?.stops&&(E.stops.forEach((e,i)=>e.value=z.stops[i].value),E.valueExpression=z.valueExpression??null,E.valueExpressionTitle=z.valueExpressionTitle??null,p(b,h.authoringInfo,"color")),m(b,g,c);const S=v(b,"size");if((!o||"high-to-low"===o)&&"reference-size"===S?.theme&&2===S.sizeStops?.length){const{stops:e}=z;S.sizeStops[0].value=e[0].value,S.sizeStops[1].value=e.at(-1)?.value}if("above-and-below"===o&&g[0]?.stops){const e=g[0].stops;b.classBreakInfos[0].maxValue=e[2].value,b.classBreakInfos[1].minValue=e[2].value}return{renderer:b}}export{X as createContinuousRenderer,Y as createRenderer,W as createVisualVariables,Z as regenerateRenderer};
|
|
@@ -96,8 +96,8 @@ export interface GetSchemesParameters {
|
|
|
96
96
|
* Possible values are listed below.
|
|
97
97
|
* | Value | Description | Example |
|
|
98
98
|
* | ----- | ----------- | ------- |
|
|
99
|
-
* | flow-line | Renders the uv and magnitude data as animated flow lines. This is ideal for representing wind and other atmospheric data. |
|
|
100
|
-
* | wave-front | Renders UV and magnitude data in a wave-like animation. This theme works well for ocean data. |
|
|
99
|
+
* | flow-line | Renders the uv and magnitude data as animated flow lines. This is ideal for representing wind and other atmospheric data. | <video src="https://developers.arcgis.com/javascript/latest/assets/references/core/renderers/animated-flow/sm-flow-line-2.webm" aria-label="flow-line" autoplay muted playsinline loop></video> |
|
|
100
|
+
* | wave-front | Renders UV and magnitude data in a wave-like animation. This theme works well for ocean data. | <video src="https://developers.arcgis.com/javascript/latest/assets/references/core/renderers/animated-flow/sm-wave-front-2.webm" aria-label="above" autoplay muted playsinline loop></video> |
|
|
101
101
|
*
|
|
102
102
|
* > [!WARNING]
|
|
103
103
|
* >
|
|
@@ -1749,8 +1749,8 @@ export interface FlowScheme {
|
|
|
1749
1749
|
* Possible values are listed below.
|
|
1750
1750
|
* | Value | Description | Example |
|
|
1751
1751
|
* | ----- | ----------- | ------- |
|
|
1752
|
-
* | flow-line | Renders the uv and magnitude data as animated flow lines. This is ideal for representing wind and other atmospheric data. |
|
|
1753
|
-
* | wave-front | Renders UV and magnitude data in a wave-like animation. This theme works well for ocean data. |
|
|
1752
|
+
* | flow-line | Renders the uv and magnitude data as animated flow lines. This is ideal for representing wind and other atmospheric data. | <video src="https://developers.arcgis.com/javascript/latest/assets/references/core/renderers/animated-flow/sm-flow-line-2.webm" aria-label="flow-line" autoplay muted playsinline loop></video> |
|
|
1753
|
+
* | wave-front | Renders UV and magnitude data in a wave-like animation. This theme works well for ocean data. | <video src="https://developers.arcgis.com/javascript/latest/assets/references/core/renderers/animated-flow/sm-wave-front-2.webm" aria-label="wave-front" autoplay muted playsinline loop></video> |
|
|
1754
1754
|
*
|
|
1755
1755
|
* > [!WARNING]
|
|
1756
1756
|
* >
|
package/support/arcadeUtils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{isPopupTemplate as e}from"../popupTemplateUtils.js";import{
|
|
2
|
+
import{isPopupTemplate as e}from"../popupTemplateUtils.js";import{c as r,p as n,r as t,e as o,a,b as l,d as u,l as s,f as c,s as f,g as p,h as m}from"../chunks/arcade.js";export{i as arcade}from"../chunks/arcade.js";import{ArcadeDate as d}from"../arcade/ArcadeDate.js";import{toSymbolId as y}from"../arcade/arcadeEnvironment.js";import v from"../arcade/Dictionary.js";import{Feature as g}from"../arcade/Feature.js";import{j as x,e as j,k as S,m as h,l as w}from"../chunks/languageUtils.js";import{Pixel as b}from"../arcade/Pixel.js";import{Voxel as A}from"../arcade/Voxel.js";import{clone as $}from"../core/lang.js";import{DateOnly as E}from"../core/sql/DateOnly.js";import{TimeOnly as F}from"../core/sql/TimeOnly.js";import I from"../geometry/Extent.js";import P from"../geometry/Multipoint.js";import M from"../geometry/Point.js";import _ from"../geometry/Polygon.js";import D from"../geometry/Polyline.js";import{isLabelClass as R}from"../layers/support/labelUtils.js";import{isSizeVariable as T}from"../renderers/visualVariables/support/sizeVariableUtils.js";import{isArray as k,isString as z,isBoolean as J,isNumber as C}from"./guards.js";const O={vars:{$feature:"any",$view:"any"}};function U(e){return e.replaceAll(/[|\\{}()[\]^$+*?.]/g,"\\$&")}function V(e){return null==e?null:k(e)||x(e)?"array":j(e)?"date":z(e)?"text":J(e)?"boolean":C(e)?"number":e instanceof v?"dictionary":S(e)?"feature":e instanceof M?"point":e instanceof _?"polygon":e instanceof D?"polyline":e instanceof P?"multipoint":e instanceof I?"extent":e instanceof E?"dateOnly":e instanceof F?"time":h(e)?"featureSet":w(e)?"featureSetCollection":null}function Z(e){if(!e)return null;try{return n(e)}catch(r){}return null}function q(e,n){const t="string"==typeof e?Z(e):e;if(!t)return null;try{return n=n||$(O),r(t,n)}catch(o){}return null}function G(e,r,n){return{vars:{$feature:null==e?new g:g.createFromGraphic(e,n),$view:r?.view},spatialReference:r?.sr,timeZone:n??null}}function L(e,r,n){return g.createFromGraphicLikeObject(r,e,n,null)}function N(e,r){null!=e.vars&&(e.vars.$feature=r)}function B(e,r){let n;try{n=l(e,r)}catch(t){n=null}return n}function H(e,r){let n;try{n=e?e(r):null}catch(t){n=null}return n}function K(e,r){try{return e?e(r):Promise.resolve(null)}catch(n){return Promise.resolve(null)}}const Q=["$feature","$aggregatedFeatures","$voxel"].map(e=>y(e));function W(e,r){if(!e)return[];const n="string"==typeof e?Z(e):e;if(!n)return[];const t=new Map;if(Array.isArray(r)||null==r)for(const i of Q)t.set(i,r);else for(const[i,a]of r)t.set(y(i),a);const o=u(n).flatMap(({varId:e,memberNamePattern:r})=>{if(!t.has(e))return[];if(r.includes("*")){const n=t.get(e);if(null==n)return[];const o=new RegExp(`^${r.split(/\*+/).map(U).join(".*")}$`,"i");return n.filter(e=>o.test(e))}return r.toLowerCase()});return[...new Set(o.sort())]}function X(e){return t(e,"$view")}function Y(e,r){return!!e&&t(e,r)}function ee(e){if(!e||null==e.spatialReference&&(null==e.scale||null==e.viewingMode))return;let r,n;const{timeProperties:t,timeZone:o}=e;if(null!=t){const{currentStart:e,currentEnd:i}=t;null!=o?(r=null!=e?d.dateJSAndZoneToArcadeDate(e,o):null,n=null!=i?d.dateJSAndZoneToArcadeDate(i,o):null):(r=null!=e?d.dateJSToArcadeDate(e):null,n=null!=i?d.dateJSToArcadeDate(i):null)}return{view:e.viewingMode&&null!=e.scale?new v({__proto__:null,viewingMode:e.viewingMode,scale:e.scale,timeProperties:null!=r||null!=n?new v({__proto__:null,currentStart:r,currentEnd:n,startIncluded:!0,endIncluded:!0}):null}):null,sr:e.spatialReference}}function re({url:e,spatialReference:r,lrucache:n,interceptor:t}){const o=c();return o?o.createFeatureSetCollectionFromService(e,r,n,t):null}function ne({layer:e,spatialReference:r,outFields:n,returnGeometry:t,lrucache:o,interceptor:i}){if(null===e)return null;const a=c();return a?a.constructFeatureSet(e,r,n,t??!0,o,i):null}function te(e){if(null===e?.map)return null;const r=c();return r?r.createFeatureSetCollectionFromMap(e.map,e.spatialReference,e.lrucache,e.interceptor):null}function oe(e,r){return v.convertJsonToArcade(e,r)}function ie(e,r,n=[]){return s(e,r,n)}function ae(){return a()}function le(){return o()}function ue(e){return"type"in e&&("class-breaks"===e.type||"dictionary"===e.type||"dot-density"===e.type||"pie-chart"===e.type||"simple"===e.type||"unique-value"===e.type)}function se(r,n){if(!r)return!1;if("string"==typeof r)return n(r);const t=r;if(ue(t)){if("dot-density"===t.type){const e=t.attributes?.some(e=>n(e.valueExpression));if(e)return e}const e=t.visualVariables,r=!!e&&e.some(e=>{let r=n(e.valueExpression);return"size"===e.type&&(T(e.minSize)&&(r=r||n(e.minSize.valueExpression)),T(e.maxSize)&&(r=r||n(e.maxSize.valueExpression))),r});return!(!("valueExpression"in t)||!n(t.valueExpression))||r}if(R(t)){const e=t.labelExpressionInfo?.expression;return!(!e||!n(e))||!1}return!!e(t)&&(!!t.expressionInfos&&t.expressionInfos.some(e=>n(e.expression))||Array.isArray(t.content)&&t.content.some(e=>"expression"===e.type&&n(e.expressionInfo?.expression)))}function ce(e){const r=Z(e);return!!r&&p(r)}function fe(e){return se(e,ce)}function pe(e){if("renderer"in e&&e.renderer&&fe(e.renderer))return!0;if("labelingInfo"in e&&e.labelingInfo)for(const r of e.labelingInfo)if(fe(r))return!0;return!1}function me(e){const r=Z(e);return!!r&&m(r)}function de(e){return se(e,me)}function ye(e){return se(e,e=>{const r=Z(e);return!!r&&f(r)})}export{v as Dictionary,b as Pixel,A as Voxel,g as arcadeFeature,ne as convertFeatureLayerToFeatureSet,oe as convertJsonToArcade,te as convertMapToFeatureSetCollection,re as convertServiceUrlToWorkspace,G as createExecContext,L as createFeature,q as createFunction,Z as createSyntaxTree,X as dependsOnView,le as enableFeatureSetOperations,ae as enableGeometryOperations,B as evalSyntaxTree,K as executeAsyncFunction,H as executeFunction,W as extractFieldNames,V as getArcadeType,ee as getViewInfo,fe as hasGeometryFunctions,de as hasGeometryOperations,Y as hasVariable,pe as layerHasGeometryFunctions,ie as loadScriptDependencies,ye as requiresTrack,N as updateExecContext};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"../kernel.js";import"../core/urlUtils.js";import"../portal/support/urlUtils.js";export{e as ensureMainOnlineDomain,
|
|
2
|
+
import"../kernel.js";import"../core/urlUtils.js";import"../portal/support/urlUtils.js";export{e as ensureMainOnlineDomain,c as fromCDNUrl,f as fromJSON,i as itemIdFromResourceUrl,p as prefixAndFilenameFromResourceUrl,r as read,a as toCDNUrl,t as toJSON,w as write}from"../chunks/persistableUrlUtils.js";
|
package/support/revision.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
const
|
|
2
|
+
const a="20260604",b="f0d9f89ba3a2742a8b37cb479094ab1fcad64ad7";export{a as buildDate,b as commitHash};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import
|
|
2
|
+
import t from"../../geometry/Point.js";import e from"../../geometry/support/MeshMaterialMetallicRoughness.js";import o from"../../geometry/support/MeshTransform.js";import{createFromGLTF as r}from"../../geometry/support/meshUtils.js";import{loadImage as a}from"../../request/loadImage.js";import{meshMakeAbsolute as n}from"./meshUtils.js";import{isEncodedMeshTexture as i}from"../../views/3d/glTF/internal/resourceUtils.js";async function s(e,a,n,i){const s=URL.createObjectURL(new Blob([e]));try{const e=t.fromJSON(a),n=await r(e,s,{vertexSpace:e.spatialReference.isGeographic?"local":"georeferenced"}),{rotationAxis:l,rotationAngle:c,translation:u,scale:m}=i;return n.transform=new o({rotationAngle:c??0,rotationAxis:null!=l?[l[0],l[1],l[2]]:[0,0,1],translation:null!=u?[u[0],u[1],u[2]]:[0,0,0],scale:null!=m?[m[0],m[1],m[2]]:[1,1,1]}),n}finally{URL.revokeObjectURL(s)}}async function l(t,e,o,r){const a=await s(t,e,o,r),n=a.extent.toJSON();return a.destroy(),n}async function c(t,o,r,a){const i=await s(t,o,r,a),{components:l}=i;if(null==l)throw new Error("Mesh has no components");const{transform:c}=i;if(null==c)throw new Error("Mesh has no transform");const m=n(i);if(!m)throw new Error("failed to project");const d=l.map(async t=>{const{faces:o,material:r}=t,a=r instanceof e,n={pbrMetallicRoughness:{baseColorFactor:r?.color?.toUnitRGBA()??[1,1,1,1],baseColorTexture:await u(r?.colorTexture),metallicFactor:a?r.metallic:void 0,roughnessFactor:a?r.roughness:void 0,metallicRoughnessTexture:a&&null!=r.metallicRoughnessTexture?await u(r.metallicRoughnessTexture):void 0},normalTexture:null!=r?.normalTexture?await u(r.normalTexture):void 0,occlusionTexture:a&&null!=r.occlusionTexture?await u(r.occlusionTexture):void 0,emissiveTexture:a&&null!=r.emissiveTexture?await u(r.emissiveTexture):void 0,emissiveFactor:a&&r.emissiveColor?.toUnitRGB()||void 0,alphaMode:("auto"===r?.alphaMode?"blend":r?.alphaMode)??"opaque",alphaCutoff:r?.alphaCutoff??.1,doubleSided:r?.doubleSided??!0,cullFace:r?.doubleSided??1?"none":"back"};return{geometry:{position:m.vertexAttributes.position,faces:o,normal:"source"===t.shading?m.vertexAttributes.normal:void 0,uv:m.vertexAttributes.uv,color:m.vertexAttributes.color},material:n}});return Promise.all(d)}async function u(t){if(null==t)return;const{url:e,data:o}=t,r="image/png",a="string"==typeof t.wrap?"clamp"===t.wrap?"none":t.wrap:"repeat";if(null!=o){if(i(o))throw new Error("Cannot bake encoded textures");if(o instanceof HTMLVideoElement)throw new Error("Cannot bake video textures");if(o instanceof HTMLImageElement){const t=await m(await d(o),r),e=await t.arrayBuffer();return{type:r,width:o.width,wrap:a,data:e}}if(o instanceof HTMLCanvasElement){const t=await m(o,r),e=await t.arrayBuffer();return{type:r,width:o.width,wrap:a,data:e}}const t=await m(w(o),r),e=await t.arrayBuffer();return{type:r,width:o.width,wrap:a,data:e}}if(null!=e){const t=await f(e),o=await m(await d(t),r),n=await o.arrayBuffer();return{type:r,width:t.width,wrap:a,data:n}}}async function m(t,e){return new Promise((o,r)=>t.toBlob(t=>null==t?r(new Error("Failed to load image content")):o(t),e))}async function d(t){await t.decode();const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const o=e.getContext("2d");if(null==o)throw new Error("Failed to create 2d context");return o.drawImage(t,0,0),e}function w(t){const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const o=e.getContext("2d");if(null==o)throw new Error("Failed to create 2d context");return o.putImageData(t,0,0),e}function f(t){const e=new Image;return e.src=t,a(e,e.src,!1,void 0)}export{l as extentFromGLB,c as nodeDataFromGLB};
|
package/support/timeUtils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provides utility methods for working with [dates](https://developer.mozilla.org/
|
|
2
|
+
* Provides utility methods for working with [dates](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date).
|
|
3
3
|
*
|
|
4
4
|
* @since 4.21
|
|
5
5
|
* @see [TimeExtent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/)
|
|
@@ -22,9 +22,9 @@ import type { TimeSliderSettings } from "../widgets/TimeSlider/types.js";
|
|
|
22
22
|
* For [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/) or [MapImageLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapImageLayer/) with `hasLiveData` set to `true`, the method fetches the time extent from the server.
|
|
23
23
|
*
|
|
24
24
|
* @param layers - An array or collection of layers to compute a time extent from.
|
|
25
|
-
* @param signal - [AbortSignal](https://developer.mozilla.org/
|
|
25
|
+
* @param signal - [AbortSignal](https://developer.mozilla.org/docs/Web/API/AbortSignal) allows for cancelable requests.
|
|
26
26
|
* If canceled, the promise will be rejected with an error named `AbortError`.
|
|
27
|
-
* See also [AbortController](https://developer.mozilla.org/
|
|
27
|
+
* See also [AbortController](https://developer.mozilla.org/docs/Web/API/AbortController).
|
|
28
28
|
* @returns Returns a promise that resolves to a [TimeExtent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/).
|
|
29
29
|
* @example
|
|
30
30
|
* // Get the time extent of all layers in the view.
|
package/symbols/Font.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export interface FontProperties extends Partial<Pick<Font, "decoration" | "famil
|
|
|
14
14
|
* > - In 3D [SceneViews](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/), if the [TextSymbol3DLayer.size](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/#size) property is set, it will override this [size](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#size) property.
|
|
15
15
|
*
|
|
16
16
|
* @default 9
|
|
17
|
-
* @see [MDN: font-size](https://developer.mozilla.org/
|
|
17
|
+
* @see [MDN: font-size](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-size)
|
|
18
18
|
* @example
|
|
19
19
|
* // size in points
|
|
20
20
|
* symbol.size = 14;
|
|
@@ -83,14 +83,14 @@ export default class Font extends JSONSupport {
|
|
|
83
83
|
* See these references for instructions on how to install a new font on [Windows](https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows)
|
|
84
84
|
* or [macOS](https://support.apple.com/en-us/ht201749).
|
|
85
85
|
*
|
|
86
|
-
* Fonts that are not installed locally can also be loaded from a url by defining a [@font-face](https://developer.mozilla.org/
|
|
86
|
+
* Fonts that are not installed locally can also be loaded from a url by defining a [@font-face](https://developer.mozilla.org/docs/Web/CSS/@font-face)
|
|
87
87
|
* in a css file and referencing it from the `family` property in a symbol layer.
|
|
88
88
|
*
|
|
89
89
|
* #### Font families for 2D MapImageLayer
|
|
90
90
|
*
|
|
91
91
|
* The supported font families for [MapImageLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/MapImageLayer/)
|
|
92
92
|
* in a [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) are dependent upon the fonts installed on the
|
|
93
|
-
* [ArcGIS Server](https://
|
|
93
|
+
* [ArcGIS Server](https://doc.esri.com/en/arcgis-enterprise/latest/plan/what-is-arcgis-server.html)
|
|
94
94
|
* that published the layer. If an app uses a font that is not installed, the Font class implements a fallback
|
|
95
95
|
* mechanism that will use the default font family value, which is `sans-serif`.
|
|
96
96
|
*
|
|
@@ -231,7 +231,7 @@ export default class Font extends JSONSupport {
|
|
|
231
231
|
*
|
|
232
232
|
* @default "sans-serif"
|
|
233
233
|
* @see [Guide: Labeling](https://developers.arcgis.com/javascript/latest/labeling/)
|
|
234
|
-
* @see [MDN: font-family](https://developer.mozilla.org/
|
|
234
|
+
* @see [MDN: font-family](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-family)
|
|
235
235
|
* @example
|
|
236
236
|
* let textSymbol = {
|
|
237
237
|
* type: "text", // autocasts as new TextSymbol()
|
|
@@ -257,7 +257,7 @@ export default class Font extends JSONSupport {
|
|
|
257
257
|
* > - In 3D [SceneViews](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/), if the [TextSymbol3DLayer.size](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/#size) property is set, it will override this [size](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#size) property.
|
|
258
258
|
*
|
|
259
259
|
* @default 9
|
|
260
|
-
* @see [MDN: font-size](https://developer.mozilla.org/
|
|
260
|
+
* @see [MDN: font-size](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-size)
|
|
261
261
|
* @example
|
|
262
262
|
* // size in points
|
|
263
263
|
* symbol.size = 14;
|
|
@@ -280,7 +280,7 @@ export default class Font extends JSONSupport {
|
|
|
280
280
|
* > `oblique` is not supported in 2D [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), and [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/) labels.
|
|
281
281
|
*
|
|
282
282
|
* @default "normal"
|
|
283
|
-
* @see [MDN: font-style](https://developer.mozilla.org/
|
|
283
|
+
* @see [MDN: font-style](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-style)
|
|
284
284
|
*/
|
|
285
285
|
accessor style: FontStyle;
|
|
286
286
|
/**
|
|
@@ -293,7 +293,7 @@ export default class Font extends JSONSupport {
|
|
|
293
293
|
* > `bolder` and `lighter` are not supported in 2D [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), and [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/) labels.
|
|
294
294
|
*
|
|
295
295
|
* @default "normal"
|
|
296
|
-
* @see [MDN: font-weight](https://developer.mozilla.org/
|
|
296
|
+
* @see [MDN: font-weight](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-weight)
|
|
297
297
|
*/
|
|
298
298
|
accessor weight: FontWeight;
|
|
299
299
|
/**
|
package/symbols/Symbol3D.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import r from"../core/Collection.js";import{referenceSetter as t,castForReferenceSetter as o}from"../core/collectionUtils.js";import s from"../core/Logger.js";import{isAbsolute as l,normalize as i,hasSamePortal as a}from"../core/urlUtils.js";import m from"../core/Warning.js";import{property as y,cast as n,subclass as p}from"../core/accessorSupport/decorators.js";import c from"../portal/Portal.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import r from"../core/Collection.js";import{referenceSetter as t,castForReferenceSetter as o}from"../core/collectionUtils.js";import s from"../core/Logger.js";import{isAbsolute as l,normalize as i,hasSamePortal as a}from"../core/urlUtils.js";import m from"../core/Warning.js";import{property as y,cast as n,subclass as p}from"../core/accessorSupport/decorators.js";import c from"../portal/Portal.js";import{f as b,t as f}from"../chunks/persistableUrlUtils.js";import g from"./ExtrudeSymbol3DLayer.js";import u from"./FillSymbol3DLayer.js";import d from"./IconSymbol3DLayer.js";import j from"./LineSymbol3DLayer.js";import h from"./ObjectSymbol3DLayer.js";import S from"./PathSymbol3DLayer.js";import L from"./Symbol.js";import O from"./Symbol3DLayer.js";import U from"./TextSymbol3DLayer.js";import _ from"./WaterSymbol3DLayer.js";import D from"./support/StyleOrigin.js";import{Thumbnail as w}from"./support/Thumbnail.js";import{reader as N}from"../core/accessorSupport/decorators/reader.js";import{writer as x}from"../core/accessorSupport/decorators/writer.js";const v={icon:d,object:h,line:j,path:S,fill:u,extrude:g,text:U,water:_},C=r.ofType({base:O,key:"type",typeMap:v,errorContext:"symbol-layer"});let T=class extends L{constructor(e){super(e),this.styleOrigin=null,this.thumbnail=null,this.type=null;const t=this.__accessor__&&this.__accessor__.metadata&&this.__accessor__.metadata.symbolLayers,o=t?.type,s=o||r;this._set("symbolLayers",new s)}get color(){return null}set color(e){this.constructed&&s.getLogger(this).error("Symbol3D does not support colors on the symbol level. Colors may be set on individual symbol layer materials instead.")}set symbolLayers(e){t(e,this._get("symbolLayers"))}readStyleOrigin(e,r,t){if(e.styleUrl&&e.name){const r=b(e.styleUrl,t);return new D({styleUrl:r,name:e.name})}if(e.styleName&&e.name)return new D({portal:t?.portal||c.getDefault(),styleName:e.styleName,name:e.name});t?.messages&&t.messages.push(new m("symbol3d:incomplete-style-origin","Style origin requires either a 'styleUrl' or 'styleName' and a 'name' property",{context:t,definition:e}))}writeStyleOrigin(e,r,t,o){if(e.styleUrl&&e.name){let t=f(e.styleUrl,o);l(t)&&(t=i(t)),r.styleOrigin={styleUrl:t,name:e.name}}else e.styleName&&e.name&&(e.portal&&o?.portal&&!a(e.portal.restUrl,o.portal.restUrl)?o?.messages&&o.messages.push(new m("symbol:cross-portal","The symbol style origin cannot be persisted because it refers to an item on a different portal than the one being saved to.",{symbol:this})):r.styleOrigin={styleName:e.styleName,name:e.name})}normalizeCtorArgs(e){return e instanceof O||e&&v[e.type]?{symbolLayers:[e]}:Array.isArray(e)?{symbolLayers:e}:e}};e([y({json:{read:!1,write:!1}})],T.prototype,"color",null),e([y({type:C,nonNullable:!0,json:{write:!0}}),n(o)],T.prototype,"symbolLayers",null),e([y({type:D})],T.prototype,"styleOrigin",void 0),e([N("styleOrigin")],T.prototype,"readStyleOrigin",null),e([x("styleOrigin",{"styleOrigin.styleUrl":{type:String},"styleOrigin.styleName":{type:String},"styleOrigin.name":{type:String}})],T.prototype,"writeStyleOrigin",null),e([y({type:w,json:{read:!1}})],T.prototype,"thumbnail",void 0),e([y({type:["point-3d","line-3d","polygon-3d","mesh-3d","label-3d"],readOnly:!0})],T.prototype,"type",void 0),T=e([p("esri.symbols.Symbol3D")],T);export{T as default};
|
|
@@ -25,10 +25,10 @@ export interface WebStyleSymbolProperties extends SymbolProperties, Partial<Pick
|
|
|
25
25
|
*
|
|
26
26
|
* Web styles are collections of symbols stored in an [ArcGIS Enterprise portal](https://enterprise.arcgis.com/en/portal/) or
|
|
27
27
|
* [ArcGIS Online](https://www.arcgis.com/home/) item. As of the current release, only
|
|
28
|
-
* [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
29
|
-
* [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
28
|
+
* [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-2d/) and
|
|
29
|
+
* [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/) can be used in conjunction with this class.
|
|
30
30
|
* Note that the 2D web style symbols are only supported in 2D and 3D web style symbols are only supported in 3D with an
|
|
31
|
-
* exception of [`EsriIconsStyle`](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
31
|
+
* exception of [`EsriIconsStyle`](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/#icons) which can be used in both 2D and 3D.
|
|
32
32
|
*
|
|
33
33
|
* A WebStyleSymbol does not contain any symbology definition itself; it only contains a
|
|
34
34
|
* reference to a web style
|
|
@@ -48,7 +48,7 @@ export interface WebStyleSymbolProperties extends SymbolProperties, Partial<Pick
|
|
|
48
48
|
*
|
|
49
49
|
* @since 4.1
|
|
50
50
|
* @see [Guide - Visualizing points with 3D symbols](https://developers.arcgis.com/javascript/latest/visualizing-points-3d/)
|
|
51
|
-
* @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
51
|
+
* @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/)
|
|
52
52
|
* @see [Symbol Builder](https://developers.arcgis.com/javascript/latest/symbol-builder/)
|
|
53
53
|
* @see [Sample - WebStyleSymbols(2D)](https://developers.arcgis.com/javascript/latest/sample-code/webstylesymbol-2d/)
|
|
54
54
|
* @see [Sample - Visualize features with realistic WebStyleSymbols](https://developers.arcgis.com/javascript/latest/sample-code/visualization-webstylesymbol/)
|
|
@@ -77,10 +77,10 @@ export default class WebStyleSymbol extends Symbol {
|
|
|
77
77
|
constructor(properties?: WebStyleSymbolProperties);
|
|
78
78
|
/**
|
|
79
79
|
* The name of the symbol within the web style. Each symbol in a web style is identified
|
|
80
|
-
* by a unique name. Only [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
81
|
-
* [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
80
|
+
* by a unique name. Only [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-2d/) and
|
|
81
|
+
* [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/) can be referenced here.
|
|
82
82
|
*
|
|
83
|
-
* @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
83
|
+
* @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/)
|
|
84
84
|
*/
|
|
85
85
|
accessor name: string | null | undefined;
|
|
86
86
|
/**
|
|
@@ -93,17 +93,17 @@ export default class WebStyleSymbol extends Symbol {
|
|
|
93
93
|
set portal(value: PortalProperties | null | undefined);
|
|
94
94
|
/**
|
|
95
95
|
* A registered web style name. Only
|
|
96
|
-
* [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
97
|
-
* [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
96
|
+
* [Esri Web Style Symbols (2D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-2d/) and
|
|
97
|
+
* [Esri Web Style Symbols (3D)](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/) can be referenced here.
|
|
98
98
|
* Note that the 2D web style symbols are only supported in 2D and 3D web style symbols are only supported in 3D with an
|
|
99
|
-
* exception of [`EsriIconsStyle`](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
99
|
+
* exception of [`EsriIconsStyle`](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/#icons) which can be used in both 2D and 3D.
|
|
100
100
|
*
|
|
101
101
|
* Requires [portal](https://developers.arcgis.com/javascript/latest/references/core/symbols/WebStyleSymbol/#portal) property to be set.
|
|
102
102
|
* Can not be used in conjunction with [styleUrl](https://developers.arcgis.com/javascript/latest/references/core/symbols/WebStyleSymbol/#styleUrl).
|
|
103
103
|
*
|
|
104
104
|
* See class description for example.
|
|
105
105
|
*
|
|
106
|
-
* @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/
|
|
106
|
+
* @see [Guide - WebStyleSymbol reference list](https://developers.arcgis.com/javascript/latest/visualization/symbols-color-ramps/esri-web-style-symbols-3d/)
|
|
107
107
|
*/
|
|
108
108
|
accessor styleName: string | null | undefined;
|
|
109
109
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{defaultFontFamily as t}from"../../core/fontUtils.js";import has from"../../core/has.js";import{clone as e}from"../../core/lang.js";import r from"../../core/Logger.js";import{deg2rad as s}from"../../core/mathUtils.js";import i from"../../core/ObjectPool.js";import{pt2px as n,px2pt as o}from"../../core/screenUtils.js";import{GeometryCursor as a}from"../../geometry/GeometryCursor.js";import{create as l,fromValues as h,empty as c,expandPointInPlace as m,center as f,width as u,height as d,diagonal as g}from"../../geometry/support/aaBoundingRect.js";import{getBoundsXY as p}from"../../geometry/support/boundsUtils.js";import{polygonCentroid as _}from"../../geometry/support/centroid.js";import{segmentIntersects as y}from"../../geometry/support/intersectsBase.js";import{isExtent as P,isPolygon as S,isPolyline as x,isPoint as w,isMultipoint as M}from"../../geometry/support/jsonTypeUtils.js";import{SimpleEffectCursor as b}from"./CIMEffects.js";import k from"./CIMImageColorSubstitutionHelper.js";import{getEffectOperator as T,getPlacementOperator as C}from"./CIMOperators.js";import{Placement as v}from"./CIMPlacements.js";import{defaultCIMValues as I}from"./defaultCIMValues.js";import{getFirstFrame as R}from"./imageUtils.js";import{rotate as z}from"./mathUtils.js";import{addColorStops as L}from"./rasterizingUtils.js";import U from"./Rect.js";import F from"./TextRasterizer.js";import{isCIMFill as A,getSize as j,getNumericValue as G,getEffectsInflateSize as D,isSVGImage as H,getRelativeGradientSize as E,fromCIMFontDecoration as B,fromCIMFontStyle as X,fromCIMHorizontalAlignment as J,fromCIMVerticalAlignment as N,getFillColor as O,getStrokeColor as q,getStrokeWidth as V,getFontWeight as W,getFontStyle as Y}from"./utils.js";import{destroyHiddenSvg as K,createHiddenSvg as $,createSvgElement as Q}from"../../views/2d/engine/svgUtils.js";import{magicLabelLineHeight as Z,glyphSize as tt,hittestToleranceSmallSymbol as et,hittestSmallSymbolThreshold as rt}from"../../views/2d/engine/webgl/definitions.js";import{shapeGlyphs as st}from"../../views/2d/engine/webgl/mesh/templates/shapingUtils.js";import{roundPtToWholePixel as it,getLineWidth as nt}from"../../views/2d/layers/graphics/graphicsUtils.js";const ot=Math.PI/180,at=.5,lt=()=>r.getLogger("esri.symbols.cim.CIMSymbolDrawHelper");class ht{constructor(t){this._t=t}static createIdentity(){return new ht([1,0,0,0,1,0])}clone(){const t=this._t;return new ht(t.slice())}transform(t){const e=this._t;return[e[0]*t[0]+e[1]*t[1]+e[2],e[3]*t[0]+e[4]*t[1]+e[5]]}static createScale(t,e){return new ht([t,0,0,0,e,0])}scale(t,e){const r=this._t;return r[0]*=t,r[1]*=t,r[2]*=t,r[3]*=e,r[4]*=e,r[5]*=e,this}scaleRatio(){return Math.sqrt(this._t[0]*this._t[0]+this._t[1]*this._t[1])}static createTranslate(t,e){return new ht([0,0,t,0,0,e])}translate(t,e){const r=this._t;return r[2]+=t,r[5]+=e,this}static createRotate(t){const e=Math.cos(t),r=Math.sin(t);return new ht([e,-r,0,r,e,0])}rotate(t){return ht.multiply(this,ht.createRotate(t),this)}angle(){const t=this._t[0],e=this._t[3],r=Math.sqrt(t*t+e*e);return[t/r,e/r]}static multiply(t,e,r){const s=t._t,i=e._t,n=s[0]*i[0]+s[3]*i[1],o=s[1]*i[0]+s[4]*i[1],a=s[2]*i[0]+s[5]*i[1]+i[2],l=s[0]*i[3]+s[3]*i[4],h=s[1]*i[3]+s[4]*i[4],c=s[2]*i[3]+s[5]*i[4]+i[5],m=r._t;return m[0]=n,m[1]=o,m[2]=a,m[3]=l,m[4]=h,m[5]=c,r}invert(){const t=this._t;let e=t[0]*t[4]-t[1]*t[3];if(0===e)return new ht([0,0,0,0,0,0]);e=1/e;const r=(t[1]*t[5]-t[2]*t[4])*e,s=(t[2]*t[3]-t[0]*t[5])*e,i=t[4]*e,n=-t[1]*e,o=-t[3]*e,a=t[0]*e;return new ht([i,n,r,o,a,s])}}class ct{constructor(t,e){this._resourceManager=t,this._transfos=[],this._sizeTransfos=[],this._geomUnitsPerPoint=1,this._placementPool=new i(()=>new v,void 0,void 0,100),this._earlyReturn=!1,this._mapRotation=0,this._transfos.push(e||ht.createIdentity()),this._sizeTransfos.push(e?e.scaleRatio():1)}setTransform(t,e){this._transfos=[t||ht.createIdentity()],this._sizeTransfos=[e||(t?t.scaleRatio():1)]}setGeomUnitsPerPoint(t){this._geomUnitsPerPoint=t}transformPt(t){return this._transfos[this._transfos.length-1].transform(t)}transformSize(t){return t*this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformPt(t){return this._transfos[this._transfos.length-1].invert().transform(t)}reverseTransformSize(t){return t/this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformScalar(t){return t/this._transfos[this._transfos.length-1].scaleRatio()}getTransformAngle(){return this._transfos[this._transfos.length-1].angle()}geomUnitsPerPoint(){return this.isEmbedded()?1:this._geomUnitsPerPoint}prevGeomUnitsPerPoint(){return this._transfos.length>2?1:this._geomUnitsPerPoint}isEmbedded(){return this._transfos.length>1}back(){return this._transfos[this._transfos.length-1]}push(t,e){const r=e?t.scaleRatio():1;ht.multiply(t,this.back(),t),this._transfos.push(t),this._sizeTransfos.push(this._sizeTransfos[this._sizeTransfos.length-1]*r)}pop(){this._transfos.splice(-1,1),this._sizeTransfos.splice(-1,1)}drawSymbol(t,e,r){if(t)switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this.drawMultiLayerSymbol(t,e);break;case"CIMTextSymbol":this.drawTextSymbol(t,e,r)}}drawMultiLayerSymbol(t,e){if(!t||!e)return;const r=t.symbolLayers;if(!r)return;const s=t.effects;if(s&&s.length>0){const t=this.executeEffects(s,e);if(t){let e=t.next();for(;e;)this.drawSymbolLayers(r,e.asJSON()),e=t.next()}}else this.drawSymbolLayers(r,e)}executeEffects(t,e){const r=this.geomUnitsPerPoint(),s=null,i=D(t),n=!1;let o=new b(a.fromJSONCIM(e));for(const a of t){const t=T(a);t&&(o=t.execute(o,a,{geomUnitsPerPoint:r,tileKey:s,maxInflateSize:i,scale:null,spatialReference:e.spatialReference,preventClipping:n}))}return o}drawSymbolLayers(t,e){let r=t.length;for(;r--;){const s=t[r];if(!s||!1===s.enable)continue;const i=s.effects;if(i&&i.length>0){const t=this.executeEffects(i,e);if(t){let e=null;for(;(e=t.next())&&(this.drawSymbolLayer(s,e.asJSON()),!this._earlyReturn););}}else this.drawSymbolLayer(s,e);if(this._earlyReturn)return}}drawSymbolLayer(t,e){switch(t.type){case"CIMSolidFill":this.drawSolidFill(e,t.color,t.path);break;case"CIMHatchFill":this.drawHatchFill(e,t);break;case"CIMPictureFill":this.drawPictureFill(e,t);break;case"CIMGradientFill":this.drawGradientFill(e,t);break;case"CIMSolidStroke":this.drawSolidStroke(e,t.color,t.width,t.capStyle,t.joinStyle,t.miterLimit,t.path);break;case"CIMPictureStroke":this.drawPictureStroke(e,t);break;case"CIMGradientStroke":this.drawGradientStroke(e,t);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":this.drawMarkerLayer(t,e)}}drawHatchFill(t,e){const r=dt(e,t,this.geomUnitsPerPoint());r&&(this.pushClipPath(t),this.drawMultiLayerSymbol(e.lineSymbol,r),this.popClipPath())}drawPictureFill(t,e){}drawGradientFill(t,e){}drawPictureStroke(t,e){}drawGradientStroke(t,e){}drawMarkerLayer(t,e){const r=t.markerPlacement;if(r){const s=C(r);if(s){const i="CIMMarkerPlacementInsidePolygon"===r.type||"CIMMarkerPlacementPolygonCenter"===r.type&&r.clipAtBoundary;i&&this.pushClipPath(e);const n=s.execute(a.fromJSONCIM(e),r,this.geomUnitsPerPoint(),null);if(n){let e=null;for(;(e=n.next())&&(this.drawMarker(t,e),!this._earlyReturn););}i&&this.popClipPath()}}else{const r=this._placementPool.acquire();if(w(e))r.tx=e.x,r.ty=e.y,this.drawMarker(t,r);else if(S(e)){const s=_(e);s&&([r.tx,r.ty]=s,this.drawMarker(t,r))}else if(x(e)){for(const s of e.paths)for(const e of s)if(r.tx=e[0],r.ty=e[1],this.drawMarker(t,r),this._earlyReturn)break}else for(const s of e.points)if(r.tx=s[0],r.ty=s[1],this.drawMarker(t,r),this._earlyReturn)break;this._placementPool.release(r)}}drawMarker(t,e){switch(t.type){case"CIMCharacterMarker":case"CIMPictureMarker":this.drawPictureMarker(t,e);break;case"CIMVectorMarker":this.drawVectorMarker(t,e)}}drawPictureMarker(t,e){if(!t)return;const r=this._resourceManager.getResource(t.url),s=G(t.size,I.CIMPictureMarker.size);if(null==r||s<=0)return;const i=r.width,n=r.height;if(!i||!n)return;const o=i/n,a=G(t.scaleX,1),l=ht.createIdentity(),h=t.anchorPoint;if(h){let e=h.x,r=h.y;"Absolute"!==t.anchorPointUnits&&(e*=s*o*a,r*=s),l.translate(-e,-r)}let c=G(t.rotation);t.rotateClockwise&&(c=-c),this._mapRotation&&(c+=this._mapRotation),c&&l.rotate(c*ot);let m=G(t.offsetX),f=G(t.offsetY);if(m||f){if(this._mapRotation){const t=ot*this._mapRotation,e=Math.cos(t),r=Math.sin(t),s=m*r+f*e;m=m*e-f*r,f=s}l.translate(m,f)}const u=this.geomUnitsPerPoint();1!==u&&l.scale(u,u);const d=e.getAngle();d&&l.rotate(d),l.translate(e.tx,e.ty),this.push(l,!1),this.drawImage(t,s),this.pop()}drawVectorMarker(t,e){if(!t)return;const r=t.markerGraphics;if(!r)return;const s=G(t.size,I.CIMVectorMarker.size),i=t.frame,n=i?i.ymax-i.ymin:0,o=s&&n?s/n:1,a=ht.createIdentity();i&&a.translate(.5*-(i.xmax+i.xmin),.5*-(i.ymax+i.ymin));const l=t.anchorPoint;if(l){let e=l.x,r=l.y;"Absolute"!==t.anchorPointUnits?i&&(e*=i.xmax-i.xmin,r*=i.ymax-i.ymin):(e/=o,r/=o),a.translate(-e,-r)}1!==o&&a.scale(o,o);let h=G(t.rotation);t.rotateClockwise&&(h=-h),this._mapRotation&&(h+=this._mapRotation),h&&a.rotate(h*ot);let c=G(t.offsetX),m=G(t.offsetY);if(c||m){if(this._mapRotation){const t=ot*this._mapRotation,e=Math.cos(t),r=Math.sin(t),s=c*r+m*e;c=c*e-m*r,m=s}a.translate(c,m)}const f=this.geomUnitsPerPoint();1!==f&&a.scale(f,f);const u=e.getAngle();u&&a.rotate(u),a.translate(e.tx,e.ty),this.push(a,t.scaleSymbolsProportionally);for(const d of r){d?.symbol&&d.geometry||lt().error("Invalid marker graphic",d);let t=d.textString;if("number"==typeof t&&(t=t.toString()),this.drawSymbol(d.symbol,d.geometry,t),this._earlyReturn)break}this.pop()}drawTextSymbol(t,e,r){if(!t)return;if(!w(e))return;if(G(t.height,I.CIMTextSymbol.height)<=0)return;const s=ht.createIdentity();let i=G(t.angle);i=-i,i&&s.rotate(i*ot);const n=G(t.offsetX),o=G(t.offsetY);(n||o)&&s.translate(n,o);const a=this.geomUnitsPerPoint();1!==a&&s.scale(a,a),s.translate(e.x,e.y),this.push(s,!1),this.drawText(t,r),this.pop()}}class mt extends ct{constructor(t,e){super(t,e),this.reset()}reset(){this._xmin=this._ymin=1/0,this._xmax=this._ymax=-1/0,this._clipCount=0}envelope(){return new U(this._xmin,this._ymin,this._xmax-this._xmin,this._ymax-this._ymin)}bounds(){return h(this._xmin,this._ymin,this._xmax,this._ymax)}drawSolidFill(t){if(t&&!(this._clipCount>0))if(S(t))this._processPath(t.rings,0);else if(x(t))this._processPath(t.paths,0);else if(P(t)){const e=yt(t);e&&this._processPath(e.rings,0)}else console.error("drawSolidFill Unexpected geometry type!")}drawSolidStroke(t,e,r){if(!t||this._clipCount>0||null==r||r<=0)return;const s=Math.max(.5*this.transformSize(G(r,I.CIMSolidStroke.width)),.5*at);if(S(t))this._processPath(t.rings,s);else if(x(t))this._processPath(t.paths,s);else if(P(t)){const e=yt(t);e&&this._processPath(e.rings,s)}else console.error("drawSolidStroke unexpected geometry type!")}drawMarkerLayer(t,e){S(e)&&t.markerPlacement&&("CIMMarkerPlacementInsidePolygon"===t.markerPlacement.type||"CIMMarkerPlacementPolygonCenter"===t.markerPlacement.type&&t.markerPlacement.clipAtBoundary)?this._processPath(e.rings,0):super.drawMarkerLayer(t,e)}drawHatchFill(t,e){this.drawSolidFill(t)}drawPictureFill(t,e){this.drawSolidFill(t)}drawGradientFill(t,e){this.drawSolidFill(t)}drawPictureStroke(t,e){this.drawSolidStroke(t,null,e.width)}drawGradientStroke(t,e){this.drawSolidStroke(t,null,e.width)}pushClipPath(t){this.drawSolidFill(t),this._clipCount++}popClipPath(){this._clipCount--}drawImage(t,e){const{url:r}=t,s=G(t.scaleX,1);let i=s*e,n=e;const o=this._resourceManager.getResource(r);if(null!=o){const t=o.height/o.width;i=s*(e?t>1?e:e/t:o.width),n=e?t>1?e*t:e:o.height}this._merge(this.transformPt([-i/2,-n/2]),0),this._merge(this.transformPt([-i/2,n/2]),0),this._merge(this.transformPt([i/2,-n/2]),0),this._merge(this.transformPt([i/2,n/2]),0)}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new F);const r=St(t);let[s,i]=this._textRasterizer.computeTextSize(e,r);s=o(s),i=o(i);const n=this.transformSize(1)*this.reverseTransformScalar(1);s*=n,i*=n;const a=t.horizontalAlignment??I.CIMTextSymbol.horizontalalignment,l=t.verticalAlignment??I.CIMTextSymbol.verticalalignment;let h=0;switch(a){case"Left":h=s/2;break;case"Right":h=-s/2}let c=0;switch(l){case"Bottom":c=i/2;break;case"Top":c=-i/2;break;case"Baseline":c=i/6}this._merge(this.transformPt([-s/2+h,-i/2+c]),0),this._merge(this.transformPt([-s/2+h,i/2+c]),0),this._merge(this.transformPt([s/2+h,-i/2+c]),0),this._merge(this.transformPt([s/2+h,i/2+c]),0)}_processPath(t,e){if(t)for(const r of t){const t=r?r.length:0;if(t>1){this._merge(this.transformPt(r[0]),e);for(let s=1;s<t;s++)this._merge(this.transformPt(r[s]),e)}}}_merge(t,e){t[0]-e<this._xmin&&(this._xmin=t[0]-e),t[0]+e>this._xmax&&(this._xmax=t[0]+e),t[1]-e<this._ymin&&(this._ymin=t[1]-e),t[1]+e>this._ymax&&(this._ymax=t[1]+e)}}class ft extends ct{constructor(){super(...arguments),this._hittestType="point",this._searchTarget=[],this._searchDistPoint=0,this._textInfo=null,this._svg=null,this._path=null,this._canvas=null}destroy(){this._svg=K(this._svg),this._path=null,this._canvas=null}hitTest(t,e,r,s,i,a,l,h){this._resetHittest();const c=a*n(1);switch(this.setGeomUnitsPerPoint(c),h){case"point":if(1!==t.length)return lt().error("Unexpected hittest area",t),!1;this._hittestType="point",this._searchDistPoint=l/2/c,this._searchTarget=[[t[0].x,t[0].y]];break;case"rect":if(4!==t.length)return lt().error("Unexpected hittest area",t),!1;this._hittestType="rect",this._searchDistPoint=0,this._searchTarget=t.map(t=>[t.x,t.y])}this._textInfo=s;const m=e&&("CIMPointSymbol"===e.type&&"Map"!==e.angleAlignment||"CIMTextSymbol"===e.type);if(this._mapRotation=m?i:0,!has("esri-mobile")){const t=o(et*window.devicePixelRatio),r=o(rt);!(("CIMLineSymbol"===e?.type||"CIMPolygonSymbol"===e?.type)&&e.symbolLayers?.some(A))&&"CIMMeshSymbol"!==e?.type&&(j(e)??0)<r&&(this._searchDistPoint=t)}return this._earlyReturn=!1,this.drawSymbol(e,r),this._earlyReturn}executeEffects(t,e){return"CIMGeometricEffectDashes"===t.at(-1)?.type&&(t=t.slice(0,-1)),super.executeEffects(t,e)}drawSolidFill(t,e,r){null!=r?this._hittestSvgPath(t,r,!0):this._hitTestFill(t)}drawHatchFill(t,e){this._hitTestFill(t)}drawPictureFill(t,e){this._hitTestFill(t)}drawGradientFill(t,e){this._hitTestFill(t)}drawSolidStroke(t,e,r,s,i,n,o){null!=o?this._hittestSvgPath(t,o,!1,r):this._hitTestStroke(t,r)}drawPictureStroke(t,e){this._hitTestStroke(t,e.width)}drawGradientStroke(t,e){this._hitTestStroke(t,e.width)}drawMarkerLayer(t,e){t.markerPlacement&&("CIMMarkerPlacementInsidePolygon"===t.markerPlacement.type||"CIMMarkerPlacementPolygonCenter"===t.markerPlacement.type&&t.markerPlacement.clipAtBoundary)?this._hitTestFill(e):super.drawMarkerLayer(t,e)}pushClipPath(t){}popClipPath(){}drawImage(t,e){const{url:r}=t,s=G(t.scaleX,1),i=this._resourceManager.getResource(r);if(null==i||0===i.height||0===e)return;const n=e*this.geomUnitsPerPoint(),o=n*s*(i.width/i.height);if("point"===this._hittestType){const t=this.reverseTransformPt(this._searchTarget[0]),e=this._searchDistPoint;Math.abs(t[0])<o/2+e&&Math.abs(t[1])<n/2+e&&(this._earlyReturn=!0)}else{const t=o/2,e=n/2,r=[[-t,e],[t,e],[t,-e],[-t,-e],[-t,e]];bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,[r])&&(this._earlyReturn=!0)}}drawText(t,e){const r=this._textInfo;if(!r)return;const s=r.get(t);if(!s)return;if(!s.glyphMosaicItems.glyphs.length)return;const i=it(G(t.height,I.CIMTextSymbol.height)),{lineGapType:n,lineGap:o}=t,a=n?Pt(n,G(o),i):0,l=t.horizontalAlignment??I.CIMTextSymbol.horizontalalignment,h=t.verticalAlignment??I.CIMTextSymbol.verticalalignment,c="CIMBackgroundCallout"===t.callout?.type,m=st(s.glyphMosaicItems,{scale:i/tt,angle:0,xOffset:0,yOffset:0,horizontalAlignment:l,verticalAlignment:h,maxLineWidth:nt(t.lineWidth),lineHeight:Z*Math.max(.25,Math.min(a||1,4)),decoration:t.font.decoration||"none",useCIMAngleBehavior:!0,hasBackground:c});if("point"===this._hittestType){const t=this.reverseTransformPt(this._searchTarget[0]),e=t[0],r=t[1];for(const s of m.glyphs){const[t,i]=s.offsets.topLeft,[n,o]=s.offsets.bottomRight;if(e>t&&e<n&&r>-o&&r<-i){this._earlyReturn=!0;break}}}else for(const f of m.glyphs){const[t,e]=f.offsets.topLeft,[r,s]=f.offsets.bottomRight,i=[[t,-e],[r,-e],[r,-s],[t,-s],[t,-e]];if(bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,[i])){this._earlyReturn=!0;break}}}_hitTestFill(t){let e=null;if(P(t)){const r=t;e=[[[r.xmin,r.ymin],[r.xmin,r.ymax],[r.xmax,r.ymax],[r.xmax,r.ymin],[r.xmin,r.ymin]]]}else if(S(t))e=t.rings;else{if(!x(t))return;e=t.paths}if("point"===this._hittestType){const t=this.reverseTransformPt(this._searchTarget[0]);if(gt(t,e)&&(this._earlyReturn=!0),!this._earlyReturn){pt(t,e,this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint())&&(this._earlyReturn=!0)}}else{bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,e)&&(this._earlyReturn=!0)}}_getSvgPath(){return null!=this._svg&&null!=this._path||(this._svg??=$(),this._path??=Q("path"),this._svg.appendChild(this._path)),this._path}_getCanvasContext(t,e){return this._canvas??=document.createElement("canvas"),this._canvas.width=t,this._canvas.height=e,this._canvas.getContext("2d",{willReadFrequently:!0})}_hittestSvgPath(t,e,r,s=0){const i=l();p(i,t);const n={x:i[0],y:i[1],width:i[2]-i[0],height:i[3]-i[1]},o=this._getSvgPath();o.setAttribute("d",e);const a=o.getBBox();if("point"===this._hittestType){const t=this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint(),i=this.reverseTransformPt(this._searchTarget[0]);let o=Math.max(a.width/n.width,a.height/n.height),l=1;const h=2*t*o;h<1&&(l=2/h,o*=l,a.x*=l,a.y*=l,a.width*=l,a.height*=l);const c=1+s*o/2,m=this._getCanvasContext(a.width+2*c,a.height+2*c);m.setTransform(l,0,0,l,-a.x+c,-a.y+c);const f=new Path2D(e);r?m.fill(f):(m.lineWidth=s*(o/l),m.stroke(f));const u=(n.width*o-a.width)/2,d=(n.height*o-a.height)/2,g=Math.floor((i[0]-n.x-t)*o-u+c),p=Math.floor((n.height-(i[1]-n.y)-t)*o+d+c),_=Math.ceil(2*t*o),y=Math.ceil(2*t*o),P=m.getImageData(g,p,_,y).data;for(let e=3;e<P.length;e+=4)if(P[e]>127.5)return void(this._earlyReturn=!0)}else{const t=[[n.x,n.y],[n.x,n.y+n.height],[n.x+n.width,n.y+n.height],[n.x+n.width,n.y],[n.x,n.y]];if(bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,[t]))return void(this._earlyReturn=!0)}}_hitTestStroke(t,e){let r=null;if(P(t)){const e=t;r=[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]}else if(S(t))r=t.rings;else{if(!x(t))return;r=t.paths}if("point"===this._hittestType){pt(this.reverseTransformPt(this._searchTarget[0]),r,G(e,I.CIMSolidStroke.width)*this.geomUnitsPerPoint()/2+this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint())&&(this._earlyReturn=!0)}else{bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,r)&&(this._earlyReturn=!0)}}_resetHittest(){this.setTransform(),this._hittestType="point",this._searchTarget=[],this._searchDistPoint=0,this._textInfo=null}}class ut extends ct{constructor(t,e,r,s){super(e,r),this._applyAdditionalRenderProps=s,this._colorSubstitutionHelper=new k,this._ctx=t}drawSolidFill(t,e){if(!t)return;if(S(t))this._buildPath(t.rings,!0);else if(x(t))this._buildPath(t.paths,!0);else if(P(t))this._buildPath(yt(t).rings,!0);else{if(!M(t))return;console.log("CanvasDrawHelper.drawSolidFill - No implementation!")}const r=this._ctx;r.fillStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",r.fill("evenodd")}drawSolidStroke(t,e,r,s,i,n){if(!t||!e||0===r)return;if(S(t))this._buildPath(t.rings,!0);else if(x(t))this._buildPath(t.paths,!1);else{if(!P(t))return void console.log("CanvasDrawHelper.drawSolidStroke isn't implemented!");this._buildPath(yt(t).rings,!0)}const o=this._ctx;o.strokeStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",o.lineWidth=Math.max(this.transformSize(r),at),this._setCapStyle(s),this._setJoinStyle(i),o.miterLimit=n,o.stroke()}pushClipPath(t){if(this._ctx.save(),S(t))this._buildPath(t.rings,!0);else if(x(t))this._buildPath(t.paths,!0);else{if(!P(t))return;this._buildPath(yt(t).rings,!0)}this._ctx.clip("evenodd")}popClipPath(){this._ctx.restore()}drawImage(t,e){const{colorSubstitutions:r,url:s,tintColor:i}=t,n=G(t.scaleX,1),o=this._resourceManager.getResource(s);if(null==o)return;let a=e*(o.width/o.height),l=e;e||(a=o.width,l=o.height);const h=H(s)||"src"in o&&H(o.src);let c="getFrame"in o?R(o):o;r&&(c=this._colorSubstitutionHelper.applyColorSubstitution(c,r)),this._applyAdditionalRenderProps&&!h&&i&&(c=this._colorSubstitutionHelper.tintImageData(c,i));const m=this.transformPt([0,0]),[f,u]=this.getTransformAngle(),d=this.transformSize(1),g=this._ctx;g.save(),g.setTransform({m11:n*d*f,m12:n*d*u,m21:-d*u,m22:d*f,m41:m[0],m42:m[1]}),g.drawImage(c,-a/2,-l/2,a,l),g.restore()}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new F);const r=St(t,this.transformSize(o(1))),s=this._textRasterizer.rasterizeText(e,r);if(!s)return;const{size:i,anchorX:n,anchorY:a,canvas:l}=s,h=i[0]*(n+.5),c=i[1]*(a-.5),m=this._ctx,f=this.transformPt([0,0]),[u,d]=this.getTransformAngle(),g=1;m.save(),m.setTransform({m11:g*u,m12:g*d,m21:-g*d,m22:g*u,m41:f[0]-g*h,m42:f[1]+g*c}),m.drawImage(l,0,0),m.restore()}drawPictureFill(t,e){if(!t)return;let{colorSubstitutions:r,height:s,offsetX:i,offsetY:n,rotation:o,scaleX:a,tintColor:l,url:h}=e;const c=this._resourceManager.getResource(h);if(null==c)return;if(S(t))this._buildPath(t.rings,!0);else if(x(t))this._buildPath(t.paths,!0);else if(P(t))this._buildPath(yt(t).rings,!0);else{if(!M(t))return;console.log("CanvasDrawHelper.drawPictureFill - No implementation!")}const m=this._ctx,f=H(h)||"src"in c&&H(c.src);let u,d="getFrame"in c?R(c):c;if(r&&(d=this._colorSubstitutionHelper.applyColorSubstitution(d,r)),this._applyAdditionalRenderProps){f||l&&(d=this._colorSubstitutionHelper.tintImageData(d,l)),u=m.createPattern(d,"repeat");const t=this.transformSize(1);o||(o=0),i?i*=t:i=0,n?n*=t:n=0,s&&(s*=t);const e=s?s/c.height:1,r=a&&s?a*s/c.width:1;if(0!==o||1!==e||1!==r||0!==i||0!==n){const t=new DOMMatrix;t.rotateSelf(0,0,-o).translateSelf(i,n).scaleSelf(r,e,1),u.setTransform(t)}}else u=m.createPattern(d,"repeat");m.save(),m.fillStyle=u,m.fill("evenodd"),m.restore()}drawPictureStroke(t,r){if(!t)return;let{colorSubstitutions:s,capStyle:i,joinStyle:o,miterLimit:a,tintColor:l,url:h,width:c}=r;const m=this._resourceManager.getResource(h);if(null==m)return;let f;if(S(t))f=t.rings;else if(x(t))f=t.paths;else{if(!P(t))return M(t)?void console.log("CanvasDrawHelper.drawPictureStroke - No implementation!"):void 0;f=yt(t).rings}c||(c=m.width);const u=H(h)||"src"in m&&H(m.src);let d="getFrame"in m?R(m):m;s&&(d=this._colorSubstitutionHelper.applyColorSubstitution(d,s)),this._applyAdditionalRenderProps&&(u||l&&(d=this._colorSubstitutionHelper.tintImageData(d,l)));const g=Math.max(this.transformSize(n(c)),.5),p=g/d.width,_=this._ctx,y=_.createPattern(d,"repeat-y");let w,b;_.save(),this._setCapStyle(i),this._setJoinStyle(o),void 0!==a&&(_.miterLimit=a),_.lineWidth=g;for(let n of f)if(n=e(n),wt(n),n&&!(n.length<=1)){w=this.transformPt(n[0]);for(let t=1;t<n.length;t++){b=this.transformPt(n[t]);const e=_t(w,b),r=new DOMMatrix;r.translateSelf(0,w[1]-g/2).scaleSelf(p,p,1).rotateSelf(0,0,90-e),y.setTransform(r),_.strokeStyle=y,_.beginPath(),_.moveTo(w[0],w[1]),_.lineTo(b[0],b[1]),_.stroke(),w=b}}_.restore()}drawGradientFill(t,e){if(!t)return;let r;if(S(t))r=t.rings;else if(x(t))r=t.paths;else{if(!P(t))return void lt().error("Unable to draw gradient fill");r=yt(t).rings}this._buildPath(r,!0);const{angle:i,gradientMethod:o,gradientSize:a,gradientSizeUnits:l}=e,h=I.CIMGradientFill,p=e.gradientType??h.gradientType,_=-s(i??0),y=c();for(const s of r){const t=s?s.length:0;if(t>1)for(let e=0;e<t;e++){let t=this.transformPt(s[e]);"Linear"!==o&&"Rectangular"!==o||(t=z(t,-_)),m(y,t)}}const[w,M,b,k]=y,T=this._ctx;switch(T.save(),o){case"Buffered":lt().error(`Gradient method "${o}" currently unsupported.`);break;case"Linear":{const t=(M+k)/2,r="Absolute"===l?this.transformSize(n(a)):E(a,h.gradientSize)*(b-w),[s,i]="Discrete"===p?[b,b-r]:[w+r,w],o=z([s,t],_),c=z([i,t],_),m=T.createLinearGradient(o[0],o[1],c[0],c[1]);L(m,e),T.fillStyle=m,T.fill("evenodd");break}case"Circular":{const t=f(y),r=g(y)/2,s="Absolute"===l?this.transformSize(n(a)):E(a,h.gradientSize)*r,[i,o]="Discrete"===p?[r,r-s]:[s,0],c=T.createRadialGradient(t[0],t[1],i,t[0],t[1],o);L(c,e),T.fillStyle=c,T.fill("evenodd");break}case"Rectangular":{const r=f(y),s=r[0],i=r[1],o=z(r,_),c=(r,s,i,n,a,l,h,c)=>{T.save(),this.pushClipPath(t);const m=z([a,l],_),f=z([h,c],_);T.beginPath(),T.moveTo(o[0],o[1]),T.lineTo(m[0],m[1]),T.lineTo(f[0],f[1]),T.lineTo(o[0],o[1]),T.clip();const u=z([r,s],_),d=z([i,n],_),g=T.createLinearGradient(u[0],u[1],d[0],d[1]);L(g,e),T.fillStyle=g,T.fill("evenodd"),T.restore()};let m="Absolute"===l?this.transformSize(n(a)):E(a,h.gradientSize)*(u(y)/2),[g,P]="Discrete"===p?[b,b-m]:[s+m,s];c(g,i,P,i,b,M,b,k),[g,P]="Discrete"===p?[w,w+m]:[s-m,s],c(g,i,P,i,w,k,w,M),m="Absolute"===l?this.transformSize(n(a)):E(a,h.gradientSize)*(d(y)/2);let[S,x]="Discrete"===p?[k,k-m]:[i+m,i];c(s,S,s,x,b,k,w,k),[S,x]="Discrete"===p?[M,M+m]:[i-m,i],c(s,S,s,x,w,M,b,M);break}}T.restore()}drawGradientStroke(t,r){const{capStyle:s,gradientMethod:i,gradientSize:o,gradientSizeUnits:a,joinStyle:l,miterLimit:h,width:c}=r;if(!t||0===c)return;let m;if(S(t))m=t.rings;else if(x(t))m=t.paths;else{if(!P(t))return void lt().error("Unable to draw gradient stroke");m=yt(t).rings}const f=r.gradientType??I.CIMGradientStroke.gradientType,u=Math.max(this.transformSize(n(c)),.5),d=this._ctx;let g,p;d.save(),this._setCapStyle(s),this._setJoinStyle(l),void 0!==h&&(d.miterLimit=h),d.lineWidth=u;for(let _ of m){if(_=e(_),wt(_),!_||_.length<=1)continue;let t=0;g=this.transformPt(_[0]);for(let e=1;e<_.length;e++){p=this.transformPt(_[e]);const r=p[0]-g[0],s=p[1]-g[1];t+=Math.sqrt(r*r+s*s),g=p}const s="Absolute"===a?this.transformSize(n(o)):E(o,I.CIMGradientStroke.gradientSize)*("AcrossLine"===i?u:t);let l=0;g=this.transformPt(_[0]);for(let e=1;e<_.length;e++){p=this.transformPt(_[e]);const n=p[0]-g[0],o=p[1]-g[1],a=Math.sqrt(n*n+o*o);let h,c,m,y;switch(i){case"AcrossLine":{const[t,e]=z([n/a,o/a],-Math.PI/2),r=u/2,i="Discrete"===f?r:s-r;h=(g[0]+p[0])/2+t*i,c=(g[1]+p[1])/2+e*i,m=h-t*s,y=c-e*s;break}case"AlongLine":{const e=n/a,r=o/a;"Discrete"===f?(h=g[0]-e*l,c=g[1]-r*l,m=h+e*s,y=c+r*s):(m=g[0]+e*(t-l),y=g[1]+r*(t-l),h=m-e*s,c=y-r*s);break}default:return lt().error("Unrecognized gradient method:",i),void d.restore()}const P=d.createLinearGradient(h,c,m,y);L(P,r),d.strokeStyle=P,d.beginPath(),d.moveTo(g[0],g[1]),d.lineTo(p[0],p[1]),d.stroke(),l+=a,g=p}}d.restore()}_buildPath(t,e){const r=this._ctx;if(r.beginPath(),t)for(const s of t){const t=s?s.length:0;if(t>1){let i=this.transformPt(s[0]);r.moveTo(i[0],i[1]);for(let e=1;e<t;e++)i=this.transformPt(s[e]),r.lineTo(i[0],i[1]);e&&r.closePath()}}}_setCapStyle(t){switch(t){case"Butt":this._ctx.lineCap="butt";break;case"Round":this._ctx.lineCap="round";break;case"Square":this._ctx.lineCap="square"}}_setJoinStyle(t){switch(t){case"Bevel":this._ctx.lineJoin="bevel";break;case"Round":this._ctx.lineJoin="round";break;case"Miter":this._ctx.lineJoin="miter"}}}function dt(t,e,r){let s=G(t.separation,I.CIMHatchFill.separation)*r,i=G(t.rotation);if(0===s)return null;s<0&&(s=-s);let n=0;const o=.5*s;for(;n>o;)n-=s;for(;n<-o;)n+=s;const a=l();p(a,e),a[0]-=o,a[1]-=o,a[2]+=o,a[3]+=o;const h=[[a[0],a[1]],[a[0],a[3]],[a[2],a[3]],[a[2],a[1]]];for(;i>180;)i-=180;for(;i<0;)i+=180;const c=Math.cos(i*ot),m=Math.sin(i*ot),f=-s*m,u=s*c;let d,g,_,y;n=G(t.offsetX)*r*m-G(t.offsetY)*r*c,d=_=Number.MAX_VALUE,g=y=-Number.MAX_VALUE;for(const l of h){const t=l[0],e=l[1],r=c*t+m*e,s=-m*t+c*e;d=Math.min(d,r),_=Math.min(_,s),g=Math.max(g,r),y=Math.max(y,s)}_=Math.floor(_/s)*s;let P=c*d-m*_-f*n/s,S=m*d+c*_-u*n/s,x=c*g-m*_-f*n/s,w=m*g+c*_-u*n/s;const M=1+Math.round((y-_)/s),b=[];for(let l=0;l<M;l++)P+=f,S+=u,x+=f,w+=u,b.push([[P,S],[x,w]]);return{paths:b}}function gt(t,e){let r=0;for(const s of e){const e=s.length;for(let i=1;i<e;i++){const e=s[i-1],n=s[i];if(e[1]>t[1]==n[1]>t[1])continue;(n[0]-e[0])*(t[1]-e[1])-(n[1]-e[1])*(t[0]-e[0])>0?r++:r--}}return 0!==r}function pt(t,e,r){for(const s of e){const e=s.length;for(let i=1;i<e;i++){const e=s[i-1],n=s[i];let o=(n[0]-e[0])*(n[0]-e[0])+(n[1]-e[1])*(n[1]-e[1]);if(0===o)continue;o=Math.sqrt(o);const a=((n[0]-e[0])*(t[1]-e[1])-(n[1]-e[1])*(t[0]-e[0]))/o;if(Math.abs(a)<r){const s=((n[0]-e[0])*(t[0]-e[0])+(n[1]-e[1])*(t[1]-e[1]))/o;if(s>-r&&s<o+r)return!0}}}return!1}function _t(t,e){const r=e[0]-t[0],s=e[1]-t[1];return 180/Math.PI*Math.atan2(s,r)}const yt=t=>t?{spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]}:null,Pt=(t,e,r)=>{switch(t){case"ExtraLeading":return 1+e/r;case"Multiple":return e;case"Exact":return e/r}};function St(e,r=1){const s=B(e),i=X(e.fontStyleName),n=e.fontFamilyName??t,{weight:o,style:a}=i,l=r*(e.height||5),h=J(e.horizontalAlignment),c=N(e.verticalAlignment),m=O(e),f=O(e.haloSymbol),u=null!=f?r*(e.haloSize??0):0,d=q(e.symbol),g=r*(V(e.symbol)||0),p="CIMBackgroundCallout"===e.callout?.type?e.callout.backgroundSymbol:null,_=O(p),y=V(p),P=q(p);return{color:m,size:l,horizontalAlignment:h,verticalAlignment:c,font:{family:n,style:Y(a),weight:W(o),decoration:s},outline:{size:g||0,color:d},halo:{size:u||0,color:f,style:a},backgroundColor:_,borderLine:null!=y&&null!=P?{size:y,color:P}:null,pixelRatio:1,premultiplyColors:!0}}const xt=1e-4;function wt(t){let e,r,s,i,n,o=t[0],a=1;for(;a<t.length;)e=t[a][0]-o[0],r=t[a][1]-o[1],i=0!==e?r/e:Math.PI/2,void 0!==s&&Math.abs(i-s)<=xt?(t.splice(a-1,1),o=n):(n=o,o=t[a],a++),s=i}function Mt(t){const e=1e-6,r=t[0],s=t[t.length-1];return Math.abs(r[0]-s[0])<=e&&Math.abs(r[1]-s[1])<=e}function bt(t,e){t.length>1&&!Mt(t)&&(t=[...t,t[0]]);for(let r=0;r<e.length;r++){const s=e[r],i=s.length;for(const e of s)if(gt(e,[t]))return!0;if(Mt(s))for(const r of t)if(gt(r,e))return!0;for(let e=1;e<i;e++){const r=s[e-1],i=s[e];for(let e=0;e<t.length;e++){const s=t[e],n=t[(e+1)%t.length];if(y(r,i,s,n))return!0}}}return!1}export{ct as CIMSymbolDrawHelper,ut as CanvasDrawHelper,mt as EnvDrawHelper,ft as HittestDrawHelper,ht as Transformation,ot as cDegToRad,Pt as lineGapType2LineHeight};
|
|
2
|
+
import{defaultFontFamily as t}from"../../core/fontUtils.js";import has from"../../core/has.js";import{clone as e}from"../../core/lang.js";import r from"../../core/Logger.js";import{deg2rad as s}from"../../core/mathUtils.js";import i from"../../core/ObjectPool.js";import{px2pt as n,pt2px as o}from"../../core/screenUtils.js";import{GeometryCursor as a}from"../../geometry/GeometryCursor.js";import{fromValues as l,empty as h,expandPointInPlace as c,center as m,width as f,height as u,diagonal as d,create as g}from"../../geometry/support/aaBoundingRect.js";import{getBoundsXY as p}from"../../geometry/support/boundsUtils.js";import{polygonCentroid as _}from"../../geometry/support/centroid.js";import{segmentIntersects as y}from"../../geometry/support/intersectsBase.js";import{isPolygon as P,isPolyline as S,isExtent as x,isMultipoint as w,isPoint as M}from"../../geometry/support/jsonTypeUtils.js";import{SimpleEffectCursor as b}from"./CIMEffects.js";import k from"./CIMImageColorSubstitutionHelper.js";import{getEffectOperator as T,getPlacementOperator as C}from"./CIMOperators.js";import{Placement as v}from"./CIMPlacements.js";import{defaultCIMValues as I}from"./defaultCIMValues.js";import{getFirstFrame as R}from"./imageUtils.js";import{rotate as z}from"./mathUtils.js";import{addColorStops as L}from"./rasterizingUtils.js";import U from"./Rect.js";import F from"./TextRasterizer.js";import{getNumericValue as A,isSVGImage as j,getRelativeGradientSize as G,getEffectsInflateSize as D,fromCIMFontDecoration as H,fromCIMFontStyle as E,fromCIMHorizontalAlignment as B,fromCIMVerticalAlignment as X,getFillColor as J,getStrokeColor as N,getStrokeWidth as O,getFontWeight as q,getFontStyle as V,isCIMFill as W,getSize as Y}from"./utils.js";import{destroyHiddenSvg as K,createHiddenSvg as $,createSvgElement as Q}from"../../views/2d/engine/svgUtils.js";import{magicLabelLineHeight as Z,glyphSize as tt,hittestToleranceSmallSymbol as et,hittestSmallSymbolThreshold as rt}from"../../views/2d/engine/webgl/definitions.js";import{shapeGlyphs as st}from"../../views/2d/engine/webgl/mesh/templates/shapingUtils.js";import{roundPtToWholePixel as it,getLineWidth as nt}from"../../views/2d/layers/graphics/graphicsUtils.js";const ot=Math.PI/180,at=.5,lt=()=>r.getLogger("esri.symbols.cim.CIMSymbolDrawHelper");class ht{constructor(t){this._t=t}static createIdentity(){return new ht([1,0,0,0,1,0])}clone(){const t=this._t;return new ht(t.slice())}transform(t){const e=this._t;return[e[0]*t[0]+e[1]*t[1]+e[2],e[3]*t[0]+e[4]*t[1]+e[5]]}static createScale(t,e){return new ht([t,0,0,0,e,0])}scale(t,e){const r=this._t;return r[0]*=t,r[1]*=t,r[2]*=t,r[3]*=e,r[4]*=e,r[5]*=e,this}scaleRatio(){return Math.sqrt(this._t[0]*this._t[0]+this._t[1]*this._t[1])}static createTranslate(t,e){return new ht([0,0,t,0,0,e])}translate(t,e){const r=this._t;return r[2]+=t,r[5]+=e,this}static createRotate(t){const e=Math.cos(t),r=Math.sin(t);return new ht([e,-r,0,r,e,0])}rotate(t){return ht.multiply(this,ht.createRotate(t),this)}angle(){const t=this._t[0],e=this._t[3],r=Math.sqrt(t*t+e*e);return[t/r,e/r]}static multiply(t,e,r){const s=t._t,i=e._t,n=s[0]*i[0]+s[3]*i[1],o=s[1]*i[0]+s[4]*i[1],a=s[2]*i[0]+s[5]*i[1]+i[2],l=s[0]*i[3]+s[3]*i[4],h=s[1]*i[3]+s[4]*i[4],c=s[2]*i[3]+s[5]*i[4]+i[5],m=r._t;return m[0]=n,m[1]=o,m[2]=a,m[3]=l,m[4]=h,m[5]=c,r}invert(){const t=this._t;let e=t[0]*t[4]-t[1]*t[3];if(0===e)return new ht([0,0,0,0,0,0]);e=1/e;const r=(t[1]*t[5]-t[2]*t[4])*e,s=(t[2]*t[3]-t[0]*t[5])*e,i=t[4]*e,n=-t[1]*e,o=-t[3]*e,a=t[0]*e;return new ht([i,n,r,o,a,s])}}class ct{constructor(t,e){this._resourceManager=t,this._transfos=[],this._sizeTransfos=[],this._geomUnitsPerPoint=1,this._placementPool=new i(()=>new v,void 0,void 0,100),this._earlyReturn=!1,this._mapRotation=0,this._transfos.push(e||ht.createIdentity()),this._sizeTransfos.push(e?e.scaleRatio():1)}setTransform(t,e){this._transfos=[t||ht.createIdentity()],this._sizeTransfos=[e||(t?t.scaleRatio():1)]}setGeomUnitsPerPoint(t){this._geomUnitsPerPoint=t}transformPt(t){return this._transfos[this._transfos.length-1].transform(t)}transformSize(t){return t*this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformPt(t){return this._transfos[this._transfos.length-1].invert().transform(t)}reverseTransformSize(t){return t/this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformScalar(t){return t/this._transfos[this._transfos.length-1].scaleRatio()}getTransformAngle(){return this._transfos[this._transfos.length-1].angle()}geomUnitsPerPoint(){return this.isEmbedded()?1:this._geomUnitsPerPoint}prevGeomUnitsPerPoint(){return this._transfos.length>2?1:this._geomUnitsPerPoint}isEmbedded(){return this._transfos.length>1}back(){return this._transfos[this._transfos.length-1]}push(t,e){const r=e?t.scaleRatio():1;ht.multiply(t,this.back(),t),this._transfos.push(t),this._sizeTransfos.push(this._sizeTransfos[this._sizeTransfos.length-1]*r)}pop(){this._transfos.splice(-1,1),this._sizeTransfos.splice(-1,1)}drawSymbol(t,e,r){if(t)switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this.drawMultiLayerSymbol(t,e);break;case"CIMTextSymbol":this.drawTextSymbol(t,e,r)}}drawMultiLayerSymbol(t,e){if(!t||!e)return;const r=t.symbolLayers;if(!r)return;const s=t.effects;if(s&&s.length>0){const t=this.executeEffects(s,e);if(t){let e=t.next();for(;e;)this.drawSymbolLayers(r,e.asJSON()),e=t.next()}}else this.drawSymbolLayers(r,e)}executeEffects(t,e){const r=this.geomUnitsPerPoint(),s=null,i=D(t),n=!1;let o=new b(a.fromJSONCIM(e));for(const a of t){const t=T(a);t&&(o=t.execute(o,a,{geomUnitsPerPoint:r,tileKey:s,maxInflateSize:i,scale:null,spatialReference:e.spatialReference,preventClipping:n}))}return o}drawSymbolLayers(t,e){let r=t.length;for(;r--;){const s=t[r];if(!s||!1===s.enable)continue;const i=s.effects;if(i&&i.length>0){const t=this.executeEffects(i,e);if(t){let e=null;for(;(e=t.next())&&(this.drawSymbolLayer(s,e.asJSON()),!this._earlyReturn););}}else this.drawSymbolLayer(s,e);if(this._earlyReturn)return}}drawSymbolLayer(t,e){switch(t.type){case"CIMSolidFill":this.drawSolidFill(e,t.color,t.path);break;case"CIMHatchFill":this.drawHatchFill(e,t);break;case"CIMPictureFill":this.drawPictureFill(e,t);break;case"CIMGradientFill":this.drawGradientFill(e,t);break;case"CIMSolidStroke":this.drawSolidStroke(e,t.color,t.width,t.capStyle,t.joinStyle,t.miterLimit,t.path);break;case"CIMPictureStroke":this.drawPictureStroke(e,t);break;case"CIMGradientStroke":this.drawGradientStroke(e,t);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":this.drawMarkerLayer(t,e)}}drawHatchFill(t,e){const r=dt(e,t,this.geomUnitsPerPoint());r&&(this.pushClipPath(t),this.drawMultiLayerSymbol(e.lineSymbol,r),this.popClipPath())}drawPictureFill(t,e){}drawGradientFill(t,e){}drawPictureStroke(t,e){}drawGradientStroke(t,e){}drawMarkerLayer(t,e){const r=t.markerPlacement;if(r){const s=C(r);if(s){const i="CIMMarkerPlacementInsidePolygon"===r.type||"CIMMarkerPlacementPolygonCenter"===r.type&&r.clipAtBoundary;i&&this.pushClipPath(e);const n=s.execute(a.fromJSONCIM(e),r,this.geomUnitsPerPoint(),null);if(n){let e=null;for(;(e=n.next())&&(this.drawMarker(t,e),!this._earlyReturn););}i&&this.popClipPath()}}else{const r=this._placementPool.acquire();if(M(e))r.tx=e.x,r.ty=e.y,this.drawMarker(t,r);else if(P(e)){const s=_(e);s&&([r.tx,r.ty]=s,this.drawMarker(t,r))}else if(S(e)){for(const s of e.paths)for(const e of s)if(r.tx=e[0],r.ty=e[1],this.drawMarker(t,r),this._earlyReturn)break}else for(const s of e.points)if(r.tx=s[0],r.ty=s[1],this.drawMarker(t,r),this._earlyReturn)break;this._placementPool.release(r)}}drawMarker(t,e){switch(t.type){case"CIMCharacterMarker":case"CIMPictureMarker":this.drawPictureMarker(t,e);break;case"CIMVectorMarker":this.drawVectorMarker(t,e)}}drawPictureMarker(t,e){if(!t)return;const r=this._resourceManager.getResource(t.url),s=A(t.size,I.CIMPictureMarker.size);if(null==r||s<=0)return;const i=r.width,n=r.height;if(!i||!n)return;const o=i/n,a=A(t.scaleX,1),l=ht.createIdentity(),h=t.anchorPoint;if(h){let e=h.x,r=h.y;"Absolute"!==t.anchorPointUnits&&(e*=s*o*a,r*=s),l.translate(-e,-r)}let c=A(t.rotation);t.rotateClockwise&&(c=-c),this._mapRotation&&(c+=this._mapRotation),c&&l.rotate(c*ot);let m=A(t.offsetX),f=A(t.offsetY);if(m||f){if(this._mapRotation){const t=ot*this._mapRotation,e=Math.cos(t),r=Math.sin(t),s=m*r+f*e;m=m*e-f*r,f=s}l.translate(m,f)}const u=this.geomUnitsPerPoint();1!==u&&l.scale(u,u);const d=e.getAngle();d&&l.rotate(d),l.translate(e.tx,e.ty),this.push(l,!1),this.drawImage(t,s),this.pop()}drawVectorMarker(t,e){if(!t)return;const r=t.markerGraphics;if(!r)return;const s=A(t.size,I.CIMVectorMarker.size),i=t.frame,n=i?i.ymax-i.ymin:0,o=s&&n?s/n:1,a=ht.createIdentity();i&&a.translate(.5*-(i.xmax+i.xmin),.5*-(i.ymax+i.ymin));const l=t.anchorPoint;if(l){let e=l.x,r=l.y;"Absolute"!==t.anchorPointUnits?i&&(e*=i.xmax-i.xmin,r*=i.ymax-i.ymin):(e/=o,r/=o),a.translate(-e,-r)}1!==o&&a.scale(o,o);let h=A(t.rotation);t.rotateClockwise&&(h=-h),this._mapRotation&&(h+=this._mapRotation),h&&a.rotate(h*ot);let c=A(t.offsetX),m=A(t.offsetY);if(c||m){if(this._mapRotation){const t=ot*this._mapRotation,e=Math.cos(t),r=Math.sin(t),s=c*r+m*e;c=c*e-m*r,m=s}a.translate(c,m)}const f=this.geomUnitsPerPoint();1!==f&&a.scale(f,f);const u=e.getAngle();u&&a.rotate(u),a.translate(e.tx,e.ty),this.push(a,t.scaleSymbolsProportionally);for(const d of r){d?.symbol&&d.geometry||lt().error("Invalid marker graphic",d);let t=d.textString;if("number"==typeof t&&(t=t.toString()),this.drawSymbol(d.symbol,d.geometry,t),this._earlyReturn)break}this.pop()}drawTextSymbol(t,e,r){if(!t)return;if(!M(e))return;if(A(t.height,I.CIMTextSymbol.height)<=0)return;const s=ht.createIdentity();let i=A(t.angle);i=-i,i&&s.rotate(i*ot);const n=A(t.offsetX),o=A(t.offsetY);(n||o)&&s.translate(n,o);const a=this.geomUnitsPerPoint();1!==a&&s.scale(a,a),s.translate(e.x,e.y),this.push(s,!1),this.drawText(t,r),this.pop()}}class mt extends ct{constructor(t,e){super(t,e),this.reset()}reset(){this._xmin=this._ymin=1/0,this._xmax=this._ymax=-1/0,this._clipCount=0}envelope(){return new U(this._xmin,this._ymin,this._xmax-this._xmin,this._ymax-this._ymin)}bounds(){return l(this._xmin,this._ymin,this._xmax,this._ymax)}drawSolidFill(t){if(t&&!(this._clipCount>0))if(P(t))this._processPath(t.rings,0);else if(S(t))this._processPath(t.paths,0);else if(x(t)){const e=yt(t);e&&this._processPath(e.rings,0)}else console.error("drawSolidFill Unexpected geometry type!")}drawSolidStroke(t,e,r){if(!t||this._clipCount>0||null==r||r<=0)return;const s=Math.max(.5*this.transformSize(A(r,I.CIMSolidStroke.width)),.5*at);if(P(t))this._processPath(t.rings,s);else if(S(t))this._processPath(t.paths,s);else if(x(t)){const e=yt(t);e&&this._processPath(e.rings,s)}else console.error("drawSolidStroke unexpected geometry type!")}drawMarkerLayer(t,e){P(e)&&t.markerPlacement&&("CIMMarkerPlacementInsidePolygon"===t.markerPlacement.type||"CIMMarkerPlacementPolygonCenter"===t.markerPlacement.type&&t.markerPlacement.clipAtBoundary)?this._processPath(e.rings,0):super.drawMarkerLayer(t,e)}drawHatchFill(t,e){this.drawSolidFill(t)}drawPictureFill(t,e){this.drawSolidFill(t)}drawGradientFill(t,e){this.drawSolidFill(t)}drawPictureStroke(t,e){this.drawSolidStroke(t,null,e.width)}drawGradientStroke(t,e){this.drawSolidStroke(t,null,e.width)}pushClipPath(t){this.drawSolidFill(t),this._clipCount++}popClipPath(){this._clipCount--}drawImage(t,e){const{url:r}=t,s=A(t.scaleX,1);let i=s*e,n=e;const o=this._resourceManager.getResource(r);if(null!=o){const t=o.height/o.width;i=s*(e?t>1?e:e/t:o.width),n=e?t>1?e*t:e:o.height}this._merge(this.transformPt([-i/2,-n/2]),0),this._merge(this.transformPt([-i/2,n/2]),0),this._merge(this.transformPt([i/2,-n/2]),0),this._merge(this.transformPt([i/2,n/2]),0)}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new F);const r=St(t);let[s,i]=this._textRasterizer.computeTextSize(e,r);s=n(s),i=n(i);const o=this.transformSize(1)*this.reverseTransformScalar(1);s*=o,i*=o;const a=t.horizontalAlignment??I.CIMTextSymbol.horizontalalignment,l=t.verticalAlignment??I.CIMTextSymbol.verticalalignment;let h=0;switch(a){case"Left":h=s/2;break;case"Right":h=-s/2}let c=0;switch(l){case"Bottom":c=i/2;break;case"Top":c=-i/2;break;case"Baseline":c=i/6}this._merge(this.transformPt([-s/2+h,-i/2+c]),0),this._merge(this.transformPt([-s/2+h,i/2+c]),0),this._merge(this.transformPt([s/2+h,-i/2+c]),0),this._merge(this.transformPt([s/2+h,i/2+c]),0)}_processPath(t,e){if(t)for(const r of t){const t=r?r.length:0;if(t>1){this._merge(this.transformPt(r[0]),e);for(let s=1;s<t;s++)this._merge(this.transformPt(r[s]),e)}}}_merge(t,e){t[0]-e<this._xmin&&(this._xmin=t[0]-e),t[0]+e>this._xmax&&(this._xmax=t[0]+e),t[1]-e<this._ymin&&(this._ymin=t[1]-e),t[1]+e>this._ymax&&(this._ymax=t[1]+e)}}class ft extends ct{constructor(){super(...arguments),this._hittestType="point",this._searchTarget=[],this._searchDistPoint=0,this._textInfo=null,this._svg=null,this._path=null,this._canvas=null}destroy(){this._svg=K(this._svg),this._path=null,this._canvas=null}hitTest(t,e,r,s,i,a,l,h){this._resetHittest();const c=a*o(1);switch(this.setGeomUnitsPerPoint(c),h){case"point":if(1!==t.length)return lt().error("Unexpected hittest area",t),!1;this._hittestType="point",this._searchDistPoint=l/2/c,this._searchTarget=[[t[0].x,t[0].y]];break;case"rect":if(4!==t.length)return lt().error("Unexpected hittest area",t),!1;this._hittestType="rect",this._searchDistPoint=0,this._searchTarget=t.map(t=>[t.x,t.y])}this._textInfo=s;const m=e&&("CIMPointSymbol"===e.type&&"Map"!==e.angleAlignment||"CIMTextSymbol"===e.type);if(this._mapRotation=m?i:0,!has("esri-mobile")){const t=n(et*window.devicePixelRatio),r=n(rt);!(("CIMLineSymbol"===e?.type||"CIMPolygonSymbol"===e?.type)&&e.symbolLayers?.some(W))&&"CIMMeshSymbol"!==e?.type&&(Y(e)??0)<r&&(this._searchDistPoint=t)}return this._earlyReturn=!1,this.drawSymbol(e,r),this._earlyReturn}executeEffects(t,e){return"CIMGeometricEffectDashes"===t.at(-1)?.type&&(t=t.slice(0,-1)),super.executeEffects(t,e)}drawSolidFill(t,e,r){null!=r?this._hittestSvgPath(t,r,!0):this._hitTestFill(t)}drawHatchFill(t,e){this._hitTestFill(t)}drawPictureFill(t,e){this._hitTestFill(t)}drawGradientFill(t,e){this._hitTestFill(t)}drawSolidStroke(t,e,r,s,i,n,o){null!=o?this._hittestSvgPath(t,o,!1,r):this._hitTestStroke(t,r)}drawPictureStroke(t,e){this._hitTestStroke(t,e.width)}drawGradientStroke(t,e){this._hitTestStroke(t,e.width)}drawMarkerLayer(t,e){t.markerPlacement&&("CIMMarkerPlacementInsidePolygon"===t.markerPlacement.type||"CIMMarkerPlacementPolygonCenter"===t.markerPlacement.type&&t.markerPlacement.clipAtBoundary)?this._hitTestFill(e):super.drawMarkerLayer(t,e)}pushClipPath(t){}popClipPath(){}drawImage(t,e){const{url:r}=t,s=A(t.scaleX,1),i=this._resourceManager.getResource(r);if(null==i||0===i.height||0===e)return;const n=e*this.geomUnitsPerPoint(),o=n*s*(i.width/i.height);if("point"===this._hittestType){const t=this.reverseTransformPt(this._searchTarget[0]),e=this._searchDistPoint;Math.abs(t[0])<o/2+e&&Math.abs(t[1])<n/2+e&&(this._earlyReturn=!0)}else{const t=o/2,e=n/2,r=[[-t,e],[t,e],[t,-e],[-t,-e],[-t,e]];bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,[r])&&(this._earlyReturn=!0)}}drawText(t,e){const r=this._textInfo;if(!r)return;const s=r.get(t);if(!s)return;if(!s.glyphMosaicItems.glyphs.length)return;const i=it(A(t.height,I.CIMTextSymbol.height)),{lineGapType:n,lineGap:o}=t,a=n?Pt(n,A(o),i):0,l=t.horizontalAlignment??I.CIMTextSymbol.horizontalalignment,h=t.verticalAlignment??I.CIMTextSymbol.verticalalignment,c="CIMBackgroundCallout"===t.callout?.type,m=st(s.glyphMosaicItems,{scale:i/tt,angle:0,xOffset:0,yOffset:0,horizontalAlignment:l,verticalAlignment:h,maxLineWidth:nt(t.lineWidth),lineHeight:Z*Math.max(.25,Math.min(a||1,4)),decoration:t.font.decoration||"none",useCIMAngleBehavior:!0,hasBackground:c});if("point"===this._hittestType){const t=this.reverseTransformPt(this._searchTarget[0]),e=t[0],r=t[1];for(const s of m.glyphs){const[t,i]=s.offsets.topLeft,[n,o]=s.offsets.bottomRight;if(e>t&&e<n&&r>-o&&r<-i){this._earlyReturn=!0;break}}}else for(const f of m.glyphs){const[t,e]=f.offsets.topLeft,[r,s]=f.offsets.bottomRight,i=[[t,-e],[r,-e],[r,-s],[t,-s],[t,-e]];if(bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,[i])){this._earlyReturn=!0;break}}}_hitTestFill(t){let e=null;if(x(t)){const r=t;e=[[[r.xmin,r.ymin],[r.xmin,r.ymax],[r.xmax,r.ymax],[r.xmax,r.ymin],[r.xmin,r.ymin]]]}else if(P(t))e=t.rings;else{if(!S(t))return;e=t.paths}if("point"===this._hittestType){const t=this.reverseTransformPt(this._searchTarget[0]);if(gt(t,e)&&(this._earlyReturn=!0),!this._earlyReturn){pt(t,e,this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint())&&(this._earlyReturn=!0)}}else{bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,e)&&(this._earlyReturn=!0)}}_getSvgPath(){return null!=this._svg&&null!=this._path||(this._svg??=$(),this._path??=Q("path"),this._svg.appendChild(this._path)),this._path}_getCanvasContext(t,e){return this._canvas??=document.createElement("canvas"),this._canvas.width=t,this._canvas.height=e,this._canvas.getContext("2d",{willReadFrequently:!0})}_hittestSvgPath(t,e,r,s=0){const i=g();p(i,t);const n={x:i[0],y:i[1],width:i[2]-i[0],height:i[3]-i[1]},o=this._getSvgPath();o.setAttribute("d",e);const a=o.getBBox();if("point"===this._hittestType){const t=this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint(),i=this.reverseTransformPt(this._searchTarget[0]);let o=Math.max(a.width/n.width,a.height/n.height),l=1;const h=2*t*o;h<1&&(l=2/h,o*=l,a.x*=l,a.y*=l,a.width*=l,a.height*=l);const c=1+s*o/2,m=this._getCanvasContext(a.width+2*c,a.height+2*c);m.setTransform(l,0,0,l,-a.x+c,-a.y+c);const f=new Path2D(e);r?m.fill(f):(m.lineWidth=s*(o/l),m.stroke(f));const u=(n.width*o-a.width)/2,d=(n.height*o-a.height)/2,g=Math.floor((i[0]-n.x-t)*o-u+c),p=Math.floor((n.height-(i[1]-n.y)-t)*o+d+c),_=Math.ceil(2*t*o),y=Math.ceil(2*t*o),P=m.getImageData(g,p,_,y).data;for(let e=3;e<P.length;e+=4)if(P[e]>127.5)return void(this._earlyReturn=!0)}else{const t=[[n.x,n.y],[n.x,n.y+n.height],[n.x+n.width,n.y+n.height],[n.x+n.width,n.y],[n.x,n.y]];if(bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,[t]))return void(this._earlyReturn=!0)}}_hitTestStroke(t,e){let r=null;if(x(t)){const e=t;r=[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]}else if(P(t))r=t.rings;else{if(!S(t))return;r=t.paths}if("point"===this._hittestType){pt(this.reverseTransformPt(this._searchTarget[0]),r,A(e,I.CIMSolidStroke.width)*this.geomUnitsPerPoint()/2+this.reverseTransformScalar(this._searchDistPoint)*this.prevGeomUnitsPerPoint())&&(this._earlyReturn=!0)}else{bt(this.isEmbedded()?this._searchTarget.map(t=>this.reverseTransformPt(t)):this._searchTarget,r)&&(this._earlyReturn=!0)}}_resetHittest(){this.setTransform(),this._hittestType="point",this._searchTarget=[],this._searchDistPoint=0,this._textInfo=null}}class ut extends ct{constructor(t,e,r,s){super(e,r),this._applyAdditionalRenderProps=s,this._colorSubstitutionHelper=new k,this._ctx=t}drawSolidFill(t,e){if(!t)return;if(P(t))this._buildPath(t.rings,!0);else if(S(t))this._buildPath(t.paths,!0);else if(x(t))this._buildPath(yt(t).rings,!0);else{if(!w(t))return;console.log("CanvasDrawHelper.drawSolidFill - No implementation!")}const r=this._ctx;r.fillStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",r.fill("evenodd")}drawSolidStroke(t,e,r,s,i,n){if(!t||!e||0===r)return;if(P(t))this._buildPath(t.rings,!0);else if(S(t))this._buildPath(t.paths,!1);else{if(!x(t))return void console.log("CanvasDrawHelper.drawSolidStroke isn't implemented!");this._buildPath(yt(t).rings,!0)}const o=this._ctx;o.strokeStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",o.lineWidth=Math.max(this.transformSize(r),at),this._setCapStyle(s),this._setJoinStyle(i),o.miterLimit=n,o.stroke()}pushClipPath(t){if(this._ctx.save(),P(t))this._buildPath(t.rings,!0);else if(S(t))this._buildPath(t.paths,!0);else{if(!x(t))return;this._buildPath(yt(t).rings,!0)}this._ctx.clip("evenodd")}popClipPath(){this._ctx.restore()}drawImage(t,e){const{colorSubstitutions:r,url:s,tintColor:i}=t,n=A(t.scaleX,1),o=this._resourceManager.getResource(s);if(null==o)return;let a=e*(o.width/o.height),l=e;e||(a=o.width,l=o.height);const h=j(s)||"src"in o&&j(o.src);let c="getFrame"in o?R(o):o;r&&(c=this._colorSubstitutionHelper.applyColorSubstitution(c,r)),this._applyAdditionalRenderProps&&!h&&i&&(c=this._colorSubstitutionHelper.tintImageData(c,i));const m=this.transformPt([0,0]),[f,u]=this.getTransformAngle(),d=this.transformSize(1),g=this._ctx;g.save(),g.setTransform({m11:n*d*f,m12:n*d*u,m21:-d*u,m22:d*f,m41:m[0],m42:m[1]}),g.drawImage(c,-a/2,-l/2,a,l),g.restore()}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new F);const r=St(t,this.transformSize(n(1))),s=this._textRasterizer.rasterizeText(e,r);if(!s)return;const{size:i,anchorX:o,anchorY:a,canvas:l}=s,h=i[0]*(o+.5),c=i[1]*(a-.5),m=this._ctx,f=this.transformPt([0,0]),[u,d]=this.getTransformAngle(),g=1;m.save(),m.setTransform({m11:g*u,m12:g*d,m21:-g*d,m22:g*u,m41:f[0]-g*h,m42:f[1]+g*c}),m.drawImage(l,0,0),m.restore()}drawPictureFill(t,e){if(!t)return;let{colorSubstitutions:r,height:s,offsetX:i,offsetY:n,rotation:o,scaleX:a,tintColor:l,url:h}=e;const c=this._resourceManager.getResource(h);if(null==c)return;if(P(t))this._buildPath(t.rings,!0);else if(S(t))this._buildPath(t.paths,!0);else if(x(t))this._buildPath(yt(t).rings,!0);else{if(!w(t))return;console.log("CanvasDrawHelper.drawPictureFill - No implementation!")}const m=this._ctx,f=j(h)||"src"in c&&j(c.src);let u,d="getFrame"in c?R(c):c;if(r&&(d=this._colorSubstitutionHelper.applyColorSubstitution(d,r)),this._applyAdditionalRenderProps){f||l&&(d=this._colorSubstitutionHelper.tintImageData(d,l)),u=m.createPattern(d,"repeat");const t=this.transformSize(1);o||(o=0),i?i*=t:i=0,n?n*=t:n=0,s&&(s*=t);const e=s?s/c.height:1,r=a&&s?a*s/c.width:1;if(0!==o||1!==e||1!==r||0!==i||0!==n){const t=new DOMMatrix;t.rotateSelf(0,0,-o).translateSelf(i,n).scaleSelf(r,e,1),u.setTransform(t)}}else u=m.createPattern(d,"repeat");m.save(),m.fillStyle=u,m.fill("evenodd"),m.restore()}drawPictureStroke(t,r){if(!t)return;let{colorSubstitutions:s,capStyle:i,joinStyle:n,miterLimit:a,tintColor:l,url:h,width:c}=r;const m=this._resourceManager.getResource(h);if(null==m)return;let f;if(P(t))f=t.rings;else if(S(t))f=t.paths;else{if(!x(t))return w(t)?void console.log("CanvasDrawHelper.drawPictureStroke - No implementation!"):void 0;f=yt(t).rings}c||(c=m.width);const u=j(h)||"src"in m&&j(m.src);let d="getFrame"in m?R(m):m;s&&(d=this._colorSubstitutionHelper.applyColorSubstitution(d,s)),this._applyAdditionalRenderProps&&(u||l&&(d=this._colorSubstitutionHelper.tintImageData(d,l)));const g=Math.max(this.transformSize(o(c)),.5),p=g/d.width,_=this._ctx,y=_.createPattern(d,"repeat-y");let M,b;_.save(),this._setCapStyle(i),this._setJoinStyle(n),void 0!==a&&(_.miterLimit=a),_.lineWidth=g;for(let o of f)if(o=e(o),wt(o),o&&!(o.length<=1)){M=this.transformPt(o[0]);for(let t=1;t<o.length;t++){b=this.transformPt(o[t]);const e=_t(M,b),r=new DOMMatrix;r.translateSelf(0,M[1]-g/2).scaleSelf(p,p,1).rotateSelf(0,0,90-e),y.setTransform(r),_.strokeStyle=y,_.beginPath(),_.moveTo(M[0],M[1]),_.lineTo(b[0],b[1]),_.stroke(),M=b}}_.restore()}drawGradientFill(t,e){if(!t)return;let r;if(P(t))r=t.rings;else if(S(t))r=t.paths;else{if(!x(t))return void lt().error("Unable to draw gradient fill");r=yt(t).rings}this._buildPath(r,!0);const{angle:i,gradientMethod:n,gradientSize:a,gradientSizeUnits:l}=e,g=I.CIMGradientFill,p=e.gradientType??g.gradientType,_=-s(i??0),y=h();for(const s of r){const t=s?s.length:0;if(t>1)for(let e=0;e<t;e++){let t=this.transformPt(s[e]);"Linear"!==n&&"Rectangular"!==n||(t=z(t,-_)),c(y,t)}}const[w,M,b,k]=y,T=this._ctx;switch(T.save(),n){case"Buffered":lt().error(`Gradient method "${n}" currently unsupported.`);break;case"Linear":{const t=(M+k)/2,r="Absolute"===l?this.transformSize(o(a)):G(a,g.gradientSize)*(b-w),[s,i]="Discrete"===p?[b,b-r]:[w+r,w],n=z([s,t],_),h=z([i,t],_),c=T.createLinearGradient(n[0],n[1],h[0],h[1]);L(c,e),T.fillStyle=c,T.fill("evenodd");break}case"Circular":{const t=m(y),r=d(y)/2,s="Absolute"===l?this.transformSize(o(a)):G(a,g.gradientSize)*r,[i,n]="Discrete"===p?[r,r-s]:[s,0],h=T.createRadialGradient(t[0],t[1],i,t[0],t[1],n);L(h,e),T.fillStyle=h,T.fill("evenodd");break}case"Rectangular":{const r=m(y),s=r[0],i=r[1],n=z(r,_),h=(r,s,i,o,a,l,h,c)=>{T.save(),this.pushClipPath(t);const m=z([a,l],_),f=z([h,c],_);T.beginPath(),T.moveTo(n[0],n[1]),T.lineTo(m[0],m[1]),T.lineTo(f[0],f[1]),T.lineTo(n[0],n[1]),T.clip();const u=z([r,s],_),d=z([i,o],_),g=T.createLinearGradient(u[0],u[1],d[0],d[1]);L(g,e),T.fillStyle=g,T.fill("evenodd"),T.restore()};let c="Absolute"===l?this.transformSize(o(a)):G(a,g.gradientSize)*(f(y)/2),[d,P]="Discrete"===p?[b,b-c]:[s+c,s];h(d,i,P,i,b,M,b,k),[d,P]="Discrete"===p?[w,w+c]:[s-c,s],h(d,i,P,i,w,k,w,M),c="Absolute"===l?this.transformSize(o(a)):G(a,g.gradientSize)*(u(y)/2);let[S,x]="Discrete"===p?[k,k-c]:[i+c,i];h(s,S,s,x,b,k,w,k),[S,x]="Discrete"===p?[M,M+c]:[i-c,i],h(s,S,s,x,w,M,b,M);break}}T.restore()}drawGradientStroke(t,r){const{capStyle:s,gradientMethod:i,gradientSize:n,gradientSizeUnits:a,joinStyle:l,miterLimit:h,width:c}=r;if(!t||0===c)return;let m;if(P(t))m=t.rings;else if(S(t))m=t.paths;else{if(!x(t))return void lt().error("Unable to draw gradient stroke");m=yt(t).rings}const f=r.gradientType??I.CIMGradientStroke.gradientType,u=Math.max(this.transformSize(o(c)),.5),d=this._ctx;let g,p;d.save(),this._setCapStyle(s),this._setJoinStyle(l),void 0!==h&&(d.miterLimit=h),d.lineWidth=u;for(let _ of m){if(_=e(_),wt(_),!_||_.length<=1)continue;let t=0;g=this.transformPt(_[0]);for(let e=1;e<_.length;e++){p=this.transformPt(_[e]);const r=p[0]-g[0],s=p[1]-g[1];t+=Math.sqrt(r*r+s*s),g=p}const s="Absolute"===a?this.transformSize(o(n)):G(n,I.CIMGradientStroke.gradientSize)*("AcrossLine"===i?u:t);let l=0;g=this.transformPt(_[0]);for(let e=1;e<_.length;e++){p=this.transformPt(_[e]);const n=p[0]-g[0],o=p[1]-g[1],a=Math.sqrt(n*n+o*o);let h,c,m,y;switch(i){case"AcrossLine":{const[t,e]=z([n/a,o/a],-Math.PI/2),r=u/2,i="Discrete"===f?r:s-r;h=(g[0]+p[0])/2+t*i,c=(g[1]+p[1])/2+e*i,m=h-t*s,y=c-e*s;break}case"AlongLine":{const e=n/a,r=o/a;"Discrete"===f?(h=g[0]-e*l,c=g[1]-r*l,m=h+e*s,y=c+r*s):(m=g[0]+e*(t-l),y=g[1]+r*(t-l),h=m-e*s,c=y-r*s);break}default:return lt().error("Unrecognized gradient method:",i),void d.restore()}const P=d.createLinearGradient(h,c,m,y);L(P,r),d.strokeStyle=P,d.beginPath(),d.moveTo(g[0],g[1]),d.lineTo(p[0],p[1]),d.stroke(),l+=a,g=p}}d.restore()}_buildPath(t,e){const r=this._ctx;if(r.beginPath(),t)for(const s of t){const t=s?s.length:0;if(t>1){let i=this.transformPt(s[0]);r.moveTo(i[0],i[1]);for(let e=1;e<t;e++)i=this.transformPt(s[e]),r.lineTo(i[0],i[1]);e&&r.closePath()}}}_setCapStyle(t){switch(t){case"Butt":this._ctx.lineCap="butt";break;case"Round":this._ctx.lineCap="round";break;case"Square":this._ctx.lineCap="square"}}_setJoinStyle(t){switch(t){case"Bevel":this._ctx.lineJoin="bevel";break;case"Round":this._ctx.lineJoin="round";break;case"Miter":this._ctx.lineJoin="miter"}}}function dt(t,e,r){let s=A(t.separation,I.CIMHatchFill.separation)*r,i=A(t.rotation);if(0===s)return null;s<0&&(s=-s);let n=0;const o=.5*s;for(;n>o;)n-=s;for(;n<-o;)n+=s;const a=g();p(a,e),a[0]-=o,a[1]-=o,a[2]+=o,a[3]+=o;const l=[[a[0],a[1]],[a[0],a[3]],[a[2],a[3]],[a[2],a[1]]];for(;i>180;)i-=180;for(;i<0;)i+=180;const h=Math.cos(i*ot),c=Math.sin(i*ot),m=-s*c,f=s*h;let u,d,_,y;n=A(t.offsetX)*r*c-A(t.offsetY)*r*h,u=_=Number.MAX_VALUE,d=y=-Number.MAX_VALUE;for(const g of l){const t=g[0],e=g[1],r=h*t+c*e,s=-c*t+h*e;u=Math.min(u,r),_=Math.min(_,s),d=Math.max(d,r),y=Math.max(y,s)}_=Math.floor(_/s)*s;let P=h*u-c*_-m*n/s,S=c*u+h*_-f*n/s,x=h*d-c*_-m*n/s,w=c*d+h*_-f*n/s;const M=1+Math.round((y-_)/s),b=[];for(let g=0;g<M;g++)P+=m,S+=f,x+=m,w+=f,b.push([[P,S],[x,w]]);return{paths:b}}function gt(t,e){let r=0;for(const s of e){const e=s.length;for(let i=1;i<e;i++){const e=s[i-1],n=s[i];if(e[1]>t[1]==n[1]>t[1])continue;(n[0]-e[0])*(t[1]-e[1])-(n[1]-e[1])*(t[0]-e[0])>0?r++:r--}}return 0!==r}function pt(t,e,r){for(const s of e){const e=s.length;for(let i=1;i<e;i++){const e=s[i-1],n=s[i];let o=(n[0]-e[0])*(n[0]-e[0])+(n[1]-e[1])*(n[1]-e[1]);if(0===o)continue;o=Math.sqrt(o);const a=((n[0]-e[0])*(t[1]-e[1])-(n[1]-e[1])*(t[0]-e[0]))/o;if(Math.abs(a)<r){const s=((n[0]-e[0])*(t[0]-e[0])+(n[1]-e[1])*(t[1]-e[1]))/o;if(s>-r&&s<o+r)return!0}}}return!1}function _t(t,e){const r=e[0]-t[0],s=e[1]-t[1];return 180/Math.PI*Math.atan2(s,r)}const yt=t=>t?{spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]}:null,Pt=(t,e,r)=>{switch(t){case"ExtraLeading":return 1+e/r;case"Multiple":return e;case"Exact":return e/r}};function St(e,r=1){const s=H(e),i=E(e.fontStyleName),n=e.fontFamilyName??t,{weight:o,style:a}=i,l=r*(e.height||5),h=B(e.horizontalAlignment),c=X(e.verticalAlignment),m=J(e),f=J(e.haloSymbol),u=null!=f?r*(e.haloSize??0):0,d=N(e.symbol),g=r*(O(e.symbol)||0),p="CIMBackgroundCallout"===e.callout?.type?e.callout.backgroundSymbol:null,_=J(p),y=O(p),P=N(p);return{color:m,size:l,horizontalAlignment:h,verticalAlignment:c,font:{family:n,style:V(a),weight:q(o),decoration:s},outline:{size:g||0,color:d},halo:{size:u||0,color:f,style:a},backgroundColor:_,borderLine:null!=y&&null!=P?{size:y,color:P}:null,pixelRatio:1,premultiplyColors:!0}}const xt=1e-4;function wt(t){let e,r,s,i,n,o=t[0],a=1;for(;a<t.length;)e=t[a][0]-o[0],r=t[a][1]-o[1],i=0!==e?r/e:Math.PI/2,void 0!==s&&Math.abs(i-s)<=xt?(t.splice(a-1,1),o=n):(n=o,o=t[a],a++),s=i}function Mt(t){const e=1e-6,r=t[0],s=t[t.length-1];return Math.abs(r[0]-s[0])<=e&&Math.abs(r[1]-s[1])<=e}function bt(t,e){t.length>1&&!Mt(t)&&(t=[...t,t[0]]);for(let r=0;r<e.length;r++){const s=e[r],i=s.length;for(const e of s)if(gt(e,[t]))return!0;if(Mt(s))for(const r of t)if(gt(r,e))return!0;for(let e=1;e<i;e++){const r=s[e-1],i=s[e];for(let e=0;e<t.length;e++){const s=t[e],n=t[(e+1)%t.length];if(y(r,i,s,n))return!0}}}return!1}export{ct as CIMSymbolDrawHelper,ut as CanvasDrawHelper,mt as EnvDrawHelper,ft as HittestDrawHelper,ht as Transformation,ot as cDegToRad,Pt as lineGapType2LineHeight};
|