@arcgis/core 5.2.0-next.69 → 5.2.0-next.70

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.
Files changed (639) hide show
  1. package/Basemap.js +1 -1
  2. package/Ground.js +1 -1
  3. package/WebDocument2D.js +1 -1
  4. package/WebScene.js +1 -1
  5. package/applications/Components/analysisUtils.js +1 -1
  6. package/applications/Components/arcadeEditorUtils.js +1 -1
  7. package/applications/Components/testUtils.js +1 -1
  8. package/applications/Urban/meshUtils.js +1 -1
  9. package/arcade/arcadeCompiler.js +1 -1
  10. package/arcade/functions/geomasync.js +1 -1
  11. package/arcade/functions/geomsync.js +1 -1
  12. package/arcade/functions/knowledgegraph.js +1 -1
  13. package/arcade/functions/track.js +1 -1
  14. package/arcade/geometry/operators.js +1 -1
  15. package/arcade/geometry/operatorsWorker.js +1 -1
  16. package/arcade/geometry/rotate.js +2 -0
  17. package/arcade/geometry/unitConversion.js +1 -1
  18. package/arcgisGlobal.d.ts +1 -0
  19. package/assets/components/assets/icon/loadConfiguration16.json +1 -0
  20. package/assets/components/assets/icon/loadConfiguration24.json +1 -0
  21. package/assets/components/assets/icon/loadConfiguration32.json +1 -0
  22. package/assets/esri/core/workers/RemoteClient.js +1 -1
  23. package/assets/esri/core/workers/chunks/{bece22668622a9a6bfe2.js → 011281fe918c4f0aec5d.js} +1 -1
  24. package/assets/esri/core/workers/chunks/01c92e68fb17cf2d0e08.js +1 -0
  25. package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +1 -0
  26. package/assets/esri/core/workers/chunks/0623acb2bd14a61b65c9.js +29 -0
  27. package/assets/esri/core/workers/chunks/065e3353124fc5ac44ce.js +1 -0
  28. package/assets/esri/core/workers/chunks/06c9aac75a01d3af6d54.js +1 -0
  29. package/assets/esri/core/workers/chunks/073f1d5f89875c6aefb1.js +1 -0
  30. package/assets/esri/core/workers/chunks/{d583bcea4d1a21da9147.js → 0846855843f85661e974.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{7a818499c1079906c2d7.js → 089f8c60e96d920a2cb2.js} +1 -1
  32. package/assets/esri/core/workers/chunks/09653bd2a31d293a10d9.js +2 -0
  33. package/assets/esri/core/workers/chunks/0ae0483b72f5e8d00d55.js +1 -0
  34. package/assets/esri/core/workers/chunks/0aedeb837399d3f92e4a.js +1 -0
  35. package/assets/esri/core/workers/chunks/0b18de5147d76b68896f.js +1 -0
  36. package/assets/esri/core/workers/chunks/{f5d809d30cbb56be852d.js → 0e333aced8b23aa49a0e.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{dad39ddf0f8dfb0bef47.js → 0eaa8265a4cd64297545.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{4e1b087453fc5e20e961.js → 118ccfa2d685764752ee.js} +1 -1
  39. package/assets/esri/core/workers/chunks/158d2ac0333d53556e33.js +1 -0
  40. package/assets/esri/core/workers/chunks/160b204cbf5bda2a29e9.js +1 -0
  41. package/assets/esri/core/workers/chunks/16cade1c2ddf44e336ee.js +1 -0
  42. package/assets/esri/core/workers/chunks/19233d0016e5b154c5ce.js +1 -0
  43. package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +1 -0
  44. package/assets/esri/core/workers/chunks/{0ae35b02dda9b9662560.js → 1ac8a7a129ba33e05a24.js} +1 -1
  45. package/assets/esri/core/workers/chunks/1b130af7d14eaae69d96.js +1 -0
  46. package/assets/esri/core/workers/chunks/1ca04ecf010e68863014.js +1 -0
  47. package/assets/esri/core/workers/chunks/1cc063aa2ddf44bbd515.js +1 -0
  48. package/assets/esri/core/workers/chunks/{c055c16379f5bb56e930.js → 1d92d53186debd52e753.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{37a8cfec11057947b45f.js → 1dba93abe84d30f05d8d.js} +1 -1
  50. package/assets/esri/core/workers/chunks/1e0140556c2e3fa72545.js +1 -0
  51. package/assets/esri/core/workers/chunks/1e5cb72830c7f32f2961.js +1 -0
  52. package/assets/esri/core/workers/chunks/{510acf2e8781be9b0dba.js → 1f888f026b004447772c.js} +1 -1
  53. package/assets/esri/core/workers/chunks/2033e6d42453e4e67048.js +1 -0
  54. package/assets/esri/core/workers/chunks/24006cea112d657f053a.js +1 -0
  55. package/assets/esri/core/workers/chunks/{7b531feba4fd662575f9.js → 28924f31f5ba8ebdc60a.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{893ffc38e1a43de5b63d.js → 28b09fe50b855a1d8a3f.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{b9c7aa04861f545a559c.js → 2bcb7e43578124538c3c.js} +1 -1
  58. package/assets/esri/core/workers/chunks/2bdb9b5365869081c936.js +1 -0
  59. package/assets/esri/core/workers/chunks/{df89bf05c18f0c8e418b.js → 2cfe6f41865ffb3a4645.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{63858dfcff1177e597e7.js → 2d1ae18a28491b00091d.js} +1 -1
  61. package/assets/esri/core/workers/chunks/2d3a18d56e2e5669c562.js +1 -0
  62. package/assets/esri/core/workers/chunks/2d45daacec0d5ed38782.js +1 -0
  63. package/assets/esri/core/workers/chunks/2f58e1f64df2da8259a2.js +1 -0
  64. package/assets/esri/core/workers/chunks/31669511cfddf116d991.js +1 -0
  65. package/assets/esri/core/workers/chunks/32f5112c848efec6c33b.js +1 -0
  66. package/assets/esri/core/workers/chunks/33e293836f5d28dc5d62.js +1 -0
  67. package/assets/esri/core/workers/chunks/{59a795eba31061dc357a.js → 359584a8fb5687a7d098.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{9c5dff4f13102871786e.js → 36171c72a3c04b0d13ef.js} +1 -1
  69. package/assets/esri/core/workers/chunks/38660a8cc3623c854d88.js +1 -0
  70. package/assets/esri/core/workers/chunks/3978f00a03e97645b276.js +1 -0
  71. package/assets/esri/core/workers/chunks/3b14ed3184743df336a6.js +1 -0
  72. package/assets/esri/core/workers/chunks/{f82cd34a79c8aa58d40c.js → 3b3a8a6167f2e1eeb828.js} +2 -2
  73. package/assets/esri/core/workers/chunks/3d6b2d5ae647e140abaf.js +1 -0
  74. package/assets/esri/core/workers/chunks/3dc71e03a630dd50b28e.js +1 -0
  75. package/assets/esri/core/workers/chunks/3de6e54b6ed0feae1940.js +1 -0
  76. package/assets/esri/core/workers/chunks/3dff36f6de181d9dcdc5.js +1 -0
  77. package/assets/esri/core/workers/chunks/3fd022df127af32782ce.js +1 -0
  78. package/assets/esri/core/workers/chunks/40693ee558a1eb1e93f4.js +1 -0
  79. package/assets/esri/core/workers/chunks/4344ab1250a1c550bf8b.js +1 -0
  80. package/assets/esri/core/workers/chunks/4491dc227c28e2ab4f8e.js +1 -0
  81. package/assets/esri/core/workers/chunks/{909e88c27d80777b047c.js → 463747a822499dd933ef.js} +1 -1
  82. package/assets/esri/core/workers/chunks/4695cd6120f60b234d5c.js +1 -0
  83. package/assets/esri/core/workers/chunks/4823e77515f451628fad.js +1 -0
  84. package/assets/esri/core/workers/chunks/484b3e2a220c440ccbb4.js +1 -0
  85. package/assets/esri/core/workers/chunks/4c2794687aea172775a0.js +1 -0
  86. package/assets/esri/core/workers/chunks/{b5b698008b8f3f4d5d61.js → 4ce57dd39075e8fb357c.js} +1 -1
  87. package/assets/esri/core/workers/chunks/4da993c79b373b9d304e.js +2 -0
  88. package/assets/esri/core/workers/chunks/4da993c79b373b9d304e.js.LICENSE.txt +4 -0
  89. package/assets/esri/core/workers/chunks/4e129b9f5772a06e580c.js +1 -0
  90. package/assets/esri/core/workers/chunks/50e0dd74795978468625.js +1 -0
  91. package/assets/esri/core/workers/chunks/{0a98a13418f53082ca7a.js → 5459ba8fdeb2370bb52b.js} +1 -1
  92. package/assets/esri/core/workers/chunks/582a1d468089b9986416.js +1 -0
  93. package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +1 -0
  94. package/assets/esri/core/workers/chunks/{bfb626805405646a0419.js → 5eb29f0068f1c839d05e.js} +1 -1
  95. package/assets/esri/core/workers/chunks/5f201c77a09ae0df29d6.js +1 -0
  96. package/assets/esri/core/workers/chunks/{6d5038d4351fe29e2718.js → 5fb76575575fe8cfb1f0.js} +1 -1
  97. package/assets/esri/core/workers/chunks/6072c63a5da4366e9942.js +1 -0
  98. package/assets/esri/core/workers/chunks/6080e46fc79127500283.js +1 -0
  99. package/assets/esri/core/workers/chunks/623d5518bca227f643bd.js +1 -0
  100. package/assets/esri/core/workers/chunks/62811bca7ad2100c023c.js +1 -0
  101. package/assets/esri/core/workers/chunks/6357c7cac401aee9fe77.js +1 -0
  102. package/assets/esri/core/workers/chunks/{91c543443cd6768ad6ff.js → 6525c925bb91facb3575.js} +1 -1
  103. package/assets/esri/core/workers/chunks/67d3ff7fcefaa7d5d27f.js +1 -0
  104. package/assets/esri/core/workers/chunks/{b5571e93bc136dac8ee1.js → 67ebde34377f98d17cda.js} +1 -1
  105. package/assets/esri/core/workers/chunks/687cf21e027f49b44d22.js +1 -0
  106. package/assets/esri/core/workers/chunks/{6b0acd1a7dd74a7367e0.js → 694371f51c52a7a94da4.js} +1 -1
  107. package/assets/esri/core/workers/chunks/6a9002fcba11e2cf3f2e.js +1 -0
  108. package/assets/esri/core/workers/chunks/{f4e813ead56d963b16b8.js → 6b208bac120bcfecd9e4.js} +1 -1
  109. package/assets/esri/core/workers/chunks/6cd6d0cfd313f0475d98.js +1 -0
  110. package/assets/esri/core/workers/chunks/6f58cb9dffe8016397a2.js +1 -0
  111. package/assets/esri/core/workers/chunks/7260e63252fa5452dc22.js +1 -0
  112. package/assets/esri/core/workers/chunks/72dcd4bd1a28bf8605c5.js +1 -0
  113. package/assets/esri/core/workers/chunks/73f77f5a6907cb8d9a35.js +1 -0
  114. package/assets/esri/core/workers/chunks/77df0bb35d2688729479.js +1 -0
  115. package/assets/esri/core/workers/chunks/{09c43bcb09aad02e83a9.js → 7a143ca61c0a70306185.js} +1 -1
  116. package/assets/esri/core/workers/chunks/7ca9c908432b1afa0367.js +1 -0
  117. package/assets/esri/core/workers/chunks/{ec2e0b2e31fd53b81d0a.js → 7ddf9b2718dd047f15e6.js} +1 -1
  118. package/assets/esri/core/workers/chunks/7f208ef75ef2ce0d7cf9.js +1 -0
  119. package/assets/esri/core/workers/chunks/7f4a592bcf4ecb55949a.js +1 -0
  120. package/assets/esri/core/workers/chunks/7f91e45156bbe88f9a62.js +1 -0
  121. package/assets/esri/core/workers/chunks/864691186c449ca2c3db.js +1 -0
  122. package/assets/esri/core/workers/chunks/869d292a60747c93dc84.js +1 -0
  123. package/assets/esri/core/workers/chunks/{7e2794705b4e679fcb3f.js → 86a4057572755b403548.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{99772ce7e628364434fa.js → 8c1bddc88cc5f4251021.js} +1 -1
  125. package/assets/esri/core/workers/chunks/8c76f31a363dd0c3354d.js +1 -0
  126. package/assets/esri/core/workers/chunks/8eecc6df6511c8830f5d.js +1 -0
  127. package/assets/esri/core/workers/chunks/{0da4816c11b45b4a6289.js → 8fea514aada1195c8f30.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{7ebbb90d80600d9ba889.js → 913fb883455aeac8582b.js} +1 -1
  129. package/assets/esri/core/workers/chunks/927582ec15bff2acbb49.js +1 -0
  130. package/assets/esri/core/workers/chunks/{89132395eca329b9ab92.js → 9482a6d7baa24bbf5693.js} +1 -1
  131. package/assets/esri/core/workers/chunks/9684ab5e8254fdfcb7bb.js +1 -0
  132. package/assets/esri/core/workers/chunks/96d861265566854760cd.js +1 -0
  133. package/assets/esri/core/workers/chunks/98e6c1d035755a074d24.js +1 -0
  134. package/assets/esri/core/workers/chunks/9937920e7993814d0b2c.js +1 -0
  135. package/assets/esri/core/workers/chunks/{9d0bda096cdbd7e22f4b.js → 9bbff8237540409610b3.js} +1 -1
  136. package/assets/esri/core/workers/chunks/9dda9414104f585560a4.js +2 -0
  137. package/assets/esri/core/workers/chunks/{be291d920ebc68fde02b.js.LICENSE.txt → 9dda9414104f585560a4.js.LICENSE.txt} +0 -5
  138. package/assets/esri/core/workers/chunks/{1dc1bfb3425665f560e4.js → a486d99f9879f94151ba.js} +1 -1
  139. package/assets/esri/core/workers/chunks/{475c60ed8785d07911c6.js → a5c115fc53edb52ce1de.js} +1 -1
  140. package/assets/esri/core/workers/chunks/a62f1b8ed065b2a38f1a.js +1 -0
  141. package/assets/esri/core/workers/chunks/{830d1a7dee43422507ab.js → a739e617fc461014ad1f.js} +1 -1
  142. package/assets/esri/core/workers/chunks/aa21031c8f12ca438eaa.js +1 -0
  143. package/assets/esri/core/workers/chunks/ad27689b231e282b7620.js +1 -0
  144. package/assets/esri/core/workers/chunks/af6e8c961fd768fa7be3.js +1 -0
  145. package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +1 -0
  146. package/assets/esri/core/workers/chunks/b599b7dadce8b8bc88f6.js +1 -0
  147. package/assets/esri/core/workers/chunks/{873d8332e2149eb1b36a.js → b6c7b7b7f87dce5de811.js} +3 -3
  148. package/assets/esri/core/workers/chunks/b7d8817018b3d277c454.js +1 -0
  149. package/assets/esri/core/workers/chunks/{d90bc34d97bb21c29c40.js → b8cd81d8fcc78d272130.js} +1 -1
  150. package/assets/esri/core/workers/chunks/{450bc48a7389607bce1e.js → b984b808d383974ca3d8.js} +1 -1
  151. package/assets/esri/core/workers/chunks/b9953277d0cd4a01bdc6.js +1 -0
  152. package/assets/esri/core/workers/chunks/c02b3b8b71205f6ce290.js +1 -0
  153. package/assets/esri/core/workers/chunks/c03da138651ac53cadcb.js +2 -0
  154. package/assets/esri/core/workers/chunks/c21212c356f65244e34e.js +1 -0
  155. package/assets/esri/core/workers/chunks/{1fece9757de7c10d1e9f.js → c29df43817278f674707.js} +1 -1
  156. package/assets/esri/core/workers/chunks/{589b31cc5c663a288942.js → c6bf17b5ff6ec4b980a1.js} +1 -1
  157. package/assets/esri/core/workers/chunks/c715c585c42d8c2b86f5.js +1 -0
  158. package/assets/esri/core/workers/chunks/c7e9513f75b8ec205562.js +1 -0
  159. package/assets/esri/core/workers/chunks/c866b66ba72d96453899.js +1 -0
  160. package/assets/esri/core/workers/chunks/{5fde1234c5cccaee6763.js → c873383e7dae35dc1a61.js} +1 -1
  161. package/assets/esri/core/workers/chunks/c99dcc17fbd7acd2ad2e.js +1 -0
  162. package/assets/esri/core/workers/chunks/cae94d6805e0e8db3600.js +1 -0
  163. package/assets/esri/core/workers/chunks/cc5ec6e99aa09342c704.js +1 -0
  164. package/assets/esri/core/workers/chunks/cd4e5c948d1bfa9b9a2d.js +1 -0
  165. package/assets/esri/core/workers/chunks/{6501ee40bf25f9f75d02.js → ce481eeb27ea9c1782ae.js} +1 -1
  166. package/assets/esri/core/workers/chunks/{d214ac457ac970479536.js → cec1c87eb3749276ced4.js} +1 -1
  167. package/assets/esri/core/workers/chunks/cfe31b7d1c6c05fbd268.js +1 -0
  168. package/assets/esri/core/workers/chunks/d08f81d545930a79fb2e.js +1 -0
  169. package/assets/esri/core/workers/chunks/d0c1bc90e474f706211c.js +1 -0
  170. package/assets/esri/core/workers/chunks/d2faac81142586cf7509.js +1 -0
  171. package/assets/esri/core/workers/chunks/d607cf154218d20e4114.js +1 -0
  172. package/assets/esri/core/workers/chunks/{b94cd7eac5ff4a78dd5b.js → d7b6985984071e78c764.js} +1 -1
  173. package/assets/esri/core/workers/chunks/d901f8503a73277cfa58.js +1 -0
  174. package/assets/esri/core/workers/chunks/d93d0cb69f3a9a722510.js +1 -0
  175. package/assets/esri/core/workers/chunks/{9073b0f0ec93d6e243b9.js → da1c9257793c2817f40f.js} +1 -1
  176. package/assets/esri/core/workers/chunks/{94719ac469dadc4c05dc.js → dc0c3109b7558b4fe016.js} +1 -1
  177. package/assets/esri/core/workers/chunks/{dc7e4f7879debf557e46.js → de3d0973cff1e0858c52.js} +2 -2
  178. package/assets/esri/core/workers/chunks/{adce59e4111bae4225f7.js → e421dee5d8b030e79ffb.js} +1 -1
  179. package/assets/esri/core/workers/chunks/e602b91d8fdc36a92530.js +1 -0
  180. package/assets/esri/core/workers/chunks/{c13e55b9efb0b532f7ee.js → e61ab8ef30bbe788b9d7.js} +1 -1
  181. package/assets/esri/core/workers/chunks/e702abaeccef20b64a81.js +1 -0
  182. package/assets/esri/core/workers/chunks/{11a3aa43fb940c21f148.js → eb95464bd017fb839510.js} +1 -1
  183. package/assets/esri/core/workers/chunks/ebd619533be077059494.js +1 -0
  184. package/assets/esri/core/workers/chunks/ed564358cc7b3ee463a3.js +1 -0
  185. package/assets/esri/core/workers/chunks/ef2e0a014c982d9c7ca4.js +1 -0
  186. package/assets/esri/core/workers/chunks/f5cf338cecfc81f23128.js +1 -0
  187. package/assets/esri/core/workers/chunks/f6150b51a9430691a040.js +1 -0
  188. package/assets/esri/core/workers/chunks/{f4aed2b6e92bd0474069.js → f69329b85b362b349a8c.js} +1 -1
  189. package/assets/esri/core/workers/chunks/f721756a6c1593f96409.js +1 -0
  190. package/assets/esri/core/workers/chunks/fa19d5923276418096da.js +1 -0
  191. package/assets/esri/core/workers/chunks/fa5d27e47d47ff8fcb96.js +2 -0
  192. package/assets/esri/core/workers/chunks/fb12d3c63fcac8391e06.js +1 -0
  193. package/assets/esri/core/workers/chunks/fc9065d0cd6285fe0f0d.js +1 -0
  194. package/assets/esri/core/workers/chunks/{b526055794e64b0227ca.js → fd6107f95082e05f016a.js} +11 -11
  195. package/assets/esri/core/workers/chunks/fe10a95ebe1da2322af6.js +1 -0
  196. package/assets/esri/core/workers/chunks/fe71a0604f0928113419.js +1 -0
  197. package/assets/esri/core/workers/chunks/fec07a16b72cdcafc641.js +1 -0
  198. package/assets/esri/core/workers/chunks/fff23b2682590c4b21e3.js +1 -0
  199. package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
  200. package/chunks/Bufferer-CclWhXVb.js +1 -1
  201. package/chunks/ColorMaterial.glsl.js +18 -5
  202. package/chunks/Component.glsl.js +42 -34
  203. package/chunks/Envelope.js +1 -1
  204. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  205. package/chunks/Geometry.js +1 -1
  206. package/chunks/GeometryCleaner-CIE8Wfmb.js +1 -1
  207. package/chunks/MultiPathImpl.js +1 -1
  208. package/chunks/OperatorAffineTransform.js +2 -0
  209. package/chunks/OperatorCentroid2D.js +2 -0
  210. package/chunks/OperatorCrosses.js +1 -1
  211. package/chunks/OperatorCut.js +1 -1
  212. package/chunks/OperatorGeneralize.js +1 -1
  213. package/chunks/OperatorGeodesicBuffer.js +1 -1
  214. package/chunks/OperatorGeodeticLength.js +1 -1
  215. package/chunks/OperatorGraphicBuffer.js +1 -1
  216. package/chunks/OperatorIntersects.js +1 -1
  217. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  218. package/chunks/OperatorOverlaps.js +1 -1
  219. package/chunks/OperatorProximityGeodesic.js +1 -1
  220. package/chunks/OperatorShapePreservingLength.js +1 -1
  221. package/chunks/OperatorShapePreservingProject.js +1 -1
  222. package/chunks/OperatorSimplifyOGC.js +1 -1
  223. package/chunks/OperatorTouches.js +1 -1
  224. package/chunks/OperatorWithin.js +1 -1
  225. package/chunks/Point2D.js +1 -1
  226. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  227. package/chunks/SpatialReference.js +1 -1
  228. package/chunks/arcade.js +1 -1
  229. package/chunks/bundle.js +1 -1
  230. package/chunks/bundle2.js +1 -1
  231. package/chunks/centroidOperator.js +1 -1
  232. package/chunks/containsOperator.js +1 -1
  233. package/chunks/disjointOperator.js +1 -1
  234. package/chunks/equalsOperator.js +1 -1
  235. package/chunks/geodeticDistanceOperator.js +2 -0
  236. package/chunks/multiPartToSinglePartOperator.js +2 -0
  237. package/chunks/offsetOperator.js +2 -0
  238. package/config.js +1 -1
  239. package/core/imageUtils.js +1 -1
  240. package/core/workers/WorkerFallback.js +1 -1
  241. package/core/workers/registry.js +1 -1
  242. package/core/workers/workerFactory.js +1 -1
  243. package/core/workers/workers.js +1 -1
  244. package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
  245. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  246. package/editing/sharedTemplates/executor/createTemplateExecutor.js +1 -1
  247. package/editing/sharedTemplates/templateLoader.js +1 -1
  248. package/geometry/libtess.js +1 -1
  249. package/geometry/operators/affineTransformOperator.js +1 -1
  250. package/geometry/operators/centroidOperator.js +1 -1
  251. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  252. package/geometry/operators/gx/operatorAffineTransform.js +1 -1
  253. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  254. package/geometry/operators/gx/operatorBuffer.js +1 -1
  255. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  256. package/geometry/operators/gx/operatorDifference.js +1 -1
  257. package/geometry/operators/gx/operatorIntersection.js +1 -1
  258. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  259. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  260. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  261. package/geometry/operators/gx/operatorOffset.js +1 -1
  262. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  263. package/geometry/operators/gx/operatorUnion.js +1 -1
  264. package/geometry/operators/json/containsOperator.js +1 -1
  265. package/geometry/operators/json/disjointOperator.js +1 -1
  266. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  267. package/geometry/operators/offsetOperator.js +1 -1
  268. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  269. package/geometry/support/meshUtils.js +1 -1
  270. package/interfaces.d.ts +3 -0
  271. package/kernel.js +1 -1
  272. package/layers/CSVLayer.js +1 -1
  273. package/layers/CatalogLayer.js +1 -1
  274. package/layers/ElevationLayer.js +1 -1
  275. package/layers/FeatureLayer.js +1 -1
  276. package/layers/GeoJSONLayer.js +1 -1
  277. package/layers/GroupLayer.js +1 -1
  278. package/layers/ImageryLayer.js +1 -1
  279. package/layers/ImageryTileLayer.js +1 -1
  280. package/layers/Layer.js +1 -1
  281. package/layers/MapImageLayer.js +1 -1
  282. package/layers/MediaLayer.js +1 -1
  283. package/layers/SceneLayer.js +1 -1
  284. package/layers/StreamLayer.js +1 -1
  285. package/layers/SubtypeGroupLayer.js +1 -1
  286. package/layers/WCSLayer.js +1 -1
  287. package/layers/WFSLayer.js +1 -1
  288. package/layers/graphics/data/QueryEngineResult.js +1 -1
  289. package/layers/graphics/data/queryUtils.js +1 -1
  290. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  291. package/layers/graphics/sources/MemorySource.js +1 -1
  292. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  293. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  294. package/layers/knowledgeGraph/cypherUtils.js +1 -1
  295. package/layers/mixins/ArcGISImageService.js +1 -1
  296. package/layers/mixins/PortalLayer.js +1 -1
  297. package/layers/mixins/TiledImagery.js +1 -1
  298. package/layers/raster/datasets/FunctionRaster.js +1 -1
  299. package/layers/raster/datasets/pixelReader.js +1 -1
  300. package/layers/raster/functions/clipUtils.js +1 -1
  301. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  302. package/layers/support/Sublayer.js +1 -1
  303. package/layers/support/arcgisLayers.js +1 -1
  304. package/layers/support/featureLayerUtils.js +1 -1
  305. package/layers/support/fromPortalItem.js +1 -1
  306. package/layers/support/layersLoader.js +1 -1
  307. package/layers/support/vectorTileLayerLoader.js +1 -1
  308. package/libs/basisu/BasisUEncoder.js +1 -1
  309. package/libs/basisu/BasisUTranscoder.js +1 -1
  310. package/libs/dracoMeshDecoder/dracoMeshDecoder.js +1 -1
  311. package/libs/dxtEncoder/DXTEncoder.js +1 -1
  312. package/libs/i3s/I3SModule.js +1 -1
  313. package/libs/parquet/loadParquetModule.js +1 -1
  314. package/libs/text/loadTextModule.js +1 -1
  315. package/networks/UtilityNetwork.js +1 -1
  316. package/networks/support/utils.js +1 -1
  317. package/package.json +3 -3
  318. package/popup/FeatureContentCollection.js +1 -1
  319. package/popup/Features.js +1 -1
  320. package/portal/Portal.js +1 -1
  321. package/portal/PortalItem.js +1 -1
  322. package/portal/PortalItemResource.js +1 -1
  323. package/portal/PortalUser.js +1 -1
  324. package/renderers/support/DictionaryLoader.js +1 -1
  325. package/request/process.js +1 -1
  326. package/request/queue.js +1 -1
  327. package/request.js +1 -1
  328. package/rest/geoprocessor/utils.js +1 -1
  329. package/rest/knowledgeGraph/wasmInterface/knowledgeWasmAccess.js +1 -1
  330. package/rest/support/JobInfo.js +1 -1
  331. package/rest/utils.js +1 -1
  332. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  333. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  334. package/support/revision.js +1 -1
  335. package/support/tests/serviceMockDependencies.js +1 -1
  336. package/support/zipUtils.js +1 -1
  337. package/symbols/WebStyleSymbol.js +1 -1
  338. package/symbols/cim/CIMOperators.js +1 -1
  339. package/symbols/cim/cimAnalyzer.js +1 -1
  340. package/symbols/cim/defaultCIMValues.js +1 -1
  341. package/symbols/cim/effects/EffectCircularSector.js +2 -0
  342. package/symbols/cim/types.d.ts +42 -1
  343. package/symbols/cim/utils.js +1 -1
  344. package/symbols/support/symbolLayerUtils.js +1 -1
  345. package/symbols/support/symbolUtils.js +1 -1
  346. package/symbols/support/utils.js +1 -1
  347. package/undoredo/support/ServiceVersionInfo.js +1 -1
  348. package/versionManagement/VersionManagementService.js +1 -1
  349. package/views/2d/engine/Stage.js +1 -1
  350. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  351. package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
  352. package/views/2d/engine/vectorTiles/TileParser.js +1 -1
  353. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  354. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  355. package/views/2d/engine/vectorTiles/WorkerTile.js +1 -1
  356. package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
  357. package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSource.js +2 -0
  358. package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSourceWorker.js +2 -0
  359. package/views/2d/engine/vectorTiles/style/RemoteVectorTileSource.js +2 -0
  360. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  361. package/views/2d/engine/vectorTiles/style/VectorTilePbfWriter.js +2 -0
  362. package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
  363. package/views/2d/engine/vectorTiles/style/encodeVectorTileFeatures.js +2 -0
  364. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  365. package/views/2d/engine/webgl/GlyphSDFCreator.js +1 -1
  366. package/views/2d/engine/webgl/GlyphSource.js +1 -1
  367. package/views/2d/engine/webgl/GlyphWorker.js +2 -0
  368. package/views/2d/engine/webgl/Painter.js +1 -1
  369. package/views/2d/engine/webgl/TextureManager.js +1 -1
  370. package/views/2d/engine/webgl/mesh/factories/ResourceProxy.js +1 -1
  371. package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
  372. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
  373. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  374. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  375. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  376. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  377. package/views/2d/layers/RouteLayerView2D.js +1 -1
  378. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  379. package/views/2d/layers/features/Processor.js +1 -1
  380. package/views/2d/layers/features/schema/processor/MatcherSchema.js +1 -1
  381. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  382. package/views/2d/layers/features/support/FeatureSetReaderVectorTileFeatureCursor.js +2 -0
  383. package/views/2d/layers/support/MediaLayerInteraction.js +1 -1
  384. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  385. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  386. package/views/3d/analysis/Viewshed/ViewshedObserverManipulatedObject3D.js +1 -1
  387. package/views/3d/analysis/Viewshed/ViewshedSnappingController.js +1 -1
  388. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  389. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  390. package/views/3d/interactive/manipulatorUtils.js +1 -1
  391. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  392. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  393. package/views/3d/layers/I3SMeshView3D.js +1 -1
  394. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  395. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  396. package/views/3d/layers/SceneLayerWorker.js +1 -1
  397. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  398. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  399. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  400. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  401. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  402. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  403. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  404. package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
  405. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  406. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  407. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  408. package/views/3d/layers/support/FlowTileTree3DDebugger.js +1 -1
  409. package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
  410. package/views/3d/state/ViewStateManager.js +1 -1
  411. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  412. package/views/3d/support/CombinedElevationProvider.js +1 -1
  413. package/views/3d/support/viewpointUtils.js +1 -1
  414. package/views/3d/terrain/TerrainSurface.js +1 -1
  415. package/views/3d/terrain/TransparencyMode.js +2 -0
  416. package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
  417. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  418. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  419. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialInitParameters.js +1 -1
  420. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
  421. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  422. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +7 -7
  423. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  424. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  425. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  426. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  427. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  428. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  429. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  430. package/views/PopupView.js +1 -1
  431. package/views/SceneView.js +1 -1
  432. package/views/VideoView.js +1 -1
  433. package/views/View.js +1 -1
  434. package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
  435. package/views/draw/PointDrawAction.js +1 -1
  436. package/views/draw/PolygonDrawAction.js +1 -1
  437. package/views/draw/PolylineDrawAction.js +1 -1
  438. package/views/draw/SegmentDrawAction.js +1 -1
  439. package/views/draw/support/createSnappingVisualizer.js +1 -1
  440. package/views/interactive/snapping/SnappingManager.js +1 -1
  441. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  442. package/views/layers/HighlightableLayerView.d.ts +2 -0
  443. package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
  444. package/views/selection/SelectionOperation.js +1 -1
  445. package/views/support/GeometryWorker.js +1 -1
  446. package/views/support/GroundElevationSampler.js +1 -1
  447. package/webdoc/support/resourceUtils.js +1 -1
  448. package/webdoc/support/webdocLoadUtils.js +1 -1
  449. package/webdoc/support/webdocSaveUtils.js +1 -1
  450. package/webscene/Slide.js +1 -1
  451. package/webscene/spec-certification/api.js +1 -1
  452. package/webscene/spec-certification/spec.js +1 -1
  453. package/webscene/support/analysisUtils.js +1 -1
  454. package/widgets/BasemapLayerList.js +1 -1
  455. package/widgets/BatchAttributeForm/ValueChangeTransaction.js +1 -1
  456. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  457. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  458. package/widgets/BatchAttributeForm/templates/support/textElementTemplateUtils.js +1 -1
  459. package/widgets/BatchAttributeForm.js +1 -1
  460. package/widgets/CatalogLayerList.js +1 -1
  461. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  462. package/widgets/Editor/UpdateWorkflow.js +1 -1
  463. package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
  464. package/widgets/Editor/legacy/UpdateWorkflow.js +1 -1
  465. package/widgets/Editor/modelUploadUtils.js +1 -1
  466. package/widgets/Editor/support/mergeFeaturesUtils.js +1 -1
  467. package/widgets/Editor/support/splitFeatureUtils.js +1 -1
  468. package/widgets/Editor/workflowUtils.js +1 -1
  469. package/widgets/Editor.js +1 -1
  470. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  471. package/widgets/ElevationProfile.js +1 -1
  472. package/widgets/Feature/FeatureMedia.js +1 -1
  473. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  474. package/widgets/Feature/FeatureRelationship.js +1 -1
  475. package/widgets/Feature/FeatureUtilityNetworkAssociationList.js +1 -1
  476. package/widgets/Feature.js +1 -1
  477. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  478. package/widgets/FeatureForm/support/textManipulationUtils.js +1 -1
  479. package/widgets/FeatureForm.js +1 -1
  480. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  481. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  482. package/widgets/FeatureTable/Grid/types.d.ts +78 -4
  483. package/widgets/FeatureTable/support/FeatureStore.d.ts +675 -0
  484. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  485. package/widgets/FeatureTable/support/types.d.ts +28 -0
  486. package/widgets/Features/FeaturesViewModel.js +1 -1
  487. package/widgets/Features.js +1 -1
  488. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  489. package/widgets/LayerList/ListItemPanel.js +1 -1
  490. package/widgets/LayerList.js +1 -1
  491. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  492. package/widgets/Legend/support/colorRampUtils.js +1 -1
  493. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  494. package/widgets/Legend/support/utils.js +1 -1
  495. package/widgets/Measurement.js +1 -1
  496. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  497. package/widgets/OrientedImageryViewer/services/DepthImageService.js +1 -1
  498. package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
  499. package/widgets/OrientedImageryViewer/support/NonPanoramicMedia.js +1 -1
  500. package/widgets/OrientedImageryViewer.js +1 -1
  501. package/widgets/PanoramicVideoViewer.js +1 -1
  502. package/widgets/PanoramicViewer/support/PanoramicMedia.js +1 -1
  503. package/widgets/PanoramicViewer/support/importUtils.js +1 -1
  504. package/widgets/PanoramicViewer.js +1 -1
  505. package/widgets/Print.js +1 -1
  506. package/widgets/Search/SearchViewModel.js +1 -1
  507. package/widgets/Search/support/layerSearchUtils.js +1 -1
  508. package/widgets/Search/support/locatorUtils.js +1 -1
  509. package/widgets/Sketch/SketchViewModel.js +1 -1
  510. package/widgets/Sketch/support/PluginManager.js +1 -1
  511. package/widgets/Sketch.js +1 -1
  512. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  513. package/widgets/support/SnappingControls.js +1 -1
  514. package/widgets/support/symbolPreviewUtils.js +1 -1
  515. package/arcade/geometry/offset.js +0 -2
  516. package/assets/esri/core/workers/chunks/067b00498ae85f635f60.js +0 -1
  517. package/assets/esri/core/workers/chunks/0b20f92bae2b4c40d299.js +0 -1
  518. package/assets/esri/core/workers/chunks/0c582abc8d25249eb530.js +0 -1
  519. package/assets/esri/core/workers/chunks/0d6776055e9b34c14151.js +0 -1
  520. package/assets/esri/core/workers/chunks/0e6b6fcc55cc43ede1fc.js +0 -1
  521. package/assets/esri/core/workers/chunks/126f1f6b355723db6c4f.js +0 -1
  522. package/assets/esri/core/workers/chunks/149284464115981694ff.js +0 -1
  523. package/assets/esri/core/workers/chunks/181f330314c1989f642f.js +0 -1
  524. package/assets/esri/core/workers/chunks/1840d74ebae777a0200b.js +0 -1
  525. package/assets/esri/core/workers/chunks/1bfbdec791e19f5a2534.js +0 -1
  526. package/assets/esri/core/workers/chunks/1d38a710cf799cb0e5b3.js +0 -1
  527. package/assets/esri/core/workers/chunks/1d8280f63a6698e74f20.js +0 -1
  528. package/assets/esri/core/workers/chunks/1f48438b3055afeb710f.js +0 -1
  529. package/assets/esri/core/workers/chunks/25999b6f96ec305a7679.js +0 -1
  530. package/assets/esri/core/workers/chunks/28565756f884d0851003.js +0 -1
  531. package/assets/esri/core/workers/chunks/2a5a165848413764381b.js +0 -1
  532. package/assets/esri/core/workers/chunks/2e7a5bb740281ef59199.js +0 -1
  533. package/assets/esri/core/workers/chunks/2f87a49bdd00f899d81d.js +0 -1
  534. package/assets/esri/core/workers/chunks/302d91b7c480c6c9304b.js +0 -1
  535. package/assets/esri/core/workers/chunks/30c53a7e1ad5aa52f2f3.js +0 -1
  536. package/assets/esri/core/workers/chunks/3b493e8043ec1a2a5d96.js +0 -1
  537. package/assets/esri/core/workers/chunks/3ddd717ea12d9823eee2.js +0 -1
  538. package/assets/esri/core/workers/chunks/3f84ade6285560b692d1.js +0 -1
  539. package/assets/esri/core/workers/chunks/4129b27fcd4103cdc499.js +0 -1
  540. package/assets/esri/core/workers/chunks/41f7f3615d3ecb87c59a.js +0 -1
  541. package/assets/esri/core/workers/chunks/465a050fd838ee8eddf3.js +0 -1
  542. package/assets/esri/core/workers/chunks/46d8a1d6f7341ad20749.js +0 -1
  543. package/assets/esri/core/workers/chunks/48a0dfaabb9b4bce4191.js +0 -1
  544. package/assets/esri/core/workers/chunks/4addea2e35b0c845743e.js +0 -1
  545. package/assets/esri/core/workers/chunks/4ae626868e14bedd7fc5.js +0 -1
  546. package/assets/esri/core/workers/chunks/529ee4670940720e888b.js +0 -1
  547. package/assets/esri/core/workers/chunks/538bdf02c4dfb5ec72fe.js +0 -1
  548. package/assets/esri/core/workers/chunks/59d1708ae13c6e7e6e55.js +0 -1
  549. package/assets/esri/core/workers/chunks/5adf16c034a590b5e9f5.js +0 -1
  550. package/assets/esri/core/workers/chunks/5fb0e8f89b885e5e3742.js +0 -1
  551. package/assets/esri/core/workers/chunks/60f9b37dd738d884c48d.js +0 -1
  552. package/assets/esri/core/workers/chunks/62c8413f3bbc1378273d.js +0 -1
  553. package/assets/esri/core/workers/chunks/632ab11cdd4b0d9a5cc5.js +0 -1
  554. package/assets/esri/core/workers/chunks/663cf8bff17c894cd5f8.js +0 -1
  555. package/assets/esri/core/workers/chunks/6cc1120554bcb1b4899b.js +0 -1
  556. package/assets/esri/core/workers/chunks/6d1371b521c7f94fd77e.js +0 -1
  557. package/assets/esri/core/workers/chunks/6f102c90908c9900cdaa.js +0 -1
  558. package/assets/esri/core/workers/chunks/7278fdf6bfcdffa10a7f.js +0 -1
  559. package/assets/esri/core/workers/chunks/73cb499d7d68c59ba34e.js +0 -1
  560. package/assets/esri/core/workers/chunks/76bccc318d7cc33829a7.js +0 -1
  561. package/assets/esri/core/workers/chunks/777eafdb86b26b35c803.js +0 -1
  562. package/assets/esri/core/workers/chunks/7821aeba3e414b318a75.js +0 -1
  563. package/assets/esri/core/workers/chunks/7ac47a9ad244100bc3b1.js +0 -1
  564. package/assets/esri/core/workers/chunks/7b0ed52363704cfce129.js +0 -1
  565. package/assets/esri/core/workers/chunks/7c57354d026e27e056d4.js +0 -1
  566. package/assets/esri/core/workers/chunks/7dd672c25beb8813cc75.js +0 -2
  567. package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
  568. package/assets/esri/core/workers/chunks/7f125963555dc1ce63ad.js +0 -1
  569. package/assets/esri/core/workers/chunks/805c97b875d3066fb8df.js +0 -1
  570. package/assets/esri/core/workers/chunks/86ed75b7169b8ee43025.js +0 -1
  571. package/assets/esri/core/workers/chunks/88c3b60b403e2454b56e.js +0 -1
  572. package/assets/esri/core/workers/chunks/894343e415639df88243.js +0 -1
  573. package/assets/esri/core/workers/chunks/8b4759cef5ae5e43253b.js +0 -1
  574. package/assets/esri/core/workers/chunks/8ba4175f5e9a24ffecf7.js +0 -1
  575. package/assets/esri/core/workers/chunks/8e1d4867406753c5483c.js +0 -1
  576. package/assets/esri/core/workers/chunks/8e38c5e63aae42bdf5a4.js +0 -29
  577. package/assets/esri/core/workers/chunks/8f785b722b1a131bf370.js +0 -1
  578. package/assets/esri/core/workers/chunks/8f8db62f126e4a8c1bf7.js +0 -1
  579. package/assets/esri/core/workers/chunks/8f9874f42f21a4cb3acd.js +0 -1
  580. package/assets/esri/core/workers/chunks/90f4b81c6034253b70d7.js +0 -1
  581. package/assets/esri/core/workers/chunks/93ab247ff34694ac60eb.js +0 -1
  582. package/assets/esri/core/workers/chunks/9954149def644c371894.js +0 -1
  583. package/assets/esri/core/workers/chunks/9dfb7d120195991e9672.js +0 -1
  584. package/assets/esri/core/workers/chunks/9ed5e6b06afea6c85330.js +0 -1
  585. package/assets/esri/core/workers/chunks/a108f276659d5f25352c.js +0 -1
  586. package/assets/esri/core/workers/chunks/a504fa17d83facf1c01f.js +0 -1
  587. package/assets/esri/core/workers/chunks/a5fdb02b1714e93fa69e.js +0 -1
  588. package/assets/esri/core/workers/chunks/a9f616f22042b0dce8b9.js +0 -1
  589. package/assets/esri/core/workers/chunks/afd63c18ce4656271c8e.js +0 -1
  590. package/assets/esri/core/workers/chunks/b059dabb1c732829487c.js +0 -1
  591. package/assets/esri/core/workers/chunks/b318823aefcefad6fad5.js +0 -1
  592. package/assets/esri/core/workers/chunks/b378e504a5b1afc8d0ce.js +0 -1
  593. package/assets/esri/core/workers/chunks/b5397dc03fa0bd654ba6.js +0 -1
  594. package/assets/esri/core/workers/chunks/b7bcb31737b01d7736d0.js +0 -1
  595. package/assets/esri/core/workers/chunks/ba030767cf935f967454.js +0 -1
  596. package/assets/esri/core/workers/chunks/be291d920ebc68fde02b.js +0 -2
  597. package/assets/esri/core/workers/chunks/c10a0eebd935472d8fae.js +0 -1
  598. package/assets/esri/core/workers/chunks/c16e83e448a32d13048f.js +0 -1
  599. package/assets/esri/core/workers/chunks/c2db773201adca204f95.js +0 -1
  600. package/assets/esri/core/workers/chunks/c4c83b5129c279c3615b.js +0 -1
  601. package/assets/esri/core/workers/chunks/c7e391df714839484cd1.js +0 -1
  602. package/assets/esri/core/workers/chunks/cca095f0c623e037002d.js +0 -1
  603. package/assets/esri/core/workers/chunks/cded485ad893a7dd2948.js +0 -1
  604. package/assets/esri/core/workers/chunks/cf03d391d50a4c7aca4f.js +0 -1
  605. package/assets/esri/core/workers/chunks/cf8ce63711488f2e677c.js +0 -1
  606. package/assets/esri/core/workers/chunks/d198ecb1fe3690d6092f.js +0 -2
  607. package/assets/esri/core/workers/chunks/d2a51c797b2966cb95f3.js +0 -2
  608. package/assets/esri/core/workers/chunks/d303621c902330be5035.js +0 -1
  609. package/assets/esri/core/workers/chunks/d4d385d19e62ef1c286f.js +0 -1
  610. package/assets/esri/core/workers/chunks/d4f005dadba75422b401.js +0 -1
  611. package/assets/esri/core/workers/chunks/d5e15021928e95c11463.js +0 -1
  612. package/assets/esri/core/workers/chunks/d6500f6b2ff115d9eb09.js +0 -1
  613. package/assets/esri/core/workers/chunks/d9c78c2db04a06ee83ed.js +0 -1
  614. package/assets/esri/core/workers/chunks/dccb46c7dce68528c72b.js +0 -1
  615. package/assets/esri/core/workers/chunks/df174346a7e9b629a392.js +0 -1
  616. package/assets/esri/core/workers/chunks/e08c64e4ae5a68eae2be.js +0 -1
  617. package/assets/esri/core/workers/chunks/e1492d2404c3ed82931e.js +0 -1
  618. package/assets/esri/core/workers/chunks/e34ed3b818b2eb4116c5.js +0 -1
  619. package/assets/esri/core/workers/chunks/e7149d23615fee31ab7e.js +0 -1
  620. package/assets/esri/core/workers/chunks/ec774f5d6ea5c29536e5.js +0 -1
  621. package/assets/esri/core/workers/chunks/ed71a4e353715db0a6e9.js +0 -1
  622. package/assets/esri/core/workers/chunks/f029c12f1afee0e9b2a1.js +0 -1
  623. package/assets/esri/core/workers/chunks/f4eda59ec1e816ecc827.js +0 -1
  624. package/assets/esri/core/workers/chunks/f54eba484f40d5eeb590.js +0 -1
  625. package/assets/esri/core/workers/chunks/f622b27ebdf1c918fd6d.js +0 -1
  626. package/assets/esri/core/workers/chunks/f6a13f07a5f7b781a9a8.js +0 -1
  627. package/assets/esri/core/workers/chunks/f6f1122bed931f1d960b.js +0 -1
  628. package/assets/esri/core/workers/chunks/f8b8d3d2710c83acccf3.js +0 -1
  629. package/assets/esri/core/workers/chunks/f98bb3885bfc7f18f26c.js +0 -1
  630. package/assets/esri/core/workers/chunks/fc827f58db3194922056.js +0 -1
  631. package/chunks/ShadedColorMaterial.glsl.js +0 -13
  632. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +0 -2
  633. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +0 -2
  634. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +0 -2
  635. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +0 -2
  636. /package/assets/esri/core/workers/chunks/{d198ecb1fe3690d6092f.js.LICENSE.txt → 09653bd2a31d293a10d9.js.LICENSE.txt} +0 -0
  637. /package/assets/esri/core/workers/chunks/{f82cd34a79c8aa58d40c.js.LICENSE.txt → 3b3a8a6167f2e1eeb828.js.LICENSE.txt} +0 -0
  638. /package/assets/esri/core/workers/chunks/{d2a51c797b2966cb95f3.js.LICENSE.txt → c03da138651ac53cadcb.js.LICENSE.txt} +0 -0
  639. /package/assets/esri/core/workers/chunks/{7dd672c25beb8813cc75.js.LICENSE.txt → fa5d27e47d47ff8fcb96.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import e from"../core/Logger.js";import{throwIfAborted as o}from"../core/promiseUtils.js";import{property as r,subclass as s}from"../core/accessorSupport/decorators.js";import l from"../portal/Portal.js";import{w as i,r as p}from"../chunks/persistableUrlUtils.js";import a from"./Symbol.js";import{Thumbnail as m}from"./support/Thumbnail.js";import{webStyleSymbolCache as n}from"./support/webStyleSymbolCache.js";import{enumeration as y}from"../core/accessorSupport/decorators/enumeration.js";var c;let h=c=class extends a{constructor(t){super(t),this.color=null,this.styleName=null,this.portal=null,this.styleUrl=null,this.thumbnail=null,this.name=null,this.type="web-style"}get _fetchCacheKey(){const t=null!=this.portal?this.portal:l.getDefault(),e=t.user?t.user.username:null;return`${this.styleName}:${this.styleUrl}:${this.name}:${e}:${t.url}`}read(t,e){this.portal=e?.portal,super.read(t,e)}clone(){return new c({name:this.name,styleUrl:this.styleUrl,styleName:this.styleName,portal:this.portal})}fetchSymbol(t){return this._fetchSymbol(t)}async _fetchSymbol(t){const r=n,s=`${this._fetchCacheKey}:${t?.acceptedFormats?.join(",")}`,l=r.get(s);if(l)return await Promise.resolve(),o(t),l.clone();const{resolveWebStyleSymbol:i}=await import("./support/webStyleSymbolUtils.js");o(t);const p=i(this,{portal:this.portal},t);p.catch(t=>{e.getLogger(this).error("#fetchSymbol()","Failed to create symbol from style",t)});const a=await p;return r.put(s,a.clone()),a}};t([r({json:{write:!1}})],h.prototype,"color",void 0),t([r({type:String,json:{write:!0}})],h.prototype,"styleName",void 0),t([r({type:l,json:{write:!1}})],h.prototype,"portal",void 0),t([r({type:String,json:{read:p,write:i}})],h.prototype,"styleUrl",void 0),t([r({type:m,json:{read:!1}})],h.prototype,"thumbnail",void 0),t([r({type:String,json:{write:!0}})],h.prototype,"name",void 0),t([y({styleSymbolReference:"web-style"},{readOnly:!0})],h.prototype,"type",void 0),t([r()],h.prototype,"_fetchCacheKey",null),h=c=t([s("esri.symbols.WebStyleSymbol")],h);export{h as default};
2
+ import{__decorate as t}from"tslib";import e from"../core/Logger.js";import{throwIfAborted as o}from"../core/promiseUtils.js";import{property as r,subclass as s}from"../core/accessorSupport/decorators.js";import l from"../portal/Portal.js";import{w as i,r as p}from"../chunks/persistableUrlUtils.js";import a from"./Symbol.js";import{Thumbnail as m}from"./support/Thumbnail.js";import{webStyleSymbolCache as n}from"./support/webStyleSymbolCache.js";import{enumeration as y}from"../core/accessorSupport/decorators/enumeration.js";var c;let h=c=class extends a{constructor(t){super(t),this.color=null,this.styleName=null,this.portal=null,this.styleUrl=null,this.thumbnail=null,this.name=null,this.type="web-style"}get _fetchCacheKey(){const t=null!=this.portal?this.portal:l.getDefault(),e=t.user?t.user.username:null;return`${this.styleName}:${this.styleUrl}:${this.name}:${e}:${t.url}`}read(t,e){this.portal=e?.portal,super.read(t,e)}clone(){return new c({name:this.name,styleUrl:this.styleUrl,styleName:this.styleName,portal:this.portal})}fetchSymbol(t){return this._fetchSymbol(t)}async _fetchSymbol(t){const r=n,s=`${this._fetchCacheKey}:${t?.acceptedFormats?.join(",")}`,l=r.get(s);if(l)return await Promise.resolve(),o(t),l.clone();const{resolveWebStyleSymbol:i}=await(import("./support/webStyleSymbolUtils.js"));o(t);const p=i(this,{portal:this.portal},t);p.catch(t=>{e.getLogger(this).error("#fetchSymbol()","Failed to create symbol from style",t)});const a=await p;return r.put(s,a.clone()),a}};t([r({json:{write:!1}})],h.prototype,"color",void 0),t([r({type:String,json:{write:!0}})],h.prototype,"styleName",void 0),t([r({type:l,json:{write:!1}})],h.prototype,"portal",void 0),t([r({type:String,json:{read:p,write:i}})],h.prototype,"styleUrl",void 0),t([r({type:m,json:{read:!1}})],h.prototype,"thumbnail",void 0),t([r({type:String,json:{write:!0}})],h.prototype,"name",void 0),t([y({styleSymbolReference:"web-style"},{readOnly:!0})],h.prototype,"type",void 0),t([r()],h.prototype,"_fetchCacheKey",null),h=c=t([s("esri.symbols.WebStyleSymbol")],h);export{h as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{EffectAddControlPoints as e}from"./effects/EffectAddControlPoints.js";import{EffectArrow as t}from"./effects/EffectArrow.js";import{EffectBuffer as r}from"./effects/EffectBuffer.js";import{EffectControlMeasureLine as c}from"./effects/EffectControlMeasureLine.js";import{EffectCut as o}from"./effects/EffectCut.js";import{EffectDashes as f}from"./effects/EffectDashes.js";import{EffectDonut as s}from"./effects/EffectDonut.js";import{EffectEnclosingPolygon as a}from"./effects/EffectEnclosingPolygon.js";import{EffectJog as n}from"./effects/EffectJog.js";import{EffectMove as l}from"./effects/EffectMove.js";import{EffectOffset as m}from"./effects/EffectOffset.js";import{EffectRadial as i}from"./effects/EffectRadial.js";import{EffectReverse as u}from"./effects/EffectReverse.js";import{EffectRotate as p}from"./effects/EffectRotate.js";import{EffectScale as E}from"./effects/EffectScale.js";import{EffectSuppress as M}from"./effects/EffectSuppress.js";import{EffectTaperedPolygon as P}from"./effects/EffectTaperedPolygon.js";import{EffectWave as C}from"./effects/EffectWave.js";import{PlacementAlongLineSameSize as j}from"./placements/PlacementAlongLineSameSize.js";import{PlacementAtExtremities as I}from"./placements/PlacementAtExtremities.js";import{PlacementAtMeasuredUnits as d}from"./placements/PlacementAtMeasuredUnits.js";import{PlacementAtRatioPositions as G}from"./placements/PlacementAtRatioPositions.js";import{PlacementInsidePolygon as v}from"./placements/PlacementInsidePolygon.js";import{PlacementOnLine as y}from"./placements/PlacementOnLine.js";import{PlacementOnVertices as g}from"./placements/PlacementOnVertices.js";import{PlacementPolygonCenter as A}from"./placements/PlacementPolygonCenter.js";import{PrivateDimensionEffect as k}from"../../views/2d/layers/support/annodime/PrivateDimensionEffect.js";import{PrivateMatcherGeometryOverrideEffect as O}from"../../views/2d/layers/support/annodime/PrivateMatcherGeometryOverrideEffect.js";import{PrivatePlacementMultipoint as R}from"../../views/2d/layers/support/annodime/PrivatePlacementMultipoint.js";function S(j){if(!j)return null;switch(j.type){case"CIMGeometricEffectAddControlPoints":return e.local();case"CIMGeometricEffectArrow":return t.local();case"CIMGeometricEffectBuffer":return r.local();case"CIMGeometricEffectControlMeasureLine":return c.local();case"CIMGeometricEffectCut":return o.local();case"CIMGeometricEffectDashes":return f.local();case"CIMGeometricEffectDonut":return s.local();case"CIMGeometricEffectJog":return n.local();case"CIMGeometricEffectMove":return l.local();case"CIMGeometricEffectOffset":return m.local();case"CIMGeometricEffectRadial":return i.local();case"CIMGeometricEffectReverse":return u.local();case"CIMGeometricEffectRotate":return p.local();case"CIMGeometricEffectScale":return E.local();case"CIMGeometricEffectSuppress":return M.local();case"CIMGeometricEffectTaperedPolygon":return P.local();case"CIMGeometricEffectWave":return C.local();case"CIMGeometricEffectEnclosingPolygon":return a.local();case"PrivateDimensionEffect":return k.local();case"PrivateMatcherGeometryOverrideEffect":return O.local()}return null}function w(e){if(!e)return null;switch(e.type){case"CIMMarkerPlacementAlongLineSameSize":return j.local();case"CIMMarkerPlacementAtExtremities":return I.local();case"CIMMarkerPlacementAtMeasuredUnits":return d.local();case"CIMMarkerPlacementAtRatioPositions":return G.local();case"CIMMarkerPlacementInsidePolygon":return v.local();case"CIMMarkerPlacementOnLine":return y.local();case"PrivatePlacementMultipoint":return R.local();case"CIMMarkerPlacementOnVertices":return g.local();case"CIMMarkerPlacementPolygonCenter":return A.local()}return null}export{S as getEffectOperator,w as getPlacementOperator};
2
+ import{EffectAddControlPoints as e}from"./effects/EffectAddControlPoints.js";import{EffectArrow as t}from"./effects/EffectArrow.js";import{EffectBuffer as r}from"./effects/EffectBuffer.js";import{EffectCircularSector as c}from"./effects/EffectCircularSector.js";import{EffectControlMeasureLine as o}from"./effects/EffectControlMeasureLine.js";import{EffectCut as f}from"./effects/EffectCut.js";import{EffectDashes as a}from"./effects/EffectDashes.js";import{EffectDonut as s}from"./effects/EffectDonut.js";import{EffectEnclosingPolygon as l}from"./effects/EffectEnclosingPolygon.js";import{EffectJog as n}from"./effects/EffectJog.js";import{EffectMove as m}from"./effects/EffectMove.js";import{EffectOffset as i}from"./effects/EffectOffset.js";import{EffectRadial as u}from"./effects/EffectRadial.js";import{EffectReverse as p}from"./effects/EffectReverse.js";import{EffectRotate as E}from"./effects/EffectRotate.js";import{EffectScale as M}from"./effects/EffectScale.js";import{EffectSuppress as C}from"./effects/EffectSuppress.js";import{EffectTaperedPolygon as P}from"./effects/EffectTaperedPolygon.js";import{EffectWave as j}from"./effects/EffectWave.js";import{PlacementAlongLineSameSize as I}from"./placements/PlacementAlongLineSameSize.js";import{PlacementAtExtremities as G}from"./placements/PlacementAtExtremities.js";import{PlacementAtMeasuredUnits as d}from"./placements/PlacementAtMeasuredUnits.js";import{PlacementAtRatioPositions as v}from"./placements/PlacementAtRatioPositions.js";import{PlacementInsidePolygon as y}from"./placements/PlacementInsidePolygon.js";import{PlacementOnLine as g}from"./placements/PlacementOnLine.js";import{PlacementOnVertices as A}from"./placements/PlacementOnVertices.js";import{PlacementPolygonCenter as S}from"./placements/PlacementPolygonCenter.js";import{PrivateDimensionEffect as k}from"../../views/2d/layers/support/annodime/PrivateDimensionEffect.js";import{PrivateMatcherGeometryOverrideEffect as O}from"../../views/2d/layers/support/annodime/PrivateMatcherGeometryOverrideEffect.js";import{PrivatePlacementMultipoint as R}from"../../views/2d/layers/support/annodime/PrivatePlacementMultipoint.js";function w(I){if(!I)return null;switch(I.type){case"CIMGeometricEffectAddControlPoints":return e.local();case"CIMGeometricEffectArrow":return t.local();case"CIMGeometricEffectBuffer":return r.local();case"CIMGeometricEffectCircularSector":return c.local();case"CIMGeometricEffectControlMeasureLine":return o.local();case"CIMGeometricEffectCut":return f.local();case"CIMGeometricEffectDashes":return a.local();case"CIMGeometricEffectDonut":return s.local();case"CIMGeometricEffectJog":return n.local();case"CIMGeometricEffectMove":return m.local();case"CIMGeometricEffectOffset":return i.local();case"CIMGeometricEffectRadial":return u.local();case"CIMGeometricEffectReverse":return p.local();case"CIMGeometricEffectRotate":return E.local();case"CIMGeometricEffectScale":return M.local();case"CIMGeometricEffectSuppress":return C.local();case"CIMGeometricEffectTaperedPolygon":return P.local();case"CIMGeometricEffectWave":return j.local();case"CIMGeometricEffectEnclosingPolygon":return l.local();case"PrivateDimensionEffect":return k.local();case"PrivateMatcherGeometryOverrideEffect":return O.local()}return null}function h(e){if(!e)return null;switch(e.type){case"CIMMarkerPlacementAlongLineSameSize":return I.local();case"CIMMarkerPlacementAtExtremities":return G.local();case"CIMMarkerPlacementAtMeasuredUnits":return d.local();case"CIMMarkerPlacementAtRatioPositions":return v.local();case"CIMMarkerPlacementInsidePolygon":return y.local();case"CIMMarkerPlacementOnLine":return g.local();case"PrivatePlacementMultipoint":return R.local();case"CIMMarkerPlacementOnVertices":return A.local();case"CIMMarkerPlacementPolygonCenter":return S.local()}return null}export{w as getEffectOperator,h as getPlacementOperator};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{isRGB as e}from"../../core/colorUtils.js";import{getFontFamily as t}from"../../core/fontUtils.js";import"../../core/has.js";import{clone as r}from"../../core/lang.js";import i from"../../core/Logger.js";import{pt2px as o,px2pt as a}from"../../core/screenUtils.js";import{numericHash as s}from"../../core/string.js";import{checkForAnimations as l,getAnimationParams as n,handleAbsoluteAnchor as p,handleMarker as m,handleRelativeAnchor as c,getFrameTranslation as y,translate as d,getStaticParam as f,shouldUseAnimatedPath as h}from"./animationUtils.js";import{forEachSymbolLayer as u,CIMSymbolHelper as v}from"./CIMSymbolHelper.js";import{antialiasingOutlineFillSettings as O}from"./constants.js";import{defaultCIMValues as g}from"./defaultCIMValues.js";import{fitVectorMarker as S}from"./fitVectorMarker.js";import{OverrideHelper as _}from"./OverrideHelper.js";import{hasRichTextFormattingTags as M}from"./richTextUtils.js";import{getExtent as k,getSDFMetrics as C,getSDFDimensions as x}from"./SDFHelper.js";import{CIMSymbolUnits as b}from"./types.js";import{colorToArray as P,normalizeAlpha as z,getSize as I,isCIMMarkerStrokePlacement as E,hasStrokeLayer as L,getTintColor as V,getNumericValue as N,normalizePrimitiveOverrideProps as R,getDefaultCIMValue as T,getEnum as A,getFillColor as w,getStrokeColor as G,fromCIMFontDecoration as F,fromCIMFontStyle as X,getStrokeWidth as j,fromCIMVerticalAlignment as Y,fromCIMHorizontalAlignment as W,getTextCasing as D,isValidCIMValue as U,uncapitalize as H}from"./utils.js";import{EffectHelper as J}from"./effects/EffectHelper.js";import{rasterizedVectorMarkerMinSize as B,randomInsidePolygonTextureSize as q}from"../../views/2d/engine/webgl/definitions.js";const K=()=>i.getLogger("esri.symbols.cim.cimAnalyzer");function Q(e){const t=e.markerPlacement;return t&&t.angleToLine?1:0}class Z{constructor(e){this._cimLayers=[],this._poMap={},this._primitiveOverrides=[],this._hasTextStringTemplates=!1,e&&(this._resourceManager=e)}analyzeSymbolReference(t,r,i){if(this._cimLayers=i??[],!t)return this._cimLayers;if(this._reset(),this._hasTextStringTemplates=t.hasTextStringTemplates??!1,t.primitiveOverrides){this._primitiveOverrides=t.primitiveOverrides;for(const t of this._primitiveOverrides){const r=t.valueExpressionInfo;if(r)this._setPoMap(t.primitiveName,t.propertyName,r);else if(null!=t.value){let r=t.value;t.propertyName.includes("Color")&&(e(r)&&(r=P(r)),r=z(r)),this._setPoMap(t.primitiveName,t.propertyName,r)}}}return this._analyzeSymbol(t.symbol,r),this._cimLayers}_reset(){this._cimLayers=[],this._poMap={},this._primitiveOverrides=[]}_analyzeSymbol(e,t){switch(e?.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this._analyzeMultiLayerSymbol(e,t)}}_analyzeMultiLayerSymbol(e,t){const r=e?.symbolLayers;if(!r)return;for(let l=0;l<r.length;l++){const e=r[l];"CIMVectorMarker"===e.type&&(r[l]=S(e))}const i=e.effects;let o=0;const a=I(e)??0;if("CIMPointSymbol"===e.type&&"Map"===e.angleAlignment&&(o=1),ae(r,i))return this._analyzeCompositeOutlineFill(r,i,a);let s={transform:[0,0,0,1],fromColor:[1,1,1,1],toColor:[1,1,1,1],colorMix:[0,0,0,0],toOpacity:[1,1,1,1],opacityMix:[0,0,0,0],shift:[1,1,1,1],hasAnimations:l(e),hasShiftAnimation:!1,hasMotionAnimations:!1};s=n(this._poMap,e,s);const p="CIMPolygonSymbol"===e.type;let m=r.length;for(;m--;){const l=r[m];if(!l||!1===l.enable)continue;let n;i?.length&&(n=[...i]);const c=l.effects;c?.length&&(i?n.push(...c):n=[...c]);let y=null;if(n){y=[];for(const e of n){const t=_.findEffectOverrides(e,this._primitiveOverrides);t&&y.push(t)}}const d=[];switch(_.findApplicableOverrides(l,this._primitiveOverrides,d),l.type){case"CIMSolidFill":this._analyzeSolidFill(l,y,s,L(r));break;case"CIMPictureFill":this._analyzePictureFill(l,y,s);break;case"CIMHatchFill":this._analyzeHatchFill(l,y,s);break;case"CIMGradientFill":this._analyzeGradientFill(l,y);break;case"CIMSolidStroke":this._analyzeSolidStroke(l,y,p,a,s);break;case"CIMPictureStroke":this._analyzePictureStroke(l,y,p,a,s);break;case"CIMGradientStroke":this._analyzeGradientStroke(l,y,p,a);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":{"CIMLineSymbol"!==e.type&&"CIMPolygonSymbol"!==e.type||(o=Q(l));const r=[],i=l.primitiveName;i&&r.push(i);const n=p&&E(l.markerPlacement);this._analyzeMarker(l,y,null,r,o,a,t,[],s,!1,n);break}default:K().error("Cannot analyze CIM layer",l.type)}}}_analyzeSolidFill(e,t,r,i){const{primitiveName:o,type:a}=e,s=z(e.color),l=n(this._poMap,e,r);if(!i&&t?.some(e=>"CIMGeometricEffectTaperedPolygon"===e.effect.type)){const r=this._getValueOrOverrideExpression(a,o,"Color",s);return void this._cimLayers.push({type:"outlineFill",name:e.name,colorLocked:!!e.colorLocked,color:r,effects:t,outlineColor:r,outlineColorLocked:!!e.colorLocked,...O,outlineEffects:t})}this._cimLayers.push({type:"fill",name:e.name,spriteRasterizationParam:null,colorLocked:!!e.colorLocked,color:this._getValueOrOverrideExpression(a,o,"Color",s),height:0,angle:0,offsetX:0,offsetY:0,scaleX:1,effects:t,applyRandomOffset:!1,sampleAlphaOnly:!0,hasUnresolvedReplacementColor:!1,animationParams:le(l)})}_analyzePictureFill(e,t,r){const{primitiveName:i,type:o}=e,a=V(e),s=N(e.height,g.CIMPictureFill.height);let l=N(e.scaleX,1);if("width"in e&&"number"==typeof e.width){const t=e.width;let r=1;const i=this._resourceManager.getResource(e.url);null!=i&&(r=i.width/i.height),l/=r*(s/t)}const p={type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(i,o)},m=n(this._poMap,e,r);this._cimLayers.push({type:"fill",name:e.name,spriteRasterizationParam:p,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(o,i,"TintColor",a),height:this._getValueOrOverrideExpression(o,i,"Height",s),scaleX:this._getValueOrOverrideExpression(o,i,"ScaleX",l),angle:this._getValueOrOverrideExpression(o,i,"Rotation",N(e.rotation)),offsetX:this._getValueOrOverrideExpression(o,i,"OffsetX",N(e.offsetX)),offsetY:this._getValueOrOverrideExpression(o,i,"OffsetY",N(e.offsetY)),applyRandomOffset:!1,sampleAlphaOnly:!1,hasUnresolvedReplacementColor:!1,animationParams:le(m)})}_analyzeHatchFill(e,t,r){const{primitiveName:i,type:o}=e,a=n(this._poMap,e,r),s=this._analyzeMaterialOverrides(i,["Rotation","OffsetX","OffsetY"]),l=R(s);let p=[255,255,255,1],m=!1;if(e.lineSymbol?.symbolLayers)for(const n of e.lineSymbol.symbolLayers){if("CIMSolidStroke"!==n.type)continue;const e=n.primitiveName??i;m||!e||n.colorLocked||null==this._poMap[e]?.Color&&null==this._poMap[e]?.StrokeColor||(p=z(n.color),p=this._maybeGetValueOrOverrideExpression(e,"StrokeColor")??this._getValueOrOverrideExpression(o,e,"Color",p),m=!0);const t=this._maybeGetValueOrOverrideExpression(e,"StrokeWidth");if(t){let r=null,i=null;"number"==typeof t?r=t:i=t.valueExpressionInfo;let a=l.find(e=>"strokeWidth"===e.propertyName);a?a.propertyName="width":(a={type:"CIMPrimitiveOverride",primitiveName:e,propertyName:"width",valueExpressionInfo:i,value:r,defaultValue:T(o,"width")},l.push(a))}}const c={type:"sprite-rasterization-param",resource:e,overrides:l};this._cimLayers.push({type:"fill",name:e.name,spriteRasterizationParam:c,colorLocked:!!e.colorLocked,effects:t,color:p,height:this._getValueOrOverrideExpression(o,i,"Separation",N(e.separation,g.CIMHatchFill.separation)),scaleX:1,angle:this._getValueOrOverrideExpression(o,i,"Rotation",N(e.rotation)),offsetX:this._getValueOrOverrideExpression(o,i,"OffsetX",N(e.offsetX)),offsetY:this._getValueOrOverrideExpression(o,i,"OffsetY",N(e.offsetY)),applyRandomOffset:!1,sampleAlphaOnly:!0,hasUnresolvedReplacementColor:!m,animationParams:le(a)})}_analyzeGradientFill(e,t){const{angle:r,gradientMethod:i,gradientSize:o,gradientSizeUnits:a,gradientType:s,interval:l,primitiveName:n,type:p}=e,m=g.CIMGradientFill,c=e.colorRamp;this._cimLayers.push({type:"gradientFill",name:e.name,spriteRasterizationParam:{type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(n,p)},colorLocked:!1,effects:t,color:[255,255,255,1],gradientMethod:this._getValueOrOverrideExpression(p,n,"GradientMethod",i??"Linear"),angle:this._getValueOrOverrideExpression(p,n,"Angle",N(r,m.angle)),gradientType:this._getValueOrOverrideExpression(p,n,"GradientType",s??m.gradientType),interval:this._getValueOrOverrideExpression(p,n,"Interval",N(l,"CIMFixedColorRamp"===c.type?c.colors.length:m.interval)),gradientSize:this._getValueOrOverrideExpression(p,n,"GradientSize",N(o,m.gradientSize)),gradientSizeUnits:"Absolute"===a?b.Absolute:"Relative"===a?b.Relative:m.gradientSizeUnits})}_analyzeCompositeOutlineFill(e,t,r){const i=e.find(e=>"CIMSolidFill"===e.type),o=e.find(e=>"CIMSolidStroke"===e.type);if(null==i||null==o)return;const a=[...t??[],...i.effects??[]].map(e=>_.findEffectOverrides(e,this._primitiveOverrides)).filter(e=>null!=e),s=[...t??[],...o.effects??[]].map(e=>_.findEffectOverrides(e,this._primitiveOverrides)).filter(e=>null!=e),l=N(o.width,g.CIMSolidStroke.width),n=A(o.capStyle,g.CIMSolidStroke.capstyle),p=A(o.joinStyle,g.CIMSolidStroke.joinstyle),m=o.miterLimit;this._cimLayers.push({type:"outlineFill",name:i.name,colorLocked:!!i.colorLocked,color:this._getValueOrOverrideExpression(i.type,i.primitiveName,"Color",z(i.color)),effects:a,outlineColorLocked:!!o.colorLocked,outlineColor:this._getValueOrOverrideExpression(o.type,o.primitiveName,"Color",z(o.color)),outlineWidth:this._getValueOrOverrideExpression(o.type,o.primitiveName,"Width",l),cap:this._getValueOrOverrideExpression(o.type,o.primitiveName,"CapStyle",n),join:this._getValueOrOverrideExpression(o.type,o.primitiveName,"JoinStyle",p),miterLimit:m&&this._getValueOrOverrideExpression(o.type,o.primitiveName,"MiterLimit",m),referenceWidth:r,outlineEffects:s})}_analyzeSolidStroke(e,t,r,i,o){const{primitiveName:a,type:s}=e,l=z(e.color),p=N(e.width,g.CIMSolidStroke.width),m=A(e.capStyle,g.CIMSolidStroke.capstyle),c=A(e.joinStyle,g.CIMSolidStroke.joinstyle),y=e.miterLimit;let d,f,h,u,v=[];if(this._analyzePrimitiveOverrides(a,t,null,null)&&(v=this._getPrimitiveMaterialOverrides(a,s)),t&&Array.isArray(t)&&t.length>0){const e=t[t.length-1].effect;e&&"CIMGeometricEffectDashes"===e.type&&"NoConstraint"===e.lineDashEnding&&(d=e.dashTemplate,f=e.scaleDash,h=e.offsetAlongLine,u=e.primitiveName,(t=[...t]).pop())}null!=u&&v.push(...this._getPrimitiveMaterialOverrides(u,s).filter(e=>"dashTemplate"===e.propertyName));const O=void 0!==d?{type:"sprite-rasterization-param",resource:{type:"dash",dashTemplate:d,primitiveName:u},overrides:v}:null,S=n(this._poMap,e,o);this._cimLayers.push({type:"line",name:e.name,spriteRasterizationParam:O,isOutline:r,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(s,a,"Color",l),width:this._getValueOrOverrideExpression(s,a,"Width",p),cap:this._getValueOrOverrideExpression(s,a,"CapStyle",m),join:this._getValueOrOverrideExpression(s,a,"JoinStyle",c),miterLimit:y&&this._getValueOrOverrideExpression(s,a,"MiterLimit",y),referenceWidth:i,zOrder:ee(e.name),dashTemplate:this._maybeGetValueOrOverrideExpression(u,"DashTemplate")??d,offsetAlongLine:this._getValueOrOverrideExpression(s,u,"OffsetAlongLine",h??0),scaleDash:f,sampleAlphaOnly:!0,animationParams:le(S)})}_analyzePictureStroke(e,t,r,i,o){const{primitiveName:a,type:s}=e,l=V(e),p=N(e.width,g.CIMPictureStroke.width),m=A(e.capStyle,g.CIMPictureStroke.capstyle),c=A(e.joinStyle,g.CIMPictureStroke.joinstyle),y=e.miterLimit,d={type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(a,s)},f=n(this._poMap,e,o);this._cimLayers.push({type:"line",name:e.name,spriteRasterizationParam:d,isOutline:r,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(s,a,"TintColor",l),width:this._getValueOrOverrideExpression(s,a,"Width",p),cap:this._getValueOrOverrideExpression(s,a,"CapStyle",m),join:this._getValueOrOverrideExpression(s,a,"JoinStyle",c),miterLimit:y&&this._getValueOrOverrideExpression(s,a,"MiterLimit",y),referenceWidth:i,zOrder:ee(e.name),dashTemplate:null,scaleDash:!1,sampleAlphaOnly:!1,animationParams:le(f)})}_analyzeGradientStroke(e,t,r,i){const{gradientMethod:o,gradientSize:a,gradientSizeUnits:s,gradientType:l,interval:n,primitiveName:p,type:m}=e,c=g.CIMGradientStroke,y=N(e.width,c.width),d=A(e.capStyle,c.capstyle),f=A(e.joinStyle,c.joinstyle),h=e.miterLimit,u=e.colorRamp;this._cimLayers.push({type:"gradientStroke",name:e.name,spriteRasterizationParam:{type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(p,m)},colorLocked:!!e.colorLocked,effects:t,color:[255,255,255,1],width:this._getValueOrOverrideExpression(m,p,"Width",y),cap:this._getValueOrOverrideExpression(m,p,"CapStyle",d),join:this._getValueOrOverrideExpression(m,p,"JoinStyle",f),miterLimit:h&&this._getValueOrOverrideExpression(m,p,"MiterLimit",h),referenceWidth:i,isOutline:r,gradientMethod:this._getValueOrOverrideExpression(m,p,"GradientMethod",o??c.gradientMethod),gradientType:this._getValueOrOverrideExpression(m,p,"GradientType",l??c.gradientType),interval:this._getValueOrOverrideExpression(m,p,"Interval",N(n,"CIMFixedColorRamp"===u.type?u.colors.length:c.interval)),gradientSize:this._getValueOrOverrideExpression(m,p,"GradientSize",N(a,c.gradientSize)),gradientSizeUnits:"Absolute"===s?b.Absolute:"Relative"===s?b.Relative:c.gradientSizeUnits})}_analyzeMarker(e,t,r,i,o,a,s,l,y,d=!1,f=!1){d||=!!e.colorLocked;let h=y;if(h=p(e,h),h=m(this._poMap,e,h),h=c(e,h),h=n(this._poMap,e,h),this._analyzeMarkerInsidePolygon(e,t,d,h))return;const u=N(e.size,g.CIMVectorMarker.size),v=N(e.rotation),O=N(e.offsetX),S=N(e.offsetY),{primitiveName:_,type:M}=e,k=this._getValueOrOverrideExpression(M,_,"Size",u),C=this._getValueOrOverrideExpression(M,_,"Rotation",v),x=this._getValueOrOverrideExpression(M,_,"OffsetX",O),b=this._getValueOrOverrideExpression(M,_,"OffsetY",S);switch(e.type){case"CIMPictureMarker":this._analyzePictureMarker(e,t,r,i,o,a,k,C,x,b,l,h,d,f);break;case"CIMVectorMarker":this._analyzeVectorMarker(e,t,r,i,o,a,k,C,x,b,l,h,s,d,f)}}_analyzeMarkerInsidePolygon(e,t,r,i){const{markerPlacement:o,type:s}=e;if(!o||"CIMMarkerPlacementInsidePolygon"!==o.type||i.hasMotionAnimations)return!1;if("CIMVectorMarker"===s||"CIMPictureMarker"===s){const r=e.primitiveName;if(r&&this._analyzePrimitiveOverrides([r],t,null,null))return!1;const i=o.primitiveName;if(i&&this._analyzePrimitiveOverrides([i],t,null,null))return!1;if("CIMVectorMarker"===s){const{markerGraphics:t}=e;if(t)for(const e of t){const{symbol:t}=e;if("CIMPolygonSymbol"===t?.type&&t.symbolLayers){const{symbolLayers:e}=t;for(const t of e)if("CIMSolidStroke"===t.type)return!1}}}else{const{animatedSymbolProperties:t}=e;if(t)return!1}}const l=Math.abs(o.stepX),n=Math.abs(o.stepY);if(0===l||0===n)return!0;let p,m;if("Random"===o.gridType){const e=a(q),t=Math.max(Math.floor(e/l),1);p=n*Math.max(Math.floor(e/n),1);m=t*l/p}else o.shiftOddRows?(p=2*n,m=l/n*.5):(p=n,m=l/n);const c=V(e),y="CIMCharacterMarker"===e.type?null:{type:"sprite-rasterization-param",resource:e,overrides:[]};return this._cimLayers.push({type:"fill",name:e.name,spriteRasterizationParam:y,colorLocked:r,effects:t,color:c,height:p,scaleX:m,angle:o.gridAngle??0,offsetX:N(o.offsetX),offsetY:N(o.offsetY),applyRandomOffset:"Random"===o.gridType,sampleAlphaOnly:"CIMPictureMarker"!==e.type,hasUnresolvedReplacementColor:!0,animationParams:le(i)}),!0}_analyzePictureMarker(e,t,i,o,a,l,n,p,m,c,y,d,f,h){const{animatedSymbolProperties:u,primitiveName:v,type:O}=e;let g=N(e.scaleX,1);const S=V(e);i||(i=this._createMarkerPlacementOverrideExpression(e.markerPlacement));const _=this._createGIFAnimatedSymbolPropertiesOverrideExpression(u),M=e.anchorPoint??{x:0,y:0};if("width"in e&&"number"==typeof e.width){const t=e.width;let r=1;const i=this._resourceManager.getResource(e.url);null!=i&&(r=i.width/i.height);g/=r*(N(e.size)/t)}const k=[...o];let C;e.primitiveName&&k.push(e.primitiveName),u||_?C={type:"animated",url:e.url,urlHash:"H"+s(e.url),playAnimation:e.animatedSymbolProperties?.playAnimation,reverseAnimation:e.animatedSymbolProperties?.reverseAnimation,randomizeStartTime:e.animatedSymbolProperties?.randomizeStartTime,randomizeStartSeed:e.animatedSymbolProperties?.randomizeStartSeed,startTimeOffset:e.animatedSymbolProperties?.startTimeOffset,duration:e.animatedSymbolProperties?.duration,repeatType:e.animatedSymbolProperties?.repeatType,repeatDelay:e.animatedSymbolProperties?.repeatDelay}:(C=r(e),C.markerPlacement=null);const x={type:"sprite-rasterization-param",resource:C,overrides:this._getMaterialOverrides(k,O)};_&&x.overrides.push(..._.overrides);const b=n;this._cimLayers.push({type:"marker",name:e.name,spriteRasterizationParam:x,colorLocked:f,effects:t,scaleSymbolsProportionally:!1,alignment:a,size:n,scaleX:this._getValueOrOverrideExpression(O,v,"ScaleX",g),rotation:p,offsetX:m,offsetY:c,transform:{type:"cim-marker-transform-param",params:y},color:this._getValueOrOverrideExpression(O,v,"TintColor",S),anchorPoint:{x:M.x,y:M.y},isAbsoluteAnchorPoint:"Relative"!==e.anchorPointUnits,outlineColor:[0,0,0,0],outlineWidth:0,frameHeight:0,widthRatio:1,rotateClockwise:!!e.rotateClockwise,referenceSize:l,sizeRatio:1,isOutline:h,markerPlacement:i,animationParams:le(d),baseSize:b})}_analyzeVectorMarker(e,t,r,i,o,a,s,l,p,m,c,h,u,v,O){const g=e.markerGraphics;if(!g)return;const S=e.frame;let _=0;_=S?S.ymax-S.ymin:a;const M=!!e.scaleSymbolsProportionally;if(_){const t={offsetX:p,offsetY:m,rotation:l,size:s,frameHeight:_,rotateClockWise:!!e.rotateClockwise,absoluteAnchorPoint:!1,scaleSymbolsProportionally:M};c=[...c,t]}r||(r=this._createMarkerPlacementOverrideExpression(e.markerPlacement));for(const k of g)if(k){const s=k.symbol;if(!s)continue;const l=k.primitiveName;l&&i.push(l);let p,m=h;if(("CIMPointSymbol"===s.type||"CIMTextSymbol"===s.type)&&S){let t=0,r=0;const i=k.geometry;"x"in i&&"y"in i&&(t+=i.x-.5*(S.xmin+S.xmax),r+=i.y-.5*(S.ymin+S.ymax));const o=e.anchorPoint;let a=!1;o&&("Absolute"===e.anchorPointUnits?(t-=o.x,r-=o.y,a=!0):S&&(t-=(S.xmax-S.xmin)*o.x,r-=(S.ymax-S.ymin)*o.y));const s={offsetX:t,offsetY:r,rotation:0,size:0,frameHeight:0,rotateClockWise:!1,absoluteAnchorPoint:a,scaleSymbolsProportionally:M};p=[...c,s]}const g=k.geometry,[C,x]=y(g,S);switch(0===C&&0===x||(m=d(m,C,x)),"CIMPointSymbol"===s.type&&(m=n(this._poMap,s,m)),s.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":u||ie(s)?(m={...m,transform:{type:"AnimatedTransform",relativeTranslation:!1,absoluteScale:!0,translation:f([0,0]),rotation:f(0),scale:f(_),parent:h.transform}},this._analyzeMultiLayerGraphicNonSDF(e,t,r,k,i,o,a,p??c,m,_,v,O)):this._analyzeMultiLayerGraphic(e,t,r,k,i,o,a,p??c,m,_,v,O);break;case"CIMTextSymbol":this._analyzeTextGraphic(t,r,k,i,o,a,p??c,v)}l&&i.pop()}}_analyzeMultiLayerGraphic(e,t,r,i,o,a,s,l,n,p,m,c){const y=i.symbol,d=y.symbolLayers;if(d){if(!re(d)||h(n))return oe(d)?(u(y,e=>{e.colorLocked&&(m=!0)}),void this._analyzeMultiLayerGraphicNonSDF(e,t,r,i,o,a,s,l,n,p,m,c)):void this._analyzeMarkerGraphicSymbolLayers(e,t,r,i,o,a,s,l,n,p,m,c);this._analyzeCompositeMarkerGraphic(e,t,r,i,d,a,s,l,p,m,c)}}_analyzeMarkerGraphicSymbolLayers(e,t,r,i,o,a,s,l,p,m,c,y){const d=i.symbol,f=d.symbolLayers;if(!f)return;const h=J.applyEffects(d.effects,i.geometry);if(!h)return;let u=f.length;for(;u--;){const d=f[u];if(!d||!1===d.enable)continue;const v=d.primitiveName;switch(v&&o.push(v),d.type){case"CIMSolidFill":case"CIMSolidStroke":{const o=J.applyEffects(d.effects,h),f=k(o);if(!f)continue;const u="Relative"!==e.anchorPointUnits,O="CIMSolidStroke"===d.type?d.width:0,{frameSizeRatio:S,anchorX:_,anchorY:M,widthRatio:b,sdfPaddingRatio:P,sdfTextureSize:I}=C(f,e.frame,e.size,e.anchorPoint,u,O,e.scaleSymbolsProportionally),E="CIMSolidFill"===d.type,L={type:"sdf",geometry:o,sdfPaddingRatio:P,asFill:E,sdfTextureSize:I},{path:V}=d,R=E?z(w(d)):null==V?z(G(d)):[0,0,0,0],T=E?[0,0,0,0]:z(G(d));if(!E&&!O)break;const A=i.primitiveName;let F=null;E&&!d.colorLocked&&(F=this._maybeGetValueOrOverrideExpression(A,"FillColor"));let X=null;E||d.colorLocked||(X=this._maybeGetValueOrOverrideExpression(A,"StrokeColor"));const j=F??this._getValueOrOverrideExpression(d.type,v,"Color",R),Y=X??this._getValueOrOverrideExpression(d.type,v,"Color",T),W=this._maybeGetValueOrOverrideExpression(A,"StrokeWidth")??this._getValueOrOverrideExpression(d.type,v,"Width",O),D=V?{type:"sprite-rasterization-param",resource:{type:"path",path:V,asFill:E},overrides:[]}:{type:"sprite-rasterization-param",resource:L,overrides:[]},U=n(this._poMap,d,p),H=N(e.size,g.CIMVectorMarker.size),B=this._getValueOrOverrideExpression(e.type,e.primitiveName,"Size",H);this._cimLayers.push({type:"marker",name:d.name,groupName:e.name,spriteRasterizationParam:D,colorLocked:!!d.colorLocked||!!c,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:a,anchorPoint:{x:_,y:M},isAbsoluteAnchorPoint:u,size:m,rotation:0,offsetX:0,offsetY:0,scaleX:1,transform:{type:"cim-marker-transform-param",params:l},frameHeight:m,widthRatio:b,rotateClockwise:!1,referenceSize:s,sizeRatio:S,color:j,outlineColor:Y,outlineWidth:W,isOutline:y,markerPlacement:r,animationParams:le(U),isStroke:"CIMSolidFill"!==d.type,baseSize:B,...x(o,I,P)});break}case"CIMPictureMarker":case"CIMVectorMarker":if(d.markerPlacement){K().error("Error analyzing CIM, got unexpected marker placement");break}this._analyzeMarker(d,t,r,o,a,s,!1,l,p,c,y)}v&&o.pop()}}_analyzeTextGraphic(e,r,i,o,a,s,l,n){const p=[];_.findApplicableOverrides(i,this._primitiveOverrides,p);const m=i.geometry;if(!("x"in m)||!("y"in m))return;const c=i.symbol,y=F(c),d=X(c.fontStyleName),f=t(c.fontFamilyName);c.font={family:f,decoration:y,...d};const h=N(c.height,g.CIMTextSymbol.height),u=N(c.angle),v=N(c.offsetX),O=N(c.offsetY),{haloSymbol:S}=c,k=N(c.haloSize,0);let C=[0,0,0,0];if(S?.symbolLayers?.length){const e=S.symbolLayers;for(const t of e)if(t.color){C=this._getValueOrOverrideExpression(c?.haloSymbol?.type??"CIMPolygonSymbol",t.primitiveName,"Color",z(t.color));break}}const x=i.primitiveName;let b=[0,0,0,1],P=[0,0,0,0],I=0,E=!1;if(c.symbol?.symbolLayers)for(const t of c.symbol.symbolLayers){const e=t.primitiveName;if("CIMSolidStroke"===t.type)P=this._getValueOrOverrideExpression("CIMSolidStroke",e,"Color",z(t.color)),I=this._getValueOrOverrideExpression("CIMSolidStroke",e,"Width",j(t)??0);else if("CIMSolidFill"===t.type){const r=z(t.color);E=E??!!t.colorLocked,b=this._getValueOrOverrideExpression("CIMSolidFill",e??x,"Color",r)}}let L=null,V=null,R=null,T=null,A=null;x&&(L=this._maybeGetValueOrOverrideExpression(x,"TextSize"),V=this._maybeGetValueOrOverrideExpression(x,"TextAngle"),R=this._maybeGetValueOrOverrideExpression(x,"TextOffsetX"),T=this._maybeGetValueOrOverrideExpression(x,"TextOffsetY"),E||(A=this._maybeGetValueOrOverrideExpression(x,"FillColor")));const w=A??b;let G=null,D=null,U=0;if("CIMBackgroundCallout"===c.callout?.type){const e=c.callout;if(e.backgroundSymbol){const t=e.backgroundSymbol.symbolLayers;if(t)for(const e of t)"CIMSolidFill"===e.type?G=z(e.color):"CIMSolidStroke"===e.type&&(D=z(e.color),U=N(e.width,g.CIMSolidStroke.width))}}const H=this._getValueOrOverrideExpression(c.type,i.primitiveName,"TextString",i.textString??"");if(null==H)return;const{fontStyleName:J}=c,B=f+(J?"-"+J.toLowerCase():"-regular"),q=this._getMaterialOverrides(o,c.type);q.push(...this._getPrimitiveMaterialOverrides(i.primitiveName,c.type)),this._collectDictionaryTemplateOverrides(q,i);const K={type:"text-rasterization-param",resource:{type:"text",textString:i.textString??"",font:c.font,symbol:c,primitiveName:i.primitiveName,supportsRichText:M(i.textString??"")||q.some(e=>"textString"===e.propertyName)},overrides:q};this._cimLayers.push({type:"text",lineWidth:c.lineWidth,textRasterizationParam:K,colorLocked:!!n||!!E,effects:e,alignment:a,anchorPoint:{x:0,y:0},isAbsoluteAnchorPoint:!1,fontName:B,decoration:y,haloSize:k,haloColor:C,weight:d.weight,style:d.style,size:L??h,angle:V??u,offsetX:R??v,offsetY:T??O,transform:{type:"cim-marker-transform-param",params:l},horizontalAlignment:W(c.horizontalAlignment),verticalAlignment:Y(c.verticalAlignment),text:H,color:w,outlineColor:P,outlineSize:I,backgroundColor:G,borderLineColor:D,borderLineWidth:U,referenceSize:s,sizeRatio:1,markerPlacement:r})}_collectDictionaryTemplateOverrides(e,t){if(t.textString&&this._hasTextStringTemplates){const r=D(t.symbol);e.push({propertyName:"textString",defaultValue:"",valueExpressionInfo:{type:"dictionary-template",textCase:r,template:t.textString},primitiveName:t.primitiveName})}}_analyzeMultiLayerGraphicNonSDF(e,t,r,i,a,s,l,n,p,m,c,y){const d=$(e,i),f=e.primitiveName,h=this._analyzeMaterialOverrides(f,["Rotation","OffsetX","OffsetY"]),u=R(h),[O,S,_]=v.getTextureAnchor(d,this._resourceManager,B),M=this._getMaterialOverrides(a,e.type).filter(e=>e.primitiveName!==f||!["rotation","offsetX","offsetY"].includes(e.propertyName));M.push(...u);const k={type:"sprite-rasterization-param",resource:{...d,avoidSDFRasterization:!0},overrides:M},C=N(e.size,g.CIMVectorMarker.size),x=this._getValueOrOverrideExpression(e.type,f,"Size",C);this._cimLayers.push({type:"marker",name:e.name,spriteRasterizationParam:k,colorLocked:c,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:s,anchorPoint:{x:O,y:S},isAbsoluteAnchorPoint:!1,size:m,rotation:0,offsetX:0,offsetY:0,transform:{type:"cim-marker-transform-param",params:n},color:[255,255,255,1],outlineColor:[0,0,0,0],outlineWidth:0,scaleX:1,frameHeight:m,widthRatio:1,rotateClockwise:!!e.rotateClockwise,referenceSize:l,sizeRatio:_/o(e.size),isOutline:y,markerPlacement:r,animationParams:le(p),baseSize:x})}_createMarkerPlacementOverrideExpression(e){if(!e)return null;const t=[];return _.findApplicableOverrides(e,this._primitiveOverrides,t),{type:"cim-marker-placement-param",placement:e,overrides:se(t)}}_createGIFAnimatedSymbolPropertiesOverrideExpression(e){if(!e)return null;const t=[];return _.findApplicableOverrides(e,this._primitiveOverrides,t),{type:"cim-gif-animation-params",animation:e,overrides:se(t)}}_analyzeCompositeMarkerGraphic(e,t,r,i,o,a,s,l,n,p,m){const c=i.geometry,y=o[0],d=o[1],f=k(c);if(!f)return;const h="Relative"!==e.anchorPointUnits,u=N(y.width,g.CIMSolidStroke.width),{frameSizeRatio:v,anchorX:O,anchorY:S,widthRatio:_,sdfPaddingRatio:M,sdfTextureSize:x}=C(f,e.frame,e.size,e.anchorPoint,h,u,e.scaleSymbolsProportionally),{path:b}=d,P=d.primitiveName,I=y.primitiveName,E=i.primitiveName;let L=null;d.colorLocked||p||(L=this._maybeGetValueOrOverrideExpression(E,"FillColor"));const V=L??this._getValueOrOverrideExpression(d.type,P,"Color",z(d.color));let R=null;y.colorLocked||p||(R=this._maybeGetValueOrOverrideExpression(E,"StrokeColor"));const T=R??this._getValueOrOverrideExpression(y.type,I,"Color",z(y.color)),A=this._maybeGetValueOrOverrideExpression(E,"StrokeWidth")??this._getValueOrOverrideExpression(y.type,I,"Width",u),w={type:"sprite-rasterization-param",resource:b?{type:"path",path:b,asFill:!0}:{type:"sdf",geometry:c,sdfTextureSize:x,sdfPaddingRatio:M,asFill:!0},overrides:[]};this._cimLayers.push({type:"marker",name:e.name,spriteRasterizationParam:w,colorLocked:p,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:a,anchorPoint:{x:O,y:S},isAbsoluteAnchorPoint:h,size:n,rotation:0,offsetX:0,offsetY:0,scaleX:1,transform:{type:"cim-marker-transform-param",params:l},frameHeight:n,widthRatio:_,rotateClockwise:!1,referenceSize:s,sizeRatio:v,color:V,outlineColor:T,outlineWidth:A,isOutline:m,markerPlacement:r})}_setPoMap(e,t,r){let i;this._poMap[e]?i=this._poMap[e]:(i={},this._poMap[e]=i),i[t]=r}_maybeGetValueOrOverrideExpression(e,t,r){return this._getValueOrOverrideExpression("",e,t,r,!1)}_getValueOrOverrideExpression(e,t,r,i,o=!0){if(o&&!U(i)&&(i=T(e,r.toLowerCase())),null==t)return i;const a=this._poMap[t];if(null==a)return i;const s=a[r];return"string"==typeof s||"number"==typeof s||Array.isArray(s)?s:s?{valueExpressionInfo:s,defaultValue:i}:i}_analyzePrimitiveOverrides(e,t,r,i){if(null==e)return!1;"string"==typeof e&&(e=[e]);for(const o of this._primitiveOverrides)if(e.includes(o.primitiveName)&&o.valueExpressionInfo)return!0;if(null!=t)for(const o of t)if(o?.overrides.length>0)return!0;if(null!=r)for(const o of r)if(o?.overrides.length>0)return!0;if(null!=i)for(const o of i)if(o?.overrides.length>0)return!0;return!1}_getMaterialOverrides(e,t){if(!e)return[];const r=[];for(const i of e)r.push(...this._getPrimitiveMaterialOverrides(i,t));return r}_getPrimitiveMaterialOverrides(e,t){if(!e)return[];const r=R(this._primitiveOverrides.filter(t=>t.primitiveName===e));return r.forEach(e=>e.defaultValue=T(t,e.propertyName.toLowerCase())),r}_analyzeMaterialOverrides(e,t){return this._primitiveOverrides.filter(r=>r.primitiveName!==e||!t.includes(r.propertyName))}}function $(e,t){return{type:e.type,enable:!0,name:e.name,colorLocked:e.colorLocked,primitiveName:e.primitiveName,anchorPoint:e.anchorPoint,anchorPointUnits:e.anchorPointUnits,offsetX:0,offsetY:0,rotateClockwise:e.rotateClockwise,rotation:0,size:e.size,billboardMode3D:e.billboardMode3D,depth3D:e.depth3D,frame:e.frame,markerGraphics:[t],scaleSymbolsProportionally:e.scaleSymbolsProportionally,respectFrame:e.respectFrame,clippingPath:e.clippingPath}}function ee(e){if(e?.startsWith("Level_")){const t=parseInt(e.slice(6),10);if(!isNaN(t))return t}return 0}function te(e,t){if(!t||0===t.length)return e;const i=r(e);return _.applyOverrides(i,t),i}const re=e=>e&&2===e.length&&e[0].enable&&e[1].enable&&"CIMSolidStroke"===e[0].type&&"CIMSolidFill"===e[1].type&&null==e[0].path&&null==e[1].path&&!e[0].effects&&!e[1].effects&&!e[0].animations&&!e[1].animations;function ie(e){const t=e.symbolLayers;if(!t)return!1;const r=t.find(e=>e.effects?.find(e=>"CIMGeometricEffectDashes"===e.type&&null!=e.dashTemplate)),i=t.find(e=>e.effects?.find(e=>"CIMGeometricEffectAddControlPoints"===e.type));return!!r||!!i}function oe(e){return e.some(e=>"CIMSolidFill"!==e.type&&"CIMSolidStroke"!==e.type&&("CIMVectorMarker"!==e.type&&"CIMPictureMarker"!==e.type||null!=e.markerPlacement))}function ae(e,t){if(t?.some(e=>"CIMGeometricEffectRadial"===e.type)&&t?.some(e=>"CIMGeometricEffectTaperedPolygon"===e.type)&&2===e.length){const t=e.find(e=>"CIMSolidFill"===e.type),r=e.find(e=>"CIMSolidStroke"===e.type),i=r?.effects?.some(e=>"CIMGeometricEffectDashes"===e.type);if(null!=t&&null!=r&&!i)return!0}return!1}function se(e){return r(e).map(e=>({...e,propertyName:H(e.propertyName)}))}function le(e){return h(e)?{type:"animation-params",params:e}:null}export{Z as CIMAnalyzer,te as analyzeCIMResource};
2
+ import{isRGB as e}from"../../core/colorUtils.js";import{getFontFamily as t}from"../../core/fontUtils.js";import"../../core/has.js";import{clone as r}from"../../core/lang.js";import i from"../../core/Logger.js";import{pt2px as o,px2pt as a}from"../../core/screenUtils.js";import{numericHash as s}from"../../core/string.js";import{checkForAnimations as l,getAnimationParams as n,handleAbsoluteAnchor as p,handleMarker as m,handleRelativeAnchor as c,getFrameTranslation as y,translate as d,getStaticParam as f,shouldUseAnimatedPath as h}from"./animationUtils.js";import{forEachSymbolLayer as u,CIMSymbolHelper as v}from"./CIMSymbolHelper.js";import{antialiasingOutlineFillSettings as O}from"./constants.js";import{defaultCIMValues as g}from"./defaultCIMValues.js";import{fitVectorMarker as S}from"./fitVectorMarker.js";import{OverrideHelper as _}from"./OverrideHelper.js";import{hasRichTextFormattingTags as M}from"./richTextUtils.js";import{getExtent as k,getSDFMetrics as C,getSDFDimensions as x}from"./SDFHelper.js";import{CIMSymbolUnits as b}from"./types.js";import{colorToArray as P,normalizeAlpha as z,getSize as I,isCIMMarkerStrokePlacement as E,hasStrokeLayer as L,getTintColor as V,getNumericValue as N,normalizePrimitiveOverrideProps as R,getDefaultCIMValue as T,getEnum as A,getFillColor as w,getStrokeColor as G,fromCIMFontDecoration as F,fromCIMFontStyle as X,getStrokeWidth as j,fromCIMVerticalAlignment as Y,fromCIMHorizontalAlignment as W,getTextCasing as D,isValidCIMValue as U,uncapitalize as H}from"./utils.js";import{EffectHelper as J}from"./effects/EffectHelper.js";import{rasterizedVectorMarkerMinSize as B,randomInsidePolygonTextureSize as q}from"../../views/2d/engine/webgl/definitions.js";const K=()=>i.getLogger("esri.symbols.cim.cimAnalyzer");function Q(e){const t=e.markerPlacement;return t&&t.angleToLine?1:0}class Z{constructor(e){this._cimLayers=[],this._poMap={},this._primitiveOverrides=[],this._hasTextStringTemplates=!1,e&&(this._resourceManager=e)}analyzeSymbolReference(t,r,i){if(this._cimLayers=i??[],!t)return this._cimLayers;if(this._reset(),this._hasTextStringTemplates=t.hasTextStringTemplates??!1,t.primitiveOverrides){this._primitiveOverrides=t.primitiveOverrides;for(const t of this._primitiveOverrides){const r=t.valueExpressionInfo;if(r)this._setPoMap(t.primitiveName,t.propertyName,r);else if(null!=t.value){let r=t.value;t.propertyName.includes("Color")&&(e(r)&&(r=P(r)),r=z(r)),this._setPoMap(t.primitiveName,t.propertyName,r)}}}return this._analyzeSymbol(t.symbol,r),this._cimLayers}_reset(){this._cimLayers=[],this._poMap={},this._primitiveOverrides=[]}_analyzeSymbol(e,t){switch(e?.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this._analyzeMultiLayerSymbol(e,t)}}_analyzeMultiLayerSymbol(e,t){const r=e?.symbolLayers;if(!r)return;for(let l=0;l<r.length;l++){const e=r[l];"CIMVectorMarker"===e.type&&(r[l]=S(e))}const i=e.effects;let o=0;const a=I(e)??0;if("CIMPointSymbol"===e.type&&"Map"===e.angleAlignment&&(o=1),ae(r,i))return this._analyzeCompositeOutlineFill(r,i,a);let s={transform:[0,0,0,1],fromColor:[1,1,1,1],toColor:[1,1,1,1],colorMix:[0,0,0,0],toOpacity:[1,1,1,1],opacityMix:[0,0,0,0],shift:[1,1,1,1],hasAnimations:l(e),hasShiftAnimation:!1,hasMotionAnimations:!1};s=n(this._poMap,e,s);const p="CIMPolygonSymbol"===e.type;let m=r.length;for(;m--;){const l=r[m];if(!l||!1===l.enable)continue;let n;i?.length&&(n=[...i]);const c=l.effects;c?.length&&(i?n.push(...c):n=[...c]);let y=null;if(n){y=[];for(const e of n){const t=_.findEffectOverrides(e,this._primitiveOverrides);t&&y.push(t)}}const d=[];switch(_.findApplicableOverrides(l,this._primitiveOverrides,d),l.type){case"CIMSolidFill":this._analyzeSolidFill(l,y,s,L(r));break;case"CIMPictureFill":this._analyzePictureFill(l,y,s);break;case"CIMHatchFill":this._analyzeHatchFill(l,y,s);break;case"CIMGradientFill":this._analyzeGradientFill(l,y);break;case"CIMSolidStroke":this._analyzeSolidStroke(l,y,p,a,s);break;case"CIMPictureStroke":this._analyzePictureStroke(l,y,p,a,s);break;case"CIMGradientStroke":this._analyzeGradientStroke(l,y,p,a);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":{"CIMLineSymbol"!==e.type&&"CIMPolygonSymbol"!==e.type||(o=Q(l));const r=[],i=l.primitiveName;i&&r.push(i);const n=p&&E(l.markerPlacement);this._analyzeMarker(l,y,null,r,o,a,t,[],s,!1,n);break}default:K().error("Cannot analyze CIM layer",l.type)}}}_analyzeSolidFill(e,t,r,i){const{primitiveName:o,type:a}=e,s=z(e.color),l=n(this._poMap,e,r);if(!i&&t?.some(e=>"CIMGeometricEffectTaperedPolygon"===e.effect.type)){const r=this._getValueOrOverrideExpression(a,o,"Color",s);return void this._cimLayers.push({type:"outlineFill",name:e.name,colorLocked:!!e.colorLocked,color:r,effects:t,outlineColor:r,outlineColorLocked:!!e.colorLocked,...O,outlineEffects:t})}this._cimLayers.push({type:"fill",name:e.name,spriteRasterizationParam:null,colorLocked:!!e.colorLocked,color:this._getValueOrOverrideExpression(a,o,"Color",s),height:0,angle:0,offsetX:0,offsetY:0,scaleX:1,effects:t,applyRandomOffset:!1,sampleAlphaOnly:!0,hasUnresolvedReplacementColor:!1,animationParams:le(l)})}_analyzePictureFill(e,t,r){const{primitiveName:i,type:o}=e,a=V(e),s=N(e.height,g.CIMPictureFill.height);let l=N(e.scaleX,1);if("width"in e&&"number"==typeof e.width){const t=e.width;let r=1;const i=this._resourceManager.getResource(e.url);null!=i&&(r=i.width/i.height),l/=r*(s/t)}const p={type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(i,o)},m=n(this._poMap,e,r);this._cimLayers.push({type:"fill",name:e.name,spriteRasterizationParam:p,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(o,i,"TintColor",a),height:this._getValueOrOverrideExpression(o,i,"Height",s),scaleX:this._getValueOrOverrideExpression(o,i,"ScaleX",l),angle:this._getValueOrOverrideExpression(o,i,"Rotation",N(e.rotation)),offsetX:this._getValueOrOverrideExpression(o,i,"OffsetX",N(e.offsetX)),offsetY:this._getValueOrOverrideExpression(o,i,"OffsetY",N(e.offsetY)),applyRandomOffset:!1,sampleAlphaOnly:!1,hasUnresolvedReplacementColor:!1,animationParams:le(m)})}_analyzeHatchFill(e,t,r){const{primitiveName:i,type:o}=e,a=n(this._poMap,e,r),s=this._analyzeMaterialOverrides(i,["Rotation","OffsetX","OffsetY"]),l=R(s);let p=[255,255,255,1],m=!1;if(e.lineSymbol?.symbolLayers)for(const n of e.lineSymbol.symbolLayers){if("CIMSolidStroke"!==n.type)continue;const e=n.primitiveName??i;m||!e||n.colorLocked||null==this._poMap[e]?.Color&&null==this._poMap[e]?.StrokeColor||(p=z(n.color),p=this._maybeGetValueOrOverrideExpression(e,"StrokeColor")??this._getValueOrOverrideExpression(o,e,"Color",p),m=!0);const t=this._maybeGetValueOrOverrideExpression(e,"StrokeWidth");if(t){let r=null,i=null;"number"==typeof t?r=t:i=t.valueExpressionInfo;let a=l.find(e=>"strokeWidth"===e.propertyName);a?a.propertyName="width":(a={type:"CIMPrimitiveOverride",primitiveName:e,propertyName:"width",valueExpressionInfo:i,value:r,defaultValue:T(o,"width")},l.push(a))}}const c={type:"sprite-rasterization-param",resource:e,overrides:l};this._cimLayers.push({type:"fill",name:e.name,spriteRasterizationParam:c,colorLocked:!!e.colorLocked,effects:t,color:p,height:this._getValueOrOverrideExpression(o,i,"Separation",N(e.separation,g.CIMHatchFill.separation)),scaleX:1,angle:this._getValueOrOverrideExpression(o,i,"Rotation",N(e.rotation)),offsetX:this._getValueOrOverrideExpression(o,i,"OffsetX",N(e.offsetX)),offsetY:this._getValueOrOverrideExpression(o,i,"OffsetY",N(e.offsetY)),applyRandomOffset:!1,sampleAlphaOnly:!0,hasUnresolvedReplacementColor:!m,animationParams:le(a)})}_analyzeGradientFill(e,t){const{angle:r,gradientMethod:i,gradientSize:o,gradientSizeUnits:a,gradientType:s,interval:l,primitiveName:n,type:p}=e,m=g.CIMGradientFill,c=e.colorRamp;this._cimLayers.push({type:"gradientFill",name:e.name,spriteRasterizationParam:{type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(n,p)},colorLocked:!1,effects:t,color:[255,255,255,1],gradientMethod:this._getValueOrOverrideExpression(p,n,"GradientMethod",i??"Linear"),angle:this._getValueOrOverrideExpression(p,n,"Angle",N(r,m.angle)),gradientType:this._getValueOrOverrideExpression(p,n,"GradientType",s??m.gradientType),interval:this._getValueOrOverrideExpression(p,n,"Interval",N(l,"CIMFixedColorRamp"===c.type?c.colors.length:m.interval)),gradientSize:this._getValueOrOverrideExpression(p,n,"GradientSize",N(o,m.gradientSize)),gradientSizeUnits:"Absolute"===a?b.Absolute:"Relative"===a?b.Relative:m.gradientSizeUnits})}_analyzeCompositeOutlineFill(e,t,r){const i=e.find(e=>"CIMSolidFill"===e.type),o=e.find(e=>"CIMSolidStroke"===e.type);if(null==i||null==o)return;const a=[...t??[],...i.effects??[]].map(e=>_.findEffectOverrides(e,this._primitiveOverrides)).filter(e=>null!=e),s=[...t??[],...o.effects??[]].map(e=>_.findEffectOverrides(e,this._primitiveOverrides)).filter(e=>null!=e),l=N(o.width,g.CIMSolidStroke.width),n=A(o.capStyle,g.CIMSolidStroke.capstyle),p=A(o.joinStyle,g.CIMSolidStroke.joinstyle),m=o.miterLimit;this._cimLayers.push({type:"outlineFill",name:i.name,colorLocked:!!i.colorLocked,color:this._getValueOrOverrideExpression(i.type,i.primitiveName,"Color",z(i.color)),effects:a,outlineColorLocked:!!o.colorLocked,outlineColor:this._getValueOrOverrideExpression(o.type,o.primitiveName,"Color",z(o.color)),outlineWidth:this._getValueOrOverrideExpression(o.type,o.primitiveName,"Width",l),cap:this._getValueOrOverrideExpression(o.type,o.primitiveName,"CapStyle",n),join:this._getValueOrOverrideExpression(o.type,o.primitiveName,"JoinStyle",p),miterLimit:m&&this._getValueOrOverrideExpression(o.type,o.primitiveName,"MiterLimit",m),referenceWidth:r,outlineEffects:s})}_analyzeSolidStroke(e,t,r,i,o){const{primitiveName:a,type:s}=e,l=z(e.color),p=N(e.width,g.CIMSolidStroke.width),m=A(e.capStyle,g.CIMSolidStroke.capstyle),c=A(e.joinStyle,g.CIMSolidStroke.joinstyle),y=e.miterLimit;let d,f,h,u,v=[];if(this._analyzePrimitiveOverrides(a,t,null,null)&&(v=this._getPrimitiveMaterialOverrides(a,s)),t&&Array.isArray(t)&&t.length>0){const e=t[t.length-1].effect;e&&"CIMGeometricEffectDashes"===e.type&&"NoConstraint"===e.lineDashEnding&&(d=e.dashTemplate,f=e.scaleDash,h=e.offsetAlongLine,u=e.primitiveName,(t=[...t]).pop())}null!=u&&v.push(...this._getPrimitiveMaterialOverrides(u,s).filter(e=>"dashTemplate"===e.propertyName));const O=void 0!==d?{type:"sprite-rasterization-param",resource:{type:"dash",dashTemplate:d,primitiveName:u},overrides:v}:null,S=n(this._poMap,e,o);this._cimLayers.push({type:"line",name:e.name,spriteRasterizationParam:O,isOutline:r,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(s,a,"Color",l),width:this._getValueOrOverrideExpression(s,a,"Width",p),cap:this._getValueOrOverrideExpression(s,a,"CapStyle",m),join:this._getValueOrOverrideExpression(s,a,"JoinStyle",c),miterLimit:y&&this._getValueOrOverrideExpression(s,a,"MiterLimit",y),referenceWidth:i,zOrder:ee(e.name),dashTemplate:this._maybeGetValueOrOverrideExpression(u,"DashTemplate")??d,offsetAlongLine:this._getValueOrOverrideExpression(s,u,"OffsetAlongLine",h??0),scaleDash:f,sampleAlphaOnly:!0,animationParams:le(S)})}_analyzePictureStroke(e,t,r,i,o){const{primitiveName:a,type:s}=e,l=V(e),p=N(e.width,g.CIMPictureStroke.width),m=A(e.capStyle,g.CIMPictureStroke.capstyle),c=A(e.joinStyle,g.CIMPictureStroke.joinstyle),y=e.miterLimit,d={type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(a,s)},f=n(this._poMap,e,o);this._cimLayers.push({type:"line",name:e.name,spriteRasterizationParam:d,isOutline:r,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(s,a,"TintColor",l),width:this._getValueOrOverrideExpression(s,a,"Width",p),cap:this._getValueOrOverrideExpression(s,a,"CapStyle",m),join:this._getValueOrOverrideExpression(s,a,"JoinStyle",c),miterLimit:y&&this._getValueOrOverrideExpression(s,a,"MiterLimit",y),referenceWidth:i,zOrder:ee(e.name),dashTemplate:null,scaleDash:!1,sampleAlphaOnly:!1,animationParams:le(f)})}_analyzeGradientStroke(e,t,r,i){const{gradientMethod:o,gradientSize:a,gradientSizeUnits:s,gradientType:l,interval:n,primitiveName:p,type:m}=e,c=g.CIMGradientStroke,y=N(e.width,c.width),d=A(e.capStyle,c.capstyle),f=A(e.joinStyle,c.joinstyle),h=e.miterLimit,u=e.colorRamp;this._cimLayers.push({type:"gradientStroke",name:e.name,spriteRasterizationParam:{type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(p,m)},colorLocked:!!e.colorLocked,effects:t,color:[255,255,255,1],width:this._getValueOrOverrideExpression(m,p,"Width",y),cap:this._getValueOrOverrideExpression(m,p,"CapStyle",d),join:this._getValueOrOverrideExpression(m,p,"JoinStyle",f),miterLimit:h&&this._getValueOrOverrideExpression(m,p,"MiterLimit",h),referenceWidth:i,isOutline:r,gradientMethod:this._getValueOrOverrideExpression(m,p,"GradientMethod",o??c.gradientMethod),gradientType:this._getValueOrOverrideExpression(m,p,"GradientType",l??c.gradientType),interval:this._getValueOrOverrideExpression(m,p,"Interval",N(n,"CIMFixedColorRamp"===u.type?u.colors.length:c.interval)),gradientSize:this._getValueOrOverrideExpression(m,p,"GradientSize",N(a,c.gradientSize)),gradientSizeUnits:"Absolute"===s?b.Absolute:"Relative"===s?b.Relative:c.gradientSizeUnits})}_analyzeMarker(e,t,r,i,o,a,s,l,y,d=!1,f=!1){d||=!!e.colorLocked;let h=y;if(h=p(e,h),h=m(this._poMap,e,h),h=c(e,h),h=n(this._poMap,e,h),this._analyzeMarkerInsidePolygon(e,t,d,h))return;const u=N(e.size,g.CIMVectorMarker.size),v=N(e.rotation),O=N(e.offsetX),S=N(e.offsetY),{primitiveName:_,type:M}=e,k=this._getValueOrOverrideExpression(M,_,"Size",u),C=this._getValueOrOverrideExpression(M,_,"Rotation",v),x=this._getValueOrOverrideExpression(M,_,"OffsetX",O),b=this._getValueOrOverrideExpression(M,_,"OffsetY",S);switch(e.type){case"CIMPictureMarker":this._analyzePictureMarker(e,t,r,i,o,a,k,C,x,b,l,h,d,f);break;case"CIMVectorMarker":this._analyzeVectorMarker(e,t,r,i,o,a,k,C,x,b,l,h,s,d,f)}}_analyzeMarkerInsidePolygon(e,t,r,i){const{markerPlacement:o,type:s}=e;if(!o||"CIMMarkerPlacementInsidePolygon"!==o.type||i.hasMotionAnimations)return!1;if("CIMVectorMarker"===s||"CIMPictureMarker"===s){const r=e.primitiveName;if(r&&this._analyzePrimitiveOverrides([r],t,null,null))return!1;const i=o.primitiveName;if(i&&this._analyzePrimitiveOverrides([i],t,null,null))return!1;if("CIMVectorMarker"===s){const{markerGraphics:t}=e;if(t)for(const e of t){const{symbol:t}=e;if("CIMPolygonSymbol"===t?.type&&t.symbolLayers){const{symbolLayers:e}=t;for(const t of e)if("CIMSolidStroke"===t.type)return!1}}}else{const{animatedSymbolProperties:t}=e;if(t)return!1}}const l=Math.abs(o.stepX),n=Math.abs(o.stepY);if(0===l||0===n)return!0;let p,m;if("Random"===o.gridType){const e=a(q),t=Math.max(Math.floor(e/l),1);p=n*Math.max(Math.floor(e/n),1);m=t*l/p}else o.shiftOddRows?(p=2*n,m=l/n*.5):(p=n,m=l/n);const c=V(e),y="CIMCharacterMarker"===e.type?null:{type:"sprite-rasterization-param",resource:e,overrides:[]};return this._cimLayers.push({type:"fill",name:e.name,spriteRasterizationParam:y,colorLocked:r,effects:t,color:c,height:p,scaleX:m,angle:o.gridAngle??0,offsetX:N(o.offsetX),offsetY:N(o.offsetY),applyRandomOffset:"Random"===o.gridType,sampleAlphaOnly:"CIMPictureMarker"!==e.type,hasUnresolvedReplacementColor:!0,animationParams:le(i)}),!0}_analyzePictureMarker(e,t,i,o,a,l,n,p,m,c,y,d,f,h){const{animatedSymbolProperties:u,primitiveName:v,type:O}=e;let g=N(e.scaleX,1);const S=V(e);i||(i=this._createMarkerPlacementOverrideExpression(e.markerPlacement));const _=this._createGIFAnimatedSymbolPropertiesOverrideExpression(u),M=e.anchorPoint??{x:0,y:0};if("width"in e&&"number"==typeof e.width){const t=e.width;let r=1;const i=this._resourceManager.getResource(e.url);null!=i&&(r=i.width/i.height);g/=r*(N(e.size)/t)}const k=[...o];let C;e.primitiveName&&k.push(e.primitiveName),u||_?C={type:"animated",url:e.url,urlHash:"H"+s(e.url),playAnimation:e.animatedSymbolProperties?.playAnimation,reverseAnimation:e.animatedSymbolProperties?.reverseAnimation,randomizeStartTime:e.animatedSymbolProperties?.randomizeStartTime,randomizeStartSeed:e.animatedSymbolProperties?.randomizeStartSeed,startTimeOffset:e.animatedSymbolProperties?.startTimeOffset,duration:e.animatedSymbolProperties?.duration,repeatType:e.animatedSymbolProperties?.repeatType,repeatDelay:e.animatedSymbolProperties?.repeatDelay}:(C=r(e),C.markerPlacement=null);const x={type:"sprite-rasterization-param",resource:C,overrides:this._getMaterialOverrides(k,O)};_&&x.overrides.push(..._.overrides);const b=n;this._cimLayers.push({type:"marker",name:e.name,spriteRasterizationParam:x,colorLocked:f,effects:t,scaleSymbolsProportionally:!1,alignment:a,size:n,scaleX:this._getValueOrOverrideExpression(O,v,"ScaleX",g),rotation:p,offsetX:m,offsetY:c,transform:{type:"cim-marker-transform-param",params:y},color:this._getValueOrOverrideExpression(O,v,"TintColor",S),anchorPoint:{x:M.x,y:M.y},isAbsoluteAnchorPoint:"Relative"!==e.anchorPointUnits,outlineColor:[0,0,0,0],outlineWidth:0,frameHeight:0,widthRatio:1,rotateClockwise:!!e.rotateClockwise,referenceSize:l,sizeRatio:1,isOutline:h,markerPlacement:i,animationParams:le(d),baseSize:b})}_analyzeVectorMarker(e,t,r,i,o,a,s,l,p,m,c,h,u,v,O){const g=e.markerGraphics;if(!g)return;const S=e.frame;let _=0;_=S?S.ymax-S.ymin:a;const M=!!e.scaleSymbolsProportionally;if(_){const t={offsetX:p,offsetY:m,rotation:l,size:s,frameHeight:_,rotateClockWise:!!e.rotateClockwise,absoluteAnchorPoint:!1,scaleSymbolsProportionally:M};c=[...c,t]}r||(r=this._createMarkerPlacementOverrideExpression(e.markerPlacement));for(const k of g)if(k){const s=k.symbol;if(!s)continue;const l=k.primitiveName;l&&i.push(l);let p,m=h;if(("CIMPointSymbol"===s.type||"CIMTextSymbol"===s.type)&&S){let t=0,r=0;const i=k.geometry;"x"in i&&"y"in i&&(t+=i.x-.5*(S.xmin+S.xmax),r+=i.y-.5*(S.ymin+S.ymax));const o=e.anchorPoint;let a=!1;o&&("Absolute"===e.anchorPointUnits?(t-=o.x,r-=o.y,a=!0):S&&(t-=(S.xmax-S.xmin)*o.x,r-=(S.ymax-S.ymin)*o.y));const s={offsetX:t,offsetY:r,rotation:0,size:0,frameHeight:0,rotateClockWise:!1,absoluteAnchorPoint:a,scaleSymbolsProportionally:M};p=[...c,s]}const g=k.geometry,[C,x]=y(g,S);switch(0===C&&0===x||(m=d(m,C,x)),"CIMPointSymbol"===s.type&&(m=n(this._poMap,s,m)),s.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":u||ie(s)?(m={...m,transform:{type:"AnimatedTransform",relativeTranslation:!1,absoluteScale:!0,translation:f([0,0]),rotation:f(0),scale:f(_),parent:h.transform}},this._analyzeMultiLayerGraphicNonSDF(e,t,r,k,i,o,a,p??c,m,_,v,O)):this._analyzeMultiLayerGraphic(e,t,r,k,i,o,a,p??c,m,_,v,O);break;case"CIMTextSymbol":this._analyzeTextGraphic(t,r,k,i,o,a,p??c,v)}l&&i.pop()}}_analyzeMultiLayerGraphic(e,t,r,i,o,a,s,l,n,p,m,c){const y=i.symbol,d=y.symbolLayers;if(d){if(!re(d)||h(n))return oe(d)?(u(y,e=>{e.colorLocked&&(m=!0)}),void this._analyzeMultiLayerGraphicNonSDF(e,t,r,i,o,a,s,l,n,p,m,c)):void this._analyzeMarkerGraphicSymbolLayers(e,t,r,i,o,a,s,l,n,p,m,c);this._analyzeCompositeMarkerGraphic(e,t,r,i,d,a,s,l,p,m,c)}}_analyzeMarkerGraphicSymbolLayers(e,t,r,i,o,a,s,l,p,m,c,y){const d=i.symbol,f=d.symbolLayers;if(!f)return;const h=J.applyEffects(d.effects,i.geometry);if(!h)return;let u=f.length;for(;u--;){const d=f[u];if(!d||!1===d.enable)continue;const v=d.primitiveName;switch(v&&o.push(v),d.type){case"CIMSolidFill":case"CIMSolidStroke":{const o=J.applyEffects(d.effects,h),f=k(o);if(!f)continue;const u="Relative"!==e.anchorPointUnits,O="CIMSolidStroke"===d.type?d.width:0,{frameSizeRatio:S,anchorX:_,anchorY:M,widthRatio:b,sdfPaddingRatio:P,sdfTextureSize:I}=C(f,e.frame,e.size,e.anchorPoint,u,O,e.scaleSymbolsProportionally),E="CIMSolidFill"===d.type,L={type:"sdf",geometry:o,sdfPaddingRatio:P,asFill:E,sdfTextureSize:I},{path:V}=d,R=E?z(w(d)):null==V?z(G(d)):[0,0,0,0],T=E?[0,0,0,0]:z(G(d));if(!E&&!O)break;const A=i.primitiveName;let F=null;E&&!d.colorLocked&&(F=this._maybeGetValueOrOverrideExpression(A,"FillColor"));let X=null;E||d.colorLocked||(X=this._maybeGetValueOrOverrideExpression(A,"StrokeColor"));const j=F??this._getValueOrOverrideExpression(d.type,v,"Color",R),Y=X??this._getValueOrOverrideExpression(d.type,v,"Color",T),W=this._maybeGetValueOrOverrideExpression(A,"StrokeWidth")??this._getValueOrOverrideExpression(d.type,v,"Width",O),D=V?{type:"sprite-rasterization-param",resource:{type:"path",path:V,asFill:E},overrides:[]}:{type:"sprite-rasterization-param",resource:L,overrides:[]},U=n(this._poMap,d,p),H=N(e.size,g.CIMVectorMarker.size),B=this._getValueOrOverrideExpression(e.type,e.primitiveName,"Size",H);this._cimLayers.push({type:"marker",name:d.name,groupName:e.name,spriteRasterizationParam:D,colorLocked:!!d.colorLocked||!!c,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:a,anchorPoint:{x:_,y:M},isAbsoluteAnchorPoint:u,size:m,rotation:0,offsetX:0,offsetY:0,scaleX:1,transform:{type:"cim-marker-transform-param",params:l},frameHeight:m,widthRatio:b,rotateClockwise:!1,referenceSize:s,sizeRatio:S,color:j,outlineColor:Y,outlineWidth:W,isOutline:y,markerPlacement:r,animationParams:le(U),isStroke:"CIMSolidFill"!==d.type,baseSize:B,...x(o,I,P)});break}case"CIMPictureMarker":case"CIMVectorMarker":if(d.markerPlacement){K().error("Error analyzing CIM, got unexpected marker placement");break}this._analyzeMarker(d,t,r,o,a,s,!1,l,p,c,y)}v&&o.pop()}}_analyzeTextGraphic(e,r,i,o,a,s,l,n){const p=[];_.findApplicableOverrides(i,this._primitiveOverrides,p);const m=i.geometry;if(!("x"in m)||!("y"in m))return;const c=i.symbol,y=F(c),d=X(c.fontStyleName),f=t(c.fontFamilyName);c.font={family:f,decoration:y,...d};const h=N(c.height,g.CIMTextSymbol.height),u=N(c.angle),v=N(c.offsetX),O=N(c.offsetY),{haloSymbol:S}=c,k=N(c.haloSize,0);let C=[0,0,0,0];if(S?.symbolLayers?.length){const e=S.symbolLayers;for(const t of e)if(t.color){C=this._getValueOrOverrideExpression(c?.haloSymbol?.type??"CIMPolygonSymbol",t.primitiveName,"Color",z(t.color));break}}const x=i.primitiveName;let b=[0,0,0,1],P=[0,0,0,0],I=0,E=!1;if(c.symbol?.symbolLayers)for(const t of c.symbol.symbolLayers){const e=t.primitiveName;if("CIMSolidStroke"===t.type)P=this._getValueOrOverrideExpression("CIMSolidStroke",e,"Color",z(t.color)),I=this._getValueOrOverrideExpression("CIMSolidStroke",e,"Width",j(t)??0);else if("CIMSolidFill"===t.type){const r=z(t.color);E=E??!!t.colorLocked,b=this._getValueOrOverrideExpression("CIMSolidFill",e??x,"Color",r)}}let L=null,V=null,R=null,T=null,A=null;x&&(L=this._maybeGetValueOrOverrideExpression(x,"TextSize"),V=this._maybeGetValueOrOverrideExpression(x,"TextAngle"),R=this._maybeGetValueOrOverrideExpression(x,"TextOffsetX"),T=this._maybeGetValueOrOverrideExpression(x,"TextOffsetY"),E||(A=this._maybeGetValueOrOverrideExpression(x,"FillColor")));const w=A??b;let G=null,D=null,U=0;if("CIMBackgroundCallout"===c.callout?.type){const e=c.callout;if(e.backgroundSymbol){const t=e.backgroundSymbol.symbolLayers;if(t)for(const e of t)"CIMSolidFill"===e.type?G=z(e.color):"CIMSolidStroke"===e.type&&(D=z(e.color),U=N(e.width,g.CIMSolidStroke.width))}}const H=this._getValueOrOverrideExpression(c.type,i.primitiveName,"TextString",i.textString??"");if(null==H)return;const{fontStyleName:J}=c,B=f+(J?"-"+J.toLowerCase():"-regular"),q=this._getMaterialOverrides(o,c.type);q.push(...this._getPrimitiveMaterialOverrides(i.primitiveName,c.type)),this._collectDictionaryTemplateOverrides(q,i);const K={type:"text-rasterization-param",resource:{type:"text",textString:i.textString??"",font:c.font,symbol:c,primitiveName:i.primitiveName,supportsRichText:M(i.textString??"")||q.some(e=>"textString"===e.propertyName)},overrides:q};this._cimLayers.push({type:"text",lineWidth:c.lineWidth,textRasterizationParam:K,colorLocked:!!n||!!E,effects:e,alignment:a,anchorPoint:{x:0,y:0},isAbsoluteAnchorPoint:!1,fontName:B,decoration:y,haloSize:k,haloColor:C,weight:d.weight,style:d.style,size:L??h,angle:V??u,offsetX:R??v,offsetY:T??O,transform:{type:"cim-marker-transform-param",params:l},horizontalAlignment:W(c.horizontalAlignment),verticalAlignment:Y(c.verticalAlignment),text:H,color:w,outlineColor:P,outlineSize:I,backgroundColor:G,borderLineColor:D,borderLineWidth:U,referenceSize:s,sizeRatio:1,markerPlacement:r})}_collectDictionaryTemplateOverrides(e,t){if(t.textString&&this._hasTextStringTemplates){const r=D(t.symbol);e.push({propertyName:"textString",defaultValue:"",valueExpressionInfo:{type:"dictionary-template",textCase:r,template:t.textString},primitiveName:t.primitiveName})}}_analyzeMultiLayerGraphicNonSDF(e,t,r,i,a,s,l,n,p,m,c,y){const d=$(e,i),f=e.primitiveName,h=this._analyzeMaterialOverrides(f,["Rotation","OffsetX","OffsetY"]),u=R(h),[O,S,_]=v.getTextureAnchor(d,this._resourceManager,B),M=this._getMaterialOverrides(a,e.type).filter(e=>e.primitiveName!==f||!["rotation","offsetX","offsetY"].includes(e.propertyName));M.push(...u);const k={type:"sprite-rasterization-param",resource:{...d,avoidSDFRasterization:!0},overrides:M},C=N(e.size,g.CIMVectorMarker.size),x=this._getValueOrOverrideExpression(e.type,f,"Size",C);this._cimLayers.push({type:"marker",name:e.name,spriteRasterizationParam:k,colorLocked:c,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:s,anchorPoint:{x:O,y:S},isAbsoluteAnchorPoint:!1,size:m,rotation:0,offsetX:0,offsetY:0,transform:{type:"cim-marker-transform-param",params:n},color:[255,255,255,1],outlineColor:[0,0,0,0],outlineWidth:0,scaleX:1,frameHeight:m,widthRatio:1,rotateClockwise:!!e.rotateClockwise,referenceSize:l,sizeRatio:_/o(e.size),isOutline:y,markerPlacement:r,animationParams:le(p),baseSize:x})}_createMarkerPlacementOverrideExpression(e){if(!e)return null;const t=[];return _.findApplicableOverrides(e,this._primitiveOverrides,t),{type:"cim-marker-placement-param",placement:e,overrides:se(t)}}_createGIFAnimatedSymbolPropertiesOverrideExpression(e){if(!e)return null;const t=[];return _.findApplicableOverrides(e,this._primitiveOverrides,t),{type:"cim-gif-animation-params",animation:e,overrides:se(t)}}_analyzeCompositeMarkerGraphic(e,t,r,i,o,a,s,l,n,p,m){const c=i.geometry,y=o[0],d=o[1],f=k(c);if(!f)return;const h="Relative"!==e.anchorPointUnits,u=N(y.width,g.CIMSolidStroke.width),{frameSizeRatio:v,anchorX:O,anchorY:S,widthRatio:_,sdfPaddingRatio:M,sdfTextureSize:x}=C(f,e.frame,e.size,e.anchorPoint,h,u,e.scaleSymbolsProportionally),{path:b}=d,P=d.primitiveName,I=y.primitiveName,E=i.primitiveName;let L=null;d.colorLocked||p||(L=this._maybeGetValueOrOverrideExpression(E,"FillColor"));const V=L??this._getValueOrOverrideExpression(d.type,P,"Color",z(d.color));let R=null;y.colorLocked||p||(R=this._maybeGetValueOrOverrideExpression(E,"StrokeColor"));const T=R??this._getValueOrOverrideExpression(y.type,I,"Color",z(y.color)),A=this._maybeGetValueOrOverrideExpression(E,"StrokeWidth")??this._getValueOrOverrideExpression(y.type,I,"Width",u),w={type:"sprite-rasterization-param",resource:b?{type:"path",path:b,asFill:!0}:{type:"sdf",geometry:c,sdfTextureSize:x,sdfPaddingRatio:M,asFill:!0},overrides:[]};this._cimLayers.push({type:"marker",name:e.name,spriteRasterizationParam:w,colorLocked:p,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:a,anchorPoint:{x:O,y:S},isAbsoluteAnchorPoint:h,size:n,rotation:0,offsetX:0,offsetY:0,scaleX:1,transform:{type:"cim-marker-transform-param",params:l},frameHeight:n,widthRatio:_,rotateClockwise:!1,referenceSize:s,sizeRatio:v,color:V,outlineColor:T,outlineWidth:A,isOutline:m,markerPlacement:r})}_setPoMap(e,t,r){let i;this._poMap[e]?i=this._poMap[e]:(i={},this._poMap[e]=i),i[t]=r}_maybeGetValueOrOverrideExpression(e,t,r){return this._getValueOrOverrideExpression("",e,t,r,!1)}_getValueOrOverrideExpression(e,t,r,i,o=!0){if(o&&!U(i)&&(i=T(e,r.toLowerCase())),null==t)return i;const a=this._poMap[t];if(null==a)return i;const s=a[r];return"string"==typeof s||"number"==typeof s||Array.isArray(s)?s:s?{valueExpressionInfo:s,defaultValue:i}:i}_analyzePrimitiveOverrides(e,t,r,i){if(null==e)return!1;"string"==typeof e&&(e=[e]);for(const o of this._primitiveOverrides)if(e.includes(o.primitiveName)&&o.valueExpressionInfo)return!0;if(null!=t)for(const o of t)if(o?.overrides.length>0)return!0;if(null!=r)for(const o of r)if(o?.overrides.length>0)return!0;if(null!=i)for(const o of i)if(o?.overrides.length>0)return!0;return!1}_getMaterialOverrides(e,t){if(!e)return[];const r=[];for(const i of e)r.push(...this._getPrimitiveMaterialOverrides(i,t));return r}_getPrimitiveMaterialOverrides(e,t){if(!e)return[];const r=R(this._primitiveOverrides.filter(t=>t.primitiveName===e));return r.forEach(e=>e.defaultValue=T(t,e.propertyName.toLowerCase())),r}_analyzeMaterialOverrides(e,t){return this._primitiveOverrides.filter(r=>r.primitiveName!==e||!t.includes(r.propertyName))}}function $(e,t){return{type:e.type,enable:!0,name:e.name,colorLocked:e.colorLocked,primitiveName:e.primitiveName,anchorPoint:e.anchorPoint,anchorPointUnits:e.anchorPointUnits,offsetX:0,offsetY:0,rotateClockwise:e.rotateClockwise,rotation:0,size:e.size,billboardMode3D:e.billboardMode3D,depth3D:e.depth3D,frame:e.frame,markerGraphics:[t],scaleSymbolsProportionally:e.scaleSymbolsProportionally,respectFrame:e.respectFrame,clippingPath:e.clippingPath}}function ee(e){if(e?.startsWith("Level_")){const t=parseInt(e.slice(6),10);if(!isNaN(t))return t}return 0}function te(e,t){if(!t||0===t.length)return e;const i=r(e);return _.applyOverrides(i,t),i}const re=e=>e&&2===e.length&&e[0].enable&&e[1].enable&&"CIMSolidStroke"===e[0].type&&"CIMSolidFill"===e[1].type&&null==e[0].path&&null==e[1].path&&!e[0].effects&&!e[1].effects&&!e[0].animations&&!e[1].animations;function ie(e){const t=e.symbolLayers;if(!t)return!1;const r=t.find(e=>e.effects?.find(e=>"CIMGeometricEffectDashes"===e.type&&null!=e.dashTemplate)),i=t.find(e=>e.effects?.find(e=>"CIMGeometricEffectAddControlPoints"===e.type));return!!r||!!i}function oe(e){return e.some(e=>"CIMSolidFill"!==e.type&&"CIMSolidStroke"!==e.type&&("CIMVectorMarker"!==e.type&&"CIMPictureMarker"!==e.type||null!=e.markerPlacement))}function ae(e,t){if((t?.some(e=>"CIMGeometricEffectRadial"===e.type)&&t?.some(e=>"CIMGeometricEffectTaperedPolygon"===e.type)||t?.some(e=>"CIMGeometricEffectCircularSector"===e.type))&&2===e.length){const t=e.find(e=>"CIMSolidFill"===e.type),r=e.find(e=>"CIMSolidStroke"===e.type),i=r?.effects?.some(e=>"CIMGeometricEffectDashes"===e.type);if(null!=t&&null!=r&&!i)return!0}return!1}function se(e){return r(e).map(e=>({...e,propertyName:H(e.propertyName)}))}function le(e){return h(e)?{type:"animation-params",params:e}:null}export{Z as CIMAnalyzer,te as analyzeCIMResource};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{CIMSymbolUnits as e}from"./types.js";const t={color:[128,128,128,1],outlinecolor:[0,0,0,1],backgroundcolor:[128,128,128,1],borderlinecolor:[0,0,0,1],tintcolor:[255,255,255,1]},o={CIMVectorMarker:{scalesymbolsproportionally:!1,respectframe:!0,anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMPictureMarker:{scalex:1,texturefilter:"Draft",anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMTextSymbol:{angle:0,anglex:0,angley:0,halosize:1,height:10,horizontalalignment:"Left",kerning:!0,letterspacing:0,letterwidth:100,ligatures:!0,linegap:0,offsetx:0,offsety:0,strikethrough:!1,textcase:"Normal",textstring:"",underline:!1,verticalalignment:"Bottom",enable:!0,colorlocked:!1},CIMSolidStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMPictureStroke:{texturefilter:"Draft",capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMGradientStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1,gradientMethod:"AcrossLine",gradientSize:75,gradientSizeUnits:e.Relative,gradientType:"Discrete",interval:5},CIMSolidFill:{enable:!0,colorlocked:!1},CIMPictureFill:{offsetx:0,offsety:0,rotation:0,scalex:1,height:10,texturefilter:"Draft",enable:!0,colorlocked:!1},CIMHatchFill:{offsetx:0,offsety:0,rotation:0,separation:4,enable:!0,colorlocked:!1},CIMGradientFill:{enable:!0,angle:90,gradientMethod:"Linear",gradientSize:75,gradientSizeUnits:e.Relative,gradientType:"Discrete",interval:5},CIMGeometricEffectAddControlPoints:{angletolerance:120},CIMGeometricEffectArrow:{arrowtype:"OpenEnded",width:5},CIMGeometricEffectBuffer:{size:1},CIMGeometricEffectCut:{begincut:1,endcut:1,middlecut:0,invert:!1},CIMGeometricEffectDashes:{customendingoffset:0,linedashending:"NoConstraint",offsetalongline:0},CIMGeometricEffectDonut:{method:"Mitered",option:"Accurate",width:2},CIMGeometricEffectJog:{angle:225,length:20,position:50},CIMGeometricEffectControlMeasureLine:{rule:"FullGeometry",width:25},CIMGeometricEffectMove:{offsetx:1,offsety:-1},CIMGeometricEffectOffset:{method:"Square",offset:1,option:"Fast"},CIMGeometricEffectRadial:{angle:0,length:5},CIMGeometricEffectRotate:{angle:15},CIMGeometricEffectScale:{xscalefactor:1.15,yscalefactor:1.15},CIMGeometricEffectWave:{amplitude:2,period:3,seed:1,waveform:"Sinus"},CIMMarkerPlacementAlongLine:{customendingoffset:0,endings:"WithHalfGap",offsetalongline:0,placeperpart:!0,angletoline:!0,offset:0},CIMMarkerPlacementAtExtremities:{extremityplacement:"Both",offsetalongline:0,angletoline:!0,offset:0},CIMMarkerPlacementAtRatioPositions:{beginposition:0,endposition:0,flipfirst:!0,angletoline:!0,offset:0},CIMMarkerPlacementInsidePolygon:{gridangle:0,gridtype:"Fixed",offsetx:0,offsety:0,randomness:100,seed:0,shiftoddrows:!1,stepx:16,stepy:16,clipping:"ClipAtBoundary"},CIMMarkerPlacementOnLine:{relativeto:"LineMiddle",startpointoffset:0,angletoline:!0,offset:0},CIMMarkerPlacementOnVertices:{placeperpart:!0,placeoncontrolpoints:!0,placeonendpoints:!0,placeonregularvertices:!0,angletoline:!0,offset:0},CIMMarkerPlacementPolygonCenter:{method:"OnPolygon",offsetx:0,offsety:0,clipatboundary:!1},CIMAnimatedSymbolProperties:{playanimation:!1,reverseanimation:!1,randomizestarttime:!1,randomizestartseed:0,starttimeoffset:0,duration:3,endingduration:3,useendingduration:!1,repeattype:"Loop",repeatdelay:0,easing:"Linear"},CIMSymbolAnimationSize:{tosize:10},CIMSymbolAnimationScale:{scalefactor:1},CIMSymbolAnimationColor:{tocolor:[255,255,255,1],colormode:"Multiply"},CIMSymbolAnimationTransparency:{totransparency:0},CIMSymbolAnimationRotation:{torotation:0,rotateclockwise:!1},CIMSymbolAnimationOffset:{offsetx:0,offsety:0},CIMSymbolAnimationMoveAlongLine:{speed:30,distancealong:100,movementtype:"Distance"}};export{t as defaultCIMColor,o as defaultCIMValues};
2
+ import{CIMSymbolUnits as e}from"./types.js";const t={color:[128,128,128,1],outlinecolor:[0,0,0,1],backgroundcolor:[128,128,128,1],borderlinecolor:[0,0,0,1],tintcolor:[255,255,255,1]},o={CIMVectorMarker:{scalesymbolsproportionally:!1,respectframe:!0,anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMPictureMarker:{scalex:1,texturefilter:"Draft",anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMTextSymbol:{angle:0,anglex:0,angley:0,halosize:1,height:10,horizontalalignment:"Left",kerning:!0,letterspacing:0,letterwidth:100,ligatures:!0,linegap:0,offsetx:0,offsety:0,strikethrough:!1,textcase:"Normal",textstring:"",underline:!1,verticalalignment:"Bottom",enable:!0,colorlocked:!1},CIMSolidStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMPictureStroke:{texturefilter:"Draft",capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMGradientStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1,gradientMethod:"AcrossLine",gradientSize:75,gradientSizeUnits:e.Relative,gradientType:"Discrete",interval:5},CIMSolidFill:{enable:!0,colorlocked:!1},CIMPictureFill:{offsetx:0,offsety:0,rotation:0,scalex:1,height:10,texturefilter:"Draft",enable:!0,colorlocked:!1},CIMHatchFill:{offsetx:0,offsety:0,rotation:0,separation:4,enable:!0,colorlocked:!1},CIMGradientFill:{enable:!0,angle:90,gradientMethod:"Linear",gradientSize:75,gradientSizeUnits:e.Relative,gradientType:"Discrete",interval:5},CIMGeometricEffectAddControlPoints:{angletolerance:120},CIMGeometricEffectArrow:{arrowtype:"OpenEnded",width:5},CIMGeometricEffectBuffer:{size:1},CIMGeometricEffectCircularSector:{radius:25,startangle:0,endangle:45},CIMGeometricEffectCut:{begincut:1,endcut:1,middlecut:0,invert:!1},CIMGeometricEffectDashes:{customendingoffset:0,linedashending:"NoConstraint",offsetalongline:0},CIMGeometricEffectDonut:{method:"Mitered",option:"Accurate",width:2},CIMGeometricEffectJog:{angle:225,length:20,position:50},CIMGeometricEffectControlMeasureLine:{rule:"FullGeometry",width:25},CIMGeometricEffectMove:{offsetx:1,offsety:-1},CIMGeometricEffectOffset:{method:"Square",offset:1,option:"Fast"},CIMGeometricEffectRadial:{angle:0,length:5},CIMGeometricEffectRotate:{angle:15},CIMGeometricEffectScale:{xscalefactor:1.15,yscalefactor:1.15},CIMGeometricEffectWave:{amplitude:2,period:3,seed:1,waveform:"Sinus"},CIMMarkerPlacementAlongLine:{customendingoffset:0,endings:"WithHalfGap",offsetalongline:0,placeperpart:!0,angletoline:!0,offset:0},CIMMarkerPlacementAtExtremities:{extremityplacement:"Both",offsetalongline:0,angletoline:!0,offset:0},CIMMarkerPlacementAtRatioPositions:{beginposition:0,endposition:0,flipfirst:!0,angletoline:!0,offset:0},CIMMarkerPlacementInsidePolygon:{gridangle:0,gridtype:"Fixed",offsetx:0,offsety:0,randomness:100,seed:0,shiftoddrows:!1,stepx:16,stepy:16,clipping:"ClipAtBoundary"},CIMMarkerPlacementOnLine:{relativeto:"LineMiddle",startpointoffset:0,angletoline:!0,offset:0},CIMMarkerPlacementOnVertices:{placeperpart:!0,placeoncontrolpoints:!0,placeonendpoints:!0,placeonregularvertices:!0,angletoline:!0,offset:0},CIMMarkerPlacementPolygonCenter:{method:"OnPolygon",offsetx:0,offsety:0,clipatboundary:!1},CIMAnimatedSymbolProperties:{playanimation:!1,reverseanimation:!1,randomizestarttime:!1,randomizestartseed:0,starttimeoffset:0,duration:3,endingduration:3,useendingduration:!1,repeattype:"Loop",repeatdelay:0,easing:"Linear"},CIMSymbolAnimationSize:{tosize:10},CIMSymbolAnimationScale:{scalefactor:1},CIMSymbolAnimationColor:{tocolor:[255,255,255,1],colormode:"Multiply"},CIMSymbolAnimationTransparency:{totransparency:0},CIMSymbolAnimationRotation:{torotation:0,rotateclockwise:!1},CIMSymbolAnimationOffset:{offsetx:0,offsety:0},CIMSymbolAnimationMoveAlongLine:{speed:30,distancealong:100,movementtype:"Distance"}};export{t as defaultCIMColor,o as defaultCIMValues};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{clamp as t}from"../../../core/mathUtils.js";import{GeometryCursor as e}from"../../../geometry/GeometryCursor.js";import{defaultCIMValues as i}from"../defaultCIMValues.js";const s=Math.PI/180,r=2*Math.PI;class n{static{this.instance=null}static local(){return null===n.instance&&(n.instance=new n),n.instance}execute(t,e,i){return new o(t,e,i)}}class o{constructor(t,e,r){const n=r.geomUnitsPerPoint;this._inputGeometries=t,this._geomUnitsPerPoint=n,this._radius=(e.radius??i.CIMGeometricEffectCircularSector.radius)*n,this._startAngle=(e.startAngle??i.CIMGeometricEffectCircularSector.startangle)*s,this._endAngle=(e.endAngle??i.CIMGeometricEffectCircularSector.endangle)*s}next(){if(this._radius<=0)return null;let t=this._inputGeometries.next();for(;t;){if("esriGeometryPoint"===t.geometryType&&t.nextPath()&&t.nextPoint()){const i=this._buildRing(t.x,t.y,t.hasZ?t.z:void 0),s=e.createEmptyOptimizedCIM("esriGeometryPolygon",t.hasZ,!1);return s.pushPath(i),s}t=this._inputGeometries.next()}return null}_buildRing(e,i,s){const n=[this._makePoint(e,i,s)],o=a(this._startAngle);let h=a(this._endAngle);for(;h<o;)h+=r;const u=h-o;if(0===u)return n.push(this._makePoint(e+this._radius*Math.cos(h),i+this._radius*Math.sin(h),s)),n.push(this._makePoint(e,i,s)),n;const c=.25*this._geomUnitsPerPoint,l=this._radius<=.5*c?r:2*Math.acos(t(1-c/this._radius,-1,1)),m=Math.max(1,Math.ceil(u/l)),_=u/m;let d=h;for(let t=0;t<=m;t++,d-=_)n.push(this._makePoint(e+this._radius*Math.cos(d),i+this._radius*Math.sin(d),s));return n.push(this._makePoint(e,i,s)),n}_makePoint(t,e,i){return null==i?[t,e]:[t,e,i]}}function a(t){return(t%=r)<0?t+r:t}export{n as EffectCircularSector};
@@ -261,7 +261,7 @@ export type CIMGeometricEffects = CIMGeometricEffect[];
261
261
  * @see [CIMGradientStroke.effects](https://developers.arcgis.com/javascript/latest/references/core/symbols/cim/types/#CIMGradientStroke)
262
262
  * @see [CIMGradientFill.effects](https://developers.arcgis.com/javascript/latest/references/core/symbols/cim/types/#CIMGradientFill)
263
263
  */
264
- export type CIMGeometricEffect = CIMGeometricEffectAddControlPoints | CIMGeometricEffectAddControlPoints | CIMGeometricEffectArrow | CIMGeometricEffectBuffer | CIMGeometricEffectControlMeasureLine | CIMGeometricEffectCut | CIMGeometricEffectDashes | CIMGeometricEffectDonut | CIMGeometricEffectEnclosingPolygon | CIMGeometricEffectJog | CIMGeometricEffectMove | CIMGeometricEffectOffset | CIMGeometricEffectRadial | CIMGeometricEffectRotate | CIMGeometricEffectScale | CIMGeometricEffectSuppress | CIMGeometricEffectTaperedPolygon | CIMGeometricEffectWave;
264
+ export type CIMGeometricEffect = CIMGeometricEffectAddControlPoints | CIMGeometricEffectAddControlPoints | CIMGeometricEffectArrow | CIMGeometricEffectBuffer | CIMGeometricEffectCircularSector | CIMGeometricEffectControlMeasureLine | CIMGeometricEffectCut | CIMGeometricEffectDashes | CIMGeometricEffectDonut | CIMGeometricEffectEnclosingPolygon | CIMGeometricEffectJog | CIMGeometricEffectMove | CIMGeometricEffectOffset | CIMGeometricEffectRadial | CIMGeometricEffectRotate | CIMGeometricEffectScale | CIMGeometricEffectSuppress | CIMGeometricEffectTaperedPolygon | CIMGeometricEffectWave;
265
265
 
266
266
  /** @since 5.0 */
267
267
  export interface CIMSymbolLayer {
@@ -511,6 +511,47 @@ export interface CIMGeometricEffectBuffer extends CIMGeometricEffectBase {
511
511
  size: number;
512
512
  }
513
513
 
514
+ /**
515
+ * Represents the circular sector geometric effect which creates a dynamic sector from a point.
516
+ *
517
+ * ```json
518
+ * {
519
+ * "type": "CIMGeometricEffectCircularSector",
520
+ * "startAngle": 0,
521
+ * "endAngle": 45,
522
+ * "radius": 25
523
+ * }
524
+ * ```
525
+ *
526
+ * @since 5.2
527
+ * @see [CIMGeometricEffect](https://developers.arcgis.com/javascript/latest/references/core/symbols/cim/types/#CIMGeometricEffect)
528
+ */
529
+ export interface CIMGeometricEffectCircularSector extends CIMGeometricEffectBase {
530
+ /** @since 5.2 */
531
+ type: "CIMGeometricEffectCircularSector";
532
+ /**
533
+ * The starting angle of the sector. The angle is calculated in a counter-clockwise manner with 0 degrees equal to due east.
534
+ *
535
+ * @default 0
536
+ * @since 5.2
537
+ */
538
+ startAngle?: number;
539
+ /**
540
+ * The ending angle of the sector. The angle is calculated in a counter-clockwise manner with 0 degrees equal to due east.
541
+ *
542
+ * @default 45
543
+ * @since 5.2
544
+ */
545
+ endAngle?: number;
546
+ /**
547
+ * The sector radius in points.
548
+ *
549
+ * @default 25
550
+ * @since 5.2
551
+ */
552
+ radius?: number;
553
+ }
554
+
514
555
  /**
515
556
  * Represents the control measure line geometric effect.
516
557
  *
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{defaultCIMValues as e,defaultCIMColor as t}from"./defaultCIMValues.js";function r(e){return"function"==typeof e}function n(e,t,n,o){return r(e)?e(t,n,o):e}function o(e){return[e.r,e.g,e.b,e.a]}const i=" /-,\n";function l(e){let t=e.length;for(;t--;)if(!i.includes(e.charAt(t)))return!1;return!0}function a(e,t){const r=[];let n=0,o=-1;do{if(o=e.indexOf("[",n),o>=n){if(o>n){const t=e.slice(n,o);r.push([t,null,l(t)])}if(n=o+1,o=e.indexOf("]",n),o>=n){if(o>n){const i=t[e.slice(n,o)];i&&r.push([null,i,!1])}n=o+1}}}while(-1!==o);if(n<e.length){const t=e.slice(n);r.push([t,null,l(t)])}return r}function c(e,t,r){let n="",o=null;for(const i of t){const[t,r,l]=i;if(null!=t&&""!==t)l?o=t:(null!=o&&(n+=o,o=null),n+=t);else{const t=e.readAttribute(r);null!=t&&""!==t&&(null!==o&&(n+=o,o=null),n+=t)}}return u(n,r)}function s(e,t,r,n){let o="",i=null;for(const l of t){const[t,n,a]=l;if(null!=t&&""!==t)a?i=t:(null!=i&&(o+=i,i=null),o+=t);else{let t=n;null!=r&&(t=Y(n,r));const l=e.attributes[t];null!=l&&""!==l&&(null!=i&&(o+=i,i=null),o+=l)}}return u(o,n)}function u(e,t){switch("string"!=typeof e&&(e=String(e)),t){case"LowerCase":return e.toLowerCase();case"Allcaps":return e.toUpperCase();default:return e}}function f(e,t,r,n,o,i,l=!0){const a=t/o,c=r/i,s=Math.ceil(a/2),u=Math.ceil(c/2);for(let f=0;f<i;f++)for(let r=0;r<o;r++){const M=4*(r+(l?i-f-1:f)*o);let m=0,y=0,C=0,h=0,I=0,p=0,b=0;const d=(f+.5)*c;for(let n=Math.floor(f*c);n<(f+1)*c;n++){const o=Math.abs(d-(n+.5))/u,i=(r+.5)*a,l=o*o;for(let c=Math.floor(r*a);c<(r+1)*a;c++){let r=Math.abs(i-(c+.5))/s;const o=Math.sqrt(l+r*r);o>=-1&&o<=1&&(m=2*o*o*o-3*o*o+1,m>0&&(r=4*(c+n*t),b+=m*e[r+3],C+=m,e[r+3]<255&&(m=m*e[r+3]/250),h+=m*e[r],I+=m*e[r+1],p+=m*e[r+2],y+=m))}}n[M]=h/y,n[M+1]=I/y,n[M+2]=p/y,n[M+3]=b/C}}function M(e){return e?[e[0],e[1],e[2],e[3]/255]:[0,0,0,0]}function m(e){return e.data?.symbol??null}function y(e){return"CIMVectorMarker"===e.type||"CIMPictureMarker"===e.type||"CIMBarChartMarker"===e.type||"CIMCharacterMarker"===e.type||"CIMPieChartMarker"===e.type||"CIMStackedBarChartMarker"===e.type}function C(e){return"CIMGradientStroke"===e.type||"CIMPictureStroke"===e.type||"CIMSolidStroke"===e.type}function h(e){return null!=e&&("CIMGradientFill"===e.type||"CIMHatchFill"===e.type||"CIMPictureFill"===e.type||"CIMSolidFill"===e.type||"CIMWaterFill"===e.type)}function I(e){return null!=e&&("CIMMarkerPlacementAlongLineRandomSize"===e.type||"CIMMarkerPlacementAlongLineSameSize"===e.type||"CIMMarkerPlacementAlongLineVariableSize"===e.type||"CIMMarkerPlacementAtExtremities"===e.type||"CIMMarkerPlacementAtMeasuredUnits"===e.type||"CIMMarkerPlacementAtRatioPositions"===e.type||"CIMMarkerPlacementOnLine"===e.type||"CIMMarkerPlacementOnVertices"===e.type)}const p=(e,t=0)=>null==e||isNaN(e)?t:e,b=(e,t)=>null!=e?e:t,d=(e,t)=>e??t,k=e=>e.tintColor?M(e.tintColor):[255,255,255,1];class g{constructor(e){this._import=e}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(e=>this.module=e)),this._promise}}function P(e){return new g(e)}function S(e){if(!e)return"normal";switch(e.toLowerCase()){case"italic":return"italic";case"oblique":return"oblique";default:return"normal"}}function w(e){if(!e)return"normal";switch(e.toLowerCase()){case"bold":return"bold";case"bolder":return"bolder";case"lighter":return"lighter";default:return"normal"}}function L(e){let t="normal",r="normal";if(e){const n=e.toLowerCase();n.includes("italic")?t="italic":n.includes("oblique")&&(t="oblique"),n.includes("bold")?r="bold":n.includes("light")&&(r="lighter")}return{style:t,weight:r}}function G(e){return e.underline?"underline":e.strikethrough?"line-through":"none"}function E(e){if(!e)return null;switch(e.type){case"CIMPolygonSymbol":if(e.symbolLayers)for(const t of e.symbolLayers){const e=E(t);if(null!=e)return e}break;case"CIMTextSymbol":return E(e.symbol);case"CIMSolidFill":return e.color}return null}function A(e){if(e)switch(e.type){case"CIMPolygonSymbol":case"CIMLineSymbol":{const t=e.symbolLayers;if(t)for(const e of t){const t=A(e);if(null!=t)return t}break}case"CIMTextSymbol":return A(e.symbol);case"CIMSolidStroke":return e.color}}function T(e){for(const t of e)if(t.enable)switch(t.type){case"CIMSolidStroke":case"CIMGradientStroke":case"CIMPictureStroke":return!0}return!1}function x(e){if(e)switch(e.type){case"CIMPolygonSymbol":case"CIMLineSymbol":if(e.symbolLayers)for(const t of e.symbolLayers){const e=x(t);if(void 0!==e)return e}break;case"CIMTextSymbol":return x(e.symbol);case"CIMSolidStroke":case"CIMGradientStroke":case"CIMPictureStroke":return e.width}}function v(e){switch(e){case"Left":default:return"left";case"Right":return"right";case"Center":return"center";case"Justify":return"justify"}}function N(e){switch(e){default:case"Bottom":return"bottom";case"Top":return"top";case"Center":return"middle";case"Baseline":return"baseline"}}function F(e){return(e?Object.keys(e):[]).map(t=>({name:t,alias:t,type:"string"==typeof e[t]?"esriFieldTypeString":"esriFieldTypeDouble"}))}const z=e=>e.includes("data:image/svg+xml");function V(e){if(!e)return null;switch(e.type){case"CIMPointSymbol":case"CIMTextSymbol":return"esriGeometryPoint";case"CIMLineSymbol":return"esriGeometryPolyline";case"CIMPolygonSymbol":return"esriGeometryPolygon";default:return null}}function O(e){return e?e.charAt(0).toLowerCase()+e.slice(1):e}function R(e,t,r,n,o,i,l=!0){const{infos:a}=i;let c=1,s=0,u=0,f=0,M=1;for(const{absoluteAnchorPoint:C,offsetX:h,offsetY:I,rotation:p,size:b,frameHeight:d,rotateClockWise:k,scaleSymbolsProportionally:g}of a){M=C?1:c;u=Q(h,I,s,M,u),f=K(h,I,s,M,f),d&&(g||l)&&(c*=b/d),s=Z(p,k,s)}const m=Q(n,o,s,M,u),y=K(n,o,s,M,f);return{size:e*c,rotation:Z(t,r,s),offsetX:m,offsetY:y}}function D(e){if(null==e)return!1;if(Array.isArray(e))return e.every(e=>D(e));switch(typeof e){case"string":return!!e;case"number":return!isNaN(e)}}function W(r,n){if("color"===n||"outlinecolor"===n||"backgroundcolor"===n||"borderlinecolor"===n||"tintcolor"===n)return[...t[n]];const o=e[r];if(!o)throw new Error(`InternalError: default value for type ${r}.`);return o[n]}function j(e){return e.split(" ").map(e=>Number(e))}function q(e){return"string"==typeof e?j(e):e}function B(e){return e?.dashTemplate&&(e.dashTemplate=q(e.dashTemplate)),e}function _(e){if(null==e)return"Normal";switch(e.type){case"CIMTextSymbol":return e.textCase??"Normal";case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const t=e.symbolLayers;if(!t)return"Normal";for(const e of t)if("CIMVectorMarker"===e.type)return _(e)}break;case"CIMVectorMarker":{const t=e.markerGraphics;if(!t)return"Normal";for(const e of t)if(e.symbol)return _(e.symbol)}}return"Normal"}function X(t){if(t)switch(t.type){case"CIMTextSymbol":return t.height;case"CIMPointSymbol":{let r=0;if(t.symbolLayers)for(const n of t.symbolLayers)if(n)switch(n.type){case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":{const t=n.size??e.CIMVectorMarker.size;t>r&&(r=t);break}}return r}case"CIMLineSymbol":case"CIMPolygonSymbol":{let r=0;if(t.symbolLayers)for(const n of t.symbolLayers)if(n)switch(n.type){case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":{const e=n.width;null!=e&&e>r&&(r=e);break}case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":if(n.markerPlacement&&I(n.markerPlacement)){const t=n.size??e.CIMVectorMarker.size;t>r&&(r=t)}break;case"CIMPictureFill":{const e=n.height;null!=e&&e>r&&(r=e)}}return r}}}function Y(e,t){if(null!==t){const r=t.get(e);return r?r.name:e}return e}function H(e){return e.map(e=>({...e,propertyName:O(e.propertyName)}))}function J(e){const t={};for(const r in e){const n=e[r];t[O(r)]=n}return t}function U(e){if(!e)return 0;let t=0;for(const r of e)t+=$(r);return t}function $(e){if(!e)return 0;if(ne(e))return e.inflateSize??256;switch(e.type){case"CIMGeometricEffectArrow":return Math.abs(.5*e.width);case"CIMGeometricEffectBuffer":return Math.abs(e.size);case"CIMGeometricEffectControlMeasureLine":return 500;case"CIMGeometricEffectExtension":return Math.abs(e.length);case"CIMGeometricEffectJog":return Math.abs(.5*e.length);case"CIMGeometricEffectMove":return Math.max(Math.abs(p(e.offsetX)),Math.abs(p(e.offsetY)));case"CIMGeometricEffectOffset":case"CIMGeometricEffectOffsetTangent":return Math.abs(e.offset);case"CIMGeometricEffectRadial":return Math.abs(e.length??5);case"CIMGeometricEffectRegularPolygon":return Math.abs(e.radius);case"CIMGeometricEffectRotate":case"CIMGeometricEffectScale":default:return 0;case"CIMGeometricEffectTaperedPolygon":return.5*Math.max(Math.abs(e.fromWidth),Math.abs(e.toWidth));case"CIMGeometricEffectWave":return Math.abs(e.amplitude);case"CIMGeometricEffectDonut":return Math.abs(e.width)}}function K(e,t,r,n,o){const i=r*Math.PI/180;if(i){const r=Math.cos(i);return(Math.sin(i)*e+r*t)*n+o}return t*n+o}function Q(e,t,r,n,o){const i=r*Math.PI/180;if(i){return(Math.cos(i)*e-Math.sin(i)*t)*n+o}return e*n+o}function Z(e,t,r){return t?r-e:r+e}function ee(e,t,r){const n="Color"===r||"TintColor"===r||"ToColor"===r,o="Rotation"===r||"Angle"===r||"ToRotation"===r;let i=t[O(r)];if(null!=i&&(n?i=[i[0]/255,i[1]/255,i[2]/255,i[3]/255]:o&&(i*=Math.PI/180)),null==i&&(i=W(t.type,r.toLowerCase()),null!=i&&(n?i=[i[0]/255,i[1]/255,i[2]/255,i[3]]:o&&(i*=Math.PI/180))),null!=t.primitiveName){const l=e[t.primitiveName];if(null!=l){const e=l[r];null==e||("string"==typeof e||"number"==typeof e||Array.isArray(e)?(i=e,null!=i&&(n?i=[i[0]/255,i[1]/255,i[2]/255,i[3]/255]:o&&(i*=Math.PI/180))):(i={valueExpressionInfo:e,defaultValue:i},null!=i&&(n?i={type:"Process",op:"ArcadeColor",value:i}:o&&(i={type:"Process",op:"Divide",left:i,right:180/Math.PI}))))}}if(null==i)throw new Error(`Failed to derive a value or an expression for "${r}".`);return i}function te(e,t,r){if(null!=t[O(r)])return!0;if(null!=t.primitiveName){const n=e[t.primitiveName];if(null!=n){if(null!=n[r])return!0}}return!1}function re(e,t){return Math.max(Math.min((e??t)/100,1),0)}function ne(e){return e.type.startsWith("Private")}function oe(e){return null!=e&&ie(e)?e:void 0}function ie(e){return"setControlPoint"in e&&"getControlPoint"in e&&"setControlPointAt"in e&&"getControlPointAt"in e}export{u as adjustTextCase,a as analyzeTextParts,R as applyParentTransform,oe as asCIMGeometryCursor,s as assignTextValuesFromFeature,F as attributesToFields,o as colorToArray,n as evaluateValueOrFunction,G as fromCIMFontDecoration,L as fromCIMFontStyle,v as fromCIMHorizontalAlignment,N as fromCIMVerticalAlignment,W as getDefaultCIMValue,U as getEffectsInflateSize,d as getEnum,Y as getFieldName,E as getFillColor,S as getFontStyle,w as getFontWeight,p as getNumericValue,ee as getProcessParam,re as getRelativeGradientSize,X as getSize,A as getStrokeColor,x as getStrokeWidth,_ as getTextCasing,c as getTextValuesFromFeatureHandle,k as getTintColor,b as getValue,te as hasProcessParam,T as hasStrokeLayer,P as importLazily,h as isCIMFill,y as isCIMMarker,I as isCIMMarkerStrokePlacement,C as isCIMStroke,r as isFeatureValueFn,ne as isPrivateGeometricEffect,z as isSVGImage,D as isValidCIMValue,V as mapCIMSymbolToGeometryType,M as normalizeAlpha,B as normalizeDashEffectTemplate,q as normalizeDashTemplate,H as normalizePrimitiveOverrideProps,j as parseDashTemplate,f as resampleHermite,m as toCIMSymbolJSON,J as toLowerCaseProps,O as uncapitalize};
2
+ import{defaultCIMValues as e,defaultCIMColor as t}from"./defaultCIMValues.js";function r(e){return"function"==typeof e}function n(e,t,n,o){return r(e)?e(t,n,o):e}function o(e){return[e.r,e.g,e.b,e.a]}const i=" /-,\n";function a(e){let t=e.length;for(;t--;)if(!i.includes(e.charAt(t)))return!1;return!0}function l(e,t){const r=[];let n=0,o=-1;do{if(o=e.indexOf("[",n),o>=n){if(o>n){const t=e.slice(n,o);r.push([t,null,a(t)])}if(n=o+1,o=e.indexOf("]",n),o>=n){if(o>n){const i=t[e.slice(n,o)];i&&r.push([null,i,!1])}n=o+1}}}while(-1!==o);if(n<e.length){const t=e.slice(n);r.push([t,null,a(t)])}return r}function c(e,t,r){let n="",o=null;for(const i of t){const[t,r,a]=i;if(null!=t&&""!==t)a?o=t:(null!=o&&(n+=o,o=null),n+=t);else{const t=e.readAttribute(r);null!=t&&""!==t&&(null!==o&&(n+=o,o=null),n+=t)}}return u(n,r)}function s(e,t,r,n){let o="",i=null;for(const a of t){const[t,n,l]=a;if(null!=t&&""!==t)l?i=t:(null!=i&&(o+=i,i=null),o+=t);else{let t=n;null!=r&&(t=Y(n,r));const a=e.attributes[t];null!=a&&""!==a&&(null!=i&&(o+=i,i=null),o+=a)}}return u(o,n)}function u(e,t){switch("string"!=typeof e&&(e=String(e)),t){case"LowerCase":return e.toLowerCase();case"Allcaps":return e.toUpperCase();default:return e}}function f(e,t,r,n,o,i,a=!0){const l=t/o,c=r/i,s=Math.ceil(l/2),u=Math.ceil(c/2);for(let f=0;f<i;f++)for(let r=0;r<o;r++){const M=4*(r+(a?i-f-1:f)*o);let m=0,y=0,C=0,h=0,I=0,b=0,p=0;const d=(f+.5)*c;for(let n=Math.floor(f*c);n<(f+1)*c;n++){const o=Math.abs(d-(n+.5))/u,i=(r+.5)*l,a=o*o;for(let c=Math.floor(r*l);c<(r+1)*l;c++){let r=Math.abs(i-(c+.5))/s;const o=Math.sqrt(a+r*r);o>=-1&&o<=1&&(m=2*o*o*o-3*o*o+1,m>0&&(r=4*(c+n*t),p+=m*e[r+3],C+=m,e[r+3]<255&&(m=m*e[r+3]/250),h+=m*e[r],I+=m*e[r+1],b+=m*e[r+2],y+=m))}}n[M]=h/y,n[M+1]=I/y,n[M+2]=b/y,n[M+3]=p/C}}function M(e){return e?[e[0],e[1],e[2],e[3]/255]:[0,0,0,0]}function m(e){return e.data?.symbol??null}function y(e){return"CIMVectorMarker"===e.type||"CIMPictureMarker"===e.type||"CIMBarChartMarker"===e.type||"CIMCharacterMarker"===e.type||"CIMPieChartMarker"===e.type||"CIMStackedBarChartMarker"===e.type}function C(e){return"CIMGradientStroke"===e.type||"CIMPictureStroke"===e.type||"CIMSolidStroke"===e.type}function h(e){return null!=e&&("CIMGradientFill"===e.type||"CIMHatchFill"===e.type||"CIMPictureFill"===e.type||"CIMSolidFill"===e.type||"CIMWaterFill"===e.type)}function I(e){return null!=e&&("CIMMarkerPlacementAlongLineRandomSize"===e.type||"CIMMarkerPlacementAlongLineSameSize"===e.type||"CIMMarkerPlacementAlongLineVariableSize"===e.type||"CIMMarkerPlacementAtExtremities"===e.type||"CIMMarkerPlacementAtMeasuredUnits"===e.type||"CIMMarkerPlacementAtRatioPositions"===e.type||"CIMMarkerPlacementOnLine"===e.type||"CIMMarkerPlacementOnVertices"===e.type)}const b=(e,t=0)=>null==e||isNaN(e)?t:e,p=(e,t)=>null!=e?e:t,d=(e,t)=>e??t,k=e=>e.tintColor?M(e.tintColor):[255,255,255,1];class g{constructor(e){this._import=e}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(e=>this.module=e)),this._promise}}function P(e){return new g(e)}function S(e){if(!e)return"normal";switch(e.toLowerCase()){case"italic":return"italic";case"oblique":return"oblique";default:return"normal"}}function w(e){if(!e)return"normal";switch(e.toLowerCase()){case"bold":return"bold";case"bolder":return"bolder";case"lighter":return"lighter";default:return"normal"}}function L(e){let t="normal",r="normal";if(e){const n=e.toLowerCase();n.includes("italic")?t="italic":n.includes("oblique")&&(t="oblique"),n.includes("bold")?r="bold":n.includes("light")&&(r="lighter")}return{style:t,weight:r}}function G(e){return e.underline?"underline":e.strikethrough?"line-through":"none"}function E(e){if(!e)return null;switch(e.type){case"CIMPolygonSymbol":if(e.symbolLayers)for(const t of e.symbolLayers){const e=E(t);if(null!=e)return e}break;case"CIMTextSymbol":return E(e.symbol);case"CIMSolidFill":return e.color}return null}function A(e){if(e)switch(e.type){case"CIMPolygonSymbol":case"CIMLineSymbol":{const t=e.symbolLayers;if(t)for(const e of t){const t=A(e);if(null!=t)return t}break}case"CIMTextSymbol":return A(e.symbol);case"CIMSolidStroke":return e.color}}function T(e){for(const t of e)if(t.enable)switch(t.type){case"CIMSolidStroke":case"CIMGradientStroke":case"CIMPictureStroke":return!0}return!1}function x(e){if(e)switch(e.type){case"CIMPolygonSymbol":case"CIMLineSymbol":if(e.symbolLayers)for(const t of e.symbolLayers){const e=x(t);if(void 0!==e)return e}break;case"CIMTextSymbol":return x(e.symbol);case"CIMSolidStroke":case"CIMGradientStroke":case"CIMPictureStroke":return e.width}}function v(e){switch(e){case"Left":default:return"left";case"Right":return"right";case"Center":return"center";case"Justify":return"justify"}}function N(e){switch(e){default:case"Bottom":return"bottom";case"Top":return"top";case"Center":return"middle";case"Baseline":return"baseline"}}function F(e){return(e?Object.keys(e):[]).map(t=>({name:t,alias:t,type:"string"==typeof e[t]?"esriFieldTypeString":"esriFieldTypeDouble"}))}const z=e=>e.includes("data:image/svg+xml");function V(e){if(!e)return null;switch(e.type){case"CIMPointSymbol":case"CIMTextSymbol":return"esriGeometryPoint";case"CIMLineSymbol":return"esriGeometryPolyline";case"CIMPolygonSymbol":return"esriGeometryPolygon";default:return null}}function O(e){return e?e.charAt(0).toLowerCase()+e.slice(1):e}function R(e,t,r,n,o,i,a=!0){const{infos:l}=i;let c=1,s=0,u=0,f=0,M=1;for(const{absoluteAnchorPoint:C,offsetX:h,offsetY:I,rotation:b,size:p,frameHeight:d,rotateClockWise:k,scaleSymbolsProportionally:g}of l){M=C?1:c;u=Q(h,I,s,M,u),f=K(h,I,s,M,f),d&&(g||a)&&(c*=p/d),s=Z(b,k,s)}const m=Q(n,o,s,M,u),y=K(n,o,s,M,f);return{size:e*c,rotation:Z(t,r,s),offsetX:m,offsetY:y}}function D(e){if(null==e)return!1;if(Array.isArray(e))return e.every(e=>D(e));switch(typeof e){case"string":return!!e;case"number":return!isNaN(e)}}function W(r,n){if("color"===n||"outlinecolor"===n||"backgroundcolor"===n||"borderlinecolor"===n||"tintcolor"===n)return[...t[n]];const o=e[r];if(!o)throw new Error(`InternalError: default value for type ${r}.`);return o[n]}function j(e){return e.split(" ").map(e=>Number(e))}function q(e){return"string"==typeof e?j(e):e}function B(e){return e?.dashTemplate&&(e.dashTemplate=q(e.dashTemplate)),e}function _(e){if(null==e)return"Normal";switch(e.type){case"CIMTextSymbol":return e.textCase??"Normal";case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const t=e.symbolLayers;if(!t)return"Normal";for(const e of t)if("CIMVectorMarker"===e.type)return _(e)}break;case"CIMVectorMarker":{const t=e.markerGraphics;if(!t)return"Normal";for(const e of t)if(e.symbol)return _(e.symbol)}}return"Normal"}function X(t){if(t)switch(t.type){case"CIMTextSymbol":return t.height;case"CIMPointSymbol":{let r=0;if(t.symbolLayers)for(const n of t.symbolLayers)if(n)switch(n.type){case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":{const t=n.size??e.CIMVectorMarker.size;t>r&&(r=t);break}}return r}case"CIMLineSymbol":case"CIMPolygonSymbol":{let r=0;if(t.symbolLayers)for(const n of t.symbolLayers)if(n)switch(n.type){case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":{const e=n.width;null!=e&&e>r&&(r=e);break}case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":if(n.markerPlacement&&I(n.markerPlacement)){const t=n.size??e.CIMVectorMarker.size;t>r&&(r=t)}break;case"CIMPictureFill":{const e=n.height;null!=e&&e>r&&(r=e)}}return r}}}function Y(e,t){if(null!==t){const r=t.get(e);return r?r.name:e}return e}function H(e){return e.map(e=>({...e,propertyName:O(e.propertyName)}))}function J(e){const t={};for(const r in e){const n=e[r];t[O(r)]=n}return t}function U(e){if(!e)return 0;let t=0;for(const r of e)t+=$(r);return t}function $(e){if(!e)return 0;if(ne(e))return e.inflateSize??256;switch(e.type){case"CIMGeometricEffectArrow":return Math.abs(.5*e.width);case"CIMGeometricEffectBuffer":return Math.abs(e.size);case"CIMGeometricEffectCircularSector":return Math.abs(e.radius??25);case"CIMGeometricEffectControlMeasureLine":return 500;case"CIMGeometricEffectExtension":return Math.abs(e.length);case"CIMGeometricEffectJog":return Math.abs(.5*e.length);case"CIMGeometricEffectMove":return Math.max(Math.abs(b(e.offsetX)),Math.abs(b(e.offsetY)));case"CIMGeometricEffectOffset":case"CIMGeometricEffectOffsetTangent":return Math.abs(e.offset);case"CIMGeometricEffectRadial":return Math.abs(e.length??5);case"CIMGeometricEffectRegularPolygon":return Math.abs(e.radius);case"CIMGeometricEffectRotate":case"CIMGeometricEffectScale":default:return 0;case"CIMGeometricEffectTaperedPolygon":return.5*Math.max(Math.abs(e.fromWidth),Math.abs(e.toWidth));case"CIMGeometricEffectWave":return Math.abs(e.amplitude);case"CIMGeometricEffectDonut":return Math.abs(e.width)}}function K(e,t,r,n,o){const i=r*Math.PI/180;if(i){const r=Math.cos(i);return(Math.sin(i)*e+r*t)*n+o}return t*n+o}function Q(e,t,r,n,o){const i=r*Math.PI/180;if(i){return(Math.cos(i)*e-Math.sin(i)*t)*n+o}return e*n+o}function Z(e,t,r){return t?r-e:r+e}function ee(e,t,r){const n="Color"===r||"TintColor"===r||"ToColor"===r,o="Rotation"===r||"Angle"===r||"ToRotation"===r;let i=t[O(r)];if(null!=i&&(n?i=[i[0]/255,i[1]/255,i[2]/255,i[3]/255]:o&&(i*=Math.PI/180)),null==i&&(i=W(t.type,r.toLowerCase()),null!=i&&(n?i=[i[0]/255,i[1]/255,i[2]/255,i[3]]:o&&(i*=Math.PI/180))),null!=t.primitiveName){const a=e[t.primitiveName];if(null!=a){const e=a[r];null==e||("string"==typeof e||"number"==typeof e||Array.isArray(e)?(i=e,null!=i&&(n?i=[i[0]/255,i[1]/255,i[2]/255,i[3]/255]:o&&(i*=Math.PI/180))):(i={valueExpressionInfo:e,defaultValue:i},null!=i&&(n?i={type:"Process",op:"ArcadeColor",value:i}:o&&(i={type:"Process",op:"Divide",left:i,right:180/Math.PI}))))}}if(null==i)throw new Error(`Failed to derive a value or an expression for "${r}".`);return i}function te(e,t,r){if(null!=t[O(r)])return!0;if(null!=t.primitiveName){const n=e[t.primitiveName];if(null!=n){if(null!=n[r])return!0}}return!1}function re(e,t){return Math.max(Math.min((e??t)/100,1),0)}function ne(e){return e.type.startsWith("Private")}function oe(e){return null!=e&&ie(e)?e:void 0}function ie(e){return"setControlPoint"in e&&"getControlPoint"in e&&"setControlPointAt"in e&&"getControlPointAt"in e}export{u as adjustTextCase,l as analyzeTextParts,R as applyParentTransform,oe as asCIMGeometryCursor,s as assignTextValuesFromFeature,F as attributesToFields,o as colorToArray,n as evaluateValueOrFunction,G as fromCIMFontDecoration,L as fromCIMFontStyle,v as fromCIMHorizontalAlignment,N as fromCIMVerticalAlignment,W as getDefaultCIMValue,U as getEffectsInflateSize,d as getEnum,Y as getFieldName,E as getFillColor,S as getFontStyle,w as getFontWeight,b as getNumericValue,ee as getProcessParam,re as getRelativeGradientSize,X as getSize,A as getStrokeColor,x as getStrokeWidth,_ as getTextCasing,c as getTextValuesFromFeatureHandle,k as getTintColor,p as getValue,te as hasProcessParam,T as hasStrokeLayer,P as importLazily,h as isCIMFill,y as isCIMMarker,I as isCIMMarkerStrokePlacement,C as isCIMStroke,r as isFeatureValueFn,ne as isPrivateGeometricEffect,z as isSVGImage,D as isValidCIMValue,V as mapCIMSymbolToGeometryType,M as normalizeAlpha,B as normalizeDashEffectTemplate,q as normalizeDashTemplate,H as normalizePrimitiveOverrideProps,j as parseDashTemplate,f as resampleHermite,m as toCIMSymbolJSON,J as toLowerCaseProps,O as uncapitalize};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../request.js";import r from"../../core/Error.js";import{LRUCache as o}from"../../core/LRUCache.js";import{create as i}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{size as t,create as s}from"../../geometry/support/aaBoundingBox.js";import{objectSymbolLayerPrimitiveBoundingBox as n}from"./symbolLayerUtils3D.js";let c=a();function a(){return new o(50)}function u(){c=a()}async function l(e,o){if(e.resource?.href)return m(e.resource.href).then(e=>[e.width,e.height]);if(e.resource?.primitive)return null!=o?[o,o]:[256,256];throw new r("symbol3d:invalid-symbol-layer","symbol layers of type Icon must have either an href or a primitive resource")}function m(r){return e(r,{responseType:"image"}).then(e=>e.data)}async function f(e,o=null){if(!e.isPrimitive){const o=e.resource?.href;if(!o)throw new r("symbol:invalid-resource","The symbol does not have a valid resource");const s=c.get(o);if(null!=s)return s;const{fetch:n}=await import("../../views/3d/layers/graphics/objectResourceUtils.js"),a=await n(o,{disableTextures:!0,spherical:!0}),u=t(a.referenceBoundingBox,i());return c.put(o,u),u}if(!e.resource?.primitive)throw new r("symbol:invalid-resource","The symbol does not have a valid resource");const a=s(n(e.resource.primitive));if(null!=o)for(let r=0;r<a.length;r++)a[r]*=o;return t(a,i())}export{u as clearBoundingBoxCache,l as computeIconLayerResourceSize,f as computeObjectLayerResourceSize};
2
+ import e from"../../request.js";import r from"../../core/Error.js";import{LRUCache as o}from"../../core/LRUCache.js";import{create as i}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{size as t,create as s}from"../../geometry/support/aaBoundingBox.js";import{objectSymbolLayerPrimitiveBoundingBox as n}from"./symbolLayerUtils3D.js";let c=a();function a(){return new o(50)}function u(){c=a()}async function l(e,o){if(e.resource?.href)return m(e.resource.href).then(e=>[e.width,e.height]);if(e.resource?.primitive)return null!=o?[o,o]:[256,256];throw new r("symbol3d:invalid-symbol-layer","symbol layers of type Icon must have either an href or a primitive resource")}function m(r){return e(r,{responseType:"image"}).then(e=>e.data)}async function f(e,o=null){if(!e.isPrimitive){const o=e.resource?.href;if(!o)throw new r("symbol:invalid-resource","The symbol does not have a valid resource");const s=c.get(o);if(null!=s)return s;const{fetch:n}=await(import("../../views/3d/layers/graphics/objectResourceUtils.js")),a=await n(o,{disableTextures:!0,spherical:!0}),u=t(a.referenceBoundingBox,i());return c.put(o,u),u}if(!e.resource?.primitive)throw new r("symbol:invalid-resource","The symbol does not have a valid resource");const a=s(n(e.resource.primitive));if(null!=o)for(let r=0;r<a.length;r++)a[r]*=o;return t(a,i())}export{u as clearBoundingBoxCache,l as computeIconLayerResourceSize,f as computeObjectLayerResourceSize};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{pt2px as e,toPt as t,px2pt as l}from"../../core/screenUtils.js";import{isSubtypeGroupLayer as a}from"../../layers/support/layerUtils.js";import{loadArcade as i}from"../../support/loadArcade.js";import{getStroke as r}from"./gfxUtils.js";import{renderSymbol as s,renderOnce as o}from"./renderUtils.js";import{isSymbol3D as n}from"./typeUtils.js";import{applyColorToSymbol as c,applySizesToSymbol as u,applyRotationToSymbol as p,getColorFromSymbol as f,applyOpacityToColor as y}from"./utils.js";import{renderRelationshipRamp as m}from"../../widgets/Legend/styles/support/relationshipUtils.js";import{getRelationshipRampElement as d}from"../../widgets/Legend/support/relationshipRampUtils.js";let h=null;const b=[255,255,255];function g(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function w(e,t,l){const{backgroundColor:a,outline:i,dotSize:r}=e,s=l?.swatchSize||22,o=.8,n=Math.round(s*s/Math.max(r,.5)**2*o),c=window.devicePixelRatio,u=document.createElement("canvas"),p=s*c;u.width=p,u.height=p,u.style.width=u.width/c+"px",u.style.height=u.height/c+"px";const f=u.getContext("2d");if(a&&(f.fillStyle=a.toCss(!0),f.fillRect(0,0,p,p),f.fill()),f.fillStyle=t?.toCss(!0)??"",h&&h.length/2===n)for(let m=0;m<2*n;m+=2){const e=h[m],t=h[m+1];f.fillRect(e,t,r*c,r*c),f.fill()}else{h=[];for(let e=0;e<2*n;e+=2){const e=g(0,p),t=g(0,p);h.push(e,t),f.fillRect(e,t,r*c,r*c),f.fill()}}i&&(i.color&&(f.strokeStyle=i.color.toCss(!0)),f.lineWidth=i.width,f.strokeRect(0,0,p,p));const y=new Image(s,s);return y.src=u.toDataURL(),y.ariaLabel=l?.ariaLabel??null,y.alt=l?.ariaLabel??"",y}function S(e,t={}){const l=t.radius||40,a=2*Math.PI*l,i=e.length,o=a/i,n=[],c=r(t.outline);null!=c?.width&&(c.width*=2),(c||t.backgroundColor)&&n.push({shape:{type:"circle",cx:l,cy:l,r:l},fill:t.backgroundColor,stroke:c,offset:[0,0]});const u=t.values,p=u?.length===i&&100===u.reduce((e,t)=>e+t,0),f=[0];for(let r=0;r<i;r++){let t=null;p&&(t=u[r]*a/100,f.push(t+f[r])),n.push({shape:{type:"circle",cx:l,cy:l,r:l/2},fill:[0,0,0,0],stroke:{width:l,dashArray:`${(t??o)/2} ${a}`,dashoffset:"-"+(p?f[r]/2:r*(o/2)),color:e[r]},offset:[0,0]})}let y=null;const m=2*l+(c?.width||0),d=t.holePercentage;if(d){c&&n.push({shape:{type:"circle",cx:l,cy:l,r:l*d},fill:null,stroke:c,offset:[0,0]});const e=m/2;y=[[{shape:{type:"circle",cx:e,cy:e,r:e},fill:b,stroke:c?{...c,color:b}:null,offset:[0,0]},{shape:{type:"circle",cx:e,cy:e,r:l*d},fill:[0,0,0],stroke:null,offset:[0,0]}]]}return s([n],[m,m],{cssEffectFilter:t.cssEffectFilter,ignoreStrokeWidth:!0,masking:y,rotations:[-90],ariaLabel:t.ariaLabel})}function v(e,t={}){const l=e?.authoringInfo;if(!("relationship"===l?.type)||!l?.numClasses||!e.uniqueValueInfos)return null;const{focus:a,numClasses:i}=l,r=d({focus:a,numClasses:i,infos:e.uniqueValueInfos}),s=t?.node||document.createElement("div");return o(s,()=>m(r,t.id||"relationship",{opacity:t.opacity||1,cssEffectFilter:t.cssEffectFilter,ariaLabel:t.ariaLabel})),s}function V(e,t={}){const l=24,a=75,i="horizontal"===t.align,r=i?a:l,s=i?l:a,o=t.width??r,n=t.height??s,c=t.gradient??!0,u=window.devicePixelRatio,p=o*u,f=n*u,y=document.createElement("canvas");y.width=p,y.height=f,y.ariaLabel=t.ariaLabel??null,y.style.width=`${o}px`,y.style.height=`${n}px`;const m=y.getContext("2d"),d=i?p:0,h=i?0:f;if(c){const t=m.createLinearGradient(0,0,d,h),l=e.length,a=1===l?0:1/(l-1);e.forEach((e,l)=>t.addColorStop(l*a,e.toString())),m.fillStyle=t,m.fillRect(0,0,p,f)}else{const t=i?p/e.length:p,l=i?f:f/e.length;let a=0,r=0;for(const s of e)m.fillStyle=s.toString(),m.fillRect(a,r,t,l),a=i?a+t:0,r=i?0:r+l}const b=document.createElement("div");return b.style.width=`${o}px`,b.style.height=`${n}px`,x(b,t?.cssEffectFilter),b.appendChild(y),b}function k(e){const t=e.match(/drop-shadow\(\s*([^\s]+)\s+[^\s]+\s+[^\s]+\s+.+?\)/);return t?t[1]:null}function x(l,a){if(!a)return;l.style.filter=a;const i=k(a);if(i){const a=e(t(i));a<0?l.style.marginLeft=`${Math.abs(a)}px`:l.style.marginRight=`${a}px`}}async function F(e,t){switch(e.type){case"web-style":{const{previewWebStyleSymbol:l}=await import("./previewWebStyleSymbol.js");return l(e,F,t)}case"label-3d":case"line-3d":case"mesh-3d":case"point-3d":case"polygon-3d":{const{previewSymbol3D:l}=await import("./previewSymbol3D.js");return l(e,t)}case"simple-marker":case"simple-line":case"simple-fill":case"picture-marker":case"picture-fill":case"text":{const{previewSymbol2D:l}=await import("./previewSymbol2D.js");return l(e,t)}case"cim":{const{previewCIMSymbol:l}=await import("./previewCIMSymbol.js");return l(e,t)}default:return}}function L(e){return e&&void 0!==e.opacity?e.opacity*("parent"in e?L(e.parent):1):1}async function R(e,t){if(!e)return;const l=e.sourceLayer,a=(null!=t&&t.useSourceLayer?l:e.layer)??l,r=t?.ignoreOpacity?1:L(a);if(null!=e.symbol&&(null==t||!0!==t.ignoreGraphicSymbol)){const l="web-style"===e.symbol.type?await e.symbol.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):e.symbol.clone();return c(l,null,{add:r}),l}const s=t?.renderer??I(a);let o=s&&"getSymbolAsync"in s?await s.getSymbolAsync(e,t):null;if(!o)return;if(o="web-style"===o.type?await o.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):o.clone(),!(s&&"visualVariables"in s&&s.visualVariables?.length&&j(o)))return c(o,null,{add:r}),o;if("arcadeRequiredForVisualVariables"in s&&s.arcadeRequiredForVisualVariables&&null==t?.arcade){const e={...t};e.arcade=await i(),t=e}const{getColor:n,getOpacity:f,getAllSizes:y,getRotationAngle:m}=await import("../../renderers/visualVariables/support/visualVariableUtils.js"),d=[],h=[],b=[],g=[];for(const i of s.visualVariables)switch(i.type){case"color":d.push(i);break;case"opacity":h.push(i);break;case"rotation":g.push(i);break;case"size":i.target||b.push(i)}const w=!!d.length&&d[d.length-1],S=w?n(w,e,t):null,v=!!t?.ignoreOpacity,V=!!h.length&&h[h.length-1],k=V?f(V,e,t):null;if(c(o,S,v?void 0:{override:k,add:r}),b.length&&!0!==t?.ignoreSizeVariables){const l=y(b,e,t);await u(o,l)}if(!0!==t?.ignoreRotationVariables)for(const i of g)p(o,m(i,e,t),i.axis);return o}async function C(e,t){if(!e)return;const{layer:l,sourceLayer:a}=e,r=L(l??a);if(null!=e.symbol&&(null==t||!0!==t.ignoreGraphicSymbol)){const l="web-style"===e.symbol.type?await e.symbol.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):e.symbol.clone();return f(l,r)}const s=t?.renderer??I(l)??I(a);let o=s&&"getSymbolAsync"in s?await s.getSymbolAsync(e,t):void 0;if(!o)return;o="web-style"===o.type?await o.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):o.clone();const n=f(o,void 0);if(!s||!("visualVariables"in s)||"visualVariables"in s&&!s.visualVariables||"visualVariables"in s&&!s.visualVariables?.length||!j(o))return n?y(n,r):void 0;if("arcadeRequiredForVisualVariables"in s&&s.arcadeRequiredForVisualVariables&&null==t?.arcade){const e={...t};e.arcade=await i(),t=e}const{getColor:c,getOpacity:u}=await import("../../renderers/visualVariables/support/visualVariableUtils.js"),p=[],m=[];if(s.visualVariables)for(const i of s.visualVariables)switch(i.type){case"color":p.push(i);break;case"opacity":m.push(i)}const d=p.length>0?p[p.length-1]:null,h=(d?c(d,e,t):void 0)??n,b=m.length>0?m[m.length-1]:null,g=b?u(b,e,t):null;return null!=h&&null!=g&&(h.a=g),h?y(h,r):null}function j(e){return!n(e)||"water"!==e.symbolLayers.at(0)?.type}function I(e){if(e)return"renderer"in e?e.renderer:void 0}async function z(e,t,l){if(!e)return;const{layer:a,sourceLayer:i}=e,r=l?.renderer??I(a)??I(i);if(!r)return null;if("visualVariables"in r&&r.visualVariables?.length){const{getRampStops:i}=await import("../../widgets/Legend/support/colorRampUtils.js"),{getRampStops:s}=await import("../../widgets/Legend/support/sizeRampUtils.js"),{getFormatOptionsForVisualVariable:o}=await import("../../widgets/Legend/support/utils.js");let n=null;for(const c of r.visualVariables){const u=t?o(a,c,t.timeZone):null;let p=null;switch(c.type){case"color":p=await i(c,null,u);break;case"opacity":p=await i(c);break;case"size":c.target||(p=await s(r,c,null,l?.scale||t?.scale,t,u))}if(p?.length){const t=p.find((t,l)=>{const a=e.attributes[c.field];return 0===l?a>=t.value:l===p?.length-1?a<=t.value:t.value===a});if(t){n=t.label;break}}}if(n)return n}switch(r.type){case"class-breaks":{const t="getClassBreakInfo"in r?await r.getClassBreakInfo(e,l):null;return t?.label??(t&&r.classBreakInfos?.length>1)?`${t.minValue} - ${t.maxValue}`:null}case"unique-value":{const t="getUniqueValueInfo"in r?await r.getUniqueValueInfo(e,l):null;return t?.label}}return null}async function U(e,t){e?.layer&&a(e.layer)&&((e=e.cloneShallow()).layer=e.layer.findSublayerForFeature(e)??null);const i=null===e?t?.fallbackSymbol??null:await R(e,{ignoreGraphicSymbol:!!e.layer,ignoreOpacity:t?.ignoreOpacity??!0,ignoreRotationVariables:t?.ignoreRotationVariables??!0,ignoreSizeVariables:t?.ignoreSizeVariables??!0})??t?.fallbackSymbol??null;if(!i)return null;let r=!t.useGeometryForShape||!e?.geometry;r&&"polygon"===e?.layer?.geometryType&&(r=!1);const s=await F(i,{geometry:t.useGeometryForShape?e?.geometry??null:null,useMarkerSymbolSize:!1!==t.useMarkerSymbolSize,...r?{maxSize:l(t.widthInPixels??16)}:{size:{width:l(t.widthInPixels??16),height:l(t.heightInPixels??16)}},..."cim"===i?.type?{cimOptions:{feature:{attributes:e?.attributes??{}}}}:{}});if(!s)return null;return"element"===(t?.format??"element")?s:s.outerHTML}export{C as getDisplayedColor,R as getDisplayedSymbol,z as getLegendLabel,U as previewGraphic,V as renderColorRampPreviewHTML,w as renderDotDensityPreviewHTML,S as renderPieChartPreviewHTML,F as renderPreviewHTML,v as renderRelationshipRampPreviewHTML};
2
+ import{pt2px as e,toPt as t,px2pt as l}from"../../core/screenUtils.js";import{isSubtypeGroupLayer as a}from"../../layers/support/layerUtils.js";import{loadArcade as i}from"../../support/loadArcade.js";import{getStroke as r}from"./gfxUtils.js";import{renderSymbol as s,renderOnce as o}from"./renderUtils.js";import{isSymbol3D as n}from"./typeUtils.js";import{applyColorToSymbol as c,applySizesToSymbol as u,applyRotationToSymbol as p,getColorFromSymbol as f,applyOpacityToColor as y}from"./utils.js";import{renderRelationshipRamp as m}from"../../widgets/Legend/styles/support/relationshipUtils.js";import{getRelationshipRampElement as d}from"../../widgets/Legend/support/relationshipRampUtils.js";let h=null;const b=[255,255,255];function g(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function w(e,t,l){const{backgroundColor:a,outline:i,dotSize:r}=e,s=l?.swatchSize||22,o=.8,n=Math.round(s*s/Math.max(r,.5)**2*o),c=window.devicePixelRatio,u=document.createElement("canvas"),p=s*c;u.width=p,u.height=p,u.style.width=u.width/c+"px",u.style.height=u.height/c+"px";const f=u.getContext("2d");if(a&&(f.fillStyle=a.toCss(!0),f.fillRect(0,0,p,p),f.fill()),f.fillStyle=t?.toCss(!0)??"",h&&h.length/2===n)for(let m=0;m<2*n;m+=2){const e=h[m],t=h[m+1];f.fillRect(e,t,r*c,r*c),f.fill()}else{h=[];for(let e=0;e<2*n;e+=2){const e=g(0,p),t=g(0,p);h.push(e,t),f.fillRect(e,t,r*c,r*c),f.fill()}}i&&(i.color&&(f.strokeStyle=i.color.toCss(!0)),f.lineWidth=i.width,f.strokeRect(0,0,p,p));const y=new Image(s,s);return y.src=u.toDataURL(),y.ariaLabel=l?.ariaLabel??null,y.alt=l?.ariaLabel??"",y}function S(e,t={}){const l=t.radius||40,a=2*Math.PI*l,i=e.length,o=a/i,n=[],c=r(t.outline);null!=c?.width&&(c.width*=2),(c||t.backgroundColor)&&n.push({shape:{type:"circle",cx:l,cy:l,r:l},fill:t.backgroundColor,stroke:c,offset:[0,0]});const u=t.values,p=u?.length===i&&100===u.reduce((e,t)=>e+t,0),f=[0];for(let r=0;r<i;r++){let t=null;p&&(t=u[r]*a/100,f.push(t+f[r])),n.push({shape:{type:"circle",cx:l,cy:l,r:l/2},fill:[0,0,0,0],stroke:{width:l,dashArray:`${(t??o)/2} ${a}`,dashoffset:"-"+(p?f[r]/2:r*(o/2)),color:e[r]},offset:[0,0]})}let y=null;const m=2*l+(c?.width||0),d=t.holePercentage;if(d){c&&n.push({shape:{type:"circle",cx:l,cy:l,r:l*d},fill:null,stroke:c,offset:[0,0]});const e=m/2;y=[[{shape:{type:"circle",cx:e,cy:e,r:e},fill:b,stroke:c?{...c,color:b}:null,offset:[0,0]},{shape:{type:"circle",cx:e,cy:e,r:l*d},fill:[0,0,0],stroke:null,offset:[0,0]}]]}return s([n],[m,m],{cssEffectFilter:t.cssEffectFilter,ignoreStrokeWidth:!0,masking:y,rotations:[-90],ariaLabel:t.ariaLabel})}function v(e,t={}){const l=e?.authoringInfo;if(!("relationship"===l?.type)||!l?.numClasses||!e.uniqueValueInfos)return null;const{focus:a,numClasses:i}=l,r=d({focus:a,numClasses:i,infos:e.uniqueValueInfos}),s=t?.node||document.createElement("div");return o(s,()=>m(r,t.id||"relationship",{opacity:t.opacity||1,cssEffectFilter:t.cssEffectFilter,ariaLabel:t.ariaLabel})),s}function V(e,t={}){const l=24,a=75,i="horizontal"===t.align,r=i?a:l,s=i?l:a,o=t.width??r,n=t.height??s,c=t.gradient??!0,u=window.devicePixelRatio,p=o*u,f=n*u,y=document.createElement("canvas");y.width=p,y.height=f,y.ariaLabel=t.ariaLabel??null,y.style.width=`${o}px`,y.style.height=`${n}px`;const m=y.getContext("2d"),d=i?p:0,h=i?0:f;if(c){const t=m.createLinearGradient(0,0,d,h),l=e.length,a=1===l?0:1/(l-1);e.forEach((e,l)=>t.addColorStop(l*a,e.toString())),m.fillStyle=t,m.fillRect(0,0,p,f)}else{const t=i?p/e.length:p,l=i?f:f/e.length;let a=0,r=0;for(const s of e)m.fillStyle=s.toString(),m.fillRect(a,r,t,l),a=i?a+t:0,r=i?0:r+l}const b=document.createElement("div");return b.style.width=`${o}px`,b.style.height=`${n}px`,x(b,t?.cssEffectFilter),b.appendChild(y),b}function k(e){const t=e.match(/drop-shadow\(\s*([^\s]+)\s+[^\s]+\s+[^\s]+\s+.+?\)/);return t?t[1]:null}function x(l,a){if(!a)return;l.style.filter=a;const i=k(a);if(i){const a=e(t(i));a<0?l.style.marginLeft=`${Math.abs(a)}px`:l.style.marginRight=`${a}px`}}async function F(e,t){switch(e.type){case"web-style":{const{previewWebStyleSymbol:l}=await(import("./previewWebStyleSymbol.js"));return l(e,F,t)}case"label-3d":case"line-3d":case"mesh-3d":case"point-3d":case"polygon-3d":{const{previewSymbol3D:l}=await(import("./previewSymbol3D.js"));return l(e,t)}case"simple-marker":case"simple-line":case"simple-fill":case"picture-marker":case"picture-fill":case"text":{const{previewSymbol2D:l}=await(import("./previewSymbol2D.js"));return l(e,t)}case"cim":{const{previewCIMSymbol:l}=await(import("./previewCIMSymbol.js"));return l(e,t)}default:return}}function L(e){return e&&void 0!==e.opacity?e.opacity*("parent"in e?L(e.parent):1):1}async function R(e,t){if(!e)return;const l=e.sourceLayer,a=(null!=t&&t.useSourceLayer?l:e.layer)??l,r=t?.ignoreOpacity?1:L(a);if(null!=e.symbol&&(null==t||!0!==t.ignoreGraphicSymbol)){const l="web-style"===e.symbol.type?await e.symbol.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):e.symbol.clone();return c(l,null,{add:r}),l}const s=t?.renderer??I(a);let o=s&&"getSymbolAsync"in s?await s.getSymbolAsync(e,t):null;if(!o)return;if(o="web-style"===o.type?await o.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):o.clone(),!(s&&"visualVariables"in s&&s.visualVariables?.length&&j(o)))return c(o,null,{add:r}),o;if("arcadeRequiredForVisualVariables"in s&&s.arcadeRequiredForVisualVariables&&null==t?.arcade){const e={...t};e.arcade=await i(),t=e}const{getColor:n,getOpacity:f,getAllSizes:y,getRotationAngle:m}=await(import("../../renderers/visualVariables/support/visualVariableUtils.js")),d=[],h=[],b=[],g=[];for(const i of s.visualVariables)switch(i.type){case"color":d.push(i);break;case"opacity":h.push(i);break;case"rotation":g.push(i);break;case"size":i.target||b.push(i)}const w=!!d.length&&d[d.length-1],S=w?n(w,e,t):null,v=!!t?.ignoreOpacity,V=!!h.length&&h[h.length-1],k=V?f(V,e,t):null;if(c(o,S,v?void 0:{override:k,add:r}),b.length&&!0!==t?.ignoreSizeVariables){const l=y(b,e,t);await u(o,l)}if(!0!==t?.ignoreRotationVariables)for(const i of g)p(o,m(i,e,t),i.axis);return o}async function C(e,t){if(!e)return;const{layer:l,sourceLayer:a}=e,r=L(l??a);if(null!=e.symbol&&(null==t||!0!==t.ignoreGraphicSymbol)){const l="web-style"===e.symbol.type?await e.symbol.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):e.symbol.clone();return f(l,r)}const s=t?.renderer??I(l)??I(a);let o=s&&"getSymbolAsync"in s?await s.getSymbolAsync(e,t):void 0;if(!o)return;o="web-style"===o.type?await o.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):o.clone();const n=f(o,void 0);if(!s||!("visualVariables"in s)||"visualVariables"in s&&!s.visualVariables||"visualVariables"in s&&!s.visualVariables?.length||!j(o))return n?y(n,r):void 0;if("arcadeRequiredForVisualVariables"in s&&s.arcadeRequiredForVisualVariables&&null==t?.arcade){const e={...t};e.arcade=await i(),t=e}const{getColor:c,getOpacity:u}=await(import("../../renderers/visualVariables/support/visualVariableUtils.js")),p=[],m=[];if(s.visualVariables)for(const i of s.visualVariables)switch(i.type){case"color":p.push(i);break;case"opacity":m.push(i)}const d=p.length>0?p[p.length-1]:null,h=(d?c(d,e,t):void 0)??n,b=m.length>0?m[m.length-1]:null,g=b?u(b,e,t):null;return null!=h&&null!=g&&(h.a=g),h?y(h,r):null}function j(e){return!n(e)||"water"!==e.symbolLayers.at(0)?.type}function I(e){if(e)return"renderer"in e?e.renderer:void 0}async function z(e,t,l){if(!e)return;const{layer:a,sourceLayer:i}=e,r=l?.renderer??I(a)??I(i);if(!r)return null;if("visualVariables"in r&&r.visualVariables?.length){const{getRampStops:i}=await(import("../../widgets/Legend/support/colorRampUtils.js")),{getRampStops:s}=await(import("../../widgets/Legend/support/sizeRampUtils.js")),{getFormatOptionsForVisualVariable:o}=await(import("../../widgets/Legend/support/utils.js"));let n=null;for(const c of r.visualVariables){const u=t?o(a,c,t.timeZone):null;let p=null;switch(c.type){case"color":p=await i(c,null,u);break;case"opacity":p=await i(c);break;case"size":c.target||(p=await s(r,c,null,l?.scale||t?.scale,t,u))}if(p?.length){const t=p.find((t,l)=>{const a=e.attributes[c.field];return 0===l?a>=t.value:l===p?.length-1?a<=t.value:t.value===a});if(t){n=t.label;break}}}if(n)return n}switch(r.type){case"class-breaks":{const t="getClassBreakInfo"in r?await r.getClassBreakInfo(e,l):null;return t?.label??(t&&r.classBreakInfos?.length>1)?`${t.minValue} - ${t.maxValue}`:null}case"unique-value":{const t="getUniqueValueInfo"in r?await r.getUniqueValueInfo(e,l):null;return t?.label}}return null}async function U(e,t){e?.layer&&a(e.layer)&&((e=e.cloneShallow()).layer=e.layer.findSublayerForFeature(e)??null);const i=null===e?t?.fallbackSymbol??null:await R(e,{ignoreGraphicSymbol:!!e.layer,ignoreOpacity:t?.ignoreOpacity??!0,ignoreRotationVariables:t?.ignoreRotationVariables??!0,ignoreSizeVariables:t?.ignoreSizeVariables??!0})??t?.fallbackSymbol??null;if(!i)return null;let r=!t.useGeometryForShape||!e?.geometry;r&&"polygon"===e?.layer?.geometryType&&(r=!1);const s=await F(i,{geometry:t.useGeometryForShape?e?.geometry??null:null,useMarkerSymbolSize:!1!==t.useMarkerSymbolSize,...r?{maxSize:l(t.widthInPixels??16)}:{size:{width:l(t.widthInPixels??16),height:l(t.heightInPixels??16)}},..."cim"===i?.type?{cimOptions:{feature:{attributes:e?.attributes??{}}}}:{}});if(!s)return null;return"element"===(t?.format??"element")?s:s.outerHTML}export{C as getDisplayedColor,R as getDisplayedSymbol,z as getLegendLabel,U as previewGraphic,V as renderColorRampPreviewHTML,w as renderDotDensityPreviewHTML,S as renderPieChartPreviewHTML,F as renderPreviewHTML,v as renderRelationshipRampPreviewHTML};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../Color.js";import{forEach as t}from"../../core/asyncUtils.js";import{px2pt as r}from"../../core/screenUtils.js";import{ONES as n}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{effectFunctionsFromJSON as o}from"../../layers/effects/jsonUtils.js";import{applyCIMSymbolRotation as l,scaleCIMSymbolTo as i,getCIMSymbolColor as c}from"./cimSymbolUtils.js";import{getStroke as s}from"./gfxUtils.js";import u from"./Symbol3DMaterial.js";import{isSymbol3D as a,isSymbol2D as f}from"./typeUtils.js";function m(e){const t=e.symbolLayers?.at(-1);if(t&&"outline"in t)return t?.outline?.size}function y(e){if(!e)return 0;if(a(e)){const t=m(e);return null!=t?t:0}return r(s(e)?.width)}function p(e){const t=e.symbolLayers?.at(-1);if(t&&"outline"in t)return t?.outline?.color}function h(t){if(!t)return null;if(a(t))return p(t);const r=s(t)?.color;return r?new e(r):null}function d(e){if(null==e||!("symbolLayers"in e)||null==e.symbolLayers)return!1;switch(e.type){case"point-3d":return e.symbolLayers.some(e=>"object"===e.type);case"line-3d":return e.symbolLayers.some(e=>"path"===e.type);case"polygon-3d":return e.symbolLayers.some(e=>"object"===e.type||"extrude"===e.type);default:return!1}}function b(e){return e.resource?.href??""}function w(t,r){if(!t)return null;let n=null;return a(t)?n=k(t):f(t)&&(n="cim"===t.type?c(t):t.color?new e(t.color):null),n?g(n,r):null}function k(t){const r=t.symbolLayers;if(!r)return null;let n=null;return r.forEach(e=>{"object"===e.type&&e.resource?.href||(n="water"===e.type?e.color:e.material?e.material.color:null)}),n?new e(n):null}function g(t,r){if(null==r||null==t)return t;const n=t.toRgba();return n[3]=n[3]*r,new e(n)}function j(t,r,n){const o=t.symbolLayers;if(!o)return;const l=(t,o=!1)=>{let l=r??t??null;return null!=n?.override&&(!l&&o&&(l=new e([255,255,255])),l&&(l.a=n.override)),g(l,n?.add)};o.forEach(e=>{if("water"===e.type)return void(e.color=g(e.color,n?.add));const t=null!=e.material?e.material.color:null,r=l(t,"icon"===e.type&&null!=e.resource?.href);null==e.material?e.material=new u({color:r}):e.material.color=r,"outline"in e&&e.outline?.color&&null!=n?.add&&(e.outline.color=g(e.outline.color,n.add)),"marker"in e&&null!=e.marker&&(e.marker.color=l(e.marker.color))})}function L(e,t,r){t=t??e.color,null!=r?.override&&t&&(t.a=r.override),t&&(e.color=g(t,r?.add)),"outline"in e&&e.outline?.color&&(e.outline.color=g(e.outline.color,r?.add))}function v(t,r,n){t&&(r||null!=n)&&(r&&(r=new e(r)),a(t)?j(t,r,n):f(t)&&L(t,r,n))}async function z(e,r){const n=e.symbolLayers;n&&await t(n,async e=>x(e,r))}async function x(e,t){switch(e.type){case"extrude":E(e,t);break;case"icon":case"line":case"text":S(e,t);break;case"path":R(e,t);break;case"object":await O(e,t)}}function S(e,t){const r=U(t);null!=r&&(e.size=r)}function U(e){for(const t of e)if("number"==typeof t)return t;return null}function E(e,t){const r=t[2];"number"==typeof r&&(e.size=r)}async function O(e,t){const{resourceSize:r,symbolSize:n}=await D(e),o=C(t,r,n);null!=o&&(e.width=J(t[0],n[0],r[0],o),e.depth=J(t[1],n[1],r[1],o),e.height=J(t[2],n[2],r[2],o))}function R(e,t){const r=C(t,n,[e.width,void 0,e.height]);null!=r&&(e.width=J(t[0],e.width,1,r),e.height=J(t[2],e.height,1,r))}function C(e,t,r){for(let n=0;n<3;n++){const o=e[n];switch(o){case"symbol-value":{const e=r[n];return null!=e?e/t[n]:1}case"proportional":break;default:if(null!=o&&t[n])return o/t[n]}}return null}async function D(e){const{computeObjectLayerResourceSize:t}=await import("./symbolLayerUtils.js"),r=await t(e,10),{width:n,height:o,depth:l}=e,i=[n,l,o];let c=1;for(let s=0;s<3;s++){const e=i[s];if(null!=e){c=e/r[s];break}}for(let s=0;s<3;s++)null==i[s]&&(i[s]=r[s]*c);return{resourceSize:r,symbolSize:i}}function J(e,t,r,n){switch(e){case"proportional":return r*n;case"symbol-value":return null!=t?t:r;default:return e}}function M(e,t){const r=U(t);if(null!=r)switch(e.type){case"simple-marker":e.size=r;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=r,e.height=r*t):(e.width=r*t,e.height=r);break}case"simple-line":e.width=r;break;case"text":e.font.size=r;break;case"simple-fill":case"picture-fill":break;case"cim":i(e,r,{preserveOutlineWidth:!1})}}async function N(e,t){if(e&&t)return a(e)?z(e,t):void(f(e)&&M(e,t))}function W(e,t,r){if(e&&null!=t)if(a(e)){const n=e.symbolLayers;n&&n.forEach(e=>{if("object"===e.type)switch(r){case"tilt":e.tilt=(e.tilt??0)+t;break;case"roll":e.roll=(e.roll??0)+t;break;default:e.heading=(e.heading??0)+t}"icon"===e.type&&(e.angle+=t)})}else if(f(e))switch(e.type){case"simple-marker":case"picture-marker":case"text":e.angle+=t;break;case"cim":l(e,t,!0)}}function q(e,t){if(!e)return null;const r=(t?e.effects:e.effects.filter(e=>"bloom"!==e.type)).map(e=>e.toJSON());return o(r)}function A(e){return null!=e&&"polygon-3d"===e.type&&e.symbolLayers.some(e=>"extrude"===e.type)}export{v as applyColorToSymbol,g as applyOpacityToColor,W as applyRotationToSymbol,N as applySizesToSymbol,q as getCSSFilterFromEffectList,w as getColorFromSymbol,b as getIconHref,h as getSymbolOutlineColor,y as getSymbolOutlineSize,d as isVolumetricSymbol,A as symbolHasExtrudeSymbolLayer};
2
+ import e from"../../Color.js";import{forEach as t}from"../../core/asyncUtils.js";import{px2pt as r}from"../../core/screenUtils.js";import{ONES as n}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{effectFunctionsFromJSON as o}from"../../layers/effects/jsonUtils.js";import{applyCIMSymbolRotation as l,scaleCIMSymbolTo as i,getCIMSymbolColor as c}from"./cimSymbolUtils.js";import{getStroke as s}from"./gfxUtils.js";import u from"./Symbol3DMaterial.js";import{isSymbol3D as a,isSymbol2D as f}from"./typeUtils.js";function m(e){const t=e.symbolLayers?.at(-1);if(t&&"outline"in t)return t?.outline?.size}function y(e){if(!e)return 0;if(a(e)){const t=m(e);return null!=t?t:0}return r(s(e)?.width)}function p(e){const t=e.symbolLayers?.at(-1);if(t&&"outline"in t)return t?.outline?.color}function h(t){if(!t)return null;if(a(t))return p(t);const r=s(t)?.color;return r?new e(r):null}function d(e){if(null==e||!("symbolLayers"in e)||null==e.symbolLayers)return!1;switch(e.type){case"point-3d":return e.symbolLayers.some(e=>"object"===e.type);case"line-3d":return e.symbolLayers.some(e=>"path"===e.type);case"polygon-3d":return e.symbolLayers.some(e=>"object"===e.type||"extrude"===e.type);default:return!1}}function b(e){return e.resource?.href??""}function w(t,r){if(!t)return null;let n=null;return a(t)?n=k(t):f(t)&&(n="cim"===t.type?c(t):t.color?new e(t.color):null),n?g(n,r):null}function k(t){const r=t.symbolLayers;if(!r)return null;let n=null;return r.forEach(e=>{"object"===e.type&&e.resource?.href||(n="water"===e.type?e.color:e.material?e.material.color:null)}),n?new e(n):null}function g(t,r){if(null==r||null==t)return t;const n=t.toRgba();return n[3]=n[3]*r,new e(n)}function j(t,r,n){const o=t.symbolLayers;if(!o)return;const l=(t,o=!1)=>{let l=r??t??null;return null!=n?.override&&(!l&&o&&(l=new e([255,255,255])),l&&(l.a=n.override)),g(l,n?.add)};o.forEach(e=>{if("water"===e.type)return void(e.color=g(e.color,n?.add));const t=null!=e.material?e.material.color:null,r=l(t,"icon"===e.type&&null!=e.resource?.href);null==e.material?e.material=new u({color:r}):e.material.color=r,"outline"in e&&e.outline?.color&&null!=n?.add&&(e.outline.color=g(e.outline.color,n.add)),"marker"in e&&null!=e.marker&&(e.marker.color=l(e.marker.color))})}function L(e,t,r){t=t??e.color,null!=r?.override&&t&&(t.a=r.override),t&&(e.color=g(t,r?.add)),"outline"in e&&e.outline?.color&&(e.outline.color=g(e.outline.color,r?.add))}function v(t,r,n){t&&(r||null!=n)&&(r&&(r=new e(r)),a(t)?j(t,r,n):f(t)&&L(t,r,n))}async function z(e,r){const n=e.symbolLayers;n&&await t(n,async e=>x(e,r))}async function x(e,t){switch(e.type){case"extrude":E(e,t);break;case"icon":case"line":case"text":S(e,t);break;case"path":R(e,t);break;case"object":await O(e,t)}}function S(e,t){const r=U(t);null!=r&&(e.size=r)}function U(e){for(const t of e)if("number"==typeof t)return t;return null}function E(e,t){const r=t[2];"number"==typeof r&&(e.size=r)}async function O(e,t){const{resourceSize:r,symbolSize:n}=await D(e),o=C(t,r,n);null!=o&&(e.width=J(t[0],n[0],r[0],o),e.depth=J(t[1],n[1],r[1],o),e.height=J(t[2],n[2],r[2],o))}function R(e,t){const r=C(t,n,[e.width,void 0,e.height]);null!=r&&(e.width=J(t[0],e.width,1,r),e.height=J(t[2],e.height,1,r))}function C(e,t,r){for(let n=0;n<3;n++){const o=e[n];switch(o){case"symbol-value":{const e=r[n];return null!=e?e/t[n]:1}case"proportional":break;default:if(null!=o&&t[n])return o/t[n]}}return null}async function D(e){const{computeObjectLayerResourceSize:t}=await(import("./symbolLayerUtils.js")),r=await t(e,10),{width:n,height:o,depth:l}=e,i=[n,l,o];let c=1;for(let s=0;s<3;s++){const e=i[s];if(null!=e){c=e/r[s];break}}for(let s=0;s<3;s++)null==i[s]&&(i[s]=r[s]*c);return{resourceSize:r,symbolSize:i}}function J(e,t,r,n){switch(e){case"proportional":return r*n;case"symbol-value":return null!=t?t:r;default:return e}}function M(e,t){const r=U(t);if(null!=r)switch(e.type){case"simple-marker":e.size=r;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=r,e.height=r*t):(e.width=r*t,e.height=r);break}case"simple-line":e.width=r;break;case"text":e.font.size=r;break;case"simple-fill":case"picture-fill":break;case"cim":i(e,r,{preserveOutlineWidth:!1})}}async function N(e,t){if(e&&t)return a(e)?z(e,t):void(f(e)&&M(e,t))}function W(e,t,r){if(e&&null!=t)if(a(e)){const n=e.symbolLayers;n&&n.forEach(e=>{if("object"===e.type)switch(r){case"tilt":e.tilt=(e.tilt??0)+t;break;case"roll":e.roll=(e.roll??0)+t;break;default:e.heading=(e.heading??0)+t}"icon"===e.type&&(e.angle+=t)})}else if(f(e))switch(e.type){case"simple-marker":case"picture-marker":case"text":e.angle+=t;break;case"cim":l(e,t,!0)}}function q(e,t){if(!e)return null;const r=(t?e.effects:e.effects.filter(e=>"bloom"!==e.type)).map(e=>e.toJSON());return o(r)}function A(e){return null!=e&&"polygon-3d"===e.type&&e.symbolLayers.some(e=>"extrude"===e.type)}export{v as applyColorToSymbol,g as applyOpacityToColor,W as applyRotationToSymbol,N as applySizesToSymbol,q as getCSSFilterFromEffectList,w as getColorFromSymbol,b as getIconHref,h as getSymbolOutlineColor,y as getSymbolOutlineSize,d as isVolumetricSymbol,A as symbolHasExtrudeSymbolLayer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{id as r}from"../../kernel.js";import o from"../../core/Collection.js";import{Loadable as t}from"../../core/Loadable.js";import{normalize as n}from"../../core/urlUtils.js";import{property as i,subclass as s}from"../../core/accessorSupport/decorators.js";import a from"../../portal/Portal.js";import{hasUserTypeExtension as l}from"../../portal/support/utils.js";let c=class extends t{constructor(e){super(e),this.canCreateVersion=!0,this.canEditVersionedData=!0,this.layers=new o,this.lockType="none",this.tables=new o,this.versionInfo=null,this.versionService=null}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}get layersAndTables(){return new o([...this.layers.toArray(),...this.tables.toArray()])}updateLockType(){this.lockType=this.versionInfo?this.versionService.getLockType(this.versionInfo.versionIdentifier)??"none":"none"}get featureServiceVersion(){return this.featureService.sourceJSON?.currentVersion??0}async syncVersionInfo(){this.loaded&&await this._syncVersionInfo()}async _load(e){const{featureService:r}=this;await r.load(e);const o=await d(r.url),t=o?.user?.username;if(this.loggedInServiceUser=t??"",o&&t&&(this.hasAdvancedEditingUserTypeExtension=await l(o,t,"advediting")),r.versionManagementServiceUrl){const e=new(0,(await import("../../versionManagement/VersionManagementService.js")).default)({url:r.versionManagementServiceUrl});this.versionService=e,await e.load(),await this._syncVersionInfo()}}async _syncVersionInfo(){const{layersAndTables:e,versionService:r}=this;if(!r||0===e.length)return;const o=e.getItemAt(0)?.gdbVersion,t=o?await r.getVersionIdentifierFromName(o):r.defaultVersionIdentifier;this.versionInfo=await r.getVersionInfoExtended(t)}};async function d(e){const o=r?.findServerInfo(e??"");if(!o?.owningSystemUrl)return null;const t=`${o.owningSystemUrl}/sharing/rest`,i=a.getDefault();if(i?.loaded&&n(i.restUrl)===n(t))return i;return new a({authMode:"immediate",url:o.owningSystemUrl}).load()}e([i({constructOnly:!0})],c.prototype,"canCreateVersion",void 0),e([i({constructOnly:!0})],c.prototype,"canEditVersionedData",void 0),e([i({constructOnly:!0})],c.prototype,"featureService",void 0),e([i({constructOnly:!0})],c.prototype,"layers",void 0),e([i()],c.prototype,"layersAndTables",null),e([i()],c.prototype,"lockType",void 0),e([i({constructOnly:!0})],c.prototype,"tables",void 0),e([i()],c.prototype,"versionInfo",void 0),e([i()],c.prototype,"versionService",void 0),e([i()],c.prototype,"hasAdvancedEditingUserTypeExtension",void 0),e([i()],c.prototype,"loggedInServiceUser",void 0),e([i()],c.prototype,"featureServiceVersion",null),c=e([s("esri.undoredo.support.ServiceVersionInfo")],c);export{c as ServiceVersionInfo};
2
+ import{__decorate as e}from"tslib";import{id as r}from"../../kernel.js";import o from"../../core/Collection.js";import{Loadable as t}from"../../core/Loadable.js";import{normalize as n}from"../../core/urlUtils.js";import{property as i,subclass as s}from"../../core/accessorSupport/decorators.js";import a from"../../portal/Portal.js";import{hasUserTypeExtension as l}from"../../portal/support/utils.js";let c=class extends t{constructor(e){super(e),this.canCreateVersion=!0,this.canEditVersionedData=!0,this.layers=new o,this.lockType="none",this.tables=new o,this.versionInfo=null,this.versionService=null}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}get layersAndTables(){return new o([...this.layers.toArray(),...this.tables.toArray()])}updateLockType(){this.lockType=this.versionInfo?this.versionService.getLockType(this.versionInfo.versionIdentifier)??"none":"none"}get featureServiceVersion(){return this.featureService.sourceJSON?.currentVersion??0}async syncVersionInfo(){this.loaded&&await this._syncVersionInfo()}async _load(e){const{featureService:r}=this;await r.load(e);const o=await d(r.url),t=o?.user?.username;if(this.loggedInServiceUser=t??"",o&&t&&(this.hasAdvancedEditingUserTypeExtension=await l(o,t,"advediting")),r.versionManagementServiceUrl){const e=new(0,(await(import("../../versionManagement/VersionManagementService.js"))).default)({url:r.versionManagementServiceUrl});this.versionService=e,await e.load(),await this._syncVersionInfo()}}async _syncVersionInfo(){const{layersAndTables:e,versionService:r}=this;if(!r||0===e.length)return;const o=e.getItemAt(0)?.gdbVersion,t=o?await r.getVersionIdentifierFromName(o):r.defaultVersionIdentifier;this.versionInfo=await r.getVersionInfoExtended(t)}};async function d(e){const o=r?.findServerInfo(e??"");if(!o?.owningSystemUrl)return null;const t=`${o.owningSystemUrl}/sharing/rest`,i=a.getDefault();if(i?.loaded&&n(i.restUrl)===n(t))return i;return new a({authMode:"immediate",url:o.owningSystemUrl}).load()}e([i({constructOnly:!0})],c.prototype,"canCreateVersion",void 0),e([i({constructOnly:!0})],c.prototype,"canEditVersionedData",void 0),e([i({constructOnly:!0})],c.prototype,"featureService",void 0),e([i({constructOnly:!0})],c.prototype,"layers",void 0),e([i()],c.prototype,"layersAndTables",null),e([i()],c.prototype,"lockType",void 0),e([i({constructOnly:!0})],c.prototype,"tables",void 0),e([i()],c.prototype,"versionInfo",void 0),e([i()],c.prototype,"versionService",void 0),e([i()],c.prototype,"hasAdvancedEditingUserTypeExtension",void 0),e([i()],c.prototype,"loggedInServiceUser",void 0),e([i()],c.prototype,"featureServiceVersion",null),c=e([s("esri.undoredo.support.ServiceVersionInfo")],c);export{c as ServiceVersionInfo};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../request.js";import r from"../core/Error.js";import{JSONSupportMixin as s}from"../core/JSONSupport.js";import{Loadable as i}from"../core/Loadable.js";import{removeTrailingSlash as n,Url as o}from"../core/urlUtils.js";import{property as a,subclass as u}from"../core/accessorSupport/decorators.js";import{onApplyEditsEvent as l,emitUpdateMomentEvent as d}from"../layers/mixins/EditBusLayer.js";import{parseUrl as c}from"../rest/utils.js";import m from"./support/EditMomentStack.js";import{versionCollection as f,versionCollectionCount as g,defaultVersionNameLookup as h,currentSessionId as p}from"./support/versionManagementUtils.js";import{createVersionAdapters as V}from"./versionAdapters/utils.js";import{reader as v}from"../core/accessorSupport/decorators/reader.js";import{writer as w}from"../core/accessorSupport/decorators/writer.js";let y=class extends(s(i)){constructor(e){super(e),this.url=null,this.sourceJSON=null,this.name=null,this.defaultVersionIdentifier=null,this.capabilities=null,this._isDefault=e=>!e||e===this.defaultVersionIdentifier.name,this._dateEquals=(e,t)=>!e&&!t||!(!e||!t)&&e.toISOString()===t.toISOString(),this._applyEditsHandler=e=>{const{serviceUrl:t,gdbVersion:r,result:s}=e;t===this._featureServiceUrl&&s.then(e=>{const t=e.historicMoment;t&&this._addMomentToVersionItem(r,t)},()=>{})}}initialize(){this.url=n(this.url),this._featureServiceUrl=this.url.replace(/\/VersionManagementServer/i,"/FeatureServer"),f.has(this.url)||f.set(this.url,new Map);const e=(g.get(this.url)??0)+1;g.set(this.url,e),this.when().then(()=>this.addHandles(l(this._applyEditsHandler)),()=>{})}destroy(){const e=(g.get(this.url)??1)-1;g.set(this.url,e),0===e&&f.delete(this.url),h.delete(this._featureServiceUrl)}read(e,t){this.sourceJSON=e,super.read(e,t)}readDefaultVersionIdentifier(e,t){return{name:t.defaultVersionName,guid:t.defaultVersionGuid}}writeDefaultVersionIdentifier(e,t){t.defaultVersionName=e.name,t.defaultVersionGuid=e.guid}get loaded(){return super.loaded}load(e){return this.addResolvingPromise(this._fetchService(this.url,e)),Promise.resolve(this)}async createVersion(e){const[{createVersion:t},{default:r}]=await Promise.all([import("../rest/versionManagement/createVersion.js"),import("../rest/versionManagement/support/CreateVersionParameters.js")]),s=r.from(e);return t(this.url,s)}async deleteVersion(e){const[{deleteVersion:t},{default:r}]=await Promise.all([import("../rest/versionManagement/deleteVersion.js"),import("../rest/versionManagement/support/DeleteVersionParameters.js")]);let s;e.guid&&f.get(this.url)?.has(e.guid)&&(s=p??void 0);const i=new r({versionName:e.name,sessionId:s});return t(this.url,i)}async getVersionInfoExtended(e){const{getVersion:t}=await import("../rest/versionManagement/getVersion.js");return t(this.url,e.guid)}async getVersionInfos(e={}){const[{getVersionInfos:t},{default:r}]=await Promise.all([import("../rest/versionManagement/getVersionInfos.js"),import("../rest/versionManagement/support/GetVersionInfosParameters.js")]),s=r.from(e);return t(this.url,s)}async reconcile(e,t={}){const[{reconcile:r},{default:s}]=await Promise.all([import("../rest/versionManagement/gdbVersion/reconcile.js"),import("../rest/versionManagement/gdbVersion/support/ReconcileParameters.js")]),i=s.from(t);i.sessionId=p;const n=await r(this.url,e.guid,i);if(n.success&&n.moment){const t=n.moment;d(this._featureServiceUrl,null,e.name,t),this._addMomentToVersionItem(e.guid,t)}return n}async post(e){const[{post:t},{default:r}]=await Promise.all([import("../rest/versionManagement/gdbVersion/post.js"),import("../rest/versionManagement/gdbVersion/support/PostParameters.js")]),s=r.from({sessionId:p}),i=await t(this.url,e.guid,s);if(i.success&&i.moment){const t=i.moment;d(this._featureServiceUrl,null,e.name,t),this._addMomentToVersionItem(e.guid,t)}return i}async alterVersion(e,t){const[{alterVersion:r},{default:s}]=await Promise.all([import("../rest/versionManagement/gdbVersion/alterVersion.js"),import("../rest/versionManagement/gdbVersion/support/AlterVersionParameters.js")]),i=s.from(t);return r(this.url,e.guid,i)}async startReading(e){return(await this.startReadingWithResult(e)).success}async startReadingWithResult(e){const{startReading:t}=await import("../rest/versionManagement/gdbVersion/startReading.js"),r=await t(this.url,e.guid,p);if(r.success){const t=await this.getVersionInfoExtended(e),r=new Date(t.modifiedDate),s={name:t.versionIdentifier.name,moment:r,lockType:"read"};this._addOrUpdateItem(e.guid,s),d(this._featureServiceUrl,null,e.name,r)}return r}async stopReading(e){return(await this.stopReadingWithResult(e)).success}async stopReadingWithResult(e){const{stopReading:t}=await import("../rest/versionManagement/gdbVersion/stopReading.js"),r=await t(this.url,e.guid,p);return r.success&&(f.get(this.url)?.delete(e.guid),d(this._featureServiceUrl,null,e.name,null)),r}async startEditing(e){return(await this.startEditingWithResult(e)).success}async startEditingWithResult(e){const{startEditing:t}=await import("../rest/versionManagement/gdbVersion/startEditing.js"),r=await t(this.url,e.guid,p);if(r.success){const t=await this.getVersionInfoExtended(e),r=new Date(t.modifiedDate),s=new m(r),i={name:e.name,moment:r,lockType:"edit",stack:s};this._addOrUpdateItem(e.guid,i),d(this._featureServiceUrl,null,e.name,r)}return r}async stopEditing(e,t){return(await this.stopEditingWithResult(e,t)).success}async stopEditingWithResult(e,t){if(t){const t=f.get(this.url)?.get(e.guid);if(t?.stack?.canRedo()){const[{deleteForwardEdits:r},{default:s}]=await Promise.all([import("../rest/versionManagement/gdbVersion/deleteForwardEdits.js"),import("../rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js")]),i=await r(this.url,e.guid,new s({sessionId:p,moment:t.moment}));if(!i.success)return i}}const{stopEditing:r}=await import("../rest/versionManagement/gdbVersion/stopEditing.js"),s=await r(this.url,e.guid,p,t);if(s.success){const t=await this.getVersionInfoExtended(e),r=new Date(t.modifiedDate);this._addOrUpdateItem(e.guid,{name:e.name,moment:r,lockType:"read",editMomentStack:void 0}),d(this._featureServiceUrl,null,e.name,r)}return s}getLockType(e){const t=f.get(this.url)?.get(e.guid)?.lockType;return t??"none"}async changeVersion(e,t,s){if(s&&"name"in s&&!await this.getVersionInfoExtended(s))throw new r("version-management-service:invalid-version","version does not exist");if("networkServiceUrl"in e){if(this._featureServiceUrl.toLowerCase()===e.featureServiceUrl.toLowerCase())return this._changeVersionInternal(e,t,s)}else{let r;"layers"in e?(r=e.allTables.concat(e.allLayers),e.utilityNetworks&&e.utilityNetworks.forEach(e=>{this._featureServiceUrl.toLowerCase()===e.featureServiceUrl.toLowerCase()&&this._changeVersionInternal(e,t,s)})):r=e;for(const e of r)if("feature"===e.type||"subtype-group"===e.type){const r=/^(.*\/FeatureServer)\/\d+$/,i=e.url.replace(r,"$1");if(this._featureServiceUrl.toLowerCase()===i.toLowerCase()&&!this._changeVersionInternal(e,t,s))return!1}else if("group"===e.type){const r=e.allTables.concat(e.allLayers);for(const e of r)if("feature"===e.type||"subtype-group"===e.type){const r=/^(.*\/FeatureServer)\/\d+$/,i=e.url.replace(r,"$1");if(this._featureServiceUrl.toLowerCase()===i.toLowerCase()&&!this._changeVersionInternal(e,t,s))return!1}}}return!0}async changeVersionWithResult(e,t,r){let s;if("layers"in e){const t=V(e.allTables.concat(e.allLayers).filter(e=>"group"!==e.type).toArray());e.utilityNetworks&&e.utilityNetworks.forEach(e=>{const r=V([e]);t.push(...r)}),s=t}else s=e;if(r&&"name"in r){if(!await this.getVersionInfoExtended(r)){const e=new Map;for(const t of s)e.set(t,{success:!1});return e}}if(t&&"name"in t){if("none"!==this.getLockType(t)){const e=new Map;for(const t of s)e.set(t,{success:!1});return e}}const i=new Map;for(const n of s)if(n)if(n.featureServiceUrl.toLowerCase()===this._featureServiceUrl.toLowerCase()){const e=this._changeVersionInternalWithResult(n,t,r);i.set(n,e)}else i.set(n,{success:!1});return i}async getVersionIdentifierFromName(e){try{const t=await this.getVersionInfos({includeHidden:!0});return t.find(t=>t.versionIdentifier.name.toUpperCase()===e.toUpperCase())?.versionIdentifier||null}catch{return null}}async getVersionIdentifierFromGuid(e){const{getVersion:t}=await import("../rest/versionManagement/getVersion.js");try{return(await t(this.url,e)).versionIdentifier}catch{return null}}canUndo(e){const t=f.get(this.url)?.get(e.guid);return!!t?.stack?.canUndo()}canRedo(e){const t=f.get(this.url)?.get(e.guid);return!!t?.stack?.canRedo()}undo(e){const t=f.get(this.url)?.get(e.guid),r=t?.stack?.undo()||void 0;if(t&&r){const r=t.stack.peek();d(this._featureServiceUrl,null,e.name,r),f.get(this.url)?.set(e.guid,{...t,moment:r})}}redo(e){const t=f.get(this.url)?.get(e.guid),r=t?.stack?.redo()||void 0;t&&r&&(d(this._featureServiceUrl,null,e.name,r),f.get(this.url)?.set(e.guid,{...t,moment:r}))}_setUpData(e,t){let s=null,i=null,n=null,o=null;const a=e=>{const t=f?.get(this.url)?.get(e.guid);n=e.name,o=t?.moment??null};if(e&&"name"in e){if("none"!==this.getLockType(e))throw new r("version-management-service:version-locked","version is locked");s=e.name,i=null,t&&"name"in t?a(t):(n=this.defaultVersionIdentifier.name,o=t)}else s=this.defaultVersionIdentifier.name,i=e,t&&"name"in t?a(t):(n=this.defaultVersionIdentifier.name,o=t);return{fromVersionName:s,fromMoment:i,toVersionName:n,toMoment:o}}_changeVersionInternal(e,t,r){try{const{fromVersionName:s,fromMoment:i,toVersionName:n,toMoment:o}=this._setUpData(t,r);(this._isDefault(s)&&this._isDefault(e.gdbVersion)&&this._dateEquals(e.historicMoment,i)||s===e.gdbVersion&&this._dateEquals(e.historicMoment,i))&&(e.gdbVersion=n,e.historicMoment=o)}catch(s){return!1}return!0}_changeVersionInternalWithResult(e,t,r){try{const{fromVersionName:s,fromMoment:i,toVersionName:n,toMoment:o}=this._setUpData(t,r);return this._isDefault(s)&&this._isDefault(e.gdbVersion)&&this._dateEquals(e.historicMoment,i)||s===e.gdbVersion&&this._dateEquals(e.historicMoment,i)?(e.gdbVersion=n,e.historicMoment=o,{success:!0}):{success:!1}}catch(s){return{success:!1}}}_addMomentToVersionItem(e,t){const r=f.get(this.url);if(r)for(const[s,i]of r){i.name===e&&this._addToStack(s,t)}}_addToStack(e,t){const r=f.get(this.url),s=r?.get(e);return!!s?.stack&&(I(s.stack.peek(),t)&&s.stack.push(t),r.set(e,{...s,moment:t}),!0)}_addOrUpdateItem(e,t){const r=f.get(this.url),s=r?.get(e);return s?(r.set(e,{...s,...t}),!0):!(!t.name||!t.lockType)&&(r?.set(e,{...t,lockType:t.lockType}),!0)}async _fetchService(e,r){if(this.sourceJSON){this.read(this.sourceJSON,{origin:"service",url:c(e)});const t=new o(this.url).host;return void h.set(t,this.defaultVersionIdentifier.name)}const s=await t(e,{responseType:"json",query:{f:"json"},...r});this.read(s.data)}};function I(e,t){if(e){return e.getTime()<t.getTime()}return!0}e([a()],y.prototype,"url",void 0),e([a()],y.prototype,"sourceJSON",void 0),e([a({type:String,json:{write:!0}})],y.prototype,"name",void 0),e([a({json:{write:{target:{defaultVersionName:{type:String},defaultVersionGuid:{type:String}}},read:{source:["defaultVersionName","defaultVersionGuid"]}}})],y.prototype,"defaultVersionIdentifier",void 0),e([v("defaultVersionIdentifier",["defaultVersionName","defaultVersionGuid"])],y.prototype,"readDefaultVersionIdentifier",null),e([w("defaultVersionIdentifier",{defaultVersionName:{type:String},defaultVersionGuid:{type:String}})],y.prototype,"writeDefaultVersionIdentifier",null),e([a({json:{write:!0}})],y.prototype,"capabilities",void 0),y=e([u("esri.versionManagement.VersionManagementService")],y);const S=y;export{S as default};
2
+ import{__decorate as e}from"tslib";import t from"../request.js";import r from"../core/Error.js";import{JSONSupportMixin as s}from"../core/JSONSupport.js";import{Loadable as i}from"../core/Loadable.js";import{removeTrailingSlash as n,Url as o}from"../core/urlUtils.js";import{property as a,subclass as u}from"../core/accessorSupport/decorators.js";import{onApplyEditsEvent as l,emitUpdateMomentEvent as d}from"../layers/mixins/EditBusLayer.js";import{parseUrl as c}from"../rest/utils.js";import m from"./support/EditMomentStack.js";import{versionCollection as f,versionCollectionCount as g,defaultVersionNameLookup as h,currentSessionId as p}from"./support/versionManagementUtils.js";import{createVersionAdapters as V}from"./versionAdapters/utils.js";import{reader as v}from"../core/accessorSupport/decorators/reader.js";import{writer as w}from"../core/accessorSupport/decorators/writer.js";let y=class extends(s(i)){constructor(e){super(e),this.url=null,this.sourceJSON=null,this.name=null,this.defaultVersionIdentifier=null,this.capabilities=null,this._isDefault=e=>!e||e===this.defaultVersionIdentifier.name,this._dateEquals=(e,t)=>!e&&!t||!(!e||!t)&&e.toISOString()===t.toISOString(),this._applyEditsHandler=e=>{const{serviceUrl:t,gdbVersion:r,result:s}=e;t===this._featureServiceUrl&&s.then(e=>{const t=e.historicMoment;t&&this._addMomentToVersionItem(r,t)},()=>{})}}initialize(){this.url=n(this.url),this._featureServiceUrl=this.url.replace(/\/VersionManagementServer/i,"/FeatureServer"),f.has(this.url)||f.set(this.url,new Map);const e=(g.get(this.url)??0)+1;g.set(this.url,e),this.when().then(()=>this.addHandles(l(this._applyEditsHandler)),()=>{})}destroy(){const e=(g.get(this.url)??1)-1;g.set(this.url,e),0===e&&f.delete(this.url),h.delete(this._featureServiceUrl)}read(e,t){this.sourceJSON=e,super.read(e,t)}readDefaultVersionIdentifier(e,t){return{name:t.defaultVersionName,guid:t.defaultVersionGuid}}writeDefaultVersionIdentifier(e,t){t.defaultVersionName=e.name,t.defaultVersionGuid=e.guid}get loaded(){return super.loaded}load(e){return this.addResolvingPromise(this._fetchService(this.url,e)),Promise.resolve(this)}async createVersion(e){const[{createVersion:t},{default:r}]=await Promise.all([import("../rest/versionManagement/createVersion.js"),import("../rest/versionManagement/support/CreateVersionParameters.js")]),s=r.from(e);return t(this.url,s)}async deleteVersion(e){const[{deleteVersion:t},{default:r}]=await Promise.all([import("../rest/versionManagement/deleteVersion.js"),import("../rest/versionManagement/support/DeleteVersionParameters.js")]);let s;e.guid&&f.get(this.url)?.has(e.guid)&&(s=p??void 0);const i=new r({versionName:e.name,sessionId:s});return t(this.url,i)}async getVersionInfoExtended(e){const{getVersion:t}=await(import("../rest/versionManagement/getVersion.js"));return t(this.url,e.guid)}async getVersionInfos(e={}){const[{getVersionInfos:t},{default:r}]=await Promise.all([import("../rest/versionManagement/getVersionInfos.js"),import("../rest/versionManagement/support/GetVersionInfosParameters.js")]),s=r.from(e);return t(this.url,s)}async reconcile(e,t={}){const[{reconcile:r},{default:s}]=await Promise.all([import("../rest/versionManagement/gdbVersion/reconcile.js"),import("../rest/versionManagement/gdbVersion/support/ReconcileParameters.js")]),i=s.from(t);i.sessionId=p;const n=await r(this.url,e.guid,i);if(n.success&&n.moment){const t=n.moment;d(this._featureServiceUrl,null,e.name,t),this._addMomentToVersionItem(e.guid,t)}return n}async post(e){const[{post:t},{default:r}]=await Promise.all([import("../rest/versionManagement/gdbVersion/post.js"),import("../rest/versionManagement/gdbVersion/support/PostParameters.js")]),s=r.from({sessionId:p}),i=await t(this.url,e.guid,s);if(i.success&&i.moment){const t=i.moment;d(this._featureServiceUrl,null,e.name,t),this._addMomentToVersionItem(e.guid,t)}return i}async alterVersion(e,t){const[{alterVersion:r},{default:s}]=await Promise.all([import("../rest/versionManagement/gdbVersion/alterVersion.js"),import("../rest/versionManagement/gdbVersion/support/AlterVersionParameters.js")]),i=s.from(t);return r(this.url,e.guid,i)}async startReading(e){return(await this.startReadingWithResult(e)).success}async startReadingWithResult(e){const{startReading:t}=await(import("../rest/versionManagement/gdbVersion/startReading.js")),r=await t(this.url,e.guid,p);if(r.success){const t=await this.getVersionInfoExtended(e),r=new Date(t.modifiedDate),s={name:t.versionIdentifier.name,moment:r,lockType:"read"};this._addOrUpdateItem(e.guid,s),d(this._featureServiceUrl,null,e.name,r)}return r}async stopReading(e){return(await this.stopReadingWithResult(e)).success}async stopReadingWithResult(e){const{stopReading:t}=await(import("../rest/versionManagement/gdbVersion/stopReading.js")),r=await t(this.url,e.guid,p);return r.success&&(f.get(this.url)?.delete(e.guid),d(this._featureServiceUrl,null,e.name,null)),r}async startEditing(e){return(await this.startEditingWithResult(e)).success}async startEditingWithResult(e){const{startEditing:t}=await(import("../rest/versionManagement/gdbVersion/startEditing.js")),r=await t(this.url,e.guid,p);if(r.success){const t=await this.getVersionInfoExtended(e),r=new Date(t.modifiedDate),s=new m(r),i={name:e.name,moment:r,lockType:"edit",stack:s};this._addOrUpdateItem(e.guid,i),d(this._featureServiceUrl,null,e.name,r)}return r}async stopEditing(e,t){return(await this.stopEditingWithResult(e,t)).success}async stopEditingWithResult(e,t){if(t){const t=f.get(this.url)?.get(e.guid);if(t?.stack?.canRedo()){const[{deleteForwardEdits:r},{default:s}]=await Promise.all([import("../rest/versionManagement/gdbVersion/deleteForwardEdits.js"),import("../rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js")]),i=await r(this.url,e.guid,new s({sessionId:p,moment:t.moment}));if(!i.success)return i}}const{stopEditing:r}=await(import("../rest/versionManagement/gdbVersion/stopEditing.js")),s=await r(this.url,e.guid,p,t);if(s.success){const t=await this.getVersionInfoExtended(e),r=new Date(t.modifiedDate);this._addOrUpdateItem(e.guid,{name:e.name,moment:r,lockType:"read",editMomentStack:void 0}),d(this._featureServiceUrl,null,e.name,r)}return s}getLockType(e){const t=f.get(this.url)?.get(e.guid)?.lockType;return t??"none"}async changeVersion(e,t,s){if(s&&"name"in s&&!await this.getVersionInfoExtended(s))throw new r("version-management-service:invalid-version","version does not exist");if("networkServiceUrl"in e){if(this._featureServiceUrl.toLowerCase()===e.featureServiceUrl.toLowerCase())return this._changeVersionInternal(e,t,s)}else{let r;"layers"in e?(r=e.allTables.concat(e.allLayers),e.utilityNetworks&&e.utilityNetworks.forEach(e=>{this._featureServiceUrl.toLowerCase()===e.featureServiceUrl.toLowerCase()&&this._changeVersionInternal(e,t,s)})):r=e;for(const e of r)if("feature"===e.type||"subtype-group"===e.type){const r=/^(.*\/FeatureServer)\/\d+$/,i=e.url.replace(r,"$1");if(this._featureServiceUrl.toLowerCase()===i.toLowerCase()&&!this._changeVersionInternal(e,t,s))return!1}else if("group"===e.type){const r=e.allTables.concat(e.allLayers);for(const e of r)if("feature"===e.type||"subtype-group"===e.type){const r=/^(.*\/FeatureServer)\/\d+$/,i=e.url.replace(r,"$1");if(this._featureServiceUrl.toLowerCase()===i.toLowerCase()&&!this._changeVersionInternal(e,t,s))return!1}}}return!0}async changeVersionWithResult(e,t,r){let s;if("layers"in e){const t=V(e.allTables.concat(e.allLayers).filter(e=>"group"!==e.type).toArray());e.utilityNetworks&&e.utilityNetworks.forEach(e=>{const r=V([e]);t.push(...r)}),s=t}else s=e;if(r&&"name"in r){if(!await this.getVersionInfoExtended(r)){const e=new Map;for(const t of s)e.set(t,{success:!1});return e}}if(t&&"name"in t){if("none"!==this.getLockType(t)){const e=new Map;for(const t of s)e.set(t,{success:!1});return e}}const i=new Map;for(const n of s)if(n)if(n.featureServiceUrl.toLowerCase()===this._featureServiceUrl.toLowerCase()){const e=this._changeVersionInternalWithResult(n,t,r);i.set(n,e)}else i.set(n,{success:!1});return i}async getVersionIdentifierFromName(e){try{const t=await this.getVersionInfos({includeHidden:!0});return t.find(t=>t.versionIdentifier.name.toUpperCase()===e.toUpperCase())?.versionIdentifier||null}catch{return null}}async getVersionIdentifierFromGuid(e){const{getVersion:t}=await(import("../rest/versionManagement/getVersion.js"));try{return(await t(this.url,e)).versionIdentifier}catch{return null}}canUndo(e){const t=f.get(this.url)?.get(e.guid);return!!t?.stack?.canUndo()}canRedo(e){const t=f.get(this.url)?.get(e.guid);return!!t?.stack?.canRedo()}undo(e){const t=f.get(this.url)?.get(e.guid),r=t?.stack?.undo()||void 0;if(t&&r){const r=t.stack.peek();d(this._featureServiceUrl,null,e.name,r),f.get(this.url)?.set(e.guid,{...t,moment:r})}}redo(e){const t=f.get(this.url)?.get(e.guid),r=t?.stack?.redo()||void 0;t&&r&&(d(this._featureServiceUrl,null,e.name,r),f.get(this.url)?.set(e.guid,{...t,moment:r}))}_setUpData(e,t){let s=null,i=null,n=null,o=null;const a=e=>{const t=f?.get(this.url)?.get(e.guid);n=e.name,o=t?.moment??null};if(e&&"name"in e){if("none"!==this.getLockType(e))throw new r("version-management-service:version-locked","version is locked");s=e.name,i=null,t&&"name"in t?a(t):(n=this.defaultVersionIdentifier.name,o=t)}else s=this.defaultVersionIdentifier.name,i=e,t&&"name"in t?a(t):(n=this.defaultVersionIdentifier.name,o=t);return{fromVersionName:s,fromMoment:i,toVersionName:n,toMoment:o}}_changeVersionInternal(e,t,r){try{const{fromVersionName:s,fromMoment:i,toVersionName:n,toMoment:o}=this._setUpData(t,r);(this._isDefault(s)&&this._isDefault(e.gdbVersion)&&this._dateEquals(e.historicMoment,i)||s===e.gdbVersion&&this._dateEquals(e.historicMoment,i))&&(e.gdbVersion=n,e.historicMoment=o)}catch(s){return!1}return!0}_changeVersionInternalWithResult(e,t,r){try{const{fromVersionName:s,fromMoment:i,toVersionName:n,toMoment:o}=this._setUpData(t,r);return this._isDefault(s)&&this._isDefault(e.gdbVersion)&&this._dateEquals(e.historicMoment,i)||s===e.gdbVersion&&this._dateEquals(e.historicMoment,i)?(e.gdbVersion=n,e.historicMoment=o,{success:!0}):{success:!1}}catch(s){return{success:!1}}}_addMomentToVersionItem(e,t){const r=f.get(this.url);if(r)for(const[s,i]of r){i.name===e&&this._addToStack(s,t)}}_addToStack(e,t){const r=f.get(this.url),s=r?.get(e);return!!s?.stack&&(I(s.stack.peek(),t)&&s.stack.push(t),r.set(e,{...s,moment:t}),!0)}_addOrUpdateItem(e,t){const r=f.get(this.url),s=r?.get(e);return s?(r.set(e,{...s,...t}),!0):!(!t.name||!t.lockType)&&(r?.set(e,{...t,lockType:t.lockType}),!0)}async _fetchService(e,r){if(this.sourceJSON){this.read(this.sourceJSON,{origin:"service",url:c(e)});const t=new o(this.url).host;return void h.set(t,this.defaultVersionIdentifier.name)}const s=await t(e,{responseType:"json",query:{f:"json"},...r});this.read(s.data)}};function I(e,t){if(e){return e.getTime()<t.getTime()}return!0}e([a()],y.prototype,"url",void 0),e([a()],y.prototype,"sourceJSON",void 0),e([a({type:String,json:{write:!0}})],y.prototype,"name",void 0),e([a({json:{write:{target:{defaultVersionName:{type:String},defaultVersionGuid:{type:String}}},read:{source:["defaultVersionName","defaultVersionGuid"]}}})],y.prototype,"defaultVersionIdentifier",void 0),e([v("defaultVersionIdentifier",["defaultVersionName","defaultVersionGuid"])],y.prototype,"readDefaultVersionIdentifier",null),e([w("defaultVersionIdentifier",{defaultVersionName:{type:String},defaultVersionGuid:{type:String}})],y.prototype,"writeDefaultVersionIdentifier",null),e([a({json:{write:!0}})],y.prototype,"capabilities",void 0),y=e([u("esri.versionManagement.VersionManagementService")],y);const S=y;export{S as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import has from"../../../core/has.js";import{removeMaybe as r}from"../../../core/maybe.js";import{addFrameTask as s}from"../../../core/scheduling.js";import{signal as i}from"../../../core/signal.js";import{property as n}from"../../../core/accessorSupport/decorators.js";import{create as a}from"../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{CIMAnalyzer as o}from"../../../symbols/cim/cimAnalyzer.js";import{LabelManager as h}from"../LabelManager.js";import{Container as d}from"./Container.js";import{ThrottledCanvas as l}from"./ThrottledCanvas.js";import{MAX_TILE_RESHUFFLES_PER_FRAME as m}from"./webgl/definitions.js";import c from"./webgl/Painter.js";import{Profiler as u}from"./webgl/Profiler.js";import{TileReshuffleManager as p}from"./webgl/TileReshuffleManager.js";import{startup as f,shutdown as g}from"./webgl/shaderGraph/techniques/TechniqueRegistry.js";import{MeshWriterRegistry as _}from"./webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js";import{FeatureContainer as b}from"../layers/features/FeatureContainer.js";import{Timeline as w}from"../support/Timeline.js";import{SizedPixelFormat as R,SizedDepthStencilFormat as y,PixelType as x}from"../../webgl/enums.js";import{DisposableFramebufferObject as C}from"../../webgl/FramebufferObject.js";import{RenderbufferDescriptor as j}from"../../webgl/RenderbufferDescriptor.js";import{RenderingContext as P}from"../../webgl/RenderingContext.js";import{RenderingContextOptions as T}from"../../webgl/RenderingContextOptions.js";import{TextureDescriptor as M}from"../../webgl/TextureDescriptor.js";const q=2e3;class v extends d{constructor(e,r){super(),this._trash=new Set,this._renderRemainingTime=0,this._lastFrameRenderTime=0,this._stationary=!0,this._animationsEnabled=!0,this._renderRequested=i(!1),this._reshuffleManager=new p,this.stage=this,this.meshWriterRegistry=new _,this.labelManager=new h({featuresTilingScheme:r.featuresTilingScheme}),this._throttledCanvas=new l(e),this.context=new P(this._throttledCanvas.gl,r.contextOptions??new T),this.painter=new c(this.context,this),this._cimAnalyzer=new o(this.painter.textureManager.resourceManager);const n=()=>this.highlightGradient;this._renderParameters={drawPhase:0,state:this.state,pixelRatio:window.devicePixelRatio,stationary:!1,globalOpacity:1,blendMode:null,deltaTime:-1,time:0,inFadeTransition:!1,effects:null,context:this.context,painter:this.painter,timeline:r.timeline||new w,renderingOptions:r.renderingOptions,requestRender:()=>this.requestRender(),allowDelayedRender:!1,requireFBO:!1,profiler:new u(this.context),dataUploadCounter:0,get highlightGradient(){return n()},reshuffleManager:this._reshuffleManager,backgroundColor:r.backgroundColor,animationsEnabled:!0};let a=e=>this.renderFrame(e);null!=r.renderFrame&&(a=r.renderFrame),this._taskHandle=s({render:e=>a(e)}),this._taskHandle.pause(),this._lostWebGLContextHandle=this._throttledCanvas.events.on("webgl-context-lost",e=>this.emit("webgl-error",{error:new t("webgl-context-lost",e.statusMessage||"WebGL context lost")})),f()}destroy(){super.destroy(),g(this.context),this.labelManager.destroy(),this.removeAllChildren(),this._emptyTrash(),this._taskHandle=r(this._taskHandle),this._lostWebGLContextHandle=r(this._lostWebGLContextHandle),this._throttledCanvas.destroy(),this.painter.dispose(),this.context.dispose(),this._throttledCanvas=null}get updating(){return this.labelManager.updating}get textureManager(){return this.painter.textureManager}get profiler(){return this._renderParameters.profiler}get backgroundColor(){return this._renderParameters.backgroundColor}set backgroundColor(e){this._renderParameters.backgroundColor=e,this.requestRender()}get canvas(){return this._throttledCanvas.canvas}get cimAnalyzer(){return this._cimAnalyzer}get effectiveVisible(){return this.visible}get renderingOptions(){return this._renderingOptions}set renderingOptions(e){this._renderingOptions=e,this.requestRender()}get renderRequested(){return this._renderRequested.value}get state(){return this._state}set state(e){this._state=e,this.requestDeclutter(),this.requestRender()}get stationary(){return this._stationary}set stationary(e){this._stationary!==e&&(this._stationary=e,this.requestRender())}get animationsEnabled(){return this._animationsEnabled}set animationsEnabled(e){this._animationsEnabled!==e&&(this._animationsEnabled=e,this._animationsEnabled&&this.requestRender())}trashDisplayObject(e){this._trash.add(e),this.requestRender()}untrashDisplayObject(e){return this._trash.delete(e)}requestRender(){this._renderRemainingTime=q,this.renderRequested||(this._renderRequested.value=!0,this._taskHandle.resume())}requestDeclutter(){this.labelManager.requestDeclutter(),this.requestRender()}renderFrame(e){const t=this._lastFrameRenderTime?e.time-this._lastFrameRenderTime:0;this._renderRemainingTime-=t,this._renderRemainingTime<=0&&this._taskHandle.pause(),this._lastFrameRenderTime=e.time,this._renderRequested.value=!1,this._renderParameters.state=this._state,this._renderParameters.stationary=this.stationary,this._renderParameters.pixelRatio=window.devicePixelRatio,this._renderParameters.globalOpacity=1,this._renderParameters.time=e.time,this._renderParameters.deltaTime=e.deltaTime,this._renderParameters.effects=null,this._renderParameters.animationsEnabled=this._animationsEnabled,this.processRender(this._renderParameters),this._emptyTrash()}_createTransforms(){return{displayViewScreenMat3:a()}}renderChildren(e){this._reshuffleManager.reshuffle(m);const t=[];this._prepareFeatureContainers(t,this);const r=this.labelManager.declutter(t,e.state);r&&this.requestRender(),this._throttledCanvas.render(e,()=>this._renderChildren(this.children,e,r))}_renderChildren(e,t,r=!1){t.decluttering=r;for(const i of e)i.beforeRender(t);const s=this.context;this.painter.textureUploadManager.upload(),s.resetInfo(),t.profiler.recordStart("drawLayers"),t.dataUploadCounter=0,this.painter.beforeRenderPhases(t,t.backgroundColor,this.state.padding),t.drawPhase=1;for(const i of e)i.processRender(t);if(this.children.some(e=>e.hasHighlight)){t.drawPhase=16;for(const r of e)r.processRender(t)}if(this.children.some(e=>e.hasLabels)){t.drawPhase=2;for(const r of e)r.processRender(t)}if(has("esri-tiles-debug")){t.drawPhase=64;for(const r of e)r.processRender(t)}t.drawPhase=128;for(const i of e)i.processRender(t);this.painter.afterRenderPhases(t),t.profiler.recordEnd("drawLayers"),s.logInfo();for(const i of e)i.afterRender(t)}_prepareFeatureContainers(e,t){for(const r of t.children)r instanceof b?e.push(r):r instanceof d&&this._prepareFeatureContainers(e,r)}doRender(e){const t=this.context,{state:r,pixelRatio:s}=e;this._throttledCanvas.resize(e),t.setViewport(0,0,s*r.size[0],s*r.size[1]),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),this.renderChildren(e)}async takeScreenshot(e,t,r,s){const i=Math.round(this.state.size[0]*e.resolutionScale),n=Math.round(this.state.size[1]*e.resolutionScale),a=e.resolutionScale,o=this.context,h=this._state.clone();if(null!=s){const e=h.viewpoint;h.viewpoint.rotation=s,h.viewpoint=e}const d={...this._renderParameters,drawPhase:null,globalOpacity:1,stationary:!0,state:h,pixelRatio:a,time:performance.now(),deltaTime:0,blendMode:null,effects:null,inFadeTransition:!1,backgroundColor:r},l=new M(i,n);l.wrapMode=33071,l.internalFormat=R.RGBA8,l.isImmutable=!0;const m=new C(o,l,new j(y.DEPTH24_STENCIL8,i,n)),c=o.boundFramebuffer,u=o.getViewport();o.bindFramebuffer(m),o.setViewport(0,0,i,n),this._renderChildren(t??this.children,d);const p=this._readbackScreenshot(m,{...e.cropArea,y:n-(e.cropArea.y+e.cropArea.height)});o.bindFramebuffer(c),o.setViewport(u.x,u.y,u.width,u.height),this.requestRender();const f=await p;let g;return 1===e.outputScale?g=f:(g=new ImageData(Math.round(f.width*e.outputScale),Math.round(f.height*e.outputScale)),(await import("../../support/screenshotUtils.js")).resampleHermite(f,g,!0)),m.dispose(),g}async _readbackScreenshot(e,t){const r=(await import("../../support/screenshotUtils.js")).createEmptyImageData(t.width,t.height,document.createElement("canvas"));return await e.readPixelsAsync(t.x,t.y,t.width,t.height,6408,x.UNSIGNED_BYTE,new Uint8Array(r.data.buffer)),r}_emptyTrash(){for(;this._trash.size>0;){const e=Array.from(this._trash);this._trash.clear();for(const t of e)t.processDetach()}}}e([n()],v.prototype,"updating",null);export{v as Stage,q as extraRenderTime};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import has from"../../../core/has.js";import{removeMaybe as r}from"../../../core/maybe.js";import{addFrameTask as s}from"../../../core/scheduling.js";import{signal as i}from"../../../core/signal.js";import{property as n}from"../../../core/accessorSupport/decorators.js";import{create as a}from"../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{CIMAnalyzer as o}from"../../../symbols/cim/cimAnalyzer.js";import{LabelManager as h}from"../LabelManager.js";import{Container as d}from"./Container.js";import{ThrottledCanvas as l}from"./ThrottledCanvas.js";import{MAX_TILE_RESHUFFLES_PER_FRAME as m}from"./webgl/definitions.js";import c from"./webgl/Painter.js";import{Profiler as u}from"./webgl/Profiler.js";import{TileReshuffleManager as p}from"./webgl/TileReshuffleManager.js";import{startup as f,shutdown as g}from"./webgl/shaderGraph/techniques/TechniqueRegistry.js";import{MeshWriterRegistry as _}from"./webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js";import{FeatureContainer as b}from"../layers/features/FeatureContainer.js";import{Timeline as w}from"../support/Timeline.js";import{SizedPixelFormat as R,SizedDepthStencilFormat as y,PixelType as x}from"../../webgl/enums.js";import{DisposableFramebufferObject as C}from"../../webgl/FramebufferObject.js";import{RenderbufferDescriptor as j}from"../../webgl/RenderbufferDescriptor.js";import{RenderingContext as P}from"../../webgl/RenderingContext.js";import{RenderingContextOptions as T}from"../../webgl/RenderingContextOptions.js";import{TextureDescriptor as M}from"../../webgl/TextureDescriptor.js";const q=2e3;class v extends d{constructor(e,r){super(),this._trash=new Set,this._renderRemainingTime=0,this._lastFrameRenderTime=0,this._stationary=!0,this._animationsEnabled=!0,this._renderRequested=i(!1),this._reshuffleManager=new p,this.stage=this,this.meshWriterRegistry=new _,this.labelManager=new h({featuresTilingScheme:r.featuresTilingScheme}),this._throttledCanvas=new l(e),this.context=new P(this._throttledCanvas.gl,r.contextOptions??new T),this.painter=new c(this.context,this),this._cimAnalyzer=new o(this.painter.textureManager.resourceManager);const n=()=>this.highlightGradient;this._renderParameters={drawPhase:0,state:this.state,pixelRatio:window.devicePixelRatio,stationary:!1,globalOpacity:1,blendMode:null,deltaTime:-1,time:0,inFadeTransition:!1,effects:null,context:this.context,painter:this.painter,timeline:r.timeline||new w,renderingOptions:r.renderingOptions,requestRender:()=>this.requestRender(),allowDelayedRender:!1,requireFBO:!1,profiler:new u(this.context),dataUploadCounter:0,get highlightGradient(){return n()},reshuffleManager:this._reshuffleManager,backgroundColor:r.backgroundColor,animationsEnabled:!0};let a=e=>this.renderFrame(e);null!=r.renderFrame&&(a=r.renderFrame),this._taskHandle=s({render:e=>a(e)}),this._taskHandle.pause(),this._lostWebGLContextHandle=this._throttledCanvas.events.on("webgl-context-lost",e=>this.emit("webgl-error",{error:new t("webgl-context-lost",e.statusMessage||"WebGL context lost")})),f()}destroy(){super.destroy(),g(this.context),this.labelManager.destroy(),this.removeAllChildren(),this._emptyTrash(),this._taskHandle=r(this._taskHandle),this._lostWebGLContextHandle=r(this._lostWebGLContextHandle),this._throttledCanvas.destroy(),this.painter.dispose(),this.context.dispose(),this._throttledCanvas=null}get updating(){return this.labelManager.updating}get textureManager(){return this.painter.textureManager}get profiler(){return this._renderParameters.profiler}get backgroundColor(){return this._renderParameters.backgroundColor}set backgroundColor(e){this._renderParameters.backgroundColor=e,this.requestRender()}get canvas(){return this._throttledCanvas.canvas}get cimAnalyzer(){return this._cimAnalyzer}get effectiveVisible(){return this.visible}get renderingOptions(){return this._renderingOptions}set renderingOptions(e){this._renderingOptions=e,this.requestRender()}get renderRequested(){return this._renderRequested.value}get state(){return this._state}set state(e){this._state=e,this.requestDeclutter(),this.requestRender()}get stationary(){return this._stationary}set stationary(e){this._stationary!==e&&(this._stationary=e,this.requestRender())}get animationsEnabled(){return this._animationsEnabled}set animationsEnabled(e){this._animationsEnabled!==e&&(this._animationsEnabled=e,this._animationsEnabled&&this.requestRender())}trashDisplayObject(e){this._trash.add(e),this.requestRender()}untrashDisplayObject(e){return this._trash.delete(e)}requestRender(){this._renderRemainingTime=q,this.renderRequested||(this._renderRequested.value=!0,this._taskHandle.resume())}requestDeclutter(){this.labelManager.requestDeclutter(),this.requestRender()}renderFrame(e){const t=this._lastFrameRenderTime?e.time-this._lastFrameRenderTime:0;this._renderRemainingTime-=t,this._renderRemainingTime<=0&&this._taskHandle.pause(),this._lastFrameRenderTime=e.time,this._renderRequested.value=!1,this._renderParameters.state=this._state,this._renderParameters.stationary=this.stationary,this._renderParameters.pixelRatio=window.devicePixelRatio,this._renderParameters.globalOpacity=1,this._renderParameters.time=e.time,this._renderParameters.deltaTime=e.deltaTime,this._renderParameters.effects=null,this._renderParameters.animationsEnabled=this._animationsEnabled,this.processRender(this._renderParameters),this._emptyTrash()}_createTransforms(){return{displayViewScreenMat3:a()}}renderChildren(e){this._reshuffleManager.reshuffle(m);const t=[];this._prepareFeatureContainers(t,this);const r=this.labelManager.declutter(t,e.state);r&&this.requestRender(),this._throttledCanvas.render(e,()=>this._renderChildren(this.children,e,r))}_renderChildren(e,t,r=!1){t.decluttering=r;for(const i of e)i.beforeRender(t);const s=this.context;this.painter.textureUploadManager.upload(),s.resetInfo(),t.profiler.recordStart("drawLayers"),t.dataUploadCounter=0,this.painter.beforeRenderPhases(t,t.backgroundColor,this.state.padding),t.drawPhase=1;for(const i of e)i.processRender(t);if(this.children.some(e=>e.hasHighlight)){t.drawPhase=16;for(const r of e)r.processRender(t)}if(this.children.some(e=>e.hasLabels)){t.drawPhase=2;for(const r of e)r.processRender(t)}if(has("esri-tiles-debug")){t.drawPhase=64;for(const r of e)r.processRender(t)}t.drawPhase=128;for(const i of e)i.processRender(t);this.painter.afterRenderPhases(t),t.profiler.recordEnd("drawLayers"),s.logInfo();for(const i of e)i.afterRender(t)}_prepareFeatureContainers(e,t){for(const r of t.children)r instanceof b?e.push(r):r instanceof d&&this._prepareFeatureContainers(e,r)}doRender(e){const t=this.context,{state:r,pixelRatio:s}=e;this._throttledCanvas.resize(e),t.setViewport(0,0,s*r.size[0],s*r.size[1]),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),this.renderChildren(e)}async takeScreenshot(e,t,r,s){const i=Math.round(this.state.size[0]*e.resolutionScale),n=Math.round(this.state.size[1]*e.resolutionScale),a=e.resolutionScale,o=this.context,h=this._state.clone();if(null!=s){const e=h.viewpoint;h.viewpoint.rotation=s,h.viewpoint=e}const d={...this._renderParameters,drawPhase:null,globalOpacity:1,stationary:!0,state:h,pixelRatio:a,time:performance.now(),deltaTime:0,blendMode:null,effects:null,inFadeTransition:!1,backgroundColor:r},l=new M(i,n);l.wrapMode=33071,l.internalFormat=R.RGBA8,l.isImmutable=!0;const m=new C(o,l,new j(y.DEPTH24_STENCIL8,i,n)),c=o.boundFramebuffer,u=o.getViewport();o.bindFramebuffer(m),o.setViewport(0,0,i,n),this._renderChildren(t??this.children,d);const p=this._readbackScreenshot(m,{...e.cropArea,y:n-(e.cropArea.y+e.cropArea.height)});o.bindFramebuffer(c),o.setViewport(u.x,u.y,u.width,u.height),this.requestRender();const f=await p;let g;return 1===e.outputScale?g=f:(g=new ImageData(Math.round(f.width*e.outputScale),Math.round(f.height*e.outputScale)),(await(import("../../support/screenshotUtils.js"))).resampleHermite(f,g,!0)),m.dispose(),g}async _readbackScreenshot(e,t){const r=(await(import("../../support/screenshotUtils.js"))).createEmptyImageData(t.width,t.height,document.createElement("canvas"));return await e.readPixelsAsync(t.x,t.y,t.width,t.height,6408,x.UNSIGNED_BYTE,new Uint8Array(r.data.buffer)),r}_emptyTrash(){for(;this._trash.size>0;){const e=Array.from(this._trash);this._trash.clear();for(const t of e)t.processDetach()}}}e([n()],v.prototype,"updating",null);export{v as Stage,q as extraRenderTime};