@arcgis/core 4.23.0-next.20220124 → 4.23.0-next.20220129

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 (623) hide show
  1. package/Graphic.js +1 -1
  2. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/02fbc76dfdc20e628c61.js +1 -0
  5. package/assets/esri/core/workers/chunks/0453fad5cb819797b4f6.js +1 -0
  6. package/assets/esri/core/workers/chunks/0463ba46df855a92b9c0.js +1 -0
  7. package/assets/esri/core/workers/chunks/0cd0a6eef51fc5b9ea61.js +1 -0
  8. package/assets/esri/core/workers/chunks/{d1454155ee1b8a421cbb.js → 0d02c6ad1f4688bfa374.js} +1 -1
  9. package/assets/esri/core/workers/chunks/0d684f16f37d5dc385dd.js +1 -0
  10. package/assets/esri/core/workers/chunks/0e17691520d890d34efb.js +1 -0
  11. package/assets/esri/core/workers/chunks/16b6d0f8378582c051c3.js +1 -0
  12. package/assets/esri/core/workers/chunks/{0ce1dc14280d6f188468.js → 17de7a324dfa7f57ad5d.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{b313ab14a643273e7d09.js → 1877ab1b6a115dbba1c5.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{c36f84daa7736878418d.js → 197ec52641aed20029c6.js} +1 -1
  15. package/assets/esri/core/workers/chunks/1b2a961f776a0b57e57a.js +1 -0
  16. package/assets/esri/core/workers/chunks/1b3fd66577b19aa5f2b6.js +1 -0
  17. package/assets/esri/core/workers/chunks/1c733b7db092a2a88ef3.js +1 -0
  18. package/assets/esri/core/workers/chunks/1f8c6a179e39fd4c5e6f.js +1 -0
  19. package/assets/esri/core/workers/chunks/2076fcbae63f1bfb7143.js +1 -0
  20. package/assets/esri/core/workers/chunks/{9387db408f496e7dd003.js → 214910032945dd2d86b0.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{b2ae5fc4f787ea568b88.js → 2460f3b6ada6ae900dec.js} +1 -1
  22. package/assets/esri/core/workers/chunks/27474b007988855bea9d.js +1 -0
  23. package/assets/esri/core/workers/chunks/281b89dbf5574fc642ae.js +1 -0
  24. package/assets/esri/core/workers/chunks/{4d539878bfbd7c549e60.js → 2c8fe9bc988c3c5760a5.js} +1 -1
  25. package/assets/esri/core/workers/chunks/2e899ef5881b4ec6fa55.js +1 -0
  26. package/assets/esri/core/workers/chunks/34b59d7099904dcb28b5.js +1 -0
  27. package/assets/esri/core/workers/chunks/357033117dfe61eb81ea.js +1 -0
  28. package/assets/esri/core/workers/chunks/37c03cfc19086ce631c6.js +1 -0
  29. package/assets/esri/core/workers/chunks/391e96192d1ec4e55ce2.js +1 -0
  30. package/assets/esri/core/workers/chunks/422537fc3df707bb62c9.js +1 -0
  31. package/assets/esri/core/workers/chunks/44f0c3663b293afbd172.js +1 -0
  32. package/assets/esri/core/workers/chunks/483d5d8593d96d0f0b15.js +1 -0
  33. package/assets/esri/core/workers/chunks/{c959e0d1cf7dce0421b9.js → 48fa8aed6c24877b44c4.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{44b01d42d4ec72913229.js → 4954fd86b48cc68b737c.js} +1 -1
  35. package/assets/esri/core/workers/chunks/49a1a633bb0d93764aae.js +1 -0
  36. package/assets/esri/core/workers/chunks/4ba6de8aa7e2960bad49.js +1 -0
  37. package/assets/esri/core/workers/chunks/4be35af7d6babbfe9d84.js +1 -0
  38. package/assets/esri/core/workers/chunks/5457962a70bd3c557a75.js +1 -0
  39. package/assets/esri/core/workers/chunks/57856b4a9b8784a69844.js +1 -0
  40. package/assets/esri/core/workers/chunks/{b9c177524b3e7de1ffd1.js → 5790d171072b3c7d108f.js} +1 -1
  41. package/assets/esri/core/workers/chunks/57b349d1dbc0bed75b79.js +1 -0
  42. package/assets/esri/core/workers/chunks/5bcb3240b3c005e5fe72.js +1 -0
  43. package/assets/esri/core/workers/chunks/5d11b97b667921d67ae7.js +1 -0
  44. package/assets/esri/core/workers/chunks/5dbe555a5a662ff3d9ce.js +1 -0
  45. package/assets/esri/core/workers/chunks/5ec98f4ddac707d0fbd1.js +1 -0
  46. package/assets/esri/core/workers/chunks/64b7e8d812ea8fcf269e.js +1 -0
  47. package/assets/esri/core/workers/chunks/{4c9084a04948b6924749.js → 655b55ac0cd533d7e9d7.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{b0b036ad3ad3cd956747.js → 69fd99b7c76e9992ccf3.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{9cdaba126ac7fa5f33f0.js → 6cd5e4380d29b9a3c344.js} +1 -1
  50. package/assets/esri/core/workers/chunks/75d812955a473d0e8960.js +1 -0
  51. package/assets/esri/core/workers/chunks/7903a3e2e0faff0f86c0.js +1 -0
  52. package/assets/esri/core/workers/chunks/{cc146c57bbdac8029fd8.js → 7a5f5acfbd4ca1a5c1f3.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{64276aacaafa4c8a15bd.js → 7dcf52d3db3903c8eb9f.js} +1 -1
  54. package/assets/esri/core/workers/chunks/83d00afae4406ec78bc9.js +1 -0
  55. package/assets/esri/core/workers/chunks/{625d2663daa8e0cf64b0.js → 85b1f36790df95b17659.js} +1 -1
  56. package/assets/esri/core/workers/chunks/89820b200ee44e678af5.js +1 -0
  57. package/assets/esri/core/workers/chunks/8a876f91c9c7c23786b5.js +1 -0
  58. package/assets/esri/core/workers/chunks/918bb7a7d901544a7367.js +1 -0
  59. package/assets/esri/core/workers/chunks/{94b8dbf859df71858d1c.js → 929c9b7cdab7c4ca3d87.js} +1 -1
  60. package/assets/esri/core/workers/chunks/94515fb3ef38067eeadd.js +1 -0
  61. package/assets/esri/core/workers/chunks/949b2269457302ffc64b.js +1 -0
  62. package/assets/esri/core/workers/chunks/952980635afc7ec81804.js +1 -0
  63. package/assets/esri/core/workers/chunks/9876a1bae350795fab36.js +1 -0
  64. package/assets/esri/core/workers/chunks/99619fcb772807c74f3b.js +1 -0
  65. package/assets/esri/core/workers/chunks/{010a71c2aa1b7681e191.js → 9d11f84e6c893b9d0019.js} +1 -1
  66. package/assets/esri/core/workers/chunks/a1930e4f035bc9aa1ae5.js +1 -0
  67. package/assets/esri/core/workers/chunks/a8692bffb76444c34760.js +1 -0
  68. package/assets/esri/core/workers/chunks/aa04b90b82bf70caaae4.js +1 -0
  69. package/assets/esri/core/workers/chunks/aeaa1667c2d9f1b3366b.js +1 -0
  70. package/assets/esri/core/workers/chunks/b2d2de935487257c568b.js +1 -0
  71. package/assets/esri/core/workers/chunks/b3f5e91116112b0b612a.js +1 -0
  72. package/assets/esri/core/workers/chunks/b97953694f42bfec1b3c.js +1 -0
  73. package/assets/esri/core/workers/chunks/b9e9cb354822c6d995a4.js +1 -0
  74. package/assets/esri/core/workers/chunks/ba762bcfd74af0bb8218.js +1 -0
  75. package/assets/esri/core/workers/chunks/bac9fc90e6756e211160.js +1 -0
  76. package/assets/esri/core/workers/chunks/be588873c16770ceb9ef.js +1 -0
  77. package/assets/esri/core/workers/chunks/bf97a933ea3b220115e1.js +1 -0
  78. package/assets/esri/core/workers/chunks/bfedd6ebff817c9b31c0.js +1 -0
  79. package/assets/esri/core/workers/chunks/c093dff4592832ac0973.js +1 -0
  80. package/assets/esri/core/workers/chunks/c1135cb02ec46c491459.js +1 -0
  81. package/assets/esri/core/workers/chunks/c2253a9f29c1aabb2b75.js +1 -0
  82. package/assets/esri/core/workers/chunks/{d39b7983b68d6e5b404d.js → cdbc005eebec1503b99d.js} +1 -1
  83. package/assets/esri/core/workers/chunks/d04fca5d46cca02500b7.js +1 -0
  84. package/assets/esri/core/workers/chunks/d08efbc349dd9f999497.js +1 -0
  85. package/assets/esri/core/workers/chunks/d1fe53b597351dc58305.js +1 -0
  86. package/assets/esri/core/workers/chunks/{a8b13fb804bb775e4967.js → db3c729ce0c0b2690dc9.js} +1 -1
  87. package/assets/esri/core/workers/chunks/dd13772a5e2eccc6a2bc.js +1 -0
  88. package/assets/esri/core/workers/chunks/dedc333a61081772ca7b.js +1 -0
  89. package/assets/esri/core/workers/chunks/{a7b1b75643ed31489495.js → e0c8d61c7a85ce15499a.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{199670a3a564ebe3bd79.js → e218bde41ffbcc5194f5.js} +1 -1
  91. package/assets/esri/core/workers/chunks/e21b211913aefde47e30.js +1 -0
  92. package/assets/esri/core/workers/chunks/e287f49184d076af17e2.js +1 -0
  93. package/assets/esri/core/workers/chunks/{bde1d5b0a7717350986e.js → e4019b63a1fe74e2c842.js} +1 -1
  94. package/assets/esri/core/workers/chunks/e8e775758b79c5a084c8.js +1 -0
  95. package/assets/esri/core/workers/chunks/e93dfdede0532a89ffa5.js +1 -0
  96. package/assets/esri/core/workers/chunks/e9e5196b44b6923be1a3.js +1 -0
  97. package/assets/esri/core/workers/chunks/ea595b0df5050eda2a13.js +1 -0
  98. package/assets/esri/core/workers/chunks/eb82ff10cef2bde6e57f.js +1 -0
  99. package/assets/esri/core/workers/chunks/ebc6f4764b82d4104c65.js +1 -0
  100. package/assets/esri/core/workers/chunks/{1305ef8717da6e902a55.js → ec10151a2a95e95a0bb5.js} +1 -1
  101. package/assets/esri/core/workers/chunks/eccba071ced2d922bb85.js +1 -0
  102. package/assets/esri/core/workers/chunks/ee6e0db58dc64410e687.js +1 -0
  103. package/assets/esri/core/workers/chunks/f0a9f161805fc7a30fc5.js +1 -0
  104. package/assets/esri/core/workers/chunks/f2124f4d0f2b8a91f0ea.js +1 -0
  105. package/assets/esri/core/workers/chunks/ff6abdc72076f3994659.js +981 -0
  106. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  107. package/assets/esri/themes/base/_mixins.scss +4 -1
  108. package/assets/esri/themes/base/icons/style.scss +11 -2
  109. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +13 -10
  110. package/assets/esri/themes/base/widgets/_CoordinateConversion.scss +4 -2
  111. package/assets/esri/themes/base/widgets/_Directions.scss +5 -3
  112. package/assets/esri/themes/base/widgets/_Editor.scss +5 -2
  113. package/assets/esri/themes/base/widgets/_ElevationProfile.scss +6 -4
  114. package/assets/esri/themes/base/widgets/_ItemList.scss +1 -1
  115. package/assets/esri/themes/base/widgets/_LayerList.scss +13 -9
  116. package/assets/esri/themes/base/widgets/_Popup.scss +4 -2
  117. package/assets/esri/themes/base/widgets/_Print.scss +24 -11
  118. package/assets/esri/themes/base/widgets/_Search.scss +4 -2
  119. package/assets/esri/themes/base/widgets/_TableList.scss +9 -7
  120. package/assets/esri/themes/base/widgets/_Weather.scss +12 -0
  121. package/assets/esri/themes/base/widgets/_Widget.scss +18 -9
  122. package/assets/esri/themes/dark/main.css +1 -1
  123. package/assets/esri/themes/dark-blue/main.css +1 -1
  124. package/assets/esri/themes/dark-green/main.css +1 -1
  125. package/assets/esri/themes/dark-purple/main.css +1 -1
  126. package/assets/esri/themes/dark-red/main.css +1 -1
  127. package/assets/esri/themes/light/main.css +1 -1
  128. package/assets/esri/themes/light/view.css +1 -1
  129. package/assets/esri/themes/light-blue/main.css +1 -1
  130. package/assets/esri/themes/light-green/main.css +1 -1
  131. package/assets/esri/themes/light-purple/main.css +1 -1
  132. package/assets/esri/themes/light-red/main.css +1 -1
  133. package/assets/esri/widgets/Weather/t9n/Weather.json +1 -1
  134. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  135. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  136. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  137. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  138. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  139. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  140. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  141. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  142. package/assets/esri/widgets/Weather/t9n/Weather_en.json +1 -1
  143. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  144. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  145. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  146. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  147. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  148. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  149. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  150. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  151. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  152. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  153. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  154. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  155. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  156. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  157. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  158. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  159. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  160. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  161. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  162. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  163. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  164. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  165. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  166. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  167. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  168. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  169. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  170. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  171. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  172. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  173. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  174. package/chunks/BlendLayers.glsl.js +2 -2
  175. package/chunks/ChapmanAtmosphere.glsl.js +17 -17
  176. package/chunks/CheckerBoard.glsl.js +3 -3
  177. package/chunks/Clouds.glsl.js +2 -2
  178. package/chunks/CloudsComposition.glsl.js +1 -1
  179. package/chunks/ColorMaterial.glsl.js +12 -12
  180. package/chunks/ComponentShader.glsl.js +21 -21
  181. package/chunks/Compositing.glsl.js +1 -1
  182. package/chunks/DefaultMaterial.glsl.js +33 -33
  183. package/chunks/EdgeShaderProgram.glsl.js +7 -7
  184. package/chunks/Fog.glsl.js +10 -12
  185. package/chunks/HUDMaterial.glsl.js +2 -2
  186. package/chunks/HighlightComposition.glsl.js +5 -5
  187. package/chunks/ImageMaterial.glsl.js +6 -6
  188. package/chunks/LaserlinePath.glsl.js +8 -8
  189. package/chunks/LineCallout.glsl.js +6 -6
  190. package/chunks/MeasurementArrow.glsl.js +1 -1
  191. package/chunks/NativeLine.glsl.js +1 -1
  192. package/chunks/Path.glsl.js +5 -5
  193. package/chunks/Pattern.glsl.js +9 -9
  194. package/chunks/PointRenderer.glsl.js +14 -14
  195. package/chunks/Precipitation.glsl.js +91 -0
  196. package/chunks/RealisticTree.glsl.js +21 -21
  197. package/chunks/RibbonLine.glsl.js +11 -11
  198. package/chunks/SMAA.glsl.js +40 -40
  199. package/chunks/ShadedColorMaterial.glsl.js +12 -12
  200. package/chunks/ShadowCast.glsl.js +6 -6
  201. package/chunks/ShadowHighlight.glsl.js +4 -4
  202. package/chunks/SimpleAtmosphere.glsl.js +3 -3
  203. package/chunks/SlicePlaneMaterial.glsl.js +3 -3
  204. package/chunks/Stars.glsl.js +3 -3
  205. package/chunks/Terrain.glsl.js +3 -3
  206. package/chunks/TextureOnly.glsl.js +2 -2
  207. package/chunks/WaterSurface.glsl.js +22 -22
  208. package/chunks/boundedPlane.js +1 -1
  209. package/chunks/pe.js +1 -1
  210. package/chunks/vec3.js +1 -1
  211. package/chunks/vxlLayer.js +1 -1
  212. package/core/accessorSupport/read.js +1 -1
  213. package/core/accessorSupport/watch.js +1 -1
  214. package/core/accessorSupport/write.js +1 -1
  215. package/core/clock.js +1 -1
  216. package/core/jsonMap.js +1 -1
  217. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  218. package/core/loadAll.js +1 -1
  219. package/core/promiseUtils.js +1 -1
  220. package/core/reactiveUtils.js +1 -1
  221. package/form/ExpressionInfo.js +1 -1
  222. package/geometry/pe.js +1 -1
  223. package/geometry/support/axisAngleDegrees.js +1 -1
  224. package/geometry/support/frustum.js +1 -1
  225. package/geometry/support/plane.js +1 -1
  226. package/interfaces.d.ts +263 -35
  227. package/layers/VectorTileLayer.js +1 -1
  228. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  229. package/layers/graphics/featureConversionUtils.js +1 -1
  230. package/layers/support/LayerContingentValuesCache.js +1 -1
  231. package/layers/support/TileInfo.js +1 -1
  232. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  233. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  234. package/package.json +2 -2
  235. package/popup/content/AttachmentsContent.js +1 -1
  236. package/popup/content/support/mediaInfoTypes.js +1 -1
  237. package/rest/print.js +1 -1
  238. package/smartMapping/statistics/support/predominanceUtils.d.ts +4 -0
  239. package/support/arcadeOnDemand.js +1 -1
  240. package/support/featureFlags.js +1 -1
  241. package/support/revision.js +1 -1
  242. package/symbols/FillSymbol3DLayer.js +1 -1
  243. package/symbols/IconSymbol3DLayer.js +1 -1
  244. package/symbols/LabelSymbol3D.js +1 -1
  245. package/symbols/ObjectSymbol3DLayer.js +1 -1
  246. package/symbols/PointSymbol3D.js +1 -1
  247. package/symbols/Symbol3D.js +1 -1
  248. package/symbols/WebStyleSymbol.js +1 -1
  249. package/symbols/cim/CIMSymbolHelper.js +1 -1
  250. package/symbols/cim/CIMSymbolRasterizer.js +1 -1
  251. package/symbols/cim/cimAnalyzer.js +1 -1
  252. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  253. package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
  254. package/symbols/support/Symbol3DAnchorPosition2D.js +1 -1
  255. package/symbols/support/Symbol3DAnchorPosition3D.js +1 -1
  256. package/symbols/support/Symbol3DFillMaterial.js +1 -1
  257. package/symbols/support/Symbol3DIconOutline.js +1 -1
  258. package/symbols/support/Symbol3DOutline.js +1 -1
  259. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  260. package/symbols/support/Thumbnail.js +1 -1
  261. package/symbols/support/previewCIMSymbol.js +1 -1
  262. package/symbols/support/previewSymbol2D.js +1 -1
  263. package/symbols/support/previewSymbol3D.js +1 -1
  264. package/symbols/support/previewWebStyleSymbol.js +1 -1
  265. package/symbols/support/svgUtils.js +1 -1
  266. package/symbols/support/webStyleSymbolUtils.js +1 -1
  267. package/symbols.js +1 -1
  268. package/views/2d/MapViewConstraints.js +1 -1
  269. package/views/2d/engine/vectorTiles/SchemaHelper.js +1 -1
  270. package/views/2d/engine/webgl/brushes/raster/BrushRasterBitmap.js +1 -1
  271. package/views/2d/engine/webgl/mesh/templates/WGLFillTemplate.js +1 -1
  272. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  273. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  274. package/views/2d/viewpointUtils.js +1 -1
  275. package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
  276. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  277. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  278. package/views/3d/environment/CloudsComposition.js +1 -1
  279. package/views/3d/environment/CloudsGenerator.js +1 -1
  280. package/views/3d/environment/CloudsPresets.js +1 -1
  281. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  282. package/views/3d/environment/Fog.glsl.js +1 -1
  283. package/views/3d/environment/Fog.js +1 -1
  284. package/views/3d/environment/PanoramicAtmosphere.js +1 -1
  285. package/views/3d/environment/Precipitation.glsl.js +5 -0
  286. package/views/3d/environment/Precipitation.js +5 -0
  287. package/views/3d/environment/PrecipitationTechnique.js +5 -0
  288. package/views/3d/environment/RainyWeather.js +1 -1
  289. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  290. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  291. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  292. package/views/3d/environment/SnowyWeather.js +5 -0
  293. package/views/3d/environment/Stars.glsl.js +1 -1
  294. package/views/3d/environment/Stars.js +1 -1
  295. package/views/3d/environment/weather.js +1 -1
  296. package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
  297. package/views/3d/interactive/analysisTools/slice/sliceToolUtils.js +1 -1
  298. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
  299. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  300. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  301. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  302. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  303. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  304. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  305. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  306. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  307. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  308. package/views/3d/layers/GraphicsView3D.js +1 -1
  309. package/views/3d/layers/I3SMeshView3D.js +1 -1
  310. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  311. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  312. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  313. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  314. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  315. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  316. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  317. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  318. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  319. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  320. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  321. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  322. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  323. package/views/3d/layers/graphics/lineUtils.js +1 -1
  324. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  325. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  326. package/views/3d/layers/graphics/symbolComplexity.js +1 -1
  327. package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
  328. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  329. package/views/3d/layers/support/HeatmapFeatureProcessor.js +5 -0
  330. package/views/3d/layers/support/overlayImageUtils.js +1 -1
  331. package/views/3d/layers/support/patternUtils.js +1 -1
  332. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  333. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  334. package/views/3d/support/LaserLineRenderer.js +1 -1
  335. package/views/3d/support/LaserlinePathData.js +1 -1
  336. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  337. package/views/3d/support/sunUtils.js +1 -1
  338. package/views/3d/terrain/OverlayRenderer.js +1 -1
  339. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  340. package/views/3d/terrain/TerrainRenderer.js +1 -1
  341. package/views/3d/terrain/TerrainSurface.js +1 -1
  342. package/views/3d/terrain/Tile.js +1 -1
  343. package/views/3d/terrain/terrainUtils.js +1 -1
  344. package/views/3d/terrain/tileUtils.js +1 -1
  345. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  346. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  347. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  348. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
  349. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  350. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  351. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  352. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  353. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +2 -2
  354. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +2 -2
  355. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js +2 -2
  356. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +2 -2
  357. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +4 -4
  358. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
  359. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js +1 -1
  360. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
  361. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +1 -1
  362. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +3 -3
  363. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
  364. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +6 -6
  365. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +12 -12
  366. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +4 -4
  367. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +1 -1
  368. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +16 -16
  369. package/views/3d/webgl-engine/core/shaderLibrary/default/RealisticTree.glsl.js +1 -1
  370. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +5 -5
  371. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +3 -3
  372. package/views/3d/webgl-engine/core/shaderLibrary/raster/BasicGrid.glsl.js +2 -2
  373. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +6 -6
  374. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +2 -2
  375. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeShadingNormal.glsl.js +10 -11
  376. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +2 -2
  377. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +2 -2
  378. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js +2 -2
  379. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +6 -6
  380. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +4 -4
  381. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +6 -6
  382. package/views/3d/webgl-engine/core/shaderLibrary/shading/Reprojection.glsl.js +4 -4
  383. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +5 -5
  384. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
  385. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +22 -14
  386. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +2 -2
  387. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
  388. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
  389. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +4 -4
  390. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  391. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  392. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
  393. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  394. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  395. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  396. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  397. package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
  398. package/views/3d/webgl-engine/lib/Material.js +1 -1
  399. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  400. package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
  401. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  402. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  403. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  404. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  405. package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
  406. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  407. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  408. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  409. package/views/3d/{layers/graphics/IGraphics3DFeatureProcessor.js → webgl-engine/lib/TextureUniformName.js} +0 -0
  410. package/views/3d/webgl-engine/lib/UniformName.js +4 -0
  411. package/views/3d/webgl-engine/lib/VertexAttribute.js +5 -0
  412. package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
  413. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  414. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  415. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  416. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  417. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  418. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  419. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  420. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  421. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  422. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  423. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  424. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  425. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  426. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  427. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  428. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  429. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  430. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  431. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  432. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  433. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  434. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  435. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  436. package/views/3d/webgl-engine/materials/VisualVariableMaterialParameters.js +1 -1
  437. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  438. package/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js +1 -1
  439. package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
  440. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  441. package/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js +1 -1
  442. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  443. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  444. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  445. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  446. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  447. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  448. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  449. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  450. package/views/3d/webgl-engine/shaders/HighlightComposition.glsl.js +1 -1
  451. package/views/3d/webgl-engine/shaders/HighlightTechnique.js +1 -1
  452. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  453. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  454. package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
  455. package/views/3d/webgl-engine/shaders/LaserlinePathTechnique.js +1 -1
  456. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  457. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  458. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
  459. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  460. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  461. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  462. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  463. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  464. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  465. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  466. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  467. package/views/3d/webgl-engine/shaders/SMAA.glsl.js +1 -1
  468. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  469. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  470. package/views/3d/webgl-engine/shaders/ShadowCastTechnique.js +1 -1
  471. package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
  472. package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
  473. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  474. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +10 -10
  475. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardShortEdges.glsl.js +1 -1
  476. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShaderProgram.glsl.js +1 -1
  477. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +21 -21
  478. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +6 -6
  479. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +13 -13
  480. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +6 -6
  481. package/views/MapView.js +1 -1
  482. package/views/SceneView.js +1 -1
  483. package/views/View.js +1 -1
  484. package/views/input/recognizers/DoubleTapDrag.js +1 -1
  485. package/views/input/recognizers/ImmediateDoubleClick.js +1 -1
  486. package/views/input/recognizers/PointerClickHoldAndDrag.js +1 -1
  487. package/views/input/recognizers/SingleAndDoubleClick.js +1 -1
  488. package/views/interactive/dragEventPipeline.js +1 -1
  489. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  490. package/views/support/DefaultsFromMap.js +1 -1
  491. package/views/support/WatchUpdatingTracking.js +1 -1
  492. package/views/support/projectionUtils.js +5 -0
  493. package/views/webgl/BufferObject.js +1 -1
  494. package/views/webgl/InstanceCounter.js +1 -1
  495. package/views/webgl/Program.js +1 -1
  496. package/views/webgl/rasterUtils.js +1 -1
  497. package/webdoc/support/{Thumbnail.js → SlideThumbnail.js} +1 -1
  498. package/webmap/Bookmark.js +1 -1
  499. package/webmap/Version.js +1 -1
  500. package/webscene/Slide.js +1 -1
  501. package/webscene/Version.js +1 -1
  502. package/webscene/support/SlideVisibleLayer.js +1 -1
  503. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
  504. package/widgets/Attachments.js +1 -1
  505. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  506. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  507. package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
  508. package/widgets/BasemapGallery.js +1 -1
  509. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  510. package/widgets/Bookmarks.js +1 -1
  511. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
  512. package/widgets/FeatureForm/InputField.js +1 -1
  513. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  514. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  515. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  516. package/widgets/Popup/PopupViewModel.js +1 -1
  517. package/widgets/Popup/actionUtils.js +1 -1
  518. package/widgets/Search/support/locatorUtils.js +1 -1
  519. package/widgets/Search.js +1 -1
  520. package/widgets/Slice/SliceViewModel.js +1 -1
  521. package/widgets/Slider/SliderViewModel.js +1 -1
  522. package/widgets/Slider.js +1 -1
  523. package/widgets/TimeSlider.js +1 -1
  524. package/widgets/Weather/WeatherViewModel.js +1 -1
  525. package/widgets/Weather/css.js +1 -1
  526. package/widgets/Weather/enums.js +5 -0
  527. package/widgets/Weather.js +1 -1
  528. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  529. package/widgets/support/InteractiveToolViewModel.js +1 -1
  530. package/assets/components/assets/calcite-icon/checkSquareF16.json +0 -1
  531. package/assets/components/assets/calcite-icon/checkSquareF24.json +0 -1
  532. package/assets/components/assets/calcite-icon/checkSquareF32.json +0 -1
  533. package/assets/components/assets/calcite-icon/lineSolid4.json +0 -1
  534. package/assets/components/assets/calcite-icon/squareF16.json +0 -1
  535. package/assets/components/assets/calcite-icon/squareF24.json +0 -1
  536. package/assets/components/assets/calcite-icon/squareF32.json +0 -1
  537. package/assets/components/assets/calcite-icon/xHexagon16.json +0 -1
  538. package/assets/components/assets/calcite-icon/xHexagon24.json +0 -1
  539. package/assets/components/assets/calcite-icon/xHexagon32.json +0 -1
  540. package/assets/components/assets/calcite-icon/xHexagonF16.json +0 -1
  541. package/assets/components/assets/calcite-icon/xHexagonF24.json +0 -1
  542. package/assets/components/assets/calcite-icon/xHexagonF32.json +0 -1
  543. package/assets/components/assets/calcite-icon/xOctagonF16.json +0 -1
  544. package/assets/components/assets/calcite-icon/xOctagonF24.json +0 -1
  545. package/assets/components/assets/calcite-icon/xOctagonF32.json +0 -1
  546. package/assets/esri/core/workers/chunks/09da224052976e290828.js +0 -1
  547. package/assets/esri/core/workers/chunks/0bf079e752ab79468478.js +0 -1
  548. package/assets/esri/core/workers/chunks/0c3e3a5baf54bd5e210c.js +0 -1
  549. package/assets/esri/core/workers/chunks/14bef72154b3a19561a7.js +0 -1
  550. package/assets/esri/core/workers/chunks/18668dc45eb9e35530df.js +0 -1
  551. package/assets/esri/core/workers/chunks/1e4d37c2b9dc83d20a11.js +0 -1
  552. package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +0 -1
  553. package/assets/esri/core/workers/chunks/208a7e24e19fc5633dd7.js +0 -1
  554. package/assets/esri/core/workers/chunks/22b09e276c9b9f22f0f8.js +0 -1
  555. package/assets/esri/core/workers/chunks/23745a5ab47c840dc452.js +0 -1
  556. package/assets/esri/core/workers/chunks/2416f8bf8bbd2ec786ab.js +0 -1
  557. package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +0 -1
  558. package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +0 -1
  559. package/assets/esri/core/workers/chunks/32f8c4af7e70ebdcb19e.js +0 -1
  560. package/assets/esri/core/workers/chunks/36a3f6fb4d1d18fcb642.js +0 -1
  561. package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +0 -1
  562. package/assets/esri/core/workers/chunks/3a9740dccda6a733313c.js +0 -1
  563. package/assets/esri/core/workers/chunks/3aa4194dc5497c57647f.js +0 -1
  564. package/assets/esri/core/workers/chunks/40a1e713f63ec77110c0.js +0 -1
  565. package/assets/esri/core/workers/chunks/43cdff2418325e163420.js +0 -1
  566. package/assets/esri/core/workers/chunks/4bfbf5a34c9207fdcf44.js +0 -1
  567. package/assets/esri/core/workers/chunks/5538639a49c7cc2eca63.js +0 -1
  568. package/assets/esri/core/workers/chunks/5a4a5585ec8027079f32.js +0 -1
  569. package/assets/esri/core/workers/chunks/5d4863a92b03bebc1b54.js +0 -1
  570. package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +0 -1
  571. package/assets/esri/core/workers/chunks/634b5ccd7a3ac67f855d.js +0 -1
  572. package/assets/esri/core/workers/chunks/662d13f68cf3ec92439b.js +0 -1
  573. package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +0 -1
  574. package/assets/esri/core/workers/chunks/67162b3e2cc1b5dc6818.js +0 -1
  575. package/assets/esri/core/workers/chunks/739e579150bf466d43ae.js +0 -1
  576. package/assets/esri/core/workers/chunks/74df1f3e1e2e524a89d2.js +0 -1
  577. package/assets/esri/core/workers/chunks/76eef4799f6c5fff7e2d.js +0 -1
  578. package/assets/esri/core/workers/chunks/7baf6b1f3f050aa67ae4.js +0 -1
  579. package/assets/esri/core/workers/chunks/7bc5cc5dbf1b7b70ddac.js +0 -1
  580. package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +0 -1
  581. package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +0 -1
  582. package/assets/esri/core/workers/chunks/8b6ab6202a40fe622833.js +0 -1
  583. package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +0 -1
  584. package/assets/esri/core/workers/chunks/9796d54ff12b6429164a.js +0 -1
  585. package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +0 -1
  586. package/assets/esri/core/workers/chunks/9cb2ae42a8e328b1d98d.js +0 -1
  587. package/assets/esri/core/workers/chunks/9d3c58a0ef634d95b7bd.js +0 -1
  588. package/assets/esri/core/workers/chunks/a6ff3db3493543df81bc.js +0 -1
  589. package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +0 -1
  590. package/assets/esri/core/workers/chunks/a96afc176041f698c7a1.js +0 -1
  591. package/assets/esri/core/workers/chunks/aa861b8eae6c85f3dad4.js +0 -1
  592. package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +0 -1
  593. package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +0 -1
  594. package/assets/esri/core/workers/chunks/afa6912454f2a5ffadce.js +0 -1
  595. package/assets/esri/core/workers/chunks/b2beb6e1fd2ee6503830.js +0 -1
  596. package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +0 -1
  597. package/assets/esri/core/workers/chunks/ba6654a885be4b7a43f0.js +0 -1
  598. package/assets/esri/core/workers/chunks/bab1cfd0a901181622af.js +0 -1
  599. package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +0 -1
  600. package/assets/esri/core/workers/chunks/c080114a69fa95b88d22.js +0 -1
  601. package/assets/esri/core/workers/chunks/c11474b702dfb94e8e87.js +0 -1
  602. package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +0 -1
  603. package/assets/esri/core/workers/chunks/c6bd943fe8fd13bb4806.js +0 -1
  604. package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +0 -1
  605. package/assets/esri/core/workers/chunks/ca2f5faa01d99c21ec14.js +0 -1
  606. package/assets/esri/core/workers/chunks/cd7d83d127e085d52584.js +0 -1
  607. package/assets/esri/core/workers/chunks/cef4af64860ebbfc1c47.js +0 -1
  608. package/assets/esri/core/workers/chunks/cfbffa429d88e7709c3f.js +0 -1
  609. package/assets/esri/core/workers/chunks/d24c4fbc567486b1188f.js +0 -1
  610. package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +0 -1
  611. package/assets/esri/core/workers/chunks/da1c2873bdbc0956dca0.js +0 -1
  612. package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +0 -1
  613. package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +0 -981
  614. package/assets/esri/core/workers/chunks/e079cb1d53aca15b7df2.js +0 -1
  615. package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +0 -1
  616. package/assets/esri/core/workers/chunks/e6df9839b551569fbc62.js +0 -1
  617. package/assets/esri/core/workers/chunks/e97e986120aaadad7d4c.js +0 -1
  618. package/assets/esri/core/workers/chunks/f467c8f1fce22f6f599c.js +0 -1
  619. package/assets/esri/core/workers/chunks/f678293de9a6d8f5b5db.js +0 -1
  620. package/assets/esri/core/workers/chunks/f8e7755240a94b499e1f.js +0 -1
  621. package/assets/esri/core/workers/chunks/fd3e5d823dc7917f4b8f.js +0 -1
  622. package/assets/esri/core/workers/chunks/fe864d01e72aa24574b6.js +0 -1
  623. package/assets/esri/core/workers/chunks/ffaf091c6023225cf5aa.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Color.js";import{clone as t}from"../../core/lang.js";import i from"../../core/Logger.js";import{isSome as o}from"../../core/maybe.js";import{pt2px as r}from"../../core/screenUtils.js";import{numericHash as n}from"../../core/string.js";import{createRendererExpression as l,ArcadeExpression as a}from"../../support/arcadeOnDemand.js";import{CIMSymbolHelper as s,OverrideHelper as c}from"./CIMSymbolHelper.js";import{CapType as f,JoinType as m,Alignment as p}from"./enums.js";import{getExtent as u,getSDFMetrics as y}from"./SDFHelper.js";import{fromCIMColor as h,getValue as g,_adjustTextCase as d,evaluateValueOrFunction as S,isGeometryEngineRequired as v,importGeometryEngine as N}from"./utils.js";import{CIMEffectHelper as b}from"./effects/CIMEffectHelper.js";import C from"../../views/2d/arcade/callExpressionWithFeature.js";import{getFontFamily as k}from"../../views/2d/engine/webgl/fontUtils.js";const O=i.getLogger("esri.symbols.cim.cimAnalyzer");function P(e){switch(e){case"Butt":return f.BUTT;case"Square":return f.SQUARE;default:return f.ROUND}}function M(e){switch(e){case"Bevel":return m.BEVEL;case"Miter":return m.MITER;default:return m.ROUND}}function I(e){switch(e){case"Left":default:return"left";case"Right":return"right";case"Center":return"center";case"Justify":return"justify"}}function L(e){switch(e){case"Top":default:return"top";case"Center":return"middle";case"Baseline":return"baseline";case"Bottom":return"bottom"}}function w(e){let t="",i="";if(e){const o=e.toLowerCase();-1!==o.indexOf("italic")?t="italic":-1!==o.indexOf("oblique")&&(t="oblique"),-1!==o.indexOf("bold")?i="bold":-1!==o.indexOf("light")&&(i="lighter")}return{style:t,weight:i}}function X(e){return e.underline?"underline":e.strikethrough?"line-through":"none"}function x(e,t,i,o){let r;e[t]?r=e[t]:(r={},e[t]=r),r[i]=o}function z(e){const t=e.markerPlacement;return t&&t.angleToLine?p.MAP:p.SCREEN}async function J(e,t,i,o,r){const n=null!=o?o:[];if(!e)return n;let a,s;const c={};if("CIMSymbolReference"!==e.type)return O.error("Expect cim type to be 'CIMSymbolReference'"),n;if(a=e.symbol,s=e.primitiveOverrides,s){const e=[];for(const i of s){const o=i.valueExpressionInfo;if(o&&t){const r=o.expression,n=l(r,t.spatialReference,t.fields).then((e=>{e&&x(c,i.primitiveName,i.propertyName,e)}));e.push(n)}else null!=i.value&&x(c,i.primitiveName,i.propertyName,i.value)}e.length>0&&await Promise.all(e)}const f=[];switch(re(a,i,f),f.length>0&&await Promise.all(f),a.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":H(a,s,c,t,n,i,r)}return n}function H(e,t,i,o,r,n,l){if(!e)return;const a=e.symbolLayers;if(!a)return;const f=e.effects;let m;const u=s.getSize(e);"CIMPointSymbol"===e.type&&"Map"===e.angleAlignment&&(m=p.MAP);let y=a.length;for(;y--;){const s=a[y];if(!s||!1===s.enable)continue;let p;f&&f.length&&(p=[...f]);const h=s.effects;h&&h.length&&(f?p.push(...h):p=[...h]);const g=[];let d;c.findEffectOverrides(p,t,g),d=g.length>0?Z(p,g,i,o):p;const S=[];switch(c.findApplicableOverrides(s,t,S),s.type){case"CIMSolidFill":R(s,d,i,S,o,r);break;case"CIMPictureFill":Y(s,d,i,S,o,n,r);break;case"CIMHatchFill":A(s,d,i,S,o,r);break;case"CIMGradientFill":E(s,d,i,S,o,r);break;case"CIMSolidStroke":$(s,d,i,S,o,r,"CIMPolygonSymbol"===e.type,u);break;case"CIMPictureStroke":j(s,d,i,S,o,r,"CIMPolygonSymbol"===e.type,u);break;case"CIMGradientStroke":F(s,d,i,S,o,r,"CIMPolygonSymbol"===e.type,u);break;case"CIMCharacterMarker":if(T(s,d,i,S,o,r))break;break;case"CIMPictureMarker":if(T(s,d,i,S,o,r))break;"CIMLineSymbol"===e.type&&(m=z(s)),W(s,d,i,S,o,n,r,m,u);break;case"CIMVectorMarker":if(T(s,d,i,S,o,r))break;"CIMLineSymbol"===e.type&&(m=z(s)),D(s,d,i,S,o,r,n,m,u,l);break;default:O.error("Cannot analyze CIM layer",s.type)}}}function R(e,t,i,o,r,l){const a=e.primitiveName,s=h(e.color),[c,f]=oe(o,a,t,null),m=n(JSON.stringify(e)+f).toString();l.push({type:"fill",templateHash:m,materialHash:c?()=>m:m,cim:e,materialOverrides:null,colorLocked:e.colorLocked,color:_(a,i,"Color",r,s,Q),height:0,angle:0,offsetX:0,offsetY:0,scaleX:1,effects:t})}function Y(e,t,i,r,l,a,s){const c=e.primitiveName,f=e.tintColor?h(e.tintColor):{r:255,g:255,b:255,a:1},[m,p]=oe(r,c,t,null),u=n(JSON.stringify(e)+p).toString(),y=n(`${e.url}${JSON.stringify(e.colorSubstitutions)}`).toString();let d=g(e.scaleX);if("width"in e){const t=e.width;let i=1;const r=a.getResource(e.url);o(r)&&(i=r.width/r.height),d/=i*(e.height/t)}s.push({type:"fill",templateHash:u,materialHash:m?()=>y:y,cim:e,materialOverrides:null,colorLocked:e.colorLocked,effects:t,color:_(c,i,"TintColor",l,f,Q),height:_(c,i,"Height",l,e.height),scaleX:_(c,i,"ScaleX",l,d),angle:_(c,i,"Rotation",l,g(e.rotation)),offsetX:_(c,i,"OffsetX",l,g(e.offsetX)),offsetY:_(c,i,"OffsetY",l,g(e.offsetY)),url:e.url})}function A(e,t,i,o,r,l){const a=["Rotation","OffsetX","OffsetY"],s=o.filter((t=>t.primitiveName!==e.primitiveName&&-1===a.indexOf(t.propertyName))),c=e.primitiveName,[f,m]=oe(o,c,t,null),p=n(JSON.stringify(e)+m).toString(),u=n(`${e.separation}${JSON.stringify(e.lineSymbol)}`).toString();l.push({type:"fill",templateHash:p,materialHash:f?te(u,i,s,r):u,cim:e,materialOverrides:s,colorLocked:e.colorLocked,effects:t,color:{r:255,g:255,b:255,a:1},height:_(c,i,"Separation",r,e.separation),scaleX:1,angle:_(c,i,"Rotation",r,g(e.rotation)),offsetX:_(c,i,"OffsetX",r,g(e.offsetX)),offsetY:_(c,i,"OffsetY",r,g(e.offsetY))})}function E(e,t,i,o,r,l){const a=e.primitiveName,[s,c]=oe(o,a,t,null),f=n(JSON.stringify(e)+c).toString();l.push({type:"fill",templateHash:f,materialHash:s?te(f,i,o,r):f,cim:e,materialOverrides:null,colorLocked:e.colorLocked,effects:t,color:{r:128,g:128,b:128,a:1},height:0,angle:0,offsetX:0,offsetY:0,scaleX:1})}function $(e,t,i,o,r,l,a,s){const c=e.primitiveName,f=h(e.color),m=void 0!==e.width?e.width:4,p=P(e.capStyle),u=M(e.joinStyle),y=e.miterLimit,[g,d]=oe(o,c,t,null),S=n(JSON.stringify(e)+d).toString();let v,N;if(t&&t instanceof Array&&t.length>0){const e=t[t.length-1];if("CIMGeometricEffectDashes"===e.type&&"NoConstraint"===e.lineDashEnding){const e=(t=[...t]).pop();v=e.dashTemplate,N=e.scaleDash}}l.push({type:"line",templateHash:S,materialHash:g?()=>S:S,cim:e,materialOverrides:null,isOutline:a,colorLocked:e.colorLocked,effects:t,color:_(c,i,"Color",r,f,Q),width:_(c,i,"Width",r,m),cap:_(c,i,"CapStyle",r,p),join:_(c,i,"JoinStyle",r,u),miterLimit:_(c,i,"MiterLimit",r,y),referenceWidth:s,zOrder:K(e.name),dashTemplate:v,scaleDash:N})}function j(e,t,i,o,r,l,a,s){const c=n(`${e.url}${JSON.stringify(e.colorSubstitutions)}`).toString(),f=e.primitiveName,m=h(e.tintColor),p=void 0!==e.width?e.width:4,u=P(e.capStyle),y=M(e.joinStyle),g=e.miterLimit,[d,S]=oe(o,f,t,null),v=n(JSON.stringify(e)+S).toString();l.push({type:"line",templateHash:v,materialHash:d?()=>c:c,cim:e,materialOverrides:null,isOutline:a,colorLocked:e.colorLocked,effects:t,color:_(f,i,"TintColor",r,m,Q),width:_(f,i,"Width",r,p),cap:_(f,i,"CapStyle",r,u),join:_(f,i,"JoinStyle",r,y),miterLimit:_(f,i,"MiterLimit",r,g),referenceWidth:s,zOrder:K(e.name),dashTemplate:null,scaleDash:!1,url:e.url})}function F(e,t,i,o,r,l,a,s){const c=e.primitiveName,f=void 0!==e.width?e.width:4,m=P(e.capStyle),p=M(e.joinStyle),u=e.miterLimit,[y,h]=oe(o,c,t,null),g=n(JSON.stringify(e)+h).toString();l.push({type:"line",templateHash:g,materialHash:y?te(g,i,o,r):g,cim:e,materialOverrides:null,isOutline:a,colorLocked:e.colorLocked,effects:t,color:{r:128,g:128,b:128,a:1},width:_(c,i,"Width",r,f),cap:_(c,i,"CapStyle",r,m),join:_(c,i,"JoinStyle",r,p),miterLimit:_(c,i,"MiterLimit",r,u),referenceWidth:s,zOrder:K(e.name),dashTemplate:null,scaleDash:!1})}function T(e,t,i,o,r,l){const a=e.markerPlacement;if(!a||"CIMMarkerPlacementInsidePolygon"!==a.type)return!1;const s=a,c=["Rotation","OffsetX","OffsetY"],f=o.filter((t=>t.primitiveName!==e.primitiveName&&-1===c.indexOf(t.propertyName))),m="url"in e?e.url:null,[p,u]=oe(o,s.primitiveName,t,null),y=n(JSON.stringify(e)+u).toString();let h=s.stepY,d=null,S=1;return a.shiftOddRows&&(h*=2,d=function(e){return e?2*e:0},S=.5),l.push({type:"fill",templateHash:y,materialHash:p?te(y,i,f,r):y,cim:e,materialOverrides:f,colorLocked:e.colorLocked,effects:t,color:{r:255,g:255,b:255,a:1},height:_(s.primitiveName,i,"StepY",r,h,d),scaleX:S,angle:_(s.primitiveName,i,"GridAngle",r,s.gridAngle),offsetX:_(s.primitiveName,i,"OffsetX",r,g(s.offsetX)),offsetY:_(s.primitiveName,i,"OffsetY",r,g(s.offsetY)),url:m}),!0}function W(e,t,i,r,l,a,s,c,f){var m;const p=e.primitiveName,u=g(e.size);let y=g(e.scaleX);const d=g(e.rotation),S=g(e.offsetX),v=g(e.offsetY),N=e.tintColor?h(e.tintColor):{r:255,g:255,b:255,a:1},b=n(`${e.url}${JSON.stringify(e.colorSubstitutions)}`).toString(),C=ee(e.markerPlacement,r,i,l),[k,O]=oe(r,p,t,C),P=n(JSON.stringify(e)+O).toString(),M=null!=(m=e.anchorPoint)?m:{x:0,y:0};if("width"in e){const t=e.width;let i=1;const r=a.getResource(e.url);o(r)&&(i=r.width/r.height),y/=i*(u/t)}s.push({type:"marker",templateHash:P,materialHash:k?()=>b:b,cim:e,materialOverrides:null,colorLocked:e.colorLocked,effects:t,scaleSymbolsProportionally:!1,alignment:c,size:_(p,i,"Size",l,u),scaleX:_(p,i,"ScaleX",l,y),rotation:_(p,i,"Rotation",l,d),offsetX:_(p,i,"OffsetX",l,S),offsetY:_(p,i,"OffsetY",l,v),color:_(p,i,"TintColor",l,N,Q),anchorPoint:{x:M.x,y:-M.y},isAbsoluteAnchorPoint:"Relative"!==e.anchorPointUnits,outlineColor:{r:0,g:0,b:0,a:0},outlineWidth:0,frameHeight:0,rotateClockwise:e.rotateClockwise,referenceSize:f,sizeRatio:1,markerPlacement:e.markerPlacement,url:e.url})}function D(e,t,i,o,r,n,l,a,s,c){const f=e.markerGraphics;if(!f)return;let m=0;if(e.scaleSymbolsProportionally){const t=e.frame;t&&(m=t.ymax-t.ymin)}const p=ee(e.markerPlacement,o,i,r);for(const u of f)if(u){const f=u.symbol;if(!f)continue;switch(f.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":G(e,t,p,u,o,i,r,n,l,a,s,m,c);break;case"CIMTextSymbol":U(e,t,p,u,i,o,r,n,a,s,m)}}}function U(e,t,i,o,r,l,a,f,m,p,u){const y=[];c.findApplicableOverrides(o,l,y);const v=o.geometry;if(!("x"in v)||!("y"in v))return;const N=o.symbol,b=X(N),C=w(N.fontStyleName),O=k(N.fontFamilyName);N.font={family:O,decoration:b,...C};const P=e.frame,M=v.x-.5*(P.xmin+P.xmax),x=v.y-.5*(P.ymin+P.ymax),z=e.size/u,J=e.primitiveName,H=g(N.height)*z,R=g(N.angle),Y=(g(N.offsetX)+M)*z,A=(g(N.offsetY)+x)*z,E=h(s.getFillColor(N));let $=h(s.getStrokeColor(N)),j=s.getStrokeWidth(N);j||($=h(s.getFillColor(N.haloSymbol)),j=N.haloSize*z);const[F,T]=oe(l,J,t,i),W=JSON.stringify(e.effects)+Number(e.colorLocked)+JSON.stringify(e.anchorPoint)+e.anchorPointUnits+JSON.stringify(e.markerPlacement),D=n(JSON.stringify(o)+W+T).toString(),U=_(o.primitiveName,r,"TextString",a,o.textString,d,N.textCase);if(null==U)return;const{fontStyleName:G}=N,B=O+(G?"-"+G.toLowerCase():"-regular"),q=B;f.push({type:"text",templateHash:D,materialHash:F||"function"==typeof U||U.match(/\[(.*?)\]/)?(e,t,i)=>q+"-"+S(U,e,t,i):q+"-"+n(U),cim:N,materialOverrides:null,colorLocked:e.colorLocked,effects:t,alignment:m,anchorPoint:{x:e.anchorPoint?e.anchorPoint.x:0,y:e.anchorPoint?e.anchorPoint.y:0},isAbsoluteAnchorPoint:"Relative"!==e.anchorPointUnits,fontName:B,decoration:b,weight:_(J,r,"Weight",a,C.weight),style:_(J,r,"Size",a,C.style),size:_(J,r,"Size",a,H),angle:_(J,r,"Rotation",a,R),offsetX:_(J,r,"OffsetX",a,Y),offsetY:_(J,r,"OffsetY",a,A),horizontalAlignment:I(N.horizontalAlignment),verticalAlignment:L(N.verticalAlignment),text:U,color:E,outlineColor:$,outlineSize:j,referenceSize:p,sizeRatio:1,markerPlacement:i})}function G(e,t,i,r,l,a,c,f,m,p,d,S,v){const N=r.symbol,C=N.symbolLayers;if(!C)return;if(v)return void q(e,t,i,r,a,l,c,f,m,p,d,S);let k=C.length;if(ne(C))return void B(e,t,i,r,C,l,a,c,f,p,d,S);const O=b.applyEffects(N.effects,r.geometry,m.geometryEngine);if(O)for(;k--;){const v=C[k];if(v&&!1!==v.enable)switch(v.type){case"CIMSolidFill":case"CIMSolidStroke":{var P;const N=b.applyEffects(v.effects,O,m.geometryEngine),C=u(N);if(!C)continue;const[k,M,I]=y(C,e.frame,e.size,e.anchorPoint,"Relative"!==e.anchorPointUnits),L="CIMSolidFill"===v.type,w={type:"sdf",geom:N,asFill:L},X=e.primitiveName,x=null!=(P=g(e.size))?P:10,z=g(e.rotation),J=g(e.offsetX),H=g(e.offsetY),R=v.path,Y=v.primitiveName,A=h(L?s.getFillColor(v):s.getStrokeColor(v)),E=L?{r:0,g:0,b:0,a:0}:h(s.getStrokeColor(v)),$=s.getStrokeWidth(v);if(!L&&!$)break;let j=!1,F="";for(const e of l)e.primitiveName!==Y&&e.primitiveName!==X||(void 0!==e.value?F+=`-${e.primitiveName}-${e.propertyName}-${JSON.stringify(e.value)}`:e.valueExpressionInfo&&(j=!0));o(t)&&"function"==typeof t&&(j=!0);const T=JSON.stringify({...e,markerGraphics:null}),W=n(JSON.stringify(w)+R).toString(),D={type:"marker",templateHash:n(JSON.stringify(r)+JSON.stringify(v)+T+F).toString(),materialHash:j?()=>W:W,cim:w,materialOverrides:null,colorLocked:e.colorLocked,effects:t,scaleSymbolsProportionally:e.scaleSymbolsProportionally,alignment:p,anchorPoint:{x:M,y:I},isAbsoluteAnchorPoint:!1,size:_(e.primitiveName,a,"Size",c,x),rotation:_(e.primitiveName,a,"Rotation",c,z),offsetX:_(e.primitiveName,a,"OffsetX",c,J),offsetY:_(e.primitiveName,a,"OffsetY",c,H),scaleX:1,frameHeight:S,rotateClockwise:e.rotateClockwise,referenceSize:d,sizeRatio:k,color:_(Y,a,"Color",c,A,Q),outlineColor:_(Y,a,"Color",c,E,Q),outlineWidth:_(Y,a,"Width",c,$),markerPlacement:i,path:R};f.push(D);break}default:q(e,t,i,r,a,l,c,f,m,p,d,S)}}}function B(e,t,i,o,r,l,a,c,f,m,p,d){const S=o.geometry,v=r[0],N=r[1],b=u(S);if(!b)return;const[C,k,O]=y(b,e.frame,e.size,e.anchorPoint,"Relative"!==e.anchorPointUnits),P={type:"sdf",geom:S,asFill:!0},M=e.primitiveName,I=g(e.size),L=g(e.rotation),w=g(e.offsetX),X=g(e.offsetY),x=N.path,z=N.primitiveName,J=v.primitiveName,H=h(s.getFillColor(N)),R=h(s.getStrokeColor(v)),Y=s.getStrokeWidth(v);let A=!1,E="";for(const n of l)n.primitiveName!==z&&n.primitiveName!==J&&n.primitiveName!==M||(void 0!==n.value?E+=`-${n.primitiveName}-${n.propertyName}-${JSON.stringify(n.value)}`:n.valueExpressionInfo&&(A=!0));const $=JSON.stringify({...e,markerGraphics:null}),j=n(JSON.stringify(P)+x).toString(),F={type:"marker",templateHash:n(JSON.stringify(o)+JSON.stringify(N)+JSON.stringify(v)+$+E).toString(),materialHash:A?()=>j:j,cim:P,materialOverrides:null,colorLocked:e.colorLocked,effects:t,scaleSymbolsProportionally:e.scaleSymbolsProportionally,alignment:m,anchorPoint:{x:k,y:O},isAbsoluteAnchorPoint:!1,size:_(e.primitiveName,a,"Size",c,I),rotation:_(e.primitiveName,a,"Rotation",c,L),offsetX:_(e.primitiveName,a,"OffsetX",c,w),offsetY:_(e.primitiveName,a,"OffsetY",c,X),scaleX:1,frameHeight:d,rotateClockwise:e.rotateClockwise,referenceSize:p,sizeRatio:C,color:_(z,a,"Color",c,H,Q),outlineColor:_(J,a,"Color",c,R,Q),outlineWidth:_(J,a,"Width",c,Y),markerPlacement:i,path:x};f.push(F)}function q(e,t,i,l,a,c,f,m,p,u,y,h){const d=V(e,l);let S=[];const v=["Rotation","OffsetX","OffsetY"];S=c.filter((t=>t.primitiveName!==e.primitiveName||-1===v.indexOf(t.propertyName)));let N="";for(const o of c)void 0!==o.value&&(N+=`-${o.primitiveName}-${o.propertyName}-${JSON.stringify(o.value)}`);const[b,C,k]=s.getTextureAnchor(d,p),O=e.primitiveName,P=g(e.rotation),M=g(e.offsetX),I=g(e.offsetY),L=n(JSON.stringify(d)+N).toString(),w={type:"marker",templateHash:L,materialHash:S.length>0||o(t)&&"function"==typeof t?te(L,a,S,f):L,cim:d,materialOverrides:S,colorLocked:e.colorLocked,effects:t,scaleSymbolsProportionally:e.scaleSymbolsProportionally,alignment:u,anchorPoint:{x:b,y:C},isAbsoluteAnchorPoint:!1,size:e.size,rotation:_(O,a,"Rotation",f,P),offsetX:_(O,a,"OffsetX",f,M),offsetY:_(O,a,"OffsetY",f,I),color:{r:255,g:255,b:255,a:1},outlineColor:{r:0,g:0,b:0,a:0},outlineWidth:0,scaleX:1,frameHeight:h,rotateClockwise:e.rotateClockwise,referenceSize:y,sizeRatio:k/r(e.size),markerPlacement:i};m.push(w)}function V(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 K(e){if(e&&0===e.indexOf("Level_")){const t=parseInt(e.substr(6),10);if(!isNaN(t))return t}return 0}function Q(t){if(!t||0===t.length)return null;const i=new e(t).toRgba();return{r:i[0],g:i[1],b:i[2],a:i[3]}}function _(e,t,i,o,r,n,l){const s=t[e];if(s){const e=s[i];if("string"==typeof e||"number"==typeof e||e instanceof Array)return n?n.call(null,e,l):e;if(null!=e&&e instanceof a)return(t,i,a)=>{let s=C(e,t,{$view:a},o.geometryType,i);return null!==s&&n&&(s=n.call(null,s,l)),null!==s?s:r}}return r}function Z(e,i,o,r){for(const t of i){if(t.valueExpressionInfo){const e=o[t.primitiveName]&&o[t.primitiveName][t.propertyName];e instanceof a&&(t.fn=(t,i,o)=>C(e,t,{$view:o},r.geometryType,i))}}const n=e=>e?e.charAt(0).toLowerCase()+e.substr(1):e;return(o,r,l)=>{for(const e of i)e.fn&&(e.value=e.fn(o,r,l));const a=[];for(let c of e){var s;const e=null==(s=c)?void 0:s.primitiveName;if(e){let o=!1;for(const r of i)if(r.primitiveName===e){const e=n(r.propertyName);null!=r.value&&r.value!==c[e]&&(o||(c=t(c),o=!0),c[e]=r.value)}}a.push(c)}return a}}function ee(e,i,o,r){const n=[];if(c.findApplicableOverrides(e,i,n),0===n.length)return e;for(const t of n){if(t.valueExpressionInfo){const e=o[t.primitiveName]&&o[t.primitiveName][t.propertyName];e instanceof a&&(t.fn=(t,i,o)=>C(e,t,{$view:o},r.geometryType,i))}}const l=e=>e?e.charAt(0).toLowerCase()+e.substr(1):e;return(i,o,r)=>{for(const e of n)e.fn&&(e.value=e.fn(i,o,r));const a=t(e),s=e.primitiveName;for(const e of n)if(e.primitiveName===s){const t=l(e.propertyName);null!=e.value&&e.value!==a[t]&&(a[t]=e.value)}return a}}function te(e,t,i,o){for(const r of i){if(r.valueExpressionInfo){const e=t[r.primitiveName]&&t[r.primitiveName][r.propertyName];e instanceof a&&(r.fn=(t,i,r)=>C(e,t,{$view:r},o.geometryType,i))}}return(t,o,r)=>{for(const e of i)e.fn&&(e.value=e.fn(t,o,r));return n(e+c.buildOverrideKey(i)).toString()}}function ie(e,t){if(!t||0===t.length)return e;const i=JSON.parse(JSON.stringify(e));return c.applyOverrides(i,t),i}function oe(e,t,i,r){let n=!1,l="";for(const o of e)o.primitiveName===t&&(void 0!==o.value?l+=`-${o.primitiveName}-${o.propertyName}-${JSON.stringify(o.value)}`:o.valueExpressionInfo&&(n=!0));return o(i)&&"function"==typeof i&&(n=!0),o(r)&&"function"==typeof r&&(n=!0),[n,l]}function re(e,t,i){if(e&&t)switch(e.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const o=e.symbolLayers;if(!o)return;for(const e of o)switch(ae(e,t,i),e.type){case"CIMPictureFill":case"CIMHatchFill":case"CIMGradientFill":case"CIMPictureStroke":case"CIMGradientStroke":case"CIMCharacterMarker":case"CIMPictureMarker":"url"in e&&e.url&&i.push(t.fetchResource(e.url,null));break;case"CIMVectorMarker":{const o=e.markerGraphics;if(!o)continue;for(const e of o)if(e){const o=e.symbol;o&&re(o,t,i)}}}}}}const ne=e=>e&&2===e.length&&e[0].enable&&e[1].enable&&"CIMSolidStroke"===e[0].type&&"CIMSolidFill"===e[1].type&&!e[0].effects&&!e[1].effects;let le;function ae(e,t,i){if(!e.effects||o(t.geometryEngine))return;if(le)return void i.push(le);v(e.effects)&&(le=N(),i.push(le),le.then((e=>t.geometryEngine=e)))}export{ie as analyzeCIMResource,J as analyzeCIMSymbol};
5
+ import e from"../../Color.js";import{clone as t}from"../../core/lang.js";import i from"../../core/Logger.js";import{isSome as o}from"../../core/maybe.js";import{pt2px as r}from"../../core/screenUtils.js";import{numericHash as n}from"../../core/string.js";import{createRendererExpression as l,ArcadeExpression as a}from"../../support/arcadeOnDemand.js";import{CIMSymbolHelper as s,OverrideHelper as c}from"./CIMSymbolHelper.js";import{CapType as f,JoinType as m,Alignment as p}from"./enums.js";import{getExtent as u,getSDFMetrics as y}from"./SDFHelper.js";import{fromCIMColor as h,getValue as g,_adjustTextCase as d,evaluateValueOrFunction as S,isGeometryEngineRequired as v,importGeometryEngine as N}from"./utils.js";import{CIMEffectHelper as b}from"./effects/CIMEffectHelper.js";import C from"../../views/2d/arcade/callExpressionWithFeature.js";import{getFontFamily as k}from"../../views/2d/engine/webgl/fontUtils.js";const O=i.getLogger("esri.symbols.cim.cimAnalyzer");function P(e){switch(e){case"Butt":return f.BUTT;case"Square":return f.SQUARE;default:return f.ROUND}}function M(e){switch(e){case"Bevel":return m.BEVEL;case"Miter":return m.MITER;default:return m.ROUND}}function L(e){switch(e){case"Left":default:return"left";case"Right":return"right";case"Center":return"center";case"Justify":return"justify"}}function I(e){switch(e){case"Top":default:return"top";case"Center":return"middle";case"Baseline":return"baseline";case"Bottom":return"bottom"}}function w(e){let t="",i="";if(e){const o=e.toLowerCase();-1!==o.indexOf("italic")?t="italic":-1!==o.indexOf("oblique")&&(t="oblique"),-1!==o.indexOf("bold")?i="bold":-1!==o.indexOf("light")&&(i="lighter")}return{style:t,weight:i}}function X(e){return e.underline?"underline":e.strikethrough?"line-through":"none"}function x(e,t,i,o){let r;e[t]?r=e[t]:(r={},e[t]=r),r[i]=o}function z(e){const t=e.markerPlacement;return t&&t.angleToLine?p.MAP:p.SCREEN}async function J(e,t,i,o,r){const n=null!=o?o:[];if(!e)return n;let a,s;const c={};if("CIMSymbolReference"!==e.type)return O.error("Expect cim type to be 'CIMSymbolReference'"),n;if(a=e.symbol,s=e.primitiveOverrides,s){const e=[];for(const i of s){const o=i.valueExpressionInfo;if(o&&t){const r=o.expression,n=l(r,t.spatialReference,t.fields).then((e=>{e&&x(c,i.primitiveName,i.propertyName,e)}));e.push(n)}else null!=i.value&&x(c,i.primitiveName,i.propertyName,i.value)}e.length>0&&await Promise.all(e)}const f=[];switch(re(a,i,f),f.length>0&&await Promise.all(f),a.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":H(a,s,c,t,n,i,r)}return n}function H(e,t,i,o,r,n,l){if(!e)return;const a=e.symbolLayers;if(!a)return;const f=e.effects;let m;const u=s.getSize(e);"CIMPointSymbol"===e.type&&"Map"===e.angleAlignment&&(m=p.MAP);let y=a.length;for(;y--;){const s=a[y];if(!s||!1===s.enable)continue;let p;f&&f.length&&(p=[...f]);const h=s.effects;h&&h.length&&(f?p.push(...h):p=[...h]);const g=[];let d;c.findEffectOverrides(p,t,g),d=g.length>0?Z(p,g,i,o):p;const S=[];switch(c.findApplicableOverrides(s,t,S),s.type){case"CIMSolidFill":R(s,d,i,S,o,r);break;case"CIMPictureFill":Y(s,d,i,S,o,n,r);break;case"CIMHatchFill":A(s,d,i,S,o,r);break;case"CIMGradientFill":E(s,d,i,S,o,r);break;case"CIMSolidStroke":$(s,d,i,S,o,r,"CIMPolygonSymbol"===e.type,u);break;case"CIMPictureStroke":j(s,d,i,S,o,r,"CIMPolygonSymbol"===e.type,u);break;case"CIMGradientStroke":F(s,d,i,S,o,r,"CIMPolygonSymbol"===e.type,u);break;case"CIMCharacterMarker":if(T(s,d,i,S,o,r))break;break;case"CIMPictureMarker":if(T(s,d,i,S,o,r))break;"CIMLineSymbol"===e.type&&(m=z(s)),W(s,d,i,S,o,n,r,m,u);break;case"CIMVectorMarker":if(T(s,d,i,S,o,r))break;"CIMLineSymbol"===e.type&&(m=z(s)),D(s,d,i,S,o,r,n,m,u,l);break;default:O.error("Cannot analyze CIM layer",s.type)}}}function R(e,t,i,o,r,l){const a=e.primitiveName,s=h(e.color),[c,f]=oe(o,a,t,null),m=n(JSON.stringify(e)+f).toString();l.push({type:"fill",templateHash:m,materialHash:c?()=>m:m,cim:e,materialOverrides:null,colorLocked:e.colorLocked,color:_(a,i,"Color",r,s,Q),height:0,angle:0,offsetX:0,offsetY:0,scaleX:1,effects:t})}function Y(e,t,i,r,l,a,s){const c=e.primitiveName,f=e.tintColor?h(e.tintColor):{r:255,g:255,b:255,a:1},[m,p]=oe(r,c,t,null),u=n(JSON.stringify(e)+p).toString(),y=n(`${e.url}${JSON.stringify(e.colorSubstitutions)}`).toString();let d=g(e.scaleX);if("width"in e){const t=e.width;let i=1;const r=a.getResource(e.url);o(r)&&(i=r.width/r.height),d/=i*(e.height/t)}s.push({type:"fill",templateHash:u,materialHash:m?()=>y:y,cim:e,materialOverrides:null,colorLocked:e.colorLocked,effects:t,color:_(c,i,"TintColor",l,f,Q),height:_(c,i,"Height",l,e.height),scaleX:_(c,i,"ScaleX",l,d),angle:_(c,i,"Rotation",l,g(e.rotation)),offsetX:_(c,i,"OffsetX",l,g(e.offsetX)),offsetY:_(c,i,"OffsetY",l,g(e.offsetY)),url:e.url})}function A(e,t,i,o,r,l){const a=["Rotation","OffsetX","OffsetY"],s=o.filter((t=>t.primitiveName!==e.primitiveName&&-1===a.indexOf(t.propertyName))),c=e.primitiveName,[f,m]=oe(o,c,t,null),p=n(JSON.stringify(e)+m).toString(),u=n(`${e.separation}${JSON.stringify(e.lineSymbol)}`).toString();l.push({type:"fill",templateHash:p,materialHash:f?te(u,i,s,r):u,cim:e,materialOverrides:s,colorLocked:e.colorLocked,effects:t,color:{r:255,g:255,b:255,a:1},height:_(c,i,"Separation",r,e.separation),scaleX:1,angle:_(c,i,"Rotation",r,g(e.rotation)),offsetX:_(c,i,"OffsetX",r,g(e.offsetX)),offsetY:_(c,i,"OffsetY",r,g(e.offsetY))})}function E(e,t,i,o,r,l){const a=e.primitiveName,[s,c]=oe(o,a,t,null),f=n(JSON.stringify(e)+c).toString();l.push({type:"fill",templateHash:f,materialHash:s?te(f,i,o,r):f,cim:e,materialOverrides:null,colorLocked:e.colorLocked,effects:t,color:{r:128,g:128,b:128,a:1},height:0,angle:0,offsetX:0,offsetY:0,scaleX:1})}function $(e,t,i,o,r,l,a,s){const c=e.primitiveName,f=h(e.color),m=void 0!==e.width?e.width:4,p=P(e.capStyle),u=M(e.joinStyle),y=e.miterLimit,[g,d]=oe(o,c,t,null),S=n(JSON.stringify(e)+d).toString();let v,N;if(t&&t instanceof Array&&t.length>0){const e=t[t.length-1];if("CIMGeometricEffectDashes"===e.type&&"NoConstraint"===e.lineDashEnding&&null===e.offsetAlongLine){const e=(t=[...t]).pop();v=e.dashTemplate,N=e.scaleDash}}l.push({type:"line",templateHash:S,materialHash:g?()=>S:S,cim:e,materialOverrides:null,isOutline:a,colorLocked:e.colorLocked,effects:t,color:_(c,i,"Color",r,f,Q),width:_(c,i,"Width",r,m),cap:_(c,i,"CapStyle",r,p),join:_(c,i,"JoinStyle",r,u),miterLimit:_(c,i,"MiterLimit",r,y),referenceWidth:s,zOrder:K(e.name),dashTemplate:v,scaleDash:N})}function j(e,t,i,o,r,l,a,s){const c=n(`${e.url}${JSON.stringify(e.colorSubstitutions)}`).toString(),f=e.primitiveName,m=h(e.tintColor),p=void 0!==e.width?e.width:4,u=P(e.capStyle),y=M(e.joinStyle),g=e.miterLimit,[d,S]=oe(o,f,t,null),v=n(JSON.stringify(e)+S).toString();l.push({type:"line",templateHash:v,materialHash:d?()=>c:c,cim:e,materialOverrides:null,isOutline:a,colorLocked:e.colorLocked,effects:t,color:_(f,i,"TintColor",r,m,Q),width:_(f,i,"Width",r,p),cap:_(f,i,"CapStyle",r,u),join:_(f,i,"JoinStyle",r,y),miterLimit:_(f,i,"MiterLimit",r,g),referenceWidth:s,zOrder:K(e.name),dashTemplate:null,scaleDash:!1,url:e.url})}function F(e,t,i,o,r,l,a,s){const c=e.primitiveName,f=void 0!==e.width?e.width:4,m=P(e.capStyle),p=M(e.joinStyle),u=e.miterLimit,[y,h]=oe(o,c,t,null),g=n(JSON.stringify(e)+h).toString();l.push({type:"line",templateHash:g,materialHash:y?te(g,i,o,r):g,cim:e,materialOverrides:null,isOutline:a,colorLocked:e.colorLocked,effects:t,color:{r:128,g:128,b:128,a:1},width:_(c,i,"Width",r,f),cap:_(c,i,"CapStyle",r,m),join:_(c,i,"JoinStyle",r,p),miterLimit:_(c,i,"MiterLimit",r,u),referenceWidth:s,zOrder:K(e.name),dashTemplate:null,scaleDash:!1})}function T(e,t,i,o,r,l){const a=e.markerPlacement;if(!a||"CIMMarkerPlacementInsidePolygon"!==a.type)return!1;const s=a,c=["Rotation","OffsetX","OffsetY"],f=o.filter((t=>t.primitiveName!==e.primitiveName&&-1===c.indexOf(t.propertyName))),m="url"in e?e.url:null,[p,u]=oe(o,s.primitiveName,t,null),y=n(JSON.stringify(e)+u).toString();let h=s.stepY,d=null,S=1;return a.shiftOddRows&&(h*=2,d=function(e){return e?2*e:0},S=.5),l.push({type:"fill",templateHash:y,materialHash:p?te(y,i,f,r):y,cim:e,materialOverrides:f,colorLocked:e.colorLocked,effects:t,color:{r:255,g:255,b:255,a:1},height:_(s.primitiveName,i,"StepY",r,h,d),scaleX:S,angle:_(s.primitiveName,i,"GridAngle",r,s.gridAngle),offsetX:_(s.primitiveName,i,"OffsetX",r,g(s.offsetX)),offsetY:_(s.primitiveName,i,"OffsetY",r,g(s.offsetY)),url:m}),!0}function W(e,t,i,r,l,a,s,c,f){var m;const p=e.primitiveName,u=g(e.size);let y=g(e.scaleX);const d=g(e.rotation),S=g(e.offsetX),v=g(e.offsetY),N=e.tintColor?h(e.tintColor):{r:255,g:255,b:255,a:1},b=n(`${e.url}${JSON.stringify(e.colorSubstitutions)}`).toString(),C=ee(e.markerPlacement,r,i,l),[k,O]=oe(r,p,t,C),P=n(JSON.stringify(e)+O).toString(),M=null!=(m=e.anchorPoint)?m:{x:0,y:0};if("width"in e){const t=e.width;let i=1;const r=a.getResource(e.url);o(r)&&(i=r.width/r.height),y/=i*(u/t)}s.push({type:"marker",templateHash:P,materialHash:k?()=>b:b,cim:e,materialOverrides:null,colorLocked:e.colorLocked,effects:t,scaleSymbolsProportionally:!1,alignment:c,size:_(p,i,"Size",l,u),scaleX:_(p,i,"ScaleX",l,y),rotation:_(p,i,"Rotation",l,d),offsetX:_(p,i,"OffsetX",l,S),offsetY:_(p,i,"OffsetY",l,v),color:_(p,i,"TintColor",l,N,Q),anchorPoint:{x:M.x,y:-M.y},isAbsoluteAnchorPoint:"Relative"!==e.anchorPointUnits,outlineColor:{r:0,g:0,b:0,a:0},outlineWidth:0,frameHeight:0,rotateClockwise:e.rotateClockwise,referenceSize:f,sizeRatio:1,markerPlacement:e.markerPlacement,url:e.url})}function D(e,t,i,o,r,n,l,a,s,c){const f=e.markerGraphics;if(!f)return;let m=0;if(e.scaleSymbolsProportionally){const t=e.frame;t&&(m=t.ymax-t.ymin)}const p=ee(e.markerPlacement,o,i,r);for(const u of f)if(u){const f=u.symbol;if(!f)continue;switch(f.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":G(e,t,p,u,o,i,r,n,l,a,s,m,c);break;case"CIMTextSymbol":U(e,t,p,u,i,o,r,n,a,s,m)}}}function U(e,t,i,o,r,l,a,f,m,p,u){const y=[];c.findApplicableOverrides(o,l,y);const v=o.geometry;if(!("x"in v)||!("y"in v))return;const N=o.symbol,b=X(N),C=w(N.fontStyleName),O=k(N.fontFamilyName);N.font={family:O,decoration:b,...C};const P=e.frame,M=v.x-.5*(P.xmin+P.xmax),x=v.y-.5*(P.ymin+P.ymax),z=e.size/u,J=e.primitiveName,H=g(N.height)*z,R=g(N.angle),Y=g(e.offsetX)+(g(N.offsetX)+M)*z,A=g(e.offsetY)+(g(N.offsetY)+x)*z,E=h(s.getFillColor(N));let $=h(s.getStrokeColor(N)),j=s.getStrokeWidth(N);j||($=h(s.getFillColor(N.haloSymbol)),j=N.haloSize*z);const[F,T]=oe(l,J,t,i),W=JSON.stringify(e.effects)+Number(e.colorLocked)+JSON.stringify(e.anchorPoint)+e.anchorPointUnits+JSON.stringify(e.markerPlacement),D=n(JSON.stringify(o)+W+T).toString(),U=_(o.primitiveName,r,"TextString",a,o.textString,d,N.textCase);if(null==U)return;const{fontStyleName:G}=N,B=O+(G?"-"+G.toLowerCase():"-regular"),q=B;f.push({type:"text",templateHash:D,materialHash:F||"function"==typeof U||U.match(/\[(.*?)\]/)?(e,t,i)=>q+"-"+S(U,e,t,i):q+"-"+n(U),cim:N,materialOverrides:null,colorLocked:e.colorLocked,effects:t,alignment:m,anchorPoint:{x:e.anchorPoint?e.anchorPoint.x:0,y:e.anchorPoint?e.anchorPoint.y:0},isAbsoluteAnchorPoint:"Relative"!==e.anchorPointUnits,fontName:B,decoration:b,weight:_(J,r,"Weight",a,C.weight),style:_(J,r,"Size",a,C.style),size:_(J,r,"Size",a,H),angle:_(J,r,"Rotation",a,R),offsetX:_(J,r,"OffsetX",a,Y),offsetY:_(J,r,"OffsetY",a,A),horizontalAlignment:L(N.horizontalAlignment),verticalAlignment:I(N.verticalAlignment),text:U,color:E,outlineColor:$,outlineSize:j,referenceSize:p,sizeRatio:1,markerPlacement:i})}function G(e,t,i,r,l,a,c,f,m,p,d,S,v){const N=r.symbol,C=N.symbolLayers;if(!C)return;if(v)return void q(e,t,i,r,a,l,c,f,m,p,d,S);let k=C.length;if(ne(C))return void B(e,t,i,r,C,l,a,c,f,p,d,S);const O=b.applyEffects(N.effects,r.geometry,m.geometryEngine);if(O)for(;k--;){const v=C[k];if(v&&!1!==v.enable)switch(v.type){case"CIMSolidFill":case"CIMSolidStroke":{var P;const N=b.applyEffects(v.effects,O,m.geometryEngine),C=u(N);if(!C)continue;const[k,M,L]=y(C,e.frame,e.size,e.anchorPoint,"Relative"!==e.anchorPointUnits),I="CIMSolidFill"===v.type,w={type:"sdf",geom:N,asFill:I},X=e.primitiveName,x=null!=(P=g(e.size))?P:10,z=g(e.rotation),J=g(e.offsetX),H=g(e.offsetY),R=v.path,Y=v.primitiveName,A=h(I?s.getFillColor(v):s.getStrokeColor(v)),E=I?{r:0,g:0,b:0,a:0}:h(s.getStrokeColor(v)),$=s.getStrokeWidth(v);if(!I&&!$)break;let j=!1,F="";for(const e of l)e.primitiveName!==Y&&e.primitiveName!==X||(void 0!==e.value?F+=`-${e.primitiveName}-${e.propertyName}-${JSON.stringify(e.value)}`:e.valueExpressionInfo&&(j=!0));o(t)&&"function"==typeof t&&(j=!0);const T=JSON.stringify({...e,markerGraphics:null}),W=n(JSON.stringify(w)+R).toString(),D={type:"marker",templateHash:n(JSON.stringify(r)+JSON.stringify(v)+T+F).toString(),materialHash:j?()=>W:W,cim:w,materialOverrides:null,colorLocked:e.colorLocked,effects:t,scaleSymbolsProportionally:e.scaleSymbolsProportionally,alignment:p,anchorPoint:{x:M,y:L},isAbsoluteAnchorPoint:!1,size:_(e.primitiveName,a,"Size",c,x),rotation:_(e.primitiveName,a,"Rotation",c,z),offsetX:_(e.primitiveName,a,"OffsetX",c,J),offsetY:_(e.primitiveName,a,"OffsetY",c,H),scaleX:1,frameHeight:S,rotateClockwise:e.rotateClockwise,referenceSize:d,sizeRatio:k,color:_(Y,a,"Color",c,A,Q),outlineColor:_(Y,a,"Color",c,E,Q),outlineWidth:_(Y,a,"Width",c,$),markerPlacement:i,path:R};f.push(D);break}default:q(e,t,i,r,a,l,c,f,m,p,d,S)}}}function B(e,t,i,o,r,l,a,c,f,m,p,d){const S=o.geometry,v=r[0],N=r[1],b=u(S);if(!b)return;const[C,k,O]=y(b,e.frame,e.size,e.anchorPoint,"Relative"!==e.anchorPointUnits),P={type:"sdf",geom:S,asFill:!0},M=e.primitiveName,L=g(e.size),I=g(e.rotation),w=g(e.offsetX),X=g(e.offsetY),x=N.path,z=N.primitiveName,J=v.primitiveName,H=h(s.getFillColor(N)),R=h(s.getStrokeColor(v)),Y=s.getStrokeWidth(v);let A=!1,E="";for(const n of l)n.primitiveName!==z&&n.primitiveName!==J&&n.primitiveName!==M||(void 0!==n.value?E+=`-${n.primitiveName}-${n.propertyName}-${JSON.stringify(n.value)}`:n.valueExpressionInfo&&(A=!0));const $=JSON.stringify({...e,markerGraphics:null}),j=n(JSON.stringify(P)+x).toString(),F={type:"marker",templateHash:n(JSON.stringify(o)+JSON.stringify(N)+JSON.stringify(v)+$+E).toString(),materialHash:A?()=>j:j,cim:P,materialOverrides:null,colorLocked:e.colorLocked,effects:t,scaleSymbolsProportionally:e.scaleSymbolsProportionally,alignment:m,anchorPoint:{x:k,y:O},isAbsoluteAnchorPoint:!1,size:_(e.primitiveName,a,"Size",c,L),rotation:_(e.primitiveName,a,"Rotation",c,I),offsetX:_(e.primitiveName,a,"OffsetX",c,w),offsetY:_(e.primitiveName,a,"OffsetY",c,X),scaleX:1,frameHeight:d,rotateClockwise:e.rotateClockwise,referenceSize:p,sizeRatio:C,color:_(z,a,"Color",c,H,Q),outlineColor:_(J,a,"Color",c,R,Q),outlineWidth:_(J,a,"Width",c,Y),markerPlacement:i,path:x};f.push(F)}function q(e,t,i,l,a,c,f,m,p,u,y,h){const d=V(e,l);let S=[];const v=["Rotation","OffsetX","OffsetY"];S=c.filter((t=>t.primitiveName!==e.primitiveName||-1===v.indexOf(t.propertyName)));let N="";for(const o of c)void 0!==o.value&&(N+=`-${o.primitiveName}-${o.propertyName}-${JSON.stringify(o.value)}`);const[b,C,k]=s.getTextureAnchor(d,p),O=e.primitiveName,P=g(e.rotation),M=g(e.offsetX),L=g(e.offsetY),I=n(JSON.stringify(d)+N).toString(),w={type:"marker",templateHash:I,materialHash:S.length>0||o(t)&&"function"==typeof t?te(I,a,S,f):I,cim:d,materialOverrides:S,colorLocked:e.colorLocked,effects:t,scaleSymbolsProportionally:e.scaleSymbolsProportionally,alignment:u,anchorPoint:{x:b,y:C},isAbsoluteAnchorPoint:!1,size:e.size,rotation:_(O,a,"Rotation",f,P),offsetX:_(O,a,"OffsetX",f,M),offsetY:_(O,a,"OffsetY",f,L),color:{r:255,g:255,b:255,a:1},outlineColor:{r:0,g:0,b:0,a:0},outlineWidth:0,scaleX:1,frameHeight:h,rotateClockwise:e.rotateClockwise,referenceSize:y,sizeRatio:k/r(e.size),markerPlacement:i};m.push(w)}function V(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 K(e){if(e&&0===e.indexOf("Level_")){const t=parseInt(e.substr(6),10);if(!isNaN(t))return t}return 0}function Q(t){if(!t||0===t.length)return null;const i=new e(t).toRgba();return{r:i[0],g:i[1],b:i[2],a:i[3]}}function _(e,t,i,o,r,n,l){const s=t[e];if(s){const e=s[i];if("string"==typeof e||"number"==typeof e||e instanceof Array)return n?n.call(null,e,l):e;if(null!=e&&e instanceof a)return(t,i,a)=>{let s=C(e,t,{$view:a},o.geometryType,i);return null!==s&&n&&(s=n.call(null,s,l)),null!==s?s:r}}return r}function Z(e,i,o,r){for(const t of i){if(t.valueExpressionInfo){const e=o[t.primitiveName]&&o[t.primitiveName][t.propertyName];e instanceof a&&(t.fn=(t,i,o)=>C(e,t,{$view:o},r.geometryType,i))}}const n=e=>e?e.charAt(0).toLowerCase()+e.substr(1):e;return(o,r,l)=>{for(const e of i)e.fn&&(e.value=e.fn(o,r,l));const a=[];for(let c of e){var s;const e=null==(s=c)?void 0:s.primitiveName;if(e){let o=!1;for(const r of i)if(r.primitiveName===e){const e=n(r.propertyName);null!=r.value&&r.value!==c[e]&&(o||(c=t(c),o=!0),c[e]=r.value)}}a.push(c)}return a}}function ee(e,i,o,r){const n=[];if(c.findApplicableOverrides(e,i,n),0===n.length)return e;for(const t of n){if(t.valueExpressionInfo){const e=o[t.primitiveName]&&o[t.primitiveName][t.propertyName];e instanceof a&&(t.fn=(t,i,o)=>C(e,t,{$view:o},r.geometryType,i))}}const l=e=>e?e.charAt(0).toLowerCase()+e.substr(1):e;return(i,o,r)=>{for(const e of n)e.fn&&(e.value=e.fn(i,o,r));const a=t(e),s=e.primitiveName;for(const e of n)if(e.primitiveName===s){const t=l(e.propertyName);null!=e.value&&e.value!==a[t]&&(a[t]=e.value)}return a}}function te(e,t,i,o){for(const r of i){if(r.valueExpressionInfo){const e=t[r.primitiveName]&&t[r.primitiveName][r.propertyName];e instanceof a&&(r.fn=(t,i,r)=>C(e,t,{$view:r},o.geometryType,i))}}return(t,o,r)=>{for(const e of i)e.fn&&(e.value=e.fn(t,o,r));return n(e+c.buildOverrideKey(i)).toString()}}function ie(e,t){if(!t||0===t.length)return e;const i=JSON.parse(JSON.stringify(e));return c.applyOverrides(i,t),i}function oe(e,t,i,r){let n=!1,l="";for(const o of e)o.primitiveName===t&&(void 0!==o.value?l+=`-${o.primitiveName}-${o.propertyName}-${JSON.stringify(o.value)}`:o.valueExpressionInfo&&(n=!0));return o(i)&&"function"==typeof i&&(n=!0),o(r)&&"function"==typeof r&&(n=!0),[n,l]}function re(e,t,i){if(e&&t)switch(e.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const o=e.symbolLayers;if(!o)return;for(const e of o)switch(ae(e,t,i),e.type){case"CIMPictureFill":case"CIMHatchFill":case"CIMGradientFill":case"CIMPictureStroke":case"CIMGradientStroke":case"CIMCharacterMarker":case"CIMPictureMarker":"url"in e&&e.url&&i.push(t.fetchResource(e.url,null));break;case"CIMVectorMarker":{const o=e.markerGraphics;if(!o)continue;for(const e of o)if(e){const o=e.symbol;o&&re(o,t,i)}}}}}}const ne=e=>e&&2===e.length&&e[0].enable&&e[1].enable&&"CIMSolidStroke"===e[0].type&&"CIMSolidFill"===e[1].type&&!e[0].effects&&!e[1].effects;let le;function ae(e,t,i){if(!e.effects||o(t.geometryEngine))return;if(le)return void i.push(le);v(e.effects)&&(le=N(),i.push(le),le.then((e=>t.geometryEngine=e)))}export{ie as analyzeCIMResource,J as analyzeCIMSymbol};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../chunks/tslib.es6.js";import{strict as e}from"../../core/jsonMap.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{isDataProtocol as t,isAbsolute as s,normalize as p}from"../../core/urlUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{enumeration as i}from"../../core/accessorSupport/decorators/enumeration.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import{writer as f}from"../../core/accessorSupport/decorators/writer.js";import{f as u,t as l}from"../../chunks/persistableUrlUtils.js";var n;const d=e()({circle:"circle",square:"square",cross:"cross",x:"x",kite:"kite",triangle:"triangle"});let h=n=class extends o{constructor(r){super(r)}readHref(r,e,o){return r?u(r,o):e.dataURI}writeHref(r,e,o,c){r&&(t(r)?e.dataURI=r:(e.href=l(r,c),s(e.href)&&(e.href=p(e.href))))}clone(){return new n({href:this.href,primitive:this.primitive})}};r([c({type:String,json:{write:!0,read:{source:["href","dataURI"]}}})],h.prototype,"href",void 0),r([a("href")],h.prototype,"readHref",null),r([f("href",{href:{type:String},dataURI:{type:String}})],h.prototype,"writeHref",null),r([i(d)],h.prototype,"primitive",void 0),h=n=r([m("esri.symbols.support.IconSymbol3DLayerResource")],h);const j="circle",y=h;export{h as IconSymbol3DLayerResource,y as default,j as defaultPrimitive};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import{strict as e}from"../../core/jsonMap.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{isDataProtocol as t,isAbsolute as s,normalize as p}from"../../core/urlUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{enumeration as i}from"../../core/accessorSupport/decorators/enumeration.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import{writer as f}from"../../core/accessorSupport/decorators/writer.js";import{f as u,t as n}from"../../chunks/persistableUrlUtils.js";var l;const d=e()({circle:"circle",square:"square",cross:"cross",x:"x",kite:"kite",triangle:"triangle"});let h=l=class extends o{constructor(r){super(r)}readHref(r,e,o){return r?u(r,o):e.dataURI}writeHref(r,e,o,c){r&&(t(r)?e.dataURI=r:(e.href=n(r,c),s(e.href)&&(e.href=p(e.href))))}clone(){return new l({href:this.href,primitive:this.primitive})}};r([c({type:String,json:{write:!0,read:{source:["href","dataURI"]}}})],h.prototype,"href",void 0),r([a("href")],h.prototype,"readHref",null),r([f("href",{href:{type:String},dataURI:{type:String}})],h.prototype,"writeHref",null),r([i(d)],h.prototype,"primitive",void 0),h=l=r([m("esri.symbols.support.IconSymbol3DLayerResource")],h);const j="circle";export{h as IconSymbol3DLayerResource,j as defaultPrimitive};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../chunks/tslib.es6.js";import{strict as e}from"../../core/jsonMap.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{enumeration as t}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{r as i,w as c}from"../../chunks/persistableUrlUtils.js";var a;const n=e()({sphere:"sphere",cylinder:"cylinder",cube:"cube",cone:"cone",diamond:"diamond",tetrahedron:"tetrahedron",invertedCone:"inverted-cone"});let m=a=class extends o{clone(){return new a({href:this.href,primitive:this.primitive})}};r([s({type:String,json:{read:i,write:c}})],m.prototype,"href",void 0),r([t(n)],m.prototype,"primitive",void 0),m=a=r([p("esri.symbols.support.ObjectSymbol3DLayerResource")],m);const d="sphere",u=m;export{m as ObjectSymbol3DLayerResource,u as default,d as defaultPrimitive};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import{strict as e}from"../../core/jsonMap.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{enumeration as t}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{r as i,w as c}from"../../chunks/persistableUrlUtils.js";var n;const a=e()({sphere:"sphere",cylinder:"cylinder",cube:"cube",cone:"cone",diamond:"diamond",tetrahedron:"tetrahedron",invertedCone:"inverted-cone"});let m=n=class extends o{clone(){return new n({href:this.href,primitive:this.primitive})}};r([s({type:String,json:{read:i,write:c}})],m.prototype,"href",void 0),r([t(a)],m.prototype,"primitive",void 0),m=n=r([p("esri.symbols.support.ObjectSymbol3DLayerResource")],m);const d="sphere";export{m as ObjectSymbol3DLayerResource,d as defaultPrimitive};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";var e;let p=e=class extends o{constructor(){super(...arguments),this.x=0,this.y=0}clone(){return new e({x:this.x,y:this.y})}};r([s({type:Number})],p.prototype,"x",void 0),r([s({type:Number})],p.prototype,"y",void 0),p=e=r([t("esri.symbols.support.Symbol3DAnchorPosition2D")],p);const c=p;export{p as Symbol3DAnchorPosition2D,c as default};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";var e;let p=e=class extends o{constructor(){super(...arguments),this.x=0,this.y=0}clone(){return new e({x:this.x,y:this.y})}};r([s({type:Number})],p.prototype,"x",void 0),r([s({type:Number})],p.prototype,"y",void 0),p=e=r([t("esri.symbols.support.Symbol3DAnchorPosition2D")],p);export{p as Symbol3DAnchorPosition2D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";var e;let p=e=class extends r{constructor(){super(...arguments),this.x=0,this.y=0,this.z=0}clone(){return new e({x:this.x,y:this.y,z:this.z})}};o([s({type:Number})],p.prototype,"x",void 0),o([s({type:Number})],p.prototype,"y",void 0),o([s({type:Number})],p.prototype,"z",void 0),p=e=o([t("esri.symbols.support.Symbol3DAnchorPosition3D")],p);const c=p;export{p as Symbol3DAnchorPosition3D,c as default};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";var e;let p=e=class extends o{constructor(){super(...arguments),this.x=0,this.y=0,this.z=0}clone(){return new e({x:this.x,y:this.y,z:this.z})}};r([s({type:Number})],p.prototype,"x",void 0),r([s({type:Number})],p.prototype,"y",void 0),r([s({type:Number})],p.prototype,"z",void 0),p=e=r([t("esri.symbols.support.Symbol3DAnchorPosition3D")],p);export{p as Symbol3DAnchorPosition3D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import{isSome as r}from"../../core/maybe.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{enumeration as s}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import{Symbol3DMaterial as t}from"./Symbol3DMaterial.js";var c;let l=c=class extends t{constructor(o){super(o),this.colorMixMode=null}clone(){const o={color:r(this.color)?this.color.clone():null,colorMixMode:this.colorMixMode};return new c(o)}};o([s({multiply:"multiply",replace:"replace",tint:"tint"})],l.prototype,"colorMixMode",void 0),l=c=o([e("esri.symbols.support.Symbol3DFillMaterial")],l);const i=l;export{l as Symbol3DFillMaterial,i as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import{isSome as r}from"../../core/maybe.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{enumeration as s}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import{Symbol3DMaterial as t}from"./Symbol3DMaterial.js";var c;let l=c=class extends t{constructor(o){super(o),this.colorMixMode=null}clone(){const o={color:r(this.color)?this.color.clone():null,colorMixMode:this.colorMixMode};return new c(o)}};o([s({multiply:"multiply",replace:"replace",tint:"tint"})],l.prototype,"colorMixMode",void 0),l=c=o([e("esri.symbols.support.Symbol3DFillMaterial")],l);export{l as Symbol3DFillMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../Color.js";import{JSONSupport as s}from"../../core/JSONSupport.js";import{isSome as t}from"../../core/maybe.js";import{px2pt as e}from"../../core/screenUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as i,screenSizeProperty as m}from"./materialUtils.js";var l;let a=l=class extends s{constructor(o){super(o),this.color=new r([0,0,0,1]),this.size=e(1)}clone(){const o={color:t(this.color)?this.color.clone():null,size:this.size};return new l(o)}};o([c(i)],a.prototype,"color",void 0),o([c(m)],a.prototype,"size",void 0),a=l=o([p("esri.symbols.support.Symbol3DIconOutline")],a);const n=a;export{n as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../Color.js";import{JSONSupport as s}from"../../core/JSONSupport.js";import{isSome as t}from"../../core/maybe.js";import{px2pt as e}from"../../core/screenUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as i,screenSizeProperty as m}from"./materialUtils.js";var l;let a=l=class extends s{constructor(o){super(o),this.color=new r([0,0,0,1]),this.size=e(1)}clone(){const o={color:t(this.color)?this.color.clone():null,size:this.size};return new l(o)}};o([c(i)],a.prototype,"color",void 0),o([c(m)],a.prototype,"size",void 0),a=l=o([p("esri.symbols.support.Symbol3DIconOutline")],a);export{a as Symbol3DIconOutline};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import r from"../../Color.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{isSome as s}from"../../core/maybe.js";import{px2pt as e}from"../../core/screenUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{symbol3dLinePatternProperty as a}from"../patterns/utils.js";import{colorAndTransparencyProperty as c,screenSizeProperty as l}from"./materialUtils.js";import{lineCaps as n}from"./symbolLayerUtils3D.js";var m;let u=m=class extends o{constructor(t){super(t),this.color=new r([0,0,0,1]),this.size=e(1),this.pattern=null,this.patternCap="butt"}clone(){const t={color:s(this.color)?this.color.clone():null,size:this.size,pattern:s(this.pattern)?this.pattern.clone():null,patternCap:this.patternCap};return new m(t)}};t([p(c)],u.prototype,"color",void 0),t([p(l)],u.prototype,"size",void 0),t([p(a)],u.prototype,"pattern",void 0),t([p({type:n,json:{default:"butt",write:{overridePolicy(){return{enabled:s(this.pattern)}}}}})],u.prototype,"patternCap",void 0),u=m=t([i("esri.symbols.support.Symbol3DOutline")],u);const j=u;export{j as default};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import t from"../../Color.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{isSome as s}from"../../core/maybe.js";import{px2pt as e}from"../../core/screenUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{symbol3dLinePatternProperty as a}from"../patterns/utils.js";import{colorAndTransparencyProperty as c,screenSizeProperty as l}from"./materialUtils.js";import{lineCaps as n}from"./symbolLayerUtils3D.js";var m;let u=m=class extends o{constructor(r){super(r),this.color=new t([0,0,0,1]),this.size=e(1),this.pattern=null,this.patternCap="butt"}clone(){const r={color:s(this.color)?this.color.clone():null,size:this.size,pattern:s(this.pattern)?this.pattern.clone():null,patternCap:this.patternCap};return new m(r)}};r([p(c)],u.prototype,"color",void 0),r([p(l)],u.prototype,"size",void 0),r([p(a)],u.prototype,"pattern",void 0),r([p({type:n,json:{default:"butt",write:{overridePolicy(){return{enabled:s(this.pattern)}}}}})],u.prototype,"patternCap",void 0),u=m=r([i("esri.symbols.support.Symbol3DOutline")],u);export{u as Symbol3DOutline};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../chunks/tslib.es6.js";import{JSONSupport as e}from"../../core/JSONSupport.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{screenSizeProperty as s}from"./materialUtils.js";var p;let n=p=class extends e{constructor(){super(...arguments),this.screenLength=0,this.minWorldLength=0}clone(){return new p({screenLength:this.screenLength,minWorldLength:this.minWorldLength,maxWorldLength:this.maxWorldLength})}};r([o(s)],n.prototype,"screenLength",void 0),r([o({type:Number,json:{write:!0,default:0}})],n.prototype,"minWorldLength",void 0),r([o({type:Number,json:{write:!0}})],n.prototype,"maxWorldLength",void 0),n=p=r([t("esri.symbols.support.Symbol3DVerticalOffset")],n);const i=n;export{n as Symbol3DVerticalOffset,i as default};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import{JSONSupport as e}from"../../core/JSONSupport.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{screenSizeProperty as s}from"./materialUtils.js";var p;let i=p=class extends e{constructor(){super(...arguments),this.screenLength=0,this.minWorldLength=0}clone(){return new p({screenLength:this.screenLength,minWorldLength:this.minWorldLength,maxWorldLength:this.maxWorldLength})}};r([o(s)],i.prototype,"screenLength",void 0),r([o({type:Number,json:{write:!0,default:0}})],i.prototype,"minWorldLength",void 0),r([o({type:Number,json:{write:!0}})],i.prototype,"maxWorldLength",void 0),i=p=r([t("esri.symbols.support.Symbol3DVerticalOffset")],i);export{i as Symbol3DVerticalOffset};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";var t;let p=t=class extends o{clone(){return new t({url:this.url})}};r([s({type:String})],p.prototype,"url",void 0),p=t=r([e("esri.symbols.support.Thumbnail")],p);const c=p;export{p as Thumbnail,c as default};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";var t;let p=t=class extends o{clone(){return new t({url:this.url})}};r([s({type:String})],p.prototype,"url",void 0),p=t=r([e("esri.symbols.support.Thumbnail")],p);export{p as Thumbnail};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{px2pt as e}from"../../core/screenUtils.js";import{CIMSymbolRasterizer as t}from"../cim/CIMSymbolRasterizer.js";import{getCIMSymbolSize as i,scaleCIMSymbolTo as l}from"./cimSymbolUtils.js";import{SymbolSizeDefaults as a}from"./previewUtils.js";import{renderSymbol as o}from"./renderUtils.js";const s=new t(null,!0),n=a.maxSize;async function c(t,a={}){const{size:c,maxSize:r,node:m,opacity:f}=a,p=a.cimOptions||a,{feature:h,fieldMap:y,geometryType:d,style:u}=p,g=i(t),w=Math.min(null!=c?c:g,null!=r?r:e(n));w!==g&&(t=t.clone(),l(t,w,{preserveOutlineWidth:!0}));let M=3;t&&t.data&&t.data.symbol&&"CIMPointSymbol"!==t.data.symbol.type&&(M=1);const b=await s.rasterizeCIMSymbolAsync(t,h,y,d,{scaleFactor:M,style:u}),S=document.createElement("canvas");S.width=b.imageData.width,S.height=b.imageData.height;S.getContext("2d").putImageData(b.imageData,0,0);let j=S.width/M,v=S.height/M;if(null!=c&&(null==(null==a?void 0:a.scale)||(null==a?void 0:a.scale))){const e=j/v;j=e<=1?Math.ceil(w*e):w,v=e<=1?w:Math.ceil(w/e)}const x=new Image(j,v);x.src=S.toDataURL(),null!=f&&(x.style.opacity=`${f}`);let z=x;if(null!=a.effectView){const e={shape:{type:"image",x:0,y:0,width:j,height:v,src:x.src},fill:null,stroke:null,offset:[0,0]};z=o([[e]],[j,v],{effectView:a.effectView})}return m&&m.appendChild(z),z}export{c as previewCIMSymbol};
5
+ import{px2pt as e}from"../../core/screenUtils.js";import{CIMSymbolRasterizer as t}from"../cim/CIMSymbolRasterizer.js";import{getCIMSymbolSize as l,scaleCIMSymbolTo as i}from"./cimSymbolUtils.js";import{SymbolSizeDefaults as a}from"./previewUtils.js";import{renderSymbol as o}from"./renderUtils.js";const n=new t(null,!0),s=a.maxSize;async function r(t,a={}){const{size:r,maxSize:c,node:m,opacity:f}=a,p=a.cimOptions||a,{feature:u,fieldMap:y,geometryType:h,style:d}=p,g=l(t),w="number"==typeof r?r:null,b=Math.min(null!=w?w:g,null!=c?c:e(s));b!==g&&(t=t.clone(),i(t,b,{preserveOutlineWidth:!0}));let M=3;t&&t.data&&t.data.symbol&&"CIMPointSymbol"!==t.data.symbol.type&&(M=1);const S=await n.rasterizeCIMSymbolAsync(t,u,y,h,{scaleFactor:M,style:d}),j=document.createElement("canvas");j.width=S.imageData.width,j.height=S.imageData.height;j.getContext("2d").putImageData(S.imageData,0,0);let v=j.width/M,x=j.height/M;if(null!=r&&(null==(null==a?void 0:a.scale)||(null==a?void 0:a.scale))){const e=v/x;v=e<=1?Math.ceil(b*e):b,x=e<=1?b:Math.ceil(b/e)}const z=new Image(v,x);z.src=j.toDataURL(),null!=f&&(z.style.opacity=`${f}`);let C=z;if(null!=a.effectView){const e={shape:{type:"image",x:0,y:0,width:v,height:x,src:z.src},fill:null,stroke:null,offset:[0,0]};C=o([[e]],[v,x],{effectView:a.effectView})}return m&&m.appendChild(C),C}export{r as previewCIMSymbol};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Color.js";import t from"../../core/Error.js";import{pt2px as a,px2pt as l}from"../../core/screenUtils.js";import{getFill as n,getStroke as o,getPatternUrlWithColor as s}from"./gfxUtils.js";import{SymbolSizeDefaults as i,shapes as r,adjustColorBrightness as c}from"./previewUtils.js";import{renderSymbol as m}from"./renderUtils.js";const u="picture-fill",p="picture-marker",h="simple-fill",d="simple-line",f="simple-marker",v="text",y="Aa",w=i.size,g=i.maxSize,M=i.maxOutlineSize,b=i.lineWidth,x=document.createElement("canvas");function k(e,t){const a=x.getContext("2d"),l=[];return t&&(t.weight&&l.push(t.weight),t.size&&l.push(t.size+"px"),t.family&&l.push(t.family)),a.font=l.join(" "),a.measureText(e).width}const z=7.2/2.54,L=72/2.54;function j(e){if(0===e.length)return 0;if(e.length>2){const t=l(1),a=parseFloat(e);switch(e.slice(-2)){case"px":return a;case"pt":return a*t;case"in":return 72*a*t;case"pc":return 12*a*t;case"mm":return a*z*t;case"cm":return a*L*t}}return parseFloat(e)}function C(l,i){var x,z;const L=null!=(null==i?void 0:i.size)?a(i.size):null,C=null!=(null==i?void 0:i.maxSize)?a(i.maxSize):null,S=null!=(null==i?void 0:i.opacity)?i.opacity:null,F=null!=(null==i?void 0:i.rotation)?i.rotation:"angle"in l?l.angle:null,E=n(l);let P=o(l);if(E&&!P){const t="type"in E?null:new e(E);"#ffffff"===(t?t.toHex():null)&&(P={color:"#bdc3c7",width:.75})}const U={shape:null,fill:null,stroke:P,offset:[0,0]};null!=(x=P)&&x.width&&(P.width=Math.min(P.width,M));const q=(null==(z=P)?void 0:z.width)||0;let Z=null!=L&&(null==(null==i?void 0:i.scale)||(null==i?void 0:i.scale)),H=0,T=0,V=!1;switch(l.type){case f:{const e=l.style,t=Math.min(null!=L?L:a(l.size),C||g);switch(H=t,T=t,e){case"circle":U.shape={type:"circle",cx:0,cy:0,r:.5*t},Z||(H+=q,T+=q);break;case"cross":U.shape={type:"path",path:[{command:"M",values:[0,.5*T]},{command:"L",values:[H,.5*T]},{command:"M",values:[.5*H,0]},{command:"L",values:[.5*H,T]}]};break;case"diamond":U.shape={type:"path",path:[{command:"M",values:[0,.5*T]},{command:"L",values:[.5*H,0]},{command:"L",values:[H,.5*T]},{command:"L",values:[.5*H,T]},{command:"Z",values:[]}]},Z||(H+=q,T+=q);break;case"square":U.shape={type:"path",path:[{command:"M",values:[0,0]},{command:"L",values:[H,0]},{command:"L",values:[H,T]},{command:"L",values:[0,T]},{command:"Z",values:[]}]},Z||(H+=q,T+=q),F&&(V=!0);break;case"triangle":U.shape={type:"path",path:[{command:"M",values:[.5*H,0]},{command:"L",values:[H,T]},{command:"L",values:[0,T]},{command:"Z",values:[]}]},Z||(H+=q,T+=q),F&&(V=!0);break;case"x":U.shape={type:"path",path:[{command:"M",values:[0,0]},{command:"L",values:[H,T]},{command:"M",values:[H,0]},{command:"L",values:[0,T]}]},F&&(V=!0);break;case"path":U.shape={type:"path",path:l.path||""},Z||(H+=q,T+=q),F&&(V=!0),Z=!0}break}case d:{const e=Math.min(null!=L?L:q,C||M),t=e>w?2*e:b;P.width=e,H=t,T=e,U.shape={type:"path",path:[{command:"M",values:[0,T]},{command:"L",values:[H,T]}]};break}case u:case h:H=Math.min(null!=L?L:w,C||g)+q,T=H,Z=!0,U.shape="object"==typeof(null==i?void 0:i.symbolConfig)&&null!=i&&i.symbolConfig.isSquareFill?r.squareFill[0]:r.fill[0];break;case p:{let e=a(l.width),t=a(l.height);const n=null!=L?L:Math.max(e,t),o=e/t;e=o<=1?Math.ceil(n*o):n,t=o<=1?n:Math.ceil(n/o),H=Math.min(e,C||g),T=Math.min(t,C||g),U.shape={type:"image",x:-Math.round(H/2),y:-Math.round(T/2),width:H,height:T,src:l.url||""},F&&(V=!0);break}case v:{const e=l,t=e.text||y,n=e.font,o=Math.min(null!=L?L:a(n.size),C||g),s=k(t,{weight:n.weight,size:o,family:n.family}),i=/[\uE600-\uE6FF]/.test(t);H=i?o:s,T=o;let r=.25*j((n?o:0).toString());i&&(r+=5),U.shape={type:"text",text:t,x:0,y:r,align:"middle",decoration:n&&n.decoration,rotated:e.rotated,kerning:e.kerning},U.font=n&&{size:o,style:n.style,decoration:n.decoration,weight:n.weight,family:n.family};break}}if(!U.shape)return Promise.reject(new t("symbolPreview: renderPreviewHTML2D","symbol not supported."));const A=E,D=l.color;let O=null;return A&&"pattern"===A.type&&D&&l.type!==u?O=s(A.src,D.toCss(!0)).then((e=>(A.src=e,U.fill=A,U))):(U.fill=E,O=Promise.resolve(U)),O.then((e=>{const t=[[e]];if("object"==typeof(null==i?void 0:i.symbolConfig)&&null!=i&&i.symbolConfig.applyColorModulation){const a=.6*H;t.unshift([{...e,offset:[-a,0],fill:c(E,-.3)}]),t.push([{...e,offset:[a,0],fill:c(E,.3)}]),H+=2*a}return m(t,[H,T],{node:i&&i.node,scale:Z,opacity:S,rotation:F,useRotationSize:V,effectView:null==i?void 0:i.effectView})}))}export{C as previewSymbol2D};
5
+ import e from"../../Color.js";import t from"../../core/Error.js";import{pt2px as l,px2pt as a}from"../../core/screenUtils.js";import{getFill as n,getStroke as o,getPatternUrlWithColor as i}from"./gfxUtils.js";import{SymbolSizeDefaults as s,shapes as c,adjustColorBrightness as m}from"./previewUtils.js";import{renderSymbol as u}from"./renderUtils.js";const r="picture-fill",h="picture-marker",p="simple-fill",d="simple-line",f="simple-marker",v="text",y="Aa",w=s.size,g=s.maxSize,M=s.maxOutlineSize,b=s.lineWidth,x=document.createElement("canvas");function L(e,t){const l=x.getContext("2d"),a=[];return t&&(t.weight&&a.push(t.weight),t.size&&a.push(t.size+"px"),t.family&&a.push(t.family)),l.font=a.join(" "),l.measureText(e).width}const k=7.2/2.54,z=72/2.54;function j(e){if(0===e.length)return 0;if(e.length>2){const t=a(1),l=parseFloat(e);switch(e.slice(-2)){case"px":return l;case"pt":return l*t;case"in":return 72*l*t;case"pc":return 12*l*t;case"mm":return l*k*t;case"cm":return l*z*t}}return parseFloat(e)}function C(e){const t=null==e?void 0:e.size;return{width:null!=t&&"object"==typeof t&&"width"in t?l(t.width):null,height:null!=t&&"object"==typeof t&&"height"in t?l(t.height):null}}function S(a,s){var x,k;const z="number"==typeof(null==s?void 0:s.size)?null==s?void 0:s.size:null,S=null!=z?l(z):null,F=null!=(null==s?void 0:s.maxSize)?l(s.maxSize):null,E=null!=(null==s?void 0:s.opacity)?s.opacity:null,P=null!=(null==s?void 0:s.rotation)?s.rotation:"angle"in a?a.angle:null,U=n(a);let Z=o(a);if(U&&!Z){const t="type"in U?null:new e(U);"#ffffff"===(t?t.toHex():null)&&(Z={color:"#bdc3c7",width:.75})}const q={shape:null,fill:null,stroke:Z,offset:[0,0]};null!=(x=Z)&&x.width&&(Z.width=Math.min(Z.width,M));const H=(null==(k=Z)?void 0:k.width)||0;let T=null!=(null==s?void 0:s.size)&&(null==(null==s?void 0:s.scale)||(null==s?void 0:s.scale)),V=0,A=0,D=!1;switch(a.type){case f:{const e=a.style,t=Math.min(null!=S?S:l(a.size),F||g);switch(V=t,A=t,e){case"circle":q.shape={type:"circle",cx:0,cy:0,r:.5*t},T||(V+=H,A+=H);break;case"cross":q.shape={type:"path",path:[{command:"M",values:[0,.5*A]},{command:"L",values:[V,.5*A]},{command:"M",values:[.5*V,0]},{command:"L",values:[.5*V,A]}]};break;case"diamond":q.shape={type:"path",path:[{command:"M",values:[0,.5*A]},{command:"L",values:[.5*V,0]},{command:"L",values:[V,.5*A]},{command:"L",values:[.5*V,A]},{command:"Z",values:[]}]},T||(V+=H,A+=H);break;case"square":q.shape={type:"path",path:[{command:"M",values:[0,0]},{command:"L",values:[V,0]},{command:"L",values:[V,A]},{command:"L",values:[0,A]},{command:"Z",values:[]}]},T||(V+=H,A+=H),P&&(D=!0);break;case"triangle":q.shape={type:"path",path:[{command:"M",values:[.5*V,0]},{command:"L",values:[V,A]},{command:"L",values:[0,A]},{command:"Z",values:[]}]},T||(V+=H,A+=H),P&&(D=!0);break;case"x":q.shape={type:"path",path:[{command:"M",values:[0,0]},{command:"L",values:[V,A]},{command:"M",values:[V,0]},{command:"L",values:[0,A]}]},P&&(D=!0);break;case"path":q.shape={type:"path",path:a.path||""},T||(V+=H,A+=H),P&&(D=!0),T=!0}break}case d:{const{width:e,height:t}=C(s),l=null!=t?t:Math.min(null!=S?S:H,F||M),n=null!=e?e:l>w?2*l:b;Z.width=l,V=n,A=l;const o="round"===a.cap;q.shape={type:"path",path:[{command:"M",values:[o?l/2:0,A]},{command:"L",values:[o?V-l/2:V,A]}]};break}case r:case p:{const e="object"==typeof(null==s?void 0:s.symbolConfig)&&(null==s?void 0:s.symbolConfig.isSquareFill),{width:t,height:l}=C(s);V=e&&null!=t?Math.min(t,F||g):Math.min(null!=S?S:w,F||g),A=e&&null!=l?Math.min(l,F||g):V,T||(V+=H,A+=H),T=!0,q.shape=e?{type:"path",path:[{command:"M",values:[0,0]},{command:"L",values:[V,0]},{command:"L",values:[V,A]},{command:"L",values:[0,A]},{command:"L",values:[0,0]},{command:"Z",values:[]}]}:c.fill[0];break}case h:{let e=l(a.width),t=l(a.height);const n=null!=S?S:Math.max(e,t),o=e/t;e=o<=1?Math.ceil(n*o):n,t=o<=1?n:Math.ceil(n/o),V=Math.min(e,F||g),A=Math.min(t,F||g),q.shape={type:"image",x:-Math.round(V/2),y:-Math.round(A/2),width:V,height:A,src:a.url||""},P&&(D=!0);break}case v:{const e=a,t=e.text||y,n=e.font,o=Math.min(null!=S?S:l(n.size),F||g),i=L(t,{weight:n.weight,size:o,family:n.family}),s=/[\uE600-\uE6FF]/.test(t);V=s?o:i,A=o;let c=.25*j((n?o:0).toString());s&&(c+=5),q.shape={type:"text",text:t,x:0,y:c,align:"middle",decoration:n&&n.decoration,rotated:e.rotated,kerning:e.kerning},q.font=n&&{size:o,style:n.style,decoration:n.decoration,weight:n.weight,family:n.family};break}}if(!q.shape)return Promise.reject(new t("symbolPreview: renderPreviewHTML2D","symbol not supported."));const O=U,R=a.color;let W=null;return O&&"pattern"===O.type&&R&&a.type!==r?W=i(O.src,R.toCss(!0)).then((e=>(O.src=e,q.fill=O,q))):(q.fill=U,W=Promise.resolve(q)),W.then((e=>{const t=[[e]];if("object"==typeof(null==s?void 0:s.symbolConfig)&&null!=s&&s.symbolConfig.applyColorModulation){const l=.6*V;t.unshift([{...e,offset:[-l,0],fill:m(U,-.3)}]),t.push([{...e,offset:[l,0],fill:m(U,.3)}]),V+=2*l,T=!1}return u(t,[V,A],{node:s&&s.node,scale:T,opacity:E,rotation:P,useRotationSize:D,effectView:null==s?void 0:s.effectView})}))}export{S as previewSymbol2D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{getAssetUrl as e}from"../../assets.js";import{toHSV as t,toRGB as s}from"../../core/colorUtils.js";import"../../core/has.js";import r from"../../core/Error.js";import a from"../../core/Logger.js";import{isNone as o,isSome as n}from"../../core/maybe.js";import{eachAlways as l}from"../../core/promiseUtils.js";import{pt2px as i}from"../../core/screenUtils.js";import{defaultThematicColor as c,getPatternUrlWithColor as p,dekebabifyLineStyle as u}from"./gfxUtils.js";import{defaultPrimitive as h}from"./IconSymbol3DLayerResource.js";import{defaultPrimitive as m}from"./ObjectSymbol3DLayerResource.js";import{SymbolSizeDefaults as f,adjustColorComponentBrightness as y,getPathSymbolShapes as d,shapes as b,getExtrudeSymbolShapes as v,getTetrahedronShapes as g,getDiamondShapes as k,getCylinderShapes as w,getCubeShapes as x,getInvertedConeShapes as M,getConeShapes as j,getWaterSymbolShapes as L}from"./previewUtils.js";import{renderSymbol as z,tintImageWithColor as S}from"./renderUtils.js";import{isVolumetricSymbol as P,getIconHref as U}from"./utils.js";import{resolveWebStyleSymbol as D}from"./webStyleSymbolUtils.js";const O=f.size,C=f.maxSize,I=f.maxOutlineSize,R=f.lineWidth,E=f.tallSymbolWidth,Z=a.getLogger("esri.symbols.support.previewSymbol3D");function q(e){const t=e.outline,s=n(e.material)?e.material.color:null,r=n(s)?s.toHex():null;if(o(t)||"pattern"in t&&n(t.pattern)&&"style"===t.pattern.type&&"none"===t.pattern.style)return"fill"===e.type&&"#ffffff"===r?{color:"#bdc3c7",width:.75}:null;const a=i(t.size)||0;return{color:"rgba("+(n(t.color)?t.color.toRgba():"255,255,255,1")+")",width:Math.min(a,I),style:"pattern"in t&&n(t.pattern)&&"style"===t.pattern.type?u(t.pattern.style):null,join:"butt",cap:"patternCap"in t?t.patternCap:"butt"}}function A(t,s){const r=s&&s.resource,a=r&&r.href;if(t.thumbnail&&t.thumbnail.url)return Promise.resolve(t.thumbnail.url);if(a&&"object"!==s.type)return Promise.resolve(U(t,s));const o=e("esri/images/Legend/legend3dsymboldefault.png");return t.styleOrigin&&(t.styleOrigin.styleName||t.styleOrigin.styleUrl)?D(t.styleOrigin,{portal:t.styleOrigin.portal},"webRef").catch((e=>e)).then((e=>{var t;return(null==e||null==(t=e.thumbnail)?void 0:t.url)||o})):Promise.resolve(o)}function H(e,r=1){const a=e.a,o=t(e),n=o.h,l=o.s/r,i=100-(100-o.v)/r,{r:c,g:p,b:u}=s({h:n,s:l,v:i});return[c,p,u,a]}function N(e){return"water"===e.type?o(e.color)?null:e.color:o(e.material)||o(e.material.color)?null:e.material.color}function T(e,t=0){const s=N(e);if(!s){if("fill"===e.type)return null;const s=c.r,r=y(s,t);return[r,r,r,100]}const r=s.toRgba();for(let a=0;a<3;a++)r[a]=y(r[a],t);return r}async function W(t,s){const r=t.style;if("none"===r)return null;return{type:"pattern",x:0,y:0,src:await p(e(`esri/symbols/patterns/${r}.png`),s.toCss(!0)),width:5,height:5}}function $(e){return e.outline?q(e):{color:"rgba(0, 0, 0, 1)",width:1.5}}function B(e,t){const s=N(e);if(!s)return null;let r="rgba(";return r+=y(s.r,t)+",",r+=y(s.g,t)+",",r+=y(s.b,t)+",",r+s.a+");"}function F(e,t){const s=B(e,t);if(!s)return{};if("pattern"in e&&n(e.pattern)&&"style"===e.pattern.type&&"none"===e.pattern.style)return null;return{color:s,width:Math.min(e.size?i(e.size):.75,I),style:"pattern"in e&&n(e.pattern)&&"style"===e.pattern.type?u(e.pattern.style):null,cap:"cap"in e?e.cap:null,join:"join"in e?"miter"===e.join?i(2):e.join:null}}function G(e,t,s){const r=.75*s;return{type:"linear",x1:r?.25*r:0,y1:r?.5*r:0,x2:r||4,y2:r?.5*r:4,colors:[{color:e,offset:0},{color:t,offset:1}]}}function J(e){const t=e.depth,s=e.height,r=e.width;return r&&t&&s&&r===t&&r<s}function K(e,t,s){const r=[];if(!e)return r;switch(e.type){case"icon":{const s=0,a=0,o=t,n=t;switch(e.resource&&e.resource.primitive||h){case"circle":r.push({shape:{type:"circle",cx:0,cy:0,r:.5*t},fill:T(e,0),stroke:q(e)});break;case"square":r.push({shape:{type:"path",path:[{command:"M",values:[s,n]},{command:"L",values:[s,a]},{command:"L",values:[o,a]},{command:"L",values:[o,n]},{command:"Z",values:[]}]},fill:T(e,0),stroke:q(e)});break;case"triangle":r.push({shape:{type:"path",path:[{command:"M",values:[s,n]},{command:"L",values:[.5*o,a]},{command:"L",values:[o,n]},{command:"Z",values:[]}]},fill:T(e,0),stroke:q(e)});break;case"cross":r.push({shape:{type:"path",path:[{command:"M",values:[.5*o,a]},{command:"L",values:[.5*o,n]},{command:"M",values:[s,.5*n]},{command:"L",values:[o,.5*n]}]},stroke:$(e)});break;case"x":r.push({shape:{type:"path",path:[{command:"M",values:[s,a]},{command:"L",values:[o,n]},{command:"M",values:[o,a]},{command:"L",values:[s,n]}]},stroke:$(e)});break;case"kite":r.push({shape:{type:"path",path:[{command:"M",values:[s,.5*n]},{command:"L",values:[.5*o,a]},{command:"L",values:[o,.5*n]},{command:"L",values:[.5*o,n]},{command:"Z",values:[]}]},fill:T(e,0),stroke:q(e)})}break}case"object":switch(e.resource&&e.resource.primitive||m){case"cone":{const a=G(T(e,0),T(e,-.6),s?E:t),o=j(t,s);r.push({shape:o[0],fill:a}),r.push({shape:o[1],fill:a});break}case"inverted-cone":{const s=T(e,0),a=G(s,T(e,-.6),t),o=M(t);r.push({shape:o[0],fill:a}),r.push({shape:o[1],fill:s});break}case"cube":{const a=x(t,s);r.push({shape:a[0],fill:T(e,0)}),r.push({shape:a[1],fill:T(e,-.3)}),r.push({shape:a[2],fill:T(e,-.5)});break}case"cylinder":{const a=G(T(e,0),T(e,-.6),s?E:t),o=w(t,s);r.push({shape:o[0],fill:a}),r.push({shape:o[1],fill:a}),r.push({shape:o[2],fill:T(e,0)});break}case"diamond":{const s=k(t);r.push({shape:s[0],fill:T(e,-.3)}),r.push({shape:s[1],fill:T(e,0)}),r.push({shape:s[2],fill:T(e,-.3)}),r.push({shape:s[3],fill:T(e,-.7)});break}case"sphere":{const s=G(T(e,0),T(e,-.6));s.x1=0,s.y1=0,s.x2=.25*t,s.y2=.25*t,r.push({shape:{type:"circle",cx:0,cy:0,r:.5*t},fill:s});break}case"tetrahedron":{const s=g(t);r.push({shape:s[0],fill:T(e,-.3)}),r.push({shape:s[1],fill:T(e,0)}),r.push({shape:s[2],fill:T(e,-.6)});break}}break}return r}function Q(e){return"icon"===e.type?"multiply":"tint"}function V(e,t){const s=t&&t.size?i(t.size):null,r=t&&t.maxSize?i(t.maxSize):null,a=t&&t.disableUpsampling,o=e.symbolLayers,n=[];let c=0,p=0;const u=o.getItemAt(o.length-1);let h;return u&&"icon"===u.type&&(h=u.size&&i(u.size)),o.forEach((o=>{if("icon"!==o.type&&"object"!==o.type)return;const l="icon"===o.type?o.size&&i(o.size):0,u=s||l?Math.ceil(Math.min(s||l,r||C)):O;if(o&&o.resource&&o.resource.href){const t=A(e,o).then((function(e){const t=o.get("material.color"),s=Q(o);return S(e,u,t,s,a)})).then((function(e){const t=e.width,s=e.height;return c=Math.max(c,t),p=Math.max(p,s),[{shape:{type:"image",x:0,y:0,width:t,height:s,src:e.url},fill:null,stroke:null}]}));n.push(t)}else{var m;let e=u;"icon"===o.type&&h&&s&&(e=u*(l/h));const r="tall"===(null==t?void 0:t.symbolConfig)||(null==t||null==(m=t.symbolConfig)?void 0:m.isTall)||"object"===o.type&&J(o);c=Math.max(c,r?E:e),p=Math.max(p,e),n.push(Promise.resolve(K(o,e,r)))}})),l(n).then((function(e){const s=[];return e.forEach((function(e){e.value?s.push(e.value):e.error&&Z.warn("error while building swatchInfo!",e.error)})),z(s,[c,p],{node:t&&t.node,scale:!1,opacity:t&&t.opacity})}))}function X(e,t){const s=e.symbolLayers,r=[],a=P(e),n=t&&t.size?i(t.size):null,l=(t&&t.maxSize?i(t.maxSize):null)||I;let c,p=0,u=0;return s.forEach(((e,t)=>{if(!e)return;if("line"!==e.type&&"path"!==e.type)return;const s=[];switch(e.type){case"line":{const r=F(e,0);if(o(r))break;const a=r&&r.width||0;0===t&&(c=a);const i=Math.min(n||a,l),h=0===t?i:n?i*(a/c):i,m=h>R/2?2*h:R;u=Math.max(u,h),p=Math.max(p,m),r.width=h,s.push({shape:{type:"path",path:[{command:"M",values:[0,.5*u]},{command:"L",values:[p,.5*u]}]},stroke:r});break}case"path":{const t=Math.min(n||O,l),r=T(e,0),a=T(e,-.2),o=B(e,-.4),i=o?{color:o,width:1}:{};if("quad"===e.profile){const t=e.width,o=e.height,n=d(t&&o?t/o:1,0===o,0===t),l={...i,join:"bevel"};s.push({shape:n[0],fill:a,stroke:l}),s.push({shape:n[1],fill:a,stroke:l}),s.push({shape:n[2],fill:r,stroke:l})}else s.push({shape:b.pathSymbol3DLayer[0],fill:a,stroke:i}),s.push({shape:b.pathSymbol3DLayer[1],fill:r,stroke:i});u=Math.max(u,t),p=u}}r.push(s)})),Promise.resolve(z(r,[p,u],{node:t&&t.node,scale:a,opacity:t&&t.opacity}))}async function Y(e,t){const s="mesh-3d"===e.type,r=e.symbolLayers,a=t&&t.size?i(t.size):null,l=t&&t.maxSize?i(t.maxSize):null,c=a||O,p=[];let u=0,h=0,m=!1;for(let i=0;i<r.length;i++){const e=r.getItemAt(i),t=[];if(s&&"fill"!==e.type)continue;const a=b.fill[0];switch(e.type){case"fill":{const r=q(e),o=Math.min(c,l||C);u=Math.max(u,o),h=Math.max(h,o),m=!0;let i=T(e,0);const p="pattern"in e&&e.pattern,f=N(e);!s&&n(p)&&"style"===p.type&&"solid"!==p.style&&f&&(i=await W(p,f)),t.push({shape:a,fill:i,stroke:r});break}case"line":{const s=F(e,0);if(o(s))break;const r={stroke:s,shape:a};u=Math.max(u,O),h=Math.max(h,O),t.push(r);break}case"extrude":{const s={join:"round",width:1,...F(e,-.4)},r=T(e,0),a=T(e,-.2),o=Math.min(c,l||C),n=v(o);s.width=1,t.push({shape:n[0],fill:a,stroke:s}),t.push({shape:n[1],fill:a,stroke:s}),t.push({shape:n[2],fill:r,stroke:s});const i=O,p=.7*O+.5*o;u=Math.max(u,i),h=Math.max(h,p);break}case"water":{const s=N(e),r=H(s),a=H(s,2),o=H(s,3),n=L();m=!0,t.push({shape:n[0],fill:r}),t.push({shape:n[1],fill:a}),t.push({shape:n[2],fill:o});const i=Math.min(c,l||C);u=Math.max(u,i),h=Math.max(h,i);break}}p.push(t)}return Promise.resolve(z(p,[u,h],{node:t&&t.node,scale:m,opacity:t&&t.opacity}))}function _(e,t){if(0===e.symbolLayers.length)return Promise.reject(new r("symbolPreview: renderPreviewHTML3D","No symbolLayers in the symbol."));switch(e.type){case"point-3d":return V(e,t);case"line-3d":return X(e,t);case"polygon-3d":case"mesh-3d":return Y(e,t)}return Promise.reject(new r("symbolPreview: swatchInfo3D","symbol not supported."))}export{W as getPatternDescriptor,T as getSymbolLayerFill,_ as previewSymbol3D};
5
+ import{getAssetUrl as e}from"../../assets.js";import{toHSV as t,toRGB as s}from"../../core/colorUtils.js";import"../../core/has.js";import r from"../../core/Error.js";import o from"../../core/Logger.js";import{isNone as n,isSome as a}from"../../core/maybe.js";import{eachAlways as l}from"../../core/promiseUtils.js";import{pt2px as i}from"../../core/screenUtils.js";import{defaultThematicColor as c,getPatternUrlWithColor as p,dekebabifyLineStyle as u}from"./gfxUtils.js";import{defaultPrimitive as h}from"./IconSymbol3DLayerResource.js";import{defaultPrimitive as m}from"./ObjectSymbol3DLayerResource.js";import{SymbolSizeDefaults as f,adjustColorComponentBrightness as y,getPathSymbolShapes as d,shapes as b,getExtrudeSymbolShapes as v,getTetrahedronShapes as g,getDiamondShapes as k,getCylinderShapes as w,getCubeShapes as x,getInvertedConeShapes as M,getConeShapes as j,getWaterSymbolShapes as L}from"./previewUtils.js";import{renderSymbol as z,tintImageWithColor as S}from"./renderUtils.js";import{isVolumetricSymbol as P,getIconHref as U}from"./utils.js";import{resolveWebStyleSymbol as D}from"./webStyleSymbolUtils.js";const O=f.size,C=f.maxSize,I=f.maxOutlineSize,R=f.lineWidth,E=f.tallSymbolWidth,Z=o.getLogger("esri.symbols.support.previewSymbol3D");function q(e){const t=e.outline,s=a(e.material)?e.material.color:null,r=a(s)?s.toHex():null;if(n(t)||"pattern"in t&&a(t.pattern)&&"style"===t.pattern.type&&"none"===t.pattern.style)return"fill"===e.type&&"#ffffff"===r?{color:"#bdc3c7",width:.75}:null;const o=i(t.size)||0;return{color:"rgba("+(a(t.color)?t.color.toRgba():"255,255,255,1")+")",width:Math.min(o,I),style:"pattern"in t&&a(t.pattern)&&"style"===t.pattern.type?u(t.pattern.style):null,join:"butt",cap:"patternCap"in t?t.patternCap:"butt"}}function A(t,s){const r=s&&s.resource,o=r&&r.href;if(t.thumbnail&&t.thumbnail.url)return Promise.resolve(t.thumbnail.url);if(o&&"object"!==s.type)return Promise.resolve(U(t,s));const n=e("esri/images/Legend/legend3dsymboldefault.png");return t.styleOrigin&&(t.styleOrigin.styleName||t.styleOrigin.styleUrl)?D(t.styleOrigin,{portal:t.styleOrigin.portal},"webRef").catch((e=>e)).then((e=>{var t;return(null==e||null==(t=e.thumbnail)?void 0:t.url)||n})):Promise.resolve(n)}function H(e,r=1){const o=e.a,n=t(e),a=n.h,l=n.s/r,i=100-(100-n.v)/r,{r:c,g:p,b:u}=s({h:a,s:l,v:i});return[c,p,u,o]}function N(e){return"water"===e.type?n(e.color)?null:e.color:n(e.material)||n(e.material.color)?null:e.material.color}function T(e,t=0){const s=N(e);if(!s){if("fill"===e.type)return null;const s=c.r,r=y(s,t);return[r,r,r,100]}const r=s.toRgba();for(let o=0;o<3;o++)r[o]=y(r[o],t);return r}async function W(t,s){const r=t.style;if("none"===r)return null;return{type:"pattern",x:0,y:0,src:await p(e(`esri/symbols/patterns/${r}.png`),s.toCss(!0)),width:5,height:5}}function $(e){return e.outline?q(e):{color:"rgba(0, 0, 0, 1)",width:1.5}}function B(e,t){const s=N(e);if(!s)return null;let r="rgba(";return r+=y(s.r,t)+",",r+=y(s.g,t)+",",r+=y(s.b,t)+",",r+s.a+");"}function F(e,t){const s=B(e,t);if(!s)return{};if("pattern"in e&&a(e.pattern)&&"style"===e.pattern.type&&"none"===e.pattern.style)return null;return{color:s,width:Math.min(e.size?i(e.size):.75,I),style:"pattern"in e&&a(e.pattern)&&"style"===e.pattern.type?u(e.pattern.style):null,cap:"cap"in e?e.cap:null,join:"join"in e?"miter"===e.join?i(2):e.join:null}}function G(e,t,s){const r=.75*s;return{type:"linear",x1:r?.25*r:0,y1:r?.5*r:0,x2:r||4,y2:r?.5*r:4,colors:[{color:e,offset:0},{color:t,offset:1}]}}function J(e){const t=e.depth,s=e.height,r=e.width;return r&&t&&s&&r===t&&r<s}function K(e,t,s){const r=[];if(!e)return r;switch(e.type){case"icon":{const s=0,o=0,n=t,a=t;switch(e.resource&&e.resource.primitive||h){case"circle":r.push({shape:{type:"circle",cx:0,cy:0,r:.5*t},fill:T(e,0),stroke:q(e)});break;case"square":r.push({shape:{type:"path",path:[{command:"M",values:[s,a]},{command:"L",values:[s,o]},{command:"L",values:[n,o]},{command:"L",values:[n,a]},{command:"Z",values:[]}]},fill:T(e,0),stroke:q(e)});break;case"triangle":r.push({shape:{type:"path",path:[{command:"M",values:[s,a]},{command:"L",values:[.5*n,o]},{command:"L",values:[n,a]},{command:"Z",values:[]}]},fill:T(e,0),stroke:q(e)});break;case"cross":r.push({shape:{type:"path",path:[{command:"M",values:[.5*n,o]},{command:"L",values:[.5*n,a]},{command:"M",values:[s,.5*a]},{command:"L",values:[n,.5*a]}]},stroke:$(e)});break;case"x":r.push({shape:{type:"path",path:[{command:"M",values:[s,o]},{command:"L",values:[n,a]},{command:"M",values:[n,o]},{command:"L",values:[s,a]}]},stroke:$(e)});break;case"kite":r.push({shape:{type:"path",path:[{command:"M",values:[s,.5*a]},{command:"L",values:[.5*n,o]},{command:"L",values:[n,.5*a]},{command:"L",values:[.5*n,a]},{command:"Z",values:[]}]},fill:T(e,0),stroke:q(e)})}break}case"object":switch(e.resource&&e.resource.primitive||m){case"cone":{const o=G(T(e,0),T(e,-.6),s?E:t),n=j(t,s);r.push({shape:n[0],fill:o}),r.push({shape:n[1],fill:o});break}case"inverted-cone":{const s=T(e,0),o=G(s,T(e,-.6),t),n=M(t);r.push({shape:n[0],fill:o}),r.push({shape:n[1],fill:s});break}case"cube":{const o=x(t,s);r.push({shape:o[0],fill:T(e,0)}),r.push({shape:o[1],fill:T(e,-.3)}),r.push({shape:o[2],fill:T(e,-.5)});break}case"cylinder":{const o=G(T(e,0),T(e,-.6),s?E:t),n=w(t,s);r.push({shape:n[0],fill:o}),r.push({shape:n[1],fill:o}),r.push({shape:n[2],fill:T(e,0)});break}case"diamond":{const s=k(t);r.push({shape:s[0],fill:T(e,-.3)}),r.push({shape:s[1],fill:T(e,0)}),r.push({shape:s[2],fill:T(e,-.3)}),r.push({shape:s[3],fill:T(e,-.7)});break}case"sphere":{const s=G(T(e,0),T(e,-.6));s.x1=0,s.y1=0,s.x2=.25*t,s.y2=.25*t,r.push({shape:{type:"circle",cx:0,cy:0,r:.5*t},fill:s});break}case"tetrahedron":{const s=g(t);r.push({shape:s[0],fill:T(e,-.3)}),r.push({shape:s[1],fill:T(e,0)}),r.push({shape:s[2],fill:T(e,-.6)});break}}break}return r}function Q(e){const t="number"==typeof(null==e?void 0:e.size)?null==e?void 0:e.size:null;return t?i(t):null}function V(e){return"icon"===e.type?"multiply":"tint"}function X(e,t){const s=Q(t),r=t&&t.maxSize?i(t.maxSize):null,o=t&&t.disableUpsampling,n=e.symbolLayers,a=[];let c=0,p=0;const u=n.getItemAt(n.length-1);let h;return u&&"icon"===u.type&&(h=u.size&&i(u.size)),n.forEach((n=>{if("icon"!==n.type&&"object"!==n.type)return;const l="icon"===n.type?n.size&&i(n.size):0,u=s||l?Math.ceil(Math.min(s||l,r||C)):O;if(n&&n.resource&&n.resource.href){const t=A(e,n).then((function(e){const t=n.get("material.color"),s=V(n);return S(e,u,t,s,o)})).then((function(e){const t=e.width,s=e.height;return c=Math.max(c,t),p=Math.max(p,s),[{shape:{type:"image",x:0,y:0,width:t,height:s,src:e.url},fill:null,stroke:null}]}));a.push(t)}else{var m;let e=u;"icon"===n.type&&h&&s&&(e=u*(l/h));const r="tall"===(null==t?void 0:t.symbolConfig)||(null==t||null==(m=t.symbolConfig)?void 0:m.isTall)||"object"===n.type&&J(n);c=Math.max(c,r?E:e),p=Math.max(p,e),a.push(Promise.resolve(K(n,e,r)))}})),l(a).then((function(e){const s=[];return e.forEach((function(e){e.value?s.push(e.value):e.error&&Z.warn("error while building swatchInfo!",e.error)})),z(s,[c,p],{node:t&&t.node,scale:!1,opacity:t&&t.opacity})}))}function Y(e,t){const s=e.symbolLayers,r=[],o=P(e),a=Q(t),l=(t&&t.maxSize?i(t.maxSize):null)||I;let c,p=0,u=0;return s.forEach(((e,t)=>{if(!e)return;if("line"!==e.type&&"path"!==e.type)return;const s=[];switch(e.type){case"line":{const r=F(e,0);if(n(r))break;const o=r&&r.width||0;0===t&&(c=o);const i=Math.min(a||o,l),h=0===t?i:a?i*(o/c):i,m=h>R/2?2*h:R;u=Math.max(u,h),p=Math.max(p,m),r.width=h,s.push({shape:{type:"path",path:[{command:"M",values:[0,.5*u]},{command:"L",values:[p,.5*u]}]},stroke:r});break}case"path":{const t=Math.min(a||O,l),r=T(e,0),o=T(e,-.2),n=B(e,-.4),i=n?{color:n,width:1}:{};if("quad"===e.profile){const t=e.width,n=e.height,a=d(t&&n?t/n:1,0===n,0===t),l={...i,join:"bevel"};s.push({shape:a[0],fill:o,stroke:l}),s.push({shape:a[1],fill:o,stroke:l}),s.push({shape:a[2],fill:r,stroke:l})}else s.push({shape:b.pathSymbol3DLayer[0],fill:o,stroke:i}),s.push({shape:b.pathSymbol3DLayer[1],fill:r,stroke:i});u=Math.max(u,t),p=u}}r.push(s)})),Promise.resolve(z(r,[p,u],{node:t&&t.node,scale:o,opacity:t&&t.opacity}))}async function _(e,t){const s="mesh-3d"===e.type,r=e.symbolLayers,o=Q(t),l=t&&t.maxSize?i(t.maxSize):null,c=o||O,p=[];let u=0,h=0,m=!1;for(let i=0;i<r.length;i++){const e=r.getItemAt(i),t=[];if(s&&"fill"!==e.type)continue;const o=b.fill[0];switch(e.type){case"fill":{const r=q(e),n=Math.min(c,l||C);u=Math.max(u,n),h=Math.max(h,n),m=!0;let i=T(e,0);const p="pattern"in e&&e.pattern,f=N(e);!s&&a(p)&&"style"===p.type&&"solid"!==p.style&&f&&(i=await W(p,f)),t.push({shape:o,fill:i,stroke:r});break}case"line":{const s=F(e,0);if(n(s))break;const r={stroke:s,shape:o};u=Math.max(u,O),h=Math.max(h,O),t.push(r);break}case"extrude":{const s={join:"round",width:1,...F(e,-.4)},r=T(e,0),o=T(e,-.2),n=Math.min(c,l||C),a=v(n);s.width=1,t.push({shape:a[0],fill:o,stroke:s}),t.push({shape:a[1],fill:o,stroke:s}),t.push({shape:a[2],fill:r,stroke:s});const i=O,p=.7*O+.5*n;u=Math.max(u,i),h=Math.max(h,p);break}case"water":{const s=N(e),r=H(s),o=H(s,2),n=H(s,3),a=L();m=!0,t.push({shape:a[0],fill:r}),t.push({shape:a[1],fill:o}),t.push({shape:a[2],fill:n});const i=Math.min(c,l||C);u=Math.max(u,i),h=Math.max(h,i);break}}p.push(t)}return Promise.resolve(z(p,[u,h],{node:t&&t.node,scale:m,opacity:t&&t.opacity}))}function ee(e,t){if(0===e.symbolLayers.length)return Promise.reject(new r("symbolPreview: renderPreviewHTML3D","No symbolLayers in the symbol."));switch(e.type){case"point-3d":return X(e,t);case"line-3d":return Y(e,t);case"polygon-3d":case"mesh-3d":return _(e,t)}return Promise.reject(new r("symbolPreview: swatchInfo3D","symbol not supported."))}export{W as getPatternDescriptor,Q as getSizeFromOptions,T as getSymbolLayerFill,ee as previewSymbol3D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../request.js";import{pt2px as e}from"../../core/screenUtils.js";import{SymbolSizeDefaults as i}from"./previewUtils.js";function n(e,i,n){const s=e.thumbnail&&e.thumbnail.url;return s?t(s,{responseType:"image"}).then((t=>{const e=h(t.data,n);return n&&n.node?(n.node.appendChild(e),n.node):e})):e.fetchSymbol().then((t=>i(t,n)))}function h(t,n){const h=!/\\.svg$/i.test(t.src)&&n&&n.disableUpsampling,s=Math.max(t.width,t.height);let o=n&&null!=n.maxSize?e(n.maxSize):i.maxSize;h&&(o=Math.min(s,o));const r=Math.min(o,n&&null!=n.size?e(n.size):s);if(r!==s){const e=0!==t.width&&0!==t.height?t.width/t.height:1;e>=1?(t.width=r,t.height=r/e):(t.width=r*e,t.height=r)}return t}export{n as previewWebStyleSymbol};
5
+ import t from"../../request.js";import{pt2px as e}from"../../core/screenUtils.js";import{SymbolSizeDefaults as i}from"./previewUtils.js";function n(e,i,n){const o=e.thumbnail&&e.thumbnail.url;return o?t(o,{responseType:"image"}).then((t=>{const e=h(t.data,n);return n&&n.node?(n.node.appendChild(e),n.node):e})):e.fetchSymbol().then((t=>i(t,n)))}function h(t,n){const h=!/\\.svg$/i.test(t.src)&&n&&n.disableUpsampling,o=Math.max(t.width,t.height);let r=n&&null!=n.maxSize?e(n.maxSize):i.maxSize;h&&(r=Math.min(o,r));const s="number"==typeof(null==n?void 0:n.size)?null==n?void 0:n.size:null,l=Math.min(r,null!=s?e(s):o);if(l!==o){const e=0!==t.width&&0!==t.height?t.width/t.height:1;e>=1?(t.width=l,t.height=l/e):(t.width=l*e,t.height=l)}return t}export{n as previewWebStyleSymbol};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../Color.js";import e from"../../core/has.js";import{c as i}from"../../chunks/mat2df32.js";import{m as r,t as o,c as n,s,r as l}from"../../chunks/mat2d.js";import"../../widgets/support/widgetUtils.js";import"../../core/Logger.js";import{tsx as a}from"../../widgets/support/jsxFactory.js";const h="http://www.w3.org/2000/svg";let c=0,f=0;const d=e("android"),u=e("chrome")||d&&d>=4?"auto":"optimizeLegibility",y={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7,z:0},p=/([A-DF-Za-df-z])|([-+]?\d*[.]?\d+(?:[eE][-+]?\d+)?)/g;let g={},x={};const m={solid:"none",shortdash:[4,1],shortdot:[1,1],shortdashdot:[4,1,1,1],shortdashdotdot:[4,1,1,1,1,1],dot:[1,3],dash:[4,3],longdash:[8,3],dashdot:[4,3,1,3],longdashdot:[8,3,1,3],longdashdotdot:[8,3,1,3,1,3]},w=Math.PI;let k=1;function b(t,e){const i=t*(w/180);return Math.abs(e*Math.sin(i))+Math.abs(e*Math.cos(i))}function v(t){return t.map((t=>`${t.command} ${t.values.join(" ")}`)).join(" ").trim()}function j(t,e,i,r){if(t){if("circle"===t.type)return a("circle",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4",cx:t.cx,cy:t.cy,r:t.r});if("ellipse"===t.type)return a("ellipse",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4",cx:t.cx,cy:t.cy,rx:t.rx,ry:t.ry});if("rect"===t.type)return a("rect",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4",x:t.x,y:t.y,width:t.width,height:t.height});if("image"===t.type)return a("image",{href:t.src,x:t.x,y:t.y,width:t.width,height:t.height,preserveAspectRatio:"none"});if("path"===t.type){const r="string"!=typeof t.path?v(t.path):t.path;return a("path",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4",d:r})}if("text"===t.type)return a("text",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4","text-anchor":r.align,"text-decoration":r.decoration,kerning:r.kerning,rotate:r.rotate,"text-rendering":u,"font-style":r.font.style,"font-variant":r.font.variant,"font-weight":r.font.weight,"font-size":r.font.size,"font-family":r.font.family,x:t.x,y:t.y},t.text)}return null}function M(e){const i={fill:"none",pattern:null,linearGradient:null};if(e)if("type"in e&&"pattern"===e.type){const t="patternId-"+ ++c;i.fill=`url(#${t})`,i.pattern={id:t,x:e.x,y:e.y,width:e.width,height:e.height,image:{x:0,y:0,width:e.width,height:e.height,href:e.src}}}else if("type"in e&&"linear"===e.type){const r="linearGradientId-"+ ++f;i.fill=`url(#${r})`,i.linearGradient={id:r,x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stops:e.colors.map((e=>({offset:e.offset,color:e.color&&new t(e.color).toString()})))}}else if(e){const r=new t(e);i.fill=r.toString()}return i}function A(e){const i={color:"none",width:1,cap:"butt",join:"4",dashArray:"none"};if(e&&(null!=e.width&&(i.width=e.width),e.cap&&(i.cap=e.cap),e.join&&(i.join=e.join.toString()),e.color&&(i.color=new t(e.color).toString()),e.style)){let t=null;if(e.style in m&&(t=m[e.style]),Array.isArray(t)){t=t.slice(0);for(let i=0;i<t.length;++i)t[i]*=e.width;if("butt"!==e.cap){for(let i=0;i<t.length;i+=2)t[i]-=e.width,t[i]<1&&(t[i]=1);for(let i=1;i<t.length;i+=2)t[i]+=e.width}t=t.join(",")}i.dashArray=t}return i}function N(t,e){const i={align:null,decoration:null,kerning:null,rotate:null,font:{style:null,variant:null,weight:null,size:null,family:null}};return t&&(i.align=t.align,i.decoration=t.decoration,i.kerning=t.kerning?"auto":"0",i.rotate=t.rotated?"90":"0",i.font.style=e.style||"normal",i.font.variant=e.variant||"normal",i.font.weight=e.weight||"normal",i.font.size=e.size&&e.size.toString()||"10pt",i.font.family=e.family||"serif"),i}function G(t){const{pattern:e,linearGradient:i}=t;if(e)return a("pattern",{id:e.id,patternUnits:"userSpaceOnUse",x:e.x,y:e.y,width:e.width,height:e.height},a("image",{x:e.image.x,y:e.image.y,width:e.image.width,height:e.image.height,href:e.image.href}));if(i){const t=i.stops.map(((t,e)=>a("stop",{key:`${e}-stop`,offset:t.offset,"stop-color":t.color})));return a("linearGradient",{id:i.id,gradientUnits:"userSpaceOnUse",x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2},t)}return null}function S(t,e,i){return o(t,n(t),[e,i])}function $(t,e,i,r,o){return s(t,n(t),[e,i]),t[4]=t[4]*e-r*e+r,t[5]=t[5]*i-o*i+o,t}function I(t,e,i,r){const o=e%360*Math.PI/180;l(t,n(t),o);const s=Math.cos(o),a=Math.sin(o),h=t[4],c=t[5];return t[4]=h*s-c*a+r*a-i*s+i,t[5]=c*s+h*a-i*a-r*s+r,t}function z(t,e){g&&"left"in g?(g.left>t&&(g.left=t),g.right<t&&(g.right=t),g.top>e&&(g.top=e),g.bottom<e&&(g.bottom=e)):g={left:t,bottom:e,right:t,top:e}}function B(t){const e=t.args,i=e.length;let r;switch(t.action){case"M":case"L":case"C":case"S":case"Q":case"T":for(r=0;r<i;r+=2)z(e[r],e[r+1]);x.x=e[i-2],x.y=e[i-1];break;case"H":for(r=0;r<i;++r)z(e[r],x.y);x.x=e[i-1];break;case"V":for(r=0;r<i;++r)z(x.x,e[r]);x.y=e[i-1];break;case"m":{let t=0;"x"in x||(z(x.x=e[0],x.y=e[1]),t=2);for(r=t;r<i;r+=2)z(x.x+=e[r],x.y+=e[r+1]);break}case"l":case"t":for(r=0;r<i;r+=2)z(x.x+=e[r],x.y+=e[r+1]);break;case"h":for(r=0;r<i;++r)z(x.x+=e[r],x.y);break;case"v":for(r=0;r<i;++r)z(x.x,x.y+=e[r]);break;case"c":for(r=0;r<i;r+=6)z(x.x+e[r],x.y+e[r+1]),z(x.x+e[r+2],x.y+e[r+3]),z(x.x+=e[r+4],x.y+=e[r+5]);break;case"s":case"q":for(r=0;r<i;r+=4)z(x.x+e[r],x.y+e[r+1]),z(x.x+=e[r+2],x.y+=e[r+3]);break;case"A":for(r=0;r<i;r+=7)z(e[r+5],e[r+6]);x.x=e[i-2],x.y=e[i-1];break;case"a":for(r=0;r<i;r+=7)z(x.x+=e[r+5],x.y+=e[r+6])}}function F(t,e,i){const r=y[t.toLowerCase()];let o;"number"==typeof r&&(r?e.length>=r&&(o={action:t,args:e.slice(0,e.length-e.length%r)},i.push(o),B(o)):(o={action:t,args:[]},i.push(o),B(o)))}function U(t){const e=("string"!=typeof t.path?v(t.path):t.path).match(p),i=[];if(g={},x={},!e)return null;let r="",o=[];const n=e.length;for(let l=0;l<n;++l){const t=e[l],n=parseFloat(t);isNaN(n)?(r&&F(r,o,i),o=[],r=t):o.push(n)}F(r,o,i);const s={x:0,y:0,width:0,height:0};return g&&"left"in g&&(s.x=g.left,s.y=g.top,s.width=g.right-g.left,s.height=g.bottom-g.top),s}function T(t){const e={x:0,y:0,width:0,height:0};if("circle"===t.type)e.x=t.cx-t.r,e.y=t.cy-t.r,e.width=2*t.r,e.height=2*t.r;else if("ellipse"===t.type)e.x=t.cx-t.rx,e.y=t.cy-t.ry,e.width=2*t.rx,e.height=2*t.ry;else if("image"===t.type||"rect"===t.type)e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height;else if("path"===t.type){const i=U(t);e.x=i.x,e.y=i.y,e.width=i.width,e.height=i.height}return e}function E(t){const e={x:0,y:0,width:0,height:0};let i=null,r=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(const n of t)i?(i.x=Math.min(i.x,n.x),i.y=Math.min(i.y,n.y),r=Math.max(r,n.x+n.width),o=Math.max(o,n.y+n.height)):(i=e,i.x=n.x,i.y=n.y,r=n.x+n.width,o=n.y+n.height);return i&&(i.width=r-i.x,i.height=o-i.y),i}function V(t,e,o,n,s,l,a,h,c){let f=(a&&l?b(l,e):e)/2,d=(a&&l?b(l,o):o)/2;if(c){const t=c[0],e=c[1];f=(a&&l?b(l,t):t)/2,d=(a&&l?b(l,e):e)/2}const u=t.width+n,y=t.height+n,p=i(),g=i();let x=!1;if(s&&0!==u&&0!==y){const t=u/y,i=e>o?e:o;let n=1,s=1;isNaN(i)||(t>1?(n=i/u,s=i/t/y):(s=i/y,n=i*t/u)),r(g,g,$(p,n,s,f,d)),x=!0}const m=t.x+(u-n)/2,w=t.y+(y-n)/2;if(r(g,g,S(p,f-m,d-w)),!x&&(u>e||y>o)){const t=u/e>y/o,i=(t?e:o)/(t?u:y);r(g,g,$(p,i,i,m,w))}return l&&r(g,g,I(p,l,m,w)),h&&r(g,g,S(p,h[0],h[1])),`matrix(${g[0]},${g[1]},${g[2]},${g[3]},${g[4]},${g[5]})`}function C(t,e,i){const r=null==t?void 0:t.effects.find((t=>"bloom"===t.type));if(!r)return null;const{strength:o,radius:n}=r,s=o>0?n:0,l=(o+s)*e,h=4*o+1;return a("filter",{id:`bloom${i}`,x:"-100%",y:"-100%",width:"300%",height:"300%",filterUnits:"userSpaceOnUse"},a("feMorphology",{operator:"dilate",radius:(o+.5*s)*(5**(e/100)*(.4+e/100)),in:"SourceGraphic",result:"dilate"}),a("feGaussianBlur",{in:"dilate",stdDeviation:l/25,result:"blur"}),a("feGaussianBlur",{in:"blur",stdDeviation:l/50,result:"intensityBlur"}),a("feComponentTransfer",{in:"SourceGraphic",result:"intensityBrightness"},a("feFuncR",{type:"linear",slope:h}),a("feFuncG",{type:"linear",slope:h}),a("feFuncB",{type:"linear",slope:h})),a("feMerge",null,a("feMergeNode",{in:"intensityBlur"}),a("feMergeNode",{in:"intensityBrightness"}),a("feGaussianBlur",{stdDeviation:o/10})))}function D(t,e,i,r){const o=[],n=[],s=++k,l=C(null==r?void 0:r.effectView,e,s);let c=null;if(l){var f;const t=null==r||null==(f=r.effectView)?void 0:f.effects.find((t=>"bloom"===t.type)),o=(t.strength?t.strength+t.radius/2:0)/3,n=e+e*o,s=i+i*o;c=[Math.max(n,10),Math.max(s,10)]}for(const h of t){const t=[],s=[];let l=0,f=0,d=0;for(const e of h){const{shape:i,fill:r,stroke:n,font:a,offset:h}=e;l+=n&&n.width||0;const c=M(r),u=A(n),y="text"===i.type?N(i,a):null;o.push(G(c)),t.push(j(i,c.fill,u,y)),s.push(T(i)),h&&(f+=h[0],d+=h[1])}const u=V(E(s),e,i,l,null==r?void 0:r.scale,null==r?void 0:r.rotation,null==r?void 0:r.useRotationSize,[f,d],c);n.push(a("g",{transform:u},t))}return null!=r&&r.useRotationSize&&null!=r&&r.rotation&&(e=b(null==r?void 0:r.rotation,e),i=b(null==r?void 0:r.rotation,i)),l&&(e=c[0],i=c[1]),a("svg",{xmlns:h,width:e,height:i},l,a("defs",null,o),l?a("g",{filter:`url(#bloom${s})`},n):n)}export{E as computeBBox,M as generateFillAttributes,A as generateStrokeAttributes,N as generateTextAttributes,T as getBoundingBox,V as getTransformMatrix,G as renderDef,D as renderSVG,j as renderShape};
5
+ import t from"../../Color.js";import e from"../../core/has.js";import{c as i}from"../../chunks/mat2df32.js";import{m as r,t as o,c as n,s,r as l}from"../../chunks/mat2d.js";import"../../widgets/support/widgetUtils.js";import"../../core/Logger.js";import{tsx as a}from"../../widgets/support/jsxFactory.js";const h="http://www.w3.org/2000/svg";let c=0,f=0;const d=e("android"),u=e("chrome")||d&&d>=4?"auto":"optimizeLegibility",y={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7,z:0},p=/([A-DF-Za-df-z])|([-+]?\d*[.]?\d+(?:[eE][-+]?\d+)?)/g;let g={},x={};const m={solid:"none",shortdash:[4,1],shortdot:[1,1],shortdashdot:[4,1,1,1],shortdashdotdot:[4,1,1,1,1,1],dot:[1,3],dash:[4,3],longdash:[8,3],dashdot:[4,3,1,3],longdashdot:[8,3,1,3],longdashdotdot:[8,3,1,3,1,3]},w=Math.PI;let k=1;function b(t,e){const i=t*(w/180);return Math.abs(e*Math.sin(i))+Math.abs(e*Math.cos(i))}function v(t){return t.map((t=>`${t.command} ${t.values.join(" ")}`)).join(" ").trim()}function j(t,e,i,r){if(t){if("circle"===t.type)return a("circle",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4",cx:t.cx,cy:t.cy,r:t.r});if("ellipse"===t.type)return a("ellipse",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4",cx:t.cx,cy:t.cy,rx:t.rx,ry:t.ry});if("rect"===t.type)return a("rect",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4",x:t.x,y:t.y,width:t.width,height:t.height});if("image"===t.type)return a("image",{href:t.src,x:t.x,y:t.y,width:t.width,height:t.height,preserveAspectRatio:"none"});if("path"===t.type){const r="string"!=typeof t.path?v(t.path):t.path;return a("path",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4",d:r})}if("text"===t.type)return a("text",{fill:e,"fill-rule":"evenodd",stroke:i.color,"stroke-width":i.width,"stroke-linecap":i.cap,"stroke-linejoin":i.join,"stroke-dasharray":i.dashArray,"stroke-miterlimit":"4","text-anchor":r.align,"text-decoration":r.decoration,kerning:r.kerning,rotate:r.rotate,"text-rendering":u,"font-style":r.font.style,"font-variant":r.font.variant,"font-weight":r.font.weight,"font-size":r.font.size,"font-family":r.font.family,x:t.x,y:t.y},t.text)}return null}function M(e){const i={fill:"none",pattern:null,linearGradient:null};if(e)if("type"in e&&"pattern"===e.type){const t="patternId-"+ ++c;i.fill=`url(#${t})`,i.pattern={id:t,x:e.x,y:e.y,width:e.width,height:e.height,image:{x:0,y:0,width:e.width,height:e.height,href:e.src}}}else if("type"in e&&"linear"===e.type){const r="linearGradientId-"+ ++f;i.fill=`url(#${r})`,i.linearGradient={id:r,x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stops:e.colors.map((e=>({offset:e.offset,color:e.color&&new t(e.color).toString()})))}}else if(e){const r=new t(e);i.fill=r.toString()}return i}function A(e){const i={color:"none",width:1,cap:"butt",join:"4",dashArray:"none"};if(e&&(null!=e.width&&(i.width=e.width),e.cap&&(i.cap=e.cap),e.join&&(i.join=e.join.toString()),e.color&&(i.color=new t(e.color).toString()),e.style)){let t=null;if(e.style in m&&(t=m[e.style]),Array.isArray(t)){t=t.slice(0);for(let i=0;i<t.length;++i)t[i]*=e.width;if("butt"!==e.cap){for(let i=0;i<t.length;i+=2)t[i]-=e.width,t[i]<1&&(t[i]=1);for(let i=1;i<t.length;i+=2)t[i]+=e.width}t=t.join(",")}i.dashArray=t}return i}function N(t,e){const i={align:null,decoration:null,kerning:null,rotate:null,font:{style:null,variant:null,weight:null,size:null,family:null}};return t&&(i.align=t.align,i.decoration=t.decoration,i.kerning=t.kerning?"auto":"0",i.rotate=t.rotated?"90":"0",i.font.style=e.style||"normal",i.font.variant=e.variant||"normal",i.font.weight=e.weight||"normal",i.font.size=e.size&&e.size.toString()||"10pt",i.font.family=e.family||"serif"),i}function G(t){const{pattern:e,linearGradient:i}=t;if(e)return a("pattern",{id:e.id,patternUnits:"userSpaceOnUse",x:e.x,y:e.y,width:e.width,height:e.height},a("image",{x:e.image.x,y:e.image.y,width:e.image.width,height:e.image.height,href:e.image.href}));if(i){const t=i.stops.map(((t,e)=>a("stop",{key:`${e}-stop`,offset:t.offset,"stop-color":t.color})));return a("linearGradient",{id:i.id,gradientUnits:"userSpaceOnUse",x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2},t)}return null}function S(t,e,i){return o(t,n(t),[e,i])}function $(t,e,i,r,o){return s(t,n(t),[e,i]),t[4]=t[4]*e-r*e+r,t[5]=t[5]*i-o*i+o,t}function I(t,e,i,r){const o=e%360*Math.PI/180;l(t,n(t),o);const s=Math.cos(o),a=Math.sin(o),h=t[4],c=t[5];return t[4]=h*s-c*a+r*a-i*s+i,t[5]=c*s+h*a-i*a-r*s+r,t}function z(t,e){g&&"left"in g?(g.left>t&&(g.left=t),g.right<t&&(g.right=t),g.top>e&&(g.top=e),g.bottom<e&&(g.bottom=e)):g={left:t,bottom:e,right:t,top:e}}function B(t){const e=t.args,i=e.length;let r;switch(t.action){case"M":case"L":case"C":case"S":case"Q":case"T":for(r=0;r<i;r+=2)z(e[r],e[r+1]);x.x=e[i-2],x.y=e[i-1];break;case"H":for(r=0;r<i;++r)z(e[r],x.y);x.x=e[i-1];break;case"V":for(r=0;r<i;++r)z(x.x,e[r]);x.y=e[i-1];break;case"m":{let t=0;"x"in x||(z(x.x=e[0],x.y=e[1]),t=2);for(r=t;r<i;r+=2)z(x.x+=e[r],x.y+=e[r+1]);break}case"l":case"t":for(r=0;r<i;r+=2)z(x.x+=e[r],x.y+=e[r+1]);break;case"h":for(r=0;r<i;++r)z(x.x+=e[r],x.y);break;case"v":for(r=0;r<i;++r)z(x.x,x.y+=e[r]);break;case"c":for(r=0;r<i;r+=6)z(x.x+e[r],x.y+e[r+1]),z(x.x+e[r+2],x.y+e[r+3]),z(x.x+=e[r+4],x.y+=e[r+5]);break;case"s":case"q":for(r=0;r<i;r+=4)z(x.x+e[r],x.y+e[r+1]),z(x.x+=e[r+2],x.y+=e[r+3]);break;case"A":for(r=0;r<i;r+=7)z(e[r+5],e[r+6]);x.x=e[i-2],x.y=e[i-1];break;case"a":for(r=0;r<i;r+=7)z(x.x+=e[r+5],x.y+=e[r+6])}}function F(t,e,i){const r=y[t.toLowerCase()];let o;"number"==typeof r&&(r?e.length>=r&&(o={action:t,args:e.slice(0,e.length-e.length%r)},i.push(o),B(o)):(o={action:t,args:[]},i.push(o),B(o)))}function U(t){const e=("string"!=typeof t.path?v(t.path):t.path).match(p),i=[];if(g={},x={},!e)return null;let r="",o=[];const n=e.length;for(let l=0;l<n;++l){const t=e[l],n=parseFloat(t);isNaN(n)?(r&&F(r,o,i),o=[],r=t):o.push(n)}F(r,o,i);const s={x:0,y:0,width:0,height:0};return g&&"left"in g&&(s.x=g.left,s.y=g.top,s.width=g.right-g.left,s.height=g.bottom-g.top),s}function T(t){const e={x:0,y:0,width:0,height:0};if("circle"===t.type)e.x=t.cx-t.r,e.y=t.cy-t.r,e.width=2*t.r,e.height=2*t.r;else if("ellipse"===t.type)e.x=t.cx-t.rx,e.y=t.cy-t.ry,e.width=2*t.rx,e.height=2*t.ry;else if("image"===t.type||"rect"===t.type)e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height;else if("path"===t.type){const i=U(t);e.x=i.x,e.y=i.y,e.width=i.width,e.height=i.height}return e}function E(t){const e={x:0,y:0,width:0,height:0};let i=null,r=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(const n of t)i?(i.x=Math.min(i.x,n.x),i.y=Math.min(i.y,n.y),r=Math.max(r,n.x+n.width),o=Math.max(o,n.y+n.height)):(i=e,i.x=n.x,i.y=n.y,r=n.x+n.width,o=n.y+n.height);return i&&(i.width=r-i.x,i.height=o-i.y),i}function V(t,e,o,n,s,l,a,h,c){let f=(a&&l?b(l,e):e)/2,d=(a&&l?b(l,o):o)/2;if(c){const t=c[0],e=c[1];f=(a&&l?b(l,t):t)/2,d=(a&&l?b(l,e):e)/2}const u=t.width+n,y=t.height+n,p=i(),g=i();let x=!1;if(s&&0!==u&&0!==y){const t=e!==o?e/o:u/y,i=e>o?e:o;let n=1,s=1;isNaN(i)||(t>1?(n=i/u,s=i/t/y):(s=i/y,n=i*t/u)),r(g,g,$(p,n,s,f,d)),x=!0}const m=t.x+(u-n)/2,w=t.y+(y-n)/2;if(r(g,g,S(p,f-m,d-w)),!x&&(u>e||y>o)){const t=u/e>y/o,i=(t?e:o)/(t?u:y);r(g,g,$(p,i,i,m,w))}return l&&r(g,g,I(p,l,m,w)),h&&r(g,g,S(p,h[0],h[1])),`matrix(${g[0]},${g[1]},${g[2]},${g[3]},${g[4]},${g[5]})`}function C(t,e,i){const r=null==t?void 0:t.effects.find((t=>"bloom"===t.type));if(!r)return null;const{strength:o,radius:n}=r,s=o>0?n:0,l=(o+s)*e,h=4*o+1;return a("filter",{id:`bloom${i}`,x:"-100%",y:"-100%",width:"300%",height:"300%",filterUnits:"userSpaceOnUse"},a("feMorphology",{operator:"dilate",radius:(o+.5*s)*(5**(e/100)*(.4+e/100)),in:"SourceGraphic",result:"dilate"}),a("feGaussianBlur",{in:"dilate",stdDeviation:l/25,result:"blur"}),a("feGaussianBlur",{in:"blur",stdDeviation:l/50,result:"intensityBlur"}),a("feComponentTransfer",{in:"SourceGraphic",result:"intensityBrightness"},a("feFuncR",{type:"linear",slope:h}),a("feFuncG",{type:"linear",slope:h}),a("feFuncB",{type:"linear",slope:h})),a("feMerge",null,a("feMergeNode",{in:"intensityBlur"}),a("feMergeNode",{in:"intensityBrightness"}),a("feGaussianBlur",{stdDeviation:o/10})))}function D(t,e,i,r){const o=[],n=[],s=++k,l=C(null==r?void 0:r.effectView,e,s);let c=null;if(l){var f;const t=null==r||null==(f=r.effectView)?void 0:f.effects.find((t=>"bloom"===t.type)),o=(t.strength?t.strength+t.radius/2:0)/3,n=e+e*o,s=i+i*o;c=[Math.max(n,10),Math.max(s,10)]}for(const h of t){const t=[],s=[];let l=0,f=0,d=0;for(const e of h){const{shape:i,fill:r,stroke:n,font:a,offset:h}=e;l+=n&&n.width||0;const c=M(r),u=A(n),y="text"===i.type?N(i,a):null;o.push(G(c)),t.push(j(i,c.fill,u,y)),s.push(T(i)),h&&(f+=h[0],d+=h[1])}const u=V(E(s),e,i,l,null==r?void 0:r.scale,null==r?void 0:r.rotation,null==r?void 0:r.useRotationSize,[f,d],c);n.push(a("g",{transform:u},t))}return null!=r&&r.useRotationSize&&null!=r&&r.rotation&&(e=b(null==r?void 0:r.rotation,e),i=b(null==r?void 0:r.rotation,i)),l&&(e=c[0],i=c[1]),a("svg",{xmlns:h,width:e,height:i},l,a("defs",null,o),l?a("g",{filter:`url(#bloom${s})`},n):n)}export{E as computeBBox,M as generateFillAttributes,A as generateStrokeAttributes,N as generateTextAttributes,T as getBoundingBox,V as getTransformMatrix,G as renderDef,D as renderSVG,j as renderShape};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{isSymbol3D as t}from"../../symbols.js";import{isDevEnvironment as e,adjustStaticAGOUrl as r}from"../../core/devEnvironmentUtils.js";import o from"../../core/Error.js";import{urlToObject as l,removeFile as n}from"../../core/urlUtils.js";import s from"../../portal/Portal.js";import{f as m}from"../../chunks/persistableUrlUtils.js";import{fromJSON as i}from"./jsonUtils.js";import a from"./StyleOrigin.js";import{requestJSON as u,makeCIMSymbolRef as p,fetchStyle as y,symbolUrlFromStyleItem as f,Style2DUrlTemplate as c}from"./styleUtils.js";import b from"./Thumbnail.js";function g(t,e,r,l){return t.name?t.styleName&&"Esri2DPointSymbolsStyle"===t.styleName?j(t,e,l):y(t,e,l).then((o=>h(o,t.name,e,r,l))):Promise.reject(new o("symbolstyleutils:style-symbol-reference-name-missing","Missing name in style symbol reference"))}function h(y,c,g,h,j){const d=y.data,U={portal:g&&g.portal||s.getDefault(),url:l(y.baseUrl),origin:"portal-item"},N=d.items.find((t=>t.name===c));if(!N){const t=`The symbol name '${c}' could not be found`;return Promise.reject(new o("symbolstyleutils:symbol-name-not-found",t,{symbolName:c}))}let w=m(f(N,h),U),P=N.thumbnail&&N.thumbnail.href;const S=N.thumbnail&&N.thumbnail.imageData;e()&&(w=r(w),P=r(P));const D={portal:g.portal,url:l(n(w)),origin:"portal-item"};return u(w,j).then((e=>{const r="cimRef"===h?p(e.data):e.data,o=i(r,D);if(o&&t(o)){if(P){const t=m(P,U);o.thumbnail=new b({url:t})}else S&&(o.thumbnail=new b({url:`data:image/png;base64,${S}`}));y.styleUrl?o.styleOrigin=new a({portal:g.portal,styleUrl:y.styleUrl,name:c}):y.styleName&&(o.styleOrigin=new a({portal:g.portal,styleName:y.styleName,name:c}))}return o}))}function j(t,e,r){const o=c.replace(/\{SymbolName\}/gi,t.name);return u(o,r).then((t=>{const r=p(t.data);return i(r,{portal:e.portal,url:l(n(o)),origin:"portal-item"})}))}export{h as fetchSymbolFromStyle,g as resolveWebStyleSymbol};
5
+ import{isSymbol3D as t}from"../../symbols.js";import{isDevEnvironment as e,adjustStaticAGOUrl as r}from"../../core/devEnvironmentUtils.js";import o from"../../core/Error.js";import{urlToObject as l,removeFile as n}from"../../core/urlUtils.js";import s from"../../portal/Portal.js";import{f as m}from"../../chunks/persistableUrlUtils.js";import{fromJSON as i}from"./jsonUtils.js";import a from"./StyleOrigin.js";import{requestJSON as u,makeCIMSymbolRef as p,fetchStyle as y,symbolUrlFromStyleItem as f,Style2DUrlTemplate as c}from"./styleUtils.js";import{Thumbnail as b}from"./Thumbnail.js";function g(t,e,r,l){return t.name?t.styleName&&"Esri2DPointSymbolsStyle"===t.styleName?j(t,e,l):y(t,e,l).then((o=>h(o,t.name,e,r,l))):Promise.reject(new o("symbolstyleutils:style-symbol-reference-name-missing","Missing name in style symbol reference"))}function h(y,c,g,h,j){const d=y.data,U={portal:g&&g.portal||s.getDefault(),url:l(y.baseUrl),origin:"portal-item"},N=d.items.find((t=>t.name===c));if(!N){const t=`The symbol name '${c}' could not be found`;return Promise.reject(new o("symbolstyleutils:symbol-name-not-found",t,{symbolName:c}))}let w=m(f(N,h),U),P=N.thumbnail&&N.thumbnail.href;const S=N.thumbnail&&N.thumbnail.imageData;e()&&(w=r(w),P=r(P));const D={portal:g.portal,url:l(n(w)),origin:"portal-item"};return u(w,j).then((e=>{const r="cimRef"===h?p(e.data):e.data,o=i(r,D);if(o&&t(o)){if(P){const t=m(P,U);o.thumbnail=new b({url:t})}else S&&(o.thumbnail=new b({url:`data:image/png;base64,${S}`}));y.styleUrl?o.styleOrigin=new a({portal:g.portal,styleUrl:y.styleUrl,name:c}):y.styleName&&(o.styleOrigin=new a({portal:g.portal,styleName:y.styleName,name:c}))}return o}))}function j(t,e,r){const o=c.replace(/\{SymbolName\}/gi,t.name);return u(o,r).then((t=>{const r=p(t.data);return i(r,{portal:e.portal,url:l(n(o)),origin:"portal-item"})}))}export{h as fetchSymbolFromStyle,g as resolveWebStyleSymbol};
package/symbols.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{ensureOneOfType as e}from"./core/accessorSupport/ensureType.js";import{createTypeReader as o}from"./core/accessorSupport/extensions/serializableProperty/reader.js";import l from"./symbols/CIMSymbol.js";export{default as CIMSymbol}from"./symbols/CIMSymbol.js";export{default as ExtrudeSymbol3DLayer}from"./symbols/ExtrudeSymbol3DLayer.js";export{default as BaseFillSymbol}from"./symbols/FillSymbol.js";export{default as FillSymbol3DLayer}from"./symbols/FillSymbol3DLayer.js";export{default as Font}from"./symbols/Font.js";export{default as IconSymbol3DLayer}from"./symbols/IconSymbol3DLayer.js";import s from"./symbols/LabelSymbol3D.js";export{default as LabelSymbol3D}from"./symbols/LabelSymbol3D.js";import m from"./symbols/LineSymbol3D.js";export{default as LineSymbol3D}from"./symbols/LineSymbol3D.js";export{default as LineSymbol3DLayer}from"./symbols/LineSymbol3DLayer.js";export{default as BaseMarkerSymbol}from"./symbols/MarkerSymbol.js";import r from"./symbols/MeshSymbol3D.js";export{default as MeshSymbol3D}from"./symbols/MeshSymbol3D.js";export{default as ObjectSymbol3DLayer}from"./symbols/ObjectSymbol3DLayer.js";export{default as PathSymbol3DLayer}from"./symbols/PathSymbol3DLayer.js";import t from"./symbols/PictureFillSymbol.js";export{default as PictureFillSymbol}from"./symbols/PictureFillSymbol.js";import y from"./symbols/PictureMarkerSymbol.js";export{default as PictureMarkerSymbol}from"./symbols/PictureMarkerSymbol.js";import a from"./symbols/PointSymbol3D.js";export{default as PointSymbol3D}from"./symbols/PointSymbol3D.js";import b from"./symbols/PolygonSymbol3D.js";export{default as PolygonSymbol3D}from"./symbols/PolygonSymbol3D.js";import p from"./symbols/SimpleFillSymbol.js";export{default as SimpleFillSymbol}from"./symbols/SimpleFillSymbol.js";import i from"./symbols/SimpleLineSymbol.js";export{default as SimpleLineSymbol}from"./symbols/SimpleLineSymbol.js";import f from"./symbols/SimpleMarkerSymbol.js";export{default as SimpleMarkerSymbol}from"./symbols/SimpleMarkerSymbol.js";import S from"./symbols/Symbol.js";export{default as BaseSymbol}from"./symbols/Symbol.js";export{default as BaseSymbol3D}from"./symbols/Symbol3D.js";export{default as BaseSymbol3DLayer}from"./symbols/Symbol3DLayer.js";import n from"./symbols/TextSymbol.js";export{default as TextSymbol}from"./symbols/TextSymbol.js";export{default as TextSymbol3DLayer}from"./symbols/TextSymbol3DLayer.js";export{default as WaterSymbol3DLayer}from"./symbols/WaterSymbol3DLayer.js";import u from"./symbols/WebStyleSymbol.js";export{default as WebStyleSymbol}from"./symbols/WebStyleSymbol.js";export{default as LineCallout3D}from"./symbols/callouts/LineCallout3D.js";export{L as LineCallout3DBorder}from"./chunks/LineCallout3DBorder.js";export{Symbol3DVerticalOffset}from"./symbols/support/Symbol3DVerticalOffset.js";function d(e){return e instanceof S}function c(e){if(!e)return!1;switch(e.type){case"picture-fill":case"picture-marker":case"simple-fill":case"simple-line":case"simple-marker":case"text":case"cim":return!0;default:return!1}}function x(e){if(!e)return!1;switch(e.type){case"label-3d":case"line-3d":case"mesh-3d":case"point-3d":case"polygon-3d":return!0;default:return!1}}const j={base:S,key:"type",typeMap:{"simple-fill":p,"picture-fill":t,"picture-marker":y,"simple-line":i,"simple-marker":f,text:n,"label-3d":s,"line-3d":m,"mesh-3d":r,"point-3d":a,"polygon-3d":b,"web-style":u,cim:l},errorContext:"symbol"},D={base:S,key:"type",typeMap:{"picture-marker":y,"simple-marker":f,text:n,"web-style":u,cim:l},errorContext:"symbol"},k=o({types:j}),M={base:S,key:"type",typeMap:{"simple-fill":p,"picture-fill":t,"picture-marker":y,"simple-line":i,"simple-marker":f,text:n,"line-3d":m,"mesh-3d":r,"point-3d":a,"polygon-3d":b,"web-style":u,cim:l},errorContext:"symbol"},P={base:S,key:"type",typeMap:{text:n,"label-3d":s},errorContext:"symbol"},C={base:S,key:"type",typeMap:{"label-3d":s,"line-3d":m,"mesh-3d":r,"point-3d":a,"polygon-3d":b,"web-style":u},errorContext:"symbol"},h={base:S,key:"type",typeMap:{"line-3d":m,"mesh-3d":r,"point-3d":a,"polygon-3d":b,"web-style":u,cim:l},errorContext:"symbol"},F={base:S,key:"type",typeMap:{"label-3d":s},errorContext:"symbol"},g=e(j);export{g as ensureType,d as isSymbol,c as isSymbol2D,x as isSymbol3D,k as readSymbol,j as symbolTypes,C as symbolTypes3D,D as symbolTypesCluster,P as symbolTypesLabel,F as symbolTypesLabel3D,M as symbolTypesRenderer,h as symbolTypesRenderer3D};
5
+ import{ensureOneOfType as e}from"./core/accessorSupport/ensureType.js";import{createTypeReader as o}from"./core/accessorSupport/extensions/serializableProperty/reader.js";import l from"./symbols/CIMSymbol.js";export{default as CIMSymbol}from"./symbols/CIMSymbol.js";export{default as ExtrudeSymbol3DLayer}from"./symbols/ExtrudeSymbol3DLayer.js";export{default as BaseFillSymbol}from"./symbols/FillSymbol.js";export{default as FillSymbol3DLayer}from"./symbols/FillSymbol3DLayer.js";export{default as Font}from"./symbols/Font.js";export{default as IconSymbol3DLayer}from"./symbols/IconSymbol3DLayer.js";import s from"./symbols/LabelSymbol3D.js";export{default as LabelSymbol3D}from"./symbols/LabelSymbol3D.js";import m from"./symbols/LineSymbol3D.js";export{default as LineSymbol3D}from"./symbols/LineSymbol3D.js";export{default as LineSymbol3DLayer}from"./symbols/LineSymbol3DLayer.js";export{default as BaseMarkerSymbol}from"./symbols/MarkerSymbol.js";import r from"./symbols/MeshSymbol3D.js";export{default as MeshSymbol3D}from"./symbols/MeshSymbol3D.js";export{default as ObjectSymbol3DLayer}from"./symbols/ObjectSymbol3DLayer.js";export{default as PathSymbol3DLayer}from"./symbols/PathSymbol3DLayer.js";import t from"./symbols/PictureFillSymbol.js";export{default as PictureFillSymbol}from"./symbols/PictureFillSymbol.js";import y from"./symbols/PictureMarkerSymbol.js";export{default as PictureMarkerSymbol}from"./symbols/PictureMarkerSymbol.js";import a from"./symbols/PointSymbol3D.js";export{default as PointSymbol3D}from"./symbols/PointSymbol3D.js";import b from"./symbols/PolygonSymbol3D.js";export{default as PolygonSymbol3D}from"./symbols/PolygonSymbol3D.js";import p from"./symbols/SimpleFillSymbol.js";export{default as SimpleFillSymbol}from"./symbols/SimpleFillSymbol.js";import i from"./symbols/SimpleLineSymbol.js";export{default as SimpleLineSymbol}from"./symbols/SimpleLineSymbol.js";import f from"./symbols/SimpleMarkerSymbol.js";export{default as SimpleMarkerSymbol}from"./symbols/SimpleMarkerSymbol.js";import S from"./symbols/Symbol.js";export{default as BaseSymbol}from"./symbols/Symbol.js";export{default as BaseSymbol3D}from"./symbols/Symbol3D.js";export{default as BaseSymbol3DLayer}from"./symbols/Symbol3DLayer.js";import n from"./symbols/TextSymbol.js";export{default as TextSymbol}from"./symbols/TextSymbol.js";export{default as TextSymbol3DLayer}from"./symbols/TextSymbol3DLayer.js";export{default as WaterSymbol3DLayer}from"./symbols/WaterSymbol3DLayer.js";import u from"./symbols/WebStyleSymbol.js";export{default as WebStyleSymbol}from"./symbols/WebStyleSymbol.js";export{default as LineCallout3D}from"./symbols/callouts/LineCallout3D.js";export{L as LineCallout3DBorder}from"./chunks/LineCallout3DBorder.js";function d(e){return e instanceof S}function x(e){if(!e)return!1;switch(e.type){case"picture-fill":case"picture-marker":case"simple-fill":case"simple-line":case"simple-marker":case"text":case"cim":return!0;default:return!1}}function c(e){if(!e)return!1;switch(e.type){case"label-3d":case"line-3d":case"mesh-3d":case"point-3d":case"polygon-3d":return!0;default:return!1}}const j={base:S,key:"type",typeMap:{"simple-fill":p,"picture-fill":t,"picture-marker":y,"simple-line":i,"simple-marker":f,text:n,"label-3d":s,"line-3d":m,"mesh-3d":r,"point-3d":a,"polygon-3d":b,"web-style":u,cim:l},errorContext:"symbol"},D={base:S,key:"type",typeMap:{"picture-marker":y,"simple-marker":f,text:n,"web-style":u,cim:l},errorContext:"symbol"},k=o({types:j}),M={base:S,key:"type",typeMap:{"simple-fill":p,"picture-fill":t,"picture-marker":y,"simple-line":i,"simple-marker":f,text:n,"line-3d":m,"mesh-3d":r,"point-3d":a,"polygon-3d":b,"web-style":u,cim:l},errorContext:"symbol"},P={base:S,key:"type",typeMap:{text:n,"label-3d":s},errorContext:"symbol"},C={base:S,key:"type",typeMap:{"label-3d":s,"line-3d":m,"mesh-3d":r,"point-3d":a,"polygon-3d":b,"web-style":u},errorContext:"symbol"},h={base:S,key:"type",typeMap:{"line-3d":m,"mesh-3d":r,"point-3d":a,"polygon-3d":b,"web-style":u,cim:l},errorContext:"symbol"},F={base:S,key:"type",typeMap:{"label-3d":s},errorContext:"symbol"},g=e(j);export{g as ensureType,d as isSymbol,x as isSymbol2D,c as isSymbol3D,k as readSymbol,j as symbolTypes,C as symbolTypes3D,D as symbolTypesCluster,P as symbolTypesLabel,F as symbolTypesLabel3D,M as symbolTypesRenderer,h as symbolTypesRenderer3D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../core/Evented.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import r from"../../layers/support/LOD.js";import{GeometryConstraint as i}from"./constraints/GeometryConstraint.js";import a from"./constraints/RotationConstraint.js";import n from"./constraints/ZoomConstraint.js";import m from"../../geometry/Extent.js";import l from"../../geometry/Polygon.js";const p={base:null,key:"type",typeMap:{extent:m,polygon:l}};let c=class extends t.EventedAccessor{constructor(){super(...arguments),this.lods=null,this.minScale=0,this.maxScale=0,this.minZoom=-1,this.maxZoom=-1,this.rotationEnabled=!0,this.snapToZoom=!0}initialize(){this.watch(["_zoom","_rotation"],this.emit.bind(this,"update"),!0)}destroy(){this.view=null,this._set("_zoom",null),this._set("_rotation",null)}set geometry(o){o?this._set("geometry",o):this._set("geometry",null)}get _defaultLODs(){var o,t,e;const s=null==(o=this.view)||null==(t=o.defaultsFromMap)?void 0:t.tileInfo,r=null==(e=this.view)?void 0:e.spatialReference;return s&&r&&s.spatialReference.equals(r)?s.lods:null}get _geometry(){return new i({geometry:this.geometry,spatialReference:this.view.spatialReference})}get _rotation(){return new a({rotationEnabled:this.rotationEnabled})}get _zoom(){const o=this._get("_zoom"),t=this.lods||this._defaultLODs,e=this.minZoom,s=this.maxZoom,r=this.minScale,i=this.maxScale,a=this.snapToZoom;return o&&o.lods===t&&o.minZoom===e&&o.maxZoom===s&&o.minScale===r&&o.maxScale===i&&o.snapToZoom===a?o:new n({lods:t,minZoom:e,maxZoom:s,minScale:r,maxScale:i,snapToZoom:a})}canZoomInTo(o){const t=this.effectiveMaxScale;return 0===t||o>=t}canZoomOutTo(o){const t=this.effectiveMinScale;return 0===t||o<=t}constrain(o,t){return this._zoom.constrain(o,t),this._rotation.constrain(o,t),this._geometry.constrain(o,t),o}constrainByGeometry(o){return this._geometry.constrain(o)}fit(o){return this._zoom.fit(o)}zoomToScale(o){return this._zoom.zoomToScale(o)}scaleToZoom(o){return this._zoom.scaleToZoom(o)}snapScale(o){return this._zoom.snapToClosestScale(o)}snapToNextScale(o){return this._zoom.snapToNextScale(o)}snapToPreviousScale(o){return this._zoom.snapToPreviousScale(o)}};o([e({readOnly:!0,aliasOf:"_zoom.effectiveLODs"})],c.prototype,"effectiveLODs",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMinScale"})],c.prototype,"effectiveMinScale",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMaxScale"})],c.prototype,"effectiveMaxScale",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMinZoom"})],c.prototype,"effectiveMinZoom",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMaxZoom"})],c.prototype,"effectiveMaxZoom",void 0),o([e({types:p,value:null})],c.prototype,"geometry",null),o([e({type:[r]})],c.prototype,"lods",void 0),o([e()],c.prototype,"minScale",void 0),o([e()],c.prototype,"maxScale",void 0),o([e()],c.prototype,"minZoom",void 0),o([e()],c.prototype,"maxZoom",void 0),o([e()],c.prototype,"rotationEnabled",void 0),o([e()],c.prototype,"snapToZoom",void 0),o([e()],c.prototype,"view",void 0),o([e()],c.prototype,"_defaultLODs",null),o([e({type:i})],c.prototype,"_geometry",null),o([e({type:a})],c.prototype,"_rotation",null),o([e({readOnly:!0,type:n})],c.prototype,"_zoom",null),c=o([s("esri.views.2d.MapViewConstraints")],c);const y=c;export{y as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../core/Accessor.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import s from"../../layers/support/LOD.js";import{GeometryConstraint as i}from"./constraints/GeometryConstraint.js";import n from"./constraints/RotationConstraint.js";import a from"./constraints/ZoomConstraint.js";import m from"../../geometry/Extent.js";import l from"../../geometry/Polygon.js";const p={base:null,key:"type",typeMap:{extent:m,polygon:l}};let c=class extends t{constructor(o){super(o),this.lods=null,this.minScale=0,this.maxScale=0,this.minZoom=-1,this.maxZoom=-1,this.rotationEnabled=!0,this.snapToZoom=!0}destroy(){this.view=null,this._set("_zoom",null),this._set("_rotation",null),this._set("_geometry",null)}set geometry(o){o?this._set("geometry",o):this._set("geometry",null)}get version(){var o;return this.commitProperty("_zoom"),this.commitProperty("_rotation"),this.commitProperty("_geometry"),(null!=(o=this._get("version"))?o:0)+1}get _defaultLODs(){var o,t,e;const r=null==(o=this.view)||null==(t=o.defaultsFromMap)?void 0:t.tileInfo,s=null==(e=this.view)?void 0:e.spatialReference;return r&&s&&r.spatialReference.equals(s)?r.lods:null}get _geometry(){var o;return new i({geometry:this.geometry,spatialReference:null==(o=this.view)?void 0:o.spatialReference})}get _rotation(){return new n({rotationEnabled:this.rotationEnabled})}get _zoom(){const o=this._get("_zoom"),t=this.lods||this._defaultLODs,e=this.minZoom,r=this.maxZoom,s=this.minScale,i=this.maxScale,n=this.snapToZoom;return o&&o.lods===t&&o.minZoom===e&&o.maxZoom===r&&o.minScale===s&&o.maxScale===i&&o.snapToZoom===n?o:new a({lods:t,minZoom:e,maxZoom:r,minScale:s,maxScale:i,snapToZoom:n})}canZoomInTo(o){const t=this.effectiveMaxScale;return 0===t||o>=t}canZoomOutTo(o){const t=this.effectiveMinScale;return 0===t||o<=t}constrain(o,t){return this._zoom.constrain(o,t),this._rotation.constrain(o,t),this._geometry.constrain(o,t),o}constrainByGeometry(o){return this._geometry.constrain(o)}fit(o){return this._zoom.fit(o)}zoomToScale(o){return this._zoom.zoomToScale(o)}scaleToZoom(o){return this._zoom.scaleToZoom(o)}snapScale(o){return this._zoom.snapToClosestScale(o)}snapToNextScale(o){return this._zoom.snapToNextScale(o)}snapToPreviousScale(o){return this._zoom.snapToPreviousScale(o)}};o([e({readOnly:!0,aliasOf:"_zoom.effectiveLODs"})],c.prototype,"effectiveLODs",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMinScale"})],c.prototype,"effectiveMinScale",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMaxScale"})],c.prototype,"effectiveMaxScale",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMinZoom"})],c.prototype,"effectiveMinZoom",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMaxZoom"})],c.prototype,"effectiveMaxZoom",void 0),o([e({types:p,value:null})],c.prototype,"geometry",null),o([e({type:[s]})],c.prototype,"lods",void 0),o([e()],c.prototype,"minScale",void 0),o([e()],c.prototype,"maxScale",void 0),o([e()],c.prototype,"minZoom",void 0),o([e()],c.prototype,"maxZoom",void 0),o([e()],c.prototype,"rotationEnabled",void 0),o([e()],c.prototype,"snapToZoom",void 0),o([e()],c.prototype,"view",void 0),o([e({readOnly:!0})],c.prototype,"version",null),o([e()],c.prototype,"_defaultLODs",null),o([e({type:i})],c.prototype,"_geometry",null),o([e({type:n})],c.prototype,"_rotation",null),o([e({readOnly:!0,type:a})],c.prototype,"_zoom",null),c=o([r("esri.views.2d.MapViewConstraints")],c);const y=c;export{y as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../layers/support/LOD.js";import i from"../../../../layers/support/TileInfo.js";class s{constructor(e,i){this.lockedSchemaPixelSize=e,this.isGCS=i}getLevelRowColumn(e){return this.isGCS?[e[0],e[1]>>1,e[2]>>1]:256===this.lockedSchemaPixelSize&&e[0]>0?[e[0]-1,e[1]>>1,e[2]>>1]:e}adjustLevel(e){return this.isGCS?e:256===this.lockedSchemaPixelSize?e>0?e-1:0:e}getShift(e,i){let s=0,t=0;return(256===this.lockedSchemaPixelSize||this.isGCS)&&(e[2]%2&&(s=i),e[1]%2&&(t=i)),[s,t]}getScale(e){if(this.isGCS){if(512===this.lockedSchemaPixelSize)return 4}else if(256===this.lockedSchemaPixelSize&&0===e)return 1;return 2}static create256x256CompatibleTileInfo(s){if(!s)return null;if(256===s.size[0]&&256===s.size[1])return s;const t=256,l=s.spatialReference.isGeographic,r=[],o=s.lods.length;for(let i=0;i<o;i++){const t=s.lods[i],o=l?t.resolution:2*t.resolution;r.push(new e({level:t.level,scale:t.scale,resolution:o}))}return new i({size:[t,t],dpi:s.dpi,format:s.format,compressionQuality:s.compressionQuality,origin:s.origin,spatialReference:s.spatialReference,lods:r})}static create512x512CompatibleTileInfo(s){if(!s)return null;if(256===s.size[0]||256===s.size[1])return null;const t=512,l=[],r=s.lods.length;for(let i=0;i<r;i++){const t=s.lods[i],r=.5*t.resolution;l.push(new e({level:t.level,scale:t.scale,resolution:r}))}return new i({size:[t,t],dpi:s.dpi,format:s.format,compressionQuality:s.compressionQuality,origin:s.origin,spatialReference:s.spatialReference,lods:l})}}export{s as default};
5
+ class e{constructor(e,i){this.lockedSchemaPixelSize=e,this.isGCS=i}getLevelRowColumn(e){return this.isGCS?[e[0],e[1]>>1,e[2]>>1]:256===this.lockedSchemaPixelSize&&e[0]>0?[e[0]-1,e[1]>>1,e[2]>>1]:e}adjustLevel(e){return this.isGCS?e:256===this.lockedSchemaPixelSize?e>0?e-1:0:e}getShift(e,i){let t=0,s=0;return(256===this.lockedSchemaPixelSize||this.isGCS)&&(e[2]%2&&(t=i),e[1]%2&&(s=i)),[t,s]}getScale(e){if(this.isGCS){if(512===this.lockedSchemaPixelSize)return 4}else if(256===this.lockedSchemaPixelSize&&0===e)return 1;return 2}}export{e as SchemaHelper};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{hasSource as t}from"../../../RasterBitmap.js";import e from"../../VertexStream.js";import r from"../WGLBrush.js";import{BlendFactor as s,CompareFunction as a}from"../../../../../webgl/enums.js";import{setTextures as i,getCommonUniforms as o,setUniforms as n,getColormapUniforms as h,getStretchUniforms as l,getShadedReliefUniforms as c,getUniformLocationInfos as d,getBasicGridUniforms as p}from"../../../../../webgl/rasterUtils.js";class u extends r{constructor(){super(...arguments),this._desc={lut:{vsPath:"raster/lut",fsPath:"raster/lut",attributes:new Map([["a_position",0],["a_texcoord",1]])},stretch:{vsPath:"raster/stretch",fsPath:"raster/stretch",attributes:new Map([["a_position",0],["a_texcoord",1]])},hillshade:{vsPath:"raster/hillshade",fsPath:"raster/hillshade",attributes:new Map([["a_position",0],["a_texcoord",1]])}},this._rendererUniformInfos=new Map}dispose(){this._quad&&this._quad.dispose()}prepareState({context:t},e){t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(a.EQUAL,e.stencilRef,255)}draw(e,r){var s;if(!t(r)||r.suspended)return;e.timeline.begin(this.name);const a=!(null!=(s=e.context.capabilities.textureFloat)&&s.textureFloatLinear);r.updateTexture(e);const i=this._getShaderVariations(r,a),o=e.painter.materialManager.getProgram(e,this._desc[r.symbolizerParameters.type],i);this._drawWithProgram(e.context,o,r),e.timeline.end(this.name)}_drawWithProgram(t,r,s,a=1,d=[0,0],u=!1){this._quad||(this._quad=new e(t,[0,0,1,0,0,1,1,1]));const{symbolizerParameters:m,transformGrid:f,width:_,height:g,opacity:b}=s,P=m.type;t.useProgram(r);const S=this._getShaderVariations(s),x=this._getUniformInfos(P,t,r,S),{names:w,textures:y}=s.getTextures();i(t,r,w,y);const M=p(a,d),U=o(f,[_,g],[s.source.width,s.source.height],b,u);if(n(r,x,{u_coordScale:s.coordScale,u_dvsMat3:s.transforms.dvs,...M,...U}),m.colormap){const{colormap:t,colormapOffset:e}=m,s=h(t,e);n(r,x,s)}if("stretch"===m.type){const t=l(m);n(r,x,t)}else if("hillshade"===m.type){const t=c(m);n(r,x,t)}this._quad.draw()}_getUniformInfos(t,e,r,s){const a=s.length>0?t+"-"+s.join("-"):t;if(this._rendererUniformInfos.has(a))return this._rendererUniformInfos.get(a);const i=d(e,r);return this._rendererUniformInfos.set(a,i),i}_getShaderVariations(t,e=!1){const r=[],{interpolation:s}=t,{type:a,colormap:i}=t.symbolizerParameters;return"cubic"===s?r.push("bicubic"):"bilinear"===s&&"stretch"===a&&null!=i?(r.push("bilinear"),r.push("nnedge")):e&&"bilinear"===s&&r.push("bilinear"),t.isRendereredSource?r.push("noop"):i&&r.push("applyColormap"),t.transformGrid&&r.push("applyProjection"),r}}export{u as default};
5
+ import{hasSource as t}from"../../../RasterBitmap.js";import e from"../../VertexStream.js";import r from"../WGLBrush.js";import{BlendFactor as s,CompareFunction as a}from"../../../../../webgl/enums.js";import{setTextures as i,getCommonUniforms as o,setUniforms as n,getColormapUniforms as h,getStretchUniforms as l,getShadedReliefUniforms as c,getUniformLocationInfos as p,getBasicGridUniforms as d}from"../../../../../webgl/rasterUtils.js";class u extends r{constructor(){super(...arguments),this._desc={lut:{vsPath:"raster/lut",fsPath:"raster/lut",attributes:new Map([["a_position",0],["a_texcoord",1]])},stretch:{vsPath:"raster/stretch",fsPath:"raster/stretch",attributes:new Map([["a_position",0],["a_texcoord",1]])},hillshade:{vsPath:"raster/hillshade",fsPath:"raster/hillshade",attributes:new Map([["a_position",0],["a_texcoord",1]])}},this._rendererUniformInfos=new Map}dispose(){this._quad&&this._quad.dispose()}prepareState({context:t},e){t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(a.EQUAL,e.stencilRef,255)}draw(e,r){var s;if(!t(r)||r.suspended)return;e.timeline.begin(this.name);const a=!(null!=(s=e.context.capabilities.textureFloat)&&s.textureFloatLinear);r.updateTexture(e);const i=this._getShaderVariations(r,a),o=e.painter.materialManager.getProgram(e,this._desc[r.symbolizerParameters.type],i);this._drawWithProgram(e.context,o,r),e.timeline.end(this.name)}_drawWithProgram(t,r,s,a=1,p=[0,0],u=!1){this._quad||(this._quad=new e(t,[0,0,1,0,0,1,1,1]));const{symbolizerParameters:m,transformGrid:f,width:_,height:g,opacity:b}=s,P=m.type;t.useProgram(r);const S=this._getShaderVariations(s),x=this._getUniformInfos(P,t,r,S),{names:w,textures:y}=s.getTextures();i(t,r,w,y);const M=d(a,p),U=o(f,[_,g],[s.source.width,s.source.height],b,u);if(n(r,x,{u_coordScale:s.coordScale,u_dvsMat3:s.transforms.dvs,...M,...U}),m.colormap){const{colormap:t,colormapOffset:e}=m,s=h(t,e);n(r,x,s)}if("stretch"===m.type){const t=l(m);n(r,x,t)}else if("hillshade"===m.type){const t=c(m);n(r,x,t)}this._quad.draw()}_getUniformInfos(t,e,r,s){const a=s.length>0?t+"-"+s.join("-"):t;if(this._rendererUniformInfos.has(a))return this._rendererUniformInfos.get(a);const i=p(e,r);return this._rendererUniformInfos.set(a,i),i}_getShaderVariations(t,e=!1){const r=[],{interpolation:s}=t,{type:a,colormap:i}=t.symbolizerParameters;return"cubic"===s?r.push("bicubic"):"bilinear"===s&&"stretch"===a&&null!=i?(r.push("bilinear"),r.push("nnedge")):e&&"bilinear"===s&&r.push("bilinear"),t.isRendereredSource?r.push("noop"):i&&r.push("applyColormap"),t.transformGrid&&(r.push("applyProjection"),1===t.transformGrid.spacing[0]&&r.push("lookupProjection")),r}}export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{pt2px as t}from"../../../../../../core/screenUtils.js";import{premultiplyAlphaRGBAArray as e,premultiplyAlphaRGBA as o}from"../../color.js";import{MIN_MAX_ZOOM_PRECISION_FACTOR as r,SPRITE_PADDING as l,BITSET_GENERIC_LOCK_COLOR as i,PICTURE_FILL_COLOR as s}from"../../definitions.js";import{degToByte as n}from"../../GeometryUtils.js";import{i8888to32 as a,i1616to32 as m}from"../../number.js";import{FillMaterialKey as c}from"../../materialKey/MaterialKey.js";import{getMinMaxZoom as f,DEFAULT_MIN_ZOOM as h,DEFAULT_MAX_ZOOM as u}from"./util.js";import d from"./WGLBaseFillTemplate.js";import p from"./WGLMeshTemplate.js";const y=128;class x extends(d(p)){constructor(t,e,o,l,i,s,n,f,h,u,d,p,y,x,M,j){super(),this._effects=x;const w=c.load(t);e&&(w.sdf=e.sdf,w.pattern=!0,w.textureBinding=e.textureBinding),this.fillColor=o,this.tl=l,this.br=i,this.aux2=a(s,n,f,h),this.aux3=a(u,d,p,0),this._bitset=y,this._minMaxZoom=m(Math.round(M*r),Math.round(j*r)),this._materialKey=w.data}static fromCIMFill(e,r,i){const s=e.color,a=s&&o(s)||0,c=e.materialKey,[h,u]=f(e.scaleInfo,i);if(!r)return new x(c,null,a,0,0,0,0,0,0,0,0,0,e.colorLocked?1:0,e.effects,h,u);const{rect:d,width:p,height:M}=r,j=e.scaleX||1,w=d.x+l,g=d.y+l,K=w+p,L=g+M,_=e.height,b=j*_;let F=Math.round(_);F>255?F=255:F<=0&&(F=L-g);let T=Math.round(b);T>255?T=255:T<=0&&(T=K-w);let B=t(e.offsetX||0)+y;B>255&&(B=255);let G=t(-e.offsetY||0)+y;G>255&&(G=255);const S=m(w,g),k=m(K,L);return new x(c,r,a,S,k,T,F,B,G,y,y,n(e.angle),e.colorLocked?1:0,e.effects,h,u)}static fromSimpleFill(t,o,r=!1){const{color:s}=t,n=s&&"esriSFSNull"!==t.style&&e(s)||0,a=r?i:0,c=t.materialKey;let f;if(o){const{rect:t,width:e,height:r}=o,i=t.x+l,s=t.y+l,d=i+e,p=s+r,M=m(i,s),j=m(d,p);f=new x(c,o,n,M,j,e,r,0,0,y,y,0,a,null,h,u)}else f=new x(c,null,n,0,0,0,0,0,0,0,0,0,a,null,h,u);return f._maybeAddLineTemplate(t),f}static fromPictureFill(e,o,r=!1){const n=s,{rect:a,width:c,height:f}=o,d=a.x+l,p=a.y+l,M=d+c,j=p+f,w=m(d,p),g=m(M,j);let K=Math.round(t(e.width));K>255&&(K=255);let L=Math.round(t(e.height));L>255&&(L=255);let _=t(e.xoffset)+y;_>255&&(_=255);let b=t(-e.yoffset)+y;b>255&&(b=255);const F=e.materialKey,T=r?i:0,B=new x(F,o,n,w,g,K,L,_,b,y*e.xscale,y*e.yscale,0,T,null,h,u);return B._maybeAddLineTemplate(e),B}}export{x as default};
5
+ import{pt2px as t}from"../../../../../../core/screenUtils.js";import{premultiplyAlphaRGBAArray as e,premultiplyAlphaRGBA as o}from"../../color.js";import{MIN_MAX_ZOOM_PRECISION_FACTOR as r,BITSET_GENERIC_LOCK_COLOR as l,SPRITE_PADDING as i,PICTURE_FILL_COLOR as s}from"../../definitions.js";import{degToByte as n}from"../../GeometryUtils.js";import{i8888to32 as a,i1616to32 as m}from"../../number.js";import{FillMaterialKey as c}from"../../materialKey/MaterialKey.js";import{getMinMaxZoom as f,DEFAULT_MIN_ZOOM as h,DEFAULT_MAX_ZOOM as u}from"./util.js";import d from"./WGLBaseFillTemplate.js";import p from"./WGLMeshTemplate.js";const y=128;class x extends(d(p)){constructor(t,e,o,l,i,s,n,f,h,u,d,p,y,x,M,j){super(),this._effects=x;const w=c.load(t);e&&(w.sdf=e.sdf,w.pattern=!0,w.textureBinding=e.textureBinding),this.fillColor=o,this.tl=l,this.br=i,this.aux2=a(s,n,f,h),this.aux3=a(u,d,p,0),this._bitset=y,this._minMaxZoom=m(Math.round(M*r),Math.round(j*r)),this._materialKey=w.data}static fromCIMFill(e,r,s){const a=e.color,c=a&&o(a)||0,h=e.materialKey,[u,d]=f(e.scaleInfo,s);if(!r)return new x(h,null,c,0,0,0,0,0,0,0,0,0,e.colorLocked?l:0,e.effects,u,d);const{rect:p,width:M,height:j}=r,w=e.scaleX||1,g=p.x+i,K=p.y+i,L=g+M,_=K+j,b=e.height,F=w*b;let T=Math.round(b);T>255?T=255:T<=0&&(T=_-K);let B=Math.round(F);B>255?B=255:B<=0&&(B=L-g);let G=t(e.offsetX||0)+y;G>255&&(G=255);let S=t(-e.offsetY||0)+y;S>255&&(S=255);const k=m(g,K),A=m(L,_);return new x(h,r,c,k,A,B,T,G,S,y,y,n(e.angle),e.colorLocked?l:0,e.effects,u,d)}static fromSimpleFill(t,o,r=!1){const{color:s}=t,n=s&&"esriSFSNull"!==t.style&&e(s)||0,a=r?l:0,c=t.materialKey;let f;if(o){const{rect:t,width:e,height:r}=o,l=t.x+i,s=t.y+i,d=l+e,p=s+r,M=m(l,s),j=m(d,p);f=new x(c,o,n,M,j,e,r,0,0,y,y,0,a,null,h,u)}else f=new x(c,null,n,0,0,0,0,0,0,0,0,0,a,null,h,u);return f._maybeAddLineTemplate(t),f}static fromPictureFill(e,o,r=!1){const n=s,{rect:a,width:c,height:f}=o,d=a.x+i,p=a.y+i,M=d+c,j=p+f,w=m(d,p),g=m(M,j);let K=Math.round(t(e.width));K>255&&(K=255);let L=Math.round(t(e.height));L>255&&(L=255);let _=t(e.xoffset)+y;_>255&&(_=255);let b=t(-e.yoffset)+y;b>255&&(b=255);const F=e.materialKey,T=r?l:0,B=new x(F,o,n,w,g,K,L,_,b,y*e.xscale,y*e.yscale,0,T,null,h,u);return B._maybeAddLineTemplate(e),B}}export{x as default};